hippo-memory 1.70.0 → 1.72.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 +2 -2
- package/dist/agent-memories/apply.d.ts +0 -11
- package/dist/agent-memories/apply.js +6 -21
- package/dist/agent-memories/claude-code.d.ts +4 -2
- package/dist/agent-memories/claude-code.js +15 -6
- package/dist/agent-memories/codex.js +1 -1
- package/dist/agent-memories/copilot.d.ts +1 -3
- package/dist/agent-memories/copilot.js +1 -17
- 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/project-folds.d.ts +10 -0
- package/dist/agent-memories/project-folds.js +34 -0
- package/dist/agent-memories/report.js +2 -1
- package/dist/agent-memories/sync.d.ts +4 -2
- package/dist/agent-memories/sync.js +18 -11
- package/dist/api/assemble.d.ts +7 -44
- package/dist/api/assemble.js +3 -23
- package/dist/api/audit.d.ts +33 -1
- package/dist/api/audit.js +48 -1
- package/dist/api/auth.d.ts +20 -26
- package/dist/api/auth.js +43 -29
- package/dist/api/auto-sleep.d.ts +5 -2
- package/dist/api/auto-sleep.js +9 -5
- package/dist/api/availability.d.ts +2 -15
- package/dist/api/availability.js +4 -18
- package/dist/api/cards.d.ts +42 -0
- package/dist/api/cards.js +52 -0
- package/dist/api/conflicts.d.ts +28 -0
- package/dist/api/conflicts.js +61 -0
- package/dist/api/context-render.js +4 -3
- package/dist/api/context-select.js +12 -15
- package/dist/api/context-types.d.ts +10 -35
- package/dist/api/context.d.ts +5 -22
- package/dist/api/context.js +38 -46
- package/dist/api/continuity.d.ts +47 -0
- package/dist/api/continuity.js +66 -0
- package/dist/{cli → api}/correction-latency.d.ts +2 -14
- package/dist/{cli → api}/correction-latency.js +2 -14
- package/dist/api/dormant.d.ts +5 -21
- package/dist/api/dormant.js +11 -28
- package/dist/api/drill-down.d.ts +7 -46
- package/dist/api/drill-down.js +6 -27
- package/dist/api/embeddings.d.ts +17 -0
- package/dist/api/embeddings.js +28 -0
- package/dist/api/error-reply.d.ts +8 -0
- package/dist/api/error-reply.js +21 -0
- package/dist/api/forget.d.ts +11 -26
- package/dist/api/forget.js +23 -35
- package/dist/api/goals.d.ts +1 -1
- package/dist/api/goals.js +5 -9
- package/dist/api/graph.d.ts +8 -0
- package/dist/api/graph.js +7 -0
- package/dist/api/index.d.ts +6 -2
- package/dist/api/index.js +6 -2
- package/dist/api/instruction-detect.js +21 -6
- package/dist/api/learn.d.ts +4 -0
- package/dist/api/learn.js +53 -27
- package/dist/api/ledger-db.d.ts +2 -5
- package/dist/api/ledger-db.js +5 -35
- package/dist/api/memories.d.ts +23 -0
- package/dist/api/memories.js +46 -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/outcome.js +1 -1
- package/dist/api/pilot-arm.d.ts +1 -11
- package/dist/api/pilot-arm.js +5 -45
- package/dist/api/predictions.d.ts +11 -0
- package/dist/api/predictions.js +24 -0
- package/dist/api/projects.d.ts +21 -0
- package/dist/api/projects.js +24 -0
- package/dist/api/promote.d.ts +13 -17
- package/dist/api/promote.js +12 -20
- package/dist/api/prompt-hook.d.ts +19 -6
- package/dist/api/prompt-hook.js +54 -13
- package/dist/api/provenance-coverage.d.ts +14 -0
- package/dist/{cli → api}/provenance-coverage.js +2 -6
- package/dist/api/recall-cli.d.ts +58 -0
- package/dist/api/recall-cli.js +103 -0
- package/dist/api/recall-core.js +17 -9
- 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 +21 -15
- package/dist/api/recall-request.js +1 -1
- package/dist/api/recall-types.d.ts +64 -304
- package/dist/api/recall.d.ts +3 -34
- package/dist/api/recall.js +63 -89
- 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 +20 -2
- package/dist/api/remember.js +16 -3
- package/dist/api/session-end.d.ts +22 -0
- package/dist/api/session-end.js +101 -0
- package/dist/api/sleep-run.d.ts +2 -4
- package/dist/api/sleep-run.js +28 -28
- package/dist/api/sleep.d.ts +9 -28
- package/dist/api/status.d.ts +24 -0
- package/dist/api/status.js +40 -0
- package/dist/api/store-init.d.ts +4 -0
- package/dist/api/store-init.js +9 -0
- package/dist/api/tokens.d.ts +3 -10
- package/dist/api/tokens.js +4 -11
- package/dist/api/types.d.ts +8 -29
- package/dist/api/types.js +10 -23
- package/dist/capture/caller-session.d.ts +0 -3
- package/dist/capture/caller-session.js +1 -12
- package/dist/capture/capture-error.d.ts +2 -2
- package/dist/capture/capture-error.js +23 -18
- package/dist/capture/codex-patch.js +3 -1
- package/dist/capture/command.d.ts +4 -12
- package/dist/capture/command.js +39 -114
- package/dist/capture/compact.d.ts +4 -15
- package/dist/capture/compact.js +26 -30
- package/dist/capture/compaction-items-caller.js +11 -20
- package/dist/capture/compaction-record.d.ts +7 -93
- package/dist/capture/compaction-record.js +34 -399
- package/dist/capture/compaction-spool.d.ts +5 -3
- package/dist/capture/compaction-spool.js +21 -7
- package/dist/capture/copilot-transcript.d.ts +2 -1
- package/dist/capture/copilot-transcript.js +2 -1
- package/dist/capture/extract.d.ts +5 -2
- package/dist/capture/extract.js +4 -3
- package/dist/capture/failure-caller.d.ts +1 -1
- package/dist/capture/failure-caller.js +21 -16
- package/dist/capture/failure-reading.d.ts +2 -1
- package/dist/capture/failure-reading.js +7 -9
- package/dist/capture/pre-compact-caller.js +5 -4
- package/dist/capture/session-digest.d.ts +1 -1
- package/dist/capture/session-digest.js +17 -10
- package/dist/capture/session-end-caller.js +2 -1
- package/dist/capture/session-worker.js +3 -4
- package/dist/capture/transcript.d.ts +4 -11
- package/dist/capture/transcript.js +10 -21
- package/dist/capture/working-state.d.ts +4 -2
- package/dist/capture/working-state.js +4 -2
- package/dist/cli/api-context.d.ts +3 -0
- package/dist/cli/api-context.js +6 -0
- package/dist/cli/audit-prune.d.ts +1 -59
- package/dist/cli/audit-prune.js +2 -61
- package/dist/cli/audit.d.ts +1 -1
- package/dist/cli/audit.js +42 -43
- package/dist/cli/auth.d.ts +2 -2
- package/dist/cli/auth.js +61 -44
- package/dist/cli/briefs.d.ts +1 -4
- package/dist/cli/briefs.js +42 -301
- package/dist/cli/card.d.ts +2 -2
- package/dist/cli/card.js +63 -56
- package/dist/cli/client.d.ts +12 -27
- package/dist/cli/client.js +41 -44
- package/dist/cli/compact-resume-payload.js +4 -3
- package/dist/cli/context.d.ts +2 -3
- package/dist/cli/context.js +22 -18
- package/dist/cli/continuity.d.ts +6 -6
- package/dist/cli/continuity.js +81 -86
- package/dist/cli/curate.d.ts +13 -17
- package/dist/cli/curate.js +88 -116
- package/dist/cli/dag.d.ts +4 -4
- package/dist/cli/dag.js +55 -34
- package/dist/cli/decisions.d.ts +2 -4
- package/dist/cli/decisions.js +18 -309
- package/dist/cli/eval.d.ts +1 -1
- package/dist/cli/eval.js +27 -26
- package/dist/cli/exit.d.ts +6 -0
- package/dist/cli/exit.js +11 -0
- package/dist/cli/explain.d.ts +2 -3
- package/dist/cli/explain.js +25 -27
- package/dist/cli/flag-values.d.ts +6 -1
- package/dist/cli/flag-values.js +42 -15
- package/dist/cli/flags.d.ts +0 -288
- package/dist/cli/flags.js +3 -138
- 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/graph.d.ts +3 -0
- package/dist/cli/graph.js +83 -0
- package/dist/cli/hook-runtime.d.ts +12 -32
- package/dist/cli/hook-runtime.js +21 -64
- package/dist/cli/incidents.d.ts +3 -0
- package/dist/cli/incidents.js +112 -0
- package/dist/cli/init.d.ts +2 -2
- package/dist/cli/init.js +33 -30
- package/dist/cli/install-steps.d.ts +2 -1
- package/dist/cli/install-steps.js +13 -14
- package/dist/cli/last-sleep.d.ts +2 -1
- package/dist/cli/last-sleep.js +4 -1
- package/dist/cli/lenient-id.d.ts +2 -0
- package/dist/cli/lenient-id.js +13 -0
- package/dist/cli/maintenance.d.ts +5 -5
- package/dist/cli/maintenance.js +37 -43
- package/dist/cli/notes.d.ts +2 -0
- package/dist/cli/notes.js +41 -0
- package/dist/cli/object-verbs.js +4 -3
- package/dist/cli/open-browser.d.ts +14 -0
- package/dist/cli/open-browser.js +26 -0
- package/dist/cli/owner-validation.d.ts +5 -28
- package/dist/cli/owner-validation.js +5 -28
- package/dist/cli/playbooks.d.ts +3 -4
- package/dist/cli/playbooks.js +131 -300
- package/dist/cli/predictions.d.ts +3 -0
- package/dist/cli/predictions.js +175 -0
- package/dist/cli/print.d.ts +2 -5
- package/dist/cli/print.js +3 -5
- package/dist/cli/projects.d.ts +2 -2
- package/dist/cli/projects.js +31 -25
- package/dist/cli/quality-repair-once.d.ts +1 -1
- package/dist/cli/quality-repair-once.js +7 -6
- package/dist/cli/recall.d.ts +2 -4
- package/dist/cli/recall.js +67 -137
- package/dist/cli/refine-llm.d.ts +5 -31
- package/dist/cli/refine-llm.js +23 -50
- package/dist/cli/remember.d.ts +3 -3
- package/dist/cli/remember.js +134 -192
- package/dist/cli/scheduler.d.ts +2 -17
- package/dist/cli/scheduler.js +14 -19
- package/dist/cli/serve.js +23 -14
- package/dist/cli/session-hooks.d.ts +11 -19
- package/dist/cli/session-hooks.js +143 -214
- package/dist/cli/setup.d.ts +4 -4
- package/dist/cli/setup.js +35 -30
- package/dist/cli/shared.d.ts +7 -25
- package/dist/cli/shared.js +17 -60
- package/dist/cli/slack.d.ts +2 -2
- package/dist/cli/slack.js +19 -23
- package/dist/cli/sleep-render.js +6 -3
- package/dist/cli/sleep.d.ts +3 -2
- package/dist/cli/sleep.js +17 -49
- package/dist/cli/status.d.ts +11 -14
- package/dist/cli/status.js +74 -120
- 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 +87 -108
- package/dist/cli/usage.d.ts +0 -79
- package/dist/cli/usage.js +1 -689
- package/dist/cli/verb-row.d.ts +32 -0
- package/dist/cli/verb-row.js +6 -0
- package/dist/cli/verbs/health.d.ts +27 -0
- package/dist/cli/verbs/health.js +232 -0
- package/dist/cli/verbs/memory.d.ts +16 -0
- package/dist/cli/verbs/memory.js +244 -0
- package/dist/cli/verbs/objects.d.ts +20 -0
- package/dist/cli/verbs/objects.js +254 -0
- package/dist/cli/verbs/sessions.d.ts +31 -0
- package/dist/cli/verbs/sessions.js +312 -0
- package/dist/cli/verbs.d.ts +81 -0
- package/dist/cli/verbs.js +7 -0
- package/dist/cli/versioned-verbs.d.ts +51 -0
- package/dist/cli/versioned-verbs.js +79 -0
- package/dist/cli.d.ts +1 -654
- package/dist/cli.js +44 -510
- package/dist/connectors/dlq.d.ts +39 -3
- package/dist/connectors/dlq.js +37 -3
- package/dist/connectors/github/backfill.d.ts +5 -25
- package/dist/connectors/github/backfill.js +26 -52
- 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 +34 -93
- package/dist/connectors/github/ingest.d.ts +4 -12
- package/dist/connectors/github/ingest.js +5 -36
- 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 +3 -16
- package/dist/connectors/github/webhook.js +38 -23
- package/dist/connectors/ingest.d.ts +10 -0
- package/dist/connectors/ingest.js +28 -0
- 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 +51 -90
- package/dist/connectors/slack/ingest.d.ts +4 -9
- package/dist/connectors/slack/ingest.js +4 -30
- 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 +3 -19
- package/dist/connectors/slack/webhook.js +6 -26
- package/dist/connectors/slack/workspaces.d.ts +4 -24
- package/dist/connectors/slack/workspaces.js +4 -24
- package/dist/consolidate/conflicts.js +7 -15
- 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 +29 -84
- package/dist/consolidate/decay.js +7 -19
- package/dist/consolidate/dedupe.d.ts +13 -52
- package/dist/consolidate/dedupe.js +18 -74
- 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 +49 -40
- 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 +18 -105
- package/dist/consolidate/merge.js +12 -33
- package/dist/consolidate/physics-pass.d.ts +6 -1
- package/dist/consolidate/physics-pass.js +27 -9
- package/dist/consolidate/replay.d.ts +6 -38
- package/dist/consolidate/replay.js +25 -56
- package/dist/consolidate/run.js +1 -1
- package/dist/consolidate/sleep.d.ts +1 -8
- package/dist/consolidate/sleep.js +13 -22
- package/dist/consolidate/trace.d.ts +3 -18
- package/dist/consolidate/trace.js +3 -18
- package/dist/consolidate/traces.js +9 -25
- package/dist/core/ablation.d.ts +14 -91
- package/dist/core/ablation.js +16 -91
- package/dist/core/active-scope.d.ts +7 -0
- package/dist/{sharing/scope.js → core/active-scope.js} +5 -12
- package/dist/core/ambient.d.ts +5 -8
- package/dist/core/ambient.js +40 -26
- package/dist/core/api-errors.d.ts +16 -0
- package/dist/core/api-errors.js +20 -0
- 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 +11 -1
- package/dist/core/compaction-timing.d.ts +7 -0
- package/dist/core/compaction-timing.js +9 -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 +20 -16
- package/dist/core/cosine.d.ts +3 -0
- package/dist/core/cosine.js +19 -0
- package/dist/core/handoff.d.ts +1 -7
- package/dist/core/handoff.js +1 -7
- package/dist/core/markdown.d.ts +6 -0
- package/dist/{store → core}/markdown.js +23 -22
- package/dist/core/memory-audit.d.ts +17 -0
- package/dist/core/memory-audit.js +54 -0
- package/dist/core/memory-quality.js +1 -1
- package/dist/core/memory.d.ts +51 -168
- package/dist/core/memory.js +76 -239
- package/dist/{consolidate → core}/merged-row.d.ts +1 -1
- package/dist/{consolidate → core}/merged-row.js +3 -2
- 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 +65 -138
- package/dist/core/prediction.d.ts +3 -0
- package/dist/core/prediction.js +6 -0
- package/dist/core/project-identity.d.ts +20 -58
- package/dist/core/project-identity.js +27 -39
- 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/recall-scope.d.ts +69 -0
- package/dist/core/recall-scope.js +138 -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 +3 -8
- package/dist/db/busy.js +37 -33
- package/dist/db/connect.js +7 -8
- package/dist/db/index.d.ts +3 -3
- package/dist/db/index.js +3 -3
- package/dist/db/migrate.js +3 -3
- package/dist/db/migrations/index.d.ts +1 -1
- package/dist/db/migrations/index.js +3 -1
- package/dist/db/migrations/types.d.ts +2 -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/migrations/v55.d.ts +3 -0
- package/dist/db/migrations/v55.js +17 -0
- package/dist/db/open.d.ts +2 -2
- package/dist/db/open.js +21 -9
- package/dist/db/physics-state.d.ts +6 -22
- package/dist/db/physics-state.js +28 -39
- package/dist/db/raw-archive-mirror-cleanup.d.ts +2 -17
- package/dist/db/raw-archive-mirror-cleanup.js +2 -17
- package/dist/db/tables.d.ts +2 -0
- package/dist/db/tables.js +6 -2
- package/dist/db/vector-store.d.ts +2 -0
- package/dist/db/vector-store.js +25 -5
- package/dist/db/wal-checkpointer.js +2 -1
- package/dist/doctor.js +85 -27
- package/dist/embeddings/local.d.ts +62 -0
- package/dist/embeddings/local.js +146 -0
- package/dist/embeddings/provider.d.ts +43 -0
- package/dist/{store/embeddings → embeddings}/provider.js +58 -83
- package/dist/embeddings/transformers.d.ts +26 -0
- package/dist/embeddings/transformers.js +89 -0
- package/dist/entry/session-text.d.ts +1 -1
- package/dist/entry/session-text.js +3 -2
- 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 +91 -45
- package/dist/eval/eval.d.ts +6 -24
- package/dist/eval/eval.js +8 -35
- package/dist/eval/judgment.d.ts +0 -3
- package/dist/eval/judgment.js +30 -15
- package/dist/extensions/openclaw-plugin/index.js +1 -1
- package/dist/graph/extract.d.ts +5 -27
- package/dist/graph/extract.js +10 -36
- package/dist/graph/recall.d.ts +7 -20
- package/dist/graph/recall.js +15 -77
- 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 +24 -44
- package/dist/graph/write.d.ts +1 -1
- package/dist/graph/write.js +9 -9
- package/dist/hooks/codex-session.js +3 -2
- package/dist/hooks/codex-wrapper.js +4 -3
- 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 +22 -59
- package/dist/hooks/opencode.d.ts +0 -38
- package/dist/hooks/opencode.js +17 -81
- package/dist/hooks/shared.d.ts +6 -21
- package/dist/hooks/shared.js +31 -33
- package/dist/importers/core.d.ts +12 -37
- package/dist/importers/core.js +10 -28
- 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 +12 -39
- package/dist/importers/vault.d.ts +2 -8
- package/dist/importers/vault.js +31 -85
- package/dist/index.d.ts +8 -3
- package/dist/index.js +8 -3
- package/dist/learn/autolearn.d.ts +23 -42
- package/dist/learn/autolearn.js +45 -52
- package/dist/learn/churn-git.js +13 -4
- package/dist/learn/extract.d.ts +3 -2
- package/dist/learn/extract.js +8 -8
- package/dist/learn/forward-claim-detector.d.ts +6 -30
- package/dist/learn/forward-claim-detector.js +18 -68
- package/dist/learn/invalidation.d.ts +6 -18
- package/dist/learn/invalidation.js +18 -31
- package/dist/mcp/admin-tools.d.ts +2 -2
- package/dist/mcp/admin-tools.js +30 -53
- package/dist/mcp/format.js +3 -2
- package/dist/mcp/framing.d.ts +1 -0
- package/dist/mcp/framing.js +1 -1
- package/dist/mcp/memory-tools.js +7 -10
- package/dist/mcp/protocol.d.ts +15 -29
- package/dist/mcp/protocol.js +26 -16
- package/dist/mcp/recall-tools.js +14 -11
- package/dist/mcp/request.d.ts +3 -11
- package/dist/mcp/request.js +12 -27
- 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 +68 -16
- package/dist/mcp/tool-args.js +2 -1
- package/dist/mcp/tools.js +47 -22
- package/dist/objects/customer-notes.d.ts +9 -44
- package/dist/objects/customer-notes.js +7 -48
- package/dist/objects/decisions.d.ts +14 -52
- package/dist/objects/decisions.js +15 -53
- package/dist/objects/descriptor.d.ts +1 -1
- package/dist/objects/incidents.d.ts +9 -40
- package/dist/objects/incidents.js +7 -41
- package/dist/objects/lifecycle.d.ts +1 -1
- package/dist/objects/lifecycle.js +2 -1
- package/dist/objects/policies.d.ts +13 -91
- package/dist/objects/policies.js +13 -99
- package/dist/objects/processes.d.ts +9 -54
- package/dist/objects/processes.js +7 -61
- package/dist/objects/project-briefs.d.ts +13 -57
- package/dist/objects/project-briefs.js +16 -78
- package/dist/objects/skills.d.ts +9 -44
- package/dist/objects/skills.js +8 -54
- package/dist/postinstall.js +7 -20
- package/dist/predictions/planning-fallacy.d.ts +11 -34
- package/dist/rerankers/clef.js +6 -37
- package/dist/rerankers/cross-encoder.d.ts +31 -2
- package/dist/rerankers/cross-encoder.js +65 -101
- package/dist/rerankers/index.js +5 -4
- package/dist/rerankers/jev.js +11 -10
- package/dist/rerankers/llm.d.ts +2 -11
- package/dist/rerankers/llm.js +14 -14
- package/dist/rerankers/outage-warning.d.ts +5 -2
- package/dist/rerankers/outage-warning.js +7 -4
- 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/bm25-search.js +1 -1
- package/dist/search/boosts.d.ts +0 -2
- package/dist/search/boosts.js +3 -3
- package/dist/search/embed-memories.d.ts +9 -0
- package/dist/search/embed-memories.js +377 -0
- package/dist/search/goal-boost.d.ts +23 -0
- package/dist/search/goal-boost.js +93 -0
- package/dist/search/hybrid.d.ts +11 -2
- package/dist/search/hybrid.js +9 -4
- 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.d.ts +6 -3
- package/dist/search/physics-search.js +29 -19
- package/dist/search/rerank.js +1 -1
- package/dist/search/rrf.d.ts +7 -35
- package/dist/search/rrf.js +5 -30
- package/dist/search/vector.d.ts +13 -4
- package/dist/search/vector.js +40 -13
- package/dist/server/auth.d.ts +11 -28
- package/dist/server/auth.js +49 -32
- package/dist/server/boot.d.ts +2 -21
- package/dist/server/boot.js +69 -161
- package/dist/server/client-ip.d.ts +3 -21
- package/dist/server/client-ip.js +8 -30
- package/dist/server/deadline.d.ts +0 -2
- package/dist/server/deadline.js +1 -7
- package/dist/server/defaults.d.ts +4 -0
- package/dist/server/defaults.js +5 -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 +24 -53
- 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 +16 -19
- package/dist/server/route-checks.d.ts +7 -0
- package/dist/server/route-checks.js +42 -0
- package/dist/server/route-table.d.ts +9 -8
- package/dist/server/route-table.js +127 -139
- package/dist/server/routes/admin.d.ts +8 -8
- package/dist/server/routes/admin.js +35 -49
- package/dist/server/routes/customer-notes.d.ts +6 -6
- package/dist/server/routes/customer-notes.js +8 -14
- package/dist/server/routes/decisions.d.ts +6 -6
- package/dist/server/routes/decisions.js +12 -21
- package/dist/server/routes/incidents.d.ts +6 -6
- package/dist/server/routes/incidents.js +14 -25
- package/dist/server/routes/memories.d.ts +9 -9
- package/dist/server/routes/memories.js +20 -63
- package/dist/server/routes/object-routes.d.ts +6 -11
- package/dist/server/routes/object-routes.js +11 -22
- package/dist/server/routes/policies.d.ts +7 -7
- package/dist/server/routes/policies.js +12 -22
- package/dist/server/routes/predictions.d.ts +6 -6
- package/dist/server/routes/predictions.js +22 -38
- package/dist/server/routes/processes.d.ts +6 -6
- package/dist/server/routes/processes.js +17 -28
- package/dist/server/routes/project-briefs.d.ts +7 -7
- package/dist/server/routes/project-briefs.js +11 -20
- package/dist/server/routes/recall.d.ts +5 -5
- package/dist/server/routes/recall.js +16 -45
- package/dist/server/routes/skills.d.ts +7 -7
- package/dist/server/routes/skills.js +10 -22
- package/dist/server/server-detect.d.ts +15 -53
- package/dist/server/server-detect.js +55 -96
- package/dist/server/sleep-child.js +26 -7
- package/dist/server/sleep-offload.d.ts +11 -5
- package/dist/server/sleep-offload.js +21 -12
- package/dist/server/types.d.ts +32 -18
- package/dist/server/validation.d.ts +3 -2
- package/dist/server/validation.js +15 -33
- package/dist/server.d.ts +7 -6
- package/dist/server.js +8 -6
- 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 +73 -0
- package/dist/sharing/project-merge.d.ts +11 -19
- package/dist/sharing/project-merge.js +63 -125
- package/dist/sharing/search-both.d.ts +60 -0
- package/dist/sharing/search-both.js +138 -0
- package/dist/sharing/share.d.ts +40 -0
- package/dist/sharing/share.js +229 -0
- package/dist/store/ambient.js +9 -15
- package/dist/store/audit-event.d.ts +5 -13
- package/dist/store/audit-event.js +4 -12
- package/dist/store/audit.d.ts +2 -21
- package/dist/store/audit.js +8 -67
- package/dist/store/auth.d.ts +10 -8
- package/dist/store/auth.js +17 -12
- package/dist/store/candidates.d.ts +23 -5
- package/dist/store/candidates.js +119 -71
- package/dist/store/capture-write.d.ts +17 -0
- package/dist/store/capture-write.js +35 -0
- 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/compaction-caller.d.ts +18 -0
- package/dist/store/compaction-caller.js +29 -0
- package/dist/store/compactions-record.d.ts +115 -0
- package/dist/store/compactions-record.js +417 -0
- package/dist/store/compactions.js +6 -4
- package/dist/store/conflicts.d.ts +4 -21
- package/dist/store/conflicts.js +76 -152
- package/dist/store/connectors/dlq.d.ts +10 -0
- package/dist/store/connectors/dlq.js +32 -0
- package/dist/store/connectors/github.d.ts +14 -16
- package/dist/store/connectors/github.js +34 -57
- package/dist/store/connectors/slack.d.ts +2 -11
- package/dist/store/connectors/slack.js +18 -47
- package/dist/store/dashboard-reads.js +11 -14
- package/dist/store/delete-and-batch.d.ts +17 -31
- package/dist/store/delete-and-batch.js +84 -67
- package/dist/store/delivery-recorder.d.ts +15 -4
- package/dist/store/delivery-recorder.js +34 -17
- package/dist/store/descendant-page.js +6 -3
- package/dist/store/diagnostics.js +6 -13
- package/dist/store/dormant.d.ts +8 -30
- package/dist/store/dormant.js +18 -57
- package/dist/store/embeddings/index.d.ts +11 -90
- package/dist/store/embeddings/index.js +18 -523
- package/dist/store/entry-reads.d.ts +34 -61
- package/dist/store/entry-reads.js +111 -136
- package/dist/store/entry-row.d.ts +6 -35
- package/dist/store/entry-row.js +9 -37
- package/dist/store/entry-writes.d.ts +12 -18
- package/dist/store/entry-writes.js +46 -44
- package/dist/store/failure-log-at.d.ts +8 -0
- package/dist/store/failure-log-at.js +16 -0
- package/dist/store/failure-log.d.ts +2 -2
- package/dist/store/failure-log.js +5 -3
- package/dist/{trust → store}/gated-write.d.ts +3 -1
- package/dist/{trust → store}/gated-write.js +7 -5
- package/dist/store/goals.d.ts +3 -40
- package/dist/store/goals.js +41 -178
- 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 +24 -60
- 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 +10 -35
- package/dist/store/graph-writes.js +59 -106
- package/dist/store/half-life.d.ts +2 -1
- package/dist/store/half-life.js +14 -16
- package/dist/store/handoffs.d.ts +6 -12
- package/dist/store/handoffs.js +22 -40
- package/dist/store/index-and-stats.d.ts +6 -19
- package/dist/store/index-and-stats.js +36 -84
- package/dist/store/key-writes.js +1 -1
- package/dist/store/ledger-turn.d.ts +9 -0
- package/dist/store/ledger-turn.js +38 -0
- package/dist/store/mirrors.d.ts +2 -6
- package/dist/store/mirrors.js +24 -29
- package/dist/store/open.d.ts +0 -4
- package/dist/store/open.js +42 -62
- package/dist/store/pilot-arm.d.ts +12 -0
- package/dist/store/pilot-arm.js +42 -0
- 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 +91 -82
- package/dist/store/port.js +8 -0
- package/dist/store/predictions.d.ts +12 -53
- package/dist/store/predictions.js +41 -125
- package/dist/store/project-tags.d.ts +62 -0
- package/dist/store/project-tags.js +67 -0
- package/dist/{cli → store}/quality-repair.js +15 -31
- package/dist/store/quarantine.js +2 -1
- package/dist/store/raw-archive.d.ts +4 -16
- package/dist/store/raw-archive.js +14 -29
- package/dist/store/recall-trace.d.ts +12 -77
- package/dist/store/recall-trace.js +37 -97
- package/dist/store/rejected-values.js +9 -20
- package/dist/store/rejection-probe.d.ts +4 -0
- package/dist/store/rejection-probe.js +19 -0
- package/dist/store/rejection.d.ts +10 -73
- package/dist/store/rejection.js +12 -84
- 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 +14 -0
- package/dist/store/rule-sql.js +56 -0
- package/dist/store/search-rows.d.ts +7 -38
- package/dist/store/search-rows.js +23 -54
- package/dist/store/sessions.d.ts +10 -47
- package/dist/store/sessions.js +21 -75
- package/dist/store/set-aside.d.ts +14 -0
- package/dist/store/set-aside.js +23 -0
- package/dist/store/sqlite/busy.d.ts +3 -0
- package/dist/store/sqlite/busy.js +8 -0
- package/dist/store/sqlite/connector-events-group.js +5 -8
- package/dist/store/sqlite/connector-writes-group.js +3 -3
- package/dist/store/sqlite/entry-writes-group.js +4 -4
- package/dist/store/sqlite/error-codec.js +8 -5
- package/dist/store/sqlite/executor.d.ts +2 -1
- package/dist/store/sqlite/executor.js +12 -5
- package/dist/store/sqlite/graph-reads-group.js +1 -1
- package/dist/store/sqlite/held-connection.d.ts +9 -0
- package/dist/store/sqlite/held-connection.js +41 -0
- package/dist/store/sqlite/local.d.ts +3 -3
- package/dist/store/sqlite/local.js +1 -0
- package/dist/store/sqlite/object-rows.d.ts +1 -1
- package/dist/store/sqlite/object-rows.js +6 -3
- package/dist/store/sqlite/objects-group.d.ts +1 -1
- package/dist/store/sqlite/objects-group.js +5 -3
- package/dist/store/sqlite/quarantine-group.js +2 -2
- package/dist/store/sqlite/store.d.ts +1 -4
- package/dist/store/sqlite/store.js +16 -15
- 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 +11 -63
- package/dist/store/summaries.js +37 -148
- 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 -50
- package/dist/store/token-ledger.js +19 -85
- package/dist/store/usage-reports.js +5 -13
- package/dist/store/vector-index.d.ts +46 -0
- package/dist/store/vector-index.js +171 -0
- package/dist/store/working-memory.d.ts +6 -25
- package/dist/store/working-memory.js +18 -52
- package/dist/support-bundle.js +9 -8
- package/dist/trust/reject-flow.js +3 -5
- package/dist/util/agent-homes.d.ts +15 -0
- package/dist/util/agent-homes.js +34 -0
- package/dist/util/anthropic-messages.d.ts +3 -0
- package/dist/util/anthropic-messages.js +35 -6
- 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/chunked.d.ts +3 -0
- package/dist/util/chunked.js +10 -0
- package/dist/util/crash-handlers.d.ts +8 -1
- package/dist/util/crash-handlers.js +52 -10
- package/dist/util/ellipsize.d.ts +3 -0
- package/dist/util/ellipsize.js +5 -0
- package/dist/util/env.d.ts +14 -6
- package/dist/util/env.js +15 -7
- package/dist/util/format.d.ts +3 -0
- package/dist/util/format.js +6 -0
- package/dist/util/home-path.d.ts +2 -1
- package/dist/util/home-path.js +4 -2
- package/dist/util/hook-payload.d.ts +8 -0
- package/dist/util/hook-payload.js +37 -0
- package/dist/util/http-retry.d.ts +9 -1
- package/dist/util/http-retry.js +67 -8
- package/dist/util/http-util.d.ts +0 -8
- package/dist/util/http-util.js +10 -21
- package/dist/util/limits.d.ts +7 -0
- package/dist/util/limits.js +14 -0
- package/dist/util/log.d.ts +7 -2
- package/dist/util/log.js +34 -9
- package/dist/util/request-scope.d.ts +5 -2
- package/dist/util/request-scope.js +13 -7
- package/dist/util/secret-detect.d.ts +5 -30
- package/dist/util/secret-detect.js +19 -40
- package/dist/util/sqlite-blocked.d.ts +2 -0
- package/dist/util/sqlite-blocked.js +5 -0
- package/dist/util/stored-json.d.ts +1 -1
- package/dist/util/stored-json.js +1 -1
- package/dist/util/stream-tee.d.ts +3 -0
- package/dist/util/stream-tee.js +35 -0
- package/dist/util/time.d.ts +4 -0
- package/dist/util/time.js +4 -0
- 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/dist/{store → util}/yaml.d.ts +1 -5
- package/dist/{store → util}/yaml.js +2 -6
- 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 +2 -2
- package/dist/cli/provenance-coverage.d.ts +0 -18
- package/dist/connectors/github/cli-impl.d.ts +0 -25
- package/dist/sharing/scope.d.ts +0 -14
- package/dist/sharing/shared.d.ts +0 -187
- package/dist/sharing/shared.js +0 -563
- package/dist/store/embeddings/local.d.ts +0 -15
- package/dist/store/embeddings/local.js +0 -192
- package/dist/store/embeddings/provider.d.ts +0 -77
- package/dist/store/markdown.d.ts +0 -10
- package/dist/store/recall-scope.d.ts +0 -138
- package/dist/store/recall-scope.js +0 -216
- package/dist/store/vector-writes.d.ts +0 -13
- package/dist/store/vector-writes.js +0 -89
- /package/dist/{store → core}/object-types.d.ts +0 -0
- /package/dist/{store → core}/object-types.js +0 -0
- /package/dist/{cli → store}/quality-repair.d.ts +0 -0
- /package/dist/{capture → util}/compaction-items.d.ts +0 -0
- /package/dist/{capture → util}/compaction-items.js +0 -0
package/dist/cli/audit.js
CHANGED
|
@@ -1,19 +1,17 @@
|
|
|
1
1
|
// `hippo audit`: list and prune the audit log.
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
2
|
+
import { truncateWithEllipsis } from '../util/ellipsize.js';
|
|
3
|
+
import { DEFAULT_LIST_LIMIT } from '../util/limits.js';
|
|
4
|
+
import { AUDIT_OPS } from '../store/audit.js';
|
|
5
5
|
import * as api from '../api/index.js';
|
|
6
|
-
import {
|
|
7
|
-
import { pruneAuditLog, parseOlderThanFlag } from './audit-prune.js';
|
|
6
|
+
import { parseOlderThanFlag } from './audit-prune.js';
|
|
8
7
|
import { printError } from './output.js';
|
|
9
|
-
import {
|
|
8
|
+
import { cliApiContext } from './api-context.js';
|
|
9
|
+
import { boolFlag, flagIsTrue, isBooleanFlag, stringFlag } from './flag-values.js';
|
|
10
10
|
import { requireInit, resolveAuthRoot } from './shared.js';
|
|
11
|
-
import {
|
|
12
|
-
import { getGlobalRoot } from '../sharing/shared.js';
|
|
11
|
+
import { getGlobalRoot } from '../sharing/global-store.js';
|
|
13
12
|
import { errorMessage } from '../util/log.js';
|
|
14
|
-
|
|
13
|
+
import { CliExit } from './exit.js';
|
|
15
14
|
// Audit log subcommands (`hippo audit list`)
|
|
16
|
-
// ---------------------------------------------------------------------------
|
|
17
15
|
const VALID_AUDIT_OPS = new Set(AUDIT_OPS);
|
|
18
16
|
function formatAuditRow(ev) {
|
|
19
17
|
const target = ev.targetId ?? '-';
|
|
@@ -22,40 +20,41 @@ function formatAuditRow(ev) {
|
|
|
22
20
|
}
|
|
23
21
|
function readAuditOp(flags) {
|
|
24
22
|
const opFlag = stringFlag(flags, 'op');
|
|
23
|
+
// SAFETY: Set.has only compares by value, so a string outside the audit ops is a plain miss.
|
|
25
24
|
if (opFlag && !VALID_AUDIT_OPS.has(opFlag)) {
|
|
26
25
|
// Built from the Set so the message cannot drift from the valid ops.
|
|
27
26
|
const expected = Array.from(VALID_AUDIT_OPS).join(' | ');
|
|
28
27
|
printError(`Unknown --op value: ${opFlag}. Expected one of: ${expected}.`);
|
|
29
|
-
|
|
28
|
+
throw new CliExit(1);
|
|
30
29
|
}
|
|
30
|
+
// SAFETY: the exit above rejects every non-empty opFlag outside VALID_AUDIT_OPS, and an empty one is returned as given.
|
|
31
31
|
return opFlag;
|
|
32
32
|
}
|
|
33
33
|
function readAuditLimit(flags) {
|
|
34
34
|
const limitRaw = flags['limit'];
|
|
35
|
-
let limit =
|
|
36
|
-
if (limitRaw !== undefined &&
|
|
35
|
+
let limit = DEFAULT_LIST_LIMIT;
|
|
36
|
+
if (limitRaw !== undefined && !isBooleanFlag(limitRaw)) {
|
|
37
37
|
const parsed = parseInt(String(limitRaw), 10);
|
|
38
38
|
if (!Number.isFinite(parsed)) {
|
|
39
39
|
printError(`Invalid --limit value: ${String(limitRaw)} (expected a positive integer).`);
|
|
40
|
-
|
|
40
|
+
throw new CliExit(1);
|
|
41
41
|
}
|
|
42
42
|
limit = parsed;
|
|
43
43
|
}
|
|
44
44
|
if (limit < 1 || limit > 10000) {
|
|
45
45
|
printError(`--limit must be between 1 and 10000 (got ${limit}).`);
|
|
46
|
-
|
|
46
|
+
throw new CliExit(1);
|
|
47
47
|
}
|
|
48
48
|
return limit;
|
|
49
49
|
}
|
|
50
|
-
async function cmdAuditList(hippoRoot, flags) {
|
|
50
|
+
async function cmdAuditList(hippoRoot, tenantId, flags) {
|
|
51
51
|
const root = resolveAuthRoot(hippoRoot, flags);
|
|
52
52
|
const asJson = boolFlag(flags, 'json');
|
|
53
|
-
const tenantId = resolveTenantId({});
|
|
54
53
|
const op = readAuditOp(flags);
|
|
55
54
|
const since = stringFlag(flags, 'since');
|
|
56
55
|
if (since !== undefined && !Number.isFinite(new Date(since).getTime())) {
|
|
57
56
|
printError(`Invalid --since: ${since} (expected an ISO timestamp like 2026-04-22 or 2026-04-22T12:00:00Z).`);
|
|
58
|
-
|
|
57
|
+
throw new CliExit(1);
|
|
59
58
|
}
|
|
60
59
|
const limit = readAuditLimit(flags);
|
|
61
60
|
const ctx = { hippoRoot: root, tenantId, actor: { subject: 'cli', role: 'admin' } };
|
|
@@ -73,11 +72,11 @@ async function cmdAuditList(hippoRoot, flags) {
|
|
|
73
72
|
console.log(formatAuditRow(ev));
|
|
74
73
|
}
|
|
75
74
|
}
|
|
76
|
-
function cmdAuditPrune(hippoRoot, flags) {
|
|
75
|
+
function cmdAuditPrune(hippoRoot, ctxTenantId, flags) {
|
|
77
76
|
const olderThanRaw = stringFlag(flags, 'older-than') ?? '';
|
|
78
77
|
if (!olderThanRaw) {
|
|
79
78
|
printError('Usage: hippo audit prune --older-than <Nd> [--dry-run] [--tenant <t>]');
|
|
80
|
-
|
|
79
|
+
throw new CliExit(1);
|
|
81
80
|
}
|
|
82
81
|
let olderThanDays;
|
|
83
82
|
try {
|
|
@@ -85,12 +84,12 @@ function cmdAuditPrune(hippoRoot, flags) {
|
|
|
85
84
|
}
|
|
86
85
|
catch (e) {
|
|
87
86
|
printError(errorMessage(e));
|
|
88
|
-
|
|
87
|
+
throw new CliExit(1);
|
|
89
88
|
}
|
|
90
|
-
const tenantId = stringFlag(flags, 'tenant')?.trim() ||
|
|
89
|
+
const tenantId = stringFlag(flags, 'tenant')?.trim() || ctxTenantId;
|
|
91
90
|
const dryRun = flagIsTrue(flags, 'dry-run');
|
|
92
91
|
const asJson = boolFlag(flags, 'json');
|
|
93
|
-
const result = pruneAuditLog(hippoRoot, { olderThanDays,
|
|
92
|
+
const result = api.pruneAuditLog(cliApiContext(hippoRoot, tenantId), { olderThanDays, dryRun });
|
|
94
93
|
if (asJson) {
|
|
95
94
|
console.log(JSON.stringify(result));
|
|
96
95
|
return;
|
|
@@ -101,22 +100,22 @@ function cmdAuditPrune(hippoRoot, flags) {
|
|
|
101
100
|
console.log('(dry-run; re-run without --dry-run to actually delete)');
|
|
102
101
|
}
|
|
103
102
|
}
|
|
104
|
-
async function cmdAuditLog(hippoRoot, args, flags) {
|
|
103
|
+
async function cmdAuditLog(hippoRoot, tenantId, args, flags) {
|
|
105
104
|
const sub = args[0];
|
|
106
105
|
if (sub === 'list') {
|
|
107
|
-
await cmdAuditList(hippoRoot, flags);
|
|
106
|
+
await cmdAuditList(hippoRoot, tenantId, flags);
|
|
108
107
|
return;
|
|
109
108
|
}
|
|
110
109
|
if (sub === 'prune') {
|
|
111
|
-
cmdAuditPrune(hippoRoot, flags);
|
|
110
|
+
cmdAuditPrune(hippoRoot, tenantId, flags);
|
|
112
111
|
return;
|
|
113
112
|
}
|
|
114
113
|
printError(`Unknown audit subcommand: ${sub}. Expected: list | prune.`);
|
|
115
|
-
|
|
114
|
+
throw new CliExit(1);
|
|
116
115
|
}
|
|
117
|
-
function auditRepair(hippoRoot, flags) {
|
|
116
|
+
function auditRepair(hippoRoot, tenantId, flags) {
|
|
118
117
|
const apply = flagIsTrue(flags, 'apply') && flags['dry-run'] !== true;
|
|
119
|
-
const result =
|
|
118
|
+
const result = api.repairMemoryQuality(cliApiContext(flags['global'] ? getGlobalRoot() : hippoRoot, tenantId), apply);
|
|
120
119
|
if (flags['json']) {
|
|
121
120
|
console.log(JSON.stringify(result));
|
|
122
121
|
return;
|
|
@@ -124,8 +123,10 @@ function auditRepair(hippoRoot, flags) {
|
|
|
124
123
|
console.log(`Quality repair ${apply ? 'apply' : 'preview'}: ${result.issues.length} issue(s) across ${result.total} memories.`);
|
|
125
124
|
for (const issue of result.issues)
|
|
126
125
|
console.log(` [${issue.disposition}] ${issue.id}: ${issue.reason}${issue.protection ? ` (${issue.protection})` : ''}`);
|
|
127
|
-
for (const blocker of result.blockers)
|
|
128
|
-
console.log(` Blocked: ${blocker}. Repair never upgrades a store;
|
|
126
|
+
for (const blocker of result.blockers) {
|
|
127
|
+
console.log(` Blocked: ${blocker}. Repair never upgrades a store; ` +
|
|
128
|
+
'any other hippo command does, then run repair again.');
|
|
129
|
+
}
|
|
129
130
|
const restore = `hippo dormant restore <id>${flags['global'] ? ' --global' : ''}`;
|
|
130
131
|
if (result.backup)
|
|
131
132
|
console.log(`Backup: ${result.backup}\nMoved ${result.appliedIds.length} memories to dormant storage. Recovery: ${restore}.`);
|
|
@@ -136,14 +137,15 @@ function auditRepair(hippoRoot, flags) {
|
|
|
136
137
|
if (!apply)
|
|
137
138
|
console.log('Preview only. Add --apply to move set-aside memories to dormant storage. Pin a review memory to keep it.');
|
|
138
139
|
}
|
|
139
|
-
function fixAuditErrors(hippoRoot, result, flags) {
|
|
140
|
+
function fixAuditErrors(hippoRoot, tenantId, result, flags) {
|
|
140
141
|
const errors = result.issues.filter(i => i.severity === 'error');
|
|
141
142
|
if (errors.length > 0 && flagIsTrue(flags, 'dry-run')) {
|
|
142
143
|
console.log(`\nWould remove ${errors.length} error-severity memories (dry run, nothing deleted).`);
|
|
143
144
|
console.log(`${result.issues.length - errors.length} warnings would remain (review manually).`);
|
|
144
145
|
}
|
|
145
146
|
else if (errors.length > 0) {
|
|
146
|
-
const
|
|
147
|
+
const ctx = cliApiContext(hippoRoot, tenantId);
|
|
148
|
+
const removedCount = api.removeAuditErrors(ctx, 'audit --fix', errors).length;
|
|
147
149
|
console.log(`\nRemoved ${removedCount} error-severity memories.`);
|
|
148
150
|
console.log(`${result.issues.length - errors.length} warnings remain (review manually).`);
|
|
149
151
|
}
|
|
@@ -151,21 +153,18 @@ function fixAuditErrors(hippoRoot, result, flags) {
|
|
|
151
153
|
console.log(`\nNo error-severity issues. Warnings require manual review.`);
|
|
152
154
|
}
|
|
153
155
|
}
|
|
154
|
-
export async function handleAudit({ hippoRoot, args, flags }) {
|
|
156
|
+
export async function handleAudit({ hippoRoot, tenantId, args, flags }) {
|
|
155
157
|
if (args[0] === 'repair') {
|
|
156
|
-
auditRepair(hippoRoot, flags);
|
|
158
|
+
auditRepair(hippoRoot, tenantId, flags);
|
|
157
159
|
return;
|
|
158
160
|
}
|
|
159
|
-
// `audit list` and `audit prune`
|
|
160
|
-
// Other forms (no sub, --fix) keep the existing memory-quality auditor
|
|
161
|
-
// for backwards compatibility.
|
|
161
|
+
// `audit list` and `audit prune` are the audit-log subcommands; other forms (no sub, --fix) keep the memory-quality auditor.
|
|
162
162
|
if (args[0] === 'list' || args[0] === 'prune') {
|
|
163
|
-
await cmdAuditLog(hippoRoot, args, flags);
|
|
163
|
+
await cmdAuditLog(hippoRoot, tenantId, args, flags);
|
|
164
164
|
return;
|
|
165
165
|
}
|
|
166
166
|
requireInit(hippoRoot);
|
|
167
|
-
const
|
|
168
|
-
const result = auditMemories(entries, memoriesBackingObjects(hippoRoot));
|
|
167
|
+
const result = api.auditMemoryQuality(cliApiContext(hippoRoot, tenantId));
|
|
169
168
|
const shouldFix = boolFlag(flags, 'fix');
|
|
170
169
|
if (result.issues.length === 0) {
|
|
171
170
|
console.log(`All ${result.total} memories passed quality checks.`);
|
|
@@ -175,10 +174,10 @@ export async function handleAudit({ hippoRoot, args, flags }) {
|
|
|
175
174
|
for (const issue of result.issues) {
|
|
176
175
|
const icon = issue.severity === 'error' ? 'ERR' : 'WARN';
|
|
177
176
|
console.log(` [${icon}] ${issue.memoryId}: ${issue.reason}`);
|
|
178
|
-
console.log(` "${issue.content
|
|
177
|
+
console.log(` "${truncateWithEllipsis(issue.content, 80)}"`);
|
|
179
178
|
}
|
|
180
179
|
if (shouldFix) {
|
|
181
|
-
fixAuditErrors(hippoRoot, result, flags);
|
|
180
|
+
fixAuditErrors(hippoRoot, tenantId, result, flags);
|
|
182
181
|
}
|
|
183
182
|
else {
|
|
184
183
|
console.log(`\nRun with --fix to auto-remove error-severity issues.`);
|
package/dist/cli/auth.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import { type
|
|
2
|
-
export declare function
|
|
1
|
+
import { type CommandContext } from './flag-values.js';
|
|
2
|
+
export declare function handleAuth({ hippoRoot, tenantId, args, flags }: CommandContext): Promise<void>;
|
|
3
3
|
//# sourceMappingURL=auth.d.ts.map
|
package/dist/cli/auth.js
CHANGED
|
@@ -1,44 +1,59 @@
|
|
|
1
1
|
// `hippo auth`: create, list, revoke and scope API keys.
|
|
2
|
-
import { listApiKeys } from '../store/auth.js';
|
|
3
2
|
import * as api from '../api/index.js';
|
|
4
|
-
import {
|
|
3
|
+
import { cliApiContext } from './api-context.js';
|
|
5
4
|
import { printError } from './output.js';
|
|
6
5
|
import { boolFlag, stringFlag } from './flag-values.js';
|
|
7
6
|
import { resolveAuthRoot } from './shared.js';
|
|
8
7
|
import { errorMessage } from '../util/log.js';
|
|
8
|
+
import { CliExit } from './exit.js';
|
|
9
9
|
// ---------------------------------------------------------------------------
|
|
10
10
|
// Auth subcommands
|
|
11
11
|
// ---------------------------------------------------------------------------
|
|
12
|
-
|
|
12
|
+
/** --role as given, or undefined for the default; anything else exits 1, so a typo never picks a role. */
|
|
13
|
+
function roleFlagOrExit(flags) {
|
|
14
|
+
const roleFlag = stringFlag(flags, 'role');
|
|
15
|
+
if (roleFlag !== undefined && roleFlag !== 'admin' && roleFlag !== 'member') {
|
|
16
|
+
printError(`Invalid --role value: '${roleFlag}'. Use 'admin' or 'member'.`);
|
|
17
|
+
throw new CliExit(1);
|
|
18
|
+
}
|
|
19
|
+
return roleFlag;
|
|
20
|
+
}
|
|
21
|
+
/** Says which defaults a mint took and how to ask for the wider key. Stderr keeps --json output clean. */
|
|
22
|
+
function noteMintDefaults(roleGiven, expiryGiven) {
|
|
23
|
+
const notes = [];
|
|
24
|
+
if (!roleGiven)
|
|
25
|
+
notes.push('no --role given, so this is a member key (pass --role admin for an admin key)');
|
|
26
|
+
if (!expiryGiven)
|
|
27
|
+
notes.push('no --ttl-days or --no-expiry given, so it expires in 90 days');
|
|
28
|
+
if (notes.length > 0)
|
|
29
|
+
printError(`hippo auth create: ${notes.join('; ')}.`);
|
|
30
|
+
}
|
|
31
|
+
function cmdAuthCreate(hippoRoot, defaultTenantId, flags) {
|
|
13
32
|
const root = resolveAuthRoot(hippoRoot, flags);
|
|
14
33
|
const tenantFlag = stringFlag(flags, 'tenant');
|
|
15
34
|
const labelFlag = stringFlag(flags, 'label');
|
|
16
35
|
const asJson = boolFlag(flags, 'json');
|
|
17
|
-
|
|
18
|
-
const
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
if (roleFlag !== 'admin' && roleFlag !== 'member') {
|
|
22
|
-
printError(`Invalid --role value: '${roleFlag}'. Use 'admin' or 'member'.`);
|
|
23
|
-
process.exit(1);
|
|
24
|
-
}
|
|
25
|
-
role = roleFlag;
|
|
26
|
-
}
|
|
27
|
-
else {
|
|
28
|
-
// The default is the widest key hippo mints, so the operator is told at the moment of choosing. Stderr keeps --json output clean.
|
|
29
|
-
printError('hippo auth create: no --role given, so this is an admin key, and it never expires. Pass --role member for a narrower key; revoke either with `hippo auth revoke <key_id>`.');
|
|
30
|
-
}
|
|
36
|
+
const role = roleFlagOrExit(flags);
|
|
37
|
+
const ttlFlag = stringFlag(flags, 'ttl-days');
|
|
38
|
+
const ttlDays = ttlFlag === undefined ? undefined : Number(ttlFlag);
|
|
39
|
+
const noExpiry = boolFlag(flags, 'no-expiry');
|
|
31
40
|
// The CLI's --tenant flag is the only legitimate cross-tenant override
|
|
32
41
|
// (admin minting a key for another tenant from the local machine). It
|
|
33
42
|
// flows through ctx.tenantId, NOT through opts — authCreate's opts no
|
|
34
43
|
// longer accepts a tenantId field, so the HTTP layer cannot smuggle a
|
|
35
44
|
// body.tenantId across.
|
|
36
|
-
const ctx =
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
}
|
|
41
|
-
|
|
45
|
+
const ctx = cliApiContext(root, tenantFlag ?? defaultTenantId);
|
|
46
|
+
let result;
|
|
47
|
+
try {
|
|
48
|
+
result = api.authCreate(ctx, { label: labelFlag, role, ttlDays, noExpiry: noExpiry || undefined });
|
|
49
|
+
}
|
|
50
|
+
catch (err) {
|
|
51
|
+
if (!(err instanceof api.BadRequestError))
|
|
52
|
+
throw err;
|
|
53
|
+
printError(`hippo auth create: ${err.message} (--ttl-days, --no-expiry).`);
|
|
54
|
+
throw new CliExit(1);
|
|
55
|
+
}
|
|
56
|
+
noteMintDefaults(role !== undefined, ttlFlag !== undefined || noExpiry);
|
|
42
57
|
if (asJson) {
|
|
43
58
|
console.log(JSON.stringify({
|
|
44
59
|
keyId: result.keyId,
|
|
@@ -46,12 +61,14 @@ function cmdAuthCreate(hippoRoot, flags) {
|
|
|
46
61
|
tenantId: result.tenantId,
|
|
47
62
|
label: labelFlag ?? null,
|
|
48
63
|
role: result.role,
|
|
64
|
+
expiresAt: result.expiresAt,
|
|
49
65
|
}));
|
|
50
66
|
return;
|
|
51
67
|
}
|
|
52
68
|
console.log(`key_id: ${result.keyId}`);
|
|
53
69
|
console.log(`plaintext: ${result.plaintext}`);
|
|
54
70
|
console.log(`role: ${result.role}`);
|
|
71
|
+
console.log(`expires: ${result.expiresAt ?? 'never'}`);
|
|
55
72
|
console.log('');
|
|
56
73
|
console.log('!! WARNING: this is the ONLY time the plaintext key will be shown. !!');
|
|
57
74
|
console.log('!! Copy it now. Hippo stores only a scrypt hash and cannot recover it. !!');
|
|
@@ -63,11 +80,11 @@ function formatKeyRow(item) {
|
|
|
63
80
|
const revoked = item.revokedAt ?? '-';
|
|
64
81
|
return `${item.keyId} ${item.tenantId} ${item.role} ${label} ${created} ${expires} ${revoked}`;
|
|
65
82
|
}
|
|
66
|
-
function cmdAuthList(hippoRoot, flags) {
|
|
83
|
+
function cmdAuthList(hippoRoot, tenantId, flags) {
|
|
67
84
|
const root = resolveAuthRoot(hippoRoot, flags);
|
|
68
85
|
const includeRevoked = boolFlag(flags, 'all');
|
|
69
86
|
const asJson = boolFlag(flags, 'json');
|
|
70
|
-
const items =
|
|
87
|
+
const items = api.authListAllTenants(cliApiContext(root, tenantId), !includeRevoked);
|
|
71
88
|
if (asJson) {
|
|
72
89
|
console.log(JSON.stringify(items));
|
|
73
90
|
return;
|
|
@@ -82,24 +99,24 @@ function cmdAuthList(hippoRoot, flags) {
|
|
|
82
99
|
}
|
|
83
100
|
}
|
|
84
101
|
// The local CLI owns every tenant, so revoke and grant run in the key's own tenant.
|
|
85
|
-
function keyContext(root, keyId) {
|
|
86
|
-
const hostCtx =
|
|
87
|
-
const keyTenant = api.authKeyTenant(hostCtx, keyId);
|
|
102
|
+
async function keyContext(root, tenantId, keyId) {
|
|
103
|
+
const hostCtx = cliApiContext(root, tenantId);
|
|
104
|
+
const keyTenant = await api.authKeyTenant(hostCtx, keyId);
|
|
88
105
|
if (keyTenant === undefined) {
|
|
89
106
|
printError(`Unknown key_id: ${keyId}`);
|
|
90
|
-
|
|
107
|
+
throw new CliExit(1);
|
|
91
108
|
}
|
|
92
109
|
return { ...hostCtx, tenantId: keyTenant };
|
|
93
110
|
}
|
|
94
|
-
function cmdAuthRevoke(hippoRoot, keyId, flags) {
|
|
95
|
-
const ctx = keyContext(resolveAuthRoot(hippoRoot, flags), keyId);
|
|
111
|
+
async function cmdAuthRevoke(hippoRoot, tenantId, keyId, flags) {
|
|
112
|
+
const ctx = await keyContext(resolveAuthRoot(hippoRoot, flags), tenantId, keyId);
|
|
96
113
|
let revokedAt;
|
|
97
114
|
try {
|
|
98
115
|
revokedAt = api.authRevoke(ctx, keyId).revokedAt;
|
|
99
116
|
}
|
|
100
117
|
catch (err) {
|
|
101
118
|
printError(`Error: ${errorMessage(err)}`);
|
|
102
|
-
|
|
119
|
+
throw new CliExit(1);
|
|
103
120
|
}
|
|
104
121
|
if (flags['json']) {
|
|
105
122
|
console.log(JSON.stringify({ keyId, revokedAt }));
|
|
@@ -108,8 +125,8 @@ function cmdAuthRevoke(hippoRoot, keyId, flags) {
|
|
|
108
125
|
console.log(`Revoked ${keyId} at ${revokedAt}`);
|
|
109
126
|
}
|
|
110
127
|
/** `hippo auth grant|ungrant <key_id> <scope>`, routed through api so the tenant, restricted-scope and audit checks live in one place. */
|
|
111
|
-
function cmdAuthScopeGrant(hippoRoot, keyId, scope, grant, flags) {
|
|
112
|
-
const ctx = keyContext(resolveAuthRoot(hippoRoot, flags), keyId);
|
|
128
|
+
async function cmdAuthScopeGrant(hippoRoot, tenantId, keyId, scope, grant, flags) {
|
|
129
|
+
const ctx = await keyContext(resolveAuthRoot(hippoRoot, flags), tenantId, keyId);
|
|
113
130
|
try {
|
|
114
131
|
if (grant)
|
|
115
132
|
api.authGrant(ctx, keyId, scope);
|
|
@@ -118,7 +135,7 @@ function cmdAuthScopeGrant(hippoRoot, keyId, scope, grant, flags) {
|
|
|
118
135
|
}
|
|
119
136
|
catch (err) {
|
|
120
137
|
printError(`Error: ${errorMessage(err)}`);
|
|
121
|
-
|
|
138
|
+
throw new CliExit(1);
|
|
122
139
|
}
|
|
123
140
|
if (flags['json']) {
|
|
124
141
|
console.log(JSON.stringify({ keyId, scope, granted: grant }));
|
|
@@ -126,27 +143,27 @@ function cmdAuthScopeGrant(hippoRoot, keyId, scope, grant, flags) {
|
|
|
126
143
|
}
|
|
127
144
|
console.log(grant ? `Granted ${keyId} read access to ${scope}` : `Removed ${keyId}'s grant on ${scope}`);
|
|
128
145
|
}
|
|
129
|
-
export function
|
|
146
|
+
export async function handleAuth({ hippoRoot, tenantId, args, flags }) {
|
|
130
147
|
const sub = args[0];
|
|
131
148
|
if (!sub) {
|
|
132
149
|
printError('Usage: hippo auth <create|list|revoke|grant|ungrant> [options]');
|
|
133
|
-
|
|
150
|
+
throw new CliExit(1);
|
|
134
151
|
}
|
|
135
152
|
const subArgs = args.slice(1);
|
|
136
153
|
switch (sub) {
|
|
137
154
|
case 'create':
|
|
138
|
-
cmdAuthCreate(hippoRoot, flags);
|
|
155
|
+
cmdAuthCreate(hippoRoot, tenantId, flags);
|
|
139
156
|
return;
|
|
140
157
|
case 'list':
|
|
141
|
-
cmdAuthList(hippoRoot, flags);
|
|
158
|
+
cmdAuthList(hippoRoot, tenantId, flags);
|
|
142
159
|
return;
|
|
143
160
|
case 'revoke': {
|
|
144
161
|
const keyId = subArgs[0];
|
|
145
162
|
if (!keyId) {
|
|
146
163
|
printError('Usage: hippo auth revoke <key_id>');
|
|
147
|
-
|
|
164
|
+
throw new CliExit(1);
|
|
148
165
|
}
|
|
149
|
-
cmdAuthRevoke(hippoRoot, keyId, flags);
|
|
166
|
+
await cmdAuthRevoke(hippoRoot, tenantId, keyId, flags);
|
|
150
167
|
return;
|
|
151
168
|
}
|
|
152
169
|
case 'grant':
|
|
@@ -154,14 +171,14 @@ export function cmdAuth(hippoRoot, args, flags) {
|
|
|
154
171
|
const [keyId, scope] = subArgs;
|
|
155
172
|
if (!keyId || !scope) {
|
|
156
173
|
printError(`Usage: hippo auth ${sub} <key_id> <scope>`);
|
|
157
|
-
|
|
174
|
+
throw new CliExit(1);
|
|
158
175
|
}
|
|
159
|
-
cmdAuthScopeGrant(hippoRoot, keyId, scope, sub === 'grant', flags);
|
|
176
|
+
await cmdAuthScopeGrant(hippoRoot, tenantId, keyId, scope, sub === 'grant', flags);
|
|
160
177
|
return;
|
|
161
178
|
}
|
|
162
179
|
default:
|
|
163
180
|
printError(`Unknown auth subcommand: ${sub}. Expected: create | list | revoke | grant | ungrant.`);
|
|
164
|
-
|
|
181
|
+
throw new CliExit(1);
|
|
165
182
|
}
|
|
166
183
|
}
|
|
167
184
|
//# sourceMappingURL=auth.js.map
|
package/dist/cli/briefs.d.ts
CHANGED
|
@@ -1,5 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
export declare function cmdProjectBrief(hippoRoot: string, args: string[], flags: CliFlags): void;
|
|
3
|
-
export declare function cmdGraph(hippoRoot: string, args: string[], flags: CliFlags): void;
|
|
4
|
-
export declare function cmdCustomerNote(hippoRoot: string, args: string[], flags: CliFlags): void;
|
|
1
|
+
export declare const handleProjectBrief: (ctx: import("./flag-values.js").CommandContext) => void;
|
|
5
2
|
//# sourceMappingURL=briefs.d.ts.map
|