@pleri/olam-cli 0.1.201 → 0.1.204

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.
Files changed (828) hide show
  1. package/README.md +102 -169
  2. package/dist/agent-stream/agent-sdk-to-chunks.js +1 -1
  3. package/dist/agent-stream/driver-runner.js +73 -7
  4. package/dist/agent-stream/host-driver-launch.js +14 -1
  5. package/dist/agent-stream/prototype-gen-launch.js +113 -0
  6. package/dist/agent-stream/question-broker-bridge.js +335 -0
  7. package/dist/agent-stream/sdk-env-merge.demo.js +35 -0
  8. package/dist/agent-stream/sdk-env-merge.js +98 -0
  9. package/dist/image-digests.json +8 -8
  10. package/dist/index.js +8752 -5674
  11. package/dist/index.js.map +1 -1
  12. package/dist/mcp-server.js +24721 -12934
  13. package/hermes-bundle/version.json +1 -1
  14. package/hooks/__tests__/_loader.py +26 -0
  15. package/hooks/__tests__/prompts.py +63 -0
  16. package/hooks/__tests__/test_classify_bench.py +94 -0
  17. package/hooks/__tests__/test_classify_pins.py +78 -0
  18. package/hooks/model-router.py +17 -4
  19. package/host-cp/k8s/manifests/50-deployment.yaml +1 -1
  20. package/host-cp/k8s/manifests/auth-service/50-deployment.yaml +1 -1
  21. package/host-cp/k8s/manifests/kg-service/50-deployment.yaml +1 -1
  22. package/host-cp/k8s/manifests/mcp-auth-service/50-deployment.yaml +1 -1
  23. package/host-cp/k8s/manifests/memory-service/50-deployment.yaml +1 -1
  24. package/host-cp/src/op-side-longpoll.mjs +212 -0
  25. package/host-cp/src/plan-chat-proxy-headers.mjs +53 -0
  26. package/host-cp/src/plan-chat-service.mjs +100 -0
  27. package/host-cp/src/plan-orchestrator.mjs +100 -6
  28. package/host-cp/src/server.mjs +607 -45
  29. package/package.json +8 -4
  30. package/dist/ask/checkout.d.ts +0 -19
  31. package/dist/ask/checkout.d.ts.map +0 -1
  32. package/dist/ask/checkout.js +0 -40
  33. package/dist/ask/checkout.js.map +0 -1
  34. package/dist/ask/knowledge-pack-builder.d.ts +0 -72
  35. package/dist/ask/knowledge-pack-builder.d.ts.map +0 -1
  36. package/dist/ask/knowledge-pack-builder.js +0 -96
  37. package/dist/ask/knowledge-pack-builder.js.map +0 -1
  38. package/dist/ask/knowledge-pack.generated.d.ts +0 -8
  39. package/dist/ask/knowledge-pack.generated.d.ts.map +0 -1
  40. package/dist/ask/knowledge-pack.generated.js +0 -2362
  41. package/dist/ask/knowledge-pack.generated.js.map +0 -1
  42. package/dist/ask/one-shot.d.ts +0 -21
  43. package/dist/ask/one-shot.d.ts.map +0 -1
  44. package/dist/ask/one-shot.js +0 -50
  45. package/dist/ask/one-shot.js.map +0 -1
  46. package/dist/ask/repl.d.ts +0 -30
  47. package/dist/ask/repl.d.ts.map +0 -1
  48. package/dist/ask/repl.js +0 -109
  49. package/dist/ask/repl.js.map +0 -1
  50. package/dist/ask/sdk-client.d.ts +0 -87
  51. package/dist/ask/sdk-client.d.ts.map +0 -1
  52. package/dist/ask/sdk-client.js +0 -118
  53. package/dist/ask/sdk-client.js.map +0 -1
  54. package/dist/ask/system-prompt.d.ts +0 -30
  55. package/dist/ask/system-prompt.d.ts.map +0 -1
  56. package/dist/ask/system-prompt.js +0 -31
  57. package/dist/ask/system-prompt.js.map +0 -1
  58. package/dist/cli-version.d.ts +0 -16
  59. package/dist/cli-version.d.ts.map +0 -1
  60. package/dist/cli-version.js +0 -39
  61. package/dist/cli-version.js.map +0 -1
  62. package/dist/commands/ask.d.ts +0 -27
  63. package/dist/commands/ask.d.ts.map +0 -1
  64. package/dist/commands/ask.js +0 -63
  65. package/dist/commands/ask.js.map +0 -1
  66. package/dist/commands/auth-list-json.d.ts +0 -87
  67. package/dist/commands/auth-list-json.d.ts.map +0 -1
  68. package/dist/commands/auth-list-json.js +0 -71
  69. package/dist/commands/auth-list-json.js.map +0 -1
  70. package/dist/commands/auth-migrate.d.ts +0 -212
  71. package/dist/commands/auth-migrate.d.ts.map +0 -1
  72. package/dist/commands/auth-migrate.js +0 -465
  73. package/dist/commands/auth-migrate.js.map +0 -1
  74. package/dist/commands/auth-status.d.ts +0 -51
  75. package/dist/commands/auth-status.d.ts.map +0 -1
  76. package/dist/commands/auth-status.js +0 -250
  77. package/dist/commands/auth-status.js.map +0 -1
  78. package/dist/commands/auth-upgrade.d.ts +0 -88
  79. package/dist/commands/auth-upgrade.d.ts.map +0 -1
  80. package/dist/commands/auth-upgrade.js +0 -431
  81. package/dist/commands/auth-upgrade.js.map +0 -1
  82. package/dist/commands/auth.d.ts +0 -31
  83. package/dist/commands/auth.d.ts.map +0 -1
  84. package/dist/commands/auth.js +0 -784
  85. package/dist/commands/auth.js.map +0 -1
  86. package/dist/commands/begin.d.ts +0 -27
  87. package/dist/commands/begin.d.ts.map +0 -1
  88. package/dist/commands/begin.js +0 -45
  89. package/dist/commands/begin.js.map +0 -1
  90. package/dist/commands/bootstrap.d.ts +0 -111
  91. package/dist/commands/bootstrap.d.ts.map +0 -1
  92. package/dist/commands/bootstrap.js +0 -485
  93. package/dist/commands/bootstrap.js.map +0 -1
  94. package/dist/commands/clean.d.ts +0 -41
  95. package/dist/commands/clean.d.ts.map +0 -1
  96. package/dist/commands/clean.js +0 -382
  97. package/dist/commands/clean.js.map +0 -1
  98. package/dist/commands/completion.d.ts +0 -30
  99. package/dist/commands/completion.d.ts.map +0 -1
  100. package/dist/commands/completion.js +0 -50
  101. package/dist/commands/completion.js.map +0 -1
  102. package/dist/commands/config.d.ts +0 -3
  103. package/dist/commands/config.d.ts.map +0 -1
  104. package/dist/commands/config.js +0 -146
  105. package/dist/commands/config.js.map +0 -1
  106. package/dist/commands/create.d.ts +0 -8
  107. package/dist/commands/create.d.ts.map +0 -1
  108. package/dist/commands/create.js +0 -775
  109. package/dist/commands/create.js.map +0 -1
  110. package/dist/commands/crystallize.d.ts +0 -18
  111. package/dist/commands/crystallize.d.ts.map +0 -1
  112. package/dist/commands/crystallize.js +0 -123
  113. package/dist/commands/crystallize.js.map +0 -1
  114. package/dist/commands/destroy.d.ts +0 -59
  115. package/dist/commands/destroy.d.ts.map +0 -1
  116. package/dist/commands/destroy.js +0 -148
  117. package/dist/commands/destroy.js.map +0 -1
  118. package/dist/commands/diagnose.d.ts +0 -36
  119. package/dist/commands/diagnose.d.ts.map +0 -1
  120. package/dist/commands/diagnose.js +0 -177
  121. package/dist/commands/diagnose.js.map +0 -1
  122. package/dist/commands/dispatch-resolve.d.ts +0 -54
  123. package/dist/commands/dispatch-resolve.d.ts.map +0 -1
  124. package/dist/commands/dispatch-resolve.js +0 -105
  125. package/dist/commands/dispatch-resolve.js.map +0 -1
  126. package/dist/commands/dispatch.d.ts +0 -18
  127. package/dist/commands/dispatch.d.ts.map +0 -1
  128. package/dist/commands/dispatch.js +0 -159
  129. package/dist/commands/dispatch.js.map +0 -1
  130. package/dist/commands/doctor.d.ts +0 -258
  131. package/dist/commands/doctor.d.ts.map +0 -1
  132. package/dist/commands/doctor.js +0 -1073
  133. package/dist/commands/doctor.js.map +0 -1
  134. package/dist/commands/enter.d.ts +0 -63
  135. package/dist/commands/enter.d.ts.map +0 -1
  136. package/dist/commands/enter.js +0 -230
  137. package/dist/commands/enter.js.map +0 -1
  138. package/dist/commands/flywheel/check-persona-skeleton.d.ts +0 -35
  139. package/dist/commands/flywheel/check-persona-skeleton.d.ts.map +0 -1
  140. package/dist/commands/flywheel/check-persona-skeleton.js +0 -151
  141. package/dist/commands/flywheel/check-persona-skeleton.js.map +0 -1
  142. package/dist/commands/flywheel/diversity-check.d.ts +0 -17
  143. package/dist/commands/flywheel/diversity-check.d.ts.map +0 -1
  144. package/dist/commands/flywheel/diversity-check.js +0 -64
  145. package/dist/commands/flywheel/diversity-check.js.map +0 -1
  146. package/dist/commands/flywheel/emit-breadcrumb.d.ts +0 -20
  147. package/dist/commands/flywheel/emit-breadcrumb.d.ts.map +0 -1
  148. package/dist/commands/flywheel/emit-breadcrumb.js +0 -137
  149. package/dist/commands/flywheel/emit-breadcrumb.js.map +0 -1
  150. package/dist/commands/flywheel/index.d.ts +0 -27
  151. package/dist/commands/flywheel/index.d.ts.map +0 -1
  152. package/dist/commands/flywheel/index.js +0 -54
  153. package/dist/commands/flywheel/index.js.map +0 -1
  154. package/dist/commands/flywheel/install-sessionstart-hook.d.ts +0 -64
  155. package/dist/commands/flywheel/install-sessionstart-hook.d.ts.map +0 -1
  156. package/dist/commands/flywheel/install-sessionstart-hook.js +0 -197
  157. package/dist/commands/flywheel/install-sessionstart-hook.js.map +0 -1
  158. package/dist/commands/flywheel/install-shims.d.ts +0 -41
  159. package/dist/commands/flywheel/install-shims.d.ts.map +0 -1
  160. package/dist/commands/flywheel/install-shims.js +0 -126
  161. package/dist/commands/flywheel/install-shims.js.map +0 -1
  162. package/dist/commands/flywheel/k10-measure.d.ts +0 -17
  163. package/dist/commands/flywheel/k10-measure.d.ts.map +0 -1
  164. package/dist/commands/flywheel/k10-measure.js +0 -63
  165. package/dist/commands/flywheel/k10-measure.js.map +0 -1
  166. package/dist/commands/flywheel/k5-score.d.ts +0 -14
  167. package/dist/commands/flywheel/k5-score.d.ts.map +0 -1
  168. package/dist/commands/flywheel/k5-score.js +0 -59
  169. package/dist/commands/flywheel/k5-score.js.map +0 -1
  170. package/dist/commands/flywheel/k5-validate.d.ts +0 -46
  171. package/dist/commands/flywheel/k5-validate.d.ts.map +0 -1
  172. package/dist/commands/flywheel/k5-validate.js +0 -246
  173. package/dist/commands/flywheel/k5-validate.js.map +0 -1
  174. package/dist/commands/flywheel/migrate-overlays.d.ts +0 -116
  175. package/dist/commands/flywheel/migrate-overlays.d.ts.map +0 -1
  176. package/dist/commands/flywheel/migrate-overlays.js +0 -792
  177. package/dist/commands/flywheel/migrate-overlays.js.map +0 -1
  178. package/dist/commands/flywheel/ping.d.ts +0 -21
  179. package/dist/commands/flywheel/ping.d.ts.map +0 -1
  180. package/dist/commands/flywheel/ping.js +0 -79
  181. package/dist/commands/flywheel/ping.js.map +0 -1
  182. package/dist/commands/flywheel/sanitize-persona-output.d.ts +0 -38
  183. package/dist/commands/flywheel/sanitize-persona-output.d.ts.map +0 -1
  184. package/dist/commands/flywheel/sanitize-persona-output.js +0 -102
  185. package/dist/commands/flywheel/sanitize-persona-output.js.map +0 -1
  186. package/dist/commands/flywheel/session-start.d.ts +0 -26
  187. package/dist/commands/flywheel/session-start.d.ts.map +0 -1
  188. package/dist/commands/flywheel/session-start.js +0 -119
  189. package/dist/commands/flywheel/session-start.js.map +0 -1
  190. package/dist/commands/hermes-kg-hook.d.ts +0 -36
  191. package/dist/commands/hermes-kg-hook.d.ts.map +0 -1
  192. package/dist/commands/hermes-kg-hook.js +0 -80
  193. package/dist/commands/hermes-kg-hook.js.map +0 -1
  194. package/dist/commands/hermes.d.ts +0 -46
  195. package/dist/commands/hermes.d.ts.map +0 -1
  196. package/dist/commands/hermes.js +0 -320
  197. package/dist/commands/hermes.js.map +0 -1
  198. package/dist/commands/host-cp.d.ts +0 -216
  199. package/dist/commands/host-cp.d.ts.map +0 -1
  200. package/dist/commands/host-cp.js +0 -913
  201. package/dist/commands/host-cp.js.map +0 -1
  202. package/dist/commands/implode.d.ts +0 -86
  203. package/dist/commands/implode.d.ts.map +0 -1
  204. package/dist/commands/implode.js +0 -468
  205. package/dist/commands/implode.js.map +0 -1
  206. package/dist/commands/init.d.ts +0 -86
  207. package/dist/commands/init.d.ts.map +0 -1
  208. package/dist/commands/init.js +0 -357
  209. package/dist/commands/init.js.map +0 -1
  210. package/dist/commands/install.d.ts +0 -22
  211. package/dist/commands/install.d.ts.map +0 -1
  212. package/dist/commands/install.js +0 -203
  213. package/dist/commands/install.js.map +0 -1
  214. package/dist/commands/keys-list-json.d.ts +0 -55
  215. package/dist/commands/keys-list-json.d.ts.map +0 -1
  216. package/dist/commands/keys-list-json.js +0 -54
  217. package/dist/commands/keys-list-json.js.map +0 -1
  218. package/dist/commands/keys.d.ts +0 -26
  219. package/dist/commands/keys.d.ts.map +0 -1
  220. package/dist/commands/keys.js +0 -157
  221. package/dist/commands/keys.js.map +0 -1
  222. package/dist/commands/kg-build.d.ts +0 -80
  223. package/dist/commands/kg-build.d.ts.map +0 -1
  224. package/dist/commands/kg-build.js +0 -282
  225. package/dist/commands/kg-build.js.map +0 -1
  226. package/dist/commands/kg-classify.d.ts +0 -30
  227. package/dist/commands/kg-classify.d.ts.map +0 -1
  228. package/dist/commands/kg-classify.js +0 -88
  229. package/dist/commands/kg-classify.js.map +0 -1
  230. package/dist/commands/kg-doctor.d.ts +0 -76
  231. package/dist/commands/kg-doctor.d.ts.map +0 -1
  232. package/dist/commands/kg-doctor.js +0 -262
  233. package/dist/commands/kg-doctor.js.map +0 -1
  234. package/dist/commands/kg-install-hook.d.ts +0 -20
  235. package/dist/commands/kg-install-hook.d.ts.map +0 -1
  236. package/dist/commands/kg-install-hook.js +0 -208
  237. package/dist/commands/kg-install-hook.js.map +0 -1
  238. package/dist/commands/kg-mirror.d.ts +0 -72
  239. package/dist/commands/kg-mirror.d.ts.map +0 -1
  240. package/dist/commands/kg-mirror.js +0 -397
  241. package/dist/commands/kg-mirror.js.map +0 -1
  242. package/dist/commands/kg-savings.d.ts +0 -20
  243. package/dist/commands/kg-savings.d.ts.map +0 -1
  244. package/dist/commands/kg-savings.js +0 -77
  245. package/dist/commands/kg-savings.js.map +0 -1
  246. package/dist/commands/kg-service-container.d.ts +0 -68
  247. package/dist/commands/kg-service-container.d.ts.map +0 -1
  248. package/dist/commands/kg-service-container.js +0 -191
  249. package/dist/commands/kg-service-container.js.map +0 -1
  250. package/dist/commands/kg-status.d.ts +0 -59
  251. package/dist/commands/kg-status.d.ts.map +0 -1
  252. package/dist/commands/kg-status.js +0 -344
  253. package/dist/commands/kg-status.js.map +0 -1
  254. package/dist/commands/kg-uninstall-hook.d.ts +0 -12
  255. package/dist/commands/kg-uninstall-hook.d.ts.map +0 -1
  256. package/dist/commands/kg-uninstall-hook.js +0 -121
  257. package/dist/commands/kg-uninstall-hook.js.map +0 -1
  258. package/dist/commands/kg-watch.d.ts +0 -49
  259. package/dist/commands/kg-watch.d.ts.map +0 -1
  260. package/dist/commands/kg-watch.js +0 -172
  261. package/dist/commands/kg-watch.js.map +0 -1
  262. package/dist/commands/lanes-list-json.d.ts +0 -69
  263. package/dist/commands/lanes-list-json.d.ts.map +0 -1
  264. package/dist/commands/lanes-list-json.js +0 -42
  265. package/dist/commands/lanes-list-json.js.map +0 -1
  266. package/dist/commands/lanes.d.ts +0 -18
  267. package/dist/commands/lanes.d.ts.map +0 -1
  268. package/dist/commands/lanes.js +0 -133
  269. package/dist/commands/lanes.js.map +0 -1
  270. package/dist/commands/list.d.ts +0 -33
  271. package/dist/commands/list.d.ts.map +0 -1
  272. package/dist/commands/list.js +0 -87
  273. package/dist/commands/list.js.map +0 -1
  274. package/dist/commands/logs.d.ts +0 -52
  275. package/dist/commands/logs.d.ts.map +0 -1
  276. package/dist/commands/logs.js +0 -180
  277. package/dist/commands/logs.js.map +0 -1
  278. package/dist/commands/mcp/add.d.ts +0 -9
  279. package/dist/commands/mcp/add.d.ts.map +0 -1
  280. package/dist/commands/mcp/add.js +0 -87
  281. package/dist/commands/mcp/add.js.map +0 -1
  282. package/dist/commands/mcp/client.d.ts +0 -60
  283. package/dist/commands/mcp/client.d.ts.map +0 -1
  284. package/dist/commands/mcp/client.js +0 -70
  285. package/dist/commands/mcp/client.js.map +0 -1
  286. package/dist/commands/mcp/complete.d.ts +0 -36
  287. package/dist/commands/mcp/complete.d.ts.map +0 -1
  288. package/dist/commands/mcp/complete.js +0 -66
  289. package/dist/commands/mcp/complete.js.map +0 -1
  290. package/dist/commands/mcp/import-discovery.d.ts +0 -25
  291. package/dist/commands/mcp/import-discovery.d.ts.map +0 -1
  292. package/dist/commands/mcp/import-discovery.js +0 -135
  293. package/dist/commands/mcp/import-discovery.js.map +0 -1
  294. package/dist/commands/mcp/import-validate.d.ts +0 -15
  295. package/dist/commands/mcp/import-validate.d.ts.map +0 -1
  296. package/dist/commands/mcp/import-validate.js +0 -55
  297. package/dist/commands/mcp/import-validate.js.map +0 -1
  298. package/dist/commands/mcp/import.d.ts +0 -12
  299. package/dist/commands/mcp/import.d.ts.map +0 -1
  300. package/dist/commands/mcp/import.js +0 -126
  301. package/dist/commands/mcp/import.js.map +0 -1
  302. package/dist/commands/mcp/index.d.ts +0 -14
  303. package/dist/commands/mcp/index.d.ts.map +0 -1
  304. package/dist/commands/mcp/index.js +0 -39
  305. package/dist/commands/mcp/index.js.map +0 -1
  306. package/dist/commands/mcp/install-shared.d.ts +0 -24
  307. package/dist/commands/mcp/install-shared.d.ts.map +0 -1
  308. package/dist/commands/mcp/install-shared.js +0 -42
  309. package/dist/commands/mcp/install-shared.js.map +0 -1
  310. package/dist/commands/mcp/install.d.ts +0 -20
  311. package/dist/commands/mcp/install.d.ts.map +0 -1
  312. package/dist/commands/mcp/install.js +0 -59
  313. package/dist/commands/mcp/install.js.map +0 -1
  314. package/dist/commands/mcp/list.d.ts +0 -6
  315. package/dist/commands/mcp/list.d.ts.map +0 -1
  316. package/dist/commands/mcp/list.js +0 -56
  317. package/dist/commands/mcp/list.js.map +0 -1
  318. package/dist/commands/mcp/login.d.ts +0 -6
  319. package/dist/commands/mcp/login.d.ts.map +0 -1
  320. package/dist/commands/mcp/login.js +0 -38
  321. package/dist/commands/mcp/login.js.map +0 -1
  322. package/dist/commands/mcp/remove.d.ts +0 -6
  323. package/dist/commands/mcp/remove.d.ts.map +0 -1
  324. package/dist/commands/mcp/remove.js +0 -21
  325. package/dist/commands/mcp/remove.js.map +0 -1
  326. package/dist/commands/mcp/revoke.d.ts +0 -11
  327. package/dist/commands/mcp/revoke.d.ts.map +0 -1
  328. package/dist/commands/mcp/revoke.js +0 -51
  329. package/dist/commands/mcp/revoke.js.map +0 -1
  330. package/dist/commands/mcp/serve.d.ts +0 -23
  331. package/dist/commands/mcp/serve.d.ts.map +0 -1
  332. package/dist/commands/mcp/serve.js +0 -55
  333. package/dist/commands/mcp/serve.js.map +0 -1
  334. package/dist/commands/mcp/status.d.ts +0 -6
  335. package/dist/commands/mcp/status.d.ts.map +0 -1
  336. package/dist/commands/mcp/status.js +0 -57
  337. package/dist/commands/mcp/status.js.map +0 -1
  338. package/dist/commands/mcp/uninstall.d.ts +0 -20
  339. package/dist/commands/mcp/uninstall.d.ts.map +0 -1
  340. package/dist/commands/mcp/uninstall.js +0 -60
  341. package/dist/commands/mcp/uninstall.js.map +0 -1
  342. package/dist/commands/memory/_paths.d.ts +0 -25
  343. package/dist/commands/memory/_paths.d.ts.map +0 -1
  344. package/dist/commands/memory/_paths.js +0 -57
  345. package/dist/commands/memory/_paths.js.map +0 -1
  346. package/dist/commands/memory/bridge.d.ts +0 -57
  347. package/dist/commands/memory/bridge.d.ts.map +0 -1
  348. package/dist/commands/memory/bridge.js +0 -152
  349. package/dist/commands/memory/bridge.js.map +0 -1
  350. package/dist/commands/memory/index.d.ts +0 -20
  351. package/dist/commands/memory/index.d.ts.map +0 -1
  352. package/dist/commands/memory/index.js +0 -47
  353. package/dist/commands/memory/index.js.map +0 -1
  354. package/dist/commands/memory/install-hooks.d.ts +0 -22
  355. package/dist/commands/memory/install-hooks.d.ts.map +0 -1
  356. package/dist/commands/memory/install-hooks.js +0 -156
  357. package/dist/commands/memory/install-hooks.js.map +0 -1
  358. package/dist/commands/memory/install.d.ts +0 -57
  359. package/dist/commands/memory/install.d.ts.map +0 -1
  360. package/dist/commands/memory/install.js +0 -114
  361. package/dist/commands/memory/install.js.map +0 -1
  362. package/dist/commands/memory/logs.d.ts +0 -19
  363. package/dist/commands/memory/logs.d.ts.map +0 -1
  364. package/dist/commands/memory/logs.js +0 -50
  365. package/dist/commands/memory/logs.js.map +0 -1
  366. package/dist/commands/memory/mode.d.ts +0 -47
  367. package/dist/commands/memory/mode.d.ts.map +0 -1
  368. package/dist/commands/memory/mode.js +0 -185
  369. package/dist/commands/memory/mode.js.map +0 -1
  370. package/dist/commands/memory/reclassify.d.ts +0 -56
  371. package/dist/commands/memory/reclassify.d.ts.map +0 -1
  372. package/dist/commands/memory/reclassify.js +0 -177
  373. package/dist/commands/memory/reclassify.js.map +0 -1
  374. package/dist/commands/memory/secret.d.ts +0 -16
  375. package/dist/commands/memory/secret.d.ts.map +0 -1
  376. package/dist/commands/memory/secret.js +0 -80
  377. package/dist/commands/memory/secret.js.map +0 -1
  378. package/dist/commands/memory/start.d.ts +0 -25
  379. package/dist/commands/memory/start.d.ts.map +0 -1
  380. package/dist/commands/memory/start.js +0 -83
  381. package/dist/commands/memory/start.js.map +0 -1
  382. package/dist/commands/memory/stats.d.ts +0 -69
  383. package/dist/commands/memory/stats.d.ts.map +0 -1
  384. package/dist/commands/memory/stats.js +0 -164
  385. package/dist/commands/memory/stats.js.map +0 -1
  386. package/dist/commands/memory/status.d.ts +0 -45
  387. package/dist/commands/memory/status.d.ts.map +0 -1
  388. package/dist/commands/memory/status.js +0 -134
  389. package/dist/commands/memory/status.js.map +0 -1
  390. package/dist/commands/memory/stop.d.ts +0 -13
  391. package/dist/commands/memory/stop.d.ts.map +0 -1
  392. package/dist/commands/memory/stop.js +0 -52
  393. package/dist/commands/memory/stop.js.map +0 -1
  394. package/dist/commands/memory/uninstall.d.ts +0 -19
  395. package/dist/commands/memory/uninstall.d.ts.map +0 -1
  396. package/dist/commands/memory/uninstall.js +0 -60
  397. package/dist/commands/memory/uninstall.js.map +0 -1
  398. package/dist/commands/memory-service-container.d.ts +0 -130
  399. package/dist/commands/memory-service-container.d.ts.map +0 -1
  400. package/dist/commands/memory-service-container.js +0 -251
  401. package/dist/commands/memory-service-container.js.map +0 -1
  402. package/dist/commands/observe.d.ts +0 -9
  403. package/dist/commands/observe.d.ts.map +0 -1
  404. package/dist/commands/observe.js +0 -42
  405. package/dist/commands/observe.js.map +0 -1
  406. package/dist/commands/plans-list-json.d.ts +0 -77
  407. package/dist/commands/plans-list-json.d.ts.map +0 -1
  408. package/dist/commands/plans-list-json.js +0 -61
  409. package/dist/commands/plans-list-json.js.map +0 -1
  410. package/dist/commands/plans.d.ts +0 -3
  411. package/dist/commands/plans.d.ts.map +0 -1
  412. package/dist/commands/plans.js +0 -221
  413. package/dist/commands/plans.js.map +0 -1
  414. package/dist/commands/policy-check.d.ts +0 -14
  415. package/dist/commands/policy-check.d.ts.map +0 -1
  416. package/dist/commands/policy-check.js +0 -76
  417. package/dist/commands/policy-check.js.map +0 -1
  418. package/dist/commands/pr.d.ts +0 -17
  419. package/dist/commands/pr.d.ts.map +0 -1
  420. package/dist/commands/pr.js +0 -148
  421. package/dist/commands/pr.js.map +0 -1
  422. package/dist/commands/ps.d.ts +0 -57
  423. package/dist/commands/ps.d.ts.map +0 -1
  424. package/dist/commands/ps.js +0 -202
  425. package/dist/commands/ps.js.map +0 -1
  426. package/dist/commands/refresh-helpers.d.ts +0 -25
  427. package/dist/commands/refresh-helpers.d.ts.map +0 -1
  428. package/dist/commands/refresh-helpers.js +0 -56
  429. package/dist/commands/refresh-helpers.js.map +0 -1
  430. package/dist/commands/refresh.d.ts +0 -23
  431. package/dist/commands/refresh.d.ts.map +0 -1
  432. package/dist/commands/refresh.js +0 -237
  433. package/dist/commands/refresh.js.map +0 -1
  434. package/dist/commands/rekey.d.ts +0 -84
  435. package/dist/commands/rekey.d.ts.map +0 -1
  436. package/dist/commands/rekey.js +0 -209
  437. package/dist/commands/rekey.js.map +0 -1
  438. package/dist/commands/repos-list-json.d.ts +0 -58
  439. package/dist/commands/repos-list-json.d.ts.map +0 -1
  440. package/dist/commands/repos-list-json.js +0 -45
  441. package/dist/commands/repos-list-json.js.map +0 -1
  442. package/dist/commands/repos.d.ts +0 -11
  443. package/dist/commands/repos.d.ts.map +0 -1
  444. package/dist/commands/repos.js +0 -102
  445. package/dist/commands/repos.js.map +0 -1
  446. package/dist/commands/restart.d.ts +0 -18
  447. package/dist/commands/restart.d.ts.map +0 -1
  448. package/dist/commands/restart.js +0 -113
  449. package/dist/commands/restart.js.map +0 -1
  450. package/dist/commands/resume.d.ts +0 -63
  451. package/dist/commands/resume.d.ts.map +0 -1
  452. package/dist/commands/resume.js +0 -174
  453. package/dist/commands/resume.js.map +0 -1
  454. package/dist/commands/runbooks.d.ts +0 -45
  455. package/dist/commands/runbooks.d.ts.map +0 -1
  456. package/dist/commands/runbooks.js +0 -313
  457. package/dist/commands/runbooks.js.map +0 -1
  458. package/dist/commands/seed.d.ts +0 -27
  459. package/dist/commands/seed.d.ts.map +0 -1
  460. package/dist/commands/seed.js +0 -303
  461. package/dist/commands/seed.js.map +0 -1
  462. package/dist/commands/services-tls.d.ts +0 -120
  463. package/dist/commands/services-tls.d.ts.map +0 -1
  464. package/dist/commands/services-tls.js +0 -489
  465. package/dist/commands/services-tls.js.map +0 -1
  466. package/dist/commands/services.d.ts +0 -218
  467. package/dist/commands/services.d.ts.map +0 -1
  468. package/dist/commands/services.js +0 -830
  469. package/dist/commands/services.js.map +0 -1
  470. package/dist/commands/setup-linux-gate.d.ts +0 -26
  471. package/dist/commands/setup-linux-gate.d.ts.map +0 -1
  472. package/dist/commands/setup-linux-gate.js +0 -40
  473. package/dist/commands/setup-linux-gate.js.map +0 -1
  474. package/dist/commands/setup-metrics.d.ts +0 -26
  475. package/dist/commands/setup-metrics.d.ts.map +0 -1
  476. package/dist/commands/setup-metrics.js +0 -56
  477. package/dist/commands/setup-metrics.js.map +0 -1
  478. package/dist/commands/setup-phase-5a-skill-source.d.ts +0 -84
  479. package/dist/commands/setup-phase-5a-skill-source.d.ts.map +0 -1
  480. package/dist/commands/setup-phase-5a-skill-source.js +0 -259
  481. package/dist/commands/setup-phase-5a-skill-source.js.map +0 -1
  482. package/dist/commands/setup-phase-5b-project-sweep.d.ts +0 -38
  483. package/dist/commands/setup-phase-5b-project-sweep.d.ts.map +0 -1
  484. package/dist/commands/setup-phase-5b-project-sweep.js +0 -175
  485. package/dist/commands/setup-phase-5b-project-sweep.js.map +0 -1
  486. package/dist/commands/setup-phase-8-kg-hook.d.ts +0 -48
  487. package/dist/commands/setup-phase-8-kg-hook.d.ts.map +0 -1
  488. package/dist/commands/setup-phase-8-kg-hook.js +0 -93
  489. package/dist/commands/setup-phase-8-kg-hook.js.map +0 -1
  490. package/dist/commands/setup-phase-9-memory-bridge.d.ts +0 -36
  491. package/dist/commands/setup-phase-9-memory-bridge.d.ts.map +0 -1
  492. package/dist/commands/setup-phase-9-memory-bridge.js +0 -59
  493. package/dist/commands/setup-phase-9-memory-bridge.js.map +0 -1
  494. package/dist/commands/setup.d.ts +0 -231
  495. package/dist/commands/setup.d.ts.map +0 -1
  496. package/dist/commands/setup.js +0 -1374
  497. package/dist/commands/setup.js.map +0 -1
  498. package/dist/commands/skills-100x.d.ts +0 -34
  499. package/dist/commands/skills-100x.d.ts.map +0 -1
  500. package/dist/commands/skills-100x.js +0 -405
  501. package/dist/commands/skills-100x.js.map +0 -1
  502. package/dist/commands/skills-doctor.d.ts +0 -14
  503. package/dist/commands/skills-doctor.d.ts.map +0 -1
  504. package/dist/commands/skills-doctor.js +0 -126
  505. package/dist/commands/skills-doctor.js.map +0 -1
  506. package/dist/commands/skills-hook.d.ts +0 -19
  507. package/dist/commands/skills-hook.d.ts.map +0 -1
  508. package/dist/commands/skills-hook.js +0 -99
  509. package/dist/commands/skills-hook.js.map +0 -1
  510. package/dist/commands/skills-install-model-router.d.ts +0 -20
  511. package/dist/commands/skills-install-model-router.d.ts.map +0 -1
  512. package/dist/commands/skills-install-model-router.js +0 -55
  513. package/dist/commands/skills-install-model-router.js.map +0 -1
  514. package/dist/commands/skills-migrate-back.d.ts +0 -21
  515. package/dist/commands/skills-migrate-back.d.ts.map +0 -1
  516. package/dist/commands/skills-migrate-back.js +0 -222
  517. package/dist/commands/skills-migrate-back.js.map +0 -1
  518. package/dist/commands/skills-migrate-hooks-back.d.ts +0 -19
  519. package/dist/commands/skills-migrate-hooks-back.d.ts.map +0 -1
  520. package/dist/commands/skills-migrate-hooks-back.js +0 -83
  521. package/dist/commands/skills-migrate-hooks-back.js.map +0 -1
  522. package/dist/commands/skills-migrate-hooks.d.ts +0 -40
  523. package/dist/commands/skills-migrate-hooks.d.ts.map +0 -1
  524. package/dist/commands/skills-migrate-hooks.js +0 -178
  525. package/dist/commands/skills-migrate-hooks.js.map +0 -1
  526. package/dist/commands/skills-migrate.d.ts +0 -33
  527. package/dist/commands/skills-migrate.d.ts.map +0 -1
  528. package/dist/commands/skills-migrate.js +0 -216
  529. package/dist/commands/skills-migrate.js.map +0 -1
  530. package/dist/commands/skills-onboard.d.ts +0 -26
  531. package/dist/commands/skills-onboard.d.ts.map +0 -1
  532. package/dist/commands/skills-onboard.js +0 -230
  533. package/dist/commands/skills-onboard.js.map +0 -1
  534. package/dist/commands/skills-shadow-backups.d.ts +0 -15
  535. package/dist/commands/skills-shadow-backups.d.ts.map +0 -1
  536. package/dist/commands/skills-shadow-backups.js +0 -132
  537. package/dist/commands/skills-shadow-backups.js.map +0 -1
  538. package/dist/commands/skills-source.d.ts +0 -61
  539. package/dist/commands/skills-source.d.ts.map +0 -1
  540. package/dist/commands/skills-source.js +0 -895
  541. package/dist/commands/skills-source.js.map +0 -1
  542. package/dist/commands/skills.d.ts +0 -59
  543. package/dist/commands/skills.d.ts.map +0 -1
  544. package/dist/commands/skills.js +0 -461
  545. package/dist/commands/skills.js.map +0 -1
  546. package/dist/commands/status.d.ts +0 -65
  547. package/dist/commands/status.d.ts.map +0 -1
  548. package/dist/commands/status.js +0 -249
  549. package/dist/commands/status.js.map +0 -1
  550. package/dist/commands/stop.d.ts +0 -10
  551. package/dist/commands/stop.d.ts.map +0 -1
  552. package/dist/commands/stop.js +0 -17
  553. package/dist/commands/stop.js.map +0 -1
  554. package/dist/commands/substrate-audit-log.d.ts +0 -51
  555. package/dist/commands/substrate-audit-log.d.ts.map +0 -1
  556. package/dist/commands/substrate-audit-log.js +0 -161
  557. package/dist/commands/substrate-audit-log.js.map +0 -1
  558. package/dist/commands/substrate.d.ts +0 -87
  559. package/dist/commands/substrate.d.ts.map +0 -1
  560. package/dist/commands/substrate.js +0 -194
  561. package/dist/commands/substrate.js.map +0 -1
  562. package/dist/commands/update.d.ts +0 -89
  563. package/dist/commands/update.d.ts.map +0 -1
  564. package/dist/commands/update.js +0 -331
  565. package/dist/commands/update.js.map +0 -1
  566. package/dist/commands/upgrade-history.d.ts +0 -15
  567. package/dist/commands/upgrade-history.d.ts.map +0 -1
  568. package/dist/commands/upgrade-history.js +0 -34
  569. package/dist/commands/upgrade-history.js.map +0 -1
  570. package/dist/commands/upgrade-lock.d.ts +0 -93
  571. package/dist/commands/upgrade-lock.d.ts.map +0 -1
  572. package/dist/commands/upgrade-lock.js +0 -225
  573. package/dist/commands/upgrade-lock.js.map +0 -1
  574. package/dist/commands/upgrade-log.d.ts +0 -86
  575. package/dist/commands/upgrade-log.d.ts.map +0 -1
  576. package/dist/commands/upgrade-log.js +0 -146
  577. package/dist/commands/upgrade-log.js.map +0 -1
  578. package/dist/commands/upgrade.d.ts +0 -445
  579. package/dist/commands/upgrade.d.ts.map +0 -1
  580. package/dist/commands/upgrade.js +0 -1718
  581. package/dist/commands/upgrade.js.map +0 -1
  582. package/dist/commands/workspace-list-json.d.ts +0 -73
  583. package/dist/commands/workspace-list-json.d.ts.map +0 -1
  584. package/dist/commands/workspace-list-json.js +0 -59
  585. package/dist/commands/workspace-list-json.js.map +0 -1
  586. package/dist/commands/workspace.d.ts +0 -23
  587. package/dist/commands/workspace.d.ts.map +0 -1
  588. package/dist/commands/workspace.js +0 -203
  589. package/dist/commands/workspace.js.map +0 -1
  590. package/dist/commands/world-snapshot.d.ts +0 -32
  591. package/dist/commands/world-snapshot.d.ts.map +0 -1
  592. package/dist/commands/world-snapshot.js +0 -531
  593. package/dist/commands/world-snapshot.js.map +0 -1
  594. package/dist/commands/world-upgrade.d.ts +0 -33
  595. package/dist/commands/world-upgrade.d.ts.map +0 -1
  596. package/dist/commands/world-upgrade.js +0 -82
  597. package/dist/commands/world-upgrade.js.map +0 -1
  598. package/dist/commands/world.d.ts +0 -12
  599. package/dist/commands/world.d.ts.map +0 -1
  600. package/dist/commands/world.js +0 -18
  601. package/dist/commands/world.js.map +0 -1
  602. package/dist/commands/worldspec/compile.d.ts +0 -20
  603. package/dist/commands/worldspec/compile.d.ts.map +0 -1
  604. package/dist/commands/worldspec/compile.js +0 -130
  605. package/dist/commands/worldspec/compile.js.map +0 -1
  606. package/dist/commands/worldspec/index.d.ts +0 -12
  607. package/dist/commands/worldspec/index.d.ts.map +0 -1
  608. package/dist/commands/worldspec/index.js +0 -23
  609. package/dist/commands/worldspec/index.js.map +0 -1
  610. package/dist/commands/worldspec/init.d.ts +0 -15
  611. package/dist/commands/worldspec/init.d.ts.map +0 -1
  612. package/dist/commands/worldspec/init.js +0 -166
  613. package/dist/commands/worldspec/init.js.map +0 -1
  614. package/dist/commands/worldspec/schema.d.ts +0 -11
  615. package/dist/commands/worldspec/schema.d.ts.map +0 -1
  616. package/dist/commands/worldspec/schema.js +0 -55
  617. package/dist/commands/worldspec/schema.js.map +0 -1
  618. package/dist/commands/worldspec/validate.d.ts +0 -15
  619. package/dist/commands/worldspec/validate.d.ts.map +0 -1
  620. package/dist/commands/worldspec/validate.js +0 -66
  621. package/dist/commands/worldspec/validate.js.map +0 -1
  622. package/dist/commands/yolo.d.ts +0 -95
  623. package/dist/commands/yolo.d.ts.map +0 -1
  624. package/dist/commands/yolo.js +0 -377
  625. package/dist/commands/yolo.js.map +0 -1
  626. package/dist/context.d.ts +0 -30
  627. package/dist/context.d.ts.map +0 -1
  628. package/dist/context.js +0 -56
  629. package/dist/context.js.map +0 -1
  630. package/dist/docker-host.d.ts +0 -18
  631. package/dist/docker-host.d.ts.map +0 -1
  632. package/dist/docker-host.js +0 -17
  633. package/dist/docker-host.js.map +0 -1
  634. package/dist/exit-codes.d.ts +0 -67
  635. package/dist/exit-codes.d.ts.map +0 -1
  636. package/dist/exit-codes.js +0 -67
  637. package/dist/exit-codes.js.map +0 -1
  638. package/dist/from-manifest.d.ts +0 -53
  639. package/dist/from-manifest.d.ts.map +0 -1
  640. package/dist/from-manifest.js +0 -95
  641. package/dist/from-manifest.js.map +0 -1
  642. package/dist/image-presence.d.ts +0 -40
  643. package/dist/image-presence.d.ts.map +0 -1
  644. package/dist/image-presence.js +0 -39
  645. package/dist/image-presence.js.map +0 -1
  646. package/dist/index.d.ts +0 -9
  647. package/dist/index.d.ts.map +0 -1
  648. package/dist/install-root.d.ts +0 -74
  649. package/dist/install-root.d.ts.map +0 -1
  650. package/dist/install-root.js +0 -98
  651. package/dist/install-root.js.map +0 -1
  652. package/dist/lib/anthropic-base-url-file.d.ts +0 -37
  653. package/dist/lib/anthropic-base-url-file.d.ts.map +0 -1
  654. package/dist/lib/anthropic-base-url-file.js +0 -46
  655. package/dist/lib/anthropic-base-url-file.js.map +0 -1
  656. package/dist/lib/auth-backend.d.ts +0 -168
  657. package/dist/lib/auth-backend.d.ts.map +0 -1
  658. package/dist/lib/auth-backend.js +0 -172
  659. package/dist/lib/auth-backend.js.map +0 -1
  660. package/dist/lib/auth-list-cache.d.ts +0 -67
  661. package/dist/lib/auth-list-cache.d.ts.map +0 -1
  662. package/dist/lib/auth-list-cache.js +0 -84
  663. package/dist/lib/auth-list-cache.js.map +0 -1
  664. package/dist/lib/auth-list.d.ts +0 -107
  665. package/dist/lib/auth-list.d.ts.map +0 -1
  666. package/dist/lib/auth-list.js +0 -123
  667. package/dist/lib/auth-list.js.map +0 -1
  668. package/dist/lib/auth-login.d.ts +0 -92
  669. package/dist/lib/auth-login.d.ts.map +0 -1
  670. package/dist/lib/auth-login.js +0 -124
  671. package/dist/lib/auth-login.js.map +0 -1
  672. package/dist/lib/auth-mutator-backend.d.ts +0 -54
  673. package/dist/lib/auth-mutator-backend.d.ts.map +0 -1
  674. package/dist/lib/auth-mutator-backend.js +0 -62
  675. package/dist/lib/auth-mutator-backend.js.map +0 -1
  676. package/dist/lib/auth-refresh-kubernetes.d.ts +0 -65
  677. package/dist/lib/auth-refresh-kubernetes.d.ts.map +0 -1
  678. package/dist/lib/auth-refresh-kubernetes.js +0 -125
  679. package/dist/lib/auth-refresh-kubernetes.js.map +0 -1
  680. package/dist/lib/auth-remote.d.ts +0 -172
  681. package/dist/lib/auth-remote.d.ts.map +0 -1
  682. package/dist/lib/auth-remote.js +0 -394
  683. package/dist/lib/auth-remote.js.map +0 -1
  684. package/dist/lib/bootstrap-kubernetes.d.ts +0 -164
  685. package/dist/lib/bootstrap-kubernetes.d.ts.map +0 -1
  686. package/dist/lib/bootstrap-kubernetes.js +0 -1002
  687. package/dist/lib/bootstrap-kubernetes.js.map +0 -1
  688. package/dist/lib/build-if-stale.d.ts +0 -33
  689. package/dist/lib/build-if-stale.d.ts.map +0 -1
  690. package/dist/lib/build-if-stale.js +0 -156
  691. package/dist/lib/build-if-stale.js.map +0 -1
  692. package/dist/lib/bundle-freshness.d.ts +0 -57
  693. package/dist/lib/bundle-freshness.d.ts.map +0 -1
  694. package/dist/lib/bundle-freshness.js +0 -223
  695. package/dist/lib/bundle-freshness.js.map +0 -1
  696. package/dist/lib/bundle-source.d.ts +0 -52
  697. package/dist/lib/bundle-source.d.ts.map +0 -1
  698. package/dist/lib/bundle-source.js +0 -83
  699. package/dist/lib/bundle-source.js.map +0 -1
  700. package/dist/lib/cf-access-token.d.ts +0 -32
  701. package/dist/lib/cf-access-token.d.ts.map +0 -1
  702. package/dist/lib/cf-access-token.js +0 -51
  703. package/dist/lib/cf-access-token.js.map +0 -1
  704. package/dist/lib/completion-generator.d.ts +0 -107
  705. package/dist/lib/completion-generator.d.ts.map +0 -1
  706. package/dist/lib/completion-generator.js +0 -226
  707. package/dist/lib/completion-generator.js.map +0 -1
  708. package/dist/lib/config.d.ts +0 -114
  709. package/dist/lib/config.d.ts.map +0 -1
  710. package/dist/lib/config.js +0 -246
  711. package/dist/lib/config.js.map +0 -1
  712. package/dist/lib/flywheel-probes.d.ts +0 -58
  713. package/dist/lib/flywheel-probes.d.ts.map +0 -1
  714. package/dist/lib/flywheel-probes.js +0 -163
  715. package/dist/lib/flywheel-probes.js.map +0 -1
  716. package/dist/lib/health-probes.d.ts +0 -267
  717. package/dist/lib/health-probes.d.ts.map +0 -1
  718. package/dist/lib/health-probes.js +0 -933
  719. package/dist/lib/health-probes.js.map +0 -1
  720. package/dist/lib/help-groups.d.ts +0 -36
  721. package/dist/lib/help-groups.d.ts.map +0 -1
  722. package/dist/lib/help-groups.js +0 -124
  723. package/dist/lib/help-groups.js.map +0 -1
  724. package/dist/lib/host-side-proxy.d.ts +0 -67
  725. package/dist/lib/host-side-proxy.d.ts.map +0 -1
  726. package/dist/lib/host-side-proxy.js +0 -177
  727. package/dist/lib/host-side-proxy.js.map +0 -1
  728. package/dist/lib/instrumentation.d.ts +0 -85
  729. package/dist/lib/instrumentation.d.ts.map +0 -1
  730. package/dist/lib/instrumentation.js +0 -104
  731. package/dist/lib/instrumentation.js.map +0 -1
  732. package/dist/lib/k8s-bootstrap.d.ts +0 -126
  733. package/dist/lib/k8s-bootstrap.d.ts.map +0 -1
  734. package/dist/lib/k8s-bootstrap.js +0 -218
  735. package/dist/lib/k8s-bootstrap.js.map +0 -1
  736. package/dist/lib/k8s-context-discovery.d.ts +0 -80
  737. package/dist/lib/k8s-context-discovery.d.ts.map +0 -1
  738. package/dist/lib/k8s-context-discovery.js +0 -102
  739. package/dist/lib/k8s-context-discovery.js.map +0 -1
  740. package/dist/lib/k8s-secret-render.d.ts +0 -141
  741. package/dist/lib/k8s-secret-render.d.ts.map +0 -1
  742. package/dist/lib/k8s-secret-render.js +0 -318
  743. package/dist/lib/k8s-secret-render.js.map +0 -1
  744. package/dist/lib/kg-caps.d.ts +0 -19
  745. package/dist/lib/kg-caps.d.ts.map +0 -1
  746. package/dist/lib/kg-caps.js +0 -19
  747. package/dist/lib/kg-caps.js.map +0 -1
  748. package/dist/lib/kubectl-context.d.ts +0 -87
  749. package/dist/lib/kubectl-context.d.ts.map +0 -1
  750. package/dist/lib/kubectl-context.js +0 -105
  751. package/dist/lib/kubectl-context.js.map +0 -1
  752. package/dist/lib/kubectl-wrap.d.ts +0 -65
  753. package/dist/lib/kubectl-wrap.d.ts.map +0 -1
  754. package/dist/lib/kubectl-wrap.js +0 -135
  755. package/dist/lib/kubectl-wrap.js.map +0 -1
  756. package/dist/lib/manifest-refresh.d.ts +0 -136
  757. package/dist/lib/manifest-refresh.d.ts.map +0 -1
  758. package/dist/lib/manifest-refresh.js +0 -298
  759. package/dist/lib/manifest-refresh.js.map +0 -1
  760. package/dist/lib/memory-host-process-migration.d.ts +0 -56
  761. package/dist/lib/memory-host-process-migration.d.ts.map +0 -1
  762. package/dist/lib/memory-host-process-migration.js +0 -156
  763. package/dist/lib/memory-host-process-migration.js.map +0 -1
  764. package/dist/lib/memory-secret.d.ts +0 -83
  765. package/dist/lib/memory-secret.d.ts.map +0 -1
  766. package/dist/lib/memory-secret.js +0 -147
  767. package/dist/lib/memory-secret.js.map +0 -1
  768. package/dist/lib/peripheral-registry.d.ts +0 -53
  769. package/dist/lib/peripheral-registry.d.ts.map +0 -1
  770. package/dist/lib/peripheral-registry.js +0 -73
  771. package/dist/lib/peripheral-registry.js.map +0 -1
  772. package/dist/lib/plans-client.d.ts +0 -69
  773. package/dist/lib/plans-client.d.ts.map +0 -1
  774. package/dist/lib/plans-client.js +0 -140
  775. package/dist/lib/plans-client.js.map +0 -1
  776. package/dist/lib/port-forward.d.ts +0 -168
  777. package/dist/lib/port-forward.d.ts.map +0 -1
  778. package/dist/lib/port-forward.js +0 -393
  779. package/dist/lib/port-forward.js.map +0 -1
  780. package/dist/lib/shell-rc.d.ts +0 -90
  781. package/dist/lib/shell-rc.d.ts.map +0 -1
  782. package/dist/lib/shell-rc.js +0 -91
  783. package/dist/lib/shell-rc.js.map +0 -1
  784. package/dist/lib/shim-generator.d.ts +0 -51
  785. package/dist/lib/shim-generator.d.ts.map +0 -1
  786. package/dist/lib/shim-generator.js +0 -88
  787. package/dist/lib/shim-generator.js.map +0 -1
  788. package/dist/lib/skills-apply-overlays.d.ts +0 -35
  789. package/dist/lib/skills-apply-overlays.d.ts.map +0 -1
  790. package/dist/lib/skills-apply-overlays.js +0 -243
  791. package/dist/lib/skills-apply-overlays.js.map +0 -1
  792. package/dist/lib/symlink-reconcile.d.ts +0 -32
  793. package/dist/lib/symlink-reconcile.d.ts.map +0 -1
  794. package/dist/lib/symlink-reconcile.js +0 -80
  795. package/dist/lib/symlink-reconcile.js.map +0 -1
  796. package/dist/lib/upgrade-check.d.ts +0 -60
  797. package/dist/lib/upgrade-check.d.ts.map +0 -1
  798. package/dist/lib/upgrade-check.js +0 -169
  799. package/dist/lib/upgrade-check.js.map +0 -1
  800. package/dist/lib/upgrade-kubernetes.d.ts +0 -193
  801. package/dist/lib/upgrade-kubernetes.d.ts.map +0 -1
  802. package/dist/lib/upgrade-kubernetes.js +0 -1014
  803. package/dist/lib/upgrade-kubernetes.js.map +0 -1
  804. package/dist/lib/world-mcp-register.d.ts +0 -98
  805. package/dist/lib/world-mcp-register.d.ts.map +0 -1
  806. package/dist/lib/world-mcp-register.js +0 -117
  807. package/dist/lib/world-mcp-register.js.map +0 -1
  808. package/dist/output.d.ts +0 -10
  809. package/dist/output.d.ts.map +0 -1
  810. package/dist/output.js +0 -31
  811. package/dist/output.js.map +0 -1
  812. package/dist/pleri-config.d.ts +0 -22
  813. package/dist/pleri-config.d.ts.map +0 -1
  814. package/dist/pleri-config.js +0 -42
  815. package/dist/pleri-config.js.map +0 -1
  816. package/dist/protocol-version.d.ts +0 -79
  817. package/dist/protocol-version.d.ts.map +0 -1
  818. package/dist/protocol-version.js +0 -133
  819. package/dist/protocol-version.js.map +0 -1
  820. package/dist/registry-allowlist.d.ts +0 -47
  821. package/dist/registry-allowlist.d.ts.map +0 -1
  822. package/dist/registry-allowlist.js +0 -67
  823. package/dist/registry-allowlist.js.map +0 -1
  824. package/dist/spawn/home-override.d.ts +0 -82
  825. package/dist/spawn/home-override.d.ts.map +0 -1
  826. package/dist/spawn/home-override.js +0 -107
  827. package/dist/spawn/home-override.js.map +0 -1
  828. package/host-cp/src/linear-sync.mjs +0 -43
