hippo-memory 2.0.0 → 2.1.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/dist/agent-memories/apply.d.ts +7 -5
- package/dist/agent-memories/apply.js +66 -39
- package/dist/agent-memories/claude-code.d.ts +8 -2
- package/dist/agent-memories/claude-code.js +26 -7
- package/dist/agent-memories/copilot.js +2 -1
- package/dist/agent-memories/files.js +2 -1
- package/dist/agent-memories/legacy.d.ts +6 -3
- package/dist/agent-memories/legacy.js +35 -14
- package/dist/agent-memories/markdown.d.ts +3 -1
- package/dist/agent-memories/markdown.js +3 -1
- package/dist/agent-memories/openclaw.js +5 -2
- package/dist/agent-memories/plan.js +11 -1
- package/dist/agent-memories/project-folds.js +2 -1
- package/dist/agent-memories/report.d.ts +4 -1
- package/dist/agent-memories/report.js +43 -9
- package/dist/agent-memories/source.d.ts +8 -2
- package/dist/agent-memories/source.js +11 -3
- package/dist/agent-memories/sync.d.ts +7 -2
- package/dist/agent-memories/sync.js +141 -101
- package/dist/api/assemble.d.ts +6 -4
- package/dist/api/assemble.js +11 -6
- package/dist/api/{audit.d.ts → auth/audit.d.ts} +18 -16
- package/dist/api/{audit.js → auth/audit.js} +11 -11
- package/dist/api/{auth.d.ts → auth/auth.d.ts} +19 -15
- package/dist/api/{auth.js → auth/auth.js} +46 -29
- package/dist/api/{quarantine.d.ts → auth/quarantine.d.ts} +8 -7
- package/dist/api/{quarantine.js → auth/quarantine.js} +8 -8
- package/dist/api/auth/session-owners.d.ts +10 -0
- package/dist/api/auth/session-owners.js +35 -0
- package/dist/api/availability.d.ts +3 -1
- package/dist/api/availability.js +3 -1
- package/dist/api/busy.d.ts +2 -0
- package/dist/api/busy.js +2 -0
- package/dist/api/cli-surface.d.ts +6 -0
- package/dist/api/cli-surface.js +6 -0
- package/dist/api/config-of.d.ts +5 -0
- package/dist/api/config-of.js +6 -0
- package/dist/api/context-auto.d.ts +4 -1
- package/dist/api/context-auto.js +10 -2
- package/dist/api/context-render.js +14 -7
- package/dist/api/context-select.d.ts +4 -1
- package/dist/api/context-select.js +23 -14
- package/dist/api/context-types.d.ts +38 -12
- package/dist/api/context.d.ts +8 -5
- package/dist/api/context.js +112 -57
- package/dist/api/continuity.d.ts +24 -21
- package/dist/api/continuity.js +18 -20
- package/dist/api/correction-latency.d.ts +3 -1
- package/dist/api/correction-latency.js +3 -1
- package/dist/api/error-reply.d.ts +4 -1
- package/dist/api/error-reply.js +12 -3
- package/dist/api/index.d.ts +39 -23
- package/dist/api/index.js +21 -23
- package/dist/api/instruction-detect.d.ts +4 -1
- package/dist/api/instruction-detect.js +75 -20
- package/dist/api/ledger-db.d.ts +15 -11
- package/dist/api/ledger-db.js +21 -23
- package/dist/api/memories/conflicts.d.ts +33 -0
- package/dist/api/memories/conflicts.js +67 -0
- package/dist/api/{forget.d.ts → memories/forget.d.ts} +11 -9
- package/dist/api/{forget.js → memories/forget.js} +22 -15
- package/dist/api/memories/memories.d.ts +27 -0
- package/dist/api/{memories.js → memories/memories.js} +16 -21
- package/dist/api/memories/outcome.d.ts +22 -0
- package/dist/api/{outcome.js → memories/outcome.js} +14 -8
- package/dist/api/memories/promote.d.ts +40 -0
- package/dist/api/{promote.js → memories/promote.js} +35 -22
- package/dist/api/memories/refine.d.ts +10 -0
- package/dist/api/memories/refine.js +12 -0
- package/dist/api/{remember-local.d.ts → memories/remember-local.d.ts} +16 -11
- package/dist/api/{remember-local.js → memories/remember-local.js} +34 -20
- package/dist/api/{remember.d.ts → memories/remember.d.ts} +19 -13
- package/dist/api/{remember.js → memories/remember.js} +42 -26
- package/dist/api/objects/cards.d.ts +39 -0
- package/dist/api/{cards.js → objects/cards.js} +12 -14
- package/dist/api/{drill-down.d.ts → objects/drill-down.d.ts} +12 -10
- package/dist/api/{drill-down.js → objects/drill-down.js} +7 -8
- package/dist/api/objects/goals.d.ts +18 -0
- package/dist/api/{goals.js → objects/goals.js} +12 -12
- package/dist/api/objects/graph.d.ts +11 -0
- package/dist/api/objects/graph.js +16 -0
- package/dist/api/objects/objects.d.ts +9 -0
- package/dist/api/{objects.js → objects/objects.js} +2 -4
- package/dist/api/objects/predictions.d.ts +11 -0
- package/dist/api/{predictions.js → objects/predictions.js} +7 -6
- package/dist/api/{projects.d.ts → objects/projects.d.ts} +8 -5
- package/dist/api/{projects.js → objects/projects.js} +8 -4
- package/dist/api/pilot-arm.d.ts +8 -4
- package/dist/api/pilot-arm.js +5 -4
- package/dist/api/prompt-hook.d.ts +32 -19
- package/dist/api/prompt-hook.js +65 -44
- package/dist/api/provenance-coverage.d.ts +3 -1
- package/dist/api/provenance-coverage.js +3 -1
- package/dist/api/recall/finish.d.ts +185 -0
- package/dist/api/recall/finish.js +301 -0
- package/dist/api/{recall-pipeline.d.ts → recall/pipeline.d.ts} +12 -8
- package/dist/api/{recall-pipeline.js → recall/pipeline.js} +176 -92
- package/dist/api/recall/recall.d.ts +6 -0
- package/dist/api/{recall.js → recall/recall.js} +101 -60
- package/dist/api/recall/render.d.ts +39 -0
- package/dist/api/recall/render.js +60 -0
- package/dist/api/{recall-request.d.ts → recall/request.d.ts} +7 -5
- package/dist/api/recall/request.js +261 -0
- package/dist/api/{recall-cli.d.ts → recall/rows.d.ts} +18 -12
- package/dist/api/{recall-cli.js → recall/rows.js} +28 -27
- package/dist/api/{recall-types.d.ts → recall/types.d.ts} +95 -70
- package/dist/api/{recall-types.js → recall/types.js} +1 -1
- package/dist/api/session-end.d.ts +16 -12
- package/dist/api/session-end.js +46 -30
- package/dist/api/{auto-sleep.d.ts → sleep/auto-sleep.d.ts} +9 -5
- package/dist/api/{auto-sleep.js → sleep/auto-sleep.js} +7 -12
- package/dist/api/sleep/dormant.d.ts +25 -0
- package/dist/api/sleep/dormant.js +64 -0
- package/dist/api/{learn.d.ts → sleep/learn.d.ts} +5 -4
- package/dist/api/sleep/learn.js +138 -0
- package/dist/api/sleep/sleep-run.d.ts +38 -0
- package/dist/api/{sleep-run.js → sleep/sleep-run.js} +51 -43
- package/dist/api/{sleep.d.ts → sleep/sleep.d.ts} +17 -11
- package/dist/api/sleep/sleep.js +9 -0
- package/dist/api/status.d.ts +3 -1
- package/dist/api/status.js +3 -1
- package/dist/api/store-init.d.ts +4 -1
- package/dist/api/store-init.js +4 -1
- package/dist/api/tokens.d.ts +10 -9
- package/dist/api/tokens.js +9 -10
- package/dist/api/types.d.ts +28 -7
- package/dist/api/types.js +13 -4
- package/dist/capture/caller-session.d.ts +8 -2
- package/dist/capture/caller-session.js +16 -6
- package/dist/capture/capture-error.d.ts +3 -1
- package/dist/capture/capture-error.js +3 -1
- package/dist/capture/codex-patch.js +7 -2
- package/dist/capture/command.d.ts +4 -2
- package/dist/capture/command.js +33 -14
- package/dist/capture/compact-resume-caller.js +15 -8
- package/dist/capture/compact.d.ts +8 -5
- package/dist/capture/compact.js +34 -23
- package/dist/capture/compaction-items-caller.js +9 -3
- package/dist/capture/compaction-record.d.ts +4 -3
- package/dist/capture/compaction-record.js +20 -12
- package/dist/capture/compaction-spool.d.ts +15 -4
- package/dist/capture/compaction-spool.js +64 -17
- package/dist/capture/copilot-transcript.d.ts +11 -3
- package/dist/capture/copilot-transcript.js +16 -6
- package/dist/capture/extract.js +20 -8
- package/dist/capture/failure-caller.js +23 -12
- package/dist/capture/failure-reading.d.ts +10 -3
- package/dist/capture/failure-reading.js +24 -7
- package/dist/capture/pre-compact-caller.js +11 -4
- package/dist/capture/session-digest.d.ts +15 -4
- package/dist/capture/session-digest.js +39 -13
- package/dist/capture/session-end-caller.d.ts +4 -1
- package/dist/capture/session-end-caller.js +20 -8
- package/dist/capture/session-texts.d.ts +6 -2
- package/dist/capture/session-texts.js +22 -7
- package/dist/capture/session-worker.d.ts +4 -2
- package/dist/capture/session-worker.js +45 -17
- package/dist/capture/transcript.d.ts +13 -4
- package/dist/capture/transcript.js +32 -10
- package/dist/capture/working-state.d.ts +13 -4
- package/dist/capture/working-state.js +50 -56
- package/dist/cli/api-context.d.ts +14 -2
- package/dist/cli/api-context.js +45 -2
- package/dist/cli/audit.js +23 -23
- package/dist/cli/auth.js +19 -27
- package/dist/cli/briefs.d.ts +1 -1
- package/dist/cli/briefs.js +20 -15
- package/dist/cli/card.d.ts +1 -1
- package/dist/cli/card.js +56 -73
- package/dist/cli/client.d.ts +12 -4
- package/dist/cli/client.js +43 -13
- package/dist/cli/compact-resume-payload.d.ts +4 -1
- package/dist/cli/compact-resume-payload.js +12 -5
- package/dist/cli/context.js +42 -17
- package/dist/cli/continuity.d.ts +5 -5
- package/dist/cli/continuity.js +90 -107
- package/dist/cli/curate.d.ts +4 -3
- package/dist/cli/curate.js +46 -68
- package/dist/cli/dag.d.ts +1 -1
- package/dist/cli/dag.js +14 -17
- package/dist/cli/decisions.js +27 -26
- package/dist/cli/eval.js +16 -21
- package/dist/cli/exit.d.ts +4 -1
- package/dist/cli/exit.js +10 -2
- package/dist/cli/explain.js +12 -11
- package/dist/cli/flag-values.d.ts +1 -1
- package/dist/cli/flag-values.js +9 -18
- package/dist/cli/github.d.ts +6 -0
- package/dist/cli/github.js +25 -13
- package/dist/cli/goals.d.ts +1 -1
- package/dist/cli/goals.js +39 -56
- package/dist/cli/graph.d.ts +1 -1
- package/dist/cli/graph.js +15 -11
- package/dist/cli/hook-runtime.d.ts +31 -9
- package/dist/cli/hook-runtime.js +40 -15
- package/dist/cli/incidents.d.ts +1 -1
- package/dist/cli/incidents.js +25 -25
- package/dist/cli/init.js +26 -11
- package/dist/cli/install-steps.d.ts +12 -3
- package/dist/cli/install-steps.js +42 -18
- package/dist/cli/last-sleep.d.ts +4 -1
- package/dist/cli/last-sleep.js +9 -4
- package/dist/cli/maintenance.d.ts +1 -1
- package/dist/cli/maintenance.js +11 -12
- package/dist/cli/notes.d.ts +1 -1
- package/dist/cli/notes.js +8 -5
- package/dist/cli/object-verbs.d.ts +4 -4
- package/dist/cli/object-verbs.js +10 -13
- package/dist/cli/open-browser.js +11 -2
- package/dist/cli/playbooks.d.ts +3 -3
- package/dist/cli/playbooks.js +40 -32
- package/dist/cli/predictions.js +15 -19
- package/dist/cli/print.js +4 -2
- package/dist/cli/projects.js +21 -11
- package/dist/cli/quality-repair-once.js +5 -4
- package/dist/cli/recall.js +129 -93
- package/dist/cli/refine-llm.d.ts +15 -4
- package/dist/cli/refine-llm.js +16 -7
- package/dist/cli/remember.js +46 -50
- package/dist/cli/scheduler.d.ts +4 -1
- package/dist/cli/scheduler.js +9 -5
- package/dist/cli/serve.js +22 -17
- package/dist/cli/session-hooks.d.ts +2 -2
- package/dist/cli/session-hooks.js +87 -50
- package/dist/cli/setup.js +54 -32
- package/dist/cli/shared.d.ts +3 -1
- package/dist/cli/shared.js +24 -9
- package/dist/cli/slack.js +15 -24
- package/dist/cli/sleep-render.d.ts +3 -1
- package/dist/cli/sleep-render.js +8 -5
- package/dist/cli/sleep.js +14 -6
- package/dist/cli/status.d.ts +4 -4
- package/dist/cli/status.js +32 -27
- package/dist/cli/stdin.d.ts +10 -3
- package/dist/cli/stdin.js +10 -3
- package/dist/cli/transfer.d.ts +1 -1
- package/dist/cli/transfer.js +71 -75
- package/dist/cli/verbs/memory.js +8 -6
- package/dist/cli/verbs/objects.js +10 -4
- package/dist/cli/versioned-verbs.d.ts +8 -7
- package/dist/cli/versioned-verbs.js +31 -21
- package/dist/cli.js +13 -16
- package/dist/connectors/dlq.d.ts +6 -6
- package/dist/connectors/dlq.js +12 -8
- package/dist/connectors/github/backfill.d.ts +4 -4
- package/dist/connectors/github/backfill.js +6 -4
- package/dist/connectors/github/deletion.d.ts +6 -4
- package/dist/connectors/github/deletion.js +5 -5
- package/dist/connectors/github/dlq.d.ts +8 -6
- package/dist/connectors/github/dlq.js +11 -5
- package/dist/connectors/github/ingest.d.ts +2 -2
- package/dist/connectors/github/ingest.js +9 -6
- package/dist/connectors/github/octokit-client.d.ts +3 -1
- package/dist/connectors/github/octokit-client.js +7 -2
- package/dist/connectors/github/ratelimit.d.ts +6 -2
- package/dist/connectors/github/ratelimit.js +6 -2
- package/dist/connectors/github/signature.d.ts +14 -3
- package/dist/connectors/github/signature.js +17 -3
- package/dist/connectors/github/tenant-routing.d.ts +6 -4
- package/dist/connectors/github/tenant-routing.js +6 -6
- package/dist/connectors/github/transform.js +50 -67
- package/dist/connectors/github/types.d.ts +10 -3
- package/dist/connectors/github/types.js +6 -2
- package/dist/connectors/github/webhook.d.ts +5 -5
- package/dist/connectors/github/webhook.js +34 -23
- package/dist/connectors/ingest.d.ts +5 -3
- package/dist/connectors/ingest.js +3 -4
- package/dist/connectors/slack/backfill.d.ts +5 -5
- package/dist/connectors/slack/backfill.js +3 -3
- package/dist/connectors/slack/deletion.d.ts +4 -4
- package/dist/connectors/slack/deletion.js +6 -6
- package/dist/connectors/slack/dlq.d.ts +4 -4
- package/dist/connectors/slack/dlq.js +6 -6
- package/dist/connectors/slack/ingest.d.ts +6 -4
- package/dist/connectors/slack/ingest.js +5 -5
- package/dist/connectors/slack/signature.d.ts +4 -1
- package/dist/connectors/slack/tenant-routing.d.ts +6 -4
- package/dist/connectors/slack/tenant-routing.js +6 -6
- package/dist/connectors/slack/transform.d.ts +6 -2
- package/dist/connectors/slack/transform.js +6 -2
- package/dist/connectors/slack/types.d.ts +3 -1
- package/dist/connectors/slack/web-client.js +8 -3
- package/dist/connectors/slack/webhook.d.ts +5 -5
- package/dist/connectors/slack/webhook.js +19 -11
- package/dist/connectors/slack/workspaces.d.ts +7 -3
- package/dist/connectors/slack/workspaces.js +7 -3
- package/dist/connectors/store.d.ts +8 -0
- package/dist/connectors/store.js +2 -0
- package/dist/consolidate/conflicts.js +23 -9
- package/dist/consolidate/dag-summary.js +2 -1
- package/dist/consolidate/dag.d.ts +10 -5
- package/dist/consolidate/dag.js +37 -36
- package/dist/consolidate/decay.js +19 -6
- package/dist/consolidate/dedupe.d.ts +14 -5
- package/dist/consolidate/dedupe.js +27 -16
- package/dist/consolidate/flush-units.d.ts +4 -1
- package/dist/consolidate/flush-units.js +4 -1
- package/dist/consolidate/half-life-migration.d.ts +18 -8
- package/dist/consolidate/half-life-migration.js +48 -18
- package/dist/consolidate/llm-passes.js +27 -11
- package/dist/consolidate/memory-value-weights.d.ts +6 -2
- package/dist/consolidate/memory-value-weights.js +6 -2
- package/dist/consolidate/memory-value.d.ts +30 -10
- package/dist/consolidate/memory-value.js +36 -13
- package/dist/consolidate/merge.d.ts +4 -1
- package/dist/consolidate/merge.js +42 -32
- package/dist/consolidate/overlap-index.d.ts +8 -2
- package/dist/consolidate/overlap-index.js +11 -4
- package/dist/consolidate/physics-pass.d.ts +3 -1
- package/dist/consolidate/physics-pass.js +10 -7
- package/dist/consolidate/replay.d.ts +11 -4
- package/dist/consolidate/replay.js +19 -7
- package/dist/consolidate/run.d.ts +13 -5
- package/dist/consolidate/run.js +4 -4
- package/dist/consolidate/sleep.d.ts +14 -6
- package/dist/consolidate/sleep.js +41 -38
- package/dist/consolidate/trace.d.ts +7 -2
- package/dist/consolidate/trace.js +7 -2
- package/dist/consolidate/traces.js +26 -29
- package/dist/core/ablation.d.ts +9 -3
- package/dist/core/ablation.js +14 -4
- package/dist/core/active-scope.d.ts +3 -1
- package/dist/core/active-scope.js +3 -1
- package/dist/core/agent-memory-tools.d.ts +2 -0
- package/dist/core/agent-memory-tools.js +2 -0
- package/dist/core/ambient.d.ts +4 -3
- package/dist/core/ambient.js +8 -6
- package/dist/core/api-errors.d.ts +9 -3
- package/dist/core/api-errors.js +9 -3
- package/dist/core/capture-contract.d.ts +4 -1
- package/dist/core/capture-contract.js +27 -8
- package/dist/core/compare.d.ts +24 -8
- package/dist/core/compare.js +24 -8
- package/dist/core/config.d.ts +18 -9
- package/dist/core/config.js +24 -14
- package/dist/core/cosine.d.ts +4 -1
- package/dist/core/cosine.js +4 -1
- package/dist/core/handoff.d.ts +7 -2
- package/dist/core/handoff.js +4 -1
- package/dist/core/markdown.js +21 -16
- package/dist/core/memory-audit.js +14 -3
- package/dist/core/memory-quality.d.ts +12 -3
- package/dist/core/memory-quality.js +57 -21
- package/dist/core/memory.d.ts +84 -27
- package/dist/core/memory.js +73 -29
- package/dist/core/merged-row.d.ts +8 -2
- package/dist/core/merged-row.js +10 -3
- package/dist/core/package-root.d.ts +3 -1
- package/dist/core/package-root.js +3 -1
- package/dist/core/particle-refresh.d.ts +8 -0
- package/dist/core/particle-refresh.js +22 -0
- package/dist/core/physics-config.d.ts +4 -1
- package/dist/core/physics-config.js +6 -2
- package/dist/core/physics.d.ts +37 -11
- package/dist/core/physics.js +55 -20
- package/dist/core/project-identity.d.ts +34 -17
- package/dist/core/project-identity.js +33 -17
- package/dist/core/project-remote.d.ts +8 -4
- package/dist/core/project-remote.js +31 -14
- package/dist/core/recall-scope.d.ts +33 -11
- package/dist/core/recall-scope.js +42 -15
- package/dist/core/rejection-digest.d.ts +7 -0
- package/dist/core/rejection-digest.js +13 -0
- package/dist/core/salience.d.ts +3 -1
- package/dist/core/salience.js +10 -4
- package/dist/core/search-types.d.ts +15 -2
- package/dist/core/search-types.js +11 -0
- package/dist/dashboard/dashboard-actions.js +13 -2
- package/dist/dashboard/dashboard-snapshot.d.ts +2 -2
- package/dist/dashboard/dashboard-snapshot.js +4 -4
- package/dist/dashboard/dashboard.js +6 -3
- package/dist/db/backup.js +2 -2
- package/dist/db/busy.d.ts +10 -3
- package/dist/db/busy.js +27 -5
- package/dist/db/connect.d.ts +10 -3
- package/dist/db/connect.js +8 -3
- package/dist/db/continuity.d.ts +1 -1
- package/dist/db/continuity.js +27 -11
- package/dist/db/meta.d.ts +4 -1
- package/dist/db/meta.js +4 -1
- package/dist/db/migrate.d.ts +10 -5
- package/dist/db/migrate.js +26 -13
- package/dist/db/migrations/index.d.ts +1 -1
- package/dist/db/migrations/index.js +3 -1
- package/dist/db/migrations/types.d.ts +2 -1
- package/dist/db/migrations/v12.js +2 -1
- package/dist/db/migrations/v14.js +2 -1
- package/dist/db/migrations/v15.js +4 -2
- package/dist/db/migrations/v16.js +6 -3
- package/dist/db/migrations/v17.js +2 -1
- package/dist/db/migrations/v19.js +4 -2
- package/dist/db/migrations/v20.js +2 -1
- package/dist/db/migrations/v22.js +12 -6
- package/dist/db/migrations/v23.js +6 -3
- package/dist/db/migrations/v24.js +6 -3
- package/dist/db/migrations/v25.js +4 -2
- package/dist/db/migrations/v26.js +4 -2
- package/dist/db/migrations/v27.js +6 -3
- package/dist/db/migrations/v28.js +4 -2
- package/dist/db/migrations/v29.js +4 -2
- package/dist/db/migrations/v30.js +6 -3
- package/dist/db/migrations/v31.js +4 -2
- package/dist/db/migrations/v32.js +6 -3
- package/dist/db/migrations/v33.js +4 -2
- package/dist/db/migrations/v34.js +2 -1
- package/dist/db/migrations/v35.js +2 -1
- package/dist/db/migrations/v36.js +2 -1
- package/dist/db/migrations/v37.js +10 -5
- package/dist/db/migrations/v38.js +10 -5
- package/dist/db/migrations/v39.js +14 -6
- package/dist/db/migrations/v40.js +4 -2
- package/dist/db/migrations/v41.js +4 -2
- package/dist/db/migrations/v42.js +2 -1
- package/dist/db/migrations/v44.js +4 -2
- package/dist/db/migrations/v45.js +4 -2
- package/dist/db/migrations/v49.js +2 -1
- package/dist/db/migrations/v50.js +4 -2
- package/dist/db/migrations/v51.js +4 -2
- package/dist/db/migrations/v52.js +2 -1
- package/dist/db/migrations/v53.js +8 -4
- package/dist/db/migrations/v54.js +2 -1
- package/dist/db/migrations/v55.js +4 -2
- package/dist/db/migrations/v56.d.ts +3 -0
- package/dist/db/migrations/v56.js +28 -0
- package/dist/db/open.d.ts +24 -12
- package/dist/db/open.js +25 -13
- package/dist/db/physics-state.d.ts +8 -4
- package/dist/db/physics-state.js +13 -20
- package/dist/db/raw-archive-mirror-cleanup.d.ts +4 -2
- package/dist/db/raw-archive-mirror-cleanup.js +6 -4
- package/dist/db/request-stores.d.ts +19 -5
- package/dist/db/request-stores.js +14 -5
- package/dist/db/tables.d.ts +2 -1
- package/dist/db/tables.js +12 -4
- package/dist/db/vector-store.d.ts +13 -4
- package/dist/db/vector-store.js +34 -14
- package/dist/db/wal-checkpointer.d.ts +2 -1
- package/dist/db/wal-checkpointer.js +19 -7
- package/dist/doctor.d.ts +4 -1
- package/dist/doctor.js +121 -39
- package/dist/embeddings/local.d.ts +8 -4
- package/dist/embeddings/local.js +9 -5
- package/dist/embeddings/provider.d.ts +19 -10
- package/dist/embeddings/provider.js +31 -17
- package/dist/embeddings/transformers.d.ts +16 -4
- package/dist/embeddings/transformers.js +32 -15
- package/dist/entry/json-hooks.d.ts +1 -1
- package/dist/entry/json-hooks.js +1 -1
- package/dist/entry/project-identity.js +2 -1
- package/dist/entry/session-text.d.ts +1 -1
- package/dist/entry/session-text.js +1 -1
- package/dist/entry/sqlite-handles.d.ts +10 -0
- package/dist/entry/sqlite-handles.js +9 -0
- package/dist/entry/store-kit.d.ts +19 -6
- package/dist/entry/store-kit.js +6 -4
- package/dist/eval/eval-stats.d.ts +27 -8
- package/dist/eval/eval-stats.js +17 -5
- package/dist/eval/eval-suite.d.ts +3 -1
- package/dist/eval/eval-suite.js +409 -187
- package/dist/eval/eval.d.ts +8 -2
- package/dist/eval/eval.js +8 -2
- package/dist/eval/judgment.js +16 -6
- package/dist/graph/delta.d.ts +9 -42
- package/dist/graph/delta.js +17 -11
- package/dist/graph/extract.d.ts +10 -7
- package/dist/graph/extract.js +57 -25
- package/dist/graph/recall.d.ts +12 -4
- package/dist/graph/recall.js +30 -13
- package/dist/graph/stream.d.ts +18 -6
- package/dist/graph/stream.js +32 -10
- package/dist/graph/view.d.ts +19 -6
- package/dist/graph/view.js +42 -17
- package/dist/hooks/codex-session.js +2 -2
- package/dist/hooks/codex-wrapper.d.ts +3 -1
- package/dist/hooks/codex-wrapper.js +9 -4
- package/dist/hooks/copilot.d.ts +19 -5
- package/dist/hooks/copilot.js +54 -15
- package/dist/hooks/hook-blocks.d.ts +4 -1
- package/dist/hooks/hook-blocks.js +8 -3
- package/dist/hooks/json-hooks.d.ts +9 -5
- package/dist/hooks/json-hooks.js +69 -34
- package/dist/hooks/opencode.js +15 -5
- package/dist/hooks/shared.d.ts +27 -8
- package/dist/hooks/shared.js +57 -16
- package/dist/importers/core.d.ts +12 -4
- package/dist/importers/core.js +8 -7
- package/dist/importers/markdown-parse.d.ts +15 -5
- package/dist/importers/markdown-parse.js +16 -7
- package/dist/importers/markdown.js +6 -9
- package/dist/importers/sources.js +10 -23
- package/dist/importers/vault.d.ts +2 -2
- package/dist/importers/vault.js +43 -27
- package/dist/index.d.ts +32 -6
- package/dist/index.js +25 -7
- package/dist/learn/autolearn.d.ts +17 -6
- package/dist/learn/autolearn.js +53 -24
- package/dist/learn/churn-git.d.ts +4 -1
- package/dist/learn/churn-git.js +29 -5
- package/dist/learn/extract.d.ts +4 -1
- package/dist/learn/extract.js +16 -9
- package/dist/learn/forward-claim-detector.d.ts +17 -5
- package/dist/learn/forward-claim-detector.js +34 -15
- package/dist/learn/invalidation.d.ts +12 -7
- package/dist/learn/invalidation.js +56 -27
- package/dist/learn/roots.d.ts +3 -0
- package/dist/learn/roots.js +5 -0
- package/dist/mcp/admin-tools.d.ts +5 -5
- package/dist/mcp/admin-tools.js +28 -23
- package/dist/mcp/format.d.ts +1 -1
- package/dist/mcp/format.js +4 -2
- package/dist/mcp/framing.d.ts +3 -1
- package/dist/mcp/framing.js +20 -8
- package/dist/mcp/memory-tools.d.ts +3 -3
- package/dist/mcp/memory-tools.js +18 -14
- package/dist/mcp/protocol.d.ts +32 -16
- package/dist/mcp/protocol.js +12 -9
- package/dist/mcp/recall-tools.d.ts +3 -3
- package/dist/mcp/recall-tools.js +62 -74
- package/dist/mcp/request.d.ts +7 -5
- package/dist/mcp/request.js +57 -74
- package/dist/mcp/server.d.ts +3 -1
- package/dist/mcp/server.js +8 -3
- package/dist/mcp/session-state.d.ts +1 -1
- package/dist/mcp/session-state.js +4 -3
- package/dist/mcp/shared-gate.d.ts +3 -2
- package/dist/mcp/shared-gate.js +3 -2
- package/dist/mcp/stdio.d.ts +6 -3
- package/dist/mcp/stdio.js +52 -21
- package/dist/mcp/tool-args.d.ts +4 -1
- package/dist/mcp/tool-args.js +8 -3
- package/dist/mcp/tools.js +76 -32
- package/dist/objects/customer-notes.d.ts +12 -10
- package/dist/objects/customer-notes.js +21 -15
- package/dist/objects/decisions.d.ts +18 -10
- package/dist/objects/decisions.js +23 -17
- package/dist/objects/descriptor.js +2 -1
- package/dist/objects/fields.d.ts +4 -1
- package/dist/objects/fields.js +6 -2
- package/dist/objects/incidents.d.ts +14 -16
- package/dist/objects/incidents.js +29 -30
- package/dist/objects/lifecycle.d.ts +0 -4
- package/dist/objects/lifecycle.js +21 -24
- package/dist/objects/policies.d.ts +12 -16
- package/dist/objects/policies.js +17 -21
- package/dist/objects/processes.d.ts +16 -10
- package/dist/objects/processes.js +20 -15
- package/dist/objects/project-briefs.d.ts +13 -14
- package/dist/objects/project-briefs.js +33 -39
- package/dist/objects/skills.d.ts +10 -12
- package/dist/objects/skills.js +17 -22
- package/dist/postinstall.js +15 -7
- package/dist/predictions/planning-fallacy.d.ts +19 -6
- package/dist/predictions/planning-fallacy.js +4 -2
- package/dist/rerankers/clef.d.ts +8 -2
- package/dist/rerankers/clef.js +14 -9
- package/dist/rerankers/cross-encoder.d.ts +2 -1
- package/dist/rerankers/cross-encoder.js +9 -6
- package/dist/rerankers/index.js +2 -1
- package/dist/rerankers/jev.js +2 -1
- package/dist/rerankers/llm.d.ts +6 -2
- package/dist/rerankers/llm.js +8 -3
- package/dist/rerankers/remote.d.ts +3 -1
- package/dist/rerankers/remote.js +5 -2
- package/dist/rerankers/types.d.ts +6 -2
- package/dist/search/bm25-search.d.ts +3 -1
- package/dist/search/bm25-search.js +15 -2
- package/dist/search/boosts.js +4 -3
- package/dist/search/embed-memories.d.ts +10 -5
- package/dist/search/embed-memories.js +62 -36
- package/dist/search/engine.d.ts +4 -1
- package/dist/search/engine.js +6 -2
- package/dist/search/goal-boost.d.ts +10 -3
- package/dist/search/goal-boost.js +13 -6
- package/dist/search/hybrid-score.d.ts +4 -1
- package/dist/search/hybrid-score.js +4 -1
- package/dist/search/hybrid.d.ts +23 -8
- package/dist/search/hybrid.js +12 -7
- package/dist/search/multihop.js +14 -13
- package/dist/search/path-context.d.ts +10 -3
- package/dist/search/path-context.js +10 -3
- package/dist/search/physics-search.d.ts +9 -4
- package/dist/search/physics-search.js +38 -14
- package/dist/search/rerank.d.ts +2 -1
- package/dist/search/rerank.js +2 -1
- package/dist/search/rrf.d.ts +14 -5
- package/dist/search/rrf.js +11 -4
- package/dist/search/vector.d.ts +8 -2
- package/dist/search/vector.js +9 -3
- package/dist/server/auth.d.ts +18 -14
- package/dist/server/auth.js +69 -38
- package/dist/server/boot.d.ts +3 -1
- package/dist/server/boot.js +95 -56
- package/dist/server/client-ip.d.ts +11 -4
- package/dist/server/client-ip.js +27 -10
- package/dist/server/cursor.d.ts +10 -3
- package/dist/server/cursor.js +10 -3
- package/dist/server/deadline.d.ts +5 -2
- package/dist/server/deadline.js +10 -3
- package/dist/server/key-check-bounds.js +12 -4
- package/dist/server/lifecycle.d.ts +4 -1
- package/dist/server/lifecycle.js +10 -4
- package/dist/server/mcp-http.d.ts +2 -1
- package/dist/server/mcp-http.js +37 -22
- package/dist/server/rate-limit.d.ts +17 -5
- package/dist/server/rate-limit.js +55 -26
- package/dist/server/ready.js +7 -4
- package/dist/server/request.d.ts +15 -4
- package/dist/server/request.js +42 -15
- package/dist/server/route-checks.d.ts +4 -1
- package/dist/server/route-checks.js +8 -3
- package/dist/server/route-table.d.ts +8 -6
- package/dist/server/route-table.js +547 -93
- package/dist/server/routes/admin.d.ts +7 -7
- package/dist/server/routes/admin.js +36 -15
- package/dist/server/routes/customer-notes.d.ts +5 -5
- package/dist/server/routes/customer-notes.js +5 -4
- package/dist/server/routes/decisions.d.ts +5 -5
- package/dist/server/routes/decisions.js +12 -6
- package/dist/server/routes/incidents.d.ts +5 -5
- package/dist/server/routes/incidents.js +10 -4
- package/dist/server/routes/memories.d.ts +8 -8
- package/dist/server/routes/memories.js +12 -19
- package/dist/server/routes/object-routes.d.ts +8 -5
- package/dist/server/routes/object-routes.js +4 -2
- package/dist/server/routes/policies.d.ts +6 -6
- package/dist/server/routes/policies.js +11 -4
- package/dist/server/routes/predictions.d.ts +5 -5
- package/dist/server/routes/predictions.js +9 -4
- package/dist/server/routes/processes.d.ts +5 -5
- package/dist/server/routes/processes.js +15 -6
- package/dist/server/routes/project-briefs.d.ts +6 -6
- package/dist/server/routes/project-briefs.js +3 -2
- package/dist/server/routes/recall.d.ts +3 -3
- package/dist/server/routes/recall.js +21 -10
- package/dist/server/routes/skills.d.ts +6 -6
- package/dist/server/routes/skills.js +12 -4
- package/dist/server/server-detect.d.ts +24 -8
- package/dist/server/server-detect.js +57 -22
- package/dist/server/sleep-child.js +16 -10
- package/dist/server/sleep-offload.d.ts +8 -5
- package/dist/server/sleep-offload.js +41 -19
- package/dist/server/tls.d.ts +4 -1
- package/dist/server/tls.js +13 -5
- package/dist/server/types.d.ts +38 -26
- package/dist/server/validation.d.ts +4 -1
- package/dist/server/validation.js +22 -9
- package/dist/server.d.ts +15 -10
- package/dist/server.js +32 -12
- package/dist/sharing/global-store.d.ts +5 -10
- package/dist/sharing/global-store.js +8 -43
- package/dist/sharing/global-sync.d.ts +3 -1
- package/dist/sharing/global-sync.js +16 -6
- package/dist/sharing/project-merge.d.ts +25 -7
- package/dist/sharing/project-merge.js +49 -17
- package/dist/sharing/search-both.d.ts +8 -4
- package/dist/sharing/search-both.js +19 -12
- package/dist/sharing/share.d.ts +8 -4
- package/dist/sharing/share.js +39 -15
- package/dist/store/ambient.js +9 -5
- package/dist/store/audit-event.d.ts +2 -2
- package/dist/store/audit-event.js +8 -3
- package/dist/store/audit.d.ts +6 -3
- package/dist/store/audit.js +16 -6
- package/dist/store/auth.d.ts +4 -2
- package/dist/store/auth.js +63 -20
- package/dist/store/busy.d.ts +9 -0
- package/dist/store/busy.js +16 -0
- package/dist/store/candidates.d.ts +12 -5
- package/dist/store/candidates.js +75 -36
- package/dist/store/capture-write.d.ts +2 -1
- package/dist/store/capture-write.js +2 -1
- package/dist/store/card-detail.d.ts +4 -4
- package/dist/store/card-detail.js +15 -8
- package/dist/store/cards.d.ts +24 -10
- package/dist/store/cards.js +93 -60
- package/dist/store/compaction-caller.d.ts +2 -1
- package/dist/store/compaction-caller.js +2 -1
- package/dist/store/compactions-record.d.ts +14 -8
- package/dist/store/compactions-record.js +95 -32
- package/dist/store/compactions.js +35 -15
- package/dist/store/conflicts.d.ts +9 -4
- package/dist/store/conflicts.js +100 -45
- package/dist/store/connectors/dlq.d.ts +17 -5
- package/dist/store/connectors/dlq.js +56 -5
- package/dist/store/connectors/event-log.d.ts +111 -2
- package/dist/store/connectors/event-log.js +2 -1
- package/dist/store/connectors/github.d.ts +6 -3
- package/dist/store/connectors/github.js +24 -40
- package/dist/store/connectors/slack.d.ts +2 -1
- package/dist/store/connectors/slack.js +25 -37
- package/dist/store/dashboard-reads.d.ts +7 -3
- package/dist/store/dashboard-reads.js +32 -11
- package/dist/store/delete-and-batch.d.ts +17 -11
- package/dist/store/delete-and-batch.js +67 -26
- package/dist/store/delivery-recorder.d.ts +8 -5
- package/dist/store/delivery-recorder.js +70 -32
- package/dist/store/descendant-page.d.ts +2 -1
- package/dist/store/descendant-page.js +24 -9
- package/dist/store/diagnostics.d.ts +2 -1
- package/dist/store/diagnostics.js +2 -1
- package/dist/store/doctor-reads.d.ts +2 -1
- package/dist/store/doctor-reads.js +13 -5
- package/dist/store/dormant.d.ts +19 -11
- package/dist/store/dormant.js +40 -18
- package/dist/store/embeddings/index.d.ts +13 -9
- package/dist/store/embeddings/index.js +19 -12
- package/dist/store/entry-reads.d.ts +49 -20
- package/dist/store/entry-reads.js +181 -66
- package/dist/store/entry-row.d.ts +10 -6
- package/dist/store/entry-row.js +17 -12
- package/dist/store/entry-writes.d.ts +22 -10
- package/dist/store/entry-writes.js +41 -14
- package/dist/store/failure-log-at.js +1 -1
- package/dist/store/failure-log.d.ts +4 -2
- package/dist/store/failure-log.js +13 -6
- package/dist/store/gated-write.d.ts +3 -3
- package/dist/store/gated-write.js +3 -3
- package/dist/store/goals.d.ts +5 -4
- package/dist/store/goals.js +8 -10
- package/dist/store/graph-apply.d.ts +21 -0
- package/dist/{graph/write.js → store/graph-apply.js} +31 -11
- package/dist/store/graph-queue.d.ts +9 -6
- package/dist/store/graph-queue.js +15 -10
- package/dist/store/graph-reads.d.ts +16 -11
- package/dist/store/graph-reads.js +24 -15
- package/dist/store/graph-rows.d.ts +41 -3
- package/dist/store/graph-rows.js +10 -7
- package/dist/store/graph-view-rows.js +14 -7
- package/dist/store/graph-writes.d.ts +16 -10
- package/dist/store/graph-writes.js +59 -36
- package/dist/store/handoffs.d.ts +4 -4
- package/dist/store/handoffs.js +40 -19
- package/dist/store/index-and-stats.d.ts +2 -2
- package/dist/store/index-and-stats.js +6 -5
- package/dist/store/index.d.ts +3 -1
- package/dist/store/index.js +1 -0
- package/dist/store/key-audit.d.ts +2 -1
- package/dist/store/key-audit.js +2 -1
- package/dist/store/key-writes.d.ts +2 -1
- package/dist/store/key-writes.js +9 -2
- package/dist/store/ledger-turn.d.ts +4 -1
- package/dist/store/ledger-turn.js +7 -2
- package/dist/store/mirrors.d.ts +11 -4
- package/dist/store/mirrors.js +88 -16
- package/dist/store/narrow.d.ts +6 -0
- package/dist/store/narrow.js +11 -0
- package/dist/store/open.d.ts +4 -2
- package/dist/store/open.js +18 -9
- package/dist/store/pilot-arm.d.ts +2 -1
- package/dist/store/pilot-arm.js +18 -6
- package/dist/store/planning-fallacy-evidence.d.ts +2 -2
- package/dist/store/planning-fallacy-evidence.js +8 -5
- package/dist/store/port/agent-import.d.ts +62 -0
- package/dist/store/port/agent-import.js +2 -0
- package/dist/store/port/consolidation.d.ts +129 -0
- package/dist/store/port/consolidation.js +2 -0
- package/dist/store/port/learning.d.ts +19 -0
- package/dist/store/port/learning.js +2 -0
- package/dist/store/port/local-files.d.ts +18 -0
- package/dist/store/port/local-files.js +2 -0
- package/dist/store/port/promotion.d.ts +20 -0
- package/dist/store/port/promotion.js +3 -0
- package/dist/store/port-groups.d.ts +160 -0
- package/dist/store/port-groups.js +2 -0
- package/dist/store/port.d.ts +215 -229
- package/dist/store/port.js +3 -9
- package/dist/store/predictions.d.ts +14 -10
- package/dist/store/predictions.js +37 -17
- package/dist/store/project-tags.d.ts +4 -1
- package/dist/store/project-tags.js +16 -5
- package/dist/store/quality-repair.d.ts +8 -4
- package/dist/store/quality-repair.js +53 -20
- package/dist/store/quarantine.d.ts +1 -0
- package/dist/store/quarantine.js +23 -9
- package/dist/store/raw-archive.d.ts +5 -4
- package/dist/store/raw-archive.js +11 -10
- package/dist/store/recall-trace.d.ts +22 -17
- package/dist/store/recall-trace.js +126 -63
- package/dist/store/rejected-values.d.ts +15 -10
- package/dist/store/rejected-values.js +33 -12
- package/dist/store/rejection.d.ts +12 -11
- package/dist/store/rejection.js +18 -19
- package/dist/store/report-reads.d.ts +2 -1
- package/dist/store/report-reads.js +2 -1
- package/dist/store/rows.d.ts +7 -5
- package/dist/store/rows.js +18 -11
- package/dist/store/rule-sql.d.ts +6 -4
- package/dist/store/rule-sql.js +16 -9
- package/dist/store/search-rows.d.ts +14 -9
- package/dist/store/search-rows.js +48 -23
- package/dist/store/sessions.d.ts +12 -10
- package/dist/store/sessions.js +40 -21
- package/dist/store/set-aside.d.ts +2 -2
- package/dist/store/set-aside.js +18 -5
- package/dist/store/sqlite/agent-import.d.ts +3 -0
- package/dist/store/sqlite/agent-import.js +77 -0
- package/dist/store/sqlite/cards-group.d.ts +6 -0
- package/dist/store/sqlite/cards-group.js +37 -0
- package/dist/store/sqlite/conflicts-group.d.ts +6 -0
- package/dist/store/sqlite/conflicts-group.js +18 -0
- package/dist/store/sqlite/connector-events-group.d.ts +2 -1
- package/dist/store/sqlite/connector-events-group.js +17 -6
- package/dist/store/sqlite/connector-writes-group.d.ts +2 -1
- package/dist/store/sqlite/connector-writes-group.js +9 -4
- package/dist/store/sqlite/consolidation-group.d.ts +4 -0
- package/dist/store/sqlite/consolidation-group.js +64 -0
- package/dist/store/sqlite/dag-reads-group.js +1 -1
- package/dist/store/sqlite/dormant-group.d.ts +6 -0
- package/dist/store/sqlite/dormant-group.js +29 -0
- package/dist/store/sqlite/entry-writes-group.d.ts +6 -3
- package/dist/store/sqlite/entry-writes-group.js +37 -14
- package/dist/store/sqlite/error-codec.d.ts +4 -2
- package/dist/store/sqlite/error-codec.js +32 -10
- package/dist/store/sqlite/executor-counts.js +2 -1
- package/dist/store/sqlite/executor.d.ts +8 -3
- package/dist/store/sqlite/executor.js +56 -18
- package/dist/store/sqlite/global-promote.d.ts +5 -0
- package/dist/store/sqlite/global-promote.js +48 -0
- package/dist/store/sqlite/goals-group.d.ts +6 -0
- package/dist/store/sqlite/goals-group.js +23 -0
- package/dist/store/sqlite/graph-reads-group.d.ts +2 -1
- package/dist/store/sqlite/graph-reads-group.js +2 -1
- package/dist/store/sqlite/held-connection.d.ts +7 -1
- package/dist/store/sqlite/held-connection.js +34 -7
- package/dist/store/sqlite/last-recall-group.d.ts +4 -2
- package/dist/store/sqlite/last-recall-group.js +9 -4
- package/dist/store/sqlite/learning-group.d.ts +4 -0
- package/dist/store/sqlite/learning-group.js +17 -0
- package/dist/store/sqlite/maintenance-groups.js +2 -1
- package/dist/store/sqlite/object-rows.d.ts +6 -3
- package/dist/store/sqlite/object-rows.js +34 -5
- package/dist/store/sqlite/objects-group.d.ts +5 -4
- package/dist/store/sqlite/objects-group.js +84 -33
- package/dist/store/sqlite/predictions-group.d.ts +2 -1
- package/dist/store/sqlite/predictions-group.js +4 -2
- package/dist/store/sqlite/promotion-group.d.ts +3 -0
- package/dist/store/sqlite/promotion-group.js +10 -0
- package/dist/store/sqlite/quarantine-group.d.ts +2 -1
- package/dist/store/sqlite/quarantine-group.js +4 -2
- package/dist/store/sqlite/reports-group.d.ts +6 -0
- package/dist/store/sqlite/reports-group.js +33 -0
- package/dist/store/sqlite/request-scope.d.ts +6 -0
- package/dist/store/sqlite/request-scope.js +18 -0
- package/dist/store/sqlite/sessions-group.d.ts +6 -0
- package/dist/store/sqlite/sessions-group.js +46 -0
- package/dist/store/sqlite/store.d.ts +22 -11
- package/dist/store/sqlite/store.js +84 -11
- package/dist/store/sqlite/vector-pack.js +2 -1
- package/dist/store/sqlite/vector-reads-group.js +2 -1
- package/dist/store/sqlite/worker-jobs.d.ts +2 -1
- package/dist/store/sqlite/worker-jobs.js +19 -7
- package/dist/store/sqlite/worker-ops.d.ts +10 -5
- package/dist/store/sqlite/worker-ops.js +6 -3
- package/dist/store/sqlite/worker-store.d.ts +4 -3
- package/dist/store/sqlite/worker-store.js +24 -14
- package/dist/store/summaries.d.ts +19 -12
- package/dist/store/summaries.js +36 -21
- package/dist/store/summary-dirty.d.ts +2 -1
- package/dist/store/summary-dirty.js +2 -1
- package/dist/store/tenant.d.ts +3 -2
- package/dist/store/tenant.js +5 -4
- package/dist/store/token-ledger-rows.js +6 -3
- package/dist/store/token-ledger.d.ts +19 -13
- package/dist/store/token-ledger.js +27 -14
- package/dist/store/tombstone-checks.d.ts +4 -1
- package/dist/store/tombstone-checks.js +10 -1
- package/dist/store/usage-reports.js +2 -1
- package/dist/store/vector-index.d.ts +8 -5
- package/dist/store/vector-index.js +24 -10
- package/dist/store/working-memory.d.ts +6 -4
- package/dist/store/working-memory.js +14 -9
- package/dist/support-bundle.js +10 -5
- package/dist/trust/quarantine.d.ts +1 -2
- package/dist/trust/quarantine.js +1 -5
- package/dist/trust/reject-flow.d.ts +12 -3
- package/dist/trust/reject-flow.js +12 -4
- package/dist/util/anthropic-messages.d.ts +4 -1
- package/dist/util/anthropic-messages.js +14 -5
- package/dist/util/atomic-write.d.ts +4 -2
- package/dist/util/atomic-write.js +25 -14
- package/dist/util/compaction-items.d.ts +4 -1
- package/dist/util/compaction-items.js +8 -2
- package/dist/util/crash-handlers.d.ts +7 -2
- package/dist/util/crash-handlers.js +13 -4
- package/dist/util/env.d.ts +16 -4
- package/dist/util/env.js +78 -25
- package/dist/util/home-path.js +12 -6
- package/dist/util/hook-payload.d.ts +3 -1
- package/dist/util/hook-payload.js +3 -1
- package/dist/util/http-retry.d.ts +12 -6
- package/dist/util/http-retry.js +16 -6
- package/dist/util/http-util.d.ts +20 -5
- package/dist/util/http-util.js +28 -9
- package/dist/util/json.d.ts +4 -1
- package/dist/util/json.js +4 -1
- package/dist/util/keyset.js +2 -1
- package/dist/util/limits.js +4 -2
- package/dist/util/log.d.ts +13 -5
- package/dist/util/log.js +29 -6
- package/dist/util/net.d.ts +5 -0
- package/dist/util/net.js +19 -0
- package/dist/util/real-path.d.ts +2 -1
- package/dist/util/real-path.js +4 -3
- package/dist/util/request-scope.d.ts +11 -3
- package/dist/util/request-scope.js +13 -4
- package/dist/util/same-text.d.ts +10 -3
- package/dist/util/same-text.js +10 -3
- package/dist/util/secret-detect.d.ts +24 -7
- package/dist/util/secret-detect.js +49 -14
- package/dist/util/spawn-argv.d.ts +3 -1
- package/dist/util/spawn-argv.js +13 -4
- package/dist/util/sqlite-blocked.d.ts +15 -4
- package/dist/util/sqlite-blocked.js +19 -6
- package/dist/util/stored-json.d.ts +4 -1
- package/dist/util/stored-json.js +6 -2
- package/dist/util/stream-tee.d.ts +2 -1
- package/dist/util/stream-tee.js +8 -5
- package/dist/util/transcript-tail.d.ts +4 -1
- package/dist/util/transcript-tail.js +4 -1
- package/dist/util/version.d.ts +8 -3
- package/dist/util/version.js +8 -3
- package/dist/util/write-budget.d.ts +7 -2
- package/dist/util/write-budget.js +5 -2
- package/dist/util/yaml.d.ts +4 -1
- package/dist/util/yaml.js +4 -1
- 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/scripts/postinstall.cjs +3 -1
- package/dist/api/cards.d.ts +0 -42
- package/dist/api/conflicts.d.ts +0 -28
- package/dist/api/conflicts.js +0 -61
- package/dist/api/dormant.d.ts +0 -14
- package/dist/api/dormant.js +0 -58
- package/dist/api/goals.d.ts +0 -18
- package/dist/api/graph.d.ts +0 -8
- package/dist/api/graph.js +0 -8
- package/dist/api/learn.js +0 -125
- package/dist/api/memories.d.ts +0 -25
- package/dist/api/objects.d.ts +0 -9
- package/dist/api/outcome.d.ts +0 -19
- package/dist/api/predictions.d.ts +0 -11
- package/dist/api/promote.d.ts +0 -36
- package/dist/api/recall-core.d.ts +0 -4
- package/dist/api/recall-core.js +0 -125
- package/dist/api/recall-finish.d.ts +0 -53
- package/dist/api/recall-finish.js +0 -30
- package/dist/api/recall-history.d.ts +0 -64
- package/dist/api/recall-history.js +0 -159
- package/dist/api/recall-record.d.ts +0 -43
- package/dist/api/recall-record.js +0 -78
- package/dist/api/recall-request.js +0 -121
- package/dist/api/recall.d.ts +0 -6
- package/dist/api/refine.d.ts +0 -7
- package/dist/api/refine.js +0 -10
- package/dist/api/session-owners.d.ts +0 -4
- package/dist/api/session-owners.js +0 -17
- package/dist/api/sleep-run.d.ts +0 -26
- package/dist/api/sleep.js +0 -11
- package/dist/graph/write.d.ts +0 -14
- package/dist/store/sqlite/busy.d.ts +0 -3
- package/dist/store/sqlite/busy.js +0 -8
- package/dist/store/sqlite/local.d.ts +0 -4
- package/dist/store/sqlite/local.js +0 -8
package/dist/store/dormant.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
/** Dormant memories: what sleep does with a faded memory instead of deleting it (config `dormant.enabled`;
|
|
2
|
-
* Content stays in `dormant_memories` (schema v44) and the `memories` row
|
|
3
|
-
*
|
|
1
|
+
/** Dormant memories: what sleep does with a faded memory instead of deleting it (config `dormant.enabled`;
|
|
2
|
+
* `retentionDays` bounds how long one is kept). Content stays in `dormant_memories` (schema v44) and the `memories` row
|
|
3
|
+
* goes, so every reader of `memories` stops seeing it, as if deleted. Not the raw archive (`raw_archive`,
|
|
4
|
+
* `archiveRawMemory`), which keeps metadata only. db-taking helpers leave the handle and transaction to the caller. */
|
|
4
5
|
import { closeHippoDb, openHippoDb, withWriteScope, withWriteScopeOr } from '../db/index.js';
|
|
5
6
|
import { onHandle } from './open.js';
|
|
6
7
|
import { rejectionDigest } from './rejection.js';
|
|
@@ -13,7 +14,8 @@ import { audit, auditRejectionRefusal } from './audit-event.js';
|
|
|
13
14
|
import { entryIdTakenAt } from './entry-reads.js';
|
|
14
15
|
import { writeEntryDbOnly, writeEntryMirrors } from './entry-writes.js';
|
|
15
16
|
const DEFAULT_LIST_LIMIT = 20;
|
|
16
|
-
/** Insert (or refresh) the dormant snapshot for `move.entry`; the caller deletes the `memories` row in the same
|
|
17
|
+
/** Insert (or refresh) the dormant snapshot for `move.entry`; the caller deletes the `memories` row in the same
|
|
18
|
+
* transaction. */
|
|
17
19
|
export function insertDormantRow(db, move) {
|
|
18
20
|
db.prepare(`
|
|
19
21
|
INSERT INTO dormant_memories (tenant_id, id, content, entry_json, reason, strength, dormant_at)
|
|
@@ -27,14 +29,20 @@ export function insertDormantRow(db, move) {
|
|
|
27
29
|
`).run(move.entry.tenant_id, move.entry.id, move.entry.content, JSON.stringify(move.entry), move.reason, move.strength, move.dormantAt);
|
|
28
30
|
}
|
|
29
31
|
function toCurrentEntry({ tenantId, summary_dirty, tenant_id, ...rest }) {
|
|
30
|
-
return {
|
|
32
|
+
return {
|
|
33
|
+
...rest,
|
|
34
|
+
tenant_id: tenant_id ?? tenantId ?? '',
|
|
35
|
+
summary_dirty: summary_dirty === true || summary_dirty === 1,
|
|
36
|
+
};
|
|
31
37
|
}
|
|
32
|
-
/** Parse a stored snapshot back into a MemoryEntry, or null when the row no longer matches it (edited by hand, or
|
|
38
|
+
/** Parse a stored snapshot back into a MemoryEntry, or null when the row no longer matches it (edited by hand, or
|
|
39
|
+
* truncated). */
|
|
33
40
|
function parseSnapshot(row) {
|
|
34
41
|
try {
|
|
35
42
|
// SAFETY: entry_json is only written by insertDormantRow from a MemoryEntry;
|
|
36
43
|
// the id / tenant / content checks below reject a row edited out of shape.
|
|
37
|
-
// SAFETY: entry_json came from JSON.stringify of a MemoryEntry (2.0) or a 1.x one; the checks below reject a row
|
|
44
|
+
// SAFETY: entry_json came from JSON.stringify of a MemoryEntry (2.0) or a 1.x one; the checks below reject a row
|
|
45
|
+
// edited out of shape.
|
|
38
46
|
const entry = toCurrentEntry(JSON.parse(row.entry_json));
|
|
39
47
|
if (entry.id !== row.id || entry.tenant_id !== row.tenant_id || entry.content !== row.content) {
|
|
40
48
|
warnDamagedColumn({ table: 'dormant_memories', id: row.id, column: 'entry_json' }, 'wrong shape');
|
|
@@ -61,21 +69,27 @@ function rowToDormantMemory(row) {
|
|
|
61
69
|
};
|
|
62
70
|
}
|
|
63
71
|
// The snapshot's scope as a `scope` column, so recall-scope's SQL fragments read it as they read memories.scope.
|
|
64
|
-
const DORMANT_WITH_SCOPE = `(SELECT *, CASE WHEN json_valid(entry_json) THEN json_extract(entry_json, '$.scope') END
|
|
72
|
+
const DORMANT_WITH_SCOPE = `(SELECT *, CASE WHEN json_valid(entry_json) THEN json_extract(entry_json, '$.scope') END ` +
|
|
73
|
+
`AS scope FROM dormant_memories)`;
|
|
65
74
|
const EVERY_SCOPE = { sql: '1', params: [] };
|
|
66
75
|
/** A tenant's dormant memories whose scope `admit` passes, newest first, optionally filtered by search terms. */
|
|
67
76
|
function listDormantRows(db, tenantId, opts = {}, admit = EVERY_SCOPE) {
|
|
68
|
-
const terms = (opts.query ?? '')
|
|
77
|
+
const terms = (opts.query ?? '')
|
|
78
|
+
.trim()
|
|
79
|
+
.split(/\s+/)
|
|
80
|
+
.filter((t) => t.length > 0);
|
|
69
81
|
const limit = opts.limit !== undefined && Number.isFinite(opts.limit) && opts.limit >= 1
|
|
70
82
|
? Math.floor(opts.limit)
|
|
71
83
|
: DEFAULT_LIST_LIMIT;
|
|
72
84
|
const termClauses = terms.map(() => ` AND content LIKE ? ESCAPE '\\'`).join('');
|
|
73
85
|
// SAFETY: rows' shape matches the seven columns named in the SELECT.
|
|
74
|
-
const rows = db
|
|
86
|
+
const rows = db
|
|
87
|
+
.prepare(`SELECT tenant_id, id, content, entry_json, reason, strength, dormant_at
|
|
75
88
|
FROM ${DORMANT_WITH_SCOPE}
|
|
76
89
|
WHERE tenant_id = ? AND ${admit.sql}${termClauses}
|
|
77
90
|
ORDER BY dormant_at DESC, id ASC
|
|
78
|
-
LIMIT ?`)
|
|
91
|
+
LIMIT ?`)
|
|
92
|
+
.all(tenantId, ...admit.params, ...terms.map((t) => `%${escapeLike(t)}%`), limit);
|
|
79
93
|
return rows.map(rowToDormantMemory);
|
|
80
94
|
}
|
|
81
95
|
/** A tenant's stored dormant snapshot, or null when it has none with that id (another tenant's id reads as absent). */
|
|
@@ -95,10 +109,12 @@ export function listDormantSnapshots(db, tenantId) {
|
|
|
95
109
|
/** Readable snapshots whose entry's source starts with `prefix`; a malformed snapshot is passed over, not an error. */
|
|
96
110
|
export function dormantSnapshotsBySourcePrefix(db, tenantId, prefix) {
|
|
97
111
|
// SAFETY: rows' shape matches the seven columns named in the SELECT.
|
|
98
|
-
const rows = db
|
|
112
|
+
const rows = db
|
|
113
|
+
.prepare(`SELECT tenant_id, id, content, entry_json, reason, strength, dormant_at
|
|
99
114
|
FROM dormant_memories
|
|
100
115
|
WHERE tenant_id = ?
|
|
101
|
-
AND CASE WHEN json_valid(entry_json) THEN json_extract(entry_json, '$.source') END LIKE ? ESCAPE '\\'`)
|
|
116
|
+
AND CASE WHEN json_valid(entry_json) THEN json_extract(entry_json, '$.source') END LIKE ? ESCAPE '\\'`)
|
|
117
|
+
.all(tenantId, `${escapeLike(prefix)}%`);
|
|
102
118
|
return rows.flatMap((row) => toSnapshot(row) ?? []).filter((s) => String(s.entry.source).startsWith(prefix));
|
|
103
119
|
}
|
|
104
120
|
function toSnapshot(row) {
|
|
@@ -112,14 +128,17 @@ export function replaceDormantEntry(db, tenantId, id, entry) {
|
|
|
112
128
|
}
|
|
113
129
|
/** Whether a tenant has a dormant memory with this id whose scope `admit` passes (snapshot readable or not). */
|
|
114
130
|
function hasDormantRow(db, tenantId, id, admit = EVERY_SCOPE) {
|
|
115
|
-
return db
|
|
131
|
+
return (db
|
|
132
|
+
.prepare(`SELECT 1 FROM ${DORMANT_WITH_SCOPE} WHERE tenant_id = ? AND id = ? AND ${admit.sql}`)
|
|
133
|
+
.get(tenantId, id, ...admit.params) !== undefined);
|
|
116
134
|
}
|
|
117
135
|
/** Delete a tenant's dormant memory. Returns false when there was none. */
|
|
118
136
|
export function deleteDormantRow(db, tenantId, id) {
|
|
119
137
|
const result = db.prepare(`DELETE FROM dormant_memories WHERE tenant_id = ? AND id = ?`).run(tenantId, id);
|
|
120
138
|
return Number(result.changes ?? 0) > 0;
|
|
121
139
|
}
|
|
122
|
-
/** Deletes the tenant's dormant copies of a rejected digest whose snapshot scope `inReach` admits, so the value cannot
|
|
140
|
+
/** Deletes the tenant's dormant copies of a rejected digest whose snapshot scope `inReach` admits, so the value cannot
|
|
141
|
+
* linger; returns their ids. */
|
|
123
142
|
export function purgeDormantByDigest(db, tenantId, digest, inReach) {
|
|
124
143
|
// SAFETY: rows' shape matches the three columns named in the SELECT.
|
|
125
144
|
const rows = db.prepare(`SELECT id, content, CASE WHEN json_valid(entry_json) THEN json_extract(entry_json, '$.scope') END AS scope
|
|
@@ -160,7 +179,8 @@ async function expireInChunks(db, keys, cutoffIso, budget) {
|
|
|
160
179
|
}
|
|
161
180
|
return gone;
|
|
162
181
|
}
|
|
163
|
-
/** Deletes for good every memory that went dormant before `cutoffIso`, on one handle; returns how many went, or under
|
|
182
|
+
/** Deletes for good every memory that went dormant before `cutoffIso`, on one handle; returns how many went, or under
|
|
183
|
+
* `dryRun` how many would. */
|
|
164
184
|
export async function expireDormantBefore(hippoRoot, cutoffIso, opts) {
|
|
165
185
|
const db = openHippoDb(hippoRoot, { busyWaitMs: opts.busyWaitMs });
|
|
166
186
|
try {
|
|
@@ -215,7 +235,8 @@ function restoreInWriteScope(db, restore) {
|
|
|
215
235
|
return { status: 'restored', entry };
|
|
216
236
|
});
|
|
217
237
|
}
|
|
218
|
-
/** Brings one dormant memory back on a single handle: the live row, the dormant delete and the audit row commit
|
|
238
|
+
/** Brings one dormant memory back on a single handle: the live row, the dormant delete and the audit row commit
|
|
239
|
+
* together, then its mirrors are written. */
|
|
219
240
|
export function restoreDormantMemory(hippoRoot, restore) {
|
|
220
241
|
return onHandle(hippoRoot, (db) => {
|
|
221
242
|
let outcome;
|
|
@@ -233,7 +254,8 @@ export function restoreDormantMemory(hippoRoot, restore) {
|
|
|
233
254
|
return outcome;
|
|
234
255
|
});
|
|
235
256
|
}
|
|
236
|
-
/** Deletes a tenant's dormant memory for good and writes its `forget` audit row, on a single handle; false when it
|
|
257
|
+
/** Deletes a tenant's dormant memory for good and writes its `forget` audit row, on a single handle; false when it
|
|
258
|
+
* holds none `admit` passes. */
|
|
237
259
|
export function forgetDormantMemory(hippoRoot, forget) {
|
|
238
260
|
const { tenantId, id, actor, admit } = forget;
|
|
239
261
|
return onHandle(hippoRoot, (db) => {
|
|
@@ -1,21 +1,25 @@
|
|
|
1
|
-
/** The stored vector index's identity: which model and text format built it, and when a provider change means a
|
|
2
|
-
* Picking a provider and computing vectors sit in src/search/embed-memories.ts; this module only reads and
|
|
1
|
+
/** The stored vector index's identity: which model and text format built it, and when a provider change means a
|
|
2
|
+
* rebuild. Picking a provider and computing vectors sit in src/search/embed-memories.ts; this module only reads and
|
|
3
|
+
* writes what is stored. */
|
|
3
4
|
import { EMBEDDING_MODEL_META_KEY } from '../../db/vector-store.js';
|
|
4
5
|
export { EMBEDDING_MODEL_META_KEY };
|
|
5
|
-
/** Bump when `embeddingInputText` changes existing vectors; folded into the stored index identity
|
|
6
|
-
* change. Format 2 = `path:*` tags excluded; format 1
|
|
6
|
+
/** Bump when `embeddingInputText` changes existing vectors; folded into the stored index identity
|
|
7
|
+
* (`embeddingIndexIdentity`) so it reindexes like a model change. Format 2 = `path:*` tags excluded; format 1
|
|
8
|
+
* (implicit, no suffix) included them. */
|
|
7
9
|
export declare const EMBED_TEXT_FORMAT = 2;
|
|
8
|
-
/** Stored-index identity for a provider id: folds `EMBED_TEXT_FORMAT` in so a model or text-format change invalidates
|
|
9
|
-
* compare (`embeddingModelRequiresReindex`) and save (`saveStoredEmbeddingModel`);
|
|
10
|
+
/** Stored-index identity for a provider id: folds `EMBED_TEXT_FORMAT` in so a model or text-format change invalidates
|
|
11
|
+
* the index. The ONE choke point for compare (`embeddingModelRequiresReindex`) and save (`saveStoredEmbeddingModel`);
|
|
12
|
+
* they MUST version identically or every call reindexes. */
|
|
10
13
|
export declare function embeddingIndexIdentity(providerId: string): string;
|
|
11
14
|
/** Text embedded for an entry: content plus tags, space-joined and trimmed, minus `path:*` tags.
|
|
12
|
-
* `path:*` tags derive from cwd, so identical content would embed differently per store location; path relevance is
|
|
15
|
+
* `path:*` tags derive from cwd, so identical content would embed differently per store location; path relevance is
|
|
16
|
+
* handled by `pathOverlapScore`. */
|
|
13
17
|
export declare function embeddingInputText(entry: {
|
|
14
18
|
content: string;
|
|
15
19
|
tags: string[];
|
|
16
20
|
}): string;
|
|
17
|
-
/** Persist the stored-index identity for `model` (see `embeddingIndexIdentity`); versioning happens here, not at call
|
|
18
|
-
* and must stay consistent with the compare side in `embeddingModelRequiresReindex`. */
|
|
21
|
+
/** Persist the stored-index identity for `model` (see `embeddingIndexIdentity`); versioning happens here, not at call
|
|
22
|
+
* sites, and must stay consistent with the compare side in `embeddingModelRequiresReindex`. */
|
|
19
23
|
export declare function saveStoredEmbeddingModel(hippoRoot: string, model: string): void;
|
|
20
24
|
/** The one rebuild rule every store applies to its indexed model. */
|
|
21
25
|
export declare function indexNeedsRebuild(indexed: string | null, providerId: string): boolean;
|
|
@@ -1,21 +1,25 @@
|
|
|
1
|
-
/** The stored vector index's identity: which model and text format built it, and when a provider change means a
|
|
2
|
-
* Picking a provider and computing vectors sit in src/search/embed-memories.ts; this module only reads and
|
|
1
|
+
/** The stored vector index's identity: which model and text format built it, and when a provider change means a
|
|
2
|
+
* rebuild. Picking a provider and computing vectors sit in src/search/embed-memories.ts; this module only reads and
|
|
3
|
+
* writes what is stored. */
|
|
3
4
|
import { cosineOf } from '../../core/cosine.js';
|
|
4
5
|
import { EMBEDDING_MODEL_META_KEY } from '../../db/vector-store.js';
|
|
5
6
|
import { indexedModel, saveIndexIdentity, storedIndexState } from '../vector-index.js';
|
|
6
|
-
import { errorMessage, log } from '../../util/log.js';
|
|
7
|
+
import { errorMessage, log, errorFields } from '../../util/log.js';
|
|
7
8
|
import { rethrowIfSqliteBlocked } from '../../util/sqlite-blocked.js';
|
|
8
9
|
export { EMBEDDING_MODEL_META_KEY };
|
|
9
|
-
/** Bump when `embeddingInputText` changes existing vectors; folded into the stored index identity
|
|
10
|
-
* change. Format 2 = `path:*` tags excluded; format 1
|
|
10
|
+
/** Bump when `embeddingInputText` changes existing vectors; folded into the stored index identity
|
|
11
|
+
* (`embeddingIndexIdentity`) so it reindexes like a model change. Format 2 = `path:*` tags excluded; format 1
|
|
12
|
+
* (implicit, no suffix) included them. */
|
|
11
13
|
export const EMBED_TEXT_FORMAT = 2;
|
|
12
|
-
/** Stored-index identity for a provider id: folds `EMBED_TEXT_FORMAT` in so a model or text-format change invalidates
|
|
13
|
-
* compare (`embeddingModelRequiresReindex`) and save (`saveStoredEmbeddingModel`);
|
|
14
|
+
/** Stored-index identity for a provider id: folds `EMBED_TEXT_FORMAT` in so a model or text-format change invalidates
|
|
15
|
+
* the index. The ONE choke point for compare (`embeddingModelRequiresReindex`) and save (`saveStoredEmbeddingModel`);
|
|
16
|
+
* they MUST version identically or every call reindexes. */
|
|
14
17
|
export function embeddingIndexIdentity(providerId) {
|
|
15
18
|
return `${providerId}#t${EMBED_TEXT_FORMAT}`;
|
|
16
19
|
}
|
|
17
20
|
/** Text embedded for an entry: content plus tags, space-joined and trimmed, minus `path:*` tags.
|
|
18
|
-
* `path:*` tags derive from cwd, so identical content would embed differently per store location; path relevance is
|
|
21
|
+
* `path:*` tags derive from cwd, so identical content would embed differently per store location; path relevance is
|
|
22
|
+
* handled by `pathOverlapScore`. */
|
|
19
23
|
export function embeddingInputText(entry) {
|
|
20
24
|
const tags = entry.tags.filter((t) => !t.startsWith('path:'));
|
|
21
25
|
return `${entry.content} ${tags.join(' ')}`.trim();
|
|
@@ -26,12 +30,12 @@ function loadStoredEmbeddingModel(hippoRoot) {
|
|
|
26
30
|
}
|
|
27
31
|
catch (err) {
|
|
28
32
|
rethrowIfSqliteBlocked(err);
|
|
29
|
-
log.debug(`stored embedding model unreadable: ${errorMessage(err)}
|
|
33
|
+
log.debug(`stored embedding model unreadable: ${errorMessage(err)}`, errorFields(err));
|
|
30
34
|
return null;
|
|
31
35
|
}
|
|
32
36
|
}
|
|
33
|
-
/** Persist the stored-index identity for `model` (see `embeddingIndexIdentity`); versioning happens here, not at call
|
|
34
|
-
* and must stay consistent with the compare side in `embeddingModelRequiresReindex`. */
|
|
37
|
+
/** Persist the stored-index identity for `model` (see `embeddingIndexIdentity`); versioning happens here, not at call
|
|
38
|
+
* sites, and must stay consistent with the compare side in `embeddingModelRequiresReindex`. */
|
|
35
39
|
export function saveStoredEmbeddingModel(hippoRoot, model) {
|
|
36
40
|
saveIndexIdentity(hippoRoot, embeddingIndexIdentity(model));
|
|
37
41
|
}
|
|
@@ -43,7 +47,10 @@ export function resolveIndexedEmbeddingModel(hippoRoot, index) {
|
|
|
43
47
|
const storedModel = loadStoredEmbeddingModel(hippoRoot);
|
|
44
48
|
if (storedModel)
|
|
45
49
|
return storedModel;
|
|
46
|
-
return indexedModel({
|
|
50
|
+
return indexedModel({
|
|
51
|
+
storedModel,
|
|
52
|
+
hasVectors: index ? Object.keys(index).length > 0 : storedIndexState(hippoRoot).hasVectors,
|
|
53
|
+
});
|
|
47
54
|
}
|
|
48
55
|
export function embeddingModelRequiresReindex(hippoRoot, model, index) {
|
|
49
56
|
return indexNeedsRebuild(resolveIndexedEmbeddingModel(hippoRoot, index), model);
|
|
@@ -1,32 +1,41 @@
|
|
|
1
1
|
import type { MemoryEntry } from '../core/memory.js';
|
|
2
2
|
import { type DatabaseSyncLike } from '../db/index.js';
|
|
3
3
|
export declare const TENANT_IS = "+tenant_id = ?";
|
|
4
|
-
/** Read a memory entry by ID. With `tenantId` the read is tenant-scoped (cross-tenant returns null); omitted, no
|
|
4
|
+
/** Read a memory entry by ID. With `tenantId` the read is tenant-scoped (cross-tenant returns null); omitted, no
|
|
5
|
+
* tenant filter is applied. */
|
|
5
6
|
export declare function readEntry(hippoRoot: string, id: string, tenantId?: string): MemoryEntry | null;
|
|
6
|
-
/**
|
|
7
|
-
|
|
8
|
-
/** Rows by id on the caller's handle, one query per chunk; an id missing or in another tenant is absent from the map. */
|
|
7
|
+
/** Rows by id on the caller's handle, one query per chunk; an
|
|
8
|
+
* id missing or in another tenant is absent from the map. */
|
|
9
9
|
export declare function selectEntriesByIds(db: DatabaseSyncLike, ids: readonly string[], tenantId?: string): Map<string, MemoryEntry>;
|
|
10
10
|
/** Direct children of each parent, one query per chunk; each list is in `created ASC, id ASC` order. */
|
|
11
11
|
export declare function selectChildrenByParent(db: DatabaseSyncLike, parentIds: readonly string[], tenantId?: string): Map<string, MemoryEntry[]>;
|
|
12
|
-
/** Batched lookup, capped at 500 ids per call to keep IN(?,?,...) within SQLite limits; tenant filter enforced when
|
|
12
|
+
/** Batched lookup, capped at 500 ids per call to keep IN(?,?,...) within SQLite limits; tenant filter enforced when
|
|
13
|
+
* `tenantId` is passed. */
|
|
13
14
|
export declare function loadEntriesByIds(hippoRoot: string, ids: readonly string[], tenantId?: string): MemoryEntry[];
|
|
14
15
|
/** All `kind='raw'` rows for a session, tenant-scoped, oldest-first, excluding superseded; `[]` for an empty sessionId.
|
|
15
|
-
* With `cap`, the NEWEST rows are loaded (DESC LIMIT, reversed client-side); ASC + LIMIT would drop the newest and
|
|
16
|
+
* With `cap`, the NEWEST rows are loaded (DESC LIMIT, reversed client-side); ASC + LIMIT would drop the newest and
|
|
17
|
+
* break fresh-tail in assemble. */
|
|
16
18
|
export declare function loadSessionRawMemories(hippoRoot: string, sessionId: string, tenantId?: string, cap?: number, origins?: readonly string[]): MemoryEntry[];
|
|
17
|
-
/** Pre-cap, scope-aware row count for a session, so `assemble` reports the full size without leaking rows the caller
|
|
18
|
-
*
|
|
19
|
+
/** Pre-cap, scope-aware row count for a session, so `assemble` reports the full size without leaking rows the caller
|
|
20
|
+
* could not load. Mirrors
|
|
21
|
+
* `passesScopeFilterForRecall`'s default-deny: explicit scope matches exactly, none admits only `ownScope`.
|
|
22
|
+
* `tenantId` undefined counts cross-tenant. */
|
|
19
23
|
export declare function countSessionRawMemories(hippoRoot: string, sessionId: string, tenantId?: string, scope?: string, ownScope?: string, origins?: readonly string[]): number;
|
|
20
|
-
/** Last N kind='raw' memories by `created` desc, tenant-scoped, max 200; pass
|
|
21
|
-
*
|
|
24
|
+
/** Last N kind='raw' memories by `created` desc, tenant-scoped, max 200; pass
|
|
25
|
+
* `sessionId` or concurrent sessions show up in each other's fresh tail. The
|
|
26
|
+
* tenant-wide shape is discouraged: `api.recall` throws `RecallContractError`
|
|
27
|
+
* for it when `HIPPO_REQUIRE_SESSION_SCOPED_FRESH_TAIL=1`. */
|
|
22
28
|
export declare function loadFreshRawMemories(hippoRoot: string, count: number, tenantId?: string, sessionId?: string, origins?: readonly string[]): MemoryEntry[];
|
|
23
|
-
/** Load all entries from SQLite; omitting `tenantId` yields all rows (legacy). Recall paths that surface results to
|
|
29
|
+
/** Load all entries from SQLite; omitting `tenantId` yields all rows (legacy). Recall paths that surface results to
|
|
30
|
+
* a user MUST pass a resolved tenant. */
|
|
24
31
|
export declare function loadAllEntries(hippoRoot: string, tenantId?: string): MemoryEntry[];
|
|
25
|
-
/** Every tenant's memory ids in loadAllEntries' order, for a caller that reads the rows a page at a time instead of
|
|
32
|
+
/** Every tenant's memory ids in loadAllEntries' order, for a caller that reads the rows a page at a time instead of
|
|
33
|
+
* holding them all. */
|
|
26
34
|
export declare function loadAllEntryIds(hippoRoot: string): string[];
|
|
27
35
|
/** How many memory rows the store holds across every tenant. */
|
|
28
36
|
export declare function countAllEntries(hippoRoot: string): number;
|
|
29
|
-
/** A superset, in loadAllEntries' order, of the rows whose lowercased content holds any of `tokens` or whose lowercased
|
|
37
|
+
/** A superset, in loadAllEntries' order, of the rows whose lowercased content holds any of `tokens` or whose lowercased
|
|
38
|
+
* tags hold `tag`.
|
|
30
39
|
* The caller re-checks each row exactly; this only spares decoding rows that cannot match. */
|
|
31
40
|
export declare function loadEntriesMentioning(hippoRoot: string, tokens: readonly string[], tag: string, tenantId?: string): MemoryEntry[];
|
|
32
41
|
export interface EntryTextKey {
|
|
@@ -35,7 +44,8 @@ export interface EntryTextKey {
|
|
|
35
44
|
content: string;
|
|
36
45
|
source: string;
|
|
37
46
|
}
|
|
38
|
-
/** The rows in loadAllEntries' order (every tenant unless one is named), with only the columns that say whether
|
|
47
|
+
/** The rows in loadAllEntries' order (every tenant unless one is named), with only the columns that say whether
|
|
48
|
+
* another store already holds each. */
|
|
39
49
|
export declare function loadEntryTextKeys(hippoRoot: string, tenantId?: string): EntryTextKey[];
|
|
40
50
|
export interface EntriesWithBase {
|
|
41
51
|
entries: MemoryEntry[];
|
|
@@ -43,7 +53,8 @@ export interface EntriesWithBase {
|
|
|
43
53
|
get(id: string): MemoryEntry | undefined;
|
|
44
54
|
};
|
|
45
55
|
}
|
|
46
|
-
/** Every entry plus a by-id lookup of each as loaded, rebuilt from its row on first use, so no deep copy of the
|
|
56
|
+
/** Every entry plus a by-id lookup of each as loaded, rebuilt from its row on first use, so no deep copy of the
|
|
57
|
+
* store is kept. */
|
|
47
58
|
export declare function loadAllEntriesWithBase(hippoRoot: string): EntriesWithBase;
|
|
48
59
|
/** Where a page stopped: the `created`, `id` of its last row, in loadAllEntries' order. */
|
|
49
60
|
export interface EntryCursor {
|
|
@@ -62,14 +73,16 @@ export declare function loadEntriesPage(hippoRoot: string, tenantId: string | un
|
|
|
62
73
|
}): EntryPage;
|
|
63
74
|
/** Every memory row on an open connection, so a caller can read inside its own transaction. */
|
|
64
75
|
export declare function selectAllEntries(db: DatabaseSyncLike, tenantId?: string): MemoryEntry[];
|
|
65
|
-
/** The columns a text match needs, for every row of a tenant in loadAllEntries' order: callers read whole rows only
|
|
76
|
+
/** The columns a text match needs, for every row of a tenant in loadAllEntries' order: callers read whole rows only
|
|
77
|
+
* for the ids that match. */
|
|
66
78
|
export declare function selectTenantTexts(db: DatabaseSyncLike, tenantId: string): Array<{
|
|
67
79
|
id: string;
|
|
68
80
|
content: string;
|
|
69
81
|
source: string;
|
|
70
82
|
scope: string | null;
|
|
71
83
|
}>;
|
|
72
|
-
/** Live rows whose source starts with `prefix`, on the caller's
|
|
84
|
+
/** Live rows whose source starts with `prefix`, on the caller's
|
|
85
|
+
* handle; LIKE folds case, so the prefix is checked again exactly. */
|
|
73
86
|
export declare function selectLiveEntriesBySourcePrefix(db: DatabaseSyncLike, tenantId: string, prefix: string): MemoryEntry[];
|
|
74
87
|
export declare function loadContentsWithTag(hippoRoot: string, tenantId: string, tag: string, origins?: readonly string[]): string[];
|
|
75
88
|
export interface VaultRawRow {
|
|
@@ -78,7 +91,8 @@ export interface VaultRawRow {
|
|
|
78
91
|
tags_json: string;
|
|
79
92
|
scope: string | null;
|
|
80
93
|
}
|
|
81
|
-
/** Live raw rows whose artifact_ref matches a LIKE pattern,
|
|
94
|
+
/** Live raw rows whose artifact_ref matches a LIKE pattern,
|
|
95
|
+
* for one tenant; the store is set up first when it is new. */
|
|
82
96
|
export declare function loadVaultRawRows(hippoRoot: string, likeParam: string, tenantId: string): VaultRawRow[];
|
|
83
97
|
export interface PreviewRow {
|
|
84
98
|
id: string;
|
|
@@ -103,7 +117,8 @@ export declare function objectMemoryRowsAt(db: DatabaseSyncLike): Array<{
|
|
|
103
117
|
memory_id: string;
|
|
104
118
|
status: string;
|
|
105
119
|
}>;
|
|
106
|
-
/** Live rows of a tenant whose source does not start with `sourcePrefix`; `origins` (global store only) limits them
|
|
120
|
+
/** Live rows of a tenant whose source does not start with `sourcePrefix`; `origins` (global store only) limits them
|
|
121
|
+
* to user-global rows and those projects. */
|
|
107
122
|
export declare function selectRowsOutsideSourcePrefixAt(db: DatabaseSyncLike, tenantId: string, sourcePrefix: string, origins: readonly string[] | null): Array<{
|
|
108
123
|
id: string;
|
|
109
124
|
content: string;
|
|
@@ -112,6 +127,20 @@ export declare function selectRowsOutsideSourcePrefixAt(db: DatabaseSyncLike, te
|
|
|
112
127
|
/** Content of a tenant's live rows written by `source` and tagged `tag` that no extraction produced,
|
|
113
128
|
* in loadAllEntries' order and in every scope; `exceptSessionId` drops one session's own rows. */
|
|
114
129
|
export declare function loadLiveContentsBySourceAndTag(hippoRoot: string, tenantId: string, source: string, tag: string, exceptSessionId: string): string[];
|
|
115
|
-
/** Every tenant's distilled rows nothing has superseded, in
|
|
130
|
+
/** Every tenant's distilled rows nothing has superseded, in
|
|
131
|
+
* loadAllEntries' order: the rows that can be each other's duplicate. */
|
|
116
132
|
export declare function loadCurrentDistilledEntries(hippoRoot: string): MemoryEntry[];
|
|
133
|
+
/** Row traits any one of which lets a row through loadEntriesWithSignals. */
|
|
134
|
+
export interface EntrySignals {
|
|
135
|
+
tags: readonly string[];
|
|
136
|
+
sourcePrefix: string;
|
|
137
|
+
minRetrievals: number;
|
|
138
|
+
valences: readonly string[];
|
|
139
|
+
}
|
|
140
|
+
/** Rows holding at least one signal, in loadAllEntries' order; omitting `tenantId` reads every tenant. A superset:
|
|
141
|
+
* callers re-check each row. */
|
|
142
|
+
export declare function loadEntriesWithSignals(hippoRoot: string, signals: EntrySignals, tenantId?: string): MemoryEntry[];
|
|
143
|
+
/** A tenant's rows from `origins` that nothing superseded and
|
|
144
|
+
* that are neither raw nor archived, in loadAllEntries' order. */
|
|
145
|
+
export declare function loadCurrentEntriesFromOrigins(hippoRoot: string, tenantId: string, origins: readonly string[]): MemoryEntry[];
|
|
117
146
|
//# sourceMappingURL=entry-reads.d.ts.map
|