@maiaos/cli 0.1.0-canary.2

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 (413) hide show
  1. package/README.md +287 -0
  2. package/dist/bin/maia.NOTICES.txt +59 -0
  3. package/dist/bin/maia.cdx.json +145 -0
  4. package/dist/bin/maia.mjs +2 -0
  5. package/dist/bootstrap/index.d.ts +3 -0
  6. package/dist/bootstrap/index.js +3 -0
  7. package/dist/bootstrap/process.d.ts +5 -0
  8. package/dist/bootstrap/process.js +45 -0
  9. package/dist/bootstrap/run.d.ts +25 -0
  10. package/dist/bootstrap/run.js +95 -0
  11. package/dist/bootstrap/stdio.d.ts +4 -0
  12. package/dist/bootstrap/stdio.js +9 -0
  13. package/dist/cli/cli.d.ts +17 -0
  14. package/dist/cli/cli.js +481 -0
  15. package/dist/cli/environment.d.ts +8 -0
  16. package/dist/cli/environment.js +12 -0
  17. package/dist/cli/index.d.ts +2 -0
  18. package/dist/cli/index.js +2 -0
  19. package/dist/cli/services.d.ts +4 -0
  20. package/dist/cli/services.js +4 -0
  21. package/dist/command-line/context.d.ts +178 -0
  22. package/dist/command-line/context.js +2 -0
  23. package/dist/command-line/index.d.ts +7 -0
  24. package/dist/command-line/index.js +6 -0
  25. package/dist/command-line/input/arguments.d.ts +55 -0
  26. package/dist/command-line/input/arguments.js +220 -0
  27. package/dist/command-line/input/index.d.ts +4 -0
  28. package/dist/command-line/input/index.js +4 -0
  29. package/dist/command-line/input/prompt.d.ts +8 -0
  30. package/dist/command-line/input/prompt.js +44 -0
  31. package/dist/command-line/input/stdin-stream.d.ts +4 -0
  32. package/dist/command-line/input/stdin-stream.js +3 -0
  33. package/dist/command-line/input/stdin.d.ts +11 -0
  34. package/dist/command-line/input/stdin.js +23 -0
  35. package/dist/command-line/json-decoder.d.ts +3 -0
  36. package/dist/command-line/json-decoder.js +3 -0
  37. package/dist/command-line/json.d.ts +3 -0
  38. package/dist/command-line/json.js +4 -0
  39. package/dist/command-line/output.d.ts +57 -0
  40. package/dist/command-line/output.js +94 -0
  41. package/dist/command-line/rows.d.ts +10 -0
  42. package/dist/command-line/rows.js +32 -0
  43. package/dist/command-line/two-phase.d.ts +57 -0
  44. package/dist/command-line/two-phase.js +148 -0
  45. package/dist/command-receipt/command.d.ts +4 -0
  46. package/dist/command-receipt/command.js +59 -0
  47. package/dist/command-receipt/compact-list.d.ts +20 -0
  48. package/dist/command-receipt/compact-list.js +29 -0
  49. package/dist/command-receipt/index.d.ts +3 -0
  50. package/dist/command-receipt/index.js +3 -0
  51. package/dist/command-tree/commands.d.ts +17 -0
  52. package/dist/command-tree/commands.js +41 -0
  53. package/dist/command-tree/completion.d.ts +6 -0
  54. package/dist/command-tree/completion.js +36 -0
  55. package/dist/command-tree/grammar.d.ts +18 -0
  56. package/dist/command-tree/grammar.js +160 -0
  57. package/dist/command-tree/help.d.ts +62 -0
  58. package/dist/command-tree/help.js +219 -0
  59. package/dist/command-tree/index.d.ts +8 -0
  60. package/dist/command-tree/index.js +6 -0
  61. package/dist/command-tree/local.d.ts +3 -0
  62. package/dist/command-tree/local.js +126 -0
  63. package/dist/command-tree/placeholder.d.ts +3 -0
  64. package/dist/command-tree/placeholder.js +4 -0
  65. package/dist/command-tree/row.d.ts +29 -0
  66. package/dist/command-tree/row.js +2 -0
  67. package/dist/command-tree/suggest.d.ts +3 -0
  68. package/dist/command-tree/suggest.js +81 -0
  69. package/dist/command-tree/tree.d.ts +34 -0
  70. package/dist/command-tree/tree.js +124 -0
  71. package/dist/connection/client.d.ts +692 -0
  72. package/dist/connection/client.js +28 -0
  73. package/dist/connection/commands.d.ts +15 -0
  74. package/dist/connection/commands.js +118 -0
  75. package/dist/connection/index.d.ts +7 -0
  76. package/dist/connection/index.js +7 -0
  77. package/dist/connection/input.d.ts +50 -0
  78. package/dist/connection/input.js +90 -0
  79. package/dist/connection/login.d.ts +13 -0
  80. package/dist/connection/login.js +69 -0
  81. package/dist/connection/output/format.d.ts +32 -0
  82. package/dist/connection/output/format.js +94 -0
  83. package/dist/connection/output/index.d.ts +2 -0
  84. package/dist/connection/output/index.js +2 -0
  85. package/dist/connection/resolve.d.ts +60 -0
  86. package/dist/connection/resolve.js +30 -0
  87. package/dist/connection/signin.d.ts +4 -0
  88. package/dist/connection/signin.js +32 -0
  89. package/dist/connection/system.d.ts +4 -0
  90. package/dist/connection/system.js +190 -0
  91. package/dist/connection/tree/index.d.ts +2 -0
  92. package/dist/connection/tree/index.js +2 -0
  93. package/dist/connection/tree/tree.d.ts +3 -0
  94. package/dist/connection/tree/tree.js +209 -0
  95. package/dist/container/client.d.ts +142 -0
  96. package/dist/container/client.js +11 -0
  97. package/dist/container/commands.d.ts +7 -0
  98. package/dist/container/commands.js +100 -0
  99. package/dist/container/index.d.ts +3 -0
  100. package/dist/container/index.js +3 -0
  101. package/dist/container/output/format.d.ts +11 -0
  102. package/dist/container/output/format.js +28 -0
  103. package/dist/container/output/index.d.ts +2 -0
  104. package/dist/container/output/index.js +2 -0
  105. package/dist/context/client.d.ts +7 -0
  106. package/dist/context/client.js +21 -0
  107. package/dist/context/commands.d.ts +3 -0
  108. package/dist/context/commands.js +27 -0
  109. package/dist/context/index.d.ts +3 -0
  110. package/dist/context/index.js +3 -0
  111. package/dist/development/cli.d.ts +3 -0
  112. package/dist/development/cli.js +44 -0
  113. package/dist/execution/client.d.ts +25 -0
  114. package/dist/execution/client.js +24 -0
  115. package/dist/execution/index.d.ts +3 -0
  116. package/dist/execution/index.js +3 -0
  117. package/dist/execution/relocation.d.ts +6 -0
  118. package/dist/execution/relocation.js +123 -0
  119. package/dist/execution/tree/index.d.ts +2 -0
  120. package/dist/execution/tree/index.js +2 -0
  121. package/dist/execution/tree/tree.d.ts +3 -0
  122. package/dist/execution/tree/tree.js +137 -0
  123. package/dist/hold/client.d.ts +137 -0
  124. package/dist/hold/client.js +12 -0
  125. package/dist/hold/commands.d.ts +5 -0
  126. package/dist/hold/commands.js +91 -0
  127. package/dist/hold/index.d.ts +3 -0
  128. package/dist/hold/index.js +3 -0
  129. package/dist/hold/output/format.d.ts +11 -0
  130. package/dist/hold/output/format.js +29 -0
  131. package/dist/hold/output/index.d.ts +2 -0
  132. package/dist/hold/output/index.js +2 -0
  133. package/dist/hold/tree/index.d.ts +2 -0
  134. package/dist/hold/tree/index.js +2 -0
  135. package/dist/hold/tree/tree.d.ts +3 -0
  136. package/dist/hold/tree/tree.js +96 -0
  137. package/dist/import/client.d.ts +14 -0
  138. package/dist/import/client.js +16 -0
  139. package/dist/import/commands.d.ts +5 -0
  140. package/dist/import/commands.js +76 -0
  141. package/dist/import/index.d.ts +3 -0
  142. package/dist/import/index.js +3 -0
  143. package/dist/import/input.d.ts +16 -0
  144. package/dist/import/input.js +92 -0
  145. package/dist/import/output.d.ts +6 -0
  146. package/dist/import/output.js +40 -0
  147. package/dist/index.d.ts +2 -0
  148. package/dist/index.js +2 -0
  149. package/dist/integration/client.d.ts +1284 -0
  150. package/dist/integration/client.js +24 -0
  151. package/dist/integration/commands.d.ts +10 -0
  152. package/dist/integration/commands.js +104 -0
  153. package/dist/integration/index.d.ts +3 -0
  154. package/dist/integration/index.js +3 -0
  155. package/dist/integration/output.d.ts +22 -0
  156. package/dist/integration/output.js +20 -0
  157. package/dist/local-node/call.d.ts +7 -0
  158. package/dist/local-node/call.js +13 -0
  159. package/dist/local-node/client.d.ts +67 -0
  160. package/dist/local-node/client.js +241 -0
  161. package/dist/local-node/index.d.ts +3 -0
  162. package/dist/local-node/index.js +3 -0
  163. package/dist/login/agent-provider.d.ts +20 -0
  164. package/dist/login/agent-provider.js +109 -0
  165. package/dist/login/commands.d.ts +4 -0
  166. package/dist/login/commands.js +93 -0
  167. package/dist/login/failure.d.ts +3 -0
  168. package/dist/login/failure.js +14 -0
  169. package/dist/login/gateway.d.ts +12 -0
  170. package/dist/login/gateway.js +71 -0
  171. package/dist/login/index.d.ts +3 -0
  172. package/dist/login/index.js +2 -0
  173. package/dist/login/menu.d.ts +4 -0
  174. package/dist/login/menu.js +105 -0
  175. package/dist/login/output/format.d.ts +16 -0
  176. package/dist/login/output/format.js +31 -0
  177. package/dist/login/output/index.d.ts +2 -0
  178. package/dist/login/output/index.js +2 -0
  179. package/dist/login/vendor-account.d.ts +95 -0
  180. package/dist/login/vendor-account.js +75 -0
  181. package/dist/login/vendor-input.d.ts +14 -0
  182. package/dist/login/vendor-input.js +36 -0
  183. package/dist/mcp/calls.d.ts +7 -0
  184. package/dist/mcp/calls.js +202 -0
  185. package/dist/mcp/commands.d.ts +9 -0
  186. package/dist/mcp/commands.js +21 -0
  187. package/dist/mcp/index.d.ts +2 -0
  188. package/dist/mcp/index.js +2 -0
  189. package/dist/mcp/server.d.ts +11 -0
  190. package/dist/mcp/server.js +57 -0
  191. package/dist/orchestration/client.d.ts +78 -0
  192. package/dist/orchestration/client.js +89 -0
  193. package/dist/orchestration/commands.d.ts +14 -0
  194. package/dist/orchestration/commands.js +312 -0
  195. package/dist/orchestration/index.d.ts +3 -0
  196. package/dist/orchestration/index.js +3 -0
  197. package/dist/orchestration/output/compact-aggregate.d.ts +121 -0
  198. package/dist/orchestration/output/compact-aggregate.js +110 -0
  199. package/dist/orchestration/output/compact-run-list.d.ts +20 -0
  200. package/dist/orchestration/output/compact-run-list.js +16 -0
  201. package/dist/orchestration/output/human.d.ts +80 -0
  202. package/dist/orchestration/output/human.js +252 -0
  203. package/dist/orchestration/output/index.d.ts +4 -0
  204. package/dist/orchestration/output/index.js +4 -0
  205. package/dist/orchestration/tree/index.d.ts +2 -0
  206. package/dist/orchestration/tree/index.js +2 -0
  207. package/dist/orchestration/tree/tree.d.ts +3 -0
  208. package/dist/orchestration/tree/tree.js +142 -0
  209. package/dist/port-lease/client.d.ts +160 -0
  210. package/dist/port-lease/client.js +11 -0
  211. package/dist/port-lease/commands.d.ts +6 -0
  212. package/dist/port-lease/commands.js +17 -0
  213. package/dist/port-lease/index.d.ts +3 -0
  214. package/dist/port-lease/index.js +3 -0
  215. package/dist/port-lease/input.d.ts +65 -0
  216. package/dist/port-lease/input.js +67 -0
  217. package/dist/port-lease/output/format.d.ts +11 -0
  218. package/dist/port-lease/output/format.js +24 -0
  219. package/dist/port-lease/output/index.d.ts +2 -0
  220. package/dist/port-lease/output/index.js +2 -0
  221. package/dist/presentation/client.d.ts +10 -0
  222. package/dist/presentation/client.js +9 -0
  223. package/dist/presentation/commands.d.ts +6 -0
  224. package/dist/presentation/commands.js +78 -0
  225. package/dist/presentation/index.d.ts +4 -0
  226. package/dist/presentation/index.js +3 -0
  227. package/dist/presentation/output/format.d.ts +11 -0
  228. package/dist/presentation/output/format.js +32 -0
  229. package/dist/presentation/output/index.d.ts +3 -0
  230. package/dist/presentation/output/index.js +2 -0
  231. package/dist/project-guard/client.d.ts +88 -0
  232. package/dist/project-guard/client.js +7 -0
  233. package/dist/project-guard/commands.d.ts +4 -0
  234. package/dist/project-guard/commands.js +39 -0
  235. package/dist/project-guard/index.d.ts +3 -0
  236. package/dist/project-guard/index.js +3 -0
  237. package/dist/project-guard/input.d.ts +18 -0
  238. package/dist/project-guard/input.js +47 -0
  239. package/dist/project-guard/output/format.d.ts +11 -0
  240. package/dist/project-guard/output/format.js +35 -0
  241. package/dist/project-guard/output/index.d.ts +2 -0
  242. package/dist/project-guard/output/index.js +2 -0
  243. package/dist/project-workspace/client.d.ts +86 -0
  244. package/dist/project-workspace/client.js +159 -0
  245. package/dist/project-workspace/commands.d.ts +30 -0
  246. package/dist/project-workspace/commands.js +700 -0
  247. package/dist/project-workspace/index.d.ts +5 -0
  248. package/dist/project-workspace/index.js +5 -0
  249. package/dist/project-workspace/metadata-client.d.ts +99 -0
  250. package/dist/project-workspace/metadata-client.js +8 -0
  251. package/dist/project-workspace/metadata-commands.d.ts +4 -0
  252. package/dist/project-workspace/metadata-commands.js +56 -0
  253. package/dist/project-workspace/output/human.d.ts +126 -0
  254. package/dist/project-workspace/output/human.js +103 -0
  255. package/dist/project-workspace/output/index.d.ts +3 -0
  256. package/dist/project-workspace/output/index.js +3 -0
  257. package/dist/project-workspace/output/metadata.d.ts +11 -0
  258. package/dist/project-workspace/output/metadata.js +17 -0
  259. package/dist/project-workspace/tree/index.d.ts +2 -0
  260. package/dist/project-workspace/tree/index.js +2 -0
  261. package/dist/project-workspace/tree/tree.d.ts +3 -0
  262. package/dist/project-workspace/tree/tree.js +197 -0
  263. package/dist/provider/client.d.ts +6 -0
  264. package/dist/provider/client.js +5 -0
  265. package/dist/provider/commands.d.ts +3 -0
  266. package/dist/provider/commands.js +38 -0
  267. package/dist/provider/index.d.ts +3 -0
  268. package/dist/provider/index.js +3 -0
  269. package/dist/reference/commands.d.ts +3 -0
  270. package/dist/reference/commands.js +39 -0
  271. package/dist/reference/index.d.ts +3 -0
  272. package/dist/reference/index.js +3 -0
  273. package/dist/reference/resolve.d.ts +29 -0
  274. package/dist/reference/resolve.js +294 -0
  275. package/dist/reference/tree/index.d.ts +2 -0
  276. package/dist/reference/tree/index.js +2 -0
  277. package/dist/reference/tree/tree.d.ts +3 -0
  278. package/dist/reference/tree/tree.js +17 -0
  279. package/dist/remote-node/client.d.ts +258 -0
  280. package/dist/remote-node/client.js +12 -0
  281. package/dist/remote-node/commands.d.ts +6 -0
  282. package/dist/remote-node/commands.js +264 -0
  283. package/dist/remote-node/connector.d.ts +59 -0
  284. package/dist/remote-node/connector.js +122 -0
  285. package/dist/remote-node/index.d.ts +4 -0
  286. package/dist/remote-node/index.js +4 -0
  287. package/dist/remote-node/reachability.d.ts +22 -0
  288. package/dist/remote-node/reachability.js +34 -0
  289. package/dist/remote-node/text.d.ts +9 -0
  290. package/dist/remote-node/text.js +64 -0
  291. package/dist/remote-node/tree/index.d.ts +2 -0
  292. package/dist/remote-node/tree/index.js +2 -0
  293. package/dist/remote-node/tree/tree.d.ts +3 -0
  294. package/dist/remote-node/tree/tree.js +51 -0
  295. package/dist/run-ledger/client.d.ts +358 -0
  296. package/dist/run-ledger/client.js +13 -0
  297. package/dist/run-ledger/commands.d.ts +8 -0
  298. package/dist/run-ledger/commands.js +19 -0
  299. package/dist/run-ledger/index.d.ts +3 -0
  300. package/dist/run-ledger/index.js +3 -0
  301. package/dist/run-ledger/input.d.ts +42 -0
  302. package/dist/run-ledger/input.js +107 -0
  303. package/dist/run-ledger/output/format.d.ts +11 -0
  304. package/dist/run-ledger/output/format.js +49 -0
  305. package/dist/run-ledger/output/index.d.ts +2 -0
  306. package/dist/run-ledger/output/index.js +2 -0
  307. package/dist/session/agent-permission.d.ts +63 -0
  308. package/dist/session/agent-permission.js +20 -0
  309. package/dist/session/approval/client.d.ts +117 -0
  310. package/dist/session/approval/client.js +7 -0
  311. package/dist/session/approval/commands.d.ts +7 -0
  312. package/dist/session/approval/commands.js +123 -0
  313. package/dist/session/approval/index.d.ts +3 -0
  314. package/dist/session/approval/index.js +3 -0
  315. package/dist/session/approval/output/format.d.ts +12 -0
  316. package/dist/session/approval/output/format.js +25 -0
  317. package/dist/session/approval/output/index.d.ts +2 -0
  318. package/dist/session/approval/output/index.js +2 -0
  319. package/dist/session/attach-client.d.ts +16 -0
  320. package/dist/session/attach-client.js +8 -0
  321. package/dist/session/attach-render.d.ts +16 -0
  322. package/dist/session/attach-render.js +154 -0
  323. package/dist/session/attach.d.ts +5 -0
  324. package/dist/session/attach.js +106 -0
  325. package/dist/session/client.d.ts +132 -0
  326. package/dist/session/client.js +128 -0
  327. package/dist/session/coding-client.d.ts +16 -0
  328. package/dist/session/coding-client.js +15 -0
  329. package/dist/session/coding-commands.d.ts +4 -0
  330. package/dist/session/coding-commands.js +50 -0
  331. package/dist/session/commands.d.ts +13 -0
  332. package/dist/session/commands.js +488 -0
  333. package/dist/session/create-tasks.d.ts +20 -0
  334. package/dist/session/create-tasks.js +110 -0
  335. package/dist/session/index.d.ts +9 -0
  336. package/dist/session/index.js +7 -0
  337. package/dist/session/interaction/client.d.ts +347 -0
  338. package/dist/session/interaction/client.js +15 -0
  339. package/dist/session/interaction/commands.d.ts +7 -0
  340. package/dist/session/interaction/commands.js +101 -0
  341. package/dist/session/interaction/index.d.ts +3 -0
  342. package/dist/session/interaction/index.js +3 -0
  343. package/dist/session/interaction/input.d.ts +15 -0
  344. package/dist/session/interaction/input.js +46 -0
  345. package/dist/session/interaction/output/format.d.ts +11 -0
  346. package/dist/session/interaction/output/format.js +3 -0
  347. package/dist/session/interaction/output/index.d.ts +2 -0
  348. package/dist/session/interaction/output/index.js +2 -0
  349. package/dist/session/output/diff.d.ts +3 -0
  350. package/dist/session/output/diff.js +30 -0
  351. package/dist/session/output/failure.d.ts +11 -0
  352. package/dist/session/output/failure.js +24 -0
  353. package/dist/session/output/human.d.ts +112 -0
  354. package/dist/session/output/human.js +71 -0
  355. package/dist/session/output/index.d.ts +6 -0
  356. package/dist/session/output/index.js +6 -0
  357. package/dist/session/output/observe.d.ts +4 -0
  358. package/dist/session/output/observe.js +46 -0
  359. package/dist/session/output/tasks.d.ts +19 -0
  360. package/dist/session/output/tasks.js +34 -0
  361. package/dist/session/rename.d.ts +3 -0
  362. package/dist/session/rename.js +37 -0
  363. package/dist/session/task-file.d.ts +5 -0
  364. package/dist/session/task-file.js +23 -0
  365. package/dist/session/tree/index.d.ts +2 -0
  366. package/dist/session/tree/index.js +2 -0
  367. package/dist/session/tree/tree.d.ts +3 -0
  368. package/dist/session/tree/tree.js +309 -0
  369. package/dist/session/turn/client.d.ts +25 -0
  370. package/dist/session/turn/client.js +40 -0
  371. package/dist/session/turn/commands.d.ts +6 -0
  372. package/dist/session/turn/commands.js +157 -0
  373. package/dist/session/turn/index.d.ts +4 -0
  374. package/dist/session/turn/index.js +3 -0
  375. package/dist/session/turn/output.d.ts +42 -0
  376. package/dist/session/turn/output.js +38 -0
  377. package/dist/status/client.d.ts +119 -0
  378. package/dist/status/client.js +5 -0
  379. package/dist/status/command.d.ts +4 -0
  380. package/dist/status/command.js +40 -0
  381. package/dist/status/doctor.d.ts +15 -0
  382. package/dist/status/doctor.js +111 -0
  383. package/dist/status/index.d.ts +5 -0
  384. package/dist/status/index.js +4 -0
  385. package/dist/status/output/compact.d.ts +31 -0
  386. package/dist/status/output/compact.js +46 -0
  387. package/dist/status/output/human.d.ts +7 -0
  388. package/dist/status/output/human.js +30 -0
  389. package/dist/status/output/index.d.ts +3 -0
  390. package/dist/status/output/index.js +3 -0
  391. package/dist/terminal/arguments.d.ts +13 -0
  392. package/dist/terminal/arguments.js +79 -0
  393. package/dist/terminal/client.d.ts +79 -0
  394. package/dist/terminal/client.js +68 -0
  395. package/dist/terminal/commands.d.ts +7 -0
  396. package/dist/terminal/commands.js +131 -0
  397. package/dist/terminal/control-commands.d.ts +10 -0
  398. package/dist/terminal/control-commands.js +212 -0
  399. package/dist/terminal/index.d.ts +4 -0
  400. package/dist/terminal/index.js +4 -0
  401. package/dist/terminal/output/compact-list.d.ts +147 -0
  402. package/dist/terminal/output/compact-list.js +152 -0
  403. package/dist/terminal/output/human.d.ts +59 -0
  404. package/dist/terminal/output/human.js +55 -0
  405. package/dist/terminal/output/index.d.ts +3 -0
  406. package/dist/terminal/output/index.js +3 -0
  407. package/dist/terminal/tree/index.d.ts +2 -0
  408. package/dist/terminal/tree/index.js +2 -0
  409. package/dist/terminal/tree/tree.d.ts +3 -0
  410. package/dist/terminal/tree/tree.js +104 -0
  411. package/guidance/maia-cli/SKILL.md +58 -0
  412. package/guidance/maia-orchestration/SKILL.md +54 -0
  413. package/package.json +76 -0
