• 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
local_agent_basic.spec.ts_local-agent---dump-request-1.txt 18.0 KB