hippo-memory 1.69.0 → 1.71.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 +5 -2
- package/dist/agent-memories/apply.d.ts +3 -3
- package/dist/agent-memories/apply.js +16 -31
- package/dist/agent-memories/claude-code.d.ts +5 -5
- package/dist/agent-memories/claude-code.js +25 -12
- package/dist/agent-memories/copilot.js +3 -2
- package/dist/agent-memories/files.js +26 -14
- package/dist/agent-memories/gemini.js +6 -5
- package/dist/agent-memories/keys.js +3 -2
- package/dist/agent-memories/legacy.d.ts +2 -2
- package/dist/agent-memories/legacy.js +2 -2
- package/dist/agent-memories/markdown.d.ts +1 -3
- package/dist/agent-memories/markdown.js +1 -3
- package/dist/agent-memories/report.d.ts +1 -1
- package/dist/agent-memories/report.js +3 -2
- package/dist/agent-memories/source.d.ts +1 -1
- package/dist/agent-memories/source.js +6 -5
- package/dist/agent-memories/sync.d.ts +5 -3
- package/dist/agent-memories/sync.js +34 -38
- package/dist/agent-memories/types.d.ts +1 -1
- package/dist/api/assemble.d.ts +9 -46
- package/dist/api/assemble.js +44 -54
- package/dist/api/audit.d.ts +8 -7
- package/dist/api/audit.js +15 -21
- package/dist/api/auth.d.ts +17 -39
- package/dist/api/auth.js +76 -216
- package/dist/api/auto-sleep.d.ts +13 -0
- package/dist/api/auto-sleep.js +32 -0
- package/dist/{availability.d.ts → api/availability.d.ts} +4 -17
- package/dist/{availability.js → api/availability.js} +14 -44
- package/dist/{context-auto.js → api/context-auto.js} +2 -1
- package/dist/{context-render.d.ts → api/context-render.d.ts} +4 -4
- package/dist/{context-render.js → api/context-render.js} +7 -6
- package/dist/api/context-select.d.ts +5 -5
- package/dist/api/context-select.js +39 -48
- package/dist/api/context-types.d.ts +15 -40
- package/dist/api/context.d.ts +7 -26
- package/dist/api/context.js +67 -97
- package/dist/api/dormant.d.ts +7 -23
- package/dist/api/dormant.js +40 -128
- package/dist/api/drill-down.d.ts +9 -48
- package/dist/api/drill-down.js +41 -90
- package/dist/api/forget.d.ts +5 -33
- package/dist/api/forget.js +17 -73
- package/dist/api/goals.d.ts +1 -1
- package/dist/api/goals.js +2 -2
- package/dist/api/graph.d.ts +8 -0
- package/dist/api/graph.js +7 -0
- package/dist/api/index.d.ts +28 -0
- package/dist/api/index.js +31 -0
- package/dist/api/instruction-detect.js +85 -0
- package/dist/api/learn.js +63 -55
- package/dist/api/ledger-db.d.ts +21 -0
- package/dist/api/ledger-db.js +81 -0
- package/dist/api/memories.d.ts +5 -0
- package/dist/api/memories.js +7 -0
- package/dist/api/objects.d.ts +9 -0
- package/dist/api/objects.js +11 -0
- package/dist/api/on-store.d.ts +16 -0
- package/dist/api/on-store.js +38 -0
- package/dist/api/outcome.d.ts +5 -42
- package/dist/api/outcome.js +15 -80
- package/dist/{pilot-arm.d.ts → api/pilot-arm.d.ts} +1 -1
- package/dist/{pilot-arm.js → api/pilot-arm.js} +15 -23
- package/dist/api/predictions.d.ts +9 -0
- package/dist/api/predictions.js +18 -0
- package/dist/api/promote.d.ts +16 -31
- package/dist/api/promote.js +38 -123
- package/dist/{prompt-hook.d.ts → api/prompt-hook.d.ts} +11 -11
- package/dist/{prompt-hook.js → api/prompt-hook.js} +42 -60
- package/dist/api/quarantine.d.ts +5 -5
- package/dist/api/quarantine.js +30 -106
- package/dist/api/recall-cli.d.ts +55 -0
- package/dist/api/recall-cli.js +94 -0
- package/dist/api/recall-core.d.ts +4 -0
- package/dist/api/recall-core.js +120 -0
- package/dist/api/recall-finish.d.ts +53 -0
- package/dist/api/recall-finish.js +30 -0
- package/dist/api/recall-history.d.ts +64 -0
- package/dist/api/recall-history.js +159 -0
- package/dist/{recall-pipeline.d.ts → api/recall-pipeline.d.ts} +7 -8
- package/dist/{recall-pipeline.js → api/recall-pipeline.js} +60 -48
- package/dist/api/recall-record.d.ts +10 -13
- package/dist/api/recall-record.js +10 -30
- package/dist/api/recall-request.d.ts +2 -2
- package/dist/api/recall-request.js +3 -3
- package/dist/api/recall-types.d.ts +101 -316
- package/dist/api/recall.d.ts +5 -33
- package/dist/api/recall.js +92 -91
- package/dist/api/refine.d.ts +7 -0
- package/dist/api/refine.js +10 -0
- package/dist/api/remember-local.d.ts +57 -0
- package/dist/api/remember-local.js +90 -0
- package/dist/api/remember.d.ts +27 -12
- package/dist/api/remember.js +42 -46
- package/dist/api/session-owners.d.ts +4 -0
- package/dist/api/session-owners.js +17 -0
- package/dist/api/sleep-run.d.ts +7 -9
- package/dist/api/sleep-run.js +78 -94
- package/dist/api/sleep.d.ts +10 -29
- package/dist/api/tokens.d.ts +5 -12
- package/dist/api/tokens.js +12 -31
- package/dist/api/types.d.ts +8 -31
- package/dist/api/types.js +5 -23
- package/dist/capture/caller-session.d.ts +2 -2
- package/dist/capture/caller-session.js +8 -8
- package/dist/{capture-error.d.ts → capture/capture-error.d.ts} +2 -2
- package/dist/{capture-error.js → capture/capture-error.js} +7 -7
- package/dist/{codex-patch.js → capture/codex-patch.js} +1 -1
- package/dist/capture/command.d.ts +5 -13
- package/dist/capture/command.js +57 -60
- package/dist/capture/compact-resume-caller.d.ts +1 -1
- package/dist/capture/compact-resume-caller.js +7 -7
- package/dist/capture/compact.d.ts +8 -16
- package/dist/capture/compact.js +56 -47
- package/dist/capture/compaction-items-caller.d.ts +1 -1
- package/dist/capture/compaction-items-caller.js +7 -5
- package/dist/{compaction-items.js → capture/compaction-items.js} +27 -3
- package/dist/{compaction-record.d.ts → capture/compaction-record.d.ts} +10 -6
- package/dist/{compaction-record.js → capture/compaction-record.js} +143 -157
- package/dist/{compaction-spool.d.ts → capture/compaction-spool.d.ts} +1 -1
- package/dist/{compaction-spool.js → capture/compaction-spool.js} +18 -14
- package/dist/capture/copilot-transcript.js +1 -1
- package/dist/capture/extract.js +2 -2
- package/dist/capture/failure-caller.d.ts +2 -2
- package/dist/capture/failure-caller.js +6 -6
- package/dist/capture/failure-reading.d.ts +2 -5
- package/dist/capture/failure-reading.js +11 -12
- package/dist/{handoff-evidence.d.ts → capture/handoff-evidence.d.ts} +1 -1
- package/dist/{handoff-evidence.js → capture/handoff-evidence.js} +2 -1
- package/dist/capture/pre-compact-caller.d.ts +1 -1
- package/dist/capture/pre-compact-caller.js +2 -2
- package/dist/{session-digest.d.ts → capture/session-digest.d.ts} +2 -6
- package/dist/{session-digest.js → capture/session-digest.js} +29 -29
- package/dist/capture/session-end-caller.d.ts +2 -2
- package/dist/capture/session-end-caller.js +1 -1
- package/dist/capture/session-texts.d.ts +1 -1
- package/dist/capture/session-texts.js +5 -5
- package/dist/capture/session-worker.js +6 -4
- package/dist/{share-scrub.js → capture/share-scrub.js} +2 -2
- package/dist/capture/transcript.d.ts +2 -10
- package/dist/capture/transcript.js +72 -92
- package/dist/capture/working-state.d.ts +0 -3
- package/dist/capture/working-state.js +7 -7
- package/dist/cli/api-context.d.ts +3 -0
- package/dist/cli/api-context.js +6 -0
- package/dist/cli/audit-prune.d.ts +28 -0
- package/dist/cli/audit-prune.js +40 -0
- package/dist/cli/audit.d.ts +2 -2
- package/dist/cli/audit.js +92 -88
- package/dist/cli/auth.d.ts +2 -1
- package/dist/cli/auth.js +69 -53
- package/dist/cli/briefs.d.ts +4 -3
- package/dist/cli/briefs.js +76 -202
- package/dist/cli/card.d.ts +2 -1
- package/dist/cli/card.js +55 -54
- package/dist/cli/client.d.ts +28 -0
- package/dist/{client.js → cli/client.js} +25 -44
- package/dist/cli/compact-resume-payload.d.ts +8 -0
- package/dist/cli/compact-resume-payload.js +40 -0
- package/dist/cli/context.d.ts +1 -13
- package/dist/cli/context.js +51 -77
- package/dist/cli/continuity.d.ts +6 -5
- package/dist/cli/continuity.js +153 -145
- package/dist/cli/correction-latency.d.ts +24 -0
- package/dist/{correction-latency.js → cli/correction-latency.js} +2 -14
- package/dist/cli/curate.d.ts +13 -17
- package/dist/cli/curate.js +226 -222
- package/dist/cli/dag.d.ts +4 -4
- package/dist/cli/dag.js +70 -52
- package/dist/cli/decisions.d.ts +4 -3
- package/dist/cli/decisions.js +129 -253
- package/dist/cli/eval.d.ts +1 -3
- package/dist/cli/eval.js +56 -42
- package/dist/cli/exit.d.ts +6 -0
- package/dist/cli/exit.js +11 -0
- package/dist/cli/explain.d.ts +1 -2
- package/dist/cli/explain.js +39 -21
- package/dist/cli/flag-values.d.ts +30 -0
- package/dist/cli/flag-values.js +120 -0
- package/dist/cli/flags.d.ts +304 -0
- package/dist/cli/flags.js +169 -0
- package/dist/cli/github.d.ts +14 -0
- package/dist/cli/github.js +184 -0
- package/dist/cli/goals.d.ts +2 -1
- package/dist/cli/goals.js +76 -75
- package/dist/cli/hook-runtime.d.ts +31 -0
- package/dist/cli/hook-runtime.js +139 -0
- package/dist/cli/init.d.ts +2 -1
- package/dist/cli/init.js +153 -126
- package/dist/cli/install-steps.d.ts +7 -0
- package/dist/cli/install-steps.js +101 -0
- package/dist/cli/last-sleep.d.ts +3 -1
- package/dist/cli/last-sleep.js +12 -7
- package/dist/cli/maintenance.d.ts +5 -4
- package/dist/cli/maintenance.js +41 -42
- package/dist/cli/object-verbs.d.ts +40 -0
- package/dist/cli/object-verbs.js +66 -0
- package/dist/cli/owner-validation.d.ts +18 -0
- package/dist/cli/owner-validation.js +33 -0
- package/dist/cli/playbooks.d.ts +4 -3
- package/dist/cli/playbooks.js +98 -306
- package/dist/cli/print.d.ts +15 -0
- package/dist/cli/print.js +82 -0
- package/dist/cli/projects.d.ts +2 -3
- package/dist/cli/projects.js +56 -51
- package/dist/cli/provenance-coverage.d.ts +14 -0
- package/dist/{provenance-coverage.js → cli/provenance-coverage.js} +2 -6
- package/dist/cli/quality-repair-once.js +4 -4
- package/dist/cli/recall.d.ts +2 -6
- package/dist/cli/recall.js +128 -253
- package/dist/cli/refine-llm.d.ts +35 -0
- package/dist/cli/refine-llm.js +128 -0
- package/dist/cli/remember.d.ts +4 -6
- package/dist/cli/remember.js +193 -230
- package/dist/{scheduler.d.ts → cli/scheduler.d.ts} +4 -17
- package/dist/{scheduler.js → cli/scheduler.js} +22 -22
- package/dist/cli/serve.d.ts +1 -1
- package/dist/cli/serve.js +46 -7
- package/dist/cli/session-hooks.d.ts +11 -19
- package/dist/cli/session-hooks.js +263 -258
- package/dist/cli/setup.d.ts +4 -3
- package/dist/cli/setup.js +55 -37
- package/dist/cli/shared.d.ts +14 -118
- package/dist/cli/shared.js +26 -400
- package/dist/cli/slack.d.ts +2 -1
- package/dist/cli/slack.js +46 -74
- package/dist/cli/sleep-render.d.ts +4 -0
- package/dist/cli/sleep-render.js +61 -0
- package/dist/cli/sleep.d.ts +3 -8
- package/dist/cli/sleep.js +34 -91
- package/dist/cli/status.d.ts +9 -12
- package/dist/cli/status.js +86 -131
- package/dist/{stdin.d.ts → cli/stdin.d.ts} +4 -6
- package/dist/{stdin.js → cli/stdin.js} +8 -9
- package/dist/cli/transfer.d.ts +9 -9
- package/dist/cli/transfer.js +125 -122
- package/dist/cli/usage.js +13 -5
- package/dist/cli.d.ts +69 -167
- package/dist/cli.js +187 -296
- package/dist/connectors/dlq.d.ts +44 -0
- package/dist/connectors/dlq.js +30 -0
- package/dist/connectors/github/backfill.d.ts +6 -26
- package/dist/connectors/github/backfill.js +42 -114
- package/dist/connectors/github/deletion.d.ts +6 -21
- package/dist/connectors/github/deletion.js +17 -64
- package/dist/connectors/github/dlq.d.ts +12 -91
- package/dist/connectors/github/dlq.js +23 -140
- package/dist/connectors/github/ingest.d.ts +4 -37
- package/dist/connectors/github/ingest.js +24 -93
- package/dist/connectors/github/octokit-client.d.ts +5 -17
- package/dist/connectors/github/octokit-client.js +29 -25
- package/dist/connectors/github/ratelimit.d.ts +3 -14
- package/dist/connectors/github/ratelimit.js +3 -14
- package/dist/connectors/github/scope.d.ts +3 -5
- package/dist/connectors/github/scope.js +3 -5
- package/dist/connectors/github/signature.d.ts +4 -26
- package/dist/connectors/github/signature.js +4 -26
- package/dist/connectors/github/tenant-routing.d.ts +4 -26
- package/dist/connectors/github/tenant-routing.js +13 -61
- package/dist/connectors/github/transform.d.ts +1 -1
- package/dist/connectors/github/transform.js +2 -16
- package/dist/connectors/github/types.d.ts +4 -16
- package/dist/connectors/github/types.js +17 -27
- package/dist/connectors/github/webhook.d.ts +5 -18
- package/dist/connectors/github/webhook.js +86 -105
- package/dist/connectors/slack/backfill.d.ts +5 -18
- package/dist/connectors/slack/backfill.js +9 -42
- package/dist/connectors/slack/deletion.d.ts +4 -7
- package/dist/connectors/slack/deletion.js +20 -49
- package/dist/connectors/slack/dlq.d.ts +9 -68
- package/dist/connectors/slack/dlq.js +26 -136
- package/dist/connectors/slack/ingest.d.ts +4 -18
- package/dist/connectors/slack/ingest.js +26 -91
- package/dist/connectors/slack/scope.d.ts +2 -8
- package/dist/connectors/slack/scope.js +2 -8
- package/dist/connectors/slack/signature.d.ts +1 -6
- package/dist/connectors/slack/signature.js +2 -1
- package/dist/connectors/slack/tenant-routing.d.ts +4 -18
- package/dist/connectors/slack/tenant-routing.js +11 -31
- package/dist/connectors/slack/transform.d.ts +3 -19
- package/dist/connectors/slack/transform.js +2 -18
- package/dist/connectors/slack/types.d.ts +4 -10
- package/dist/connectors/slack/types.js +5 -16
- package/dist/connectors/slack/web-client.js +34 -28
- package/dist/connectors/slack/webhook.d.ts +5 -21
- package/dist/connectors/slack/webhook.js +80 -108
- package/dist/connectors/slack/workspaces.d.ts +8 -41
- package/dist/connectors/slack/workspaces.js +8 -58
- package/dist/consolidate/conflicts.d.ts +1 -1
- package/dist/consolidate/conflicts.js +10 -18
- package/dist/consolidate/dag-summary.d.ts +8 -0
- package/dist/consolidate/dag-summary.js +41 -0
- package/dist/{dag.d.ts → consolidate/dag.d.ts} +6 -29
- package/dist/{dag.js → consolidate/dag.js} +49 -131
- package/dist/consolidate/decay.d.ts +2 -2
- package/dist/consolidate/decay.js +35 -41
- package/dist/consolidate/dedupe.d.ts +29 -0
- package/dist/consolidate/dedupe.js +103 -0
- package/dist/consolidate/flush-units.d.ts +5 -6
- package/dist/consolidate/flush-units.js +3 -3
- package/dist/consolidate/half-life-migration.d.ts +34 -0
- package/dist/consolidate/half-life-migration.js +89 -0
- package/dist/consolidate/llm-passes.js +12 -29
- package/dist/consolidate/memory-value-weights.d.ts +8 -0
- package/dist/{memory-value-weights.js → consolidate/memory-value-weights.js} +2 -13
- package/dist/consolidate/memory-value.d.ts +45 -0
- package/dist/consolidate/memory-value.js +164 -0
- package/dist/consolidate/merge.js +65 -83
- package/dist/{merged-row.d.ts → consolidate/merged-row.d.ts} +1 -1
- package/dist/{merged-row.js → consolidate/merged-row.js} +4 -3
- package/dist/consolidate/physics-pass.js +46 -48
- package/dist/consolidate/replay.d.ts +9 -0
- package/dist/consolidate/replay.js +84 -0
- package/dist/consolidate/run.d.ts +7 -13
- package/dist/consolidate/run.js +6 -37
- package/dist/consolidate/sleep.d.ts +2 -9
- package/dist/consolidate/sleep.js +69 -151
- package/dist/consolidate/trace.d.ts +19 -0
- package/dist/{trace.js → consolidate/trace.js} +7 -24
- package/dist/consolidate/traces.js +40 -51
- package/dist/core/ablation.d.ts +15 -0
- package/dist/core/ablation.js +49 -0
- package/dist/{agent-memories/tools.d.ts → core/agent-memory-tools.d.ts} +1 -1
- package/dist/{agent-memories/tools.js → core/agent-memory-tools.js} +1 -1
- package/dist/{ambient.d.ts → core/ambient.d.ts} +1 -8
- package/dist/{ambient.js → core/ambient.js} +13 -18
- package/dist/{capture-contract.d.ts → core/capture-contract.d.ts} +16 -3
- package/dist/{capture-contract.js → core/capture-contract.js} +67 -1
- package/dist/{card.d.ts → core/card.d.ts} +4 -1
- package/dist/{card.js → core/card.js} +8 -0
- package/dist/core/compare.d.ts +32 -0
- package/dist/core/compare.js +70 -0
- package/dist/{config.d.ts → core/config.d.ts} +14 -28
- package/dist/{config.js → core/config.js} +101 -75
- package/dist/{handoff.d.ts → core/handoff.d.ts} +1 -7
- package/dist/core/handoff.js +81 -0
- package/dist/{memory-quality.js → core/memory-quality.js} +2 -2
- package/dist/core/memory.d.ts +183 -0
- package/dist/core/memory.js +380 -0
- package/dist/core/package-root.d.ts +3 -0
- package/dist/core/package-root.js +5 -0
- package/dist/{physics-config.d.ts → core/physics-config.d.ts} +1 -4
- package/dist/{physics-config.js → core/physics-config.js} +3 -8
- package/dist/{physics.d.ts → core/physics.d.ts} +16 -62
- package/dist/{physics.js → core/physics.js} +60 -122
- package/dist/{project-identity.d.ts → core/project-identity.d.ts} +17 -63
- package/dist/{project-identity.js → core/project-identity.js} +22 -55
- package/dist/{project-remote.js → core/project-remote.js} +17 -6
- package/dist/{prompt-recall.js → core/prompt-recall.js} +1 -1
- package/dist/core/raw-append-only.d.ts +5 -0
- package/dist/core/raw-append-only.js +7 -0
- package/dist/{salience.d.ts → core/salience.d.ts} +1 -7
- package/dist/{salience.js → core/salience.js} +36 -27
- package/dist/{search/types.d.ts → core/search-types.d.ts} +2 -2
- package/dist/{search/types.js → core/search-types.js} +1 -1
- package/dist/core/session-digest-row.d.ts +5 -0
- package/dist/core/session-digest-row.js +6 -0
- package/dist/{dashboard-actions.d.ts → dashboard/dashboard-actions.d.ts} +1 -1
- package/dist/{dashboard-actions.js → dashboard/dashboard-actions.js} +7 -7
- package/dist/{dashboard-queries.d.ts → dashboard/dashboard-queries.d.ts} +7 -2
- package/dist/{dashboard-queries.js → dashboard/dashboard-queries.js} +6 -10
- package/dist/{dashboard-snapshot.d.ts → dashboard/dashboard-snapshot.d.ts} +11 -10
- package/dist/{dashboard-snapshot.js → dashboard/dashboard-snapshot.js} +110 -104
- package/dist/{dashboard-types.d.ts → dashboard/dashboard-types.d.ts} +2 -1
- package/dist/{dashboard.d.ts → dashboard/dashboard.d.ts} +1 -0
- package/dist/{dashboard.js → dashboard/dashboard.js} +172 -55
- package/dist/db/backup.js +1 -1
- package/dist/db/busy.d.ts +19 -2
- package/dist/db/busy.js +88 -14
- package/dist/db/connect.d.ts +11 -2
- package/dist/db/connect.js +43 -10
- package/dist/db/index.d.ts +9 -0
- package/dist/db/index.js +8 -0
- package/dist/db/meta.d.ts +4 -0
- package/dist/db/meta.js +11 -1
- package/dist/db/migrate.d.ts +8 -1
- package/dist/db/migrate.js +28 -33
- package/dist/db/migrations/types.d.ts +2 -5
- package/dist/db/migrations/v08.js +1 -1
- package/dist/db/migrations/v14.js +39 -36
- package/dist/db/migrations/v15.js +2 -8
- package/dist/db/migrations/v16.js +31 -29
- package/dist/db/migrations/v17.js +2 -3
- package/dist/db/migrations/v18.js +6 -5
- package/dist/db/migrations/v19.js +2 -5
- package/dist/db/migrations/v20.js +5 -8
- package/dist/db/migrations/v22.js +28 -38
- package/dist/db/migrations/v23.js +3 -14
- package/dist/db/migrations/v24.js +25 -22
- package/dist/db/migrations/v25.js +3 -8
- package/dist/db/migrations/v26.js +2 -13
- package/dist/db/migrations/v27.js +3 -11
- package/dist/db/migrations/v28.js +2 -14
- package/dist/db/migrations/v29.js +23 -32
- package/dist/db/migrations/v30.js +4 -16
- package/dist/db/migrations/v31.js +23 -31
- package/dist/db/migrations/v32.js +4 -22
- package/dist/db/migrations/v33.js +2 -15
- package/dist/db/migrations/v34.js +2 -11
- package/dist/db/migrations/v35.js +2 -11
- package/dist/db/migrations/v36.js +2 -11
- package/dist/db/migrations/v37.js +8 -33
- package/dist/db/migrations/v38.js +5 -38
- package/dist/db/migrations/v39.js +10 -21
- package/dist/db/migrations/v40.js +8 -14
- package/dist/db/migrations/v41.js +2 -24
- package/dist/db/migrations/v43.js +7 -6
- package/dist/db/migrations/v44.js +2 -8
- package/dist/db/migrations/v45.js +2 -7
- package/dist/db/migrations/v46.js +1 -1
- package/dist/db/migrations/v47.js +2 -3
- package/dist/db/migrations/v48.js +1 -1
- package/dist/db/migrations/v49.js +1 -1
- package/dist/db/migrations/v50.js +8 -7
- package/dist/db/migrations/v51.js +1 -1
- package/dist/db/migrations/v52.js +1 -1
- package/dist/db/open.d.ts +11 -1
- package/dist/db/open.js +37 -4
- package/dist/db/physics-state.d.ts +23 -0
- package/dist/{physics-state.js → db/physics-state.js} +34 -52
- package/dist/db/raw-archive-mirror-cleanup.d.ts +5 -0
- package/dist/{raw-archive-mirror-cleanup.js → db/raw-archive-mirror-cleanup.js} +10 -20
- package/dist/db/request-stores.d.ts +15 -2
- package/dist/db/request-stores.js +37 -15
- package/dist/db/tables.d.ts +2 -0
- package/dist/db/tables.js +6 -0
- package/dist/{vector-store.d.ts → db/vector-store.d.ts} +6 -2
- package/dist/{vector-store.js → db/vector-store.js} +83 -51
- package/dist/db/wal-checkpointer.d.ts +11 -0
- package/dist/db/wal-checkpointer.js +92 -0
- package/dist/doctor.js +176 -152
- package/dist/entry/json-hooks.d.ts +1 -1
- package/dist/entry/json-hooks.js +1 -1
- package/dist/entry/project-identity.d.ts +1 -1
- package/dist/entry/project-identity.js +1 -1
- package/dist/entry/session-text.d.ts +3 -3
- package/dist/entry/session-text.js +5 -4
- package/dist/{eval-stats.d.ts → eval/eval-stats.d.ts} +15 -53
- package/dist/{eval-stats.js → eval/eval-stats.js} +24 -51
- package/dist/{eval-suite.d.ts → eval/eval-suite.d.ts} +3 -14
- package/dist/{eval-suite.js → eval/eval-suite.js} +99 -57
- package/dist/{eval.d.ts → eval/eval.d.ts} +7 -25
- package/dist/{eval.js → eval/eval.js} +35 -55
- package/dist/{judgment.d.ts → eval/judgment.d.ts} +1 -6
- package/dist/{judgment.js → eval/judgment.js} +23 -20
- package/dist/extensions/openclaw-plugin/index.js +2 -3
- package/dist/graph/delta.d.ts +3 -2
- package/dist/graph/delta.js +9 -23
- package/dist/{graph-extract.d.ts → graph/extract.d.ts} +10 -32
- package/dist/{graph-extract.js → graph/extract.js} +40 -81
- package/dist/{graph-recall.d.ts → graph/recall.d.ts} +9 -22
- package/dist/{graph-recall.js → graph/recall.js} +65 -108
- package/dist/graph/stream.d.ts +38 -0
- package/dist/{graph-stream.js → graph/stream.js} +20 -41
- package/dist/graph/view.d.ts +50 -0
- package/dist/graph/view.js +265 -0
- package/dist/graph/write.d.ts +4 -76
- package/dist/graph/write.js +13 -397
- package/dist/hooks/codex-session.js +1 -1
- package/dist/hooks/codex-wrapper.js +16 -17
- package/dist/hooks/copilot.d.ts +1 -8
- package/dist/hooks/copilot.js +16 -16
- package/dist/{cli → hooks}/hook-blocks.d.ts +6 -2
- package/dist/{cli → hooks}/hook-blocks.js +38 -125
- package/dist/hooks/json-hooks.d.ts +5 -37
- package/dist/hooks/json-hooks.js +49 -179
- package/dist/hooks/opencode.d.ts +0 -38
- package/dist/hooks/opencode.js +44 -103
- package/dist/hooks/shared.d.ts +8 -21
- package/dist/hooks/shared.js +30 -25
- package/dist/importers/core.d.ts +13 -42
- package/dist/importers/core.js +48 -64
- package/dist/importers/markdown-parse.d.ts +9 -32
- package/dist/importers/markdown-parse.js +10 -44
- package/dist/importers/markdown.js +5 -13
- package/dist/importers/sources.js +57 -81
- package/dist/importers/vault.d.ts +2 -8
- package/dist/importers/vault.js +95 -172
- package/dist/index.d.ts +26 -22
- package/dist/index.js +25 -21
- package/dist/learn/autolearn.d.ts +29 -0
- package/dist/{autolearn.js → learn/autolearn.js} +26 -51
- package/dist/{churn-git.d.ts → learn/churn-git.d.ts} +1 -1
- package/dist/{churn-git.js → learn/churn-git.js} +6 -4
- package/dist/{extract.d.ts → learn/extract.d.ts} +1 -1
- package/dist/learn/extract.js +123 -0
- package/dist/learn/forward-claim-detector.d.ts +12 -0
- package/dist/learn/forward-claim-detector.js +60 -0
- package/dist/{invalidation.d.ts → learn/invalidation.d.ts} +10 -18
- package/dist/{invalidation.js → learn/invalidation.js} +92 -125
- package/dist/mcp/admin-tools.d.ts +1 -1
- package/dist/mcp/admin-tools.js +39 -64
- package/dist/mcp/format.d.ts +5 -5
- package/dist/mcp/format.js +7 -6
- package/dist/mcp/framing.d.ts +6 -0
- package/dist/mcp/framing.js +11 -3
- package/dist/mcp/memory-tools.js +10 -35
- package/dist/mcp/protocol.d.ts +14 -36
- package/dist/mcp/protocol.js +10 -19
- package/dist/mcp/recall-tools.d.ts +2 -2
- package/dist/mcp/recall-tools.js +70 -52
- package/dist/mcp/request.d.ts +3 -11
- package/dist/mcp/request.js +71 -85
- package/dist/mcp/server.d.ts +3 -9
- package/dist/mcp/server.js +6 -17
- package/dist/mcp/session-state.d.ts +2 -3
- package/dist/mcp/session-state.js +7 -13
- package/dist/mcp/shared-gate.js +1 -1
- package/dist/mcp/stdio.d.ts +2 -6
- package/dist/mcp/stdio.js +112 -38
- package/dist/mcp/tool-args.js +2 -1
- package/dist/mcp/tools.js +7 -5
- package/dist/objects/customer-notes.d.ts +44 -0
- package/dist/objects/customer-notes.js +71 -0
- package/dist/objects/decisions.d.ts +41 -0
- package/dist/objects/decisions.js +63 -0
- package/dist/objects/descriptor.d.ts +52 -0
- package/dist/objects/descriptor.js +4 -0
- package/dist/objects/fields.d.ts +15 -0
- package/dist/objects/fields.js +21 -0
- package/dist/objects/incidents.d.ts +45 -0
- package/dist/objects/incidents.js +96 -0
- package/dist/objects/lifecycle.d.ts +27 -0
- package/dist/objects/lifecycle.js +96 -0
- package/dist/objects/policies.d.ts +60 -0
- package/dist/objects/policies.js +102 -0
- package/dist/objects/processes.d.ts +43 -0
- package/dist/objects/processes.js +92 -0
- package/dist/objects/project-briefs.d.ts +63 -0
- package/dist/objects/project-briefs.js +194 -0
- package/dist/objects/skills.d.ts +51 -0
- package/dist/objects/skills.js +110 -0
- package/dist/postinstall.js +10 -21
- package/dist/predictions/planning-fallacy.d.ts +14 -109
- package/dist/predictions/planning-fallacy.js +4 -129
- package/dist/rerankers/clef.d.ts +2 -6
- package/dist/rerankers/clef.js +28 -76
- package/dist/rerankers/cross-encoder.d.ts +0 -7
- package/dist/rerankers/cross-encoder.js +18 -28
- package/dist/rerankers/index.js +8 -7
- package/dist/rerankers/jev.d.ts +1 -4
- package/dist/rerankers/jev.js +36 -52
- package/dist/rerankers/llm.d.ts +2 -13
- package/dist/rerankers/llm.js +42 -59
- package/dist/rerankers/outage-warning.d.ts +8 -0
- package/dist/rerankers/outage-warning.js +32 -0
- package/dist/rerankers/remote.d.ts +4 -0
- package/dist/rerankers/remote.js +25 -0
- package/dist/rerankers/types.d.ts +3 -15
- package/dist/search/as-of.d.ts +1 -1
- package/dist/search/bm25-search.d.ts +2 -2
- package/dist/search/bm25-search.js +7 -7
- package/dist/search/bm25.d.ts +1 -1
- package/dist/search/bm25.js +1 -1
- package/dist/search/boosts.d.ts +5 -3
- package/dist/search/boosts.js +36 -15
- package/dist/search/breakdown.d.ts +2 -2
- package/dist/search/breakdown.js +2 -1
- package/dist/search/explain.d.ts +1 -1
- package/dist/search/explain.js +3 -2
- package/dist/search/finalize.d.ts +2 -2
- package/dist/search/finalize.js +4 -3
- package/dist/search/fusion.d.ts +1 -1
- package/dist/search/fusion.js +3 -3
- package/dist/search/goal-boost.d.ts +23 -0
- package/dist/search/goal-boost.js +90 -0
- package/dist/search/hybrid-score.d.ts +2 -2
- package/dist/search/hybrid-score.js +1 -1
- package/dist/search/hybrid.d.ts +6 -4
- package/dist/search/hybrid.js +11 -8
- package/dist/{multihop.d.ts → search/multihop.d.ts} +2 -2
- package/dist/{multihop.js → search/multihop.js} +9 -8
- package/dist/search/path-context.d.ts +11 -0
- package/dist/{path-context.js → search/path-context.js} +8 -19
- package/dist/search/physics-search.d.ts +4 -4
- package/dist/search/physics-search.js +25 -22
- package/dist/search/rerank.d.ts +3 -3
- package/dist/search/rerank.js +4 -3
- package/dist/search/rrf.d.ts +15 -0
- package/dist/search/rrf.js +36 -0
- package/dist/search/temporal.d.ts +1 -1
- package/dist/search/temporal.js +5 -2
- package/dist/search/vector.d.ts +10 -3
- package/dist/search/vector.js +51 -15
- package/dist/server/auth.d.ts +10 -29
- package/dist/server/auth.js +57 -42
- package/dist/server/boot.d.ts +5 -0
- package/dist/server/boot.js +432 -0
- package/dist/server/client-ip.d.ts +8 -20
- package/dist/server/client-ip.js +23 -34
- package/dist/server/cursor.d.ts +1 -1
- package/dist/server/cursor.js +2 -3
- package/dist/server/deadline.d.ts +13 -0
- package/dist/server/deadline.js +45 -0
- package/dist/server/defaults.d.ts +3 -0
- package/dist/server/defaults.js +4 -0
- package/dist/server/key-check-bounds.d.ts +9 -0
- package/dist/server/key-check-bounds.js +46 -0
- package/dist/server/lifecycle.d.ts +5 -4
- package/dist/server/lifecycle.js +20 -5
- package/dist/server/mcp-http.d.ts +1 -4
- package/dist/server/mcp-http.js +44 -68
- package/dist/server/rate-limit.d.ts +21 -0
- package/dist/{rate-limit.js → server/rate-limit.js} +4 -13
- package/dist/server/ready.d.ts +7 -0
- package/dist/server/ready.js +38 -0
- package/dist/server/request.d.ts +14 -12
- package/dist/server/request.js +71 -28
- package/dist/server/route-table.d.ts +15 -0
- package/dist/server/route-table.js +202 -0
- package/dist/server/routes/admin.js +29 -30
- package/dist/server/routes/customer-notes.d.ts +5 -5
- package/dist/server/routes/customer-notes.js +35 -105
- package/dist/server/routes/decisions.d.ts +5 -5
- package/dist/server/routes/decisions.js +45 -115
- package/dist/server/routes/incidents.d.ts +5 -5
- package/dist/server/routes/incidents.js +44 -105
- package/dist/server/routes/memories.js +21 -43
- package/dist/server/routes/object-routes.d.ts +35 -0
- package/dist/server/routes/object-routes.js +72 -0
- package/dist/server/routes/policies.d.ts +6 -6
- package/dist/server/routes/policies.js +42 -134
- package/dist/server/routes/predictions.js +35 -63
- package/dist/server/routes/processes.d.ts +5 -5
- package/dist/server/routes/processes.js +44 -134
- package/dist/server/routes/project-briefs.d.ts +6 -6
- package/dist/server/routes/project-briefs.js +41 -120
- package/dist/server/routes/recall.js +21 -44
- package/dist/server/routes/skills.d.ts +6 -6
- package/dist/server/routes/skills.js +40 -138
- package/dist/server/server-detect.d.ts +28 -0
- package/dist/server/server-detect.js +156 -0
- package/dist/server/sleep-child.d.ts +2 -0
- package/dist/server/sleep-child.js +19 -0
- package/dist/server/sleep-offload.d.ts +20 -0
- package/dist/server/sleep-offload.js +73 -0
- package/dist/server/tls.d.ts +6 -0
- package/dist/server/tls.js +24 -0
- package/dist/server/types.d.ts +35 -14
- package/dist/server/validation.d.ts +6 -5
- package/dist/server/validation.js +16 -34
- package/dist/server.d.ts +39 -61
- package/dist/server.js +26 -569
- package/dist/sharing/global-store.d.ts +19 -0
- package/dist/sharing/global-store.js +75 -0
- package/dist/sharing/global-sync.d.ts +6 -0
- package/dist/sharing/global-sync.js +80 -0
- package/dist/{project-merge.d.ts → sharing/project-merge.d.ts} +5 -6
- package/dist/{project-merge.js → sharing/project-merge.js} +34 -51
- package/dist/sharing/scope.d.ts +7 -0
- package/dist/{scope.js → sharing/scope.js} +5 -12
- package/dist/sharing/search-both.d.ts +60 -0
- package/dist/sharing/search-both.js +138 -0
- package/dist/sharing/share.d.ts +38 -0
- package/dist/sharing/share.js +226 -0
- package/dist/{ambient-store.d.ts → store/ambient.d.ts} +2 -2
- package/dist/{ambient-store.js → store/ambient.js} +11 -16
- package/dist/store/audit-event.d.ts +15 -17
- package/dist/store/audit-event.js +9 -16
- package/dist/{audit.d.ts → store/audit.d.ts} +29 -8
- package/dist/{audit.js → store/audit.js} +95 -18
- package/dist/{auth.d.ts → store/auth.d.ts} +19 -36
- package/dist/{auth.js → store/auth.js} +108 -99
- package/dist/store/candidates.d.ts +41 -13
- package/dist/store/candidates.js +141 -60
- package/dist/{card-detail.d.ts → store/card-detail.d.ts} +5 -4
- package/dist/{card-detail.js → store/card-detail.js} +3 -2
- package/dist/{store-cards.d.ts → store/cards.d.ts} +26 -16
- package/dist/{store-cards.js → store/cards.js} +133 -248
- package/dist/store/compactions.d.ts +78 -0
- package/dist/store/compactions.js +93 -0
- package/dist/store/conflicts.d.ts +26 -26
- package/dist/store/conflicts.js +194 -222
- package/dist/store/connectors/github.d.ts +84 -0
- package/dist/store/connectors/github.js +180 -0
- package/dist/store/connectors/slack.d.ts +69 -0
- package/dist/store/connectors/slack.js +177 -0
- package/dist/store/dashboard-reads.d.ts +27 -0
- package/dist/store/dashboard-reads.js +88 -0
- package/dist/store/delete-and-batch.d.ts +27 -51
- package/dist/store/delete-and-batch.js +100 -92
- package/dist/{delivery-recorder.d.ts → store/delivery-recorder.d.ts} +16 -5
- package/dist/{delivery-recorder.js → store/delivery-recorder.js} +60 -38
- package/dist/store/descendant-page.d.ts +12 -0
- package/dist/store/descendant-page.js +99 -0
- package/dist/store/diagnostics.d.ts +47 -0
- package/dist/store/diagnostics.js +44 -0
- package/dist/store/doctor-reads.d.ts +16 -0
- package/dist/store/doctor-reads.js +19 -0
- package/dist/store/dormant.d.ts +105 -0
- package/dist/store/dormant.js +241 -0
- package/dist/store/embeddings/index.d.ts +36 -0
- package/dist/{embeddings.js → store/embeddings/index.js} +104 -224
- package/dist/{local-embedding.d.ts → store/embeddings/local.d.ts} +1 -1
- package/dist/{local-embedding.js → store/embeddings/local.js} +69 -75
- package/dist/store/embeddings/provider.d.ts +40 -0
- package/dist/{embedding-provider.js → store/embeddings/provider.js} +78 -91
- package/dist/store/entry-reads.d.ts +66 -63
- package/dist/store/entry-reads.js +159 -121
- package/dist/store/entry-row.d.ts +14 -37
- package/dist/store/entry-row.js +37 -45
- package/dist/store/entry-writes.d.ts +40 -17
- package/dist/store/entry-writes.js +105 -41
- package/dist/{failure-log.d.ts → store/failure-log.d.ts} +7 -2
- package/dist/{failure-log.js → store/failure-log.js} +9 -2
- package/dist/store/goals.d.ts +96 -0
- package/dist/store/goals.js +260 -0
- package/dist/store/graph-queue.d.ts +13 -0
- package/dist/store/graph-queue.js +70 -0
- package/dist/store/graph-reads.d.ts +41 -0
- package/dist/{graph/read.js → store/graph-reads.js} +72 -162
- package/dist/{graph/types.d.ts → store/graph-rows.d.ts} +71 -14
- package/dist/{graph/rows.js → store/graph-rows.js} +20 -12
- package/dist/store/graph-view-rows.d.ts +13 -0
- package/dist/store/graph-view-rows.js +68 -0
- package/dist/store/graph-writes.d.ts +33 -0
- package/dist/store/graph-writes.js +232 -0
- package/dist/store/half-life.d.ts +35 -0
- package/dist/store/half-life.js +75 -0
- package/dist/store/handoffs.d.ts +6 -12
- package/dist/store/handoffs.js +54 -63
- package/dist/store/index-and-stats.d.ts +14 -20
- package/dist/store/index-and-stats.js +74 -119
- package/dist/store/index.d.ts +4 -0
- package/dist/store/index.js +3 -0
- package/dist/store/key-audit.d.ts +2 -2
- package/dist/store/key-audit.js +4 -4
- package/dist/store/key-writes.d.ts +12 -5
- package/dist/store/key-writes.js +30 -4
- package/dist/store/ledger-turn.d.ts +17 -0
- package/dist/store/ledger-turn.js +27 -0
- package/dist/store/markdown.d.ts +3 -7
- package/dist/store/markdown.js +25 -23
- package/dist/store/mirrors.d.ts +7 -13
- package/dist/store/mirrors.js +52 -47
- package/dist/store/object-types.d.ts +189 -0
- package/dist/store/object-types.js +4 -0
- package/dist/store/open.d.ts +6 -4
- package/dist/store/open.js +30 -36
- package/dist/store/planning-fallacy-evidence.d.ts +14 -0
- package/dist/store/planning-fallacy-evidence.js +52 -0
- package/dist/store/port.d.ts +649 -0
- package/dist/store/port.js +17 -0
- package/dist/{predictions/store.d.ts → store/predictions.d.ts} +25 -52
- package/dist/{predictions/store.js → store/predictions.js} +88 -184
- package/dist/{quality-repair.js → store/quality-repair.js} +27 -57
- package/dist/{quarantine.d.ts → store/quarantine.d.ts} +8 -8
- package/dist/{quarantine.js → store/quarantine.js} +64 -22
- package/dist/store/raw-archive.d.ts +14 -0
- package/dist/{raw-archive.js → store/raw-archive.js} +20 -31
- package/dist/store/recall-scope.d.ts +78 -0
- package/dist/{recall-scope.js → store/recall-scope.js} +23 -84
- package/dist/{recall-trace.d.ts → store/recall-trace.d.ts} +13 -81
- package/dist/{recall-trace.js → store/recall-trace.js} +41 -122
- package/dist/store/rejected-values.d.ts +55 -0
- package/dist/store/rejected-values.js +150 -0
- package/dist/store/rejection.d.ts +54 -0
- package/dist/{rejection.js → store/rejection.js} +16 -67
- package/dist/store/report-reads.d.ts +6 -0
- package/dist/store/report-reads.js +29 -0
- package/dist/store/rows.d.ts +11 -22
- package/dist/store/rows.js +52 -43
- package/dist/store/rule-sql.d.ts +5 -0
- package/dist/store/rule-sql.js +37 -0
- package/dist/store/search-rows.d.ts +22 -42
- package/dist/store/search-rows.js +55 -78
- package/dist/store/sessions.d.ts +23 -49
- package/dist/store/sessions.js +96 -118
- package/dist/store/sqlite/commit-watch.d.ts +4 -0
- package/dist/store/sqlite/commit-watch.js +29 -0
- package/dist/store/sqlite/connector-events-group.d.ts +5 -0
- package/dist/store/sqlite/connector-events-group.js +50 -0
- package/dist/store/sqlite/connector-writes-group.d.ts +6 -0
- package/dist/store/sqlite/connector-writes-group.js +65 -0
- package/dist/store/sqlite/dag-reads-group.d.ts +3 -0
- package/dist/store/sqlite/dag-reads-group.js +45 -0
- package/dist/store/sqlite/entry-writes-group.d.ts +18 -0
- package/dist/store/{entry-writes-group.js → sqlite/entry-writes-group.js} +73 -60
- package/dist/store/sqlite/error-codec.d.ts +17 -0
- package/dist/store/sqlite/error-codec.js +61 -0
- package/dist/store/sqlite/executor-counts.d.ts +10 -0
- package/dist/store/sqlite/executor-counts.js +11 -0
- package/dist/store/sqlite/executor.d.ts +29 -0
- package/dist/store/sqlite/executor.js +287 -0
- package/dist/store/sqlite/graph-reads-group.d.ts +5 -0
- package/dist/store/sqlite/graph-reads-group.js +18 -0
- package/dist/store/sqlite/local.d.ts +21 -0
- package/dist/store/sqlite/local.js +39 -0
- package/dist/store/sqlite/object-rows.d.ts +102 -0
- package/dist/store/sqlite/object-rows.js +221 -0
- package/dist/store/sqlite/objects-group.d.ts +20 -0
- package/dist/store/sqlite/objects-group.js +316 -0
- package/dist/store/sqlite/predictions-group.d.ts +5 -0
- package/dist/store/sqlite/predictions-group.js +28 -0
- package/dist/store/sqlite/quarantine-group.d.ts +5 -0
- package/dist/store/sqlite/quarantine-group.js +38 -0
- package/dist/store/sqlite/store.d.ts +23 -0
- package/dist/store/sqlite/store.js +294 -0
- package/dist/store/sqlite/vector-pack.d.ts +18 -0
- package/dist/store/sqlite/vector-pack.js +46 -0
- package/dist/store/sqlite/vector-reads-group.d.ts +3 -0
- package/dist/store/sqlite/vector-reads-group.js +23 -0
- package/dist/store/sqlite/worker-entry.d.ts +2 -0
- package/dist/store/sqlite/worker-entry.js +8 -0
- package/dist/store/sqlite/worker-jobs.d.ts +5 -0
- package/dist/store/sqlite/worker-jobs.js +116 -0
- package/dist/store/sqlite/worker-ops.d.ts +135 -0
- package/dist/store/sqlite/worker-ops.js +93 -0
- package/dist/store/sqlite/worker-store.d.ts +8 -0
- package/dist/store/sqlite/worker-store.js +79 -0
- package/dist/store/summaries.d.ts +11 -72
- package/dist/store/summaries.js +47 -186
- package/dist/{summary-dirty.d.ts → store/summary-dirty.d.ts} +1 -1
- package/dist/{summary-dirty.js → store/summary-dirty.js} +1 -1
- package/dist/store/tenant-lookup.d.ts +6 -1
- package/dist/store/tenant-lookup.js +7 -0
- package/dist/store/tenant.d.ts +11 -0
- package/dist/store/tenant.js +28 -0
- package/dist/store/token-ledger-rows.d.ts +61 -0
- package/dist/store/token-ledger-rows.js +68 -0
- package/dist/{token-ledger.d.ts → store/token-ledger.d.ts} +14 -51
- package/dist/{token-ledger.js → store/token-ledger.js} +51 -129
- package/dist/store/tombstone-checks.d.ts +12 -0
- package/dist/store/tombstone-checks.js +31 -0
- package/dist/store/usage-reports.d.ts +7 -0
- package/dist/store/usage-reports.js +18 -0
- package/dist/store/vector-index.d.ts +46 -0
- package/dist/store/vector-index.js +170 -0
- package/dist/{working-memory.d.ts → store/working-memory.d.ts} +11 -26
- package/dist/store/working-memory.js +118 -0
- package/dist/{yaml.d.ts → store/yaml.d.ts} +1 -5
- package/dist/{yaml.js → store/yaml.js} +2 -6
- package/dist/support-bundle.d.ts +1 -1
- package/dist/support-bundle.js +19 -37
- package/dist/{gated-write.d.ts → trust/gated-write.d.ts} +2 -2
- package/dist/{gated-write.js → trust/gated-write.js} +6 -6
- package/dist/trust/quarantine.d.ts +4 -0
- package/dist/trust/quarantine.js +8 -0
- package/dist/trust/reject-flow.d.ts +23 -0
- package/dist/trust/reject-flow.js +65 -0
- package/dist/util/anthropic-messages.d.ts +31 -0
- package/dist/util/anthropic-messages.js +58 -0
- package/dist/util/atomic-write.d.ts +4 -0
- package/dist/util/atomic-write.js +138 -0
- package/dist/util/capped-json.d.ts +6 -0
- package/dist/util/capped-json.js +46 -0
- package/dist/util/crash-handlers.d.ts +12 -0
- package/dist/util/crash-handlers.js +72 -0
- package/dist/{env.d.ts → util/env.d.ts} +27 -7
- package/dist/{env.js → util/env.js} +33 -8
- package/dist/{home-path.d.ts → util/home-path.d.ts} +2 -1
- package/dist/util/home-path.js +69 -0
- package/dist/{http-retry.d.ts → util/http-retry.d.ts} +8 -2
- package/dist/util/http-retry.js +103 -0
- package/dist/{http-util.d.ts → util/http-util.d.ts} +14 -3
- package/dist/{http-util.js → util/http-util.js} +31 -11
- package/dist/util/json.d.ts +17 -0
- package/dist/util/json.js +25 -0
- package/dist/{log.d.ts → util/log.d.ts} +7 -3
- package/dist/{log.js → util/log.js} +36 -11
- package/dist/util/real-path.d.ts +3 -0
- package/dist/util/real-path.js +15 -0
- package/dist/util/request-scope.d.ts +28 -0
- package/dist/util/request-scope.js +48 -0
- package/dist/{same-text.d.ts → util/same-text.d.ts} +1 -1
- package/dist/{secret-detect.d.ts → util/secret-detect.d.ts} +5 -30
- package/dist/{secret-detect.js → util/secret-detect.js} +17 -42
- package/dist/util/stored-json.d.ts +9 -0
- package/dist/util/stored-json.js +8 -0
- package/dist/util/time.d.ts +2 -0
- package/dist/util/time.js +3 -0
- package/dist/util/token-text.d.ts +15 -0
- package/dist/util/token-text.js +20 -0
- package/dist/{transcript-tail.d.ts → util/transcript-tail.d.ts} +2 -0
- package/dist/util/transcript-tail.js +49 -0
- package/dist/util/version.d.ts +11 -0
- package/dist/util/version.js +26 -0
- package/extensions/openclaw-plugin/index.ts +2 -6
- 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 -2
- package/dist/ablation.d.ts +0 -102
- package/dist/ablation.js +0 -136
- package/dist/api.d.ts +0 -26
- package/dist/api.js +0 -29
- package/dist/audit-prune.d.ts +0 -62
- package/dist/audit-prune.js +0 -107
- package/dist/autolearn.d.ts +0 -56
- package/dist/client.d.ts +0 -48
- package/dist/compare.d.ts +0 -86
- package/dist/compare.js +0 -117
- package/dist/connectors/github/cli-impl.d.ts +0 -25
- package/dist/connectors/github/cli-impl.js +0 -227
- package/dist/connectors/github/idempotency.d.ts +0 -19
- package/dist/connectors/github/idempotency.js +0 -27
- package/dist/connectors/slack/idempotency.d.ts +0 -17
- package/dist/connectors/slack/idempotency.js +0 -31
- package/dist/correction-latency.d.ts +0 -36
- package/dist/customer-notes.d.ts +0 -96
- package/dist/customer-notes.js +0 -336
- package/dist/db.d.ts +0 -9
- package/dist/db.js +0 -8
- package/dist/decisions.d.ts +0 -94
- package/dist/decisions.js +0 -326
- package/dist/dedupe.d.ts +0 -75
- package/dist/dedupe.js +0 -169
- package/dist/dormant.d.ts +0 -93
- package/dist/dormant.js +0 -137
- package/dist/embedding-provider.d.ts +0 -77
- package/dist/embeddings.d.ts +0 -101
- package/dist/extract.js +0 -133
- package/dist/forward-claim-detector.d.ts +0 -36
- package/dist/forward-claim-detector.js +0 -112
- package/dist/goals.d.ts +0 -173
- package/dist/goals.js +0 -448
- package/dist/graph/read.d.ts +0 -73
- package/dist/graph/rows.d.ts +0 -45
- package/dist/graph/types.js +0 -11
- package/dist/graph-stream.d.ts +0 -70
- package/dist/graph-view.d.ts +0 -73
- package/dist/graph-view.js +0 -333
- package/dist/half-life-migration.d.ts +0 -63
- package/dist/half-life-migration.js +0 -182
- package/dist/handoff.js +0 -68
- package/dist/home-path.js +0 -24
- package/dist/http-retry.js +0 -51
- package/dist/incidents.d.ts +0 -103
- package/dist/incidents.js +0 -349
- package/dist/instruction-detect.js +0 -27
- package/dist/json.d.ts +0 -7
- package/dist/json.js +0 -11
- package/dist/ledger-db.d.ts +0 -10
- package/dist/ledger-db.js +0 -42
- package/dist/memory-value-weights.d.ts +0 -19
- package/dist/memory-value.d.ts +0 -113
- package/dist/memory-value.js +0 -250
- package/dist/memory.d.ts +0 -294
- package/dist/memory.js +0 -522
- package/dist/owner-validation.d.ts +0 -42
- package/dist/owner-validation.js +0 -56
- package/dist/path-context.d.ts +0 -24
- package/dist/physics-state.d.ts +0 -39
- package/dist/policies.d.ts +0 -151
- package/dist/policies.js +0 -434
- package/dist/processes.d.ts +0 -108
- package/dist/processes.js +0 -371
- package/dist/project-briefs.d.ts +0 -128
- package/dist/project-briefs.js +0 -523
- package/dist/provenance-coverage.d.ts +0 -18
- package/dist/rate-limit.d.ts +0 -34
- package/dist/raw-archive-mirror-cleanup.d.ts +0 -20
- package/dist/raw-archive.d.ts +0 -24
- package/dist/recall-history.d.ts +0 -131
- package/dist/recall-history.js +0 -227
- package/dist/recall-scope.d.ts +0 -138
- package/dist/refine-llm.d.ts +0 -61
- package/dist/refine-llm.js +0 -167
- package/dist/reject-flow.d.ts +0 -69
- package/dist/reject-flow.js +0 -260
- package/dist/rejection.d.ts +0 -100
- package/dist/replay.d.ts +0 -41
- package/dist/replay.js +0 -122
- package/dist/rrf.d.ts +0 -43
- package/dist/rrf.js +0 -61
- package/dist/scope.d.ts +0 -14
- package/dist/server-detect.d.ts +0 -72
- package/dist/server-detect.js +0 -222
- package/dist/session-owners.d.ts +0 -7
- package/dist/session-owners.js +0 -54
- package/dist/shared.d.ts +0 -186
- package/dist/shared.js +0 -540
- package/dist/skills.d.ts +0 -101
- package/dist/skills.js +0 -367
- package/dist/store/entry-writes-group.d.ts +0 -9
- package/dist/store/vector-writes.d.ts +0 -6
- package/dist/store/vector-writes.js +0 -59
- package/dist/store-port.d.ts +0 -262
- package/dist/store-port.js +0 -178
- package/dist/tenant.d.ts +0 -25
- package/dist/tenant.js +0 -43
- package/dist/trace.d.ts +0 -34
- package/dist/transcript-tail.js +0 -48
- package/dist/version.d.ts +0 -26
- package/dist/version.js +0 -41
- package/dist/working-memory.js +0 -154
- /package/dist/{context-auto.d.ts → api/context-auto.d.ts} +0 -0
- /package/dist/{instruction-detect.d.ts → api/instruction-detect.d.ts} +0 -0
- /package/dist/{codex-patch.d.ts → capture/codex-patch.d.ts} +0 -0
- /package/dist/{compaction-items.d.ts → capture/compaction-items.d.ts} +0 -0
- /package/dist/{share-scrub.d.ts → capture/share-scrub.d.ts} +0 -0
- /package/dist/{overlap-index.d.ts → consolidate/overlap-index.d.ts} +0 -0
- /package/dist/{overlap-index.js → consolidate/overlap-index.js} +0 -0
- /package/dist/{api-errors.d.ts → core/api-errors.d.ts} +0 -0
- /package/dist/{api-errors.js → core/api-errors.js} +0 -0
- /package/dist/{memory-quality.d.ts → core/memory-quality.d.ts} +0 -0
- /package/dist/{project-remote.d.ts → core/project-remote.d.ts} +0 -0
- /package/dist/{prompt-recall.d.ts → core/prompt-recall.d.ts} +0 -0
- /package/dist/{dashboard-params.d.ts → dashboard/dashboard-params.d.ts} +0 -0
- /package/dist/{dashboard-params.js → dashboard/dashboard-params.js} +0 -0
- /package/dist/{dashboard-types.js → dashboard/dashboard-types.js} +0 -0
- /package/dist/{quality-repair.d.ts → store/quality-repair.d.ts} +0 -0
- /package/dist/{escape.d.ts → util/escape.d.ts} +0 -0
- /package/dist/{escape.js → util/escape.js} +0 -0
- /package/dist/{keyset.d.ts → util/keyset.d.ts} +0 -0
- /package/dist/{keyset.js → util/keyset.js} +0 -0
- /package/dist/{same-text.js → util/same-text.js} +0 -0
- /package/dist/{db → util}/sqlite-blocked.d.ts +0 -0
- /package/dist/{db → util}/sqlite-blocked.js +0 -0
- /package/dist/{tokenize.d.ts → util/tokenize.d.ts} +0 -0
- /package/dist/{tokenize.js → util/tokenize.js} +0 -0
- /package/dist/{write-budget.d.ts → util/write-budget.d.ts} +0 -0
- /package/dist/{write-budget.js → util/write-budget.js} +0 -0
|
@@ -1,160 +1,92 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
import type {
|
|
3
|
-
import type {
|
|
4
|
-
import type {
|
|
5
|
-
import type {
|
|
6
|
-
import type {
|
|
7
|
-
import type {
|
|
8
|
-
import type {
|
|
9
|
-
import type {
|
|
1
|
+
import type { ContinuityBlock } from '../store/port.js';
|
|
2
|
+
import type { MemoryEntry } from '../core/memory.js';
|
|
3
|
+
import type { RerankStep, SearchResult } from '../core/search-types.js';
|
|
4
|
+
import type { PlanningFallacyHint, PlanningFallacyOutput, PlanningFallacyWatching } from '../predictions/planning-fallacy.js';
|
|
5
|
+
import type { AnchoringHint, RecallHistorySnapshot } from './recall-history.js';
|
|
6
|
+
import type { AvailabilityHint } from './availability.js';
|
|
7
|
+
import type { AppendAuditOpts } from '../store/audit.js';
|
|
8
|
+
import type { CallerProject } from './prompt-hook.js';
|
|
9
|
+
import type { RankRecallOpts, RankRecallResult } from './recall-pipeline.js';
|
|
10
|
+
import type { RecallRecording } from './recall-finish.js';
|
|
10
11
|
export interface RecallOpts {
|
|
11
12
|
query: string;
|
|
12
13
|
limit?: number;
|
|
13
|
-
/**
|
|
14
|
-
*
|
|
15
|
-
* loads up to `scorerWindow` candidates. When undefined (default),
|
|
16
|
-
* the store-internal 200-row default applies.
|
|
17
|
-
*
|
|
18
|
-
* `scorerWindow` lets callers decouple "how many candidates do I want
|
|
19
|
-
* the scorer to evaluate" from `limit` ("how many do I want returned").
|
|
20
|
-
* Useful when `summarizeOverflow=true` and you want a wider candidate
|
|
21
|
-
* pool to detect more level-2 parent clusters.
|
|
22
|
-
*
|
|
23
|
-
* NOT a hard cap on returned results. Fresh-tail and substituted
|
|
24
|
-
* summaries can extend the result count above `limit`. The CLI's
|
|
25
|
-
* existing slice in `cmdRecall` (cli.ts) is the CLI hard cap; library
|
|
26
|
-
* callers slice themselves if they want one.
|
|
27
|
-
*
|
|
28
|
-
* Validated as a positive finite integer when set. `scorerWindow: 0`
|
|
29
|
-
* or non-finite values throw `RecallContractError` with code
|
|
30
|
-
* `invalid_scorer_window`, because 0 would otherwise fall through to an
|
|
31
|
-
* uncapped fallback.
|
|
32
|
-
*
|
|
33
|
-
* **Input is library-only.** HTTP `/v1/memories`, MCP
|
|
34
|
-
* `hippo_recall`, and `client.ts` thin-client do NOT serialize this
|
|
35
|
-
* INPUT field; remote callers cannot send `scorerWindow` and will see
|
|
36
|
-
* the store default applied. The OUTPUT `RecallResult.windowSize` is
|
|
37
|
-
* always serialized over the wire (HTTP `sendJson` ships the whole
|
|
38
|
-
* RecallResult, so remote callers receive `windowSize: 200` in the
|
|
39
|
-
* response).
|
|
40
|
-
*/
|
|
14
|
+
/** Candidates the scorer loads (default: the store's 200-row window), decoupled from `limit`; NOT a hard cap, as fresh-tail and summaries can exceed `limit`.
|
|
15
|
+
* Must be a positive finite integer (else `RecallContractError`, `invalid_scorer_window`). Library-only: HTTP, MCP and `client.ts` do not serialize it. */
|
|
41
16
|
scorerWindow?: number;
|
|
42
17
|
/** Candidate order. `recall` always keeps the BM25 order; `retrieve` honours this. */
|
|
43
18
|
mode?: 'bm25' | 'hybrid' | 'physics';
|
|
44
|
-
/**
|
|
45
|
-
* Restrict results to memories whose `scope` equals this value exactly.
|
|
46
|
-
*
|
|
47
|
-
* When `scope` is undefined or empty, recall applies a DEFAULT-DENY rule:
|
|
48
|
-
* any memory whose scope starts with `'slack:private:'` is filtered out so
|
|
49
|
-
* a frontend caller passing `undefined` cannot accidentally surface
|
|
50
|
-
* private-channel content. Memories with scope=null (the common case for
|
|
51
|
-
* non-Slack content) are still returned.
|
|
52
|
-
*/
|
|
19
|
+
/** Exact-match scope filter; when undefined or empty, default-deny drops `slack:private:*` memories so an unscoped caller cannot surface private channels. */
|
|
53
20
|
scope?: string;
|
|
54
|
-
/**
|
|
55
|
-
*
|
|
56
|
-
* `limit` and share a level-2 parent summary cause that summary to be
|
|
57
|
-
* appended in their place, capped at ceil(limit * 0.3) extra rows. Set to
|
|
58
|
-
* false for a strict limit.
|
|
59
|
-
*/
|
|
21
|
+
/** DAG-aware recall (default true): entries overflowing `limit` that share a level-2 parent get that summary appended instead, capped at ceil(limit 0.3)
|
|
22
|
+
* extra rows. */
|
|
60
23
|
summarizeOverflow?: boolean;
|
|
61
|
-
/**
|
|
62
|
-
*
|
|
63
|
-
* (tenant + scope filtered, dedup against the BM25 hits) so an agent's
|
|
64
|
-
* "what did I just see" recall path always covers the recent window
|
|
65
|
-
* even when the query terms don't match. Capped at 200. Default 0 = off.
|
|
66
|
-
*/
|
|
24
|
+
/** Fresh tail (default 0 = off, capped at 200): prepend the last N kind='raw' rows (tenant + scope filtered, deduped against BM25 hits) even when the
|
|
25
|
+
* query terms miss. */
|
|
67
26
|
freshTailCount?: number;
|
|
68
|
-
/**
|
|
69
|
-
* Fresh-tail session scope. When set, restricts the fresh-tail
|
|
70
|
-
* window to a specific session. Without it, fresh-tail is tenant-wide,
|
|
71
|
-
* which surfaces newest rows across ALL sessions — useful for "anything
|
|
72
|
-
* new in this tenant", but wrong for "what did I just see in this one
|
|
73
|
-
* conversation". Set to ctx-supplied session id for the correct shape.
|
|
74
|
-
*/
|
|
27
|
+
/** Restricts the fresh-tail window to one session; without it the tail is tenant-wide and surfaces newest rows across ALL sessions. */
|
|
75
28
|
freshTailSessionId?: string;
|
|
76
|
-
/**
|
|
77
|
-
*
|
|
78
|
-
* session handoff, recent session events) on the result. Default false to keep
|
|
79
|
-
* the hot path cheap; agent boot paths should set this to true.
|
|
80
|
-
*
|
|
81
|
-
* All three lookups are tenant-scoped to ctx.tenantId. On a shared store they are
|
|
82
|
-
* the caller's own, keyed by owner and `project`, and empty without a project.
|
|
83
|
-
*
|
|
84
|
-
* Note: when no active snapshot exists, sessionHandoff is null and
|
|
85
|
-
* recentSessionEvents is []. We deliberately do NOT fall back to the latest
|
|
86
|
-
* tenant handoff without a session anchor, to avoid resurrecting stale state
|
|
87
|
-
* after a session ends. The explicit handoff-without-snapshot path remains
|
|
88
|
-
* `hippo session resume`.
|
|
89
|
-
*/
|
|
29
|
+
/** Include a continuity block (active task snapshot, latest matching handoff, recent session events); default false to keep the hot path cheap.
|
|
30
|
+
* With no active snapshot, sessionHandoff is null and recentSessionEvents is [], so a stale handoff is not resurrected (use `hippo session resume`). */
|
|
90
31
|
includeContinuity?: boolean;
|
|
91
32
|
project?: CallerProject;
|
|
92
|
-
/**
|
|
93
|
-
*
|
|
94
|
-
* `goalTag` is unset, `api.recall` applies the dlPFC goal-stack boost lifted
|
|
95
|
-
* from CLI cmdRecall. Undefined means no boost.
|
|
96
|
-
*
|
|
97
|
-
* Why on RecallOpts and not Context: Context is shared by remember/recall/
|
|
98
|
-
* assemble/outcome. Goal-stack boost is recall-scoped only.
|
|
99
|
-
*/
|
|
33
|
+
/** With an active goal stack for `(ctx.tenantId, sessionId)` and `goalTag` unset, `api.recall` applies the goal-stack boost; undefined means no boost.
|
|
34
|
+
* Lives on RecallOpts, not Context, because Context is shared by remember/recall/assemble/outcome and the boost is recall-only. */
|
|
100
35
|
sessionId?: string;
|
|
101
|
-
/**
|
|
102
|
-
* Explicit goal-tag override. When set, the goal-stack boost is
|
|
103
|
-
* SUPPRESSED (mirrors the CLI's `goalTag === ''` gate). Use to
|
|
104
|
-
* pin recall ranking against one specific goal/tag without the multi-goal
|
|
105
|
-
* stack interfering.
|
|
106
|
-
*/
|
|
36
|
+
/** Explicit goal-tag override: when set, the goal-stack boost is SUPPRESSED (mirrors the CLI's `goalTag === ''` gate), pinning ranking to one goal. */
|
|
107
37
|
goalTag?: string;
|
|
108
|
-
/**
|
|
109
|
-
*
|
|
110
|
-
* (tenant, session) recall ring. When present, api.recall computes
|
|
111
|
-
* `RecallResult.anchoringHint` against this snapshot + the just-computed
|
|
112
|
-
* top-1. When undefined (default), no anchoring detection runs on the
|
|
113
|
-
* api.recall surface — but a calling pipeline (CLI cmdRecall, MCP
|
|
114
|
-
* hippo_recall) MAY compute its own hint via the shared
|
|
115
|
-
* `detectAnchoring()` helper against its own ring + top-1.
|
|
116
|
-
*
|
|
117
|
-
* Pure read: api.recall NEVER mutates the snapshot or any caller-side
|
|
118
|
-
* Map. Caller is responsible for appending to its own ring after the
|
|
119
|
-
* recall (passing the resulting hint's memoryId as `anchoredOn` to feed
|
|
120
|
-
* the cooldown logic on the NEXT recall).
|
|
121
|
-
*/
|
|
38
|
+
/** Caller-supplied snapshot of the per-(tenant, session) recall ring; when present, api.recall computes `anchoringHint` from it, else no anchoring runs here.
|
|
39
|
+
* Pure read: api.recall never mutates it; the caller appends to its own ring afterwards, passing the hint's memoryId as `anchoredOn` for the cooldown. */
|
|
122
40
|
recallHistory?: RecallHistorySnapshot;
|
|
123
|
-
/**
|
|
124
|
-
*
|
|
125
|
-
* availabilityHint. Callers that run their OWN per-pipeline availability
|
|
126
|
-
* detection over a different result set (the MCP handler computes it over
|
|
127
|
-
* physics/hybrid results, not api.recall's BM25 band) pass this to avoid a
|
|
128
|
-
* double audit emission and a hint describing a result set the caller never
|
|
129
|
-
* surfaces. Mirrors how anchoring only runs when opts.recallHistory
|
|
130
|
-
* is supplied. HTTP / direct SDK callers leave this unset and receive the hint.
|
|
131
|
-
*/
|
|
41
|
+
/** Skip computing and emitting availabilityHint, for callers that run their OWN availability detection over a different result set (e.g. the MCP handler),
|
|
42
|
+
* to avoid a double audit emission and a hint about a set the caller never surfaces. HTTP and direct SDK callers leave it unset. */
|
|
132
43
|
suppressAvailabilityHint?: boolean;
|
|
133
|
-
/**
|
|
134
|
-
*
|
|
135
|
-
* trace (currently the goal-boost step on the primary band) and attaches it
|
|
136
|
-
* to each `RecallResultItem` as `rerankTrace`, plus `rerankPipeline:'api'`.
|
|
137
|
-
* When undefined/false (default), both fields are absent on EVERY band.
|
|
138
|
-
* The api pipeline applies only goal-boost; the richer CLI stages
|
|
139
|
-
* (interference/value/utility/reranker/retrieval-count-downweight) are not traced here.
|
|
140
|
-
*/
|
|
44
|
+
/** Capture the lifecycle re-ranking trace (api applies only goal-boost) as `rerankTrace` plus `rerankPipeline:'api'` on each item; both fields are absent
|
|
45
|
+
* when unset. The richer CLI stages are not traced here. */
|
|
141
46
|
explain?: boolean;
|
|
142
|
-
/**
|
|
143
|
-
*
|
|
144
|
-
* Mirrors `suppressAvailabilityHint`'s pattern: callers that run their OWN
|
|
145
|
-
* tracing over a DIFFERENT result set must suppress api.recall's copy so
|
|
146
|
-
* the training corpus doesn't get a trace mislabeled as 'api' pipeline
|
|
147
|
-
* when the caller's actual user-visible results came from elsewhere. Under
|
|
148
|
-
* `showRanked` it also drops the 'mcp' trace of the shown list. HTTP /
|
|
149
|
-
* direct SDK callers leave this unset and get the trace.
|
|
150
|
-
*/
|
|
47
|
+
/** Skip the recall_traces row, for callers that trace their OWN different result set, so the training corpus gets no trace mislabeled 'api'.
|
|
48
|
+
* Under `showRanked` it also drops the 'mcp' trace of the shown list. HTTP and direct SDK callers leave it unset. */
|
|
151
49
|
suppressRecallTrace?: boolean;
|
|
152
50
|
/** Set only by the MCP recall tool, which ranks with its own scorer and drops copies from its own final list: this call
|
|
153
51
|
* then keeps a memory that a merged row in the same result holds word for word. Other callers leave it unset. */
|
|
154
52
|
keepHeldCopies?: boolean;
|
|
155
53
|
leadingAudit?: readonly AppendAuditOpts[];
|
|
156
|
-
|
|
54
|
+
recordAs?: RecallRecording;
|
|
55
|
+
/** MCP recall only: `retrieve` ranks the whole scoped store and strengthens and traces
|
|
56
|
+
* (pipeline 'mcp') just the ids this returns; `results` stays the window band. */
|
|
157
57
|
showRanked?: (ranking: StoreRanking, result: RecallResult) => ShownRanking;
|
|
58
|
+
/** Named ranker: `retrieve` ranks with the CLI ranking core. Unset, it ranks the SQL BM25 band, or the wide hybrid list under `showRanked`. */
|
|
59
|
+
cliCore?: CliCoreRanker;
|
|
60
|
+
}
|
|
61
|
+
interface CliCoreRanking {
|
|
62
|
+
rank: Omit<RankRecallOpts, 'query' | 'sessionId' | 'goalTag'>;
|
|
63
|
+
/** A second store searched beside `ctx.hippoRoot`. */
|
|
64
|
+
sources?: {
|
|
65
|
+
globalRoot?: string;
|
|
66
|
+
};
|
|
67
|
+
/** Receives each operator note when ranking reaches it. */
|
|
68
|
+
note?: (line: string) => void;
|
|
69
|
+
}
|
|
70
|
+
/** A recall the caller prints. `show` runs once ranking ends, unless it halted; `retrieve` then records the list it returns. */
|
|
71
|
+
export interface CliCoreRecall extends CliCoreRanking {
|
|
72
|
+
/** The host agent's session: it stamps the token ledger row, and the trace when the recall names no session. */
|
|
73
|
+
hostSessionId?: string;
|
|
74
|
+
show: (ranking: RankRecallResult, planning: PlanningFallacyOutput) => ShownCliCore;
|
|
75
|
+
}
|
|
76
|
+
/** A read-only look at the ranking (`hippo explain`): no hint is evaluated and nothing is written. */
|
|
77
|
+
export interface CliCoreInspection extends CliCoreRanking {
|
|
78
|
+
inspect: (ranking: RankRecallResult) => void;
|
|
79
|
+
}
|
|
80
|
+
/** The CLI ranking core (`rankRecall`) as a ranker of `retrieve`: host admin only, on
|
|
81
|
+
* hippo.db. Of the other RecallOpts it reads `query`, `sessionId` and `goalTag`. */
|
|
82
|
+
export type CliCoreRanker = CliCoreRecall | CliCoreInspection;
|
|
83
|
+
/** `results`: the rows the caller shows, best first; `audit`: its hint rows, written
|
|
84
|
+
* ahead of the 'recall' row; `tokens`: the text it prints, for the ledger. */
|
|
85
|
+
export interface ShownCliCore {
|
|
86
|
+
results: readonly SearchResult[];
|
|
87
|
+
audit: readonly AppendAuditOpts[];
|
|
88
|
+
tokens: number;
|
|
89
|
+
anchoredOn?: string;
|
|
158
90
|
}
|
|
159
91
|
/** `ids`: what the caller showed; `audit`: its own rows, written after the recall's and in the same transaction, so all land or none. */
|
|
160
92
|
export interface ShownRanking {
|
|
@@ -167,50 +99,25 @@ export interface StoreRanking {
|
|
|
167
99
|
pool: MemoryEntry[];
|
|
168
100
|
droppedByScope: number;
|
|
169
101
|
}
|
|
170
|
-
export
|
|
171
|
-
activeSnapshot: TaskSnapshot | null;
|
|
172
|
-
sessionHandoff: SessionHandoff | null;
|
|
173
|
-
recentSessionEvents: SessionEvent[];
|
|
174
|
-
}
|
|
102
|
+
export type { ContinuityBlock } from '../store/port.js';
|
|
175
103
|
export interface RecallResultItem {
|
|
176
104
|
id: string;
|
|
177
105
|
content: string;
|
|
178
106
|
score: number;
|
|
179
107
|
layer: string;
|
|
180
108
|
strength: number;
|
|
181
|
-
/**
|
|
182
|
-
* True when this row is a level-2 topic summary substituted in for
|
|
183
|
-
* overflowed children that didn't fit the limit.
|
|
184
|
-
*/
|
|
109
|
+
/** True for a level-2 topic summary substituted in for overflowed children that did not fit the limit. */
|
|
185
110
|
isSummary?: boolean;
|
|
186
|
-
/**
|
|
187
|
-
* IDs of the overflow leaves this summary covers. Caller can drill
|
|
188
|
-
* into these via `drillDown` to recover the original detail.
|
|
189
|
-
*/
|
|
111
|
+
/** IDs of the overflow leaves this summary covers; call `drillDown` on them to recover the detail. */
|
|
190
112
|
substitutedFor?: string[];
|
|
191
113
|
/** Cached descendant count from schema v25; non-zero for level-2+ rows. */
|
|
192
114
|
descendantCount?: number;
|
|
193
|
-
/**
|
|
194
|
-
* True for rows surfaced via the most-recent-N kind='raw' window, NOT by the
|
|
195
|
-
* BM25 query match. Caller can render them in a separate "recent" band.
|
|
196
|
-
*/
|
|
115
|
+
/** True for rows from the most-recent-N kind='raw' window rather than the BM25 match; render them in a separate "recent" band. */
|
|
197
116
|
isFreshTail?: boolean;
|
|
198
|
-
/**
|
|
199
|
-
*
|
|
200
|
-
* row's `score` after candidate generation. On the api pipeline this carries
|
|
201
|
-
* the goal-boost step (the only re-ranking api.recall applies). Populated
|
|
202
|
-
* ONLY when `RecallOpts.explain` is set; absent on the default path
|
|
203
|
-
* (additive optional, back-compat per the `windowSize?` precedent;
|
|
204
|
-
* `client.ts` deserializes `as RecallResult` so the field rides through).
|
|
205
|
-
*/
|
|
117
|
+
/** Ordered lifecycle re-ranking steps that mutated this row's `score` after candidate generation (on the api pipeline, only goal-boost).
|
|
118
|
+
* Populated ONLY when `RecallOpts.explain` is set; absent otherwise. */
|
|
206
119
|
rerankTrace?: RerankStep[];
|
|
207
|
-
/**
|
|
208
|
-
* Names which pipeline produced `rerankTrace`. `'api'` on
|
|
209
|
-
* every band returned by `api.recall` when `explain` is set; the CLI carries
|
|
210
|
-
* its trace on `SearchResult` instead and does not set this. Absent on the
|
|
211
|
-
* default path. Distinguishes the api pipeline (goal-boost only) from the
|
|
212
|
-
* richer CLI pipeline.
|
|
213
|
-
*/
|
|
120
|
+
/** Pipeline that produced `rerankTrace`: 'api' when api.recall set `explain`; the CLI carries its trace on `SearchResult` and leaves this absent. */
|
|
214
121
|
rerankPipeline?: 'cli' | 'api';
|
|
215
122
|
}
|
|
216
123
|
export interface RecallResult {
|
|
@@ -218,170 +125,48 @@ export interface RecallResult {
|
|
|
218
125
|
total: number;
|
|
219
126
|
tokens: number;
|
|
220
127
|
continuity?: ContinuityBlock;
|
|
221
|
-
/**
|
|
222
|
-
*
|
|
223
|
-
* + handoff (summary + nextAction + artifacts + constraints + evidence line)
|
|
224
|
-
* + every event's full content across the last 5 events. Each measured by Math.ceil(len/4), matching
|
|
225
|
-
* the existing `tokens` count and src/search.ts estimateTokens().
|
|
226
|
-
* Undefined when continuity not requested. Callers needing a tighter budget
|
|
227
|
-
* should truncate event.content themselves before display.
|
|
228
|
-
*/
|
|
128
|
+
/** Tokens consumed by the continuity block (snapshot, handoff and the last 5 events' full content), each via Math.ceil(len/4) like `tokens`; undefined
|
|
129
|
+
* when not requested. Callers needing a tighter budget should truncate event.content themselves. */
|
|
229
130
|
continuityTokens?: number;
|
|
230
|
-
/**
|
|
231
|
-
*
|
|
232
|
-
* `opts.scorerWindow` when set, otherwise the store-internal default
|
|
233
|
-
* (200) used by `loadSearchEntries(undefined, ...)`. Reported so
|
|
234
|
-
* callers can introspect "did the scorer see enough candidates?"
|
|
235
|
-
* without re-deriving the value.
|
|
236
|
-
*
|
|
237
|
-
* Optional in the type to keep `RecallResult` literal-construction
|
|
238
|
-
* back-compatible with test fakes / mocks that predate the field.
|
|
239
|
-
* Always present on values returned by `api.recall` itself; consumers
|
|
240
|
-
* reading from `api.recall` can treat it as defined.
|
|
241
|
-
*/
|
|
131
|
+
/** Scorer window used for this recall: `opts.scorerWindow`, else the store default (200). Optional in the type so test fakes built before the field still
|
|
132
|
+
* compile; always present on values returned by `api.recall`. */
|
|
242
133
|
windowSize?: number;
|
|
243
|
-
/**
|
|
244
|
-
*
|
|
245
|
-
* calling agent a per-pipeline breakdown of what was excluded from
|
|
246
|
-
* `results[]` and why. Always populated by `api.recall`, `cmdRecall`, and
|
|
247
|
-
* the MCP `hippo_recall` handler. Optional in the type for back-compat
|
|
248
|
-
* with test fakes / mocks (same pattern as `windowSize?`).
|
|
249
|
-
*
|
|
250
|
-
* Counters reflect actual filter activity in the pipeline that produced
|
|
251
|
-
* THIS specific RecallResult. api.recall counts its own filter sites;
|
|
252
|
-
* cmdRecall counts its (richer) filter sites; MCP counts the physics/
|
|
253
|
-
* hybrid pipeline's filter sites. Shape is identical across surfaces;
|
|
254
|
-
* numbers are honest per-path reports, NOT normalised cross-pipeline
|
|
255
|
-
* counts.
|
|
256
|
-
*/
|
|
134
|
+
/** WYSIATI cutoff transparency: what was excluded from `results[]` and why, always populated by `api.recall`, `cmdRecall` and the MCP `hippo_recall` handler.
|
|
135
|
+
* Counters are per-pipeline reports of that pipeline's own filter sites, not normalised across pipelines. Optional for test fakes. */
|
|
257
136
|
suppressionSummary?: RecallSuppressionSummary;
|
|
258
|
-
/**
|
|
259
|
-
*
|
|
260
|
-
* query carries a forward-prediction phrase ("will take ~3 days", "ship
|
|
261
|
-
* by Friday", "ETA in 2 weeks") AND the closest matching prediction
|
|
262
|
-
* class has closed historical data, this carries the base-rate stats so
|
|
263
|
-
* the calling agent sees its track record at the moment of forecasting
|
|
264
|
-
* (Lovallo-Kahneman 2003 inside-vs-outside view).
|
|
265
|
-
*
|
|
266
|
-
* Populated by `api.recall` itself via `computePlanningFallacyOutput`.
|
|
267
|
-
* Pipeline-invariant: the value depends only on (queryText, tenantId,
|
|
268
|
-
* predictions table state) — all three are identical regardless of
|
|
269
|
-
* which downstream search pipeline produces the memory list, so MCP
|
|
270
|
-
* and CLI both read this field as the single source of truth (unlike
|
|
271
|
-
* `suppressionSummary` which is per-pipeline).
|
|
272
|
-
*
|
|
273
|
-
* Optional in the type so existing test fakes / mocks of RecallResult
|
|
274
|
-
* remain valid (same pattern as `windowSize?` / `suppressionSummary?`).
|
|
275
|
-
* Disabled by setting `HIPPO_AUTODEBIAS=off`.
|
|
276
|
-
*/
|
|
137
|
+
/** Planning-fallacy hint: base-rate stats when the query carries a forward-prediction phrase and the closest prediction class has closed data.
|
|
138
|
+
* Pipeline-invariant (depends only on queryText, tenantId, predictions state), so MCP and CLI read it from here. Disabled by `HIPPO_AUTODEBIAS=off`. */
|
|
277
139
|
planningFallacyHint?: PlanningFallacyHint;
|
|
278
|
-
/**
|
|
279
|
-
*
|
|
280
|
-
* forward-claim regex matched but no baserate could be produced
|
|
281
|
-
* (either because no prediction class scored ≥ 1 on token overlap,
|
|
282
|
-
* or because ≥2 classes tied at the best score). Mutually exclusive
|
|
283
|
-
* with `planningFallacyHint`: at most one of the two is set per
|
|
284
|
-
* recall. Natural-language queries rarely share non-stopword tokens
|
|
285
|
-
* with class tags, so without it the hint would mostly stay silent. The watching
|
|
286
|
-
* variant gives the agent enough signal to either re-tag the
|
|
287
|
-
* prediction or pass the suggestion through to the user.
|
|
288
|
-
*
|
|
289
|
-
* Pipeline-invariant same as `planningFallacyHint`. Honoured by
|
|
290
|
-
* api.recall, cmdRecall, and MCP handler render paths.
|
|
291
|
-
* Disabled by setting `HIPPO_AUTODEBIAS=off`.
|
|
292
|
-
*/
|
|
140
|
+
/** "Watching" variant emitted when the forward-claim regex matched but no baserate could be produced (no class overlap, or a tie at the best score).
|
|
141
|
+
* Mutually exclusive with `planningFallacyHint`; pipeline-invariant. Disabled by `HIPPO_AUTODEBIAS=off`. */
|
|
293
142
|
planningFallacyWatching?: PlanningFallacyWatching;
|
|
294
|
-
/**
|
|
295
|
-
*
|
|
296
|
-
* when api.recall's `opts.recallHistory` snapshot + the just-computed
|
|
297
|
-
* top-1 satisfy the query_repeat or memory_dominance rule.
|
|
298
|
-
*
|
|
299
|
-
* Per-pipeline detection: each pipeline (api.recall, cmdRecall, MCP)
|
|
300
|
-
* computes its OWN hint against its OWN top-1. This field reflects
|
|
301
|
-
* api.recall's compute ONLY. On CLI-routed call paths cmdRecall does
|
|
302
|
-
* NOT thread its ring snapshot through `opts.recallHistory`, so this
|
|
303
|
-
* field is null on CLI-routed calls even when CLI's own hint fires
|
|
304
|
-
* (the user-visible hint there comes from cmdRecall's parallel
|
|
305
|
-
* compute, surfaced via the CLI render path + cmdSuppressionSummary).
|
|
306
|
-
* Non-null on direct SDK / HTTP-routed invocations where the caller
|
|
307
|
-
* threads its own ring snapshot.
|
|
308
|
-
*
|
|
309
|
-
* Disabled by setting `HIPPO_ANCHORING=off`.
|
|
310
|
-
*/
|
|
143
|
+
/** Anchoring hint from api.recall's own compute against `opts.recallHistory` (query_repeat or memory_dominance); each pipeline computes its OWN hint.
|
|
144
|
+
* Null on CLI-routed calls, since cmdRecall does not thread its ring through `opts.recallHistory`. Disabled by `HIPPO_ANCHORING=off`. */
|
|
311
145
|
anchoringHint?: AnchoringHint;
|
|
312
|
-
/**
|
|
313
|
-
*
|
|
314
|
-
* against this pipeline's own returned top-K + the matched candidate pool
|
|
315
|
-
* it was drawn from), soft-warning ONLY: never filters, reorders, or
|
|
316
|
-
* suppresses a result. Fires when the returned slice is recency-dominated
|
|
317
|
-
* while substantially older relevant matches in the same pool were passed
|
|
318
|
-
* over. Disabled by setting `HIPPO_AVAILABILITY=off`.
|
|
319
|
-
*/
|
|
146
|
+
/** Availability/recency-bias hint: per-pipeline, soft warning only (never filters or reorders); fires when the returned slice is recency-dominated
|
|
147
|
+
* while older relevant matches in the pool were passed over. Disabled by `HIPPO_AVAILABILITY=off`. */
|
|
320
148
|
availabilityHint?: AvailabilityHint;
|
|
321
149
|
}
|
|
322
|
-
/**
|
|
323
|
-
*
|
|
324
|
-
*
|
|
325
|
-
* Surfaces what the recall pipeline excluded from `results[]` so the calling
|
|
326
|
-
* agent does not treat the cutoff as the full picture (Kahneman's "What You
|
|
327
|
-
* See Is All There Is" failure mode, TFAS ch. 7). Each counter reflects
|
|
328
|
-
* filter activity in the pipeline that produced this RecallResult; counts
|
|
329
|
-
* are honest per-path reports, not normalised cross-pipeline numbers.
|
|
330
|
-
*
|
|
331
|
-
* See `buildSuppressionSummary` for the shared construction helper used by
|
|
332
|
-
* all three pipelines (api.recall, cmdRecall, MCP).
|
|
333
|
-
*/
|
|
150
|
+
/** WYSIATI cutoff transparency: what the pipeline excluded from `results[]`, so the agent does not treat the cutoff as the full picture.
|
|
151
|
+
* Counters are honest per-path reports of the pipeline that produced this RecallResult, not normalised across pipelines. */
|
|
334
152
|
export interface RecallSuppressionSummary {
|
|
335
|
-
/**
|
|
336
|
-
*
|
|
337
|
-
* - api.recall: `all.length` immediately after `loadRecallSearchEntries`
|
|
338
|
-
* - cmdRecall: candidate count immediately after the initial load
|
|
339
|
-
* - MCP physics/hybrid: count of entries passed to physicsSearch/hybridSearch
|
|
340
|
-
*/
|
|
153
|
+
/** Candidates loaded from the store before any post-load filter or limit cut;
|
|
154
|
+
* each pipeline counts at its own load (api.recall: after `loadRecallSearchEntries`). */
|
|
341
155
|
totalCandidates: number;
|
|
342
|
-
/** Candidates dropped by any non-budget filter site
|
|
343
|
-
*
|
|
344
|
-
* for the original framing; semantically: any filter drop that is not the
|
|
345
|
-
* final limit slice. Per-pipeline source:
|
|
346
|
-
* - api.recall: `all.length - entries.length` (private-scope JS filter + scope-mismatch defense; pre-rank)
|
|
347
|
-
* - cmdRecall: SUM of drops from `--as-of`, default-drop of superseded (when `--include-superseded` not set), `--filter-conflicts` (`.filter` drop only), `--outcome` (post-rank), `--layer` (post-rank). `--salience-threshold` HARD drops would also land here; current implementation is soft-rebalance only (logged in `ScoreBreakdown`, not here).
|
|
348
|
-
* - MCP physics/hybrid: scope-filter drops at the MCP handler before physicsSearch
|
|
349
|
-
*/
|
|
156
|
+
/** Candidates dropped by any non-budget filter site, pre- or post-rank; the final limit slice is counted in droppedByBudget instead.
|
|
157
|
+
* Each pipeline counts its own filters (cmdRecall: --as-of, superseded, --filter-conflicts, --outcome, --layer; MCP: scope filter before search). */
|
|
350
158
|
droppedPreRank: number;
|
|
351
|
-
/** Candidates loaded but
|
|
352
|
-
*
|
|
353
|
-
* - api.recall: `entries.length - baseSlice.length`
|
|
354
|
-
* - cmdRecall: pre-slice candidate count minus final slice count
|
|
355
|
-
* - MCP physics/hybrid: pre-slice minus post-slice at the physics/hybrid limit
|
|
356
|
-
*/
|
|
159
|
+
/** Candidates loaded but cut by the final `limit` slice after scoring (api.recall: `entries.length - baseSlice.length`; other pipelines count pre- minus
|
|
160
|
+
* post-slice). */
|
|
357
161
|
droppedByBudget: number;
|
|
358
|
-
/**
|
|
359
|
-
*
|
|
360
|
-
* - api.recall: `substituted.length` after the `summarizeOverflow` block
|
|
361
|
-
* - cmdRecall: 0 (CLI does not run summarizeOverflow)
|
|
362
|
-
* - MCP physics/hybrid: count of summary rows appended from apiResult.tailOrSummary
|
|
363
|
-
*/
|
|
162
|
+
/** DAG-L2 summaries substituted back in to mitigate overflow (api.recall: after the `summarizeOverflow` block; cmdRecall: 0; MCP: rows from
|
|
163
|
+
* apiResult.tailOrSummary). */
|
|
364
164
|
summarySubstitutionsAdded: number;
|
|
365
|
-
/** Fresh-tail `kind='raw'` rows prepended.
|
|
366
|
-
*
|
|
367
|
-
* - api.recall: `freshRanked.length` when `freshTailCount > 0`; else 0
|
|
368
|
-
* - cmdRecall: 0 (CLI does not currently expose fresh-tail)
|
|
369
|
-
* - MCP physics/hybrid: count of fresh-tail rows appended from apiResult.tailOrSummary
|
|
370
|
-
*/
|
|
165
|
+
/** Fresh-tail `kind='raw'` rows prepended (api.recall: `freshRanked.length` when `freshTailCount > 0`; cmdRecall: 0; MCP: rows from
|
|
166
|
+
* apiResult.tailOrSummary). */
|
|
371
167
|
freshTailAdded: number;
|
|
372
|
-
/**
|
|
373
|
-
*
|
|
374
|
-
* pipeline's own memory_dominance verdict fires (via the
|
|
375
|
-
* anchoring detector, see `detectAnchoring()` in src/recall-history.ts).
|
|
376
|
-
* Each pipeline (api.recall, cmdRecall, MCP physics/hybrid) bumps its
|
|
377
|
-
* OWN suppressionSummary independently because each runs its own
|
|
378
|
-
* detector against its own top-1 + its own per-(tenant, session) ring
|
|
379
|
-
* buffer. The number reflects this-pipeline interference only; not a
|
|
380
|
-
* cross-pipeline aggregate.
|
|
381
|
-
*
|
|
382
|
-
* No `interference_suppression` table exists; the detector uses
|
|
383
|
-
* caller-side in-memory rings instead.
|
|
384
|
-
*/
|
|
168
|
+
/** Memories suppressed by interference: incremented by 1 PER PIPELINE when its own memory_dominance verdict fires (see `detectAnchoring()` in
|
|
169
|
+
* src/api/recall-history.ts). Each pipeline bumps its OWN summary from its own detector and ring buffer, so this is not a cross-pipeline aggregate. */
|
|
385
170
|
suppressedByInterference: number;
|
|
386
171
|
}
|
|
387
172
|
//# sourceMappingURL=recall-types.d.ts.map
|
package/dist/api/recall.d.ts
CHANGED
|
@@ -1,37 +1,9 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { RecallOpts, RecallResult } from './recall-types.js';
|
|
2
2
|
import { type Context } from './types.js';
|
|
3
|
-
/**
|
|
4
|
-
*
|
|
5
|
-
* `api.recall`, `cmdRecall`, and the MCP `hippo_recall` handler so all three
|
|
6
|
-
* pipelines produce the same shape without duplicating field-construction
|
|
7
|
-
* logic. Pass-through identity today; kept as a helper so future field
|
|
8
|
-
* additions land at one site.
|
|
9
|
-
*/
|
|
10
|
-
export declare function buildSuppressionSummary(counts: {
|
|
11
|
-
totalCandidates: number;
|
|
12
|
-
droppedPreRank: number;
|
|
13
|
-
droppedByBudget: number;
|
|
14
|
-
summarySubstitutionsAdded: number;
|
|
15
|
-
freshTailAdded: number;
|
|
16
|
-
suppressedByInterference: number;
|
|
17
|
-
}): RecallSuppressionSummary;
|
|
18
|
-
/**
|
|
19
|
-
* Domain-level recall on hippo.db only, never `ctx.store`, since it is synchronous: under another store its first open throws
|
|
20
|
-
* `SqliteBlockedError`. Loads BM25-ranked candidates from SQLite scoped to
|
|
21
|
-
* `ctx.tenantId` and keeps that order whatever `mode` says; `retrieve` is the
|
|
22
|
-
* mode-aware, strengthening variant the HTTP route uses.
|
|
23
|
-
*
|
|
24
|
-
* **api.recall does NOT mutate `index.last_retrieval_ids`** (contract
|
|
25
|
-
* lock). The CLI `cmdRecall` (cli.ts) writes `last_retrieval_ids` because the
|
|
26
|
-
* CLI is interactive (user is about to run `hippo outcome --good`). SDK callers
|
|
27
|
-
* are programmatic: they either pass explicit ids to `api.outcome` or call
|
|
28
|
-
* `api.getContext` first for the context-then-outcome workflow (getContext
|
|
29
|
-
* DOES write `last_retrieval_ids`). Adding the side-effect here would change
|
|
30
|
-
* `api.recall` from a pure read into a read+write, breaking SDK callers who
|
|
31
|
-
* batch recall calls in a row. Locked by
|
|
32
|
-
* `tests/api-recall-no-side-effects.test.ts`.
|
|
33
|
-
*/
|
|
3
|
+
/** Reads hippo.db directly, never `ctx.store`, because it is synchronous (another store would throw `SqliteBlockedError`).
|
|
4
|
+
* It never writes `last_retrieval_ids` (contract lock: tests/api-recall-no-side-effects.test.ts). */
|
|
34
5
|
export declare function recall(ctx: Context, opts: RecallOpts): RecallResult;
|
|
35
|
-
/**
|
|
6
|
+
/** The one recall entry: ranks with the ranker `opts` names, then writes the recall, and records it in full for a surface that sets `recordAs`.
|
|
7
|
+
* Only the CLI core ranker writes last_retrieval_ids (contract lock). */
|
|
36
8
|
export declare function retrieve(ctx: Context, opts: RecallOpts): Promise<RecallResult>;
|
|
37
9
|
//# sourceMappingURL=recall.d.ts.map
|