• Will Chen's avatar
    Agent TODOs tool (#2136) · 23f9a95e
    Will Chen 提交于
    <!-- CURSOR_SUMMARY -->
    > [!NOTE]
    > Introduces live Agent to-do tracking during local-agent runs.
    > 
    > - **New tool:** `update_todos` (merge/replace support) added to agent
    toolset; updates per-turn `todos` in `AgentContext` and broadcasts via
    `onUpdateTodos`
    > - **IPC plumbing:** New `agent-tool:todos-update` channel allowlisted
    in `preload`; `IpcClient` adds `onAgentTodosUpdate` and
    `onChatStreamStart` hooks and forwards updates; main handler emits
    updates and initializes `ctx.todos`
    > - **Types:** Adds `AgentTodo` and `AgentTodosUpdatePayload`; extends
    `AgentContext` with `todos` and `onUpdateTodos`
    > - **UI/state:** New `agentTodosByChatIdAtom`; `TodoList` component;
    `ChatInput` renders live todos; renderer subscribes to updates and
    clears todos on stream start/end
    > - **Tests:** E2E snapshot updated with `update_todos` tool schema
    > 
    > <sup>Written by [Cursor
    Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit
    e2bc12f172b2b6ae15c3514e7e9c4d2b693a6e99. This will update automatically
    on new commits. Configure
    [here](https://cursor.com/dashboard?tab=bugbot).</sup>
    <!-- /CURSOR_SUMMARY -->
    
    <!-- This is an auto-generated description by cubic. -->
    ---
    ## Summary by cubic
    Adds an Agent TODOs tool and UI to track task progress during local
    agent runs. Live updates stream to the chat and display in a collapsible
    todo list, which clears when a new stream starts.
    
    - **New Features**
    - Added update_todos tool with merge/replace support and status updates;
    broadcasts via onUpdateTodos.
    - Introduced IPC channel agent-tool:todos-update with
    IpcClient.onAgentTodosUpdate and preload whitelist.
      - Defined AgentTodo and AgentTodosUpdatePayload types.
      - Added agentTodosByChatIdAtom and cleanup on chat stream start.
    - Implemented TodoList UI and wired into ChatInput to show live progress
    and counts.
    
    <sup>Written for commit e2bc12f172b2b6ae15c3514e7e9c4d2b693a6e99.
    Summary will update on new commits.</sup>
    
    <!-- End of auto-generated description by cubic. -->
    
    ---------
    Co-authored-by: 's avatarcubic-dev-ai[bot] <191113872+cubic-dev-ai[bot]@users.noreply.github.com>
    23f9a95e
名称
最后提交
最后更新
.claude 正在载入提交数据...
.cursor/rules 正在载入提交数据...
.devcontainer 正在载入提交数据...
.github 正在载入提交数据...
.husky 正在载入提交数据...
assets 正在载入提交数据...
docs 正在载入提交数据...
drizzle 正在载入提交数据...
e2e-tests 正在载入提交数据...
packages/@dyad-sh 正在载入提交数据...
scaffold 正在载入提交数据...
scripts 正在载入提交数据...
shared 正在载入提交数据...
src 正在载入提交数据...
testing 正在载入提交数据...
tools 正在载入提交数据...
worker 正在载入提交数据...
workers/tsc 正在载入提交数据...
.cursorignore 正在载入提交数据...
.env.example 正在载入提交数据...
.eslintrc.json 正在载入提交数据...
.gitattributes 正在载入提交数据...
.gitignore 正在载入提交数据...
.oxlintrc.json 正在载入提交数据...
.prettierignore 正在载入提交数据...
.prettierrc 正在载入提交数据...
AGENTS.md 正在载入提交数据...
CLA.md 正在载入提交数据...
CONTRIBUTING.md 正在载入提交数据...
LICENSE 正在载入提交数据...
README.md 正在载入提交数据...
SECURITY.md 正在载入提交数据...
biome.json 正在载入提交数据...
components.json 正在载入提交数据...
drizzle.config.ts 正在载入提交数据...
forge.config.ts 正在载入提交数据...
forge.env.d.ts 正在载入提交数据...
index.html 正在载入提交数据...
lint-staged.config.js 正在载入提交数据...
merge.config.ts 正在载入提交数据...
package-lock.json 正在载入提交数据...
package.json 正在载入提交数据...
playwright.config.ts 正在载入提交数据...
tsconfig.app.json 正在载入提交数据...
tsconfig.json 正在载入提交数据...
tsconfig.node.json 正在载入提交数据...
vite.main.config.mts 正在载入提交数据...
vite.preload.config.mts 正在载入提交数据...
vite.renderer.config.mts 正在载入提交数据...
vite.worker.config.mts 正在载入提交数据...
vitest.config.ts 正在载入提交数据...