feat(task): refactor to Claude Code style individual tools

- Split unified Task tool into individual tools (TaskCreate, TaskGet, TaskList, TaskUpdate)
- Update schema to Claude Code field names (subject, blockedBy, blocks, activeForm, owner, metadata)
- Add OpenCode Todo API sync layer (todo-sync.ts)
- Implement Todo sync on task create/update for continuation enforcement
- Add comprehensive tests for all tools (96 tests total)
- Update AGENTS.md documentation

Breaking Changes:
- Field names changed: title→subject, dependsOn→blockedBy, open→pending
- Tool names changed: task→task_create, task_get, task_list, task_update

Closes: todo-continuation-enforcer now sees Task-created items
This commit is contained in:
YeonGyu-Kim
2026-02-02 12:01:43 +09:00
parent b16f1b7488
commit 0541c58cb3
16 changed files with 2224 additions and 64 deletions
+6 -2
View File
@@ -47,6 +47,12 @@ type OpencodeClient = PluginInput["client"]
export { createCallOmoAgent } from "./call-omo-agent"
export { createLookAt } from "./look-at"
export { createDelegateTask } from "./delegate-task"
export {
createTaskCreateTool,
createTaskGetTool,
createTaskList,
createTaskUpdateTool,
} from "./task"
export function createBackgroundTools(manager: BackgroundManager, client: OpencodeClient): Record<string, ToolDefinition> {
const outputManager: BackgroundOutputManager = manager
@@ -73,5 +79,3 @@ export const builtinTools: Record<string, ToolDefinition> = {
session_search,
session_info,
}
export { createTask } from "./task"