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>
229 lines
4.6 KiB
JSON
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"
|
|
]
|
|
}
|
|
}
|
|
}
|