@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,112 @@
1
+ import type { AgentPermissionConfirmResult, AgentPermissionPreviewResult, SessionArchiveResult, SessionCreateResult, SessionDiffResult, SessionEventsListResult, SessionInboxAckResult, SessionInboxCheckResult, SessionListResult, SessionMessageSendResult, SessionObserveResult, SessionShowResult, SessionStartResult } from "@maiaos/sdk";
2
+ import { type CliIo } from "../../command-line/index.js";
3
+ import type { CliNodeResult } from "../../local-node/index.js";
4
+ import { type CliSessionTasksResult } from "./tasks.js";
5
+ type CliSessionInboxCheckDelivery = {
6
+ readonly attemptCount: number;
7
+ readonly deliveryId: string;
8
+ readonly firstCheckedAt?: string;
9
+ readonly lastCheckedAt?: string;
10
+ readonly mailboxId: string;
11
+ readonly message: SessionInboxCheckResult["deliveries"][number]["message"];
12
+ readonly sequence: string;
13
+ };
14
+ export type CliSessionResult = {
15
+ readonly command: "session.agent-permission.confirm";
16
+ readonly result: AgentPermissionConfirmResult;
17
+ } | {
18
+ readonly command: "session.agent-permission.preview";
19
+ readonly result: AgentPermissionPreviewResult;
20
+ } | {
21
+ readonly command: "session.archive";
22
+ readonly result: {
23
+ readonly archive?: SessionArchiveResult["archive"];
24
+ readonly delivery: SessionArchiveResult["delivery"];
25
+ readonly receipt: SessionArchiveResult["receipt"];
26
+ readonly revision: string;
27
+ readonly sessionId: string;
28
+ readonly state: SessionArchiveResult["session"]["state"];
29
+ };
30
+ } | {
31
+ readonly command: "session.create";
32
+ readonly result: {
33
+ readonly delivery: SessionCreateResult["delivery"];
34
+ readonly executor?: SessionCreateResult["session"]["executor"];
35
+ readonly receipt: SessionCreateResult["receipt"];
36
+ readonly revision: string;
37
+ readonly sessionId: string;
38
+ readonly state: SessionCreateResult["session"]["state"];
39
+ readonly title?: string;
40
+ readonly workspaceId: string;
41
+ readonly workspaceRevision: string;
42
+ readonly worktree?: SessionCreateResult["session"]["worktree"];
43
+ };
44
+ } | {
45
+ readonly command: "session.create.tasks";
46
+ readonly result: CliSessionTasksResult;
47
+ } | {
48
+ readonly command: "session.diff";
49
+ readonly result: SessionDiffResult;
50
+ } | {
51
+ readonly command: "session.events.list";
52
+ readonly result: SessionEventsListResult;
53
+ } | {
54
+ readonly command: "session.inbox.ack";
55
+ readonly result: {
56
+ readonly delivery: SessionInboxAckResult["delivery"];
57
+ readonly deliveryRecord: {
58
+ readonly acknowledgedAt: string;
59
+ readonly acknowledgingSessionId: string;
60
+ readonly deliveryId: string;
61
+ readonly mailboxId: string;
62
+ readonly messageId: string;
63
+ readonly sequence: string;
64
+ };
65
+ readonly mailboxId: string;
66
+ readonly mailboxRevision: string;
67
+ readonly receipt: SessionInboxAckResult["receipt"];
68
+ };
69
+ } | {
70
+ readonly command: "session.inbox.check";
71
+ readonly result: {
72
+ readonly count: number;
73
+ readonly deliveries: readonly CliSessionInboxCheckDelivery[];
74
+ readonly mailboxId: string;
75
+ readonly mailboxRevision: string;
76
+ };
77
+ } | {
78
+ readonly command: "session.list";
79
+ readonly result: SessionListResult;
80
+ } | {
81
+ readonly command: "session.message.send";
82
+ readonly result: {
83
+ readonly delivery: SessionMessageSendResult["delivery"];
84
+ readonly deliveryId: string;
85
+ readonly mailboxId: string;
86
+ readonly message: Omit<SessionMessageSendResult["message"], "body" | "schemaVersion" | "subject">;
87
+ readonly receipt: SessionMessageSendResult["receipt"];
88
+ readonly sequence: string;
89
+ };
90
+ } | {
91
+ readonly command: "session.observe";
92
+ readonly result: SessionObserveResult;
93
+ } | {
94
+ readonly command: "session.resume" | "session.start" | "session.stop";
95
+ readonly result: {
96
+ readonly delivery: SessionStartResult["delivery"];
97
+ readonly receipt: SessionStartResult["receipt"];
98
+ readonly revision: string;
99
+ readonly sessionId: string;
100
+ readonly state: SessionStartResult["session"]["state"];
101
+ };
102
+ } | {
103
+ readonly command: "session.show";
104
+ readonly result: SessionShowResult;
105
+ };
106
+ export declare const formatSessionResult: (result: CliSessionResult) => string;
107
+ export declare const writeSessionResult: <TValue>(result: CliNodeResult<TValue>, context: {
108
+ readonly io: CliIo;
109
+ readonly json: boolean;
110
+ }, map: (value: TValue) => CliSessionResult) => number;
111
+ export {};
112
+ //# sourceMappingURL=human.d.ts.map
@@ -0,0 +1,71 @@
1
+ import { cell, formatRows, tab, writeNodeResult, } from "../../command-line/index.js";
2
+ import { formatSessionDiff } from "./diff.js";
3
+ import { formatFailure, formatSessionEvents } from "./failure.js";
4
+ import { formatSessionObservation } from "./observe.js";
5
+ import { formatSessionList, formatSessionTasks, } from "./tasks.js";
6
+ const formatSessionInbox = (deliveries) => formatRows(deliveries, (delivery) => `${delivery.deliveryId}\t${delivery.sequence}\t${cell(delivery.message.senderSessionId)}\t${cell(delivery.message.subject)}\t${cell(delivery.message.body)}`);
7
+ const formatSessionCreation = (result) => `${tab([
8
+ result.sessionId,
9
+ ...(result.executor === undefined ? [] : [result.executor.connectionId]),
10
+ ...(result.worktree === undefined
11
+ ? []
12
+ : [result.workspaceId, result.worktree.branch]),
13
+ ])}\nnext: maia session start ${result.sessionId} --expected-revision ${result.revision} --wait\n`;
14
+ const formatArchive = ({ archive, revision, sessionId, state, }) => {
15
+ const kept = archive === undefined
16
+ ? ["no worktree to keep"]
17
+ : [archive.branch, archive.snapshot, `prune after ${archive.pruneAfter}`];
18
+ return `${tab([sessionId, state, revision, ...kept])}\n`;
19
+ };
20
+ const formatCodingSession = (result) => {
21
+ if (result.command === "session.create")
22
+ return formatSessionCreation(result.result);
23
+ if (result.command === "session.create.tasks")
24
+ return formatSessionTasks(result.result);
25
+ if (result.command === "session.diff")
26
+ return formatSessionDiff(result.result);
27
+ return formatArchive(result.result);
28
+ };
29
+ const formatAgentPermission = (result) => result.command === "session.agent-permission.preview"
30
+ ? `${result.result.sessionId}\t${result.result.expiresAt}\n`
31
+ : `${result.result.receipt.receiptId}\t${result.result.delivery}\n`;
32
+ const formatSessionShow = ({ session, }) => `${session.id}\t${session.state}\t${session.workspaceId}\n${formatFailure(session.failure)}`;
33
+ const formatLifecycle = ({ revision, sessionId, state, }) => `${sessionId}\t${state}\t${revision}\n${state === "starting" ? `next: maia session start ${sessionId} --expected-revision ${revision} --wait returns once it runs; maia session show ${sessionId} shows it now\n` : ""}`;
34
+ const formatSessions = (result) => result.items.length === 0 ? "No Sessions.\n" : formatSessionList(result);
35
+ const formatInboxAck = ({ delivery, deliveryRecord, mailboxRevision, }) => `${tab([deliveryRecord.deliveryId, delivery, mailboxRevision])}\n`;
36
+ const formatMessageSend = ({ delivery, deliveryId, sequence, }) => `${tab([deliveryId, delivery, sequence])}\n`;
37
+ export const formatSessionResult = (result) => {
38
+ switch (result.command) {
39
+ case "session.agent-permission.confirm":
40
+ case "session.agent-permission.preview":
41
+ return formatAgentPermission(result);
42
+ case "session.archive":
43
+ case "session.create":
44
+ case "session.create.tasks":
45
+ case "session.diff":
46
+ return formatCodingSession(result);
47
+ case "session.events.list":
48
+ return formatSessionEvents(result.result.items);
49
+ case "session.inbox.ack":
50
+ return formatInboxAck(result.result);
51
+ case "session.inbox.check":
52
+ return formatSessionInbox(result.result.deliveries);
53
+ case "session.list":
54
+ return formatSessions(result.result);
55
+ case "session.message.send":
56
+ return formatMessageSend(result.result);
57
+ case "session.observe":
58
+ return formatSessionObservation(result.result);
59
+ case "session.show":
60
+ return formatSessionShow(result.result);
61
+ case "session.resume":
62
+ case "session.start":
63
+ case "session.stop":
64
+ return formatLifecycle(result.result);
65
+ }
66
+ };
67
+ export const writeSessionResult = (result, context, map) => writeNodeResult(result, context, {
68
+ toResult: map,
69
+ toText: formatSessionResult,
70
+ });
71
+ //# sourceMappingURL=human.js.map
@@ -0,0 +1,6 @@
1
+ export { formatSessionDiff } from "./diff.js";
2
+ export { formatFailure, formatFailureCell, formatSessionEvents, } from "./failure.js";
3
+ export { type CliSessionResult, formatSessionResult, writeSessionResult, } from "./human.js";
4
+ export { formatSessionObservation } from "./observe.js";
5
+ export { type CliSessionTaskItem, type CliSessionTasksResult, formatSessionList, formatSessionTasks, } from "./tasks.js";
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1,6 @@
1
+ export { formatSessionDiff } from "./diff.js";
2
+ export { formatFailure, formatFailureCell, formatSessionEvents, } from "./failure.js";
3
+ export { formatSessionResult, writeSessionResult, } from "./human.js";
4
+ export { formatSessionObservation } from "./observe.js";
5
+ export { formatSessionList, formatSessionTasks, } from "./tasks.js";
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1,4 @@
1
+ import type { SessionObserveResult } from "@maiaos/sdk";
2
+ export declare const formatDuration: (milliseconds: number) => string;
3
+ export declare const formatSessionObservation: (result: SessionObserveResult) => string;
4
+ //# sourceMappingURL=observe.d.ts.map
@@ -0,0 +1,46 @@
1
+ const SECOND = 1000;
2
+ const MINUTE = 60 * SECOND;
3
+ const HOUR = 60 * MINUTE;
4
+ const MEBIBYTE = 1024 * 1024;
5
+ const pad = (value) => String(value).padStart(2, "0");
6
+ export const formatDuration = (milliseconds) => {
7
+ if (milliseconds < SECOND)
8
+ return `${String(milliseconds)}ms`;
9
+ if (milliseconds < MINUTE)
10
+ return `${String(Math.floor(milliseconds / SECOND))}s`;
11
+ if (milliseconds < HOUR)
12
+ return `${String(Math.floor(milliseconds / MINUTE))}m${pad(Math.floor((milliseconds % MINUTE) / SECOND))}s`;
13
+ return `${String(Math.floor(milliseconds / HOUR))}h${pad(Math.floor((milliseconds % HOUR) / MINUTE))}m`;
14
+ };
15
+ const measured = (value, format) => (value === undefined ? "n/a" : format(value));
16
+ const describeProcess = (runtime) => {
17
+ const usage = runtime.process;
18
+ if (usage === undefined)
19
+ return "process=n/a";
20
+ const cpu = measured(usage.cpuTimeMilliseconds, formatDuration);
21
+ const rss = measured(usage.rssBytes, (bytes) => `${String(Math.round(bytes / MEBIBYTE))}MiB`);
22
+ const count = measured(usage.processCount, String);
23
+ return `cpu=${cpu}\trss=${rss}\tprocs=${count}`;
24
+ };
25
+ const describeTurn = (runtime) => runtime.turn === undefined
26
+ ? "turn=-"
27
+ : `turn=${runtime.turn.turnId}\telapsed=${formatDuration(runtime.turn.elapsedMilliseconds)}`;
28
+ const describeRuntime = (runtime) => {
29
+ const { activity, health } = runtime;
30
+ return [
31
+ runtime.runtime,
32
+ health,
33
+ describeTurn(runtime),
34
+ `idle=${formatDuration(activity.idleMilliseconds)}`,
35
+ `events=${String(activity.eventCount)}`,
36
+ `last=${activity.lastEventKind ?? "-"}`,
37
+ `declined=${String(activity.declinedRequests)}`,
38
+ describeProcess(runtime),
39
+ ].join("\t");
40
+ };
41
+ export const formatSessionObservation = (result) => {
42
+ const header = `observed ${result.observedAt}\tstall-after=${String(result.stallAfterSeconds)}s`;
43
+ const lines = result.items.map((item) => `${item.sessionId}\t${item.attention ?? "-"}\t${item.runtime === undefined ? "not-live" : describeRuntime(item.runtime)}`);
44
+ return `${[header, ...(lines.length === 0 ? ["No live sessions."] : lines)].join("\n")}\n`;
45
+ };
46
+ //# sourceMappingURL=observe.js.map
@@ -0,0 +1,19 @@
1
+ import type { SessionCreationOutcome, SessionListResult } from "@maiaos/sdk";
2
+ export type CliSessionTaskItem = {
3
+ readonly error?: SessionCreationOutcome["error"];
4
+ readonly line: number;
5
+ readonly receipts: SessionCreationOutcome["receipts"];
6
+ readonly recovery?: {
7
+ readonly commandId: string;
8
+ };
9
+ readonly sessionId?: string;
10
+ readonly stage: SessionCreationOutcome["stage"];
11
+ readonly turnId?: string;
12
+ };
13
+ export type CliSessionTasksResult = {
14
+ readonly items: readonly CliSessionTaskItem[];
15
+ readonly workspaceId: string;
16
+ };
17
+ export declare const formatSessionTasks: (result: CliSessionTasksResult) => string;
18
+ export declare const formatSessionList: (result: SessionListResult) => string;
19
+ //# sourceMappingURL=tasks.d.ts.map
@@ -0,0 +1,34 @@
1
+ import { cell, formatRows, tab, withNextPage, } from "../../command-line/index.js";
2
+ import { formatFailureCell } from "./failure.js";
3
+ const failure = ({ error }) => error === undefined
4
+ ? "-"
5
+ : `${error.operationId}:${error.code ?? error.kind}${error.failure === undefined ? "" : ` (${formatFailureCell(error.failure)})`}`;
6
+ const receiptIds = ({ receipts }) => {
7
+ const ids = [receipts.create, receipts.start, receipts.send].flatMap((receipt) => (receipt === undefined ? [] : [receipt.receiptId]));
8
+ return ids.length === 0 ? "-" : ids.join(",");
9
+ };
10
+ export const formatSessionTasks = (result) => result.items
11
+ .map((item) => `${[
12
+ String(item.line),
13
+ item.stage,
14
+ item.sessionId ?? "-",
15
+ item.turnId ?? "-",
16
+ failure(item),
17
+ receiptIds(item),
18
+ item.recovery?.commandId ?? "-",
19
+ ].join("\t")}\n`)
20
+ .join("");
21
+ export const formatSessionList = (result) => {
22
+ const attention = new Map((result.attention ?? []).map((item) => [item.sessionId, item.attention]));
23
+ return withNextPage(formatRows(result.items, (session) => tab([
24
+ session.id,
25
+ session.state,
26
+ session.workspaceId,
27
+ attention.get(session.id) ?? "-",
28
+ cell(session.title ?? "-"),
29
+ ]), {
30
+ empty: "No Sessions.",
31
+ headers: ["SESSION", "STATE", "WORKSPACE", "ATTENTION", "TITLE"],
32
+ }), result.nextCursor);
33
+ };
34
+ //# sourceMappingURL=tasks.js.map
@@ -0,0 +1,3 @@
1
+ import { type CommandContext, type CommandEffect } from "../command-line/index.js";
2
+ export declare const runSessionRename: (tokens: readonly string[], context: CommandContext) => CommandEffect;
3
+ //# sourceMappingURL=rename.d.ts.map
@@ -0,0 +1,37 @@
1
+ import * as Effect from "effect/Effect";
2
+ import { cell, CliArgumentError, parseOptions, readExpectedRevision, requirePositionals, writeNodeResult, } from "../command-line/index.js";
3
+ import { commandIdentifier } from "../local-node/index.js";
4
+ const readRename = (tokens) => {
5
+ const parsed = parseOptions(tokens, new Set(["--command-id", "--expected-revision", "--title"]));
6
+ requirePositionals(parsed.positionals, 1);
7
+ const title = parsed.options.get("--title");
8
+ if (title === undefined)
9
+ throw new CliArgumentError("Option '--title' is required.");
10
+ return {
11
+ commandId: parsed.options.get("--command-id"),
12
+ expectedRevision: readExpectedRevision(parsed.options.get("--expected-revision")),
13
+ sessionId: parsed.positionals[0] ?? "",
14
+ title,
15
+ };
16
+ };
17
+ const presenter = {
18
+ toResult: (value) => ({
19
+ command: "session.rename",
20
+ result: {
21
+ delivery: value.delivery,
22
+ receipt: value.receipt,
23
+ revision: value.session.revision,
24
+ sessionId: value.session.id,
25
+ title: value.session.title ?? "",
26
+ },
27
+ }),
28
+ toText: ({ result, }) => `${result.sessionId}\t${cell(result.title)}\trevision ${result.revision}\n`,
29
+ };
30
+ export const runSessionRename = (tokens, context) => {
31
+ const { commandId, ...rename } = readRename(tokens);
32
+ const { call } = context.dependencies;
33
+ if (call === undefined)
34
+ return Effect.die(new Error("Missing the typed Node call."));
35
+ return Effect.flatMap(commandIdentifier(commandId), (exactCommandId) => Effect.map(call("session.rename", { ...rename, commandId: exactCommandId }), (result) => writeNodeResult(result, context, presenter)));
36
+ };
37
+ //# sourceMappingURL=rename.js.map
@@ -0,0 +1,5 @@
1
+ import * as Effect from "effect/Effect";
2
+ import { CliArgumentError } from "../command-line/index.js";
3
+ export declare const MAX_TASK_FILE_BYTES: number;
4
+ export declare const readTaskFile: (path: string) => Effect.Effect<string, CliArgumentError>;
5
+ //# sourceMappingURL=task-file.d.ts.map
@@ -0,0 +1,23 @@
1
+ import * as NodeFileSystem from "@effect/platform-node-shared/NodeFileSystem";
2
+ import { MAX_SESSION_CREATION_TASKS, MAX_TURN_INPUT_BYTES } from "@maiaos/sdk";
3
+ import * as Effect from "effect/Effect";
4
+ import * as FileSystem from "effect/FileSystem";
5
+ import { CliArgumentError } from "../command-line/index.js";
6
+ export const MAX_TASK_FILE_BYTES = MAX_SESSION_CREATION_TASKS * (MAX_TURN_INPUT_BYTES + 2);
7
+ const unreadable = () => new CliArgumentError("Option '--from-file' must name a readable file.");
8
+ export const readTaskFile = (path) => Effect.gen(function* () {
9
+ const fs = yield* FileSystem.FileSystem;
10
+ const info = yield* fs.stat(path);
11
+ if (info.type !== "File")
12
+ return yield* unreadable();
13
+ if (Number(info.size) > MAX_TASK_FILE_BYTES)
14
+ return yield* new CliArgumentError(`Option '--from-file' must name a file of at most ${String(MAX_TASK_FILE_BYTES)} bytes.`);
15
+ const bytes = yield* fs.readFile(path);
16
+ if (bytes.byteLength > MAX_TASK_FILE_BYTES)
17
+ return yield* unreadable();
18
+ return yield* Effect.try({
19
+ catch: () => new CliArgumentError("Option '--from-file' must name a UTF-8 file."),
20
+ try: () => new TextDecoder("utf-8", { fatal: true }).decode(bytes),
21
+ });
22
+ }).pipe(Effect.catchTag("PlatformError", () => Effect.fail(unreadable())), Effect.provide(NodeFileSystem.layer));
23
+ //# sourceMappingURL=task-file.js.map
@@ -0,0 +1,2 @@
1
+ export { SESSION_TREE } from "./tree.js";
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1,2 @@
1
+ export { SESSION_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 SESSION_TREE: TreeFragment;
3
+ //# sourceMappingURL=tree.d.ts.map