• 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
名称
最后提交
最后更新
..
AgentConsentBanner.tsx 正在载入提交数据...
AttachmentsList.tsx 正在载入提交数据...
AuxiliaryActionsMenu.tsx 正在载入提交数据...
ChatActivity.tsx 正在载入提交数据...
ChatError.tsx 正在载入提交数据...
ChatErrorBox.tsx 正在载入提交数据...
ChatHeader.tsx 正在载入提交数据...
ChatInput.tsx 正在载入提交数据...
ChatMessage.tsx 正在载入提交数据...
CodeHighlight.tsx 正在载入提交数据...
ContextLimitBanner.tsx 正在载入提交数据...
DeleteChatDialog.tsx 正在载入提交数据...
DragDropOverlay.tsx 正在载入提交数据...
DyadAddDependency.tsx 正在载入提交数据...
DyadAddIntegration.tsx 正在载入提交数据...
DyadCodeSearch.tsx 正在载入提交数据...
DyadCodeSearchResult.tsx 正在载入提交数据...
DyadCodebaseContext.tsx 正在载入提交数据...
DyadDatabaseSchema.tsx 正在载入提交数据...
DyadDelete.tsx 正在载入提交数据...
DyadEdit.tsx 正在载入提交数据...
DyadExecuteSql.tsx 正在载入提交数据...
DyadListFiles.tsx 正在载入提交数据...
DyadLogs.tsx 正在载入提交数据...
DyadMarkdownParser.tsx 正在载入提交数据...
DyadMcpToolCall.tsx 正在载入提交数据...
DyadMcpToolResult.tsx 正在载入提交数据...
DyadOutput.tsx 正在载入提交数据...
DyadProblemSummary.tsx 正在载入提交数据...
DyadRead.tsx 正在载入提交数据...
DyadRename.tsx 正在载入提交数据...
DyadSearchReplace.tsx 正在载入提交数据...
DyadSupabaseProjectInfo.tsx 正在载入提交数据...
DyadSupabaseTableSchema.tsx 正在载入提交数据...
DyadThink.tsx 正在载入提交数据...
DyadTokenSavings.tsx 正在载入提交数据...
DyadWebCrawl.tsx 正在载入提交数据...
DyadWebSearch.tsx 正在载入提交数据...
DyadWebSearchResult.tsx 正在载入提交数据...
DyadWrite.tsx 正在载入提交数据...
FileAttachmentDropdown.tsx 正在载入提交数据...
FixAllErrorsButton.tsx 正在载入提交数据...
HomeChatInput.tsx 正在载入提交数据...
LexicalChatInput.tsx 正在载入提交数据...
MessagesList.tsx 正在载入提交数据...
PromoMessage.tsx 正在载入提交数据...
RenameChatDialog.tsx 正在载入提交数据...
SelectedComponentDisplay.tsx 正在载入提交数据...
SummarizeInNewChatButton.tsx 正在载入提交数据...
TodoList.tsx 正在载入提交数据...
TokenBar.tsx 正在载入提交数据...
VersionPane.tsx 正在载入提交数据...
monaco.ts 正在载入提交数据...
stateTypes.ts 正在载入提交数据...
types.d.ts 正在载入提交数据...