hippo-memory 1.59.0 → 1.61.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 +1 -1
- package/dist/ablation.js +9 -27
- package/dist/agent-memories/apply.js +4 -1
- package/dist/agent-memories/claude-code.js +1 -1
- package/dist/agent-memories/codex.js +1 -1
- package/dist/agent-memories/gemini.js +1 -1
- package/dist/agent-memories/legacy.js +1 -1
- package/dist/agent-memories/source.js +1 -1
- package/dist/agent-memories/sync.js +8 -3
- package/dist/ambient-store.d.ts +14 -0
- package/dist/ambient-store.js +90 -0
- package/dist/ambient.d.ts +23 -0
- package/dist/ambient.js +72 -50
- package/dist/api/assemble.d.ts +93 -0
- package/dist/api/assemble.js +152 -0
- package/dist/api/audit.d.ts +17 -0
- package/dist/api/audit.js +23 -0
- package/dist/api/auth.d.ts +79 -0
- package/dist/api/auth.js +178 -0
- package/dist/api/context-types.d.ts +105 -0
- package/dist/api/context-types.js +3 -0
- package/dist/api/context.d.ts +31 -0
- package/dist/api/context.js +705 -0
- package/dist/api/dormant.d.ts +30 -0
- package/dist/api/dormant.js +140 -0
- package/dist/api/drill-down.d.ts +84 -0
- package/dist/api/drill-down.js +123 -0
- package/dist/api/forget.d.ts +57 -0
- package/dist/api/forget.js +87 -0
- package/dist/api/goals.d.ts +18 -0
- package/dist/api/goals.js +33 -0
- package/dist/api/learn.d.ts +31 -0
- package/dist/api/learn.js +88 -0
- package/dist/api/outcome.d.ts +61 -0
- package/dist/api/outcome.js +66 -0
- package/dist/api/promote.d.ts +54 -0
- package/dist/api/promote.js +203 -0
- package/dist/api/quarantine.d.ts +24 -0
- package/dist/api/quarantine.js +121 -0
- package/dist/api/recall-types.d.ts +390 -0
- package/dist/api/recall-types.js +3 -0
- package/dist/api/recall.d.ts +36 -0
- package/dist/api/recall.js +634 -0
- package/dist/api/remember.d.ts +35 -0
- package/dist/api/remember.js +43 -0
- package/dist/api/sleep.d.ts +136 -0
- package/dist/api/sleep.js +271 -0
- package/dist/api/tokens.d.ts +26 -0
- package/dist/api/tokens.js +60 -0
- package/dist/api/types.d.ts +56 -0
- package/dist/api/types.js +38 -0
- package/dist/api.d.ts +20 -1260
- package/dist/api.js +25 -2711
- package/dist/audit.d.ts +3 -0
- package/dist/audit.js +7 -3
- package/dist/auth.d.ts +45 -4
- package/dist/auth.js +125 -48
- package/dist/autolearn.js +7 -4
- package/dist/capture/command.d.ts +33 -0
- package/dist/capture/command.js +264 -0
- package/dist/capture/compact.d.ts +44 -0
- package/dist/capture/compact.js +354 -0
- package/dist/capture/extract.d.ts +21 -0
- package/dist/capture/extract.js +464 -0
- package/dist/capture/transcript.d.ts +40 -0
- package/dist/capture/transcript.js +193 -0
- package/dist/capture-error.js +2 -1
- package/dist/churn-git.js +4 -2
- package/dist/cli/audit.d.ts +3 -0
- package/dist/cli/audit.js +159 -0
- package/dist/cli/auth.d.ts +2 -0
- package/dist/cli/auth.js +171 -0
- package/dist/cli/briefs.d.ts +4 -0
- package/dist/cli/briefs.js +435 -0
- package/dist/cli/card.d.ts +3 -0
- package/dist/cli/card.js +333 -0
- package/dist/cli/context.d.ts +15 -0
- package/dist/cli/context.js +366 -0
- package/dist/cli/continuity.d.ts +6 -0
- package/dist/cli/continuity.js +445 -0
- package/dist/cli/curate.d.ts +19 -0
- package/dist/cli/curate.js +555 -0
- package/dist/cli/dag.d.ts +5 -0
- package/dist/cli/dag.js +177 -0
- package/dist/cli/decisions.d.ts +4 -0
- package/dist/cli/decisions.js +528 -0
- package/dist/cli/eval.d.ts +5 -0
- package/dist/cli/eval.js +213 -0
- package/dist/cli/explain.d.ts +4 -0
- package/dist/cli/explain.js +150 -0
- package/dist/cli/goals.d.ts +2 -0
- package/dist/cli/goals.js +196 -0
- package/dist/cli/hook-blocks.d.ts +18 -0
- package/dist/cli/hook-blocks.js +233 -0
- package/dist/cli/init.d.ts +2 -0
- package/dist/cli/init.js +305 -0
- package/dist/cli/maintenance.d.ts +4 -0
- package/dist/cli/maintenance.js +179 -0
- package/dist/cli/playbooks.d.ts +4 -0
- package/dist/cli/playbooks.js +556 -0
- package/dist/cli/projects.js +1 -1
- package/dist/cli/recall.d.ts +7 -0
- package/dist/cli/recall.js +597 -0
- package/dist/cli/remember.d.ts +5 -0
- package/dist/cli/remember.js +442 -0
- package/dist/cli/serve.d.ts +5 -0
- package/dist/cli/serve.js +40 -0
- package/dist/cli/session-hooks.d.ts +29 -0
- package/dist/cli/session-hooks.js +637 -0
- package/dist/cli/setup.d.ts +4 -0
- package/dist/cli/setup.js +376 -0
- package/dist/cli/shared.d.ts +15 -19
- package/dist/cli/shared.js +50 -341
- package/dist/cli/slack.d.ts +2 -0
- package/dist/cli/slack.js +171 -0
- package/dist/cli/status.d.ts +18 -0
- package/dist/cli/status.js +400 -0
- package/dist/cli/transfer.d.ts +10 -0
- package/dist/cli/transfer.js +438 -0
- package/dist/cli/usage.d.ts +85 -0
- package/dist/cli/usage.js +741 -0
- package/dist/cli.d.ts +319 -13
- package/dist/cli.js +436 -8580
- package/dist/client.js +15 -8
- package/dist/compaction-record.js +12 -9
- package/dist/config.js +12 -11
- package/dist/connectors/github/backfill.js +94 -87
- package/dist/connectors/github/cli-impl.js +5 -3
- package/dist/connectors/github/dlq.js +67 -54
- package/dist/connectors/github/ingest.js +34 -35
- package/dist/connectors/github/tenant-routing.js +3 -2
- package/dist/connectors/github/webhook.js +135 -216
- package/dist/connectors/slack/dlq.js +49 -61
- package/dist/connectors/slack/ingest.js +55 -48
- package/dist/connectors/slack/tenant-routing.js +4 -3
- package/dist/connectors/slack/webhook.js +72 -74
- package/dist/consolidate/conflicts.d.ts +10 -0
- package/dist/consolidate/conflicts.js +178 -0
- package/dist/consolidate/decay.d.ts +12 -0
- package/dist/consolidate/decay.js +145 -0
- package/dist/consolidate/llm-passes.d.ts +3 -0
- package/dist/consolidate/llm-passes.js +141 -0
- package/dist/consolidate/merge.d.ts +7 -0
- package/dist/consolidate/merge.js +251 -0
- package/dist/consolidate/physics-pass.d.ts +3 -0
- package/dist/consolidate/physics-pass.js +60 -0
- package/dist/consolidate/run.d.ts +69 -0
- package/dist/consolidate/run.js +76 -0
- package/dist/consolidate/sleep.d.ts +18 -0
- package/dist/consolidate/sleep.js +209 -0
- package/dist/consolidate/traces.d.ts +4 -0
- package/dist/consolidate/traces.js +178 -0
- package/dist/context-auto.js +7 -11
- package/dist/context-render.d.ts +1 -1
- package/dist/context-render.js +1 -1
- package/dist/customer-notes.d.ts +3 -0
- package/dist/customer-notes.js +6 -4
- package/dist/dag.js +13 -12
- package/dist/dashboard-actions.d.ts +20 -0
- package/dist/dashboard-actions.js +88 -0
- package/dist/dashboard-params.d.ts +45 -0
- package/dist/dashboard-params.js +127 -0
- package/dist/dashboard-queries.d.ts +15 -0
- package/dist/dashboard-queries.js +355 -0
- package/dist/dashboard-snapshot.d.ts +138 -0
- package/dist/dashboard-snapshot.js +308 -0
- package/dist/dashboard-types.d.ts +163 -0
- package/dist/dashboard-types.js +3 -0
- package/dist/dashboard.d.ts +6 -7
- package/dist/dashboard.js +231 -203
- package/dist/db/busy.d.ts +5 -0
- package/dist/db/busy.js +24 -0
- package/dist/db/continuity.d.ts +5 -0
- package/dist/db/continuity.js +145 -0
- package/dist/db/meta.d.ts +8 -0
- package/dist/db/meta.js +35 -0
- package/dist/db/migrate.d.ts +9 -0
- package/dist/db/migrate.js +138 -0
- package/dist/db/migrations/index.d.ts +5 -0
- package/dist/db/migrations/index.js +109 -0
- package/dist/db/migrations/types.d.ts +14 -0
- package/dist/db/migrations/types.js +2 -0
- package/dist/db/migrations/v01.d.ts +3 -0
- package/dist/db/migrations/v01.js +38 -0
- package/dist/db/migrations/v02.d.ts +3 -0
- package/dist/db/migrations/v02.js +21 -0
- package/dist/db/migrations/v03.d.ts +3 -0
- package/dist/db/migrations/v03.js +22 -0
- package/dist/db/migrations/v04.d.ts +3 -0
- package/dist/db/migrations/v04.js +28 -0
- package/dist/db/migrations/v05.d.ts +3 -0
- package/dist/db/migrations/v05.js +21 -0
- package/dist/db/migrations/v06.d.ts +3 -0
- package/dist/db/migrations/v06.js +25 -0
- package/dist/db/migrations/v07.d.ts +3 -0
- package/dist/db/migrations/v07.js +13 -0
- package/dist/db/migrations/v08.d.ts +3 -0
- package/dist/db/migrations/v08.js +8 -0
- package/dist/db/migrations/v09.d.ts +3 -0
- package/dist/db/migrations/v09.js +13 -0
- package/dist/db/migrations/v10.d.ts +3 -0
- package/dist/db/migrations/v10.js +17 -0
- package/dist/db/migrations/v11.d.ts +3 -0
- package/dist/db/migrations/v11.js +15 -0
- package/dist/db/migrations/v12.d.ts +3 -0
- package/dist/db/migrations/v12.js +11 -0
- package/dist/db/migrations/v13.d.ts +3 -0
- package/dist/db/migrations/v13.js +15 -0
- package/dist/db/migrations/v14.d.ts +3 -0
- package/dist/db/migrations/v14.js +66 -0
- package/dist/db/migrations/v15.d.ts +3 -0
- package/dist/db/migrations/v15.js +42 -0
- package/dist/db/migrations/v16.d.ts +3 -0
- package/dist/db/migrations/v16.js +61 -0
- package/dist/db/migrations/v17.d.ts +3 -0
- package/dist/db/migrations/v17.js +46 -0
- package/dist/db/migrations/v18.d.ts +3 -0
- package/dist/db/migrations/v18.js +60 -0
- package/dist/db/migrations/v19.d.ts +3 -0
- package/dist/db/migrations/v19.js +28 -0
- package/dist/db/migrations/v20.d.ts +3 -0
- package/dist/db/migrations/v20.js +42 -0
- package/dist/db/migrations/v21.d.ts +3 -0
- package/dist/db/migrations/v21.js +16 -0
- package/dist/db/migrations/v22.d.ts +3 -0
- package/dist/db/migrations/v22.js +82 -0
- package/dist/db/migrations/v23.d.ts +3 -0
- package/dist/db/migrations/v23.js +48 -0
- package/dist/db/migrations/v24.d.ts +3 -0
- package/dist/db/migrations/v24.js +72 -0
- package/dist/db/migrations/v25.d.ts +3 -0
- package/dist/db/migrations/v25.js +46 -0
- package/dist/db/migrations/v26.d.ts +3 -0
- package/dist/db/migrations/v26.js +23 -0
- package/dist/db/migrations/v27.d.ts +3 -0
- package/dist/db/migrations/v27.js +57 -0
- package/dist/db/migrations/v28.d.ts +3 -0
- package/dist/db/migrations/v28.js +38 -0
- package/dist/db/migrations/v29.d.ts +3 -0
- package/dist/db/migrations/v29.js +78 -0
- package/dist/db/migrations/v30.d.ts +3 -0
- package/dist/db/migrations/v30.js +92 -0
- package/dist/db/migrations/v31.d.ts +3 -0
- package/dist/db/migrations/v31.js +74 -0
- package/dist/db/migrations/v32.d.ts +3 -0
- package/dist/db/migrations/v32.js +102 -0
- package/dist/db/migrations/v33.d.ts +3 -0
- package/dist/db/migrations/v33.js +104 -0
- package/dist/db/migrations/v34.d.ts +3 -0
- package/dist/db/migrations/v34.js +93 -0
- package/dist/db/migrations/v35.d.ts +3 -0
- package/dist/db/migrations/v35.js +98 -0
- package/dist/db/migrations/v36.d.ts +3 -0
- package/dist/db/migrations/v36.js +98 -0
- package/dist/db/migrations/v37.d.ts +3 -0
- package/dist/db/migrations/v37.js +219 -0
- package/dist/db/migrations/v38.d.ts +3 -0
- package/dist/db/migrations/v38.js +277 -0
- package/dist/db/migrations/v39.d.ts +3 -0
- package/dist/db/migrations/v39.js +59 -0
- package/dist/db/migrations/v40.d.ts +3 -0
- package/dist/db/migrations/v40.js +74 -0
- package/dist/db/migrations/v41.d.ts +3 -0
- package/dist/db/migrations/v41.js +43 -0
- package/dist/db/migrations/v42.d.ts +3 -0
- package/dist/db/migrations/v42.js +41 -0
- package/dist/db/migrations/v43.d.ts +3 -0
- package/dist/db/migrations/v43.js +67 -0
- package/dist/db/migrations/v44.d.ts +3 -0
- package/dist/db/migrations/v44.js +28 -0
- package/dist/db/migrations/v45.d.ts +3 -0
- package/dist/db/migrations/v45.js +30 -0
- package/dist/db/migrations/v46.d.ts +3 -0
- package/dist/db/migrations/v46.js +25 -0
- package/dist/db/migrations/v47.d.ts +3 -0
- package/dist/db/migrations/v47.js +17 -0
- package/dist/db/migrations/v48.d.ts +3 -0
- package/dist/db/migrations/v48.js +10 -0
- package/dist/db/migrations/v49.d.ts +3 -0
- package/dist/db/migrations/v49.js +31 -0
- package/dist/db/migrations/v50.d.ts +3 -0
- package/dist/db/migrations/v50.js +67 -0
- package/dist/db/migrations/v51.d.ts +3 -0
- package/dist/db/migrations/v51.js +14 -0
- package/dist/db/migrations/v52.d.ts +3 -0
- package/dist/db/migrations/v52.js +7 -0
- package/dist/db/open.d.ts +23 -0
- package/dist/db/open.js +146 -0
- package/dist/db/sqlite.d.ts +21 -0
- package/dist/db/sqlite.js +8 -0
- package/dist/db/tables.d.ts +7 -0
- package/dist/db/tables.js +38 -0
- package/dist/db.d.ts +6 -46
- package/dist/db.js +5 -3036
- package/dist/decisions.d.ts +4 -1
- package/dist/decisions.js +9 -7
- package/dist/dedupe.js +3 -2
- package/dist/delivery-recorder.js +5 -1
- package/dist/doctor.js +4 -3
- package/dist/dormant.js +1 -0
- package/dist/embedding-provider.d.ts +1 -1
- package/dist/embedding-provider.js +7 -5
- package/dist/embeddings.d.ts +9 -52
- package/dist/embeddings.js +47 -298
- package/dist/env.d.ts +75 -0
- package/dist/env.js +119 -0
- package/dist/eval-suite.js +1 -1
- package/dist/eval.js +2 -2
- package/dist/extract.js +5 -4
- package/dist/gated-write.js +3 -1
- package/dist/goals.d.ts +3 -1
- package/dist/goals.js +18 -0
- package/dist/graph/read.d.ts +73 -0
- package/dist/graph/read.js +325 -0
- package/dist/graph/rows.d.ts +45 -0
- package/dist/graph/rows.js +51 -0
- package/dist/graph/types.d.ts +83 -0
- package/dist/graph/types.js +11 -0
- package/dist/graph/write.d.ts +93 -0
- package/dist/{graph.js → graph/write.js} +8 -391
- package/dist/graph-extract.js +2 -1
- package/dist/graph-recall.d.ts +1 -1
- package/dist/graph-recall.js +2 -2
- package/dist/graph-stream.js +1 -1
- package/dist/graph-view.d.ts +1 -1
- package/dist/graph-view.js +1 -1
- package/dist/half-life-migration.d.ts +1 -1
- package/dist/half-life-migration.js +2 -1
- package/dist/handoff.js +3 -0
- package/dist/hooks/codex-session.d.ts +8 -0
- package/dist/hooks/codex-session.js +76 -0
- package/dist/hooks/codex-wrapper.d.ts +55 -0
- package/dist/hooks/codex-wrapper.js +288 -0
- package/dist/hooks/json-hooks.d.ts +63 -0
- package/dist/hooks/json-hooks.js +356 -0
- package/dist/hooks/opencode.d.ts +50 -0
- package/dist/hooks/opencode.js +202 -0
- package/dist/hooks/shared.d.ts +54 -0
- package/dist/hooks/shared.js +77 -0
- package/dist/http-retry.d.ts +2 -0
- package/dist/http-retry.js +4 -3
- package/dist/http-util.d.ts +3 -0
- package/dist/http-util.js +10 -0
- package/dist/{importers.d.ts → importers/core.d.ts} +13 -17
- package/dist/importers/core.js +141 -0
- package/dist/importers/markdown-parse.d.ts +41 -0
- package/dist/importers/markdown-parse.js +132 -0
- package/dist/importers/markdown.d.ts +3 -0
- package/dist/importers/markdown.js +92 -0
- package/dist/importers/sources.d.ts +7 -0
- package/dist/importers/sources.js +229 -0
- package/dist/importers/vault.d.ts +11 -0
- package/dist/importers/vault.js +352 -0
- package/dist/incidents.d.ts +3 -0
- package/dist/incidents.js +8 -5
- package/dist/index.d.ts +25 -6
- package/dist/index.js +23 -6
- package/dist/invalidation.js +2 -1
- package/dist/judgment.js +7 -3
- package/dist/keyset.d.ts +13 -0
- package/dist/keyset.js +8 -0
- package/dist/local-embedding.d.ts +13 -0
- package/dist/local-embedding.js +165 -0
- package/dist/log.d.ts +7 -0
- package/dist/log.js +19 -1
- package/dist/mcp/admin-tools.d.ts +8 -0
- package/dist/mcp/admin-tools.js +116 -0
- package/dist/mcp/format.d.ts +27 -0
- package/dist/mcp/format.js +135 -0
- package/dist/mcp/memory-tools.d.ts +5 -0
- package/dist/mcp/memory-tools.js +83 -0
- package/dist/mcp/protocol.d.ts +83 -0
- package/dist/mcp/protocol.js +55 -0
- package/dist/mcp/recall-tools.d.ts +6 -0
- package/dist/mcp/recall-tools.js +320 -0
- package/dist/mcp/request.d.ts +10 -0
- package/dist/mcp/request.js +163 -0
- package/dist/mcp/server.d.ts +4 -70
- package/dist/mcp/server.js +8 -1172
- package/dist/mcp/session-state.d.ts +11 -0
- package/dist/mcp/session-state.js +28 -0
- package/dist/mcp/stdio.d.ts +8 -0
- package/dist/mcp/stdio.js +79 -0
- package/dist/mcp/tools.d.ts +11 -0
- package/dist/mcp/tools.js +247 -0
- package/dist/memory.d.ts +8 -3
- package/dist/memory.js +27 -1
- package/dist/multihop.d.ts +1 -1
- package/dist/multihop.js +2 -1
- package/dist/owner-validation.js +2 -1
- package/dist/physics-state.js +10 -7
- package/dist/policies.d.ts +3 -0
- package/dist/policies.js +8 -6
- package/dist/postinstall.js +3 -2
- package/dist/predictions/planning-fallacy.d.ts +100 -0
- package/dist/predictions/planning-fallacy.js +190 -0
- package/dist/{predictions.d.ts → predictions/store.d.ts} +7 -102
- package/dist/predictions/store.js +434 -0
- package/dist/processes.d.ts +3 -0
- package/dist/processes.js +8 -5
- package/dist/project-briefs.d.ts +3 -0
- package/dist/project-briefs.js +7 -5
- package/dist/project-identity.d.ts +1 -1
- package/dist/project-identity.js +12 -6
- package/dist/project-merge.js +3 -1
- package/dist/quarantine.d.ts +2 -1
- package/dist/quarantine.js +8 -5
- package/dist/raw-archive-mirror-cleanup.js +2 -1
- package/dist/raw-archive.js +1 -1
- package/dist/recall-history.js +3 -2
- package/dist/recall-pipeline.d.ts +2 -2
- package/dist/recall-pipeline.js +16 -8
- package/dist/recall-scope.js +1 -1
- package/dist/recall-trace.d.ts +3 -3
- package/dist/recall-trace.js +10 -14
- package/dist/refine-llm.js +20 -11
- package/dist/reject-flow.js +6 -1
- package/dist/rerankers/clef.d.ts +2 -2
- package/dist/rerankers/clef.js +72 -30
- package/dist/rerankers/cross-encoder.js +6 -4
- package/dist/rerankers/jev.d.ts +4 -2
- package/dist/rerankers/jev.js +24 -19
- package/dist/rerankers/llm.d.ts +4 -2
- package/dist/rerankers/llm.js +61 -41
- package/dist/rerankers/types.d.ts +1 -1
- package/dist/salience.js +1 -1
- package/dist/same-text.d.ts +2 -0
- package/dist/same-text.js +4 -0
- package/dist/scheduler.d.ts +1 -0
- package/dist/scheduler.js +26 -3
- package/dist/scope.js +4 -3
- package/dist/search/as-of.d.ts +10 -0
- package/dist/search/as-of.js +22 -0
- package/dist/search/bm25-search.d.ts +14 -0
- package/dist/search/bm25-search.js +43 -0
- package/dist/search/bm25.d.ts +15 -0
- package/dist/search/bm25.js +54 -0
- package/dist/search/boosts.d.ts +54 -0
- package/dist/search/boosts.js +94 -0
- package/dist/search/breakdown.d.ts +7 -0
- package/dist/search/breakdown.js +20 -0
- package/dist/search/explain.d.ts +25 -0
- package/dist/search/explain.js +31 -0
- package/dist/search/finalize.d.ts +8 -0
- package/dist/search/finalize.js +52 -0
- package/dist/search/fusion.d.ts +27 -0
- package/dist/search/fusion.js +42 -0
- package/dist/search/hybrid-score.d.ts +20 -0
- package/dist/search/hybrid-score.js +73 -0
- package/dist/search/hybrid.d.ts +46 -0
- package/dist/search/hybrid.js +64 -0
- package/dist/search/physics-search.d.ts +29 -0
- package/dist/search/physics-search.js +162 -0
- package/dist/search/rerank.d.ts +10 -0
- package/dist/search/rerank.js +72 -0
- package/dist/search/temporal.d.ts +15 -0
- package/dist/search/temporal.js +45 -0
- package/dist/search/types.d.ts +91 -0
- package/dist/search/types.js +2 -0
- package/dist/search/vector.d.ts +30 -0
- package/dist/search/vector.js +71 -0
- package/dist/secret-detect.d.ts +2 -0
- package/dist/secret-detect.js +3 -1
- package/dist/server/auth.d.ts +52 -0
- package/dist/server/auth.js +221 -0
- package/dist/server/client-ip.d.ts +25 -0
- package/dist/server/client-ip.js +92 -0
- package/dist/server/cursor.d.ts +23 -0
- package/dist/server/cursor.js +58 -0
- package/dist/server/lifecycle.d.ts +7 -0
- package/dist/server/lifecycle.js +29 -0
- package/dist/server/mcp-http.d.ts +5 -0
- package/dist/server/mcp-http.js +199 -0
- package/dist/server/request.d.ts +33 -0
- package/dist/server/request.js +103 -0
- package/dist/server/routes/admin.d.ts +9 -0
- package/dist/server/routes/admin.js +158 -0
- package/dist/server/routes/customer-notes.d.ts +7 -0
- package/dist/server/routes/customer-notes.js +112 -0
- package/dist/server/routes/decisions.d.ts +7 -0
- package/dist/server/routes/decisions.js +133 -0
- package/dist/server/routes/incidents.d.ts +7 -0
- package/dist/server/routes/incidents.js +126 -0
- package/dist/server/routes/memories.d.ts +10 -0
- package/dist/server/routes/memories.js +179 -0
- package/dist/server/routes/policies.d.ts +8 -0
- package/dist/server/routes/policies.js +151 -0
- package/dist/server/routes/predictions.d.ts +7 -0
- package/dist/server/routes/predictions.js +164 -0
- package/dist/server/routes/processes.d.ts +7 -0
- package/dist/server/routes/processes.js +161 -0
- package/dist/server/routes/project-briefs.d.ts +8 -0
- package/dist/server/routes/project-briefs.js +136 -0
- package/dist/server/routes/recall.d.ts +8 -0
- package/dist/server/routes/recall.js +340 -0
- package/dist/server/routes/skills.d.ts +8 -0
- package/dist/server/routes/skills.js +150 -0
- package/dist/server/types.d.ts +56 -0
- package/dist/server/types.js +2 -0
- package/dist/server/validation.d.ts +14 -0
- package/dist/server/validation.js +91 -0
- package/dist/server.d.ts +7 -61
- package/dist/server.js +92 -2368
- package/dist/session-digest.d.ts +1 -1
- package/dist/session-digest.js +9 -2
- package/dist/shared.d.ts +3 -1
- package/dist/shared.js +46 -40
- package/dist/skills.d.ts +3 -0
- package/dist/skills.js +7 -5
- package/dist/stdin.js +3 -2
- package/dist/store/audit-event.d.ts +19 -0
- package/dist/store/audit-event.js +33 -0
- package/dist/store/candidates.d.ts +42 -0
- package/dist/store/candidates.js +152 -0
- package/dist/store/conflicts.d.ts +44 -0
- package/dist/store/conflicts.js +444 -0
- package/dist/store/delete-and-batch.d.ts +63 -0
- package/dist/store/delete-and-batch.js +310 -0
- package/dist/store/entry-reads.d.ts +92 -0
- package/dist/store/entry-reads.js +255 -0
- package/dist/store/entry-row.d.ts +67 -0
- package/dist/store/entry-row.js +208 -0
- package/dist/store/entry-writes.d.ts +46 -0
- package/dist/store/entry-writes.js +148 -0
- package/dist/store/handoffs.d.ts +26 -0
- package/dist/store/handoffs.js +184 -0
- package/dist/store/index-and-stats.d.ts +52 -0
- package/dist/store/index-and-stats.js +214 -0
- package/dist/store/markdown.d.ts +10 -0
- package/dist/store/markdown.js +108 -0
- package/dist/store/mirrors.d.ts +49 -0
- package/dist/store/mirrors.js +312 -0
- package/dist/store/open.d.ts +15 -0
- package/dist/store/open.js +223 -0
- package/dist/store/rows.d.ts +178 -0
- package/dist/store/rows.js +158 -0
- package/dist/store/search-rows.d.ts +86 -0
- package/dist/store/search-rows.js +254 -0
- package/dist/store/sessions.d.ts +83 -0
- package/dist/store/sessions.js +272 -0
- package/dist/store/summaries.d.ts +94 -0
- package/dist/store/summaries.js +377 -0
- package/dist/store/tenant-lookup.d.ts +12 -0
- package/dist/store/tenant-lookup.js +16 -0
- package/dist/store-cards.js +2 -1
- package/dist/summary-dirty.d.ts +4 -0
- package/dist/summary-dirty.js +32 -0
- package/dist/support-bundle.js +4 -3
- package/dist/tenant.js +2 -2
- package/dist/token-ledger.js +1 -0
- package/dist/tokenize.d.ts +2 -0
- package/dist/tokenize.js +16 -0
- package/dist/transcript-tail.d.ts +7 -0
- package/dist/transcript-tail.js +48 -0
- package/dist/vector-store.d.ts +27 -0
- package/dist/vector-store.js +210 -0
- package/dist/version.d.ts +2 -2
- package/dist/version.js +2 -2
- package/dist/working-memory.js +1 -1
- package/dist/yaml.js +36 -11
- package/dist-ui/assets/ibm-plex-mono-latin-400-normal-CvHOgSBP.woff +0 -0
- package/dist-ui/assets/ibm-plex-mono-latin-400-normal-DMJ8VG8y.woff2 +0 -0
- package/dist-ui/assets/ibm-plex-mono-latin-500-normal-CB9ihrfo.woff +0 -0
- package/dist-ui/assets/ibm-plex-mono-latin-500-normal-DSY6xOcd.woff2 +0 -0
- package/dist-ui/assets/ibm-plex-mono-latin-600-normal-BgSNZQsw.woff2 +0 -0
- package/dist-ui/assets/ibm-plex-mono-latin-600-normal-DWFSQ4vo.woff +0 -0
- package/dist-ui/assets/ibm-plex-sans-latin-400-normal-CDDApCn2.woff2 +0 -0
- package/dist-ui/assets/ibm-plex-sans-latin-400-normal-CYLoc0-x.woff +0 -0
- package/dist-ui/assets/ibm-plex-sans-latin-500-normal-6ng42L7E.woff2 +0 -0
- package/dist-ui/assets/ibm-plex-sans-latin-500-normal-BgVn5rGT.woff +0 -0
- package/dist-ui/assets/ibm-plex-sans-latin-600-normal-Cu4Hd6ag.woff +0 -0
- package/dist-ui/assets/ibm-plex-sans-latin-600-normal-CuJfVYMP.woff2 +0 -0
- package/dist-ui/assets/index-DPN7cP19.js +33 -0
- package/dist-ui/assets/index-dFloKRVr.css +1 -0
- package/dist-ui/index.html +3 -25
- 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 +2 -1
- package/dist/capture.d.ts +0 -155
- package/dist/capture.js +0 -1293
- package/dist/consolidate.d.ts +0 -58
- package/dist/consolidate.js +0 -1123
- package/dist/graph.d.ts +0 -245
- package/dist/hooks.d.ts +0 -208
- package/dist/hooks.js +0 -1073
- package/dist/importers.js +0 -897
- package/dist/predictions.js +0 -620
- package/dist/search.d.ts +0 -320
- package/dist/search.js +0 -968
- package/dist/store.d.ts +0 -744
- package/dist/store.js +0 -3372
- package/dist-ui/assets/d3-BiWEKnn4.js +0 -1
- package/dist-ui/assets/index-BhT8RvO6.js +0 -61
- package/dist-ui/assets/index-RoXXJ5dq.css +0 -1
- package/dist-ui/assets/three-BDgTxR1l.js +0 -4112
package/dist/decisions.d.ts
CHANGED
|
@@ -20,9 +20,10 @@
|
|
|
20
20
|
*
|
|
21
21
|
* Dual-write atomicity: `saveDecision` writes the memory + decisions row (and,
|
|
22
22
|
* when superseding, the old row's UPDATE) inside writeEntry's SAVEPOINT
|
|
23
|
-
* 'write_entry' (store.ts
|
|
23
|
+
* 'write_entry' (store/entry-writes.ts) via the afterWrite hook, so a failure in any
|
|
24
24
|
* step rolls all of them back. Pattern matches savePrediction (predictions.ts).
|
|
25
25
|
*/
|
|
26
|
+
import { type KeysetPosition } from './keyset.js';
|
|
26
27
|
export type DecisionStatus = 'active' | 'superseded' | 'closed';
|
|
27
28
|
export declare const VALID_DECISION_STATES: ReadonlySet<DecisionStatus>;
|
|
28
29
|
export interface Decision {
|
|
@@ -54,6 +55,8 @@ export interface SaveDecisionOpts {
|
|
|
54
55
|
export interface ListDecisionsOpts {
|
|
55
56
|
status?: DecisionStatus;
|
|
56
57
|
limit?: number;
|
|
58
|
+
/** Resume after this row: the position the previous page ended on. */
|
|
59
|
+
after?: KeysetPosition;
|
|
57
60
|
}
|
|
58
61
|
/**
|
|
59
62
|
* Create a decision. Writes the memory mirror + the decisions row atomically
|
package/dist/decisions.js
CHANGED
|
@@ -20,17 +20,18 @@
|
|
|
20
20
|
*
|
|
21
21
|
* Dual-write atomicity: `saveDecision` writes the memory + decisions row (and,
|
|
22
22
|
* when superseding, the old row's UPDATE) inside writeEntry's SAVEPOINT
|
|
23
|
-
* 'write_entry' (store.ts
|
|
23
|
+
* 'write_entry' (store/entry-writes.ts) via the afterWrite hook, so a failure in any
|
|
24
24
|
* step rolls all of them back. Pattern matches savePrediction (predictions.ts).
|
|
25
25
|
*/
|
|
26
26
|
import { BadRequestError, ConflictError, NotFoundError } from './api-errors.js';
|
|
27
27
|
import { openHippoDb, closeHippoDb } from './db.js';
|
|
28
|
-
import { writeEntry } from './store.js';
|
|
28
|
+
import { writeEntry } from './store/entry-writes.js';
|
|
29
29
|
import { assertTenantId } from './tenant.js';
|
|
30
|
-
import { markGraphDirty, removeGraphEntitiesForObject } from './graph.js';
|
|
30
|
+
import { markGraphDirty, removeGraphEntitiesForObject } from './graph/write.js';
|
|
31
31
|
import { createMemory, Layer } from './memory.js';
|
|
32
32
|
import { appendAuditEvent } from './audit.js';
|
|
33
33
|
import { objectHalfLifeDays } from './half-life-migration.js';
|
|
34
|
+
import { keysetAfter } from './keyset.js';
|
|
34
35
|
export const VALID_DECISION_STATES = new Set([
|
|
35
36
|
'active',
|
|
36
37
|
'superseded',
|
|
@@ -252,6 +253,7 @@ export function loadDecisionById(hippoRoot, tenantId, id) {
|
|
|
252
253
|
export function loadDecisions(hippoRoot, tenantId, opts = {}) {
|
|
253
254
|
assertTenantId('loadDecisions', tenantId);
|
|
254
255
|
const limit = opts.limit ?? 100;
|
|
256
|
+
const after = keysetAfter('created_at', 'id', opts.after);
|
|
255
257
|
const db = openHippoDb(hippoRoot);
|
|
256
258
|
try {
|
|
257
259
|
let rows;
|
|
@@ -262,19 +264,19 @@ export function loadDecisions(hippoRoot, tenantId, opts = {}) {
|
|
|
262
264
|
// SAFETY: rows' shape matches the columns named in DECISION_COLS above.
|
|
263
265
|
rows = db.prepare(`
|
|
264
266
|
SELECT ${DECISION_COLS} FROM decisions
|
|
265
|
-
WHERE tenant_id = ? AND status =
|
|
267
|
+
WHERE tenant_id = ? AND status = ?${after.sql}
|
|
266
268
|
ORDER BY created_at DESC, id DESC
|
|
267
269
|
LIMIT ?
|
|
268
|
-
`).all(tenantId, opts.status, limit);
|
|
270
|
+
`).all(tenantId, opts.status, ...after.params, limit);
|
|
269
271
|
}
|
|
270
272
|
else {
|
|
271
273
|
// SAFETY: rows' shape matches the columns named in DECISION_COLS above.
|
|
272
274
|
rows = db.prepare(`
|
|
273
275
|
SELECT ${DECISION_COLS} FROM decisions
|
|
274
|
-
WHERE tenant_id =
|
|
276
|
+
WHERE tenant_id = ?${after.sql}
|
|
275
277
|
ORDER BY created_at DESC, id DESC
|
|
276
278
|
LIMIT ?
|
|
277
|
-
`).all(tenantId, limit);
|
|
279
|
+
`).all(tenantId, ...after.params, limit);
|
|
278
280
|
}
|
|
279
281
|
return rows.map(rowToDecision);
|
|
280
282
|
}
|
package/dist/dedupe.js
CHANGED
|
@@ -20,8 +20,9 @@
|
|
|
20
20
|
* WITHIN each tenant group; cross-tenant pairs are never compared. Raw and
|
|
21
21
|
* superseded rows are not candidates at all (v1.38.1).
|
|
22
22
|
*/
|
|
23
|
-
import { textOverlap } from './
|
|
24
|
-
import { loadAllEntries
|
|
23
|
+
import { textOverlap } from './tokenize.js';
|
|
24
|
+
import { loadAllEntries } from './store/entry-reads.js';
|
|
25
|
+
import { deleteEntry, memoriesBackingObjects } from './store/delete-and-batch.js';
|
|
25
26
|
import { compareEntryIdentity } from './compare.js';
|
|
26
27
|
import { canAutoDelete } from './memory.js';
|
|
27
28
|
import { derivationPartitionKey } from './recall-scope.js';
|
|
@@ -1,3 +1,6 @@
|
|
|
1
|
+
// In-memory observer for one pinned-only context call: what was considered, why each was rejected, what reached stdout.
|
|
2
|
+
// No DB access (the caller hands build()'s output to src/recall-trace.ts); hashes, ids, counts and enums only, never text.
|
|
3
|
+
import { envTestDeliveryFault } from './env.js';
|
|
1
4
|
import { evalNow } from './ablation.js';
|
|
2
5
|
import { scoreOverlap } from './prompt-recall.js';
|
|
3
6
|
import { blockHash, estimateTokens, hookPayloadSessionId, hookPayloadString, isSubagentPayload } from './token-ledger.js';
|
|
@@ -26,7 +29,7 @@ export function createDeliveryRecorder(init) {
|
|
|
26
29
|
const startedMs = Date.now();
|
|
27
30
|
const ts = evalNow().toISOString();
|
|
28
31
|
// Test-only fault injection, as HIPPO_FAKE_NOW is for time.
|
|
29
|
-
const fault =
|
|
32
|
+
const fault = envTestDeliveryFault();
|
|
30
33
|
const payloadSession = hookPayloadSessionId(init.stdinText);
|
|
31
34
|
const subagent = isSubagentPayload(init.stdinText);
|
|
32
35
|
const envSession = init.envSessionId !== undefined && init.envSessionId !== '' ? init.envSessionId : null;
|
|
@@ -205,6 +208,7 @@ export function createDeliveryRecorder(init) {
|
|
|
205
208
|
return;
|
|
206
209
|
flushed = true;
|
|
207
210
|
if (broken !== null) {
|
|
211
|
+
// Same pinned `[hippo] delivery ledger` hook stderr line as recall-trace.ts's write failure.
|
|
208
212
|
console.error(`[hippo] delivery ledger skipped: recorder failed: ${broken}`);
|
|
209
213
|
return;
|
|
210
214
|
}
|
package/dist/doctor.js
CHANGED
|
@@ -9,12 +9,12 @@ import * as os from 'node:os';
|
|
|
9
9
|
import * as path from 'node:path';
|
|
10
10
|
import { findHippoStoreDir } from './project-identity.js';
|
|
11
11
|
import { getGlobalRoot } from './shared.js';
|
|
12
|
-
import { isInitialized } from './store.js';
|
|
12
|
+
import { isInitialized } from './store/open.js';
|
|
13
13
|
import { loadConfig } from './config.js';
|
|
14
14
|
import { openHippoDbReadOnly, closeHippoDb, getSchemaVersion, getCurrentSchemaVersion, countTableRows, IncompatibleBinaryError } from './db.js';
|
|
15
15
|
import { REPLAY_AFTER_MS, TRANSCRIPT_FILL_WINDOW_MS } from './compaction-record.js';
|
|
16
|
-
import { isEmbeddingAvailable } from './
|
|
17
|
-
import { CODEX_TRUST_LINE, codexHomeDir, isCodexPresent, isJsonObject } from './hooks.js';
|
|
16
|
+
import { isEmbeddingAvailable } from './local-embedding.js';
|
|
17
|
+
import { CODEX_TRUST_LINE, codexHomeDir, isCodexPresent, isJsonObject } from './hooks/shared.js';
|
|
18
18
|
import { planUserGlobalRepair } from './project-merge.js';
|
|
19
19
|
import { resolveTenantId } from './tenant.js';
|
|
20
20
|
/** Minimum Node.js version hippo supports (package.json engines). */
|
|
@@ -36,6 +36,7 @@ function readJson(file) {
|
|
|
36
36
|
return JSON.parse(fs.readFileSync(file, 'utf8'));
|
|
37
37
|
}
|
|
38
38
|
catch {
|
|
39
|
+
// A missing or corrupt file is the finding doctor reports, so null is the answer.
|
|
39
40
|
return null;
|
|
40
41
|
}
|
|
41
42
|
}
|
package/dist/dormant.js
CHANGED
|
@@ -30,7 +30,7 @@
|
|
|
30
30
|
* `fetch` and are integration-verified in Workstream C (real API calls are
|
|
31
31
|
* egress-blocked in the build sandbox).
|
|
32
32
|
*/
|
|
33
|
-
import { type EmbeddingRole } from './
|
|
33
|
+
import { type EmbeddingRole } from './local-embedding.js';
|
|
34
34
|
export type EmbeddingProviderKind = 'local' | 'openai' | 'voyage' | 'cohere';
|
|
35
35
|
export declare const API_PROVIDER_KINDS: readonly EmbeddingProviderKind[];
|
|
36
36
|
export interface EmbeddingProvider {
|
|
@@ -30,9 +30,10 @@
|
|
|
30
30
|
* `fetch` and are integration-verified in Workstream C (real API calls are
|
|
31
31
|
* egress-blocked in the build sandbox).
|
|
32
32
|
*/
|
|
33
|
-
import {
|
|
33
|
+
import { envByName } from './env.js';
|
|
34
|
+
import { getEmbedding, isEmbeddingAvailable, resolveEmbeddingModel, DEFAULT_EMBEDDING_MODEL, } from './local-embedding.js';
|
|
34
35
|
import { loadConfig } from './config.js';
|
|
35
|
-
import {
|
|
36
|
+
import { redactSecretsStrict } from './secret-detect.js';
|
|
36
37
|
import { fetchWithRetry } from './http-retry.js';
|
|
37
38
|
export const API_PROVIDER_KINDS = ['openai', 'voyage', 'cohere'];
|
|
38
39
|
function isApiProviderKind(x) {
|
|
@@ -160,12 +161,12 @@ class ApiEmbeddingProvider {
|
|
|
160
161
|
return API_PROVIDER_SPECS[this.kind].keyEnv;
|
|
161
162
|
}
|
|
162
163
|
isAvailable() {
|
|
163
|
-
return this.enabled && !!
|
|
164
|
+
return this.enabled && !!envByName(this.keyEnv)?.trim();
|
|
164
165
|
}
|
|
165
166
|
async embed(texts, role) {
|
|
166
167
|
if (texts.length === 0)
|
|
167
168
|
return [];
|
|
168
|
-
const key =
|
|
169
|
+
const key = envByName(this.keyEnv)?.trim();
|
|
169
170
|
if (!key) {
|
|
170
171
|
// Hard, actionable failure — never includes a key value (there is none).
|
|
171
172
|
throw new Error(`Embedding provider '${this.kind}' is configured but ${this.keyEnv} is not set. ` +
|
|
@@ -191,7 +192,7 @@ class ApiEmbeddingProvider {
|
|
|
191
192
|
'content-type': 'application/json',
|
|
192
193
|
authorization: `Bearer ${key}`,
|
|
193
194
|
},
|
|
194
|
-
body: JSON.stringify(spec.buildBody(this.model, chunk.map(
|
|
195
|
+
body: JSON.stringify(spec.buildBody(this.model, chunk.map(redactSecretsStrict), role)),
|
|
195
196
|
}, { timeoutMs: REQUEST_TIMEOUT_MS });
|
|
196
197
|
}
|
|
197
198
|
catch (err) {
|
|
@@ -237,6 +238,7 @@ function readEmbeddingsConfig(hippoRoot) {
|
|
|
237
238
|
return loadConfig(hippoRoot).embeddings;
|
|
238
239
|
}
|
|
239
240
|
catch {
|
|
241
|
+
// An unreadable config falls back to provider defaults; loadConfig warns on a bad parse.
|
|
240
242
|
return {};
|
|
241
243
|
}
|
|
242
244
|
}
|
package/dist/embeddings.d.ts
CHANGED
|
@@ -4,9 +4,9 @@
|
|
|
4
4
|
* Falls back silently if the library is not installed.
|
|
5
5
|
*/
|
|
6
6
|
import { MemoryEntry } from './memory.js';
|
|
7
|
+
import { EMBEDDING_MODEL_META_KEY } from './vector-store.js';
|
|
7
8
|
import { type EmbeddingProvider } from './embedding-provider.js';
|
|
8
|
-
export
|
|
9
|
-
export declare const EMBEDDING_MODEL_META_KEY = "embedding_model";
|
|
9
|
+
export { EMBEDDING_MODEL_META_KEY };
|
|
10
10
|
/**
|
|
11
11
|
* Bump whenever `embeddingInputText`'s composition changes in a way that
|
|
12
12
|
* changes the resulting vectors for existing entries. Folded into the stored
|
|
@@ -57,39 +57,6 @@ export declare function embeddingInputText(entry: {
|
|
|
57
57
|
content: string;
|
|
58
58
|
tags: string[];
|
|
59
59
|
}): string;
|
|
60
|
-
/**
|
|
61
|
-
* Per-model pooling dispatch for Transformers.js's feature-extraction
|
|
62
|
-
* pipeline. BGE family models were trained with CLS pooling (per BAAI's
|
|
63
|
-
* official inference code in `FlagEmbedding`); MiniLM and most sentence-
|
|
64
|
-
* transformers models use mean pooling. Unknown model ids default to mean
|
|
65
|
-
* — that is the safe choice because most third-party models adopt the
|
|
66
|
-
* sentence-transformers convention, and the alternative ('cls') silently
|
|
67
|
-
* degrades vector quality for mean-pooling models.
|
|
68
|
-
*/
|
|
69
|
-
export declare function poolingFor(model: string): 'cls' | 'mean';
|
|
70
|
-
/**
|
|
71
|
-
* Per-model input-prefix dispatch. The intfloat/e5 family was trained with
|
|
72
|
-
* asymmetric "query: " / "passage: " prefixes — the model only matches the
|
|
73
|
-
* two halves correctly when each side carries its prefix at inference. BGE
|
|
74
|
-
* also has prefix conventions for some downstream tasks, but symmetric use
|
|
75
|
-
* without prefixes is the documented default for `bge-*-en-v1.5`, so we leave
|
|
76
|
-
* BGE alone here. Symmetric models (MiniLM, BGE) and unknown models return
|
|
77
|
-
* an empty prefix.
|
|
78
|
-
*
|
|
79
|
-
* `role` semantics:
|
|
80
|
-
* - 'query' — the text is the user's question / search input.
|
|
81
|
-
* - 'passage' — the text is a document being indexed.
|
|
82
|
-
* - undefined or absent — symmetric path; no prefix is applied even for
|
|
83
|
-
* asymmetric models (preserves backwards compatibility with the legacy
|
|
84
|
-
* two-argument `getEmbedding(text, model)` API).
|
|
85
|
-
*/
|
|
86
|
-
export type EmbeddingRole = 'query' | 'passage';
|
|
87
|
-
export declare function prefixFor(model: string, role?: EmbeddingRole): string;
|
|
88
|
-
/**
|
|
89
|
-
* Check (synchronously) if @xenova/transformers or @huggingface/transformers is installed.
|
|
90
|
-
*/
|
|
91
|
-
export declare function isEmbeddingAvailable(): boolean;
|
|
92
|
-
export declare function resolveEmbeddingModel(hippoRoot: string, explicitModel?: string): string;
|
|
93
60
|
/**
|
|
94
61
|
* Persist the stored-index identity for `model` (see `embeddingIndexIdentity`).
|
|
95
62
|
* Versioning happens INSIDE this function, not at call sites, so every caller
|
|
@@ -99,29 +66,19 @@ export declare function resolveEmbeddingModel(hippoRoot: string, explicitModel?:
|
|
|
99
66
|
export declare function saveStoredEmbeddingModel(hippoRoot: string, model: string): void;
|
|
100
67
|
export declare function resolveIndexedEmbeddingModel(hippoRoot: string, index?: Record<string, number[]>): string | null;
|
|
101
68
|
export declare function embeddingModelRequiresReindex(hippoRoot: string, model: string, index?: Record<string, number[]>): boolean;
|
|
102
|
-
/**
|
|
103
|
-
* Get an embedding vector for a piece of text.
|
|
104
|
-
* Returns an empty array if transformers is not available or fails.
|
|
105
|
-
*
|
|
106
|
-
* Pass `role: 'query'` / `'passage'` to engage asymmetric prefixing for
|
|
107
|
-
* model families that require it (currently intfloat/e5-*). Omitting `role`
|
|
108
|
-
* keeps the legacy symmetric behavior (no prefix), so BGE / MiniLM callers
|
|
109
|
-
* don't need to change.
|
|
110
|
-
*/
|
|
111
|
-
export declare function getEmbedding(text: string, model?: string, role?: EmbeddingRole): Promise<number[]>;
|
|
112
69
|
/**
|
|
113
70
|
* Cosine similarity between two vectors. Handles unnormalized vectors.
|
|
114
71
|
* Returns 0 for empty or mismatched vectors.
|
|
115
72
|
*/
|
|
116
73
|
export declare function cosineSimilarity(a: number[], b: number[]): number;
|
|
117
|
-
/**
|
|
118
|
-
* Load the cached embedding index; `{}` when the file is missing. A corrupt file is moved aside and rebuilt on the next embed; any other read error throws, so nothing saves over an index it could not read.
|
|
119
|
-
*/
|
|
74
|
+
/** Every stored vector keyed by memory id; `{}` when none. Search reads only the rows it ranks via `loadStoredVectors`. */
|
|
120
75
|
export declare function loadEmbeddingIndex(hippoRoot: string): Record<string, number[]>;
|
|
121
|
-
/**
|
|
122
|
-
|
|
123
|
-
*/
|
|
124
|
-
export declare function
|
|
76
|
+
/** Stored vectors for `ids` only. */
|
|
77
|
+
export declare function loadStoredVectors(hippoRoot: string, ids: readonly string[]): Map<string, number[]>;
|
|
78
|
+
/** Whether the store holds any vector at all. */
|
|
79
|
+
export declare function hasEmbeddings(hippoRoot: string): boolean;
|
|
80
|
+
/** Replace every stored vector with `index`; `model` defaults to the stored index identity. */
|
|
81
|
+
export declare function saveEmbeddingIndex(hippoRoot: string, index: Record<string, number[]>, model?: string): void;
|
|
125
82
|
/**
|
|
126
83
|
* Embed a single memory entry and cache the result in the embedding index.
|
|
127
84
|
*/
|