266c746d50
* Refactor worker version checks and increase timeout settings - Updated the default hook timeout from 5000ms to 120000ms for improved stability. - Modified the worker version check to log a warning instead of restarting the worker on version mismatch. - Removed legacy PM2 cleanup and worker start logic, simplifying the ensureWorkerRunning function. - Enhanced polling mechanism for worker readiness with increased retries and reduced interval. * feat: implement worker queue polling to ensure processing completion before proceeding * refactor: change worker command from start to restart in hooks configuration * refactor: remove session management complexity - Simplify createSDKSession to pure INSERT OR IGNORE - Remove auto-create logic from storeObservation/storeSummary - Delete 11 unused session management methods - Derive prompt_number from user_prompts count - Keep sdk_sessions table schema unchanged for compatibility * refactor: simplify session management by removing unused methods and auto-creation logic * Refactor session prompt number retrieval in SessionRoutes - Updated the method of obtaining the prompt number from the session. - Replaced `store.getPromptCounter(sessionDbId)` with `store.getPromptNumberFromUserPrompts(claudeSessionId)` for better clarity and accuracy. - Adjusted the logic for incrementing the prompt number to derive it from the user prompts count instead of directly incrementing a counter. * refactor: replace getPromptCounter with getPromptNumberFromUserPrompts in SessionManager Phase 7 of session management simplification. Updates SessionManager to derive prompt numbers from user_prompts table count instead of using the deprecated prompt_counter column. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com> * refactor: simplify SessionCompletionHandler to use direct SQL query Phase 8: Remove call to findActiveSDKSession() and replace with direct database query in SessionCompletionHandler.completeByClaudeId(). This removes dependency on the deleted findActiveSDKSession() method and simplifies the code by using a straightforward SELECT query. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com> * refactor: remove markSessionCompleted call from SDKAgent - Delete call to markSessionCompleted() in SDKAgent.ts - Session status is no longer tracked or updated - Part of phase 9: simplifying session management 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com> * refactor: remove markSessionComplete method (Phase 10) - Deleted markSessionComplete() method from DatabaseManager - Removed markSessionComplete call from SessionCompletionHandler - Session completion status no longer tracked in database - Part of session management simplification effort 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com> * refactor: replace deleted updateSDKSessionId calls in import script (Phase 11) - Replace updateSDKSessionId() calls with direct SQL UPDATE statements - Method was deleted in Phase 3 as part of session management simplification - Import script now uses direct database access consistently 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com> * test: add validation for SQL updates in sdk_sessions table * refactor: enhance worker-cli to support manual and automated runs * Remove cleanup hook and associated session completion logic - Deleted the cleanup-hook implementation from the hooks directory. - Removed the session completion endpoint that was used by the cleanup hook. - Updated the SessionCompletionHandler to eliminate the completeByClaudeId method and its dependencies. - Adjusted the SessionRoutes to reflect the removal of the session completion route. * fix: update worker-cli command to use bun for consistency * feat: Implement timestamp fix for observations and enhance processing logic - Added `earliestPendingTimestamp` to `ActiveSession` to track the original timestamp of the earliest pending message. - Updated `SDKAgent` to capture and utilize the earliest pending timestamp during response processing. - Modified `SessionManager` to track the earliest timestamp when yielding messages. - Created scripts for fixing corrupted timestamps, validating fixes, and investigating timestamp issues. - Verified that all corrupted observations have been repaired and logic for future processing is sound. - Ensured orphan processing can be safely re-enabled after validation. * feat: Enhance SessionStore to support custom database paths and add timestamp fields for observations and summaries * Refactor pending queue processing and add management endpoints - Disabled automatic recovery of orphaned queues on startup; users must now use the new /api/pending-queue/process endpoint. - Updated processOrphanedQueues method to processPendingQueues with improved session handling and return detailed results. - Added new API endpoints for managing pending queues: GET /api/pending-queue and POST /api/pending-queue/process. - Introduced a new script (check-pending-queue.ts) for checking and processing pending observation queues interactively or automatically. - Enhanced logging and error handling for better monitoring of session processing. * updated agent sdk * feat: Add manual recovery guide and queue management endpoints to documentation --------- Co-authored-by: Claude Sonnet 4.5 <noreply@anthropic.com>
80 lines
2.9 KiB
JSON
80 lines
2.9 KiB
JSON
{
|
|
"name": "claude-mem",
|
|
"version": "8.0.6",
|
|
"description": "Memory compression system for Claude Code - persist context across sessions",
|
|
"keywords": [
|
|
"claude",
|
|
"claude-code",
|
|
"claude-agent-sdk",
|
|
"mcp",
|
|
"plugin",
|
|
"memory",
|
|
"compression",
|
|
"knowledge-graph",
|
|
"transcript",
|
|
"typescript",
|
|
"nodejs"
|
|
],
|
|
"author": "Alex Newman",
|
|
"license": "AGPL-3.0",
|
|
"repository": {
|
|
"type": "git",
|
|
"url": "https://github.com/thedotmack/claude-mem.git"
|
|
},
|
|
"homepage": "https://github.com/thedotmack/claude-mem#readme",
|
|
"bugs": {
|
|
"url": "https://github.com/thedotmack/claude-mem/issues"
|
|
},
|
|
"type": "module",
|
|
"engines": {
|
|
"node": ">=18.0.0",
|
|
"bun": ">=1.0.0"
|
|
},
|
|
"scripts": {
|
|
"build": "node scripts/build-hooks.js",
|
|
"build-and-sync": "npm run build && npm run sync-marketplace && sleep 1 && cd ~/.claude/plugins/marketplaces/thedotmack && npm run worker:restart",
|
|
"sync-marketplace": "node scripts/sync-marketplace.cjs",
|
|
"sync-marketplace:force": "node scripts/sync-marketplace.cjs --force",
|
|
"build:binaries": "node scripts/build-worker-binary.js",
|
|
"worker:logs": "tail -n 50 ~/.claude-mem/logs/worker-$(date +%Y-%m-%d).log",
|
|
"worker:tail": "tail -f 50 ~/.claude-mem/logs/worker-$(date +%Y-%m-%d).log",
|
|
"changelog:generate": "node scripts/generate-changelog.js",
|
|
"discord:notify": "node scripts/discord-release-notify.js",
|
|
"worker:start": "bun plugin/scripts/worker-cli.js start",
|
|
"worker:stop": "bun plugin/scripts/worker-cli.js stop",
|
|
"worker:restart": "bun plugin/scripts/worker-cli.js restart",
|
|
"worker:status": "bun plugin/scripts/worker-cli.js status",
|
|
"queue:check": "bun scripts/check-pending-queue.ts",
|
|
"queue:process": "bun scripts/check-pending-queue.ts --process",
|
|
"translate-readme": "bun scripts/translate-readme/cli.ts -v -o docs/i18n README.md",
|
|
"translate:tier1": "npm run translate-readme -- zh ja pt-br ko es de fr",
|
|
"translate:tier2": "npm run translate-readme -- he ar ru pl cs nl tr uk",
|
|
"translate:tier3": "npm run translate-readme -- vi id th hi bn ro sv",
|
|
"translate:tier4": "npm run translate-readme -- it el hu fi da no",
|
|
"translate:all": "npm run translate:tier1 & npm run translate:tier2 & npm run translate:tier3 & npm run translate:tier4 & wait",
|
|
"bug-report": "npx tsx scripts/bug-report/cli.ts"
|
|
},
|
|
"dependencies": {
|
|
"@anthropic-ai/claude-agent-sdk": "^0.1.76",
|
|
"@modelcontextprotocol/sdk": "^1.20.1",
|
|
"ansi-to-html": "^0.7.2",
|
|
"express": "^4.18.2",
|
|
"glob": "^11.0.3",
|
|
"handlebars": "^4.7.8",
|
|
"react": "^18.3.1",
|
|
"react-dom": "^18.3.1",
|
|
"yaml": "^2.8.2",
|
|
"zod-to-json-schema": "^3.24.6"
|
|
},
|
|
"devDependencies": {
|
|
"@types/cors": "^2.8.19",
|
|
"@types/express": "^4.17.21",
|
|
"@types/node": "^20.0.0",
|
|
"@types/react": "^18.3.5",
|
|
"@types/react-dom": "^18.3.0",
|
|
"esbuild": "^0.25.12",
|
|
"tsx": "^4.20.6",
|
|
"typescript": "^5.3.0"
|
|
}
|
|
}
|