From eb2473f7c7655d3219044a9b87397fb10e13bff1 Mon Sep 17 00:00:00 2001 From: coso Date: Fri, 13 Mar 2026 21:38:00 +0800 Subject: [PATCH] fix: resolve TypeScript type error in useAgentTools - Add null check for fallbackPromptKey before using as Map key - Wrap logic in conditional to ensure type safety Co-Authored-By: Claude Opus 4.6 (1M context) --- .../agent/chat/hooks/useAgentTools.ts | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/src/components/agent/chat/hooks/useAgentTools.ts b/src/components/agent/chat/hooks/useAgentTools.ts index 21a29d8e5..c29504a2c 100644 --- a/src/components/agent/chat/hooks/useAgentTools.ts +++ b/src/components/agent/chat/hooks/useAgentTools.ts @@ -94,16 +94,16 @@ export function useAgentTools(options: UseAgentToolsOptions) { if (pendingAction?.isFallback) { const fallbackPromptKey = resolveActionPromptKey(pendingAction); - const resolvedAction = pendingActions.find((item) => { - if (item.requestId === pendingAction.requestId) return false; - if (item.isFallback) return false; - if (item.actionType !== pendingAction.actionType) return false; - if (!fallbackPromptKey) return false; - return resolveActionPromptKey(item) === fallbackPromptKey; - }); + if (fallbackPromptKey) { + const resolvedAction = pendingActions.find((item) => { + if (item.requestId === pendingAction.requestId) return false; + if (item.isFallback) return false; + if (item.actionType !== pendingAction.actionType) return false; + return resolveActionPromptKey(item) === fallbackPromptKey; + }); - if (!resolvedAction) { - queuedFallbackResponsesRef.current.set(fallbackPromptKey, { + if (!resolvedAction) { + queuedFallbackResponsesRef.current.set(fallbackPromptKey, { ...response, actionType, requestId: pendingAction.requestId, @@ -156,6 +156,7 @@ export function useAgentTools(options: UseAgentToolsOptions) { effectiveRequestId = resolvedAction.requestId; acknowledgedRequestIds.add(resolvedAction.requestId); + } } await runtime.respondToAction({