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,15 +1,7 @@
|
|
|
1
|
-
/**
|
|
2
|
-
*
|
|
3
|
-
*
|
|
4
|
-
|
|
5
|
-
* and cluster amplification. No I/O — all state is passed in and returned.
|
|
6
|
-
*
|
|
7
|
-
* Memories are particles on the unit hypersphere in embedding space (384-dim).
|
|
8
|
-
* Forces act on them: query gravity (retrieval), inter-memory attraction,
|
|
9
|
-
* conflict repulsion, and drag (consolidation). Nearby high-scoring memories
|
|
10
|
-
* amplify each other via constructive interference.
|
|
11
|
-
*/
|
|
12
|
-
import type { EmotionalValence } from './memory.js';
|
|
1
|
+
/** Memory-as-Physics engine: pure math (forces, Velocity Verlet integration, physics-based scoring, cluster amplification), no I/O.
|
|
2
|
+
* Memories are particles on the unit hypersphere in embedding space (384-dim); query gravity, attraction, conflict repulsion and drag act on them,
|
|
3
|
+
* and nearby high-scoring memories amplify each other. */
|
|
4
|
+
import { type EmotionalValence } from './memory.js';
|
|
13
5
|
import type { PhysicsConfig } from './physics-config.js';
|
|
14
6
|
export interface PhysicsParticle {
|
|
15
7
|
memoryId: string;
|
|
@@ -51,42 +43,16 @@ export declare function vecClampMagnitude(v: number[], maxMag: number): number[]
|
|
|
51
43
|
export declare function computeMass(strength: number, retrievalCount: number): number;
|
|
52
44
|
export declare function computeCharge(valence: EmotionalValence): number;
|
|
53
45
|
export declare function computeTemperature(ageDays: number, temperatureDecay: number): number;
|
|
54
|
-
/**
|
|
55
|
-
* Query gravity (retrieval-time, virtual — does not update position).
|
|
56
|
-
* Returns scalar force magnitude for ranking.
|
|
57
|
-
*
|
|
58
|
-
* F_query(i) = G_Q * mass(i) * max(0, cosine(pos_i, query))^2
|
|
59
|
-
*/
|
|
46
|
+
/** Query gravity (retrieval-time, virtual: does not move the particle): scalar ranking magnitude F = G_Q * mass * max(0, cosine(pos, query))^2. */
|
|
60
47
|
export declare function queryGravityMagnitude(particle: PhysicsParticle, queryEmbedding: number[], G_query: number): number;
|
|
61
|
-
/**
|
|
62
|
-
* Momentum bonus: how aligned is the particle's velocity with the query direction?
|
|
63
|
-
* Returns a value in [0, 1].
|
|
64
|
-
*/
|
|
48
|
+
/** Momentum bonus in [0, 1]: how aligned the particle's velocity is with the query direction. */
|
|
65
49
|
export declare function velocityAlignmentBonus(particle: PhysicsParticle, queryEmbedding: number[]): number;
|
|
66
|
-
/**
|
|
67
|
-
*
|
|
68
|
-
|
|
69
|
-
*
|
|
70
|
-
* F_attract(i,j) = G_M * m_i * m_j * max(0, cosine(i,j))^3 * direction(j→i in embedding space)
|
|
71
|
-
*
|
|
72
|
-
* Direction is computed as the component of (pos_j - pos_i) that lies tangent to the
|
|
73
|
-
* unit sphere at pos_i (since we normalize positions back to the sphere after integration).
|
|
74
|
-
*/
|
|
75
|
-
export declare function attractionForce(pi: PhysicsParticle, pj: PhysicsParticle, G_memory: number): number[];
|
|
76
|
-
/**
|
|
77
|
-
* Conflict repulsion force vector (consolidation-time).
|
|
78
|
-
* Repulsive force pushing i away from j.
|
|
79
|
-
*
|
|
80
|
-
* F_repel(i,j) = K_R * m_i * m_j / max(0.01, cosine_distance(i,j))^2
|
|
81
|
-
* where cosine_distance = 1 - cosine_similarity
|
|
82
|
-
*/
|
|
50
|
+
/** Attraction force on particle i from j (consolidation-time): G_M m_i m_j max(0, cosine)^3, directed along (pos_j - pos_i) projected tangent to the unit
|
|
51
|
+
* sphere at pos_i (positions are re-normalized to the sphere after integration). Adds into `out` (a fresh zero vector by default) using `diff` as scratch. */
|
|
52
|
+
export declare function attractionForce(pi: PhysicsParticle, pj: PhysicsParticle, G_memory: number, out?: number[], diff?: number[]): number[];
|
|
53
|
+
/** Conflict repulsion on i away from j (consolidation-time): K_R * m_i * m_j / max(0.01, cosine_distance)^2, where cosine_distance = 1 - cosine_similarity. */
|
|
83
54
|
export declare function repulsionForce(pi: PhysicsParticle, pj: PhysicsParticle, K_repulsion: number): number[];
|
|
84
|
-
/**
|
|
85
|
-
* Drag force vector (consolidation-time).
|
|
86
|
-
* F_drag(i) = -drag * velocity(i) / max(1, effective_half_life(i))
|
|
87
|
-
*
|
|
88
|
-
* effectiveHalfLife should be passed in from the memory's current half_life_days.
|
|
89
|
-
*/
|
|
55
|
+
/** Drag force (consolidation-time): -drag * velocity / max(1, effectiveHalfLife), with effectiveHalfLife from the memory's current half_life_days. */
|
|
90
56
|
export declare function dragForce(particle: PhysicsParticle, drag: number, effectiveHalfLife: number): number[];
|
|
91
57
|
export interface ForceContext {
|
|
92
58
|
/** Map of memory ID -> list of conflicting memory IDs */
|
|
@@ -95,26 +61,14 @@ export interface ForceContext {
|
|
|
95
61
|
halfLives: Map<string, number>;
|
|
96
62
|
config: PhysicsConfig;
|
|
97
63
|
}
|
|
98
|
-
/**
|
|
99
|
-
* Run the full physics simulation for one sleep cycle.
|
|
100
|
-
* Mutates particles in place. Returns simulation statistics.
|
|
101
|
-
*/
|
|
64
|
+
/** Full physics simulation for one sleep cycle; mutates particles in place and returns simulation statistics. */
|
|
102
65
|
export declare function simulate(particles: PhysicsParticle[], ctx: ForceContext): SimulationStats;
|
|
103
66
|
export declare function computeSystemEnergy(particles: PhysicsParticle[], G_memory: number): SystemEnergy;
|
|
104
|
-
/**
|
|
105
|
-
* Score all particles against a query embedding using physics-based ranking.
|
|
106
|
-
* Does NOT modify particle positions (virtual force computation).
|
|
107
|
-
*/
|
|
67
|
+
/** Scores all particles against a query embedding; virtual force computation, so it does NOT modify particle positions. */
|
|
108
68
|
export declare function physicsScore(particles: PhysicsParticle[], queryEmbedding: number[], config: PhysicsConfig,
|
|
109
|
-
/** Cross-ingest-stable tie key per memoryId (typically the memory
|
|
110
|
-
*
|
|
111
|
-
* it ties fall to memoryId -- per-instance only, which lets the
|
|
112
|
-
* cluster_top_k amplification set vary across fresh ingests. */
|
|
69
|
+
/** Cross-ingest-stable tie key per memoryId (typically the memory content, from a caller with entries in scope); without it ties fall to memoryId,
|
|
70
|
+
* which is per-instance only and lets the cluster_top_k amplification set vary across fresh ingests. */
|
|
113
71
|
tieKeyOf?: (memoryId: string) => string): ScoredPhysicsResult[];
|
|
114
|
-
/**
|
|
115
|
-
* Nudge a particle's position toward (good outcome) or away from (bad outcome)
|
|
116
|
-
* the query embedding. Respects temperature: new memories respond more.
|
|
117
|
-
* Mutates particle in place.
|
|
118
|
-
*/
|
|
72
|
+
/** Nudges a particle toward (good outcome) or away from (bad outcome) the query embedding; new memories respond more (temperature). Mutates in place. */
|
|
119
73
|
export declare function applyOutcomeFeedback(particle: PhysicsParticle, queryEmbedding: number[], good: boolean, feedbackAlpha: number): void;
|
|
120
74
|
//# sourceMappingURL=physics.d.ts.map
|
|
@@ -1,19 +1,9 @@
|
|
|
1
|
-
/**
|
|
2
|
-
*
|
|
3
|
-
*
|
|
4
|
-
* Pure math module: forces, Velocity Verlet integration, physics-based scoring,
|
|
5
|
-
* and cluster amplification. No I/O — all state is passed in and returned.
|
|
6
|
-
*
|
|
7
|
-
* Memories are particles on the unit hypersphere in embedding space (384-dim).
|
|
8
|
-
* Forces act on them: query gravity (retrieval), inter-memory attraction,
|
|
9
|
-
* conflict repulsion, and drag (consolidation). Nearby high-scoring memories
|
|
10
|
-
* amplify each other via constructive interference.
|
|
11
|
-
*/
|
|
1
|
+
/** Memory-as-Physics engine: pure math (forces, Velocity Verlet integration, physics-based scoring, cluster amplification), no I/O.
|
|
2
|
+
* Memories are particles on the unit hypersphere in embedding space (384-dim); query gravity, attraction, conflict repulsion and drag act on them,
|
|
3
|
+
* and nearby high-scoring memories amplify each other. */
|
|
12
4
|
import { isRecallBoostAblated } from './ablation.js';
|
|
5
|
+
import { FALLBACK_HALF_LIFE_DAYS } from './memory.js';
|
|
13
6
|
import { comparePhysicsResultsBy } from './compare.js';
|
|
14
|
-
// ---------------------------------------------------------------------------
|
|
15
|
-
// Vector math (hot path — kept inline for performance)
|
|
16
|
-
// ---------------------------------------------------------------------------
|
|
17
7
|
export function vecDot(a, b) {
|
|
18
8
|
let sum = 0;
|
|
19
9
|
for (let i = 0; i < a.length; i++)
|
|
@@ -24,25 +14,25 @@ export function vecNorm(v) {
|
|
|
24
14
|
return Math.sqrt(vecDot(v, v));
|
|
25
15
|
}
|
|
26
16
|
export function vecScale(v, s) {
|
|
27
|
-
const out =
|
|
17
|
+
const out = v.slice();
|
|
28
18
|
for (let i = 0; i < v.length; i++)
|
|
29
19
|
out[i] = v[i] * s;
|
|
30
20
|
return out;
|
|
31
21
|
}
|
|
32
22
|
export function vecAdd(a, b) {
|
|
33
|
-
const out =
|
|
23
|
+
const out = a.slice();
|
|
34
24
|
for (let i = 0; i < a.length; i++)
|
|
35
25
|
out[i] = a[i] + b[i];
|
|
36
26
|
return out;
|
|
37
27
|
}
|
|
38
28
|
export function vecSub(a, b) {
|
|
39
|
-
const out =
|
|
29
|
+
const out = a.slice();
|
|
40
30
|
for (let i = 0; i < a.length; i++)
|
|
41
31
|
out[i] = a[i] - b[i];
|
|
42
32
|
return out;
|
|
43
33
|
}
|
|
44
34
|
export function vecZero(dim) {
|
|
45
|
-
return
|
|
35
|
+
return Array(dim).fill(0);
|
|
46
36
|
}
|
|
47
37
|
/** Normalize to unit length. Returns zero vector if magnitude < epsilon. */
|
|
48
38
|
export function vecNormalize(v) {
|
|
@@ -69,9 +59,6 @@ function cosine(a, b) {
|
|
|
69
59
|
return 0;
|
|
70
60
|
return Math.min(1, Math.max(-1, dot / (na * nb)));
|
|
71
61
|
}
|
|
72
|
-
// ---------------------------------------------------------------------------
|
|
73
|
-
// Property derivation from memory attributes
|
|
74
|
-
// ---------------------------------------------------------------------------
|
|
75
62
|
const CHARGE_MAP = {
|
|
76
63
|
neutral: 0,
|
|
77
64
|
positive: 0.3,
|
|
@@ -79,9 +66,8 @@ const CHARGE_MAP = {
|
|
|
79
66
|
critical: -1.0,
|
|
80
67
|
};
|
|
81
68
|
export function computeMass(strength, retrievalCount) {
|
|
82
|
-
// EVAL-ONLY ablation (
|
|
83
|
-
// query gravity ranks by mass
|
|
84
|
-
// physics-pool rankings. Covers both the init and refresh callers in physics-state.ts.
|
|
69
|
+
// EVAL-ONLY ablation (ablation.ts): under the recall-boost flag mass ignores retrieval history, which would otherwise leak strengthening into the ablated
|
|
70
|
+
// arm's physics-pool rankings (query gravity ranks by mass). Covers both init and refresh callers in physics-state.ts.
|
|
85
71
|
const effectiveCount = isRecallBoostAblated() ? 0 : retrievalCount;
|
|
86
72
|
return Math.max(0.01, strength * (1 + 0.1 * Math.log2(effectiveCount + 1)));
|
|
87
73
|
}
|
|
@@ -91,23 +77,12 @@ export function computeCharge(valence) {
|
|
|
91
77
|
export function computeTemperature(ageDays, temperatureDecay) {
|
|
92
78
|
return 1 / (ageDays * temperatureDecay + 1);
|
|
93
79
|
}
|
|
94
|
-
|
|
95
|
-
// Force computations
|
|
96
|
-
// ---------------------------------------------------------------------------
|
|
97
|
-
/**
|
|
98
|
-
* Query gravity (retrieval-time, virtual — does not update position).
|
|
99
|
-
* Returns scalar force magnitude for ranking.
|
|
100
|
-
*
|
|
101
|
-
* F_query(i) = G_Q * mass(i) * max(0, cosine(pos_i, query))^2
|
|
102
|
-
*/
|
|
80
|
+
/** Query gravity (retrieval-time, virtual: does not move the particle): scalar ranking magnitude F = G_Q * mass * max(0, cosine(pos, query))^2. */
|
|
103
81
|
export function queryGravityMagnitude(particle, queryEmbedding, G_query) {
|
|
104
82
|
const cos = cosine(particle.position, queryEmbedding);
|
|
105
83
|
return G_query * particle.mass * Math.pow(Math.max(0, cos), 2);
|
|
106
84
|
}
|
|
107
|
-
/**
|
|
108
|
-
* Momentum bonus: how aligned is the particle's velocity with the query direction?
|
|
109
|
-
* Returns a value in [0, 1].
|
|
110
|
-
*/
|
|
85
|
+
/** Momentum bonus in [0, 1]: how aligned the particle's velocity is with the query direction. */
|
|
111
86
|
export function velocityAlignmentBonus(particle, queryEmbedding) {
|
|
112
87
|
if (particle.velocity.length === 0 || particle.velocity.length !== queryEmbedding.length)
|
|
113
88
|
return 0;
|
|
@@ -118,31 +93,25 @@ export function velocityAlignmentBonus(particle, queryEmbedding) {
|
|
|
118
93
|
const alignment = vecDot(particle.velocity, queryEmbedding) / (velMag * qNorm);
|
|
119
94
|
return Math.max(0, alignment);
|
|
120
95
|
}
|
|
121
|
-
/**
|
|
122
|
-
*
|
|
123
|
-
|
|
124
|
-
*
|
|
125
|
-
* F_attract(i,j) = G_M * m_i * m_j * max(0, cosine(i,j))^3 * direction(j→i in embedding space)
|
|
126
|
-
*
|
|
127
|
-
* Direction is computed as the component of (pos_j - pos_i) that lies tangent to the
|
|
128
|
-
* unit sphere at pos_i (since we normalize positions back to the sphere after integration).
|
|
129
|
-
*/
|
|
130
|
-
export function attractionForce(pi, pj, G_memory) {
|
|
96
|
+
/** Attraction force on particle i from j (consolidation-time): G_M m_i m_j max(0, cosine)^3, directed along (pos_j - pos_i) projected tangent to the unit
|
|
97
|
+
* sphere at pos_i (positions are re-normalized to the sphere after integration). Adds into `out` (a fresh zero vector by default) using `diff` as scratch. */
|
|
98
|
+
export function attractionForce(pi, pj, G_memory, out = vecZero(pi.position.length), diff = vecZero(pi.position.length)) {
|
|
131
99
|
const cos = cosine(pi.position, pj.position);
|
|
132
100
|
if (cos <= 0)
|
|
133
|
-
return
|
|
101
|
+
return out;
|
|
134
102
|
const magnitude = G_memory * pi.mass * pj.mass * Math.pow(cos, 3);
|
|
135
103
|
// Direction: from i toward j (tangent projection handled by normalization after integration)
|
|
136
|
-
|
|
137
|
-
|
|
104
|
+
for (let k = 0; k < out.length; k++)
|
|
105
|
+
diff[k] = pj.position[k] - pi.position[k];
|
|
106
|
+
const norm = vecNorm(diff);
|
|
107
|
+
if (norm < 1e-10)
|
|
108
|
+
return out;
|
|
109
|
+
const inv = 1 / norm;
|
|
110
|
+
for (let k = 0; k < out.length; k++)
|
|
111
|
+
out[k] += diff[k] * inv * magnitude;
|
|
112
|
+
return out;
|
|
138
113
|
}
|
|
139
|
-
/**
|
|
140
|
-
* Conflict repulsion force vector (consolidation-time).
|
|
141
|
-
* Repulsive force pushing i away from j.
|
|
142
|
-
*
|
|
143
|
-
* F_repel(i,j) = K_R * m_i * m_j / max(0.01, cosine_distance(i,j))^2
|
|
144
|
-
* where cosine_distance = 1 - cosine_similarity
|
|
145
|
-
*/
|
|
114
|
+
/** Conflict repulsion on i away from j (consolidation-time): K_R * m_i * m_j / max(0.01, cosine_distance)^2, where cosine_distance = 1 - cosine_similarity. */
|
|
146
115
|
export function repulsionForce(pi, pj, K_repulsion) {
|
|
147
116
|
const cos = cosine(pi.position, pj.position);
|
|
148
117
|
const dist = Math.max(0.01, 1 - cos);
|
|
@@ -151,46 +120,44 @@ export function repulsionForce(pi, pj, K_repulsion) {
|
|
|
151
120
|
const direction = vecNormalize(vecSub(pi.position, pj.position));
|
|
152
121
|
return vecScale(direction, magnitude);
|
|
153
122
|
}
|
|
154
|
-
/**
|
|
155
|
-
* Drag force vector (consolidation-time).
|
|
156
|
-
* F_drag(i) = -drag * velocity(i) / max(1, effective_half_life(i))
|
|
157
|
-
*
|
|
158
|
-
* effectiveHalfLife should be passed in from the memory's current half_life_days.
|
|
159
|
-
*/
|
|
123
|
+
/** Drag force (consolidation-time): -drag * velocity / max(1, effectiveHalfLife), with effectiveHalfLife from the memory's current half_life_days. */
|
|
160
124
|
export function dragForce(particle, drag, effectiveHalfLife) {
|
|
161
125
|
const damping = drag / Math.max(1, effectiveHalfLife);
|
|
162
126
|
return vecScale(particle.velocity, -damping);
|
|
163
127
|
}
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
128
|
+
function addInto(net, force) {
|
|
129
|
+
for (let k = 0; k < net.length; k++)
|
|
130
|
+
net[k] += force[k];
|
|
131
|
+
}
|
|
132
|
+
/** The net force on particle i, accumulated into one new array; `diff` is the caller's scratch for pair directions. */
|
|
133
|
+
function computeNetForce(i, particles, ctx, diff) {
|
|
168
134
|
const pi = particles[i];
|
|
169
135
|
const dim = pi.position.length;
|
|
170
|
-
|
|
136
|
+
const net = vecZero(dim);
|
|
171
137
|
const conflicts = ctx.conflictPairs.get(pi.memoryId);
|
|
172
138
|
for (let j = 0; j < particles.length; j++) {
|
|
173
139
|
if (i === j)
|
|
174
140
|
continue;
|
|
175
141
|
const pj = particles[j];
|
|
176
142
|
// Attraction (all pairs)
|
|
177
|
-
|
|
178
|
-
net = vecAdd(net, fa);
|
|
143
|
+
attractionForce(pi, pj, ctx.config.G_memory, net, diff);
|
|
179
144
|
// Repulsion (conflict pairs only)
|
|
180
|
-
if (conflicts?.has(pj.memoryId))
|
|
181
|
-
|
|
182
|
-
net = vecAdd(net, fr);
|
|
183
|
-
}
|
|
145
|
+
if (conflicts?.has(pj.memoryId))
|
|
146
|
+
addInto(net, repulsionForce(pi, pj, ctx.config.K_repulsion));
|
|
184
147
|
}
|
|
185
148
|
// Drag
|
|
186
|
-
|
|
187
|
-
net = vecAdd(net, fd);
|
|
149
|
+
addInto(net, dragForce(pi, ctx.config.drag, ctx.halfLives.get(pi.memoryId) ?? FALLBACK_HALF_LIFE_DAYS));
|
|
188
150
|
return net;
|
|
189
151
|
}
|
|
190
|
-
/**
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
152
|
+
/** Acceleration of particle i: its net force divided by mass, scaled in place. */
|
|
153
|
+
function computeAcceleration(i, particles, ctx, diff) {
|
|
154
|
+
const accel = computeNetForce(i, particles, ctx, diff);
|
|
155
|
+
const inv = 1 / Math.max(0.01, particles[i].mass);
|
|
156
|
+
for (let k = 0; k < accel.length; k++)
|
|
157
|
+
accel[k] *= inv;
|
|
158
|
+
return accel;
|
|
159
|
+
}
|
|
160
|
+
/** One Velocity Verlet step for all particles; mutates in place for performance. */
|
|
194
161
|
function verletStep(particles, accelerations, ctx) {
|
|
195
162
|
const dt = ctx.config.dt;
|
|
196
163
|
const maxVel = ctx.config.max_velocity;
|
|
@@ -202,11 +169,10 @@ function verletStep(particles, accelerations, ctx) {
|
|
|
202
169
|
p.position = vecAdd(vecAdd(p.position, velDt), accelDt2);
|
|
203
170
|
}
|
|
204
171
|
// Compute new accelerations
|
|
172
|
+
const diff = vecZero(particles[0].position.length);
|
|
205
173
|
const newAccelerations = [];
|
|
206
|
-
for (let i = 0; i < particles.length; i++)
|
|
207
|
-
|
|
208
|
-
newAccelerations.push(vecScale(force, 1 / Math.max(0.01, particles[i].mass)));
|
|
209
|
-
}
|
|
174
|
+
for (let i = 0; i < particles.length; i++)
|
|
175
|
+
newAccelerations.push(computeAcceleration(i, particles, ctx, diff));
|
|
210
176
|
// Velocity update: vel += 0.5*(accel_old + accel_new)*dt
|
|
211
177
|
for (let i = 0; i < particles.length; i++) {
|
|
212
178
|
const p = particles[i];
|
|
@@ -221,10 +187,7 @@ function verletStep(particles, accelerations, ctx) {
|
|
|
221
187
|
accelerations[i] = newAccelerations[i];
|
|
222
188
|
}
|
|
223
189
|
}
|
|
224
|
-
/**
|
|
225
|
-
* Run the full physics simulation for one sleep cycle.
|
|
226
|
-
* Mutates particles in place. Returns simulation statistics.
|
|
227
|
-
*/
|
|
190
|
+
/** Full physics simulation for one sleep cycle; mutates particles in place and returns simulation statistics. */
|
|
228
191
|
export function simulate(particles, ctx) {
|
|
229
192
|
if (particles.length === 0) {
|
|
230
193
|
return {
|
|
@@ -236,10 +199,8 @@ export function simulate(particles, ctx) {
|
|
|
236
199
|
};
|
|
237
200
|
}
|
|
238
201
|
// Initial accelerations
|
|
239
|
-
const
|
|
240
|
-
|
|
241
|
-
return vecScale(force, 1 / Math.max(0.01, particles[i].mass));
|
|
242
|
-
});
|
|
202
|
+
const diff = vecZero(particles[0].position.length);
|
|
203
|
+
const accelerations = particles.map((_, i) => computeAcceleration(i, particles, ctx, diff));
|
|
243
204
|
// Run substeps
|
|
244
205
|
for (let step = 0; step < ctx.config.substeps; step++) {
|
|
245
206
|
verletStep(particles, accelerations, ctx);
|
|
@@ -267,9 +228,6 @@ export function simulate(particles, ctx) {
|
|
|
267
228
|
substepsRun: ctx.config.substeps,
|
|
268
229
|
};
|
|
269
230
|
}
|
|
270
|
-
// ---------------------------------------------------------------------------
|
|
271
|
-
// System energy (health monitoring)
|
|
272
|
-
// ---------------------------------------------------------------------------
|
|
273
231
|
export function computeSystemEnergy(particles, G_memory) {
|
|
274
232
|
let kinetic = 0;
|
|
275
233
|
let potential = 0;
|
|
@@ -285,18 +243,10 @@ export function computeSystemEnergy(particles, G_memory) {
|
|
|
285
243
|
}
|
|
286
244
|
return { kinetic, potential, total: kinetic + potential };
|
|
287
245
|
}
|
|
288
|
-
|
|
289
|
-
// Physics-based scoring (retrieval-time)
|
|
290
|
-
// ---------------------------------------------------------------------------
|
|
291
|
-
/**
|
|
292
|
-
* Score all particles against a query embedding using physics-based ranking.
|
|
293
|
-
* Does NOT modify particle positions (virtual force computation).
|
|
294
|
-
*/
|
|
246
|
+
/** Scores all particles against a query embedding; virtual force computation, so it does NOT modify particle positions. */
|
|
295
247
|
export function physicsScore(particles, queryEmbedding, config,
|
|
296
|
-
/** Cross-ingest-stable tie key per memoryId (typically the memory
|
|
297
|
-
*
|
|
298
|
-
* it ties fall to memoryId -- per-instance only, which lets the
|
|
299
|
-
* cluster_top_k amplification set vary across fresh ingests. */
|
|
248
|
+
/** Cross-ingest-stable tie key per memoryId (typically the memory content, from a caller with entries in scope); without it ties fall to memoryId,
|
|
249
|
+
* which is per-instance only and lets the cluster_top_k amplification set vary across fresh ingests. */
|
|
300
250
|
tieKeyOf) {
|
|
301
251
|
if (particles.length === 0 || queryEmbedding.length === 0)
|
|
302
252
|
return [];
|
|
@@ -311,10 +261,8 @@ tieKeyOf) {
|
|
|
311
261
|
finalScore: gravity + momentum,
|
|
312
262
|
};
|
|
313
263
|
});
|
|
314
|
-
//
|
|
315
|
-
//
|
|
316
|
-
// mutates scores), so it must be cross-ingest-stable when the caller
|
|
317
|
-
// supplies a content tie key. See compare.ts comparePhysicsResultsBy.
|
|
264
|
+
// Base-score order picks the cluster_top_k amplification SET (which mutates scores), so ties must be cross-ingest-stable
|
|
265
|
+
// when the caller supplies a content tie key (see comparePhysicsResultsBy in compare.ts).
|
|
318
266
|
const tie = tieKeyOf ? (r) => tieKeyOf(r.memoryId) : undefined;
|
|
319
267
|
results.sort(comparePhysicsResultsBy((r) => r.baseScore, tie));
|
|
320
268
|
// Pass 2: cluster amplification on top K
|
|
@@ -323,10 +271,7 @@ tieKeyOf) {
|
|
|
323
271
|
results.sort(comparePhysicsResultsBy((r) => r.finalScore, tie));
|
|
324
272
|
return results;
|
|
325
273
|
}
|
|
326
|
-
/**
|
|
327
|
-
* Cluster amplification: nearby high-scoring memories reinforce each other.
|
|
328
|
-
* Mutates results in place.
|
|
329
|
-
*/
|
|
274
|
+
/** Cluster amplification: nearby high-scoring memories reinforce each other; mutates results in place. */
|
|
330
275
|
function applyClusterAmplification(results, particles, config) {
|
|
331
276
|
const topK = Math.min(config.cluster_top_k, results.length);
|
|
332
277
|
if (topK < 2)
|
|
@@ -357,14 +302,7 @@ function applyClusterAmplification(results, particles, config) {
|
|
|
357
302
|
top[i].finalScore = top[i].baseScore * amplification;
|
|
358
303
|
}
|
|
359
304
|
}
|
|
360
|
-
|
|
361
|
-
// Outcome feedback (micro-nudge)
|
|
362
|
-
// ---------------------------------------------------------------------------
|
|
363
|
-
/**
|
|
364
|
-
* Nudge a particle's position toward (good outcome) or away from (bad outcome)
|
|
365
|
-
* the query embedding. Respects temperature: new memories respond more.
|
|
366
|
-
* Mutates particle in place.
|
|
367
|
-
*/
|
|
305
|
+
/** Nudges a particle toward (good outcome) or away from (bad outcome) the query embedding; new memories respond more (temperature). Mutates in place. */
|
|
368
306
|
export function applyOutcomeFeedback(particle, queryEmbedding, good, feedbackAlpha) {
|
|
369
307
|
if (particle.position.length === 0 || particle.position.length !== queryEmbedding.length)
|
|
370
308
|
return;
|
|
@@ -1,22 +1,5 @@
|
|
|
1
|
-
/**
|
|
2
|
-
*
|
|
3
|
-
*
|
|
4
|
-
* Resolution rules:
|
|
5
|
-
* - The nearest ancestor of cwd (including cwd itself) containing a `.hippo`
|
|
6
|
-
* directory is the project root; if none exists, the nearest ancestor
|
|
7
|
-
* containing `.git` (directory or worktree file).
|
|
8
|
-
* - The user home directory is NEVER a project, even though it contains the
|
|
9
|
-
* global store at `~/.hippo`. Reaching home or the temp root (inside home on Windows) ends the walk.
|
|
10
|
-
* - A directory with no marker anywhere up the walk is NOT a project: it
|
|
11
|
-
* resolves to the user-global identity (empty name), so memories written
|
|
12
|
-
* there stay injectable everywhere (matches pre-isolation behavior).
|
|
13
|
-
* - A project's name is its id: `.hippo-project.json` at the root, else the
|
|
14
|
-
* checkout's normalised `origin` remote, else the folder rule (legacyName),
|
|
15
|
-
* so two repos in folders of one name stay apart.
|
|
16
|
-
*
|
|
17
|
-
* NOTE: this module must stay free of imports from shared.ts / store.ts /
|
|
18
|
-
* api.ts so any of them can import it without creating a cycle.
|
|
19
|
-
*/
|
|
1
|
+
/** Project = nearest ancestor of cwd with `.hippo` (else `.git`); home and the temp root never are, and no marker means user-global (empty name).
|
|
2
|
+
* Name: `.hippo-project.json`, else the normalised `origin`, else the folder name. Must not import shared.ts / store.ts / api/index.ts (cycle). */
|
|
20
3
|
/** The project a working directory belongs to. */
|
|
21
4
|
export interface ProjectIdentity {
|
|
22
5
|
/** Realpath-resolved root directory of the project (the start dir when not in a project). */
|
|
@@ -25,31 +8,21 @@ export interface ProjectIdentity {
|
|
|
25
8
|
name: string;
|
|
26
9
|
/** The folder rule rows written before ids carry: the root's lowercased basename, or its repo's for a linked worktree with no `.hippo`. */
|
|
27
10
|
legacyName: string;
|
|
28
|
-
/** Every other name this root resolves to (the project file id, the origin remote even
|
|
11
|
+
/** Every other name this root resolves to (the project file id, the origin remote even
|
|
12
|
+
* with the rule off, legacyName), so rows written under an earlier id stay readable. */
|
|
29
13
|
aliases?: readonly string[];
|
|
30
14
|
/** True when the directory resolves to the user home working set. */
|
|
31
15
|
isHome: boolean;
|
|
32
16
|
}
|
|
33
|
-
/**
|
|
34
|
-
*
|
|
35
|
-
* not cached when either is set. stopDir bounds the upward walk so tests in a
|
|
36
|
-
* temp sandbox never escape it and hit the host machine's real markers.
|
|
37
|
-
*/
|
|
17
|
+
/** Options for resolveProjectIdentity. Both fields are test seams and disable caching;
|
|
18
|
+
* stopDir bounds the upward walk so tests in a temp sandbox never reach the host's real markers. */
|
|
38
19
|
export interface ResolveProjectIdentityOpts {
|
|
39
20
|
homeDir?: string;
|
|
40
21
|
stopDir?: string;
|
|
41
22
|
}
|
|
42
23
|
/** Clear the per-process identity cache and the remote switch it read (test seam). */
|
|
43
24
|
export declare function clearProjectIdentityCache(): void;
|
|
44
|
-
/**
|
|
45
|
-
* Canonicalize a path via realpath, falling back to path.resolve when the
|
|
46
|
-
* path does not exist or realpath fails (mirrors importers.ts).
|
|
47
|
-
*/
|
|
48
|
-
export declare function realpathOrResolve(p: string): string;
|
|
49
|
-
/**
|
|
50
|
-
* Resolve the project identity for a working directory.
|
|
51
|
-
* Defaults to process.cwd(). Results are cached per resolved input path.
|
|
52
|
-
*/
|
|
25
|
+
/** Resolves the project identity for a working directory (default process.cwd()); results are cached per resolved input path. */
|
|
53
26
|
export declare function resolveProjectIdentity(cwd?: string, opts?: ResolveProjectIdentityOpts): ProjectIdentity;
|
|
54
27
|
/** Nearest ancestor `.hippo` below home and the temp root (never projects; on Windows the temp root sits inside home).
|
|
55
28
|
* Everything is realpath'd so a symlinked temp root or cwd still matches its bound. */
|
|
@@ -62,44 +35,25 @@ export declare function projectId(project: ProjectRef): string;
|
|
|
62
35
|
export declare function projectNames(project: ProjectRef): readonly string[];
|
|
63
36
|
export declare const MAX_PROJECT_ALIASES = 10;
|
|
64
37
|
export declare const MCP_PROJECT_SCOPED_HEADER = "X-Hippo-Project-Scoped";
|
|
65
|
-
/** Refuses a caller's project that is blank (it would stamp user-global), past the caps, or unlike the resolver's ids: rows match
|
|
38
|
+
/** Refuses a caller's project that is blank (it would stamp user-global), past the caps, or unlike the resolver's ids: rows match
|
|
39
|
+
* verbatim, so a rewrite would split a project. Inner spaces pass, since a checkout with no remote is named by its folder. */
|
|
66
40
|
export declare function assertCallerProject(project: {
|
|
67
41
|
readonly name: string;
|
|
68
42
|
readonly aliases?: readonly string[];
|
|
69
43
|
}): void;
|
|
70
44
|
/** `origin_project IN (?, ...)` with one placeholder per name; an empty list matches nothing. */
|
|
71
45
|
export declare function originInSql(names: readonly string[], column?: string): string;
|
|
72
|
-
/**
|
|
73
|
-
*
|
|
74
|
-
* active project. An empty current id means the session is not in a project
|
|
75
|
-
* (home dir or markerless cwd) - everything is in scope there, matching
|
|
76
|
-
* pre-isolation behavior. NULL/undefined origin means no known project (a legacy
|
|
77
|
-
* row, or a shared-store write that named none) and is treated as cross-project
|
|
78
|
-
* (deny by default) - the safe direction for a security partition.
|
|
79
|
-
*/
|
|
46
|
+
/** Classifies a memory's origin_project against the active project. An empty current id (home or markerless cwd) puts everything in scope;
|
|
47
|
+
* NULL/undefined origin (legacy row, or a shared-store write naming none) counts as cross-project: deny by default for a security partition. */
|
|
80
48
|
export declare function classifyOriginProject(origin: string | null | undefined, current: ProjectRef): 'project' | 'user-global' | 'cross-project';
|
|
81
|
-
/**
|
|
82
|
-
*
|
|
83
|
-
* $HIPPO_HOME > $XDG_DATA_HOME/hippo > ~/.hippo. Lives here (leaf module) so
|
|
84
|
-
* db.ts migrations can use it without importing shared.ts (store.ts cycle);
|
|
85
|
-
* shared.getGlobalRoot delegates to this.
|
|
86
|
-
*/
|
|
49
|
+
/** The global Hippo store directory ($HIPPO_HOME > $XDG_DATA_HOME/hippo > ~/.hippo); getGlobalRoot (sharing/global-store.ts) returns it.
|
|
50
|
+
* Leaf module so store migrations can use it without importing sharing/ (store cycle). */
|
|
87
51
|
export declare function resolveGlobalRootDir(): string;
|
|
88
|
-
/**
|
|
89
|
-
*
|
|
90
|
-
* global store whose parent chain happens to contain `.git`/`.hippo`
|
|
91
|
-
* (git-managed HIPPO_HOME, dotfiles setups) still backfills as user-global
|
|
92
|
-
* ('') instead of being stamped with the surrounding repo's name - which
|
|
93
|
-
* would hide the user's entire global corpus from every project.
|
|
94
|
-
*/
|
|
52
|
+
/** True when `p` IS the global store root, so a global store whose parent chain contains `.git`/`.hippo` (git-managed HIPPO_HOME) still backfills as
|
|
53
|
+
* user-global ('') instead of being stamped with the surrounding repo's name, which would hide the global corpus from every project. */
|
|
95
54
|
export declare function isGlobalStoreRoot(p: string): boolean;
|
|
96
|
-
/**
|
|
97
|
-
*
|
|
98
|
-
* v39 migration's evidence rules: `shared:<project>:<ts>` and
|
|
99
|
-
* `promoted:<localRoot>` identify the owning project; the user home dir's
|
|
100
|
-
* basename maps to '' (user-global). Returns null when the source carries no
|
|
101
|
-
* origin evidence. Pure string logic - recorded paths may no longer exist.
|
|
102
|
-
*/
|
|
55
|
+
/** Parses a memory's origin from its provenance `source`: `shared:<project>:<ts>` and `promoted:<localRoot>` name the owning project; the home dir basename
|
|
56
|
+
* maps to '' (user-global). Returns null without origin evidence. Pure string logic, since recorded paths may no longer exist. */
|
|
103
57
|
export declare function originFromSource(source: string | null | undefined, homeName?: string): string | null;
|
|
104
58
|
/** The origin to stamp on a memory written from cwd: its project name, or '' (user-global, injectable everywhere) outside a project.
|
|
105
59
|
* NULL means no known project: a legacy row with no evidence, or a write to a shared store that named none; ambient context treats it as deny. */
|