|
Add self-recall (scheduled callback) system
Core features: - schedule_recall tool: once/recurring/immediate callbacks - manage_recall tool: cancel/skip/list scheduled recalls - Natural-language time parser (ISO, relative, "tomorrow at 09:00") - PostgreSQL-backed RecallScheduler with lazy pool init - Background recall_scheduler_loop with asyncio.Semaphore(3) - _busy_sessions guard prevents user messages during headless runs - Agent.run() preserves thinking field for session history visibility - API endpoints: GET/DELETE/POST for session recall, admin list - Frontend: recall badge, filter, cancel/skip in sidebar and chat header - Tests: parser, scheduler CRUD, tools, API, scheduler loop (53 tests) - Manuals: schedule_recall.md and manage_recall.md Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com> |
|---|
|
|
| manuals/manage_recall.md 0 → 100644 |
|---|
| manuals/schedule_recall.md 0 → 100644 |
|---|
| navi/api/deps.py |
|---|
| navi/api/routes/admin.py |
|---|
| navi/api/routes/sessions.py |
|---|
| navi/api/websocket.py |
|---|
| navi/core/agent.py |
|---|
| navi/core/registry.py |
|---|
| navi/core/scheduler.py 0 → 100644 |
|---|
| navi/main.py |
|---|
| navi/profiles/developer/config.json |
|---|
| navi/profiles/discuss/config.json |
|---|
| navi/profiles/modeler_3d/config.json |
|---|
| navi/profiles/secretary/config.json |
|---|
| navi/profiles/server_admin/config.json |
|---|
| navi/profiles/tool_developer/config.json |
|---|
| navi/tools/__init__.py |
|---|
| navi/tools/manage_recall.py 0 → 100644 |
|---|
| navi/tools/schedule_recall.py 0 → 100644 |
|---|
| tests/conftest_factory.py |
|---|
| tests/integration/conftest.py |
|---|
| tests/integration/test_recall_api.py 0 → 100644 |
|---|
| tests/integration/test_scheduler_loop.py 0 → 100644 |
|---|
| tests/unit/core/test_scheduler.py 0 → 100644 |
|---|
| tests/unit/tools/test_recall_tools.py 0 → 100644 |
|---|
| tests/unit/tools/test_time_parser.py 0 → 100644 |
|---|
| webclient/dist/assets/index-C4fiBPi3.css 0 → 100644 |
|---|
| webclient/dist/assets/index-CM7WTk0g.js 0 → 100644 |
|---|
|
Not supported
|
| webclient/dist/index.html |
|---|
| webclient/src/api/index.js |
|---|
| webclient/src/components/chat/ChatHeader.vue |
|---|
| webclient/src/components/sidebar/SessionItem.vue |
|---|
| webclient/src/components/sidebar/SessionList.vue |
|---|
| webclient/src/stores/sessions.js |
|---|