hippo-memory 1.70.0 → 1.71.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/dist/agent-memories/claude-code.d.ts +4 -2
- package/dist/agent-memories/claude-code.js +14 -5
- package/dist/agent-memories/files.js +23 -12
- package/dist/agent-memories/markdown.d.ts +1 -3
- package/dist/agent-memories/markdown.js +1 -3
- package/dist/agent-memories/report.js +2 -1
- package/dist/agent-memories/sync.d.ts +4 -2
- package/dist/agent-memories/sync.js +10 -5
- package/dist/api/assemble.d.ts +7 -44
- package/dist/api/assemble.js +2 -22
- package/dist/api/audit.d.ts +5 -1
- package/dist/api/audit.js +9 -1
- package/dist/api/auth.d.ts +13 -22
- package/dist/api/auth.js +34 -24
- package/dist/api/auto-sleep.js +2 -2
- package/dist/api/availability.d.ts +2 -15
- package/dist/api/availability.js +2 -15
- package/dist/api/context-select.js +3 -4
- package/dist/api/context-types.d.ts +10 -35
- package/dist/api/context.d.ts +5 -22
- package/dist/api/context.js +21 -38
- package/dist/api/dormant.d.ts +5 -21
- package/dist/api/dormant.js +7 -26
- package/dist/api/drill-down.d.ts +7 -46
- package/dist/api/drill-down.js +5 -26
- package/dist/api/forget.d.ts +5 -24
- package/dist/api/forget.js +5 -28
- package/dist/api/graph.d.ts +8 -0
- package/dist/api/graph.js +7 -0
- package/dist/api/index.d.ts +2 -0
- package/dist/api/index.js +2 -0
- package/dist/api/instruction-detect.js +16 -5
- package/dist/api/ledger-db.d.ts +2 -1
- package/dist/api/ledger-db.js +5 -3
- package/dist/api/memories.d.ts +5 -0
- package/dist/api/memories.js +7 -0
- package/dist/api/objects.d.ts +9 -0
- package/dist/api/objects.js +11 -0
- package/dist/api/on-store.js +5 -3
- package/dist/api/predictions.d.ts +9 -0
- package/dist/api/predictions.js +18 -0
- package/dist/api/promote.d.ts +13 -17
- package/dist/api/promote.js +11 -19
- package/dist/api/prompt-hook.d.ts +4 -4
- package/dist/api/prompt-hook.js +10 -9
- package/dist/api/recall-cli.d.ts +55 -0
- package/dist/api/recall-cli.js +94 -0
- package/dist/api/recall-core.js +14 -6
- package/dist/api/recall-finish.d.ts +53 -0
- package/dist/api/recall-finish.js +30 -0
- package/dist/api/recall-history.d.ts +17 -84
- package/dist/api/recall-history.js +15 -88
- package/dist/api/recall-pipeline.d.ts +2 -3
- package/dist/api/recall-pipeline.js +16 -9
- package/dist/api/recall-types.d.ts +64 -304
- package/dist/api/recall.d.ts +5 -33
- package/dist/api/recall.js +59 -60
- package/dist/api/refine.d.ts +7 -0
- package/dist/api/refine.js +10 -0
- package/dist/api/remember-local.d.ts +57 -0
- package/dist/api/remember-local.js +90 -0
- package/dist/api/remember.d.ts +18 -1
- package/dist/api/remember.js +13 -1
- package/dist/api/sleep-run.d.ts +1 -3
- package/dist/api/sleep-run.js +17 -21
- package/dist/api/sleep.d.ts +9 -28
- package/dist/api/tokens.d.ts +3 -10
- package/dist/api/tokens.js +3 -10
- package/dist/api/types.d.ts +6 -29
- package/dist/api/types.js +4 -22
- package/dist/capture/command.d.ts +4 -12
- package/dist/capture/command.js +6 -22
- package/dist/capture/compact.d.ts +4 -15
- package/dist/capture/compact.js +16 -25
- package/dist/capture/compaction-record.js +101 -69
- package/dist/capture/compaction-spool.d.ts +1 -1
- package/dist/capture/compaction-spool.js +1 -1
- package/dist/capture/session-digest.d.ts +1 -1
- package/dist/capture/session-digest.js +13 -7
- package/dist/capture/transcript.d.ts +2 -10
- package/dist/capture/transcript.js +4 -18
- package/dist/cli/api-context.d.ts +3 -0
- package/dist/cli/api-context.js +6 -0
- package/dist/cli/audit-prune.d.ts +6 -39
- package/dist/cli/audit-prune.js +6 -39
- package/dist/cli/audit.d.ts +1 -1
- package/dist/cli/audit.js +33 -34
- package/dist/cli/auth.d.ts +2 -2
- package/dist/cli/auth.js +57 -39
- package/dist/cli/briefs.d.ts +4 -4
- package/dist/cli/briefs.js +18 -22
- package/dist/cli/card.d.ts +2 -2
- package/dist/cli/card.js +31 -32
- package/dist/cli/client.d.ts +7 -27
- package/dist/cli/client.js +24 -43
- package/dist/cli/compact-resume-payload.js +3 -2
- package/dist/cli/context.d.ts +1 -2
- package/dist/cli/context.js +12 -8
- package/dist/cli/continuity.d.ts +6 -6
- package/dist/cli/continuity.js +62 -64
- package/dist/cli/correction-latency.d.ts +2 -14
- package/dist/cli/correction-latency.js +2 -14
- package/dist/cli/curate.d.ts +13 -17
- package/dist/cli/curate.js +68 -92
- package/dist/cli/dag.d.ts +4 -4
- package/dist/cli/dag.js +33 -27
- package/dist/cli/decisions.d.ts +4 -4
- package/dist/cli/decisions.js +33 -47
- package/dist/cli/eval.js +15 -13
- package/dist/cli/exit.d.ts +6 -0
- package/dist/cli/exit.js +11 -0
- package/dist/cli/explain.d.ts +1 -2
- package/dist/cli/explain.js +6 -4
- package/dist/cli/flag-values.d.ts +6 -1
- package/dist/cli/flag-values.js +27 -10
- package/dist/cli/flags.d.ts +1 -0
- package/dist/cli/flags.js +1 -1
- package/dist/cli/github.d.ts +14 -0
- package/dist/{connectors/github/cli-impl.js → cli/github.js} +43 -71
- package/dist/cli/goals.d.ts +2 -2
- package/dist/cli/goals.js +46 -50
- package/dist/cli/hook-runtime.d.ts +9 -27
- package/dist/cli/hook-runtime.js +15 -31
- package/dist/cli/init.d.ts +2 -2
- package/dist/cli/init.js +6 -12
- package/dist/cli/install-steps.js +3 -12
- package/dist/cli/last-sleep.d.ts +2 -1
- package/dist/cli/last-sleep.js +3 -0
- package/dist/cli/maintenance.d.ts +4 -4
- package/dist/cli/maintenance.js +14 -19
- package/dist/cli/object-verbs.js +4 -3
- package/dist/cli/owner-validation.d.ts +5 -28
- package/dist/cli/owner-validation.js +5 -28
- package/dist/cli/playbooks.d.ts +4 -4
- package/dist/cli/playbooks.js +23 -28
- package/dist/cli/print.d.ts +2 -5
- package/dist/cli/print.js +1 -4
- package/dist/cli/projects.d.ts +2 -2
- package/dist/cli/projects.js +1 -3
- package/dist/cli/provenance-coverage.d.ts +2 -6
- package/dist/cli/provenance-coverage.js +2 -6
- package/dist/cli/quality-repair-once.js +2 -2
- package/dist/cli/recall.d.ts +2 -4
- package/dist/cli/recall.js +55 -131
- package/dist/cli/refine-llm.d.ts +5 -31
- package/dist/cli/refine-llm.js +9 -36
- package/dist/cli/remember.d.ts +3 -3
- package/dist/cli/remember.js +122 -180
- package/dist/cli/scheduler.d.ts +2 -17
- package/dist/cli/scheduler.js +12 -18
- package/dist/cli/serve.js +21 -12
- package/dist/cli/session-hooks.d.ts +10 -18
- package/dist/cli/session-hooks.js +112 -113
- package/dist/cli/setup.d.ts +4 -4
- package/dist/cli/setup.js +19 -21
- package/dist/cli/shared.d.ts +9 -23
- package/dist/cli/shared.js +9 -32
- package/dist/cli/slack.d.ts +2 -2
- package/dist/cli/slack.js +19 -23
- package/dist/cli/sleep.d.ts +3 -2
- package/dist/cli/sleep.js +15 -16
- package/dist/cli/status.d.ts +9 -12
- package/dist/cli/status.js +55 -98
- package/dist/cli/stdin.d.ts +4 -6
- package/dist/cli/stdin.js +2 -3
- package/dist/cli/transfer.d.ts +9 -9
- package/dist/cli/transfer.js +66 -89
- package/dist/cli/usage.js +11 -5
- package/dist/cli.d.ts +66 -448
- package/dist/cli.js +87 -263
- package/dist/connectors/github/backfill.d.ts +5 -25
- package/dist/connectors/github/backfill.js +14 -49
- package/dist/connectors/github/deletion.d.ts +4 -18
- package/dist/connectors/github/deletion.js +2 -15
- package/dist/connectors/github/dlq.d.ts +8 -33
- package/dist/connectors/github/dlq.js +12 -29
- package/dist/connectors/github/ingest.d.ts +2 -6
- package/dist/connectors/github/ingest.js +4 -10
- package/dist/connectors/github/octokit-client.d.ts +4 -16
- package/dist/connectors/github/octokit-client.js +27 -24
- package/dist/connectors/github/ratelimit.d.ts +3 -14
- package/dist/connectors/github/ratelimit.js +3 -14
- package/dist/connectors/github/scope.d.ts +3 -5
- package/dist/connectors/github/scope.js +3 -5
- package/dist/connectors/github/signature.d.ts +4 -26
- package/dist/connectors/github/signature.js +4 -26
- package/dist/connectors/github/tenant-routing.d.ts +2 -24
- package/dist/connectors/github/tenant-routing.js +4 -26
- package/dist/connectors/github/transform.js +2 -16
- package/dist/connectors/github/types.d.ts +3 -15
- package/dist/connectors/github/types.js +2 -9
- package/dist/connectors/github/webhook.d.ts +2 -16
- package/dist/connectors/github/webhook.js +6 -22
- package/dist/connectors/slack/backfill.d.ts +4 -17
- package/dist/connectors/slack/backfill.js +4 -13
- package/dist/connectors/slack/dlq.d.ts +2 -19
- package/dist/connectors/slack/dlq.js +2 -19
- package/dist/connectors/slack/ingest.d.ts +2 -3
- package/dist/connectors/slack/ingest.js +2 -3
- package/dist/connectors/slack/scope.d.ts +2 -8
- package/dist/connectors/slack/scope.js +2 -8
- package/dist/connectors/slack/signature.d.ts +1 -6
- package/dist/connectors/slack/tenant-routing.d.ts +2 -19
- package/dist/connectors/slack/tenant-routing.js +2 -21
- package/dist/connectors/slack/transform.d.ts +2 -18
- package/dist/connectors/slack/transform.js +2 -18
- package/dist/connectors/slack/types.d.ts +3 -9
- package/dist/connectors/slack/types.js +2 -4
- package/dist/connectors/slack/web-client.js +33 -27
- package/dist/connectors/slack/webhook.d.ts +2 -19
- package/dist/connectors/slack/webhook.js +5 -26
- package/dist/connectors/slack/workspaces.d.ts +4 -24
- package/dist/connectors/slack/workspaces.js +4 -24
- package/dist/consolidate/conflicts.js +6 -14
- package/dist/consolidate/dag-summary.d.ts +8 -0
- package/dist/consolidate/dag-summary.js +41 -0
- package/dist/consolidate/dag.d.ts +5 -28
- package/dist/consolidate/dag.js +14 -75
- package/dist/consolidate/decay.js +7 -19
- package/dist/consolidate/dedupe.d.ts +6 -52
- package/dist/consolidate/dedupe.js +13 -71
- package/dist/consolidate/flush-units.d.ts +3 -4
- package/dist/consolidate/flush-units.js +3 -3
- package/dist/consolidate/half-life-migration.d.ts +3 -26
- package/dist/consolidate/half-life-migration.js +11 -28
- package/dist/consolidate/llm-passes.js +4 -21
- package/dist/consolidate/memory-value-weights.d.ts +2 -13
- package/dist/consolidate/memory-value-weights.js +2 -13
- package/dist/consolidate/memory-value.d.ts +11 -84
- package/dist/consolidate/memory-value.js +16 -104
- package/dist/consolidate/merge.js +10 -31
- package/dist/consolidate/merged-row.js +2 -1
- package/dist/consolidate/physics-pass.js +1 -3
- package/dist/consolidate/replay.d.ts +6 -38
- package/dist/consolidate/replay.js +14 -52
- package/dist/consolidate/run.js +1 -1
- package/dist/consolidate/sleep.d.ts +1 -8
- package/dist/consolidate/sleep.js +5 -17
- package/dist/consolidate/trace.d.ts +3 -18
- package/dist/consolidate/trace.js +3 -18
- package/dist/consolidate/traces.js +6 -22
- package/dist/core/ablation.d.ts +4 -91
- package/dist/core/ablation.js +4 -91
- package/dist/core/ambient.d.ts +1 -8
- package/dist/core/ambient.js +1 -8
- package/dist/core/capture-contract.d.ts +4 -2
- package/dist/core/capture-contract.js +4 -2
- package/dist/core/card.d.ts +4 -1
- package/dist/core/card.js +8 -0
- package/dist/core/compare.d.ts +11 -67
- package/dist/core/compare.js +9 -63
- package/dist/core/config.d.ts +10 -24
- package/dist/core/config.js +13 -14
- package/dist/core/handoff.d.ts +1 -7
- package/dist/core/handoff.js +1 -7
- package/dist/core/memory-quality.js +1 -1
- package/dist/core/memory.d.ts +41 -164
- package/dist/core/memory.js +51 -221
- package/dist/core/package-root.d.ts +3 -0
- package/dist/core/package-root.js +5 -0
- package/dist/core/physics-config.d.ts +1 -4
- package/dist/core/physics-config.js +3 -8
- package/dist/core/physics.d.ts +15 -61
- package/dist/core/physics.js +59 -122
- package/dist/core/project-identity.d.ts +17 -58
- package/dist/core/project-identity.js +17 -38
- package/dist/core/project-remote.js +13 -2
- package/dist/core/raw-append-only.d.ts +5 -0
- package/dist/core/raw-append-only.js +7 -0
- package/dist/core/salience.d.ts +1 -7
- package/dist/core/salience.js +1 -7
- package/dist/dashboard/dashboard-actions.js +2 -2
- package/dist/dashboard/dashboard-snapshot.d.ts +2 -1
- package/dist/dashboard/dashboard-snapshot.js +11 -2
- package/dist/dashboard/dashboard-types.d.ts +2 -1
- package/dist/dashboard/dashboard.d.ts +1 -0
- package/dist/dashboard/dashboard.js +50 -4
- package/dist/db/busy.d.ts +1 -1
- package/dist/db/busy.js +17 -8
- package/dist/db/connect.d.ts +1 -0
- package/dist/db/connect.js +3 -3
- package/dist/db/migrate.js +3 -3
- package/dist/db/migrations/types.d.ts +2 -5
- package/dist/db/migrations/v14.js +2 -3
- package/dist/db/migrations/v15.js +2 -8
- package/dist/db/migrations/v16.js +2 -3
- package/dist/db/migrations/v17.js +2 -3
- package/dist/db/migrations/v19.js +2 -5
- package/dist/db/migrations/v20.js +2 -7
- package/dist/db/migrations/v22.js +4 -17
- package/dist/db/migrations/v23.js +3 -14
- package/dist/db/migrations/v24.js +2 -4
- package/dist/db/migrations/v25.js +3 -8
- package/dist/db/migrations/v26.js +2 -13
- package/dist/db/migrations/v27.js +3 -11
- package/dist/db/migrations/v28.js +2 -14
- package/dist/db/migrations/v29.js +4 -18
- package/dist/db/migrations/v30.js +4 -16
- package/dist/db/migrations/v31.js +2 -15
- package/dist/db/migrations/v32.js +4 -22
- package/dist/db/migrations/v33.js +2 -15
- package/dist/db/migrations/v34.js +2 -11
- package/dist/db/migrations/v35.js +2 -11
- package/dist/db/migrations/v36.js +2 -11
- package/dist/db/migrations/v37.js +8 -33
- package/dist/db/migrations/v38.js +5 -38
- package/dist/db/migrations/v39.js +9 -20
- package/dist/db/migrations/v40.js +2 -9
- package/dist/db/migrations/v41.js +2 -24
- package/dist/db/migrations/v43.js +1 -1
- package/dist/db/migrations/v44.js +2 -8
- package/dist/db/migrations/v45.js +2 -7
- package/dist/db/migrations/v47.js +2 -3
- package/dist/db/migrations/v51.js +1 -1
- package/dist/db/open.d.ts +2 -0
- package/dist/db/open.js +17 -1
- package/dist/db/physics-state.d.ts +6 -22
- package/dist/db/physics-state.js +25 -36
- package/dist/db/raw-archive-mirror-cleanup.d.ts +2 -17
- package/dist/db/raw-archive-mirror-cleanup.js +2 -17
- package/dist/db/vector-store.d.ts +2 -0
- package/dist/db/vector-store.js +8 -1
- package/dist/doctor.js +74 -19
- package/dist/entry/session-text.js +2 -1
- package/dist/eval/eval-stats.d.ts +15 -53
- package/dist/eval/eval-stats.js +12 -42
- package/dist/eval/eval-suite.d.ts +2 -13
- package/dist/eval/eval-suite.js +74 -34
- package/dist/eval/eval.d.ts +6 -24
- package/dist/eval/eval.js +7 -34
- package/dist/eval/judgment.d.ts +0 -3
- package/dist/eval/judgment.js +19 -11
- package/dist/extensions/openclaw-plugin/index.js +1 -1
- package/dist/graph/extract.d.ts +5 -27
- package/dist/graph/extract.js +7 -33
- package/dist/graph/recall.d.ts +7 -20
- package/dist/graph/recall.js +14 -76
- package/dist/graph/stream.d.ts +7 -39
- package/dist/graph/stream.js +11 -34
- package/dist/graph/view.d.ts +9 -35
- package/dist/graph/view.js +11 -39
- package/dist/hooks/codex-wrapper.js +2 -2
- package/dist/hooks/copilot.js +2 -1
- package/dist/hooks/hook-blocks.d.ts +6 -2
- package/dist/hooks/hook-blocks.js +37 -124
- package/dist/hooks/json-hooks.d.ts +4 -36
- package/dist/hooks/json-hooks.js +18 -57
- package/dist/hooks/opencode.d.ts +0 -38
- package/dist/hooks/opencode.js +9 -76
- package/dist/hooks/shared.d.ts +8 -17
- package/dist/hooks/shared.js +29 -20
- package/dist/importers/core.d.ts +12 -37
- package/dist/importers/core.js +9 -27
- package/dist/importers/markdown-parse.d.ts +8 -22
- package/dist/importers/markdown-parse.js +8 -25
- package/dist/importers/markdown.js +3 -12
- package/dist/importers/sources.js +7 -35
- package/dist/importers/vault.d.ts +2 -8
- package/dist/importers/vault.js +25 -81
- package/dist/index.d.ts +6 -2
- package/dist/index.js +6 -2
- package/dist/learn/autolearn.d.ts +14 -41
- package/dist/learn/autolearn.js +14 -41
- package/dist/learn/extract.js +2 -4
- package/dist/learn/forward-claim-detector.d.ts +6 -30
- package/dist/learn/forward-claim-detector.js +14 -66
- package/dist/learn/invalidation.d.ts +6 -18
- package/dist/learn/invalidation.js +9 -26
- package/dist/mcp/admin-tools.js +3 -5
- package/dist/mcp/memory-tools.js +4 -9
- package/dist/mcp/protocol.d.ts +8 -26
- package/dist/mcp/protocol.js +3 -6
- package/dist/mcp/recall-tools.js +3 -3
- package/dist/mcp/request.d.ts +3 -11
- package/dist/mcp/request.js +10 -26
- package/dist/mcp/server.d.ts +3 -9
- package/dist/mcp/server.js +5 -16
- package/dist/mcp/session-state.d.ts +1 -1
- package/dist/mcp/session-state.js +5 -11
- package/dist/mcp/stdio.d.ts +2 -6
- package/dist/mcp/stdio.js +48 -12
- package/dist/mcp/tools.js +5 -3
- package/dist/objects/customer-notes.d.ts +7 -42
- package/dist/objects/customer-notes.js +7 -48
- package/dist/objects/decisions.d.ts +12 -50
- package/dist/objects/decisions.js +15 -53
- package/dist/objects/incidents.d.ts +7 -38
- package/dist/objects/incidents.js +7 -41
- package/dist/objects/policies.d.ts +11 -89
- package/dist/objects/policies.js +11 -98
- package/dist/objects/processes.d.ts +7 -52
- package/dist/objects/processes.js +7 -61
- package/dist/objects/project-briefs.d.ts +11 -55
- package/dist/objects/project-briefs.js +14 -75
- package/dist/objects/skills.d.ts +7 -42
- package/dist/objects/skills.js +8 -54
- package/dist/postinstall.js +6 -19
- package/dist/predictions/planning-fallacy.d.ts +11 -34
- package/dist/rerankers/clef.js +3 -31
- package/dist/rerankers/cross-encoder.js +4 -6
- package/dist/rerankers/jev.js +9 -6
- package/dist/rerankers/llm.d.ts +2 -11
- package/dist/rerankers/llm.js +14 -14
- package/dist/rerankers/outage-warning.d.ts +2 -1
- package/dist/rerankers/outage-warning.js +2 -1
- package/dist/rerankers/remote.d.ts +1 -0
- package/dist/rerankers/remote.js +2 -0
- package/dist/rerankers/types.d.ts +2 -14
- package/dist/search/boosts.d.ts +0 -2
- package/dist/search/boosts.js +2 -2
- package/dist/search/goal-boost.d.ts +23 -0
- package/dist/search/goal-boost.js +90 -0
- package/dist/search/hybrid.d.ts +2 -0
- package/dist/search/multihop.js +2 -3
- package/dist/search/path-context.d.ts +5 -18
- package/dist/search/path-context.js +5 -18
- package/dist/search/physics-search.js +11 -8
- package/dist/search/rrf.d.ts +7 -35
- package/dist/search/rrf.js +5 -30
- package/dist/search/vector.d.ts +7 -0
- package/dist/search/vector.js +35 -5
- package/dist/server/auth.d.ts +9 -28
- package/dist/server/auth.js +32 -25
- package/dist/server/boot.d.ts +2 -21
- package/dist/server/boot.js +63 -96
- package/dist/server/client-ip.d.ts +3 -19
- package/dist/server/client-ip.js +5 -28
- package/dist/server/defaults.d.ts +3 -0
- package/dist/server/defaults.js +4 -0
- package/dist/server/key-check-bounds.d.ts +2 -1
- package/dist/server/lifecycle.d.ts +5 -4
- package/dist/server/lifecycle.js +19 -4
- package/dist/server/mcp-http.js +10 -44
- package/dist/server/rate-limit.d.ts +5 -18
- package/dist/server/rate-limit.js +4 -13
- package/dist/server/request.d.ts +4 -8
- package/dist/server/request.js +9 -17
- package/dist/server/route-table.js +42 -49
- package/dist/server/routes/admin.js +22 -28
- package/dist/server/routes/customer-notes.js +7 -12
- package/dist/server/routes/decisions.js +10 -17
- package/dist/server/routes/incidents.js +12 -20
- package/dist/server/routes/memories.js +12 -32
- package/dist/server/routes/object-routes.d.ts +0 -5
- package/dist/server/routes/object-routes.js +7 -15
- package/dist/server/routes/policies.js +10 -18
- package/dist/server/routes/predictions.js +13 -25
- package/dist/server/routes/processes.js +16 -26
- package/dist/server/routes/project-briefs.js +9 -16
- package/dist/server/routes/recall.js +10 -35
- package/dist/server/routes/skills.js +8 -18
- package/dist/server/server-detect.d.ts +9 -53
- package/dist/server/server-detect.js +24 -90
- package/dist/server/sleep-offload.js +4 -1
- package/dist/server/types.d.ts +12 -10
- package/dist/server/validation.d.ts +3 -1
- package/dist/server/validation.js +10 -23
- package/dist/server.d.ts +2 -2
- package/dist/server.js +3 -2
- package/dist/sharing/global-store.d.ts +19 -0
- package/dist/sharing/global-store.js +75 -0
- package/dist/sharing/global-sync.d.ts +6 -0
- package/dist/sharing/global-sync.js +80 -0
- package/dist/sharing/project-merge.d.ts +4 -5
- package/dist/sharing/project-merge.js +9 -7
- package/dist/sharing/scope.d.ts +4 -11
- package/dist/sharing/scope.js +4 -11
- package/dist/sharing/search-both.d.ts +60 -0
- package/dist/sharing/search-both.js +138 -0
- package/dist/sharing/share.d.ts +38 -0
- package/dist/sharing/share.js +226 -0
- package/dist/store/ambient.js +4 -9
- package/dist/store/audit-event.d.ts +4 -12
- package/dist/store/audit-event.js +4 -12
- package/dist/store/audit.d.ts +2 -5
- package/dist/store/audit.js +4 -12
- package/dist/store/auth.d.ts +6 -6
- package/dist/store/auth.js +10 -9
- package/dist/store/candidates.d.ts +20 -3
- package/dist/store/candidates.js +77 -48
- package/dist/store/card-detail.d.ts +2 -1
- package/dist/store/card-detail.js +2 -1
- package/dist/store/cards.d.ts +14 -9
- package/dist/store/cards.js +72 -126
- package/dist/store/conflicts.d.ts +4 -21
- package/dist/store/conflicts.js +71 -150
- package/dist/store/connectors/github.d.ts +10 -10
- package/dist/store/connectors/github.js +10 -10
- package/dist/store/dashboard-reads.js +4 -8
- package/dist/store/delete-and-batch.d.ts +11 -31
- package/dist/store/delete-and-batch.js +48 -64
- package/dist/store/delivery-recorder.d.ts +8 -4
- package/dist/store/delivery-recorder.js +25 -15
- package/dist/store/diagnostics.js +6 -13
- package/dist/store/dormant.d.ts +7 -29
- package/dist/store/dormant.js +15 -56
- package/dist/store/embeddings/index.d.ts +11 -80
- package/dist/store/embeddings/index.js +71 -207
- package/dist/store/embeddings/local.js +15 -32
- package/dist/store/embeddings/provider.d.ts +16 -53
- package/dist/store/embeddings/provider.js +41 -69
- package/dist/store/entry-reads.d.ts +21 -57
- package/dist/store/entry-reads.js +65 -126
- package/dist/store/entry-row.d.ts +6 -35
- package/dist/store/entry-row.js +9 -37
- package/dist/store/entry-writes.d.ts +10 -16
- package/dist/store/entry-writes.js +17 -35
- package/dist/store/goals.d.ts +3 -40
- package/dist/store/goals.js +21 -160
- package/dist/store/graph-queue.d.ts +6 -22
- package/dist/store/graph-queue.js +14 -45
- package/dist/store/graph-reads.d.ts +11 -35
- package/dist/store/graph-reads.js +20 -58
- package/dist/store/graph-rows.d.ts +3 -6
- package/dist/store/graph-rows.js +6 -9
- package/dist/store/graph-view-rows.d.ts +2 -1
- package/dist/store/graph-view-rows.js +2 -1
- package/dist/store/graph-writes.d.ts +6 -31
- package/dist/store/graph-writes.js +13 -37
- package/dist/store/half-life.d.ts +2 -1
- package/dist/store/half-life.js +14 -16
- package/dist/store/handoffs.d.ts +5 -11
- package/dist/store/handoffs.js +16 -34
- package/dist/store/index-and-stats.d.ts +6 -19
- package/dist/store/index-and-stats.js +34 -82
- package/dist/store/markdown.d.ts +2 -6
- package/dist/store/markdown.js +21 -20
- package/dist/store/mirrors.d.ts +2 -6
- package/dist/store/mirrors.js +14 -23
- package/dist/store/open.js +6 -13
- package/dist/store/planning-fallacy-evidence.d.ts +2 -30
- package/dist/store/planning-fallacy-evidence.js +8 -37
- package/dist/store/port.d.ts +82 -79
- package/dist/store/predictions.d.ts +11 -51
- package/dist/store/predictions.js +38 -119
- package/dist/{cli → store}/quality-repair.js +15 -31
- package/dist/store/raw-archive.d.ts +4 -16
- package/dist/store/raw-archive.js +14 -29
- package/dist/store/recall-scope.d.ts +19 -79
- package/dist/store/recall-scope.js +21 -82
- package/dist/store/recall-trace.d.ts +10 -77
- package/dist/store/recall-trace.js +19 -95
- package/dist/store/rejected-values.js +7 -19
- package/dist/store/rejection.d.ts +12 -58
- package/dist/store/rejection.js +13 -65
- package/dist/store/report-reads.d.ts +6 -0
- package/dist/store/report-reads.js +29 -0
- package/dist/store/rows.d.ts +9 -19
- package/dist/store/rows.js +36 -34
- package/dist/store/rule-sql.d.ts +5 -0
- package/dist/store/rule-sql.js +37 -0
- package/dist/store/search-rows.d.ts +7 -38
- package/dist/store/search-rows.js +14 -50
- package/dist/store/sessions.d.ts +10 -47
- package/dist/store/sessions.js +17 -73
- package/dist/store/sqlite/connector-events-group.js +2 -2
- package/dist/store/sqlite/entry-writes-group.js +2 -2
- package/dist/store/sqlite/error-codec.js +4 -2
- package/dist/store/sqlite/executor.d.ts +2 -1
- package/dist/store/sqlite/executor.js +2 -1
- package/dist/store/sqlite/local.d.ts +3 -3
- package/dist/store/sqlite/local.js +1 -0
- package/dist/store/sqlite/object-rows.js +6 -3
- package/dist/store/sqlite/objects-group.js +4 -2
- package/dist/store/sqlite/quarantine-group.js +2 -2
- package/dist/store/sqlite/store.d.ts +1 -4
- package/dist/store/sqlite/store.js +2 -3
- package/dist/store/sqlite/vector-reads-group.js +2 -2
- package/dist/store/sqlite/worker-jobs.js +1 -1
- package/dist/store/sqlite/worker-ops.d.ts +13 -2
- package/dist/store/sqlite/worker-ops.js +13 -2
- package/dist/store/sqlite/worker-store.js +5 -2
- package/dist/store/summaries.d.ts +10 -62
- package/dist/store/summaries.js +34 -146
- package/dist/store/summary-dirty.js +1 -1
- package/dist/store/tenant-lookup.d.ts +6 -1
- package/dist/store/tenant-lookup.js +7 -0
- package/dist/store/tenant.d.ts +2 -16
- package/dist/store/tenant.js +4 -19
- package/dist/store/token-ledger.d.ts +13 -43
- package/dist/store/token-ledger.js +19 -50
- package/dist/store/usage-reports.js +5 -13
- package/dist/store/vector-index.d.ts +46 -0
- package/dist/store/vector-index.js +170 -0
- package/dist/store/working-memory.d.ts +6 -25
- package/dist/store/working-memory.js +18 -52
- package/dist/store/yaml.d.ts +1 -5
- package/dist/store/yaml.js +2 -6
- package/dist/support-bundle.js +7 -5
- package/dist/trust/reject-flow.js +1 -3
- package/dist/util/anthropic-messages.js +14 -2
- package/dist/util/atomic-write.d.ts +2 -1
- package/dist/util/atomic-write.js +35 -4
- package/dist/util/capped-json.d.ts +6 -0
- package/dist/util/capped-json.js +46 -0
- package/dist/util/crash-handlers.d.ts +8 -1
- package/dist/util/crash-handlers.js +52 -10
- package/dist/util/env.d.ts +13 -6
- package/dist/util/env.js +14 -7
- package/dist/util/home-path.d.ts +2 -1
- package/dist/util/home-path.js +4 -2
- package/dist/util/http-retry.d.ts +3 -1
- package/dist/util/http-retry.js +26 -5
- package/dist/util/log.d.ts +3 -2
- package/dist/util/log.js +25 -9
- package/dist/util/request-scope.d.ts +2 -1
- package/dist/util/request-scope.js +2 -1
- package/dist/util/secret-detect.d.ts +5 -30
- package/dist/util/secret-detect.js +13 -39
- package/dist/util/stored-json.d.ts +1 -1
- package/dist/util/stored-json.js +1 -1
- package/dist/util/token-text.d.ts +1 -4
- package/dist/util/token-text.js +1 -4
- package/dist/util/transcript-tail.d.ts +2 -0
- package/dist/util/transcript-tail.js +24 -23
- package/dist/util/version.d.ts +5 -20
- package/dist/util/version.js +5 -20
- package/extensions/openclaw-plugin/index.ts +1 -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 +1 -1
- package/dist/connectors/github/cli-impl.d.ts +0 -25
- package/dist/sharing/shared.d.ts +0 -187
- package/dist/sharing/shared.js +0 -563
- package/dist/store/vector-writes.d.ts +0 -13
- package/dist/store/vector-writes.js +0 -89
- /package/dist/{cli → store}/quality-repair.d.ts +0 -0
package/dist/core/handoff.d.ts
CHANGED
|
@@ -1,10 +1,4 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Session handoff types and helpers.
|
|
3
|
-
*
|
|
4
|
-
* A handoff captures the state of a session so that a successor
|
|
5
|
-
* session (or a different agent) can pick up where the previous
|
|
6
|
-
* one left off.
|
|
7
|
-
*/
|
|
1
|
+
/** Session handoff types and helpers: a handoff captures a session's state so a successor session or another agent can pick up where it left off. */
|
|
8
2
|
/** Terminal state of a handoff's session, denormalized from its `session_complete` event. */
|
|
9
3
|
export type HandoffOutcome = 'success' | 'failure' | 'partial';
|
|
10
4
|
/** Best-effort evidence of repo state at handoff time; null fields mean collection failed or was skipped. */
|
package/dist/core/handoff.js
CHANGED
|
@@ -1,10 +1,4 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Session handoff types and helpers.
|
|
3
|
-
*
|
|
4
|
-
* A handoff captures the state of a session so that a successor
|
|
5
|
-
* session (or a different agent) can pick up where the previous
|
|
6
|
-
* one left off.
|
|
7
|
-
*/
|
|
1
|
+
/** Session handoff types and helpers: a handoff captures a session's state so a successor session or another agent can pick up where it left off. */
|
|
8
2
|
import { isJsonString } from '../util/json.js';
|
|
9
3
|
import { warnDamagedColumn } from '../util/stored-json.js';
|
|
10
4
|
/** Narrows an unvalidated value (e.g. CLI input or event content) to a HandoffOutcome. */
|
|
@@ -28,7 +28,7 @@ export function isReleaseCommitNoise(text) {
|
|
|
28
28
|
/** Short preferences and rules carry a useful relationship even without a path or number. */
|
|
29
29
|
export function hasNoSpecificity(text) {
|
|
30
30
|
const domainAcronyms = (text.match(/\b[A-Z]{2,6}\b/g) ?? []).filter(a => !CHAT_ACRONYMS.test(a));
|
|
31
|
-
if (/\d|[A-Z][a-z]{2,}|[/\\.]|[`_{}()
|
|
31
|
+
if (/\d|[A-Z][a-z]{2,}|[/\\.]|[`_{}()[\]]/.test(text))
|
|
32
32
|
return false;
|
|
33
33
|
if (domainAcronyms.length > 0 && /[a-z]/.test(text))
|
|
34
34
|
return false;
|
package/dist/core/memory.d.ts
CHANGED
|
@@ -1,7 +1,4 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Core data model for Hippo memory entries.
|
|
3
|
-
* Based on the strength formula from PLAN.md.
|
|
4
|
-
*/
|
|
1
|
+
/** Core data model for Hippo memory entries, based on the strength formula from PLAN.md. */
|
|
5
2
|
export declare const DEFAULT_SCHEMA_FIT = 0.5;
|
|
6
3
|
export declare const FALLBACK_HALF_LIFE_DAYS = 7;
|
|
7
4
|
export declare enum Layer {
|
|
@@ -14,28 +11,6 @@ export type EmotionalValence = 'neutral' | 'positive' | 'negative' | 'critical';
|
|
|
14
11
|
export type ConfidenceLevel = 'verified' | 'observed' | 'inferred' | 'stale';
|
|
15
12
|
export type TraceOutcome = 'success' | 'failure' | 'partial' | null;
|
|
16
13
|
export type MemoryKind = 'raw' | 'distilled' | 'superseded' | 'archived';
|
|
17
|
-
/**
|
|
18
|
-
* Timestamp invariant.
|
|
19
|
-
*
|
|
20
|
-
* All in-process writes of timestamp fields on `MemoryEntry` (`created`,
|
|
21
|
-
* `last_retrieved`, `valid_from`) and on session-state types (SessionEvent,
|
|
22
|
-
* TaskSnapshot, SessionHandoff, AssembledContextItem.createdAt, etc.) emit
|
|
23
|
-
* canonical `Date.prototype.toISOString()` output: 24 characters, UTC,
|
|
24
|
-
* milliseconds precision, trailing `Z` (e.g. `2026-05-06T09:55:49.123Z`).
|
|
25
|
-
*
|
|
26
|
-
* Caveat — markdown rebuild. `deserializeEntry` / `rebuildIndex` preserve
|
|
27
|
-
* frontmatter timestamp strings as-is. Legacy markdown that recorded a
|
|
28
|
-
* non-canonical offset (e.g. `2026-05-06T05:55:49-04:00`) round-trips
|
|
29
|
-
* through SQLite without normalization, and DAG `earliest_at` / `latest_at`
|
|
30
|
-
* caches are computed from those strings. Importers SHOULD normalize on
|
|
31
|
-
* write; rebuild from drifted markdown is a known limitation.
|
|
32
|
-
*
|
|
33
|
-
* Byte-comparison sort (`<` / `>`) is chronological for any pair of
|
|
34
|
-
* canonical UTC ISO strings. ~50× faster than `localeCompare` with no
|
|
35
|
-
* semantic gain. `assemble` sorts by byte compare; if a future
|
|
36
|
-
* import path admits non-canonical timestamps, that sort and any
|
|
37
|
-
* downstream chronological reasoning will need a normalization pass.
|
|
38
|
-
*/
|
|
39
14
|
export interface MemoryEntry {
|
|
40
15
|
id: string;
|
|
41
16
|
created: string;
|
|
@@ -67,91 +42,50 @@ export interface MemoryEntry {
|
|
|
67
42
|
descendant_count?: number;
|
|
68
43
|
earliest_at?: string | null;
|
|
69
44
|
latest_at?: string | null;
|
|
70
|
-
/** 1 when
|
|
71
|
-
* superseded, forgotten, or archived since it was last rebuilt. Cleared
|
|
72
|
-
* by rebuildDirtySummaries during sleep. Always 0 for non-summary
|
|
73
|
-
* rows (dag_level !== 2). */
|
|
45
|
+
/** 1 when a child was invalidated, superseded, forgotten or archived since the last rebuild; sleep clears it. Always 0 below level 2. */
|
|
74
46
|
summary_dirty?: 0 | 1;
|
|
75
|
-
/** ISO 8601
|
|
76
|
-
* summary, or null if never rebuilt. */
|
|
47
|
+
/** ISO 8601 time of the last successful rebuild, or null if never rebuilt. */
|
|
77
48
|
last_rebuilt_at?: string | null;
|
|
78
|
-
/**
|
|
79
|
-
* summary. 0 for initial buildDag write; bumped by each rebuild. */
|
|
49
|
+
/** Count of successful rebuilds: 0 at the first buildDag write, bumped by each rebuild. */
|
|
80
50
|
rebuild_count?: number;
|
|
81
|
-
/** Reserved: ISO 8601
|
|
82
|
-
* was built. Only ever populated on dag_level=3 rows. */
|
|
51
|
+
/** Reserved: ISO 8601 time the level-3 entity profile was built; only set on dag_level=3 rows. */
|
|
83
52
|
dag_level_3_built_at?: string | null;
|
|
84
53
|
kind: MemoryKind;
|
|
85
54
|
scope: string | null;
|
|
86
55
|
owner: string | null;
|
|
87
56
|
artifact_ref: string | null;
|
|
88
57
|
tenantId: string;
|
|
89
|
-
/**
|
|
90
|
-
*
|
|
91
|
-
* partitioning. A lowercased project name, '' for user-global (injectable
|
|
92
|
-
* everywhere), or null for no known project (a legacy row, or a shared-store
|
|
93
|
-
* write that named none) - ambient context treats null as other-project (deny).
|
|
94
|
-
* Stamped at write time by store/entry-row.ts stampOriginProject via fallbackOrigin;
|
|
95
|
-
* undefined only on entries not yet written.
|
|
96
|
-
*/
|
|
58
|
+
/** Owning project, lowercased; '' = user-global (injectable everywhere), null = none known (legacy or unnamed write), denied by ambient context.
|
|
59
|
+
* Stamped at write time by stampOriginProject (src/store/entry-row.ts); undefined only before the first write. */
|
|
97
60
|
origin_project?: string | null;
|
|
98
|
-
/**
|
|
99
|
-
*
|
|
100
|
-
* `loadSearchEntries`.
|
|
101
|
-
*
|
|
102
|
-
* Populated ONLY when ALL of the following hold:
|
|
103
|
-
* - `loadSearchEntries` was called with a non-empty query, AND
|
|
104
|
-
* - FTS5 is available (meta `fts5_available = 1`), AND
|
|
105
|
-
* - the FTS join returned at least one row (path 2 of `loadSearchRows`).
|
|
106
|
-
*
|
|
107
|
-
* `undefined` on every other path: empty query, FTS unavailable, LIKE
|
|
108
|
-
* fallback, full-store fallback, `readEntry`, `loadAllEntries`, manual
|
|
109
|
-
* upsert, deserializeEntry from markdown.
|
|
110
|
-
*
|
|
111
|
-
* SCALE: FTS5 bm25() is negative; lower = better match (ascending order).
|
|
112
|
-
* NOT a drop-in for the JS-side BM25 in `src/search.ts` — that is a
|
|
113
|
-
* different scorer (different tokenizer, different params, positive
|
|
114
|
-
* scale). Treat `bm25_score` as provenance/rank metadata only.
|
|
115
|
-
*/
|
|
61
|
+
/** Raw FTS5 bm25() from the search path (negative, lower = better); set only for a non-empty query the FTS join answered.
|
|
62
|
+
* Not comparable to the JS scorer in src/search/bm25.ts, so read it as rank metadata only. */
|
|
116
63
|
bm25_score?: number;
|
|
117
64
|
}
|
|
118
65
|
/** Tag on a memory whose named file/symbol/script changed after it was stored. */
|
|
119
66
|
export declare const CHURN_STALE_TAG = "churn-stale";
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
* See `tests/emotional-multipliers.test.ts` for the pattern.
|
|
128
|
-
*/
|
|
67
|
+
export declare const EMOTIONAL_MULTIPLIERS: {
|
|
68
|
+
neutral: number;
|
|
69
|
+
positive: number;
|
|
70
|
+
negative: number;
|
|
71
|
+
critical: number;
|
|
72
|
+
};
|
|
73
|
+
/** Test-only: a test that sets HIPPO_LOSS_AVERSION_RATIO calls this in beforeEach and afterEach (tests/emotional-multipliers.test.ts). */
|
|
129
74
|
export declare function _resetLossAversionRatioCacheForTests(): void;
|
|
130
|
-
/**
|
|
131
|
-
|
|
132
|
-
*
|
|
133
|
-
* reward_ratio = (positive - negative) / (positive + negative + 1)
|
|
134
|
-
* reward_factor = 1 + 0.5 * reward_ratio
|
|
135
|
-
*
|
|
136
|
-
* Range: (0.5, 1.5). Neutral (no outcomes) returns 1.0.
|
|
137
|
-
* Modulates effective half-life: memories with consistent positive outcomes
|
|
138
|
-
* decay slower; consistent negative outcomes decay faster.
|
|
139
|
-
*/
|
|
75
|
+
/** Scales only the `negative` multiplier; `critical` stays unscaled so the knob moves just the losses-vs-gains claim. */
|
|
76
|
+
export declare function applyLossAversionRatio(valence: EmotionalValence, baseMultiplier: number): number;
|
|
77
|
+
/** 1 + REWARD_SLOPE * (pos - neg) / (pos + neg + 1), in (0.5, 1.5), 1.0 with no outcomes; it scales the effective half-life. */
|
|
140
78
|
export declare function calculateRewardFactor(entry: Pick<MemoryEntry, 'outcome_positive' | 'outcome_negative'>): number;
|
|
141
|
-
/**
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
79
|
+
/** Bad marks alone never push a memory under sleep's 0.05 retire line; supersede is the hard correction. */
|
|
80
|
+
export declare const MAX_WRONG_HALVINGS = 3;
|
|
81
|
+
export declare const DECAY_BASE = 0.5;
|
|
82
|
+
export declare const REWARD_SLOPE = 0.5;
|
|
83
|
+
export declare const RETRIEVAL_BOOST_SLOPE = 0.1;
|
|
84
|
+
/** Bad outcome marks past good ones, floored at zero; each halves strength and stops recall strengthening, so a correction outranks pinning. */
|
|
146
85
|
export declare function netWrong(entry: Pick<MemoryEntry, 'outcome_positive' | 'outcome_negative'>): number;
|
|
147
|
-
/**
|
|
148
|
-
* Options for decay basis.
|
|
149
|
-
* - clock: wall-clock time (former default)
|
|
150
|
-
* - session: decay by sleep cycle count (for intermittent agents)
|
|
151
|
-
* - adaptive: auto-scale half-life by session frequency (default)
|
|
152
|
-
*/
|
|
153
86
|
/** What calculateStrength reads, so a caller can score a row without loading its text. */
|
|
154
87
|
export type StrengthInputs = Pick<MemoryEntry, 'pinned' | 'created' | 'last_retrieved' | 'half_life_days' | 'retrieval_count' | 'emotional_valence' | 'outcome_positive' | 'outcome_negative'>;
|
|
88
|
+
/** Decay basis: clock = wall time, session = per sleep cycle (intermittent agents), adaptive = half-life scaled by session frequency. */
|
|
155
89
|
export interface DecayOptions {
|
|
156
90
|
decayBasis?: 'clock' | 'session' | 'adaptive';
|
|
157
91
|
/** Average interval between sleep cycles, in days. Used by 'adaptive' and 'session' modes. */
|
|
@@ -159,41 +93,16 @@ export interface DecayOptions {
|
|
|
159
93
|
/** Total sleep cycles completed. Used by consolidation tracking. */
|
|
160
94
|
sleepCount?: number;
|
|
161
95
|
}
|
|
162
|
-
/**
|
|
163
|
-
*
|
|
164
|
-
* strength(t) = base_strength * decay * retrieval_boost * emotional_multiplier
|
|
165
|
-
*
|
|
166
|
-
* Decay basis modes:
|
|
167
|
-
* - clock: classic wall-clock decay (daysSince / halfLife)
|
|
168
|
-
* - session: decay by sleep cycles instead of days (sessionsSince / halfLife)
|
|
169
|
-
* - adaptive: wall-clock decay with half-life scaled by session frequency
|
|
170
|
-
*
|
|
171
|
-
* Pinned memories skip time decay; being marked wrong still fades them (netWrong).
|
|
172
|
-
*/
|
|
96
|
+
/** Strength at `now` = decay * retrieval boost * emotional multiplier, clamped to [0, 1]; the basis modes are on DecayOptions.
|
|
97
|
+
* Pinned memories skip time decay, but being marked wrong still fades them (netWrong). */
|
|
173
98
|
export declare function calculateStrength(entry: StrengthInputs, now?: Date, options?: DecayOptions): number;
|
|
174
|
-
/**
|
|
175
|
-
* An unparseable date scores NULL here and 0 in JS, so sums agree. */
|
|
176
|
-
export declare function strengthSql(now: Date): string;
|
|
99
|
+
/** The base half-life scaled by the PLAN.md signals: an error tag, and high or low schema fit. */
|
|
177
100
|
export declare function deriveHalfLife(base: number, entry: Partial<MemoryEntry>): number;
|
|
178
|
-
/**
|
|
179
|
-
* Apply outcome feedback to a memory entry.
|
|
180
|
-
*
|
|
181
|
-
* Increments outcome_positive or outcome_negative counters.
|
|
182
|
-
* The reward factor in calculateStrength() uses these counts to
|
|
183
|
-
* continuously modulate the effective half-life:
|
|
184
|
-
* reward_ratio = (pos - neg) / (pos + neg + 1)
|
|
185
|
-
* reward_factor = 1 + 0.5 * reward_ratio // range (0.5, 1.5)
|
|
186
|
-
* effective_hl = half_life_days * reward_factor
|
|
187
|
-
*
|
|
188
|
-
* No fixed half-life delta. Decay rate adjusts proportionally to
|
|
189
|
-
* cumulative reward signal, inspired by R-STDP in spiking networks.
|
|
190
|
-
*/
|
|
101
|
+
/** Counts the outcome; calculateStrength turns the counts into a reward factor on the half-life, so there is no fixed delta here. */
|
|
191
102
|
export declare function applyOutcome(entry: MemoryEntry, good: boolean): MemoryEntry;
|
|
192
103
|
/** applyOutcome as a served outcome applies it: a good outcome reconfirms the entry, so its churn-stale tag goes. */
|
|
193
104
|
export declare function entryAfterOutcome(entry: MemoryEntry, good: boolean): MemoryEntry;
|
|
194
|
-
/**
|
|
195
|
-
* Generate a random memory ID using crypto.randomUUID().
|
|
196
|
-
*/
|
|
105
|
+
/** A new id: `prefix_` plus the first ID_SUFFIX_CHARS hex characters of a random UUID. */
|
|
197
106
|
export declare function generateId(prefix?: string): string;
|
|
198
107
|
/** What the confidence facets read, so a caller can derive them from a row it loaded only in part. */
|
|
199
108
|
export type ConfidenceInputs = Pick<MemoryEntry, 'pinned' | 'confidence' | 'last_retrieved'>;
|
|
@@ -207,28 +116,20 @@ export declare function confidenceLabel(entry: MemoryEntry, now?: Date): {
|
|
|
207
116
|
text: string;
|
|
208
117
|
warn: boolean;
|
|
209
118
|
};
|
|
210
|
-
/**
|
|
211
|
-
* Resolve the effective confidence for a memory entry.
|
|
212
|
-
* If the entry has not been retrieved in 30+ days and is not 'verified',
|
|
213
|
-
* returns 'stale'. Otherwise returns the stored confidence value.
|
|
214
|
-
*/
|
|
119
|
+
/** The stored confidence, or 'stale' once the entry is aged out (not retrieved for AGED_OUT_AFTER_DAYS; pinned and verified exempt). */
|
|
215
120
|
export declare function resolveConfidence(entry: MemoryEntry, now?: Date): ConfidenceLevel;
|
|
216
|
-
/**
|
|
217
|
-
*
|
|
218
|
-
* write-time multipliers. 365 because 7 days lost the current fact far more
|
|
219
|
-
* often, and 730 days or no decay did no better. `hippo sleep` moves memories still
|
|
220
|
-
* on an older base (src/consolidate/half-life-migration.ts).
|
|
221
|
-
*/
|
|
121
|
+
/** Base half-life in days before deriveHalfLife's multipliers: 365 because 7 lost the current fact far more often and 730 did no better.
|
|
122
|
+
* `hippo sleep` moves memories still on an older base (src/consolidate/half-life-migration.ts). */
|
|
222
123
|
export declare const DEFAULT_HALF_LIFE_DAYS = 365;
|
|
223
124
|
export declare const COMPACTION_MEMORY_TAG = "compaction-memory";
|
|
224
125
|
export declare const COMPACTION_SOURCE_PREFIX = "compaction:";
|
|
225
|
-
/** An imported agent memory
|
|
126
|
+
/** An imported agent memory is kept for good: the agent's note file is its record. It needs both its tool's tag and a source with that tool's prefix,
|
|
127
|
+
* since merge copies source tags onto rows whose source is 'consolidation'. */
|
|
226
128
|
export interface KeepPair {
|
|
227
129
|
readonly tag: string;
|
|
228
130
|
readonly sourcePrefix: string;
|
|
229
131
|
}
|
|
230
132
|
export declare const KEEP_PAIRS: readonly KeepPair[];
|
|
231
|
-
export declare const AUTO_DELETABLE_SQL: string;
|
|
232
133
|
export declare function isKeptForGood(entry: Pick<MemoryEntry, 'tags' | 'source' | 'superseded_by'>): boolean;
|
|
233
134
|
export declare function canAutoDelete(entry: Pick<MemoryEntry, 'pinned' | 'kind' | 'tags' | 'source' | 'superseded_by'>): boolean;
|
|
234
135
|
export interface CreateMemoryOptions {
|
|
@@ -239,7 +140,7 @@ export interface CreateMemoryOptions {
|
|
|
239
140
|
schema_fit?: number;
|
|
240
141
|
source?: string;
|
|
241
142
|
confidence?: ConfidenceLevel;
|
|
242
|
-
/** The store's `loadConfig(hippoRoot).defaultHalfLifeDays`; required so no writer
|
|
143
|
+
/** The store's `loadConfig(hippoRoot).defaultHalfLifeDays`; required so no writer silently gets the compiled default. */
|
|
243
144
|
baseHalfLifeDays: number;
|
|
244
145
|
trace_outcome?: TraceOutcome;
|
|
245
146
|
source_session_id?: string | null;
|
|
@@ -263,16 +164,8 @@ export declare function createSuccessor(old: MemoryEntry, content: string, opts:
|
|
|
263
164
|
tags?: string[];
|
|
264
165
|
pinned?: boolean;
|
|
265
166
|
}): MemoryEntry;
|
|
266
|
-
/**
|
|
267
|
-
*
|
|
268
|
-
* Returns 0..1 where:
|
|
269
|
-
* >0.7 = high fit (consistent with existing knowledge, consolidates faster)
|
|
270
|
-
* 0.3-0.7 = moderate fit
|
|
271
|
-
* <0.3 = novel (doesn't match existing patterns, decays faster if unused)
|
|
272
|
-
*
|
|
273
|
-
* Uses tag overlap (always available) weighted by how common each tag is.
|
|
274
|
-
* Rare shared tags signal stronger schema fit than common ones.
|
|
275
|
-
*/
|
|
167
|
+
/** How well new content fits existing knowledge, 0..1: above 0.7 consolidates faster, below 0.3 is novel and decays faster if unused.
|
|
168
|
+
* Tags shared with existing memories count by rarity (a rare shared tag fits more), plus content-token overlap. */
|
|
276
169
|
export declare function computeSchemaFit(content: string, tags: string[], existingEntries: MemoryEntry[]): number;
|
|
277
170
|
/** What schema fit reads from a set of memories, so a store can answer without loading its rows. */
|
|
278
171
|
export interface SchemaFitSource {
|
|
@@ -284,23 +177,7 @@ export interface SchemaFitSource {
|
|
|
284
177
|
}
|
|
285
178
|
/** computeSchemaFit against `source`, for a caller that holds counts and texts but no rows. */
|
|
286
179
|
export declare function schemaFitFrom(content: string, tags: readonly string[], source: SchemaFitSource): number;
|
|
287
|
-
/**
|
|
288
|
-
*
|
|
289
|
-
* Returns the mutated copies (caller must persist to disk).
|
|
290
|
-
*
|
|
291
|
-
* EVAL-ONLY ablation (see ablation.ts): with HIPPO_ABLATE_RECALL_BOOST set,
|
|
292
|
-
* this returns the entries UNMUTATED - neutralizing all three strengthening
|
|
293
|
-
* sub-effects (clock reset, retrieval_count, half-life increment) at the
|
|
294
|
-
* single shared write site. The entries (not an empty array) must be
|
|
295
|
-
* returned because callers derive `last_retrieval_ids` from the return
|
|
296
|
-
* value, and a later `hippo outcome --good/--bad` targets those ids - an
|
|
297
|
-
* empty return would silently co-ablate the outcome channel in the
|
|
298
|
-
* strengthen-off arm. PERSISTENCE is gated separately at
|
|
299
|
-
* each persisting caller (CLI recall, api context, MCP recall/context,
|
|
300
|
-
* consolidation replay): writeEntry on identical rows still refreshes
|
|
301
|
-
* updated_at, rewrites mirrors, and marks DAG parents dirty,
|
|
302
|
-
* so those write loops skip under the flag.
|
|
303
|
-
* The default `now` honors HIPPO_FAKE_NOW (simulated-time protocols).
|
|
304
|
-
*/
|
|
180
|
+
/** Returns copies with the retrieval count, clock and half-life updated; the caller persists them.
|
|
181
|
+
* Under HIPPO_ABLATE_RECALL_BOOST (eval-only) the entries come back unchanged, not empty, since callers derive last_retrieval_ids from them. */
|
|
305
182
|
export declare function markRetrieved(entries: MemoryEntry[], now?: Date): MemoryEntry[];
|
|
306
183
|
//# sourceMappingURL=memory.d.ts.map
|