hippo-memory 1.72.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/README.md +6 -4
- 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 -5
- package/dist/api/{audit.d.ts → auth/audit.d.ts} +18 -16
- package/dist/api/auth/audit.js +58 -0
- package/dist/api/{auth.d.ts → auth/auth.d.ts} +19 -16
- package/dist/api/{auth.js → auth/auth.js} +66 -54
- package/dist/api/{quarantine.d.ts → auth/quarantine.d.ts} +8 -7
- package/dist/api/{quarantine.js → auth/quarantine.js} +8 -7
- 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 +14 -4
- package/dist/api/context-render.js +14 -7
- package/dist/api/context-select.d.ts +4 -1
- package/dist/api/context-select.js +31 -34
- package/dist/api/context-types.d.ts +38 -12
- package/dist/api/context.d.ts +8 -5
- package/dist/api/context.js +120 -63
- 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} +23 -17
- package/dist/api/memories/memories.d.ts +27 -0
- package/dist/api/memories/memories.js +52 -0
- package/dist/api/memories/outcome.d.ts +22 -0
- package/dist/api/memories/outcome.js +28 -0
- package/dist/api/memories/promote.d.ts +40 -0
- package/dist/api/memories/promote.js +76 -0
- 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} +17 -9
- package/dist/api/{remember-local.js → memories/remember-local.js} +46 -24
- package/dist/api/{remember.d.ts → memories/remember.d.ts} +22 -13
- package/dist/api/{remember.js → memories/remember.js} +50 -32
- 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 -7
- 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 -3
- package/dist/api/objects/predictions.d.ts +11 -0
- package/dist/api/{predictions.js → objects/predictions.js} +7 -5
- 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 +35 -20
- package/dist/api/prompt-hook.js +66 -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} +185 -101
- package/dist/api/recall/recall.d.ts +6 -0
- package/dist/api/{recall.js → recall/recall.js} +116 -72
- 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 -68
- package/dist/api/{recall-types.js → recall/types.js} +1 -1
- package/dist/api/session-end.d.ts +36 -8
- package/dist/api/session-end.js +71 -25
- 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} +54 -45
- 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 +27 -12
- 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 +34 -15
- 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 +18 -9
- package/dist/capture/compaction-spool.js +105 -63
- 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 +58 -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 +33 -33
- package/dist/cli/auth.js +23 -31
- 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 -5
- package/dist/cli/client.js +53 -23
- package/dist/cli/compact-resume-payload.d.ts +4 -1
- package/dist/cli/compact-resume-payload.js +12 -5
- package/dist/cli/context.js +43 -18
- package/dist/cli/continuity.d.ts +5 -5
- package/dist/cli/continuity.js +90 -107
- package/dist/cli/curate.d.ts +5 -4
- package/dist/cli/curate.js +55 -77
- package/dist/cli/dag.d.ts +1 -1
- package/dist/cli/dag.js +14 -17
- package/dist/cli/decisions.js +30 -30
- 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 +34 -10
- package/dist/cli/hook-runtime.js +41 -16
- package/dist/cli/incidents.d.ts +1 -1
- package/dist/cli/incidents.js +25 -25
- package/dist/cli/init.d.ts +1 -1
- package/dist/cli/init.js +35 -20
- 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 +5 -5
- package/dist/cli/object-verbs.js +13 -16
- 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 +17 -22
- package/dist/cli/print.js +4 -2
- package/dist/cli/projects.js +21 -11
- package/dist/cli/quality-repair-once.d.ts +1 -1
- package/dist/cli/quality-repair-once.js +7 -6
- package/dist/cli/recall.js +129 -93
- package/dist/cli/refine-llm.d.ts +15 -4
- package/dist/cli/refine-llm.js +17 -7
- package/dist/cli/remember.js +51 -55
- package/dist/cli/scheduler.d.ts +4 -1
- package/dist/cli/scheduler.js +9 -5
- package/dist/cli/serve.js +28 -18
- package/dist/cli/session-hooks.d.ts +2 -6
- package/dist/cli/session-hooks.js +140 -112
- package/dist/cli/setup.d.ts +1 -1
- package/dist/cli/setup.js +56 -34
- package/dist/cli/shared.d.ts +4 -2
- package/dist/cli/shared.js +26 -11
- 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 +16 -8
- 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 +4 -4
- package/dist/cli/transfer.js +97 -82
- package/dist/cli/usage.d.ts +1 -1
- package/dist/cli/usage.js +1 -1
- package/dist/cli/verb-row.d.ts +2 -0
- package/dist/cli/verbs/health.js +2 -0
- package/dist/cli/verbs/memory.js +47 -53
- package/dist/cli/verbs/objects.js +16 -7
- package/dist/cli/verbs/sessions.js +4 -2
- package/dist/cli/versioned-verbs.d.ts +8 -7
- package/dist/cli/versioned-verbs.js +31 -21
- package/dist/cli.js +14 -18
- package/dist/connectors/dlq.d.ts +6 -6
- package/dist/connectors/dlq.js +12 -7
- 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 -4
- 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 -5
- 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 -5
- 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 +36 -23
- package/dist/connectors/ingest.d.ts +5 -3
- package/dist/connectors/ingest.js +3 -3
- 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 -5
- 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 -4
- 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 -5
- 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 +24 -10
- package/dist/consolidate/dag-summary.js +2 -1
- package/dist/consolidate/dag.d.ts +10 -5
- package/dist/consolidate/dag.js +45 -39
- package/dist/consolidate/decay.js +19 -6
- package/dist/consolidate/dedupe.d.ts +14 -5
- package/dist/consolidate/dedupe.js +28 -17
- 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 +37 -14
- package/dist/consolidate/merge.d.ts +4 -1
- package/dist/consolidate/merge.js +47 -37
- 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 +42 -39
- package/dist/consolidate/trace.d.ts +7 -2
- package/dist/consolidate/trace.js +7 -2
- package/dist/consolidate/traces.js +27 -30
- 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 +38 -29
- 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 +22 -17
- 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 +87 -30
- package/dist/core/memory.js +82 -33
- 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 +39 -11
- package/dist/core/physics.js +71 -21
- package/dist/core/project-identity.d.ts +34 -17
- package/dist/core/project-identity.js +35 -18
- 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.d.ts +2 -2
- package/dist/dashboard/dashboard-actions.js +18 -7
- package/dist/dashboard/dashboard-queries.js +2 -7
- package/dist/dashboard/dashboard-snapshot.d.ts +2 -2
- package/dist/dashboard/dashboard-snapshot.js +5 -7
- package/dist/dashboard/dashboard.js +22 -8
- 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 -2
- package/dist/db/connect.js +8 -2
- 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 +40 -20
- 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/v11.js +1 -0
- package/dist/db/migrations/v12.js +2 -1
- package/dist/db/migrations/v14.js +2 -0
- 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 -8
- package/dist/db/physics-state.js +17 -50
- 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 +20 -5
- package/dist/db/request-stores.js +15 -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 +35 -14
- package/dist/db/wal-checkpointer.d.ts +2 -1
- package/dist/db/wal-checkpointer.js +19 -7
- package/dist/doctor.d.ts +7 -1
- package/dist/doctor.js +128 -46
- package/dist/embeddings/local.d.ts +8 -4
- package/dist/embeddings/local.js +11 -7
- package/dist/embeddings/provider.d.ts +19 -10
- package/dist/embeddings/provider.js +32 -27
- 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 +50 -0
- package/dist/entry/store-kit.js +27 -0
- package/dist/entry/testing.d.ts +6 -0
- package/dist/entry/testing.js +7 -0
- 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 +17 -7
- 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 +72 -33
- 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 +11 -10
- 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 +3 -3
- package/dist/importers/vault.js +61 -45
- package/dist/index.d.ts +33 -7
- package/dist/index.js +26 -8
- package/dist/learn/autolearn.d.ts +21 -6
- package/dist/learn/autolearn.js +57 -26
- 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 +17 -10
- 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 -6
- package/dist/learn/invalidation.js +62 -28
- 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 +21 -20
- 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 +61 -77
- 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 +59 -23
- 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 +19 -9
- 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 +12 -4
- package/dist/search/embed-memories.js +96 -58
- package/dist/search/engine.d.ts +11 -0
- package/dist/search/engine.js +14 -0
- 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 +14 -8
- package/dist/server/auth.d.ts +19 -15
- package/dist/server/auth.js +68 -38
- package/dist/server/boot.d.ts +4 -1
- package/dist/server/boot.js +115 -67
- package/dist/server/client-ip.d.ts +17 -5
- package/dist/server/client-ip.js +56 -21
- 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 +550 -97
- 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 -17
- 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 +40 -18
- package/dist/server/tls.d.ts +10 -2
- package/dist/server/tls.js +25 -5
- package/dist/server/types.d.ts +41 -24
- package/dist/server/validation.d.ts +4 -1
- package/dist/server/validation.js +22 -9
- package/dist/server.d.ts +17 -49
- package/dist/server.js +33 -40
- package/dist/sharing/global-store.d.ts +6 -12
- package/dist/sharing/global-store.js +8 -48
- package/dist/sharing/global-sync.d.ts +3 -1
- package/dist/sharing/global-sync.js +17 -7
- 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 +28 -14
- package/dist/sharing/share.d.ts +8 -4
- package/dist/sharing/share.js +40 -18
- package/dist/store/ambient.js +10 -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 +90 -41
- 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 +97 -63
- 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 +101 -37
- package/dist/store/compactions.js +35 -15
- package/dist/store/conflicts.d.ts +16 -5
- package/dist/store/conflicts.js +104 -48
- package/dist/store/connectors/dlq.d.ts +17 -5
- package/dist/store/connectors/dlq.js +58 -6
- package/dist/store/connectors/event-log.d.ts +122 -0
- package/dist/store/connectors/event-log.js +25 -0
- package/dist/store/connectors/github.d.ts +6 -3
- package/dist/store/connectors/github.js +30 -48
- package/dist/store/connectors/slack.d.ts +2 -1
- package/dist/store/connectors/slack.js +31 -47
- package/dist/store/dashboard-reads.d.ts +7 -3
- package/dist/store/dashboard-reads.js +32 -10
- package/dist/store/delete-and-batch.d.ts +17 -11
- package/dist/store/delete-and-batch.js +70 -28
- package/dist/store/delivery-recorder.d.ts +10 -7
- package/dist/store/delivery-recorder.js +70 -37
- package/dist/store/descendant-page.d.ts +2 -1
- package/dist/store/descendant-page.js +26 -10
- 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 +45 -19
- package/dist/store/embeddings/index.d.ts +13 -9
- package/dist/store/embeddings/index.js +19 -12
- package/dist/store/entry-reads.d.ts +72 -21
- package/dist/store/entry-reads.js +215 -69
- package/dist/store/entry-row.d.ts +10 -6
- package/dist/store/entry-row.js +26 -14
- package/dist/store/entry-writes.d.ts +28 -13
- package/dist/store/entry-writes.js +61 -22
- 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 +11 -12
- 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 +29 -19
- package/dist/store/graph-rows.d.ts +41 -3
- package/dist/store/graph-rows.js +10 -7
- package/dist/store/graph-view-rows.js +15 -7
- package/dist/store/graph-writes.d.ts +16 -10
- package/dist/store/graph-writes.js +59 -36
- package/dist/store/half-life.js +2 -2
- package/dist/store/handoffs.d.ts +13 -7
- package/dist/store/handoffs.js +44 -22
- 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 +4 -2
- package/dist/store/index.js +2 -1
- 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 +96 -19
- package/dist/store/narrow.d.ts +6 -0
- package/dist/store/narrow.js +11 -0
- package/dist/store/open.d.ts +6 -3
- package/dist/store/open.js +20 -10
- 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 +261 -219
- 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 +128 -64
- package/dist/store/rejected-values.d.ts +15 -10
- package/dist/store/rejected-values.js +46 -20
- 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 +20 -13
- package/dist/store/rule-sql.d.ts +7 -3
- package/dist/store/rule-sql.js +26 -13
- package/dist/store/search-rows.d.ts +16 -11
- package/dist/store/search-rows.js +54 -32
- 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 +12 -5
- 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 +9 -6
- 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 +8 -0
- package/dist/store/sqlite/held-connection.js +34 -7
- package/dist/store/sqlite/last-recall-group.d.ts +15 -0
- package/dist/store/sqlite/last-recall-group.js +62 -0
- 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.d.ts +6 -0
- package/dist/store/sqlite/maintenance-groups.js +61 -0
- 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 +97 -38
- 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 -18
- package/dist/store/sqlite/store.js +95 -33
- 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 +25 -11
- package/dist/store/summaries.js +84 -27
- 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 +8 -4
- 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 +28 -11
- 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 +7 -2
- package/dist/util/anthropic-messages.js +18 -7
- package/dist/util/atomic-write.d.ts +8 -3
- package/dist/util/atomic-write.js +36 -21
- 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 +26 -5
- package/dist/util/env.js +87 -25
- package/dist/util/format.d.ts +2 -0
- package/dist/util/format.js +4 -0
- 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 +16 -4
- package/dist/util/request-scope.js +19 -6
- 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 +11 -0
- package/dist/util/spawn-argv.js +66 -0
- package/dist/util/sql.d.ts +3 -0
- package/dist/util/sql.js +6 -0
- 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/vector-codec.d.ts +4 -0
- package/dist/util/vector-codec.js +15 -0
- 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 +4 -1
- package/scripts/postinstall.cjs +3 -1
- package/dist/api/audit.js +0 -56
- 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 -7
- package/dist/api/learn.js +0 -124
- package/dist/api/memories.d.ts +0 -23
- package/dist/api/memories.js +0 -46
- package/dist/api/objects.d.ts +0 -9
- package/dist/api/on-store.d.ts +0 -16
- package/dist/api/on-store.js +0 -38
- package/dist/api/outcome.d.ts +0 -19
- package/dist/api/outcome.js +0 -21
- package/dist/api/predictions.d.ts +0 -11
- package/dist/api/promote.d.ts +0 -36
- package/dist/api/promote.js +0 -65
- package/dist/api/recall-core.d.ts +0 -4
- package/dist/api/recall-core.js +0 -120
- 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 -10
- package/dist/cli/lenient-id.d.ts +0 -2
- package/dist/cli/lenient-id.js +0 -13
- 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 -21
- package/dist/store/sqlite/local.js +0 -39
|
@@ -9,7 +9,10 @@ export interface CompactionItemRows {
|
|
|
9
9
|
tooLong: number;
|
|
10
10
|
capped: number;
|
|
11
11
|
}
|
|
12
|
-
/**
|
|
12
|
+
/**
|
|
13
|
+
* The <summary> body of a PostCompact compact_summary with any <analysis> block removed; the whole text trimmed when
|
|
14
|
+
* there is no <summary> tag.
|
|
15
|
+
*/
|
|
13
16
|
export declare function compactSummaryBody(compactSummary: string): string;
|
|
14
17
|
/** found=false when no "Memories for hippo" heading; items in order, "none" dropped, never cut. */
|
|
15
18
|
export declare function parseCompactionItems(summaryBody: string): ParsedCompactionItems;
|
|
@@ -20,14 +20,20 @@ function withoutAnalysis(text) {
|
|
|
20
20
|
from = close + ANALYSIS_CLOSE.length;
|
|
21
21
|
}
|
|
22
22
|
}
|
|
23
|
-
/**
|
|
23
|
+
/**
|
|
24
|
+
* `text` minus its trailing run of `*`, `:` and spaces; read from the end, as a `+$` pattern retries the run from each
|
|
25
|
+
* character.
|
|
26
|
+
*/
|
|
24
27
|
function withoutHeadingTrailer(text) {
|
|
25
28
|
let end = text.length;
|
|
26
29
|
while (end > 0 && HEADING_TRAILER.test(text[end - 1]))
|
|
27
30
|
end--;
|
|
28
31
|
return text.slice(0, end);
|
|
29
32
|
}
|
|
30
|
-
/**
|
|
33
|
+
/**
|
|
34
|
+
* The <summary> body of a PostCompact compact_summary with any <analysis> block removed; the whole text trimmed when
|
|
35
|
+
* there is no <summary> tag.
|
|
36
|
+
*/
|
|
31
37
|
export function compactSummaryBody(compactSummary) {
|
|
32
38
|
const text = withoutAnalysis(compactSummary);
|
|
33
39
|
const open = text.lastIndexOf('<summary>');
|
|
@@ -3,10 +3,15 @@ export interface Shutdown {
|
|
|
3
3
|
readonly run: () => void | Promise<void>;
|
|
4
4
|
readonly boundMs: number;
|
|
5
5
|
}
|
|
6
|
-
/**
|
|
6
|
+
/**
|
|
7
|
+
* Exit once stdout and stderr have drained, so the last reply and the last log line reach their reader; capped at 1 s.
|
|
8
|
+
*/
|
|
7
9
|
export declare function exitAfterFlush(code: number): void;
|
|
8
10
|
/** On SIGTERM or SIGINT: runs `shutdown` once, then exits 0. */
|
|
9
11
|
export declare function installSignalHandlers(name: string, shutdown: Shutdown): void;
|
|
10
|
-
/**
|
|
12
|
+
/**
|
|
13
|
+
* After an uncaught throw the process state is unknown: log the cause, run `shutdown` once, then exit 1 for the
|
|
14
|
+
* supervisor or client to restart it.
|
|
15
|
+
*/
|
|
11
16
|
export declare function installCrashHandlers(name: string, shutdown?: Shutdown): void;
|
|
12
17
|
//# sourceMappingURL=crash-handlers.d.ts.map
|
|
@@ -8,16 +8,22 @@ function afterFlush(leave) {
|
|
|
8
8
|
process.stderr.write('', done);
|
|
9
9
|
setTimeout(leave, 1000).unref();
|
|
10
10
|
}
|
|
11
|
-
/**
|
|
11
|
+
/**
|
|
12
|
+
* Exit once stdout and stderr have drained, so the last reply and the last log line reach their reader; capped at 1 s.
|
|
13
|
+
*/
|
|
12
14
|
export function exitAfterFlush(code) {
|
|
13
15
|
process.exitCode = code;
|
|
14
16
|
afterFlush(() => process.exit(code));
|
|
15
17
|
}
|
|
16
|
-
// process.exit joins every worker thread, so one stuck in a synchronous statement would hold the exit open; a kill
|
|
18
|
+
// process.exit joins every worker thread, so one stuck in a synchronous statement would hold the exit open; a kill
|
|
19
|
+
// cannot be held.
|
|
17
20
|
function killSelf() {
|
|
18
21
|
process.kill(process.pid, 'SIGKILL');
|
|
19
22
|
}
|
|
20
|
-
/**
|
|
23
|
+
/**
|
|
24
|
+
* Runs `shutdown` for `cause`, then exits with `code`, or 1 when it threw. One still running after its bound is logged
|
|
25
|
+
* and the process ended without it.
|
|
26
|
+
*/
|
|
21
27
|
function exitAfterShutdown(name, cause, shutdown, code) {
|
|
22
28
|
let ended = false;
|
|
23
29
|
// Referenced on purpose: a shutdown that never settles must end at the bound, not when the loop happens to empty.
|
|
@@ -52,7 +58,10 @@ export function installSignalHandlers(name, shutdown) {
|
|
|
52
58
|
process.once('SIGTERM', () => stopFor('SIGTERM'));
|
|
53
59
|
process.once('SIGINT', () => stopFor('SIGINT'));
|
|
54
60
|
}
|
|
55
|
-
/**
|
|
61
|
+
/**
|
|
62
|
+
* After an uncaught throw the process state is unknown: log the cause, run `shutdown` once, then exit 1 for the
|
|
63
|
+
* supervisor or client to restart it.
|
|
64
|
+
*/
|
|
56
65
|
export function installCrashHandlers(name, shutdown) {
|
|
57
66
|
let crashing = false;
|
|
58
67
|
const crash = (kind, err) => {
|
package/dist/util/env.d.ts
CHANGED
|
@@ -1,4 +1,7 @@
|
|
|
1
|
-
/**
|
|
1
|
+
/**
|
|
2
|
+
* The whole environment, for code that takes it as an injectable map (agent-memory machines, owner checks, support
|
|
3
|
+
* bundles).
|
|
4
|
+
*/
|
|
2
5
|
export declare function processEnv(): NodeJS.ProcessEnv;
|
|
3
6
|
/** A variable whose name comes from configuration, such as an embedding provider's key variable. */
|
|
4
7
|
export declare function envByName(name: string): string | undefined;
|
|
@@ -22,6 +25,8 @@ export declare function envHippoHome(): string | undefined;
|
|
|
22
25
|
export declare function envXdgDataHome(): string | undefined;
|
|
23
26
|
export declare function envHomeDir(): string | undefined;
|
|
24
27
|
export declare function envPath(): string | undefined;
|
|
28
|
+
/** The extensions win32 tries on a bare command name, in order. */
|
|
29
|
+
export declare function envPathExt(): string | undefined;
|
|
25
30
|
export declare function envModelCache(): string | undefined;
|
|
26
31
|
export declare function envHippoSessionId(): string | undefined;
|
|
27
32
|
export declare function envClaudeCodeSessionId(): string | undefined;
|
|
@@ -44,12 +49,21 @@ export declare function envLogLevel(): string;
|
|
|
44
49
|
/** `HIPPO_LOG_FORMAT=json` writes each log line as one JSON object; anything else keeps the text line. */
|
|
45
50
|
export declare function envLogJson(): boolean;
|
|
46
51
|
export declare function envPort(): string | undefined;
|
|
47
|
-
/**
|
|
52
|
+
/**
|
|
53
|
+
* How long a client waits for a running server's /health before writing to the store directly; server-detect.ts holds
|
|
54
|
+
* the default.
|
|
55
|
+
*/
|
|
48
56
|
export declare function envHealthProbeMs(): number | undefined;
|
|
49
57
|
export declare function envRequireAuth(): boolean;
|
|
50
|
-
/** `1` lets a request made on this machine in with no key
|
|
58
|
+
/** `1` lets a request made on this machine in with no key; HIPPO_REQUIRE_AUTH=1 wins over it. */
|
|
51
59
|
export declare function envAllowKeylessLocal(): boolean;
|
|
60
|
+
/** The role a keyless local request gets: `admin` (host admin) only when asked for by name, else `member`. */
|
|
61
|
+
export declare function envKeylessLocalRole(): 'admin' | 'member';
|
|
62
|
+
/** `1` lets a non-loopback bind start without TLS, for TLS that ends at a proxy in front. */
|
|
63
|
+
export declare function envAllowCleartext(): boolean;
|
|
52
64
|
export declare function envV1Rps(): string | undefined;
|
|
65
|
+
/** Requests per second each authenticated caller may make; `0` turns the per-caller limit off. */
|
|
66
|
+
export declare function envCallerRps(): string | undefined;
|
|
53
67
|
/** How long a request body may take to arrive; http-util.ts holds the default. */
|
|
54
68
|
export declare function envBodyTimeoutMs(): number | undefined;
|
|
55
69
|
/** How long POST /v1/sleep lets its consolidation run; server/sleep-offload.ts holds the default. */
|
|
@@ -57,12 +71,16 @@ export declare function envSleepTimeoutMs(): number | undefined;
|
|
|
57
71
|
/** How long a /v1 or /mcp request may run before the server answers 504, and a stdio MCP
|
|
58
72
|
* request before its timeout error; 0 for no deadline; util/request-scope.ts holds the default. */
|
|
59
73
|
export declare function envRequestDeadlineMs(): number | undefined;
|
|
60
|
-
/**
|
|
74
|
+
/**
|
|
75
|
+
* How many store calls may wait for one worker thread before the next is refused; store/sqlite/executor.ts holds the
|
|
76
|
+
* default.
|
|
77
|
+
*/
|
|
61
78
|
export declare function envStoreQueueMax(): number | undefined;
|
|
62
79
|
/** How long the daily runner lets one child `hippo` step run; cli/setup.ts holds the default. */
|
|
63
80
|
export declare function envDailyStepTimeoutMs(): number | undefined;
|
|
64
81
|
export declare function envApiKey(): string | undefined;
|
|
65
82
|
export declare function envClientIpHeader(): string | undefined;
|
|
83
|
+
/** The peers whose HIPPO_CLIENT_IP_HEADER is believed: IPs or CIDRs, or `*` for any peer. */
|
|
66
84
|
export declare function envTrustedProxies(): string | undefined;
|
|
67
85
|
/** Paths to the PEM certificate and key `hippo serve` answers HTTPS with; the --tls-cert and --tls-key flags win. */
|
|
68
86
|
export declare function envTlsCert(): string | undefined;
|
|
@@ -75,7 +93,10 @@ export declare function envLlmTimeoutMs(): number | undefined;
|
|
|
75
93
|
export declare function envTypesafeApiKey(): string | undefined;
|
|
76
94
|
export declare function envJevTimeoutMs(): number | undefined;
|
|
77
95
|
export declare function envJevModel(): string | undefined;
|
|
78
|
-
/**
|
|
96
|
+
/**
|
|
97
|
+
* How long a recall waits for an API provider to embed its query before ranking on BM25 alone; search/vector.ts holds
|
|
98
|
+
* the default.
|
|
99
|
+
*/
|
|
79
100
|
export declare function envQueryEmbedTimeoutMs(): number | undefined;
|
|
80
101
|
export declare function envLlmRerankerUrl(): string | undefined;
|
|
81
102
|
export declare function envLlmRerankerKey(): string | undefined;
|
package/dist/util/env.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
// The one module in src/ that reads process.env; scripts/check-env-reads.mjs fails CI on any other read.
|
|
2
|
-
// Accessors read at call time, so a test that sets a variable between cases, or a HIPPO_HOME switch mid-process, still
|
|
2
|
+
// Accessors read at call time, so a test that sets a variable between cases, or a HIPPO_HOME switch mid-process, still
|
|
3
|
+
// holds.
|
|
3
4
|
function raw(name) {
|
|
4
5
|
return process.env[name];
|
|
5
6
|
}
|
|
@@ -24,7 +25,10 @@ function nonNegativeInt(name) {
|
|
|
24
25
|
function trimmed(name) {
|
|
25
26
|
return raw(name)?.trim() || undefined;
|
|
26
27
|
}
|
|
27
|
-
/**
|
|
28
|
+
/**
|
|
29
|
+
* The whole environment, for code that takes it as an injectable map (agent-memory machines, owner checks, support
|
|
30
|
+
* bundles).
|
|
31
|
+
*/
|
|
28
32
|
export function processEnv() {
|
|
29
33
|
return process.env;
|
|
30
34
|
}
|
|
@@ -64,6 +68,8 @@ export function envHippoHome() { return raw('HIPPO_HOME')?.trim(); }
|
|
|
64
68
|
export function envXdgDataHome() { return raw('XDG_DATA_HOME')?.trim(); }
|
|
65
69
|
export function envHomeDir() { return raw('HOME') || raw('USERPROFILE'); }
|
|
66
70
|
export function envPath() { return raw('PATH'); }
|
|
71
|
+
/** The extensions win32 tries on a bare command name, in order. */
|
|
72
|
+
export function envPathExt() { return raw('PATHEXT'); }
|
|
67
73
|
export function envModelCache() { return trimmed('HIPPO_MODEL_CACHE'); }
|
|
68
74
|
// Session, scope and tenant.
|
|
69
75
|
export function envHippoSessionId() { return trimmed('HIPPO_SESSION_ID'); }
|
|
@@ -91,12 +97,23 @@ export function envLogLevel() { return raw('HIPPO_LOG')?.trim().toLowerCase() ??
|
|
|
91
97
|
export function envLogJson() { return raw('HIPPO_LOG_FORMAT')?.trim().toLowerCase() === 'json'; }
|
|
92
98
|
// Server.
|
|
93
99
|
export function envPort() { return raw('HIPPO_PORT'); }
|
|
94
|
-
/**
|
|
100
|
+
/**
|
|
101
|
+
* How long a client waits for a running server's /health before writing to the store directly; server-detect.ts holds
|
|
102
|
+
* the default.
|
|
103
|
+
*/
|
|
95
104
|
export function envHealthProbeMs() { return positiveInt('HIPPO_HEALTH_PROBE_MS'); }
|
|
96
105
|
export function envRequireAuth() { return isOne('HIPPO_REQUIRE_AUTH'); }
|
|
97
|
-
/** `1` lets a request made on this machine in with no key
|
|
106
|
+
/** `1` lets a request made on this machine in with no key; HIPPO_REQUIRE_AUTH=1 wins over it. */
|
|
98
107
|
export function envAllowKeylessLocal() { return isOne('HIPPO_ALLOW_KEYLESS_LOCAL'); }
|
|
108
|
+
/** The role a keyless local request gets: `admin` (host admin) only when asked for by name, else `member`. */
|
|
109
|
+
export function envKeylessLocalRole() {
|
|
110
|
+
return trimmed('HIPPO_KEYLESS_LOCAL_ROLE')?.toLowerCase() === 'admin' ? 'admin' : 'member';
|
|
111
|
+
}
|
|
112
|
+
/** `1` lets a non-loopback bind start without TLS, for TLS that ends at a proxy in front. */
|
|
113
|
+
export function envAllowCleartext() { return isOne('HIPPO_ALLOW_CLEARTEXT'); }
|
|
99
114
|
export function envV1Rps() { return raw('HIPPO_V1_RPS'); }
|
|
115
|
+
/** Requests per second each authenticated caller may make; `0` turns the per-caller limit off. */
|
|
116
|
+
export function envCallerRps() { return trimmed('HIPPO_CALLER_RPS'); }
|
|
100
117
|
/** How long a request body may take to arrive; http-util.ts holds the default. */
|
|
101
118
|
export function envBodyTimeoutMs() { return positiveInt('HIPPO_BODY_TIMEOUT_MS'); }
|
|
102
119
|
/** How long POST /v1/sleep lets its consolidation run; server/sleep-offload.ts holds the default. */
|
|
@@ -104,12 +121,16 @@ export function envSleepTimeoutMs() { return positiveInt('HIPPO_SLEEP_TIMEOUT_MS
|
|
|
104
121
|
/** How long a /v1 or /mcp request may run before the server answers 504, and a stdio MCP
|
|
105
122
|
* request before its timeout error; 0 for no deadline; util/request-scope.ts holds the default. */
|
|
106
123
|
export function envRequestDeadlineMs() { return nonNegativeInt('HIPPO_REQUEST_DEADLINE_MS'); }
|
|
107
|
-
/**
|
|
124
|
+
/**
|
|
125
|
+
* How many store calls may wait for one worker thread before the next is refused; store/sqlite/executor.ts holds the
|
|
126
|
+
* default.
|
|
127
|
+
*/
|
|
108
128
|
export function envStoreQueueMax() { return positiveInt('HIPPO_STORE_QUEUE_MAX'); }
|
|
109
129
|
/** How long the daily runner lets one child `hippo` step run; cli/setup.ts holds the default. */
|
|
110
130
|
export function envDailyStepTimeoutMs() { return positiveInt('HIPPO_DAILY_STEP_TIMEOUT_MS'); }
|
|
111
131
|
export function envApiKey() { return raw('HIPPO_API_KEY'); }
|
|
112
132
|
export function envClientIpHeader() { return raw('HIPPO_CLIENT_IP_HEADER')?.trim().toLowerCase(); }
|
|
133
|
+
/** The peers whose HIPPO_CLIENT_IP_HEADER is believed: IPs or CIDRs, or `*` for any peer. */
|
|
113
134
|
export function envTrustedProxies() { return raw('HIPPO_TRUSTED_PROXIES'); }
|
|
114
135
|
/** Paths to the PEM certificate and key `hippo serve` answers HTTPS with; the --tls-cert and --tls-key flags win. */
|
|
115
136
|
export function envTlsCert() { return trimmed('HIPPO_TLS_CERT'); }
|
|
@@ -123,25 +144,66 @@ export function envLlmTimeoutMs() { return positiveInt('HIPPO_LLM_TIMEOUT_MS');
|
|
|
123
144
|
export function envTypesafeApiKey() { return trimmed('TYPESAFE_API_KEY'); }
|
|
124
145
|
export function envJevTimeoutMs() { return positiveInt('HIPPO_JEV_TIMEOUT_MS'); }
|
|
125
146
|
export function envJevModel() { return raw('HIPPO_JEV_MODEL'); }
|
|
126
|
-
/**
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
export function
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
export function
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
export function
|
|
147
|
+
/**
|
|
148
|
+
* How long a recall waits for an API provider to embed its query before ranking on BM25 alone; search/vector.ts holds
|
|
149
|
+
* the default.
|
|
150
|
+
*/
|
|
151
|
+
export function envQueryEmbedTimeoutMs() {
|
|
152
|
+
return positiveInt('HIPPO_QUERY_EMBED_TIMEOUT_MS');
|
|
153
|
+
}
|
|
154
|
+
export function envLlmRerankerUrl() {
|
|
155
|
+
return raw('HIPPO_LLM_RERANKER_URL');
|
|
156
|
+
}
|
|
157
|
+
export function envLlmRerankerKey() {
|
|
158
|
+
return raw('HIPPO_LLM_RERANKER_KEY');
|
|
159
|
+
}
|
|
160
|
+
export function envLlmRerankerModel() {
|
|
161
|
+
return raw('HIPPO_LLM_RERANKER_MODEL');
|
|
162
|
+
}
|
|
163
|
+
export function envLlmRerankerTimeoutMs() {
|
|
164
|
+
return positiveInt('HIPPO_LLM_RERANKER_TIMEOUT_MS');
|
|
165
|
+
}
|
|
166
|
+
export function envClefEndpoint() {
|
|
167
|
+
return raw('HIPPO_CLEF_ENDPOINT')?.trim();
|
|
168
|
+
}
|
|
169
|
+
export function envClefEndpointToken() {
|
|
170
|
+
return raw('HIPPO_CLEF_ENDPOINT_TOKEN')?.trim() || undefined;
|
|
171
|
+
}
|
|
172
|
+
export function envClefTimeoutMs() {
|
|
173
|
+
return raw('HIPPO_CLEF_TIMEOUT_MS');
|
|
174
|
+
}
|
|
175
|
+
export function envCloudflareAccountId() {
|
|
176
|
+
return raw('CLOUDFLARE_ACCOUNT_ID')?.trim() ?? '';
|
|
177
|
+
}
|
|
178
|
+
export function envCloudflareApiToken() {
|
|
179
|
+
return raw('CLOUDFLARE_API_TOKEN')?.trim() ?? '';
|
|
180
|
+
}
|
|
137
181
|
// Connectors.
|
|
138
|
-
export function envSlackBotToken() {
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
export function
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
export function
|
|
145
|
-
|
|
146
|
-
|
|
182
|
+
export function envSlackBotToken() {
|
|
183
|
+
return raw('SLACK_BOT_TOKEN');
|
|
184
|
+
}
|
|
185
|
+
export function envSlackTeamId() {
|
|
186
|
+
return raw('SLACK_TEAM_ID');
|
|
187
|
+
}
|
|
188
|
+
export function envSlackSigningSecret() {
|
|
189
|
+
return raw('SLACK_SIGNING_SECRET');
|
|
190
|
+
}
|
|
191
|
+
export function envSlackSigningSecretPrevious() {
|
|
192
|
+
return raw('SLACK_SIGNING_SECRET_PREVIOUS');
|
|
193
|
+
}
|
|
194
|
+
export function envSlackAllowUnknownTeamFallback() {
|
|
195
|
+
return isOne('SLACK_ALLOW_UNKNOWN_TEAM_FALLBACK');
|
|
196
|
+
}
|
|
197
|
+
export function envGitHubToken() {
|
|
198
|
+
return raw('GITHUB_TOKEN');
|
|
199
|
+
}
|
|
200
|
+
export function envGitHubWebhookSecret() {
|
|
201
|
+
return raw('GITHUB_WEBHOOK_SECRET');
|
|
202
|
+
}
|
|
203
|
+
export function envGitHubWebhookSecretPrevious() {
|
|
204
|
+
return raw('GITHUB_WEBHOOK_SECRET_PREVIOUS');
|
|
205
|
+
}
|
|
206
|
+
export function envGitHubAllowUnknownInstallationFallback() {
|
|
207
|
+
return isOne('GITHUB_ALLOW_UNKNOWN_INSTALLATION_FALLBACK');
|
|
208
|
+
}
|
|
147
209
|
//# sourceMappingURL=env.js.map
|
package/dist/util/format.d.ts
CHANGED
package/dist/util/format.js
CHANGED
package/dist/util/home-path.js
CHANGED
|
@@ -1,11 +1,14 @@
|
|
|
1
|
-
// Home-directory paths name their user, so text bound for a shared
|
|
1
|
+
// Home-directory paths name their user, so text bound for a shared
|
|
2
|
+
// store tests or masks them here; no imports keep it light.
|
|
2
3
|
// VS Code writes file links URL-encoded, so a separator may be %5C or %2F.
|
|
3
4
|
const WIN_SEP = String.raw `(?:[\\/]|%5[Cc]|%2[Ff])`;
|
|
4
5
|
const WIN_CHAR = String.raw `(?:(?!%5[Cc]|%2[Ff])[^\\/:*?"<>|\s])`;
|
|
5
6
|
// A Windows name never holds a quote, so JSON stops it; one with spaces runs to a separator, quote,
|
|
6
7
|
// closing mark or line end, leaving the mark, as stopping at its first word leaks the surname.
|
|
7
|
-
const WIN_USER = String.raw `(?:${WIN_CHAR}+(?: ${WIN_CHAR}+){0,3}(?=${WIN_SEP}|["'\`)\]>,;]|\.(?=\s|$)
|
|
8
|
-
|
|
8
|
+
const WIN_USER = String.raw `(?:${WIN_CHAR}+(?: ${WIN_CHAR}+){0,3}(?=${WIN_SEP}|["'\`)\]>,;]|\.(?=\s|$)|` +
|
|
9
|
+
String.raw `(?<!\.)(?:[^\S ]|$))(?<![\`)\],;'])|${WIN_CHAR}+)`;
|
|
10
|
+
// Slash-led homes with their case spelled out and no flag, so one pattern can hold all four: Git Bash and WSL mounts,
|
|
11
|
+
// Linux, root and macOS.
|
|
9
12
|
const MOUNT_HOME = String.raw `(?:\/[Mm][Nn][Tt])?\/[A-Za-z]\/[Uu][Ss][Ee][Rr][Ss]\/${WIN_USER}`;
|
|
10
13
|
const LINUX_HOME = String.raw `(?:\/var)?\/home\/[^/\s]+`;
|
|
11
14
|
const ROOT_HOME = String.raw `(?:\/var)?\/root(?![\w.-])`;
|
|
@@ -35,8 +38,10 @@ const MASK = '[home]';
|
|
|
35
38
|
// Global copies, so the shared test patterns keep their lastIndex at 0.
|
|
36
39
|
const allOf = (re) => new RegExp(re.source, `${re.flags}g`);
|
|
37
40
|
const [DRIVE_HOMES, LONG_PATHS, SHARE_HOMES, SHORT_NAMES] = [DRIVE_HOME, LONG_PATH, SHARE_HOME, SHORT_NAME].map(allOf);
|
|
38
|
-
// A home glued after another starts where a mask will end, which no guard
|
|
39
|
-
//
|
|
41
|
+
// A home glued after another starts where a mask will end, which no guard
|
|
42
|
+
// refuses: one match takes the whole run, as masking one a pass costs a
|
|
43
|
+
// pass per home. A run holds only shapes whose own step is not still to
|
|
44
|
+
// come, so a later step meets the same text it would without the run.
|
|
40
45
|
const runFrom = (start, ...glued) => new RegExp(`${start}(?:${glued.join('|')})*`, 'g');
|
|
41
46
|
const MOUNT_RUNS = runFrom(MOUNT_START, MOUNT_HOME);
|
|
42
47
|
const LINUX_RUNS = runFrom(LINUX_START, MOUNT_HOME, LINUX_HOME);
|
|
@@ -59,7 +64,8 @@ function maskOnce(text) {
|
|
|
59
64
|
export function maskHomePaths(text) {
|
|
60
65
|
let out = text;
|
|
61
66
|
let next = maskOnce(out);
|
|
62
|
-
// A mask can uncover a home path its text was hiding, so passes repeat until one changes nothing; each takes a
|
|
67
|
+
// A mask can uncover a home path its text was hiding, so passes repeat until one changes nothing; each takes a
|
|
68
|
+
// separator out, so they end.
|
|
63
69
|
while (next !== out) {
|
|
64
70
|
out = next;
|
|
65
71
|
next = maskOnce(out);
|
|
@@ -2,7 +2,9 @@
|
|
|
2
2
|
export declare function hookPayloadSessionId(stdinText: string | undefined, requiredSource?: string | null): string | null;
|
|
3
3
|
/** A hook payload's string `field` as sent, or null when the payload or the field is missing or not a string. */
|
|
4
4
|
export declare function hookPayloadString(stdinText: string | undefined, field: string): string | null;
|
|
5
|
-
/**
|
|
5
|
+
/**
|
|
6
|
+
* Whether a hook fired inside a sub-agent, the only payload with `agent_id`
|
|
7
|
+
* (https://code.claude.com/docs/en/hooks#common-input-fields).
|
|
6
8
|
* Its `session_id` is the parent's, so a sub-agent's blocks and compactions must not count as the parent's. */
|
|
7
9
|
export declare function isSubagentPayload(stdinText: string | undefined): boolean;
|
|
8
10
|
//# sourceMappingURL=hook-payload.d.ts.map
|
|
@@ -28,7 +28,9 @@ export function hookPayloadString(stdinText, field) {
|
|
|
28
28
|
const value = parseHookPayload(stdinText)?.[field];
|
|
29
29
|
return isJsonString(value) ? value : null;
|
|
30
30
|
}
|
|
31
|
-
/**
|
|
31
|
+
/**
|
|
32
|
+
* Whether a hook fired inside a sub-agent, the only payload with `agent_id`
|
|
33
|
+
* (https://code.claude.com/docs/en/hooks#common-input-fields).
|
|
32
34
|
* Its `session_id` is the parent's, so a sub-agent's blocks and compactions must not count as the parent's. */
|
|
33
35
|
export function isSubagentPayload(stdinText) {
|
|
34
36
|
const agentId = parseHookPayload(stdinText)?.agent_id;
|
|
@@ -1,17 +1,20 @@
|
|
|
1
|
-
/** One retry policy for outbound HTTP: a timeout on every attempt, backoff on 429 and 5xx, and on a dropped
|
|
1
|
+
/** One retry policy for outbound HTTP: a timeout on every attempt, backoff on 429 and 5xx, and on a dropped
|
|
2
|
+
* connection where a replay is safe. */
|
|
2
3
|
export interface RetryPolicy {
|
|
3
4
|
/** Per-attempt limit; a stalled peer ends as a thrown `TimeoutError`, never a hang. */
|
|
4
5
|
timeoutMs: number;
|
|
5
6
|
/** Total attempts including the first. */
|
|
6
7
|
attempts?: number;
|
|
7
|
-
/** Limit on the whole call, waits included: an attempt is cut short at it and no retry starts whose wait would
|
|
8
|
+
/** Limit on the whole call, waits included: an attempt is cut short at it and no retry starts whose wait would
|
|
9
|
+
* reach it. */
|
|
8
10
|
totalMs?: number;
|
|
9
11
|
baseDelayMs?: number;
|
|
10
12
|
/** A Retry-After longer than this hands the response back, so a caller with its own long pause keeps it. */
|
|
11
13
|
maxDelayMs?: number;
|
|
12
14
|
/** Which responses to retry; defaults to 429 and 5xx. A write narrows it to answers that prove nothing committed. */
|
|
13
15
|
retryOn?: (res: Response) => boolean;
|
|
14
|
-
/** Also retry a dropped connection or a timed-out attempt. On for GET and HEAD; any other method turns it on only
|
|
16
|
+
/** Also retry a dropped connection or a timed-out attempt. On for GET and HEAD; any other method turns it on only
|
|
17
|
+
* when a replay cannot commit twice. */
|
|
15
18
|
retryTransport?: boolean;
|
|
16
19
|
fetchFn?: typeof fetch;
|
|
17
20
|
/** Replaces the timer between attempts. A caller `signal` that aborts still ends the wait at once. */
|
|
@@ -20,14 +23,17 @@ export interface RetryPolicy {
|
|
|
20
23
|
/** Replaces the clock `totalMs` is measured on. */
|
|
21
24
|
now?: () => number;
|
|
22
25
|
}
|
|
23
|
-
/** LLM calls (consolidation refine, DAG summaries, fact extraction) share one budget; `HIPPO_LLM_TIMEOUT_MS`
|
|
26
|
+
/** LLM calls (consolidation refine, DAG summaries, fact extraction) share one budget; `HIPPO_LLM_TIMEOUT_MS`
|
|
27
|
+
* overrides it. */
|
|
24
28
|
export declare function llmTimeoutMs(): number;
|
|
25
|
-
/** One LLM call with its retries: two full attempts and the longest wait between them, where three slow failures
|
|
29
|
+
/** One LLM call with its retries: two full attempts and the longest wait between them, where three slow failures
|
|
30
|
+
* would hold a sleep for 3x the timeout. */
|
|
26
31
|
export declare function llmTotalMs(): number;
|
|
27
32
|
export declare function isRetryableStatus(status: number): boolean;
|
|
28
33
|
/** Retry-After as milliseconds: delta-seconds or an HTTP date; null when absent or unreadable. */
|
|
29
34
|
export declare function parseRetryAfterMs(header: string | null, now?: number): number | null;
|
|
30
|
-
/** A dropped connection, a DNS hiccup or a timed-out attempt: faults a second try can clear. A refused connection is
|
|
35
|
+
/** A dropped connection, a DNS hiccup or a timed-out attempt: faults a second try can clear. A refused connection is
|
|
36
|
+
* not one. */
|
|
31
37
|
export declare function isTransientTransportError<E>(err: E): boolean;
|
|
32
38
|
/** `fetch` with a per-attempt timeout and up to `attempts` tries on 429, 5xx and (see
|
|
33
39
|
* `retryTransport`) transport faults; the last response or error comes back as is. */
|
package/dist/util/http-retry.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
/** One retry policy for outbound HTTP: a timeout on every attempt, backoff on 429 and 5xx, and on a dropped
|
|
1
|
+
/** One retry policy for outbound HTTP: a timeout on every attempt, backoff on 429 and 5xx, and on a dropped
|
|
2
|
+
* connection where a replay is safe. */
|
|
2
3
|
import { MINUTE_MS } from './time.js';
|
|
3
4
|
import { envLlmTimeoutMs } from './env.js';
|
|
4
5
|
import { errorCode, errorFields, log } from './log.js';
|
|
@@ -6,11 +7,13 @@ const DEFAULT_ATTEMPTS = 3;
|
|
|
6
7
|
const DEFAULT_BASE_DELAY_MS = 250;
|
|
7
8
|
const DEFAULT_MAX_DELAY_MS = 8_000;
|
|
8
9
|
const DEFAULT_LLM_TIMEOUT_MS = MINUTE_MS;
|
|
9
|
-
/** LLM calls (consolidation refine, DAG summaries, fact extraction) share one budget; `HIPPO_LLM_TIMEOUT_MS`
|
|
10
|
+
/** LLM calls (consolidation refine, DAG summaries, fact extraction) share one budget; `HIPPO_LLM_TIMEOUT_MS`
|
|
11
|
+
* overrides it. */
|
|
10
12
|
export function llmTimeoutMs() {
|
|
11
13
|
return envLlmTimeoutMs() ?? DEFAULT_LLM_TIMEOUT_MS;
|
|
12
14
|
}
|
|
13
|
-
/** One LLM call with its retries: two full attempts and the longest wait between them, where three slow failures
|
|
15
|
+
/** One LLM call with its retries: two full attempts and the longest wait between them, where three slow failures
|
|
16
|
+
* would hold a sleep for 3x the timeout. */
|
|
14
17
|
export function llmTotalMs() {
|
|
15
18
|
return 2 * llmTimeoutMs() + DEFAULT_MAX_DELAY_MS;
|
|
16
19
|
}
|
|
@@ -31,7 +34,8 @@ export function parseRetryAfterMs(header, now = Date.now()) {
|
|
|
31
34
|
const TRANSIENT_CODES = new Set([
|
|
32
35
|
'ECONNRESET', 'ETIMEDOUT', 'EAI_AGAIN', 'UND_ERR_SOCKET', 'UND_ERR_CONNECT_TIMEOUT', 'UND_ERR_HEADERS_TIMEOUT',
|
|
33
36
|
]);
|
|
34
|
-
/** A dropped connection, a DNS hiccup or a timed-out attempt: faults a second try can clear. A refused connection is
|
|
37
|
+
/** A dropped connection, a DNS hiccup or a timed-out attempt: faults a second try can clear. A refused connection is
|
|
38
|
+
* not one. */
|
|
35
39
|
export function isTransientTransportError(err) {
|
|
36
40
|
if (!(err instanceof Error))
|
|
37
41
|
return false;
|
|
@@ -58,7 +62,11 @@ function redactedTarget(url) {
|
|
|
58
62
|
function logRetry(init, url, reason, attempt, attempts, delayMs) {
|
|
59
63
|
// Debug: an attempt that may still succeed is not a warning, and the caller reports the final failure.
|
|
60
64
|
log.debug('http retry', {
|
|
61
|
-
method: (init.method ?? 'GET').toUpperCase(),
|
|
65
|
+
method: (init.method ?? 'GET').toUpperCase(),
|
|
66
|
+
target: redactedTarget(url),
|
|
67
|
+
reason,
|
|
68
|
+
attempt: `${attempt}/${attempts}`,
|
|
69
|
+
delayMs: Math.round(delayMs),
|
|
62
70
|
});
|
|
63
71
|
}
|
|
64
72
|
// `cancel` clears the timer, so a wait the caller left does not keep the process alive.
|
|
@@ -66,7 +74,8 @@ const timerSleep = (ms, cancel) => new Promise((resolve) => {
|
|
|
66
74
|
const timer = setTimeout(resolve, ms);
|
|
67
75
|
cancel?.addEventListener('abort', () => clearTimeout(timer), { once: true });
|
|
68
76
|
});
|
|
69
|
-
/** The wait between attempts. With a caller signal it ends the moment that signal aborts and rejects with its
|
|
77
|
+
/** The wait between attempts. With a caller signal it ends the moment that signal aborts and rejects with its
|
|
78
|
+
* reason, so no further attempt starts. */
|
|
70
79
|
async function backoffWait(ms, sleep, signal) {
|
|
71
80
|
if (!signal)
|
|
72
81
|
return (sleep ?? timerSleep)(ms);
|
|
@@ -132,6 +141,7 @@ export async function fetchWithRetry(url, init, policy) {
|
|
|
132
141
|
await res.body?.cancel();
|
|
133
142
|
}
|
|
134
143
|
catch (err) {
|
|
144
|
+
// Best-effort: the response is spent either way, so a failed cancel only leaves the socket to idle out.
|
|
135
145
|
log.debug('http retry: body cancel failed', errorFields(err));
|
|
136
146
|
}
|
|
137
147
|
logRetry(init, url, `status ${res.status}`, attempt, attempts, delay);
|
package/dist/util/http-util.d.ts
CHANGED
|
@@ -10,7 +10,10 @@ export declare class HttpError extends Error {
|
|
|
10
10
|
readonly retryAfterSec: number | undefined;
|
|
11
11
|
constructor(status: number, message: string, retryAfterSec?: number);
|
|
12
12
|
}
|
|
13
|
-
/**
|
|
13
|
+
/**
|
|
14
|
+
* A request, or a store call it waited on, ran past the request's deadline; the reply carries `code` so a client
|
|
15
|
+
* branches without parsing prose.
|
|
16
|
+
*/
|
|
14
17
|
export declare class DeadlineExceededError extends HttpError {
|
|
15
18
|
readonly code = "deadline_exceeded";
|
|
16
19
|
constructor(message: string);
|
|
@@ -25,7 +28,10 @@ export declare const INTERNAL_ERROR_MESSAGE = "internal server error";
|
|
|
25
28
|
export declare const STORE_NOT_PORTED_MESSAGE = "store_not_ported";
|
|
26
29
|
/** Serialises before the head goes out, so a body that is not JSON still reaches the caller's error reply. */
|
|
27
30
|
export declare function sendJson<T>(res: ServerResponse, status: number, body: T): void;
|
|
28
|
-
/**
|
|
31
|
+
/**
|
|
32
|
+
* How long any route waits for a request body, so a client that sends headers and then stalls cannot hold a request
|
|
33
|
+
* open: 30 s, or HIPPO_BODY_TIMEOUT_MS.
|
|
34
|
+
*/
|
|
29
35
|
export declare function bodyDeadlineMs(): number;
|
|
30
36
|
export interface ReadBodyOpts {
|
|
31
37
|
/** Defaults to 1 MB. */
|
|
@@ -33,7 +39,10 @@ export interface ReadBodyOpts {
|
|
|
33
39
|
/** Fails with BodyTimeoutError when the whole body has not arrived by then; defaults to bodyDeadlineMs(). */
|
|
34
40
|
deadlineMs?: number;
|
|
35
41
|
}
|
|
36
|
-
/**
|
|
42
|
+
/**
|
|
43
|
+
* The body as text, refused mid-stream past maxBytes and past deadlineMs, so an oversized or slow sender cannot tie up
|
|
44
|
+
* the server.
|
|
45
|
+
*/
|
|
37
46
|
export declare function readBody(req: IncomingMessage, { maxBytes, deadlineMs }?: ReadBodyOpts): Promise<string>;
|
|
38
47
|
export declare function closeAfterReply(req: IncomingMessage): void;
|
|
39
48
|
export declare const LOOPBACK_HOST_HEADER: RegExp;
|
|
@@ -48,8 +57,14 @@ export interface WebhookRequest {
|
|
|
48
57
|
webhookBodyDeadlineMs?: number;
|
|
49
58
|
};
|
|
50
59
|
}
|
|
51
|
-
/**
|
|
60
|
+
/**
|
|
61
|
+
* Call before refusing a webhook unread: a caller still sending its body loses the socket once the reply is out, as it
|
|
62
|
+
* does after a 413.
|
|
63
|
+
*/
|
|
52
64
|
export declare function closeIfBodyUnread({ req, res }: WebhookRequest): void;
|
|
53
|
-
/**
|
|
65
|
+
/**
|
|
66
|
+
* A webhook's raw body, exactly as sent, for the receiver's HMAC check; call it only once a secret is configured and
|
|
67
|
+
* the signature headers are present.
|
|
68
|
+
*/
|
|
54
69
|
export declare function readWebhookBody({ req, opts }: WebhookRequest): Promise<string>;
|
|
55
70
|
//# sourceMappingURL=http-util.d.ts.map
|