@@ -1,775 +0,0 @@
1
- /**
2
- * olam create — Provision a new isolated development world.
3
- *
4
- * Delegates to WorldManager.createWorld, same as the MCP server tool.
5
- */
6
- import { spawnSync } from 'node:child_process';
7
- import { existsSync } from 'node:fs';
8
- import { dirname, resolve } from 'node:path';
9
- import ora from 'ora';
10
- import pc from 'picocolors';
11
- import { AuthPreflightError, TaskDispatchError, ContainerOrphanError, } from '@olam/core/src/world/manager.js';
12
- import { getDevboxFreshness, formatFreshnessWarning, } from '@olam/core/src/world/devbox-freshness.js';
13
- import { inferRepos, PICKER_CONFIDENCE_THRESHOLD, } from '@olam/core/src/world/infer-repos.js';
14
- import { decideWorkspaceMatch, } from '@olam/core/src/world/match-workspace.js';
15
- import { loadContext } from '../context.js';
16
- import { printError, printInfo, printHeader, printWarning } from '../output.js';
17
- import { probeHostCp, gatherProbeFailureDiagnostics, callHostCpProxy, openHostCpUrl } from './host-cp.js';
18
- import { readMemorySecretOrNull } from '../lib/memory-secret.js';
19
- import { registerAgentMemoryMcp } from '../lib/world-mcp-register.js';
20
- import { buildIfStale } from '../lib/build-if-stale.js';
21
- import { resolveBundleSource, BundleSourceNotFoundError } from '../lib/bundle-source.js';
22
- import { isDevMode } from '../install-root.js';
23
- // Phase B1 — mirror of AGENTMEMORY_HOST_INTERNAL_URL in
24
- // packages/adapters/src/docker/container.ts. Hardcoded here for the
25
- // post-spawn MCP registration call so the host knows what URL was
26
- // injected into the world's env. Phase C makes this configurable for
27
- // cloud mode.
28
- const AGENTMEMORY_LOCAL_URL = 'http://host.docker.internal:3111';
29
- const HOST_CP_URL = 'http://127.0.0.1:19000';
30
- /** Read the host-cp token from ~/.olam/host-cp.token for use in create. */
31
- async function readHostCpTokenForCreate() {
32
- try {
33
- const { default: fs } = await import('node:fs');
34
- const { default: os } = await import('node:os');
35
- const { default: path } = await import('node:path');
36
- const tp = path.join(process.env.OLAM_HOME ?? path.join(os.homedir(), '.olam'), 'host-cp.token');
37
- if (!fs.existsSync(tp))
38
- return null;
39
- return fs.readFileSync(tp, 'utf-8').trim();
40
- }
41
- catch {
42
- return null;
43
- }
44
- }
45
- export function registerCreate(program) {
46
- program
47
- .command('create')
48
- .description('Create a new development world')
49
- .option('--name <name>', 'World name (required unless --from-prompt is set; auto-derived in that case)')
50
- .option('--repos <repos...>', 'Repos to include (names from .olam/config.yaml; wins over --workspace)')
51
- .option('--workspace <name>', 'Named workspace from the host catalog (~/.olam/workspaces/<name>.yaml)')
52
- .option('--task <task>', 'Initial task to dispatch')
53
- .option('--branch <branch>', 'Override default branch name')
54
- .option('--plan <file>', 'Path to a plan file to inject')
55
- .option('--no-auth', 'Skip auto-injecting host credentials')
56
- // Phase F-2-D (D4): host CP integration. Default: emit a one-line
57
- // hint if host CP is not running. --no-host-cp suppresses the hint
58
- // entirely. Real auto-start ships in a future iteration; for now
59
- // the hint keeps the operator's existing workflow unblocked while
60
- // surfacing the host CP UI option.
61
- .option('--no-host-cp', 'Suppress the host CP "you might want to start it" hint')
62
- // Phase C9 (olam-dogfood-vision): opt-in flag spawns a parallel
63
- // claude-lane-codex-review session alongside claude-main, prompted
64
- // to monitor + critique main's work. Lives on the same world; sees
65
- // the same workspace + thoughts. Auto-spawned at world creation
66
- // time; the operator can destroy it via `olam lanes destroy <world>
67
- // codex-review` if it gets noisy.
68
- .option('--auto-codex-review', 'Spawn a parallel codex-review lane that critiques main as it works')
69
- // Phase D6 (olam-dogfood-vision): open Host CP UI in browser on
70
- // successful create. Default-on for interactive sessions; suppress
71
- // with --no-open. Headless / CI / piped-output runs auto-skip.
72
- .option('--no-open', 'Suppress auto-opening the Host CP UI in the browser on success')
73
- // M5 dogfood follow-up (B1): when the devbox image is older than
74
- // the source files baked into it, fresh worlds run stale code.
75
- // --rebuild-base auto-invokes the build script; --no-freshness-check
76
- // skips the warning entirely (CI/automation).
77
- .option('--rebuild-base', 'Rebuild olam-devbox:latest before creating (slow)')
78
- .option('--no-freshness-check', 'Skip the devbox image freshness check')
79
- // CLI parity for the MCP `olam_create_from_prompt` tool. The prompt
80
- // is dispatched as the world's task AND drives the workspace
81
- // inference (same heuristic the MCP tool uses). When passed:
82
- // - --name is auto-derived from the prompt (slugified, capped at 40 chars)
83
- // - --workspace + --repos are inferred against the host-cp catalog
84
- // - On low-confidence inference or N-way ambiguity, the CLI prints
85
- // the picker payload and exits 1 so the operator can re-run with
86
- // an explicit --workspace / --repos.
87
- // Mutually exclusive with --task (the prompt IS the task) and
88
- // overrides --name. --workspace/--repos still win if explicitly set.
89
- .option('--from-prompt <prompt>', 'NL prompt → infer workspace + dispatch (CLI parity for olam_create_from_prompt MCP tool)')
90
- // ADR 044 — trace-replay v2. Seed a new world from a v1 fork manifest
91
- // (`scripts/olam-trace-replay.mjs`). The manifest's `newPrompt` becomes
92
- // the world's task; `--name` is auto-derived from the original worldId
93
- // when not set. Mutually exclusive with --task and --from-prompt (the
94
- // manifest IS the source of the task). --workspace / --repos still must
95
- // be specified by the operator — v1 manifests do not capture them.
96
- .option('--from-manifest <path>', 'Spawn a world from a trace-replay fork manifest (ADR 044)')
97
- .option('--keep-after-merge', "Disable auto-destroy when the world's PR merges (useful for inspection/debugging)")
98
- // Phase B B3 (olam-session-stability): opt out of B1's strip step
99
- // so the operator's in-progress edits make it into the world's
100
- // worktree. Default OFF: world starts with a clean tree (the
101
- // baseline-diff snapshot still runs so the reaper can scope claude's
102
- // footprint). Use this when you've explicitly staged or modified
103
- // files in your local checkout and want claude to continue from
104
- // there.
105
- .option('--carry-uncommitted', "Preserve operator's uncommitted edits in the world's worktree")
106
- .option('--allow-bootstrap-failure', 'Treat bootstrap step failures as warnings instead of destroying the world (dogfood escape hatch for cross-repo seed coupling)')
107
- // C4 (Phase C — fresh-install self-bootstrap): operator override of
108
- // the default devbox image. `OLAM_DEVBOX_IMAGE=<ref>` env var is the
109
- // alternate input path. Refs outside the default allowlist
110
- // (ghcr.io/pleri/*) require --allow-custom-registry per Decision #19.
111
- // Full digest-pinned-pull integration with image-digests.json
112
- // arrives in Phase B; this flag pair locks the surface now and
113
- // validates input early.
114
- .option('--devbox-image <ref>', 'Override the default devbox image (full registry/name:tag or @sha256: ref)')
115
- .option('--allow-custom-registry', 'Allow --devbox-image refs outside ghcr.io/pleri/* (logs a warning)')
116
- .option('--runbook <name>', 'Named runbook profile from ~/.olam/config.json')
117
- // ADR 045 — multi-account Claude Code instance isolation. When set, the
118
- // world's Claude config snapshot is sourced from
119
- // `~/.olam/claude-homes/<id>/` instead of the operator's `~/.claude/`.
120
- // Each id gets its own login, hooks, MCP topology, and 429 bucket. The
121
- // id is persisted to world metadata so subsequent `olam enter <id>` uses
122
- // the same home. Absolute paths are accepted verbatim.
123
- .option('--claude-home <id-or-path>', 'Use a per-world Claude Code HOME (multi-account isolation; see docs/decisions/045-claude-home-override.md)')
124
- // --json: emit machine-readable output (suppresses dashboard/enter hints).
125
- // The handler branches on opts.json at the success-print step.
126
- .option('--json', 'Emit machine-readable JSON on success (suppresses interactive hints)')
127
- .action(async (opts) => {
128
- // C4 — early validation of the devbox-image override (if any).
129
- // Runs BEFORE any docker / world-provisioning work so a rejected
130
- // ref never produces partial state.
131
- const { resolveDevboxImageOverride, decideAllowlist } = await import('../registry-allowlist.js');
132
- const overrideRef = resolveDevboxImageOverride(opts.devboxImage);
133
- if (overrideRef) {
134
- const decision = decideAllowlist({
135
- imageRef: overrideRef,
136
- allowCustomRegistry: opts.allowCustomRegistry === true,
137
- });
138
- if (!decision.accepted) {
139
- process.stderr.write(decision.stderrLine + '\n');
140
- process.exitCode = 1;
141
- return;
142
- }
143
- if (decision.stderrLine) {
144
- process.stderr.write(decision.stderrLine + '\n');
145
- }
146
- // C4b — protocol-version handshake on the override. Bootstrap
147
- // already enforces this for the 3 default images; user-supplied
148
- // overrides must satisfy the same contract or `olam create`
149
- // would happily spin a container that's incompatible with the
150
- // rest of the stack.
151
- //
152
- // Best-effort pull first (tolerate failure for locally-built
153
- // images that aren't in any registry). Then inspect the LABEL.
154
- // Failed inspect or no-overlap → exit EXIT_PROTOCOL_MISMATCH.
155
- spawnSync('docker', ['pull', overrideRef], { stdio: 'pipe' }); // ignore errors
156
- const { inspectImageProtocolVersions, checkProtocolOverlap } = await import('../protocol-version.js');
157
- const inspect = inspectImageProtocolVersions(overrideRef);
158
- if (inspect.inspectFailed) {
159
- printError(`Devbox image '${overrideRef}' is not present locally and could not be pulled. ` +
160
- `Run \`docker pull ${overrideRef}\` to verify the ref, then re-run.`);
161
- const { EXIT_PROTOCOL_MISMATCH } = await import('../exit-codes.js');
162
- process.exitCode = EXIT_PROTOCOL_MISMATCH;
163
- return;
164
- }
165
- const handshake = checkProtocolOverlap(inspect.versions);
166
- if (!handshake.compatible) {
167
- printError(handshake.remedy);
168
- const { EXIT_PROTOCOL_MISMATCH } = await import('../exit-codes.js');
169
- process.exitCode = EXIT_PROTOCOL_MISMATCH;
170
- return;
171
- }
172
- }
173
- // CLI parity for the MCP tool: when --from-prompt is set, treat
174
- // it as the world's task AND use it to infer workspace + repos.
175
- // Mutually exclusive with --task; explicit --workspace / --repos
176
- // still win (operator override).
177
- let resolvedName = opts.name;
178
- let resolvedWorkspace = opts.workspace;
179
- let resolvedRepos = opts.repos;
180
- let resolvedTask = opts.task;
181
- // ADR 044 — trace-replay v2. Seed task + default name from the
182
- // fork manifest before --from-prompt inference so the two surfaces
183
- // stay mutually exclusive and the manifest path is honored even
184
- // when --task is also passed (we reject the combination explicitly).
185
- if (opts.fromManifest) {
186
- if (opts.task) {
187
- printError('--from-manifest and --task are mutually exclusive (the manifest carries the task).');
188
- process.exitCode = 1;
189
- return;
190
- }
191
- if (opts.fromPrompt) {
192
- printError('--from-manifest and --from-prompt are mutually exclusive.');
193
- process.exitCode = 1;
194
- return;
195
- }
196
- const { parseForkManifest, defaultNameFromManifest, provenanceLine } = await import('../from-manifest.js');
197
- let manifest;
198
- try {
199
- manifest = parseForkManifest(opts.fromManifest);
200
- }
201
- catch (err) {
202
- printError(err.message);
203
- process.exitCode = 1;
204
- return;
205
- }
206
- resolvedTask = manifest.newPrompt;
207
- if (!resolvedName) {
208
- resolvedName = defaultNameFromManifest(manifest);
209
- }
210
- printInfo('Replay', provenanceLine(manifest));
211
- }
212
- if (opts.fromPrompt) {
213
- if (opts.task) {
214
- printError('--from-prompt and --task are mutually exclusive (the prompt IS the task).');
215
- process.exitCode = 1;
216
- return;
217
- }
218
- resolvedTask = opts.fromPrompt;
219
- if (!resolvedName) {
220
- resolvedName = defaultNameFromPrompt(opts.fromPrompt);
221
- }
222
- // Infer when caller didn't already pin workspace + repos.
223
- if (!resolvedWorkspace && !resolvedRepos) {
224
- const inferenceSpinner = ora('Inferring workspace from prompt…').start();
225
- try {
226
- const catalog = await fetchHostCpWorkspaces();
227
- const catalogRepos = Array.from(new Set(catalog.flatMap((w) => w.projects)));
228
- const inferred = inferRepos({
229
- prompt: opts.fromPrompt,
230
- catalog: catalogRepos,
231
- });
232
- if (!inferred.proceed) {
233
- inferenceSpinner.fail('Inference confidence too low');
234
- const reason = inferred.repos.length === 0
235
- ? 'no repo names extracted from prompt'
236
- : `inference confidence ${inferred.confidence.toFixed(2)} below ${PICKER_CONFIDENCE_THRESHOLD}`;
237
- printError(`Picker needed: ${reason}`);
238
- if (catalogRepos.length > 0) {
239
- console.log(pc.dim(` available repos: ${catalogRepos.join(', ')}`));
240
- }
241
- console.log(pc.dim(' rerun with explicit --workspace <name> or --repos <a> <b> <c>'));
242
- process.exitCode = 1;
243
- return;
244
- }
245
- const exactMatches = await fetchHostCpExactMatches(inferred.repos);
246
- const decision = decideWorkspaceMatch({
247
- inferredRepos: inferred.repos,
248
- exactMatches,
249
- fullCatalog: catalog,
250
- });
251
- if (decision.result === 'exact-1') {
252
- resolvedWorkspace = decision.workspace.name;
253
- }
254
- else if (decision.result === 'subset-1') {
255
- resolvedWorkspace = decision.workspace.name;
256
- }
257
- else if (decision.result === 'exact-N' || decision.result === 'subset-N') {
258
- inferenceSpinner.fail(`Multiple workspaces match (${decision.result})`);
259
- const cands = decision.result === 'exact-N'
260
- ? decision.candidates.map((w) => w.name)
261
- : decision.candidates.map((c) => c.workspace.name);
262
- printError(`Picker needed: ${cands.join(', ')}`);
263
- console.log(pc.dim(' rerun with explicit --workspace <name>'));
264
- process.exitCode = 1;
265
- return;
266
- }
267
- else {
268
- // create-new — no existing workspace covers the inferred
269
- // repo set. Pass repos through; WorldManager creates one.
270
- resolvedRepos = [...inferred.repos];
271
- }
272
- inferenceSpinner.succeed(resolvedWorkspace
273
- ? `Inferred workspace: ${resolvedWorkspace} (confidence ${inferred.confidence.toFixed(2)})`
274
- : `Inferred new workspace from repos: ${inferred.repos.join(', ')}`);
275
- }
276
- catch (err) {
277
- inferenceSpinner.fail('Inference failed');
278
- printError(err instanceof Error ? err.message : String(err));
279
- process.exitCode = 1;
280
- return;
281
- }
282
- }
283
- }
284
- if (!resolvedName) {
285
- printError('--name is required (omit only when --from-prompt is set).');
286
- process.exitCode = 1;
287
- return;
288
- }
289
- const { ctx, error } = await loadContext();
290
- if (!ctx) {
291
- printError(error?.message ?? 'Olam is not configured. Run `olam init` first.');
292
- process.exitCode = 1;
293
- return;
294
- }
295
- if (ctx.configIsFallback) {
296
- printError('This command requires .olam/config.yaml in the current directory or an ancestor.\n' +
297
- 'Run `olam init` to set up Olam in this project.');
298
- process.exitCode = 1;
299
- return;
300
- }
301
- // M5 dogfood follow-up (B1): devbox staleness check. Resolves
302
- // repo root by walking up from cwd until we hit a directory
303
- // containing `packages/`. Falls back to cwd if not found.
304
- // Phase B6: --rebuild-base routes through resolveBuildScript so
305
- // a published-CLI run gets the named remedy instead of a silent
306
- // bash-not-found stderr.
307
- if (opts.freshnessCheck) {
308
- const repoRoot = resolveRepoRoot(process.cwd());
309
- const freshness = getDevboxFreshness({ repoRoot });
310
- if (freshness.isStale) {
311
- if (opts.rebuildBase) {
312
- const { resolveBuildScript, MissingBuildScriptError } = await import('../install-root.js');
313
- let buildScript;
314
- try {
315
- buildScript = resolveBuildScript({
316
- scriptRelPath: 'packages/adapters/src/docker/build-devbox.sh',
317
- });
318
- }
319
- catch (err) {
320
- if (err instanceof MissingBuildScriptError) {
321
- printError(err.message);
322
- process.exitCode = 1;
323
- return;
324
- }
325
- throw err;
326
- }
327
- const spinner = ora('Rebuilding olam-devbox:latest…').start();
328
- const rebuild = spawnSync('bash', [buildScript], { cwd: repoRoot, stdio: 'inherit' });
329
- if (rebuild.status !== 0) {
330
- spinner.fail('Devbox rebuild failed');
331
- process.exitCode = 1;
332
- return;
333
- }
334
- spinner.succeed('Devbox image rebuilt');
335
- }
336
- else {
337
- const warning = formatFreshnessWarning(freshness);
338
- if (warning)
339
- printWarning(warning);
340
- }
341
- }
342
- }
343
- // C2 (olam-world-bundle-freshness): resolve the agent-stream bundle
344
- // source. Handles both source-mode (OLAM_DEV=1 + packages/ sibling →
345
- // auto-build if stale) and install-mode (CLI's own dist/agent-stream/).
346
- let agentStreamDistPath;
347
- try {
348
- const bundleSource = resolveBundleSource();
349
- if (bundleSource.mode === 'source') {
350
- // B3 path: auto-build when dist is stale.
351
- const bundleRepoRoot = resolveRepoRoot(process.cwd());
352
- const buildResult = buildIfStale(bundleRepoRoot);
353
- if (!buildResult.ok) {
354
- printError('Agent-stream bundle build failed. Not creating world with a stale bundle.\n' +
355
- 'Fix the build error and re-run `olam create`.');
356
- process.exitCode = 1;
357
- return;
358
- }
359
- if (buildResult.built) {
360
- printInfo('Bundle', buildResult.message);
361
- }
362
- }
363
- // Both modes: pass the resolved path so the docker provider bind-mounts
364
- // the correct dist (source-mode: repo dist; install-mode: CLI dist).
365
- agentStreamDistPath = bundleSource.path;
366
- }
367
- catch (err) {
368
- if (err instanceof BundleSourceNotFoundError) {
369
- // Graceful degradation: warn but do not block world create.
370
- // The world will use the image-baked bundle as fallback.
371
- printWarning(`agent-stream bundle path unresolved; world will use image-baked bundle.\n` +
372
- ` ${err.message}`);
373
- }
374
- else {
375
- throw err;
376
- }
377
- }
378
- // ADR 045 — resolve and pre-create the Claude home dir if the flag was
379
- // given. Resolution is host-side + path-only (no IO inside the helper);
380
- // dir creation lands the sentinel so first-use detection works.
381
- let resolvedClaudeHome;
382
- if (opts.claudeHome !== undefined && opts.claudeHome.length > 0) {
383
- try {
384
- const { resolveClaudeHome, ensureClaudeHomeDir } = await import('../spawn/home-override.js');
385
- const target = resolveClaudeHome({ flag: opts.claudeHome });
386
- await ensureClaudeHomeDir(target);
387
- resolvedClaudeHome = target;
388
- printInfo('Claude home', `${target} (per-world Claude Code instance — see ADR 045)`);
389
- }
390
- catch (err) {
391
- printError(`Invalid --claude-home: ${err instanceof Error ? err.message : String(err)}`);
392
- process.exitCode = 1;
393
- return;
394
- }
395
- }
396
- const spinner = ora('Creating world...').start();
397
- try {
398
- const world = await ctx.worldManager.createWorld({
399
- name: resolvedName,
400
- repos: resolvedRepos,
401
- ...(resolvedWorkspace ? { workspace: resolvedWorkspace } : {}),
402
- task: resolvedTask,
403
- branchName: opts.branch,
404
- planFile: opts.plan,
405
- noAuth: !opts.auth,
406
- ...(agentStreamDistPath ? { agentStreamDistPath } : {}),
407
- // ADV-B3-LOW2: strict-boolean coercion. `?? false` would pass through
408
- // truthy non-booleans (e.g. if the flag's shape ever grows to
409
- // `--carry-uncommitted [mode]` where commander returns a string).
410
- // `=== true` ensures only the literal boolean true reaches the
411
- // manager, matching the manager's strict `if (!opts.carryUncommitted)`.
412
- carryUncommitted: opts.carryUncommitted === true,
413
- allowBootstrapFailure: opts.allowBootstrapFailure === true,
414
- ...(opts.runbook ? { runbookName: opts.runbook } : {}),
415
- ...(resolvedClaudeHome ? { claudeHome: resolvedClaudeHome } : {}),
416
- });
417
- spinner.succeed('World created');
418
- // Phase B3 — register the agentmemory MCP server inside the
419
- // freshly-spawned world's claude config so the in-world claude
420
- // session reaches the host agent-memory pool. Gracefully skipped
421
- // when the host memory service was absent at spawn time (B1's
422
- // env injection only runs when the secret file exists). Spec:
423
- // docs/plans/olam-agent-memory-distributed/phase-b-tasks.md B3
424
- try {
425
- const memorySecret = readMemorySecretOrNull() ?? '';
426
- const containerName = `olam-${world.id}-devbox`;
427
- const result = registerAgentMemoryMcp({
428
- containerName,
429
- agentmemoryUrl: AGENTMEMORY_LOCAL_URL,
430
- agentmemorySecret: memorySecret,
431
- });
432
- switch (result.outcome) {
433
- case 'registered':
434
- printInfo('Agent memory', `MCP registered in-world (--scope ${result.scope})`);
435
- break;
436
- case 'already-registered':
437
- printInfo('Agent memory', `MCP already registered (idempotent skip)`);
438
- break;
439
- case 'skipped-no-env':
440
- // Silent on the common path — no memory service or --skip-memory at bootstrap.
441
- break;
442
- case 'failed':
443
- printWarning(`Agent memory MCP registration failed (rc=${result.rc}): ${result.detail}. ` +
444
- `World is still usable; the in-world @agentmemory/mcp shim falls back to local InMemoryKV.`);
445
- break;
446
- }
447
- }
448
- catch (err) {
449
- // Defensive: registration is best-effort. Never block world create.
450
- printWarning(`Agent memory MCP registration threw: ${err instanceof Error ? err.message : String(err)}. ` +
451
- `World is still usable.`);
452
- }
453
- // --keep-after-merge: persist into the registry immediately so
454
- // the host-cp polling loop sees it even if host-cp starts later.
455
- if (opts.keepAfterMerge) {
456
- const { WorldRegistry } = await import('@olam/core/src/world/registry.js');
457
- const reg2 = new WorldRegistry();
458
- try {
459
- reg2.update(world.id, { autoDestroyOnMerge: false });
460
- }
461
- finally {
462
- reg2.close();
463
- }
464
- }
465
- printHeader(world.name);
466
- printInfo('ID', world.id);
467
- printInfo('Status', world.status);
468
- printInfo('Repos', world.repos.join(', ') || '(all configured)');
469
- printInfo('Branch', world.branch);
470
- printInfo('Port Offset', String(world.portOffset));
471
- printInfo('Provider', world.computeProvider);
472
- printInfo('Workspace', world.workspacePath);
473
- if (world.dashboardUrl) {
474
- printInfo('Dashboard', world.dashboardUrl);
475
- }
476
- if (world.appPortUrls && world.appPortUrls.length > 0) {
477
- world.appPortUrls.forEach((ap, i) => {
478
- printInfo(i === 0 ? 'Apps' : '', `${ap.repoName} ${ap.url}`);
479
- });
480
- }
481
- if (resolvedTask) {
482
- printInfo('Task', resolvedTask);
483
- }
484
- if (!opts.json) {
485
- console.log(`\n${pc.cyan('Dashboard:')} ${HOST_CP_URL}/plan/${encodeURIComponent(world.id)}`);
486
- console.log(`${pc.cyan('Enter world:')} ${pc.dim(`olam enter ${world.name}`)}`);
487
- }
488
- if (world.credentialsInjected?.claude) {
489
- console.log(`\n${pc.green('Credentials injected. World is ready for dispatch.')}`);
490
- }
491
- else if (world.dashboardUrl) {
492
- console.log(`\n${pc.yellow('Authenticate at')} ${world.dashboardUrl}`);
493
- }
494
- // host-cp reliability fix: use HTTP probe instead of docker-only detection.
495
- // Supports both bare-node and container deployments.
496
- if (opts.hostCp !== false) {
497
- const probeResult = await probeHostCp().catch(() => null);
498
- if (!probeResult) {
499
- // Fail-loud: the world IS created but auto-registration failed.
500
- const diag = await gatherProbeFailureDiagnostics().catch(() => ({
501
- bootstrapStatus: 'probe error',
502
- containerStatus: 'probe error',
503
- }));
504
- process.stderr.write([
505
- '',
506
- pc.red('Host CP probe failed.'),
507
- ` tried: http://127.0.0.1:19000/api/bootstrap → ${diag.bootstrapStatus}`,
508
- ` tried: docker container "olam-host-cp" → ${diag.containerStatus}`,
509
- '',
510
- pc.yellow('World was created but the SPA inbox will not show it until you:'),
511
- ` ${pc.cyan('olam host-cp start')} (start the host CP)`,
512
- ` ${pc.cyan(`olam host-cp register --world ${world.id}`)} (register manually)`,
513
- ` OR pass ${pc.dim('--no-host-cp')} on next create to suppress this check.`,
514
- '',
515
- ].join('\n'));
516
- process.exitCode = 1;
517
- return;
518
- }
519
- // Auto-register the new world so it appears in the host CP UI
520
- // immediately. Per-world CP base port = 19080 + offset.
521
- const cpPort = 19080 + world.portOffset;
522
- const hostCpUrl = probeResult.url;
523
- const reg = await (async () => {
524
- const token = await readHostCpTokenForCreate();
525
- if (!token)
526
- return { ok: false, status: 0, error: 'no token' };
527
- const url = `${hostCpUrl}/api/admin/registry`;
528
- try {
529
- const res = await fetch(url, {
530
- method: 'POST',
531
- headers: { Authorization: `Bearer ${token}`, 'Content-Type': 'application/json' },
532
- body: JSON.stringify({ id: world.id, port: cpPort }),
533
- });
534
- if (!res.ok) {
535
- const text = await res.text().catch(() => '');
536
- return { ok: false, status: res.status, error: text || `HTTP ${res.status}` };
537
- }
538
- return { ok: true, status: res.status };
539
- }
540
- catch (err) {
541
- return { ok: false, status: 0, error: err instanceof Error ? err.message : String(err) };
542
- }
543
- })();
544
- if (!reg.ok) {
545
- process.stderr.write([
546
- '',
547
- pc.red('Host CP registry POST failed.'),
548
- ` url: ${hostCpUrl}/api/admin/registry`,
549
- ` status: ${reg.status}`,
550
- ` error: ${reg.error}`,
551
- '',
552
- pc.yellow('World was created but not registered. Run manually:'),
553
- ` ${pc.cyan(`olam host-cp register --world ${world.id}`)}`,
554
- '',
555
- ].join('\n'));
556
- process.exitCode = 1;
557
- return;
558
- }
559
- printInfo('Host CP', `registered → :${cpPort} (mode: ${probeResult.mode})`);
560
- // Propagate the friendly name from the CLI's --name flag.
561
- try {
562
- const token = await readHostCpTokenForCreate();
563
- if (token && world.name && world.name !== world.id) {
564
- await fetch(`${hostCpUrl}/api/worlds/${encodeURIComponent(world.id)}`, {
565
- method: 'PATCH',
566
- headers: {
567
- Authorization: `Bearer ${token}`,
568
- 'Content-Type': 'application/json',
569
- },
570
- body: JSON.stringify({ name: world.name }),
571
- });
572
- }
573
- // --keep-after-merge: record auto_destroy_on_merge=false.
574
- if (opts.keepAfterMerge && token) {
575
- await fetch(`${hostCpUrl}/api/admin/world-pr`, {
576
- method: 'POST',
577
- headers: { 'Content-Type': 'application/json', Authorization: `Bearer ${token}` },
578
- body: JSON.stringify({ worldId: world.id, prUrl: null, autoDestroyOnMerge: false }),
579
- signal: AbortSignal.timeout(3000),
580
- });
581
- printInfo('Keep-after-merge', 'auto-destroy disabled for this world');
582
- }
583
- }
584
- catch {
585
- // Silent — the world is registered; the name is just UI sugar.
586
- }
587
- // Phase C9: spawn the auto-codex-review lane.
588
- if (opts.autoCodexReview && reg.ok) {
589
- const reviewTask = 'You are the codex-review sub-lane. Watch the main session ' +
590
- '(claude-main) as it works on the world\'s primary task. ' +
591
- 'Periodically read its recent thought_nodes (filter by ' +
592
- 'session_id=claude-main) and surface concrete concerns: ' +
593
- 'security risks, plumbing bugs, premature abstractions. ' +
594
- 'Adversarial-reviewer voice; constructive but blunt.';
595
- try {
596
- const result = await callHostCpProxy('POST', world.id, '/lanes/create', { name: 'codex-review', task: reviewTask });
597
- if (result.ok) {
598
- printInfo('Auto-review', 'spawned claude-lane-codex-review');
599
- }
600
- else {
601
- printWarning(`Auto-review spawn failed (HTTP ${result.status}): ${result.error}. Retry with \`olam lanes create ${world.id} --name codex-review --task '...'\`.`);
602
- }
603
- }
604
- catch (err) {
605
- printWarning(`Auto-review spawn errored: ${err instanceof Error ? err.message : String(err)}`);
606
- }
607
- }
608
- const worldUrl = `${hostCpUrl}/world/${encodeURIComponent(world.id)}`;
609
- console.log(`\n${pc.cyan('Host CP UI:')} ${worldUrl}`);
610
- // Phase D6: auto-open in browser unless --no-open.
611
- if (opts.open !== false && reg.ok) {
612
- const openResult = openHostCpUrl(worldUrl);
613
- if (openResult.opened) {
614
- printInfo('Browser', 'opened');
615
- }
616
- else if (openResult.reason) {
617
- printInfo('Browser', `not opened (${openResult.reason})`);
618
- }
619
- }
620
- }
621
- }
622
- catch (err) {
623
- // TaskDispatchError fires AFTER the world is fully created
624
- // but BEFORE we return from createWorld. The world exists,
625
- // is running, and is usable — only the auto-dispatch failed.
626
- // Surface a remedy the operator can paste verbatim so they
627
- // recover in one command instead of re-creating the world.
628
- // Closes friction #18 (silent --task no-op).
629
- if (err instanceof TaskDispatchError) {
630
- spinner.fail('Auto-dispatch failed (world exists but task was not sent)');
631
- printError(`Task auto-dispatch failed (${err.kind}): ${err.message}`);
632
- // World ID is on err's enclosing scope (resolvedName) but
633
- // not on TaskDispatchError itself (the throw point doesn't
634
- // know it). Surface the name-derived remedy with the
635
- // operator-friendly note that they can also use the world
636
- // ID once `olam list` shows it.
637
- console.log(` ${pc.yellow('Remedy:')} ${pc.cyan(`olam dispatch ${resolvedName} '<your task>'`)}`);
638
- console.log(` ${pc.dim(`(or use 'olam list' to find the world ID if the name is ambiguous)`)}`);
639
- if (err.detail) {
640
- console.log(` ${pc.dim(`detail: ${err.detail}`)}`);
641
- }
642
- process.exitCode = 1;
643
- return;
644
- }
645
- spinner.fail('Failed to create world');
646
- if (err instanceof AuthPreflightError) {
647
- printError(err.message);
648
- if (err.remedy)
649
- console.log(` ${pc.dim(err.remedy)}`);
650
- }
651
- else if (err instanceof ContainerOrphanError) {
652
- // Issue #962 fail-loud branch: a container is alive for this
653
- // name but the DB has no row for it. Surface the remediation
654
- // verbatim — the operator pastes one command and recovers.
655
- printError(err.message);
656
- }
657
- else {
658
- printError(err instanceof Error ? err.message : String(err));
659
- }
660
- process.exitCode = 1;
661
- }
662
- });
663
- }
664
- /**
665
- * Walk up from `start` until we find a directory containing `packages/`.
666
- * Used by the B1 freshness check to locate paths relative to the repo
667
- * root regardless of which subdirectory the operator invoked the CLI
668
- * from. Falls back to `start` if no marker is found before /.
669
- */
670
- function resolveRepoRoot(start) {
671
- let cur = start;
672
- while (true) {
673
- // Repo root signature: top-level package.json + packages/ dir.
674
- if (existsSync(resolve(cur, 'packages')) && existsSync(resolve(cur, 'package.json'))) {
675
- return cur;
676
- }
677
- const parent = dirname(cur);
678
- if (parent === cur)
679
- return start; // walked to filesystem root
680
- cur = parent;
681
- }
682
- }
683
- /**
684
- * Slugify an NL prompt into a default world name. Lowercase, kebab-
685
- * case, max 40 chars. Mirrors the MCP tool's `defaultNameFromPrompt`
686
- * helper at packages/mcp-server/src/tools/create-from-prompt.ts so
687
- * --from-prompt produces the same slug shape regardless of entry
688
- * point.
689
- */
690
- function defaultNameFromPrompt(prompt) {
691
- const slug = prompt
692
- .toLowerCase()
693
- .replace(/[^a-z0-9\s-]/g, '')
694
- .trim()
695
- .replace(/\s+/g, '-')
696
- .slice(0, 40);
697
- return slug || 'unnamed';
698
- }
699
- /**
700
- * Read host-cp's startup token. Defensive — returns null on every
701
- * failure (file missing, permissions, etc.) so --from-prompt can
702
- * still fall through to a "host-cp not running" picker error rather
703
- * than throwing.
704
- */
705
- async function readHostCpToken() {
706
- try {
707
- const { default: fs } = await import('node:fs');
708
- const { default: os } = await import('node:os');
709
- const { default: path } = await import('node:path');
710
- const tp = path.join(os.homedir(), '.olam', 'host-cp.token');
711
- if (!fs.existsSync(tp))
712
- return null;
713
- const raw = fs.readFileSync(tp, 'utf-8').trim();
714
- return raw.length > 0 ? raw : null;
715
- }
716
- catch {
717
- return null;
718
- }
719
- }
720
- /**
721
- * Fetch the operator's workspace catalog from host-cp's
722
- * GET /api/workspaces. Empty array on any failure (host-cp not
723
- * running, network, parse) — the caller's inference will then run
724
- * with empty catalog and degrade to a low-confidence picker rather
725
- * than crash.
726
- */
727
- async function fetchHostCpWorkspaces() {
728
- try {
729
- const token = await readHostCpToken();
730
- if (!token)
731
- return [];
732
- const res = await fetch(`${HOST_CP_URL}/api/workspaces`, {
733
- headers: { Authorization: `Bearer ${token}` },
734
- });
735
- if (!res.ok)
736
- return [];
737
- const data = (await res.json());
738
- const arr = Array.isArray(data) ? data : (data.workspaces ?? []);
739
- return arr
740
- .filter((w) => typeof w.name === 'string' && Array.isArray(w.projects))
741
- .map((w) => ({ name: w.name, projects: w.projects ?? [] }));
742
- }
743
- catch {
744
- return [];
745
- }
746
- }
747
- /**
748
- * Fetch host-cp's POST /api/workspaces/match exact-match candidates
749
- * for a given inferred repo set. Empty array on any failure.
750
- */
751
- async function fetchHostCpExactMatches(projects) {
752
- try {
753
- const token = await readHostCpToken();
754
- if (!token)
755
- return [];
756
- const res = await fetch(`${HOST_CP_URL}/api/workspaces/match`, {
757
- method: 'POST',
758
- headers: {
759
- Authorization: `Bearer ${token}`,
760
- 'Content-Type': 'application/json',
761
- },
762
- body: JSON.stringify({ projects }),
763
- });
764
- if (!res.ok)
765
- return [];
766
- const data = (await res.json());
767
- return (data.matches ?? [])
768
- .filter((w) => typeof w.name === 'string' && Array.isArray(w.projects))
769
- .map((w) => ({ name: w.name, projects: w.projects ?? [] }));
770
- }
771
- catch {
772
- return [];
773
- }
774
- }
775
- //# sourceMappingURL=create.js.map