Route fields and list_subagent_models are now registered only by the tool-subagent instance configured with modelSelectionSettings, which keeps one fixed definition per composition for Web presets while headless and SDK profiles return to their previous schemas. Discovery registers with that instance instead of a separate list-models plugin entry, so the delegation description never references an absent tool. modelSelectionSettings on a provider that inherits the parent conversation now fails the mount.
249 lines
5.3 KiB
JSON
249 lines
5.3 KiB
JSON
{
|
|
"finalResponse": "DYNAMIC_TOOLS_OK",
|
|
"declarations": [
|
|
null,
|
|
{
|
|
"name": "snapshot_ping",
|
|
"description": "Return pong once.",
|
|
"input_schema": {
|
|
"type": "object",
|
|
"properties": {},
|
|
"additionalProperties": false
|
|
},
|
|
"defer_loading": true
|
|
},
|
|
null
|
|
],
|
|
"requestToolChanges": [
|
|
[],
|
|
[
|
|
{
|
|
"type": "tool_addition",
|
|
"tool": {
|
|
"type": "tool_reference",
|
|
"name": "snapshot_ping"
|
|
}
|
|
}
|
|
],
|
|
[]
|
|
],
|
|
"events": [
|
|
{
|
|
"type": "request/header",
|
|
"seq": 11,
|
|
"time": 0,
|
|
"data": {
|
|
"header": {
|
|
"config": {
|
|
"provider": "deepseek-official",
|
|
"model": "smoke-model",
|
|
"maxTokens": 256000,
|
|
"reasoningEffort": "high"
|
|
},
|
|
"adapterDefaults": {
|
|
"reasoningEffort": true,
|
|
"maxTokens": true
|
|
},
|
|
"tools": [
|
|
"create_goal",
|
|
"edit",
|
|
"exit_plan_mode",
|
|
"get_goal",
|
|
"glob",
|
|
"grep",
|
|
"interrupt_agent",
|
|
"job_kill",
|
|
"job_list",
|
|
"job_output",
|
|
"list_agents",
|
|
"read",
|
|
"read_image",
|
|
"send_message",
|
|
"skill",
|
|
"subagent",
|
|
"subagent_fork",
|
|
"todo_write",
|
|
"update_goal",
|
|
"web_fetch",
|
|
"web_search",
|
|
"workflow",
|
|
"working_directory",
|
|
"write"
|
|
]
|
|
},
|
|
"reason": "initial"
|
|
}
|
|
},
|
|
{
|
|
"type": "request/context",
|
|
"seq": 12,
|
|
"time": 0,
|
|
"data": {
|
|
"provider": "deepseek-official",
|
|
"model": "smoke-model",
|
|
"contextWindow": 1000000
|
|
}
|
|
},
|
|
{
|
|
"type": "request/header",
|
|
"seq": 19,
|
|
"time": 0,
|
|
"data": {
|
|
"header": {
|
|
"config": {
|
|
"provider": "deepseek-official",
|
|
"model": "smoke-model",
|
|
"maxTokens": 256000,
|
|
"reasoningEffort": "high"
|
|
},
|
|
"adapterDefaults": {
|
|
"reasoningEffort": true,
|
|
"maxTokens": true
|
|
},
|
|
"tools": [
|
|
"create_goal",
|
|
"edit",
|
|
"exit_plan_mode",
|
|
"get_goal",
|
|
"glob",
|
|
"grep",
|
|
"interrupt_agent",
|
|
"job_kill",
|
|
"job_list",
|
|
"job_output",
|
|
"list_agents",
|
|
"read",
|
|
"read_image",
|
|
"send_message",
|
|
"skill",
|
|
"snapshot_ping",
|
|
"subagent",
|
|
"subagent_fork",
|
|
"todo_write",
|
|
"update_goal",
|
|
"web_fetch",
|
|
"web_search",
|
|
"workflow",
|
|
"working_directory",
|
|
"write"
|
|
]
|
|
},
|
|
"reason": "change"
|
|
}
|
|
},
|
|
{
|
|
"type": "developer/message",
|
|
"seq": 20,
|
|
"time": 0,
|
|
"data": {
|
|
"turn": 1,
|
|
"step": 2,
|
|
"message": {
|
|
"source": {
|
|
"kind": "tool-registry"
|
|
},
|
|
"content": [
|
|
{
|
|
"type": "tool-addition",
|
|
"toolName": "snapshot_ping"
|
|
}
|
|
],
|
|
"role": "developer",
|
|
"id": "{{messageId}}"
|
|
},
|
|
"headerSeq": "{{header:2}}"
|
|
},
|
|
"surfaceOp": "append"
|
|
},
|
|
{
|
|
"type": "request/header",
|
|
"seq": 26,
|
|
"time": 0,
|
|
"data": {
|
|
"header": {
|
|
"config": {
|
|
"provider": "deepseek-official",
|
|
"model": "smoke-model",
|
|
"maxTokens": 256000,
|
|
"reasoningEffort": "high"
|
|
},
|
|
"adapterDefaults": {
|
|
"reasoningEffort": true,
|
|
"maxTokens": true
|
|
},
|
|
"tools": [
|
|
"create_goal",
|
|
"edit",
|
|
"exit_plan_mode",
|
|
"get_goal",
|
|
"glob",
|
|
"grep",
|
|
"interrupt_agent",
|
|
"job_kill",
|
|
"job_list",
|
|
"job_output",
|
|
"list_agents",
|
|
"read",
|
|
"read_image",
|
|
"send_message",
|
|
"skill",
|
|
"subagent",
|
|
"subagent_fork",
|
|
"todo_write",
|
|
"update_goal",
|
|
"web_fetch",
|
|
"web_search",
|
|
"workflow",
|
|
"working_directory",
|
|
"write"
|
|
]
|
|
},
|
|
"reason": "change"
|
|
}
|
|
},
|
|
{
|
|
"type": "developer/message",
|
|
"seq": 27,
|
|
"time": 0,
|
|
"data": {
|
|
"turn": 1,
|
|
"step": 3,
|
|
"message": {
|
|
"source": {
|
|
"kind": "tool-registry"
|
|
},
|
|
"content": [
|
|
{
|
|
"type": "tool-removal",
|
|
"toolName": "snapshot_ping"
|
|
}
|
|
],
|
|
"role": "developer",
|
|
"id": "{{messageId}}"
|
|
}
|
|
},
|
|
"surfaceOp": "append"
|
|
}
|
|
],
|
|
"toolCalls": [
|
|
"read",
|
|
"snapshot_ping"
|
|
],
|
|
"pingResult": {
|
|
"role": "tool",
|
|
"source": {
|
|
"kind": "tool",
|
|
"callId": "python-dynamic-ping"
|
|
},
|
|
"toolCallId": "python-dynamic-ping",
|
|
"content": [
|
|
{
|
|
"type": "text",
|
|
"text": "pong"
|
|
}
|
|
],
|
|
"isError": false,
|
|
"id": "{{messageId}}"
|
|
}
|
|
}
|