@pleri/olam-cli 0.1.201 → 0.1.205

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (833) 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 +9533 -6258
  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/memory-hooks/agentmemory-classify-queue.mjs +363 -0
  30. package/memory-hooks/agentmemory-recall-trigger.mjs +233 -0
  31. package/memory-hooks/agentmemory-reflect-cite.mjs +332 -0
  32. package/memory-hooks/agentmemory-session-recall.js +332 -0
  33. package/memory-hooks/recall-log.mjs +185 -0
  34. package/package.json +9 -4
  35. package/dist/ask/checkout.d.ts +0 -19
  36. package/dist/ask/checkout.d.ts.map +0 -1
  37. package/dist/ask/checkout.js +0 -40
  38. package/dist/ask/checkout.js.map +0 -1
  39. package/dist/ask/knowledge-pack-builder.d.ts +0 -72
  40. package/dist/ask/knowledge-pack-builder.d.ts.map +0 -1
  41. package/dist/ask/knowledge-pack-builder.js +0 -96
  42. package/dist/ask/knowledge-pack-builder.js.map +0 -1
  43. package/dist/ask/knowledge-pack.generated.d.ts +0 -8
  44. package/dist/ask/knowledge-pack.generated.d.ts.map +0 -1
  45. package/dist/ask/knowledge-pack.generated.js +0 -2362
  46. package/dist/ask/knowledge-pack.generated.js.map +0 -1
  47. package/dist/ask/one-shot.d.ts +0 -21
  48. package/dist/ask/one-shot.d.ts.map +0 -1
  49. package/dist/ask/one-shot.js +0 -50
  50. package/dist/ask/one-shot.js.map +0 -1
  51. package/dist/ask/repl.d.ts +0 -30
  52. package/dist/ask/repl.d.ts.map +0 -1
  53. package/dist/ask/repl.js +0 -109
  54. package/dist/ask/repl.js.map +0 -1
  55. package/dist/ask/sdk-client.d.ts +0 -87
  56. package/dist/ask/sdk-client.d.ts.map +0 -1
  57. package/dist/ask/sdk-client.js +0 -118
  58. package/dist/ask/sdk-client.js.map +0 -1
  59. package/dist/ask/system-prompt.d.ts +0 -30
  60. package/dist/ask/system-prompt.d.ts.map +0 -1
  61. package/dist/ask/system-prompt.js +0 -31
  62. package/dist/ask/system-prompt.js.map +0 -1
  63. package/dist/cli-version.d.ts +0 -16
  64. package/dist/cli-version.d.ts.map +0 -1
  65. package/dist/cli-version.js +0 -39
  66. package/dist/cli-version.js.map +0 -1
  67. package/dist/commands/ask.d.ts +0 -27
  68. package/dist/commands/ask.d.ts.map +0 -1
  69. package/dist/commands/ask.js +0 -63
  70. package/dist/commands/ask.js.map +0 -1
  71. package/dist/commands/auth-list-json.d.ts +0 -87
  72. package/dist/commands/auth-list-json.d.ts.map +0 -1
  73. package/dist/commands/auth-list-json.js +0 -71
  74. package/dist/commands/auth-list-json.js.map +0 -1
  75. package/dist/commands/auth-migrate.d.ts +0 -212
  76. package/dist/commands/auth-migrate.d.ts.map +0 -1
  77. package/dist/commands/auth-migrate.js +0 -465
  78. package/dist/commands/auth-migrate.js.map +0 -1
  79. package/dist/commands/auth-status.d.ts +0 -51
  80. package/dist/commands/auth-status.d.ts.map +0 -1
  81. package/dist/commands/auth-status.js +0 -250
  82. package/dist/commands/auth-status.js.map +0 -1
  83. package/dist/commands/auth-upgrade.d.ts +0 -88
  84. package/dist/commands/auth-upgrade.d.ts.map +0 -1
  85. package/dist/commands/auth-upgrade.js +0 -431
  86. package/dist/commands/auth-upgrade.js.map +0 -1
  87. package/dist/commands/auth.d.ts +0 -31
  88. package/dist/commands/auth.d.ts.map +0 -1
  89. package/dist/commands/auth.js +0 -784
  90. package/dist/commands/auth.js.map +0 -1
  91. package/dist/commands/begin.d.ts +0 -27
  92. package/dist/commands/begin.d.ts.map +0 -1
  93. package/dist/commands/begin.js +0 -45
  94. package/dist/commands/begin.js.map +0 -1
  95. package/dist/commands/bootstrap.d.ts +0 -111
  96. package/dist/commands/bootstrap.d.ts.map +0 -1
  97. package/dist/commands/bootstrap.js +0 -485
  98. package/dist/commands/bootstrap.js.map +0 -1
  99. package/dist/commands/clean.d.ts +0 -41
  100. package/dist/commands/clean.d.ts.map +0 -1
  101. package/dist/commands/clean.js +0 -382
  102. package/dist/commands/clean.js.map +0 -1
  103. package/dist/commands/completion.d.ts +0 -30
  104. package/dist/commands/completion.d.ts.map +0 -1
  105. package/dist/commands/completion.js +0 -50
  106. package/dist/commands/completion.js.map +0 -1
  107. package/dist/commands/config.d.ts +0 -3
  108. package/dist/commands/config.d.ts.map +0 -1
  109. package/dist/commands/config.js +0 -146
  110. package/dist/commands/config.js.map +0 -1
  111. package/dist/commands/create.d.ts +0 -8
  112. package/dist/commands/create.d.ts.map +0 -1
  113. package/dist/commands/create.js +0 -775
  114. package/dist/commands/create.js.map +0 -1
  115. package/dist/commands/crystallize.d.ts +0 -18
  116. package/dist/commands/crystallize.d.ts.map +0 -1
  117. package/dist/commands/crystallize.js +0 -123
  118. package/dist/commands/crystallize.js.map +0 -1
  119. package/dist/commands/destroy.d.ts +0 -59
  120. package/dist/commands/destroy.d.ts.map +0 -1
  121. package/dist/commands/destroy.js +0 -148
  122. package/dist/commands/destroy.js.map +0 -1
  123. package/dist/commands/diagnose.d.ts +0 -36
  124. package/dist/commands/diagnose.d.ts.map +0 -1
  125. package/dist/commands/diagnose.js +0 -177
  126. package/dist/commands/diagnose.js.map +0 -1
  127. package/dist/commands/dispatch-resolve.d.ts +0 -54
  128. package/dist/commands/dispatch-resolve.d.ts.map +0 -1
  129. package/dist/commands/dispatch-resolve.js +0 -105
  130. package/dist/commands/dispatch-resolve.js.map +0 -1
  131. package/dist/commands/dispatch.d.ts +0 -18
  132. package/dist/commands/dispatch.d.ts.map +0 -1
  133. package/dist/commands/dispatch.js +0 -159
  134. package/dist/commands/dispatch.js.map +0 -1
  135. package/dist/commands/doctor.d.ts +0 -258
  136. package/dist/commands/doctor.d.ts.map +0 -1
  137. package/dist/commands/doctor.js +0 -1073
  138. package/dist/commands/doctor.js.map +0 -1
  139. package/dist/commands/enter.d.ts +0 -63
  140. package/dist/commands/enter.d.ts.map +0 -1
  141. package/dist/commands/enter.js +0 -230
  142. package/dist/commands/enter.js.map +0 -1
  143. package/dist/commands/flywheel/check-persona-skeleton.d.ts +0 -35
  144. package/dist/commands/flywheel/check-persona-skeleton.d.ts.map +0 -1
  145. package/dist/commands/flywheel/check-persona-skeleton.js +0 -151
  146. package/dist/commands/flywheel/check-persona-skeleton.js.map +0 -1
  147. package/dist/commands/flywheel/diversity-check.d.ts +0 -17
  148. package/dist/commands/flywheel/diversity-check.d.ts.map +0 -1
  149. package/dist/commands/flywheel/diversity-check.js +0 -64
  150. package/dist/commands/flywheel/diversity-check.js.map +0 -1
  151. package/dist/commands/flywheel/emit-breadcrumb.d.ts +0 -20
  152. package/dist/commands/flywheel/emit-breadcrumb.d.ts.map +0 -1
  153. package/dist/commands/flywheel/emit-breadcrumb.js +0 -137
  154. package/dist/commands/flywheel/emit-breadcrumb.js.map +0 -1
  155. package/dist/commands/flywheel/index.d.ts +0 -27
  156. package/dist/commands/flywheel/index.d.ts.map +0 -1
  157. package/dist/commands/flywheel/index.js +0 -54
  158. package/dist/commands/flywheel/index.js.map +0 -1
  159. package/dist/commands/flywheel/install-sessionstart-hook.d.ts +0 -64
  160. package/dist/commands/flywheel/install-sessionstart-hook.d.ts.map +0 -1
  161. package/dist/commands/flywheel/install-sessionstart-hook.js +0 -197
  162. package/dist/commands/flywheel/install-sessionstart-hook.js.map +0 -1
  163. package/dist/commands/flywheel/install-shims.d.ts +0 -41
  164. package/dist/commands/flywheel/install-shims.d.ts.map +0 -1
  165. package/dist/commands/flywheel/install-shims.js +0 -126
  166. package/dist/commands/flywheel/install-shims.js.map +0 -1
  167. package/dist/commands/flywheel/k10-measure.d.ts +0 -17
  168. package/dist/commands/flywheel/k10-measure.d.ts.map +0 -1
  169. package/dist/commands/flywheel/k10-measure.js +0 -63
  170. package/dist/commands/flywheel/k10-measure.js.map +0 -1
  171. package/dist/commands/flywheel/k5-score.d.ts +0 -14
  172. package/dist/commands/flywheel/k5-score.d.ts.map +0 -1
  173. package/dist/commands/flywheel/k5-score.js +0 -59
  174. package/dist/commands/flywheel/k5-score.js.map +0 -1
  175. package/dist/commands/flywheel/k5-validate.d.ts +0 -46
  176. package/dist/commands/flywheel/k5-validate.d.ts.map +0 -1
  177. package/dist/commands/flywheel/k5-validate.js +0 -246
  178. package/dist/commands/flywheel/k5-validate.js.map +0 -1
  179. package/dist/commands/flywheel/migrate-overlays.d.ts +0 -116
  180. package/dist/commands/flywheel/migrate-overlays.d.ts.map +0 -1
  181. package/dist/commands/flywheel/migrate-overlays.js +0 -792
  182. package/dist/commands/flywheel/migrate-overlays.js.map +0 -1
  183. package/dist/commands/flywheel/ping.d.ts +0 -21
  184. package/dist/commands/flywheel/ping.d.ts.map +0 -1
  185. package/dist/commands/flywheel/ping.js +0 -79
  186. package/dist/commands/flywheel/ping.js.map +0 -1
  187. package/dist/commands/flywheel/sanitize-persona-output.d.ts +0 -38
  188. package/dist/commands/flywheel/sanitize-persona-output.d.ts.map +0 -1
  189. package/dist/commands/flywheel/sanitize-persona-output.js +0 -102
  190. package/dist/commands/flywheel/sanitize-persona-output.js.map +0 -1
  191. package/dist/commands/flywheel/session-start.d.ts +0 -26
  192. package/dist/commands/flywheel/session-start.d.ts.map +0 -1
  193. package/dist/commands/flywheel/session-start.js +0 -119
  194. package/dist/commands/flywheel/session-start.js.map +0 -1
  195. package/dist/commands/hermes-kg-hook.d.ts +0 -36
  196. package/dist/commands/hermes-kg-hook.d.ts.map +0 -1
  197. package/dist/commands/hermes-kg-hook.js +0 -80
  198. package/dist/commands/hermes-kg-hook.js.map +0 -1
  199. package/dist/commands/hermes.d.ts +0 -46
  200. package/dist/commands/hermes.d.ts.map +0 -1
  201. package/dist/commands/hermes.js +0 -320
  202. package/dist/commands/hermes.js.map +0 -1
  203. package/dist/commands/host-cp.d.ts +0 -216
  204. package/dist/commands/host-cp.d.ts.map +0 -1
  205. package/dist/commands/host-cp.js +0 -913
  206. package/dist/commands/host-cp.js.map +0 -1
  207. package/dist/commands/implode.d.ts +0 -86
  208. package/dist/commands/implode.d.ts.map +0 -1
  209. package/dist/commands/implode.js +0 -468
  210. package/dist/commands/implode.js.map +0 -1
  211. package/dist/commands/init.d.ts +0 -86
  212. package/dist/commands/init.d.ts.map +0 -1
  213. package/dist/commands/init.js +0 -357
  214. package/dist/commands/init.js.map +0 -1
  215. package/dist/commands/install.d.ts +0 -22
  216. package/dist/commands/install.d.ts.map +0 -1
  217. package/dist/commands/install.js +0 -203
  218. package/dist/commands/install.js.map +0 -1
  219. package/dist/commands/keys-list-json.d.ts +0 -55
  220. package/dist/commands/keys-list-json.d.ts.map +0 -1
  221. package/dist/commands/keys-list-json.js +0 -54
  222. package/dist/commands/keys-list-json.js.map +0 -1
  223. package/dist/commands/keys.d.ts +0 -26
  224. package/dist/commands/keys.d.ts.map +0 -1
  225. package/dist/commands/keys.js +0 -157
  226. package/dist/commands/keys.js.map +0 -1
  227. package/dist/commands/kg-build.d.ts +0 -80
  228. package/dist/commands/kg-build.d.ts.map +0 -1
  229. package/dist/commands/kg-build.js +0 -282
  230. package/dist/commands/kg-build.js.map +0 -1
  231. package/dist/commands/kg-classify.d.ts +0 -30
  232. package/dist/commands/kg-classify.d.ts.map +0 -1
  233. package/dist/commands/kg-classify.js +0 -88
  234. package/dist/commands/kg-classify.js.map +0 -1
  235. package/dist/commands/kg-doctor.d.ts +0 -76
  236. package/dist/commands/kg-doctor.d.ts.map +0 -1
  237. package/dist/commands/kg-doctor.js +0 -262
  238. package/dist/commands/kg-doctor.js.map +0 -1
  239. package/dist/commands/kg-install-hook.d.ts +0 -20
  240. package/dist/commands/kg-install-hook.d.ts.map +0 -1
  241. package/dist/commands/kg-install-hook.js +0 -208
  242. package/dist/commands/kg-install-hook.js.map +0 -1
  243. package/dist/commands/kg-mirror.d.ts +0 -72
  244. package/dist/commands/kg-mirror.d.ts.map +0 -1
  245. package/dist/commands/kg-mirror.js +0 -397
  246. package/dist/commands/kg-mirror.js.map +0 -1
  247. package/dist/commands/kg-savings.d.ts +0 -20
  248. package/dist/commands/kg-savings.d.ts.map +0 -1
  249. package/dist/commands/kg-savings.js +0 -77
  250. package/dist/commands/kg-savings.js.map +0 -1
  251. package/dist/commands/kg-service-container.d.ts +0 -68
  252. package/dist/commands/kg-service-container.d.ts.map +0 -1
  253. package/dist/commands/kg-service-container.js +0 -191
  254. package/dist/commands/kg-service-container.js.map +0 -1
  255. package/dist/commands/kg-status.d.ts +0 -59
  256. package/dist/commands/kg-status.d.ts.map +0 -1
  257. package/dist/commands/kg-status.js +0 -344
  258. package/dist/commands/kg-status.js.map +0 -1
  259. package/dist/commands/kg-uninstall-hook.d.ts +0 -12
  260. package/dist/commands/kg-uninstall-hook.d.ts.map +0 -1
  261. package/dist/commands/kg-uninstall-hook.js +0 -121
  262. package/dist/commands/kg-uninstall-hook.js.map +0 -1
  263. package/dist/commands/kg-watch.d.ts +0 -49
  264. package/dist/commands/kg-watch.d.ts.map +0 -1
  265. package/dist/commands/kg-watch.js +0 -172
  266. package/dist/commands/kg-watch.js.map +0 -1
  267. package/dist/commands/lanes-list-json.d.ts +0 -69
  268. package/dist/commands/lanes-list-json.d.ts.map +0 -1
  269. package/dist/commands/lanes-list-json.js +0 -42
  270. package/dist/commands/lanes-list-json.js.map +0 -1
  271. package/dist/commands/lanes.d.ts +0 -18
  272. package/dist/commands/lanes.d.ts.map +0 -1
  273. package/dist/commands/lanes.js +0 -133
  274. package/dist/commands/lanes.js.map +0 -1
  275. package/dist/commands/list.d.ts +0 -33
  276. package/dist/commands/list.d.ts.map +0 -1
  277. package/dist/commands/list.js +0 -87
  278. package/dist/commands/list.js.map +0 -1
  279. package/dist/commands/logs.d.ts +0 -52
  280. package/dist/commands/logs.d.ts.map +0 -1
  281. package/dist/commands/logs.js +0 -180
  282. package/dist/commands/logs.js.map +0 -1
  283. package/dist/commands/mcp/add.d.ts +0 -9
  284. package/dist/commands/mcp/add.d.ts.map +0 -1
  285. package/dist/commands/mcp/add.js +0 -87
  286. package/dist/commands/mcp/add.js.map +0 -1
  287. package/dist/commands/mcp/client.d.ts +0 -60
  288. package/dist/commands/mcp/client.d.ts.map +0 -1
  289. package/dist/commands/mcp/client.js +0 -70
  290. package/dist/commands/mcp/client.js.map +0 -1
  291. package/dist/commands/mcp/complete.d.ts +0 -36
  292. package/dist/commands/mcp/complete.d.ts.map +0 -1
  293. package/dist/commands/mcp/complete.js +0 -66
  294. package/dist/commands/mcp/complete.js.map +0 -1
  295. package/dist/commands/mcp/import-discovery.d.ts +0 -25
  296. package/dist/commands/mcp/import-discovery.d.ts.map +0 -1
  297. package/dist/commands/mcp/import-discovery.js +0 -135
  298. package/dist/commands/mcp/import-discovery.js.map +0 -1
  299. package/dist/commands/mcp/import-validate.d.ts +0 -15
  300. package/dist/commands/mcp/import-validate.d.ts.map +0 -1
  301. package/dist/commands/mcp/import-validate.js +0 -55
  302. package/dist/commands/mcp/import-validate.js.map +0 -1
  303. package/dist/commands/mcp/import.d.ts +0 -12
  304. package/dist/commands/mcp/import.d.ts.map +0 -1
  305. package/dist/commands/mcp/import.js +0 -126
  306. package/dist/commands/mcp/import.js.map +0 -1
  307. package/dist/commands/mcp/index.d.ts +0 -14
  308. package/dist/commands/mcp/index.d.ts.map +0 -1
  309. package/dist/commands/mcp/index.js +0 -39
  310. package/dist/commands/mcp/index.js.map +0 -1
  311. package/dist/commands/mcp/install-shared.d.ts +0 -24
  312. package/dist/commands/mcp/install-shared.d.ts.map +0 -1
  313. package/dist/commands/mcp/install-shared.js +0 -42
  314. package/dist/commands/mcp/install-shared.js.map +0 -1
  315. package/dist/commands/mcp/install.d.ts +0 -20
  316. package/dist/commands/mcp/install.d.ts.map +0 -1
  317. package/dist/commands/mcp/install.js +0 -59
  318. package/dist/commands/mcp/install.js.map +0 -1
  319. package/dist/commands/mcp/list.d.ts +0 -6
  320. package/dist/commands/mcp/list.d.ts.map +0 -1
  321. package/dist/commands/mcp/list.js +0 -56
  322. package/dist/commands/mcp/list.js.map +0 -1
  323. package/dist/commands/mcp/login.d.ts +0 -6
  324. package/dist/commands/mcp/login.d.ts.map +0 -1
  325. package/dist/commands/mcp/login.js +0 -38
  326. package/dist/commands/mcp/login.js.map +0 -1
  327. package/dist/commands/mcp/remove.d.ts +0 -6
  328. package/dist/commands/mcp/remove.d.ts.map +0 -1
  329. package/dist/commands/mcp/remove.js +0 -21
  330. package/dist/commands/mcp/remove.js.map +0 -1
  331. package/dist/commands/mcp/revoke.d.ts +0 -11
  332. package/dist/commands/mcp/revoke.d.ts.map +0 -1
  333. package/dist/commands/mcp/revoke.js +0 -51
  334. package/dist/commands/mcp/revoke.js.map +0 -1
  335. package/dist/commands/mcp/serve.d.ts +0 -23
  336. package/dist/commands/mcp/serve.d.ts.map +0 -1
  337. package/dist/commands/mcp/serve.js +0 -55
  338. package/dist/commands/mcp/serve.js.map +0 -1
  339. package/dist/commands/mcp/status.d.ts +0 -6
  340. package/dist/commands/mcp/status.d.ts.map +0 -1
  341. package/dist/commands/mcp/status.js +0 -57
  342. package/dist/commands/mcp/status.js.map +0 -1
  343. package/dist/commands/mcp/uninstall.d.ts +0 -20
  344. package/dist/commands/mcp/uninstall.d.ts.map +0 -1
  345. package/dist/commands/mcp/uninstall.js +0 -60
  346. package/dist/commands/mcp/uninstall.js.map +0 -1
  347. package/dist/commands/memory/_paths.d.ts +0 -25
  348. package/dist/commands/memory/_paths.d.ts.map +0 -1
  349. package/dist/commands/memory/_paths.js +0 -57
  350. package/dist/commands/memory/_paths.js.map +0 -1
  351. package/dist/commands/memory/bridge.d.ts +0 -57
  352. package/dist/commands/memory/bridge.d.ts.map +0 -1
  353. package/dist/commands/memory/bridge.js +0 -152
  354. package/dist/commands/memory/bridge.js.map +0 -1
  355. package/dist/commands/memory/index.d.ts +0 -20
  356. package/dist/commands/memory/index.d.ts.map +0 -1
  357. package/dist/commands/memory/index.js +0 -47
  358. package/dist/commands/memory/index.js.map +0 -1
  359. package/dist/commands/memory/install-hooks.d.ts +0 -22
  360. package/dist/commands/memory/install-hooks.d.ts.map +0 -1
  361. package/dist/commands/memory/install-hooks.js +0 -156
  362. package/dist/commands/memory/install-hooks.js.map +0 -1
  363. package/dist/commands/memory/install.d.ts +0 -57
  364. package/dist/commands/memory/install.d.ts.map +0 -1
  365. package/dist/commands/memory/install.js +0 -114
  366. package/dist/commands/memory/install.js.map +0 -1
  367. package/dist/commands/memory/logs.d.ts +0 -19
  368. package/dist/commands/memory/logs.d.ts.map +0 -1
  369. package/dist/commands/memory/logs.js +0 -50
  370. package/dist/commands/memory/logs.js.map +0 -1
  371. package/dist/commands/memory/mode.d.ts +0 -47
  372. package/dist/commands/memory/mode.d.ts.map +0 -1
  373. package/dist/commands/memory/mode.js +0 -185
  374. package/dist/commands/memory/mode.js.map +0 -1
  375. package/dist/commands/memory/reclassify.d.ts +0 -56
  376. package/dist/commands/memory/reclassify.d.ts.map +0 -1
  377. package/dist/commands/memory/reclassify.js +0 -177
  378. package/dist/commands/memory/reclassify.js.map +0 -1
  379. package/dist/commands/memory/secret.d.ts +0 -16
  380. package/dist/commands/memory/secret.d.ts.map +0 -1
  381. package/dist/commands/memory/secret.js +0 -80
  382. package/dist/commands/memory/secret.js.map +0 -1
  383. package/dist/commands/memory/start.d.ts +0 -25
  384. package/dist/commands/memory/start.d.ts.map +0 -1
  385. package/dist/commands/memory/start.js +0 -83
  386. package/dist/commands/memory/start.js.map +0 -1
  387. package/dist/commands/memory/stats.d.ts +0 -69
  388. package/dist/commands/memory/stats.d.ts.map +0 -1
  389. package/dist/commands/memory/stats.js +0 -164
  390. package/dist/commands/memory/stats.js.map +0 -1
  391. package/dist/commands/memory/status.d.ts +0 -45
  392. package/dist/commands/memory/status.d.ts.map +0 -1
  393. package/dist/commands/memory/status.js +0 -134
  394. package/dist/commands/memory/status.js.map +0 -1
  395. package/dist/commands/memory/stop.d.ts +0 -13
  396. package/dist/commands/memory/stop.d.ts.map +0 -1
  397. package/dist/commands/memory/stop.js +0 -52
  398. package/dist/commands/memory/stop.js.map +0 -1
  399. package/dist/commands/memory/uninstall.d.ts +0 -19
  400. package/dist/commands/memory/uninstall.d.ts.map +0 -1
  401. package/dist/commands/memory/uninstall.js +0 -60
  402. package/dist/commands/memory/uninstall.js.map +0 -1
  403. package/dist/commands/memory-service-container.d.ts +0 -130
  404. package/dist/commands/memory-service-container.d.ts.map +0 -1
  405. package/dist/commands/memory-service-container.js +0 -251
  406. package/dist/commands/memory-service-container.js.map +0 -1
  407. package/dist/commands/observe.d.ts +0 -9
  408. package/dist/commands/observe.d.ts.map +0 -1
  409. package/dist/commands/observe.js +0 -42
  410. package/dist/commands/observe.js.map +0 -1
  411. package/dist/commands/plans-list-json.d.ts +0 -77
  412. package/dist/commands/plans-list-json.d.ts.map +0 -1
  413. package/dist/commands/plans-list-json.js +0 -61
  414. package/dist/commands/plans-list-json.js.map +0 -1
  415. package/dist/commands/plans.d.ts +0 -3
  416. package/dist/commands/plans.d.ts.map +0 -1
  417. package/dist/commands/plans.js +0 -221
  418. package/dist/commands/plans.js.map +0 -1
  419. package/dist/commands/policy-check.d.ts +0 -14
  420. package/dist/commands/policy-check.d.ts.map +0 -1
  421. package/dist/commands/policy-check.js +0 -76
  422. package/dist/commands/policy-check.js.map +0 -1
  423. package/dist/commands/pr.d.ts +0 -17
  424. package/dist/commands/pr.d.ts.map +0 -1
  425. package/dist/commands/pr.js +0 -148
  426. package/dist/commands/pr.js.map +0 -1
  427. package/dist/commands/ps.d.ts +0 -57
  428. package/dist/commands/ps.d.ts.map +0 -1
  429. package/dist/commands/ps.js +0 -202
  430. package/dist/commands/ps.js.map +0 -1
  431. package/dist/commands/refresh-helpers.d.ts +0 -25
  432. package/dist/commands/refresh-helpers.d.ts.map +0 -1
  433. package/dist/commands/refresh-helpers.js +0 -56
  434. package/dist/commands/refresh-helpers.js.map +0 -1
  435. package/dist/commands/refresh.d.ts +0 -23
  436. package/dist/commands/refresh.d.ts.map +0 -1
  437. package/dist/commands/refresh.js +0 -237
  438. package/dist/commands/refresh.js.map +0 -1
  439. package/dist/commands/rekey.d.ts +0 -84
  440. package/dist/commands/rekey.d.ts.map +0 -1
  441. package/dist/commands/rekey.js +0 -209
  442. package/dist/commands/rekey.js.map +0 -1
  443. package/dist/commands/repos-list-json.d.ts +0 -58
  444. package/dist/commands/repos-list-json.d.ts.map +0 -1
  445. package/dist/commands/repos-list-json.js +0 -45
  446. package/dist/commands/repos-list-json.js.map +0 -1
  447. package/dist/commands/repos.d.ts +0 -11
  448. package/dist/commands/repos.d.ts.map +0 -1
  449. package/dist/commands/repos.js +0 -102
  450. package/dist/commands/repos.js.map +0 -1
  451. package/dist/commands/restart.d.ts +0 -18
  452. package/dist/commands/restart.d.ts.map +0 -1
  453. package/dist/commands/restart.js +0 -113
  454. package/dist/commands/restart.js.map +0 -1
  455. package/dist/commands/resume.d.ts +0 -63
  456. package/dist/commands/resume.d.ts.map +0 -1
  457. package/dist/commands/resume.js +0 -174
  458. package/dist/commands/resume.js.map +0 -1
  459. package/dist/commands/runbooks.d.ts +0 -45
  460. package/dist/commands/runbooks.d.ts.map +0 -1
  461. package/dist/commands/runbooks.js +0 -313
  462. package/dist/commands/runbooks.js.map +0 -1
  463. package/dist/commands/seed.d.ts +0 -27
  464. package/dist/commands/seed.d.ts.map +0 -1
  465. package/dist/commands/seed.js +0 -303
  466. package/dist/commands/seed.js.map +0 -1
  467. package/dist/commands/services-tls.d.ts +0 -120
  468. package/dist/commands/services-tls.d.ts.map +0 -1
  469. package/dist/commands/services-tls.js +0 -489
  470. package/dist/commands/services-tls.js.map +0 -1
  471. package/dist/commands/services.d.ts +0 -218
  472. package/dist/commands/services.d.ts.map +0 -1
  473. package/dist/commands/services.js +0 -830
  474. package/dist/commands/services.js.map +0 -1
  475. package/dist/commands/setup-linux-gate.d.ts +0 -26
  476. package/dist/commands/setup-linux-gate.d.ts.map +0 -1
  477. package/dist/commands/setup-linux-gate.js +0 -40
  478. package/dist/commands/setup-linux-gate.js.map +0 -1
  479. package/dist/commands/setup-metrics.d.ts +0 -26
  480. package/dist/commands/setup-metrics.d.ts.map +0 -1
  481. package/dist/commands/setup-metrics.js +0 -56
  482. package/dist/commands/setup-metrics.js.map +0 -1
  483. package/dist/commands/setup-phase-5a-skill-source.d.ts +0 -84
  484. package/dist/commands/setup-phase-5a-skill-source.d.ts.map +0 -1
  485. package/dist/commands/setup-phase-5a-skill-source.js +0 -259
  486. package/dist/commands/setup-phase-5a-skill-source.js.map +0 -1
  487. package/dist/commands/setup-phase-5b-project-sweep.d.ts +0 -38
  488. package/dist/commands/setup-phase-5b-project-sweep.d.ts.map +0 -1
  489. package/dist/commands/setup-phase-5b-project-sweep.js +0 -175
  490. package/dist/commands/setup-phase-5b-project-sweep.js.map +0 -1
  491. package/dist/commands/setup-phase-8-kg-hook.d.ts +0 -48
  492. package/dist/commands/setup-phase-8-kg-hook.d.ts.map +0 -1
  493. package/dist/commands/setup-phase-8-kg-hook.js +0 -93
  494. package/dist/commands/setup-phase-8-kg-hook.js.map +0 -1
  495. package/dist/commands/setup-phase-9-memory-bridge.d.ts +0 -36
  496. package/dist/commands/setup-phase-9-memory-bridge.d.ts.map +0 -1
  497. package/dist/commands/setup-phase-9-memory-bridge.js +0 -59
  498. package/dist/commands/setup-phase-9-memory-bridge.js.map +0 -1
  499. package/dist/commands/setup.d.ts +0 -231
  500. package/dist/commands/setup.d.ts.map +0 -1
  501. package/dist/commands/setup.js +0 -1374
  502. package/dist/commands/setup.js.map +0 -1
  503. package/dist/commands/skills-100x.d.ts +0 -34
  504. package/dist/commands/skills-100x.d.ts.map +0 -1
  505. package/dist/commands/skills-100x.js +0 -405
  506. package/dist/commands/skills-100x.js.map +0 -1
  507. package/dist/commands/skills-doctor.d.ts +0 -14
  508. package/dist/commands/skills-doctor.d.ts.map +0 -1
  509. package/dist/commands/skills-doctor.js +0 -126
  510. package/dist/commands/skills-doctor.js.map +0 -1
  511. package/dist/commands/skills-hook.d.ts +0 -19
  512. package/dist/commands/skills-hook.d.ts.map +0 -1
  513. package/dist/commands/skills-hook.js +0 -99
  514. package/dist/commands/skills-hook.js.map +0 -1
  515. package/dist/commands/skills-install-model-router.d.ts +0 -20
  516. package/dist/commands/skills-install-model-router.d.ts.map +0 -1
  517. package/dist/commands/skills-install-model-router.js +0 -55
  518. package/dist/commands/skills-install-model-router.js.map +0 -1
  519. package/dist/commands/skills-migrate-back.d.ts +0 -21
  520. package/dist/commands/skills-migrate-back.d.ts.map +0 -1
  521. package/dist/commands/skills-migrate-back.js +0 -222
  522. package/dist/commands/skills-migrate-back.js.map +0 -1
  523. package/dist/commands/skills-migrate-hooks-back.d.ts +0 -19
  524. package/dist/commands/skills-migrate-hooks-back.d.ts.map +0 -1
  525. package/dist/commands/skills-migrate-hooks-back.js +0 -83
  526. package/dist/commands/skills-migrate-hooks-back.js.map +0 -1
  527. package/dist/commands/skills-migrate-hooks.d.ts +0 -40
  528. package/dist/commands/skills-migrate-hooks.d.ts.map +0 -1
  529. package/dist/commands/skills-migrate-hooks.js +0 -178
  530. package/dist/commands/skills-migrate-hooks.js.map +0 -1
  531. package/dist/commands/skills-migrate.d.ts +0 -33
  532. package/dist/commands/skills-migrate.d.ts.map +0 -1
  533. package/dist/commands/skills-migrate.js +0 -216
  534. package/dist/commands/skills-migrate.js.map +0 -1
  535. package/dist/commands/skills-onboard.d.ts +0 -26
  536. package/dist/commands/skills-onboard.d.ts.map +0 -1
  537. package/dist/commands/skills-onboard.js +0 -230
  538. package/dist/commands/skills-onboard.js.map +0 -1
  539. package/dist/commands/skills-shadow-backups.d.ts +0 -15
  540. package/dist/commands/skills-shadow-backups.d.ts.map +0 -1
  541. package/dist/commands/skills-shadow-backups.js +0 -132
  542. package/dist/commands/skills-shadow-backups.js.map +0 -1
  543. package/dist/commands/skills-source.d.ts +0 -61
  544. package/dist/commands/skills-source.d.ts.map +0 -1
  545. package/dist/commands/skills-source.js +0 -895
  546. package/dist/commands/skills-source.js.map +0 -1
  547. package/dist/commands/skills.d.ts +0 -59
  548. package/dist/commands/skills.d.ts.map +0 -1
  549. package/dist/commands/skills.js +0 -461
  550. package/dist/commands/skills.js.map +0 -1
  551. package/dist/commands/status.d.ts +0 -65
  552. package/dist/commands/status.d.ts.map +0 -1
  553. package/dist/commands/status.js +0 -249
  554. package/dist/commands/status.js.map +0 -1
  555. package/dist/commands/stop.d.ts +0 -10
  556. package/dist/commands/stop.d.ts.map +0 -1
  557. package/dist/commands/stop.js +0 -17
  558. package/dist/commands/stop.js.map +0 -1
  559. package/dist/commands/substrate-audit-log.d.ts +0 -51
  560. package/dist/commands/substrate-audit-log.d.ts.map +0 -1
  561. package/dist/commands/substrate-audit-log.js +0 -161
  562. package/dist/commands/substrate-audit-log.js.map +0 -1
  563. package/dist/commands/substrate.d.ts +0 -87
  564. package/dist/commands/substrate.d.ts.map +0 -1
  565. package/dist/commands/substrate.js +0 -194
  566. package/dist/commands/substrate.js.map +0 -1
  567. package/dist/commands/update.d.ts +0 -89
  568. package/dist/commands/update.d.ts.map +0 -1
  569. package/dist/commands/update.js +0 -331
  570. package/dist/commands/update.js.map +0 -1
  571. package/dist/commands/upgrade-history.d.ts +0 -15
  572. package/dist/commands/upgrade-history.d.ts.map +0 -1
  573. package/dist/commands/upgrade-history.js +0 -34
  574. package/dist/commands/upgrade-history.js.map +0 -1
  575. package/dist/commands/upgrade-lock.d.ts +0 -93
  576. package/dist/commands/upgrade-lock.d.ts.map +0 -1
  577. package/dist/commands/upgrade-lock.js +0 -225
  578. package/dist/commands/upgrade-lock.js.map +0 -1
  579. package/dist/commands/upgrade-log.d.ts +0 -86
  580. package/dist/commands/upgrade-log.d.ts.map +0 -1
  581. package/dist/commands/upgrade-log.js +0 -146
  582. package/dist/commands/upgrade-log.js.map +0 -1
  583. package/dist/commands/upgrade.d.ts +0 -445
  584. package/dist/commands/upgrade.d.ts.map +0 -1
  585. package/dist/commands/upgrade.js +0 -1718
  586. package/dist/commands/upgrade.js.map +0 -1
  587. package/dist/commands/workspace-list-json.d.ts +0 -73
  588. package/dist/commands/workspace-list-json.d.ts.map +0 -1
  589. package/dist/commands/workspace-list-json.js +0 -59
  590. package/dist/commands/workspace-list-json.js.map +0 -1
  591. package/dist/commands/workspace.d.ts +0 -23
  592. package/dist/commands/workspace.d.ts.map +0 -1
  593. package/dist/commands/workspace.js +0 -203
  594. package/dist/commands/workspace.js.map +0 -1
  595. package/dist/commands/world-snapshot.d.ts +0 -32
  596. package/dist/commands/world-snapshot.d.ts.map +0 -1
  597. package/dist/commands/world-snapshot.js +0 -531
  598. package/dist/commands/world-snapshot.js.map +0 -1
  599. package/dist/commands/world-upgrade.d.ts +0 -33
  600. package/dist/commands/world-upgrade.d.ts.map +0 -1
  601. package/dist/commands/world-upgrade.js +0 -82
  602. package/dist/commands/world-upgrade.js.map +0 -1
  603. package/dist/commands/world.d.ts +0 -12
  604. package/dist/commands/world.d.ts.map +0 -1
  605. package/dist/commands/world.js +0 -18
  606. package/dist/commands/world.js.map +0 -1
  607. package/dist/commands/worldspec/compile.d.ts +0 -20
  608. package/dist/commands/worldspec/compile.d.ts.map +0 -1
  609. package/dist/commands/worldspec/compile.js +0 -130
  610. package/dist/commands/worldspec/compile.js.map +0 -1
  611. package/dist/commands/worldspec/index.d.ts +0 -12
  612. package/dist/commands/worldspec/index.d.ts.map +0 -1
  613. package/dist/commands/worldspec/index.js +0 -23
  614. package/dist/commands/worldspec/index.js.map +0 -1
  615. package/dist/commands/worldspec/init.d.ts +0 -15
  616. package/dist/commands/worldspec/init.d.ts.map +0 -1
  617. package/dist/commands/worldspec/init.js +0 -166
  618. package/dist/commands/worldspec/init.js.map +0 -1
  619. package/dist/commands/worldspec/schema.d.ts +0 -11
  620. package/dist/commands/worldspec/schema.d.ts.map +0 -1
  621. package/dist/commands/worldspec/schema.js +0 -55
  622. package/dist/commands/worldspec/schema.js.map +0 -1
  623. package/dist/commands/worldspec/validate.d.ts +0 -15
  624. package/dist/commands/worldspec/validate.d.ts.map +0 -1
  625. package/dist/commands/worldspec/validate.js +0 -66
  626. package/dist/commands/worldspec/validate.js.map +0 -1
  627. package/dist/commands/yolo.d.ts +0 -95
  628. package/dist/commands/yolo.d.ts.map +0 -1
  629. package/dist/commands/yolo.js +0 -377
  630. package/dist/commands/yolo.js.map +0 -1
  631. package/dist/context.d.ts +0 -30
  632. package/dist/context.d.ts.map +0 -1
  633. package/dist/context.js +0 -56
  634. package/dist/context.js.map +0 -1
  635. package/dist/docker-host.d.ts +0 -18
  636. package/dist/docker-host.d.ts.map +0 -1
  637. package/dist/docker-host.js +0 -17
  638. package/dist/docker-host.js.map +0 -1
  639. package/dist/exit-codes.d.ts +0 -67
  640. package/dist/exit-codes.d.ts.map +0 -1
  641. package/dist/exit-codes.js +0 -67
  642. package/dist/exit-codes.js.map +0 -1
  643. package/dist/from-manifest.d.ts +0 -53
  644. package/dist/from-manifest.d.ts.map +0 -1
  645. package/dist/from-manifest.js +0 -95
  646. package/dist/from-manifest.js.map +0 -1
  647. package/dist/image-presence.d.ts +0 -40
  648. package/dist/image-presence.d.ts.map +0 -1
  649. package/dist/image-presence.js +0 -39
  650. package/dist/image-presence.js.map +0 -1
  651. package/dist/index.d.ts +0 -9
  652. package/dist/index.d.ts.map +0 -1
  653. package/dist/install-root.d.ts +0 -74
  654. package/dist/install-root.d.ts.map +0 -1
  655. package/dist/install-root.js +0 -98
  656. package/dist/install-root.js.map +0 -1
  657. package/dist/lib/anthropic-base-url-file.d.ts +0 -37
  658. package/dist/lib/anthropic-base-url-file.d.ts.map +0 -1
  659. package/dist/lib/anthropic-base-url-file.js +0 -46
  660. package/dist/lib/anthropic-base-url-file.js.map +0 -1
  661. package/dist/lib/auth-backend.d.ts +0 -168
  662. package/dist/lib/auth-backend.d.ts.map +0 -1
  663. package/dist/lib/auth-backend.js +0 -172
  664. package/dist/lib/auth-backend.js.map +0 -1
  665. package/dist/lib/auth-list-cache.d.ts +0 -67
  666. package/dist/lib/auth-list-cache.d.ts.map +0 -1
  667. package/dist/lib/auth-list-cache.js +0 -84
  668. package/dist/lib/auth-list-cache.js.map +0 -1
  669. package/dist/lib/auth-list.d.ts +0 -107
  670. package/dist/lib/auth-list.d.ts.map +0 -1
  671. package/dist/lib/auth-list.js +0 -123
  672. package/dist/lib/auth-list.js.map +0 -1
  673. package/dist/lib/auth-login.d.ts +0 -92
  674. package/dist/lib/auth-login.d.ts.map +0 -1
  675. package/dist/lib/auth-login.js +0 -124
  676. package/dist/lib/auth-login.js.map +0 -1
  677. package/dist/lib/auth-mutator-backend.d.ts +0 -54
  678. package/dist/lib/auth-mutator-backend.d.ts.map +0 -1
  679. package/dist/lib/auth-mutator-backend.js +0 -62
  680. package/dist/lib/auth-mutator-backend.js.map +0 -1
  681. package/dist/lib/auth-refresh-kubernetes.d.ts +0 -65
  682. package/dist/lib/auth-refresh-kubernetes.d.ts.map +0 -1
  683. package/dist/lib/auth-refresh-kubernetes.js +0 -125
  684. package/dist/lib/auth-refresh-kubernetes.js.map +0 -1
  685. package/dist/lib/auth-remote.d.ts +0 -172
  686. package/dist/lib/auth-remote.d.ts.map +0 -1
  687. package/dist/lib/auth-remote.js +0 -394
  688. package/dist/lib/auth-remote.js.map +0 -1
  689. package/dist/lib/bootstrap-kubernetes.d.ts +0 -164
  690. package/dist/lib/bootstrap-kubernetes.d.ts.map +0 -1
  691. package/dist/lib/bootstrap-kubernetes.js +0 -1002
  692. package/dist/lib/bootstrap-kubernetes.js.map +0 -1
  693. package/dist/lib/build-if-stale.d.ts +0 -33
  694. package/dist/lib/build-if-stale.d.ts.map +0 -1
  695. package/dist/lib/build-if-stale.js +0 -156
  696. package/dist/lib/build-if-stale.js.map +0 -1
  697. package/dist/lib/bundle-freshness.d.ts +0 -57
  698. package/dist/lib/bundle-freshness.d.ts.map +0 -1
  699. package/dist/lib/bundle-freshness.js +0 -223
  700. package/dist/lib/bundle-freshness.js.map +0 -1
  701. package/dist/lib/bundle-source.d.ts +0 -52
  702. package/dist/lib/bundle-source.d.ts.map +0 -1
  703. package/dist/lib/bundle-source.js +0 -83
  704. package/dist/lib/bundle-source.js.map +0 -1
  705. package/dist/lib/cf-access-token.d.ts +0 -32
  706. package/dist/lib/cf-access-token.d.ts.map +0 -1
  707. package/dist/lib/cf-access-token.js +0 -51
  708. package/dist/lib/cf-access-token.js.map +0 -1
  709. package/dist/lib/completion-generator.d.ts +0 -107
  710. package/dist/lib/completion-generator.d.ts.map +0 -1
  711. package/dist/lib/completion-generator.js +0 -226
  712. package/dist/lib/completion-generator.js.map +0 -1
  713. package/dist/lib/config.d.ts +0 -114
  714. package/dist/lib/config.d.ts.map +0 -1
  715. package/dist/lib/config.js +0 -246
  716. package/dist/lib/config.js.map +0 -1
  717. package/dist/lib/flywheel-probes.d.ts +0 -58
  718. package/dist/lib/flywheel-probes.d.ts.map +0 -1
  719. package/dist/lib/flywheel-probes.js +0 -163
  720. package/dist/lib/flywheel-probes.js.map +0 -1
  721. package/dist/lib/health-probes.d.ts +0 -267
  722. package/dist/lib/health-probes.d.ts.map +0 -1
  723. package/dist/lib/health-probes.js +0 -933
  724. package/dist/lib/health-probes.js.map +0 -1
  725. package/dist/lib/help-groups.d.ts +0 -36
  726. package/dist/lib/help-groups.d.ts.map +0 -1
  727. package/dist/lib/help-groups.js +0 -124
  728. package/dist/lib/help-groups.js.map +0 -1
  729. package/dist/lib/host-side-proxy.d.ts +0 -67
  730. package/dist/lib/host-side-proxy.d.ts.map +0 -1
  731. package/dist/lib/host-side-proxy.js +0 -177
  732. package/dist/lib/host-side-proxy.js.map +0 -1
  733. package/dist/lib/instrumentation.d.ts +0 -85
  734. package/dist/lib/instrumentation.d.ts.map +0 -1
  735. package/dist/lib/instrumentation.js +0 -104
  736. package/dist/lib/instrumentation.js.map +0 -1
  737. package/dist/lib/k8s-bootstrap.d.ts +0 -126
  738. package/dist/lib/k8s-bootstrap.d.ts.map +0 -1
  739. package/dist/lib/k8s-bootstrap.js +0 -218
  740. package/dist/lib/k8s-bootstrap.js.map +0 -1
  741. package/dist/lib/k8s-context-discovery.d.ts +0 -80
  742. package/dist/lib/k8s-context-discovery.d.ts.map +0 -1
  743. package/dist/lib/k8s-context-discovery.js +0 -102
  744. package/dist/lib/k8s-context-discovery.js.map +0 -1
  745. package/dist/lib/k8s-secret-render.d.ts +0 -141
  746. package/dist/lib/k8s-secret-render.d.ts.map +0 -1
  747. package/dist/lib/k8s-secret-render.js +0 -318
  748. package/dist/lib/k8s-secret-render.js.map +0 -1
  749. package/dist/lib/kg-caps.d.ts +0 -19
  750. package/dist/lib/kg-caps.d.ts.map +0 -1
  751. package/dist/lib/kg-caps.js +0 -19
  752. package/dist/lib/kg-caps.js.map +0 -1
  753. package/dist/lib/kubectl-context.d.ts +0 -87
  754. package/dist/lib/kubectl-context.d.ts.map +0 -1
  755. package/dist/lib/kubectl-context.js +0 -105
  756. package/dist/lib/kubectl-context.js.map +0 -1
  757. package/dist/lib/kubectl-wrap.d.ts +0 -65
  758. package/dist/lib/kubectl-wrap.d.ts.map +0 -1
  759. package/dist/lib/kubectl-wrap.js +0 -135
  760. package/dist/lib/kubectl-wrap.js.map +0 -1
  761. package/dist/lib/manifest-refresh.d.ts +0 -136
  762. package/dist/lib/manifest-refresh.d.ts.map +0 -1
  763. package/dist/lib/manifest-refresh.js +0 -298
  764. package/dist/lib/manifest-refresh.js.map +0 -1
  765. package/dist/lib/memory-host-process-migration.d.ts +0 -56
  766. package/dist/lib/memory-host-process-migration.d.ts.map +0 -1
  767. package/dist/lib/memory-host-process-migration.js +0 -156
  768. package/dist/lib/memory-host-process-migration.js.map +0 -1
  769. package/dist/lib/memory-secret.d.ts +0 -83
  770. package/dist/lib/memory-secret.d.ts.map +0 -1
  771. package/dist/lib/memory-secret.js +0 -147
  772. package/dist/lib/memory-secret.js.map +0 -1
  773. package/dist/lib/peripheral-registry.d.ts +0 -53
  774. package/dist/lib/peripheral-registry.d.ts.map +0 -1
  775. package/dist/lib/peripheral-registry.js +0 -73
  776. package/dist/lib/peripheral-registry.js.map +0 -1
  777. package/dist/lib/plans-client.d.ts +0 -69
  778. package/dist/lib/plans-client.d.ts.map +0 -1
  779. package/dist/lib/plans-client.js +0 -140
  780. package/dist/lib/plans-client.js.map +0 -1
  781. package/dist/lib/port-forward.d.ts +0 -168
  782. package/dist/lib/port-forward.d.ts.map +0 -1
  783. package/dist/lib/port-forward.js +0 -393
  784. package/dist/lib/port-forward.js.map +0 -1
  785. package/dist/lib/shell-rc.d.ts +0 -90
  786. package/dist/lib/shell-rc.d.ts.map +0 -1
  787. package/dist/lib/shell-rc.js +0 -91
  788. package/dist/lib/shell-rc.js.map +0 -1
  789. package/dist/lib/shim-generator.d.ts +0 -51
  790. package/dist/lib/shim-generator.d.ts.map +0 -1
  791. package/dist/lib/shim-generator.js +0 -88
  792. package/dist/lib/shim-generator.js.map +0 -1
  793. package/dist/lib/skills-apply-overlays.d.ts +0 -35
  794. package/dist/lib/skills-apply-overlays.d.ts.map +0 -1
  795. package/dist/lib/skills-apply-overlays.js +0 -243
  796. package/dist/lib/skills-apply-overlays.js.map +0 -1
  797. package/dist/lib/symlink-reconcile.d.ts +0 -32
  798. package/dist/lib/symlink-reconcile.d.ts.map +0 -1
  799. package/dist/lib/symlink-reconcile.js +0 -80
  800. package/dist/lib/symlink-reconcile.js.map +0 -1
  801. package/dist/lib/upgrade-check.d.ts +0 -60
  802. package/dist/lib/upgrade-check.d.ts.map +0 -1
  803. package/dist/lib/upgrade-check.js +0 -169
  804. package/dist/lib/upgrade-check.js.map +0 -1
  805. package/dist/lib/upgrade-kubernetes.d.ts +0 -193
  806. package/dist/lib/upgrade-kubernetes.d.ts.map +0 -1
  807. package/dist/lib/upgrade-kubernetes.js +0 -1014
  808. package/dist/lib/upgrade-kubernetes.js.map +0 -1
  809. package/dist/lib/world-mcp-register.d.ts +0 -98
  810. package/dist/lib/world-mcp-register.d.ts.map +0 -1
  811. package/dist/lib/world-mcp-register.js +0 -117
  812. package/dist/lib/world-mcp-register.js.map +0 -1
  813. package/dist/output.d.ts +0 -10
  814. package/dist/output.d.ts.map +0 -1
  815. package/dist/output.js +0 -31
  816. package/dist/output.js.map +0 -1
  817. package/dist/pleri-config.d.ts +0 -22
  818. package/dist/pleri-config.d.ts.map +0 -1
  819. package/dist/pleri-config.js +0 -42
  820. package/dist/pleri-config.js.map +0 -1
  821. package/dist/protocol-version.d.ts +0 -79
  822. package/dist/protocol-version.d.ts.map +0 -1
  823. package/dist/protocol-version.js +0 -133
  824. package/dist/protocol-version.js.map +0 -1
  825. package/dist/registry-allowlist.d.ts +0 -47
  826. package/dist/registry-allowlist.d.ts.map +0 -1
  827. package/dist/registry-allowlist.js +0 -67
  828. package/dist/registry-allowlist.js.map +0 -1
  829. package/dist/spawn/home-override.d.ts +0 -82
  830. package/dist/spawn/home-override.d.ts.map +0 -1
  831. package/dist/spawn/home-override.js +0 -107
  832. package/dist/spawn/home-override.js.map +0 -1
  833. 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