MCPcopy
hub / github.com/openai/openai-agents-python / _summarize_json_schema

Function _summarize_json_schema

src/agents/agent_tool_input.py:171–206  ·  view source on GitHub ↗
(schema: dict[str, Any])

Source from the content-addressed store, hash-verified

169
170
171def _summarize_json_schema(schema: dict[str, Any]) -> _SchemaSummary | None:
172 if schema.get("type") != "object":
173 return None
174 properties = schema.get("properties")
175 if not isinstance(properties, dict):
176 return None
177
178 required = schema.get("required", [])
179 required_set = set(required) if isinstance(required, list) else set()
180 fields: list[_SchemaSummaryField] = []
181 has_description = False
182
183 description = _read_schema_description(schema)
184 if description:
185 has_description = True
186
187 for name, field_schema in properties.items():
188 field = _describe_json_schema_field(field_schema)
189 if field is None:
190 return None
191 field_description = field.description
192 fields.append(
193 _SchemaSummaryField(
194 name=name,
195 type=field.type,
196 required=name in required_set,
197 description=field_description,
198 )
199 )
200 if field_description:
201 has_description = True
202
203 if not has_description:
204 return None
205
206 return _SchemaSummary(description=description, fields=fields)
207
208
209def _describe_json_schema_field(

Callers 1

_build_schema_summaryFunction · 0.85

Calls 6

_read_schema_descriptionFunction · 0.85
_SchemaSummaryFieldClass · 0.85
_SchemaSummaryClass · 0.85
appendMethod · 0.80
getMethod · 0.45

Tested by

no test coverage detected