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/api/continuity.d.ts
CHANGED
|
@@ -1,47 +1,50 @@
|
|
|
1
1
|
import type { HandoffOutcome, SessionHandoff } from '../core/handoff.js';
|
|
2
2
|
import type { SessionEvent, TaskSnapshot } from '../store/rows.js';
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import type {
|
|
3
|
+
import type { SessionEventInput, SnapshotInput } from '../store/sessions.js';
|
|
4
|
+
import type { Sessions } from '../store/index.js';
|
|
5
|
+
import type { WorkingMemoryItem } from '../store/working-memory.js';
|
|
6
|
+
import type { ContextWith } from './types.js';
|
|
7
|
+
type Ctx = ContextWith<'sessions'>;
|
|
6
8
|
/** What a snapshot save carries. */
|
|
7
|
-
export type SnapshotSaveInput =
|
|
9
|
+
export type SnapshotSaveInput = SnapshotInput;
|
|
8
10
|
/** What a session event append carries. */
|
|
9
|
-
export type SessionEventAppendInput =
|
|
11
|
+
export type SessionEventAppendInput = SessionEventInput;
|
|
10
12
|
/** What a session event listing filters on. */
|
|
11
|
-
export type SessionEventListOpts =
|
|
13
|
+
export type SessionEventListOpts = Parameters<Sessions['listEvents']>[1];
|
|
12
14
|
/** Save the caller's active task snapshot. */
|
|
13
|
-
export declare function snapshotSave(ctx:
|
|
15
|
+
export declare function snapshotSave(ctx: Ctx, input: SnapshotSaveInput): Promise<TaskSnapshot>;
|
|
14
16
|
/** Clear the caller's active task snapshot; false when there was none. */
|
|
15
|
-
export declare function snapshotClear(ctx:
|
|
17
|
+
export declare function snapshotClear(ctx: Ctx, status: string): Promise<boolean>;
|
|
16
18
|
/** The caller's active task snapshot, or null. */
|
|
17
|
-
export declare function snapshotLoad(ctx:
|
|
19
|
+
export declare function snapshotLoad(ctx: Ctx): Promise<TaskSnapshot | null>;
|
|
18
20
|
/** Append a session event in the caller's tenant. */
|
|
19
|
-
export declare function sessionEventAppend(ctx:
|
|
21
|
+
export declare function sessionEventAppend(ctx: Ctx, event: SessionEventAppendInput): Promise<SessionEvent>;
|
|
20
22
|
/** List the caller's session events. */
|
|
21
|
-
export declare function sessionEventList(ctx:
|
|
23
|
+
export declare function sessionEventList(ctx: Ctx, opts: SessionEventListOpts): Promise<SessionEvent[]>;
|
|
22
24
|
export interface LatestContinuity {
|
|
23
25
|
snapshot: TaskSnapshot | null;
|
|
24
26
|
events: SessionEvent[];
|
|
25
27
|
}
|
|
26
28
|
/** The active snapshot plus recent events for `sessionId`, falling back to the snapshot's own session. */
|
|
27
|
-
export declare function continuityLatest(ctx:
|
|
29
|
+
export declare function continuityLatest(ctx: Ctx, opts: {
|
|
28
30
|
sessionId?: string;
|
|
29
31
|
limit: number;
|
|
30
|
-
}): LatestContinuity
|
|
32
|
+
}): Promise<LatestContinuity>;
|
|
31
33
|
/** Stamp the outcome on the caller's handoff for `sessionId`; returns the rows stamped. */
|
|
32
|
-
export declare function handoffStampOutcome(ctx:
|
|
34
|
+
export declare function handoffStampOutcome(ctx: Ctx, sessionId: string, outcome: HandoffOutcome): Promise<number>;
|
|
33
35
|
/** Save a session handoff in the caller's tenant. */
|
|
34
|
-
export declare function handoffSave(ctx:
|
|
36
|
+
export declare function handoffSave(ctx: Ctx, handoff: Omit<SessionHandoff, 'updatedAt'>): Promise<SessionHandoff>;
|
|
35
37
|
/** The caller's latest handoff, optionally for one session. */
|
|
36
|
-
export declare function handoffLatest(ctx:
|
|
38
|
+
export declare function handoffLatest(ctx: Ctx, sessionId?: string): Promise<SessionHandoff | null>;
|
|
37
39
|
/** The caller's handoff by id, or null. */
|
|
38
|
-
export declare function handoffById(ctx:
|
|
40
|
+
export declare function handoffById(ctx: Ctx, id: number): Promise<SessionHandoff | null>;
|
|
39
41
|
/** Push a working memory entry in the caller's tenant; returns its row id. */
|
|
40
|
-
export declare function workingMemoryPush(ctx:
|
|
42
|
+
export declare function workingMemoryPush(ctx: Ctx, opts: Parameters<Sessions['pushWorkingMemory']>[1]): Promise<number>;
|
|
41
43
|
/** The caller's working memory entries, most important first. */
|
|
42
|
-
export declare function workingMemoryRead(ctx:
|
|
44
|
+
export declare function workingMemoryRead(ctx: Ctx, opts: Parameters<Sessions['readWorkingMemory']>[1]): Promise<WorkingMemoryItem[]>;
|
|
43
45
|
/** Delete the caller's working memory entries; returns the count. */
|
|
44
|
-
export declare function workingMemoryClear(ctx:
|
|
46
|
+
export declare function workingMemoryClear(ctx: Ctx, opts: Parameters<Sessions['clearWorkingMemory']>[1]): Promise<number>;
|
|
45
47
|
/** Flush the caller's working memory at session end; returns the count. */
|
|
46
|
-
export declare function workingMemoryFlush(ctx:
|
|
48
|
+
export declare function workingMemoryFlush(ctx: Ctx, opts: Parameters<Sessions['clearWorkingMemory']>[1]): Promise<number>;
|
|
49
|
+
export {};
|
|
47
50
|
//# sourceMappingURL=continuity.d.ts.map
|
package/dist/api/continuity.js
CHANGED
|
@@ -1,66 +1,64 @@
|
|
|
1
1
|
// Where-you-left-off ops: task snapshot, session events, handoffs and working memory.
|
|
2
|
-
import { appendSessionEvent, clearActiveTaskSnapshot, listSessionEvents, loadActiveTaskSnapshot, saveActiveTaskSnapshot, } from '../store/sessions.js';
|
|
3
|
-
import { loadHandoffById, loadLatestHandoff, saveSessionHandoff, stampHandoffOutcome } from '../store/handoffs.js';
|
|
4
|
-
import { wmClear, wmFlush, wmPush, wmRead } from '../store/working-memory.js';
|
|
5
2
|
/** Save the caller's active task snapshot. */
|
|
6
3
|
export function snapshotSave(ctx, input) {
|
|
7
|
-
return
|
|
4
|
+
return ctx.store.sessions.saveSnapshot(ctx.tenantId, input, null);
|
|
8
5
|
}
|
|
9
6
|
/** Clear the caller's active task snapshot; false when there was none. */
|
|
10
7
|
export function snapshotClear(ctx, status) {
|
|
11
|
-
return
|
|
8
|
+
return ctx.store.sessions.clearSnapshot(ctx.tenantId, status);
|
|
12
9
|
}
|
|
13
10
|
/** The caller's active task snapshot, or null. */
|
|
14
11
|
export function snapshotLoad(ctx) {
|
|
15
|
-
return
|
|
12
|
+
return ctx.store.sessions.loadSnapshot(ctx.tenantId, null);
|
|
16
13
|
}
|
|
17
14
|
/** Append a session event in the caller's tenant. */
|
|
18
15
|
export function sessionEventAppend(ctx, event) {
|
|
19
|
-
return
|
|
16
|
+
return ctx.store.sessions.appendEvent(ctx.tenantId, event);
|
|
20
17
|
}
|
|
21
18
|
/** List the caller's session events. */
|
|
22
19
|
export function sessionEventList(ctx, opts) {
|
|
23
|
-
return
|
|
20
|
+
return ctx.store.sessions.listEvents(ctx.tenantId, opts);
|
|
24
21
|
}
|
|
25
22
|
/** The active snapshot plus recent events for `sessionId`, falling back to the snapshot's own session. */
|
|
26
|
-
export function continuityLatest(ctx, opts) {
|
|
27
|
-
const
|
|
28
|
-
const
|
|
29
|
-
|
|
23
|
+
export async function continuityLatest(ctx, opts) {
|
|
24
|
+
const { sessions } = ctx.store;
|
|
25
|
+
const snapshot = await sessions.loadSnapshot(ctx.tenantId, null);
|
|
26
|
+
const events = await sessions.listEvents(ctx.tenantId, {
|
|
27
|
+
sessionId: opts.sessionId || snapshot?.session_id || undefined,
|
|
30
28
|
limit: opts.limit,
|
|
31
29
|
});
|
|
32
30
|
return { snapshot, events };
|
|
33
31
|
}
|
|
34
32
|
/** Stamp the outcome on the caller's handoff for `sessionId`; returns the rows stamped. */
|
|
35
33
|
export function handoffStampOutcome(ctx, sessionId, outcome) {
|
|
36
|
-
return stampHandoffOutcome(ctx.
|
|
34
|
+
return ctx.store.sessions.stampHandoffOutcome(ctx.tenantId, sessionId, outcome);
|
|
37
35
|
}
|
|
38
36
|
/** Save a session handoff in the caller's tenant. */
|
|
39
37
|
export function handoffSave(ctx, handoff) {
|
|
40
|
-
return
|
|
38
|
+
return ctx.store.sessions.saveHandoff(ctx.tenantId, handoff, null);
|
|
41
39
|
}
|
|
42
40
|
/** The caller's latest handoff, optionally for one session. */
|
|
43
41
|
export function handoffLatest(ctx, sessionId) {
|
|
44
|
-
return
|
|
42
|
+
return ctx.store.sessions.latestHandoff(ctx.tenantId, sessionId ?? null, {}, null);
|
|
45
43
|
}
|
|
46
44
|
/** The caller's handoff by id, or null. */
|
|
47
45
|
export function handoffById(ctx, id) {
|
|
48
|
-
return
|
|
46
|
+
return ctx.store.sessions.handoffById(ctx.tenantId, id);
|
|
49
47
|
}
|
|
50
48
|
/** Push a working memory entry in the caller's tenant; returns its row id. */
|
|
51
49
|
export function workingMemoryPush(ctx, opts) {
|
|
52
|
-
return
|
|
50
|
+
return ctx.store.sessions.pushWorkingMemory(ctx.tenantId, opts);
|
|
53
51
|
}
|
|
54
52
|
/** The caller's working memory entries, most important first. */
|
|
55
53
|
export function workingMemoryRead(ctx, opts) {
|
|
56
|
-
return
|
|
54
|
+
return ctx.store.sessions.readWorkingMemory(ctx.tenantId, opts);
|
|
57
55
|
}
|
|
58
56
|
/** Delete the caller's working memory entries; returns the count. */
|
|
59
57
|
export function workingMemoryClear(ctx, opts) {
|
|
60
|
-
return
|
|
58
|
+
return ctx.store.sessions.clearWorkingMemory(ctx.tenantId, opts);
|
|
61
59
|
}
|
|
62
60
|
/** Flush the caller's working memory at session end; returns the count. */
|
|
63
61
|
export function workingMemoryFlush(ctx, opts) {
|
|
64
|
-
return
|
|
62
|
+
return ctx.store.sessions.clearWorkingMemory(ctx.tenantId, opts);
|
|
65
63
|
}
|
|
66
64
|
//# sourceMappingURL=continuity.js.map
|
|
@@ -18,7 +18,9 @@ export interface CorrectionLatencyReport {
|
|
|
18
18
|
maxMs: number | null;
|
|
19
19
|
pairs: CorrectionPair[];
|
|
20
20
|
}
|
|
21
|
-
/**
|
|
21
|
+
/**
|
|
22
|
+
* Correction latency = `new.created` minus the observation time (the extracted-from row's `created`, else
|
|
23
|
+
* `new.created`).
|
|
22
24
|
* Manual supersedes have latency 0 and are excluded from percentiles so they do not mask real lag. */
|
|
23
25
|
export declare function buildCorrectionLatency(entries: MemoryEntry[]): CorrectionLatencyReport;
|
|
24
26
|
//# sourceMappingURL=correction-latency.d.ts.map
|
|
@@ -10,7 +10,9 @@ function percentile(sorted, q) {
|
|
|
10
10
|
return sorted[lo];
|
|
11
11
|
return sorted[lo] + (sorted[hi] - sorted[lo]) * (idx - lo);
|
|
12
12
|
}
|
|
13
|
-
/**
|
|
13
|
+
/**
|
|
14
|
+
* Correction latency = `new.created` minus the observation time (the extracted-from row's `created`, else
|
|
15
|
+
* `new.created`).
|
|
14
16
|
* Manual supersedes have latency 0 and are excluded from percentiles so they do not mask real lag. */
|
|
15
17
|
export function buildCorrectionLatency(entries) {
|
|
16
18
|
const byId = new Map();
|
|
@@ -3,6 +3,9 @@ export interface ApiErrorReply {
|
|
|
3
3
|
status: number;
|
|
4
4
|
message: string;
|
|
5
5
|
}
|
|
6
|
-
/**
|
|
6
|
+
/**
|
|
7
|
+
* Maps by class so rewording a message never moves a status; an untyped error is a 500 whose text stays in the server
|
|
8
|
+
* log.
|
|
9
|
+
*/
|
|
7
10
|
export declare function mapApiError<E>(err: E): ApiErrorReply;
|
|
8
11
|
//# sourceMappingURL=error-reply.d.ts.map
|
package/dist/api/error-reply.js
CHANGED
|
@@ -1,9 +1,18 @@
|
|
|
1
|
-
// The one error-to-reply map the HTTP server and the MCP transports share, so a status never depends on which front end
|
|
1
|
+
// The one error-to-reply map the HTTP server and the MCP transports share, so a status never depends on which front end
|
|
2
|
+
// caught the error.
|
|
2
3
|
import { ApiError } from '../core/api-errors.js';
|
|
3
|
-
import { BodyTimeoutError, BodyTooLargeError, HttpError, INTERNAL_ERROR_MESSAGE, STORE_NOT_PORTED_MESSAGE } from '../util/http-util.js';
|
|
4
|
+
import { BodyTimeoutError, BodyTooLargeError, HttpError, INTERNAL_ERROR_MESSAGE, STORE_NOT_PORTED_MESSAGE, } from '../util/http-util.js';
|
|
4
5
|
import { SqliteBlockedError } from '../util/sqlite-blocked.js';
|
|
5
|
-
|
|
6
|
+
import { STORE_BUSY_MESSAGE } from '../store/port.js';
|
|
7
|
+
import { isStoreBusy } from './busy.js';
|
|
8
|
+
/**
|
|
9
|
+
* Maps by class so rewording a message never moves a status; an untyped error is a 500 whose text stays in the server
|
|
10
|
+
* log.
|
|
11
|
+
*/
|
|
6
12
|
export function mapApiError(err) {
|
|
13
|
+
// A held lock is a retryable 503 in every store, so the surfaces need not know SQLite's busy codes.
|
|
14
|
+
if (isStoreBusy(err))
|
|
15
|
+
return { status: 503, message: STORE_BUSY_MESSAGE };
|
|
7
16
|
// An add-on can build an HttpError from any number, and writeHead throws on one outside 100-999.
|
|
8
17
|
if (err instanceof HttpError && !(Number.isInteger(err.status) && err.status >= 100 && err.status <= 999)) {
|
|
9
18
|
return { status: 500, message: INTERNAL_ERROR_MESSAGE };
|
package/dist/api/index.d.ts
CHANGED
|
@@ -4,27 +4,43 @@ export { passesCliRecallScopeFilter, ScopeForbiddenError } from '../core/recall-
|
|
|
4
4
|
export type { TokenSummary, TokenSurface, TokenSurfaceSummary } from '../store/token-ledger.js';
|
|
5
5
|
export type { FailureSummary } from '../store/failure-log.js';
|
|
6
6
|
export { classifyOriginProject } from '../core/project-identity.js';
|
|
7
|
-
export
|
|
8
|
-
export
|
|
9
|
-
export
|
|
10
|
-
export
|
|
11
|
-
export
|
|
12
|
-
export
|
|
13
|
-
export
|
|
14
|
-
export
|
|
15
|
-
export
|
|
16
|
-
export
|
|
17
|
-
export
|
|
18
|
-
export
|
|
19
|
-
export
|
|
20
|
-
export
|
|
21
|
-
export
|
|
22
|
-
export
|
|
23
|
-
export
|
|
24
|
-
export
|
|
25
|
-
export
|
|
26
|
-
export
|
|
27
|
-
export
|
|
28
|
-
export
|
|
29
|
-
export
|
|
7
|
+
export { RecallContractError, adminActor, narrowContext, ownerOrSubject, requireHostAdmin } from './types.js';
|
|
8
|
+
export type { Actor, Context, ContextWith, HippoDbContext, StoreContext } from './types.js';
|
|
9
|
+
export { remember } from './memories/remember.js';
|
|
10
|
+
export type { RememberLocal, RememberOpts, RememberResult } from './memories/remember.js';
|
|
11
|
+
export { extractRememberedFacts, rememberLocally } from './memories/remember-local.js';
|
|
12
|
+
export type { FactExtraction, FactExtractionRequest, LocalRememberInput, LocalRememberOutcome, StartedWeak, } from './memories/remember-local.js';
|
|
13
|
+
export type { CliCoreInspection, CliCoreRanker, CliCoreRecall, ContinuityBlock, RecallOpts, RecallResult, RecallResultItem, RecallSuppressionSummary, ShownCliCore, ShownRanking, StoreRanking, } from './recall/types.js';
|
|
14
|
+
export { retrieve } from './recall/recall.js';
|
|
15
|
+
export { DEFAULT_ASSEMBLE_BUDGET, assemble } from './assemble.js';
|
|
16
|
+
export type { AssembleCost, AssembleOpts, AssembleResult, AssembledContextItem } from './assemble.js';
|
|
17
|
+
export { drillDown } from './objects/drill-down.js';
|
|
18
|
+
export type { DrillDownChild, DrillDownCost, DrillDownFailure, DrillDownOpts, DrillDownOutcome, DrillDownResult, DrillDownSummary, } from './objects/drill-down.js';
|
|
19
|
+
export { outcome, outcomeForLastRecall } from './memories/outcome.js';
|
|
20
|
+
export type { OutcomeForLastRecallResult, OutcomeResult } from './memories/outcome.js';
|
|
21
|
+
export { forget, reject, rejectOnHost, unreject } from './memories/forget.js';
|
|
22
|
+
export type { ForgetResult, RejectOpts, RejectResult } from './memories/forget.js';
|
|
23
|
+
export { listConflicts, listOpenConflicts, resolveMemoryConflict } from './memories/conflicts.js';
|
|
24
|
+
export type { ResolveMemoryConflictOpts, ResolveMemoryConflictResult } from './memories/conflicts.js';
|
|
25
|
+
export { listProjectNames, mergeProjectNames, repairProjectNames, repairProjectNamesOnce } from './objects/projects.js';
|
|
26
|
+
export type { MergeProjectNamesOpts, MergeResult, ProjectCollision, ProjectFold, ProjectSummary, RepairResult, } from './objects/projects.js';
|
|
27
|
+
export { archiveRaw, promote, supersede } from './memories/promote.js';
|
|
28
|
+
export type { ArchiveRawOpts, ArchiveRawResult, PromoteResult, SupersedeOverrides, SupersedeResult, } from './memories/promote.js';
|
|
29
|
+
export { DEFAULT_KEY_TTL_DAYS, MAX_TTL_DAYS, authCreate, authCreateSelf, authGrant, authKeyTenant, authListAllTenants, authListRows, authRevoke, authUngrant, } from './auth/auth.js';
|
|
30
|
+
export type { AuthCreateOpts, AuthCreateResult, AuthCreateSelfOpts, AuthCreateSelfResult, AuthGrantResult, AuthRevokeResult, } from './auth/auth.js';
|
|
31
|
+
export { auditList, auditMemoryQuality, computeCutoff, pruneAuditLog, removeAuditErrors, repairMemoryQuality, repairMemoryQualityOnce, } from './auth/audit.js';
|
|
32
|
+
export type { AuditListOpts, AuditPass, PruneAuditOpts, PruneAuditResult } from './auth/audit.js';
|
|
33
|
+
export type { ContextCost, ContextOpts, ContextResult, ContextResultEntry } from './context-types.js';
|
|
34
|
+
export { DEFAULT_CONTEXT_BUDGET, NO_QUERY, ambientSecretAdmit, getContext, oneCopyPerMemory } from './context.js';
|
|
35
|
+
export { failureSummary, recordTokens, tokenSummary } from './tokens.js';
|
|
36
|
+
export { forgetDormant, isDormant, listDormant, restoreDormant } from './sleep/dormant.js';
|
|
37
|
+
export { quarantineApprove, quarantineList, quarantineReject } from './auth/quarantine.js';
|
|
38
|
+
export type { QuarantineListItem } from './auth/quarantine.js';
|
|
39
|
+
export { sleep } from './sleep/sleep.js';
|
|
40
|
+
export type { SleepOpts, SleepResult } from './sleep/sleep.js';
|
|
41
|
+
export { goalComplete, goalList, goalPush, goalResume, goalSuspend } from './objects/goals.js';
|
|
42
|
+
export type { GoalPushOpts } from './objects/goals.js';
|
|
43
|
+
export { CLI_LEARN, MCP_LEARN, invalidateMemories, learn } from './sleep/learn.js';
|
|
44
|
+
export type { InvalidationOptions, InvalidationResult, InvalidationTarget, LearnOpts, LearnProfile, LearnResult, } from './sleep/learn.js';
|
|
45
|
+
export { REFINED_TAG, storeRefinement } from './memories/refine.js';
|
|
30
46
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/api/index.js
CHANGED
|
@@ -7,27 +7,25 @@ export { isPrivateScope, passesScopeFilterForRecall } from '../core/recall-scope
|
|
|
7
7
|
export { passesCliRecallScopeFilter, ScopeForbiddenError } from '../core/recall-scope.js';
|
|
8
8
|
// classifyOriginProject lives in project-identity.ts (leaf) for the same reason.
|
|
9
9
|
export { classifyOriginProject } from '../core/project-identity.js';
|
|
10
|
-
export
|
|
11
|
-
export
|
|
12
|
-
export
|
|
13
|
-
export
|
|
14
|
-
export
|
|
15
|
-
export
|
|
16
|
-
export
|
|
17
|
-
export
|
|
18
|
-
export
|
|
19
|
-
export
|
|
20
|
-
export
|
|
21
|
-
export
|
|
22
|
-
export
|
|
23
|
-
export
|
|
24
|
-
export
|
|
25
|
-
export
|
|
26
|
-
export
|
|
27
|
-
export
|
|
28
|
-
export
|
|
29
|
-
export
|
|
30
|
-
export
|
|
31
|
-
export * from './learn.js';
|
|
32
|
-
export * from './refine.js';
|
|
10
|
+
export { RecallContractError, adminActor, narrowContext, ownerOrSubject, requireHostAdmin } from './types.js';
|
|
11
|
+
export { remember } from './memories/remember.js';
|
|
12
|
+
export { extractRememberedFacts, rememberLocally } from './memories/remember-local.js';
|
|
13
|
+
export { retrieve } from './recall/recall.js';
|
|
14
|
+
export { DEFAULT_ASSEMBLE_BUDGET, assemble } from './assemble.js';
|
|
15
|
+
export { drillDown } from './objects/drill-down.js';
|
|
16
|
+
export { outcome, outcomeForLastRecall } from './memories/outcome.js';
|
|
17
|
+
export { forget, reject, rejectOnHost, unreject } from './memories/forget.js';
|
|
18
|
+
export { listConflicts, listOpenConflicts, resolveMemoryConflict } from './memories/conflicts.js';
|
|
19
|
+
export { listProjectNames, mergeProjectNames, repairProjectNames, repairProjectNamesOnce } from './objects/projects.js';
|
|
20
|
+
export { archiveRaw, promote, supersede } from './memories/promote.js';
|
|
21
|
+
export { DEFAULT_KEY_TTL_DAYS, MAX_TTL_DAYS, authCreate, authCreateSelf, authGrant, authKeyTenant, authListAllTenants, authListRows, authRevoke, authUngrant, } from './auth/auth.js';
|
|
22
|
+
export { auditList, auditMemoryQuality, computeCutoff, pruneAuditLog, removeAuditErrors, repairMemoryQuality, repairMemoryQualityOnce, } from './auth/audit.js';
|
|
23
|
+
export { DEFAULT_CONTEXT_BUDGET, NO_QUERY, ambientSecretAdmit, getContext, oneCopyPerMemory } from './context.js';
|
|
24
|
+
export { failureSummary, recordTokens, tokenSummary } from './tokens.js';
|
|
25
|
+
export { forgetDormant, isDormant, listDormant, restoreDormant } from './sleep/dormant.js';
|
|
26
|
+
export { quarantineApprove, quarantineList, quarantineReject } from './auth/quarantine.js';
|
|
27
|
+
export { sleep } from './sleep/sleep.js';
|
|
28
|
+
export { goalComplete, goalList, goalPush, goalResume, goalSuspend } from './objects/goals.js';
|
|
29
|
+
export { CLI_LEARN, MCP_LEARN, invalidateMemories, learn } from './sleep/learn.js';
|
|
30
|
+
export { REFINED_TAG, storeRefinement } from './memories/refine.js';
|
|
33
31
|
//# sourceMappingURL=index.js.map
|
|
@@ -1,4 +1,7 @@
|
|
|
1
|
-
/**
|
|
1
|
+
/**
|
|
2
|
+
* Prompt-injection detection for untrusted memory content. Same shape
|
|
3
|
+
* as secret-detect.ts; leaf module, no store/api/shared imports.
|
|
4
|
+
*/
|
|
2
5
|
export interface InstructionDetection {
|
|
3
6
|
flagged: boolean;
|
|
4
7
|
reason: string | null;
|
|
@@ -1,7 +1,16 @@
|
|
|
1
|
-
/**
|
|
1
|
+
/**
|
|
2
|
+
* Prompt-injection detection for untrusted memory content. Same shape
|
|
3
|
+
* as secret-detect.ts; leaf module, no store/api/shared imports.
|
|
4
|
+
*/
|
|
2
5
|
const INSTRUCTION_PATTERNS = [
|
|
3
|
-
{
|
|
4
|
-
|
|
6
|
+
{
|
|
7
|
+
name: 'override-instructions',
|
|
8
|
+
re: /\b(?:ignore|disregard|forget)\b[^.\n]{0,40}\b(?:previous|prior|above)\b[^.\n]{0,40}\binstructions?\b/i,
|
|
9
|
+
},
|
|
10
|
+
{
|
|
11
|
+
name: 'role-reassignment',
|
|
12
|
+
re: /\b(?:you are now|act as|pretend to be)\b[^.\n]{0,40}\b(?:an?\s+)?(?:ai|assistant|agent|system)\b/i,
|
|
13
|
+
},
|
|
5
14
|
{ name: 'chat-role-markup', re: /<\|im_start\|>|<\|system\|>|\[INST\]|<\/?system>|###\s*system\s*:/i },
|
|
6
15
|
{
|
|
7
16
|
name: 'system-prompt-reference',
|
|
@@ -11,16 +20,22 @@ const INSTRUCTION_PATTERNS = [
|
|
|
11
20
|
// "always"/"never" alone (ordinary PR prose) doesn't flag without an agent-facing target nearby too.
|
|
12
21
|
{
|
|
13
22
|
name: 'standing-order',
|
|
14
|
-
re:
|
|
23
|
+
re: new RegExp(String.raw `\b(?:from now on|whenever you|always|never)\b[^.\n]{0,50}\b(?:you must|` +
|
|
24
|
+
String.raw `(?:the ai|the assistant|the agent|claude|copilot)\s+(?:must|should|will)\b)`, 'i'),
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
name: 'concealment',
|
|
28
|
+
re: /\b(?:do not|never|don't)\b[^.\n]{0,40}\b(?:tell|mention|reveal)\b[^.\n]{0,40}\bthe user\b/i,
|
|
15
29
|
},
|
|
16
|
-
{ name: 'concealment', re: /\b(?:do not|never|don't)\b[^.\n]{0,40}\b(?:tell|mention|reveal)\b[^.\n]{0,40}\bthe user\b/i },
|
|
17
30
|
{
|
|
18
31
|
name: 'remote-script-exec',
|
|
19
|
-
re:
|
|
32
|
+
re: new RegExp(String.raw `\b(?:curl|wget)\b[^\n|]{0,80}\|\s*(?:sudo\s+)?(?:sh|bash|zsh)\b|` +
|
|
33
|
+
String.raw `\biex\s*\(\s*(?:iwr|invoke-webrequest|new-object\s+net\.webclient)`, 'i'),
|
|
20
34
|
},
|
|
21
35
|
{
|
|
22
36
|
name: 'exfiltration',
|
|
23
|
-
re:
|
|
37
|
+
re: new RegExp(String.raw `\b(?:send|post|upload|exfiltrate)\b[^.\n]{0,40}\b` +
|
|
38
|
+
String.raw `(?:secrets?|tokens?|api[- ]?keys?|credentials?|env(?:ironment)? variables?)\b`, 'i'),
|
|
24
39
|
},
|
|
25
40
|
{ name: 'unicode-tag-chars', re: /[\u{E0000}-\u{E007F}]/u },
|
|
26
41
|
];
|
|
@@ -30,20 +45,59 @@ const ZERO_WIDTH_RUN_RE = /[\u200B-\u200F\u2060-\u2064]{3,}/;
|
|
|
30
45
|
const BIDI_CONTROL_RE = /[\u202A-\u202E\u2066-\u2069]/;
|
|
31
46
|
// A renderer draws a reference as the character it names: decimal, hex, or one of the five names XML defines.
|
|
32
47
|
const CHARACTER_REFERENCE_RE = /&(?:#(\d{1,7})|#[xX]([0-9a-fA-F]{1,6})|(amp|lt|gt|quot|apos));/g;
|
|
33
|
-
const NAMED_REFERENCES = new Map([
|
|
34
|
-
|
|
48
|
+
const NAMED_REFERENCES = new Map([
|
|
49
|
+
['amp', '&'],
|
|
50
|
+
['lt', '<'],
|
|
51
|
+
['gt', '>'],
|
|
52
|
+
['quot', '"'],
|
|
53
|
+
['apos', "'"],
|
|
54
|
+
]);
|
|
55
|
+
// Drawn with no width, so one inside a word splits it for a pattern and not for a reader: soft hyphen, joiners,
|
|
56
|
+
// zero-width and bidi format characters.
|
|
35
57
|
const INVISIBLE_RE = /[\u034F\u00AD\u180E\u200B-\u200F\u202A-\u202E\u2060-\u2064\u2066-\u2069\uFEFF]/g;
|
|
36
|
-
// Cyrillic, then Greek, letters drawn like a c e i j o p s x y; closed at those, so Russian or Greek prose folds into
|
|
58
|
+
// Cyrillic, then Greek, letters drawn like a c e i j o p s x y; closed at those, so Russian or Greek prose folds into
|
|
59
|
+
// no phrase a pattern names.
|
|
37
60
|
const LOOKALIKES = new Map([
|
|
38
|
-
['\u0430', 'a'],
|
|
39
|
-
['\
|
|
40
|
-
['\
|
|
41
|
-
['\
|
|
42
|
-
['\
|
|
43
|
-
['\
|
|
61
|
+
['\u0430', 'a'],
|
|
62
|
+
['\u0441', 'c'],
|
|
63
|
+
['\u0435', 'e'],
|
|
64
|
+
['\u0456', 'i'],
|
|
65
|
+
['\u0458', 'j'],
|
|
66
|
+
['\u043E', 'o'],
|
|
67
|
+
['\u0440', 'p'],
|
|
68
|
+
['\u0455', 's'],
|
|
69
|
+
['\u0445', 'x'],
|
|
70
|
+
['\u0443', 'y'],
|
|
71
|
+
['\u0410', 'A'],
|
|
72
|
+
['\u0421', 'C'],
|
|
73
|
+
['\u0415', 'E'],
|
|
74
|
+
['\u0406', 'I'],
|
|
75
|
+
['\u0408', 'J'],
|
|
76
|
+
['\u041E', 'O'],
|
|
77
|
+
['\u0420', 'P'],
|
|
78
|
+
['\u0405', 'S'],
|
|
79
|
+
['\u0425', 'X'],
|
|
80
|
+
['\u0423', 'Y'],
|
|
81
|
+
['\u03B1', 'a'],
|
|
82
|
+
['\u03B5', 'e'],
|
|
83
|
+
['\u03B9', 'i'],
|
|
84
|
+
['\u03F3', 'j'],
|
|
85
|
+
['\u03BF', 'o'],
|
|
86
|
+
['\u03C1', 'p'],
|
|
87
|
+
['\u03C7', 'x'],
|
|
88
|
+
['\u03B3', 'y'],
|
|
89
|
+
['\u0391', 'A'],
|
|
90
|
+
['\u0395', 'E'],
|
|
91
|
+
['\u0399', 'I'],
|
|
92
|
+
['\u037F', 'J'],
|
|
93
|
+
['\u039F', 'O'],
|
|
94
|
+
['\u03A1', 'P'],
|
|
95
|
+
['\u03A7', 'X'],
|
|
96
|
+
['\u03A5', 'Y'],
|
|
44
97
|
]);
|
|
45
98
|
const GREEK_OR_CYRILLIC_RE = /[\u0370-\u03FF\u0400-\u04FF]/g;
|
|
46
|
-
// A line break stays: it is the sentence bound the patterns rely
|
|
99
|
+
// A line break stays: it is the sentence bound the patterns rely
|
|
100
|
+
// on where a list or a chat message ends a line with no full stop.
|
|
47
101
|
const SPACE_RUN_RE = /[^\S\n]+/g;
|
|
48
102
|
function referencedCharacter(reference, decimal, hex, name) {
|
|
49
103
|
if (name !== undefined)
|
|
@@ -55,13 +109,13 @@ function referencedCharacter(reference, decimal, hex, name) {
|
|
|
55
109
|
}
|
|
56
110
|
/** `content` as a reader or a model takes it in. For matching only: what is stored is never this. */
|
|
57
111
|
function screeningForm(content) {
|
|
58
|
-
return content
|
|
112
|
+
return (content
|
|
59
113
|
.replace(CHARACTER_REFERENCE_RE, referencedCharacter)
|
|
60
114
|
// Full-width, mathematical and enclosed letters become the plain ones, and every space character a U+0020.
|
|
61
115
|
.normalize('NFKC')
|
|
62
116
|
.replace(INVISIBLE_RE, '')
|
|
63
117
|
.replace(GREEK_OR_CYRILLIC_RE, (letter) => LOOKALIKES.get(letter) ?? letter)
|
|
64
|
-
.replace(SPACE_RUN_RE, ' ');
|
|
118
|
+
.replace(SPACE_RUN_RE, ' '));
|
|
65
119
|
}
|
|
66
120
|
function matchedPattern(text) {
|
|
67
121
|
for (const { name, re } of INSTRUCTION_PATTERNS) {
|
|
@@ -71,7 +125,8 @@ function matchedPattern(text) {
|
|
|
71
125
|
return null;
|
|
72
126
|
}
|
|
73
127
|
export function detectInstruction(content) {
|
|
74
|
-
// The text as written goes first: a phrase in plain sight is named before any smuggling rule, and the screening form
|
|
128
|
+
// The text as written goes first: a phrase in plain sight is named before any smuggling rule, and the screening form
|
|
129
|
+
// only adds flags.
|
|
75
130
|
const plain = matchedPattern(content);
|
|
76
131
|
if (plain !== null)
|
|
77
132
|
return { flagged: true, reason: plain };
|
package/dist/api/ledger-db.d.ts
CHANGED
|
@@ -1,17 +1,21 @@
|
|
|
1
1
|
import { type LedgerTurn } from '../store/ledger-turn.js';
|
|
2
|
+
import { type HippoStore, type StoreReach } from '../store/port.js';
|
|
2
3
|
import type { LastSent, TokenSurface, TokenUse } from '../store/token-ledger.js';
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
4
|
+
/** The slice of a call's store reach that picks the ledger; a shared store has no `global`. */
|
|
5
|
+
export type LedgerReach = Pick<StoreReach, 'hasLocal' | 'global'>;
|
|
6
|
+
/** The ledger is SQLite-only: a local store needs a reach that says so and a SQLite store; no reach books nowhere. */
|
|
7
|
+
export declare function ledgerReachOf(ctx: {
|
|
8
|
+
readonly reach?: StoreReach;
|
|
9
|
+
readonly store?: HippoStore;
|
|
10
|
+
}, shared?: boolean): LedgerReach;
|
|
11
|
+
/** `hippoRoot` when the call has a store of its own, else the global store (the prompt hook fires where none is). */
|
|
12
|
+
export declare function ledgerRoot(hippoRoot: string, reach: LedgerReach): string | null;
|
|
13
|
+
/** Runs `call` on ledgerRoot's store root; undefined on any failure, since a ledger failure must not break recall. */
|
|
14
|
+
export declare function onLedgerRoot<T>(hippoRoot: string, reach: LedgerReach, call: (root: string) => T): T | undefined;
|
|
11
15
|
/** Books one row in ledgerRoot's store, best-effort. */
|
|
12
|
-
export declare function bookTokenUse(hippoRoot: string, use: TokenUse,
|
|
16
|
+
export declare function bookTokenUse(hippoRoot: string, use: TokenUse, reach: LedgerReach): void;
|
|
13
17
|
/** Books a turn's rows and then its delivery event on one connection of ledgerRoot's store, best-effort. */
|
|
14
|
-
export declare function bookLedgerTurn(hippoRoot: string, turn: LedgerTurn,
|
|
18
|
+
export declare function bookLedgerTurn(hippoRoot: string, turn: LedgerTurn, reach: LedgerReach): void;
|
|
15
19
|
/** What the session last sent on `surface` in ledgerRoot's store; undefined with no ledger or a failed read. */
|
|
16
|
-
export declare function ledgerLastSent(hippoRoot: string, tenantId: string, sessionId: string | null | undefined, surface: TokenSurface,
|
|
20
|
+
export declare function ledgerLastSent(hippoRoot: string, tenantId: string, sessionId: string | null | undefined, surface: TokenSurface, reach: LedgerReach): LastSent | null | undefined;
|
|
17
21
|
//# sourceMappingURL=ledger-db.d.ts.map
|
package/dist/api/ledger-db.js
CHANGED
|
@@ -1,27 +1,25 @@
|
|
|
1
1
|
// The store the token ledger writes to for a caller's root; context, recall and the session hooks share it.
|
|
2
|
-
import { errorMessage, log } from '../util/log.js';
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
if (isInitialized(hippoRoot))
|
|
10
|
-
return hippoRoot;
|
|
11
|
-
if (opts?.sharedStore)
|
|
12
|
-
return null;
|
|
13
|
-
const globalRoot = getGlobalRoot();
|
|
14
|
-
return isInitialized(globalRoot) ? globalRoot : null;
|
|
2
|
+
import { errorMessage, log, errorFields } from '../util/log.js';
|
|
3
|
+
import { lastSentOnSurface, noteLedgerRowSkipped, recordLedgerTurn, recordTokensAt, } from '../store/ledger-turn.js';
|
|
4
|
+
import { hasGroup } from '../store/port.js';
|
|
5
|
+
/** The ledger is SQLite-only: a local store needs a reach that says so and a SQLite store; no reach books nowhere. */
|
|
6
|
+
export function ledgerReachOf(ctx, shared) {
|
|
7
|
+
const hasLocal = ctx.reach?.hasLocal === true && (ctx.store === undefined || hasGroup(ctx.store, 'localFiles'));
|
|
8
|
+
return shared === true ? { hasLocal } : { hasLocal, global: ctx.reach?.global };
|
|
15
9
|
}
|
|
16
|
-
/**
|
|
17
|
-
export function
|
|
10
|
+
/** `hippoRoot` when the call has a store of its own, else the global store (the prompt hook fires where none is). */
|
|
11
|
+
export function ledgerRoot(hippoRoot, reach) {
|
|
12
|
+
return reach.hasLocal ? hippoRoot : (reach.global?.root ?? null);
|
|
13
|
+
}
|
|
14
|
+
/** Runs `call` on ledgerRoot's store root; undefined on any failure, since a ledger failure must not break recall. */
|
|
15
|
+
export function onLedgerRoot(hippoRoot, reach, call) {
|
|
18
16
|
let root = null;
|
|
19
17
|
try {
|
|
20
|
-
root = ledgerRoot(hippoRoot,
|
|
18
|
+
root = ledgerRoot(hippoRoot, reach);
|
|
21
19
|
}
|
|
22
20
|
catch (error) {
|
|
23
21
|
// An unreadable store root means no ledger write; the ledger must never break context or recall.
|
|
24
|
-
log.debug(`token ledger skipped, store root unreadable: ${errorMessage(error)}
|
|
22
|
+
log.debug(`token ledger skipped, store root unreadable: ${errorMessage(error)}`, errorFields(error));
|
|
25
23
|
return undefined;
|
|
26
24
|
}
|
|
27
25
|
if (root === null)
|
|
@@ -35,15 +33,15 @@ export function onLedgerRoot(hippoRoot, opts, call) {
|
|
|
35
33
|
}
|
|
36
34
|
}
|
|
37
35
|
/** Books one row in ledgerRoot's store, best-effort. */
|
|
38
|
-
export function bookTokenUse(hippoRoot, use,
|
|
39
|
-
onLedgerRoot(hippoRoot,
|
|
36
|
+
export function bookTokenUse(hippoRoot, use, reach) {
|
|
37
|
+
onLedgerRoot(hippoRoot, reach, (root) => recordTokensAt(root, use));
|
|
40
38
|
}
|
|
41
39
|
/** Books a turn's rows and then its delivery event on one connection of ledgerRoot's store, best-effort. */
|
|
42
|
-
export function bookLedgerTurn(hippoRoot, turn,
|
|
43
|
-
onLedgerRoot(hippoRoot,
|
|
40
|
+
export function bookLedgerTurn(hippoRoot, turn, reach) {
|
|
41
|
+
onLedgerRoot(hippoRoot, reach, (root) => recordLedgerTurn(root, turn));
|
|
44
42
|
}
|
|
45
43
|
/** What the session last sent on `surface` in ledgerRoot's store; undefined with no ledger or a failed read. */
|
|
46
|
-
export function ledgerLastSent(hippoRoot, tenantId, sessionId, surface,
|
|
47
|
-
return onLedgerRoot(hippoRoot,
|
|
44
|
+
export function ledgerLastSent(hippoRoot, tenantId, sessionId, surface, reach) {
|
|
45
|
+
return onLedgerRoot(hippoRoot, reach, (root) => lastSentOnSurface(root, tenantId, sessionId, surface));
|
|
48
46
|
}
|
|
49
47
|
//# sourceMappingURL=ledger-db.js.map
|