swarm repositories / source
aboutsummaryrefslogtreecommitdiff
path: root/crates/phone-opus/src/mcp/catalog.rs
diff options
context:
space:
mode:
authormain <main@swarm.moe>2026-03-23 22:32:57 -0400
committermain <main@swarm.moe>2026-03-23 22:32:57 -0400
commitd64d1bd730aec23bcc5b01a78a8945863ea4d5a7 (patch)
treeb757569797231838509f74051c2fdb828ab57857 /crates/phone-opus/src/mcp/catalog.rs
parent00949559a8a4757e1198e1ea582ebfcf7268fec4 (diff)
downloadphone_opus-d64d1bd730aec23bcc5b01a78a8945863ea4d5a7.zip
Hide background consult surfaces
Diffstat (limited to 'crates/phone-opus/src/mcp/catalog.rs')
-rw-r--r--crates/phone-opus/src/mcp/catalog.rs64
1 files changed, 1 insertions, 63 deletions
diff --git a/crates/phone-opus/src/mcp/catalog.rs b/crates/phone-opus/src/mcp/catalog.rs
index a4a1780..3570b1f 100644
--- a/crates/phone-opus/src/mcp/catalog.rs
+++ b/crates/phone-opus/src/mcp/catalog.rs
@@ -41,29 +41,11 @@ impl ToolSpec {
const TOOL_SPECS: &[ToolSpec] = &[
ToolSpec {
name: "consult",
- description: "Run a consult against the system Claude Code install using a read-only built-in toolset, optionally resume a prior Claude session by session_id, optionally queue the consult in the background, and return the response or job handle.",
+ description: "Run a blocking consult against the system Claude Code install using a read-only built-in toolset, optionally resume a prior Claude session by session_id, and return the response plus execution metadata.",
dispatch: DispatchTarget::Worker,
replay: ReplayContract::NeverReplay,
},
ToolSpec {
- name: "consult_job",
- description: "Read the status of one background consult job by job_id. When the job has finished, the final Claude response or failure is included.",
- dispatch: DispatchTarget::Host,
- replay: ReplayContract::Convergent,
- },
- ToolSpec {
- name: "consult_wait",
- description: "Block until one background consult job finishes or a timeout elapses. When the job has finished, the final Claude response or failure is included.",
- dispatch: DispatchTarget::Host,
- replay: ReplayContract::Convergent,
- },
- ToolSpec {
- name: "consult_jobs",
- description: "List recent background consult jobs. Defaults to render=porcelain; use render=json for structured output.",
- dispatch: DispatchTarget::Host,
- replay: ReplayContract::Convergent,
- },
- ToolSpec {
name: "health_snapshot",
description: "Read host lifecycle, worker generation, rollout state, and latest fault. Defaults to render=porcelain; use render=json for structured output.",
dispatch: DispatchTarget::Host,
@@ -111,54 +93,10 @@ fn tool_schema(name: &str) -> Value {
"session_id": {
"type": "string",
"description": "Optional Claude session handle returned by a previous consult call. When set, phone_opus resumes that conversation instead of starting a fresh one."
- },
- "background": {
- "type": "boolean",
- "description": "When true, queue the consult as a background job and return immediately with a job handle. The default is false, which keeps consult synchronous."
}
},
"required": ["prompt"]
})),
- "consult_job" => with_common_presentation(json!({
- "type": "object",
- "properties": {
- "job_id": {
- "type": "string",
- "description": "Background consult job handle returned by consult with background=true."
- }
- },
- "required": ["job_id"]
- })),
- "consult_wait" => with_common_presentation(json!({
- "type": "object",
- "properties": {
- "job_id": {
- "type": "string",
- "description": "Background consult job handle returned by consult with background=true."
- },
- "timeout_ms": {
- "type": "integer",
- "minimum": 0,
- "description": "Maximum time to wait for completion before returning the current job state. Defaults to 1800000 (30 minutes)."
- },
- "poll_interval_ms": {
- "type": "integer",
- "minimum": 10,
- "description": "Polling interval used while waiting. Defaults to 1000."
- }
- },
- "required": ["job_id"]
- })),
- "consult_jobs" => with_common_presentation(json!({
- "type": "object",
- "properties": {
- "limit": {
- "type": "integer",
- "minimum": 1,
- "description": "Maximum number of recent background jobs to return. Defaults to 10."
- }
- }
- })),
"health_snapshot" | "telemetry_snapshot" => with_common_presentation(json!({
"type": "object",
"properties": {}