claude-code-best/src
IronRookieCoder 416e2767ed fix(query): surface missing task tool call failures
## Bug 详情
GLM-5 返回 `stop_reason=tool_use` 但没有携带真实任务工具调用时,任务列表流程会停在“准备查看/更新任务”的文本状态,用户无法判断任务是卡住还是已结束。

## 根因
原有缺失工具调用恢复逻辑会尝试追加一次隐式恢复提示;任务相关场景下如果模型没有发出 `TaskList`、`TaskUpdate` 等实际工具调用,缺少用户可见的失败提示。

## 修复方案
对任务相关的缺失工具调用直接输出英文错误,并保留普通缺失工具调用的一次恢复机会;同时把合成缺失工具结果占位改为明确英文失败文案。

## 变更要点
- 新增任务相关 `stop_reason=tool_use` 但无工具调用的检测和失败返回
- 新增通用缺失工具调用恢复失败时的英文错误提示
- 将合成缺失工具结果文案从内部占位改为用户可理解的失败说明
- 增加 query 缺失工具调用恢复路径测试

## 自测
- `bun test src/__tests__/queryMissingToolUseRecovery.test.ts`
- `bun test src/utils/__tests__/messages.test.ts`
- `bun run typecheck` 未完全通过,剩余错误来自仓库既有问题;本次修改相关文件无 TypeScript 错误
2026-05-18 14:50:56 +08:00
..
__tests__ fix(query): surface missing task tool call failures 2026-05-18 14:50:56 +08:00
assistant chore: 清理 src 下 113 项未使用导入和死代码 2026-05-05 20:05:15 +08:00
bootstrap chore: 合并社区 upstream/main 代码至 v2.4.2 2026-05-12 11:55:04 +08:00
bridge chore: 合并社区 upstream/main 代码至 v2.4.2 2026-05-12 11:55:04 +08:00
buddy chore: 合并社区 upstream/main 代码至 v2.4.2 2026-05-12 11:55:04 +08:00
cli fix(update): enhance failure diagnostics and prevent claude symlink deletion 2026-05-15 16:19:13 +08:00
commands fix(favorite): sync load/unload state and improve error visibility 2026-05-15 16:44:24 +08:00
components fix(agents): reload empty agent definitions in menu 2026-05-16 10:48:31 +08:00
constants chore: 合并社区 upstream/main 代码至 v2.4.2 2026-05-12 11:55:04 +08:00
context chore: 清理 src 下 113 项未使用导入和死代码 2026-05-05 20:05:15 +08:00
coordinator feat: 工具层及 mcp 大重构 (#252) 2026-04-13 09:52:05 +08:00
costrict fix(favorite): ensure /hub enabled skills appear in command list immediately 2026-05-15 22:46:03 +08:00
daemon chore: 清理 src 下 113 项未使用导入和死代码 2026-05-05 20:05:15 +08:00
entrypoints Merge pull request #85 from y574444354/fix/serve-command-real-impl 2026-05-14 19:14:53 +08:00
environment-runner style: 完成所有文件的lint 2026-05-01 21:39:30 +08:00
hooks Merge pull request #84 from IronRookieCoder/fix/issue-34-agent-team-idle 2026-05-15 17:01:46 +08:00
jobs Feat/integrate lint preview (#285) 2026-04-16 20:59:29 +08:00
keybindings chore: 清理临时 rebase 脚本 2026-05-13 10:29:34 +08:00
memdir refactor: 精简系统提示词 — 合并沟通风格段落、精简 memory/工具描述、截断 gitStatus 2026-05-09 17:14:41 +08:00
migrations chore: 清理临时 rebase 脚本 2026-05-13 10:29:34 +08:00
moreright style: 完成所有文件的lint 2026-05-01 21:39:30 +08:00
native-ts/file-index style: 完成所有文件的lint 2026-05-01 21:39:30 +08:00
outputStyles feat: build 2026-03-31 19:22:47 +08:00
plugins feat: 接入内建 weixin channel(同 #301 重构版本) (#303) 2026-04-19 21:33:27 +08:00
proactive feat: harden autonomy lifecycle, OOM bounds, and provider-boundary finalization 2026-04-29 14:04:27 +08:00
query fix(openai): recover missing streamed tool calls 2026-05-15 21:19:04 +08:00
remote style: 完成所有文件的lint 2026-05-01 21:39:30 +08:00
schemas chore: 清理仓库审计问题——修正 CLAUDE.md、删除冗余 yoga-layout、清除 621 个未使用的类型 stub (#354) 2026-04-25 08:54:18 +08:00
screens chore: 合并社区 upstream/main 代码至 v2.4.2 2026-05-12 11:55:04 +08:00
self-hosted-runner style: 完成所有文件的lint 2026-05-01 21:39:30 +08:00
server fix: prevent SSE event cross-workspace leakage 2026-05-15 10:34:06 +08:00
services Merge pull request #86 from IronRookieCoder/fix-snip-tool 2026-05-15 17:01:26 +08:00
skills chore: remove /strict:review and /strict:security-review commands 2026-05-12 18:00:10 +08:00
ssh feat: 实现 SSH Remote — 本地 REPL + 远端工具执行 2026-04-24 14:25:56 +08:00
state Merge pull request #416 from znygugeyx-ctrl/feat/subagent-fork-render 2026-05-06 09:57:52 +08:00
tasks chore: 合并社区 upstream/main 代码至 v2.4.2 2026-05-12 11:55:04 +08:00
types fix: 清理 main 分支的 stub .js 文件,恢复有 .ts 源文件的命令模块 2026-05-13 10:36:04 +08:00
upstreamproxy feat: 问就是封包 2026-03-31 23:32:58 +08:00
utils fix(query): surface missing task tool call failures 2026-05-18 14:50:56 +08:00
vim feat: build 2026-03-31 19:22:47 +08:00
voice feat: 集成豆包 ASR 语音识别后端,支持 /voice doubao 切换 (#357) 2026-04-25 13:57:30 +08:00
commands.ts Merge branch 'feat/server-refactor' 2026-05-14 15:21:25 +08:00
context.ts refactor: 精简系统提示词 — 合并沟通风格段落、精简 memory/工具描述、截断 gitStatus 2026-05-09 17:14:41 +08:00
cost-tracker.ts feat: ACP 协议版本 remote control (#293) 2026-04-18 21:54:22 +08:00
costHook.ts feat: build 2026-03-31 19:22:47 +08:00
dialogLaunchers.tsx style: 完成所有文件的lint 2026-05-01 21:39:30 +08:00
history.ts feat: 添加服务层增强与零散改进 2026-04-22 22:38:10 +08:00
interactiveHelpers.tsx chore: 清理 src 下 113 项未使用导入和死代码 2026-05-05 20:05:15 +08:00
main.tsx Merge pull request #89 from IronRookieCoder/fix/issue-46-47 2026-05-15 14:33:28 +08:00
projectOnboardingState.ts 品牌名称微调 2026-04-10 23:13:43 +08:00
query.ts fix(query): surface missing task tool call failures 2026-05-18 14:50:56 +08:00
QueryEngine.ts merge: 合并 origin/main 到 feat/server-refactor,解决冲突并保留 server 完整实现 2026-05-13 10:27:14 +08:00
replLauncher.tsx fix: 添加 React Error Boundary 防止生产环境渲染崩溃 2026-05-09 22:02:04 +08:00
setup.ts feat(hub): migrate favorite command with auto-enable, real-time toggle and server refactor 2026-05-08 18:18:44 +08:00
Task.ts feat: build 2026-03-31 19:22:47 +08:00
tasks.ts feat: build 2026-03-31 19:22:47 +08:00
Tool.ts docs: 添加 ToolSearch 设计指南 + 禁用 turn-zero 工具推荐弹窗 2026-05-09 16:45:56 +08:00
tools.ts chore: 合并社区 upstream/main 代码至 v2.4.2 2026-05-12 11:55:04 +08:00