0.138.0
Added
- Todo list для агентов — декларативный tool
todo_write, позволяющий LLM планировать и отслеживать многошаговые задачи. Реализован по образцу opencode: LLM присылает полный список, сервер делает DELETE+INSERT в одной транзакции. Todo list привязан кagent_id, переживает рестарт и хранится в SQLite/PostgreSQL (миграция085_todo). Tool всегда включён (без permission-gate, какread_file/list_dir); LLM обучается через 167-строчное description tool + guidance-секцию в ContextBuilder (buildTodoGuidance). Подмешивание в контекст LLM — только через историю tool-вызовов (как в opencode). Структура элемента:{content, status: pending|in_progress|completed|cancelled, priority: high|medium|low, position}. Ограничения: до 50 элементов, content до 500 символов. - Backend (Go): миграции
085_todo(4 файла SQLite+PG), структураstore.Todo, методыReplaceAgentTodos/ListAgentTodosв интерфейсеStore+ реализации для SQLite/PostgreSQL/DualStore, toolinternal/agent/tools/todo_write.go, guidance-секция, HTTP handlerGET/PUT /api/v1/agents/{id}/todos, WS-broadcasttodo.updatedчерезWSHub.BroadcastTodoEvent(async, с фильтром поagent_idв hub-loop). - Frontend (Svelte 5):
interface Todoвtypes.ts, группаapi.todos, storetodos.svelte.ts, обработка WS-событияtodo.updated, компонентTodosPanel.svelte(slide-over с прогресс-баром, статус-иконками и сводкой), кнопка «Задачи» вChatHeader. - Тесты: store CRUD + изоляция агентов (6 тестов), tool execute + валидация (5 тестов), handler CRUD + MaxBytesReader + OnTodoChanged callback (10 тестов).