From 6f47ac5179dac2f956dc67a9658504b7ed0365a1 Mon Sep 17 00:00:00 2001 From: npmrun <1549469775@qq.com> Date: Sat, 8 Aug 2026 02:04:00 +0800 Subject: [PATCH] feat: add .gitignore for CodeGraph files and update useAgentChat to handle stale approvals --- .codegraph/.gitignore | 16 +++++++++ .codegraph/daemon.pid | 6 ++++ app/composables/useAgentChat.ts | 3 +- packages/drizzle-pkg/db.sqlite | Bin 1634304 -> 1634304 bytes server/api/agent/chat/index.post.ts | 69 +++++++++++++++++++++--------------- 5 files changed, 64 insertions(+), 30 deletions(-) create mode 100644 .codegraph/.gitignore create mode 100644 .codegraph/daemon.pid diff --git a/.codegraph/.gitignore b/.codegraph/.gitignore new file mode 100644 index 0000000..9de0f16 --- /dev/null +++ b/.codegraph/.gitignore @@ -0,0 +1,16 @@ +# CodeGraph data files +# These are local to each machine and should not be committed + +# Database +*.db +*.db-wal +*.db-shm + +# Cache +cache/ + +# Logs +*.log + +# Hook markers +.dirty diff --git a/.codegraph/daemon.pid b/.codegraph/daemon.pid new file mode 100644 index 0000000..f5b924b --- /dev/null +++ b/.codegraph/daemon.pid @@ -0,0 +1,6 @@ +{ + "pid": 385650, + "version": "0.9.7", + "socketPath": "/home/dash/code/nuxt-app/.codegraph/daemon.sock", + "startedAt": 1786124270447 +} diff --git a/app/composables/useAgentChat.ts b/app/composables/useAgentChat.ts index 8165edd..c099d09 100644 --- a/app/composables/useAgentChat.ts +++ b/app/composables/useAgentChat.ts @@ -90,7 +90,6 @@ export function useAgentChat(options: UseAgentChatOptions) { ...m, parts: m.parts ? (typeof m.parts === "string" ? JSON.parse(m.parts) : m.parts) : undefined, })); - await cleanupStaleApprovals(); } catch { messages.value = []; } @@ -322,6 +321,8 @@ export function useAgentChat(options: UseAgentChatOptions) { isStopped.value = false; staleApprovalToolCallIds = new Set(); + await cleanupStaleApprovals(); + let userMsgIdx = -1; if (opts?.editMessageId) { diff --git a/packages/drizzle-pkg/db.sqlite b/packages/drizzle-pkg/db.sqlite index db1f11bfffadf465713a0e4e4884c0e7d54b79dc..e0f01eda90826f297af9407d16f9c1e769561bd4 100644 GIT binary patch delta 130759 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 delta 25528 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 G^M3)BNU^X0 diff --git a/server/api/agent/chat/index.post.ts b/server/api/agent/chat/index.post.ts index 97427e9..ba5bd8c 100644 --- a/server/api/agent/chat/index.post.ts +++ b/server/api/agent/chat/index.post.ts @@ -441,48 +441,59 @@ export default defineEventHandler(async (event) => { const parts: Array> = []; for (const step of steps) { - for (const r of step.reasoning) { - if (r.type === "reasoning" && r.text) { - parts.push({ id: `p_${parts.length}`, type: "reasoning", text: r.text }); - } - } const toolResultMap = new Map(step.toolResults.map((tr) => [tr.toolCallId, tr.output])); - const approvalRequestMap = new Map(); - for (const cp of step.content as Array>) { - if (cp.type === "tool-approval-request" && cp.approvalId && cp.toolCall) { - const tc = cp.toolCall as Record; - if (tc.toolCallId) { - approvalRequestMap.set(tc.toolCallId as string, cp.approvalId as string); - } + const contentArr = step.content as Array>; + const approvalToolCallIds = new Set(); + for (const cp of contentArr) { + if (cp.type === "tool-approval-request" && (cp as any).approvalId && (cp as any).toolCall) { + approvalToolCallIds.add((cp as any).toolCall.toolCallId); } } - for (const tc of step.toolCalls) { - const approvalId = approvalRequestMap.get(tc.toolCallId); - if (approvalId) { - parts.push({ - id: `p_${parts.length}`, - type: "tool-call", - toolCallId: tc.toolCallId, - toolName: tc.toolName, - args: tc.input, - state: "approval-requested", - approvalId, - }); - } else { + for (const cp of contentArr) { + if (cp.type === "reasoning" && (cp as any).text) { + parts.push({ id: `p_${parts.length}`, type: "reasoning", text: (cp as any).text }); + } else if (cp.type === "text" && (cp as any).text) { + parts.push({ id: `p_${parts.length}`, type: "text", text: (cp as any).text }); + } else if (cp.type === "tool-approval-request" && (cp as any).approvalId && (cp as any).toolCall) { + const tc = (cp as any).toolCall; + const toolResult = toolResultMap.get(tc.toolCallId); + if (toolResult === undefined) { + parts.push({ + id: `p_${parts.length}`, + type: "tool-call", + toolCallId: tc.toolCallId, + toolName: tc.toolName, + args: tc.input, + state: "approval-requested", + approvalId: (cp as any).approvalId, + }); + } else { + parts.push({ + id: `p_${parts.length}`, + type: "tool-call", + toolCallId: tc.toolCallId, + toolName: tc.toolName, + args: tc.input, + result: toolResult, + state: "result", + approvalId: (cp as any).approvalId, + }); + } + } else if (cp.type === "tool-call") { + const tc = cp as any; + if (approvalToolCallIds.has(tc.toolCallId)) continue; + const toolResult = toolResultMap.get(tc.toolCallId); parts.push({ id: `p_${parts.length}`, type: "tool-call", toolCallId: tc.toolCallId, toolName: tc.toolName, args: tc.input, - result: toolResultMap.get(tc.toolCallId), + result: toolResult, state: "result", }); } } - if (step.text) { - parts.push({ id: `p_${parts.length}`, type: "text", text: step.text }); - } } if (isApprovalContinue) {