mirror of
https://github.com/lobehub/lobehub
synced 2026-04-21 17:47:27 +00:00
* ✨ feat(hetero-agent): synthesize pluginState.todos from CC TodoWrite Adapter now translates Claude Code's declarative TodoWrite tool_use input into the shared StepContextTodos shape and attaches it to tool_result. Selector drops the GTD identifier filter so any producer honoring pluginState.todos lights up the TodoProgress card. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * 🐛 fix(hetero-agent): skip TodoWrite pluginState synthesis on error results A failed TodoWrite (is_error=true) means the snapshot was never applied on CC's side. Since selectTodosFromMessages now picks the latest pluginState.todos from any producer, leaking a failed-write snapshot could overwrite the live todo UI with changes that never actually happened. Drain the cache either way so a retry with a fresh tool_use id doesn't inherit stale args. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * 🐛 fix(hetero-agent): prefer topic-level cwd on send; route UI changes to active topic Topic-level workingDirectory now takes priority over agent-level on the send path, matching what the topic is actually pinned to. The UI picker writes to the active topic's metadata (not the agent default), and warns before switching when doing so would invalidate an existing CC session. * ✨ feat(tab): reset tab cache when page type changes to stop stale metadata bleed Switching a tab from one page type to another (e.g. agent → home) kept the previous page's cached title/avatar, so the new page rendered with the wrong header. Reset the cache on type change; preserve the merge only when the type stays the same. * 🐛 fix(hetero-agent): kill CC process tree on cancel so tool children exit SIGINT to just the claude binary was leaving bash/grep/etc. tool subprocesses running, which kept the CLI hung waiting on them. Spawn the child detached (Unix) so we can signal the whole group via process.kill(-pid, sig); use taskkill /T /F on Windows. Escalate SIGINT → SIGKILL after 2s for tool calls that swallow SIGINT, and do the same tree kill on disposeSession's SIGTERM path. * ✨ feat(hetero-agent): show "Full access" badge in CC working-directory bar Claude Code runs locally with full read/write on the working directory and permission mode switching isn't wired up yet — the badge sets that expectation up-front instead of leaving users guessing. Tooltip spells out the constraint for anyone who wants detail. * ♻️ refactor(agent-list): show runtime name (Claude Code/Codex) instead of generic "External" tag The "External" tag on heterogeneous agents didn't tell users which runtime backs the agent — multiple CLI runtimes (Claude Code, Codex, …) looked identical in the sidebar. Map the heterogeneous type to its display name so the tag identifies the actual runtime, with the raw type as a fallback for any future provider we haven't mapped yet. --------- Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| agent-gateway-client | ||
| agent-manager-runtime | ||
| agent-runtime | ||
| agent-templates | ||
| agent-tracing | ||
| builtin-agents | ||
| builtin-skills | ||
| builtin-tool-activator | ||
| builtin-tool-agent-builder | ||
| builtin-tool-agent-documents | ||
| builtin-tool-agent-management | ||
| builtin-tool-brief | ||
| builtin-tool-calculator | ||
| builtin-tool-claude-code | ||
| builtin-tool-cloud-sandbox | ||
| builtin-tool-creds | ||
| builtin-tool-cron | ||
| builtin-tool-group-agent-builder | ||
| builtin-tool-group-management | ||
| builtin-tool-gtd | ||
| builtin-tool-knowledge-base | ||
| builtin-tool-local-system | ||
| builtin-tool-memory | ||
| builtin-tool-message | ||
| builtin-tool-notebook | ||
| builtin-tool-page-agent | ||
| builtin-tool-remote-device | ||
| builtin-tool-skill-store | ||
| builtin-tool-skills | ||
| builtin-tool-task | ||
| builtin-tool-topic-reference | ||
| builtin-tool-user-interaction | ||
| builtin-tool-web-browsing | ||
| builtin-tool-web-onboarding | ||
| builtin-tools | ||
| business | ||
| chat-adapter-feishu | ||
| chat-adapter-qq | ||
| chat-adapter-wechat | ||
| config | ||
| const | ||
| context-engine | ||
| conversation-flow | ||
| database | ||
| desktop-bridge | ||
| device-gateway-client | ||
| edge-config | ||
| editor-runtime | ||
| electron-client-ipc | ||
| electron-server-ipc | ||
| eval-dataset-parser | ||
| eval-rubric | ||
| fetch-sse | ||
| file-loaders | ||
| heterogeneous-agents | ||
| local-file-shell | ||
| markdown-patch | ||
| memory-user-memory | ||
| model-bank | ||
| model-runtime | ||
| observability-otel | ||
| openapi | ||
| prompts | ||
| python-interpreter | ||
| shared-tool-ui | ||
| ssrf-safe-fetch | ||
| tool-runtime | ||
| types | ||
| utils | ||
| web-crawler | ||