MCPcopy Create free account
hub / github.com/agentforce314/clawcodex / _validate_object

Function _validate_object

src/tool_system/schema_validation.py:103–119  ·  view source on GitHub ↗
(value: dict[str, Any], schema: Mapping[str, Any], *, path: str, issues: list[ValidationIssue])

Source from the content-addressed store, hash-verified

101
102
103def _validate_object(value: dict[str, Any], schema: Mapping[str, Any], *, path: str, issues: list[ValidationIssue]) -> None:
104 required = _as_set(schema.get("required"))
105 properties = schema.get("properties") or {}
106 additional = schema.get("additionalProperties", True)
107
108 for req in required:
109 if req not in value:
110 issues.append(ValidationIssue(path, f"missing required field {req!r}"))
111
112 for key, val in value.items():
113 prop_schema = properties.get(key) if isinstance(properties, dict) else None
114 if prop_schema is None:
115 if additional is False:
116 issues.append(ValidationIssue(f"{path}.{key}", "unexpected field"))
117 continue
118 if isinstance(prop_schema, dict):
119 _validate(val, prop_schema, path=f"{path}.{key}", issues=issues)
120
121
122def _is_valid(value: Any, schema: Mapping[str, Any]) -> bool:

Callers 1

_validateFunction · 0.85

Calls 6

_as_setFunction · 0.85
ValidationIssueClass · 0.85
_validateFunction · 0.85
itemsMethod · 0.80
getMethod · 0.45
appendMethod · 0.45

Tested by

no test coverage detected