a3b161f8c8
Minor release: 17 issues fixed and 4 foundations introduced via PR #2282. Foundations (new public modules): - F1 spawnHidden wrapper (src/shared/spawn.ts) — windowsHide default - F2 paths namespace (src/shared/paths.ts) — 24 hardcoded sites collapsed, CLAUDE_MEM_DATA_DIR flows 100% of runtime - F3 getUptimeSeconds (src/shared/uptime.ts) — fixes ms-bug at Server.ts:165 - F4 ClassifiedProviderError (src/services/worker/provider-errors.ts) — kind union (transient/unrecoverable/rate_limit/quota_exhausted/auth_invalid), per-provider classifiers, unrecoverablePatterns allowlist deleted User-facing capabilities: - OAuth keychain reader (#2215): readClaudeOAuthToken() reads from macOS keychain, Windows DPAPI, Linux libsecret at worker spawn-time - Quota-aware wall-clock guard (#2234): RateLimitStore with auth-type gate (api_key never aborts; cli/oauth aborts at per-window thresholds); rateLimits surfaced on /api/health - withRetry helper (#2254): honors ClassifiedProviderError.kind, exponential backoff with jitter, request-id capture for dedup logging Bug fixes also landing in 12.6.0: #2188 stdin fallback, #2196 ANTHROPIC_BASE_URL docs, #2220 chroma CPU storm, #2225 opencode _zod.def crash, #2231 SECURITY.md, #2233 parser fence (Part A), #2236 observer visible windows, #2237/#2238 hardcoded paths, #2240 Chroma dedupe, #2242 check-pending-queue endpoints, #2243 scripts/package.json, #2244 summaryStored=null, #2247 Codex task_complete, #2248 Cursor sessions, #2250 health uptime ms, #2253 chroma macOS CPU. Tests: 1454 pass / 77 fail (matches main baseline, zero net regressions). All CI green: build, CodeRabbit (17 rounds resolved), Greptile (clean). 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
197 lines
7.0 KiB
JSON
197 lines
7.0 KiB
JSON
{
|
|
"name": "claude-mem",
|
|
"version": "12.6.0",
|
|
"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",
|
|
"bin": {
|
|
"claude-mem": "./dist/npx-cli/index.js"
|
|
},
|
|
"exports": {
|
|
".": {
|
|
"types": "./dist/index.d.ts",
|
|
"import": "./dist/index.js"
|
|
},
|
|
"./sdk": {
|
|
"types": "./dist/sdk/index.d.ts",
|
|
"import": "./dist/sdk/index.js"
|
|
},
|
|
"./modes/*": "./plugin/modes/*"
|
|
},
|
|
"files": [
|
|
"dist",
|
|
"plugin/.claude-plugin",
|
|
"plugin/CLAUDE.md",
|
|
"plugin/package.json",
|
|
"plugin/hooks",
|
|
"plugin/modes",
|
|
"plugin/scripts/*.js",
|
|
"plugin/scripts/*.cjs",
|
|
"plugin/scripts/CLAUDE.md",
|
|
"plugin/skills",
|
|
"plugin/ui",
|
|
"openclaw"
|
|
],
|
|
"engines": {
|
|
"node": ">=20.0.0",
|
|
"bun": ">=1.0.0"
|
|
},
|
|
"scripts": {
|
|
"dev": "npm run build-and-sync",
|
|
"build": "node scripts/sync-plugin-manifests.js && 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) && npm run queue:clear",
|
|
"sync-marketplace": "node scripts/sync-marketplace.cjs",
|
|
"sync-marketplace:force": "node scripts/sync-marketplace.cjs --force",
|
|
"build:binaries": "node scripts/build-worker-binary.js",
|
|
"build:cli-binary": "bun build --compile --minify ./src/services/worker-service.ts --outfile plugin/scripts/claude-mem",
|
|
"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-service.cjs start",
|
|
"worker:stop": "bun plugin/scripts/worker-service.cjs stop",
|
|
"worker:restart": "bun plugin/scripts/worker-service.cjs restart",
|
|
"worker:status": "bun plugin/scripts/worker-service.cjs status",
|
|
"queue": "bun scripts/check-pending-queue.ts",
|
|
"queue:process": "bun scripts/check-pending-queue.ts --process",
|
|
"queue:clear": "bun scripts/clear-failed-queue.ts --all --force",
|
|
"claude-md:regenerate": "bun scripts/regenerate-claude-md.ts",
|
|
"claude-md:dry-run": "bun scripts/regenerate-claude-md.ts --dry-run",
|
|
"strip-comments": "bun scripts/strip-comments.ts",
|
|
"strip-comments:check": "bun scripts/strip-comments.ts --check",
|
|
"strip-comments:dry-run": "bun scripts/strip-comments.ts --dry-run",
|
|
"translate-readme": "bun scripts/translate-readme/cli.ts -v -o docs/i18n README.md",
|
|
"translate:tier1": "npm run translate-readme -- zh zh-tw 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",
|
|
"cursor:install": "bun plugin/scripts/worker-service.cjs cursor install",
|
|
"cursor:uninstall": "bun plugin/scripts/worker-service.cjs cursor uninstall",
|
|
"cursor:status": "bun plugin/scripts/worker-service.cjs cursor status",
|
|
"cursor:setup": "bun plugin/scripts/worker-service.cjs cursor setup",
|
|
"typecheck": "tsc --noEmit && tsc --noEmit -p src/ui/viewer/tsconfig.json",
|
|
"typecheck:root": "tsc --noEmit",
|
|
"typecheck:viewer": "tsc --noEmit -p src/ui/viewer/tsconfig.json",
|
|
"test": "bun test",
|
|
"test:sqlite": "bun test tests/sqlite/",
|
|
"test:agents": "bun test tests/worker/agents/",
|
|
"test:search": "bun test tests/worker/search/",
|
|
"test:context": "bun test tests/context/",
|
|
"test:infra": "bun test tests/infrastructure/",
|
|
"test:server": "bun test tests/server/",
|
|
"prepublishOnly": "npm run build",
|
|
"release": "np",
|
|
"release:patch": "np patch --no-cleanup",
|
|
"release:minor": "np minor --no-cleanup",
|
|
"release:major": "np major --no-cleanup"
|
|
},
|
|
"np": {
|
|
"yarn": false,
|
|
"contents": ".",
|
|
"testScript": "test",
|
|
"2fa": false
|
|
},
|
|
"dependencies": {
|
|
"@anthropic-ai/claude-agent-sdk": "^0.2.119",
|
|
"@clack/prompts": "^1.2.0",
|
|
"@modelcontextprotocol/sdk": "^1.29.0",
|
|
"ansi-to-html": "^0.7.2",
|
|
"dompurify": "^3.4.1",
|
|
"express": "^5.2.1",
|
|
"glob": "^13.0.6",
|
|
"handlebars": "^4.7.9",
|
|
"picocolors": "^1.1.1",
|
|
"react": "^19.2.5",
|
|
"react-dom": "^19.2.5",
|
|
"yaml": "^2.8.3",
|
|
"zod": "^4.3.6",
|
|
"zod-to-json-schema": "^3.25.2"
|
|
},
|
|
"devDependencies": {
|
|
"@derekstride/tree-sitter-sql": "^0.3.11",
|
|
"@tree-sitter-grammars/tree-sitter-lua": "^0.4.1",
|
|
"@tree-sitter-grammars/tree-sitter-markdown": "^0.3.2",
|
|
"@tree-sitter-grammars/tree-sitter-toml": "^0.7.0",
|
|
"@tree-sitter-grammars/tree-sitter-yaml": "^0.7.1",
|
|
"@tree-sitter-grammars/tree-sitter-zig": "^1.1.2",
|
|
"@types/bun": "^1.3.13",
|
|
"@types/cors": "^2.8.19",
|
|
"@types/dompurify": "^3.2.0",
|
|
"@types/express": "^5.0.6",
|
|
"@types/node": "^25.6.0",
|
|
"@types/react": "^19.2.14",
|
|
"@types/react-dom": "^19.2.3",
|
|
"esbuild": "^0.28.0",
|
|
"jimp": "^1.6.1",
|
|
"np": "^11.2.0",
|
|
"parse5": "^8.0.1",
|
|
"postcss": "^8.5.13",
|
|
"remark-mdx": "^3.1.1",
|
|
"remark-parse": "^11.0.0",
|
|
"tree-sitter-bash": "^0.25.1",
|
|
"tree-sitter-c": "^0.24.1",
|
|
"tree-sitter-cli": "^0.26.8",
|
|
"tree-sitter-cpp": "^0.23.4",
|
|
"tree-sitter-css": "^0.25.0",
|
|
"tree-sitter-elixir": "^0.3.5",
|
|
"tree-sitter-go": "^0.25.0",
|
|
"tree-sitter-haskell": "^0.23.1",
|
|
"tree-sitter-java": "^0.23.5",
|
|
"tree-sitter-javascript": "^0.25.0",
|
|
"tree-sitter-kotlin": "^0.3.8",
|
|
"tree-sitter-php": "^0.24.2",
|
|
"tree-sitter-python": "^0.25.0",
|
|
"tree-sitter-ruby": "^0.23.1",
|
|
"tree-sitter-rust": "^0.24.0",
|
|
"tree-sitter-scala": "^0.24.0",
|
|
"tree-sitter-scss": "^1.0.0",
|
|
"tree-sitter-swift": "^0.7.1",
|
|
"tree-sitter-typescript": "^0.23.2",
|
|
"ts-prune": "^0.10.3",
|
|
"tsx": "^4.21.0",
|
|
"typescript": "^6.0.3",
|
|
"unified": "^11.0.5",
|
|
"unist-util-visit": "^5.1.0"
|
|
},
|
|
"optionalDependencies": {
|
|
"tree-kill": "^1.2.2"
|
|
},
|
|
"trustedDependencies": [
|
|
"esbuild",
|
|
"tree-sitter-c",
|
|
"tree-sitter-cli",
|
|
"tree-sitter-cpp",
|
|
"tree-sitter-go",
|
|
"tree-sitter-java",
|
|
"tree-sitter-javascript",
|
|
"tree-sitter-python",
|
|
"tree-sitter-ruby",
|
|
"tree-sitter-rust",
|
|
"tree-sitter-typescript"
|
|
]
|
|
}
|