@pleri/olam-cli 0.1.200 → 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,792 +0,0 @@
1
- /**
2
- * `olam flywheel migrate-overlays` — operator-local overlay-layer migration.
3
- *
4
- * Scans `~/.claude/{skills,agents}.overrides/` recursively for hardcoded
5
- * `~/.claude/scripts/<name>` references matching the SHIM_TARGETS registry;
6
- * sed-replaces each match with the corresponding `olam flywheel <subcmd>`
7
- * invocation. Each operator runs this once to migrate THEIR layer 3
8
- * (per-user overlay files) from the legacy script-path contract to the new
9
- * flywheel CLI surface.
10
- *
11
- * Closes K1 OQ23 (pass-3 resolution): the migration helper that scales
12
- * the namespace migration beyond just this operator's overlays. Each
13
- * operator with their own `.overrides/` tree runs this command once.
14
- *
15
- * Replaces:
16
- * `bash ~/.claude/scripts/emit-breadcrumb.sh ...` → `olam flywheel emit-breadcrumb ...`
17
- * `python3 ~/.claude/scripts/sanitize-persona-output.py ...` → `olam flywheel sanitize-persona-output ...`
18
- * `~/.claude/scripts/k5-rubric-helper.py` → `olam flywheel k5-validate`
19
- * etc. (full set per SHIM_TARGETS registry at @olam/core/lib/shim-targets)
20
- *
21
- * Flags:
22
- * --dry-run — preview changes without writing
23
- * --target-dir <path> — override the search root (default: ~/.claude/); for tests
24
- * --json — emit summary as JSON for tooling
25
- *
26
- * --push — PUSH mode: copy overlays into atlas-toolbox clone
27
- * --target <name> — required with --push; name of a registered skill source
28
- *
29
- * Idempotent: re-runs against already-migrated overlays produce no diff.
30
- *
31
- * Plan reference: docs/plans/olam-flywheel-cli-namespace/phase-c-tasks.md § C7
32
- * Phase B: docs/plans/member-overlays-sync/phase-b-tasks.md
33
- */
34
- import { copyFileSync, existsSync, mkdirSync, readFileSync, readdirSync, statSync, writeFileSync, } from 'node:fs';
35
- import { spawnSync } from 'node:child_process';
36
- import { homedir } from 'node:os';
37
- import { dirname, join, relative } from 'node:path';
38
- import { SHIM_TARGETS } from '@olam/core/src/lib/shim-targets.js';
39
- import { listSkillSources, skillSourceClonePath, } from '@olam/core/src/skill-sources/index.js';
40
- import { validateCanonical, formatCanonicalViolation, } from '@olam/core/src/skill-sync/prefix-rules.js';
41
- // ---------------------------------------------------------------------------
42
- // Rewrite-mode helpers (Phase C7 — unchanged)
43
- // ---------------------------------------------------------------------------
44
- function escapeRegex(s) {
45
- return s.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
46
- }
47
- function applyReplacements(content) {
48
- let working = content;
49
- const replacements = [];
50
- for (const target of SHIM_TARGETS) {
51
- const escaped = escapeRegex(target.basename);
52
- const patterns = [
53
- { re: new RegExp(`(?:bash |python3 )?~/\\.claude/scripts/${escaped}`, 'g'), label: 'tilde' },
54
- { re: new RegExp(`(?:bash |python3 )?\\$HOME/\\.claude/scripts/${escaped}`, 'g'), label: 'home' },
55
- { re: new RegExp(`(?:bash |python3 )?/Users/[\\w.-]+/\\.claude/scripts/${escaped}`, 'g'), label: 'absolute' },
56
- ];
57
- let count = 0;
58
- for (const { re } of patterns) {
59
- const matches = working.match(re);
60
- if (matches !== null) {
61
- count += matches.length;
62
- working = working.replace(re, target.replacedBy);
63
- }
64
- }
65
- if (count > 0) {
66
- replacements.push({ basename: target.basename, count, replacedBy: target.replacedBy });
67
- }
68
- }
69
- return { newContent: working, replacements };
70
- }
71
- function walkOverlayFiles(dir) {
72
- const found = [];
73
- let entries;
74
- try {
75
- entries = readdirSync(dir);
76
- }
77
- catch {
78
- return [];
79
- }
80
- for (const entry of entries) {
81
- const fullPath = join(dir, entry);
82
- let stat;
83
- try {
84
- stat = statSync(fullPath);
85
- }
86
- catch {
87
- continue;
88
- }
89
- if (stat.isDirectory()) {
90
- found.push(...walkOverlayFiles(fullPath));
91
- }
92
- else if (stat.isFile() && /\.(md|json|sh)$/.test(entry)) {
93
- found.push(fullPath);
94
- }
95
- }
96
- return found;
97
- }
98
- // ---------------------------------------------------------------------------
99
- // Push-mode helpers (Phase B)
100
- // ---------------------------------------------------------------------------
101
- /**
102
- * Error thrown by push-mode operations. Carries an exit code so callers
103
- * can distinguish between different failure scenarios.
104
- */
105
- export class PushError extends Error {
106
- exitCode;
107
- constructor(exitCode, message) {
108
- super(message);
109
- this.exitCode = exitCode;
110
- this.name = 'PushError';
111
- }
112
- }
113
- const ATLAS_USER_RE = /^[a-z0-9][a-z0-9_-]{0,38}$/;
114
- /**
115
- * Validate that `value` matches the GitHub login shape used as atlas-user.
116
- * Throws PushError on mismatch so callers handle it via the standard error path.
117
- */
118
- function assertValidAtlasUser(value) {
119
- if (!ATLAS_USER_RE.test(value)) {
120
- throw new PushError(1, `invalid atlasUser "${value}" in ~/.claude/.atlas-user — must match /^[a-z0-9][a-z0-9_-]{0,38}$/`);
121
- }
122
- }
123
- /**
124
- * Read atlas-user from ~/.claude/.atlas-user (or OLAM_CLAUDE_DIR override).
125
- */
126
- function resolveAtlasUser(opts) {
127
- if (opts._testAtlasUser !== undefined) {
128
- const v = opts._testAtlasUser;
129
- if (!v)
130
- return null;
131
- assertValidAtlasUser(v);
132
- return v;
133
- }
134
- const claudeDir = opts._testClaudeDir ?? process.env['OLAM_CLAUDE_DIR'] ?? join(homedir(), '.claude');
135
- const f = join(claudeDir, '.atlas-user');
136
- if (existsSync(f)) {
137
- const v = readFileSync(f, 'utf-8').trim();
138
- if (v.length === 0)
139
- return null;
140
- assertValidAtlasUser(v);
141
- return v;
142
- }
143
- return null;
144
- }
145
- /**
146
- * Run a git command, returning stdout. Throws on non-zero exit.
147
- */
148
- function runGit(args, cwd) {
149
- const result = spawnSync('git', args, {
150
- cwd,
151
- encoding: 'utf-8',
152
- stdio: ['ignore', 'pipe', 'pipe'],
153
- });
154
- if (result.status !== 0) {
155
- const errMsg = (result.stderr ?? '').trim() || `git ${args[0]} failed`;
156
- throw new Error(errMsg);
157
- }
158
- return (result.stdout ?? '').trim();
159
- }
160
- /**
161
- * Walk overlay source directories for push-mode.
162
- * Returns array of { srcFile, overlayKind: 'skills' | 'agents', relPath }.
163
- * Skips paths matching *.overrides.local/ (Decision #4).
164
- */
165
- function walkPushSourceFiles(claudeDir) {
166
- const result = [];
167
- const roots = [
168
- { dir: join(claudeDir, 'skills.overrides'), overlayKind: 'skills' },
169
- { dir: join(claudeDir, 'agents.overrides'), overlayKind: 'agents' },
170
- ];
171
- for (const { dir, overlayKind } of roots) {
172
- const files = walkOverlayFiles(dir);
173
- for (const f of files) {
174
- // Defensive skip for .overrides.local/ paths (Decision #4)
175
- if (f.includes('.overrides.local'))
176
- continue;
177
- const relPath = relative(dir, f);
178
- result.push({ srcFile: f, overlayKind, relPath });
179
- }
180
- }
181
- return result;
182
- }
183
- /**
184
- * Generate branch name. If exists on origin, auto-suffix -2, -3, etc.
185
- */
186
- function resolveBranchName(clonePath, atlasUser) {
187
- const now = new Date();
188
- const pad = (n) => String(n).padStart(2, '0');
189
- const ts = `${now.getFullYear()}${pad(now.getMonth() + 1)}${pad(now.getDate())}-${pad(now.getHours())}${pad(now.getMinutes())}${pad(now.getSeconds())}`;
190
- const base = `feat/${atlasUser}/overlay-update-${ts}`;
191
- // Check if candidate exists on origin OR locally; auto-suffix if so.
192
- let candidate = base;
193
- let suffix = 2;
194
- while (true) {
195
- let existsOnOrigin = false;
196
- let existsLocally = false;
197
- try {
198
- const out = runGit(['ls-remote', 'origin', candidate], clonePath);
199
- existsOnOrigin = out.length > 0;
200
- }
201
- catch {
202
- // ls-remote failure (offline, etc.) — assume name is free on origin
203
- }
204
- if (!existsOnOrigin) {
205
- try {
206
- runGit(['rev-parse', '--verify', `refs/heads/${candidate}`], clonePath);
207
- existsLocally = true;
208
- }
209
- catch {
210
- // non-zero exit means branch does not exist locally
211
- }
212
- }
213
- if (!existsOnOrigin && !existsLocally)
214
- break;
215
- candidate = `${base}-${suffix}`;
216
- suffix += 1;
217
- if (suffix > 100)
218
- break; // safety ceiling
219
- }
220
- return candidate;
221
- }
222
- /**
223
- * Run the pre-flight gate against the clone.
224
- *
225
- * When `dryRunWarnOnly` is true, blocking conditions emit stderr WARNINGs
226
- * instead of returning error strings — the dry-run path collects warnings
227
- * so the operator can see what would block a real run. The returned
228
- * `preflightWarnings` array contains any warnings emitted.
229
- *
230
- * When `dryRunWarnOnly` is false (default / real-run), the first blocking
231
- * condition returns immediately with `error` set.
232
- */
233
- function runPreFlight(clonePath, forceCurrentBranch, dryRunWarnOnly = false) {
234
- const warnings = [];
235
- const warn = (msg) => {
236
- process.stderr.write(`[dry-run] pre-flight WARNING: ${msg}\n`);
237
- warnings.push(msg);
238
- };
239
- // 1. Dirty working tree
240
- let statusOut;
241
- try {
242
- statusOut = runGit(['status', '--porcelain'], clonePath);
243
- }
244
- catch (err) {
245
- const msg = `pre-flight: failed to check clone status: ${err instanceof Error ? err.message : String(err)}`;
246
- return { error: msg, preflightWarnings: warnings };
247
- }
248
- if (statusOut.length > 0) {
249
- const msg = [
250
- `pre-flight: clone has uncommitted changes at "${clonePath}".`,
251
- ` Resolve before pushing overlays.`,
252
- ` Actions: [Stash and continue] / [Abort]`,
253
- ].join('\n');
254
- if (dryRunWarnOnly) {
255
- warn(msg);
256
- }
257
- else {
258
- return { error: msg, preflightWarnings: warnings };
259
- }
260
- }
261
- // 2. Not on main branch
262
- let currentBranch;
263
- try {
264
- currentBranch = runGit(['rev-parse', '--abbrev-ref', 'HEAD'], clonePath);
265
- }
266
- catch (err) {
267
- const msg = `pre-flight: failed to determine current branch: ${err instanceof Error ? err.message : String(err)}`;
268
- return { error: msg, preflightWarnings: warnings };
269
- }
270
- if (currentBranch !== 'main' && !forceCurrentBranch) {
271
- const msg = [
272
- `pre-flight: clone is on branch "${currentBranch}" (expected "main").`,
273
- ` Switch to main first, or use --force-current-branch to continue on "${currentBranch}".`,
274
- ` Actions: [Switch to main first] / [Continue on current branch]`,
275
- ].join('\n');
276
- if (dryRunWarnOnly) {
277
- warn(msg);
278
- }
279
- else {
280
- return { error: msg, preflightWarnings: warnings };
281
- }
282
- }
283
- // 3. Clone behind origin/main — warn but allow continue (both modes)
284
- try {
285
- runGit(['fetch', 'origin'], clonePath);
286
- const behindCount = runGit(['rev-list', '--count', 'HEAD..origin/main'], clonePath);
287
- const n = parseInt(behindCount, 10);
288
- if (!isNaN(n) && n > 0) {
289
- process.stderr.write(`warning: clone is ${n} commit(s) behind origin/main.\n` +
290
- ` Run \`git -C "${clonePath}" pull\` first, or continue with stale base.\n` +
291
- ` Actions: [Pull first] / [Continue]\n`);
292
- }
293
- }
294
- catch {
295
- // fetch failure is non-fatal (offline); proceed
296
- }
297
- return { error: null, preflightWarnings: warnings };
298
- }
299
- /**
300
- * Core push-overlays implementation (Phase B).
301
- * Returns PushSummary. Throws PushError on validation/pre-flight failures
302
- * (lets callers handle process.exit vs test assertions cleanly).
303
- */
304
- export function pushOverlays(opts) {
305
- // B2 — Resolve atlas-user
306
- const atlasUser = resolveAtlasUser(opts);
307
- if (atlasUser === null) {
308
- throw new PushError(1, `~/.claude/.atlas-user not set.\n` +
309
- ` Run \`olam skills atlas-user set <name>\` to configure your atlas user.`);
310
- }
311
- // Determine source overlay directory and walk overlay files.
312
- const claudeDir = opts._testClaudeDir ?? opts.targetDir ?? process.env['OLAM_CLAUDE_DIR'] ?? join(homedir(), '.claude');
313
- const sourceFiles = walkPushSourceFiles(claudeDir);
314
- // Phase A skill-prefix-rules reverse validator. Refuses push of overlays
315
- // whose filename basename OR frontmatter `name:` carries any registered
316
- // prefix. Runs BEFORE clone-path resolution and pre-flight so the
317
- // operator gets an actionable error without needing a valid clone target.
318
- // Locks the canonical-only invariant at push time (forward-rewrite on sync
319
- // forms a defense-in-depth pair with this reverse validator).
320
- const registeredPrefixes = (opts._testSkillSources ?? listSkillSources())
321
- .map((s) => s.prefix)
322
- .filter((p) => typeof p === 'string' && p.length > 0);
323
- if (registeredPrefixes.length > 0) {
324
- for (const { srcFile, relPath } of sourceFiles) {
325
- const basename = relPath.split('/').pop() ?? relPath;
326
- let content;
327
- try {
328
- content = readFileSync(srcFile);
329
- }
330
- catch {
331
- continue;
332
- }
333
- const validation = validateCanonical(basename, content, registeredPrefixes);
334
- if (!validation.ok && validation.violation !== undefined) {
335
- throw new PushError(1, formatCanonicalViolation(relPath, validation.violation));
336
- }
337
- }
338
- }
339
- // B2 — Resolve skill source (test injection or registry lookup)
340
- let clonePath;
341
- if (opts._testClonePath !== undefined) {
342
- clonePath = opts._testClonePath;
343
- }
344
- else {
345
- // Resolve from registry (or test-injected sources)
346
- const sources = opts._testSkillSources ?? listSkillSources();
347
- const source = sources.find((s) => s.name === opts.target) ?? null;
348
- if (source === null) {
349
- const available = sources.map((s) => s.name).join(', ') || '(none)';
350
- throw new PushError(1, `target source "${opts.target}" not registered.\n` +
351
- ` Available sources: ${available}\n` +
352
- ` Run \`olam skills source add\` to register one.\n` +
353
- ` Actions: [List sources] / [Cancel]`);
354
- }
355
- clonePath = skillSourceClonePath(source.id);
356
- }
357
- // Dry-run: surface pre-flight warnings, then preview copy actions (no clone mutation)
358
- if (opts.dryRun === true) {
359
- const { preflightWarnings } = runPreFlight(clonePath, opts.forceCurrentBranch === true, true);
360
- if (preflightWarnings.length > 0) {
361
- process.stderr.write(`[dry-run] pre-flight warnings (would BLOCK in real run):\n` +
362
- preflightWarnings.map((w) => ` - ${w.split('\n')[0]}`).join('\n') +
363
- '\n');
364
- }
365
- const membersBase = join(clonePath, 'members', atlasUser);
366
- let wouldCopy = 0;
367
- let wouldUnchange = 0;
368
- let wouldCreate = 0;
369
- for (const { srcFile, overlayKind, relPath } of sourceFiles) {
370
- const targetDir = join(membersBase, `${overlayKind}.overrides`);
371
- const targetFile = join(targetDir, relPath);
372
- let srcBuf;
373
- try {
374
- srcBuf = readFileSync(srcFile);
375
- }
376
- catch {
377
- continue;
378
- }
379
- if (existsSync(targetFile)) {
380
- const dstBuf = readFileSync(targetFile);
381
- if (srcBuf.equals(dstBuf)) {
382
- wouldUnchange += 1;
383
- process.stdout.write(` [skip] ${overlayKind}.overrides/${relPath} (unchanged)\n`);
384
- continue;
385
- }
386
- wouldCopy += 1;
387
- process.stdout.write(` [copy] ${overlayKind}.overrides/${relPath} (changed)\n`);
388
- }
389
- else {
390
- wouldCreate += 1;
391
- process.stdout.write(` [new] ${overlayKind}.overrides/${relPath}\n`);
392
- }
393
- }
394
- process.stdout.write(`[dry-run] would copy ${wouldCopy + wouldCreate} file(s), ${wouldUnchange} unchanged.\n`);
395
- return {
396
- filesCopied: wouldCopy,
397
- filesUnchanged: wouldUnchange,
398
- filesCreated: wouldCreate,
399
- branchName: '',
400
- nextStepGhCommand: '',
401
- };
402
- }
403
- // B4 — Pre-flight gate (real run — fail fast)
404
- const { error: preFlightError } = runPreFlight(clonePath, opts.forceCurrentBranch === true, false);
405
- if (preFlightError !== null) {
406
- throw new PushError(1, preFlightError);
407
- }
408
- // B4 — Generate and create branch
409
- const branchName = resolveBranchName(clonePath, atlasUser);
410
- try {
411
- runGit(['checkout', '-b', branchName], clonePath);
412
- }
413
- catch (err) {
414
- throw new PushError(1, `failed to create branch "${branchName}": ${err instanceof Error ? err.message : String(err)}`);
415
- }
416
- // B3 — Copy files (atomic: rollback branch on any copy failure)
417
- const membersBase = join(clonePath, 'members', atlasUser);
418
- let filesCopied = 0;
419
- let filesUnchanged = 0;
420
- let filesCreated = 0;
421
- try {
422
- for (const { srcFile, overlayKind, relPath } of sourceFiles) {
423
- const targetDir = join(membersBase, `${overlayKind}.overrides`, dirname(relPath));
424
- const targetFile = join(membersBase, `${overlayKind}.overrides`, relPath);
425
- let srcBuf;
426
- try {
427
- srcBuf = readFileSync(srcFile);
428
- }
429
- catch {
430
- continue;
431
- }
432
- const targetExists = existsSync(targetFile);
433
- if (targetExists) {
434
- const dstBuf = readFileSync(targetFile);
435
- if (srcBuf.equals(dstBuf)) {
436
- filesUnchanged += 1;
437
- continue;
438
- }
439
- // Content differs — overwrite
440
- mkdirSync(targetDir, { recursive: true });
441
- copyFileSync(srcFile, targetFile);
442
- filesCopied += 1;
443
- }
444
- else {
445
- // New file
446
- mkdirSync(targetDir, { recursive: true });
447
- copyFileSync(srcFile, targetFile);
448
- filesCreated += 1;
449
- }
450
- }
451
- }
452
- catch (copyErr) {
453
- // Rollback: return clone to main and delete the new branch
454
- try {
455
- runGit(['checkout', 'main'], clonePath);
456
- }
457
- catch {
458
- // best-effort
459
- }
460
- try {
461
- runGit(['branch', '-D', branchName], clonePath);
462
- }
463
- catch {
464
- // best-effort
465
- }
466
- const origMsg = copyErr instanceof Error ? copyErr.message : String(copyErr);
467
- throw new PushError(1, `Copy failed partway through — clone reverted to main. Original: ${origMsg}`);
468
- }
469
- // B4 — Compose next-steps copy-paste block
470
- const memberSubdir = `members/${atlasUser}/`;
471
- const autoSubject = `feat: push operator overlays for ${atlasUser}`;
472
- const nextStepGhCommand = `gh pr create --base main --head ${branchName} --title "${autoSubject}" --body "Operator overlay sync for ${atlasUser}."`;
473
- const copyPasteBlock = [
474
- `\nNext steps (run in ${clonePath}):`,
475
- ` git -C "${clonePath}" add ${memberSubdir}`,
476
- ` git -C "${clonePath}" commit -m '${autoSubject}'`,
477
- ` git -C "${clonePath}" push -u origin ${branchName}`,
478
- ` ${nextStepGhCommand}`,
479
- '',
480
- ].join('\n');
481
- return {
482
- filesCopied,
483
- filesUnchanged,
484
- filesCreated,
485
- branchName,
486
- nextStepGhCommand,
487
- _copyPasteBlock: copyPasteBlock,
488
- };
489
- }
490
- // ---------------------------------------------------------------------------
491
- // Init-member mode (Phase C C3)
492
- // ---------------------------------------------------------------------------
493
- /**
494
- * Scaffold members/<name>/{skills,agents}.overrides/.gitkeep + README.md
495
- * in the atlas-toolbox clone. Leaves the working tree dirty.
496
- * Throws PushError on validation / pre-flight / idempotency failures.
497
- */
498
- export function initMember(opts) {
499
- const memberName = opts.initMember;
500
- // Validate member name shape (same regex as ATLAS_USER_RE).
501
- if (!ATLAS_USER_RE.test(memberName)) {
502
- throw new PushError(1, `invalid member name "${memberName}" — must match /^[a-z0-9][a-z0-9_-]{0,38}$/`);
503
- }
504
- // Resolve target source (reuse same path as pushOverlays).
505
- let clonePath;
506
- if (opts._testClonePath !== undefined) {
507
- clonePath = opts._testClonePath;
508
- }
509
- else {
510
- const sources = opts._testSkillSources ?? listSkillSources();
511
- const source = sources.find((s) => s.name === opts.target) ?? null;
512
- if (source === null) {
513
- const available = sources.map((s) => s.name).join(', ') || '(none)';
514
- throw new PushError(1, `target source "${opts.target}" not registered.\n` +
515
- ` Available sources: ${available}\n` +
516
- ` Run \`olam skills source add\` to register one.\n` +
517
- ` Actions: [List sources] / [Cancel]`);
518
- }
519
- clonePath = skillSourceClonePath(source.id);
520
- }
521
- // Resolve atlas-user for branch name.
522
- const atlasUser = resolveAtlasUser(opts) ?? memberName;
523
- const memberDir = join(clonePath, 'members', memberName);
524
- // Idempotency: if members/<name>/ already exists, refuse.
525
- if (existsSync(memberDir)) {
526
- throw new PushError(1, `members/${memberName}/ already exists; use --push to update; or remove manually first\n` +
527
- ` Actions: [Show existing] / [Cancel]`);
528
- }
529
- const wouldCreate = [
530
- join(memberDir, 'skills.overrides', '.gitkeep'),
531
- join(memberDir, 'agents.overrides', '.gitkeep'),
532
- join(memberDir, 'README.md'),
533
- ];
534
- // Dry-run: preview only.
535
- if (opts.dryRun === true) {
536
- const { preflightWarnings } = runPreFlight(clonePath, opts.forceCurrentBranch === true, true);
537
- if (preflightWarnings.length > 0) {
538
- process.stderr.write(`[dry-run] pre-flight warnings (would BLOCK in real run):\n` +
539
- preflightWarnings.map((w) => ` - ${w.split('\n')[0]}`).join('\n') +
540
- '\n');
541
- }
542
- for (const p of wouldCreate) {
543
- process.stdout.write(` [new] ${p.replace(clonePath + '/', '')}\n`);
544
- }
545
- process.stdout.write(`[dry-run] would create ${wouldCreate.length} path(s) in members/${memberName}/\n`);
546
- return {
547
- memberName,
548
- branchName: '',
549
- nextStepGhCommand: '',
550
- createdPaths: wouldCreate,
551
- };
552
- }
553
- // Real run: pre-flight gate.
554
- const { error: preFlightError } = runPreFlight(clonePath, opts.forceCurrentBranch === true, false);
555
- if (preFlightError !== null) {
556
- throw new PushError(1, preFlightError);
557
- }
558
- // Generate and create branch.
559
- const now = new Date();
560
- const pad = (n) => String(n).padStart(2, '0');
561
- const ts = `${now.getFullYear()}${pad(now.getMonth() + 1)}${pad(now.getDate())}-${pad(now.getHours())}${pad(now.getMinutes())}${pad(now.getSeconds())}`;
562
- const branchName = `feat/${atlasUser}/init-member-${memberName}-${ts}`;
563
- let resolvedBranch = branchName;
564
- {
565
- let suffix = 2;
566
- while (true) {
567
- let existsLocally = false;
568
- try {
569
- runGit(['rev-parse', '--verify', `refs/heads/${resolvedBranch}`], clonePath);
570
- existsLocally = true;
571
- }
572
- catch {
573
- // doesn't exist
574
- }
575
- if (!existsLocally)
576
- break;
577
- resolvedBranch = `${branchName}-${suffix}`;
578
- suffix += 1;
579
- if (suffix > 100)
580
- break;
581
- }
582
- }
583
- try {
584
- runGit(['checkout', '-b', resolvedBranch], clonePath);
585
- }
586
- catch (err) {
587
- throw new PushError(1, `failed to create branch "${resolvedBranch}": ${err instanceof Error ? err.message : String(err)}`);
588
- }
589
- // CP3 ADV-C-2 fix: atomic copy rollback. If mkdirSync/writeFileSync
590
- // fails partway through, leave the clone on the new branch with partial
591
- // files — next invocation refuses the idempotency check + accumulates
592
- // orphan branches. Mirror the pushOverlays pattern: try/catch wrapped
593
- // around all create ops + best-effort cleanup (checkout main + branch -D)
594
- // before re-throwing as PushError with the "reverted to main" prefix.
595
- try {
596
- // Create directory tree.
597
- mkdirSync(join(memberDir, 'skills.overrides'), { recursive: true });
598
- writeFileSync(join(memberDir, 'skills.overrides', '.gitkeep'), '');
599
- mkdirSync(join(memberDir, 'agents.overrides'), { recursive: true });
600
- writeFileSync(join(memberDir, 'agents.overrides', '.gitkeep'), '');
601
- writeFileSync(join(memberDir, 'README.md'), `# Member overlays for \`${memberName}\`\n\nSee docs/plans/member-overlays-sync/ for layer architecture.\n`);
602
- }
603
- catch (err) {
604
- const msg = err instanceof Error ? err.message : String(err);
605
- // Best-effort cleanup: switch back to main + delete the orphan branch.
606
- try {
607
- runGit(['checkout', 'main'], clonePath);
608
- }
609
- catch {
610
- // ignore; operator can recover manually
611
- }
612
- try {
613
- runGit(['branch', '-D', resolvedBranch], clonePath);
614
- }
615
- catch {
616
- // ignore
617
- }
618
- throw new PushError(1, `Scaffold failed partway through — clone reverted to main. Original: ${msg}`);
619
- }
620
- // Compose copy-paste block.
621
- const autoSubject = `feat: scaffold members/${memberName}/ for atlas-toolbox-tracked overlays`;
622
- const nextStepGhCommand = `gh pr create --base main --head ${resolvedBranch} --title "${autoSubject}" --body "Scaffold member overlay directory for ${memberName}."`;
623
- const copyPasteBlock = [
624
- `\nNext steps (run in ${clonePath}):`,
625
- ` git -C "${clonePath}" add members/${memberName}/`,
626
- ` git -C "${clonePath}" commit -m '${autoSubject}'`,
627
- ` git -C "${clonePath}" push -u origin ${resolvedBranch}`,
628
- ` ${nextStepGhCommand}`,
629
- '',
630
- ].join('\n');
631
- return {
632
- memberName,
633
- branchName: resolvedBranch,
634
- nextStepGhCommand,
635
- createdPaths: wouldCreate,
636
- _copyPasteBlock: copyPasteBlock,
637
- };
638
- }
639
- // ---------------------------------------------------------------------------
640
- // Rewrite-mode entry (Phase C7 — unchanged)
641
- // ---------------------------------------------------------------------------
642
- export function migrateOverlays(opts = {}) {
643
- const root = opts.targetDir ?? join(homedir(), '.claude');
644
- const overrideRoots = [
645
- join(root, 'skills.overrides'),
646
- join(root, 'agents.overrides'),
647
- ];
648
- const allFiles = [];
649
- for (const overrideRoot of overrideRoots) {
650
- allFiles.push(...walkOverlayFiles(overrideRoot));
651
- }
652
- const summary = {
653
- scanned: allFiles.length,
654
- modified: 0,
655
- unchanged: 0,
656
- totalReplacements: 0,
657
- perFile: [],
658
- };
659
- for (const filePath of allFiles) {
660
- let original;
661
- try {
662
- original = readFileSync(filePath, 'utf8');
663
- }
664
- catch {
665
- continue;
666
- }
667
- const { newContent, replacements } = applyReplacements(original);
668
- const totalReplacements = replacements.reduce((s, r) => s + r.count, 0);
669
- if (totalReplacements === 0) {
670
- summary.unchanged += 1;
671
- continue;
672
- }
673
- if (opts.dryRun !== true) {
674
- writeFileSync(filePath, newContent, 'utf8');
675
- }
676
- summary.modified += 1;
677
- summary.totalReplacements += totalReplacements;
678
- summary.perFile.push({ path: filePath, replacements, totalReplacements });
679
- }
680
- return summary;
681
- }
682
- // ---------------------------------------------------------------------------
683
- // Commander registration
684
- // ---------------------------------------------------------------------------
685
- export function registerFlywheelMigrateOverlays(parent) {
686
- parent
687
- .command('migrate-overlays')
688
- .description('Migrate operator-local overlay files (~/.claude/{skills,agents}.overrides/) from hardcoded ~/.claude/scripts/<name> references to olam flywheel <subcmd> invocations. With --push, copy overlays into atlas-toolbox clone.')
689
- .option('--dry-run', 'preview changes without modifying files')
690
- .option('--target-dir <path>', 'override ~/.claude/ root (default: $HOME/.claude); for tests')
691
- .option('--json', 'emit summary as JSON instead of human-readable')
692
- .option('--push', 'PUSH mode: copy overlays into atlas-toolbox clone')
693
- .option('--target <name>', 'skill-source name to push into (required with --push or --init-member)')
694
- .option('--force-current-branch', 'Allow --push from non-main branches without pre-flight refusal')
695
- .option('--init-member <name>', 'Scaffold members/<name>/{skills,agents}.overrides/ on the atlas-toolbox clone')
696
- .action((opts) => {
697
- // T6 mode-overloading guard: --push requires --target
698
- if (opts.push === true && !opts.target) {
699
- process.stderr.write(`Error: --push requires --target=<skill-source-name>.\n` +
700
- ` Actions: [Add --target=atlas-toolbox] / [Cancel]\n`);
701
- process.exit(1);
702
- }
703
- // C3 mode-overloading guard: --init-member requires --target
704
- if (opts.initMember !== undefined && !opts.target) {
705
- process.stderr.write(`Error: --init-member requires --target=<skill-source-name>.\n` +
706
- ` Actions: [Add --target=atlas-toolbox] / [Cancel]\n`);
707
- process.exit(1);
708
- }
709
- if (opts.initMember !== undefined) {
710
- let summary;
711
- try {
712
- summary = initMember(opts);
713
- }
714
- catch (err) {
715
- if (err instanceof PushError) {
716
- process.stderr.write(`Error: ${err.message}\n`);
717
- process.exit(err.exitCode);
718
- }
719
- throw err;
720
- }
721
- if (opts.json === true) {
722
- process.stdout.write(JSON.stringify(summary) + '\n');
723
- return;
724
- }
725
- const dryRunLabel = opts.dryRun === true ? ' (dry-run)' : '';
726
- process.stdout.write(`olam flywheel migrate-overlays --init-member ${opts.initMember} → ${opts.target}${dryRunLabel}\n`);
727
- if (opts.dryRun !== true) {
728
- process.stdout.write(` branch: ${summary.branchName}\n`);
729
- process.stdout.write(` created: ${summary.createdPaths.length} path(s)\n`);
730
- if (summary._copyPasteBlock !== undefined) {
731
- process.stdout.write(summary._copyPasteBlock);
732
- }
733
- }
734
- return;
735
- }
736
- if (opts.push === true) {
737
- let summary;
738
- try {
739
- summary = pushOverlays(opts);
740
- }
741
- catch (err) {
742
- if (err instanceof PushError) {
743
- process.stderr.write(`Error: ${err.message}\n`);
744
- process.exit(err.exitCode);
745
- }
746
- throw err;
747
- }
748
- if (opts.json === true) {
749
- process.stdout.write(JSON.stringify(summary) + '\n');
750
- return;
751
- }
752
- const dryRunLabel = opts.dryRun === true ? ' (dry-run)' : '';
753
- process.stdout.write(`olam flywheel migrate-overlays --push → ${opts.target}${dryRunLabel}\n`);
754
- if (opts.dryRun !== true) {
755
- process.stdout.write(` branch: ${summary.branchName}\n`);
756
- process.stdout.write(` copied: ${summary.filesCopied}\n`);
757
- process.stdout.write(` created: ${summary.filesCreated}\n`);
758
- process.stdout.write(` unchanged: ${summary.filesUnchanged}\n`);
759
- if (summary._copyPasteBlock !== undefined) {
760
- process.stdout.write(summary._copyPasteBlock);
761
- }
762
- }
763
- return;
764
- }
765
- // Rewrite mode
766
- const root = opts.targetDir ?? join(homedir(), '.claude');
767
- const summary = migrateOverlays(opts);
768
- if (opts.json === true) {
769
- process.stdout.write(JSON.stringify(summary, null, 2) + '\n');
770
- return;
771
- }
772
- const dryRunSuffix = opts.dryRun === true ? ' (dry-run)' : '';
773
- process.stdout.write(`olam flywheel migrate-overlays → ${root}${dryRunSuffix}\n`);
774
- process.stdout.write(` scanned: ${summary.scanned} file(s)\n`);
775
- process.stdout.write(` modified: ${summary.modified}\n`);
776
- process.stdout.write(` unchanged: ${summary.unchanged}\n`);
777
- process.stdout.write(` total replacements: ${summary.totalReplacements}\n`);
778
- if (summary.perFile.length > 0) {
779
- process.stdout.write(`\nPer-file changes:\n`);
780
- for (const file of summary.perFile) {
781
- process.stdout.write(` ${relative(root, file.path)}${dryRunSuffix}\n`);
782
- for (const r of file.replacements) {
783
- process.stdout.write(` ${r.count}× ${r.basename} → ${r.replacedBy}\n`);
784
- }
785
- }
786
- }
787
- if (summary.modified === 0) {
788
- process.stdout.write(`\n[migrate-overlays] no changes needed — all overlays already migrated or no shim-target references found.\n`);
789
- }
790
- });
791
- }
792
- //# sourceMappingURL=migrate-overlays.js.map