@@ -0,0 +1,100 @@
1
+ import { containerCreateConfirmParametersSchema, containerCreatePreviewParametersSchema, containerIndexListParametersSchema, containerListParametersSchema, containerRenameConfirmParametersSchema, containerRenamePreviewParametersSchema, containerShowParametersSchema, protocolErrorSchema, } from "@maiaos/sdk";
2
+ import { Effect } from "effect";
3
+ import { CliArgumentError, parseOptions, readPageSize, reportError, requirePositionals, runInputTwoPhase, writeSuccess, } from "../command-line/index.js";
4
+ import { formatContainerResult } from "./output/index.js";
5
+ const invalidInput = () => new CliArgumentError("Invalid container operation input.");
6
+ const MAX_INDEX_LIMIT = 500;
7
+ const readPage = (action, tokens) => {
8
+ const parsed = parseOptions(tokens, new Set(["--after", "--limit"]));
9
+ requirePositionals(parsed.positionals, action === "show" ? 1 : 0);
10
+ const afterCursor = parsed.options.get("--after");
11
+ return {
12
+ ...(afterCursor === undefined ? {} : { afterCursor }),
13
+ ...(action === "show" ? { containerId: parsed.positionals[0] } : {}),
14
+ limit: readPageSize(parsed.options.get("--limit"), action === "index" ? MAX_INDEX_LIMIT : undefined),
15
+ };
16
+ };
17
+ const recoveryFor = (code, parameters) => code === "outcome_unknown" &&
18
+ typeof parameters === "object" &&
19
+ parameters !== null &&
20
+ "commandId" in parameters &&
21
+ "proof" in parameters &&
22
+ typeof parameters.commandId === "string"
23
+ ? { recovery: { commandId: parameters.commandId } }
24
+ : {};
25
+ const writeResponse = (response, parameters, context) => {
26
+ if (!response.ok) {
27
+ const error = protocolErrorSchema.parse(response.error);
28
+ return reportError({ ...error, message: "Container operation failed." }, {
29
+ ...context,
30
+ ...(response.recovery === undefined
31
+ ? recoveryFor(error.code, parameters)
32
+ : { recovery: response.recovery }),
33
+ });
34
+ }
35
+ const value = response.value;
36
+ writeSuccess({ command: value.method, result: value }, context, formatContainerResult);
37
+ return 0;
38
+ };
39
+ const invoke = (spec, context) => Effect.gen(function* () {
40
+ const input = yield* spec.input;
41
+ const parameters = yield* Effect.try({
42
+ catch: invalidInput,
43
+ try: () => spec.parameters.parse(input),
44
+ });
45
+ const operation = spec.operation;
46
+ if (operation === undefined)
47
+ return yield* Effect.fail(new Error("Missing container client."));
48
+ const response = yield* Effect.suspend(() => operation(parameters)).pipe(Effect.catchDefect(() => Effect.fail(new Error("Container request failed."))));
49
+ return yield* Effect.try({
50
+ catch: () => new Error("Invalid container result."),
51
+ try: () => writeResponse(response, parameters, context),
52
+ });
53
+ });
54
+ const reportFailure = (context) => (error) => Effect.sync(() => reportError({
55
+ code: error instanceof CliArgumentError
56
+ ? "invalid_argument"
57
+ : "internal_error",
58
+ message: error instanceof CliArgumentError
59
+ ? error.message
60
+ : "Container command failed.",
61
+ retryable: false,
62
+ }, context));
63
+ const leaf = (program) => (tokens, context) => Effect.suspend(() => program(tokens, context)).pipe(Effect.catch(reportFailure(context)));
64
+ export const runContainerList = leaf((tokens, context) => invoke({
65
+ input: Effect.succeed(readPage("list", tokens)),
66
+ operation: context.dependencies.listContainers,
67
+ parameters: containerListParametersSchema,
68
+ }, context));
69
+ export const runContainerShow = leaf((tokens, context) => invoke({
70
+ input: Effect.succeed(readPage("show", tokens)),
71
+ operation: context.dependencies.showContainer,
72
+ parameters: containerShowParametersSchema,
73
+ }, context));
74
+ export const runContainerIndexList = leaf((tokens, context) => invoke({
75
+ input: Effect.sync(() => readPage("index", tokens)),
76
+ operation: context.dependencies.listContainerIndex,
77
+ parameters: containerIndexListParametersSchema,
78
+ }, context));
79
+ export const runContainerCreate = leaf((tokens, context) => runInputTwoPhase({
80
+ confirm: context.dependencies.confirmContainerCreate,
81
+ confirmSchema: containerCreateConfirmParametersSchema,
82
+ context,
83
+ label: "container input",
84
+ preview: context.dependencies.previewContainerCreate,
85
+ previewOnly: ["containerId"],
86
+ previewSchema: containerCreatePreviewParametersSchema,
87
+ tokens,
88
+ write: (result) => writeResponse(result, undefined, context),
89
+ }));
90
+ export const runContainerRename = leaf((tokens, context) => runInputTwoPhase({
91
+ confirm: context.dependencies.confirmContainerRename,
92
+ confirmSchema: containerRenameConfirmParametersSchema,
93
+ context,
94
+ label: "container input",
95
+ preview: context.dependencies.previewContainerRename,
96
+ previewSchema: containerRenamePreviewParametersSchema,
97
+ tokens,
98
+ write: (result) => writeResponse(result, undefined, context),
99
+ }));
100
+ //# sourceMappingURL=commands.js.map
@@ -0,0 +1,3 @@
1
+ export { type ContainerCliDependencies, makeContainerClient, } from "./client.js";
2
+ export { runContainerCreate, runContainerIndexList, runContainerList, runContainerRename, runContainerShow, } from "./commands.js";
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1,3 @@
1
+ export { makeContainerClient, } from "./client.js";
2
+ export { runContainerCreate, runContainerIndexList, runContainerList, runContainerRename, runContainerShow, } from "./commands.js";
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1,11 @@
1
+ import type { ContainerCreateConfirmResult, ContainerCreatePreviewResult, ContainerIndexListResult, ContainerListResult, ContainerRenameConfirmResult, ContainerRenamePreviewResult, ContainerShowResult } from "@maiaos/sdk";
2
+ export type ContainerResult = ContainerCreateConfirmResult | ContainerCreatePreviewResult | ContainerIndexListResult | ContainerListResult | ContainerRenameConfirmResult | ContainerRenamePreviewResult | ContainerShowResult;
3
+ export type CliContainerResult = {
4
+ readonly command: ContainerResult["method"];
5
+ readonly result: ContainerResult;
6
+ };
7
+ export declare const isContainerResult: (result: {
8
+ readonly command: string;
9
+ }) => result is CliContainerResult;
10
+ export declare const formatContainerResult: ({ result, }: CliContainerResult) => string;
11
+ //# sourceMappingURL=format.d.ts.map
@@ -0,0 +1,28 @@
1
+ import { formatRows } from "../../command-line/index.js";
2
+ export const isContainerResult = (result) => result.command.startsWith("container.");
3
+ const cell = (value) => value.replaceAll(/[\u0000-\u001F\u007F-\u009F]/gu, " ");
4
+ const projectCount = (count) => `${String(count)} ${count === 1 ? "Project" : "Projects"}`;
5
+ const formatIndex = (result) => result.items.length === 0
6
+ ? "No containers.\n"
7
+ : result.items
8
+ .map((item) => `${item.container.id}\t${cell(item.container.name)}\t${projectCount(item.projectCount)}\n${item.projects
9
+ .map((project) => `\t${project.id}\t${cell(project.name)}${project.path === undefined ? "" : `\t${cell(project.path)}`}\n`)
10
+ .join("")}`)
11
+ .join("");
12
+ export const formatContainerResult = ({ result, }) => {
13
+ switch (result.method) {
14
+ case "container.list":
15
+ return formatRows(result.items, (item) => `${item.id}\t${cell(item.name)}\t${item.revision}`, { empty: "No containers.", headers: ["CONTAINER", "NAME", "REVISION"] });
16
+ case "container.show":
17
+ return `${result.container.id}\t${cell(result.container.name)}\t${result.container.revision}\n${result.projects.map((item) => `${item.id}\t${cell(item.name)}\t${item.revision}\n`).join("")}`;
18
+ case "container.index.list":
19
+ return formatIndex(result);
20
+ case "container.create.preview":
21
+ case "container.rename.preview":
22
+ return `${result.containerId}\t${cell(result.name)}\t${result.expiresAt}\n`;
23
+ case "container.create.confirm":
24
+ case "container.rename.confirm":
25
+ return `${result.container.id}\t${cell(result.container.name)}\t${result.container.revision}\t${result.receipt.receiptId}\t${result.delivery}\n`;
26
+ }
27
+ };
28
+ //# sourceMappingURL=format.js.map
@@ -0,0 +1,2 @@
1
+ export { type CliContainerResult, type ContainerResult, formatContainerResult, isContainerResult, } from "./format.js";
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1,2 @@
1
+ export { formatContainerResult, isContainerResult, } from "./format.js";
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1,7 @@
1
+ import type { InvocationContextShowResult } from "@maiaos/sdk";
2
+ import type { CliNodeEffect, CliNodeOperations } from "../local-node/index.js";
3
+ export declare const makeContextClient: (node: CliNodeOperations) => {
4
+ showAttachedCurrentContext: () => CliNodeEffect<InvocationContextShowResult>;
5
+ showCurrentContext: () => CliNodeEffect<InvocationContextShowResult>;
6
+ };
7
+ //# sourceMappingURL=client.d.ts.map
@@ -0,0 +1,21 @@
1
+ import { INVOCATION_CONTEXT_ERROR_NODE_UNAVAILABLE, invocationContextShowParametersSchema, } from "@maiaos/sdk";
2
+ import * as Effect from "effect/Effect";
3
+ const mapUnavailableContext = (result) => !result.ok && result.error.code === "node_unavailable"
4
+ ? {
5
+ error: {
6
+ code: INVOCATION_CONTEXT_ERROR_NODE_UNAVAILABLE,
7
+ message: "The authenticated Maia node is unavailable.",
8
+ retryable: true,
9
+ },
10
+ ok: false,
11
+ }
12
+ : result;
13
+ export const makeContextClient = (node) => ({
14
+ showAttachedCurrentContext: () => node
15
+ .runDiscoveryOperation((options) => Effect.promise(() => import("@maiaos/sdk/node/effect")).pipe(Effect.flatMap((sdk) => sdk.showAttachedCurrentContextEffect(options))))
16
+ .pipe(Effect.map(mapUnavailableContext)),
17
+ showCurrentContext: () => node
18
+ .runValidatedNodeOperation({}, invocationContextShowParametersSchema, (client, parameters, options) => client.showCurrentContext(parameters, options))
19
+ .pipe(Effect.map(mapUnavailableContext)),
20
+ });
21
+ //# sourceMappingURL=client.js.map
@@ -0,0 +1,3 @@
1
+ import { type CommandContext, type CommandEffect } from "../command-line/index.js";
2
+ export declare const runContextShow: (tokens: readonly string[], context: CommandContext) => CommandEffect;
3
+ //# sourceMappingURL=commands.d.ts.map
@@ -0,0 +1,27 @@
1
+ import * as Effect from "effect/Effect";
2
+ import { CliArgumentError, parseOptions, requirePositionals, writeNodeResult, } from "../command-line/index.js";
3
+ const project = (value) => ({
4
+ actorId: value.actorId,
5
+ allowedActions: value.allowedActions,
6
+ command: "context.show",
7
+ contextRevision: value.contextRevision,
8
+ ...(value.principal.kind === "session"
9
+ ? { expiresAt: value.expiresAt, related: value.related }
10
+ : {}),
11
+ principal: value.principal,
12
+ });
13
+ export const runContextShow = (tokens, context) => {
14
+ const parsed = parseOptions(tokens, new Set(), new Set(["--attached"]));
15
+ requirePositionals(parsed.positionals, 0);
16
+ const operation = parsed.flags.has("--attached")
17
+ ? context.dependencies.showAttachedCurrentContext
18
+ : context.dependencies.showCurrentContext;
19
+ if (operation === undefined) {
20
+ throw new CliArgumentError("Attached context is unavailable.");
21
+ }
22
+ return Effect.map(operation(), (result) => writeNodeResult(result, context, {
23
+ toResult: project,
24
+ toText: (value) => `${value.principal.kind}\t${value.principal.id}\t${value.actorId}\n`,
25
+ }));
26
+ };
27
+ //# sourceMappingURL=commands.js.map
@@ -0,0 +1,3 @@
1
+ export { makeContextClient } from "./client.js";
2
+ export { runContextShow } from "./commands.js";
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1,3 @@
1
+ export { makeContextClient } from "./client.js";
2
+ export { runContextShow } from "./commands.js";
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1,3 @@
1
+ import * as Effect from "effect/Effect";
2
+ export declare const runDevelopmentCli: (arguments_?: readonly string[]) => Effect.Effect<number>;
3
+ //# sourceMappingURL=cli.d.ts.map
@@ -0,0 +1,44 @@
1
+ import { dirname, join } from "node:path";
2
+ import process from "node:process";
3
+ import { fileURLToPath, pathToFileURL } from "node:url";
4
+ import * as NodeFileSystem from "@effect/platform-node-shared/NodeFileSystem";
5
+ import * as Effect from "effect/Effect";
6
+ import * as FileSystem from "effect/FileSystem";
7
+ import { processIo, runMaiaBootstrap, runProcessMain, } from "../bootstrap/index.js";
8
+ import { decodeJsonText } from "../command-line/index.js";
9
+ const packageDirectory = dirname(fileURLToPath(import.meta.url));
10
+ const invalidManifest = () => new TypeError("The CLI package manifest is invalid.");
11
+ const invalidVersion = () => new TypeError("The CLI package version is invalid.");
12
+ const manifestVersion = (manifest) => {
13
+ if (typeof manifest !== "object" || manifest === null)
14
+ return Effect.fail(invalidManifest());
15
+ return "version" in manifest &&
16
+ typeof manifest.version === "string" &&
17
+ manifest.version.length > 0
18
+ ? Effect.succeed(manifest.version)
19
+ : Effect.fail(invalidVersion());
20
+ };
21
+ const readPackageVersion = Effect.gen(function* () {
22
+ const fileSystem = yield* FileSystem.FileSystem;
23
+ const text = yield* fileSystem.readFileString(join(packageDirectory, "../../package.json"));
24
+ return yield* manifestVersion(yield* decodeJsonText(text, invalidManifest));
25
+ }).pipe(Effect.provide(NodeFileSystem.layer));
26
+ const reportStartFailure = (error) => Effect.sync(() => {
27
+ const message = error instanceof Error ? error.message : String(error);
28
+ process.stderr.write(`${message}\n`);
29
+ return 1;
30
+ });
31
+ export const runDevelopmentCli = (arguments_ = process.argv.slice(2)) => readPackageVersion.pipe(Effect.flatMap((version) => runMaiaBootstrap({
32
+ arguments_,
33
+ currentNodeVersion: process.versions.node,
34
+ expectedNodeVersion: "24.22.1",
35
+ io: processIo(),
36
+ version,
37
+ }, {
38
+ loadAgent: () => import("@maiaos/agent"),
39
+ loadProductCli: () => import("../index.js"),
40
+ })), Effect.catch(reportStartFailure));
41
+ if (import.meta.url === pathToFileURL(process.argv[1] ?? "").href) {
42
+ runProcessMain(runDevelopmentCli());
43
+ }
44
+ //# sourceMappingURL=cli.js.map
@@ -0,0 +1,25 @@
1
+ import type { ExecutionRelocationApplyResult, ExecutionRelocationPlanResult, ExecutionRelocationReconcileResult, ExecutionRelocationShowResult } from "@maiaos/sdk";
2
+ import { type CliNodeEffect, type CliNodeOperations } from "../local-node/index.js";
3
+ export type PlanExecutionRelocationInput = {
4
+ readonly expectedFencingEpoch: string;
5
+ readonly expectedPlacementRevision: string;
6
+ readonly expectedSessionRevision: string;
7
+ readonly sessionId: string;
8
+ };
9
+ export type ApplyExecutionRelocationInput = PlanExecutionRelocationInput & {
10
+ readonly commandId?: string;
11
+ readonly planDigest: string;
12
+ readonly planId: string;
13
+ };
14
+ export type ReconcileExecutionRelocationInput = {
15
+ readonly commandId?: string;
16
+ readonly expectedOperationRevision: string;
17
+ readonly relocationId: string;
18
+ };
19
+ export declare const makeRelocateClient: (node: CliNodeOperations) => {
20
+ applyExecutionRelocation: (input: ApplyExecutionRelocationInput) => CliNodeEffect<ExecutionRelocationApplyResult>;
21
+ planExecutionRelocation: (input: PlanExecutionRelocationInput) => CliNodeEffect<ExecutionRelocationPlanResult>;
22
+ reconcileExecutionRelocation: (input: ReconcileExecutionRelocationInput) => CliNodeEffect<ExecutionRelocationReconcileResult>;
23
+ showExecutionRelocation: (relocationId: string) => CliNodeEffect<ExecutionRelocationShowResult>;
24
+ };
25
+ //# sourceMappingURL=client.d.ts.map
@@ -0,0 +1,24 @@
1
+ import { executionRelocationApplyParametersSchema, executionRelocationPlanParametersSchema, executionRelocationReconcileParametersSchema, executionRelocationShowParametersSchema, LOCAL_HOST_PROFILE_ID, } from "@maiaos/sdk";
2
+ import * as Effect from "effect/Effect";
3
+ import { commandIdentifier, } from "../local-node/index.js";
4
+ export const makeRelocateClient = (node) => {
5
+ const planExecutionRelocation = (input) => node.runValidatedNodeOperation({ ...input, targetProfileId: LOCAL_HOST_PROFILE_ID }, executionRelocationPlanParametersSchema, (client, parameters, options) => client.planExecutionRelocation(parameters, options));
6
+ const applyExecutionRelocation = (input) => {
7
+ return Effect.flatMap(commandIdentifier(input.commandId), (commandId) => {
8
+ return node.runValidatedNodeOperation({ ...input, commandId }, executionRelocationApplyParametersSchema, (client, parameters, options) => client.applyExecutionRelocation(parameters, options), { commandId });
9
+ });
10
+ };
11
+ const showExecutionRelocation = (relocationId) => node.runValidatedNodeOperation({ relocationId }, executionRelocationShowParametersSchema, (client, parameters, options) => client.showExecutionRelocation(parameters, options));
12
+ const reconcileExecutionRelocation = (input) => {
13
+ return Effect.flatMap(commandIdentifier(input.commandId), (commandId) => {
14
+ return node.runValidatedNodeOperation({ ...input, commandId }, executionRelocationReconcileParametersSchema, (client, parameters, options) => client.reconcileExecutionRelocation(parameters, options), { commandId });
15
+ });
16
+ };
17
+ return {
18
+ applyExecutionRelocation,
19
+ planExecutionRelocation,
20
+ reconcileExecutionRelocation,
21
+ showExecutionRelocation,
22
+ };
23
+ };
24
+ //# sourceMappingURL=client.js.map
@@ -0,0 +1,3 @@
1
+ export { type ApplyExecutionRelocationInput, makeRelocateClient, type PlanExecutionRelocationInput, type ReconcileExecutionRelocationInput, } from "./client.js";
2
+ export { runRelocationApply, runRelocationPlan, runRelocationReconcile, runRelocationShow, } from "./relocation.js";
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1,3 @@
1
+ export { makeRelocateClient, } from "./client.js";
2
+ export { runRelocationApply, runRelocationPlan, runRelocationReconcile, runRelocationShow, } from "./relocation.js";
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1,6 @@
1
+ import { type CommandContext, type CommandEffect } from "../command-line/index.js";
2
+ export declare const runRelocationPlan: (tokens: readonly string[], context: CommandContext) => CommandEffect;
3
+ export declare const runRelocationApply: (tokens: readonly string[], context: CommandContext) => CommandEffect;
4
+ export declare const runRelocationShow: (tokens: readonly string[], context: CommandContext) => CommandEffect;
5
+ export declare const runRelocationReconcile: (tokens: readonly string[], context: CommandContext) => CommandEffect;
6
+ //# sourceMappingURL=relocation.d.ts.map
@@ -0,0 +1,123 @@
1
+ import * as Effect from "effect/Effect";
2
+ import { missingArgument, parseOptions, readRevisionOption, requirePositionals, writeNodeResult, } from "../command-line/index.js";
3
+ const formatRelocation = (result) => {
4
+ if (result.command === "execution.relocation.plan")
5
+ return `${result.result.plan.id}\t${String(result.result.plan.eligible)}\t${String(result.result.plan.blockers.length)}\n`;
6
+ if (result.command === "execution.relocation.show")
7
+ return `${result.result.operation.id}\t${result.result.operation.state}\n`;
8
+ return `${result.result.operation.id}\t${result.result.operation.state}\t${result.result.operation.cleanup}\n`;
9
+ };
10
+ const worktreeCommandId = (options) => {
11
+ const commandId = options.get("--command-id");
12
+ return commandId === undefined ? {} : { commandId };
13
+ };
14
+ const readFenceOptions = (options) => ({
15
+ expectedFencingEpoch: readRevisionOption(options.get("--expected-epoch"), "--expected-epoch"),
16
+ expectedPlacementRevision: readRevisionOption(options.get("--expected-placement-revision"), "--expected-placement-revision"),
17
+ expectedSessionRevision: readRevisionOption(options.get("--expected-session-revision"), "--expected-session-revision"),
18
+ });
19
+ export const runRelocationPlan = (tokens, context) => Effect.gen(function* () {
20
+ const parsed = parseOptions(tokens, new Set([
21
+ "--expected-epoch",
22
+ "--expected-placement-revision",
23
+ "--expected-session-revision",
24
+ ]));
25
+ requirePositionals(parsed.positionals, 1);
26
+ const sessionId = parsed.positionals[0];
27
+ if (sessionId === undefined)
28
+ throw missingArgument();
29
+ const operation = context.dependencies.planExecutionRelocation;
30
+ if (operation === undefined)
31
+ throw new Error("Missing relocation client.");
32
+ const result = yield* operation({
33
+ ...readFenceOptions(parsed.options),
34
+ sessionId,
35
+ });
36
+ return writeNodeResult(result, context, {
37
+ toResult: (value) => ({
38
+ command: "execution.relocation.plan",
39
+ result: value,
40
+ }),
41
+ toText: formatRelocation,
42
+ });
43
+ });
44
+ const readApplyArguments = (tokens) => {
45
+ const parsed = parseOptions(tokens, new Set([
46
+ "--command-id",
47
+ "--expected-epoch",
48
+ "--expected-placement-revision",
49
+ "--expected-session-revision",
50
+ "--plan",
51
+ "--plan-digest",
52
+ ]));
53
+ requirePositionals(parsed.positionals, 1);
54
+ const sessionId = parsed.positionals[0];
55
+ const planId = parsed.options.get("--plan");
56
+ const planDigest = parsed.options.get("--plan-digest");
57
+ if (sessionId === undefined ||
58
+ planId === undefined ||
59
+ planDigest === undefined)
60
+ throw missingArgument();
61
+ return { parsed, planDigest, planId, sessionId };
62
+ };
63
+ export const runRelocationApply = (tokens, context) => Effect.gen(function* () {
64
+ const { parsed, planDigest, planId, sessionId } = readApplyArguments(tokens);
65
+ const operation = context.dependencies.applyExecutionRelocation;
66
+ if (operation === undefined)
67
+ throw new Error("Missing relocation client.");
68
+ const result = yield* operation({
69
+ ...readFenceOptions(parsed.options),
70
+ planDigest,
71
+ planId,
72
+ sessionId,
73
+ ...worktreeCommandId(parsed.options),
74
+ });
75
+ return writeNodeResult(result, context, {
76
+ toResult: (value) => ({
77
+ command: "execution.relocation.apply",
78
+ result: value,
79
+ }),
80
+ toText: formatRelocation,
81
+ });
82
+ });
83
+ export const runRelocationShow = (tokens, context) => Effect.gen(function* () {
84
+ const parsed = parseOptions(tokens, new Set());
85
+ requirePositionals(parsed.positionals, 1);
86
+ const relocationId = parsed.positionals[0];
87
+ if (relocationId === undefined)
88
+ throw missingArgument();
89
+ const operation = context.dependencies.showExecutionRelocation;
90
+ if (operation === undefined)
91
+ throw new Error("Missing relocation client.");
92
+ const result = yield* operation(relocationId);
93
+ return writeNodeResult(result, context, {
94
+ toResult: (value) => ({
95
+ command: "execution.relocation.show",
96
+ result: value,
97
+ }),
98
+ toText: formatRelocation,
99
+ });
100
+ });
101
+ export const runRelocationReconcile = (tokens, context) => Effect.gen(function* () {
102
+ const parsed = parseOptions(tokens, new Set(["--command-id", "--expected-operation-revision"]));
103
+ requirePositionals(parsed.positionals, 1);
104
+ const relocationId = parsed.positionals[0];
105
+ if (relocationId === undefined)
106
+ throw missingArgument();
107
+ const operation = context.dependencies.reconcileExecutionRelocation;
108
+ if (operation === undefined)
109
+ throw new Error("Missing relocation client.");
110
+ const result = yield* operation({
111
+ expectedOperationRevision: readRevisionOption(parsed.options.get("--expected-operation-revision"), "--expected-operation-revision"),
112
+ relocationId,
113
+ ...worktreeCommandId(parsed.options),
114
+ });
115
+ return writeNodeResult(result, context, {
116
+ toResult: (value) => ({
117
+ command: "execution.relocation.reconcile",
118
+ result: value,
119
+ }),
120
+ toText: formatRelocation,
121
+ });
122
+ });
123
+ //# sourceMappingURL=relocation.js.map
@@ -0,0 +1,2 @@
1
+ export { EXECUTION_TREE } from "./tree.js";
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1,2 @@
1
+ export { EXECUTION_TREE } from "./tree.js";
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1,3 @@
1
+ import type { TreeFragment } from "../../command-tree/index.js";
2
+ export declare const EXECUTION_TREE: TreeFragment;
3
+ //# sourceMappingURL=tree.d.ts.map
@@ -0,0 +1,137 @@
1
+ const execution = () => import("../../project-workspace/index.js");
2
+ const relocation = () => import("../index.js");
3
+ export const EXECUTION_TREE = {
4
+ groups: [
5
+ ["execution", "Execution environments, worktrees and placements."],
6
+ ["execution catalog", "The execution environments this Node offers."],
7
+ ["execution command", "Commands in an execution instance."],
8
+ ["execution file", "Files in an execution instance."],
9
+ ["execution checkpoint", "Execution checkpoints."],
10
+ ["execution worktree", "Project worktrees."],
11
+ ["execution worktree remove", "Reviewed worktree removal."],
12
+ ["execution placement", "Where Sessions and attempts run."],
13
+ ["execution relocation", "Move a Session to another placement."],
14
+ ],
15
+ leaves: [
16
+ [
17
+ "execution catalog show",
18
+ 1,
19
+ "execution.catalog.get",
20
+ "List the execution environments this Node offers.",
21
+ { run: [execution, "runExecutionCatalogShow"] },
22
+ ],
23
+ [
24
+ "execution command run <instance-id> --expected-revision <revision> [--command-id <id>] -- <absolute-executable> [arguments...]",
25
+ 1,
26
+ "execution.command.run",
27
+ "Run one command in an execution instance.",
28
+ { run: [execution, "runExecutionCommandRun"] },
29
+ ],
30
+ [
31
+ "execution file read <instance-id> <relative-path> --expected-revision <revision> [--command-id <id>]",
32
+ 1,
33
+ "execution.file.read",
34
+ "Read one file from an execution instance.",
35
+ { run: [execution, "runExecutionFileRead"] },
36
+ ],
37
+ [
38
+ "execution checkpoint create --instance <instance-id> --expected-instance-revision <revision> [--command-id <id>]",
39
+ 1,
40
+ "execution.checkpoint.create",
41
+ "Checkpoint an execution instance.",
42
+ { run: [execution, "runExecutionCheckpointCreate"] },
43
+ ],
44
+ [
45
+ "execution checkpoint show <checkpoint-id>",
46
+ 1,
47
+ "execution.checkpoint.show",
48
+ "Show one execution checkpoint.",
49
+ { run: [execution, "runExecutionCheckpointShow"] },
50
+ ],
51
+ [
52
+ "execution worktree create --project <project-id> --repository <repository-id> --base <base-revision> --expected-project-revision <revision> [--command-id <id>]",
53
+ 1,
54
+ "execution.worktree.create",
55
+ "Create a Git worktree for a Project repository.",
56
+ { run: [execution, "runExecutionWorktreeCreate"] },
57
+ ],
58
+ [
59
+ "execution worktree import <root-path> --project <project-id> --repository <repository-id> --expected-project-revision <revision> [--command-id <id>]",
60
+ 1,
61
+ "execution.worktree.import",
62
+ "Import an existing worktree into a Project.",
63
+ { run: [execution, "runExecutionWorktreeImport"] },
64
+ ],
65
+ [
66
+ "execution worktree status <workspace-id>",
67
+ 1,
68
+ "execution.worktree.status",
69
+ "Show a worktree's status.",
70
+ { run: [execution, "runExecutionWorktreeStatus"] },
71
+ ],
72
+ [
73
+ "execution worktree reconcile <operation-id> --expected-operation-revision <revision> [--command-id <id>]",
74
+ 1,
75
+ "execution.worktree.reconcile",
76
+ "Finish an interrupted worktree operation.",
77
+ { run: [execution, "runExecutionWorktreeReconcile"] },
78
+ ],
79
+ [
80
+ "execution worktree remove plan <workspace-id>",
81
+ 1,
82
+ "execution.worktree.remove.plan",
83
+ "Plan the removal of a worktree.",
84
+ { run: [execution, "runExecutionWorktreeRemovePlan"] },
85
+ ],
86
+ [
87
+ "execution worktree remove apply <workspace-id> --plan <plan-id> --plan-digest <digest> --expected-workspace-revision <revision> [--command-id <id>]",
88
+ 1,
89
+ "execution.worktree.remove.apply",
90
+ "Remove a worktree with a reviewed plan.",
91
+ { run: [execution, "runExecutionWorktreeRemoveApply"] },
92
+ ],
93
+ [
94
+ "execution placement create (--session <session-id> --expected-session-revision <revision> | --attempt <attempt-id> --run <run-id> --task <task-id> --expected-attempt-revision <revision>) --instance <instance-id> --expected-workspace-revision <revision> --expected-instance-revision <revision> [--command-id <id>]",
95
+ 1,
96
+ "execution.placement.create",
97
+ "Place a Session or run attempt on an execution instance.",
98
+ { run: [execution, "runExecutionPlacementCreate"] },
99
+ ],
100
+ [
101
+ "execution placement show (--session <session-id> | --attempt <attempt-id>)",
102
+ 1,
103
+ "execution.placement.show",
104
+ "Show where a Session or run attempt is placed.",
105
+ { run: [execution, "runExecutionPlacementShow"] },
106
+ ],
107
+ [
108
+ "execution relocation plan <session-id> --expected-session-revision <revision> --expected-placement-revision <revision> --expected-epoch <epoch>",
109
+ 1,
110
+ "execution.relocation.plan",
111
+ "Plan moving a Session to another placement.",
112
+ { run: [relocation, "runRelocationPlan"] },
113
+ ],
114
+ [
115
+ "execution relocation apply <session-id> --plan <plan-id> --plan-digest <digest> --expected-session-revision <revision> --expected-placement-revision <revision> --expected-epoch <epoch> [--command-id <id>]",
116
+ 1,
117
+ "execution.relocation.apply",
118
+ "Move a Session with a reviewed plan.",
119
+ { run: [relocation, "runRelocationApply"] },
120
+ ],
121
+ [
122
+ "execution relocation show <relocation-id>",
123
+ 1,
124
+ "execution.relocation.show",
125
+ "Show one relocation.",
126
+ { run: [relocation, "runRelocationShow"] },
127
+ ],
128
+ [
129
+ "execution relocation reconcile <relocation-id> --expected-operation-revision <revision> [--command-id <id>]",
130
+ 1,
131
+ "execution.relocation.reconcile",
132
+ "Finish an interrupted relocation.",
133
+ { run: [relocation, "runRelocationReconcile"] },
134
+ ],
135
+ ],
136
+ };
137
+ //# sourceMappingURL=tree.js.map