{
  "name": "claude-memory-layer",
  "version": "1.0.55",
  "description": "Project-scoped memory layer for Claude Code, Codex, Hermes, MCP, and dashboards",
  "main": "dist/index.js",
  "bin": {
    "claude-memory-layer": "dist/cli/index.js",
    "claude-memory-layer-mcp": "dist/mcp/index.js"
  },
  "type": "module",
  "files": [
    "dist/",
    ".claude-plugin/",
    "scripts/postinstall-embedding-backend.cjs",
    "README.md",
    ".env.example"
  ],
  "scripts": {
    "build": "tsx scripts/build.ts",
    "dev": "tsx src/apps/cli/index.ts",
    "test": "vitest",
    "test:run": "vitest run",
    "test:coverage": "vitest --coverage",
    "lint": "eslint \"src/**/*.ts\"",
    "typecheck": "tsc --noEmit",
    "verify": "npm run typecheck && npm run lint && npm run test:run",
    "prepublishOnly": "npm run typecheck && npm run lint && npm run test:run && npm run build",
    "release:npm": "bash scripts/release-npm.sh",
    "smoke:dashboard": "tsx scripts/dashboard-smoke.ts",
    "check:architecture": "node scripts/check-import-boundaries.mjs",
    "ops:sync-gap:report": "node scripts/report-sync-gap.js",
    "ops:sync-gap:fix": "node scripts/fix-sync-gap.js",
    "ops:sync-gap:heal": "bash scripts/sync-gap-auto-heal.sh",
    "ops:review:resolve": "node scripts/review-queue-auto-resolve.js",
    "ops:heartbeat": "bash scripts/heartbeat-memory-orchestrator.sh",
    "ops:health": "npm run ops:sync-gap:report && npm run ops:sync-gap:heal && npm run ops:review:resolve",
    "ops:projects:clean-unknown": "node scripts/delete-unknown-projects.js",
    "benchmark:replay": "tsx scripts/replay-retrieval-benchmark.ts --min-query-yield 1 --min-no-match-accuracy 1 --max-forbidden-hits 0 --max-failed-queries 0",
    "eval:retrieval-replay": "tsx scripts/replay-retrieval-benchmark.ts --fixture benchmarks/replay/golden-memory-usefulness-v1.json --format markdown --no-per-query --min-query-yield 1 --min-no-match-accuracy 1 --max-forbidden-hits 0 --max-failed-queries 0",
    "eval:retrieval-replay:report": "tsx scripts/replay-retrieval-benchmark.ts --fixture benchmarks/replay/golden-memory-usefulness-v1.json --format markdown --no-per-query",
    "eval:longmemeval:retrieval-smoke": "tsx scripts/longmemeval-retrieval-smoke.ts --input benchmarks/longmemeval/fixtures/retrieval-smoke-mini.json --no-per-query",
    "check:public-output-privacy": "tsx scripts/scan-public-output-privacy.ts",
    "eval:longmemeval:codex-batch": "tsx scripts/longmemeval-codex-batch.ts",
    "eval:longmemeval:codex-judge": "tsx scripts/longmemeval-codex-judge.ts",
    "benchmark:replay:promote-review": "tsx scripts/promote-retrieval-review-queue.ts",
    "benchmark:replay:validate-promotion": "tsx scripts/validate-replay-promotion-candidates.ts",
    "benchmark:qrels": "tsx scripts/generate-session-qrels.ts",
    "postinstall": "node scripts/postinstall-embedding-backend.cjs"
  },
  "keywords": [
    "claude-code",
    "plugin",
    "memory",
    "learning",
    "personalization",
    "context",
    "mcp",
    "codex",
    "hermes",
    "dashboard",
    "sqlite",
    "lancedb",
    "vector-search",
    "agent-memory",
    "perspective-memory"
  ],
  "author": "Buzzni",
  "license": "MIT",
  "engines": {
    "node": ">=18.0.0"
  },
  "devEngines": {
    "runtime": {
      "name": "node",
      "version": ">=20.19.0",
      "onFail": "error"
    },
    "packageManager": {
      "name": "npm",
      "version": ">=10.9.0",
      "onFail": "warn"
    }
  },
  "dependencies": {
    "@hono/node-server": "^1.19.14",
    "@lancedb/lancedb": "^0.5.0",
    "@modelcontextprotocol/sdk": "^1.29.0",
    "better-sqlite3": "^12.6.2",
    "commander": "^12.0.0",
    "hono": "^4.12.25",
    "mongodb": "^6.14.0",
    "zod": "^3.22.0"
  },
  "optionalDependencies": {
    "@huggingface/transformers": "^3.8.1"
  },
  "devDependencies": {
    "@types/better-sqlite3": "^7.6.13",
    "@types/node": "^20.11.0",
    "esbuild": "^0.28.0",
    "eslint": "^9.39.4",
    "tsx": "^4.7.0",
    "typescript": "^5.4.0",
    "typescript-eslint": "^8.62.0",
    "vitest": "^4.1.8"
  }
}
