Files
deepseek-harness/packages/todo
imccyu a91f908e11 refactor(gui): projection keys import the domain packages' client outlets (single source)
The consumer-side restated declare-merges retire (user ruling: one home per
projection key): TodoPanel imports the todos merge and TodoItem through
@deepseek-ai/dsh-tool-todo/client, and the manager takes the title merge
through @deepseek-ai/dsh-session-title/client — both pure-type outlets
re-exporting the domain's single-source types.ts, so no host value import or
Context merge enters the client program (type-only edges, exempt from the
plugin value-import ban). Workspace deps and tsconfig references added.
Also aligns the fixture's empty-log tail block with the host convention
(asOfSeq -1 with empty values, block always present on tail requests).
2026-07-27 23:07:45 +08:00
..
2026-07-26 05:06:39 +08:00
2026-07-26 05:06:39 +08:00

todo/ — todo / planning capability family

English | 中文

The model-facing todo tool. A single product package — there is no interface/implementation seam here, because the list is single-owner session state (one agent session owns its own list), not a swappable capability.

Package Role ctx key
tool-todo/ Model-facing todo_write tool; writes the whole list to the session log (todo/write) (registers on ctx.tools)

The list lives on the event-sourced session log (SessionEventMap['todo/write'], owned by dsh-session); this package is the thin consumer that appends the snapshot. UIs such as the TUI app and the host/client runtime render the durable list from session events.