Add todo tool for agent task planning and management

Single `todo` tool that reads (no params) or writes (provide todos array
with merge flag). In-memory TodoStore on AIAgent, no system prompt
mutation, behavioral guidance in tool description only. State re-injected
after context compression events. Gateway sessions hydrate from
conversation history. Added to all platform toolsets.

Also wired into RL agent_loop.py with per-run TodoStore and fixed
browser_snapshot user_task passthrough from first user message.
This commit is contained in:
teknium1 2026-02-17 17:02:33 -08:00
parent d0f82e6dcc
commit e184f5ab3a
7 changed files with 1334 additions and 38 deletions

View file

@ -114,6 +114,12 @@ TOOLSETS = {
"includes": []
},
"todo": {
"description": "Task planning and tracking for multi-step work",
"tools": ["todo"],
"includes": []
},
# Scenario-specific toolsets
"debugging": {
@ -156,6 +162,8 @@ TOOLSETS = {
"browser_vision",
# Text-to-speech
"text_to_speech",
# Planning & task management
"todo",
# Cronjob management (CLI-only)
"schedule_cronjob", "list_cronjobs", "remove_cronjob"
],
@ -183,6 +191,8 @@ TOOLSETS = {
"text_to_speech",
# Skills - access knowledge base
"skills_list", "skill_view",
# Planning & task management
"todo",
# Cronjob management - let users schedule tasks
"schedule_cronjob", "list_cronjobs", "remove_cronjob",
# Cross-channel messaging
@ -208,6 +218,8 @@ TOOLSETS = {
"text_to_speech",
# Skills - access knowledge base
"skills_list", "skill_view",
# Planning & task management
"todo",
# Cronjob management - let users schedule tasks
"schedule_cronjob", "list_cronjobs", "remove_cronjob",
# Cross-channel messaging
@ -233,6 +245,8 @@ TOOLSETS = {
"text_to_speech",
# Skills
"skills_list", "skill_view",
# Planning & task management
"todo",
# Cronjob management
"schedule_cronjob", "list_cronjobs", "remove_cronjob",
# Cross-channel messaging
@ -258,6 +272,8 @@ TOOLSETS = {
"text_to_speech",
# Skills - access knowledge base
"skills_list", "skill_view",
# Planning & task management
"todo",
# Cronjob management - let users schedule tasks
"schedule_cronjob", "list_cronjobs", "remove_cronjob",
# Cross-channel messaging