ModelConnector/schemas/provider_request.json
Meta Vens c23d91391d connector-contract-v3: the v3 wire - named MessagePack documents over a CultNet operation carriage
Ids become gamecult.model.*.v3. Every document is encoded by one named
MessagePack codec in contract.rs with unknown fields refused, and publishes a
JSON Schema generated from its type (schemas/). The envelope's ciphertext is
binary. Each frame is a cultnet.operation_request.v0 / operation_response.v0
for service gamecult.model.connector, operation invoke, its message_id the
request id, its payload the base64 of the sealed envelope; the carriage is
checked before any decryption. frame_bytes_for_payload and
payload_bytes_for_frame measure the carriage. Golden v3 fixtures and their
generator (tests/wire_golden_v3.rs) pin drift. The test debt of the kit lift
(each identity field, each contract_refusal arm, request ids measured in bytes)
is paid in the rewritten code.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-28 11:21:11 +01:00

229 lines
4.6 KiB
JSON

{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"title": "ProviderRequest",
"type": "object",
"properties": {
"cache_retention": {
"anyOf": [
{
"$ref": "#/$defs/CacheRetention"
},
{
"type": "null"
}
]
},
"conversation_id": {
"type": "string"
},
"input": {
"type": "array",
"items": {
"$ref": "#/$defs/InputItem"
}
},
"instructions": {
"type": "string"
},
"max_output_tokens": {
"type": "integer",
"format": "uint32",
"minimum": 0
},
"model": {
"type": "string"
},
"output_schema_json": {
"type": [
"string",
"null"
]
},
"parallel_tool_calls": {
"type": "boolean"
},
"reasoning_effort": {
"anyOf": [
{
"$ref": "#/$defs/ReasoningEffort"
},
{
"type": "null"
}
]
},
"request_id": {
"type": "string"
},
"schema_id": {
"type": "string"
},
"tool_choice": {
"$ref": "#/$defs/ToolChoice"
},
"tools": {
"type": "array",
"items": {
"$ref": "#/$defs/ToolDefinition"
}
}
},
"additionalProperties": false,
"required": [
"schema_id",
"request_id",
"conversation_id",
"model",
"instructions",
"input",
"tools",
"tool_choice",
"parallel_tool_calls",
"max_output_tokens"
],
"$defs": {
"CacheRetention": {
"type": "string",
"enum": [
"short",
"long"
]
},
"InputItem": {
"oneOf": [
{
"type": "object",
"properties": {
"UserText": {
"type": "object",
"properties": {
"text": {
"type": "string"
}
},
"additionalProperties": false,
"required": [
"text"
]
}
},
"additionalProperties": false,
"required": [
"UserText"
]
},
{
"type": "object",
"properties": {
"AssistantText": {
"type": "object",
"properties": {
"text": {
"type": "string"
}
},
"additionalProperties": false,
"required": [
"text"
]
}
},
"additionalProperties": false,
"required": [
"AssistantText"
]
},
{
"type": "object",
"properties": {
"ToolCall": {
"type": "object",
"properties": {
"arguments": {
"type": "string"
},
"call_id": {
"type": "string"
},
"name": {
"type": "string"
}
},
"additionalProperties": false,
"required": [
"call_id",
"name",
"arguments"
]
}
},
"additionalProperties": false,
"required": [
"ToolCall"
]
},
{
"type": "object",
"properties": {
"ToolResult": {
"type": "object",
"properties": {
"call_id": {
"type": "string"
},
"output": {
"type": "string"
}
},
"additionalProperties": false,
"required": [
"call_id",
"output"
]
}
},
"additionalProperties": false,
"required": [
"ToolResult"
]
}
]
},
"ReasoningEffort": {
"type": "string",
"enum": [
"low",
"medium",
"high",
"max"
]
},
"ToolChoice": {
"type": "string",
"enum": [
"auto",
"required"
]
},
"ToolDefinition": {
"type": "object",
"properties": {
"description": {
"type": "string"
},
"name": {
"type": "string"
},
"parameters_json": {
"type": "string"
}
},
"additionalProperties": false,
"required": [
"name",
"description",
"parameters_json"
]
}
}
}