### Completed (21/21) All user stories completed! ## Summary Tool 返回值结构化重构项目(tool-result-refactor)已全部完成: - 21 个用户故事全部实现 - 从 US-001 (ToolResult struct) 到 US-021 (Heartbeat ExecuteHeartbeatWithTools) - 所有验收标准均已满足 - 代码通过 typecheck 和测试验证 ### User Stories Completed - US-001: Add ToolResult struct and helper functions - US-002: Modify Tool interface to return *ToolResult - US-003: Modify ToolRegistry to process ToolResult - US-004: Delete isToolConfirmationMessage function - US-005: Update AgentLoop tool result processing logic - US-006: Add AsyncCallback type and AsyncTool interface - US-007: Heartbeat async task execution support - US-008: Inject callback into async tools in AgentLoop - US-009: State save atomicity - SetLastChannel - US-010: Update RecordLastChannel to use atomic save - US-011: Refactor MessageTool to use ToolResult - US-012: Refactor ShellTool to use ToolResult - US-013: Refactor FilesystemTool to use ToolResult - US-014: Refactor WebTool to use ToolResult - US-015: Refactor EditTool to use ToolResult - US-016: Refactor CronTool to use ToolResult - US-017: Refactor SpawnTool to use AsyncTool and callbacks - US-018: Refactor SubagentTool to use ToolResult - US-019: Enable heartbeat by default in config - US-020: Move heartbeat log to memory directory - US-021: Heartbeat calls ExecuteHeartbeatWithTools ### In Progress None ### Blocked None ### Pending None