hippo-memory 1.44.0 → 1.45.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +12 -10
- package/bin/hippo.js +3 -1
- package/dist/api.d.ts +21 -21
- package/dist/api.js +69 -42
- package/dist/audit.d.ts +1 -1
- package/dist/audit.js +9 -0
- package/dist/autolearn.d.ts +1 -1
- package/dist/autolearn.js +2 -1
- package/dist/cli.d.ts +3 -0
- package/dist/cli.js +151 -72
- package/dist/client.d.ts +4 -21
- package/dist/client.js +3 -112
- package/dist/config.js +2 -1
- package/dist/consolidate.d.ts +3 -0
- package/dist/consolidate.js +44 -42
- package/dist/dag.d.ts +1 -0
- package/dist/dag.js +10 -5
- package/dist/dashboard.js +7 -3
- package/dist/db.js +12 -23
- package/dist/dedupe.d.ts +1 -0
- package/dist/dedupe.js +4 -7
- package/dist/embedding-provider.js +2 -1
- package/dist/embeddings.js +81 -8
- package/dist/extract.d.ts +2 -0
- package/dist/extract.js +9 -4
- package/dist/mcp/server.js +21 -36
- package/dist/memory.d.ts +3 -0
- package/dist/memory.js +7 -1
- package/dist/refine-llm.js +3 -2
- package/dist/rerankers/jev.js +3 -2
- package/dist/rerankers/llm.js +3 -2
- package/dist/search.js +3 -3
- package/dist/server.d.ts +5 -0
- package/dist/server.js +39 -29
- package/dist/shared.js +1 -1
- package/dist/store.d.ts +18 -11
- package/dist/store.js +144 -63
- package/dist/version.d.ts +4 -6
- package/dist/version.js +4 -7
- package/extensions/openclaw-plugin/openclaw.plugin.json +1 -1
- package/extensions/openclaw-plugin/package.json +1 -1
- package/openclaw.plugin.json +1 -1
- package/package.json +6 -3
- package/dist/ablation.d.ts.map +0 -1
- package/dist/ablation.js.map +0 -1
- package/dist/ambient.d.ts.map +0 -1
- package/dist/ambient.js.map +0 -1
- package/dist/api.d.ts.map +0 -1
- package/dist/api.js.map +0 -1
- package/dist/audit-prune.d.ts.map +0 -1
- package/dist/audit-prune.js.map +0 -1
- package/dist/audit.d.ts.map +0 -1
- package/dist/audit.js.map +0 -1
- package/dist/auth.d.ts.map +0 -1
- package/dist/auth.js.map +0 -1
- package/dist/autolearn.d.ts.map +0 -1
- package/dist/autolearn.js.map +0 -1
- package/dist/availability.d.ts.map +0 -1
- package/dist/availability.js.map +0 -1
- package/dist/benchmarks/e1.3/incident-recall-eval.js +0 -78
- package/dist/benchmarks/e1.3/incident-recall-eval.js.map +0 -1
- package/dist/benchmarks/e1.3/slack-1000-event-smoke.js +0 -103
- package/dist/benchmarks/e1.3/slack-1000-event-smoke.js.map +0 -1
- package/dist/capture.d.ts.map +0 -1
- package/dist/capture.js.map +0 -1
- package/dist/card-detail.d.ts.map +0 -1
- package/dist/card-detail.js.map +0 -1
- package/dist/card.d.ts.map +0 -1
- package/dist/card.js.map +0 -1
- package/dist/cli.d.ts.map +0 -1
- package/dist/cli.js.map +0 -1
- package/dist/client.d.ts.map +0 -1
- package/dist/client.js.map +0 -1
- package/dist/compare.d.ts.map +0 -1
- package/dist/compare.js.map +0 -1
- package/dist/config.d.ts.map +0 -1
- package/dist/config.js.map +0 -1
- package/dist/connectors/github/backfill.d.ts.map +0 -1
- package/dist/connectors/github/backfill.js.map +0 -1
- package/dist/connectors/github/cli-impl.d.ts.map +0 -1
- package/dist/connectors/github/cli-impl.js.map +0 -1
- package/dist/connectors/github/deletion.d.ts.map +0 -1
- package/dist/connectors/github/deletion.js.map +0 -1
- package/dist/connectors/github/dlq.d.ts.map +0 -1
- package/dist/connectors/github/dlq.js.map +0 -1
- package/dist/connectors/github/idempotency.d.ts.map +0 -1
- package/dist/connectors/github/idempotency.js.map +0 -1
- package/dist/connectors/github/ingest.d.ts.map +0 -1
- package/dist/connectors/github/ingest.js.map +0 -1
- package/dist/connectors/github/octokit-client.d.ts.map +0 -1
- package/dist/connectors/github/octokit-client.js.map +0 -1
- package/dist/connectors/github/ratelimit.d.ts.map +0 -1
- package/dist/connectors/github/ratelimit.js.map +0 -1
- package/dist/connectors/github/scope.d.ts.map +0 -1
- package/dist/connectors/github/scope.js.map +0 -1
- package/dist/connectors/github/signature.d.ts.map +0 -1
- package/dist/connectors/github/signature.js.map +0 -1
- package/dist/connectors/github/tenant-routing.d.ts.map +0 -1
- package/dist/connectors/github/tenant-routing.js.map +0 -1
- package/dist/connectors/github/transform.d.ts.map +0 -1
- package/dist/connectors/github/transform.js.map +0 -1
- package/dist/connectors/github/types.d.ts.map +0 -1
- package/dist/connectors/github/types.js.map +0 -1
- package/dist/connectors/slack/backfill.d.ts.map +0 -1
- package/dist/connectors/slack/backfill.js.map +0 -1
- package/dist/connectors/slack/deletion.d.ts.map +0 -1
- package/dist/connectors/slack/deletion.js.map +0 -1
- package/dist/connectors/slack/dlq.d.ts.map +0 -1
- package/dist/connectors/slack/dlq.js.map +0 -1
- package/dist/connectors/slack/idempotency.d.ts.map +0 -1
- package/dist/connectors/slack/idempotency.js.map +0 -1
- package/dist/connectors/slack/ingest.d.ts.map +0 -1
- package/dist/connectors/slack/ingest.js.map +0 -1
- package/dist/connectors/slack/ratelimit.d.ts.map +0 -1
- package/dist/connectors/slack/ratelimit.js.map +0 -1
- package/dist/connectors/slack/scope.d.ts.map +0 -1
- package/dist/connectors/slack/scope.js.map +0 -1
- package/dist/connectors/slack/signature.d.ts.map +0 -1
- package/dist/connectors/slack/signature.js.map +0 -1
- package/dist/connectors/slack/tenant-routing.d.ts.map +0 -1
- package/dist/connectors/slack/tenant-routing.js.map +0 -1
- package/dist/connectors/slack/transform.d.ts.map +0 -1
- package/dist/connectors/slack/transform.js.map +0 -1
- package/dist/connectors/slack/types.d.ts.map +0 -1
- package/dist/connectors/slack/types.js.map +0 -1
- package/dist/connectors/slack/web-client.d.ts.map +0 -1
- package/dist/connectors/slack/web-client.js.map +0 -1
- package/dist/connectors/slack/workspaces.d.ts.map +0 -1
- package/dist/connectors/slack/workspaces.js.map +0 -1
- package/dist/consolidate.d.ts.map +0 -1
- package/dist/consolidate.js.map +0 -1
- package/dist/correction-latency.d.ts.map +0 -1
- package/dist/correction-latency.js.map +0 -1
- package/dist/customer-notes.d.ts.map +0 -1
- package/dist/customer-notes.js.map +0 -1
- package/dist/dag.d.ts.map +0 -1
- package/dist/dag.js.map +0 -1
- package/dist/dashboard.d.ts.map +0 -1
- package/dist/dashboard.js.map +0 -1
- package/dist/db.d.ts.map +0 -1
- package/dist/db.js.map +0 -1
- package/dist/decisions.d.ts.map +0 -1
- package/dist/decisions.js.map +0 -1
- package/dist/dedupe.d.ts.map +0 -1
- package/dist/dedupe.js.map +0 -1
- package/dist/embedding-provider.d.ts.map +0 -1
- package/dist/embedding-provider.js.map +0 -1
- package/dist/embeddings.d.ts.map +0 -1
- package/dist/embeddings.js.map +0 -1
- package/dist/eval-suite.d.ts.map +0 -1
- package/dist/eval-suite.js.map +0 -1
- package/dist/eval.d.ts.map +0 -1
- package/dist/eval.js.map +0 -1
- package/dist/extensions/openclaw-plugin/index.js.map +0 -1
- package/dist/extract.d.ts.map +0 -1
- package/dist/extract.js.map +0 -1
- package/dist/forward-claim-detector.d.ts.map +0 -1
- package/dist/forward-claim-detector.js.map +0 -1
- package/dist/goals.d.ts.map +0 -1
- package/dist/goals.js.map +0 -1
- package/dist/graph-extract.d.ts.map +0 -1
- package/dist/graph-extract.js.map +0 -1
- package/dist/graph-recall.d.ts.map +0 -1
- package/dist/graph-recall.js.map +0 -1
- package/dist/graph-stream.d.ts.map +0 -1
- package/dist/graph-stream.js.map +0 -1
- package/dist/graph-view.d.ts.map +0 -1
- package/dist/graph-view.js.map +0 -1
- package/dist/graph.d.ts.map +0 -1
- package/dist/graph.js.map +0 -1
- package/dist/handoff.d.ts.map +0 -1
- package/dist/handoff.js.map +0 -1
- package/dist/hooks.d.ts.map +0 -1
- package/dist/hooks.js.map +0 -1
- package/dist/importers.d.ts.map +0 -1
- package/dist/importers.js.map +0 -1
- package/dist/incidents.d.ts.map +0 -1
- package/dist/incidents.js.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/invalidation.d.ts.map +0 -1
- package/dist/invalidation.js.map +0 -1
- package/dist/mcp/framing.d.ts.map +0 -1
- package/dist/mcp/framing.js.map +0 -1
- package/dist/mcp/server.d.ts.map +0 -1
- package/dist/mcp/server.js.map +0 -1
- package/dist/memory-value-weights.d.ts.map +0 -1
- package/dist/memory-value-weights.js.map +0 -1
- package/dist/memory-value.d.ts.map +0 -1
- package/dist/memory-value.js.map +0 -1
- package/dist/memory.d.ts.map +0 -1
- package/dist/memory.js.map +0 -1
- package/dist/multihop.d.ts.map +0 -1
- package/dist/multihop.js.map +0 -1
- package/dist/owner-validation.d.ts.map +0 -1
- package/dist/owner-validation.js.map +0 -1
- package/dist/path-context.d.ts.map +0 -1
- package/dist/path-context.js.map +0 -1
- package/dist/physics-config.d.ts.map +0 -1
- package/dist/physics-config.js.map +0 -1
- package/dist/physics-state.d.ts.map +0 -1
- package/dist/physics-state.js.map +0 -1
- package/dist/physics.d.ts.map +0 -1
- package/dist/physics.js.map +0 -1
- package/dist/policies.d.ts.map +0 -1
- package/dist/policies.js.map +0 -1
- package/dist/postinstall.d.ts.map +0 -1
- package/dist/postinstall.js.map +0 -1
- package/dist/predictions.d.ts.map +0 -1
- package/dist/predictions.js.map +0 -1
- package/dist/processes.d.ts.map +0 -1
- package/dist/processes.js.map +0 -1
- package/dist/project-briefs.d.ts.map +0 -1
- package/dist/project-briefs.js.map +0 -1
- package/dist/project-identity.d.ts.map +0 -1
- package/dist/project-identity.js.map +0 -1
- package/dist/provenance-coverage.d.ts.map +0 -1
- package/dist/provenance-coverage.js.map +0 -1
- package/dist/rate-limit.d.ts.map +0 -1
- package/dist/rate-limit.js.map +0 -1
- package/dist/raw-archive-mirror-cleanup.d.ts.map +0 -1
- package/dist/raw-archive-mirror-cleanup.js.map +0 -1
- package/dist/raw-archive.d.ts.map +0 -1
- package/dist/raw-archive.js.map +0 -1
- package/dist/recall-history.d.ts.map +0 -1
- package/dist/recall-history.js.map +0 -1
- package/dist/recall-scope.d.ts.map +0 -1
- package/dist/recall-scope.js.map +0 -1
- package/dist/recall-trace.d.ts.map +0 -1
- package/dist/recall-trace.js.map +0 -1
- package/dist/refine-llm.d.ts.map +0 -1
- package/dist/refine-llm.js.map +0 -1
- package/dist/reject-flow.d.ts.map +0 -1
- package/dist/reject-flow.js.map +0 -1
- package/dist/rejection.d.ts.map +0 -1
- package/dist/rejection.js.map +0 -1
- package/dist/replay.d.ts.map +0 -1
- package/dist/replay.js.map +0 -1
- package/dist/rerankers/cross-encoder.d.ts.map +0 -1
- package/dist/rerankers/cross-encoder.js.map +0 -1
- package/dist/rerankers/index.d.ts.map +0 -1
- package/dist/rerankers/index.js.map +0 -1
- package/dist/rerankers/jev.d.ts.map +0 -1
- package/dist/rerankers/jev.js.map +0 -1
- package/dist/rerankers/llm.d.ts.map +0 -1
- package/dist/rerankers/llm.js.map +0 -1
- package/dist/rerankers/types.d.ts.map +0 -1
- package/dist/rerankers/types.js.map +0 -1
- package/dist/rrf.d.ts.map +0 -1
- package/dist/rrf.js.map +0 -1
- package/dist/salience.d.ts.map +0 -1
- package/dist/salience.js.map +0 -1
- package/dist/scheduler.d.ts.map +0 -1
- package/dist/scheduler.js.map +0 -1
- package/dist/scope.d.ts.map +0 -1
- package/dist/scope.js.map +0 -1
- package/dist/search.d.ts.map +0 -1
- package/dist/search.js.map +0 -1
- package/dist/secret-detect.d.ts.map +0 -1
- package/dist/secret-detect.js.map +0 -1
- package/dist/server-detect.d.ts.map +0 -1
- package/dist/server-detect.js.map +0 -1
- package/dist/server.d.ts.map +0 -1
- package/dist/server.js.map +0 -1
- package/dist/shared.d.ts.map +0 -1
- package/dist/shared.js.map +0 -1
- package/dist/skills.d.ts.map +0 -1
- package/dist/skills.js.map +0 -1
- package/dist/sleep-redact.d.ts +0 -58
- package/dist/sleep-redact.d.ts.map +0 -1
- package/dist/sleep-redact.js +0 -80
- package/dist/sleep-redact.js.map +0 -1
- package/dist/src/ablation.js +0 -138
- package/dist/src/ablation.js.map +0 -1
- package/dist/src/ambient.js +0 -148
- package/dist/src/ambient.js.map +0 -1
- package/dist/src/api.js +0 -2109
- package/dist/src/api.js.map +0 -1
- package/dist/src/audit-prune.js +0 -109
- package/dist/src/audit-prune.js.map +0 -1
- package/dist/src/audit.js +0 -213
- package/dist/src/audit.js.map +0 -1
- package/dist/src/auth.js +0 -97
- package/dist/src/auth.js.map +0 -1
- package/dist/src/autolearn.js +0 -174
- package/dist/src/autolearn.js.map +0 -1
- package/dist/src/availability.js +0 -94
- package/dist/src/availability.js.map +0 -1
- package/dist/src/capture.js +0 -1346
- package/dist/src/capture.js.map +0 -1
- package/dist/src/card-detail.js +0 -15
- package/dist/src/card-detail.js.map +0 -1
- package/dist/src/card.js +0 -19
- package/dist/src/card.js.map +0 -1
- package/dist/src/cli.js +0 -9387
- package/dist/src/cli.js.map +0 -1
- package/dist/src/client.js +0 -237
- package/dist/src/client.js.map +0 -1
- package/dist/src/compare.js +0 -122
- package/dist/src/compare.js.map +0 -1
- package/dist/src/config.js +0 -135
- package/dist/src/config.js.map +0 -1
- package/dist/src/connectors/github/backfill.js +0 -281
- package/dist/src/connectors/github/backfill.js.map +0 -1
- package/dist/src/connectors/github/cli-impl.js +0 -234
- package/dist/src/connectors/github/cli-impl.js.map +0 -1
- package/dist/src/connectors/github/deletion.js +0 -85
- package/dist/src/connectors/github/deletion.js.map +0 -1
- package/dist/src/connectors/github/dlq.js +0 -190
- package/dist/src/connectors/github/dlq.js.map +0 -1
- package/dist/src/connectors/github/idempotency.js +0 -27
- package/dist/src/connectors/github/idempotency.js.map +0 -1
- package/dist/src/connectors/github/ingest.js +0 -156
- package/dist/src/connectors/github/ingest.js.map +0 -1
- package/dist/src/connectors/github/octokit-client.js +0 -70
- package/dist/src/connectors/github/octokit-client.js.map +0 -1
- package/dist/src/connectors/github/ratelimit.js +0 -31
- package/dist/src/connectors/github/ratelimit.js.map +0 -1
- package/dist/src/connectors/github/scope.js +0 -13
- package/dist/src/connectors/github/scope.js.map +0 -1
- package/dist/src/connectors/github/signature.js +0 -81
- package/dist/src/connectors/github/signature.js.map +0 -1
- package/dist/src/connectors/github/tenant-routing.js +0 -69
- package/dist/src/connectors/github/tenant-routing.js.map +0 -1
- package/dist/src/connectors/github/transform.js +0 -103
- package/dist/src/connectors/github/transform.js.map +0 -1
- package/dist/src/connectors/github/types.js +0 -100
- package/dist/src/connectors/github/types.js.map +0 -1
- package/dist/src/connectors/slack/backfill.js +0 -78
- package/dist/src/connectors/slack/backfill.js.map +0 -1
- package/dist/src/connectors/slack/deletion.js +0 -59
- package/dist/src/connectors/slack/deletion.js.map +0 -1
- package/dist/src/connectors/slack/dlq.js +0 -224
- package/dist/src/connectors/slack/dlq.js.map +0 -1
- package/dist/src/connectors/slack/idempotency.js +0 -31
- package/dist/src/connectors/slack/idempotency.js.map +0 -1
- package/dist/src/connectors/slack/ingest.js +0 -109
- package/dist/src/connectors/slack/ingest.js.map +0 -1
- package/dist/src/connectors/slack/ratelimit.js +0 -18
- package/dist/src/connectors/slack/ratelimit.js.map +0 -1
- package/dist/src/connectors/slack/scope.js +0 -13
- package/dist/src/connectors/slack/scope.js.map +0 -1
- package/dist/src/connectors/slack/signature.js +0 -27
- package/dist/src/connectors/slack/signature.js.map +0 -1
- package/dist/src/connectors/slack/tenant-routing.js +0 -41
- package/dist/src/connectors/slack/tenant-routing.js.map +0 -1
- package/dist/src/connectors/slack/transform.js +0 -47
- package/dist/src/connectors/slack/transform.js.map +0 -1
- package/dist/src/connectors/slack/types.js +0 -35
- package/dist/src/connectors/slack/types.js.map +0 -1
- package/dist/src/connectors/slack/web-client.js +0 -43
- package/dist/src/connectors/slack/web-client.js.map +0 -1
- package/dist/src/connectors/slack/workspaces.js +0 -62
- package/dist/src/connectors/slack/workspaces.js.map +0 -1
- package/dist/src/consolidate.js +0 -978
- package/dist/src/consolidate.js.map +0 -1
- package/dist/src/correction-latency.js +0 -74
- package/dist/src/correction-latency.js.map +0 -1
- package/dist/src/customer-notes.js +0 -325
- package/dist/src/customer-notes.js.map +0 -1
- package/dist/src/dag.js +0 -352
- package/dist/src/dag.js.map +0 -1
- package/dist/src/dashboard.js +0 -258
- package/dist/src/dashboard.js.map +0 -1
- package/dist/src/db.js +0 -2731
- package/dist/src/db.js.map +0 -1
- package/dist/src/decisions.js +0 -304
- package/dist/src/decisions.js.map +0 -1
- package/dist/src/dedupe.js +0 -141
- package/dist/src/dedupe.js.map +0 -1
- package/dist/src/embedding-provider.js +0 -314
- package/dist/src/embedding-provider.js.map +0 -1
- package/dist/src/embeddings.js +0 -543
- package/dist/src/embeddings.js.map +0 -1
- package/dist/src/eval-suite.js +0 -294
- package/dist/src/eval-suite.js.map +0 -1
- package/dist/src/eval.js +0 -187
- package/dist/src/eval.js.map +0 -1
- package/dist/src/extract.js +0 -117
- package/dist/src/extract.js.map +0 -1
- package/dist/src/forward-claim-detector.js +0 -117
- package/dist/src/forward-claim-detector.js.map +0 -1
- package/dist/src/goals.js +0 -399
- package/dist/src/goals.js.map +0 -1
- package/dist/src/graph-extract.js +0 -314
- package/dist/src/graph-extract.js.map +0 -1
- package/dist/src/graph-recall.js +0 -277
- package/dist/src/graph-recall.js.map +0 -1
- package/dist/src/graph-stream.js +0 -176
- package/dist/src/graph-stream.js.map +0 -1
- package/dist/src/graph-view.js +0 -310
- package/dist/src/graph-view.js.map +0 -1
- package/dist/src/graph.js +0 -762
- package/dist/src/graph.js.map +0 -1
- package/dist/src/handoff.js +0 -65
- package/dist/src/handoff.js.map +0 -1
- package/dist/src/hooks.js +0 -926
- package/dist/src/hooks.js.map +0 -1
- package/dist/src/importers.js +0 -881
- package/dist/src/importers.js.map +0 -1
- package/dist/src/incidents.js +0 -336
- package/dist/src/incidents.js.map +0 -1
- package/dist/src/index.js +0 -32
- package/dist/src/index.js.map +0 -1
- package/dist/src/invalidation.js +0 -129
- package/dist/src/invalidation.js.map +0 -1
- package/dist/src/mcp/framing.js +0 -45
- package/dist/src/mcp/framing.js.map +0 -1
- package/dist/src/mcp/server.js +0 -1298
- package/dist/src/mcp/server.js.map +0 -1
- package/dist/src/memory-value-weights.js +0 -31
- package/dist/src/memory-value-weights.js.map +0 -1
- package/dist/src/memory-value.js +0 -261
- package/dist/src/memory-value.js.map +0 -1
- package/dist/src/memory.js +0 -425
- package/dist/src/memory.js.map +0 -1
- package/dist/src/multihop.js +0 -35
- package/dist/src/multihop.js.map +0 -1
- package/dist/src/owner-validation.js +0 -56
- package/dist/src/owner-validation.js.map +0 -1
- package/dist/src/path-context.js +0 -48
- package/dist/src/path-context.js.map +0 -1
- package/dist/src/physics-config.js +0 -26
- package/dist/src/physics-config.js.map +0 -1
- package/dist/src/physics-state.js +0 -172
- package/dist/src/physics-state.js.map +0 -1
- package/dist/src/physics.js +0 -378
- package/dist/src/physics.js.map +0 -1
- package/dist/src/policies.js +0 -414
- package/dist/src/policies.js.map +0 -1
- package/dist/src/postinstall.js +0 -101
- package/dist/src/postinstall.js.map +0 -1
- package/dist/src/predictions.js +0 -629
- package/dist/src/predictions.js.map +0 -1
- package/dist/src/processes.js +0 -349
- package/dist/src/processes.js.map +0 -1
- package/dist/src/project-briefs.js +0 -492
- package/dist/src/project-briefs.js.map +0 -1
- package/dist/src/project-identity.js +0 -200
- package/dist/src/project-identity.js.map +0 -1
- package/dist/src/provenance-coverage.js +0 -23
- package/dist/src/provenance-coverage.js.map +0 -1
- package/dist/src/rate-limit.js +0 -60
- package/dist/src/rate-limit.js.map +0 -1
- package/dist/src/raw-archive-mirror-cleanup.js +0 -55
- package/dist/src/raw-archive-mirror-cleanup.js.map +0 -1
- package/dist/src/raw-archive.js +0 -91
- package/dist/src/raw-archive.js.map +0 -1
- package/dist/src/recall-history.js +0 -235
- package/dist/src/recall-history.js.map +0 -1
- package/dist/src/recall-scope.js +0 -89
- package/dist/src/recall-scope.js.map +0 -1
- package/dist/src/recall-trace.js +0 -186
- package/dist/src/recall-trace.js.map +0 -1
- package/dist/src/refine-llm.js +0 -156
- package/dist/src/refine-llm.js.map +0 -1
- package/dist/src/reject-flow.js +0 -209
- package/dist/src/reject-flow.js.map +0 -1
- package/dist/src/rejection.js +0 -160
- package/dist/src/rejection.js.map +0 -1
- package/dist/src/replay.js +0 -122
- package/dist/src/replay.js.map +0 -1
- package/dist/src/rerankers/cross-encoder.js +0 -137
- package/dist/src/rerankers/cross-encoder.js.map +0 -1
- package/dist/src/rerankers/index.js +0 -20
- package/dist/src/rerankers/index.js.map +0 -1
- package/dist/src/rerankers/jev.js +0 -119
- package/dist/src/rerankers/jev.js.map +0 -1
- package/dist/src/rerankers/llm.js +0 -80
- package/dist/src/rerankers/llm.js.map +0 -1
- package/dist/src/rerankers/types.js +0 -2
- package/dist/src/rerankers/types.js.map +0 -1
- package/dist/src/rrf.js +0 -61
- package/dist/src/rrf.js.map +0 -1
- package/dist/src/salience.js +0 -74
- package/dist/src/salience.js.map +0 -1
- package/dist/src/scheduler.js +0 -77
- package/dist/src/scheduler.js.map +0 -1
- package/dist/src/scope.js +0 -35
- package/dist/src/scope.js.map +0 -1
- package/dist/src/search.js +0 -1003
- package/dist/src/search.js.map +0 -1
- package/dist/src/secret-detect.js +0 -95
- package/dist/src/secret-detect.js.map +0 -1
- package/dist/src/server-detect.js +0 -231
- package/dist/src/server-detect.js.map +0 -1
- package/dist/src/server.js +0 -3255
- package/dist/src/server.js.map +0 -1
- package/dist/src/shared.js +0 -502
- package/dist/src/shared.js.map +0 -1
- package/dist/src/skills.js +0 -346
- package/dist/src/skills.js.map +0 -1
- package/dist/src/sleep-redact.js +0 -80
- package/dist/src/sleep-redact.js.map +0 -1
- package/dist/src/sso.js +0 -22
- package/dist/src/sso.js.map +0 -1
- package/dist/src/stdin.js +0 -41
- package/dist/src/stdin.js.map +0 -1
- package/dist/src/store.js +0 -3749
- package/dist/src/store.js.map +0 -1
- package/dist/src/tenant.js +0 -17
- package/dist/src/tenant.js.map +0 -1
- package/dist/src/trace.js +0 -72
- package/dist/src/trace.js.map +0 -1
- package/dist/src/version.js +0 -40
- package/dist/src/version.js.map +0 -1
- package/dist/src/working-memory.js +0 -157
- package/dist/src/working-memory.js.map +0 -1
- package/dist/src/yaml.js +0 -107
- package/dist/src/yaml.js.map +0 -1
- package/dist/sso.d.ts +0 -13
- package/dist/sso.d.ts.map +0 -1
- package/dist/sso.js +0 -22
- package/dist/sso.js.map +0 -1
- package/dist/stdin.d.ts.map +0 -1
- package/dist/stdin.js.map +0 -1
- package/dist/store.d.ts.map +0 -1
- package/dist/store.js.map +0 -1
- package/dist/tenant.d.ts.map +0 -1
- package/dist/tenant.js.map +0 -1
- package/dist/trace.d.ts.map +0 -1
- package/dist/trace.js.map +0 -1
- package/dist/version.d.ts.map +0 -1
- package/dist/version.js.map +0 -1
- package/dist/working-memory.d.ts.map +0 -1
- package/dist/working-memory.js.map +0 -1
- package/dist/yaml.d.ts.map +0 -1
- package/dist/yaml.js.map +0 -1
package/dist/src/db.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"db.js","sourceRoot":"","sources":["../../src/db.ts"],"names":[],"mappings":"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"}
|
package/dist/src/decisions.js
DELETED
|
@@ -1,304 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* E2 decision first-class object (docs/plans/2026-05-28-e2-decision-object.md).
|
|
3
|
-
*
|
|
4
|
-
* `hippo decide` used to write only a tagged memory (tags ['decision'], source
|
|
5
|
-
* 'decision') with a 90-day half-life, so an in-force decision decayed out of
|
|
6
|
-
* recall even though it was never reversed. The `decisions` table is now the
|
|
7
|
-
* source of truth: a decision stays `active` regardless of memory decay, and
|
|
8
|
-
* `hippo decide list --status active` is authoritative. A memory row still
|
|
9
|
-
* mirrors the decision for recall surfaces but is NOT canonical — memory_id is
|
|
10
|
-
* NULLABLE with ON DELETE SET NULL so forget/consolidate/archive gracefully
|
|
11
|
-
* orphans the decision row.
|
|
12
|
-
*
|
|
13
|
-
* Lifecycle: active -> superseded (a newer decision replaces it; superseded_by
|
|
14
|
-
* points to the successor) or active -> closed (retired with no successor).
|
|
15
|
-
*
|
|
16
|
-
* Tenant scoping: every helper requires tenantId. BEFORE INSERT/UPDATE triggers
|
|
17
|
-
* enforce decisions.tenant_id == the referenced memory's tenant_id, and a
|
|
18
|
-
* superseded_by same-tenant trigger makes cross-tenant supersession
|
|
19
|
-
* unrepresentable. Mirrors the v0.31 predictions pattern (src/predictions.ts).
|
|
20
|
-
*
|
|
21
|
-
* Dual-write atomicity: `saveDecision` writes the memory + decisions row (and,
|
|
22
|
-
* when superseding, the old row's UPDATE) inside writeEntry's SAVEPOINT
|
|
23
|
-
* 'write_entry' (store.ts:1196) via the afterWrite hook, so a failure in any
|
|
24
|
-
* step rolls all of them back. Pattern matches savePrediction (predictions.ts).
|
|
25
|
-
*/
|
|
26
|
-
import { openHippoDb, closeHippoDb } from './db.js';
|
|
27
|
-
import { writeEntry, assertTenantId } from './store.js';
|
|
28
|
-
import { markGraphDirty, removeGraphEntitiesForObject } from './graph.js';
|
|
29
|
-
import { createMemory, Layer, DECISION_HALF_LIFE_DAYS } from './memory.js';
|
|
30
|
-
import { appendAuditEvent } from './audit.js';
|
|
31
|
-
export const VALID_DECISION_STATES = new Set([
|
|
32
|
-
'active',
|
|
33
|
-
'superseded',
|
|
34
|
-
'closed',
|
|
35
|
-
]);
|
|
36
|
-
function rowToDecision(row) {
|
|
37
|
-
return {
|
|
38
|
-
id: row.id,
|
|
39
|
-
memoryId: row.memory_id,
|
|
40
|
-
tenantId: row.tenant_id,
|
|
41
|
-
decisionText: row.decision_text,
|
|
42
|
-
context: row.context,
|
|
43
|
-
// SAFETY: status is DB-constrained to VALID_DECISION_STATES; this module
|
|
44
|
-
// is the only writer and always inserts one of those literal strings.
|
|
45
|
-
status: row.status,
|
|
46
|
-
supersededBy: row.superseded_by,
|
|
47
|
-
supersededAt: row.superseded_at,
|
|
48
|
-
closedAt: row.closed_at,
|
|
49
|
-
createdAt: row.created_at,
|
|
50
|
-
};
|
|
51
|
-
}
|
|
52
|
-
const DECISION_COLS = `
|
|
53
|
-
id, memory_id, tenant_id, decision_text, context, status,
|
|
54
|
-
superseded_by, superseded_at, closed_at, created_at
|
|
55
|
-
`;
|
|
56
|
-
// ---------------------------------------------------------------------------
|
|
57
|
-
// Public API
|
|
58
|
-
// ---------------------------------------------------------------------------
|
|
59
|
-
/**
|
|
60
|
-
* Create a decision. Writes the memory mirror + the decisions row atomically
|
|
61
|
-
* inside writeEntry's SAVEPOINT 'write_entry'. When supersedesDecisionId is
|
|
62
|
-
* given, the referenced ACTIVE row is UPDATEd -> superseded in the SAME
|
|
63
|
-
* SAVEPOINT (CAS: WHERE status='active'; throws on changes===0 so a duplicate
|
|
64
|
-
* supersede aborts the whole write rather than orphaning a successor).
|
|
65
|
-
*
|
|
66
|
-
* The memory mirror preserves the legacy `hippo decide` shape: tags
|
|
67
|
-
* ['decision', ...extraTags], source 'decision', confidence 'verified',
|
|
68
|
-
* half_life DECISION_HALF_LIFE_DAYS, content = "<text>\n\nContext: <context>"
|
|
69
|
-
* when context is given (so existing recall output is unchanged).
|
|
70
|
-
*/
|
|
71
|
-
export function saveDecision(hippoRoot, tenantId, opts, actor = 'cli') {
|
|
72
|
-
assertTenantId('saveDecision', tenantId);
|
|
73
|
-
if (!opts.decisionText)
|
|
74
|
-
throw new Error('saveDecision: decisionText is required');
|
|
75
|
-
const now = new Date().toISOString();
|
|
76
|
-
const content = opts.context
|
|
77
|
-
? `${opts.decisionText}\n\nContext: ${opts.context}`
|
|
78
|
-
: opts.decisionText;
|
|
79
|
-
const tags = ['decision', ...(opts.extraTags ?? [])];
|
|
80
|
-
const mem = createMemory(content, {
|
|
81
|
-
tags,
|
|
82
|
-
layer: Layer.Semantic,
|
|
83
|
-
confidence: 'verified',
|
|
84
|
-
source: 'decision',
|
|
85
|
-
tenantId,
|
|
86
|
-
});
|
|
87
|
-
mem.half_life_days = DECISION_HALF_LIFE_DAYS;
|
|
88
|
-
// Populated inside afterWrite so the INSERT, the supersede UPDATE, and the
|
|
89
|
-
// memory write all share one SAVEPOINT.
|
|
90
|
-
let savedRow;
|
|
91
|
-
writeEntry(hippoRoot, mem, {
|
|
92
|
-
actor,
|
|
93
|
-
afterWrite: (db, memoryId) => {
|
|
94
|
-
// Preflight the supersede target BEFORE inserting the new row. The new
|
|
95
|
-
// row's autoincrement id could otherwise collide with a non-existent
|
|
96
|
-
// supersedesDecisionId (e.g. superseding id 1 on an empty store, where the
|
|
97
|
-
// INSERT below would itself become id 1), making the row supersede itself.
|
|
98
|
-
// Validating first means the new row is never a candidate for its own
|
|
99
|
-
// supersede UPDATE. codex review 2026-05-28 (P1).
|
|
100
|
-
if (opts.supersedesDecisionId !== undefined) {
|
|
101
|
-
// SAFETY: row shape matches the single `status` column named in the SELECT below.
|
|
102
|
-
const pred = db.prepare(`SELECT status FROM decisions WHERE id = ? AND tenant_id = ?`).get(opts.supersedesDecisionId, tenantId);
|
|
103
|
-
if (!pred) {
|
|
104
|
-
throw new Error(`saveDecision: decision ${opts.supersedesDecisionId} to supersede not found for tenant ${tenantId}`);
|
|
105
|
-
}
|
|
106
|
-
if (pred.status !== 'active') {
|
|
107
|
-
throw new Error(`saveDecision: decision ${opts.supersedesDecisionId} is not active (status='${pred.status}'); only active decisions can be superseded.`);
|
|
108
|
-
}
|
|
109
|
-
}
|
|
110
|
-
const result = db.prepare(`
|
|
111
|
-
INSERT INTO decisions(
|
|
112
|
-
memory_id, tenant_id, decision_text, context,
|
|
113
|
-
status, superseded_by, superseded_at, closed_at, created_at
|
|
114
|
-
) VALUES (?, ?, ?, ?, 'active', NULL, NULL, NULL, ?)
|
|
115
|
-
`).run(memoryId, tenantId, opts.decisionText, opts.context ?? null, now);
|
|
116
|
-
const decisionId = Number(result.lastInsertRowid ?? 0);
|
|
117
|
-
// Supersede the (preflight-validated) prior active decision in the SAME
|
|
118
|
-
// SAVEPOINT, atomic with the new row. The `id != decisionId` exclusion is
|
|
119
|
-
// defense-in-depth against the self-match described above; combined with
|
|
120
|
-
// the preflight, a 0-change here is unreachable in the single-writer txn.
|
|
121
|
-
if (opts.supersedesDecisionId !== undefined) {
|
|
122
|
-
const sup = db.prepare(`
|
|
123
|
-
UPDATE decisions
|
|
124
|
-
SET status = 'superseded', superseded_by = ?, superseded_at = ?
|
|
125
|
-
WHERE id = ? AND tenant_id = ? AND status = 'active' AND id != ?
|
|
126
|
-
`).run(decisionId, now, opts.supersedesDecisionId, tenantId, decisionId);
|
|
127
|
-
if (sup.changes === 0) {
|
|
128
|
-
throw new Error(`saveDecision: decision ${opts.supersedesDecisionId} could not be superseded (no longer active or self-reference).`);
|
|
129
|
-
}
|
|
130
|
-
appendAuditEvent(db, {
|
|
131
|
-
tenantId,
|
|
132
|
-
actor,
|
|
133
|
-
op: 'decision_supersede',
|
|
134
|
-
targetId: String(opts.supersedesDecisionId),
|
|
135
|
-
metadata: {
|
|
136
|
-
decision_id: opts.supersedesDecisionId,
|
|
137
|
-
superseded_by: decisionId,
|
|
138
|
-
},
|
|
139
|
-
});
|
|
140
|
-
}
|
|
141
|
-
// SAFETY: row's shape matches the columns named in DECISION_COLS above.
|
|
142
|
-
const row = db.prepare(`SELECT ${DECISION_COLS} FROM decisions WHERE id = ?`)
|
|
143
|
-
.get(decisionId);
|
|
144
|
-
if (!row)
|
|
145
|
-
throw new Error('saveDecision: failed to reload saved decision row');
|
|
146
|
-
savedRow = row;
|
|
147
|
-
// GDPR-light metadata: id + flag only, no decision_text.
|
|
148
|
-
appendAuditEvent(db, {
|
|
149
|
-
tenantId,
|
|
150
|
-
actor,
|
|
151
|
-
op: 'decision_create',
|
|
152
|
-
targetId: String(decisionId),
|
|
153
|
-
metadata: {
|
|
154
|
-
decision_id: decisionId,
|
|
155
|
-
has_context: opts.context !== undefined && opts.context !== null && opts.context !== '',
|
|
156
|
-
},
|
|
157
|
-
});
|
|
158
|
-
},
|
|
159
|
-
// Post-commit hook: mark the tenant's graph dirty AFTER the DB row commits
|
|
160
|
-
// but BEFORE the markdown mirrors are written, so a mirror-write failure can
|
|
161
|
-
// never leave a committed save unflagged (codex). markGraphDirty is fail-soft.
|
|
162
|
-
afterCommit: () => markGraphDirty(hippoRoot, tenantId, mem.id),
|
|
163
|
-
});
|
|
164
|
-
if (!savedRow) {
|
|
165
|
-
// Unreachable unless afterWrite threw first; defensive.
|
|
166
|
-
throw new Error('saveDecision: afterWrite did not populate the row');
|
|
167
|
-
}
|
|
168
|
-
return rowToDecision(savedRow);
|
|
169
|
-
}
|
|
170
|
-
/**
|
|
171
|
-
* Close (retire) an active decision with no successor. Updates the decisions
|
|
172
|
-
* row only; the memory mirror is not mutated. CAS guard mirrors closePrediction
|
|
173
|
-
* (predictions.ts): WHERE status='active'; 0 changes distinguishes not-found
|
|
174
|
-
* from not-active so callers surface the right error.
|
|
175
|
-
*/
|
|
176
|
-
export function closeDecision(hippoRoot, tenantId, id, actor = 'cli') {
|
|
177
|
-
assertTenantId('closeDecision', tenantId);
|
|
178
|
-
const now = new Date().toISOString();
|
|
179
|
-
const db = openHippoDb(hippoRoot);
|
|
180
|
-
try {
|
|
181
|
-
db.exec('BEGIN IMMEDIATE');
|
|
182
|
-
try {
|
|
183
|
-
const updateResult = db.prepare(`
|
|
184
|
-
UPDATE decisions
|
|
185
|
-
SET status = 'closed', closed_at = ?
|
|
186
|
-
WHERE id = ? AND tenant_id = ? AND status = 'active'
|
|
187
|
-
`).run(now, id, tenantId);
|
|
188
|
-
if (updateResult.changes === 0) {
|
|
189
|
-
// SAFETY: row shape matches the single `status` column named in the SELECT above.
|
|
190
|
-
const existing = db.prepare(`SELECT status FROM decisions WHERE id = ? AND tenant_id = ?`).get(id, tenantId);
|
|
191
|
-
if (!existing) {
|
|
192
|
-
throw new Error(`closeDecision: decision ${id} not found for tenant ${tenantId}`);
|
|
193
|
-
}
|
|
194
|
-
throw new Error(`closeDecision: decision ${id} is not active (status='${existing.status}'); only active decisions can be closed.`);
|
|
195
|
-
}
|
|
196
|
-
// SAFETY: row's shape matches the columns named in DECISION_COLS above.
|
|
197
|
-
const row = db.prepare(`SELECT ${DECISION_COLS} FROM decisions WHERE id = ? AND tenant_id = ?`)
|
|
198
|
-
.get(id, tenantId);
|
|
199
|
-
if (!row)
|
|
200
|
-
throw new Error(`closeDecision: decision ${id} not found after UPDATE`);
|
|
201
|
-
appendAuditEvent(db, {
|
|
202
|
-
tenantId,
|
|
203
|
-
actor,
|
|
204
|
-
op: 'decision_close',
|
|
205
|
-
targetId: String(id),
|
|
206
|
-
metadata: { decision_id: id },
|
|
207
|
-
});
|
|
208
|
-
db.exec('COMMIT');
|
|
209
|
-
const closed = rowToDecision(row);
|
|
210
|
-
// After COMMIT (write lock released), before the finally closes `db`.
|
|
211
|
-
// Closing removes the object from the graph. Remove its rows DIRECTLY (deterministic),
|
|
212
|
-
// not only via an enqueued rebuild whose queue item is lost if the mirror is later
|
|
213
|
-
// forgotten (the queue row cascade-deletes with the memory), which would leave the closed
|
|
214
|
-
// object stale and could block that forget (codex P1). Still enqueue when a mirror exists
|
|
215
|
-
// so a concurrent rebuild re-derives consistently (harmless if it also runs).
|
|
216
|
-
removeGraphEntitiesForObject(hippoRoot, tenantId, 'decision', closed.id);
|
|
217
|
-
if (closed.memoryId) {
|
|
218
|
-
markGraphDirty(hippoRoot, tenantId, closed.memoryId);
|
|
219
|
-
}
|
|
220
|
-
return closed;
|
|
221
|
-
}
|
|
222
|
-
catch (e) {
|
|
223
|
-
try {
|
|
224
|
-
db.exec('ROLLBACK');
|
|
225
|
-
}
|
|
226
|
-
catch {
|
|
227
|
-
// Ignore rollback failures — the throw below is what matters.
|
|
228
|
-
}
|
|
229
|
-
throw e;
|
|
230
|
-
}
|
|
231
|
-
}
|
|
232
|
-
finally {
|
|
233
|
-
closeHippoDb(db);
|
|
234
|
-
}
|
|
235
|
-
}
|
|
236
|
-
export function loadDecisionById(hippoRoot, tenantId, id) {
|
|
237
|
-
assertTenantId('loadDecisionById', tenantId);
|
|
238
|
-
const db = openHippoDb(hippoRoot);
|
|
239
|
-
try {
|
|
240
|
-
// SAFETY: row's shape matches the columns named in DECISION_COLS above.
|
|
241
|
-
const row = db.prepare(`SELECT ${DECISION_COLS} FROM decisions WHERE id = ? AND tenant_id = ?`)
|
|
242
|
-
.get(id, tenantId);
|
|
243
|
-
return row ? rowToDecision(row) : null;
|
|
244
|
-
}
|
|
245
|
-
finally {
|
|
246
|
-
closeHippoDb(db);
|
|
247
|
-
}
|
|
248
|
-
}
|
|
249
|
-
export function loadDecisions(hippoRoot, tenantId, opts = {}) {
|
|
250
|
-
assertTenantId('loadDecisions', tenantId);
|
|
251
|
-
const limit = opts.limit ?? 100;
|
|
252
|
-
const db = openHippoDb(hippoRoot);
|
|
253
|
-
try {
|
|
254
|
-
let rows;
|
|
255
|
-
if (opts.status) {
|
|
256
|
-
if (!VALID_DECISION_STATES.has(opts.status)) {
|
|
257
|
-
throw new Error(`loadDecisions: status must be one of ${Array.from(VALID_DECISION_STATES).join('|')}; got ${opts.status}`);
|
|
258
|
-
}
|
|
259
|
-
// SAFETY: rows' shape matches the columns named in DECISION_COLS above.
|
|
260
|
-
rows = db.prepare(`
|
|
261
|
-
SELECT ${DECISION_COLS} FROM decisions
|
|
262
|
-
WHERE tenant_id = ? AND status = ?
|
|
263
|
-
ORDER BY created_at DESC, id DESC
|
|
264
|
-
LIMIT ?
|
|
265
|
-
`).all(tenantId, opts.status, limit);
|
|
266
|
-
}
|
|
267
|
-
else {
|
|
268
|
-
// SAFETY: rows' shape matches the columns named in DECISION_COLS above.
|
|
269
|
-
rows = db.prepare(`
|
|
270
|
-
SELECT ${DECISION_COLS} FROM decisions
|
|
271
|
-
WHERE tenant_id = ?
|
|
272
|
-
ORDER BY created_at DESC, id DESC
|
|
273
|
-
LIMIT ?
|
|
274
|
-
`).all(tenantId, limit);
|
|
275
|
-
}
|
|
276
|
-
return rows.map(rowToDecision);
|
|
277
|
-
}
|
|
278
|
-
finally {
|
|
279
|
-
closeHippoDb(db);
|
|
280
|
-
}
|
|
281
|
-
}
|
|
282
|
-
export function loadActiveDecisions(hippoRoot, tenantId, opts = {}) {
|
|
283
|
-
return loadDecisions(hippoRoot, tenantId, { status: 'active', limit: opts.limit });
|
|
284
|
-
}
|
|
285
|
-
/**
|
|
286
|
-
* Resolve a `--supersedes <memory-id>` (the legacy CLI contract) to the table id
|
|
287
|
-
* of the ACTIVE decision backed by that memory, or null when the memory has no
|
|
288
|
-
* active decision row (a legacy pre-episode decision-tagged memory). Extracted
|
|
289
|
-
* so the CLI's backward-compat path is unit-testable at the store layer without
|
|
290
|
-
* exporting cmdDecide.
|
|
291
|
-
*/
|
|
292
|
-
export function resolveActiveDecisionIdByMemory(hippoRoot, tenantId, memoryId) {
|
|
293
|
-
assertTenantId('resolveActiveDecisionIdByMemory', tenantId);
|
|
294
|
-
const db = openHippoDb(hippoRoot);
|
|
295
|
-
try {
|
|
296
|
-
// SAFETY: row shape matches the single `id` column named in the SELECT above.
|
|
297
|
-
const row = db.prepare(`SELECT id FROM decisions WHERE memory_id = ? AND tenant_id = ? AND status = 'active' ORDER BY id DESC LIMIT 1`).get(memoryId, tenantId);
|
|
298
|
-
return row ? row.id : null;
|
|
299
|
-
}
|
|
300
|
-
finally {
|
|
301
|
-
closeHippoDb(db);
|
|
302
|
-
}
|
|
303
|
-
}
|
|
304
|
-
//# sourceMappingURL=decisions.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"decisions.js","sourceRoot":"","sources":["../../src/decisions.ts"],"names":[],"mappings":"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"}
|
package/dist/src/dedupe.js
DELETED
|
@@ -1,141 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Store-level deduplication. Scans for near-duplicate memories by content
|
|
3
|
-
* Jaccard overlap, keeps the stronger copy (by strength + retrieval count),
|
|
4
|
-
* removes the rest.
|
|
5
|
-
*
|
|
6
|
-
* Extracted from cli.ts in Episode A (v1.11.3) so `api.sleep` can dedupe
|
|
7
|
-
* during the consolidation pipeline without violating the cli -> api
|
|
8
|
-
* dependency direction. `cmdDedup` in cli.ts continues to import and use
|
|
9
|
-
* this function unchanged.
|
|
10
|
-
*
|
|
11
|
-
* Survivor selection is a total order as of v1.26.3
|
|
12
|
-
* (docs/plans/2026-07-16-dedupe-survivor-determinism.md): strength bucket
|
|
13
|
-
* desc -> retrieval_count desc -> compareEntryIdentity (content asc ->
|
|
14
|
-
* layer rank -> tags -> source -> id asc; the metadata keys arrived in
|
|
15
|
-
* v1.38.1, docs/plans/2026-09-04-dedupe-survivor-metadata.md). Previously
|
|
16
|
-
* the strength/retrieval-count comparator could tie exactly with no terminal
|
|
17
|
-
* key, so the survivor fell to load order (arrival-order-dependent); see
|
|
18
|
-
* `strengthBucket` below for the bucket encoding. As of the tenant-partition
|
|
19
|
-
* fix (docs/plans/2026-08-15-dedupe-tenant-partition.md) the order is scoped
|
|
20
|
-
* WITHIN each tenant group; cross-tenant pairs are never compared. Raw and
|
|
21
|
-
* superseded rows are not candidates at all (v1.38.1).
|
|
22
|
-
*/
|
|
23
|
-
import { textOverlap } from './search.js';
|
|
24
|
-
import { loadAllEntries, deleteEntry } from './store.js';
|
|
25
|
-
import { compareEntryIdentity } from './compare.js';
|
|
26
|
-
/** Quantization step for strength-tie comparisons. The historical 0.01
|
|
27
|
-
* epsilon (see `strengthBucket` below) applied via rounding instead of a
|
|
28
|
-
* raw abs-diff threshold, so the tiebreak is transitive. */
|
|
29
|
-
const STRENGTH_TIE_EPSILON = 0.01;
|
|
30
|
-
/**
|
|
31
|
-
* Quantize a strength value into an integer "bucket" for tie comparison.
|
|
32
|
-
*
|
|
33
|
-
* Encodes the historical 0.01 epsilon transitively: two strengths compare
|
|
34
|
-
* equal here iff they round to the same multiple of `STRENGTH_TIE_EPSILON`,
|
|
35
|
-
* which (unlike a raw `Math.abs(a - b) > epsilon` check) is a genuine
|
|
36
|
-
* equivalence relation — no more "A ties B, B ties C, but A beats C"
|
|
37
|
-
* (see the file-level history note above).
|
|
38
|
-
*
|
|
39
|
-
* Non-finite input (`NaN`, `+/-Infinity`) maps to bucket `0` rather than
|
|
40
|
-
* propagating: a NaN bucket would make the sort comparator return NaN,
|
|
41
|
-
* silently reintroducing the non-total-order class this fix exists to kill.
|
|
42
|
-
* (`null`/`undefined` already default to strength `0` via `?? 0`, same as
|
|
43
|
-
* before this change.)
|
|
44
|
-
*
|
|
45
|
-
* Bucket-edge nuance: two strengths straddling a bucket edge (e.g. 0.0049 vs
|
|
46
|
-
* 0.0051) now compare as different, where the old raw-epsilon check called
|
|
47
|
-
* them tied. The flip always favors the not-weaker entry, and the OLD
|
|
48
|
-
* behavior at such pairs was itself order/engine-dependent (the defect this
|
|
49
|
-
* fix exists to kill) — so there is no stable prior behavior being broken.
|
|
50
|
-
*/
|
|
51
|
-
export function strengthBucket(strength) {
|
|
52
|
-
const s = strength ?? 0;
|
|
53
|
-
return Number.isFinite(s) ? Math.round(s / STRENGTH_TIE_EPSILON) : 0;
|
|
54
|
-
}
|
|
55
|
-
/**
|
|
56
|
-
* Scan the store for near-duplicate memories and remove the weaker copy.
|
|
57
|
-
* Two memories are duplicates if their content has > threshold Jaccard
|
|
58
|
-
* overlap AND they belong to the same tenant: the scan is partitioned by
|
|
59
|
-
* tenantId, so byte-identical content in two tenants is never a duplicate
|
|
60
|
-
* pair (the tenant boundary is an isolation boundary; cross-tenant removal
|
|
61
|
-
* was the v1.32.0 known-issue data-loss bug).
|
|
62
|
-
* Keeps the one with higher strength (or more retrievals if tied).
|
|
63
|
-
*/
|
|
64
|
-
export function deduplicateStore(hippoRoot, options = {}) {
|
|
65
|
-
const threshold = options.threshold ?? 0.7;
|
|
66
|
-
const dryRun = options.dryRun ?? false;
|
|
67
|
-
// Only current distilled rows compete: raw rows are append-only (the delete
|
|
68
|
-
// trigger would abort sleep mid-loop) and superseded rows are history, as in consolidate.ts.
|
|
69
|
-
const entries = loadAllEntries(hippoRoot).filter((e) => e.kind === 'distilled' && !e.superseded_by);
|
|
70
|
-
// Tenant partition (mirrors consolidate.ts mergeCandidatesByTenant and
|
|
71
|
-
// dag.ts unparentedByTenant): group by tenantId BEFORE the sort so a
|
|
72
|
-
// duplicate pair can never form across tenants. Map preserves insertion
|
|
73
|
-
// order, so a single-tenant store (every row 'default') gets exactly one
|
|
74
|
-
// group and the sort plus pair loop below run byte-identical to the
|
|
75
|
-
// pre-fix global pass.
|
|
76
|
-
const entriesByTenant = new Map();
|
|
77
|
-
for (const entry of entries) {
|
|
78
|
-
const bucket = entriesByTenant.get(entry.tenantId);
|
|
79
|
-
if (bucket)
|
|
80
|
-
bucket.push(entry);
|
|
81
|
-
else
|
|
82
|
-
entriesByTenant.set(entry.tenantId, [entry]);
|
|
83
|
-
}
|
|
84
|
-
// finiteCount mirrors strengthBucket's non-finite hardening on the
|
|
85
|
-
// retrieval leg: a NaN retrieval_count would make the comparator return
|
|
86
|
-
// NaN and break the total order the same way a NaN bucket would.
|
|
87
|
-
// Unreachable via the schema (non-nullable INTEGER column), so this is
|
|
88
|
-
// symmetry, not a live bug.
|
|
89
|
-
const finiteCount = (n) => Number.isFinite(n ?? 0) ? (n ?? 0) : 0;
|
|
90
|
-
// Shared across tenant groups: safe because memory ids are globally
|
|
91
|
-
// unique (crypto.randomUUID at creation), so an id in `removed` can never
|
|
92
|
-
// collide with another tenant's row, and deleteEntry below deletes by
|
|
93
|
-
// primary-key id alone.
|
|
94
|
-
const removed = new Set();
|
|
95
|
-
const pairs = [];
|
|
96
|
-
for (const tenantEntries of entriesByTenant.values()) {
|
|
97
|
-
// The v1.26.3 survivor total order (see the file-level docstring:
|
|
98
|
-
// strength bucket desc -> retrieval_count desc -> compareEntryIdentity),
|
|
99
|
-
// scoped per tenant group: the total order holds within a tenant only,
|
|
100
|
-
// matching the partition above.
|
|
101
|
-
tenantEntries.sort((a, b) => {
|
|
102
|
-
const bucketDiff = strengthBucket(b.strength) - strengthBucket(a.strength);
|
|
103
|
-
if (bucketDiff !== 0)
|
|
104
|
-
return bucketDiff;
|
|
105
|
-
const retrievalDiff = finiteCount(b.retrieval_count) - finiteCount(a.retrieval_count);
|
|
106
|
-
if (retrievalDiff !== 0)
|
|
107
|
-
return retrievalDiff;
|
|
108
|
-
return compareEntryIdentity(a, b);
|
|
109
|
-
});
|
|
110
|
-
for (let i = 0; i < tenantEntries.length; i++) {
|
|
111
|
-
if (removed.has(tenantEntries[i].id))
|
|
112
|
-
continue;
|
|
113
|
-
for (let j = i + 1; j < tenantEntries.length; j++) {
|
|
114
|
-
if (removed.has(tenantEntries[j].id))
|
|
115
|
-
continue;
|
|
116
|
-
const similarity = textOverlap(tenantEntries[i].content, tenantEntries[j].content);
|
|
117
|
-
if (similarity <= threshold)
|
|
118
|
-
continue;
|
|
119
|
-
removed.add(tenantEntries[j].id);
|
|
120
|
-
pairs.push({
|
|
121
|
-
kept: tenantEntries[i].id,
|
|
122
|
-
keptContent: tenantEntries[i].content,
|
|
123
|
-
keptLayer: tenantEntries[i].layer,
|
|
124
|
-
keptStrength: tenantEntries[i].strength ?? 0,
|
|
125
|
-
removed: tenantEntries[j].id,
|
|
126
|
-
removedContent: tenantEntries[j].content,
|
|
127
|
-
removedLayer: tenantEntries[j].layer,
|
|
128
|
-
removedStrength: tenantEntries[j].strength ?? 0,
|
|
129
|
-
similarity,
|
|
130
|
-
});
|
|
131
|
-
}
|
|
132
|
-
}
|
|
133
|
-
}
|
|
134
|
-
if (!dryRun) {
|
|
135
|
-
for (const id of removed) {
|
|
136
|
-
deleteEntry(hippoRoot, id);
|
|
137
|
-
}
|
|
138
|
-
}
|
|
139
|
-
return { removed: removed.size, pairs };
|
|
140
|
-
}
|
|
141
|
-
//# sourceMappingURL=dedupe.js.map
|
package/dist/src/dedupe.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"dedupe.js","sourceRoot":"","sources":["../../src/dedupe.ts"],"names":[],"mappings":"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"}
|