{ "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "additionalProperties": false, "required": [ "format", "format_version", "case_id", "package_id", "analysis_revision", "diagnosis_ref", "diagnosis_sha256", "diagnosis", "case", "interpretation", "evidence", "local_context", "policy", "max_invalid_responses" ], "properties": { "format": { "const": "viano-change-request-context" }, "format_version": { "const": 1 }, "case_id": { "type": "string", "minLength": 1, "maxLength": 8000, "pattern": "\\S" }, "package_id": { "type": "string", "minLength": 1, "maxLength": 8000, "pattern": "\\S" }, "analysis_revision": { "type": "integer", "minimum": 1 }, "diagnosis_ref": { "type": "string", "minLength": 1, "maxLength": 8000, "pattern": "\\S" }, "diagnosis_sha256": { "type": "string", "pattern": "^[0-9a-f]{64}$" }, "diagnosis": { "type": "object" }, "case": { "type": "object" }, "interpretation": { "type": "object" }, "evidence": { "type": "object" }, "local_context": { "type": "object" }, "policy": { "type": "object" }, "max_invalid_responses": { "type": "integer", "minimum": 1 }, "handoff_protocol": { "const": 2 }, "parameter_grounding": { "type": "integer", "enum": [ 1, 2 ] }, "database_fact_bindings": { "type": "array", "maxItems": 10000, "items": { "type": "object", "additionalProperties": false, "required": [ "fact_id", "fact_name", "table", "column" ], "properties": { "fact_id": { "type": "string", "minLength": 1, "maxLength": 200 }, "fact_name": { "type": "string", "minLength": 1, "maxLength": 200 }, "table": { "type": "string", "minLength": 1, "maxLength": 200 }, "column": { "type": "string", "minLength": 1, "maxLength": 200 } } } } }, "allOf": [ { "if": { "required": [ "parameter_grounding" ], "properties": { "parameter_grounding": { "const": 2 } } }, "then": { "required": [ "database_fact_bindings" ] }, "else": { "not": { "required": [ "database_fact_bindings" ] } } } ] }