@pleri/olam-cli 0.1.201 → 0.1.205
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 +102 -169
- package/dist/agent-stream/agent-sdk-to-chunks.js +1 -1
- package/dist/agent-stream/driver-runner.js +73 -7
- package/dist/agent-stream/host-driver-launch.js +14 -1
- package/dist/agent-stream/prototype-gen-launch.js +113 -0
- package/dist/agent-stream/question-broker-bridge.js +335 -0
- package/dist/agent-stream/sdk-env-merge.demo.js +35 -0
- package/dist/agent-stream/sdk-env-merge.js +98 -0
- package/dist/image-digests.json +8 -8
- package/dist/index.js +9533 -6258
- package/dist/index.js.map +1 -1
- package/dist/mcp-server.js +24721 -12934
- package/hermes-bundle/version.json +1 -1
- package/hooks/__tests__/_loader.py +26 -0
- package/hooks/__tests__/prompts.py +63 -0
- package/hooks/__tests__/test_classify_bench.py +94 -0
- package/hooks/__tests__/test_classify_pins.py +78 -0
- package/hooks/model-router.py +17 -4
- package/host-cp/k8s/manifests/50-deployment.yaml +1 -1
- package/host-cp/k8s/manifests/auth-service/50-deployment.yaml +1 -1
- package/host-cp/k8s/manifests/kg-service/50-deployment.yaml +1 -1
- package/host-cp/k8s/manifests/mcp-auth-service/50-deployment.yaml +1 -1
- package/host-cp/k8s/manifests/memory-service/50-deployment.yaml +1 -1
- package/host-cp/src/op-side-longpoll.mjs +212 -0
- package/host-cp/src/plan-chat-proxy-headers.mjs +53 -0
- package/host-cp/src/plan-chat-service.mjs +100 -0
- package/host-cp/src/plan-orchestrator.mjs +100 -6
- package/host-cp/src/server.mjs +607 -45
- package/memory-hooks/agentmemory-classify-queue.mjs +363 -0
- package/memory-hooks/agentmemory-recall-trigger.mjs +233 -0
- package/memory-hooks/agentmemory-reflect-cite.mjs +332 -0
- package/memory-hooks/agentmemory-session-recall.js +332 -0
- package/memory-hooks/recall-log.mjs +185 -0
- package/package.json +9 -4
- package/dist/ask/checkout.d.ts +0 -19
- package/dist/ask/checkout.d.ts.map +0 -1
- package/dist/ask/checkout.js +0 -40
- package/dist/ask/checkout.js.map +0 -1
- package/dist/ask/knowledge-pack-builder.d.ts +0 -72
- package/dist/ask/knowledge-pack-builder.d.ts.map +0 -1
- package/dist/ask/knowledge-pack-builder.js +0 -96
- package/dist/ask/knowledge-pack-builder.js.map +0 -1
- package/dist/ask/knowledge-pack.generated.d.ts +0 -8
- package/dist/ask/knowledge-pack.generated.d.ts.map +0 -1
- package/dist/ask/knowledge-pack.generated.js +0 -2362
- package/dist/ask/knowledge-pack.generated.js.map +0 -1
- package/dist/ask/one-shot.d.ts +0 -21
- package/dist/ask/one-shot.d.ts.map +0 -1
- package/dist/ask/one-shot.js +0 -50
- package/dist/ask/one-shot.js.map +0 -1
- package/dist/ask/repl.d.ts +0 -30
- package/dist/ask/repl.d.ts.map +0 -1
- package/dist/ask/repl.js +0 -109
- package/dist/ask/repl.js.map +0 -1
- package/dist/ask/sdk-client.d.ts +0 -87
- package/dist/ask/sdk-client.d.ts.map +0 -1
- package/dist/ask/sdk-client.js +0 -118
- package/dist/ask/sdk-client.js.map +0 -1
- package/dist/ask/system-prompt.d.ts +0 -30
- package/dist/ask/system-prompt.d.ts.map +0 -1
- package/dist/ask/system-prompt.js +0 -31
- package/dist/ask/system-prompt.js.map +0 -1
- package/dist/cli-version.d.ts +0 -16
- package/dist/cli-version.d.ts.map +0 -1
- package/dist/cli-version.js +0 -39
- package/dist/cli-version.js.map +0 -1
- package/dist/commands/ask.d.ts +0 -27
- package/dist/commands/ask.d.ts.map +0 -1
- package/dist/commands/ask.js +0 -63
- package/dist/commands/ask.js.map +0 -1
- package/dist/commands/auth-list-json.d.ts +0 -87
- package/dist/commands/auth-list-json.d.ts.map +0 -1
- package/dist/commands/auth-list-json.js +0 -71
- package/dist/commands/auth-list-json.js.map +0 -1
- package/dist/commands/auth-migrate.d.ts +0 -212
- package/dist/commands/auth-migrate.d.ts.map +0 -1
- package/dist/commands/auth-migrate.js +0 -465
- package/dist/commands/auth-migrate.js.map +0 -1
- package/dist/commands/auth-status.d.ts +0 -51
- package/dist/commands/auth-status.d.ts.map +0 -1
- package/dist/commands/auth-status.js +0 -250
- package/dist/commands/auth-status.js.map +0 -1
- package/dist/commands/auth-upgrade.d.ts +0 -88
- package/dist/commands/auth-upgrade.d.ts.map +0 -1
- package/dist/commands/auth-upgrade.js +0 -431
- package/dist/commands/auth-upgrade.js.map +0 -1
- package/dist/commands/auth.d.ts +0 -31
- package/dist/commands/auth.d.ts.map +0 -1
- package/dist/commands/auth.js +0 -784
- package/dist/commands/auth.js.map +0 -1
- package/dist/commands/begin.d.ts +0 -27
- package/dist/commands/begin.d.ts.map +0 -1
- package/dist/commands/begin.js +0 -45
- package/dist/commands/begin.js.map +0 -1
- package/dist/commands/bootstrap.d.ts +0 -111
- package/dist/commands/bootstrap.d.ts.map +0 -1
- package/dist/commands/bootstrap.js +0 -485
- package/dist/commands/bootstrap.js.map +0 -1
- package/dist/commands/clean.d.ts +0 -41
- package/dist/commands/clean.d.ts.map +0 -1
- package/dist/commands/clean.js +0 -382
- package/dist/commands/clean.js.map +0 -1
- package/dist/commands/completion.d.ts +0 -30
- package/dist/commands/completion.d.ts.map +0 -1
- package/dist/commands/completion.js +0 -50
- package/dist/commands/completion.js.map +0 -1
- package/dist/commands/config.d.ts +0 -3
- package/dist/commands/config.d.ts.map +0 -1
- package/dist/commands/config.js +0 -146
- package/dist/commands/config.js.map +0 -1
- package/dist/commands/create.d.ts +0 -8
- package/dist/commands/create.d.ts.map +0 -1
- package/dist/commands/create.js +0 -775
- package/dist/commands/create.js.map +0 -1
- package/dist/commands/crystallize.d.ts +0 -18
- package/dist/commands/crystallize.d.ts.map +0 -1
- package/dist/commands/crystallize.js +0 -123
- package/dist/commands/crystallize.js.map +0 -1
- package/dist/commands/destroy.d.ts +0 -59
- package/dist/commands/destroy.d.ts.map +0 -1
- package/dist/commands/destroy.js +0 -148
- package/dist/commands/destroy.js.map +0 -1
- package/dist/commands/diagnose.d.ts +0 -36
- package/dist/commands/diagnose.d.ts.map +0 -1
- package/dist/commands/diagnose.js +0 -177
- package/dist/commands/diagnose.js.map +0 -1
- package/dist/commands/dispatch-resolve.d.ts +0 -54
- package/dist/commands/dispatch-resolve.d.ts.map +0 -1
- package/dist/commands/dispatch-resolve.js +0 -105
- package/dist/commands/dispatch-resolve.js.map +0 -1
- package/dist/commands/dispatch.d.ts +0 -18
- package/dist/commands/dispatch.d.ts.map +0 -1
- package/dist/commands/dispatch.js +0 -159
- package/dist/commands/dispatch.js.map +0 -1
- package/dist/commands/doctor.d.ts +0 -258
- package/dist/commands/doctor.d.ts.map +0 -1
- package/dist/commands/doctor.js +0 -1073
- package/dist/commands/doctor.js.map +0 -1
- package/dist/commands/enter.d.ts +0 -63
- package/dist/commands/enter.d.ts.map +0 -1
- package/dist/commands/enter.js +0 -230
- package/dist/commands/enter.js.map +0 -1
- package/dist/commands/flywheel/check-persona-skeleton.d.ts +0 -35
- package/dist/commands/flywheel/check-persona-skeleton.d.ts.map +0 -1
- package/dist/commands/flywheel/check-persona-skeleton.js +0 -151
- package/dist/commands/flywheel/check-persona-skeleton.js.map +0 -1
- package/dist/commands/flywheel/diversity-check.d.ts +0 -17
- package/dist/commands/flywheel/diversity-check.d.ts.map +0 -1
- package/dist/commands/flywheel/diversity-check.js +0 -64
- package/dist/commands/flywheel/diversity-check.js.map +0 -1
- package/dist/commands/flywheel/emit-breadcrumb.d.ts +0 -20
- package/dist/commands/flywheel/emit-breadcrumb.d.ts.map +0 -1
- package/dist/commands/flywheel/emit-breadcrumb.js +0 -137
- package/dist/commands/flywheel/emit-breadcrumb.js.map +0 -1
- package/dist/commands/flywheel/index.d.ts +0 -27
- package/dist/commands/flywheel/index.d.ts.map +0 -1
- package/dist/commands/flywheel/index.js +0 -54
- package/dist/commands/flywheel/index.js.map +0 -1
- package/dist/commands/flywheel/install-sessionstart-hook.d.ts +0 -64
- package/dist/commands/flywheel/install-sessionstart-hook.d.ts.map +0 -1
- package/dist/commands/flywheel/install-sessionstart-hook.js +0 -197
- package/dist/commands/flywheel/install-sessionstart-hook.js.map +0 -1
- package/dist/commands/flywheel/install-shims.d.ts +0 -41
- package/dist/commands/flywheel/install-shims.d.ts.map +0 -1
- package/dist/commands/flywheel/install-shims.js +0 -126
- package/dist/commands/flywheel/install-shims.js.map +0 -1
- package/dist/commands/flywheel/k10-measure.d.ts +0 -17
- package/dist/commands/flywheel/k10-measure.d.ts.map +0 -1
- package/dist/commands/flywheel/k10-measure.js +0 -63
- package/dist/commands/flywheel/k10-measure.js.map +0 -1
- package/dist/commands/flywheel/k5-score.d.ts +0 -14
- package/dist/commands/flywheel/k5-score.d.ts.map +0 -1
- package/dist/commands/flywheel/k5-score.js +0 -59
- package/dist/commands/flywheel/k5-score.js.map +0 -1
- package/dist/commands/flywheel/k5-validate.d.ts +0 -46
- package/dist/commands/flywheel/k5-validate.d.ts.map +0 -1
- package/dist/commands/flywheel/k5-validate.js +0 -246
- package/dist/commands/flywheel/k5-validate.js.map +0 -1
- package/dist/commands/flywheel/migrate-overlays.d.ts +0 -116
- package/dist/commands/flywheel/migrate-overlays.d.ts.map +0 -1
- package/dist/commands/flywheel/migrate-overlays.js +0 -792
- package/dist/commands/flywheel/migrate-overlays.js.map +0 -1
- package/dist/commands/flywheel/ping.d.ts +0 -21
- package/dist/commands/flywheel/ping.d.ts.map +0 -1
- package/dist/commands/flywheel/ping.js +0 -79
- package/dist/commands/flywheel/ping.js.map +0 -1
- package/dist/commands/flywheel/sanitize-persona-output.d.ts +0 -38
- package/dist/commands/flywheel/sanitize-persona-output.d.ts.map +0 -1
- package/dist/commands/flywheel/sanitize-persona-output.js +0 -102
- package/dist/commands/flywheel/sanitize-persona-output.js.map +0 -1
- package/dist/commands/flywheel/session-start.d.ts +0 -26
- package/dist/commands/flywheel/session-start.d.ts.map +0 -1
- package/dist/commands/flywheel/session-start.js +0 -119
- package/dist/commands/flywheel/session-start.js.map +0 -1
- package/dist/commands/hermes-kg-hook.d.ts +0 -36
- package/dist/commands/hermes-kg-hook.d.ts.map +0 -1
- package/dist/commands/hermes-kg-hook.js +0 -80
- package/dist/commands/hermes-kg-hook.js.map +0 -1
- package/dist/commands/hermes.d.ts +0 -46
- package/dist/commands/hermes.d.ts.map +0 -1
- package/dist/commands/hermes.js +0 -320
- package/dist/commands/hermes.js.map +0 -1
- package/dist/commands/host-cp.d.ts +0 -216
- package/dist/commands/host-cp.d.ts.map +0 -1
- package/dist/commands/host-cp.js +0 -913
- package/dist/commands/host-cp.js.map +0 -1
- package/dist/commands/implode.d.ts +0 -86
- package/dist/commands/implode.d.ts.map +0 -1
- package/dist/commands/implode.js +0 -468
- package/dist/commands/implode.js.map +0 -1
- package/dist/commands/init.d.ts +0 -86
- package/dist/commands/init.d.ts.map +0 -1
- package/dist/commands/init.js +0 -357
- package/dist/commands/init.js.map +0 -1
- package/dist/commands/install.d.ts +0 -22
- package/dist/commands/install.d.ts.map +0 -1
- package/dist/commands/install.js +0 -203
- package/dist/commands/install.js.map +0 -1
- package/dist/commands/keys-list-json.d.ts +0 -55
- package/dist/commands/keys-list-json.d.ts.map +0 -1
- package/dist/commands/keys-list-json.js +0 -54
- package/dist/commands/keys-list-json.js.map +0 -1
- package/dist/commands/keys.d.ts +0 -26
- package/dist/commands/keys.d.ts.map +0 -1
- package/dist/commands/keys.js +0 -157
- package/dist/commands/keys.js.map +0 -1
- package/dist/commands/kg-build.d.ts +0 -80
- package/dist/commands/kg-build.d.ts.map +0 -1
- package/dist/commands/kg-build.js +0 -282
- package/dist/commands/kg-build.js.map +0 -1
- package/dist/commands/kg-classify.d.ts +0 -30
- package/dist/commands/kg-classify.d.ts.map +0 -1
- package/dist/commands/kg-classify.js +0 -88
- package/dist/commands/kg-classify.js.map +0 -1
- package/dist/commands/kg-doctor.d.ts +0 -76
- package/dist/commands/kg-doctor.d.ts.map +0 -1
- package/dist/commands/kg-doctor.js +0 -262
- package/dist/commands/kg-doctor.js.map +0 -1
- package/dist/commands/kg-install-hook.d.ts +0 -20
- package/dist/commands/kg-install-hook.d.ts.map +0 -1
- package/dist/commands/kg-install-hook.js +0 -208
- package/dist/commands/kg-install-hook.js.map +0 -1
- package/dist/commands/kg-mirror.d.ts +0 -72
- package/dist/commands/kg-mirror.d.ts.map +0 -1
- package/dist/commands/kg-mirror.js +0 -397
- package/dist/commands/kg-mirror.js.map +0 -1
- package/dist/commands/kg-savings.d.ts +0 -20
- package/dist/commands/kg-savings.d.ts.map +0 -1
- package/dist/commands/kg-savings.js +0 -77
- package/dist/commands/kg-savings.js.map +0 -1
- package/dist/commands/kg-service-container.d.ts +0 -68
- package/dist/commands/kg-service-container.d.ts.map +0 -1
- package/dist/commands/kg-service-container.js +0 -191
- package/dist/commands/kg-service-container.js.map +0 -1
- package/dist/commands/kg-status.d.ts +0 -59
- package/dist/commands/kg-status.d.ts.map +0 -1
- package/dist/commands/kg-status.js +0 -344
- package/dist/commands/kg-status.js.map +0 -1
- package/dist/commands/kg-uninstall-hook.d.ts +0 -12
- package/dist/commands/kg-uninstall-hook.d.ts.map +0 -1
- package/dist/commands/kg-uninstall-hook.js +0 -121
- package/dist/commands/kg-uninstall-hook.js.map +0 -1
- package/dist/commands/kg-watch.d.ts +0 -49
- package/dist/commands/kg-watch.d.ts.map +0 -1
- package/dist/commands/kg-watch.js +0 -172
- package/dist/commands/kg-watch.js.map +0 -1
- package/dist/commands/lanes-list-json.d.ts +0 -69
- package/dist/commands/lanes-list-json.d.ts.map +0 -1
- package/dist/commands/lanes-list-json.js +0 -42
- package/dist/commands/lanes-list-json.js.map +0 -1
- package/dist/commands/lanes.d.ts +0 -18
- package/dist/commands/lanes.d.ts.map +0 -1
- package/dist/commands/lanes.js +0 -133
- package/dist/commands/lanes.js.map +0 -1
- package/dist/commands/list.d.ts +0 -33
- package/dist/commands/list.d.ts.map +0 -1
- package/dist/commands/list.js +0 -87
- package/dist/commands/list.js.map +0 -1
- package/dist/commands/logs.d.ts +0 -52
- package/dist/commands/logs.d.ts.map +0 -1
- package/dist/commands/logs.js +0 -180
- package/dist/commands/logs.js.map +0 -1
- package/dist/commands/mcp/add.d.ts +0 -9
- package/dist/commands/mcp/add.d.ts.map +0 -1
- package/dist/commands/mcp/add.js +0 -87
- package/dist/commands/mcp/add.js.map +0 -1
- package/dist/commands/mcp/client.d.ts +0 -60
- package/dist/commands/mcp/client.d.ts.map +0 -1
- package/dist/commands/mcp/client.js +0 -70
- package/dist/commands/mcp/client.js.map +0 -1
- package/dist/commands/mcp/complete.d.ts +0 -36
- package/dist/commands/mcp/complete.d.ts.map +0 -1
- package/dist/commands/mcp/complete.js +0 -66
- package/dist/commands/mcp/complete.js.map +0 -1
- package/dist/commands/mcp/import-discovery.d.ts +0 -25
- package/dist/commands/mcp/import-discovery.d.ts.map +0 -1
- package/dist/commands/mcp/import-discovery.js +0 -135
- package/dist/commands/mcp/import-discovery.js.map +0 -1
- package/dist/commands/mcp/import-validate.d.ts +0 -15
- package/dist/commands/mcp/import-validate.d.ts.map +0 -1
- package/dist/commands/mcp/import-validate.js +0 -55
- package/dist/commands/mcp/import-validate.js.map +0 -1
- package/dist/commands/mcp/import.d.ts +0 -12
- package/dist/commands/mcp/import.d.ts.map +0 -1
- package/dist/commands/mcp/import.js +0 -126
- package/dist/commands/mcp/import.js.map +0 -1
- package/dist/commands/mcp/index.d.ts +0 -14
- package/dist/commands/mcp/index.d.ts.map +0 -1
- package/dist/commands/mcp/index.js +0 -39
- package/dist/commands/mcp/index.js.map +0 -1
- package/dist/commands/mcp/install-shared.d.ts +0 -24
- package/dist/commands/mcp/install-shared.d.ts.map +0 -1
- package/dist/commands/mcp/install-shared.js +0 -42
- package/dist/commands/mcp/install-shared.js.map +0 -1
- package/dist/commands/mcp/install.d.ts +0 -20
- package/dist/commands/mcp/install.d.ts.map +0 -1
- package/dist/commands/mcp/install.js +0 -59
- package/dist/commands/mcp/install.js.map +0 -1
- package/dist/commands/mcp/list.d.ts +0 -6
- package/dist/commands/mcp/list.d.ts.map +0 -1
- package/dist/commands/mcp/list.js +0 -56
- package/dist/commands/mcp/list.js.map +0 -1
- package/dist/commands/mcp/login.d.ts +0 -6
- package/dist/commands/mcp/login.d.ts.map +0 -1
- package/dist/commands/mcp/login.js +0 -38
- package/dist/commands/mcp/login.js.map +0 -1
- package/dist/commands/mcp/remove.d.ts +0 -6
- package/dist/commands/mcp/remove.d.ts.map +0 -1
- package/dist/commands/mcp/remove.js +0 -21
- package/dist/commands/mcp/remove.js.map +0 -1
- package/dist/commands/mcp/revoke.d.ts +0 -11
- package/dist/commands/mcp/revoke.d.ts.map +0 -1
- package/dist/commands/mcp/revoke.js +0 -51
- package/dist/commands/mcp/revoke.js.map +0 -1
- package/dist/commands/mcp/serve.d.ts +0 -23
- package/dist/commands/mcp/serve.d.ts.map +0 -1
- package/dist/commands/mcp/serve.js +0 -55
- package/dist/commands/mcp/serve.js.map +0 -1
- package/dist/commands/mcp/status.d.ts +0 -6
- package/dist/commands/mcp/status.d.ts.map +0 -1
- package/dist/commands/mcp/status.js +0 -57
- package/dist/commands/mcp/status.js.map +0 -1
- package/dist/commands/mcp/uninstall.d.ts +0 -20
- package/dist/commands/mcp/uninstall.d.ts.map +0 -1
- package/dist/commands/mcp/uninstall.js +0 -60
- package/dist/commands/mcp/uninstall.js.map +0 -1
- package/dist/commands/memory/_paths.d.ts +0 -25
- package/dist/commands/memory/_paths.d.ts.map +0 -1
- package/dist/commands/memory/_paths.js +0 -57
- package/dist/commands/memory/_paths.js.map +0 -1
- package/dist/commands/memory/bridge.d.ts +0 -57
- package/dist/commands/memory/bridge.d.ts.map +0 -1
- package/dist/commands/memory/bridge.js +0 -152
- package/dist/commands/memory/bridge.js.map +0 -1
- package/dist/commands/memory/index.d.ts +0 -20
- package/dist/commands/memory/index.d.ts.map +0 -1
- package/dist/commands/memory/index.js +0 -47
- package/dist/commands/memory/index.js.map +0 -1
- package/dist/commands/memory/install-hooks.d.ts +0 -22
- package/dist/commands/memory/install-hooks.d.ts.map +0 -1
- package/dist/commands/memory/install-hooks.js +0 -156
- package/dist/commands/memory/install-hooks.js.map +0 -1
- package/dist/commands/memory/install.d.ts +0 -57
- package/dist/commands/memory/install.d.ts.map +0 -1
- package/dist/commands/memory/install.js +0 -114
- package/dist/commands/memory/install.js.map +0 -1
- package/dist/commands/memory/logs.d.ts +0 -19
- package/dist/commands/memory/logs.d.ts.map +0 -1
- package/dist/commands/memory/logs.js +0 -50
- package/dist/commands/memory/logs.js.map +0 -1
- package/dist/commands/memory/mode.d.ts +0 -47
- package/dist/commands/memory/mode.d.ts.map +0 -1
- package/dist/commands/memory/mode.js +0 -185
- package/dist/commands/memory/mode.js.map +0 -1
- package/dist/commands/memory/reclassify.d.ts +0 -56
- package/dist/commands/memory/reclassify.d.ts.map +0 -1
- package/dist/commands/memory/reclassify.js +0 -177
- package/dist/commands/memory/reclassify.js.map +0 -1
- package/dist/commands/memory/secret.d.ts +0 -16
- package/dist/commands/memory/secret.d.ts.map +0 -1
- package/dist/commands/memory/secret.js +0 -80
- package/dist/commands/memory/secret.js.map +0 -1
- package/dist/commands/memory/start.d.ts +0 -25
- package/dist/commands/memory/start.d.ts.map +0 -1
- package/dist/commands/memory/start.js +0 -83
- package/dist/commands/memory/start.js.map +0 -1
- package/dist/commands/memory/stats.d.ts +0 -69
- package/dist/commands/memory/stats.d.ts.map +0 -1
- package/dist/commands/memory/stats.js +0 -164
- package/dist/commands/memory/stats.js.map +0 -1
- package/dist/commands/memory/status.d.ts +0 -45
- package/dist/commands/memory/status.d.ts.map +0 -1
- package/dist/commands/memory/status.js +0 -134
- package/dist/commands/memory/status.js.map +0 -1
- package/dist/commands/memory/stop.d.ts +0 -13
- package/dist/commands/memory/stop.d.ts.map +0 -1
- package/dist/commands/memory/stop.js +0 -52
- package/dist/commands/memory/stop.js.map +0 -1
- package/dist/commands/memory/uninstall.d.ts +0 -19
- package/dist/commands/memory/uninstall.d.ts.map +0 -1
- package/dist/commands/memory/uninstall.js +0 -60
- package/dist/commands/memory/uninstall.js.map +0 -1
- package/dist/commands/memory-service-container.d.ts +0 -130
- package/dist/commands/memory-service-container.d.ts.map +0 -1
- package/dist/commands/memory-service-container.js +0 -251
- package/dist/commands/memory-service-container.js.map +0 -1
- package/dist/commands/observe.d.ts +0 -9
- package/dist/commands/observe.d.ts.map +0 -1
- package/dist/commands/observe.js +0 -42
- package/dist/commands/observe.js.map +0 -1
- package/dist/commands/plans-list-json.d.ts +0 -77
- package/dist/commands/plans-list-json.d.ts.map +0 -1
- package/dist/commands/plans-list-json.js +0 -61
- package/dist/commands/plans-list-json.js.map +0 -1
- package/dist/commands/plans.d.ts +0 -3
- package/dist/commands/plans.d.ts.map +0 -1
- package/dist/commands/plans.js +0 -221
- package/dist/commands/plans.js.map +0 -1
- package/dist/commands/policy-check.d.ts +0 -14
- package/dist/commands/policy-check.d.ts.map +0 -1
- package/dist/commands/policy-check.js +0 -76
- package/dist/commands/policy-check.js.map +0 -1
- package/dist/commands/pr.d.ts +0 -17
- package/dist/commands/pr.d.ts.map +0 -1
- package/dist/commands/pr.js +0 -148
- package/dist/commands/pr.js.map +0 -1
- package/dist/commands/ps.d.ts +0 -57
- package/dist/commands/ps.d.ts.map +0 -1
- package/dist/commands/ps.js +0 -202
- package/dist/commands/ps.js.map +0 -1
- package/dist/commands/refresh-helpers.d.ts +0 -25
- package/dist/commands/refresh-helpers.d.ts.map +0 -1
- package/dist/commands/refresh-helpers.js +0 -56
- package/dist/commands/refresh-helpers.js.map +0 -1
- package/dist/commands/refresh.d.ts +0 -23
- package/dist/commands/refresh.d.ts.map +0 -1
- package/dist/commands/refresh.js +0 -237
- package/dist/commands/refresh.js.map +0 -1
- package/dist/commands/rekey.d.ts +0 -84
- package/dist/commands/rekey.d.ts.map +0 -1
- package/dist/commands/rekey.js +0 -209
- package/dist/commands/rekey.js.map +0 -1
- package/dist/commands/repos-list-json.d.ts +0 -58
- package/dist/commands/repos-list-json.d.ts.map +0 -1
- package/dist/commands/repos-list-json.js +0 -45
- package/dist/commands/repos-list-json.js.map +0 -1
- package/dist/commands/repos.d.ts +0 -11
- package/dist/commands/repos.d.ts.map +0 -1
- package/dist/commands/repos.js +0 -102
- package/dist/commands/repos.js.map +0 -1
- package/dist/commands/restart.d.ts +0 -18
- package/dist/commands/restart.d.ts.map +0 -1
- package/dist/commands/restart.js +0 -113
- package/dist/commands/restart.js.map +0 -1
- package/dist/commands/resume.d.ts +0 -63
- package/dist/commands/resume.d.ts.map +0 -1
- package/dist/commands/resume.js +0 -174
- package/dist/commands/resume.js.map +0 -1
- package/dist/commands/runbooks.d.ts +0 -45
- package/dist/commands/runbooks.d.ts.map +0 -1
- package/dist/commands/runbooks.js +0 -313
- package/dist/commands/runbooks.js.map +0 -1
- package/dist/commands/seed.d.ts +0 -27
- package/dist/commands/seed.d.ts.map +0 -1
- package/dist/commands/seed.js +0 -303
- package/dist/commands/seed.js.map +0 -1
- package/dist/commands/services-tls.d.ts +0 -120
- package/dist/commands/services-tls.d.ts.map +0 -1
- package/dist/commands/services-tls.js +0 -489
- package/dist/commands/services-tls.js.map +0 -1
- package/dist/commands/services.d.ts +0 -218
- package/dist/commands/services.d.ts.map +0 -1
- package/dist/commands/services.js +0 -830
- package/dist/commands/services.js.map +0 -1
- package/dist/commands/setup-linux-gate.d.ts +0 -26
- package/dist/commands/setup-linux-gate.d.ts.map +0 -1
- package/dist/commands/setup-linux-gate.js +0 -40
- package/dist/commands/setup-linux-gate.js.map +0 -1
- package/dist/commands/setup-metrics.d.ts +0 -26
- package/dist/commands/setup-metrics.d.ts.map +0 -1
- package/dist/commands/setup-metrics.js +0 -56
- package/dist/commands/setup-metrics.js.map +0 -1
- package/dist/commands/setup-phase-5a-skill-source.d.ts +0 -84
- package/dist/commands/setup-phase-5a-skill-source.d.ts.map +0 -1
- package/dist/commands/setup-phase-5a-skill-source.js +0 -259
- package/dist/commands/setup-phase-5a-skill-source.js.map +0 -1
- package/dist/commands/setup-phase-5b-project-sweep.d.ts +0 -38
- package/dist/commands/setup-phase-5b-project-sweep.d.ts.map +0 -1
- package/dist/commands/setup-phase-5b-project-sweep.js +0 -175
- package/dist/commands/setup-phase-5b-project-sweep.js.map +0 -1
- package/dist/commands/setup-phase-8-kg-hook.d.ts +0 -48
- package/dist/commands/setup-phase-8-kg-hook.d.ts.map +0 -1
- package/dist/commands/setup-phase-8-kg-hook.js +0 -93
- package/dist/commands/setup-phase-8-kg-hook.js.map +0 -1
- package/dist/commands/setup-phase-9-memory-bridge.d.ts +0 -36
- package/dist/commands/setup-phase-9-memory-bridge.d.ts.map +0 -1
- package/dist/commands/setup-phase-9-memory-bridge.js +0 -59
- package/dist/commands/setup-phase-9-memory-bridge.js.map +0 -1
- package/dist/commands/setup.d.ts +0 -231
- package/dist/commands/setup.d.ts.map +0 -1
- package/dist/commands/setup.js +0 -1374
- package/dist/commands/setup.js.map +0 -1
- package/dist/commands/skills-100x.d.ts +0 -34
- package/dist/commands/skills-100x.d.ts.map +0 -1
- package/dist/commands/skills-100x.js +0 -405
- package/dist/commands/skills-100x.js.map +0 -1
- package/dist/commands/skills-doctor.d.ts +0 -14
- package/dist/commands/skills-doctor.d.ts.map +0 -1
- package/dist/commands/skills-doctor.js +0 -126
- package/dist/commands/skills-doctor.js.map +0 -1
- package/dist/commands/skills-hook.d.ts +0 -19
- package/dist/commands/skills-hook.d.ts.map +0 -1
- package/dist/commands/skills-hook.js +0 -99
- package/dist/commands/skills-hook.js.map +0 -1
- package/dist/commands/skills-install-model-router.d.ts +0 -20
- package/dist/commands/skills-install-model-router.d.ts.map +0 -1
- package/dist/commands/skills-install-model-router.js +0 -55
- package/dist/commands/skills-install-model-router.js.map +0 -1
- package/dist/commands/skills-migrate-back.d.ts +0 -21
- package/dist/commands/skills-migrate-back.d.ts.map +0 -1
- package/dist/commands/skills-migrate-back.js +0 -222
- package/dist/commands/skills-migrate-back.js.map +0 -1
- package/dist/commands/skills-migrate-hooks-back.d.ts +0 -19
- package/dist/commands/skills-migrate-hooks-back.d.ts.map +0 -1
- package/dist/commands/skills-migrate-hooks-back.js +0 -83
- package/dist/commands/skills-migrate-hooks-back.js.map +0 -1
- package/dist/commands/skills-migrate-hooks.d.ts +0 -40
- package/dist/commands/skills-migrate-hooks.d.ts.map +0 -1
- package/dist/commands/skills-migrate-hooks.js +0 -178
- package/dist/commands/skills-migrate-hooks.js.map +0 -1
- package/dist/commands/skills-migrate.d.ts +0 -33
- package/dist/commands/skills-migrate.d.ts.map +0 -1
- package/dist/commands/skills-migrate.js +0 -216
- package/dist/commands/skills-migrate.js.map +0 -1
- package/dist/commands/skills-onboard.d.ts +0 -26
- package/dist/commands/skills-onboard.d.ts.map +0 -1
- package/dist/commands/skills-onboard.js +0 -230
- package/dist/commands/skills-onboard.js.map +0 -1
- package/dist/commands/skills-shadow-backups.d.ts +0 -15
- package/dist/commands/skills-shadow-backups.d.ts.map +0 -1
- package/dist/commands/skills-shadow-backups.js +0 -132
- package/dist/commands/skills-shadow-backups.js.map +0 -1
- package/dist/commands/skills-source.d.ts +0 -61
- package/dist/commands/skills-source.d.ts.map +0 -1
- package/dist/commands/skills-source.js +0 -895
- package/dist/commands/skills-source.js.map +0 -1
- package/dist/commands/skills.d.ts +0 -59
- package/dist/commands/skills.d.ts.map +0 -1
- package/dist/commands/skills.js +0 -461
- package/dist/commands/skills.js.map +0 -1
- package/dist/commands/status.d.ts +0 -65
- package/dist/commands/status.d.ts.map +0 -1
- package/dist/commands/status.js +0 -249
- package/dist/commands/status.js.map +0 -1
- package/dist/commands/stop.d.ts +0 -10
- package/dist/commands/stop.d.ts.map +0 -1
- package/dist/commands/stop.js +0 -17
- package/dist/commands/stop.js.map +0 -1
- package/dist/commands/substrate-audit-log.d.ts +0 -51
- package/dist/commands/substrate-audit-log.d.ts.map +0 -1
- package/dist/commands/substrate-audit-log.js +0 -161
- package/dist/commands/substrate-audit-log.js.map +0 -1
- package/dist/commands/substrate.d.ts +0 -87
- package/dist/commands/substrate.d.ts.map +0 -1
- package/dist/commands/substrate.js +0 -194
- package/dist/commands/substrate.js.map +0 -1
- package/dist/commands/update.d.ts +0 -89
- package/dist/commands/update.d.ts.map +0 -1
- package/dist/commands/update.js +0 -331
- package/dist/commands/update.js.map +0 -1
- package/dist/commands/upgrade-history.d.ts +0 -15
- package/dist/commands/upgrade-history.d.ts.map +0 -1
- package/dist/commands/upgrade-history.js +0 -34
- package/dist/commands/upgrade-history.js.map +0 -1
- package/dist/commands/upgrade-lock.d.ts +0 -93
- package/dist/commands/upgrade-lock.d.ts.map +0 -1
- package/dist/commands/upgrade-lock.js +0 -225
- package/dist/commands/upgrade-lock.js.map +0 -1
- package/dist/commands/upgrade-log.d.ts +0 -86
- package/dist/commands/upgrade-log.d.ts.map +0 -1
- package/dist/commands/upgrade-log.js +0 -146
- package/dist/commands/upgrade-log.js.map +0 -1
- package/dist/commands/upgrade.d.ts +0 -445
- package/dist/commands/upgrade.d.ts.map +0 -1
- package/dist/commands/upgrade.js +0 -1718
- package/dist/commands/upgrade.js.map +0 -1
- package/dist/commands/workspace-list-json.d.ts +0 -73
- package/dist/commands/workspace-list-json.d.ts.map +0 -1
- package/dist/commands/workspace-list-json.js +0 -59
- package/dist/commands/workspace-list-json.js.map +0 -1
- package/dist/commands/workspace.d.ts +0 -23
- package/dist/commands/workspace.d.ts.map +0 -1
- package/dist/commands/workspace.js +0 -203
- package/dist/commands/workspace.js.map +0 -1
- package/dist/commands/world-snapshot.d.ts +0 -32
- package/dist/commands/world-snapshot.d.ts.map +0 -1
- package/dist/commands/world-snapshot.js +0 -531
- package/dist/commands/world-snapshot.js.map +0 -1
- package/dist/commands/world-upgrade.d.ts +0 -33
- package/dist/commands/world-upgrade.d.ts.map +0 -1
- package/dist/commands/world-upgrade.js +0 -82
- package/dist/commands/world-upgrade.js.map +0 -1
- package/dist/commands/world.d.ts +0 -12
- package/dist/commands/world.d.ts.map +0 -1
- package/dist/commands/world.js +0 -18
- package/dist/commands/world.js.map +0 -1
- package/dist/commands/worldspec/compile.d.ts +0 -20
- package/dist/commands/worldspec/compile.d.ts.map +0 -1
- package/dist/commands/worldspec/compile.js +0 -130
- package/dist/commands/worldspec/compile.js.map +0 -1
- package/dist/commands/worldspec/index.d.ts +0 -12
- package/dist/commands/worldspec/index.d.ts.map +0 -1
- package/dist/commands/worldspec/index.js +0 -23
- package/dist/commands/worldspec/index.js.map +0 -1
- package/dist/commands/worldspec/init.d.ts +0 -15
- package/dist/commands/worldspec/init.d.ts.map +0 -1
- package/dist/commands/worldspec/init.js +0 -166
- package/dist/commands/worldspec/init.js.map +0 -1
- package/dist/commands/worldspec/schema.d.ts +0 -11
- package/dist/commands/worldspec/schema.d.ts.map +0 -1
- package/dist/commands/worldspec/schema.js +0 -55
- package/dist/commands/worldspec/schema.js.map +0 -1
- package/dist/commands/worldspec/validate.d.ts +0 -15
- package/dist/commands/worldspec/validate.d.ts.map +0 -1
- package/dist/commands/worldspec/validate.js +0 -66
- package/dist/commands/worldspec/validate.js.map +0 -1
- package/dist/commands/yolo.d.ts +0 -95
- package/dist/commands/yolo.d.ts.map +0 -1
- package/dist/commands/yolo.js +0 -377
- package/dist/commands/yolo.js.map +0 -1
- package/dist/context.d.ts +0 -30
- package/dist/context.d.ts.map +0 -1
- package/dist/context.js +0 -56
- package/dist/context.js.map +0 -1
- package/dist/docker-host.d.ts +0 -18
- package/dist/docker-host.d.ts.map +0 -1
- package/dist/docker-host.js +0 -17
- package/dist/docker-host.js.map +0 -1
- package/dist/exit-codes.d.ts +0 -67
- package/dist/exit-codes.d.ts.map +0 -1
- package/dist/exit-codes.js +0 -67
- package/dist/exit-codes.js.map +0 -1
- package/dist/from-manifest.d.ts +0 -53
- package/dist/from-manifest.d.ts.map +0 -1
- package/dist/from-manifest.js +0 -95
- package/dist/from-manifest.js.map +0 -1
- package/dist/image-presence.d.ts +0 -40
- package/dist/image-presence.d.ts.map +0 -1
- package/dist/image-presence.js +0 -39
- package/dist/image-presence.js.map +0 -1
- package/dist/index.d.ts +0 -9
- package/dist/index.d.ts.map +0 -1
- package/dist/install-root.d.ts +0 -74
- package/dist/install-root.d.ts.map +0 -1
- package/dist/install-root.js +0 -98
- package/dist/install-root.js.map +0 -1
- package/dist/lib/anthropic-base-url-file.d.ts +0 -37
- package/dist/lib/anthropic-base-url-file.d.ts.map +0 -1
- package/dist/lib/anthropic-base-url-file.js +0 -46
- package/dist/lib/anthropic-base-url-file.js.map +0 -1
- package/dist/lib/auth-backend.d.ts +0 -168
- package/dist/lib/auth-backend.d.ts.map +0 -1
- package/dist/lib/auth-backend.js +0 -172
- package/dist/lib/auth-backend.js.map +0 -1
- package/dist/lib/auth-list-cache.d.ts +0 -67
- package/dist/lib/auth-list-cache.d.ts.map +0 -1
- package/dist/lib/auth-list-cache.js +0 -84
- package/dist/lib/auth-list-cache.js.map +0 -1
- package/dist/lib/auth-list.d.ts +0 -107
- package/dist/lib/auth-list.d.ts.map +0 -1
- package/dist/lib/auth-list.js +0 -123
- package/dist/lib/auth-list.js.map +0 -1
- package/dist/lib/auth-login.d.ts +0 -92
- package/dist/lib/auth-login.d.ts.map +0 -1
- package/dist/lib/auth-login.js +0 -124
- package/dist/lib/auth-login.js.map +0 -1
- package/dist/lib/auth-mutator-backend.d.ts +0 -54
- package/dist/lib/auth-mutator-backend.d.ts.map +0 -1
- package/dist/lib/auth-mutator-backend.js +0 -62
- package/dist/lib/auth-mutator-backend.js.map +0 -1
- package/dist/lib/auth-refresh-kubernetes.d.ts +0 -65
- package/dist/lib/auth-refresh-kubernetes.d.ts.map +0 -1
- package/dist/lib/auth-refresh-kubernetes.js +0 -125
- package/dist/lib/auth-refresh-kubernetes.js.map +0 -1
- package/dist/lib/auth-remote.d.ts +0 -172
- package/dist/lib/auth-remote.d.ts.map +0 -1
- package/dist/lib/auth-remote.js +0 -394
- package/dist/lib/auth-remote.js.map +0 -1
- package/dist/lib/bootstrap-kubernetes.d.ts +0 -164
- package/dist/lib/bootstrap-kubernetes.d.ts.map +0 -1
- package/dist/lib/bootstrap-kubernetes.js +0 -1002
- package/dist/lib/bootstrap-kubernetes.js.map +0 -1
- package/dist/lib/build-if-stale.d.ts +0 -33
- package/dist/lib/build-if-stale.d.ts.map +0 -1
- package/dist/lib/build-if-stale.js +0 -156
- package/dist/lib/build-if-stale.js.map +0 -1
- package/dist/lib/bundle-freshness.d.ts +0 -57
- package/dist/lib/bundle-freshness.d.ts.map +0 -1
- package/dist/lib/bundle-freshness.js +0 -223
- package/dist/lib/bundle-freshness.js.map +0 -1
- package/dist/lib/bundle-source.d.ts +0 -52
- package/dist/lib/bundle-source.d.ts.map +0 -1
- package/dist/lib/bundle-source.js +0 -83
- package/dist/lib/bundle-source.js.map +0 -1
- package/dist/lib/cf-access-token.d.ts +0 -32
- package/dist/lib/cf-access-token.d.ts.map +0 -1
- package/dist/lib/cf-access-token.js +0 -51
- package/dist/lib/cf-access-token.js.map +0 -1
- package/dist/lib/completion-generator.d.ts +0 -107
- package/dist/lib/completion-generator.d.ts.map +0 -1
- package/dist/lib/completion-generator.js +0 -226
- package/dist/lib/completion-generator.js.map +0 -1
- package/dist/lib/config.d.ts +0 -114
- package/dist/lib/config.d.ts.map +0 -1
- package/dist/lib/config.js +0 -246
- package/dist/lib/config.js.map +0 -1
- package/dist/lib/flywheel-probes.d.ts +0 -58
- package/dist/lib/flywheel-probes.d.ts.map +0 -1
- package/dist/lib/flywheel-probes.js +0 -163
- package/dist/lib/flywheel-probes.js.map +0 -1
- package/dist/lib/health-probes.d.ts +0 -267
- package/dist/lib/health-probes.d.ts.map +0 -1
- package/dist/lib/health-probes.js +0 -933
- package/dist/lib/health-probes.js.map +0 -1
- package/dist/lib/help-groups.d.ts +0 -36
- package/dist/lib/help-groups.d.ts.map +0 -1
- package/dist/lib/help-groups.js +0 -124
- package/dist/lib/help-groups.js.map +0 -1
- package/dist/lib/host-side-proxy.d.ts +0 -67
- package/dist/lib/host-side-proxy.d.ts.map +0 -1
- package/dist/lib/host-side-proxy.js +0 -177
- package/dist/lib/host-side-proxy.js.map +0 -1
- package/dist/lib/instrumentation.d.ts +0 -85
- package/dist/lib/instrumentation.d.ts.map +0 -1
- package/dist/lib/instrumentation.js +0 -104
- package/dist/lib/instrumentation.js.map +0 -1
- package/dist/lib/k8s-bootstrap.d.ts +0 -126
- package/dist/lib/k8s-bootstrap.d.ts.map +0 -1
- package/dist/lib/k8s-bootstrap.js +0 -218
- package/dist/lib/k8s-bootstrap.js.map +0 -1
- package/dist/lib/k8s-context-discovery.d.ts +0 -80
- package/dist/lib/k8s-context-discovery.d.ts.map +0 -1
- package/dist/lib/k8s-context-discovery.js +0 -102
- package/dist/lib/k8s-context-discovery.js.map +0 -1
- package/dist/lib/k8s-secret-render.d.ts +0 -141
- package/dist/lib/k8s-secret-render.d.ts.map +0 -1
- package/dist/lib/k8s-secret-render.js +0 -318
- package/dist/lib/k8s-secret-render.js.map +0 -1
- package/dist/lib/kg-caps.d.ts +0 -19
- package/dist/lib/kg-caps.d.ts.map +0 -1
- package/dist/lib/kg-caps.js +0 -19
- package/dist/lib/kg-caps.js.map +0 -1
- package/dist/lib/kubectl-context.d.ts +0 -87
- package/dist/lib/kubectl-context.d.ts.map +0 -1
- package/dist/lib/kubectl-context.js +0 -105
- package/dist/lib/kubectl-context.js.map +0 -1
- package/dist/lib/kubectl-wrap.d.ts +0 -65
- package/dist/lib/kubectl-wrap.d.ts.map +0 -1
- package/dist/lib/kubectl-wrap.js +0 -135
- package/dist/lib/kubectl-wrap.js.map +0 -1
- package/dist/lib/manifest-refresh.d.ts +0 -136
- package/dist/lib/manifest-refresh.d.ts.map +0 -1
- package/dist/lib/manifest-refresh.js +0 -298
- package/dist/lib/manifest-refresh.js.map +0 -1
- package/dist/lib/memory-host-process-migration.d.ts +0 -56
- package/dist/lib/memory-host-process-migration.d.ts.map +0 -1
- package/dist/lib/memory-host-process-migration.js +0 -156
- package/dist/lib/memory-host-process-migration.js.map +0 -1
- package/dist/lib/memory-secret.d.ts +0 -83
- package/dist/lib/memory-secret.d.ts.map +0 -1
- package/dist/lib/memory-secret.js +0 -147
- package/dist/lib/memory-secret.js.map +0 -1
- package/dist/lib/peripheral-registry.d.ts +0 -53
- package/dist/lib/peripheral-registry.d.ts.map +0 -1
- package/dist/lib/peripheral-registry.js +0 -73
- package/dist/lib/peripheral-registry.js.map +0 -1
- package/dist/lib/plans-client.d.ts +0 -69
- package/dist/lib/plans-client.d.ts.map +0 -1
- package/dist/lib/plans-client.js +0 -140
- package/dist/lib/plans-client.js.map +0 -1
- package/dist/lib/port-forward.d.ts +0 -168
- package/dist/lib/port-forward.d.ts.map +0 -1
- package/dist/lib/port-forward.js +0 -393
- package/dist/lib/port-forward.js.map +0 -1
- package/dist/lib/shell-rc.d.ts +0 -90
- package/dist/lib/shell-rc.d.ts.map +0 -1
- package/dist/lib/shell-rc.js +0 -91
- package/dist/lib/shell-rc.js.map +0 -1
- package/dist/lib/shim-generator.d.ts +0 -51
- package/dist/lib/shim-generator.d.ts.map +0 -1
- package/dist/lib/shim-generator.js +0 -88
- package/dist/lib/shim-generator.js.map +0 -1
- package/dist/lib/skills-apply-overlays.d.ts +0 -35
- package/dist/lib/skills-apply-overlays.d.ts.map +0 -1
- package/dist/lib/skills-apply-overlays.js +0 -243
- package/dist/lib/skills-apply-overlays.js.map +0 -1
- package/dist/lib/symlink-reconcile.d.ts +0 -32
- package/dist/lib/symlink-reconcile.d.ts.map +0 -1
- package/dist/lib/symlink-reconcile.js +0 -80
- package/dist/lib/symlink-reconcile.js.map +0 -1
- package/dist/lib/upgrade-check.d.ts +0 -60
- package/dist/lib/upgrade-check.d.ts.map +0 -1
- package/dist/lib/upgrade-check.js +0 -169
- package/dist/lib/upgrade-check.js.map +0 -1
- package/dist/lib/upgrade-kubernetes.d.ts +0 -193
- package/dist/lib/upgrade-kubernetes.d.ts.map +0 -1
- package/dist/lib/upgrade-kubernetes.js +0 -1014
- package/dist/lib/upgrade-kubernetes.js.map +0 -1
- package/dist/lib/world-mcp-register.d.ts +0 -98
- package/dist/lib/world-mcp-register.d.ts.map +0 -1
- package/dist/lib/world-mcp-register.js +0 -117
- package/dist/lib/world-mcp-register.js.map +0 -1
- package/dist/output.d.ts +0 -10
- package/dist/output.d.ts.map +0 -1
- package/dist/output.js +0 -31
- package/dist/output.js.map +0 -1
- package/dist/pleri-config.d.ts +0 -22
- package/dist/pleri-config.d.ts.map +0 -1
- package/dist/pleri-config.js +0 -42
- package/dist/pleri-config.js.map +0 -1
- package/dist/protocol-version.d.ts +0 -79
- package/dist/protocol-version.d.ts.map +0 -1
- package/dist/protocol-version.js +0 -133
- package/dist/protocol-version.js.map +0 -1
- package/dist/registry-allowlist.d.ts +0 -47
- package/dist/registry-allowlist.d.ts.map +0 -1
- package/dist/registry-allowlist.js +0 -67
- package/dist/registry-allowlist.js.map +0 -1
- package/dist/spawn/home-override.d.ts +0 -82
- package/dist/spawn/home-override.d.ts.map +0 -1
- package/dist/spawn/home-override.js +0 -107
- package/dist/spawn/home-override.js.map +0 -1
- package/host-cp/src/linear-sync.mjs +0 -43
|
@@ -1,64 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* `olam flywheel diversity-check` — cross-persona Jaccard similarity CLI.
|
|
3
|
-
*
|
|
4
|
-
* Reads persona-prompt files from a glob; computes pairwise Jaccard; reports
|
|
5
|
-
* pairs exceeding the threshold (default 0.7). Used by /100x:learn write-path
|
|
6
|
-
* to detect silent convergence collapse across K1 personas.
|
|
7
|
-
*
|
|
8
|
-
* Exit codes:
|
|
9
|
-
* 0 = no convergence (all pairs below threshold)
|
|
10
|
-
* 1 = convergence detected (one or more pairs above threshold)
|
|
11
|
-
* 2 = unexpected error (no matching files / read failure)
|
|
12
|
-
*
|
|
13
|
-
* Plan reference: docs/plans/olam-flywheel-cli-namespace/phase-a-tasks.md § A8
|
|
14
|
-
*/
|
|
15
|
-
import { readFileSync } from 'node:fs';
|
|
16
|
-
import { basename } from 'node:path';
|
|
17
|
-
import { globSync } from 'node:fs';
|
|
18
|
-
import { crossPersonaCheck, formatRedivergencePrompt, DIVERSITY_THRESHOLD, } from '@olam/core/src/lib/diversity-check.js';
|
|
19
|
-
export function registerFlywheelDiversityCheck(parent) {
|
|
20
|
-
parent
|
|
21
|
-
.command('diversity-check')
|
|
22
|
-
.description('Cross-persona Jaccard similarity guard — flag persona pairs above threshold')
|
|
23
|
-
.requiredOption('--glob <pattern>', 'glob pattern matching persona-prompt files')
|
|
24
|
-
.option('--threshold <0.0-1.0>', 'Jaccard threshold (default 0.7)')
|
|
25
|
-
.option('--json', 'emit findings as JSON instead of human-readable')
|
|
26
|
-
.action((opts) => {
|
|
27
|
-
const threshold = opts.threshold !== undefined ? Number.parseFloat(opts.threshold) : DIVERSITY_THRESHOLD;
|
|
28
|
-
if (!Number.isFinite(threshold) || threshold < 0 || threshold > 1) {
|
|
29
|
-
process.stderr.write(`[diversity-check-reject] --threshold must be 0.0-1.0; got ${JSON.stringify(opts.threshold)}\n`);
|
|
30
|
-
process.exit(2);
|
|
31
|
-
}
|
|
32
|
-
// Use Node 22+'s native glob (no extra dep).
|
|
33
|
-
const files = globSync(opts.glob);
|
|
34
|
-
if (files.length === 0) {
|
|
35
|
-
process.stderr.write(`[diversity-check-reject] no files matched glob: ${opts.glob}\n`);
|
|
36
|
-
process.exit(2);
|
|
37
|
-
}
|
|
38
|
-
const personas = new Map();
|
|
39
|
-
for (const filepath of files) {
|
|
40
|
-
try {
|
|
41
|
-
const body = readFileSync(filepath, 'utf8');
|
|
42
|
-
if (body.trim().length > 0) {
|
|
43
|
-
personas.set(basename(filepath, '.md'), body);
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
catch (err) {
|
|
47
|
-
process.stderr.write(`[diversity-check-error] cannot read ${filepath}: ${err instanceof Error ? err.message : 'unknown'}\n`);
|
|
48
|
-
process.exit(2);
|
|
49
|
-
}
|
|
50
|
-
}
|
|
51
|
-
const flagged = crossPersonaCheck(personas, threshold);
|
|
52
|
-
if (opts.json) {
|
|
53
|
-
process.stdout.write(JSON.stringify({ threshold, persona_count: personas.size, flagged }) + '\n');
|
|
54
|
-
}
|
|
55
|
-
else {
|
|
56
|
-
process.stdout.write(`[diversity-check] ${personas.size} personas; threshold ${threshold}; ${flagged.length} pair(s) over threshold\n`);
|
|
57
|
-
for (const { persona_a, persona_b, score } of flagged) {
|
|
58
|
-
process.stdout.write(`\n${formatRedivergencePrompt(persona_a, persona_b, score, undefined, undefined, threshold)}\n`);
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
process.exit(flagged.length > 0 ? 1 : 0);
|
|
62
|
-
});
|
|
63
|
-
}
|
|
64
|
-
//# sourceMappingURL=diversity-check.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"diversity-check.js","sourceRoot":"","sources":["../../../src/commands/flywheel/diversity-check.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* `olam flywheel emit-breadcrumb` — K7 breadcrumb emitter (D24/D27/D28 compliant).
|
|
3
|
-
*
|
|
4
|
-
* Port of `shared/engineering/scripts/emit-breadcrumb.py`. Matches the same record
|
|
5
|
-
* schema, exit codes, and stdout message format. Adds `fcntl.flock`-equivalent
|
|
6
|
-
* cross-process locking via `withFileLock` from `@olam/core/lib/file-lock` —
|
|
7
|
-
* closes K1 adversarial finding #1 (the parallel K7 write corruption scenario
|
|
8
|
-
* where two concurrent personas writing >4KB payloads interleave bytes).
|
|
9
|
-
*
|
|
10
|
-
* Lock semantics: per-target-directory advisory lock. Lock file is
|
|
11
|
-
* `<breadcrumb-dir>/.flywheel-emit.lock` (distinct filename from skill-sync's
|
|
12
|
-
* `.olam-sync.lock` so the two domains don't collide if their lock-dirs ever
|
|
13
|
-
* overlap).
|
|
14
|
-
*
|
|
15
|
-
* Plan reference: docs/plans/olam-flywheel-cli-namespace/phase-a-tasks.md § A3
|
|
16
|
-
* Closes: K1 pass-1 adversarial finding FS-1 (P1/likely/risk-3.0).
|
|
17
|
-
*/
|
|
18
|
-
import type { Command } from 'commander';
|
|
19
|
-
export declare function registerFlywheelEmitBreadcrumb(parent: Command): void;
|
|
20
|
-
//# sourceMappingURL=emit-breadcrumb.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"emit-breadcrumb.d.ts","sourceRoot":"","sources":["../../../src/commands/flywheel/emit-breadcrumb.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAMH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAiJzC,wBAAgB,8BAA8B,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI,CA6BpE"}
|
|
@@ -1,137 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* `olam flywheel emit-breadcrumb` — K7 breadcrumb emitter (D24/D27/D28 compliant).
|
|
3
|
-
*
|
|
4
|
-
* Port of `shared/engineering/scripts/emit-breadcrumb.py`. Matches the same record
|
|
5
|
-
* schema, exit codes, and stdout message format. Adds `fcntl.flock`-equivalent
|
|
6
|
-
* cross-process locking via `withFileLock` from `@olam/core/lib/file-lock` —
|
|
7
|
-
* closes K1 adversarial finding #1 (the parallel K7 write corruption scenario
|
|
8
|
-
* where two concurrent personas writing >4KB payloads interleave bytes).
|
|
9
|
-
*
|
|
10
|
-
* Lock semantics: per-target-directory advisory lock. Lock file is
|
|
11
|
-
* `<breadcrumb-dir>/.flywheel-emit.lock` (distinct filename from skill-sync's
|
|
12
|
-
* `.olam-sync.lock` so the two domains don't collide if their lock-dirs ever
|
|
13
|
-
* overlap).
|
|
14
|
-
*
|
|
15
|
-
* Plan reference: docs/plans/olam-flywheel-cli-namespace/phase-a-tasks.md § A3
|
|
16
|
-
* Closes: K1 pass-1 adversarial finding FS-1 (P1/likely/risk-3.0).
|
|
17
|
-
*/
|
|
18
|
-
import { mkdirSync, appendFileSync } from 'node:fs';
|
|
19
|
-
import { homedir } from 'node:os';
|
|
20
|
-
import { dirname, join } from 'node:path';
|
|
21
|
-
import { randomUUID } from 'node:crypto';
|
|
22
|
-
import { withFileLock } from '@olam/core/src/lib/file-lock.js';
|
|
23
|
-
const VALID_SEVERITIES = new Set(['critical', 'high', 'medium', 'low', 'info', 'warn']);
|
|
24
|
-
const PROMPT_FEEDING_FIELDS = ['extracted_pattern', 'severity', 'affected_persona', 'proposed_edit'];
|
|
25
|
-
const BREADCRUMBS_BASE = join(homedir(), '.local', 'share', 'claude', 'breadcrumbs');
|
|
26
|
-
const LOCK_FILENAME = '.flywheel-emit.lock';
|
|
27
|
-
function buildRecord(opts) {
|
|
28
|
-
const rec = {
|
|
29
|
-
breadcrumb_id: randomUUID().replace(/-/g, ''),
|
|
30
|
-
emitted_at: new Date().toISOString(),
|
|
31
|
-
emitted_by_skill: opts.skill,
|
|
32
|
-
pass_number: opts.pass !== undefined ? Number.parseInt(opts.pass, 10) : 0,
|
|
33
|
-
plan_slug: opts.plan,
|
|
34
|
-
project_slug: opts.project ?? 'claude-skills',
|
|
35
|
-
extracted_pattern: opts.pattern,
|
|
36
|
-
severity: opts.severity,
|
|
37
|
-
affected_persona: opts.persona,
|
|
38
|
-
proposed_edit: opts.edit,
|
|
39
|
-
notes: opts.notes ?? '',
|
|
40
|
-
raw_body: opts.rawBody ?? '',
|
|
41
|
-
attribution: opts.attribution ?? '',
|
|
42
|
-
schema_version: '1',
|
|
43
|
-
};
|
|
44
|
-
// K5 fields: present-only-when-supplied. Use key absence to distinguish "not scored"
|
|
45
|
-
// from "scored zero" (K4 readers depend on this).
|
|
46
|
-
if (opts.k5ScoresJson !== undefined) {
|
|
47
|
-
try {
|
|
48
|
-
rec.k5_scores = JSON.parse(opts.k5ScoresJson);
|
|
49
|
-
}
|
|
50
|
-
catch (err) {
|
|
51
|
-
process.stderr.write(`[K7-reject] --k5-scores-json is not valid JSON: ${err instanceof Error ? err.message : 'unknown'}\n`);
|
|
52
|
-
process.exit(2);
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
if (opts.k5Boost !== undefined)
|
|
56
|
-
rec.k5_boost = Number.parseFloat(opts.k5Boost);
|
|
57
|
-
if (opts.k5Composite !== undefined)
|
|
58
|
-
rec.k5_composite = Number.parseInt(opts.k5Composite, 10);
|
|
59
|
-
if (opts.k5ScoredAt !== undefined)
|
|
60
|
-
rec.k5_scored_at = opts.k5ScoredAt;
|
|
61
|
-
return rec;
|
|
62
|
-
}
|
|
63
|
-
function validatePromptFeeding(rec) {
|
|
64
|
-
const missing = [];
|
|
65
|
-
for (const field of PROMPT_FEEDING_FIELDS) {
|
|
66
|
-
const val = rec[field];
|
|
67
|
-
if (val === undefined || val === null || (typeof val === 'string' && val.trim() === '')) {
|
|
68
|
-
missing.push(field);
|
|
69
|
-
}
|
|
70
|
-
}
|
|
71
|
-
return missing;
|
|
72
|
-
}
|
|
73
|
-
function destPath(projectSlug) {
|
|
74
|
-
const today = new Date().toISOString().slice(0, 10); // UTC YYYY-MM-DD
|
|
75
|
-
return join(BREADCRUMBS_BASE, projectSlug, `${today}.jsonl`);
|
|
76
|
-
}
|
|
77
|
-
async function emitBreadcrumb(opts) {
|
|
78
|
-
if (!VALID_SEVERITIES.has(opts.severity)) {
|
|
79
|
-
process.stderr.write(`[K7-reject] invalid severity '${opts.severity}'; expected one of: ${Array.from(VALID_SEVERITIES).sort().join(', ')}\n`);
|
|
80
|
-
process.exit(2);
|
|
81
|
-
}
|
|
82
|
-
const rec = buildRecord(opts);
|
|
83
|
-
const missing = validatePromptFeeding(rec);
|
|
84
|
-
if (missing.length > 0) {
|
|
85
|
-
process.stderr.write(`[K7-reject] missing or empty prompt-feeding fields: ${JSON.stringify(missing.sort())}\n`);
|
|
86
|
-
process.exit(2);
|
|
87
|
-
}
|
|
88
|
-
const path = destPath(rec.project_slug);
|
|
89
|
-
const lockDir = dirname(path);
|
|
90
|
-
mkdirSync(lockDir, { recursive: true });
|
|
91
|
-
// withFileLock serializes concurrent emitters writing to the same project/date
|
|
92
|
-
// file. POSIX O_APPEND is only atomic for payloads ≤PIPE_BUF (~4KB); large
|
|
93
|
-
// raw_body fields would interleave without this. K1 epic dispatch (11 parallel
|
|
94
|
-
// personas) is exactly the case the original Python script's comment flagged
|
|
95
|
-
// as "add fcntl.flock if parallel emitters exist".
|
|
96
|
-
const line = JSON.stringify(rec) + '\n';
|
|
97
|
-
await withFileLock(lockDir, () => {
|
|
98
|
-
appendFileSync(path, line, 'utf8');
|
|
99
|
-
}, {
|
|
100
|
-
lockFilename: LOCK_FILENAME,
|
|
101
|
-
reason: `flywheel emit-breadcrumb skill=${opts.skill} plan=${opts.plan}`,
|
|
102
|
-
// Tight timeout — breadcrumb writes are <100ms; long backoff is a sign
|
|
103
|
-
// of pathology, not contention. 5s gives 200 retries at 25ms each.
|
|
104
|
-
acquireTimeoutMs: 5_000,
|
|
105
|
-
});
|
|
106
|
-
process.stdout.write(`[K7-emit] ${path}: ${rec.extracted_pattern} (${rec.severity})\n`);
|
|
107
|
-
}
|
|
108
|
-
export function registerFlywheelEmitBreadcrumb(parent) {
|
|
109
|
-
parent
|
|
110
|
-
.command('emit-breadcrumb')
|
|
111
|
-
.description('Append a K7 breadcrumb JSONL row (parallel-safe via withFileLock)')
|
|
112
|
-
.requiredOption('--skill <slug>', 'Chain skill slug (e.g. plan-hard)')
|
|
113
|
-
.requiredOption('--plan <slug>', 'Plan slug (e.g. olam-flywheel-cli-namespace)')
|
|
114
|
-
.requiredOption('--pattern <name>', 'Pattern name (concise slug-like label)')
|
|
115
|
-
.requiredOption('--severity <level>', 'Severity: critical | high | medium | low | info | warn')
|
|
116
|
-
.requiredOption('--persona <slug>', "Affected persona slug or 'chain'")
|
|
117
|
-
.requiredOption('--edit <text>', 'Structured patch description')
|
|
118
|
-
.option('--notes <text>', 'Free-form operator notes (display-only)')
|
|
119
|
-
.option('--pass <int>', 'Pass number (display-only)')
|
|
120
|
-
.option('--project <slug>', 'Project slug', 'claude-skills')
|
|
121
|
-
.option('--raw-body <text>', 'Free-form markdown context (display-only)')
|
|
122
|
-
.option('--attribution <text>', 'Source attribution (display-only)')
|
|
123
|
-
.option('--k5-scores-json <json>', 'K5 sub-scores as JSON (display-only; omitted if not supplied)')
|
|
124
|
-
.option('--k5-boost <float>', 'K5 boost multiplier (display-only; omitted if not supplied)')
|
|
125
|
-
.option('--k5-composite <int>', 'K5 composite score (display-only; omitted if not supplied)')
|
|
126
|
-
.option('--k5-scored-at <date>', 'ISO date of most recent K5 scoring pass')
|
|
127
|
-
.action(async (opts) => {
|
|
128
|
-
try {
|
|
129
|
-
await emitBreadcrumb(opts);
|
|
130
|
-
}
|
|
131
|
-
catch (err) {
|
|
132
|
-
process.stderr.write(`[K7-error] emit-breadcrumb failed: ${err instanceof Error ? err.message : 'unknown error'}\n`);
|
|
133
|
-
process.exit(1);
|
|
134
|
-
}
|
|
135
|
-
});
|
|
136
|
-
}
|
|
137
|
-
//# sourceMappingURL=emit-breadcrumb.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"emit-breadcrumb.js","sourceRoot":"","sources":["../../../src/commands/flywheel/emit-breadcrumb.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* olam flywheel — chain-runtime helpers.
|
|
3
|
-
*
|
|
4
|
-
* Migrates atlas-toolbox's `shared/engineering/scripts/` chain-runtime scripts
|
|
5
|
-
* (breadcrumb emission, K5/K10 scoring, persona sanitization, skeleton
|
|
6
|
-
* validation, diversity aggregation, shim installation) into olam under a
|
|
7
|
-
* nested CLI namespace.
|
|
8
|
-
*
|
|
9
|
-
* Follows the existing nested-namespace convention established by
|
|
10
|
-
* `olam kg`, `olam memory`, `olam mcp`, `olam worldspec`.
|
|
11
|
-
*
|
|
12
|
-
* Subcommands:
|
|
13
|
-
* emit-breadcrumb — write K7 breadcrumb (with flock for parallel-safe writes)
|
|
14
|
-
* k5-score — compute K5 composite + boost from sub-scores
|
|
15
|
-
* k5-validate — schema-check a plan's frontmatter k5_scores block
|
|
16
|
-
* k10-measure — compute K1 budget ratio from plan + persona output
|
|
17
|
-
* sanitize-persona-output — stdin→stdout pipe; reject header-injection / slug-mismatch
|
|
18
|
-
* check-persona-skeleton — validate persona agent file structure
|
|
19
|
-
* diversity-check — cross-plan breadcrumb diversity aggregator
|
|
20
|
-
* ping — no-op cold-start telemetry surface
|
|
21
|
-
* install-shims — write delegating shims to ~/.claude/scripts/<name>
|
|
22
|
-
*
|
|
23
|
-
* Plan reference: docs/plans/olam-flywheel-cli-namespace/README.md
|
|
24
|
-
*/
|
|
25
|
-
import type { Command } from 'commander';
|
|
26
|
-
export declare function registerFlywheel(program: Command): void;
|
|
27
|
-
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/flywheel/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAczC,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAiBvD"}
|
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* olam flywheel — chain-runtime helpers.
|
|
3
|
-
*
|
|
4
|
-
* Migrates atlas-toolbox's `shared/engineering/scripts/` chain-runtime scripts
|
|
5
|
-
* (breadcrumb emission, K5/K10 scoring, persona sanitization, skeleton
|
|
6
|
-
* validation, diversity aggregation, shim installation) into olam under a
|
|
7
|
-
* nested CLI namespace.
|
|
8
|
-
*
|
|
9
|
-
* Follows the existing nested-namespace convention established by
|
|
10
|
-
* `olam kg`, `olam memory`, `olam mcp`, `olam worldspec`.
|
|
11
|
-
*
|
|
12
|
-
* Subcommands:
|
|
13
|
-
* emit-breadcrumb — write K7 breadcrumb (with flock for parallel-safe writes)
|
|
14
|
-
* k5-score — compute K5 composite + boost from sub-scores
|
|
15
|
-
* k5-validate — schema-check a plan's frontmatter k5_scores block
|
|
16
|
-
* k10-measure — compute K1 budget ratio from plan + persona output
|
|
17
|
-
* sanitize-persona-output — stdin→stdout pipe; reject header-injection / slug-mismatch
|
|
18
|
-
* check-persona-skeleton — validate persona agent file structure
|
|
19
|
-
* diversity-check — cross-plan breadcrumb diversity aggregator
|
|
20
|
-
* ping — no-op cold-start telemetry surface
|
|
21
|
-
* install-shims — write delegating shims to ~/.claude/scripts/<name>
|
|
22
|
-
*
|
|
23
|
-
* Plan reference: docs/plans/olam-flywheel-cli-namespace/README.md
|
|
24
|
-
*/
|
|
25
|
-
import { registerFlywheelEmitBreadcrumb } from './emit-breadcrumb.js';
|
|
26
|
-
import { registerFlywheelK5Score } from './k5-score.js';
|
|
27
|
-
import { registerFlywheelK5Validate } from './k5-validate.js';
|
|
28
|
-
import { registerFlywheelK10Measure } from './k10-measure.js';
|
|
29
|
-
import { registerFlywheelSanitizePersonaOutput } from './sanitize-persona-output.js';
|
|
30
|
-
import { registerFlywheelCheckPersonaSkeleton } from './check-persona-skeleton.js';
|
|
31
|
-
import { registerFlywheelDiversityCheck } from './diversity-check.js';
|
|
32
|
-
import { registerFlywheelPing } from './ping.js';
|
|
33
|
-
import { registerFlywheelInstallShims } from './install-shims.js';
|
|
34
|
-
import { registerFlywheelMigrateOverlays } from './migrate-overlays.js';
|
|
35
|
-
import { registerFlywheelSessionStart } from './session-start.js';
|
|
36
|
-
import { registerFlywheelInstallSessionStartHook } from './install-sessionstart-hook.js';
|
|
37
|
-
export function registerFlywheel(program) {
|
|
38
|
-
const flywheel = program
|
|
39
|
-
.command('flywheel')
|
|
40
|
-
.description('Chain-runtime helpers: breadcrumbs, K5/K10 scoring, persona ops, shims');
|
|
41
|
-
registerFlywheelEmitBreadcrumb(flywheel);
|
|
42
|
-
registerFlywheelK5Score(flywheel);
|
|
43
|
-
registerFlywheelK5Validate(flywheel);
|
|
44
|
-
registerFlywheelK10Measure(flywheel);
|
|
45
|
-
registerFlywheelSanitizePersonaOutput(flywheel);
|
|
46
|
-
registerFlywheelCheckPersonaSkeleton(flywheel);
|
|
47
|
-
registerFlywheelDiversityCheck(flywheel);
|
|
48
|
-
registerFlywheelPing(flywheel);
|
|
49
|
-
registerFlywheelInstallShims(flywheel);
|
|
50
|
-
registerFlywheelMigrateOverlays(flywheel);
|
|
51
|
-
registerFlywheelSessionStart(flywheel);
|
|
52
|
-
registerFlywheelInstallSessionStartHook(flywheel);
|
|
53
|
-
}
|
|
54
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/flywheel/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAGH,OAAO,EAAE,8BAA8B,EAAE,MAAM,sBAAsB,CAAC;AACtE,OAAO,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAC;AACxD,OAAO,EAAE,0BAA0B,EAAE,MAAM,kBAAkB,CAAC;AAC9D,OAAO,EAAE,0BAA0B,EAAE,MAAM,kBAAkB,CAAC;AAC9D,OAAO,EAAE,qCAAqC,EAAE,MAAM,8BAA8B,CAAC;AACrF,OAAO,EAAE,oCAAoC,EAAE,MAAM,6BAA6B,CAAC;AACnF,OAAO,EAAE,8BAA8B,EAAE,MAAM,sBAAsB,CAAC;AACtE,OAAO,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAC;AACjD,OAAO,EAAE,4BAA4B,EAAE,MAAM,oBAAoB,CAAC;AAClE,OAAO,EAAE,+BAA+B,EAAE,MAAM,uBAAuB,CAAC;AACxE,OAAO,EAAE,4BAA4B,EAAE,MAAM,oBAAoB,CAAC;AAClE,OAAO,EAAE,uCAAuC,EAAE,MAAM,gCAAgC,CAAC;AAEzF,MAAM,UAAU,gBAAgB,CAAC,OAAgB;IAC/C,MAAM,QAAQ,GAAG,OAAO;SACrB,OAAO,CAAC,UAAU,CAAC;SACnB,WAAW,CAAC,wEAAwE,CAAC,CAAC;IAEzF,8BAA8B,CAAC,QAAQ,CAAC,CAAC;IACzC,uBAAuB,CAAC,QAAQ,CAAC,CAAC;IAClC,0BAA0B,CAAC,QAAQ,CAAC,CAAC;IACrC,0BAA0B,CAAC,QAAQ,CAAC,CAAC;IACrC,qCAAqC,CAAC,QAAQ,CAAC,CAAC;IAChD,oCAAoC,CAAC,QAAQ,CAAC,CAAC;IAC/C,8BAA8B,CAAC,QAAQ,CAAC,CAAC;IACzC,oBAAoB,CAAC,QAAQ,CAAC,CAAC;IAC/B,4BAA4B,CAAC,QAAQ,CAAC,CAAC;IACvC,+BAA+B,CAAC,QAAQ,CAAC,CAAC;IAC1C,4BAA4B,CAAC,QAAQ,CAAC,CAAC;IACvC,uCAAuC,CAAC,QAAQ,CAAC,CAAC;AACpD,CAAC"}
|
|
@@ -1,64 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* `olam flywheel install-sessionstart-hook [--scope project|user] [--uninstall]`
|
|
3
|
-
*
|
|
4
|
-
* Wires `olam flywheel session-start` into `<scope>/.claude/settings.json`
|
|
5
|
-
* hooks.SessionStart so Claude Code injects operator-state context (active
|
|
6
|
-
* workspace + active world + most-recent wake-brief) before the first user
|
|
7
|
-
* prompt. The 4th defense layer in Olam's hook chain (FF / PreToolUse /
|
|
8
|
-
* PostToolUse / Stop).
|
|
9
|
-
*
|
|
10
|
-
* Coexists with the existing skills-sync SessionStart hook
|
|
11
|
-
* (sentinel `olam-skills-sync-hook-v1`). Both entries sit side-by-side in
|
|
12
|
-
* the SessionStart array; Claude Code runs each matcher in order and merges
|
|
13
|
-
* their `additionalContext` outputs into the first turn's system prompt.
|
|
14
|
-
*
|
|
15
|
-
* Idempotent: re-running over an existing install is a no-op (sentinel match
|
|
16
|
-
* via `mergeHomeSettingsJson`).
|
|
17
|
-
*
|
|
18
|
-
* Pairs with: `docs/runbooks/install-sessionstart-hook.md`,
|
|
19
|
-
* `docs/decisions/051-sessionstart-hook-4th-defense.md`.
|
|
20
|
-
*/
|
|
21
|
-
import type { Command } from 'commander';
|
|
22
|
-
export declare const SESSIONSTART_HOOK_STAGE = "SessionStart";
|
|
23
|
-
export declare const SESSIONSTART_HOOK_TIMEOUT_MS = 5000;
|
|
24
|
-
interface SessionStartHookMatcher {
|
|
25
|
-
readonly matcher: string;
|
|
26
|
-
readonly hooks: ReadonlyArray<{
|
|
27
|
-
readonly type: 'command';
|
|
28
|
-
readonly command: string;
|
|
29
|
-
readonly timeout: number;
|
|
30
|
-
}>;
|
|
31
|
-
}
|
|
32
|
-
/**
|
|
33
|
-
* Build the matcher-entry object that lands under hooks.SessionStart in
|
|
34
|
-
* .claude/settings.json. Embeds the sentinel as a leading no-op shell
|
|
35
|
-
* assignment so `command.includes(sentinel)` works for idempotent install +
|
|
36
|
-
* surgical uninstall, then guards against uninstalled-olam to keep the hook
|
|
37
|
-
* silent when the CLI is missing (audited by `audit:hook-guards`).
|
|
38
|
-
*/
|
|
39
|
-
export declare function buildSessionStartHookEntry(): SessionStartHookMatcher;
|
|
40
|
-
export interface InstallResult {
|
|
41
|
-
readonly status: 'installed' | 'already-present' | 'no-op';
|
|
42
|
-
readonly filePath: string;
|
|
43
|
-
readonly backupPath: string | null;
|
|
44
|
-
}
|
|
45
|
-
/**
|
|
46
|
-
* Install (idempotent) — programmatic API for both the CLI action and tests.
|
|
47
|
-
* Creates parent dir if needed; backs up an existing settings.json before
|
|
48
|
-
* writing (auto-deletes the backup when the install is a no-op).
|
|
49
|
-
*/
|
|
50
|
-
export declare function installSessionStartHook(filePath: string): InstallResult;
|
|
51
|
-
export interface UninstallResult {
|
|
52
|
-
readonly status: 'removed' | 'not-found' | 'no-settings';
|
|
53
|
-
readonly filePath: string;
|
|
54
|
-
}
|
|
55
|
-
/**
|
|
56
|
-
* Uninstall (surgical) — walks hooks.SessionStart, drops inner entries whose
|
|
57
|
-
* command contains the sentinel, drops the outer matcher when its hooks
|
|
58
|
-
* array becomes empty. Other SessionStart entries (e.g. the skills-sync
|
|
59
|
-
* hook) are preserved verbatim.
|
|
60
|
-
*/
|
|
61
|
-
export declare function uninstallSessionStartHook(filePath: string): UninstallResult;
|
|
62
|
-
export declare function registerFlywheelInstallSessionStartHook(parent: Command): void;
|
|
63
|
-
export {};
|
|
64
|
-
//# sourceMappingURL=install-sessionstart-hook.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"install-sessionstart-hook.d.ts","sourceRoot":"","sources":["../../../src/commands/flywheel/install-sessionstart-hook.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAKH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAKzC,eAAO,MAAM,uBAAuB,iBAAiB,CAAC;AACtD,eAAO,MAAM,4BAA4B,OAAO,CAAC;AAIjD,UAAU,uBAAuB;IAC/B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC;QAC5B,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;QACzB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;QACzB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;KAC1B,CAAC,CAAC;CACJ;AAED;;;;;;GAMG;AACH,wBAAgB,0BAA0B,IAAI,uBAAuB,CAWpE;AAsBD,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,MAAM,EAAE,WAAW,GAAG,iBAAiB,GAAG,OAAO,CAAC;IAC3D,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;CACpC;AAED;;;;GAIG;AACH,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,MAAM,GAAG,aAAa,CAsBvE;AAOD,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,MAAM,EAAE,SAAS,GAAG,WAAW,GAAG,aAAa,CAAC;IACzD,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B;AAED;;;;;GAKG;AACH,wBAAgB,yBAAyB,CAAC,QAAQ,EAAE,MAAM,GAAG,eAAe,CAiD3E;AAED,wBAAgB,uCAAuC,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI,CAsD7E"}
|
|
@@ -1,197 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* `olam flywheel install-sessionstart-hook [--scope project|user] [--uninstall]`
|
|
3
|
-
*
|
|
4
|
-
* Wires `olam flywheel session-start` into `<scope>/.claude/settings.json`
|
|
5
|
-
* hooks.SessionStart so Claude Code injects operator-state context (active
|
|
6
|
-
* workspace + active world + most-recent wake-brief) before the first user
|
|
7
|
-
* prompt. The 4th defense layer in Olam's hook chain (FF / PreToolUse /
|
|
8
|
-
* PostToolUse / Stop).
|
|
9
|
-
*
|
|
10
|
-
* Coexists with the existing skills-sync SessionStart hook
|
|
11
|
-
* (sentinel `olam-skills-sync-hook-v1`). Both entries sit side-by-side in
|
|
12
|
-
* the SessionStart array; Claude Code runs each matcher in order and merges
|
|
13
|
-
* their `additionalContext` outputs into the first turn's system prompt.
|
|
14
|
-
*
|
|
15
|
-
* Idempotent: re-running over an existing install is a no-op (sentinel match
|
|
16
|
-
* via `mergeHomeSettingsJson`).
|
|
17
|
-
*
|
|
18
|
-
* Pairs with: `docs/runbooks/install-sessionstart-hook.md`,
|
|
19
|
-
* `docs/decisions/051-sessionstart-hook-4th-defense.md`.
|
|
20
|
-
*/
|
|
21
|
-
import { existsSync, copyFileSync, mkdirSync, readFileSync, unlinkSync, writeFileSync } from 'node:fs';
|
|
22
|
-
import { homedir } from 'node:os';
|
|
23
|
-
import { dirname, join } from 'node:path';
|
|
24
|
-
import { mergeHomeSettingsJson } from '@olam/core/src/world/merge-settings.js';
|
|
25
|
-
import { printError, printInfo, printSuccess, printWarning } from '../../output.js';
|
|
26
|
-
import { SESSIONSTART_HOOK_SENTINEL } from './session-start.js';
|
|
27
|
-
export const SESSIONSTART_HOOK_STAGE = 'SessionStart';
|
|
28
|
-
export const SESSIONSTART_HOOK_TIMEOUT_MS = 5000;
|
|
29
|
-
const NOOP_GUARD = 'command -v olam >/dev/null 2>&1 || exit 0;';
|
|
30
|
-
/**
|
|
31
|
-
* Build the matcher-entry object that lands under hooks.SessionStart in
|
|
32
|
-
* .claude/settings.json. Embeds the sentinel as a leading no-op shell
|
|
33
|
-
* assignment so `command.includes(sentinel)` works for idempotent install +
|
|
34
|
-
* surgical uninstall, then guards against uninstalled-olam to keep the hook
|
|
35
|
-
* silent when the CLI is missing (audited by `audit:hook-guards`).
|
|
36
|
-
*/
|
|
37
|
-
export function buildSessionStartHookEntry() {
|
|
38
|
-
return {
|
|
39
|
-
matcher: '',
|
|
40
|
-
hooks: [
|
|
41
|
-
{
|
|
42
|
-
type: 'command',
|
|
43
|
-
command: `OLAM_SESSIONSTART_SENTINEL=${SESSIONSTART_HOOK_SENTINEL}; ${NOOP_GUARD} olam flywheel session-start`,
|
|
44
|
-
timeout: SESSIONSTART_HOOK_TIMEOUT_MS,
|
|
45
|
-
},
|
|
46
|
-
],
|
|
47
|
-
};
|
|
48
|
-
}
|
|
49
|
-
function settingsPathFor(scope, cwd) {
|
|
50
|
-
if (scope === 'user')
|
|
51
|
-
return join(homedir(), '.claude', 'settings.json');
|
|
52
|
-
return join(cwd ?? process.cwd(), '.claude', 'settings.json');
|
|
53
|
-
}
|
|
54
|
-
function backup(filePath) {
|
|
55
|
-
if (!existsSync(filePath))
|
|
56
|
-
return null;
|
|
57
|
-
const ts = new Date().toISOString().replace(/[:.]/g, '-');
|
|
58
|
-
const backupPath = `${filePath}.olam-bak.${ts}`;
|
|
59
|
-
copyFileSync(filePath, backupPath);
|
|
60
|
-
return backupPath;
|
|
61
|
-
}
|
|
62
|
-
/**
|
|
63
|
-
* Install (idempotent) — programmatic API for both the CLI action and tests.
|
|
64
|
-
* Creates parent dir if needed; backs up an existing settings.json before
|
|
65
|
-
* writing (auto-deletes the backup when the install is a no-op).
|
|
66
|
-
*/
|
|
67
|
-
export function installSessionStartHook(filePath) {
|
|
68
|
-
mkdirSync(dirname(filePath), { recursive: true });
|
|
69
|
-
const backupPath = backup(filePath);
|
|
70
|
-
const result = mergeHomeSettingsJson(filePath, {
|
|
71
|
-
ensureHook: {
|
|
72
|
-
stage: SESSIONSTART_HOOK_STAGE,
|
|
73
|
-
sentinel: SESSIONSTART_HOOK_SENTINEL,
|
|
74
|
-
entry: buildSessionStartHookEntry(),
|
|
75
|
-
},
|
|
76
|
-
});
|
|
77
|
-
if (result.status === 'already-present' && backupPath) {
|
|
78
|
-
try {
|
|
79
|
-
unlinkSync(backupPath);
|
|
80
|
-
}
|
|
81
|
-
catch {
|
|
82
|
-
// best-effort
|
|
83
|
-
}
|
|
84
|
-
return { status: 'already-present', filePath, backupPath: null };
|
|
85
|
-
}
|
|
86
|
-
return { status: result.status, filePath, backupPath };
|
|
87
|
-
}
|
|
88
|
-
/**
|
|
89
|
-
* Uninstall (surgical) — walks hooks.SessionStart, drops inner entries whose
|
|
90
|
-
* command contains the sentinel, drops the outer matcher when its hooks
|
|
91
|
-
* array becomes empty. Other SessionStart entries (e.g. the skills-sync
|
|
92
|
-
* hook) are preserved verbatim.
|
|
93
|
-
*/
|
|
94
|
-
export function uninstallSessionStartHook(filePath) {
|
|
95
|
-
if (!existsSync(filePath))
|
|
96
|
-
return { status: 'no-settings', filePath };
|
|
97
|
-
const raw = readFileSync(filePath, 'utf-8');
|
|
98
|
-
const settings = raw.trim() ? JSON.parse(raw) : {};
|
|
99
|
-
const matchers = settings.hooks?.SessionStart;
|
|
100
|
-
if (!Array.isArray(matchers) || matchers.length === 0) {
|
|
101
|
-
return { status: 'not-found', filePath };
|
|
102
|
-
}
|
|
103
|
-
let changed = false;
|
|
104
|
-
const kept = [];
|
|
105
|
-
for (const matcher of matchers) {
|
|
106
|
-
const inner = matcher.hooks ?? [];
|
|
107
|
-
const keptInner = inner.filter((h) => {
|
|
108
|
-
if (typeof h.command === 'string' && h.command.includes(SESSIONSTART_HOOK_SENTINEL)) {
|
|
109
|
-
changed = true;
|
|
110
|
-
return false;
|
|
111
|
-
}
|
|
112
|
-
return true;
|
|
113
|
-
});
|
|
114
|
-
if (keptInner.length === 0 && inner.length > 0) {
|
|
115
|
-
changed = true;
|
|
116
|
-
continue;
|
|
117
|
-
}
|
|
118
|
-
if (keptInner.length === inner.length) {
|
|
119
|
-
kept.push(matcher);
|
|
120
|
-
}
|
|
121
|
-
else {
|
|
122
|
-
kept.push({ ...matcher, hooks: keptInner });
|
|
123
|
-
}
|
|
124
|
-
}
|
|
125
|
-
if (!changed)
|
|
126
|
-
return { status: 'not-found', filePath };
|
|
127
|
-
const next = {
|
|
128
|
-
...settings,
|
|
129
|
-
hooks: { ...settings.hooks, SessionStart: kept },
|
|
130
|
-
};
|
|
131
|
-
if (kept.length === 0) {
|
|
132
|
-
const otherStages = Object.keys(next.hooks ?? {}).filter((k) => k !== 'SessionStart');
|
|
133
|
-
if (otherStages.length === 0) {
|
|
134
|
-
delete next.hooks;
|
|
135
|
-
}
|
|
136
|
-
else {
|
|
137
|
-
delete next.hooks.SessionStart;
|
|
138
|
-
}
|
|
139
|
-
}
|
|
140
|
-
writeFileSync(filePath, JSON.stringify(next, null, 2) + '\n');
|
|
141
|
-
return { status: 'removed', filePath };
|
|
142
|
-
}
|
|
143
|
-
export function registerFlywheelInstallSessionStartHook(parent) {
|
|
144
|
-
parent
|
|
145
|
-
.command('install-sessionstart-hook')
|
|
146
|
-
.description('Install (or --uninstall) the SessionStart context hook into .claude/settings.json. Idempotent. 4th defense layer — preloads operator state before the first prompt.')
|
|
147
|
-
.option('--scope <scope>', 'project (default; <cwd>/.claude/settings.json) or user (~/.claude/settings.json)', 'project')
|
|
148
|
-
.option('--uninstall', 'Remove the hook instead of installing it')
|
|
149
|
-
.action((opts) => {
|
|
150
|
-
const scope = opts.scope === 'user' ? 'user' : 'project';
|
|
151
|
-
const filePath = settingsPathFor(scope);
|
|
152
|
-
if (opts.uninstall) {
|
|
153
|
-
try {
|
|
154
|
-
const r = uninstallSessionStartHook(filePath);
|
|
155
|
-
switch (r.status) {
|
|
156
|
-
case 'removed':
|
|
157
|
-
printSuccess(`SessionStart context hook removed from ${filePath}`);
|
|
158
|
-
return;
|
|
159
|
-
case 'not-found':
|
|
160
|
-
printInfo('sessionstart hook', `not found in ${filePath} — already uninstalled`);
|
|
161
|
-
return;
|
|
162
|
-
case 'no-settings':
|
|
163
|
-
printInfo('sessionstart hook', `no settings.json at ${filePath} — nothing to remove`);
|
|
164
|
-
return;
|
|
165
|
-
}
|
|
166
|
-
}
|
|
167
|
-
catch (err) {
|
|
168
|
-
printError(`uninstall failed: ${err instanceof Error ? err.message : String(err)}`);
|
|
169
|
-
process.exitCode = 1;
|
|
170
|
-
}
|
|
171
|
-
return;
|
|
172
|
-
}
|
|
173
|
-
try {
|
|
174
|
-
const r = installSessionStartHook(filePath);
|
|
175
|
-
switch (r.status) {
|
|
176
|
-
case 'installed':
|
|
177
|
-
printSuccess(`SessionStart context hook installed (${scope} scope)`);
|
|
178
|
-
printInfo('settings', r.filePath);
|
|
179
|
-
if (r.backupPath)
|
|
180
|
-
printInfo('backup', r.backupPath);
|
|
181
|
-
printInfo('next', 'open a new Claude Code session — Olam state will preload via additionalContext');
|
|
182
|
-
return;
|
|
183
|
-
case 'already-present':
|
|
184
|
-
printInfo('sessionstart hook', `already installed at ${r.filePath}`);
|
|
185
|
-
return;
|
|
186
|
-
case 'no-op':
|
|
187
|
-
printWarning(`no change made to ${r.filePath}`);
|
|
188
|
-
return;
|
|
189
|
-
}
|
|
190
|
-
}
|
|
191
|
-
catch (err) {
|
|
192
|
-
printError(`install failed: ${err instanceof Error ? err.message : String(err)}`);
|
|
193
|
-
process.exitCode = 1;
|
|
194
|
-
}
|
|
195
|
-
});
|
|
196
|
-
}
|
|
197
|
-
//# sourceMappingURL=install-sessionstart-hook.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"install-sessionstart-hook.js","sourceRoot":"","sources":["../../../src/commands/flywheel/install-sessionstart-hook.ts"],"names":[],"mappings":"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"}
|