swarm repositories / source
aboutsummaryrefslogtreecommitdiff
path: root/crates/phone-opus/src/mcp/service.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/service.rs
parent00949559a8a4757e1198e1ea582ebfcf7268fec4 (diff)
downloadphone_opus-d64d1bd730aec23bcc5b01a78a8945863ea4d5a7.zip
Hide background consult surfaces
Diffstat (limited to 'crates/phone-opus/src/mcp/service.rs')
-rw-r--r--crates/phone-opus/src/mcp/service.rs55
1 files changed, 7 insertions, 48 deletions
diff --git a/crates/phone-opus/src/mcp/service.rs b/crates/phone-opus/src/mcp/service.rs
index 773a516..64cb778 100644
--- a/crates/phone-opus/src/mcp/service.rs
+++ b/crates/phone-opus/src/mcp/service.rs
@@ -86,19 +86,9 @@ impl WorkerService {
let args = deserialize::<ConsultArgs>(arguments, &operation, self.generation)?;
let request = ConsultRequest::parse(args)
.map_err(|error| invalid_consult_request(self.generation, &operation, error))?;
- match request.mode() {
- ConsultMode::Sync => {
- let response = invoke_claude(&request)
- .map_err(|error| consult_fault(self.generation, &operation, error))?;
- consult_output(&request, &response, self.generation, &operation)?
- }
- ConsultMode::Background => submit_background_consult(
- &request,
- self.generation,
- FaultStage::Worker,
- &operation,
- )?,
- }
+ let response = invoke_claude(&request)
+ .map_err(|error| consult_fault(self.generation, &operation, error))?;
+ consult_output(&request, &response, self.generation, &operation)?
}
other => {
return Err(FaultRecord::invalid_input(
@@ -124,7 +114,6 @@ struct ConsultArgs {
prompt: String,
cwd: Option<String>,
session_id: Option<String>,
- background: Option<bool>,
}
#[derive(Debug, Deserialize)]
@@ -153,7 +142,6 @@ struct ConsultRequest {
prompt: PromptText,
cwd: WorkingDirectory,
session: Option<SessionHandle>,
- mode: ConsultMode,
}
impl ConsultRequest {
@@ -162,14 +150,9 @@ impl ConsultRequest {
prompt: PromptText::parse(args.prompt)?,
cwd: WorkingDirectory::resolve(args.cwd)?,
session: args.session_id.map(SessionHandle::parse).transpose()?,
- mode: ConsultMode::from_background(args.background),
})
}
- fn mode(&self) -> ConsultMode {
- self.mode
- }
-
fn session_mode(&self) -> &'static str {
if self.session.is_some() {
"resumed"
@@ -182,6 +165,7 @@ impl ConsultRequest {
self.session.as_ref().map(SessionHandle::display)
}
+ #[allow(dead_code, reason = "background submission is parked but not exposed")]
fn background_request(&self) -> BackgroundConsultRequest {
BackgroundConsultRequest {
prompt: self.prompt.as_str().to_owned(),
@@ -191,29 +175,6 @@ impl ConsultRequest {
}
}
-#[derive(Debug, Clone, Copy, Eq, PartialEq)]
-enum ConsultMode {
- Sync,
- Background,
-}
-
-impl ConsultMode {
- fn from_background(raw: Option<bool>) -> Self {
- if raw.unwrap_or(false) {
- Self::Background
- } else {
- Self::Sync
- }
- }
-
- fn as_str(self) -> &'static str {
- match self {
- Self::Sync => "sync",
- Self::Background => "background",
- }
- }
-}
-
#[derive(Debug, Clone)]
struct PromptText {
original: String,
@@ -305,7 +266,6 @@ impl BackgroundConsultRequest {
prompt: self.prompt,
cwd: Some(self.cwd),
session_id: self.session_id,
- background: Some(false),
})
}
}
@@ -895,6 +855,7 @@ pub(crate) fn consult_jobs_tool_output(
)
}
+#[allow(dead_code, reason = "background submission is parked but not exposed")]
fn submit_background_consult(
request: &ConsultRequest,
generation: Generation,
@@ -929,7 +890,7 @@ fn submit_background_consult(
.map_err(|error| FaultRecord::process(generation, stage, operation, error.to_string()))?;
let concise = json!({
- "mode": request.mode().as_str(),
+ "mode": "background",
"job_id": record.job_id.display(),
"status": record.status,
"done": false,
@@ -939,7 +900,7 @@ fn submit_background_consult(
"follow_up_tools": ["consult_wait", "consult_job", "consult_jobs"],
});
let full = json!({
- "mode": request.mode().as_str(),
+ "mode": "background",
"job_id": record.job_id.display(),
"status": record.status,
"done": false,
@@ -1495,7 +1456,6 @@ fn consult_output(
operation: &str,
) -> Result<ToolOutput, FaultRecord> {
let concise = json!({
- "mode": request.mode().as_str(),
"response": response.result,
"cwd": response.cwd.display(),
"persisted_output_path": response.persisted_output_path.display(),
@@ -1511,7 +1471,6 @@ fn consult_output(
"permission_denial_count": response.permission_denials.len(),
});
let full = json!({
- "mode": request.mode().as_str(),
"response": response.result,
"cwd": response.cwd.display(),
"persisted_output_path": response.persisted_output_path.display(),