From db9df55e4129321a6bc89d9fd19e3a7a2a4a1fea Mon Sep 17 00:00:00 2001 From: YeonGyu-Kim Date: Sat, 21 Feb 2026 05:30:04 +0900 Subject: [PATCH] fix(session-recovery): fix SDK fallback part.tool mapping and nosuchtoolarror typo --- src/hooks/session-recovery/detect-error-type.ts | 1 - src/hooks/session-recovery/recover-unavailable-tool.ts | 2 +- 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/src/hooks/session-recovery/detect-error-type.ts b/src/hooks/session-recovery/detect-error-type.ts index ea9af562a..b5783dae4 100644 --- a/src/hooks/session-recovery/detect-error-type.ts +++ b/src/hooks/session-recovery/detect-error-type.ts @@ -89,7 +89,6 @@ export function detectErrorType(error: unknown): RecoveryErrorType { message.includes("dummy_tool") || message.includes("unavailable tool") || message.includes("model tried to call unavailable") || - message.includes("nosuchtoolarror") || message.includes("nosuchtoolerror") || message.includes("no such tool") ) { diff --git a/src/hooks/session-recovery/recover-unavailable-tool.ts b/src/hooks/session-recovery/recover-unavailable-tool.ts index 193f61e68..3aa937e73 100644 --- a/src/hooks/session-recovery/recover-unavailable-tool.ts +++ b/src/hooks/session-recovery/recover-unavailable-tool.ts @@ -51,7 +51,7 @@ async function readPartsFromSDKFallback( return target.parts.map((part) => ({ type: part.type === "tool" ? "tool_use" : part.type, id: "callID" in part ? (part as { callID?: string }).callID : part.id, - name: "name" in part && typeof part.name === "string" ? part.name : undefined, + name: "name" in part && typeof part.name === "string" ? part.name : ("tool" in part && typeof (part as { tool?: unknown }).tool === "string" ? (part as { tool: string }).tool : undefined), })) } catch { return []