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
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
/** The one call this file makes on a Transformers.js feature-extraction pipeline, and the part of its tensor it
|
|
1
|
+
/** The one call this file makes on a Transformers.js feature-extraction pipeline, and the part of its tensor it
|
|
2
|
+
* reads. */
|
|
2
3
|
interface EmbeddingPipeline {
|
|
3
4
|
(input: string, options: {
|
|
4
5
|
pooling: 'cls' | 'mean';
|
|
@@ -25,7 +26,8 @@ interface TransformersModule {
|
|
|
25
26
|
};
|
|
26
27
|
}
|
|
27
28
|
export declare const DEFAULT_EMBEDDING_MODEL = "Xenova/all-MiniLM-L6-v2";
|
|
28
|
-
/** BGE was trained with CLS pooling; everything else gets mean, the sentence-transformers default, since CLS
|
|
29
|
+
/** BGE was trained with CLS pooling; everything else gets mean, the sentence-transformers default, since CLS
|
|
30
|
+
* degrades mean-trained models. */
|
|
29
31
|
export declare function poolingFor(model: string): 'cls' | 'mean';
|
|
30
32
|
/** `query` is search input, `passage` is a document being indexed; no role means no prefix on any model. */
|
|
31
33
|
export type EmbeddingRole = 'query' | 'passage';
|
|
@@ -44,7 +46,8 @@ export interface LocalTransformers {
|
|
|
44
46
|
export interface LocalEmbedder {
|
|
45
47
|
isAvailable(): boolean;
|
|
46
48
|
/** Throws, with the reason, when the model's pipeline cannot load: a provider-level failure, not a per-item skip.
|
|
47
|
-
* `signal` ends the wait, never the load, and only once the load is downloading: a load from disk ends soon on its
|
|
49
|
+
* `signal` ends the wait, never the load, and only once the load is downloading: a load from disk ends soon on its
|
|
50
|
+
* own, a download may not. */
|
|
48
51
|
requirePipeline(model: string, signal?: AbortSignal): Promise<void>;
|
|
49
52
|
/** `text`'s vector, or `[]` when the model is missing or fails; `role` adds e5-style prefixes. */
|
|
50
53
|
embed(text: string, model: string, role?: EmbeddingRole): Promise<number[]>;
|
|
@@ -56,7 +59,8 @@ export declare const sharedLocalEmbedder: LocalEmbedder;
|
|
|
56
59
|
/** Check (synchronously) if @xenova/transformers or @huggingface/transformers is installed. */
|
|
57
60
|
export declare function isEmbeddingAvailable(): boolean;
|
|
58
61
|
export declare function resolveEmbeddingModel(hippoRoot: string, explicitModel?: string): string;
|
|
59
|
-
/** Embeds `text` with the local model, or returns `[]` when Transformers.js is missing or fails; `role` adds
|
|
62
|
+
/** Embeds `text` with the local model, or returns `[]` when Transformers.js is missing or fails; `role` adds
|
|
63
|
+
* e5-style prefixes. */
|
|
60
64
|
export declare function getEmbedding(text: string, model?: string, role?: EmbeddingRole): Promise<number[]>;
|
|
61
65
|
export {};
|
|
62
66
|
//# sourceMappingURL=local.d.ts.map
|
package/dist/embeddings/local.js
CHANGED
|
@@ -7,7 +7,8 @@ import { loadConfig } from '../core/config.js';
|
|
|
7
7
|
import { errorFields, errorMessage, log } from '../util/log.js';
|
|
8
8
|
import { createModelLoads, importTransformers, MODEL_LOAD_POLICY, resolveTransformersPackage } from './transformers.js';
|
|
9
9
|
export const DEFAULT_EMBEDDING_MODEL = 'Xenova/all-MiniLM-L6-v2';
|
|
10
|
-
/** BGE was trained with CLS pooling; everything else gets mean, the sentence-transformers default, since CLS
|
|
10
|
+
/** BGE was trained with CLS pooling; everything else gets mean, the sentence-transformers default, since CLS
|
|
11
|
+
* degrades mean-trained models. */
|
|
11
12
|
export function poolingFor(model) {
|
|
12
13
|
return /\bbge\b/i.test(model) ? 'cls' : 'mean';
|
|
13
14
|
}
|
|
@@ -57,7 +58,8 @@ function warnLoadFailure(model, err) {
|
|
|
57
58
|
}
|
|
58
59
|
/** The model's pipeline; throws the reason it cannot load. */
|
|
59
60
|
async function createPipeline(transformers, model, gates) {
|
|
60
|
-
// The package is an optional peer, so the dynamic import is typed by what this file reads; a missing export throws
|
|
61
|
+
// The package is an optional peer, so the dynamic import is typed by what this file reads; a missing export throws
|
|
62
|
+
// below.
|
|
61
63
|
const imported = await transformers.load();
|
|
62
64
|
if (!imported)
|
|
63
65
|
throw new Error('no transformers package is installed');
|
|
@@ -82,7 +84,8 @@ async function createPipeline(transformers, model, gates) {
|
|
|
82
84
|
gates.delete(model);
|
|
83
85
|
}
|
|
84
86
|
}
|
|
85
|
-
/** Whether the load will download: remote models are allowed and no folder the package reads holds the model's ONNX
|
|
87
|
+
/** Whether the load will download: remote models are allowed and no folder the package reads holds the model's ONNX
|
|
88
|
+
* files. */
|
|
86
89
|
function fetchesWeights(env, model) {
|
|
87
90
|
if (env?.allowRemoteModels === false)
|
|
88
91
|
return false;
|
|
@@ -135,11 +138,12 @@ export function resolveEmbeddingModel(hippoRoot, explicitModel) {
|
|
|
135
138
|
return configured;
|
|
136
139
|
}
|
|
137
140
|
catch (err) {
|
|
138
|
-
log.warn(`embedding model config unreadable, using the default model: ${errorMessage(err)}
|
|
141
|
+
log.warn(`embedding model config unreadable, using the default model: ${errorMessage(err)}`, errorFields(err));
|
|
139
142
|
}
|
|
140
143
|
return DEFAULT_EMBEDDING_MODEL;
|
|
141
144
|
}
|
|
142
|
-
/** Embeds `text` with the local model, or returns `[]` when Transformers.js is missing or fails; `role` adds
|
|
145
|
+
/** Embeds `text` with the local model, or returns `[]` when Transformers.js is missing or fails; `role` adds
|
|
146
|
+
* e5-style prefixes. */
|
|
143
147
|
export function getEmbedding(text, model = DEFAULT_EMBEDDING_MODEL, role) {
|
|
144
148
|
return sharedLocalEmbedder.embed(text, model, role);
|
|
145
149
|
}
|
|
@@ -1,18 +1,23 @@
|
|
|
1
|
-
/** Pluggable embedding providers; local `@huggingface/transformers` is the
|
|
2
|
-
*
|
|
3
|
-
* `
|
|
1
|
+
/** Pluggable embedding providers; local `@huggingface/transformers` is the
|
|
2
|
+
* zero-dependency default, OpenAI / Voyage / Cohere are opt-in via native
|
|
3
|
+
* `fetch`. Local `id` is the bare model string, API `id` is `${kind}:${model}`;
|
|
4
|
+
* the stored identity adds `#t<N>` (`embeddingIndexIdentity`), so changes
|
|
5
|
+
* reindex. `embed()` MAY throw on hard transport/auth failure so a reindex
|
|
6
|
+
* aborts atomically; hot paths wrap it and fall back to BM25. */
|
|
4
7
|
import { type EmbeddingRole, type LocalTransformers } from './local.js';
|
|
5
8
|
export type EmbeddingProviderKind = 'local' | 'openai' | 'voyage' | 'cohere';
|
|
6
9
|
export declare const API_PROVIDER_KINDS: readonly EmbeddingProviderKind[];
|
|
7
10
|
export interface EmbedCallOptions {
|
|
8
|
-
/** Ends the whole call when it aborts, every batch and retry included. The local provider stops waiting only on a
|
|
11
|
+
/** Ends the whole call when it aborts, every batch and retry included. The local provider stops waiting only on a
|
|
12
|
+
* model download,
|
|
9
13
|
* since nothing stops a load from disk or an in-process inference. */
|
|
10
14
|
signal?: AbortSignal;
|
|
11
15
|
}
|
|
12
16
|
export interface EmbeddingProvider {
|
|
13
17
|
readonly kind: EmbeddingProviderKind;
|
|
14
18
|
readonly model: string;
|
|
15
|
-
/** Identity recorded in DB meta to drive reindex-on-change:
|
|
19
|
+
/** Identity recorded in DB meta to drive reindex-on-change:
|
|
20
|
+
* bare model string for local, `${kind}:${model}` for api. */
|
|
16
21
|
readonly id: string;
|
|
17
22
|
/** Known fixed output dimension, if any (undefined for local / unknown). */
|
|
18
23
|
readonly dimensions?: number;
|
|
@@ -29,15 +34,19 @@ export interface ResolveProviderOptions {
|
|
|
29
34
|
model?: string;
|
|
30
35
|
/** Explicit provider override (mainly for tests). */
|
|
31
36
|
provider?: EmbeddingProviderKind;
|
|
32
|
-
/** The Transformers.js package a local provider loads from, with
|
|
37
|
+
/** The Transformers.js package a local provider loads from, with
|
|
38
|
+
* its own models; the process's shared embedder when unset. */
|
|
33
39
|
transformers?: LocalTransformers;
|
|
34
40
|
}
|
|
35
|
-
/** Build the active embedding provider from config (or an explicit override). A missing key never throws here (it
|
|
41
|
+
/** Build the active embedding provider from config (or an explicit override). A missing key never throws here (it
|
|
42
|
+
* surfaces via `isAvailable()`);
|
|
36
43
|
* only an invalid config (e.g. insecure apiBaseUrl) throws, deliberately loud, so hot-path callers wrap it. */
|
|
37
44
|
export declare function resolveEmbeddingProvider(hippoRoot: string, opts?: ResolveProviderOptions): EmbeddingProvider;
|
|
38
|
-
/** The reindex identity for the active provider; use it, NOT
|
|
39
|
-
*
|
|
45
|
+
/** The reindex identity for the active provider; use it, NOT
|
|
46
|
+
* resolveEmbeddingModel, wherever `embeddingModelRequiresReindex`
|
|
47
|
+
* / stored-model comparisons happen. */
|
|
40
48
|
export declare function resolveEmbeddingIdentity(hippoRoot: string, opts?: ResolveProviderOptions): string;
|
|
41
|
-
/** Provider-aware availability for a store (local: dependency installed; api: key present); use where the decision
|
|
49
|
+
/** Provider-aware availability for a store (local: dependency installed; api: key present); use where the decision
|
|
50
|
+
* to embed is made. */
|
|
42
51
|
export declare function isEmbeddingConfigured(hippoRoot: string): boolean;
|
|
43
52
|
//# sourceMappingURL=provider.d.ts.map
|
|
@@ -1,10 +1,13 @@
|
|
|
1
|
-
/** Pluggable embedding providers; local `@huggingface/transformers` is the
|
|
2
|
-
*
|
|
3
|
-
* `
|
|
1
|
+
/** Pluggable embedding providers; local `@huggingface/transformers` is the
|
|
2
|
+
* zero-dependency default, OpenAI / Voyage / Cohere are opt-in via native
|
|
3
|
+
* `fetch`. Local `id` is the bare model string, API `id` is `${kind}:${model}`;
|
|
4
|
+
* the stored identity adds `#t<N>` (`embeddingIndexIdentity`), so changes
|
|
5
|
+
* reindex. `embed()` MAY throw on hard transport/auth failure so a reindex
|
|
6
|
+
* aborts atomically; hot paths wrap it and fall back to BM25. */
|
|
4
7
|
import { envByName } from '../util/env.js';
|
|
5
8
|
import { createLocalEmbedder, resolveEmbeddingModel, sharedLocalEmbedder, DEFAULT_EMBEDDING_MODEL, } from './local.js';
|
|
6
9
|
import { loadConfig } from '../core/config.js';
|
|
7
|
-
import { errorMessage, log } from '../util/log.js';
|
|
10
|
+
import { errorMessage, log, errorFields } from '../util/log.js';
|
|
8
11
|
import { redactSecretsStrict } from '../util/secret-detect.js';
|
|
9
12
|
import { fetchWithRetry } from '../util/http-retry.js';
|
|
10
13
|
import { readCappedJson, readCappedText } from '../util/capped-json.js';
|
|
@@ -41,7 +44,8 @@ class LocalEmbeddingProvider {
|
|
|
41
44
|
return this.enabled && this.embedder.isAvailable();
|
|
42
45
|
}
|
|
43
46
|
async embed(texts, role, call = {}) {
|
|
44
|
-
// A model that cannot load fails the call, as an API outage
|
|
47
|
+
// A model that cannot load fails the call, as an API outage
|
|
48
|
+
// does; items then run one at a time on the shared pipeline.
|
|
45
49
|
if (texts.length > 0)
|
|
46
50
|
await this.embedder.requirePipeline(this.model, call.signal);
|
|
47
51
|
const out = [];
|
|
@@ -97,7 +101,8 @@ const API_PROVIDER_SPECS = {
|
|
|
97
101
|
}),
|
|
98
102
|
extractVectors: (json) => {
|
|
99
103
|
// Cohere v2 shape: { embeddings: { float: number[][] } }
|
|
100
|
-
// SAFETY: documented v2 envelope; embedChunk validates the vectors afterward, so a malformed response degrades to
|
|
104
|
+
// SAFETY: documented v2 envelope; embedChunk validates the vectors afterward, so a malformed response degrades to
|
|
105
|
+
// [] here and throws there.
|
|
101
106
|
const emb = json.embeddings;
|
|
102
107
|
return emb?.float ?? [];
|
|
103
108
|
},
|
|
@@ -170,7 +175,8 @@ class ApiEmbeddingProvider {
|
|
|
170
175
|
const resp = await this.postChunk(chunk, key, role, signal);
|
|
171
176
|
const json = await this.responseJson(resp, key, chunk.length);
|
|
172
177
|
const vectors = spec.extractVectors(json);
|
|
173
|
-
// A 200 with the wrong vector count (or any empty/malformed vector) is a provider contract violation, not a
|
|
178
|
+
// A 200 with the wrong vector count (or any empty/malformed vector) is a provider contract violation, not a
|
|
179
|
+
// per-item miss:
|
|
174
180
|
// throw so a reindex aborts atomically and the explicit backfill surfaces it, instead of saving []-padded rows.
|
|
175
181
|
if (vectors.length !== chunk.length) {
|
|
176
182
|
throw new Error(redact(`${this.kind} embeddings returned ${vectors.length} vectors for ${chunk.length} inputs`, key));
|
|
@@ -196,14 +202,17 @@ class ApiEmbeddingProvider {
|
|
|
196
202
|
signal,
|
|
197
203
|
}, {
|
|
198
204
|
timeoutMs: REQUEST_TIMEOUT_MS,
|
|
199
|
-
// Embedding the same text twice changes nothing on the far side,
|
|
205
|
+
// Embedding the same text twice changes nothing on the far side,
|
|
206
|
+
// so a dropped connection or a stalled attempt is replayed.
|
|
200
207
|
retryTransport: true,
|
|
201
208
|
maxDelayMs: signal ? DEADLINE_RETRY_WAIT_CAP_MS : undefined,
|
|
202
209
|
});
|
|
203
210
|
}
|
|
204
211
|
catch (err) {
|
|
205
212
|
const msg = errorMessage(err);
|
|
206
|
-
throw new Error(redact(`embedding request to ${this.kind} failed: ${msg}`, key), {
|
|
213
|
+
throw new Error(redact(`embedding request to ${this.kind} failed: ${msg}`, key), {
|
|
214
|
+
cause: redactedCause(err, key),
|
|
215
|
+
});
|
|
207
216
|
}
|
|
208
217
|
}
|
|
209
218
|
/** The body of an OK reply; any other status, or a body that is not JSON, throws with the key cut out. */
|
|
@@ -214,7 +223,8 @@ class ApiEmbeddingProvider {
|
|
|
214
223
|
detail = await readCappedText(resp, ERROR_BODY_MAX_BYTES);
|
|
215
224
|
}
|
|
216
225
|
catch (err) {
|
|
217
|
-
|
|
226
|
+
// The error thrown below already carries the status; the body is only extra detail.
|
|
227
|
+
log.debug(`${this.kind} embeddings error body unreadable: ${errorMessage(err)}`, errorFields(err));
|
|
218
228
|
}
|
|
219
229
|
throw new Error(redact(`${this.kind} embeddings HTTP ${resp.status}: ${detail.slice(0, ERROR_DETAIL_CHARS)}`, key));
|
|
220
230
|
}
|
|
@@ -224,7 +234,7 @@ class ApiEmbeddingProvider {
|
|
|
224
234
|
catch (err) {
|
|
225
235
|
const msg = errorMessage(err);
|
|
226
236
|
throw new Error(redact(`${this.kind} embeddings returned invalid JSON: ${msg}`, key), {
|
|
227
|
-
cause: redactedCause(err instanceof Error && err.cause ? err.cause : err, key)
|
|
237
|
+
cause: redactedCause(err instanceof Error && err.cause ? err.cause : err, key),
|
|
228
238
|
});
|
|
229
239
|
}
|
|
230
240
|
}
|
|
@@ -248,7 +258,8 @@ function validateBaseUrl(url, fallback) {
|
|
|
248
258
|
}
|
|
249
259
|
return candidate;
|
|
250
260
|
}
|
|
251
|
-
/** Build the active embedding provider from config (or an explicit override). A missing key never throws here (it
|
|
261
|
+
/** Build the active embedding provider from config (or an explicit override). A missing key never throws here (it
|
|
262
|
+
* surfaces via `isAvailable()`);
|
|
252
263
|
* only an invalid config (e.g. insecure apiBaseUrl) throws, deliberately loud, so hot-path callers wrap it. */
|
|
253
264
|
export function resolveEmbeddingProvider(hippoRoot, opts = {}) {
|
|
254
265
|
const cfg = loadConfig(hippoRoot).embeddings;
|
|
@@ -263,7 +274,8 @@ export function resolveEmbeddingProvider(hippoRoot, opts = {}) {
|
|
|
263
274
|
if (!isApiProviderKind(requested)) {
|
|
264
275
|
// Fail loud on a typo'd provider rather than silently using local (which
|
|
265
276
|
// would reindex with the local model and clobber the intended identity).
|
|
266
|
-
throw new Error(`Unknown embeddings.provider '${requested}'. Valid values: local,
|
|
277
|
+
throw new Error(`Unknown embeddings.provider '${requested}'. Valid values: local, ` +
|
|
278
|
+
`${API_PROVIDER_KINDS.filter((k) => k !== 'local').join(', ')}.`);
|
|
267
279
|
}
|
|
268
280
|
const kind = requested;
|
|
269
281
|
const spec = API_PROVIDER_SPECS[kind];
|
|
@@ -277,19 +289,21 @@ export function resolveEmbeddingProvider(hippoRoot, opts = {}) {
|
|
|
277
289
|
: DEFAULT_API_BATCH_SIZE;
|
|
278
290
|
return new ApiEmbeddingProvider(kind, model, baseUrl, batchSize, enabled);
|
|
279
291
|
}
|
|
280
|
-
/** The reindex identity for the active provider; use it, NOT
|
|
281
|
-
*
|
|
292
|
+
/** The reindex identity for the active provider; use it, NOT
|
|
293
|
+
* resolveEmbeddingModel, wherever `embeddingModelRequiresReindex`
|
|
294
|
+
* / stored-model comparisons happen. */
|
|
282
295
|
export function resolveEmbeddingIdentity(hippoRoot, opts = {}) {
|
|
283
296
|
return resolveEmbeddingProvider(hippoRoot, opts).id;
|
|
284
297
|
}
|
|
285
|
-
/** Provider-aware availability for a store (local: dependency installed; api: key present); use where the decision
|
|
298
|
+
/** Provider-aware availability for a store (local: dependency installed; api: key present); use where the decision
|
|
299
|
+
* to embed is made. */
|
|
286
300
|
export function isEmbeddingConfigured(hippoRoot) {
|
|
287
301
|
try {
|
|
288
302
|
return resolveEmbeddingProvider(hippoRoot).isAvailable();
|
|
289
303
|
}
|
|
290
304
|
catch (err) {
|
|
291
305
|
// An invalid embedding config must not crash the best-effort ingestion guard, so it reads as not configured.
|
|
292
|
-
log.
|
|
306
|
+
log.warnThenDebug(`embedding-config-unusable:${hippoRoot}`, `embedding config unusable: ${errorMessage(err)}`, errorFields(err));
|
|
293
307
|
return false;
|
|
294
308
|
}
|
|
295
309
|
}
|
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
export interface TransformersPackage {
|
|
2
2
|
readonly name: string;
|
|
3
|
-
/**
|
|
3
|
+
/**
|
|
4
|
+
* The ESM entry; a require-style import picks the CommonJS build and puts a second copy of the library, with its own
|
|
5
|
+
* ONNX sessions, in the process.
|
|
6
|
+
*/
|
|
4
7
|
readonly url: string;
|
|
5
8
|
}
|
|
6
9
|
/** The installed package to import, or null when neither is installed. */
|
|
@@ -11,16 +14,25 @@ export declare function importTransformers<M>(): Promise<{
|
|
|
11
14
|
readonly mod: M;
|
|
12
15
|
} | null>;
|
|
13
16
|
export interface ModelLoadPolicy {
|
|
14
|
-
/**
|
|
17
|
+
/**
|
|
18
|
+
* How long one load may run before it counts as failed; nothing can cancel it, so it keeps running and a late model
|
|
19
|
+
* is still kept.
|
|
20
|
+
*/
|
|
15
21
|
readonly timeoutMs: number;
|
|
16
22
|
/** How long a failure is answered from memory before the next call loads again. */
|
|
17
23
|
readonly backoffMs: number;
|
|
18
24
|
}
|
|
19
25
|
export declare const MODEL_LOAD_POLICY: ModelLoadPolicy;
|
|
20
26
|
export interface ModelLoads<T> {
|
|
21
|
-
/**
|
|
27
|
+
/**
|
|
28
|
+
* The model under `key`: the loaded one, the load in flight, the failure inside its backoff window, or a new
|
|
29
|
+
* `start()`.
|
|
30
|
+
*/
|
|
22
31
|
load(key: string, start: () => Promise<T>): Promise<T>;
|
|
23
32
|
}
|
|
24
|
-
/**
|
|
33
|
+
/**
|
|
34
|
+
* One load per key at a time, bounded by the policy's timeout; `onFailure` hears each failed attempt, so once per
|
|
35
|
+
* backoff window.
|
|
36
|
+
*/
|
|
25
37
|
export declare function createModelLoads<T>(policy: ModelLoadPolicy, onFailure?: (key: string, err: Error) => void): ModelLoads<T>;
|
|
26
38
|
//# sourceMappingURL=transformers.d.ts.map
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
// The optional Transformers.js package, and a bounded load of a model from it, shared by the local embedder and the
|
|
1
|
+
// The optional Transformers.js package, and a bounded load of a model from it, shared by the local embedder and the
|
|
2
|
+
// cross-encoder.
|
|
2
3
|
import { MINUTE_MS } from '../util/time.js';
|
|
3
4
|
import { createRequire } from 'node:module';
|
|
4
5
|
import { pathToFileURL } from 'node:url';
|
|
@@ -21,7 +22,8 @@ function entryUrl(name) {
|
|
|
21
22
|
return import.meta.resolve(name);
|
|
22
23
|
}
|
|
23
24
|
catch {
|
|
24
|
-
// import.meta.resolve is missing under some module runners (vitest's included), so the require-based resolve stands
|
|
25
|
+
// import.meta.resolve is missing under some module runners (vitest's included), so the require-based resolve stands
|
|
26
|
+
// in there.
|
|
25
27
|
try {
|
|
26
28
|
return pathToFileURL(_require.resolve(name)).href;
|
|
27
29
|
}
|
|
@@ -41,30 +43,43 @@ export async function importTransformers() {
|
|
|
41
43
|
catch (err) {
|
|
42
44
|
// A Node error's code (ERR_MODULE_NOT_FOUND and the like) says more than its message alone.
|
|
43
45
|
const code = errorCode(err);
|
|
44
|
-
throw new Error(`transformers import failed (${pkg.name}): ${code ? `${code} ` : ''}${errorMessage(err)}`, {
|
|
46
|
+
throw new Error(`transformers import failed (${pkg.name}): ${code ? `${code} ` : ''}${errorMessage(err)}`, {
|
|
47
|
+
cause: err,
|
|
48
|
+
});
|
|
45
49
|
}
|
|
46
50
|
}
|
|
47
51
|
// A quantized MiniLM is about 23 MB, so two minutes is a 1.5 Mbit/s link; a load from disk takes about a second.
|
|
48
52
|
// The backoff matches the reranker outage warning's repeat window, so each window has one attempt and one warning.
|
|
49
53
|
export const MODEL_LOAD_POLICY = { timeoutMs: 2 * MINUTE_MS, backoffMs: 5 * MINUTE_MS };
|
|
50
|
-
/**
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
const failed = new Map();
|
|
55
|
-
const attempt = (key, start) => new Promise((resolve, reject) => {
|
|
56
|
-
const timer = setTimeout(() => reject(new Error(`${key} did not load within ${policy.timeoutMs / 1000} s`)), policy.timeoutMs);
|
|
54
|
+
/** Runs `start` under a timeout; a model that arrives after the timeout is still handed to `onLoaded`. */
|
|
55
|
+
function loadWithTimeout(key, start, timeoutMs, onLoaded) {
|
|
56
|
+
return new Promise((resolve, reject) => {
|
|
57
|
+
const timer = setTimeout(() => reject(new Error(`${key} did not load within ${timeoutMs / 1000} s`)), timeoutMs);
|
|
57
58
|
timer.unref();
|
|
58
|
-
Promise.resolve()
|
|
59
|
+
Promise.resolve()
|
|
60
|
+
.then(start)
|
|
61
|
+
.then((model) => {
|
|
59
62
|
clearTimeout(timer);
|
|
60
|
-
|
|
61
|
-
failed.delete(key);
|
|
63
|
+
onLoaded(model);
|
|
62
64
|
resolve(model);
|
|
63
65
|
}, (err) => {
|
|
64
66
|
clearTimeout(timer);
|
|
65
67
|
reject(err instanceof Error ? err : new Error(errorMessage(err)));
|
|
66
68
|
});
|
|
67
69
|
});
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* One load per key at a time, bounded by the policy's timeout; `onFailure` hears each failed attempt, so once per
|
|
73
|
+
* backoff window.
|
|
74
|
+
*/
|
|
75
|
+
export function createModelLoads(policy, onFailure) {
|
|
76
|
+
const loaded = new Map();
|
|
77
|
+
const inFlight = new Map();
|
|
78
|
+
const failed = new Map();
|
|
79
|
+
const attempt = (key, start) => loadWithTimeout(key, start, policy.timeoutMs, (model) => {
|
|
80
|
+
loaded.set(key, model);
|
|
81
|
+
failed.delete(key);
|
|
82
|
+
});
|
|
68
83
|
return {
|
|
69
84
|
load(key, start) {
|
|
70
85
|
const model = loaded.get(key);
|
|
@@ -76,11 +91,13 @@ export function createModelLoads(policy, onFailure) {
|
|
|
76
91
|
const failure = failed.get(key);
|
|
77
92
|
if (failure && Date.now() < failure.until)
|
|
78
93
|
return Promise.reject(failure.error);
|
|
79
|
-
const next = attempt(key, start)
|
|
94
|
+
const next = attempt(key, start)
|
|
95
|
+
.catch((err) => {
|
|
80
96
|
failed.set(key, { error: err, until: Date.now() + policy.backoffMs });
|
|
81
97
|
onFailure?.(key, err);
|
|
82
98
|
throw err;
|
|
83
|
-
})
|
|
99
|
+
})
|
|
100
|
+
.finally(() => inFlight.delete(key));
|
|
84
101
|
inFlight.set(key, next);
|
|
85
102
|
return next;
|
|
86
103
|
},
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export { installJsonHooks, resolveJsonHookPaths, uninstallJsonHooks, writeSettingsFile, type InstallResult, type JsonHookPaths } from '../hooks/json-hooks.js';
|
|
1
|
+
export { installJsonHooks, resolveJsonHookPaths, uninstallJsonHooks, writeSettingsFile, type InstallResult, type JsonHookPaths, } from '../hooks/json-hooks.js';
|
|
2
2
|
export { readJsonFile } from '../util/json.js';
|
|
3
3
|
//# sourceMappingURL=json-hooks.d.ts.map
|
package/dist/entry/json-hooks.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
// The hippo-memory/json-hooks subpath: only what the changelog publishes, so the module's other exports stay internal.
|
|
2
|
-
export { installJsonHooks, resolveJsonHookPaths, uninstallJsonHooks, writeSettingsFile } from '../hooks/json-hooks.js';
|
|
2
|
+
export { installJsonHooks, resolveJsonHookPaths, uninstallJsonHooks, writeSettingsFile, } from '../hooks/json-hooks.js';
|
|
3
3
|
export { readJsonFile } from '../util/json.js';
|
|
4
4
|
//# sourceMappingURL=json-hooks.js.map
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
-
// The hippo-memory/project-identity subpath: only what the changelog publishes, so the module's other exports stay
|
|
1
|
+
// The hippo-memory/project-identity subpath: only what the changelog publishes, so the module's other exports stay
|
|
2
|
+
// internal.
|
|
2
3
|
export { MAX_PROJECT_ALIASES, MCP_PROJECT_SCOPED_HEADER, resolveProjectIdentity } from '../core/project-identity.js';
|
|
3
4
|
//# sourceMappingURL=project-identity.js.map
|
|
@@ -3,5 +3,5 @@ export { scrubForSharing } from '../capture/share-scrub.js';
|
|
|
3
3
|
export { transcriptWorkingState, WORKING_STATE_CAPS } from '../capture/working-state.js';
|
|
4
4
|
export { lessonFromFailure, failureReport, type FailureReport } from '../capture/failure-reading.js';
|
|
5
5
|
export { collectHandoffEvidence } from '../capture/handoff-evidence.js';
|
|
6
|
-
export { compactSummaryBody, parseCompactionItems, COMPACTION_ITEM_MAX_CHARS, COMPACTION_ITEM_ROW_CAP } from '../util/compaction-items.js';
|
|
6
|
+
export { compactSummaryBody, parseCompactionItems, COMPACTION_ITEM_MAX_CHARS, COMPACTION_ITEM_ROW_CAP, } from '../util/compaction-items.js';
|
|
7
7
|
//# sourceMappingURL=session-text.d.ts.map
|
|
@@ -5,5 +5,5 @@ export { scrubForSharing } from '../capture/share-scrub.js';
|
|
|
5
5
|
export { transcriptWorkingState, WORKING_STATE_CAPS } from '../capture/working-state.js';
|
|
6
6
|
export { lessonFromFailure, failureReport } from '../capture/failure-reading.js';
|
|
7
7
|
export { collectHandoffEvidence } from '../capture/handoff-evidence.js';
|
|
8
|
-
export { compactSummaryBody, parseCompactionItems, COMPACTION_ITEM_MAX_CHARS, COMPACTION_ITEM_ROW_CAP } from '../util/compaction-items.js';
|
|
8
|
+
export { compactSummaryBody, parseCompactionItems, COMPACTION_ITEM_MAX_CHARS, COMPACTION_ITEM_ROW_CAP, } from '../util/compaction-items.js';
|
|
9
9
|
//# sourceMappingURL=session-text.js.map
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { closeHippoDb as closeHandle, type DatabaseSyncLike as HandleType, openHippoDb as openHandle, openHippoDbReadOnly as openHandleReadOnly } from '../db/index.js';
|
|
2
|
+
/** @deprecated The package root stops exporting this in 3.0. */
|
|
3
|
+
export declare const openHippoDb: typeof openHandle;
|
|
4
|
+
/** @deprecated The package root stops exporting this in 3.0. */
|
|
5
|
+
export declare const openHippoDbReadOnly: typeof openHandleReadOnly;
|
|
6
|
+
/** @deprecated The package root stops exporting this in 3.0. */
|
|
7
|
+
export declare const closeHippoDb: typeof closeHandle;
|
|
8
|
+
/** @deprecated The package root stops exporting this in 3.0. */
|
|
9
|
+
export type DatabaseSyncLike = HandleType;
|
|
10
|
+
//# sourceMappingURL=sqlite-handles.d.ts.map
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
// The SQLite handle helpers the 2.x package root still exports; the root drops them in 3.0.
|
|
2
|
+
import { closeHippoDb as closeHandle, openHippoDb as openHandle, openHippoDbReadOnly as openHandleReadOnly, } from '../db/index.js';
|
|
3
|
+
/** @deprecated The package root stops exporting this in 3.0. */
|
|
4
|
+
export const openHippoDb = openHandle;
|
|
5
|
+
/** @deprecated The package root stops exporting this in 3.0. */
|
|
6
|
+
export const openHippoDbReadOnly = openHandleReadOnly;
|
|
7
|
+
/** @deprecated The package root stops exporting this in 3.0. */
|
|
8
|
+
export const closeHippoDb = closeHandle;
|
|
9
|
+
//# sourceMappingURL=sqlite-handles.js.map
|
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
export { hasGroup, sqliteStore, type AmbientCandidateRequest, type ContextReads, type EntryRemoval, type EntryTarget, type EntryWrite, type EntryWrites, type HippoStore, type KeyAudit, type KeyListQuery, type KeyMint, type KeyRevoke, type KeyWrites, type LastRecall, type LastRecallWrites, type OutcomeWrite, type RawArchive, type RecallSearchArgs, type RecallWrites, type SelfKeyMint, type StoreGroup, type StoreGroups, type SupersedeWrite, type VectorReads, type VectorBackfillQuery, type VectorRowWrite, type VectorWrite, type VectorWriteResult, type VectorWrites, } from '../store/index.js';
|
|
1
|
+
export { hasGroup, narrowStore, sqliteStore, type AmbientCandidateRequest, type CardCreate, type Cards, type Conflicts, type ContextReads, type Dormant, type DormantRestoreRequest, type EntryRemoval, type EntryTarget, type EntryWrite, type EntryWrites, type Goals, type HippoStore, type KeyAudit, type KeyListQuery, type KeyMint, type KeyRevoke, type KeyWrites, type LastRecall, type LastRecallWrites, type OutcomeWrite, type RawArchive, type RecallSearchArgs, type RecallWrites, type Reports, type SelfKeyMint, type Sessions, type StoreGroup, type StoreGroups, type StoreWith, type SupersedeWrite, type VectorReads, type VectorBackfillQuery, type VectorRowWrite, type VectorWrite, type VectorWriteResult, type VectorWrites, type WorkingMemoryFilter, type WorkingMemoryPush, } from '../store/index.js';
|
|
2
2
|
export { entryAfterOutcome } from '../core/memory.js';
|
|
3
3
|
export { rejectionDigest } from '../store/rejection.js';
|
|
4
4
|
export { RejectedValueError } from '../core/api-errors.js';
|
|
5
5
|
export { ownScopeTouches } from '../core/recall-scope.js';
|
|
6
|
-
export type { HippoDbContext } from '../api/types.js';
|
|
6
|
+
export type { ContextWith, HippoDbContext } from '../api/types.js';
|
|
7
7
|
export type { ApiKeyListItem, ApiKeyListRow, ApiKeyRecord, ListApiKeysOpts, NewApiKey } from '../store/auth.js';
|
|
8
8
|
export type { KeysetPosition } from '../util/keyset.js';
|
|
9
9
|
export type { AppendAuditOpts, AuditEvent, ListAuditAfterOpts } from '../store/audit.js';
|
|
10
|
-
export type { ContinuityBlock } from '../api/recall
|
|
10
|
+
export type { ContinuityBlock } from '../api/recall/types.js';
|
|
11
11
|
export type { ActiveGoals, GetActiveGoalsOpts, Goal, GoalRecallLogRow, RetrievalPolicy } from '../store/goals.js';
|
|
12
12
|
export type { MemoryEntry } from '../core/memory.js';
|
|
13
13
|
export type { ClassResolution, PlanningFallacyEvidence } from '../store/planning-fallacy-evidence.js';
|
|
@@ -17,15 +17,28 @@ export type { StrengthenOptions } from '../store/entry-writes.js';
|
|
|
17
17
|
export type { OriginFilter, RecallScopeFilter, VectorCandidateSpec } from '../store/search-rows.js';
|
|
18
18
|
export type { ContinuityKey } from '../store/sessions.js';
|
|
19
19
|
export type { SessionEvent, TaskSnapshot } from '../store/rows.js';
|
|
20
|
-
export type { SessionHandoff } from '../core/handoff.js';
|
|
21
|
-
export type {
|
|
20
|
+
export type { HandoffOutcome, SessionHandoff } from '../core/handoff.js';
|
|
21
|
+
export type { Card, CardComment, CardRun, CardStatus } from '../core/card.js';
|
|
22
|
+
export type { CardDetail } from '../store/card-detail.js';
|
|
23
|
+
export type { CompleteGoalOpts, PushGoalOpts } from '../store/goals.js';
|
|
24
|
+
export type { HandoffFilter, SessionEndHandoffRequest } from '../store/handoffs.js';
|
|
25
|
+
export type { ResolveConflictOpts, ResolveConflictRequest } from '../store/conflicts.js';
|
|
26
|
+
export type { DormantMemory, DormantRestoreOutcome, DormantSnapshot, ListDormantOpts } from '../store/dormant.js';
|
|
27
|
+
export type { EntryCursor, EntryPage } from '../store/entry-reads.js';
|
|
28
|
+
export type { FailureSummary } from '../store/failure-log.js';
|
|
29
|
+
export type { MemoryConflict } from '../store/rows.js';
|
|
30
|
+
export type { SessionEventInput, SnapshotInput } from '../store/sessions.js';
|
|
31
|
+
export type { StrengthTallies } from '../store/candidates.js';
|
|
32
|
+
export type { TokenSummary } from '../store/token-ledger.js';
|
|
33
|
+
export type { WorkingMemoryItem } from '../store/working-memory.js';
|
|
34
|
+
export type { AmbientLoadResult, AmbientRecallRequest, ContextCandidateFilter, RecentOrigins, } from '../store/candidates.js';
|
|
22
35
|
export type { AmbientStoreFilter } from '../store/ambient.js';
|
|
23
36
|
export type { AmbientTallies } from '../core/ambient.js';
|
|
24
37
|
export type { TokenUse } from '../store/token-ledger.js';
|
|
25
38
|
export type { EmbeddingIndexState } from '../store/vector-index.js';
|
|
26
39
|
export type { PhysicsParticle } from '../core/physics.js';
|
|
27
40
|
export { StoreBusyError } from '../store/port.js';
|
|
28
|
-
export { decodeVector, EMBEDDING_MODEL_META_KEY, encodeVector, rankVectorRows, type VectorMatch, type VectorRow } from '../db/vector-store.js';
|
|
41
|
+
export { decodeVector, EMBEDDING_MODEL_META_KEY, encodeVector, rankVectorRows, type VectorMatch, type VectorRow, } from '../db/vector-store.js';
|
|
29
42
|
export { bufferToFloat32, float32ToBuffer } from '../util/vector-codec.js';
|
|
30
43
|
export { replacesIndex } from '../store/vector-index.js';
|
|
31
44
|
export { passesScopeFilterForRecall, RECALL_DEFAULT_DENY_SCOPES } from '../core/recall-scope.js';
|
package/dist/entry/store-kit.js
CHANGED
|
@@ -1,16 +1,18 @@
|
|
|
1
|
-
// The hippo-memory/store-kit subpath: the contract for a second HippoStore (port types, row types, hippo.db's rule
|
|
1
|
+
// The hippo-memory/store-kit subpath: the contract for a second HippoStore (port types, row types, hippo.db's rule
|
|
2
|
+
// helpers),
|
|
2
3
|
// so a store built on it applies hippo.db's rules with the same code.
|
|
3
4
|
// An add-on serves from another database by passing serve() its own HippoStore.
|
|
4
|
-
export { hasGroup, sqliteStore, } from '../store/index.js';
|
|
5
|
+
export { hasGroup, narrowStore, sqliteStore, } from '../store/index.js';
|
|
5
6
|
// An add-on store's entry writes apply an outcome, guard tombstones and check reach exactly as hippo.db does.
|
|
6
7
|
export { entryAfterOutcome } from '../core/memory.js';
|
|
7
8
|
export { rejectionDigest } from '../store/rejection.js';
|
|
8
9
|
export { RejectedValueError } from '../core/api-errors.js';
|
|
9
10
|
export { ownScopeTouches } from '../core/recall-scope.js';
|
|
10
11
|
export { StoreBusyError } from '../store/port.js';
|
|
11
|
-
// An add-on store encodes, decodes and ranks vectors and particles with hippo.db's own code, and drops the index by its
|
|
12
|
+
// An add-on store encodes, decodes and ranks vectors and particles with hippo.db's own code, and drops the index by its
|
|
13
|
+
// rule,
|
|
12
14
|
// so both stores keep the same bytes and return the same ids in the same order.
|
|
13
|
-
export { decodeVector, EMBEDDING_MODEL_META_KEY, encodeVector, rankVectorRows } from '../db/vector-store.js';
|
|
15
|
+
export { decodeVector, EMBEDDING_MODEL_META_KEY, encodeVector, rankVectorRows, } from '../db/vector-store.js';
|
|
14
16
|
export { bufferToFloat32, float32ToBuffer } from '../util/vector-codec.js';
|
|
15
17
|
export { replacesIndex } from '../store/vector-index.js';
|
|
16
18
|
// An add-on's ContextReads applies hippo.db's scope, secret, tally and rarest-term rules with the same code.
|
|
@@ -1,5 +1,9 @@
|
|
|
1
|
-
/**
|
|
2
|
-
*
|
|
1
|
+
/**
|
|
2
|
+
* Statistics and cost accounting for the token-efficiency evals: cost is priced over four buckets (uncached input,
|
|
3
|
+
* cache write, cache read, output).
|
|
4
|
+
* Uncertainty uses paired, cluster (same-repository tasks are not independent) and paired-ratio bootstraps; every
|
|
5
|
+
* resampler takes a seed.
|
|
6
|
+
*/
|
|
3
7
|
/** Token usage for one model call or one whole task, split by how it is billed. */
|
|
4
8
|
export interface Usage {
|
|
5
9
|
/** Input tokens billed at the base input price (not read from or written to a cache). */
|
|
@@ -11,7 +15,10 @@ export interface Usage {
|
|
|
11
15
|
/** Output tokens, including any reasoning tokens the provider bills as output. */
|
|
12
16
|
outputTokens: number;
|
|
13
17
|
}
|
|
14
|
-
/**
|
|
18
|
+
/**
|
|
19
|
+
* Prices in dollars per million tokens, taken from the provider's current price page for the exact model; this module
|
|
20
|
+
* has no built-in prices.
|
|
21
|
+
*/
|
|
15
22
|
export interface Prices {
|
|
16
23
|
inputPerMTok: number;
|
|
17
24
|
cacheWritePerMTok: number;
|
|
@@ -22,8 +29,12 @@ export interface Prices {
|
|
|
22
29
|
export declare function addUsage(...usages: Usage[]): Usage;
|
|
23
30
|
/** Dollar cost of `usage` at `prices`. */
|
|
24
31
|
export declare function priceUsage(usage: Usage, prices: Prices): number;
|
|
25
|
-
/**
|
|
26
|
-
*
|
|
32
|
+
/**
|
|
33
|
+
* Relative cache-bucket prices against the base input price, for cost in "uncached-equivalent tokens" when no dollar
|
|
34
|
+
* prices are given.
|
|
35
|
+
* Defaults follow Anthropic's ratios (5-minute cache write 1.25x, cache read 0.1x); pass another provider's ratios when
|
|
36
|
+
* needed.
|
|
37
|
+
*/
|
|
27
38
|
export interface CacheRatios {
|
|
28
39
|
write: number;
|
|
29
40
|
read: number;
|
|
@@ -52,9 +63,15 @@ export interface BootstrapOpts {
|
|
|
52
63
|
/** PRNG seed. Default 1. */
|
|
53
64
|
seed?: number;
|
|
54
65
|
}
|
|
55
|
-
/**
|
|
66
|
+
/**
|
|
67
|
+
* Paired bootstrap for the mean of per-task differences (treatment minus control, same task); an interval excluding
|
|
68
|
+
* zero is the bar for a real difference.
|
|
69
|
+
*/
|
|
56
70
|
export declare function pairedBootstrap(diffs: number[], opts?: BootstrapOpts): Estimate;
|
|
57
|
-
/**
|
|
71
|
+
/**
|
|
72
|
+
* Cluster bootstrap for the mean of per-task differences: resamples whole clusters (e.g. one repository), because tasks
|
|
73
|
+
* in a cluster are not independent.
|
|
74
|
+
*/
|
|
58
75
|
export declare function clusteredPairedBootstrap(diffsByCluster: ReadonlyMap<string, number[]>, opts?: BootstrapOpts): Estimate;
|
|
59
76
|
/** One task's outcome in one arm, for {@link costPerResolvedDelta}. */
|
|
60
77
|
export interface ArmOutcome {
|
|
@@ -72,7 +89,9 @@ export interface CostPerResolvedDelta {
|
|
|
72
89
|
/** (treatment minus control) / control, with its interval. Negative is a saving. */
|
|
73
90
|
relative: Estimate;
|
|
74
91
|
}
|
|
75
|
-
/**
|
|
92
|
+
/**
|
|
93
|
+
* Cost per resolved task in two arms on the same tasks, with a paired bootstrap (`control[i]` and `treatment[i]` must
|
|
94
|
+
* be the same task).
|
|
76
95
|
* Resamples in which an arm resolves nothing are dropped; `iterations` reports how many were kept. */
|
|
77
96
|
export declare function costPerResolvedDelta(control: ArmOutcome[], treatment: ArmOutcome[], opts?: BootstrapOpts): CostPerResolvedDelta;
|
|
78
97
|
/** pass@k: share of tasks with at least one success in their first k runs.
|