@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
package/README.md
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
# @pleri/olam-cli
|
|
2
2
|
|
|
3
|
-
Standalone CLI for [Olam](https://github.com/pleri/olam) —
|
|
4
|
-
|
|
5
|
-
|
|
3
|
+
Standalone CLI for [Olam](https://github.com/pleri/olam) — a **cloud-first**
|
|
4
|
+
agent platform: curated skills, persistent agent memory, symbol-aware code
|
|
5
|
+
search, and dispatch of autonomous coding agents to the cloud, all wired into
|
|
6
|
+
Claude Code.
|
|
6
7
|
|
|
7
8
|
```sh
|
|
8
9
|
# Install
|
|
@@ -13,170 +14,135 @@ curl -fsSL https://olam.bar.dev/install | sh
|
|
|
13
14
|
olam --version
|
|
14
15
|
```
|
|
15
16
|
|
|
16
|
-
|
|
17
|
-
`
|
|
17
|
+
Requires **Node.js ≥ 20** and `npm`. Track the prerelease tag with
|
|
18
|
+
`OLAM_CHANNEL=canary`.
|
|
18
19
|
|
|
19
|
-
##
|
|
20
|
+
## Cloud-first by default
|
|
20
21
|
|
|
21
|
-
|
|
22
|
+
A fresh install is **cloud mode**: `olam --help` shows only the cloud surface —
|
|
23
|
+
no Docker, k3s, or compose. The four cloud workflows are the default:
|
|
22
24
|
|
|
23
|
-
|
|
|
24
|
-
|
|
25
|
-
| **
|
|
26
|
-
| **
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
## Wire the MCP server into Claude Code
|
|
31
|
-
|
|
32
|
-
Olam ships an MCP server with `olam_create`, `olam_dispatch`,
|
|
33
|
-
`olam_destroy`, `olam_list`, `olam_status`, `olam_enter`, `olam_pr`,
|
|
34
|
-
`olam_observe`, `olam_lane_*`, and `olam_capture_view`. Three wiring
|
|
35
|
-
paths:
|
|
36
|
-
|
|
37
|
-
### One command (recommended)
|
|
25
|
+
| Workflow | What it gives you | Wire it up |
|
|
26
|
+
|---|---|---|
|
|
27
|
+
| **Skills** | sync curated skills + agents into `~/.claude` | `olam skills source add` → `sync` → `install-hook` |
|
|
28
|
+
| **Memory** | persistent agent memory across sessions | `olam memory connect <url>` → `install-hooks` |
|
|
29
|
+
| **Knowledge graph** | symbol-aware code search | `olam kg connect <url>` → `install-hook` |
|
|
30
|
+
| **Remote** | plan + dispatch agents on the cloud | `olam remote connect <url>` → `olam dispatch … --executor cloud` |
|
|
38
31
|
|
|
39
32
|
```sh
|
|
40
|
-
olam
|
|
41
|
-
olam mcp install --scope=project # writes to project .mcp.json
|
|
42
|
-
olam mcp uninstall # idempotent; symmetric
|
|
43
|
-
```
|
|
44
|
-
|
|
45
|
-
Auto-detects whether `olam` is on PATH. If so, writes
|
|
46
|
-
`command: "olam"`. Otherwise falls back to
|
|
47
|
-
`command: "npx", args: ["-y", "@pleri/olam-cli", "mcp", "serve"]`.
|
|
48
|
-
|
|
49
|
-
### Paste-in JSON
|
|
50
|
-
|
|
51
|
-
Drop into `~/.claude.json` (user scope) or a project's `.mcp.json`:
|
|
52
|
-
|
|
53
|
-
```json
|
|
54
|
-
{
|
|
55
|
-
"mcpServers": {
|
|
56
|
-
"olam": {
|
|
57
|
-
"command": "npx",
|
|
58
|
-
"args": ["-y", "@pleri/olam-cli", "mcp", "serve"]
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
}
|
|
33
|
+
olam setup # guided cloud-first wizard (no Docker required)
|
|
62
34
|
```
|
|
63
35
|
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
### Marketplace alias
|
|
68
|
-
|
|
69
|
-
`olam --mcp` is a thin alias for `olam mcp serve`, matching the MCP
|
|
70
|
-
marketplace convention where snippets invoke `npx -y <pkg> --mcp`. The
|
|
71
|
-
two invocations produce identical stdio output.
|
|
72
|
-
|
|
73
|
-
### Verify
|
|
36
|
+
The CLI ships **no baked-in endpoints** — you supply your team's service URLs.
|
|
37
|
+
Hidden local commands stay fully callable; reveal them any time:
|
|
74
38
|
|
|
75
39
|
```sh
|
|
76
|
-
|
|
40
|
+
olam config local-mode # show the full docker/k3s command surface
|
|
41
|
+
olam config cloud-mode # back to cloud-first (default)
|
|
77
42
|
```
|
|
78
43
|
|
|
79
|
-
|
|
44
|
+
## One-shot team setup (URLs as args, secrets via GCP IAM)
|
|
80
45
|
|
|
81
|
-
|
|
46
|
+
The most secure path for a team: **public URLs are args; secret bearers flow
|
|
47
|
+
through a shared GCS bucket gated by GCP IAM** — nothing sensitive touches the
|
|
48
|
+
command line or shell history.
|
|
82
49
|
|
|
83
50
|
```sh
|
|
84
|
-
olam
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
51
|
+
olam setup \
|
|
52
|
+
--skills-source=<git-url> \
|
|
53
|
+
--remote-memory-url=<memory-url> \
|
|
54
|
+
--remote-kg-url=<kg-url> \
|
|
55
|
+
--remote-dispatch-url=<dispatch-url> \
|
|
56
|
+
--credentials=gcp # pull bearers from gs://olam-credentials
|
|
88
57
|
```
|
|
89
58
|
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
59
|
+
- **Admin (once):** `olam credentials push` uploads the team's bearers to the
|
|
60
|
+
bucket (auto-created, uniform bucket-level access). Grant teammates
|
|
61
|
+
`roles/storage.objectViewer`.
|
|
62
|
+
- **Teammate:** `--credentials=gcp` runs `olam credentials pull` — `gcloud`
|
|
63
|
+
downloads the bearers with the teammate's own ADC and writes them `0600`.
|
|
64
|
+
Their GCP permission *is* the access gate.
|
|
65
|
+
- **Verify:** `olam remote status` and `olam doctor` (cloud-aware — it probes
|
|
66
|
+
the four connections, skipping Docker/k8s checks).
|
|
95
67
|
|
|
96
|
-
|
|
68
|
+
`olam credentials status` lists which bearers exist locally.
|
|
97
69
|
|
|
98
|
-
|
|
99
|
-
`auth up`.
|
|
100
|
-
- `~/.olam/worlds/<world-id>/` — per-world worktree + thought DB.
|
|
101
|
-
- `~/.olam/worlds.db` — world registry.
|
|
102
|
-
- `~/.olam/upgrade.log` — JSONL audit log of `olam upgrade`.
|
|
70
|
+
## Wire the MCP server into Claude Code
|
|
103
71
|
|
|
104
|
-
|
|
72
|
+
Olam ships an MCP server exposing `olam_create`, `olam_dispatch`,
|
|
73
|
+
`olam_destroy`, `olam_list`, `olam_status`, and more.
|
|
105
74
|
|
|
106
75
|
```sh
|
|
107
|
-
olam
|
|
108
|
-
olam
|
|
109
|
-
olam
|
|
110
|
-
olam enter <world> # cd into the world's host clone
|
|
111
|
-
olam dispatch <world> "<msg>"
|
|
112
|
-
olam observe <world> # tail the world's thought stream
|
|
113
|
-
olam pr <world> # open / inspect the world's PR
|
|
114
|
-
olam destroy <world>
|
|
76
|
+
olam mcp install # default --scope=user
|
|
77
|
+
olam mcp install --scope=project # writes to project .mcp.json
|
|
78
|
+
olam mcp uninstall # idempotent; symmetric
|
|
115
79
|
```
|
|
116
80
|
|
|
117
|
-
|
|
81
|
+
Auto-detects whether `olam` is on PATH (writes `command: "olam"`); otherwise
|
|
82
|
+
falls back to `npx -y @pleri/olam-cli mcp serve`. Paste-in for `~/.claude.json`
|
|
83
|
+
or a project `.mcp.json`:
|
|
118
84
|
|
|
119
|
-
```
|
|
120
|
-
|
|
121
|
-
|
|
85
|
+
```json
|
|
86
|
+
{
|
|
87
|
+
"mcpServers": {
|
|
88
|
+
"olam": { "command": "npx", "args": ["-y", "@pleri/olam-cli", "mcp", "serve"] }
|
|
89
|
+
}
|
|
90
|
+
}
|
|
122
91
|
```
|
|
123
92
|
|
|
124
|
-
|
|
93
|
+
`olam --mcp` is a thin alias for `olam mcp serve` (MCP marketplace convention).
|
|
94
|
+
Verify with `claude mcp list | grep olam`, then restart Claude Code.
|
|
125
95
|
|
|
126
|
-
|
|
127
|
-
in a new tmux window backed by an isolated git worktree. Each session gets its
|
|
128
|
-
own branch so it can't clobber the operator's main shell.
|
|
96
|
+
## Cloud dispatch
|
|
129
97
|
|
|
130
98
|
```sh
|
|
131
|
-
|
|
132
|
-
|
|
99
|
+
olam dispatch <world> "<task>" --executor cloud # CF Sandbox / plan-DO runner
|
|
100
|
+
```
|
|
133
101
|
|
|
134
|
-
|
|
135
|
-
|
|
102
|
+
`--executor` accepts `docker | do | sandbox | cloud`. With no flag, dispatch
|
|
103
|
+
routes to the cloud when you're in cloud mode **and** a remote is connected;
|
|
104
|
+
otherwise it uses a local Docker world. The chosen route is always printed.
|
|
136
105
|
|
|
137
|
-
|
|
138
|
-
olam yolo --cleanup my-task
|
|
139
|
-
```
|
|
106
|
+
State lands under `~/.olam/` (all secrets `0600`):
|
|
140
107
|
|
|
141
|
-
|
|
108
|
+
- `~/.olam/memory-connection.json`, `~/.olam/kg-proxy-{url,bearer}`,
|
|
109
|
+
`~/.olam/plan-chat-bearer.json` — the cloud connections.
|
|
110
|
+
- `~/.olam/secrets/` — bearer secrets (the GCS-distributed set).
|
|
142
111
|
|
|
143
|
-
##
|
|
112
|
+
## Cloud auth vault
|
|
113
|
+
|
|
114
|
+
`withCredential` (in `@olam/auth-client`) routes Claude API calls through a
|
|
115
|
+
cloud auth-worker by default — credential rotation + 429 cooldown stay
|
|
116
|
+
server-side. Resolution order:
|
|
144
117
|
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
118
|
+
1. `OLAM_CREDENTIAL_BACKEND=local` → local `olam-auth` container.
|
|
119
|
+
2. `OLAM_CREDENTIAL_BACKEND=remote` → cloud auth-worker.
|
|
120
|
+
3. Auto-discovery via `OLAM_ANTHROPIC_BASE_URL` / `~/.olam/anthropic-base-url`
|
|
121
|
+
/ `~/.olam/cloud-bearer.json`.
|
|
148
122
|
|
|
149
123
|
```sh
|
|
150
|
-
olam
|
|
151
|
-
olam
|
|
124
|
+
olam auth login # cloud auth-worker (supply your worker URL)
|
|
125
|
+
olam auth login --local # legacy local container (deprecated)
|
|
126
|
+
olam auth migrate --dry-run # plan a local → cloud migration
|
|
152
127
|
```
|
|
153
128
|
|
|
154
|
-
|
|
129
|
+
The auth-worker URL is operator-supplied (`--remote <url>`,
|
|
130
|
+
`OLAM_AUTH_WORKER_URL`, or `~/.olam/auth-worker-url`) — there is no baked-in
|
|
131
|
+
default endpoint.
|
|
155
132
|
|
|
156
|
-
-
|
|
157
|
-
- hooks (`settings.json` scoped to the per-world Claude home)
|
|
158
|
-
- MCP topology
|
|
159
|
-
- 429 rate-limit bucket
|
|
133
|
+
## Multi-account Claude Code (`--claude-home`)
|
|
160
134
|
|
|
161
|
-
One
|
|
135
|
+
One operator, many Claude Code instances, each with its own `HOME` pointing at a
|
|
136
|
+
separate `~/.claude.instance-N/` (login, hooks, MCP topology, and 429 bucket are
|
|
137
|
+
all per-`HOME`):
|
|
162
138
|
|
|
163
139
|
```sh
|
|
140
|
+
olam create my-world --claude-home work-account
|
|
164
141
|
HOME="$HOME/.olam/claude-homes/work-account" claude login
|
|
165
|
-
HOME="$HOME/.olam/claude-homes/personal-account" claude login
|
|
166
142
|
```
|
|
167
143
|
|
|
168
|
-
The
|
|
169
|
-
|
|
170
|
-
account. Absolute paths are accepted verbatim
|
|
171
|
-
(`--claude-home /opt/shared-claude`).
|
|
172
|
-
|
|
173
|
-
Composes with `@olam/auth-client`'s vault — the vault still rotates
|
|
174
|
-
credentials **within** a HOME; `--claude-home` isolates **different**
|
|
175
|
-
HOMEs from each other so two worlds on the same host genuinely use
|
|
176
|
-
different accounts without rotation choreography.
|
|
177
|
-
|
|
178
|
-
See [ADR 045](../../docs/decisions/045-claude-home-override.md) for the
|
|
179
|
-
full rationale + operator workflow.
|
|
144
|
+
The value persists to the world's metadata. See
|
|
145
|
+
[ADR 045](https://github.com/pleri/olam/blob/main/docs/decisions/045-claude-home-override.md).
|
|
180
146
|
|
|
181
147
|
## Self-upgrade
|
|
182
148
|
|
|
@@ -186,61 +152,28 @@ olam upgrade -y # pull latest digests; restart services
|
|
|
186
152
|
|
|
187
153
|
JSONL audit log at `~/.olam/upgrade.log`.
|
|
188
154
|
|
|
189
|
-
##
|
|
155
|
+
## Local mode (advanced)
|
|
190
156
|
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
**Phase A** (`@olam/auth-client` — already live): `withCredential` selects the
|
|
194
|
-
cloud auth-worker by default. Resolution order:
|
|
195
|
-
1. `OLAM_CREDENTIAL_BACKEND=local` → local `olam-auth` container at `127.0.0.1:9999`.
|
|
196
|
-
2. `OLAM_CREDENTIAL_BACKEND=remote` → cloud auth-worker.
|
|
197
|
-
3. Auto-discovery via `OLAM_ANTHROPIC_BASE_URL` / `~/.olam/anthropic-base-url` / `~/.olam/cloud-bearer.json`.
|
|
198
|
-
4. Hard-coded fallback → cloud auth-worker (`https://auth-worker.kaluga.co`).
|
|
199
|
-
|
|
200
|
-
**Phase B** (CLI — this package): `olam auth login | list | list-json` default to
|
|
201
|
-
the cloud auth-worker. Operators with an existing local vault can migrate:
|
|
157
|
+
Run the full stack — host control-plane, auth/KG/memory services, and isolated
|
|
158
|
+
Docker/k3s worlds — locally. Reveal the commands first:
|
|
202
159
|
|
|
203
160
|
```sh
|
|
204
|
-
|
|
205
|
-
olam
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
olam
|
|
209
|
-
|
|
210
|
-
# Opt out: stay on the local container vault
|
|
211
|
-
olam auth login --local
|
|
212
|
-
olam auth list --local
|
|
213
|
-
OLAM_CREDENTIAL_BACKEND=local olam auth list # host-wide env override; no deprecation warning
|
|
161
|
+
olam config local-mode
|
|
162
|
+
olam setup --local-mode # guided local bootstrap (K3s default, or --substrate=docker)
|
|
163
|
+
olam bootstrap # pull + start the host stack
|
|
164
|
+
olam create --name <slug> --task "<goal>"
|
|
165
|
+
olam enter <world> # shell into the world
|
|
166
|
+
olam yolo my-task --branch feat/x --prompt-file /tmp/task.txt
|
|
214
167
|
```
|
|
215
168
|
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
the admin-mutator UX design tracked in
|
|
221
|
-
[`docs/plans/cloud-only-vault/README.md`](https://github.com/pleri/olam/blob/main/docs/plans/cloud-only-vault/README.md).
|
|
222
|
-
|
|
223
|
-
### `olam doctor` — auth vault health
|
|
224
|
-
|
|
225
|
-
`olam doctor` reports both backends' health at probe position 4:
|
|
226
|
-
|
|
227
|
-
```
|
|
228
|
-
✓ auth vault remote (auth-worker.kaluga.co) healthy (42ms); local (olam-auth:9999) absent
|
|
229
|
-
```
|
|
230
|
-
|
|
231
|
-
Three remote states: `healthy` / `unreachable` / `unauthenticated`.
|
|
232
|
-
Three local states: `present-active` / `present-stale` / `absent`.
|
|
233
|
-
|
|
234
|
-
When both backends are present (`remote=healthy` + `local=present-active|present-stale`),
|
|
235
|
-
doctor suggests `olam auth migrate --dry-run` to plan cloud migration.
|
|
236
|
-
|
|
237
|
-
Full design:
|
|
238
|
-
[`docs/architecture/cloud-only-vault.md`](https://github.com/pleri/olam/blob/main/docs/architecture/cloud-only-vault.md),
|
|
239
|
-
[`docs/plans/cloud-only-vault/README.md`](https://github.com/pleri/olam/blob/main/docs/plans/cloud-only-vault/README.md).
|
|
169
|
+
K3s mode requires `k3d`, `kubectl`, `helm`, `gh`, and `docker`. Full guide:
|
|
170
|
+
[k3s-mode setup](https://github.com/pleri/olam/blob/main/docs/onboarding/k3s-mode-setup.md).
|
|
171
|
+
Local development keeps the three cloud boosts (Skills / Memory / KG) and can
|
|
172
|
+
shift workloads to the cloud at any time.
|
|
240
173
|
|
|
241
174
|
## Docs
|
|
242
175
|
|
|
243
|
-
- [
|
|
176
|
+
- [Cloud-first CLI guide](https://github.com/pleri/olam/blob/main/docs/architecture/cloud-first-cli.md)
|
|
244
177
|
- [MCP wiring deep-dive](https://github.com/pleri/olam/blob/main/docs/architecture/mcp-as-npx-served.md)
|
|
245
178
|
- [Architecture index](https://github.com/pleri/olam/tree/main/docs/architecture)
|
|
246
179
|
|
|
@@ -233,7 +233,7 @@ export async function streamMultiTurnSdkToChunks(input) {
|
|
|
233
233
|
* literal per block was pure parameter-passing garbage. Output is identical;
|
|
234
234
|
* only the intermediate allocation is removed.
|
|
235
235
|
*/
|
|
236
|
-
function blockToChunkDraft(block, worldId, sessionId, messageId, seq, createdAt) {
|
|
236
|
+
export function blockToChunkDraft(block, worldId, sessionId, messageId, seq, createdAt) {
|
|
237
237
|
if (block.type === 'text') {
|
|
238
238
|
const text = block.text;
|
|
239
239
|
if (!text)
|
|
@@ -38,6 +38,7 @@ import { randomUUID } from 'node:crypto';
|
|
|
38
38
|
import { makeHostCpChunkPoster, streamMultiTurnSdkToChunks, } from './agent-sdk-to-chunks.js';
|
|
39
39
|
import { subscribeToChunks } from './chunks-subscriber-transport.js';
|
|
40
40
|
import { filterOperatorPickups, pickupConsumedKey, pickupsToPromptPrefix, } from './operator-subscription.js';
|
|
41
|
+
import { makeAskUserQuestionCanUseTool } from './question-broker-bridge.js';
|
|
41
42
|
/**
|
|
42
43
|
* Default `append` text for the Claude Code preset system prompt.
|
|
43
44
|
* Exported so the regression test can assert non-empty + coordinator-shaped
|
|
@@ -84,9 +85,19 @@ export const DEFAULT_SYSTEM_PROMPT_APPEND = `You are the driver agent inside an
|
|
|
84
85
|
export function buildSdkOptions(input) {
|
|
85
86
|
const driverToolsEnabled = process.env.AGENT_DRIVER_TOOLS_ENABLED === '1';
|
|
86
87
|
const baseAllowedTools = [];
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
88
|
+
// Phase B (answer-anywhere): AskUserQuestion MUST be in the allowlist whenever
|
|
89
|
+
// a broker `canUseTool` is wired — otherwise the SDK filters it out of the
|
|
90
|
+
// Claude Code preset and NEVER invokes it, leaving the canUseTool bridge
|
|
91
|
+
// dormant (the question-broker-bridge's interceptor only fires when the SDK
|
|
92
|
+
// actually calls the tool). Gated strictly on `canUseTool` presence so the
|
|
93
|
+
// no-broker default stays byte-identical (`allowedTools: []`): the snapshot
|
|
94
|
+
// regression gate + the D10 coordinator-only guards both pass unchanged.
|
|
95
|
+
const brokerAllowedTools = input.canUseTool ? ['AskUserQuestion'] : [];
|
|
96
|
+
const allowedTools = [
|
|
97
|
+
...baseAllowedTools,
|
|
98
|
+
...(input.extraAllowedTools ?? []),
|
|
99
|
+
...brokerAllowedTools,
|
|
100
|
+
];
|
|
90
101
|
return {
|
|
91
102
|
systemPrompt: {
|
|
92
103
|
type: 'preset',
|
|
@@ -95,6 +106,9 @@ export function buildSdkOptions(input) {
|
|
|
95
106
|
},
|
|
96
107
|
// Empty allowlist = strict coordinator (no tools); undefined = full preset tools.
|
|
97
108
|
...(driverToolsEnabled ? {} : { allowedTools }),
|
|
109
|
+
// Question-broker seam (Phase B). Only attached when the caller supplies a
|
|
110
|
+
// callback — keeps the snapshot stable for the default path.
|
|
111
|
+
...(input.canUseTool ? { canUseTool: input.canUseTool } : {}),
|
|
98
112
|
effort: 'low',
|
|
99
113
|
thinking: { type: 'disabled' },
|
|
100
114
|
model: 'claude-sonnet-4-6',
|
|
@@ -127,7 +141,7 @@ export function buildSdkOptions(input) {
|
|
|
127
141
|
* - The `prompt` is passed through unchanged.
|
|
128
142
|
*/
|
|
129
143
|
export function createSdkQuery(query) {
|
|
130
|
-
return ({ prompt, abortSignal, systemPromptAppend, extraAllowedTools }) => {
|
|
144
|
+
return ({ prompt, abortSignal, systemPromptAppend, extraAllowedTools, canUseTool }) => {
|
|
131
145
|
// eslint-disable-next-line no-console
|
|
132
146
|
console.error(`[driver] sdkQuery fired (prompt: ${typeof prompt === 'string' ? `${prompt.length} chars` : 'AsyncIterable<SdkUserMessage>'})`);
|
|
133
147
|
// Forward the runDriver-owned abortSignal to a fresh AbortController
|
|
@@ -143,7 +157,7 @@ export function createSdkQuery(query) {
|
|
|
143
157
|
});
|
|
144
158
|
}
|
|
145
159
|
const options = {
|
|
146
|
-
...buildSdkOptions({ systemPromptAppend, extraAllowedTools }),
|
|
160
|
+
...buildSdkOptions({ systemPromptAppend, extraAllowedTools, canUseTool }),
|
|
147
161
|
abortController: sdkAbortController,
|
|
148
162
|
};
|
|
149
163
|
return query({ prompt, options });
|
|
@@ -156,7 +170,7 @@ export function createSdkQuery(query) {
|
|
|
156
170
|
* (SIGTERM via the supervisor → the abortSignal here).
|
|
157
171
|
*/
|
|
158
172
|
export function runDriver(opts) {
|
|
159
|
-
const { hostCpUrl, bearer, worldId, sessionId, systemPromptAppend = DEFAULT_SYSTEM_PROMPT_APPEND, extraAllowedTools, sdkQuery, abortSignal: externalSignal, subscribeImpl = subscribeToChunks, postChunkImpl = (url, b) => makeHostCpChunkPoster({ sidecarUrl: url, bearer: b }), } = opts;
|
|
173
|
+
const { hostCpUrl, bearer, worldId, sessionId, systemPromptAppend = DEFAULT_SYSTEM_PROMPT_APPEND, extraAllowedTools, sdkQuery, allocateMessageId = () => `driver-${randomUUID()}`, canUseTool, abortSignal: externalSignal, subscribeImpl = subscribeToChunks, postChunkImpl = (url, b) => makeHostCpChunkPoster({ sidecarUrl: url, bearer: b }), } = opts;
|
|
160
174
|
const controller = new AbortController();
|
|
161
175
|
if (externalSignal) {
|
|
162
176
|
if (externalSignal.aborted)
|
|
@@ -259,12 +273,17 @@ export function runDriver(opts) {
|
|
|
259
273
|
abortSignal: signal,
|
|
260
274
|
systemPromptAppend,
|
|
261
275
|
extraAllowedTools,
|
|
276
|
+
// Phase B: route AskUserQuestion through the operator's mobile inbox
|
|
277
|
+
// when a broker is configured. Conditionally spread so the default
|
|
278
|
+
// (no-broker) path is byte-identical (createSdkQuery/buildSdkOptions
|
|
279
|
+
// only attach canUseTool when this is truthy).
|
|
280
|
+
...(canUseTool ? { canUseTool } : {}),
|
|
262
281
|
});
|
|
263
282
|
await streamMultiTurnSdkToChunks({
|
|
264
283
|
messages,
|
|
265
284
|
worldId,
|
|
266
285
|
sessionId,
|
|
267
|
-
allocateMessageId
|
|
286
|
+
allocateMessageId,
|
|
268
287
|
postChunk,
|
|
269
288
|
});
|
|
270
289
|
}
|
|
@@ -304,6 +323,44 @@ export function runDriver(opts) {
|
|
|
304
323
|
done,
|
|
305
324
|
};
|
|
306
325
|
}
|
|
326
|
+
/**
|
|
327
|
+
* Build the AskUserQuestion broker `canUseTool` callback from env, when both
|
|
328
|
+
* broker env vars are present. Returns `undefined` otherwise → the SDK uses its
|
|
329
|
+
* own local picker (byte-identical, no-broker default).
|
|
330
|
+
*
|
|
331
|
+
* Shared by `main()` (in-world supervisor fork) AND `launchHostDriver` (the
|
|
332
|
+
* host-side planning driver, the production SPA-agent launcher) so the
|
|
333
|
+
* question-broker seam wires identically at every launch site — no
|
|
334
|
+
* two-call-site drift (the host path previously omitted the bridge entirely).
|
|
335
|
+
*
|
|
336
|
+
* OLAM_QUESTION_BROKER_URL — auth-worker origin hosting the per-operator
|
|
337
|
+
* broker DO (the same path-transport base the
|
|
338
|
+
* SPA inbox proxy resolves via
|
|
339
|
+
* resolveBearerBaseUrl).
|
|
340
|
+
* OLAM_QUESTION_BROKER_BEARER — operator Anthropic bearer (Basic
|
|
341
|
+
* b64(sub:secret)); routes register/poll to
|
|
342
|
+
* idFromName(sub).
|
|
343
|
+
*
|
|
344
|
+
* Explicit `brokerUrl`/`brokerBearer` args win over env (test seam); omit them
|
|
345
|
+
* to read the env vars. `logEnabled` emits the one-line ENABLED breadcrumb only
|
|
346
|
+
* when the seam actually activates.
|
|
347
|
+
*/
|
|
348
|
+
export function buildBrokerCanUseTool(input) {
|
|
349
|
+
const brokerUrl = input.brokerUrl ?? process.env.OLAM_QUESTION_BROKER_URL;
|
|
350
|
+
const brokerBearer = input.brokerBearer ?? process.env.OLAM_QUESTION_BROKER_BEARER;
|
|
351
|
+
if (!brokerUrl || !brokerBearer)
|
|
352
|
+
return undefined;
|
|
353
|
+
if (input.logEnabled) {
|
|
354
|
+
// eslint-disable-next-line no-console
|
|
355
|
+
console.error(`[driver] AskUserQuestion broker ENABLED · broker=${brokerUrl}`);
|
|
356
|
+
}
|
|
357
|
+
return makeAskUserQuestionCanUseTool({
|
|
358
|
+
brokerBaseUrl: brokerUrl,
|
|
359
|
+
bearer: brokerBearer,
|
|
360
|
+
worldId: input.worldId,
|
|
361
|
+
sessionId: input.sessionId,
|
|
362
|
+
});
|
|
363
|
+
}
|
|
307
364
|
/**
|
|
308
365
|
* CLI entry point when this module is run directly (via supervisor fork).
|
|
309
366
|
* Reads env, validates, calls runDriver, installs SIGTERM handler.
|
|
@@ -323,6 +380,14 @@ export async function main() {
|
|
|
323
380
|
const controller = new AbortController();
|
|
324
381
|
process.on('SIGTERM', () => controller.abort());
|
|
325
382
|
process.on('SIGINT', () => controller.abort());
|
|
383
|
+
// Phase B (mobile-question-inbox): wire the AskUserQuestion broker seam when
|
|
384
|
+
// a broker is configured. Both env vars must be present; otherwise the seam
|
|
385
|
+
// stays off and the SDK uses its own local picker (byte-identical default).
|
|
386
|
+
// OLAM_QUESTION_BROKER_URL — the auth-worker origin hosting the broker.
|
|
387
|
+
// OLAM_QUESTION_BROKER_BEARER — the operator's Anthropic bearer
|
|
388
|
+
// (Basic b64(sub:secret)); routes the
|
|
389
|
+
// register/poll to idFromName(sub).
|
|
390
|
+
const canUseTool = buildBrokerCanUseTool({ worldId, sessionId, logEnabled: true });
|
|
326
391
|
// eslint-disable-next-line no-console
|
|
327
392
|
console.error(`[driver] starting · world=${worldId} session=${sessionId} ` +
|
|
328
393
|
`hostCp=${hostCpUrl}`);
|
|
@@ -336,6 +401,7 @@ export async function main() {
|
|
|
336
401
|
// operators with legacy supervisor configs.
|
|
337
402
|
systemPromptAppend: process.env.DRIVER_SYSTEM_PROMPT_APPEND ?? process.env.DRIVER_SYSTEM_PROMPT,
|
|
338
403
|
sdkQuery: createSdkQuery(query),
|
|
404
|
+
canUseTool,
|
|
339
405
|
abortSignal: controller.signal,
|
|
340
406
|
});
|
|
341
407
|
try {
|
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
* directly with the planning-agent system-prompt-append default.
|
|
18
18
|
*/
|
|
19
19
|
import { PLANNING_SYSTEM_PROMPT } from '../prompts/planning-agent.js';
|
|
20
|
-
import { runDriver, } from './driver-runner.js';
|
|
20
|
+
import { runDriver, buildBrokerCanUseTool, } from './driver-runner.js';
|
|
21
21
|
/**
|
|
22
22
|
* Launch a planning-driver in the host process. Delegates everything
|
|
23
23
|
* substantive to `runDriver`; this function only translates the
|
|
@@ -42,6 +42,19 @@ export function launchHostDriver(opts) {
|
|
|
42
42
|
sdkQuery: opts.sdkQuery,
|
|
43
43
|
systemPromptAppend: opts.systemPromptAppend ?? PLANNING_SYSTEM_PROMPT,
|
|
44
44
|
extraAllowedTools: opts.extraAllowedTools ?? PLANNING_DRIVER_EXTRA_ALLOWED_TOOLS,
|
|
45
|
+
// Phase B (answer-anywhere): wire the AskUserQuestion broker seam from env,
|
|
46
|
+
// at parity with driver-runner.main(). The host-side launcher previously
|
|
47
|
+
// omitted canUseTool entirely, so the production SPA-agent path could never
|
|
48
|
+
// route AskUserQuestion through the operator's inbox. Undefined when no
|
|
49
|
+
// broker is configured → byte-identical default (SDK local picker).
|
|
50
|
+
// Cancellation propagates: opts.abortSignal → runDriver signal → the SDK's
|
|
51
|
+
// options.signal → the bridge's composite abort, so a blocked await never
|
|
52
|
+
// leaks when the run is aborted.
|
|
53
|
+
canUseTool: buildBrokerCanUseTool({
|
|
54
|
+
worldId: opts.worldId,
|
|
55
|
+
sessionId: opts.sessionId,
|
|
56
|
+
logEnabled: true,
|
|
57
|
+
}),
|
|
45
58
|
abortSignal: opts.abortSignal,
|
|
46
59
|
});
|
|
47
60
|
}
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* prototype-gen-launch.ts — thin host-side launcher for the prototype-gen
|
|
3
|
+
* driver (producer plan §6, P3 mechanism — Option B).
|
|
4
|
+
*
|
|
5
|
+
* HOST_DRIVER_CONTRACT (inherited from `host-driver-launch.ts`): this module
|
|
6
|
+
* ONLY overrides the launch path — every agent-logic decision delegates to
|
|
7
|
+
* `runDriver()` in driver-runner.ts. It defaults `systemPromptAppend` to the
|
|
8
|
+
* prototype-gen persona, widens `extraAllowedTools` with the prototype tools,
|
|
9
|
+
* and installs a lineage-pinned `allocateMessageId` so revisions of one
|
|
10
|
+
* prototype collapse under a single `message_id` (locked Q2 — render side keys
|
|
11
|
+
* supersession on `message_id`). Adding agent-logic branches here is a
|
|
12
|
+
* code-smell; extend `DriverRunnerOptions` instead.
|
|
13
|
+
*
|
|
14
|
+
* Mirrors `launchHostDriver`: the caller owns SDK construction (`sdkQuery`),
|
|
15
|
+
* keeping this launcher sync and the SDK import out of the load graph.
|
|
16
|
+
*
|
|
17
|
+
* Scope (Option B, smallest blast radius): this is a launcher FUNCTION, not a
|
|
18
|
+
* dispatch-config schema change. The first-class `olam dispatch --mode
|
|
19
|
+
* prototype-gen` ergonomics (Option C) + host token pre-ingest/publish are
|
|
20
|
+
* gated follow-ups (producer plan §6/§7 P3-P4) — this file wires the prompt,
|
|
21
|
+
* tools, and lineage allocator that those phases build on.
|
|
22
|
+
*
|
|
23
|
+
* Producer plan: docs/plans/prototype-gen-producer/plan.md §1, §4, §6, §7.
|
|
24
|
+
* Prompt spec: docs/plans/prototype-gen-prompt-spec/plan.md §3, §9.
|
|
25
|
+
*/
|
|
26
|
+
import { makeLineageMessageIdAllocator } from '@olam/core/src/prototype/lineage-message-id-allocator.js';
|
|
27
|
+
import { buildPrototypeGenSystemPrompt } from '../prompts/prototype-gen-agent.js';
|
|
28
|
+
import { PROTOTYPE_GEN_TOOLS } from '../prompts/prototype-gen-agent.js';
|
|
29
|
+
import { runDriver, } from './driver-runner.js';
|
|
30
|
+
/**
|
|
31
|
+
* The tool patterns the prototype-gen driver adds to the `allowedTools`
|
|
32
|
+
* allowlist. The agent emits prototypes + style guides via these two tools;
|
|
33
|
+
* the SDK surfaces them as `tool_use` blocks that the adapter persists as
|
|
34
|
+
* `prototype` / `style_guide` chunks (zero adapter changes — producer plan §0).
|
|
35
|
+
*
|
|
36
|
+
* Derived from `PROTOTYPE_GEN_TOOLS` so the allowlist can never drift from the
|
|
37
|
+
* tool definitions.
|
|
38
|
+
*/
|
|
39
|
+
export const PROTOTYPE_GEN_EXTRA_ALLOWED_TOOLS = PROTOTYPE_GEN_TOOLS.map((t) => t.name);
|
|
40
|
+
/**
|
|
41
|
+
* Normalize a prototype title into a lineage key. Lowercase + collapse internal
|
|
42
|
+
* whitespace + trim, so cosmetic title variation ("Primary CTA button" vs
|
|
43
|
+
* "primary cta button") does not fork a lineage. Per Q-A (operator-gated):
|
|
44
|
+
* the title keys the lineage WITHIN a single bounded dispatch — collisions are
|
|
45
|
+
* the operator's own naming, low-stakes — NOT a global identity.
|
|
46
|
+
*/
|
|
47
|
+
export function normalizeLineageKey(title) {
|
|
48
|
+
return title.trim().toLowerCase().replace(/\s+/g, ' ');
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Build a dispatch-scoped lineage allocator. Pure: the only state is the
|
|
52
|
+
* in-memory title→root map, which lives for the dispatch's lifetime.
|
|
53
|
+
*/
|
|
54
|
+
export function makePrototypeLineageAllocator(options = {}) {
|
|
55
|
+
const dispatchPrefix = options.dispatchPrefix ?? `proto-${Math.random().toString(36).slice(2) || '0'}`;
|
|
56
|
+
const nonceSource = options.nonceSource ?? (() => Math.random().toString(36).slice(2) || '0');
|
|
57
|
+
const clock = options.clock ?? (() => Date.now());
|
|
58
|
+
// lineageKey → lineageRoot. Same title reuses the recorded root; a new title
|
|
59
|
+
// mints a fresh one via the core per-lineage allocator.
|
|
60
|
+
const lineages = new Map();
|
|
61
|
+
let untitledCounter = 0;
|
|
62
|
+
function mintRoot(seed) {
|
|
63
|
+
// Anchor a core allocator at a dispatch-unique seed and take its lineageRoot
|
|
64
|
+
// for the per-revision messageId structure. We use the allocator's
|
|
65
|
+
// `lineageRoot` (stable) as the chunk message_id per the core contract.
|
|
66
|
+
const anchor = `${dispatchPrefix}-${seed}-${clock()}-${nonceSource()}`;
|
|
67
|
+
return makeLineageMessageIdAllocator(anchor, { clock, nonceSource }).allocate()
|
|
68
|
+
.lineageRoot;
|
|
69
|
+
}
|
|
70
|
+
return {
|
|
71
|
+
resolveForTitle(title) {
|
|
72
|
+
const key = normalizeLineageKey(title);
|
|
73
|
+
const existing = lineages.get(key);
|
|
74
|
+
if (existing !== undefined)
|
|
75
|
+
return existing;
|
|
76
|
+
const root = mintRoot(key || `untitled-${untitledCounter++}`);
|
|
77
|
+
lineages.set(key, root);
|
|
78
|
+
return root;
|
|
79
|
+
},
|
|
80
|
+
allocate() {
|
|
81
|
+
return mintRoot(`turn-${untitledCounter++}`);
|
|
82
|
+
},
|
|
83
|
+
};
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* Launch a prototype-gen driver in the host process. Delegates everything
|
|
87
|
+
* substantive to `runDriver`; this function only:
|
|
88
|
+
* 1. defaults `systemPromptAppend` to the guide-pinned prototype-gen persona,
|
|
89
|
+
* 2. widens `extraAllowedTools` with the prototype + style_guide tools,
|
|
90
|
+
* 3. installs a lineage-pinned `allocateMessageId` (Q2 mechanism).
|
|
91
|
+
*
|
|
92
|
+
* The host token pre-ingest + `style_guide` chunk publish (producer plan
|
|
93
|
+
* §3.2-A) is a gated P3 responsibility layered ABOVE this launcher — it runs
|
|
94
|
+
* before the call so the prompt-pinned guide id resolves on the agent's first
|
|
95
|
+
* `prototype` emission.
|
|
96
|
+
*/
|
|
97
|
+
export function launchPrototypeGenDriver(opts) {
|
|
98
|
+
const systemPromptAppend = opts.systemPromptAppend ??
|
|
99
|
+
buildPrototypeGenSystemPrompt(opts.styleGuideId, opts.styleGuideVersion);
|
|
100
|
+
const allocateMessageId = opts.allocateMessageId ?? makePrototypeLineageAllocator().allocate;
|
|
101
|
+
return runDriver({
|
|
102
|
+
worldId: opts.worldId,
|
|
103
|
+
sessionId: opts.sessionId,
|
|
104
|
+
hostCpUrl: opts.hostCpUrl,
|
|
105
|
+
bearer: opts.bearer,
|
|
106
|
+
sdkQuery: opts.sdkQuery,
|
|
107
|
+
systemPromptAppend,
|
|
108
|
+
extraAllowedTools: opts.extraAllowedTools ?? PROTOTYPE_GEN_EXTRA_ALLOWED_TOOLS,
|
|
109
|
+
allocateMessageId,
|
|
110
|
+
abortSignal: opts.abortSignal,
|
|
111
|
+
});
|
|
112
|
+
}
|
|
113
|
+
//# sourceMappingURL=prototype-gen-launch.js.map
|