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
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"consolidate.js","sourceRoot":"","sources":["../../src/consolidate.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,74 +0,0 @@
|
|
|
1
|
-
function percentile(sorted, q) {
|
|
2
|
-
if (sorted.length === 0)
|
|
3
|
-
return 0;
|
|
4
|
-
if (sorted.length === 1)
|
|
5
|
-
return sorted[0];
|
|
6
|
-
const idx = (sorted.length - 1) * q;
|
|
7
|
-
const lo = Math.floor(idx);
|
|
8
|
-
const hi = Math.ceil(idx);
|
|
9
|
-
if (lo === hi)
|
|
10
|
-
return sorted[lo];
|
|
11
|
-
return sorted[lo] + (sorted[hi] - sorted[lo]) * (idx - lo);
|
|
12
|
-
}
|
|
13
|
-
/**
|
|
14
|
-
* Correction latency = wall-clock delta between when hippo first saw the
|
|
15
|
-
* change-of-truth and when the supersession actually landed.
|
|
16
|
-
*
|
|
17
|
-
* For each (old, new) chain via `old.superseded_by = new.id`:
|
|
18
|
-
* - `correctedAt` = `new.created` (always)
|
|
19
|
-
* - `observedAt` = source row's `created` if `new.extracted_from` is set,
|
|
20
|
-
* else `new.created` (no earlier observation possible)
|
|
21
|
-
*
|
|
22
|
-
* Pairs split into two cohorts:
|
|
23
|
-
* - `extraction` — derived from a raw receipt; latency is meaningful
|
|
24
|
-
* - `manual` — direct supersede call; latency is trivially 0 and
|
|
25
|
-
* excluded from percentiles to avoid masking real lag
|
|
26
|
-
*/
|
|
27
|
-
export function buildCorrectionLatency(entries) {
|
|
28
|
-
const byId = new Map();
|
|
29
|
-
for (const e of entries)
|
|
30
|
-
byId.set(e.id, e);
|
|
31
|
-
const pairs = [];
|
|
32
|
-
for (const oldEntry of entries) {
|
|
33
|
-
if (!oldEntry.superseded_by)
|
|
34
|
-
continue;
|
|
35
|
-
const newEntry = byId.get(oldEntry.superseded_by);
|
|
36
|
-
if (!newEntry)
|
|
37
|
-
continue;
|
|
38
|
-
const correctedAt = newEntry.created;
|
|
39
|
-
let observedAt = newEntry.created;
|
|
40
|
-
let via = 'manual';
|
|
41
|
-
if (newEntry.extracted_from) {
|
|
42
|
-
const source = byId.get(newEntry.extracted_from);
|
|
43
|
-
if (source) {
|
|
44
|
-
observedAt = source.created;
|
|
45
|
-
via = 'extraction';
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
const correctedMs = new Date(correctedAt).getTime();
|
|
49
|
-
const observedMs = new Date(observedAt).getTime();
|
|
50
|
-
if (!Number.isFinite(correctedMs) || !Number.isFinite(observedMs))
|
|
51
|
-
continue;
|
|
52
|
-
const latencyMs = Math.max(0, correctedMs - observedMs);
|
|
53
|
-
pairs.push({
|
|
54
|
-
oldId: oldEntry.id,
|
|
55
|
-
newId: newEntry.id,
|
|
56
|
-
correctedAt,
|
|
57
|
-
observedAt,
|
|
58
|
-
latencyMs,
|
|
59
|
-
via,
|
|
60
|
-
});
|
|
61
|
-
}
|
|
62
|
-
const extractionPairs = pairs.filter((p) => p.via === 'extraction');
|
|
63
|
-
const sorted = extractionPairs.map((p) => p.latencyMs).sort((a, b) => a - b);
|
|
64
|
-
return {
|
|
65
|
-
count: pairs.length,
|
|
66
|
-
manualCount: pairs.filter((p) => p.via === 'manual').length,
|
|
67
|
-
extractionCount: extractionPairs.length,
|
|
68
|
-
p50Ms: sorted.length === 0 ? null : percentile(sorted, 0.5),
|
|
69
|
-
p95Ms: sorted.length === 0 ? null : percentile(sorted, 0.95),
|
|
70
|
-
maxMs: sorted.length === 0 ? null : sorted[sorted.length - 1],
|
|
71
|
-
pairs,
|
|
72
|
-
};
|
|
73
|
-
}
|
|
74
|
-
//# sourceMappingURL=correction-latency.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"correction-latency.js","sourceRoot":"","sources":["../../src/correction-latency.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,325 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* E2 customer_note first-class object - the LAST E2 object
|
|
3
|
-
* (docs/plans/2026-06-01-e2-customer-note-object.md).
|
|
4
|
-
*
|
|
5
|
-
* A `customer_note` is a discrete note recorded against an account/customer entity:
|
|
6
|
-
* a `note` body scoped to a `customer`, evolving via the supersede delta lifecycle.
|
|
7
|
-
* Entity-scoping is a free-form `customer` column (the `entities` table is unbuilt -
|
|
8
|
-
* E3.1 planned - so an FK is deferred). Unlike project_brief's one-summary-per-repo,
|
|
9
|
-
* a customer accrues MANY discrete notes over time, each with its own supersede chain
|
|
10
|
-
* (correct a note -> a new version preserving history; close retires it).
|
|
11
|
-
*
|
|
12
|
-
* Reuses the project_brief/skill supersede machinery verbatim (superseded_by self-FK
|
|
13
|
-
* + CAS + INSERT-preflight + server-derived version + change_summary + supersede
|
|
14
|
-
* tenant-match trigger). It has NO assembler/renderer (the simplest E2 object): the
|
|
15
|
-
* contribution is purely the entity-scoping dimension.
|
|
16
|
-
*
|
|
17
|
-
* The `customer_notes` table is the source of truth (survives memory decay); the
|
|
18
|
-
* memory mirror is for recall. memory_id is NULLABLE with ON DELETE SET NULL.
|
|
19
|
-
*
|
|
20
|
-
* Lifecycle: active -> superseded (a corrected version) or active -> closed (retired).
|
|
21
|
-
*/
|
|
22
|
-
import { openHippoDb, closeHippoDb } from './db.js';
|
|
23
|
-
import { writeEntry, assertTenantId } from './store.js';
|
|
24
|
-
import { markGraphDirty, removeGraphEntitiesForObject } from './graph.js';
|
|
25
|
-
import { createMemory, Layer, CUSTOMER_NOTE_HALF_LIFE_DAYS } from './memory.js';
|
|
26
|
-
import { appendAuditEvent } from './audit.js';
|
|
27
|
-
export const VALID_NOTE_STATES = new Set([
|
|
28
|
-
'active',
|
|
29
|
-
'superseded',
|
|
30
|
-
'closed',
|
|
31
|
-
]);
|
|
32
|
-
/** Field caps (untrusted at the HTTP/SDK boundary). note is a body, so a larger cap
|
|
33
|
-
* than the 4096 short-field convention. */
|
|
34
|
-
export const MAX_CUSTOMER_LEN = 256;
|
|
35
|
-
export const MAX_NOTE_LEN = 8192;
|
|
36
|
-
export const MAX_CHANGE_SUMMARY_LEN = 4096;
|
|
37
|
-
// ---------------------------------------------------------------------------
|
|
38
|
-
// Validation
|
|
39
|
-
// ---------------------------------------------------------------------------
|
|
40
|
-
/**
|
|
41
|
-
* Validate + normalise note fields. `customer` is trimmed and MUST be a single line
|
|
42
|
-
* (no newlines): it becomes a `customer:<lc>` recall tag AND an identifier. `note` is
|
|
43
|
-
* kept verbatim (operator content) but capped. Returns the normalised customer.
|
|
44
|
-
*/
|
|
45
|
-
function validateNoteFields(customer, note, changeSummary) {
|
|
46
|
-
const normalizedCustomer = (customer ?? '').trim();
|
|
47
|
-
if (normalizedCustomer.length === 0)
|
|
48
|
-
throw new Error('saveCustomerNote: customer is required');
|
|
49
|
-
if (/[\r\n]/.test(normalizedCustomer)) {
|
|
50
|
-
throw new Error('saveCustomerNote: customer must be a single line (no newlines)');
|
|
51
|
-
}
|
|
52
|
-
if (normalizedCustomer.length > MAX_CUSTOMER_LEN) {
|
|
53
|
-
throw new Error(`saveCustomerNote: customer exceeds the ${MAX_CUSTOMER_LEN}-char cap`);
|
|
54
|
-
}
|
|
55
|
-
if (!note || note.trim().length === 0) {
|
|
56
|
-
throw new Error('saveCustomerNote: note is required');
|
|
57
|
-
}
|
|
58
|
-
if (note.length > MAX_NOTE_LEN) {
|
|
59
|
-
throw new Error(`saveCustomerNote: note exceeds the ${MAX_NOTE_LEN}-char cap`);
|
|
60
|
-
}
|
|
61
|
-
if (changeSummary !== undefined && changeSummary.length > MAX_CHANGE_SUMMARY_LEN) {
|
|
62
|
-
throw new Error(`saveCustomerNote: changeSummary exceeds the ${MAX_CHANGE_SUMMARY_LEN}-char cap`);
|
|
63
|
-
}
|
|
64
|
-
return { customer: normalizedCustomer };
|
|
65
|
-
}
|
|
66
|
-
function rowToCustomerNote(row) {
|
|
67
|
-
return {
|
|
68
|
-
id: row.id,
|
|
69
|
-
memoryId: row.memory_id,
|
|
70
|
-
tenantId: row.tenant_id,
|
|
71
|
-
customer: row.customer,
|
|
72
|
-
note: row.note,
|
|
73
|
-
version: row.version,
|
|
74
|
-
// SAFETY: row.status is DB-constrained to NoteStatus values; every INSERT/
|
|
75
|
-
// UPDATE in this file writes only the literal 'active' | 'superseded' | 'closed'.
|
|
76
|
-
status: row.status,
|
|
77
|
-
supersededBy: row.superseded_by,
|
|
78
|
-
supersededAt: row.superseded_at,
|
|
79
|
-
changeSummary: row.change_summary,
|
|
80
|
-
closedAt: row.closed_at,
|
|
81
|
-
createdAt: row.created_at,
|
|
82
|
-
};
|
|
83
|
-
}
|
|
84
|
-
const NOTE_COLS = `
|
|
85
|
-
id, memory_id, tenant_id, customer, note, version, status,
|
|
86
|
-
superseded_by, superseded_at, change_summary, closed_at, created_at
|
|
87
|
-
`;
|
|
88
|
-
/** Recall-surface content for the memory mirror: customer + note. Named (mirrors
|
|
89
|
-
* buildBriefContent) so the recall surface is deterministic + unit-testable. */
|
|
90
|
-
function buildNoteContent(customer, note) {
|
|
91
|
-
return `${customer}\n\n${note}`;
|
|
92
|
-
}
|
|
93
|
-
// ---------------------------------------------------------------------------
|
|
94
|
-
// Public API
|
|
95
|
-
// ---------------------------------------------------------------------------
|
|
96
|
-
/**
|
|
97
|
-
* Create a customer_note (or a new version that supersedes an existing one). Writes
|
|
98
|
-
* the memory mirror + the customer_notes row atomically inside writeEntry's SAVEPOINT.
|
|
99
|
-
* When supersedesNoteId is given, the referenced ACTIVE row is preflighted (status +
|
|
100
|
-
* version) BEFORE the INSERT, then CAS-UPDATEd -> superseded in the same SAVEPOINT;
|
|
101
|
-
* the new version = predecessor.version + 1 (server-derived).
|
|
102
|
-
*
|
|
103
|
-
* The memory mirror carries a `customer:<lc>` tag (in addition to ['customer_note']
|
|
104
|
-
* + caller extraTags) so scope-aware recall treats the note as entity-local - the
|
|
105
|
-
* project_brief codex-P2 recall-locality lesson applied to entity scoping. There is
|
|
106
|
-
* no self-recursion path (customer_note has no receipt-query/refresh).
|
|
107
|
-
*/
|
|
108
|
-
export function saveCustomerNote(hippoRoot, tenantId, opts, actor = 'cli') {
|
|
109
|
-
assertTenantId('saveCustomerNote', tenantId);
|
|
110
|
-
const { customer } = validateNoteFields(opts.customer, opts.note, opts.changeSummary);
|
|
111
|
-
const isSupersede = opts.supersedesNoteId !== undefined;
|
|
112
|
-
const changeSummary = isSupersede ? (opts.changeSummary ?? null) : null;
|
|
113
|
-
const now = new Date().toISOString();
|
|
114
|
-
const content = buildNoteContent(customer, opts.note);
|
|
115
|
-
const tags = ['customer_note', `customer:${customer.toLowerCase()}`, ...(opts.extraTags ?? [])];
|
|
116
|
-
const mem = createMemory(content, {
|
|
117
|
-
tags,
|
|
118
|
-
layer: Layer.Semantic,
|
|
119
|
-
confidence: 'verified',
|
|
120
|
-
source: 'customer_note',
|
|
121
|
-
tenantId,
|
|
122
|
-
});
|
|
123
|
-
mem.half_life_days = CUSTOMER_NOTE_HALF_LIFE_DAYS;
|
|
124
|
-
let savedRow;
|
|
125
|
-
writeEntry(hippoRoot, mem, {
|
|
126
|
-
actor,
|
|
127
|
-
afterWrite: (db, memoryId) => {
|
|
128
|
-
// Preflight the supersede target BEFORE inserting the new row (so the new
|
|
129
|
-
// autoincrement id can never be its own supersede target); read the
|
|
130
|
-
// predecessor version in the same SELECT for server-derived versioning.
|
|
131
|
-
// Mirrors saveProjectBrief / saveSkill (codex P1 2026-05-28).
|
|
132
|
-
let version = 1;
|
|
133
|
-
if (opts.supersedesNoteId !== undefined) {
|
|
134
|
-
// SAFETY: SELECT projects exactly status, version; .get() returns that
|
|
135
|
-
// shape for the matching row, or undefined when no note/tenant pair matches.
|
|
136
|
-
const pred = db.prepare(`SELECT status, version FROM customer_notes WHERE id = ? AND tenant_id = ?`).get(opts.supersedesNoteId, tenantId);
|
|
137
|
-
if (!pred) {
|
|
138
|
-
throw new Error(`saveCustomerNote: note ${opts.supersedesNoteId} to supersede not found for tenant ${tenantId}`);
|
|
139
|
-
}
|
|
140
|
-
if (pred.status !== 'active') {
|
|
141
|
-
throw new Error(`saveCustomerNote: note ${opts.supersedesNoteId} is not active (status='${pred.status}'); only active notes can be superseded.`);
|
|
142
|
-
}
|
|
143
|
-
version = pred.version + 1;
|
|
144
|
-
}
|
|
145
|
-
const result = db.prepare(`
|
|
146
|
-
INSERT INTO customer_notes(
|
|
147
|
-
memory_id, tenant_id, customer, note, version,
|
|
148
|
-
status, superseded_by, superseded_at, change_summary, closed_at, created_at
|
|
149
|
-
) VALUES (?, ?, ?, ?, ?, 'active', NULL, NULL, ?, NULL, ?)
|
|
150
|
-
`).run(memoryId, tenantId, customer, opts.note, version, changeSummary, now);
|
|
151
|
-
const noteId = Number(result.lastInsertRowid ?? 0);
|
|
152
|
-
if (opts.supersedesNoteId !== undefined) {
|
|
153
|
-
const sup = db.prepare(`
|
|
154
|
-
UPDATE customer_notes
|
|
155
|
-
SET status = 'superseded', superseded_by = ?, superseded_at = ?
|
|
156
|
-
WHERE id = ? AND tenant_id = ? AND status = 'active' AND id != ?
|
|
157
|
-
`).run(noteId, now, opts.supersedesNoteId, tenantId, noteId);
|
|
158
|
-
if (sup.changes === 0) {
|
|
159
|
-
throw new Error(`saveCustomerNote: note ${opts.supersedesNoteId} could not be superseded (no longer active or self-reference).`);
|
|
160
|
-
}
|
|
161
|
-
appendAuditEvent(db, {
|
|
162
|
-
tenantId,
|
|
163
|
-
actor,
|
|
164
|
-
op: 'customer_note_supersede',
|
|
165
|
-
targetId: String(opts.supersedesNoteId),
|
|
166
|
-
metadata: {
|
|
167
|
-
note_id: opts.supersedesNoteId,
|
|
168
|
-
superseded_by: noteId,
|
|
169
|
-
new_version: version,
|
|
170
|
-
},
|
|
171
|
-
});
|
|
172
|
-
}
|
|
173
|
-
// SAFETY: SELECT ${NOTE_COLS} projects exactly the CustomerNoteRow columns;
|
|
174
|
-
// .get() returns that row, or undefined only if the just-inserted id can't
|
|
175
|
-
// be found.
|
|
176
|
-
const row = db.prepare(`SELECT ${NOTE_COLS} FROM customer_notes WHERE id = ?`)
|
|
177
|
-
.get(noteId);
|
|
178
|
-
if (!row)
|
|
179
|
-
throw new Error('saveCustomerNote: failed to reload saved note row');
|
|
180
|
-
savedRow = row;
|
|
181
|
-
// GDPR-light metadata: ids + flags only, no note text.
|
|
182
|
-
appendAuditEvent(db, {
|
|
183
|
-
tenantId,
|
|
184
|
-
actor,
|
|
185
|
-
op: 'customer_note_create',
|
|
186
|
-
targetId: String(noteId),
|
|
187
|
-
metadata: {
|
|
188
|
-
note_id: noteId,
|
|
189
|
-
customer,
|
|
190
|
-
version,
|
|
191
|
-
},
|
|
192
|
-
});
|
|
193
|
-
},
|
|
194
|
-
afterCommit: () => markGraphDirty(hippoRoot, tenantId, mem.id),
|
|
195
|
-
});
|
|
196
|
-
if (!savedRow) {
|
|
197
|
-
throw new Error('saveCustomerNote: afterWrite did not populate the row');
|
|
198
|
-
}
|
|
199
|
-
return rowToCustomerNote(savedRow);
|
|
200
|
-
}
|
|
201
|
-
/**
|
|
202
|
-
* Close (retire) an active note. CAS guard WHERE status='active'; 0 changes
|
|
203
|
-
* distinguishes not-found from not-active. A superseded row is terminal.
|
|
204
|
-
*/
|
|
205
|
-
export function closeCustomerNote(hippoRoot, tenantId, id, actor = 'cli') {
|
|
206
|
-
assertTenantId('closeCustomerNote', tenantId);
|
|
207
|
-
const now = new Date().toISOString();
|
|
208
|
-
const db = openHippoDb(hippoRoot);
|
|
209
|
-
try {
|
|
210
|
-
db.exec('BEGIN IMMEDIATE');
|
|
211
|
-
try {
|
|
212
|
-
const updateResult = db.prepare(`
|
|
213
|
-
UPDATE customer_notes
|
|
214
|
-
SET status = 'closed', closed_at = ?
|
|
215
|
-
WHERE id = ? AND tenant_id = ? AND status = 'active'
|
|
216
|
-
`).run(now, id, tenantId);
|
|
217
|
-
if (updateResult.changes === 0) {
|
|
218
|
-
// SAFETY: SELECT projects exactly the status column; .get() returns that
|
|
219
|
-
// shape, or undefined when the id/tenant pair doesn't exist.
|
|
220
|
-
const existing = db.prepare(`SELECT status FROM customer_notes WHERE id = ? AND tenant_id = ?`).get(id, tenantId);
|
|
221
|
-
if (!existing) {
|
|
222
|
-
throw new Error(`closeCustomerNote: note ${id} not found for tenant ${tenantId}`);
|
|
223
|
-
}
|
|
224
|
-
throw new Error(`closeCustomerNote: note ${id} is not active (status='${existing.status}'); only active notes can be closed.`);
|
|
225
|
-
}
|
|
226
|
-
// SAFETY: SELECT ${NOTE_COLS} projects exactly the CustomerNoteRow columns;
|
|
227
|
-
// .get() returns that row for the just-updated id, or undefined only in an
|
|
228
|
-
// impossible race since the UPDATE above already matched it.
|
|
229
|
-
const row = db.prepare(`SELECT ${NOTE_COLS} FROM customer_notes WHERE id = ? AND tenant_id = ?`)
|
|
230
|
-
.get(id, tenantId);
|
|
231
|
-
if (!row)
|
|
232
|
-
throw new Error(`closeCustomerNote: note ${id} not found after UPDATE`);
|
|
233
|
-
appendAuditEvent(db, {
|
|
234
|
-
tenantId,
|
|
235
|
-
actor,
|
|
236
|
-
op: 'customer_note_close',
|
|
237
|
-
targetId: String(id),
|
|
238
|
-
metadata: { note_id: id },
|
|
239
|
-
});
|
|
240
|
-
db.exec('COMMIT');
|
|
241
|
-
const closed = rowToCustomerNote(row);
|
|
242
|
-
// Closing removes the object from the graph. Remove its rows DIRECTLY (deterministic),
|
|
243
|
-
// not only via an enqueued rebuild whose queue item is lost if the mirror is later
|
|
244
|
-
// forgotten (the queue row cascade-deletes with the memory), which would leave the closed
|
|
245
|
-
// object stale and could block that forget (codex P1). Still enqueue when a mirror exists
|
|
246
|
-
// so a concurrent rebuild re-derives consistently (harmless if it also runs).
|
|
247
|
-
removeGraphEntitiesForObject(hippoRoot, tenantId, 'customer', closed.id);
|
|
248
|
-
if (closed.memoryId) {
|
|
249
|
-
markGraphDirty(hippoRoot, tenantId, closed.memoryId);
|
|
250
|
-
}
|
|
251
|
-
return closed;
|
|
252
|
-
}
|
|
253
|
-
catch (e) {
|
|
254
|
-
try {
|
|
255
|
-
db.exec('ROLLBACK');
|
|
256
|
-
}
|
|
257
|
-
catch {
|
|
258
|
-
// Ignore rollback failures — the throw below is what matters.
|
|
259
|
-
}
|
|
260
|
-
throw e;
|
|
261
|
-
}
|
|
262
|
-
}
|
|
263
|
-
finally {
|
|
264
|
-
closeHippoDb(db);
|
|
265
|
-
}
|
|
266
|
-
}
|
|
267
|
-
export function loadCustomerNoteById(hippoRoot, tenantId, id) {
|
|
268
|
-
assertTenantId('loadCustomerNoteById', tenantId);
|
|
269
|
-
const db = openHippoDb(hippoRoot);
|
|
270
|
-
try {
|
|
271
|
-
// SAFETY: SELECT ${NOTE_COLS} projects exactly the CustomerNoteRow columns;
|
|
272
|
-
// .get() returns that row, or undefined when the id/tenant pair doesn't exist.
|
|
273
|
-
const row = db.prepare(`SELECT ${NOTE_COLS} FROM customer_notes WHERE id = ? AND tenant_id = ?`)
|
|
274
|
-
.get(id, tenantId);
|
|
275
|
-
return row ? rowToCustomerNote(row) : null;
|
|
276
|
-
}
|
|
277
|
-
finally {
|
|
278
|
-
closeHippoDb(db);
|
|
279
|
-
}
|
|
280
|
-
}
|
|
281
|
-
export function loadCustomerNotes(hippoRoot, tenantId, opts = {}) {
|
|
282
|
-
assertTenantId('loadCustomerNotes', tenantId);
|
|
283
|
-
const limit = opts.limit ?? 100;
|
|
284
|
-
if (opts.status && !VALID_NOTE_STATES.has(opts.status)) {
|
|
285
|
-
throw new Error(`loadCustomerNotes: status must be one of ${Array.from(VALID_NOTE_STATES).join('|')}; got ${opts.status}`);
|
|
286
|
-
}
|
|
287
|
-
const db = openHippoDb(hippoRoot);
|
|
288
|
-
try {
|
|
289
|
-
const clauses = ['tenant_id = ?'];
|
|
290
|
-
const params = [tenantId];
|
|
291
|
-
if (opts.status) {
|
|
292
|
-
clauses.push('status = ?');
|
|
293
|
-
params.push(opts.status);
|
|
294
|
-
}
|
|
295
|
-
if (opts.customer) {
|
|
296
|
-
clauses.push('customer = ?');
|
|
297
|
-
params.push(opts.customer);
|
|
298
|
-
}
|
|
299
|
-
params.push(limit);
|
|
300
|
-
// SAFETY: SELECT ${NOTE_COLS} projects exactly the CustomerNoteRow columns
|
|
301
|
-
// regardless of the dynamic WHERE clause built above; .all() returns rows
|
|
302
|
-
// in that shape.
|
|
303
|
-
const rows = db.prepare(`
|
|
304
|
-
SELECT ${NOTE_COLS} FROM customer_notes
|
|
305
|
-
WHERE ${clauses.join(' AND ')}
|
|
306
|
-
ORDER BY created_at DESC, id DESC
|
|
307
|
-
LIMIT ?
|
|
308
|
-
`).all(...params);
|
|
309
|
-
return rows.map(rowToCustomerNote);
|
|
310
|
-
}
|
|
311
|
-
finally {
|
|
312
|
-
closeHippoDb(db);
|
|
313
|
-
}
|
|
314
|
-
}
|
|
315
|
-
/**
|
|
316
|
-
* All ACTIVE notes for a customer, newest first. Returns a LIST (a customer accrues
|
|
317
|
-
* MANY notes) - this deliberately DIVERGES from project_brief's
|
|
318
|
-
* loadActiveBriefForRepo, which returns a single brief-or-null because a repo has one
|
|
319
|
-
* evolving summary. A future caller cloning the project_brief shape by analogy must
|
|
320
|
-
* not assume a single-return here; the plural name signals the list contract.
|
|
321
|
-
*/
|
|
322
|
-
export function loadActiveNotesForCustomer(hippoRoot, tenantId, customer, opts = {}) {
|
|
323
|
-
return loadCustomerNotes(hippoRoot, tenantId, { customer, status: 'active', limit: opts.limit });
|
|
324
|
-
}
|
|
325
|
-
//# sourceMappingURL=customer-notes.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"customer-notes.js","sourceRoot":"","sources":["../../src/customer-notes.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,4BAA4B,EAAE,MAAM,YAAY,CAAC;AAC1E,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,4BAA4B,EAAE,MAAM,aAAa,CAAC;AAChF,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAQ9C,MAAM,CAAC,MAAM,iBAAiB,GAA4B,IAAI,GAAG,CAAa;IAC5E,QAAQ;IACR,YAAY;IACZ,QAAQ;CACT,CAAC,CAAC;AAEH;4CAC4C;AAC5C,MAAM,CAAC,MAAM,gBAAgB,GAAG,GAAG,CAAC;AACpC,MAAM,CAAC,MAAM,YAAY,GAAG,IAAI,CAAC;AACjC,MAAM,CAAC,MAAM,sBAAsB,GAAG,IAAI,CAAC;AAyC3C,8EAA8E;AAC9E,aAAa;AACb,8EAA8E;AAE9E;;;;GAIG;AACH,SAAS,kBAAkB,CACzB,QAAgB,EAChB,IAAY,EACZ,aAAiC;IAEjC,MAAM,kBAAkB,GAAG,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IACnD,IAAI,kBAAkB,CAAC,MAAM,KAAK,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;IAC/F,IAAI,QAAQ,CAAC,IAAI,CAAC,kBAAkB,CAAC,EAAE,CAAC;QACtC,MAAM,IAAI,KAAK,CAAC,gEAAgE,CAAC,CAAC;IACpF,CAAC;IACD,IAAI,kBAAkB,CAAC,MAAM,GAAG,gBAAgB,EAAE,CAAC;QACjD,MAAM,IAAI,KAAK,CAAC,0CAA0C,gBAAgB,WAAW,CAAC,CAAC;IACzF,CAAC;IACD,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACtC,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;IACxD,CAAC;IACD,IAAI,IAAI,CAAC,MAAM,GAAG,YAAY,EAAE,CAAC;QAC/B,MAAM,IAAI,KAAK,CAAC,sCAAsC,YAAY,WAAW,CAAC,CAAC;IACjF,CAAC;IACD,IAAI,aAAa,KAAK,SAAS,IAAI,aAAa,CAAC,MAAM,GAAG,sBAAsB,EAAE,CAAC;QACjF,MAAM,IAAI,KAAK,CAAC,+CAA+C,sBAAsB,WAAW,CAAC,CAAC;IACpG,CAAC;IACD,OAAO,EAAE,QAAQ,EAAE,kBAAkB,EAAE,CAAC;AAC1C,CAAC;AAqBD,SAAS,iBAAiB,CAAC,GAAoB;IAC7C,OAAO;QACL,EAAE,EAAE,GAAG,CAAC,EAAE;QACV,QAAQ,EAAE,GAAG,CAAC,SAAS;QACvB,QAAQ,EAAE,GAAG,CAAC,SAAS;QACvB,QAAQ,EAAE,GAAG,CAAC,QAAQ;QACtB,IAAI,EAAE,GAAG,CAAC,IAAI;QACd,OAAO,EAAE,GAAG,CAAC,OAAO;QACpB,2EAA2E;QAC3E,kFAAkF;QAClF,MAAM,EAAE,GAAG,CAAC,MAAoB;QAChC,YAAY,EAAE,GAAG,CAAC,aAAa;QAC/B,YAAY,EAAE,GAAG,CAAC,aAAa;QAC/B,aAAa,EAAE,GAAG,CAAC,cAAc;QACjC,QAAQ,EAAE,GAAG,CAAC,SAAS;QACvB,SAAS,EAAE,GAAG,CAAC,UAAU;KAC1B,CAAC;AACJ,CAAC;AAED,MAAM,SAAS,GAAG;;;CAGjB,CAAC;AAEF;iFACiF;AACjF,SAAS,gBAAgB,CAAC,QAAgB,EAAE,IAAY;IACtD,OAAO,GAAG,QAAQ,OAAO,IAAI,EAAE,CAAC;AAClC,CAAC;AAED,8EAA8E;AAC9E,aAAa;AACb,8EAA8E;AAE9E;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,gBAAgB,CAC9B,SAAiB,EACjB,QAAgB,EAChB,IAA0B,EAC1B,QAAgB,KAAK;IAErB,cAAc,CAAC,kBAAkB,EAAE,QAAQ,CAAC,CAAC;IAC7C,MAAM,EAAE,QAAQ,EAAE,GAAG,kBAAkB,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;IACtF,MAAM,WAAW,GAAG,IAAI,CAAC,gBAAgB,KAAK,SAAS,CAAC;IACxD,MAAM,aAAa,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAExE,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IACrC,MAAM,OAAO,GAAG,gBAAgB,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IACtD,MAAM,IAAI,GAAG,CAAC,eAAe,EAAE,YAAY,QAAQ,CAAC,WAAW,EAAE,EAAE,EAAE,GAAG,CAAC,IAAI,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC,CAAC;IAChG,MAAM,GAAG,GAAG,YAAY,CAAC,OAAO,EAAE;QAChC,IAAI;QACJ,KAAK,EAAE,KAAK,CAAC,QAAQ;QACrB,UAAU,EAAE,UAAU;QACtB,MAAM,EAAE,eAAe;QACvB,QAAQ;KACT,CAAC,CAAC;IACH,GAAG,CAAC,cAAc,GAAG,4BAA4B,CAAC;IAElD,IAAI,QAAqC,CAAC;IAE1C,UAAU,CAAC,SAAS,EAAE,GAAG,EAAE;QACzB,KAAK;QACL,UAAU,EAAE,CAAC,EAAE,EAAE,QAAQ,EAAE,EAAE;YAC3B,0EAA0E;YAC1E,oEAAoE;YACpE,wEAAwE;YACxE,8DAA8D;YAC9D,IAAI,OAAO,GAAG,CAAC,CAAC;YAChB,IAAI,IAAI,CAAC,gBAAgB,KAAK,SAAS,EAAE,CAAC;gBACxC,uEAAuE;gBACvE,6EAA6E;gBAC7E,MAAM,IAAI,GAAG,EAAE,CAAC,OAAO,CACrB,2EAA2E,CAC5E,CAAC,GAAG,CAAC,IAAI,CAAC,gBAAgB,EAAE,QAAQ,CAExB,CAAC;gBACd,IAAI,CAAC,IAAI,EAAE,CAAC;oBACV,MAAM,IAAI,KAAK,CACb,0BAA0B,IAAI,CAAC,gBAAgB,sCAAsC,QAAQ,EAAE,CAChG,CAAC;gBACJ,CAAC;gBACD,IAAI,IAAI,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;oBAC7B,MAAM,IAAI,KAAK,CACb,0BAA0B,IAAI,CAAC,gBAAgB,2BAA2B,IAAI,CAAC,MAAM,0CAA0C,CAChI,CAAC;gBACJ,CAAC;gBACD,OAAO,GAAG,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC;YAC7B,CAAC;YAED,MAAM,MAAM,GAAG,EAAE,CAAC,OAAO,CAAC;;;;;OAKzB,CAAC,CAAC,GAAG,CACJ,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,IAAI,CAAC,IAAI,EACT,OAAO,EACP,aAAa,EACb,GAAG,CACJ,CAAC;YACF,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,eAAe,IAAI,CAAC,CAAC,CAAC;YAEnD,IAAI,IAAI,CAAC,gBAAgB,KAAK,SAAS,EAAE,CAAC;gBACxC,MAAM,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC;;;;SAItB,CAAC,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC,gBAAgB,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;gBAC7D,IAAI,GAAG,CAAC,OAAO,KAAK,CAAC,EAAE,CAAC;oBACtB,MAAM,IAAI,KAAK,CACb,0BAA0B,IAAI,CAAC,gBAAgB,gEAAgE,CAChH,CAAC;gBACJ,CAAC;gBACD,gBAAgB,CAAC,EAAE,EAAE;oBACnB,QAAQ;oBACR,KAAK;oBACL,EAAE,EAAE,yBAAyB;oBAC7B,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC;oBACvC,QAAQ,EAAE;wBACR,OAAO,EAAE,IAAI,CAAC,gBAAgB;wBAC9B,aAAa,EAAE,MAAM;wBACrB,WAAW,EAAE,OAAO;qBACrB;iBACF,CAAC,CAAC;YACL,CAAC;YAED,4EAA4E;YAC5E,2EAA2E;YAC3E,YAAY;YACZ,MAAM,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,UAAU,SAAS,mCAAmC,CAAC;iBAC3E,GAAG,CAAC,MAAM,CAAgC,CAAC;YAC9C,IAAI,CAAC,GAAG;gBAAE,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;YAC/E,QAAQ,GAAG,GAAG,CAAC;YAEf,uDAAuD;YACvD,gBAAgB,CAAC,EAAE,EAAE;gBACnB,QAAQ;gBACR,KAAK;gBACL,EAAE,EAAE,sBAAsB;gBAC1B,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC;gBACxB,QAAQ,EAAE;oBACR,OAAO,EAAE,MAAM;oBACf,QAAQ;oBACR,OAAO;iBACR;aACF,CAAC,CAAC;QACL,CAAC;QACD,WAAW,EAAE,GAAG,EAAE,CAAC,cAAc,CAAC,SAAS,EAAE,QAAQ,EAAE,GAAG,CAAC,EAAE,CAAC;KAC/D,CAAC,CAAC;IAEH,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAC;IAC3E,CAAC;IACD,OAAO,iBAAiB,CAAC,QAAQ,CAAC,CAAC;AACrC,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,iBAAiB,CAC/B,SAAiB,EACjB,QAAgB,EAChB,EAAU,EACV,QAAgB,KAAK;IAErB,cAAc,CAAC,mBAAmB,EAAE,QAAQ,CAAC,CAAC;IAC9C,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IACrC,MAAM,EAAE,GAAG,WAAW,CAAC,SAAS,CAAC,CAAC;IAClC,IAAI,CAAC;QACH,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;QAC3B,IAAI,CAAC;YACH,MAAM,YAAY,GAAG,EAAE,CAAC,OAAO,CAAC;;;;OAI/B,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,EAAE,QAAQ,CAAC,CAAC;YAE1B,IAAI,YAAY,CAAC,OAAO,KAAK,CAAC,EAAE,CAAC;gBAC/B,yEAAyE;gBACzE,6DAA6D;gBAC7D,MAAM,QAAQ,GAAG,EAAE,CAAC,OAAO,CACzB,kEAAkE,CACnE,CAAC,GAAG,CAAC,EAAE,EAAE,QAAQ,CAAmC,CAAC;gBACtD,IAAI,CAAC,QAAQ,EAAE,CAAC;oBACd,MAAM,IAAI,KAAK,CAAC,2BAA2B,EAAE,yBAAyB,QAAQ,EAAE,CAAC,CAAC;gBACpF,CAAC;gBACD,MAAM,IAAI,KAAK,CACb,2BAA2B,EAAE,2BAA2B,QAAQ,CAAC,MAAM,sCAAsC,CAC9G,CAAC;YACJ,CAAC;YAED,4EAA4E;YAC5E,2EAA2E;YAC3E,6DAA6D;YAC7D,MAAM,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,UAAU,SAAS,qDAAqD,CAAC;iBAC7F,GAAG,CAAC,EAAE,EAAE,QAAQ,CAAgC,CAAC;YACpD,IAAI,CAAC,GAAG;gBAAE,MAAM,IAAI,KAAK,CAAC,2BAA2B,EAAE,yBAAyB,CAAC,CAAC;YAElF,gBAAgB,CAAC,EAAE,EAAE;gBACnB,QAAQ;gBACR,KAAK;gBACL,EAAE,EAAE,qBAAqB;gBACzB,QAAQ,EAAE,MAAM,CAAC,EAAE,CAAC;gBACpB,QAAQ,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE;aAC1B,CAAC,CAAC;YAEH,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAClB,MAAM,MAAM,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC;YACtC,uFAAuF;YACvF,mFAAmF;YACnF,0FAA0F;YAC1F,0FAA0F;YAC1F,8EAA8E;YAC9E,4BAA4B,CAAC,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;YACzE,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;gBACpB,cAAc,CAAC,SAAS,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;YACvD,CAAC;YACD,OAAO,MAAM,CAAC;QAChB,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,IAAI,CAAC;gBACH,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YACtB,CAAC;YAAC,MAAM,CAAC;gBACP,8DAA8D;YAChE,CAAC;YACD,MAAM,CAAC,CAAC;QACV,CAAC;IACH,CAAC;YAAS,CAAC;QACT,YAAY,CAAC,EAAE,CAAC,CAAC;IACnB,CAAC;AACH,CAAC;AAED,MAAM,UAAU,oBAAoB,CAClC,SAAiB,EACjB,QAAgB,EAChB,EAAU;IAEV,cAAc,CAAC,sBAAsB,EAAE,QAAQ,CAAC,CAAC;IACjD,MAAM,EAAE,GAAG,WAAW,CAAC,SAAS,CAAC,CAAC;IAClC,IAAI,CAAC;QACH,4EAA4E;QAC5E,+EAA+E;QAC/E,MAAM,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,UAAU,SAAS,qDAAqD,CAAC;aAC7F,GAAG,CAAC,EAAE,EAAE,QAAQ,CAAgC,CAAC;QACpD,OAAO,GAAG,CAAC,CAAC,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAC7C,CAAC;YAAS,CAAC;QACT,YAAY,CAAC,EAAE,CAAC,CAAC;IACnB,CAAC;AACH,CAAC;AAED,MAAM,UAAU,iBAAiB,CAC/B,SAAiB,EACjB,QAAgB,EAChB,OAA8B,EAAE;IAEhC,cAAc,CAAC,mBAAmB,EAAE,QAAQ,CAAC,CAAC;IAC9C,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,GAAG,CAAC;IAChC,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;QACvD,MAAM,IAAI,KAAK,CACb,4CAA4C,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,IAAI,CAAC,MAAM,EAAE,CAC1G,CAAC;IACJ,CAAC;IACD,MAAM,EAAE,GAAG,WAAW,CAAC,SAAS,CAAC,CAAC;IAClC,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,CAAC,eAAe,CAAC,CAAC;QAClC,MAAM,MAAM,GAAc,CAAC,QAAQ,CAAC,CAAC;QACrC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YAC3B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC3B,CAAC;QACD,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YAC7B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC7B,CAAC;QACD,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACnB,2EAA2E;QAC3E,0EAA0E;QAC1E,iBAAiB;QACjB,MAAM,IAAI,GAAG,EAAE,CAAC,OAAO,CAAC;eACb,SAAS;cACV,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC;;;KAG9B,CAAC,CAAC,GAAG,CAAC,GAAG,MAAM,CAAsB,CAAC;QACvC,OAAO,IAAI,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;IACrC,CAAC;YAAS,CAAC;QACT,YAAY,CAAC,EAAE,CAAC,CAAC;IACnB,CAAC;AACH,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,0BAA0B,CACxC,SAAiB,EACjB,QAAgB,EAChB,QAAgB,EAChB,OAA2B,EAAE;IAE7B,OAAO,iBAAiB,CAAC,SAAS,EAAE,QAAQ,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;AACnG,CAAC"}
|