From c3ad44cf3ec3bcd080f62c19d915ac1749576302 Mon Sep 17 00:00:00 2001 From: main Date: Mon, 23 Mar 2026 16:28:52 -0400 Subject: Add optional background consult jobs --- crates/phone-opus/src/mcp/host/runtime.rs | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) (limited to 'crates/phone-opus/src/mcp/host') diff --git a/crates/phone-opus/src/mcp/host/runtime.rs b/crates/phone-opus/src/mcp/host/runtime.rs index 5922766..1d18453 100644 --- a/crates/phone-opus/src/mcp/host/runtime.rs +++ b/crates/phone-opus/src/mcp/host/runtime.rs @@ -25,6 +25,7 @@ use crate::mcp::protocol::{ FORCE_ROLLOUT_ENV, HOST_STATE_ENV, HostRequestId, HostStateSeed, PROTOCOL_VERSION, SERVER_NAME, WORKER_CRASH_ONCE_ENV, WorkerOperation, WorkerSpawnConfig, }; +use crate::mcp::service::{consult_job_tool_output, consult_jobs_tool_output}; use crate::mcp::telemetry::ServerTelemetry; pub(crate) fn run_host() -> Result<(), Box> { @@ -360,9 +361,23 @@ impl HostRuntime { fn handle_host_tool(&mut self, name: &str, arguments: Value) -> Result { let operation = format!("tools/call:{name}"); let generation = self.worker.generation(); - let (presentation, _arguments) = + let (presentation, arguments) = split_presentation(arguments, &operation, generation, FaultStage::Host)?; match name { + "consult_job" => tool_success( + consult_job_tool_output(arguments, generation, FaultStage::Host, &operation)?, + presentation, + generation, + FaultStage::Host, + &operation, + ), + "consult_jobs" => tool_success( + consult_jobs_tool_output(arguments, generation, FaultStage::Host, &operation)?, + presentation, + generation, + FaultStage::Host, + &operation, + ), "health_snapshot" => { let rollout = if self.binary.rollout_pending().map_err(|error| { FaultRecord::rollout(generation, &operation, error.to_string()) -- cgit v1.2.3