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,6 +1,7 @@
|
|
|
1
1
|
/** Project_brief object: the living, repo-scoped `summary` of a repository, evolving via supersession.
|
|
2
|
-
* `
|
|
3
|
-
* The `project_briefs` table is the source of truth; the memory mirror (memory_id NULLABLE,
|
|
2
|
+
* `refreshedBrief` assembles recent `path:<repo>` receipts with a deterministic (no-LLM) assembler; an LLM
|
|
3
|
+
* pipeline is deferred. The `project_briefs` table is the source of truth; the memory mirror (memory_id NULLABLE,
|
|
4
|
+
* ON DELETE SET NULL) is for recall. */
|
|
4
5
|
import type { KeysetPosition } from '../util/keyset.js';
|
|
5
6
|
import type { SavableDescriptor } from './descriptor.js';
|
|
6
7
|
import { type ObjectSaveSite } from './lifecycle.js';
|
|
@@ -27,7 +28,7 @@ export interface SaveProjectBriefOpts {
|
|
|
27
28
|
supersedesBriefId?: number;
|
|
28
29
|
/** Extra memory tags merged after ['project_brief']. */
|
|
29
30
|
extraTags?: string[];
|
|
30
|
-
/** Internal: set by
|
|
31
|
+
/** Internal: set by refreshedBrief to the receipt count so audit metadata marks the write as an auto-refresh
|
|
31
32
|
* without a 4th audit op. Not part of the CLI/HTTP surface. */
|
|
32
33
|
refreshReceiptCount?: number;
|
|
33
34
|
}
|
|
@@ -40,16 +41,16 @@ export interface ListProjectBriefsOpts {
|
|
|
40
41
|
after?: KeysetPosition;
|
|
41
42
|
}
|
|
42
43
|
export declare const PROJECT_BRIEF: SavableDescriptor<'project_brief', SaveProjectBriefOpts>;
|
|
43
|
-
/** Create a project_brief, or a new version superseding an
|
|
44
|
-
|
|
44
|
+
/** Create a project_brief, or a new version superseding an
|
|
45
|
+
* existing one, in the `objects` store group's one transaction. */
|
|
46
|
+
export declare function saveProjectBrief(objects: Objects, hippoRoot: string, tenantId: string, opts: SaveProjectBriefOpts, actor?: string): Promise<ProjectBrief>;
|
|
45
47
|
/** Close (retire) an active brief; a superseded row is terminal. */
|
|
46
|
-
export declare function closeProjectBrief(
|
|
47
|
-
export declare function loadProjectBriefById(
|
|
48
|
-
export declare function loadProjectBriefs(
|
|
49
|
-
/** Assemble the repo's recent receipts into a deterministic markdown digest and return it with the receipt count;
|
|
50
|
-
* The brief's own mirror (source='project_brief') is excluded; the quotes in
|
|
51
|
-
|
|
52
|
-
/** `assembleBriefFromReceipts` over a served store's group. */
|
|
48
|
+
export declare function closeProjectBrief(objects: Objects, tenantId: string, id: number, actor?: string): Promise<ProjectBrief>;
|
|
49
|
+
export declare function loadProjectBriefById(objects: Objects, tenantId: string, id: number): Promise<ProjectBrief | null>;
|
|
50
|
+
export declare function loadProjectBriefs(objects: Objects, tenantId: string, opts?: ListProjectBriefsOpts): Promise<ProjectBrief[]>;
|
|
51
|
+
/** Assemble the repo's recent receipts into a deterministic markdown digest and return it with the receipt count;
|
|
52
|
+
* never empty (summary is NOT NULL). The brief's own mirror (source='project_brief') is excluded; the quotes in
|
|
53
|
+
* the JSON-array LIKE are load-bearing (`hip` must not match `path:hippo`). */
|
|
53
54
|
export declare function briefFromReceipts(objects: Objects, tenantId: string, repo: string): Promise<BriefDigest>;
|
|
54
55
|
export interface BriefDigest {
|
|
55
56
|
markdown: string;
|
|
@@ -57,7 +58,5 @@ export interface BriefDigest {
|
|
|
57
58
|
}
|
|
58
59
|
/** Saves a new version of the repo's brief from its receipts. The receipts are read before
|
|
59
60
|
* the save's transaction, so a receipt written in between shows in the next refresh. */
|
|
60
|
-
export declare function refreshBrief(hippoRoot: string, tenantId: string, repo: string, actor?: string): ProjectBrief;
|
|
61
|
-
/** `refreshBrief` over a served store's group. */
|
|
62
61
|
export declare function refreshedBrief(objects: Objects, site: ObjectSaveSite, repo: string): Promise<ProjectBrief>;
|
|
63
62
|
//# sourceMappingURL=project-briefs.d.ts.map
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
/** Project_brief object: the living, repo-scoped `summary` of a repository, evolving via supersession.
|
|
2
|
-
* `
|
|
3
|
-
* The `project_briefs` table is the source of truth; the memory mirror (memory_id NULLABLE,
|
|
2
|
+
* `refreshedBrief` assembles recent `path:<repo>` receipts with a deterministic (no-LLM) assembler; an LLM
|
|
3
|
+
* pipeline is deferred. The `project_briefs` table is the source of truth; the memory mirror (memory_id NULLABLE,
|
|
4
|
+
* ON DELETE SET NULL) is for recall. */
|
|
4
5
|
import { truncateWithEllipsis } from '../util/ellipsize.js';
|
|
5
6
|
import { BadRequestError } from '../core/api-errors.js';
|
|
6
7
|
import { assertTenantId } from '../store/tenant.js';
|
|
7
8
|
import { checkText, requireLine } from './fields.js';
|
|
8
|
-
import {
|
|
9
|
-
import { sqliteObjects } from '../store/sqlite/objects-group.js';
|
|
9
|
+
import { closeObject, listObjects, objectById, saveObject } from './lifecycle.js';
|
|
10
10
|
export const VALID_BRIEF_STATES = new Set([
|
|
11
11
|
'active',
|
|
12
12
|
'superseded',
|
|
@@ -58,26 +58,25 @@ export const PROJECT_BRIEF = {
|
|
|
58
58
|
function buildBriefContent(repo, summary) {
|
|
59
59
|
return `${repo}\n\n${summary}`;
|
|
60
60
|
}
|
|
61
|
-
/** Create a project_brief, or a new version superseding an
|
|
62
|
-
|
|
63
|
-
|
|
61
|
+
/** Create a project_brief, or a new version superseding an
|
|
62
|
+
* existing one, in the `objects` store group's one transaction. */
|
|
63
|
+
export function saveProjectBrief(objects, hippoRoot, tenantId, opts, actor = 'cli') {
|
|
64
|
+
return saveObject(objects, PROJECT_BRIEF, { hippoRoot, tenantId, actor }, opts);
|
|
64
65
|
}
|
|
65
66
|
/** Close (retire) an active brief; a superseded row is terminal. */
|
|
66
|
-
export function closeProjectBrief(
|
|
67
|
-
return
|
|
67
|
+
export function closeProjectBrief(objects, tenantId, id, actor = 'cli') {
|
|
68
|
+
return closeObject(objects, PROJECT_BRIEF, tenantId, id, actor);
|
|
68
69
|
}
|
|
69
|
-
export function loadProjectBriefById(
|
|
70
|
-
return
|
|
70
|
+
export function loadProjectBriefById(objects, tenantId, id) {
|
|
71
|
+
return objectById(objects, PROJECT_BRIEF, tenantId, id);
|
|
71
72
|
}
|
|
72
|
-
export function loadProjectBriefs(
|
|
73
|
-
return
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
return null;
|
|
80
|
-
return sqliteObjects(hippoRoot).listObjects(tenantId, 'project_brief', newestActive(repo))[0] ?? null;
|
|
73
|
+
export function loadProjectBriefs(objects, tenantId, opts = {}) {
|
|
74
|
+
return listObjects(objects, PROJECT_BRIEF, tenantId, {
|
|
75
|
+
status: opts.status,
|
|
76
|
+
filter: opts.repo,
|
|
77
|
+
limit: opts.limit,
|
|
78
|
+
after: opts.after,
|
|
79
|
+
});
|
|
81
80
|
}
|
|
82
81
|
/** An empty filter lists every repo, so the callers refuse an empty repo first. */
|
|
83
82
|
function newestActive(repo) {
|
|
@@ -94,8 +93,9 @@ function receiptHeadline(content) {
|
|
|
94
93
|
function receiptTag(normalizedRepo) {
|
|
95
94
|
return `path:${normalizedRepo.toLowerCase()}`;
|
|
96
95
|
}
|
|
97
|
-
// `id DESC` is a lexical tiebreak on a random-ish id, so same-`created` order is stable but arbitrary;
|
|
98
|
-
// Receipt lines go newest-first only while they fit MAX_BRIEF_SUMMARY_LEN
|
|
96
|
+
// `id DESC` is a lexical tiebreak on a random-ish id, so same-`created` order is stable but arbitrary;
|
|
97
|
+
// `created DESC` is the recency order. Receipt lines go newest-first only while they fit MAX_BRIEF_SUMMARY_LEN
|
|
98
|
+
// (reserving slack for header and omission footer), else the store rejects the body.
|
|
99
99
|
function fitReceiptLines(receipts) {
|
|
100
100
|
const buildReceiptLine = (r) => `- ${(r.created ?? '').slice(0, 10)} [${r.source}] ${receiptHeadline(r.content)}`;
|
|
101
101
|
const receiptLines = [];
|
|
@@ -142,16 +142,13 @@ function renderBriefDigest(normalizedRepo, receiptCount, receiptLines) {
|
|
|
142
142
|
}
|
|
143
143
|
return markdown;
|
|
144
144
|
}
|
|
145
|
-
/** Assemble the repo's recent receipts into a deterministic markdown digest and return it with the receipt count;
|
|
146
|
-
* The brief's own mirror (source='project_brief') is excluded; the quotes in
|
|
147
|
-
|
|
148
|
-
const normalizedRepo = requiredRepo('assembleBriefFromReceipts', tenantId, repo);
|
|
149
|
-
return briefDigest(normalizedRepo, sqliteObjects(hippoRoot).briefReceipts(tenantId, receiptTag(normalizedRepo), MAX_BRIEF_RECEIPTS));
|
|
150
|
-
}
|
|
151
|
-
/** `assembleBriefFromReceipts` over a served store's group. */
|
|
145
|
+
/** Assemble the repo's recent receipts into a deterministic markdown digest and return it with the receipt count;
|
|
146
|
+
* never empty (summary is NOT NULL). The brief's own mirror (source='project_brief') is excluded; the quotes in
|
|
147
|
+
* the JSON-array LIKE are load-bearing (`hip` must not match `path:hippo`). */
|
|
152
148
|
export async function briefFromReceipts(objects, tenantId, repo) {
|
|
153
149
|
const normalizedRepo = requiredRepo('assembleBriefFromReceipts', tenantId, repo);
|
|
154
|
-
|
|
150
|
+
const receipts = await objects.briefReceipts(tenantId, receiptTag(normalizedRepo), MAX_BRIEF_RECEIPTS);
|
|
151
|
+
return briefDigest(normalizedRepo, receipts);
|
|
155
152
|
}
|
|
156
153
|
function requiredRepo(fn, tenantId, repo) {
|
|
157
154
|
assertTenantId(fn, tenantId);
|
|
@@ -161,7 +158,10 @@ function requiredRepo(fn, tenantId, repo) {
|
|
|
161
158
|
return normalizedRepo;
|
|
162
159
|
}
|
|
163
160
|
function briefDigest(normalizedRepo, receipts) {
|
|
164
|
-
return {
|
|
161
|
+
return {
|
|
162
|
+
markdown: renderBriefDigest(normalizedRepo, receipts.length, fitReceiptLines(receipts)),
|
|
163
|
+
receiptCount: receipts.length,
|
|
164
|
+
};
|
|
165
165
|
}
|
|
166
166
|
/** The version a refresh saves: a successor of the repo's active brief when it has one, else a first version. */
|
|
167
167
|
function refreshWrite(normalizedRepo, digest, active) {
|
|
@@ -171,19 +171,13 @@ function refreshWrite(normalizedRepo, digest, active) {
|
|
|
171
171
|
changeSummary: active ? `auto-refresh from ${digest.receiptCount} receipt(s)` : undefined,
|
|
172
172
|
supersedesBriefId: active ? active.id : undefined,
|
|
173
173
|
refreshReceiptCount: digest.receiptCount,
|
|
174
|
-
// The path tag lets path-aware recall boost the brief; it cannot become its own receipt, because receipts
|
|
174
|
+
// The path tag lets path-aware recall boost the brief; it cannot become its own receipt, because receipts
|
|
175
|
+
// leave out source project_brief.
|
|
175
176
|
extraTags: [receiptTag(normalizedRepo)],
|
|
176
177
|
};
|
|
177
178
|
}
|
|
178
179
|
/** Saves a new version of the repo's brief from its receipts. The receipts are read before
|
|
179
180
|
* the save's transaction, so a receipt written in between shows in the next refresh. */
|
|
180
|
-
export function refreshBrief(hippoRoot, tenantId, repo, actor = 'cli') {
|
|
181
|
-
const normalizedRepo = requiredRepo('refreshBrief', tenantId, repo);
|
|
182
|
-
const digest = assembleBriefFromReceipts(hippoRoot, tenantId, normalizedRepo);
|
|
183
|
-
const active = loadActiveBriefForRepo(hippoRoot, tenantId, normalizedRepo);
|
|
184
|
-
return saveProjectBrief(hippoRoot, tenantId, refreshWrite(normalizedRepo, digest, active), actor);
|
|
185
|
-
}
|
|
186
|
-
/** `refreshBrief` over a served store's group. */
|
|
187
181
|
export async function refreshedBrief(objects, site, repo) {
|
|
188
182
|
const normalizedRepo = requiredRepo('refreshBrief', site.tenantId, repo);
|
|
189
183
|
const digest = await briefFromReceipts(objects, site.tenantId, normalizedRepo);
|
package/dist/objects/skills.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/** Skill object: an agent-followable `instructions` body plus an optional `trigger`, evolving via supersession.
|
|
2
|
-
* `
|
|
3
|
-
* `trigger` is stored in `trigger_text` because it is a SQLite reserved keyword. */
|
|
2
|
+
* `skillsMarkdown` renders ACTIVE skills into AGENTS.md / CLAUDE.md rules; running code from a skill is deferred
|
|
3
|
+
* (security). `trigger` is stored in `trigger_text` because it is a SQLite reserved keyword. */
|
|
4
4
|
import type { KeysetPosition } from '../util/keyset.js';
|
|
5
5
|
import type { SavableDescriptor } from './descriptor.js';
|
|
6
6
|
import type { Skill, SkillStatus } from '../core/object-types.js';
|
|
@@ -35,17 +35,15 @@ export interface ListSkillsOpts {
|
|
|
35
35
|
}
|
|
36
36
|
export declare const SKILL: SavableDescriptor<'skill', SaveSkillOpts>;
|
|
37
37
|
/** Create a skill, or a new version superseding an existing one, in the `objects` store group's one transaction. */
|
|
38
|
-
export declare function saveSkill(hippoRoot: string, tenantId: string, opts: SaveSkillOpts, actor?: string): Skill
|
|
38
|
+
export declare function saveSkill(objects: Objects, hippoRoot: string, tenantId: string, opts: SaveSkillOpts, actor?: string): Promise<Skill>;
|
|
39
39
|
/** Close (retire) an active skill; a superseded row is terminal. */
|
|
40
|
-
export declare function closeSkill(
|
|
41
|
-
export declare function loadSkillById(
|
|
42
|
-
export declare function loadSkills(
|
|
43
|
-
export declare function loadActiveSkills(
|
|
40
|
+
export declare function closeSkill(objects: Objects, tenantId: string, id: number, actor?: string): Promise<Skill>;
|
|
41
|
+
export declare function loadSkillById(objects: Objects, tenantId: string, id: number): Promise<Skill | null>;
|
|
42
|
+
export declare function loadSkills(objects: Objects, tenantId: string, opts?: ListSkillsOpts): Promise<Skill[]>;
|
|
43
|
+
export declare function loadActiveSkills(objects: Objects, tenantId: string, opts?: {
|
|
44
44
|
limit?: number;
|
|
45
|
-
}): Skill[]
|
|
46
|
-
/** Render the tenant's ACTIVE skills into one AGENTS.md / CLAUDE.md-style markdown block (H2 per skill, ordered by
|
|
47
|
-
* Bounded by MAX_EXPORT_SKILLS rows; instructions are emitted verbatim. */
|
|
48
|
-
export declare function exportSkills(hippoRoot: string, tenantId: string): string;
|
|
49
|
-
/** `exportSkills` over a served store's group. */
|
|
45
|
+
}): Promise<Skill[]>;
|
|
46
|
+
/** Render the tenant's ACTIVE skills into one AGENTS.md / CLAUDE.md-style markdown block (H2 per skill, ordered by
|
|
47
|
+
* skill_name) and return it; writes no file. Bounded by MAX_EXPORT_SKILLS rows; instructions are emitted verbatim. */
|
|
50
48
|
export declare function skillsMarkdown(objects: Objects, tenantId: string): Promise<string>;
|
|
51
49
|
//# sourceMappingURL=skills.d.ts.map
|
package/dist/objects/skills.js
CHANGED
|
@@ -1,11 +1,10 @@
|
|
|
1
1
|
/** Skill object: an agent-followable `instructions` body plus an optional `trigger`, evolving via supersession.
|
|
2
|
-
* `
|
|
3
|
-
* `trigger` is stored in `trigger_text` because it is a SQLite reserved keyword. */
|
|
2
|
+
* `skillsMarkdown` renders ACTIVE skills into AGENTS.md / CLAUDE.md rules; running code from a skill is deferred
|
|
3
|
+
* (security). `trigger` is stored in `trigger_text` because it is a SQLite reserved keyword. */
|
|
4
4
|
import { BadRequestError } from '../core/api-errors.js';
|
|
5
5
|
import { assertTenantId } from '../store/tenant.js';
|
|
6
6
|
import { checkText, requireLine } from './fields.js';
|
|
7
|
-
import {
|
|
8
|
-
import { sqliteObjects } from '../store/sqlite/objects-group.js';
|
|
7
|
+
import { closeObject, listObjects, objectById, saveObject } from './lifecycle.js';
|
|
9
8
|
export const VALID_SKILL_STATES = new Set([
|
|
10
9
|
'active',
|
|
11
10
|
'superseded',
|
|
@@ -19,7 +18,8 @@ export const MAX_SKILL_TRIGGER_LEN = 1024;
|
|
|
19
18
|
/** Aggregate bound on a single export render so the export body is never unbounded.
|
|
20
19
|
* Realistic active-skill counts are tens; 1000 is a generous bound. */
|
|
21
20
|
export const MAX_EXPORT_SKILLS = 1000;
|
|
22
|
-
/** The trigger as stored, or null for none. One line, because a newline would forge a heading inside the
|
|
21
|
+
/** The trigger as stored, or null for none. One line, because a newline would forge a heading inside the
|
|
22
|
+
* exported **When:** line. */
|
|
23
23
|
function checkTrigger(trigger) {
|
|
24
24
|
if (trigger === undefined || trigger === null || trigger.trim().length === 0)
|
|
25
25
|
return null;
|
|
@@ -69,29 +69,24 @@ export const SKILL = {
|
|
|
69
69
|
},
|
|
70
70
|
};
|
|
71
71
|
/** Create a skill, or a new version superseding an existing one, in the `objects` store group's one transaction. */
|
|
72
|
-
export function saveSkill(hippoRoot, tenantId, opts, actor = 'cli') {
|
|
73
|
-
return
|
|
72
|
+
export function saveSkill(objects, hippoRoot, tenantId, opts, actor = 'cli') {
|
|
73
|
+
return saveObject(objects, SKILL, { hippoRoot, tenantId, actor }, opts);
|
|
74
74
|
}
|
|
75
75
|
/** Close (retire) an active skill; a superseded row is terminal. */
|
|
76
|
-
export function closeSkill(
|
|
77
|
-
return
|
|
76
|
+
export function closeSkill(objects, tenantId, id, actor = 'cli') {
|
|
77
|
+
return closeObject(objects, SKILL, tenantId, id, actor);
|
|
78
78
|
}
|
|
79
|
-
export function loadSkillById(
|
|
80
|
-
return
|
|
79
|
+
export function loadSkillById(objects, tenantId, id) {
|
|
80
|
+
return objectById(objects, SKILL, tenantId, id);
|
|
81
81
|
}
|
|
82
|
-
export function loadSkills(
|
|
83
|
-
return
|
|
82
|
+
export function loadSkills(objects, tenantId, opts = {}) {
|
|
83
|
+
return listObjects(objects, SKILL, tenantId, opts);
|
|
84
84
|
}
|
|
85
|
-
export function loadActiveSkills(
|
|
86
|
-
return loadSkills(
|
|
85
|
+
export function loadActiveSkills(objects, tenantId, opts = {}) {
|
|
86
|
+
return loadSkills(objects, tenantId, { status: 'active', limit: opts.limit });
|
|
87
87
|
}
|
|
88
|
-
/** Render the tenant's ACTIVE skills into one AGENTS.md / CLAUDE.md-style markdown block (H2 per skill, ordered by
|
|
89
|
-
* Bounded by MAX_EXPORT_SKILLS rows; instructions are emitted verbatim. */
|
|
90
|
-
export function exportSkills(hippoRoot, tenantId) {
|
|
91
|
-
assertTenantId('exportSkills', tenantId);
|
|
92
|
-
return skillsBlock(sqliteObjects(hippoRoot).activeSkillsByName(tenantId, MAX_EXPORT_SKILLS));
|
|
93
|
-
}
|
|
94
|
-
/** `exportSkills` over a served store's group. */
|
|
88
|
+
/** Render the tenant's ACTIVE skills into one AGENTS.md / CLAUDE.md-style markdown block (H2 per skill, ordered by
|
|
89
|
+
* skill_name) and return it; writes no file. Bounded by MAX_EXPORT_SKILLS rows; instructions are emitted verbatim. */
|
|
95
90
|
export async function skillsMarkdown(objects, tenantId) {
|
|
96
91
|
assertTenantId('exportSkills', tenantId);
|
|
97
92
|
return skillsBlock(await objects.activeSkillsByName(tenantId, MAX_EXPORT_SKILLS));
|
package/dist/postinstall.js
CHANGED
|
@@ -4,18 +4,20 @@ import * as os from 'node:os';
|
|
|
4
4
|
import * as path from 'node:path';
|
|
5
5
|
import { detectRealCodexPath, isCodexWrapperInstalled, repairCodexWrapperIfInstalled } from './hooks/codex-wrapper.js';
|
|
6
6
|
import { claudeConfigDir } from './util/agent-homes.js';
|
|
7
|
-
import { errorMessage, log } from './util/log.js';
|
|
7
|
+
import { errorFields, errorMessage, log } from './util/log.js';
|
|
8
8
|
function main() {
|
|
9
9
|
if (envSkipPostinstall())
|
|
10
10
|
return;
|
|
11
11
|
try {
|
|
12
|
-
// Repair-only, for users who opted in (a Codex update can restore the real binary over our shim): swapping the
|
|
13
|
-
//
|
|
12
|
+
// Repair-only, for users who opted in (a Codex update can restore the real binary over our shim): swapping the
|
|
13
|
+
// binary from postinstall
|
|
14
|
+
// is a consent violation that supply-chain scanners read as hijacking, so first install is `hippo hook install
|
|
15
|
+
// codex` only.
|
|
14
16
|
repairCodexWrapperIfInstalled();
|
|
15
17
|
}
|
|
16
18
|
catch (err) {
|
|
17
19
|
// Never fail package install because auto-integration could not be applied.
|
|
18
|
-
log.
|
|
20
|
+
log.warn(`postinstall: codex wrapper not repaired: ${errorMessage(err)}`, errorFields(err));
|
|
19
21
|
}
|
|
20
22
|
try {
|
|
21
23
|
printClaudeCodeNudge();
|
|
@@ -30,8 +32,12 @@ function main() {
|
|
|
30
32
|
// Never fail package install because the install hint could not be printed.
|
|
31
33
|
}
|
|
32
34
|
}
|
|
33
|
-
/**
|
|
34
|
-
*
|
|
35
|
+
/**
|
|
36
|
+
* Read-only nudge: if Claude Code is detected and the Hippo UserPromptSubmit hook is not installed, point the user at
|
|
37
|
+
* `hippo init`.
|
|
38
|
+
* It never patches ~/.claude/settings.json from a package postinstall: surprising, against least authority, and trips
|
|
39
|
+
* security scanners.
|
|
40
|
+
*/
|
|
35
41
|
function printClaudeCodeNudge() {
|
|
36
42
|
const claudeDir = claudeConfigDir(os.homedir());
|
|
37
43
|
if (!fs.existsSync(claudeDir))
|
|
@@ -67,7 +73,9 @@ function printClaudeCodeNudge() {
|
|
|
67
73
|
line('To skip this message on future installs: export HIPPO_SKIP_POSTINSTALL=1');
|
|
68
74
|
line('');
|
|
69
75
|
}
|
|
70
|
-
/**
|
|
76
|
+
/**
|
|
77
|
+
* Read-only nudge: if the Codex CLI is on PATH and the session-capture wrapper is not installed, print the opt-in
|
|
78
|
+
* command;
|
|
71
79
|
* same least-authority reasoning as the Claude Code nudge, we never swap the user's binary. */
|
|
72
80
|
function printCodexNudge() {
|
|
73
81
|
if (isCodexWrapperInstalled())
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import type { AppendAuditOpts } from '../store/audit.js';
|
|
2
2
|
import { type ForwardClaimMatch } from '../learn/forward-claim-detector.js';
|
|
3
3
|
import type { PlanningFallacyEvidence } from '../store/planning-fallacy-evidence.js';
|
|
4
|
-
/**
|
|
4
|
+
/**
|
|
5
|
+
* Surface delivered on `RecallResult.planningFallacyHint` when a recall query carries a forward-prediction phrase and
|
|
6
|
+
* the closest class has closed history,
|
|
5
7
|
* so the agent sees its own track record at the moment of forecasting. */
|
|
6
8
|
export interface PlanningFallacyHint {
|
|
7
9
|
classTag: string;
|
|
@@ -10,25 +12,36 @@ export interface PlanningFallacyHint {
|
|
|
10
12
|
baserateSummary: string;
|
|
11
13
|
/** Discriminator vs hypothetical future manual-override hints. */
|
|
12
14
|
source: 'j3.2-auto';
|
|
13
|
-
/**
|
|
15
|
+
/**
|
|
16
|
+
* The regex match snippet that triggered detection, so the agent sees WHY the hint appeared and can self-correct if
|
|
17
|
+
* detection misfired.
|
|
18
|
+
*/
|
|
14
19
|
detectedPhrase: string;
|
|
15
20
|
nClosed: number;
|
|
16
21
|
/** Null only when every closed-row had estimate_value=0 (ratio undefined). */
|
|
17
22
|
meanRatio: number | null;
|
|
18
23
|
}
|
|
19
|
-
/**
|
|
20
|
-
*
|
|
24
|
+
/**
|
|
25
|
+
* "Watching" variant emitted when the forward-claim regex matched but no baserate hint was returned (no prediction
|
|
26
|
+
* class tag overlaps the query's tokens).
|
|
27
|
+
* It surfaces the detection plus a one-line suggestion so the agent can re-tag the prediction or pass the suggestion to
|
|
28
|
+
* the user.
|
|
29
|
+
*/
|
|
21
30
|
export interface PlanningFallacyWatching {
|
|
22
31
|
/** The forward-claim phrase the detector matched (verbatim regex match snippet). */
|
|
23
32
|
detectedPhrase: string;
|
|
24
|
-
/**
|
|
33
|
+
/**
|
|
34
|
+
* Why hippo could not produce a baserate hint despite the match: 'no_class_match' (no class scored >=1 on token
|
|
35
|
+
* overlap)
|
|
25
36
|
* or 'tiebreak' (>=2 classes tied at the best score; silent on ambiguity). */
|
|
26
37
|
reason: 'no_class_match' | 'tiebreak';
|
|
27
38
|
/** One-line agent-facing suggestion for how the user can give hippo
|
|
28
39
|
* enough signal to produce a baserate next time. */
|
|
29
40
|
suggestion: string;
|
|
30
41
|
}
|
|
31
|
-
/**
|
|
42
|
+
/**
|
|
43
|
+
* What `decidePlanningFallacy` hands to recall: EITHER `hint` (baserate available) OR `watching` (regex fired, no
|
|
44
|
+
* baserate), or NEITHER (mode=off,
|
|
32
45
|
* no queryText, no regex match, or nClosed=0). Never both. */
|
|
33
46
|
export interface PlanningFallacyOutput {
|
|
34
47
|
hint?: PlanningFallacyHint;
|
|
@@ -3,7 +3,8 @@ import { detectForwardClaim } from '../learn/forward-claim-detector.js';
|
|
|
3
3
|
const TARGET_ID_CHARS = 100;
|
|
4
4
|
/** The forward claim in a recall query; null when HIPPO_AUTODEBIAS=off, the query is empty or no claim matches. */
|
|
5
5
|
export function detectPlanningClaim(queryText, opts = {}) {
|
|
6
|
-
// Env read FIRST so AUTODEBIAS=off pays zero regex cost; read per call so tests can toggle it without a module
|
|
6
|
+
// Env read FIRST so AUTODEBIAS=off pays zero regex cost; read per call so tests can toggle it without a module
|
|
7
|
+
// reload.
|
|
7
8
|
const mode = opts.mode ?? (envAutodebiasOff() ? 'off' : 'regex');
|
|
8
9
|
if (mode === 'off')
|
|
9
10
|
return null;
|
|
@@ -52,7 +53,8 @@ export function decidePlanningFallacy(match, evidence, tenantId, actor) {
|
|
|
52
53
|
};
|
|
53
54
|
}
|
|
54
55
|
const TIEBREAK_SUGGESTION = 'Multiple prediction classes tied on this query. Refine the query or rename overlapping classes to break the tie.';
|
|
55
|
-
const NO_CLASS_MATCH_SUGGESTION = 'No matching prediction class for this forward-claim. Tag your prediction with `hippo predict --class <name>` to
|
|
56
|
+
const NO_CLASS_MATCH_SUGGESTION = 'No matching prediction class for this forward-claim. Tag your prediction with `hippo predict --class <name>` to ' +
|
|
57
|
+
'start tracking this class.';
|
|
56
58
|
function watchingWithAudit(tenantId, actor, match, reason, suggestion) {
|
|
57
59
|
return {
|
|
58
60
|
output: {
|
package/dist/rerankers/clef.d.ts
CHANGED
|
@@ -17,9 +17,15 @@ interface ClefScores {
|
|
|
17
17
|
}
|
|
18
18
|
/** Transport from trusted local env, never call arguments: HIPPO_CLEF_ENDPOINT wins over hosted Workers AI. */
|
|
19
19
|
export declare function resolveClefRoute(model: ClefModel): ClefRoute;
|
|
20
|
-
/**
|
|
20
|
+
/**
|
|
21
|
+
* Unwraps a Workers AI `{ result }` envelope or a bare System One reply and checks model and `c1..cN`; a string is the
|
|
22
|
+
* rejection reason.
|
|
23
|
+
*/
|
|
21
24
|
export declare function parseClefReply(body: JsonValue, n: number, model: ClefModel, requireModel: boolean): ClefScores | string;
|
|
22
|
-
/**
|
|
25
|
+
/**
|
|
26
|
+
* A CLEF reranker for one model: Jev's request shape and pool; any failure keeps the native order (never paid Jev) and
|
|
27
|
+
* warns.
|
|
28
|
+
*/
|
|
23
29
|
export declare function createClefReranker(model: ClefModel): RerankerFn;
|
|
24
30
|
export {};
|
|
25
31
|
//# sourceMappingURL=clef.d.ts.map
|
package/dist/rerankers/clef.js
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
1
|
-
import { envClefEndpoint, envClefEndpointToken, envClefTimeoutMs, envCloudflareAccountId, envCloudflareApiToken } from '../util/env.js';
|
|
1
|
+
import { envClefEndpoint, envClefEndpointToken, envClefTimeoutMs, envCloudflareAccountId, envCloudflareApiToken, } from '../util/env.js';
|
|
2
2
|
import { buildRelevanceRequest, JEV_DEFAULT_TOP_K, rankByScores } from './jev.js';
|
|
3
3
|
import { createOutageWarning } from './outage-warning.js';
|
|
4
4
|
import { rerankerPost, RERANKER_MAX_REPLY_BYTES } from './remote.js';
|
|
5
5
|
import { readCappedJson } from '../util/capped-json.js';
|
|
6
6
|
import { isJsonObject, isJsonString } from '../util/json.js';
|
|
7
7
|
import { errorMessage } from '../util/log.js';
|
|
8
|
+
import { isLoopbackHost } from '../util/net.js';
|
|
8
9
|
const RAY_ID_MAX_CHARS = 64;
|
|
9
10
|
const CLEF_MODELS = ['clef-flash', 'clef'];
|
|
10
11
|
const DEFAULT_TIMEOUT_MS = 15_000;
|
|
@@ -16,10 +17,6 @@ const ACCOUNT_ID = /^[0-9a-f]{32}$/i;
|
|
|
16
17
|
export function isClefModel(name) {
|
|
17
18
|
return CLEF_MODELS.some((m) => m === name);
|
|
18
19
|
}
|
|
19
|
-
// Plain http would put the token and the memory text on the wire, so only the local machine may use it.
|
|
20
|
-
function isLoopback(hostname) {
|
|
21
|
-
return hostname === 'localhost' || hostname === '[::1]' || /^127(\.\d{1,3}){3}$/.test(hostname);
|
|
22
|
-
}
|
|
23
20
|
function isNumber(v) {
|
|
24
21
|
return Number.isFinite(v);
|
|
25
22
|
}
|
|
@@ -49,7 +46,8 @@ export function resolveClefRoute(model) {
|
|
|
49
46
|
if (parsed.username || parsed.password) {
|
|
50
47
|
throw new Error('HIPPO_CLEF_ENDPOINT must not embed credentials; set HIPPO_CLEF_ENDPOINT_TOKEN');
|
|
51
48
|
}
|
|
52
|
-
|
|
49
|
+
// Plain http would put the token and the memory text on the wire, so only the local machine may use it.
|
|
50
|
+
if (parsed.protocol === 'http:' && !isLoopbackHost(parsed.hostname)) {
|
|
53
51
|
throw new Error('HIPPO_CLEF_ENDPOINT must use https unless it is on this machine');
|
|
54
52
|
}
|
|
55
53
|
const endpointToken = envClefEndpointToken();
|
|
@@ -70,7 +68,10 @@ export function resolveClefRoute(model) {
|
|
|
70
68
|
backend: 'cloudflare',
|
|
71
69
|
};
|
|
72
70
|
}
|
|
73
|
-
/**
|
|
71
|
+
/**
|
|
72
|
+
* Unwraps a Workers AI `{ result }` envelope or a bare System One reply and checks model and `c1..cN`; a string is the
|
|
73
|
+
* rejection reason.
|
|
74
|
+
*/
|
|
74
75
|
export function parseClefReply(body, n, model, requireModel) {
|
|
75
76
|
if (!isJsonObject(body))
|
|
76
77
|
return 'reply is not a JSON object';
|
|
@@ -80,8 +81,9 @@ export function parseClefReply(body, n, model, requireModel) {
|
|
|
80
81
|
if (!isJsonObject(reply))
|
|
81
82
|
return 'reply has no result object';
|
|
82
83
|
const actual = reply.model;
|
|
83
|
-
if (actual !== undefined && (!isJsonString(actual) || actual.trim() !== model))
|
|
84
|
+
if (actual !== undefined && (!isJsonString(actual) || actual.trim() !== model)) {
|
|
84
85
|
return 'reply names a different model';
|
|
86
|
+
}
|
|
85
87
|
if (actual === undefined && requireModel)
|
|
86
88
|
return 'reply does not name its model';
|
|
87
89
|
const answers = reply.answers;
|
|
@@ -139,7 +141,10 @@ function nativeOrder(head, provenance) {
|
|
|
139
141
|
rerankProvenance: { ...provenance },
|
|
140
142
|
}));
|
|
141
143
|
}
|
|
142
|
-
/**
|
|
144
|
+
/**
|
|
145
|
+
* A CLEF reranker for one model: Jev's request shape and pool; any failure keeps the native order (never paid Jev) and
|
|
146
|
+
* warns.
|
|
147
|
+
*/
|
|
143
148
|
export function createClefReranker(model) {
|
|
144
149
|
const outage = createOutageWarning(model, 'keeping the native order');
|
|
145
150
|
return async (query, results, options) => {
|
|
@@ -27,7 +27,8 @@ type ImportModule = () => Promise<{
|
|
|
27
27
|
readonly name: string;
|
|
28
28
|
readonly mod: TransformersModuleNamespace;
|
|
29
29
|
} | null>;
|
|
30
|
-
/** Track 2 reranker: MS-MARCO MiniLM cross-encoder, identity fallback if the model will not load. Each instance owns
|
|
30
|
+
/** Track 2 reranker: MS-MARCO MiniLM cross-encoder, identity fallback if the model will not load. Each instance owns
|
|
31
|
+
* its model and outage warning. */
|
|
31
32
|
export declare function createCrossEncoderReranker(importModule?: ImportModule): RerankerFn;
|
|
32
33
|
export {};
|
|
33
34
|
//# sourceMappingURL=cross-encoder.d.ts.map
|
|
@@ -15,8 +15,8 @@ async function importModelClasses(importModule) {
|
|
|
15
15
|
throw new Error(`${name} exports no AutoTokenizer or AutoModelForSequenceClassification`);
|
|
16
16
|
return { AutoTokenizer: tok, AutoModelForSequenceClassification: seq };
|
|
17
17
|
}
|
|
18
|
-
// NOT the text-classification pipeline: this is a num_labels=1 regression head and that pipeline softmaxes a length-1
|
|
19
|
-
// Read the logit, then squash it.
|
|
18
|
+
// NOT the text-classification pipeline: this is a num_labels=1 regression head and that pipeline softmaxes a length-1
|
|
19
|
+
// logit vector (always 1.0). Read the logit, then squash it.
|
|
20
20
|
async function buildPipeline(importModule) {
|
|
21
21
|
const mod = await importModelClasses(importModule);
|
|
22
22
|
const [tokenizer, model] = await Promise.all([
|
|
@@ -56,8 +56,9 @@ async function scoreHead(pipe, query, head) {
|
|
|
56
56
|
succeeded++;
|
|
57
57
|
}
|
|
58
58
|
catch (err) {
|
|
59
|
-
// One bad inference must not sink the whole pass
|
|
60
|
-
|
|
59
|
+
// One bad inference must not sink the whole pass; a pass where every call fails is warned about by the outage
|
|
60
|
+
// tracker below.
|
|
61
|
+
log.debug(`cross-encoder inference failed, keeping the base score: ${errorMessage(err)}`, errorFields(err));
|
|
61
62
|
ceScore = r.score;
|
|
62
63
|
}
|
|
63
64
|
return {
|
|
@@ -73,7 +74,8 @@ async function scoreHead(pipe, query, head) {
|
|
|
73
74
|
scored.forEach((r, i) => (r.postRerankRank = i + 1));
|
|
74
75
|
return { results: scored, succeeded };
|
|
75
76
|
}
|
|
76
|
-
/** Track 2 reranker: MS-MARCO MiniLM cross-encoder, identity fallback if the model will not load. Each instance owns
|
|
77
|
+
/** Track 2 reranker: MS-MARCO MiniLM cross-encoder, identity fallback if the model will not load. Each instance owns
|
|
78
|
+
* its model and outage warning. */
|
|
77
79
|
export function createCrossEncoderReranker(importModule = importTransformers) {
|
|
78
80
|
const outage = createOutageWarning('cross-encoder', 'falling back to identity ordering');
|
|
79
81
|
// The outage warning already says each failure, at most once per window, so the loads report nothing themselves.
|
|
@@ -82,7 +84,8 @@ export function createCrossEncoderReranker(importModule = importTransformers) {
|
|
|
82
84
|
const head = results.slice(0, options?.topK ?? DEFAULT_CROSS_ENCODER_TOP_K);
|
|
83
85
|
let pipe;
|
|
84
86
|
try {
|
|
85
|
-
// One shared load per backoff window: two first calls fetch the model once, and a failure is not fetched again on
|
|
87
|
+
// One shared load per backoff window: two first calls fetch the model once, and a failure is not fetched again on
|
|
88
|
+
// every recall.
|
|
86
89
|
pipe = await pipelines.load(MODEL_NAME, () => buildPipeline(importModule));
|
|
87
90
|
}
|
|
88
91
|
catch (err) {
|
package/dist/rerankers/index.js
CHANGED
|
@@ -2,7 +2,8 @@ import { createClefReranker } from './clef.js';
|
|
|
2
2
|
import { createCrossEncoderReranker } from './cross-encoder.js';
|
|
3
3
|
import { createJevReranker } from './jev.js';
|
|
4
4
|
import { createLlmReranker } from './llm.js';
|
|
5
|
-
// Each reranker is built once here, so its outage warning lasts the process; jev falls back to the same cross-encoder,
|
|
5
|
+
// Each reranker is built once here, so its outage warning lasts the process; jev falls back to the same cross-encoder,
|
|
6
|
+
// so one model loads.
|
|
6
7
|
const crossEncoder = createCrossEncoderReranker();
|
|
7
8
|
const REGISTRY = {
|
|
8
9
|
clef: createClefReranker('clef'),
|
package/dist/rerankers/jev.js
CHANGED
|
@@ -39,7 +39,8 @@ function parseScores(body, n) {
|
|
|
39
39
|
export function buildRelevanceRequest(query, head) {
|
|
40
40
|
// Strict: this text leaves the machine, so Bearer, Basic-auth and JWT shapes go too.
|
|
41
41
|
const lines = head.map((r, i) => `[${i + 1}] ${truncateWithEllipsis(redactSecretsStrict(r.entry.content), TRUNCATE_CHARS)}`);
|
|
42
|
-
const state = `Query: ${redactSecretsStrict(query)}\n\nNumbered candidate memories from an AI coding agent's
|
|
42
|
+
const state = `Query: ${redactSecretsStrict(query)}\n\nNumbered candidate memories from an AI coding agent's ` +
|
|
43
|
+
`project store:\n\n${lines.join('\n\n')}`;
|
|
43
44
|
const questions = {};
|
|
44
45
|
for (let i = 1; i <= head.length; i++) {
|
|
45
46
|
questions[`c${i}`] = {
|
package/dist/rerankers/llm.d.ts
CHANGED
|
@@ -1,5 +1,9 @@
|
|
|
1
1
|
import type { RerankerFn } from './types.js';
|
|
2
|
-
/**
|
|
3
|
-
*
|
|
2
|
+
/**
|
|
3
|
+
* Track 3 reranker (skeleton): listwise LLM rerank on a customer-supplied OpenAI-compatible endpoint, gated on
|
|
4
|
+
* HIPPO_LLM_RERANKER_URL against accidental cost.
|
|
5
|
+
* Timeout is 30s for the whole call, retries included (HIPPO_LLM_RERANKER_TIMEOUT_MS); any failure falls back to
|
|
6
|
+
* identity ordering, so recall never hangs.
|
|
7
|
+
*/
|
|
4
8
|
export declare function createLlmReranker(): RerankerFn;
|
|
5
9
|
//# sourceMappingURL=llm.d.ts.map
|
package/dist/rerankers/llm.js
CHANGED
|
@@ -7,8 +7,12 @@ import { isJsonObject, isJsonString } from '../util/json.js';
|
|
|
7
7
|
import { errorMessage } from '../util/log.js';
|
|
8
8
|
const DEFAULT_LLM_RERANK_TOP_K = 20;
|
|
9
9
|
const DEFAULT_TIMEOUT_MS = 30_000;
|
|
10
|
-
/**
|
|
11
|
-
*
|
|
10
|
+
/**
|
|
11
|
+
* Track 3 reranker (skeleton): listwise LLM rerank on a customer-supplied OpenAI-compatible endpoint, gated on
|
|
12
|
+
* HIPPO_LLM_RERANKER_URL against accidental cost.
|
|
13
|
+
* Timeout is 30s for the whole call, retries included (HIPPO_LLM_RERANKER_TIMEOUT_MS); any failure falls back to
|
|
14
|
+
* identity ordering, so recall never hangs.
|
|
15
|
+
*/
|
|
12
16
|
export function createLlmReranker() {
|
|
13
17
|
const outage = createOutageWarning('llm', 'keeping the input order');
|
|
14
18
|
return async (query, results, options) => {
|
|
@@ -47,7 +51,8 @@ function replyText(body) {
|
|
|
47
51
|
async function requestPermutation(url, query, head) {
|
|
48
52
|
const key = envLlmRerankerKey();
|
|
49
53
|
const prompt = [
|
|
50
|
-
`Rerank the candidates below by relevance to the query. Output a JSON array of indices (zero-indexed) in
|
|
54
|
+
`Rerank the candidates below by relevance to the query. Output a JSON array of indices (zero-indexed) in ` +
|
|
55
|
+
`best-first order.`,
|
|
51
56
|
`Query: ${redactSecretsStrict(query)}`,
|
|
52
57
|
...head.map((r, i) => `[${i}] ${redactSecretsStrict(r.entry.content)}`),
|
|
53
58
|
`Output format: [<int>, <int>, ...] with all ${head.length} indices.`,
|
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
export declare const RERANKER_MAX_REPLY_BYTES: number;
|
|
2
|
-
/**
|
|
2
|
+
/**
|
|
3
|
+
* POST a scoring request. A dropped connection, 429 or 5xx is retried, since scoring changes nothing on the far side.
|
|
4
|
+
*/
|
|
3
5
|
export declare function rerankerPost(url: string, init: RequestInit, budgetMs: number): Promise<Response>;
|
|
4
6
|
//# sourceMappingURL=remote.d.ts.map
|