diff options
| author | Ben Sima <ben@bensima.com> | 2025-12-12 21:27:57 -0500 |
|---|---|---|
| committer | Ben Sima <ben@bensima.com> | 2025-12-12 21:27:57 -0500 |
| commit | 49f6fe47e19c42b87615dd2d75e53f43331e00ab (patch) | |
| tree | 2ea2b6ad281fc4f2890eb29c134da6d32d049a7f /Omni/Agent/Memory.hs | |
| parent | fd1c5c2bda7831c6cf329f4dc272064a352609e1 (diff) | |
Add todo tools with due dates
- Omni/Agent/Tools/Todos.hs: todo_add, todo_list, todo_complete, todo_delete
- Supports optional due dates in YYYY-MM-DD or YYYY-MM-DD HH:MM format
- Lists can filter by pending, all, or overdue
- Add todos table to Memory.hs schema
- Wire into Telegram bot
Diffstat (limited to 'Omni/Agent/Memory.hs')
| -rw-r--r-- | Omni/Agent/Memory.hs | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/Omni/Agent/Memory.hs b/Omni/Agent/Memory.hs index d40bb34..136ac1e 100644 --- a/Omni/Agent/Memory.hs +++ b/Omni/Agent/Memory.hs @@ -533,6 +533,22 @@ initMemoryDb conn = do SQL.execute_ conn "CREATE INDEX IF NOT EXISTS idx_notes_topic ON notes(user_id, topic)" + SQL.execute_ + conn + "CREATE TABLE IF NOT EXISTS todos (\ + \ id INTEGER PRIMARY KEY AUTOINCREMENT,\ + \ user_id TEXT NOT NULL,\ + \ title TEXT NOT NULL,\ + \ due_date TIMESTAMP,\ + \ completed INTEGER NOT NULL DEFAULT 0,\ + \ created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP\ + \)" + SQL.execute_ + conn + "CREATE INDEX IF NOT EXISTS idx_todos_user ON todos(user_id)" + SQL.execute_ + conn + "CREATE INDEX IF NOT EXISTS idx_todos_due ON todos(user_id, due_date)" -- | Migrate conversation_messages to add sender_name column. migrateConversationMessages :: SQL.Connection -> IO () |
