{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://vignette.local/schemas/engine_gateway_contract.v1.json", "title": "EngineGatewayGoldenContract", "type": "object", "additionalProperties": false, "required": [ "version", "generate_request", "generate_response", "stream_frames", "stream_packets", "compatibility_lines" ], "properties": { "version": { "const": 1 }, "generate_request": { "$ref": "#/$defs/GenerateRequest" }, "generate_response": { "$ref": "#/$defs/GenerateResponse" }, "stream_frames": { "type": "array", "items": { "type": "string" } }, "stream_packets": { "type": "array", "items": { "$ref": "#/$defs/StreamPacket" } }, "compatibility_lines": { "type": "array", "items": { "type": "string" } } }, "$defs": { "EngineMessage": { "properties": { "role": { "enum": [ "system", "user", "assistant" ], "title": "Role", "type": "string" }, "content": { "title": "Content", "type": "string" }, "cache": { "default": false, "title": "Cache", "type": "boolean" } }, "required": [ "role", "content" ], "title": "EngineMessage", "type": "object" }, "GenerateRequest": { "properties": { "ai_role": { "default": "client", "enum": [ "client", "counselor", "evaluator" ], "title": "Ai Role", "type": "string" }, "messages": { "items": { "$ref": "#/$defs/EngineMessage" }, "title": "Messages", "type": "array" }, "provider": { "anyOf": [ { "enum": [ "claude_cli", "claude_api", "codex_cli", "agy_cli", "openai", "openrouter", "solar" ], "type": "string" }, { "type": "null" } ], "default": null, "title": "Provider" }, "model": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Model" }, "reasoning_effort": { "anyOf": [ { "enum": [ "low", "medium", "high", "xhigh", "max", "ultra" ], "type": "string" }, { "type": "null" } ], "default": null, "title": "Reasoning Effort" }, "max_tokens": { "default": 1024, "title": "Max Tokens", "type": "integer" }, "temperature": { "default": 0.7, "title": "Temperature", "type": "number" }, "structured_schema": { "anyOf": [ { "type": "object" }, { "type": "null" } ], "default": null, "title": "Structured Schema" }, "session_id": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Session Id" }, "metadata": { "title": "Metadata", "type": "object" } }, "required": [ "messages" ], "title": "GenerateRequest", "type": "object" }, "GenerateResponse": { "properties": { "text": { "title": "Text", "type": "string" }, "model": { "title": "Model", "type": "string" }, "provider": { "title": "Provider", "type": "string" }, "tokens_in": { "default": 0, "title": "Tokens In", "type": "integer" }, "tokens_out": { "default": 0, "title": "Tokens Out", "type": "integer" }, "cost_usd": { "default": 0.0, "title": "Cost Usd", "type": "number" }, "inference_geo": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Inference Geo" }, "structured": { "anyOf": [ { "type": "object" }, { "type": "null" } ], "default": null, "title": "Structured" } }, "required": [ "text", "model", "provider" ], "title": "GenerateResponse", "type": "object" }, "StreamTokenEvent": { "properties": { "text": { "title": "Text", "type": "string" } }, "required": [ "text" ], "title": "StreamTokenEvent", "type": "object" }, "StreamDoneEvent": { "properties": { "provider": { "title": "Provider", "type": "string" }, "model": { "title": "Model", "type": "string" }, "tokens_in": { "default": 0, "title": "Tokens In", "type": "integer" }, "tokens_out": { "default": 0, "title": "Tokens Out", "type": "integer" }, "cost_usd": { "default": 0.0, "title": "Cost Usd", "type": "number" }, "turns": { "default": 0, "title": "Turns", "type": "integer" } }, "required": [ "provider", "model" ], "title": "StreamDoneEvent", "type": "object" }, "StreamErrorEvent": { "properties": { "detail": { "title": "Detail", "type": "string" } }, "required": [ "detail" ], "title": "StreamErrorEvent", "type": "object" }, "StreamPacket": { "oneOf": [ { "type": "object", "additionalProperties": false, "required": [ "event", "payload" ], "properties": { "event": { "const": "token" }, "payload": { "$ref": "#/$defs/StreamTokenEvent" } } }, { "type": "object", "additionalProperties": false, "required": [ "event", "payload" ], "properties": { "event": { "const": "done" }, "payload": { "$ref": "#/$defs/StreamDoneEvent" } } }, { "type": "object", "additionalProperties": false, "required": [ "event", "payload" ], "properties": { "event": { "const": "error" }, "payload": { "$ref": "#/$defs/StreamErrorEvent" } } } ] } }, "x-engine-gateway-sse-events": [ "token", "done", "error" ], "x-engine-gateway-default-model-sentinel": "gateway-default" }