Spaces:
Configuration error
Configuration error
Commit History
-
refactor: consolidate route auth + service accessors (closes #34)
Delete the per-route _check_auth / _get_kv / _get_search_service / _get_observation_store copies from observations, mcp, search, migration, memories, graph, and health. Every protected handler now uses the existing routes/auth.py:require_auth decorator; service accessors move to a single routes/_deps.py that reads from Flask extensions with an app-module-globals fallback for test resets. Also registers kv on flask_app.extensions for symmetry with observation_store and search_service. New test tests/test_routes_auth_matrix.py walks every registered HTTP rule and asserts the auth semantics (401 without token, 2xx with token, 2xx in no-secret mode, 401 on invalid token). Skips WebSocket routes per the ticket. Prep for #35 (legacy.py file-split) — removes the auth-plumbing churn that would otherwise conflict across every route file.fce12d3
-
Raplh 2 in process
ac98b25 -
test: hardening test suite, adding auth tests, and shared conftest fixtures
a6e11a5
-
test: add SQL injection and path traversal unit tests, and integrate Bandit CI security scanning
98c3939 -
feat(cli): implement agentcache context bootstrapper command
4a14717
-
feat(memory): implement folder-based observation auto-forgetting and TTL
95568d8 -
fix: Added prod level migrations
ba35a6d
-
Initial Git Push
CI CD Tests Included67c1aa5
-
feat: implement /auth.md agent onboarding route and add ws broadcast improvements
c704030 -
feat: migrate agentmemory to agentcache namespace, endpoints, and tools
12a6c9a
-
feat: obs lookup index, startup backfill, CORS wildcards, sync state in SQLite
- Add global obs_id->folderPath/agentId coordinate lookup index (KV.obs_lookup) so folder_search hydrates candidates via O(1) point lookups instead of O(N) scans - Add backfill_obs_lookup_if_needed() on startup to populate missing lookup entries - Add verify_index_sync_on_boot() in workers.py to detect and fix stale search index after crash/abrupt shutdown - triggers background rebuild if counts diverge - Print security warning on boot when AGENTMEMORY_SECRET is unset - Update CORS default origins to allow vscode-webview://* and chrome-extension://* prefix matching so IDE extensions connect without CORS errors - Persist sync_state in SQLite sync_state_metadata table instead of local .sync_state JSON file, ensuring sync state survives Space restarts - Add tests/test_obs_lookup.py covering lookup write, delete propagation, backfill, and desync detection (all 231 tests pass)bbea853 -
fix: Hugging Face sync, routing, dashboard, and agent isolation bugs
12b5d50
-
feat: upscale & UX overhaul — blueprint split, debounce, tests, viewer enhancements, DX improvements
Track A — Backend Structure: - Split app.py into 7 Flask blueprints (src/routes/) - Create src/memory/ package and src/storage/ package - Per-thread SQLite connections, WAL checkpoint, db.stats() - IndexPersistence debounce queue with threading.Timer + dirty flags - Workers: SIGTERM/SIGINT graceful shutdown Track B — Viewer UX: - Command palette (Ctrl+K/Cmd+K) with fuzzy search - D3 v7 force-directed graph replacing canvas - VirtualList for Timeline/Folders - Onboarding card for empty state - MCP Tool Tester tab - Tab keyboard navigation (ARIA roles, arrow keys) - Skeleton loading states (@keyframes shimmer) Track C — Reliability & Testing: - test_search.py, test_remember.py, test_context.py, test_debounce.py - test_properties.py (8 Hypothesis property tests) - test_api.py (Flask test client integration tests) - test_route_regressions.py (blueprint regression suite) - sync.py: audit log HWM replaces mtime change detection - /health: syncStatus, lastSyncAt, dbSizeBytes fields Track D…4d5727a
-
refactor: folder-based memory model replacing session-based storage
- Replace session-based KV scopes with (folder_path, agent_id) pairs - Add normalize_folder_path, folder_observe, folder_search, folder_timeline, folder_graph_build - Update forget/health_check/export_data/rebuild_index for folder model - Add migrate_sessions_to_folders (non-destructive migration) - Rewrite REST layer: /folders, /folder/observations, /timeline, /graph, /migrate - Trim MCP tools from 31 to 11; add memory_folders, memory_folder_observations, memory_timeline - Rebuild viewer to 4 tabs: Folders, Memories, Graph, Timeline - Add pytest test suite: test_normalize, test_folder_observe, test_forget, test_timeline, test_graph, test_migration - Add pytest==8.3.5 and hypothesis==6.131.15 to requirements.txtfbcb300