feat: Implement Worker Service for long-running HTTP service with PM2 management

- Introduced WorkerService class to handle HTTP requests and manage sessions.
- Added endpoints for health check, session management, and data retrieval.
- Integrated ChromaSync for background data synchronization.
- Implemented SSE for real-time updates to connected clients.
- Added error handling and logging throughout the service.
- Cached Claude executable path for improved performance.
- Included settings management for user configuration.
- Established database interactions for session and observation management.
This commit is contained in:
Alex Newman
2025-11-07 13:26:13 -05:00
parent 13643a5b18
commit 4bc467f7ed
28 changed files with 3033 additions and 1750 deletions
+11 -2
View File
@@ -37,9 +37,18 @@
"test:context:verbose": "echo '{\"session_id\":\"test-'$(date +%s)'\",\"cwd\":\"'$(pwd)'\",\"source\":\"startup\"}' | node plugin/scripts/context-hook.js",
"sync-marketplace": "rsync -av --delete --exclude=.git ./ ~/.claude/plugins/marketplaces/thedotmack/ && cd ~/.claude/plugins/marketplaces/thedotmack/ && npm install",
"worker:start": "pm2 start ecosystem.config.cjs",
"worker:stop": "pm2 stop claude-mem-worker",
"worker:restart": "pm2 restart claude-mem-worker",
"worker:stop": "pm2 stop claude-mem-worker 2>/dev/null || true",
"worker:restart": "pm2 restart claude-mem-worker 2>/dev/null || pm2 start ecosystem.config.cjs --only claude-mem-worker",
"worker:logs": "pm2 logs claude-mem-worker",
"worker:v1": "pm2 stop claude-mem-worker-v2 2>/dev/null || true && pm2 start ecosystem.config.cjs --only claude-mem-worker",
"worker:v2": "pm2 stop claude-mem-worker 2>/dev/null || true && pm2 start ecosystem.config.cjs --only claude-mem-worker-v2",
"worker:start:v1": "pm2 start ecosystem.config.cjs --only claude-mem-worker",
"worker:start:v2": "pm2 start ecosystem.config.cjs --only claude-mem-worker-v2",
"worker:stop:v1": "pm2 stop claude-mem-worker",
"worker:stop:v2": "pm2 stop claude-mem-worker-v2",
"worker:restart:v1": "pm2 restart claude-mem-worker",
"worker:restart:v2": "pm2 restart claude-mem-worker-v2",
"worker:logs:v2": "pm2 logs claude-mem-worker-v2",
"usage:analyze": "node scripts/analyze-usage.js",
"usage:today": "node scripts/analyze-usage.js $(date +%Y-%m-%d)"
},