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/cli/status.js
CHANGED
|
@@ -5,48 +5,49 @@ import * as path from 'path';
|
|
|
5
5
|
import * as fs from 'fs';
|
|
6
6
|
import * as os from 'os';
|
|
7
7
|
import { fileURLToPath } from 'node:url';
|
|
8
|
-
import { calculateStrength, calculateRewardFactor, resolveConfidence,
|
|
9
|
-
import {
|
|
8
|
+
import { calculateStrength, calculateRewardFactor, resolveConfidence, Layer } from '../core/memory.js';
|
|
9
|
+
import { loadCorrectionEntries, loadRawEntries } from '../store/report-reads.js';
|
|
10
10
|
import { loadStats } from '../store/index-and-stats.js';
|
|
11
|
-
import {
|
|
12
|
-
import {
|
|
11
|
+
import { loadStatusCounts } from '../store/candidates.js';
|
|
12
|
+
import { embeddingModelRequiresReindex } from '../store/embeddings/index.js';
|
|
13
13
|
import { resolveEmbeddingProvider } from '../store/embeddings/provider.js';
|
|
14
|
-
import { loadStoredParticles } from '../store/vector-
|
|
14
|
+
import { loadStoredParticles, storedVectorSummary } from '../store/vector-index.js';
|
|
15
15
|
import { computeSystemEnergy, vecNorm } from '../core/physics.js';
|
|
16
16
|
import { loadConfig } from '../core/config.js';
|
|
17
17
|
import { runDoctor, formatDoctor } from '../doctor.js';
|
|
18
18
|
import { buildSupportBundle, TAIL_MAX_LINES } from '../support-bundle.js';
|
|
19
19
|
import { PACKAGE_VERSION } from '../util/version.js';
|
|
20
20
|
import { FAILURE_LOG_RETENTION_DAYS } from '../store/failure-log.js';
|
|
21
|
-
import { getGlobalRoot } from '../sharing/
|
|
21
|
+
import { getGlobalRoot } from '../sharing/global-store.js';
|
|
22
22
|
import { buildProvenanceCoverage } from './provenance-coverage.js';
|
|
23
23
|
import { buildCorrectionLatency } from './correction-latency.js';
|
|
24
24
|
import * as api from '../api/index.js';
|
|
25
|
-
import {
|
|
25
|
+
import { getMemory } from '../api/memories.js';
|
|
26
|
+
import { cliApiContext } from './api-context.js';
|
|
26
27
|
import { errorMessage, log } from '../util/log.js';
|
|
27
28
|
import { printError } from './output.js';
|
|
28
29
|
import { parseCountFlag, stringFlagOrExit, flagIsTrue } from './flag-values.js';
|
|
29
30
|
import { requireInit, resolveAuthRoot } from './shared.js';
|
|
30
31
|
import { fmt } from './print.js';
|
|
32
|
+
import { isJsonObject } from '../util/json.js';
|
|
31
33
|
import { hookStoreRoot } from './hook-runtime.js';
|
|
32
34
|
import { DAY_MS } from '../util/time.js';
|
|
33
|
-
|
|
35
|
+
import { CliExit } from './exit.js';
|
|
36
|
+
export function handleStatus({ hippoRoot }) {
|
|
34
37
|
requireInit(hippoRoot);
|
|
35
|
-
const entries = loadAllEntries(hippoRoot);
|
|
36
38
|
const stats = loadStats(hippoRoot);
|
|
37
|
-
const
|
|
38
|
-
const { byLayer, byConfidence, pinned, atRisk, agedOut, avgStrength } =
|
|
39
|
+
const counts = loadStatusCounts(hippoRoot, evalNow(), 0.2);
|
|
40
|
+
const { byLayer, byConfidence, pinned, atRisk, agedOut, avgStrength } = counts;
|
|
39
41
|
console.log('Hippo Status');
|
|
40
42
|
console.log('---------------------------');
|
|
41
|
-
console.log(`Total memories: ${
|
|
43
|
+
console.log(`Total memories: ${counts.total}`);
|
|
42
44
|
console.log(` Buffer: ${byLayer[Layer.Buffer]}`);
|
|
43
45
|
console.log(` Episodic: ${byLayer[Layer.Episodic]}`);
|
|
44
46
|
console.log(` Semantic: ${byLayer[Layer.Semantic]}`);
|
|
45
47
|
console.log(` Trace: ${byLayer[Layer.Trace]}`);
|
|
46
|
-
const conflictCount = listMemoryConflicts(hippoRoot).length;
|
|
47
48
|
console.log(`Pinned: ${pinned}`);
|
|
48
49
|
console.log(`At risk (<0.2): ${atRisk}`);
|
|
49
|
-
console.log(`Open conflicts: ${
|
|
50
|
+
console.log(`Open conflicts: ${counts.openConflicts}`);
|
|
50
51
|
console.log(`Avg strength: ${fmt(avgStrength)}`);
|
|
51
52
|
console.log('');
|
|
52
53
|
console.log('Confidence breakdown:');
|
|
@@ -56,55 +57,22 @@ export function cmdStatus(hippoRoot) {
|
|
|
56
57
|
console.log(` Stale: ${byConfidence['stale'] ?? 0}`);
|
|
57
58
|
console.log(` Aged out: ${agedOut} (of the above; excludes pinned, verified)`);
|
|
58
59
|
console.log('');
|
|
59
|
-
console.log(`Total remembered: ${stats
|
|
60
|
-
console.log(`Total recalled: ${stats
|
|
61
|
-
console.log(`Total forgotten: ${stats
|
|
62
|
-
const runs = stats
|
|
60
|
+
console.log(`Total remembered: ${stats.total_remembered ?? 0}`);
|
|
61
|
+
console.log(`Total recalled: ${stats.total_recalled ?? 0}`);
|
|
62
|
+
console.log(`Total forgotten: ${stats.total_forgotten ?? 0}`);
|
|
63
|
+
const runs = stats.consolidation_runs ?? [];
|
|
63
64
|
if (Array.isArray(runs) && runs.length > 0) {
|
|
64
65
|
const last = runs[runs.length - 1];
|
|
65
|
-
console.log(`Last sleep: ${last['timestamp']}`);
|
|
66
|
+
console.log(`Last sleep: ${isJsonObject(last) ? last['timestamp'] : undefined}`);
|
|
66
67
|
}
|
|
67
68
|
else {
|
|
68
69
|
console.log(`Last sleep: never`);
|
|
69
70
|
}
|
|
70
|
-
printEmbeddingStatus(hippoRoot,
|
|
71
|
+
printEmbeddingStatus(hippoRoot, counts);
|
|
71
72
|
printPhysicsStatus(hippoRoot);
|
|
72
73
|
}
|
|
73
|
-
function tallyStatus(entries, now) {
|
|
74
|
-
const byLayer = {
|
|
75
|
-
[Layer.Buffer]: 0,
|
|
76
|
-
[Layer.Episodic]: 0,
|
|
77
|
-
[Layer.Semantic]: 0,
|
|
78
|
-
[Layer.Trace]: 0,
|
|
79
|
-
};
|
|
80
|
-
const byConfidence = {
|
|
81
|
-
verified: 0,
|
|
82
|
-
observed: 0,
|
|
83
|
-
inferred: 0,
|
|
84
|
-
stale: 0,
|
|
85
|
-
};
|
|
86
|
-
let totalStrength = 0;
|
|
87
|
-
let pinned = 0;
|
|
88
|
-
let atRisk = 0; // strength < 0.2
|
|
89
|
-
let agedOut = 0;
|
|
90
|
-
for (const e of entries) {
|
|
91
|
-
const s = calculateStrength(e, now);
|
|
92
|
-
byLayer[e.layer] = (byLayer[e.layer] ?? 0) + 1;
|
|
93
|
-
totalStrength += s;
|
|
94
|
-
if (e.pinned)
|
|
95
|
-
pinned++;
|
|
96
|
-
if (s < 0.2)
|
|
97
|
-
atRisk++;
|
|
98
|
-
const facets = confidenceFacets(e, now);
|
|
99
|
-
byConfidence[facets.tier] = (byConfidence[facets.tier] ?? 0) + 1;
|
|
100
|
-
if (facets.agedOut)
|
|
101
|
-
agedOut++;
|
|
102
|
-
}
|
|
103
|
-
const avgStrength = entries.length > 0 ? totalStrength / entries.length : 0;
|
|
104
|
-
return { byLayer, byConfidence, pinned, atRisk, agedOut, avgStrength };
|
|
105
|
-
}
|
|
106
74
|
// Embedding status (provider-aware)
|
|
107
|
-
function printEmbeddingStatus(hippoRoot,
|
|
75
|
+
function printEmbeddingStatus(hippoRoot, counts) {
|
|
108
76
|
const embedProvider = (() => {
|
|
109
77
|
try {
|
|
110
78
|
return resolveEmbeddingProvider(hippoRoot);
|
|
@@ -135,36 +103,34 @@ function printEmbeddingStatus(hippoRoot, entries) {
|
|
|
135
103
|
}
|
|
136
104
|
// Show cached counts whenever vectors exist on disk (even when disabled or
|
|
137
105
|
// the key was removed), so the user still sees what is already indexed.
|
|
138
|
-
const
|
|
139
|
-
if (!embAvail &&
|
|
106
|
+
const { ids: embeddedIds, dims } = storedVectorSummary(hippoRoot);
|
|
107
|
+
if (!embAvail && embeddedIds.size === 0)
|
|
140
108
|
return;
|
|
141
|
-
const
|
|
142
|
-
|
|
143
|
-
const orphaned = Object.keys(embIndex).length - activeEmbedded;
|
|
144
|
-
const dims = Object.values(embIndex)[0]?.length;
|
|
145
|
-
let line = `Embedded: ${activeEmbedded}/${entries.length} memories`;
|
|
109
|
+
const orphaned = embeddedIds.size - counts.embedded;
|
|
110
|
+
let line = `Embedded: ${counts.embedded}/${counts.total} memories`;
|
|
146
111
|
if (dims)
|
|
147
112
|
line += ` (${dims}-dim)`;
|
|
148
113
|
if (orphaned > 0)
|
|
149
114
|
line += ` (${orphaned} orphaned, run \`hippo embed\` to prune)`;
|
|
150
115
|
console.log(line);
|
|
151
|
-
|
|
116
|
+
// No index argument: the check then asks SQLite whether any vector exists instead of loading them.
|
|
117
|
+
if (embeddingModelRequiresReindex(hippoRoot, embedProvider.id)) {
|
|
152
118
|
console.log(` model changed, run \`hippo embed\` to reindex`);
|
|
153
119
|
}
|
|
154
120
|
}
|
|
121
|
+
// The all-pairs energy sum is quadratic, so a large particle set skips it.
|
|
122
|
+
const PHYSICS_ENERGY_STATUS_MAX = 2000;
|
|
155
123
|
// Physics status
|
|
156
124
|
function printPhysicsStatus(hippoRoot) {
|
|
157
125
|
try {
|
|
158
126
|
const particles = loadStoredParticles(hippoRoot);
|
|
159
127
|
if (particles.length > 0) {
|
|
160
|
-
const physConfig = loadConfig(hippoRoot);
|
|
161
|
-
const energy = computeSystemEnergy(particles, physConfig.physics.G_memory);
|
|
162
128
|
let sumVelMag = 0;
|
|
163
129
|
for (const p of particles)
|
|
164
130
|
sumVelMag += vecNorm(p.velocity);
|
|
165
131
|
const avgVelMag = sumVelMag / particles.length;
|
|
166
132
|
console.log('');
|
|
167
|
-
console.log(`Physics: ${particles.length} particles,
|
|
133
|
+
console.log(`Physics: ${particles.length} particles, ${physicsEnergyText(particles, loadConfig(hippoRoot).physics.G_memory)}, avg vel: ${fmt(avgVelMag, 4)}`);
|
|
168
134
|
}
|
|
169
135
|
}
|
|
170
136
|
catch (err) {
|
|
@@ -172,12 +138,18 @@ function printPhysicsStatus(hippoRoot) {
|
|
|
172
138
|
log.debug(`physics status skipped: ${errorMessage(err)}`);
|
|
173
139
|
}
|
|
174
140
|
}
|
|
175
|
-
function
|
|
141
|
+
export function physicsEnergyText(particles, gMemory) {
|
|
142
|
+
if (particles.length > PHYSICS_ENERGY_STATUS_MAX)
|
|
143
|
+
return `energy: skipped (${particles.length} particles)`;
|
|
144
|
+
const energy = computeSystemEnergy(particles, gMemory);
|
|
145
|
+
return `energy: ${fmt(energy.total, 4)} (KE: ${fmt(energy.kinetic, 4)}, PE: ${fmt(energy.potential, 4)})`;
|
|
146
|
+
}
|
|
147
|
+
async function cmdInspect(hippoRoot, tenantId, id) {
|
|
176
148
|
requireInit(hippoRoot);
|
|
177
|
-
const entry =
|
|
149
|
+
const entry = await getMemory(cliApiContext(hippoRoot, tenantId), id);
|
|
178
150
|
if (!entry) {
|
|
179
151
|
printError(`Memory not found: ${id}`);
|
|
180
|
-
|
|
152
|
+
throw new CliExit(1);
|
|
181
153
|
}
|
|
182
154
|
const now = evalNow();
|
|
183
155
|
const currentStrength = calculateStrength(entry, now);
|
|
@@ -214,20 +186,11 @@ function cmdInspect(hippoRoot, id) {
|
|
|
214
186
|
console.log('-'.repeat(40));
|
|
215
187
|
console.log(entry.content);
|
|
216
188
|
}
|
|
217
|
-
/**
|
|
218
|
-
*
|
|
219
|
-
|
|
220
|
-
* the per-prompt hook skipped as unchanged and the tokens that saved,
|
|
221
|
-
* and the hook blocks' tokens later model calls re-read, counted when each session ends.
|
|
222
|
-
* Counts are estimates (characters / 4), the same estimate every budget uses.
|
|
223
|
-
*/
|
|
224
|
-
export function cmdTokens(hippoRoot, flags) {
|
|
189
|
+
/** `hippo tokens [--days <n>] [--json] [--global]`: the token ledger per surface, tokens saved by skipped unchanged blocks, and re-read hook tokens.
|
|
190
|
+
* Counts are estimates (characters / 4), the same estimate every budget uses. */
|
|
191
|
+
export function handleTokens({ hippoRoot, tenantId, flags }) {
|
|
225
192
|
const root = resolveAuthRoot(hippoRoot, flags);
|
|
226
|
-
const ctx =
|
|
227
|
-
hippoRoot: root,
|
|
228
|
-
tenantId: resolveTenantId({}),
|
|
229
|
-
actor: api.adminActor('cli'),
|
|
230
|
-
};
|
|
193
|
+
const ctx = cliApiContext(root, tenantId);
|
|
231
194
|
const days = parseCountFlag(flags['days']);
|
|
232
195
|
const summary = api.tokenSummary(ctx, { days: days > 0 ? days : undefined });
|
|
233
196
|
if (flags['json']) {
|
|
@@ -257,15 +220,11 @@ export function cmdTokens(hippoRoot, flags) {
|
|
|
257
220
|
console.log(" Re-reads usually bill at the provider's cached-input rate, a fraction of the full input price.");
|
|
258
221
|
}
|
|
259
222
|
/** `hippo failures [--days <n>] [--json] [--global]`: failed tool calls by outcome, and repeats across sessions. */
|
|
260
|
-
export function
|
|
223
|
+
export function handleFailures({ hippoRoot, tenantId, flags }) {
|
|
261
224
|
// The store the capture-error hook writes to; a report never creates one.
|
|
262
225
|
const root = flags['global'] ? getGlobalRoot() : hookStoreRoot(hippoRoot);
|
|
263
226
|
requireInit(root);
|
|
264
|
-
const ctx =
|
|
265
|
-
hippoRoot: root,
|
|
266
|
-
tenantId: resolveTenantId({}),
|
|
267
|
-
actor: api.adminActor('cli'),
|
|
268
|
-
};
|
|
227
|
+
const ctx = cliApiContext(root, tenantId);
|
|
269
228
|
const days = parseCountFlag(flags['days']);
|
|
270
229
|
const summary = api.failureSummary(ctx, { days: days > 0 ? days : undefined });
|
|
271
230
|
if (flags['json']) {
|
|
@@ -300,8 +259,7 @@ export function cmdFailures(hippoRoot, flags) {
|
|
|
300
259
|
}
|
|
301
260
|
export function handleCorrectionLatency({ hippoRoot, flags }) {
|
|
302
261
|
requireInit(hippoRoot);
|
|
303
|
-
const
|
|
304
|
-
const report = buildCorrectionLatency(entries);
|
|
262
|
+
const report = buildCorrectionLatency(loadCorrectionEntries(hippoRoot));
|
|
305
263
|
if (flags['json']) {
|
|
306
264
|
console.log(JSON.stringify(report, null, 2));
|
|
307
265
|
}
|
|
@@ -330,8 +288,7 @@ export function handleCorrectionLatency({ hippoRoot, flags }) {
|
|
|
330
288
|
}
|
|
331
289
|
export function handleProvenance({ hippoRoot, flags }) {
|
|
332
290
|
requireInit(hippoRoot);
|
|
333
|
-
const
|
|
334
|
-
const coverage = buildProvenanceCoverage(entries);
|
|
291
|
+
const coverage = buildProvenanceCoverage(loadRawEntries(hippoRoot));
|
|
335
292
|
if (flags['json']) {
|
|
336
293
|
console.log(JSON.stringify(coverage, null, 2));
|
|
337
294
|
}
|
|
@@ -349,7 +306,7 @@ export function handleProvenance({ hippoRoot, flags }) {
|
|
|
349
306
|
}
|
|
350
307
|
}
|
|
351
308
|
if (flags['strict'] && coverage.coverage < 1) {
|
|
352
|
-
|
|
309
|
+
throw new CliExit(1);
|
|
353
310
|
}
|
|
354
311
|
}
|
|
355
312
|
export function handleDoctor({ flags }) {
|
|
@@ -358,13 +315,13 @@ export function handleDoctor({ flags }) {
|
|
|
358
315
|
const report = runDoctor({ version: pkg.version });
|
|
359
316
|
console.log(flags['json'] ? JSON.stringify(report, null, 2) : formatDoctor(report));
|
|
360
317
|
if (!report.ok)
|
|
361
|
-
|
|
318
|
+
throw new CliExit(1);
|
|
362
319
|
}
|
|
363
320
|
export function handleSupportBundle({ flags }) {
|
|
364
321
|
const outFlag = stringFlagOrExit(flags, 'out');
|
|
365
322
|
if (outFlag === '') {
|
|
366
323
|
printError('--out requires a file path.');
|
|
367
|
-
|
|
324
|
+
throw new CliExit(1);
|
|
368
325
|
}
|
|
369
326
|
const includeLogs = flagIsTrue(flags, 'include-logs');
|
|
370
327
|
const home = envHomeDir() || os.homedir();
|
|
@@ -383,7 +340,7 @@ export function handleSupportBundle({ flags }) {
|
|
|
383
340
|
else {
|
|
384
341
|
printError(errorMessage(err));
|
|
385
342
|
}
|
|
386
|
-
|
|
343
|
+
throw new CliExit(1);
|
|
387
344
|
}
|
|
388
345
|
const kb = Math.round(Buffer.byteLength(json) / 1024);
|
|
389
346
|
console.log(`Wrote ${file} (${kb} KB).`);
|
|
@@ -391,12 +348,12 @@ export function handleSupportBundle({ flags }) {
|
|
|
391
348
|
? `It holds versions, doctor checks, config with secrets removed, store counts, and the last ${TAIL_MAX_LINES} lines of each hippo log with known secret shapes removed. Those log lines can quote memory text. Read it before you attach it to a ticket.`
|
|
392
349
|
: 'It holds versions, doctor checks, config with secrets removed, store counts and log file names. It never holds memory text. Read it before you attach it to a ticket.');
|
|
393
350
|
}
|
|
394
|
-
export function handleInspect({ hippoRoot, args }) {
|
|
351
|
+
export async function handleInspect({ hippoRoot, tenantId, args }) {
|
|
395
352
|
const id = args[0];
|
|
396
353
|
if (!id) {
|
|
397
354
|
printError('Please provide a memory ID.');
|
|
398
|
-
|
|
355
|
+
throw new CliExit(1);
|
|
399
356
|
}
|
|
400
|
-
cmdInspect(hippoRoot, id);
|
|
357
|
+
await cmdInspect(hippoRoot, tenantId, id);
|
|
401
358
|
}
|
|
402
359
|
//# sourceMappingURL=status.js.map
|
package/dist/cli/stdin.d.ts
CHANGED
|
@@ -1,13 +1,11 @@
|
|
|
1
|
-
/** `timedOut` means the window closed with stdin still open, so absent
|
|
2
|
-
*
|
|
3
|
-
* Treating absence as a manual run is only safe when it is false. */
|
|
1
|
+
/** `timedOut` means the window closed with stdin still open, so absent `text` is "unknown", not "none", and present `text` may be truncated;
|
|
2
|
+
* treating absence as a manual run is only safe when it is false. */
|
|
4
3
|
export interface BoundedStdin {
|
|
5
4
|
text?: string;
|
|
6
5
|
timedOut: boolean;
|
|
7
6
|
}
|
|
8
|
-
/** Never blocks: a TTY resolves at once, otherwise waits up to `waitMs` of
|
|
9
|
-
*
|
|
10
|
-
* so a slow but real write is not cut off, and capped at `waitMs * 10`. */
|
|
7
|
+
/** Never blocks: a TTY resolves at once, otherwise waits up to `waitMs` of idle (default 1000ms, or `HIPPO_STDIN_WAIT_MS`),
|
|
8
|
+
* refreshed on each chunk so a slow real write is not cut off, capped at `waitMs * 10`. */
|
|
11
9
|
export declare function readStdinBounded(waitMs?: number): Promise<BoundedStdin>;
|
|
12
10
|
/** A hook payload with Copilot's camelCase fields copied to the snake_case keys hippo reads. The camelCase keys stay,
|
|
13
11
|
* so the sessionStart reply can follow the sender's casing; text that needs no change comes back exactly as sent. */
|
package/dist/cli/stdin.js
CHANGED
|
@@ -4,9 +4,8 @@ const DEFAULT_STDIN_WAIT_MS = 1000;
|
|
|
4
4
|
function defaultWaitMs() {
|
|
5
5
|
return envStdinWaitMs() ?? DEFAULT_STDIN_WAIT_MS;
|
|
6
6
|
}
|
|
7
|
-
/** Never blocks: a TTY resolves at once, otherwise waits up to `waitMs` of
|
|
8
|
-
*
|
|
9
|
-
* so a slow but real write is not cut off, and capped at `waitMs * 10`. */
|
|
7
|
+
/** Never blocks: a TTY resolves at once, otherwise waits up to `waitMs` of idle (default 1000ms, or `HIPPO_STDIN_WAIT_MS`),
|
|
8
|
+
* refreshed on each chunk so a slow real write is not cut off, capped at `waitMs * 10`. */
|
|
10
9
|
export function readStdinBounded(waitMs = defaultWaitMs()) {
|
|
11
10
|
let stdin;
|
|
12
11
|
try {
|
package/dist/cli/transfer.d.ts
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { type
|
|
2
|
-
export declare function
|
|
3
|
-
export declare function
|
|
4
|
-
export declare function
|
|
5
|
-
export declare function handleWatch({ hippoRoot, args }: CommandContext): Promise<void>;
|
|
6
|
-
export declare function handlePromote({ hippoRoot, args }: CommandContext): Promise<void>;
|
|
7
|
-
export declare function handleShare({ hippoRoot, args, flags }: CommandContext): void
|
|
8
|
-
export declare function handlePeers({ flags }: CommandContext): void;
|
|
9
|
-
export declare function handleExport({ hippoRoot, args, flags }: CommandContext): void;
|
|
1
|
+
import { type CommandContext } from './flag-values.js';
|
|
2
|
+
export declare function handleLearn({ hippoRoot, flags }: CommandContext): void;
|
|
3
|
+
export declare function handleImport({ hippoRoot, tenantId, args, flags }: CommandContext): void;
|
|
4
|
+
export declare function handleSync({ hippoRoot, flags }: CommandContext): void;
|
|
5
|
+
export declare function handleWatch({ hippoRoot, tenantId, args }: CommandContext): Promise<void>;
|
|
6
|
+
export declare function handlePromote({ hippoRoot, tenantId, args }: CommandContext): Promise<void>;
|
|
7
|
+
export declare function handleShare({ hippoRoot, tenantId, args, flags }: CommandContext): Promise<void>;
|
|
8
|
+
export declare function handlePeers({ tenantId, flags }: CommandContext): void;
|
|
9
|
+
export declare function handleExport({ hippoRoot, tenantId, args, flags }: CommandContext): void;
|
|
10
10
|
//# sourceMappingURL=transfer.d.ts.map
|