From 24487e03cf6b6a93ca59c72bf28e99eaaaf35698 Mon Sep 17 00:00:00 2001 From: Jinwoo-H Date: Tue, 15 Sep 2026 20:37:23 -0400 Subject: [PATCH] fix(mobile): retire refused cancel operation ids --- mobile/src/session/mobile-structured-agent-session-rpc.ts | 4 ++-- mobile/src/session/use-mobile-structured-agent-session.ts | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/mobile/src/session/mobile-structured-agent-session-rpc.ts b/mobile/src/session/mobile-structured-agent-session-rpc.ts index 279893f6673..c0ab399b1fc 100644 --- a/mobile/src/session/mobile-structured-agent-session-rpc.ts +++ b/mobile/src/session/mobile-structured-agent-session-rpc.ts @@ -22,7 +22,7 @@ export type StructuredAgentSessionMutationCallResult = | { status: 'accepted'; value: TValue } | { status: 'refused'; code: AgentSessionWireRefusalCode; message: string } | { status: 'failed'; message: string } - | { status: 'unknown' } + | { status: 'unknown'; hostReportedOperationUnknown?: boolean } export type StructuredAgentSessionMutationResult = | { status: 'accepted'; value: TValue; sameFence: boolean } @@ -169,7 +169,7 @@ export async function requestStructuredAgentSessionMutation(args: { (method === 'agentSession.cancel' || method === 'agentSession.conversationCommand') && result.refusal.code === 'agent_session_operation_unknown' ) { - return { status: 'unknown' } + return { status: 'unknown', hostReportedOperationUnknown: true } } return result.ok ? { status: 'accepted', value: result.value } diff --git a/mobile/src/session/use-mobile-structured-agent-session.ts b/mobile/src/session/use-mobile-structured-agent-session.ts index 301c9b7b0ca..29f56f41545 100644 --- a/mobile/src/session/use-mobile-structured-agent-session.ts +++ b/mobile/src/session/use-mobile-structured-agent-session.ts @@ -257,7 +257,7 @@ export function useMobileStructuredAgentSession(args: { fields, clientOperationId }).then((result) => { - if (result.status !== 'unknown') { + if (result.status !== 'unknown' || result.hostReportedOperationUnknown === true) { operationIdsRef.current.delete(key) } if (result.status === 'unknown') {