v0.4.2 — Missing Toolkit APIs
What's New
Fills in missing CRUD operations that downstream consumers (Nudge) were forced to hack around using private attributes and raw SQL.
TaskToolkit
uncomplete_task-- reopen a completed task, setting it back to pendingupdate_task-- modify description, priority, or due date on an existing task- Priority filtering --
list_tasks(priority="high")filters by priority level
KnowledgeToolkit
delete_note-- delete a note by ID (replaces._memory.forget()hack)update_note-- edit content or tags in-place, preserving ID and creation timestamp
AlarmToolkit
set_alarm_at-- set alarms for absolute times like "3pm", "15:00", "tomorrow 9am"- Uses
python-dateutilfor parsing, interprets naive times as local timezone - Time-only inputs auto-roll to tomorrow if already past; explicit past dates are rejected
Memory Layer
TFIDFBackend.update()-- modify notes in-place without losing ID or timestampSemanticMemory.update()-- facade withhasattrguard for backend compatibility
Other
- Groq test fix --
test_groq_unavailable_without_keyno longer leaksOPENAI_API_KEYfrom.env - Docs -- TaskToolkit, KnowledgeToolkit, and AlarmToolkit added to toolkit guide
- Changelog -- v0.4.0, v0.4.1, v0.4.2 entries added
New Dependency
python-dateutil>=2.8(main),types-python-dateutil>=2.8(dev)
Stats
- 828 tests passing (32 new)
- 14 files changed, ~500 lines added
- No database schema changes -- all new methods use existing columns
Full Changelog: v0.4.1...v0.4.2