ModelConnector/schemas/provider_request.json
Meta Vens 1d51e71ebf connector-reasoning-item (B3b): one opaque reasoning item per provider block; the service owns foreign state (squash of eureka-body/connector-reasoning-item bf958fc..d915f67)
A ReasoningState item carries each provider block as raw bytes. The service
decides what is foreign: foreign state after the last user text is refused,
earlier foreign state is dropped before the backend and counted on the
receipt. Backends receive a ProviderCall that holds only what they may see,
and the service fills and checks the receipt's provider tag and drop count;
a refused result reaches the caller as a typed Provider failure, releases
its slot and replays on retry. transcript_items turns a completed result
into transcript items from the receipt, so callers never branch on provider.

Spec eureka-body:cut_spec:cut-connector-reasoning-item.r1; reports h1-h2;
Soul s2 holds (verdict eureka-body:verdict:cut-connector-reasoning-item.s2).

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

261 lines
5.8 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"
]
},
{
"description": "One provider reasoning block, opaque to every caller: `state` is the\nconnector's own encoding of the whole block. Callers replay it\nverbatim in transcript order and never inspect or branch on it; only\nthe connector of `provider` reads it, and the service drops or refuses\nthe state of any other provider before a backend sees the request.",
"type": "object",
"properties": {
"ReasoningState": {
"type": "object",
"properties": {
"model": {
"type": "string"
},
"provider": {
"type": "string"
},
"state": {
"description": "MessagePack bin: raw bytes, never an array of integers",
"type": "string",
"format": "binary"
}
},
"additionalProperties": false,
"required": [
"provider",
"model",
"state"
]
}
},
"additionalProperties": false,
"required": [
"ReasoningState"
]
}
]
},
"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"
]
}
}
}