@namzu/cli 34.1.1 → 36.0.0

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 (1306) hide show
  1. package/CHANGELOG.md +800 -0
  2. package/README.md +160 -394
  3. package/assets/pal-blender-mcp.py +123 -0
  4. package/assets/pal-godot-mcp-pin.json +135 -0
  5. package/assets/pal-godot-mcp.cjs +418 -0
  6. package/dist/bin-main.d.ts +3 -0
  7. package/dist/bin-main.d.ts.map +1 -0
  8. package/dist/bin.d.ts +2 -1
  9. package/dist/bin.d.ts.map +1 -1
  10. package/dist/bin.js +85 -23
  11. package/dist/bin.js.map +6 -1
  12. package/dist/boot-narrative.d.ts +16 -0
  13. package/dist/boot-narrative.d.ts.map +1 -0
  14. package/dist/checkpoints/manifest.d.ts +107 -0
  15. package/dist/checkpoints/manifest.d.ts.map +1 -0
  16. package/dist/checkpoints/store.d.ts +280 -40
  17. package/dist/checkpoints/store.d.ts.map +1 -1
  18. package/dist/checkpoints/undo-plan.d.ts +83 -0
  19. package/dist/checkpoints/undo-plan.d.ts.map +1 -0
  20. package/dist/checkpoints/wrap.d.ts +4 -0
  21. package/dist/checkpoints/wrap.d.ts.map +1 -1
  22. package/dist/chunks/acp-BOSEA4R3.js +13448 -0
  23. package/dist/chunks/acp-BOSEA4R3.js.map +6 -0
  24. package/dist/chunks/activity-command-ACS7KL3C.js +262 -0
  25. package/dist/chunks/activity-command-ACS7KL3C.js.map +6 -0
  26. package/dist/chunks/add-DLS54YKS.js +712 -0
  27. package/dist/chunks/add-DLS54YKS.js.map +6 -0
  28. package/dist/chunks/agent-GV3DWYQC.js +87 -0
  29. package/dist/chunks/agent-GV3DWYQC.js.map +6 -0
  30. package/dist/chunks/agent-session-7VE6GJJH.js +46 -0
  31. package/dist/chunks/agent-session-7VE6GJJH.js.map +6 -0
  32. package/dist/chunks/archive-6ZENIEBP.js +84 -0
  33. package/dist/chunks/archive-6ZENIEBP.js.map +6 -0
  34. package/dist/chunks/bin-main-NFFT5ZIU.js +126 -0
  35. package/dist/chunks/bin-main-NFFT5ZIU.js.map +6 -0
  36. package/dist/chunks/browser-VT2U6NG2.js +31 -0
  37. package/dist/chunks/browser-VT2U6NG2.js.map +6 -0
  38. package/dist/chunks/chat-UNYVLDFL.js +101 -0
  39. package/dist/chunks/chat-UNYVLDFL.js.map +6 -0
  40. package/dist/chunks/chunk-2IL6OG3X.js +311 -0
  41. package/dist/chunks/chunk-2IL6OG3X.js.map +6 -0
  42. package/dist/chunks/chunk-2RBYHHLM.js +319 -0
  43. package/dist/chunks/chunk-2RBYHHLM.js.map +6 -0
  44. package/dist/chunks/chunk-42ZK2AH4.js +71 -0
  45. package/dist/chunks/chunk-42ZK2AH4.js.map +6 -0
  46. package/dist/chunks/chunk-5PQVJBIO.js +168 -0
  47. package/dist/chunks/chunk-5PQVJBIO.js.map +6 -0
  48. package/dist/chunks/chunk-6CPT2ZBS.js +75 -0
  49. package/dist/chunks/chunk-6CPT2ZBS.js.map +6 -0
  50. package/dist/chunks/chunk-6LLJQ3KY.js +225 -0
  51. package/dist/chunks/chunk-6LLJQ3KY.js.map +6 -0
  52. package/dist/chunks/chunk-6YFJDVGA.js +161 -0
  53. package/dist/chunks/chunk-6YFJDVGA.js.map +6 -0
  54. package/dist/chunks/chunk-6YG7D7U4.js +159 -0
  55. package/dist/chunks/chunk-6YG7D7U4.js.map +6 -0
  56. package/dist/chunks/chunk-6ZPODOJN.js +828 -0
  57. package/dist/chunks/chunk-6ZPODOJN.js.map +6 -0
  58. package/dist/chunks/chunk-76FLAFCG.js +51 -0
  59. package/dist/chunks/chunk-76FLAFCG.js.map +6 -0
  60. package/dist/chunks/chunk-7HCPD673.js +25326 -0
  61. package/dist/chunks/chunk-7HCPD673.js.map +6 -0
  62. package/dist/chunks/chunk-7KWGR2YA.js +257 -0
  63. package/dist/chunks/chunk-7KWGR2YA.js.map +6 -0
  64. package/dist/chunks/chunk-A22MBIYU.js +42 -0
  65. package/dist/chunks/chunk-A22MBIYU.js.map +6 -0
  66. package/dist/chunks/chunk-AHIDYIRB.js +329 -0
  67. package/dist/chunks/chunk-AHIDYIRB.js.map +6 -0
  68. package/dist/chunks/chunk-AK2U3N2A.js +31 -0
  69. package/dist/chunks/chunk-AK2U3N2A.js.map +6 -0
  70. package/dist/chunks/chunk-AKKRZTPB.js +283 -0
  71. package/dist/chunks/chunk-AKKRZTPB.js.map +6 -0
  72. package/dist/chunks/chunk-BCZR2B3Y.js +97 -0
  73. package/dist/chunks/chunk-BCZR2B3Y.js.map +6 -0
  74. package/dist/chunks/chunk-CHIEVVQ2.js +32 -0
  75. package/dist/chunks/chunk-CHIEVVQ2.js.map +6 -0
  76. package/dist/chunks/chunk-D67YBUO3.js +110 -0
  77. package/dist/chunks/chunk-D67YBUO3.js.map +6 -0
  78. package/dist/chunks/chunk-DIHEHK7K.js +765 -0
  79. package/dist/chunks/chunk-DIHEHK7K.js.map +6 -0
  80. package/dist/chunks/chunk-E5VLANCO.js +101 -0
  81. package/dist/chunks/chunk-E5VLANCO.js.map +6 -0
  82. package/dist/chunks/chunk-EEDZOGV4.js +47 -0
  83. package/dist/chunks/chunk-EEDZOGV4.js.map +6 -0
  84. package/dist/chunks/chunk-ENGNEELC.js +271 -0
  85. package/dist/chunks/chunk-ENGNEELC.js.map +6 -0
  86. package/dist/chunks/chunk-EVY4MVRE.js +74 -0
  87. package/dist/chunks/chunk-EVY4MVRE.js.map +6 -0
  88. package/dist/chunks/chunk-FJNDNNNQ.js +115 -0
  89. package/dist/chunks/chunk-FJNDNNNQ.js.map +6 -0
  90. package/dist/chunks/chunk-FOFGMP7O.js +20 -0
  91. package/dist/chunks/chunk-FOFGMP7O.js.map +6 -0
  92. package/dist/chunks/chunk-FTMTO72X.js +95 -0
  93. package/dist/chunks/chunk-FTMTO72X.js.map +6 -0
  94. package/dist/chunks/chunk-GIXSS6KW.js +2228 -0
  95. package/dist/chunks/chunk-GIXSS6KW.js.map +6 -0
  96. package/dist/chunks/chunk-GNBMKISG.js +19 -0
  97. package/dist/chunks/chunk-GNBMKISG.js.map +6 -0
  98. package/dist/chunks/chunk-GWQEMJFS.js +28 -0
  99. package/dist/chunks/chunk-GWQEMJFS.js.map +6 -0
  100. package/dist/chunks/chunk-H6B6AROX.js +151 -0
  101. package/dist/chunks/chunk-H6B6AROX.js.map +6 -0
  102. package/dist/chunks/chunk-HE7WUOX2.js +26 -0
  103. package/dist/chunks/chunk-HE7WUOX2.js.map +6 -0
  104. package/dist/chunks/chunk-HZBKWL42.js +303 -0
  105. package/dist/chunks/chunk-HZBKWL42.js.map +6 -0
  106. package/dist/chunks/chunk-I7HQR6ET.js +75 -0
  107. package/dist/chunks/chunk-I7HQR6ET.js.map +6 -0
  108. package/dist/chunks/chunk-IJEB77SH.js +648 -0
  109. package/dist/chunks/chunk-IJEB77SH.js.map +6 -0
  110. package/dist/chunks/chunk-JNPDWME5.js +675 -0
  111. package/dist/chunks/chunk-JNPDWME5.js.map +6 -0
  112. package/dist/chunks/chunk-JORONMD3.js +18 -0
  113. package/dist/chunks/chunk-JORONMD3.js.map +6 -0
  114. package/dist/chunks/chunk-JV3LONAU.js +76 -0
  115. package/dist/chunks/chunk-JV3LONAU.js.map +6 -0
  116. package/dist/chunks/chunk-K5HARZ7G.js +82516 -0
  117. package/dist/chunks/chunk-K5HARZ7G.js.map +6 -0
  118. package/dist/chunks/chunk-KONYGNG6.js +7661 -0
  119. package/dist/chunks/chunk-KONYGNG6.js.map +6 -0
  120. package/dist/chunks/chunk-LXB3S4IC.js +19 -0
  121. package/dist/chunks/chunk-LXB3S4IC.js.map +6 -0
  122. package/dist/chunks/chunk-M3IAMIBJ.js +661 -0
  123. package/dist/chunks/chunk-M3IAMIBJ.js.map +6 -0
  124. package/dist/chunks/chunk-MH6KUKVV.js +1142 -0
  125. package/dist/chunks/chunk-MH6KUKVV.js.map +6 -0
  126. package/dist/chunks/chunk-MS3IYQ72.js +1479 -0
  127. package/dist/chunks/chunk-MS3IYQ72.js.map +6 -0
  128. package/dist/chunks/chunk-MZP6SH3M.js +3497 -0
  129. package/dist/chunks/chunk-MZP6SH3M.js.map +6 -0
  130. package/dist/chunks/chunk-N3ZEXVSS.js +76 -0
  131. package/dist/chunks/chunk-N3ZEXVSS.js.map +6 -0
  132. package/dist/chunks/chunk-N6SR54VC.js +207 -0
  133. package/dist/chunks/chunk-N6SR54VC.js.map +6 -0
  134. package/dist/chunks/chunk-NADQQMMG.js +46 -0
  135. package/dist/chunks/chunk-NADQQMMG.js.map +6 -0
  136. package/dist/chunks/chunk-NBH52WHS.js +247 -0
  137. package/dist/chunks/chunk-NBH52WHS.js.map +6 -0
  138. package/dist/chunks/chunk-NICLKFBG.js +109 -0
  139. package/dist/chunks/chunk-NICLKFBG.js.map +6 -0
  140. package/dist/chunks/chunk-NIPHHZ5G.js +283 -0
  141. package/dist/chunks/chunk-NIPHHZ5G.js.map +6 -0
  142. package/dist/chunks/chunk-NQT244I2.js +517 -0
  143. package/dist/chunks/chunk-NQT244I2.js.map +6 -0
  144. package/dist/chunks/chunk-NUGPLXVK.js +228 -0
  145. package/dist/chunks/chunk-NUGPLXVK.js.map +6 -0
  146. package/dist/chunks/chunk-OEW7CJKK.js +140 -0
  147. package/dist/chunks/chunk-OEW7CJKK.js.map +6 -0
  148. package/dist/chunks/chunk-OH6TB27S.js +111 -0
  149. package/dist/chunks/chunk-OH6TB27S.js.map +6 -0
  150. package/dist/chunks/chunk-OWH6QQY2.js +1858 -0
  151. package/dist/chunks/chunk-OWH6QQY2.js.map +6 -0
  152. package/dist/chunks/chunk-OWXJOD4H.js +773 -0
  153. package/dist/chunks/chunk-OWXJOD4H.js.map +6 -0
  154. package/dist/chunks/chunk-PT537V7B.js +787 -0
  155. package/dist/chunks/chunk-PT537V7B.js.map +6 -0
  156. package/dist/chunks/chunk-QEQZFG2X.js +106 -0
  157. package/dist/chunks/chunk-QEQZFG2X.js.map +6 -0
  158. package/dist/chunks/chunk-QL4O4UGZ.js +245 -0
  159. package/dist/chunks/chunk-QL4O4UGZ.js.map +6 -0
  160. package/dist/chunks/chunk-QL54XCF4.js +73 -0
  161. package/dist/chunks/chunk-QL54XCF4.js.map +6 -0
  162. package/dist/chunks/chunk-SB6UD3ED.js +1355 -0
  163. package/dist/chunks/chunk-SB6UD3ED.js.map +6 -0
  164. package/dist/chunks/chunk-SGGRGKGV.js +34 -0
  165. package/dist/chunks/chunk-SGGRGKGV.js.map +6 -0
  166. package/dist/chunks/chunk-SKKWMMFP.js +474 -0
  167. package/dist/chunks/chunk-SKKWMMFP.js.map +6 -0
  168. package/dist/chunks/chunk-SMIDV4KH.js +171 -0
  169. package/dist/chunks/chunk-SMIDV4KH.js.map +6 -0
  170. package/dist/chunks/chunk-T2VUTAHB.js +46 -0
  171. package/dist/chunks/chunk-T2VUTAHB.js.map +6 -0
  172. package/dist/chunks/chunk-T4SB6AAF.js +134 -0
  173. package/dist/chunks/chunk-T4SB6AAF.js.map +6 -0
  174. package/dist/chunks/chunk-TBIX6JRE.js +24 -0
  175. package/dist/chunks/chunk-TBIX6JRE.js.map +6 -0
  176. package/dist/chunks/chunk-THNCQJ33.js +11265 -0
  177. package/dist/chunks/chunk-THNCQJ33.js.map +6 -0
  178. package/dist/chunks/chunk-U56QFYGA.js +818 -0
  179. package/dist/chunks/chunk-U56QFYGA.js.map +6 -0
  180. package/dist/chunks/chunk-U6GZ7EW4.js +106 -0
  181. package/dist/chunks/chunk-U6GZ7EW4.js.map +6 -0
  182. package/dist/chunks/chunk-UDDSFIMB.js +1373 -0
  183. package/dist/chunks/chunk-UDDSFIMB.js.map +6 -0
  184. package/dist/chunks/chunk-UFHNXZL2.js +399 -0
  185. package/dist/chunks/chunk-UFHNXZL2.js.map +6 -0
  186. package/dist/chunks/chunk-US5ZFPAU.js +400 -0
  187. package/dist/chunks/chunk-US5ZFPAU.js.map +6 -0
  188. package/dist/chunks/chunk-VRL2WNQN.js +7534 -0
  189. package/dist/chunks/chunk-VRL2WNQN.js.map +6 -0
  190. package/dist/chunks/chunk-W3UQMRYA.js +380 -0
  191. package/dist/chunks/chunk-W3UQMRYA.js.map +6 -0
  192. package/dist/chunks/chunk-W5KGCUP3.js +11111 -0
  193. package/dist/chunks/chunk-W5KGCUP3.js.map +6 -0
  194. package/dist/chunks/chunk-WHODOMXA.js +132 -0
  195. package/dist/chunks/chunk-WHODOMXA.js.map +6 -0
  196. package/dist/chunks/chunk-WT6TFCPV.js +154 -0
  197. package/dist/chunks/chunk-WT6TFCPV.js.map +6 -0
  198. package/dist/chunks/chunk-WY2WUTFR.js +164 -0
  199. package/dist/chunks/chunk-WY2WUTFR.js.map +6 -0
  200. package/dist/chunks/chunk-XEUQN4JC.js +54 -0
  201. package/dist/chunks/chunk-XEUQN4JC.js.map +6 -0
  202. package/dist/chunks/chunk-Y7B67G22.js +26 -0
  203. package/dist/chunks/chunk-Y7B67G22.js.map +6 -0
  204. package/dist/chunks/chunk-YEMJX2DS.js +69 -0
  205. package/dist/chunks/chunk-YEMJX2DS.js.map +6 -0
  206. package/dist/chunks/chunk-YKLKHDZU.js +2953 -0
  207. package/dist/chunks/chunk-YKLKHDZU.js.map +6 -0
  208. package/dist/chunks/chunk-YQEWD2EN.js +127 -0
  209. package/dist/chunks/chunk-YQEWD2EN.js.map +6 -0
  210. package/dist/chunks/chunk-YYQJIECC.js +1439 -0
  211. package/dist/chunks/chunk-YYQJIECC.js.map +6 -0
  212. package/dist/chunks/chunk-ZKVZNOUS.js +106 -0
  213. package/dist/chunks/chunk-ZKVZNOUS.js.map +6 -0
  214. package/dist/chunks/chunk-ZPR4IMRT.js +36 -0
  215. package/dist/chunks/chunk-ZPR4IMRT.js.map +6 -0
  216. package/dist/chunks/chunk-ZWA2JRJV.js +45 -0
  217. package/dist/chunks/chunk-ZWA2JRJV.js.map +6 -0
  218. package/dist/chunks/cli-runtime-F4MBZ2UQ.js +129 -0
  219. package/dist/chunks/cli-runtime-F4MBZ2UQ.js.map +6 -0
  220. package/dist/chunks/commands-GMQGFTIY.js +21 -0
  221. package/dist/chunks/commands-GMQGFTIY.js.map +6 -0
  222. package/dist/chunks/computer-GXDY4H35.js +493 -0
  223. package/dist/chunks/computer-GXDY4H35.js.map +6 -0
  224. package/dist/chunks/crash-report-STOHSORG.js +21 -0
  225. package/dist/chunks/crash-report-STOHSORG.js.map +6 -0
  226. package/dist/chunks/devtools-LBE4PAQN.js +3851 -0
  227. package/dist/chunks/devtools-LBE4PAQN.js.map +6 -0
  228. package/dist/chunks/dist-3AF2X4S5.js +1339 -0
  229. package/dist/chunks/dist-3AF2X4S5.js.map +6 -0
  230. package/dist/chunks/dist-AZIMHV2B.js +514 -0
  231. package/dist/chunks/dist-AZIMHV2B.js.map +6 -0
  232. package/dist/chunks/dist-BGYRQ5BC.js +555 -0
  233. package/dist/chunks/dist-BGYRQ5BC.js.map +6 -0
  234. package/dist/chunks/dist-OTTZ7WVD.js +1415 -0
  235. package/dist/chunks/dist-OTTZ7WVD.js.map +6 -0
  236. package/dist/chunks/dist-R3I3ATSG.js +1018 -0
  237. package/dist/chunks/dist-R3I3ATSG.js.map +6 -0
  238. package/dist/chunks/dist-TXEKDBQO.js +40642 -0
  239. package/dist/chunks/dist-TXEKDBQO.js.map +6 -0
  240. package/dist/chunks/dist-XTWYQHHN.js +520 -0
  241. package/dist/chunks/dist-XTWYQHHN.js.map +6 -0
  242. package/dist/chunks/doctor-VXSB4Y4P.js +28 -0
  243. package/dist/chunks/doctor-VXSB4Y4P.js.map +6 -0
  244. package/dist/chunks/drain-DXVICQBR.js +471 -0
  245. package/dist/chunks/drain-DXVICQBR.js.map +6 -0
  246. package/dist/chunks/endpoint-M2DDENPP.js +15 -0
  247. package/dist/chunks/endpoint-M2DDENPP.js.map +6 -0
  248. package/dist/chunks/eval-BMJQXDKA.js +187 -0
  249. package/dist/chunks/eval-BMJQXDKA.js.map +6 -0
  250. package/dist/chunks/exec-3T5ESZPH.js +1284 -0
  251. package/dist/chunks/exec-3T5ESZPH.js.map +6 -0
  252. package/dist/chunks/home-ILHA7B6Z.js +16 -0
  253. package/dist/chunks/home-ILHA7B6Z.js.map +6 -0
  254. package/dist/chunks/host-queries-QCMWDZGS.js +152 -0
  255. package/dist/chunks/host-queries-QCMWDZGS.js.map +6 -0
  256. package/dist/chunks/lib-KXZZJJG2.js +2657 -0
  257. package/dist/chunks/lib-KXZZJJG2.js.map +6 -0
  258. package/dist/chunks/lifecycle-CB23VJI7.js +63 -0
  259. package/dist/chunks/lifecycle-CB23VJI7.js.map +6 -0
  260. package/dist/chunks/list-N6WXZBMD.js +293 -0
  261. package/dist/chunks/list-N6WXZBMD.js.map +6 -0
  262. package/dist/chunks/login-26NCG6EQ.js +29 -0
  263. package/dist/chunks/login-26NCG6EQ.js.map +6 -0
  264. package/dist/chunks/logs-V7SNM7LA.js +116 -0
  265. package/dist/chunks/logs-V7SNM7LA.js.map +6 -0
  266. package/dist/chunks/mcp-BTHCU5ZC.js +763 -0
  267. package/dist/chunks/mcp-BTHCU5ZC.js.map +6 -0
  268. package/dist/chunks/message-command-HMIOR52C.js +170 -0
  269. package/dist/chunks/message-command-HMIOR52C.js.map +6 -0
  270. package/dist/chunks/node-QB2FA2ZB.js +916 -0
  271. package/dist/chunks/node-QB2FA2ZB.js.map +6 -0
  272. package/dist/chunks/operator-tools-7LMWOHSN.js +115 -0
  273. package/dist/chunks/operator-tools-7LMWOHSN.js.map +6 -0
  274. package/dist/chunks/output-schema-XCONYVZ7.js +11 -0
  275. package/dist/chunks/output-schema-XCONYVZ7.js.map +6 -0
  276. package/dist/chunks/pal-YEUKHA6F.js +200 -0
  277. package/dist/chunks/pal-YEUKHA6F.js.map +6 -0
  278. package/dist/chunks/paths-DXYFKIJU.js +10 -0
  279. package/dist/chunks/paths-DXYFKIJU.js.map +6 -0
  280. package/dist/chunks/pica-WNHDDIFX.js +1736 -0
  281. package/dist/chunks/pica-WNHDDIFX.js.map +6 -0
  282. package/dist/chunks/providers-EI3FAKYB.js +160 -0
  283. package/dist/chunks/providers-EI3FAKYB.js.map +6 -0
  284. package/dist/chunks/resident-5ZY6OG6B.js +1314 -0
  285. package/dist/chunks/resident-5ZY6OG6B.js.map +6 -0
  286. package/dist/chunks/resume-command-ONYRZIIA.js +22 -0
  287. package/dist/chunks/resume-command-ONYRZIIA.js.map +6 -0
  288. package/dist/chunks/schedule-6JPEO4NR.js +143 -0
  289. package/dist/chunks/schedule-6JPEO4NR.js.map +6 -0
  290. package/dist/chunks/serve-S7UWNIR3.js +21 -0
  291. package/dist/chunks/serve-S7UWNIR3.js.map +6 -0
  292. package/dist/chunks/service-WSW3M6K5.js +1633 -0
  293. package/dist/chunks/service-WSW3M6K5.js.map +6 -0
  294. package/dist/chunks/session-step-2VZM3CCA.js +26 -0
  295. package/dist/chunks/session-step-2VZM3CCA.js.map +6 -0
  296. package/dist/chunks/skills-KAZJYGX5.js +282 -0
  297. package/dist/chunks/skills-KAZJYGX5.js.map +6 -0
  298. package/dist/chunks/state-263OUKQA.js +717 -0
  299. package/dist/chunks/state-263OUKQA.js.map +6 -0
  300. package/dist/chunks/store-3XLCJ7EL.js +42 -0
  301. package/dist/chunks/store-3XLCJ7EL.js.map +6 -0
  302. package/dist/chunks/store-KN65QI2M.js +82 -0
  303. package/dist/chunks/store-KN65QI2M.js.map +6 -0
  304. package/dist/chunks/store-X3TESBIN.js +34 -0
  305. package/dist/chunks/store-X3TESBIN.js.map +6 -0
  306. package/dist/chunks/tui-5MU7JBXX.js +56703 -0
  307. package/dist/chunks/tui-5MU7JBXX.js.map +6 -0
  308. package/dist/chunks/upgrade-BYM4MWBC.js +315 -0
  309. package/dist/chunks/upgrade-BYM4MWBC.js.map +6 -0
  310. package/dist/chunks/webapi-6HUHZUAH.js +2715 -0
  311. package/dist/chunks/webapi-6HUHZUAH.js.map +6 -0
  312. package/dist/chunks/worktree-K3ZIPXRM.js +116 -0
  313. package/dist/chunks/worktree-K3ZIPXRM.js.map +6 -0
  314. package/dist/cli-runtime.d.ts +19 -0
  315. package/dist/cli-runtime.d.ts.map +1 -0
  316. package/dist/cli.d.ts +0 -15
  317. package/dist/cli.d.ts.map +1 -1
  318. package/dist/commands/acp-harness.d.ts +64 -0
  319. package/dist/commands/acp-harness.d.ts.map +1 -0
  320. package/dist/commands/acp-provider-retry.d.ts +27 -0
  321. package/dist/commands/acp-provider-retry.d.ts.map +1 -0
  322. package/dist/commands/acp.d.ts +134 -3
  323. package/dist/commands/acp.d.ts.map +1 -1
  324. package/dist/commands/computer.d.ts +3 -0
  325. package/dist/commands/computer.d.ts.map +1 -0
  326. package/dist/commands/desktop-host-changes.d.ts +65 -0
  327. package/dist/commands/desktop-host-changes.d.ts.map +1 -0
  328. package/dist/commands/desktop-host-header.d.ts +30 -0
  329. package/dist/commands/desktop-host-header.d.ts.map +1 -0
  330. package/dist/commands/desktop-host.d.ts +354 -0
  331. package/dist/commands/desktop-host.d.ts.map +1 -0
  332. package/dist/commands/desktop-model-catalogue.d.ts +25 -0
  333. package/dist/commands/desktop-model-catalogue.d.ts.map +1 -0
  334. package/dist/commands/effort-levels.d.ts +3 -0
  335. package/dist/commands/effort-levels.d.ts.map +1 -0
  336. package/dist/commands/exec-flags.d.ts +4 -0
  337. package/dist/commands/exec-flags.d.ts.map +1 -1
  338. package/dist/commands/exec.d.ts.map +1 -1
  339. package/dist/commands/lazy.d.ts +20 -0
  340. package/dist/commands/lazy.d.ts.map +1 -0
  341. package/dist/commands/manifest.d.ts +33 -0
  342. package/dist/commands/manifest.d.ts.map +1 -0
  343. package/dist/commands/mcp.d.ts +3 -0
  344. package/dist/commands/mcp.d.ts.map +1 -1
  345. package/dist/commands/pal.d.ts +5 -0
  346. package/dist/commands/pal.d.ts.map +1 -0
  347. package/dist/commands/permission-preview.d.ts +38 -0
  348. package/dist/commands/permission-preview.d.ts.map +1 -0
  349. package/dist/commands/registry.d.ts +10 -0
  350. package/dist/commands/registry.d.ts.map +1 -1
  351. package/dist/commands/serve.d.ts +1 -12
  352. package/dist/commands/serve.d.ts.map +1 -1
  353. package/dist/commands/stdin.d.ts.map +1 -1
  354. package/dist/commands/upgrade.d.ts +14 -0
  355. package/dist/commands/upgrade.d.ts.map +1 -1
  356. package/dist/compile-cache-enable.d.ts +2 -0
  357. package/dist/compile-cache-enable.d.ts.map +1 -0
  358. package/dist/compile-cache.d.ts +53 -0
  359. package/dist/compile-cache.d.ts.map +1 -0
  360. package/dist/computer/bundle.d.ts +18 -0
  361. package/dist/computer/bundle.d.ts.map +1 -0
  362. package/dist/computer/run.d.ts +26 -0
  363. package/dist/computer/run.d.ts.map +1 -0
  364. package/dist/computer/sentences.d.ts +30 -0
  365. package/dist/computer/sentences.d.ts.map +1 -0
  366. package/dist/config/load.d.ts +10 -1
  367. package/dist/config/load.d.ts.map +1 -1
  368. package/dist/context/capabilities.d.ts +25 -2
  369. package/dist/context/capabilities.d.ts.map +1 -1
  370. package/dist/context/runtime-message.d.ts.map +1 -1
  371. package/dist/crash-report.d.ts +22 -0
  372. package/dist/crash-report.d.ts.map +1 -0
  373. package/dist/debug-requested.d.ts +7 -0
  374. package/dist/debug-requested.d.ts.map +1 -0
  375. package/dist/doctor/checks/credentials.d.ts.map +1 -1
  376. package/dist/exit-codes.d.ts +9 -1
  377. package/dist/exit-codes.d.ts.map +1 -1
  378. package/dist/index.js +105 -17
  379. package/dist/index.js.map +6 -1
  380. package/dist/integrations/harness/claude-adapter.d.ts +20 -0
  381. package/dist/integrations/harness/claude-adapter.d.ts.map +1 -0
  382. package/dist/integrations/harness/claude-protocol.d.ts +67 -0
  383. package/dist/integrations/harness/claude-protocol.d.ts.map +1 -0
  384. package/dist/integrations/harness/codex-adapter.d.ts +80 -0
  385. package/dist/integrations/harness/codex-adapter.d.ts.map +1 -0
  386. package/dist/integrations/harness/codex-protocol.d.ts +22 -0
  387. package/dist/integrations/harness/codex-protocol.d.ts.map +1 -0
  388. package/dist/integrations/harness/model-cache.d.ts +16 -0
  389. package/dist/integrations/harness/model-cache.d.ts.map +1 -0
  390. package/dist/integrations/harness/native-executable.d.ts +8 -0
  391. package/dist/integrations/harness/native-executable.d.ts.map +1 -0
  392. package/dist/integrations/harness/process.d.ts +25 -0
  393. package/dist/integrations/harness/process.d.ts.map +1 -0
  394. package/dist/integrations/mcp/servers.d.ts.map +1 -1
  395. package/dist/integrations/peers/runtime.d.ts +64 -0
  396. package/dist/integrations/peers/runtime.d.ts.map +1 -0
  397. package/dist/integrations/plugins/inventory.d.ts +27 -0
  398. package/dist/integrations/plugins/inventory.d.ts.map +1 -0
  399. package/dist/integrations/providers/composer-settings.d.ts +33 -0
  400. package/dist/integrations/providers/composer-settings.d.ts.map +1 -0
  401. package/dist/integrations/providers/connections.d.ts +37 -0
  402. package/dist/integrations/providers/connections.d.ts.map +1 -0
  403. package/dist/integrations/providers/credential-store.d.ts +35 -0
  404. package/dist/integrations/providers/credential-store.d.ts.map +1 -1
  405. package/dist/integrations/providers/discover.d.ts +27 -1
  406. package/dist/integrations/providers/discover.d.ts.map +1 -1
  407. package/dist/integrations/providers/index.d.ts +2 -2
  408. package/dist/integrations/providers/index.d.ts.map +1 -1
  409. package/dist/integrations/providers/picker-operation.d.ts +6 -0
  410. package/dist/integrations/providers/picker-operation.d.ts.map +1 -0
  411. package/dist/integrations/providers/setup.d.ts +16 -1
  412. package/dist/integrations/providers/setup.d.ts.map +1 -1
  413. package/dist/integrations/resident/runner-worker.js +190 -161
  414. package/dist/integrations/resident/runner-worker.js.map +6 -1
  415. package/dist/integrations/resident/session-step.d.ts.map +1 -1
  416. package/dist/integrations/sessions/display-title.d.ts +8 -0
  417. package/dist/integrations/sessions/display-title.d.ts.map +1 -1
  418. package/dist/integrations/sessions/store.d.ts +23 -9
  419. package/dist/integrations/sessions/store.d.ts.map +1 -1
  420. package/dist/integrations/sessions/task-context.d.ts +1 -1
  421. package/dist/integrations/sessions/task-context.d.ts.map +1 -1
  422. package/dist/integrations/sessions/transcript-export.d.ts.map +1 -1
  423. package/dist/integrations/subagents/activity.d.ts +9 -6
  424. package/dist/integrations/subagents/activity.d.ts.map +1 -1
  425. package/dist/integrations/subagents/operator-journal.d.ts +20 -0
  426. package/dist/integrations/subagents/operator-journal.d.ts.map +1 -0
  427. package/dist/integrations/subagents/runtime.d.ts +11 -0
  428. package/dist/integrations/subagents/runtime.d.ts.map +1 -1
  429. package/dist/integrations/trust/store.d.ts +14 -0
  430. package/dist/integrations/trust/store.d.ts.map +1 -1
  431. package/dist/integrations/web/search.d.ts +1 -1
  432. package/dist/pals/actions.d.ts +57 -0
  433. package/dist/pals/actions.d.ts.map +1 -0
  434. package/dist/pals/activity-command.d.ts +3 -0
  435. package/dist/pals/activity-command.d.ts.map +1 -0
  436. package/dist/pals/activity.d.ts +18 -0
  437. package/dist/pals/activity.d.ts.map +1 -0
  438. package/dist/pals/agent-session.d.ts +19 -0
  439. package/dist/pals/agent-session.d.ts.map +1 -0
  440. package/dist/pals/channel-actions.d.ts +5 -0
  441. package/dist/pals/channel-actions.d.ts.map +1 -0
  442. package/dist/pals/channel-local.d.ts +7 -0
  443. package/dist/pals/channel-local.d.ts.map +1 -0
  444. package/dist/pals/channel.d.ts +20 -0
  445. package/dist/pals/channel.d.ts.map +1 -0
  446. package/dist/pals/chat.d.ts +6 -0
  447. package/dist/pals/chat.d.ts.map +1 -0
  448. package/dist/pals/communication.d.ts +47 -0
  449. package/dist/pals/communication.d.ts.map +1 -0
  450. package/dist/pals/conversations.d.ts +26 -0
  451. package/dist/pals/conversations.d.ts.map +1 -0
  452. package/dist/pals/desktop-communication.d.ts +111 -0
  453. package/dist/pals/desktop-communication.d.ts.map +1 -0
  454. package/dist/pals/dispatch.d.ts +13 -0
  455. package/dist/pals/dispatch.d.ts.map +1 -0
  456. package/dist/pals/environment.d.ts +103 -0
  457. package/dist/pals/environment.d.ts.map +1 -0
  458. package/dist/pals/guest-mcp-transport.d.ts +28 -0
  459. package/dist/pals/guest-mcp-transport.d.ts.map +1 -0
  460. package/dist/pals/guest-mcp.d.ts +22 -0
  461. package/dist/pals/guest-mcp.d.ts.map +1 -0
  462. package/dist/pals/inbox-start.d.ts +35 -0
  463. package/dist/pals/inbox-start.d.ts.map +1 -0
  464. package/dist/pals/message-command.d.ts +3 -0
  465. package/dist/pals/message-command.d.ts.map +1 -0
  466. package/dist/pals/operator-tools.d.ts +23 -0
  467. package/dist/pals/operator-tools.d.ts.map +1 -0
  468. package/dist/pals/public-transcript.d.ts +4 -0
  469. package/dist/pals/public-transcript.d.ts.map +1 -0
  470. package/dist/pals/review.d.ts +16 -0
  471. package/dist/pals/review.d.ts.map +1 -0
  472. package/dist/pals/store.d.ts +16 -0
  473. package/dist/pals/store.d.ts.map +1 -0
  474. package/dist/pals/tui-session.d.ts +11 -0
  475. package/dist/pals/tui-session.d.ts.map +1 -0
  476. package/dist/permissions/mode-names.d.ts +2 -0
  477. package/dist/permissions/mode-names.d.ts.map +1 -0
  478. package/dist/resume-invocation.d.ts +1 -1
  479. package/dist/resume-invocation.d.ts.map +1 -1
  480. package/dist/resume-shell.d.ts +8 -0
  481. package/dist/resume-shell.d.ts.map +1 -0
  482. package/dist/schedule/build.d.ts +12 -3
  483. package/dist/schedule/build.d.ts.map +1 -1
  484. package/dist/schedule/commands/add.d.ts +1 -1
  485. package/dist/schedule/commands/add.d.ts.map +1 -1
  486. package/dist/schedule/commands/lifecycle.d.ts.map +1 -1
  487. package/dist/schedule/commands/list.d.ts +3 -1
  488. package/dist/schedule/commands/list.d.ts.map +1 -1
  489. package/dist/schedule/daemon/daemon.d.ts +2 -0
  490. package/dist/schedule/daemon/daemon.d.ts.map +1 -1
  491. package/dist/schedule/delivery.d.ts +66 -0
  492. package/dist/schedule/delivery.d.ts.map +1 -0
  493. package/dist/schedule/fire/fire.d.ts +1 -1
  494. package/dist/schedule/fire/fire.d.ts.map +1 -1
  495. package/dist/schedule/fire/run-script.d.ts +2 -2
  496. package/dist/schedule/fire/run-script.d.ts.map +1 -1
  497. package/dist/schedule/fire/script-report.d.ts +31 -0
  498. package/dist/schedule/fire/script-report.d.ts.map +1 -0
  499. package/dist/schedule/floor.d.ts +1 -1
  500. package/dist/schedule/floor.d.ts.map +1 -1
  501. package/dist/schedule/folder.d.ts +6 -0
  502. package/dist/schedule/folder.d.ts.map +1 -1
  503. package/dist/schedule/resume-command.d.ts +3 -3
  504. package/dist/schedule/resume-command.d.ts.map +1 -1
  505. package/dist/schedule/store/history.d.ts.map +1 -1
  506. package/dist/schedule/store/jobs.d.ts +6 -6
  507. package/dist/schedule/store/jobs.d.ts.map +1 -1
  508. package/dist/schedule/store/script-state.d.ts +31 -0
  509. package/dist/schedule/store/script-state.d.ts.map +1 -0
  510. package/dist/schedule/store/state.d.ts +4 -2
  511. package/dist/schedule/store/state.d.ts.map +1 -1
  512. package/dist/schedule/types.d.ts +61 -16
  513. package/dist/schedule/types.d.ts.map +1 -1
  514. package/dist/skills/store.d.ts.map +1 -1
  515. package/dist/terminal/host.d.ts +22 -0
  516. package/dist/terminal/host.d.ts.map +1 -0
  517. package/dist/terminal/manager.d.ts +124 -0
  518. package/dist/terminal/manager.d.ts.map +1 -0
  519. package/dist/terminal/protocol.d.ts +162 -0
  520. package/dist/terminal/protocol.d.ts.map +1 -0
  521. package/dist/terminal/pty.d.ts +85 -0
  522. package/dist/terminal/pty.d.ts.map +1 -0
  523. package/dist/terminal/ring.d.ts +23 -0
  524. package/dist/terminal/ring.d.ts.map +1 -0
  525. package/dist/terminal/screen.d.ts +31 -0
  526. package/dist/terminal/screen.d.ts.map +1 -0
  527. package/dist/termination-state.d.ts +19 -0
  528. package/dist/termination-state.d.ts.map +1 -0
  529. package/dist/termination.d.ts +2 -9
  530. package/dist/termination.d.ts.map +1 -1
  531. package/dist/tui/AgentExplorer.d.ts +4 -1
  532. package/dist/tui/AgentExplorer.d.ts.map +1 -1
  533. package/dist/tui/App.d.ts.map +1 -1
  534. package/dist/tui/BackgroundJobsPanel.d.ts +26 -0
  535. package/dist/tui/BackgroundJobsPanel.d.ts.map +1 -0
  536. package/dist/tui/BrandHeader.d.ts.map +1 -1
  537. package/dist/tui/ChildComposer.d.ts +22 -0
  538. package/dist/tui/ChildComposer.d.ts.map +1 -0
  539. package/dist/tui/ChoicePicker.d.ts.map +1 -1
  540. package/dist/tui/Composer.d.ts +25 -4
  541. package/dist/tui/Composer.d.ts.map +1 -1
  542. package/dist/tui/ComposerFrame.d.ts.map +1 -1
  543. package/dist/tui/CopyPicker.d.ts.map +1 -1
  544. package/dist/tui/EditPromptPicker.d.ts.map +1 -1
  545. package/dist/tui/EffortSlider.d.ts.map +1 -1
  546. package/dist/tui/LiveActivity.d.ts +7 -1
  547. package/dist/tui/LiveActivity.d.ts.map +1 -1
  548. package/dist/tui/Markdown.d.ts.map +1 -1
  549. package/dist/tui/PendingInputPanel.d.ts +34 -0
  550. package/dist/tui/PendingInputPanel.d.ts.map +1 -0
  551. package/dist/tui/PermissionOverlay.d.ts.map +1 -1
  552. package/dist/tui/Picker.d.ts.map +1 -1
  553. package/dist/tui/ProviderSetup.d.ts.map +1 -1
  554. package/dist/tui/ResumePicker.d.ts.map +1 -1
  555. package/dist/tui/SaveSkillOverlay.d.ts.map +1 -1
  556. package/dist/tui/ScheduleReviewOverlay.d.ts +1 -1
  557. package/dist/tui/ScheduleReviewOverlay.d.ts.map +1 -1
  558. package/dist/tui/StatusBar.d.ts +7 -1
  559. package/dist/tui/StatusBar.d.ts.map +1 -1
  560. package/dist/tui/StatusPanel.d.ts.map +1 -1
  561. package/dist/tui/TextPrompt.d.ts.map +1 -1
  562. package/dist/tui/ToolOutputViewer.d.ts.map +1 -1
  563. package/dist/tui/Transcript.d.ts.map +1 -1
  564. package/dist/tui/TrustPrompt.d.ts +8 -0
  565. package/dist/tui/TrustPrompt.d.ts.map +1 -1
  566. package/dist/tui/agent.d.ts +135 -6
  567. package/dist/tui/agent.d.ts.map +1 -1
  568. package/dist/tui/browser-notices.d.ts.map +1 -1
  569. package/dist/tui/capability-notice.d.ts +38 -0
  570. package/dist/tui/capability-notice.d.ts.map +1 -0
  571. package/dist/tui/console-input.d.ts +31 -0
  572. package/dist/tui/console-input.d.ts.map +1 -0
  573. package/dist/tui/conversation-evidence-view.d.ts.map +1 -1
  574. package/dist/tui/credential-entry.d.ts.map +1 -1
  575. package/dist/tui/exit-summary.d.ts +9 -1
  576. package/dist/tui/exit-summary.d.ts.map +1 -1
  577. package/dist/tui/external-editor.d.ts.map +1 -1
  578. package/dist/tui/index.d.ts.map +1 -1
  579. package/dist/tui/key-hints.d.ts +51 -0
  580. package/dist/tui/key-hints.d.ts.map +1 -0
  581. package/dist/tui/launch-settings.d.ts +34 -0
  582. package/dist/tui/launch-settings.d.ts.map +1 -0
  583. package/dist/tui/log-pane.d.ts.map +1 -1
  584. package/dist/tui/model-choices.d.ts +39 -1
  585. package/dist/tui/model-choices.d.ts.map +1 -1
  586. package/dist/tui/model-search.d.ts +4 -1
  587. package/dist/tui/model-search.d.ts.map +1 -1
  588. package/dist/tui/output-size-watch.d.ts +32 -0
  589. package/dist/tui/output-size-watch.d.ts.map +1 -0
  590. package/dist/tui/permission-review.d.ts.map +1 -1
  591. package/dist/tui/person-terms.d.ts +58 -0
  592. package/dist/tui/person-terms.d.ts.map +1 -0
  593. package/dist/tui/plain-failure.d.ts +27 -0
  594. package/dist/tui/plain-failure.d.ts.map +1 -0
  595. package/dist/tui/plain-interruption.d.ts +46 -0
  596. package/dist/tui/plain-interruption.d.ts.map +1 -0
  597. package/dist/tui/provider-list.d.ts.map +1 -1
  598. package/dist/tui/render-mode.d.ts +19 -0
  599. package/dist/tui/render-mode.d.ts.map +1 -0
  600. package/dist/tui/schedule/host-commands.d.ts +2 -9
  601. package/dist/tui/schedule/host-commands.d.ts.map +1 -1
  602. package/dist/tui/schedule/integration.d.ts +8 -0
  603. package/dist/tui/schedule/integration.d.ts.map +1 -1
  604. package/dist/tui/schedule/source-deliveries.d.ts +37 -0
  605. package/dist/tui/schedule/source-deliveries.d.ts.map +1 -0
  606. package/dist/tui/schedule/startup.d.ts.map +1 -1
  607. package/dist/tui/schedule/tool-host.d.ts +3 -1
  608. package/dist/tui/schedule/tool-host.d.ts.map +1 -1
  609. package/dist/tui/setup-text.d.ts +14 -0
  610. package/dist/tui/setup-text.d.ts.map +1 -0
  611. package/dist/tui/shell-escape.d.ts.map +1 -1
  612. package/dist/tui/skills/suggest-setting.d.ts.map +1 -1
  613. package/dist/tui/slashCommands.d.ts +9 -2
  614. package/dist/tui/slashCommands.d.ts.map +1 -1
  615. package/dist/tui/terminal-choice-text.d.ts +7 -0
  616. package/dist/tui/terminal-choice-text.d.ts.map +1 -1
  617. package/dist/tui/tidy-tool-output.d.ts +83 -0
  618. package/dist/tui/tidy-tool-output.d.ts.map +1 -0
  619. package/dist/tui/tool-presentation.d.ts +6 -0
  620. package/dist/tui/tool-presentation.d.ts.map +1 -0
  621. package/dist/tui/triggers/copy.d.ts.map +1 -1
  622. package/dist/tui/triggers/setting.d.ts.map +1 -1
  623. package/dist/tui/turn-interruption.d.ts +1 -1
  624. package/dist/tui/turn-interruption.d.ts.map +1 -1
  625. package/dist/tui/turn-limits-settings.d.ts +4 -4
  626. package/dist/tui/turn-limits-settings.d.ts.map +1 -1
  627. package/dist/tui/types.d.ts +10 -0
  628. package/dist/tui/types.d.ts.map +1 -1
  629. package/dist/tui/web-activity.d.ts +3 -2
  630. package/dist/tui/web-activity.d.ts.map +1 -1
  631. package/dist/tui/zen-free-refusal.d.ts +17 -0
  632. package/dist/tui/zen-free-refusal.d.ts.map +1 -0
  633. package/dist/usage-error.d.ts +15 -0
  634. package/dist/usage-error.d.ts.map +1 -0
  635. package/dist/warning-filter.d.ts +30 -0
  636. package/dist/warning-filter.d.ts.map +1 -0
  637. package/package.json +22 -11
  638. package/skills/schedule-task/SKILL.md +74 -20
  639. package/dist/browser/commands.js +0 -365
  640. package/dist/browser/commands.js.map +0 -1
  641. package/dist/browser/control.js +0 -140
  642. package/dist/browser/control.js.map +0 -1
  643. package/dist/browser/describe.js +0 -27
  644. package/dist/browser/describe.js.map +0 -1
  645. package/dist/checkpoints/store.js +0 -192
  646. package/dist/checkpoints/store.js.map +0 -1
  647. package/dist/checkpoints/wrap.js +0 -37
  648. package/dist/checkpoints/wrap.js.map +0 -1
  649. package/dist/cli.js +0 -602
  650. package/dist/cli.js.map +0 -1
  651. package/dist/commands/acp.js +0 -388
  652. package/dist/commands/acp.js.map +0 -1
  653. package/dist/commands/archive.js +0 -65
  654. package/dist/commands/archive.js.map +0 -1
  655. package/dist/commands/browser.js +0 -16
  656. package/dist/commands/browser.js.map +0 -1
  657. package/dist/commands/doctor.js +0 -267
  658. package/dist/commands/doctor.js.map +0 -1
  659. package/dist/commands/drain.js +0 -498
  660. package/dist/commands/drain.js.map +0 -1
  661. package/dist/commands/eval.js +0 -237
  662. package/dist/commands/eval.js.map +0 -1
  663. package/dist/commands/exec-flags.js +0 -334
  664. package/dist/commands/exec-flags.js.map +0 -1
  665. package/dist/commands/exec-json.js +0 -497
  666. package/dist/commands/exec-json.js.map +0 -1
  667. package/dist/commands/exec.js +0 -688
  668. package/dist/commands/exec.js.map +0 -1
  669. package/dist/commands/host-queries.js +0 -156
  670. package/dist/commands/host-queries.js.map +0 -1
  671. package/dist/commands/login.js +0 -315
  672. package/dist/commands/login.js.map +0 -1
  673. package/dist/commands/mcp-oauth-login.js +0 -213
  674. package/dist/commands/mcp-oauth-login.js.map +0 -1
  675. package/dist/commands/mcp.js +0 -288
  676. package/dist/commands/mcp.js.map +0 -1
  677. package/dist/commands/prior-messages.js +0 -329
  678. package/dist/commands/prior-messages.js.map +0 -1
  679. package/dist/commands/provider-wait.js +0 -65
  680. package/dist/commands/provider-wait.js.map +0 -1
  681. package/dist/commands/registry.js +0 -40
  682. package/dist/commands/registry.js.map +0 -1
  683. package/dist/commands/resident-flags.js +0 -193
  684. package/dist/commands/resident-flags.js.map +0 -1
  685. package/dist/commands/resident-learning.js +0 -293
  686. package/dist/commands/resident-learning.js.map +0 -1
  687. package/dist/commands/resident.js +0 -419
  688. package/dist/commands/resident.js.map +0 -1
  689. package/dist/commands/resume.js +0 -109
  690. package/dist/commands/resume.js.map +0 -1
  691. package/dist/commands/schedule.js +0 -131
  692. package/dist/commands/schedule.js.map +0 -1
  693. package/dist/commands/serve.js +0 -21
  694. package/dist/commands/serve.js.map +0 -1
  695. package/dist/commands/skills.js +0 -178
  696. package/dist/commands/skills.js.map +0 -1
  697. package/dist/commands/state.js +0 -110
  698. package/dist/commands/state.js.map +0 -1
  699. package/dist/commands/stdin.js +0 -69
  700. package/dist/commands/stdin.js.map +0 -1
  701. package/dist/commands/types.js +0 -2
  702. package/dist/commands/types.js.map +0 -1
  703. package/dist/commands/upgrade-progress.js +0 -54
  704. package/dist/commands/upgrade-progress.js.map +0 -1
  705. package/dist/commands/upgrade.js +0 -232
  706. package/dist/commands/upgrade.js.map +0 -1
  707. package/dist/commands/worktree.js +0 -86
  708. package/dist/commands/worktree.js.map +0 -1
  709. package/dist/config/composer-triggers.js +0 -80
  710. package/dist/config/composer-triggers.js.map +0 -1
  711. package/dist/config/debug.js +0 -126
  712. package/dist/config/debug.js.map +0 -1
  713. package/dist/config/load.js +0 -1208
  714. package/dist/config/load.js.map +0 -1
  715. package/dist/config/schema.js +0 -13
  716. package/dist/config/schema.js.map +0 -1
  717. package/dist/config/tool-result-screens.js +0 -104
  718. package/dist/config/tool-result-screens.js.map +0 -1
  719. package/dist/config/trusted-project-context.js +0 -28
  720. package/dist/config/trusted-project-context.js.map +0 -1
  721. package/dist/config/turn-guards.js +0 -46
  722. package/dist/config/turn-guards.js.map +0 -1
  723. package/dist/config/user-config.js +0 -118
  724. package/dist/config/user-config.js.map +0 -1
  725. package/dist/context/capabilities.js +0 -164
  726. package/dist/context/capabilities.js.map +0 -1
  727. package/dist/context/directories.js +0 -69
  728. package/dist/context/directories.js.map +0 -1
  729. package/dist/context/doctrine.js +0 -24
  730. package/dist/context/doctrine.js.map +0 -1
  731. package/dist/context/environment.js +0 -255
  732. package/dist/context/environment.js.map +0 -1
  733. package/dist/context/project-path.js +0 -16
  734. package/dist/context/project-path.js.map +0 -1
  735. package/dist/context/project-tracker.js +0 -217
  736. package/dist/context/project-tracker.js.map +0 -1
  737. package/dist/context/project.js +0 -256
  738. package/dist/context/project.js.map +0 -1
  739. package/dist/context/runtime-message.js +0 -30
  740. package/dist/context/runtime-message.js.map +0 -1
  741. package/dist/context/sandbox.js +0 -114
  742. package/dist/context/sandbox.js.map +0 -1
  743. package/dist/context/turn-snapshot.js +0 -122
  744. package/dist/context/turn-snapshot.js.map +0 -1
  745. package/dist/doctor/checks/browser.js +0 -63
  746. package/dist/doctor/checks/browser.js.map +0 -1
  747. package/dist/doctor/checks/chain.js +0 -211
  748. package/dist/doctor/checks/chain.js.map +0 -1
  749. package/dist/doctor/checks/credentials.js +0 -98
  750. package/dist/doctor/checks/credentials.js.map +0 -1
  751. package/dist/doctor/checks/index.js +0 -72
  752. package/dist/doctor/checks/index.js.map +0 -1
  753. package/dist/doctor/checks/invariants.js +0 -79
  754. package/dist/doctor/checks/invariants.js.map +0 -1
  755. package/dist/doctor/checks/logging.js +0 -69
  756. package/dist/doctor/checks/logging.js.map +0 -1
  757. package/dist/doctor/checks/providers.js +0 -30
  758. package/dist/doctor/checks/providers.js.map +0 -1
  759. package/dist/doctor/checks/runtime.js +0 -40
  760. package/dist/doctor/checks/runtime.js.map +0 -1
  761. package/dist/doctor/checks/sandbox.js +0 -76
  762. package/dist/doctor/checks/sandbox.js.map +0 -1
  763. package/dist/doctor/checks/scheduler.js +0 -74
  764. package/dist/doctor/checks/scheduler.js.map +0 -1
  765. package/dist/doctor/checks/session-export.js +0 -62
  766. package/dist/doctor/checks/session-export.js.map +0 -1
  767. package/dist/doctor/checks/telemetry.js +0 -58
  768. package/dist/doctor/checks/telemetry.js.map +0 -1
  769. package/dist/doctor/checks/vault.js +0 -67
  770. package/dist/doctor/checks/vault.js.map +0 -1
  771. package/dist/doctor/index.js +0 -3
  772. package/dist/doctor/index.js.map +0 -1
  773. package/dist/doctor/registry.js +0 -230
  774. package/dist/doctor/registry.js.map +0 -1
  775. package/dist/exit-codes.js +0 -62
  776. package/dist/exit-codes.js.map +0 -1
  777. package/dist/installation.js +0 -48
  778. package/dist/installation.js.map +0 -1
  779. package/dist/integrations/clipboard/image.js +0 -119
  780. package/dist/integrations/clipboard/image.js.map +0 -1
  781. package/dist/integrations/clipboard/text.js +0 -43
  782. package/dist/integrations/clipboard/text.js.map +0 -1
  783. package/dist/integrations/files/attachment-store.js +0 -86
  784. package/dist/integrations/files/attachment-store.js.map +0 -1
  785. package/dist/integrations/mcp/oauth-store.js +0 -549
  786. package/dist/integrations/mcp/oauth-store.js.map +0 -1
  787. package/dist/integrations/mcp/servers.js +0 -519
  788. package/dist/integrations/mcp/servers.js.map +0 -1
  789. package/dist/integrations/mcp/user-config.js +0 -92
  790. package/dist/integrations/mcp/user-config.js.map +0 -1
  791. package/dist/integrations/notifications/desktop/freedesktop.js +0 -33
  792. package/dist/integrations/notifications/desktop/freedesktop.js.map +0 -1
  793. package/dist/integrations/notifications/desktop/macos.js +0 -17
  794. package/dist/integrations/notifications/desktop/macos.js.map +0 -1
  795. package/dist/integrations/notifications/desktop/sanitize.js +0 -49
  796. package/dist/integrations/notifications/desktop/sanitize.js.map +0 -1
  797. package/dist/integrations/notifications/desktop/throttle.js +0 -39
  798. package/dist/integrations/notifications/desktop/throttle.js.map +0 -1
  799. package/dist/integrations/notifications/desktop/windows-toast.js +0 -56
  800. package/dist/integrations/notifications/desktop/windows-toast.js.map +0 -1
  801. package/dist/integrations/notifications/desktop.js +0 -199
  802. package/dist/integrations/notifications/desktop.js.map +0 -1
  803. package/dist/integrations/notifications/terminal.js +0 -46
  804. package/dist/integrations/notifications/terminal.js.map +0 -1
  805. package/dist/integrations/npm-invocation.js +0 -23
  806. package/dist/integrations/npm-invocation.js.map +0 -1
  807. package/dist/integrations/plugins/runtime.js +0 -189
  808. package/dist/integrations/plugins/runtime.js.map +0 -1
  809. package/dist/integrations/plugins/settings.js +0 -106
  810. package/dist/integrations/plugins/settings.js.map +0 -1
  811. package/dist/integrations/providers/access.js +0 -23
  812. package/dist/integrations/providers/access.js.map +0 -1
  813. package/dist/integrations/providers/chain-capabilities.js +0 -211
  814. package/dist/integrations/providers/chain-capabilities.js.map +0 -1
  815. package/dist/integrations/providers/codex-device-login.js +0 -195
  816. package/dist/integrations/providers/codex-device-login.js.map +0 -1
  817. package/dist/integrations/providers/codex-oauth.js +0 -95
  818. package/dist/integrations/providers/codex-oauth.js.map +0 -1
  819. package/dist/integrations/providers/credential-provider.js +0 -74
  820. package/dist/integrations/providers/credential-provider.js.map +0 -1
  821. package/dist/integrations/providers/credential-store.js +0 -657
  822. package/dist/integrations/providers/credential-store.js.map +0 -1
  823. package/dist/integrations/providers/current-credential.js +0 -45
  824. package/dist/integrations/providers/current-credential.js.map +0 -1
  825. package/dist/integrations/providers/discover.js +0 -313
  826. package/dist/integrations/providers/discover.js.map +0 -1
  827. package/dist/integrations/providers/gemini-credentials.js +0 -148
  828. package/dist/integrations/providers/gemini-credentials.js.map +0 -1
  829. package/dist/integrations/providers/harness-credentials.js +0 -344
  830. package/dist/integrations/providers/harness-credentials.js.map +0 -1
  831. package/dist/integrations/providers/identity.js +0 -64
  832. package/dist/integrations/providers/identity.js.map +0 -1
  833. package/dist/integrations/providers/index.js +0 -14
  834. package/dist/integrations/providers/index.js.map +0 -1
  835. package/dist/integrations/providers/keychain.js +0 -78
  836. package/dist/integrations/providers/keychain.js.map +0 -1
  837. package/dist/integrations/providers/model-reasoning.js +0 -51
  838. package/dist/integrations/providers/model-reasoning.js.map +0 -1
  839. package/dist/integrations/providers/oauth.js +0 -302
  840. package/dist/integrations/providers/oauth.js.map +0 -1
  841. package/dist/integrations/providers/preferences.js +0 -287
  842. package/dist/integrations/providers/preferences.js.map +0 -1
  843. package/dist/integrations/providers/register.js +0 -154
  844. package/dist/integrations/providers/register.js.map +0 -1
  845. package/dist/integrations/providers/registry.js +0 -289
  846. package/dist/integrations/providers/registry.js.map +0 -1
  847. package/dist/integrations/providers/setup.js +0 -158
  848. package/dist/integrations/providers/setup.js.map +0 -1
  849. package/dist/integrations/providers/subscription-login.js +0 -328
  850. package/dist/integrations/providers/subscription-login.js.map +0 -1
  851. package/dist/integrations/providers/zen-catalogue.js +0 -196
  852. package/dist/integrations/providers/zen-catalogue.js.map +0 -1
  853. package/dist/integrations/resident/foreground.js +0 -95
  854. package/dist/integrations/resident/foreground.js.map +0 -1
  855. package/dist/integrations/resident/inspection.js +0 -282
  856. package/dist/integrations/resident/inspection.js.map +0 -1
  857. package/dist/integrations/resident/learning-sources.js +0 -79
  858. package/dist/integrations/resident/learning-sources.js.map +0 -1
  859. package/dist/integrations/resident/learning-storage.js +0 -55
  860. package/dist/integrations/resident/learning-storage.js.map +0 -1
  861. package/dist/integrations/resident/lifecycle-errors.js +0 -15
  862. package/dist/integrations/resident/lifecycle-errors.js.map +0 -1
  863. package/dist/integrations/resident/owned-runner.js +0 -91
  864. package/dist/integrations/resident/owned-runner.js.map +0 -1
  865. package/dist/integrations/resident/runner-control.js +0 -238
  866. package/dist/integrations/resident/runner-control.js.map +0 -1
  867. package/dist/integrations/resident/runner-launch.js +0 -142
  868. package/dist/integrations/resident/runner-launch.js.map +0 -1
  869. package/dist/integrations/resident/runner-store.js +0 -284
  870. package/dist/integrations/resident/runner-store.js.map +0 -1
  871. package/dist/integrations/resident/session-log-reads.js +0 -125
  872. package/dist/integrations/resident/session-log-reads.js.map +0 -1
  873. package/dist/integrations/resident/session-step.js +0 -471
  874. package/dist/integrations/resident/session-step.js.map +0 -1
  875. package/dist/integrations/resident/storage.js +0 -183
  876. package/dist/integrations/resident/storage.js.map +0 -1
  877. package/dist/integrations/resident/tool-evidence.js +0 -123
  878. package/dist/integrations/resident/tool-evidence.js.map +0 -1
  879. package/dist/integrations/resident/verification.js +0 -109
  880. package/dist/integrations/resident/verification.js.map +0 -1
  881. package/dist/integrations/sessions/checkpoint-view.js +0 -48
  882. package/dist/integrations/sessions/checkpoint-view.js.map +0 -1
  883. package/dist/integrations/sessions/context-inventory.js +0 -44
  884. package/dist/integrations/sessions/context-inventory.js.map +0 -1
  885. package/dist/integrations/sessions/conversation-search.js +0 -572
  886. package/dist/integrations/sessions/conversation-search.js.map +0 -1
  887. package/dist/integrations/sessions/display-title.js +0 -5
  888. package/dist/integrations/sessions/display-title.js.map +0 -1
  889. package/dist/integrations/sessions/evidence-page-validation.js +0 -74
  890. package/dist/integrations/sessions/evidence-page-validation.js.map +0 -1
  891. package/dist/integrations/sessions/evidence-recall.js +0 -117
  892. package/dist/integrations/sessions/evidence-recall.js.map +0 -1
  893. package/dist/integrations/sessions/store.js +0 -780
  894. package/dist/integrations/sessions/store.js.map +0 -1
  895. package/dist/integrations/sessions/task-context.js +0 -96
  896. package/dist/integrations/sessions/task-context.js.map +0 -1
  897. package/dist/integrations/sessions/transcript-export.js +0 -342
  898. package/dist/integrations/sessions/transcript-export.js.map +0 -1
  899. package/dist/integrations/state/home.js +0 -17
  900. package/dist/integrations/state/home.js.map +0 -1
  901. package/dist/integrations/state/identity.js +0 -49
  902. package/dist/integrations/state/identity.js.map +0 -1
  903. package/dist/integrations/state/immutable-json.js +0 -38
  904. package/dist/integrations/state/immutable-json.js.map +0 -1
  905. package/dist/integrations/state/private-directory.js +0 -43
  906. package/dist/integrations/state/private-directory.js.map +0 -1
  907. package/dist/integrations/state/project.js +0 -13
  908. package/dist/integrations/state/project.js.map +0 -1
  909. package/dist/integrations/state/report.js +0 -626
  910. package/dist/integrations/state/report.js.map +0 -1
  911. package/dist/integrations/state/retention.js +0 -18
  912. package/dist/integrations/state/retention.js.map +0 -1
  913. package/dist/integrations/subagents/NamzuCliAgent.js +0 -9
  914. package/dist/integrations/subagents/NamzuCliAgent.js.map +0 -1
  915. package/dist/integrations/subagents/activity.js +0 -759
  916. package/dist/integrations/subagents/activity.js.map +0 -1
  917. package/dist/integrations/subagents/batches.js +0 -172
  918. package/dist/integrations/subagents/batches.js.map +0 -1
  919. package/dist/integrations/subagents/definitions.js +0 -26
  920. package/dist/integrations/subagents/definitions.js.map +0 -1
  921. package/dist/integrations/subagents/model-effort.js +0 -12
  922. package/dist/integrations/subagents/model-effort.js.map +0 -1
  923. package/dist/integrations/subagents/parent.js +0 -47
  924. package/dist/integrations/subagents/parent.js.map +0 -1
  925. package/dist/integrations/subagents/policy.js +0 -3
  926. package/dist/integrations/subagents/policy.js.map +0 -1
  927. package/dist/integrations/subagents/replay.js +0 -295
  928. package/dist/integrations/subagents/replay.js.map +0 -1
  929. package/dist/integrations/subagents/runtime.js +0 -1317
  930. package/dist/integrations/subagents/runtime.js.map +0 -1
  931. package/dist/integrations/subagents/saved-agents.js +0 -102
  932. package/dist/integrations/subagents/saved-agents.js.map +0 -1
  933. package/dist/integrations/subagents/slash.js +0 -45
  934. package/dist/integrations/subagents/slash.js.map +0 -1
  935. package/dist/integrations/subagents/worktree-driver.js +0 -72
  936. package/dist/integrations/subagents/worktree-driver.js.map +0 -1
  937. package/dist/integrations/telemetry/session-export.js +0 -119
  938. package/dist/integrations/telemetry/session-export.js.map +0 -1
  939. package/dist/integrations/trust/store.js +0 -73
  940. package/dist/integrations/trust/store.js.map +0 -1
  941. package/dist/integrations/updates.js +0 -115
  942. package/dist/integrations/updates.js.map +0 -1
  943. package/dist/integrations/web/exa-search.js +0 -154
  944. package/dist/integrations/web/exa-search.js.map +0 -1
  945. package/dist/integrations/web/open-url.js +0 -73
  946. package/dist/integrations/web/open-url.js.map +0 -1
  947. package/dist/integrations/web/search.js +0 -68
  948. package/dist/integrations/web/search.js.map +0 -1
  949. package/dist/integrations/worktrees/managed.js +0 -231
  950. package/dist/integrations/worktrees/managed.js.map +0 -1
  951. package/dist/logging.js +0 -115
  952. package/dist/logging.js.map +0 -1
  953. package/dist/memory/io.js +0 -177
  954. package/dist/memory/io.js.map +0 -1
  955. package/dist/memory/presentation.js +0 -76
  956. package/dist/memory/presentation.js.map +0 -1
  957. package/dist/memory/store.js +0 -180
  958. package/dist/memory/store.js.map +0 -1
  959. package/dist/memory/typed.js +0 -336
  960. package/dist/memory/typed.js.map +0 -1
  961. package/dist/output/formatter.js +0 -16
  962. package/dist/output/formatter.js.map +0 -1
  963. package/dist/output/index.js +0 -22
  964. package/dist/output/index.js.map +0 -1
  965. package/dist/output/json.js +0 -51
  966. package/dist/output/json.js.map +0 -1
  967. package/dist/output/text.js +0 -50
  968. package/dist/output/text.js.map +0 -1
  969. package/dist/output/yaml.js +0 -26
  970. package/dist/output/yaml.js.map +0 -1
  971. package/dist/output-schema.js +0 -18
  972. package/dist/output-schema.js.map +0 -1
  973. package/dist/permissions/browser-sites.js +0 -270
  974. package/dist/permissions/browser-sites.js.map +0 -1
  975. package/dist/permissions/canonical-project.js +0 -13
  976. package/dist/permissions/canonical-project.js.map +0 -1
  977. package/dist/permissions/checks.js +0 -128
  978. package/dist/permissions/checks.js.map +0 -1
  979. package/dist/permissions/headless-trust.js +0 -86
  980. package/dist/permissions/headless-trust.js.map +0 -1
  981. package/dist/permissions/live-mode.js +0 -62
  982. package/dist/permissions/live-mode.js.map +0 -1
  983. package/dist/permissions/mode.js +0 -65
  984. package/dist/permissions/mode.js.map +0 -1
  985. package/dist/permissions/rules.js +0 -358
  986. package/dist/permissions/rules.js.map +0 -1
  987. package/dist/release-notes.js +0 -64
  988. package/dist/release-notes.js.map +0 -1
  989. package/dist/resume-invocation.js +0 -24
  990. package/dist/resume-invocation.js.map +0 -1
  991. package/dist/schedule/build.js +0 -374
  992. package/dist/schedule/build.js.map +0 -1
  993. package/dist/schedule/changes.js +0 -78
  994. package/dist/schedule/changes.js.map +0 -1
  995. package/dist/schedule/commands/add.js +0 -603
  996. package/dist/schedule/commands/add.js.map +0 -1
  997. package/dist/schedule/commands/args.js +0 -80
  998. package/dist/schedule/commands/args.js.map +0 -1
  999. package/dist/schedule/commands/confirm-prompt.js +0 -21
  1000. package/dist/schedule/commands/confirm-prompt.js.map +0 -1
  1001. package/dist/schedule/commands/lifecycle.js +0 -586
  1002. package/dist/schedule/commands/lifecycle.js.map +0 -1
  1003. package/dist/schedule/commands/list.js +0 -260
  1004. package/dist/schedule/commands/list.js.map +0 -1
  1005. package/dist/schedule/commands/logs.js +0 -106
  1006. package/dist/schedule/commands/logs.js.map +0 -1
  1007. package/dist/schedule/commands/service.js +0 -458
  1008. package/dist/schedule/commands/service.js.map +0 -1
  1009. package/dist/schedule/daemon/daemon.js +0 -1265
  1010. package/dist/schedule/daemon/daemon.js.map +0 -1
  1011. package/dist/schedule/daemon/endpoint.js +0 -158
  1012. package/dist/schedule/daemon/endpoint.js.map +0 -1
  1013. package/dist/schedule/daemon/exit.js +0 -8
  1014. package/dist/schedule/daemon/exit.js.map +0 -1
  1015. package/dist/schedule/daemon/log.js +0 -53
  1016. package/dist/schedule/daemon/log.js.map +0 -1
  1017. package/dist/schedule/daemon/notify.js +0 -158
  1018. package/dist/schedule/daemon/notify.js.map +0 -1
  1019. package/dist/schedule/daemon/retention.js +0 -46
  1020. package/dist/schedule/daemon/retention.js.map +0 -1
  1021. package/dist/schedule/daemon/sessions.js +0 -52
  1022. package/dist/schedule/daemon/sessions.js.map +0 -1
  1023. package/dist/schedule/env.js +0 -106
  1024. package/dist/schedule/env.js.map +0 -1
  1025. package/dist/schedule/fire/browser-preflight.js +0 -73
  1026. package/dist/schedule/fire/browser-preflight.js.map +0 -1
  1027. package/dist/schedule/fire/calls.js +0 -114
  1028. package/dist/schedule/fire/calls.js.map +0 -1
  1029. package/dist/schedule/fire/fire.js +0 -681
  1030. package/dist/schedule/fire/fire.js.map +0 -1
  1031. package/dist/schedule/fire/result.js +0 -19
  1032. package/dist/schedule/fire/result.js.map +0 -1
  1033. package/dist/schedule/fire/run-script.js +0 -81
  1034. package/dist/schedule/fire/run-script.js.map +0 -1
  1035. package/dist/schedule/fire/unattended-note.js +0 -51
  1036. package/dist/schedule/fire/unattended-note.js.map +0 -1
  1037. package/dist/schedule/fire/wake-gate.js +0 -90
  1038. package/dist/schedule/fire/wake-gate.js.map +0 -1
  1039. package/dist/schedule/floor.js +0 -1561
  1040. package/dist/schedule/floor.js.map +0 -1
  1041. package/dist/schedule/folder.js +0 -84
  1042. package/dist/schedule/folder.js.map +0 -1
  1043. package/dist/schedule/paths.js +0 -53
  1044. package/dist/schedule/paths.js.map +0 -1
  1045. package/dist/schedule/policy.js +0 -414
  1046. package/dist/schedule/policy.js.map +0 -1
  1047. package/dist/schedule/resume-command.js +0 -72
  1048. package/dist/schedule/resume-command.js.map +0 -1
  1049. package/dist/schedule/script-check.js +0 -146
  1050. package/dist/schedule/script-check.js.map +0 -1
  1051. package/dist/schedule/script-shell.js +0 -5
  1052. package/dist/schedule/script-shell.js.map +0 -1
  1053. package/dist/schedule/service/detect.js +0 -29
  1054. package/dist/schedule/service/detect.js.map +0 -1
  1055. package/dist/schedule/service/index.js +0 -361
  1056. package/dist/schedule/service/index.js.map +0 -1
  1057. package/dist/schedule/service/launchd.js +0 -84
  1058. package/dist/schedule/service/launchd.js.map +0 -1
  1059. package/dist/schedule/service/manifest.js +0 -16
  1060. package/dist/schedule/service/manifest.js.map +0 -1
  1061. package/dist/schedule/service/names.js +0 -22
  1062. package/dist/schedule/service/names.js.map +0 -1
  1063. package/dist/schedule/service/quote.js +0 -64
  1064. package/dist/schedule/service/quote.js.map +0 -1
  1065. package/dist/schedule/service/runner.js +0 -31
  1066. package/dist/schedule/service/runner.js.map +0 -1
  1067. package/dist/schedule/service/systemd.js +0 -96
  1068. package/dist/schedule/service/systemd.js.map +0 -1
  1069. package/dist/schedule/service/windows-task.js +0 -199
  1070. package/dist/schedule/service/windows-task.js.map +0 -1
  1071. package/dist/schedule/service/wsl.js +0 -121
  1072. package/dist/schedule/service/wsl.js.map +0 -1
  1073. package/dist/schedule/store/atomic.js +0 -138
  1074. package/dist/schedule/store/atomic.js.map +0 -1
  1075. package/dist/schedule/store/claims.js +0 -57
  1076. package/dist/schedule/store/claims.js.map +0 -1
  1077. package/dist/schedule/store/digest.js +0 -139
  1078. package/dist/schedule/store/digest.js.map +0 -1
  1079. package/dist/schedule/store/history.js +0 -117
  1080. package/dist/schedule/store/history.js.map +0 -1
  1081. package/dist/schedule/store/jobs.js +0 -277
  1082. package/dist/schedule/store/jobs.js.map +0 -1
  1083. package/dist/schedule/store/state.js +0 -38
  1084. package/dist/schedule/store/state.js.map +0 -1
  1085. package/dist/schedule/types.js +0 -33
  1086. package/dist/schedule/types.js.map +0 -1
  1087. package/dist/schedule/visible-source.js +0 -59
  1088. package/dist/schedule/visible-source.js.map +0 -1
  1089. package/dist/skills/audit.js +0 -75
  1090. package/dist/skills/audit.js.map +0 -1
  1091. package/dist/skills/catalog.js +0 -226
  1092. package/dist/skills/catalog.js.map +0 -1
  1093. package/dist/skills/directory.js +0 -51
  1094. package/dist/skills/directory.js.map +0 -1
  1095. package/dist/skills/save.js +0 -344
  1096. package/dist/skills/save.js.map +0 -1
  1097. package/dist/skills/store.js +0 -351
  1098. package/dist/skills/store.js.map +0 -1
  1099. package/dist/termination.js +0 -143
  1100. package/dist/termination.js.map +0 -1
  1101. package/dist/test-support/toolset.js +0 -27
  1102. package/dist/test-support/toolset.js.map +0 -1
  1103. package/dist/tui/AgentExplorer.js +0 -789
  1104. package/dist/tui/AgentExplorer.js.map +0 -1
  1105. package/dist/tui/App.js +0 -8209
  1106. package/dist/tui/App.js.map +0 -1
  1107. package/dist/tui/BrandHeader.js +0 -14
  1108. package/dist/tui/BrandHeader.js.map +0 -1
  1109. package/dist/tui/Checklist.js +0 -90
  1110. package/dist/tui/Checklist.js.map +0 -1
  1111. package/dist/tui/ChoicePicker.js +0 -64
  1112. package/dist/tui/ChoicePicker.js.map +0 -1
  1113. package/dist/tui/Composer.js +0 -908
  1114. package/dist/tui/Composer.js.map +0 -1
  1115. package/dist/tui/ComposerFrame.js +0 -79
  1116. package/dist/tui/ComposerFrame.js.map +0 -1
  1117. package/dist/tui/CopyPicker.js +0 -19
  1118. package/dist/tui/CopyPicker.js.map +0 -1
  1119. package/dist/tui/EditPromptPicker.js +0 -17
  1120. package/dist/tui/EditPromptPicker.js.map +0 -1
  1121. package/dist/tui/EffortSlider.js +0 -134
  1122. package/dist/tui/EffortSlider.js.map +0 -1
  1123. package/dist/tui/LiveActivity.js +0 -89
  1124. package/dist/tui/LiveActivity.js.map +0 -1
  1125. package/dist/tui/Markdown.js +0 -137
  1126. package/dist/tui/Markdown.js.map +0 -1
  1127. package/dist/tui/PermissionOverlay.js +0 -278
  1128. package/dist/tui/PermissionOverlay.js.map +0 -1
  1129. package/dist/tui/Picker.js +0 -1310
  1130. package/dist/tui/Picker.js.map +0 -1
  1131. package/dist/tui/ProviderSetup.js +0 -125
  1132. package/dist/tui/ProviderSetup.js.map +0 -1
  1133. package/dist/tui/ResumePicker.js +0 -34
  1134. package/dist/tui/ResumePicker.js.map +0 -1
  1135. package/dist/tui/SaveSkillOverlay.js +0 -118
  1136. package/dist/tui/SaveSkillOverlay.js.map +0 -1
  1137. package/dist/tui/ScheduleReviewOverlay.js +0 -166
  1138. package/dist/tui/ScheduleReviewOverlay.js.map +0 -1
  1139. package/dist/tui/StatusBar.js +0 -182
  1140. package/dist/tui/StatusBar.js.map +0 -1
  1141. package/dist/tui/StatusPanel.js +0 -11
  1142. package/dist/tui/StatusPanel.js.map +0 -1
  1143. package/dist/tui/TaskList.js +0 -43
  1144. package/dist/tui/TaskList.js.map +0 -1
  1145. package/dist/tui/TextPrompt.js +0 -185
  1146. package/dist/tui/TextPrompt.js.map +0 -1
  1147. package/dist/tui/ToolOutputViewer.js +0 -39
  1148. package/dist/tui/ToolOutputViewer.js.map +0 -1
  1149. package/dist/tui/Transcript.js +0 -235
  1150. package/dist/tui/Transcript.js.map +0 -1
  1151. package/dist/tui/TrustPrompt.js +0 -13
  1152. package/dist/tui/TrustPrompt.js.map +0 -1
  1153. package/dist/tui/ViewportBound.js +0 -55
  1154. package/dist/tui/ViewportBound.js.map +0 -1
  1155. package/dist/tui/agent-transcript-rows.js +0 -115
  1156. package/dist/tui/agent-transcript-rows.js.map +0 -1
  1157. package/dist/tui/agent.js +0 -4235
  1158. package/dist/tui/agent.js.map +0 -1
  1159. package/dist/tui/browser-notices.js +0 -107
  1160. package/dist/tui/browser-notices.js.map +0 -1
  1161. package/dist/tui/choice-selection.js +0 -38
  1162. package/dist/tui/choice-selection.js.map +0 -1
  1163. package/dist/tui/compact-transcript.js +0 -46
  1164. package/dist/tui/compact-transcript.js.map +0 -1
  1165. package/dist/tui/consent-timing.js +0 -48
  1166. package/dist/tui/consent-timing.js.map +0 -1
  1167. package/dist/tui/conversation-evidence-view.js +0 -96
  1168. package/dist/tui/conversation-evidence-view.js.map +0 -1
  1169. package/dist/tui/conversation-history.js +0 -33
  1170. package/dist/tui/conversation-history.js.map +0 -1
  1171. package/dist/tui/copy-targets.js +0 -189
  1172. package/dist/tui/copy-targets.js.map +0 -1
  1173. package/dist/tui/credential-entry.js +0 -134
  1174. package/dist/tui/credential-entry.js.map +0 -1
  1175. package/dist/tui/edit-prompts.js +0 -35
  1176. package/dist/tui/edit-prompts.js.map +0 -1
  1177. package/dist/tui/exit-summary.js +0 -30
  1178. package/dist/tui/exit-summary.js.map +0 -1
  1179. package/dist/tui/external-editor.js +0 -169
  1180. package/dist/tui/external-editor.js.map +0 -1
  1181. package/dist/tui/hypermode.js +0 -58
  1182. package/dist/tui/hypermode.js.map +0 -1
  1183. package/dist/tui/index.js +0 -81
  1184. package/dist/tui/index.js.map +0 -1
  1185. package/dist/tui/live-window.js +0 -281
  1186. package/dist/tui/live-window.js.map +0 -1
  1187. package/dist/tui/log-pane.js +0 -100
  1188. package/dist/tui/log-pane.js.map +0 -1
  1189. package/dist/tui/login-prompt.js +0 -105
  1190. package/dist/tui/login-prompt.js.map +0 -1
  1191. package/dist/tui/logo.js +0 -9
  1192. package/dist/tui/logo.js.map +0 -1
  1193. package/dist/tui/markdown-block-cache.js +0 -76
  1194. package/dist/tui/markdown-block-cache.js.map +0 -1
  1195. package/dist/tui/markdown-table.js +0 -175
  1196. package/dist/tui/markdown-table.js.map +0 -1
  1197. package/dist/tui/markdown-wrap.js +0 -189
  1198. package/dist/tui/markdown-wrap.js.map +0 -1
  1199. package/dist/tui/markdownParser.js +0 -237
  1200. package/dist/tui/markdownParser.js.map +0 -1
  1201. package/dist/tui/mentions.js +0 -150
  1202. package/dist/tui/mentions.js.map +0 -1
  1203. package/dist/tui/model-catalogue-view.js +0 -75
  1204. package/dist/tui/model-catalogue-view.js.map +0 -1
  1205. package/dist/tui/model-choices.js +0 -157
  1206. package/dist/tui/model-choices.js.map +0 -1
  1207. package/dist/tui/model-search.js +0 -28
  1208. package/dist/tui/model-search.js.map +0 -1
  1209. package/dist/tui/model-selection-intent.js +0 -96
  1210. package/dist/tui/model-selection-intent.js.map +0 -1
  1211. package/dist/tui/model-switch-tool.js +0 -74
  1212. package/dist/tui/model-switch-tool.js.map +0 -1
  1213. package/dist/tui/model-switch.js +0 -106
  1214. package/dist/tui/model-switch.js.map +0 -1
  1215. package/dist/tui/notices.js +0 -27
  1216. package/dist/tui/notices.js.map +0 -1
  1217. package/dist/tui/open-browser.js +0 -147
  1218. package/dist/tui/open-browser.js.map +0 -1
  1219. package/dist/tui/permission-review.js +0 -858
  1220. package/dist/tui/permission-review.js.map +0 -1
  1221. package/dist/tui/plugin-view.js +0 -59
  1222. package/dist/tui/plugin-view.js.map +0 -1
  1223. package/dist/tui/provider-list.js +0 -327
  1224. package/dist/tui/provider-list.js.map +0 -1
  1225. package/dist/tui/provider-selection.js +0 -16
  1226. package/dist/tui/provider-selection.js.map +0 -1
  1227. package/dist/tui/schedule/host-commands.js +0 -428
  1228. package/dist/tui/schedule/host-commands.js.map +0 -1
  1229. package/dist/tui/schedule/integration.js +0 -150
  1230. package/dist/tui/schedule/integration.js.map +0 -1
  1231. package/dist/tui/schedule/loop-host.js +0 -153
  1232. package/dist/tui/schedule/loop-host.js.map +0 -1
  1233. package/dist/tui/schedule/resume.js +0 -333
  1234. package/dist/tui/schedule/resume.js.map +0 -1
  1235. package/dist/tui/schedule/startup.js +0 -121
  1236. package/dist/tui/schedule/startup.js.map +0 -1
  1237. package/dist/tui/schedule/tool-host.js +0 -619
  1238. package/dist/tui/schedule/tool-host.js.map +0 -1
  1239. package/dist/tui/selection-window.js +0 -37
  1240. package/dist/tui/selection-window.js.map +0 -1
  1241. package/dist/tui/shell-escape.js +0 -110
  1242. package/dist/tui/shell-escape.js.map +0 -1
  1243. package/dist/tui/skills/learning.js +0 -131
  1244. package/dist/tui/skills/learning.js.map +0 -1
  1245. package/dist/tui/skills/suggest-setting.js +0 -55
  1246. package/dist/tui/skills/suggest-setting.js.map +0 -1
  1247. package/dist/tui/skills/suggestion-ledger.js +0 -52
  1248. package/dist/tui/skills/suggestion-ledger.js.map +0 -1
  1249. package/dist/tui/slashCommands.js +0 -1587
  1250. package/dist/tui/slashCommands.js.map +0 -1
  1251. package/dist/tui/status-card.js +0 -30
  1252. package/dist/tui/status-card.js.map +0 -1
  1253. package/dist/tui/status-panel-layout.js +0 -42
  1254. package/dist/tui/status-panel-layout.js.map +0 -1
  1255. package/dist/tui/stream-blocks.js +0 -187
  1256. package/dist/tui/stream-blocks.js.map +0 -1
  1257. package/dist/tui/task-activity.js +0 -157
  1258. package/dist/tui/task-activity.js.map +0 -1
  1259. package/dist/tui/terminal-choice-text.js +0 -118
  1260. package/dist/tui/terminal-choice-text.js.map +0 -1
  1261. package/dist/tui/terminal-display.js +0 -65
  1262. package/dist/tui/terminal-display.js.map +0 -1
  1263. package/dist/tui/terminal-hyperlinks.js +0 -70
  1264. package/dist/tui/terminal-hyperlinks.js.map +0 -1
  1265. package/dist/tui/theme.js +0 -34
  1266. package/dist/tui/theme.js.map +0 -1
  1267. package/dist/tui/triggers/analyze.js +0 -221
  1268. package/dist/tui/triggers/analyze.js.map +0 -1
  1269. package/dist/tui/triggers/context-text.js +0 -44
  1270. package/dist/tui/triggers/context-text.js.map +0 -1
  1271. package/dist/tui/triggers/copy.js +0 -163
  1272. package/dist/tui/triggers/copy.js.map +0 -1
  1273. package/dist/tui/triggers/detect.js +0 -295
  1274. package/dist/tui/triggers/detect.js.map +0 -1
  1275. package/dist/tui/triggers/fold.js +0 -44
  1276. package/dist/tui/triggers/fold.js.map +0 -1
  1277. package/dist/tui/triggers/pattern.js +0 -243
  1278. package/dist/tui/triggers/pattern.js.map +0 -1
  1279. package/dist/tui/triggers/provenance.js +0 -98
  1280. package/dist/tui/triggers/provenance.js.map +0 -1
  1281. package/dist/tui/triggers/registry.js +0 -164
  1282. package/dist/tui/triggers/registry.js.map +0 -1
  1283. package/dist/tui/triggers/setting.js +0 -61
  1284. package/dist/tui/triggers/setting.js.map +0 -1
  1285. package/dist/tui/triggers/verbs.js +0 -140
  1286. package/dist/tui/triggers/verbs.js.map +0 -1
  1287. package/dist/tui/turn-interruption.js +0 -160
  1288. package/dist/tui/turn-interruption.js.map +0 -1
  1289. package/dist/tui/turn-limits-settings.js +0 -88
  1290. package/dist/tui/turn-limits-settings.js.map +0 -1
  1291. package/dist/tui/types.js +0 -7
  1292. package/dist/tui/types.js.map +0 -1
  1293. package/dist/tui/units.js +0 -20
  1294. package/dist/tui/units.js.map +0 -1
  1295. package/dist/tui/use-selection-index.js +0 -13
  1296. package/dist/tui/use-selection-index.js.map +0 -1
  1297. package/dist/tui/web-activity.js +0 -105
  1298. package/dist/tui/web-activity.js.map +0 -1
  1299. package/dist/tui/workspace-diff.js +0 -101
  1300. package/dist/tui/workspace-diff.js.map +0 -1
  1301. package/dist/tui/workspace-review.js +0 -67
  1302. package/dist/tui/workspace-review.js.map +0 -1
  1303. package/dist/user-commands/store.js +0 -235
  1304. package/dist/user-commands/store.js.map +0 -1
  1305. package/dist/version.js +0 -23
  1306. package/dist/version.js.map +0 -1
@@ -1,789 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
- import { Box, Text } from 'ink';
3
- import { useEffect, useState } from 'react';
4
- import stringWidth from 'string-width';
5
- import { DEFAULT_AGENT_PHASE, DEFAULT_AGENT_WORKFLOW, } from '../integrations/subagents/activity.js';
6
- import { formatElapsed } from './LiveActivity.js';
7
- import { formatCompactCount } from './units.js';
8
- import { selectionWindow } from './selection-window.js';
9
- import { terminalDisplayText } from './terminal-display.js';
10
- import { truncateChoiceText } from './terminal-choice-text.js';
11
- import { theme } from './theme.js';
12
- const MAX_PICKER_ROWS = 9;
13
- const COCKPIT_FRAME_COLUMNS = 4;
14
- const WIDE_COCKPIT_INNER_COLUMNS = 84;
15
- /**
16
- * A resolved model id is host-reported, unbounded text — a self-hosted or
17
- * gateway-style id routinely runs 60-90+ cells. The meta box that carries it
18
- * sits `flexShrink={0}` beside the description/activity boxes that ARE
19
- * allowed to shrink, so an uncapped model string does not get truncated
20
- * itself: it forces its shrinkable neighbours down first, to zero if the
21
- * deficit is large enough. Capping the label here, before it ever reaches
22
- * `agentMetaParts`, bounds the meta box's width unconditionally so it can
23
- * never outcompete the row's own description for space.
24
- */
25
- const MAX_MODEL_LABEL_WIDTH = 24;
26
- /**
27
- * A focused phase's detail is wrapped to the pane width and clipped to this
28
- * many rows, so an operator-authored sentence never grows the cockpit taller
29
- * than a one-word one. The Box that holds it is always exactly this height
30
- * when a detail exists, whether wrapping produced one row or the full budget.
31
- */
32
- const PHASE_DETAIL_LINE_BUDGET = 3;
33
- /**
34
- * Shown at the head of a transcript rebuilt from saved evidence.
35
- *
36
- * Both halves are load-bearing. The first says where the rows came from, so
37
- * an empty stretch reads as "the log did not record that" rather than as a
38
- * child sitting idle. The second is the guarantee the docs already make about
39
- * resume — delegated tasks are not restarted and their processes are not
40
- * reconnected — restated on the one screen that otherwise looks exactly like
41
- * a live child's. Nothing on this screen may imply otherwise: there is no
42
- * message box and no cancel affordance here for a live child either, and a
43
- * replayed one must never acquire one.
44
- */
45
- export const REPLAYED_TRANSCRIPT_NOTICE = 'Replayed from saved evidence. This child cannot be continued.';
46
- /**
47
- * Rows outside the cockpit's own box: the one-line brand header, printed once
48
- * above it, and the one-line composer footer, which now renders directly
49
- * above the cockpit rather than below it (see StatusBar.tsx). The total is
50
- * unchanged by that reordering — both rows still sit outside this box exactly
51
- * once — so a box shorter than `terminalRows` minus this still leaves an
52
- * unclaimed row that does not belong to anything, and an unclaimed row does
53
- * not stay blank: it shows whatever transcript history was next in line to
54
- * scroll off.
55
- */
56
- const COCKPIT_CHROME_ROWS = 2;
57
- const graphemes = new Intl.Segmenter(undefined, { granularity: 'grapheme' });
58
- /**
59
- * The parent's own commentary, directly above the rail and outside its tree.
60
- *
61
- * Outside is the point. Inside the tree these rows would read as chrome the
62
- * panel emitted about its agents; above it, unboxed and aligned with the
63
- * rail's inner text, they read as the turn talking — which is what they are
64
- * (see {@link SubagentNarrationLine} for why only the parent may write one).
65
- *
66
- * The band claims a row per line and nothing more: no border, no heading, no
67
- * blank separator, and nothing at all when there is no commentary, so a turn
68
- * that never narrates renders exactly as it did before this existed. The
69
- * monitor bounds the list, so the rows this can spend are bounded with it, and
70
- * the rail below keeps its own height budget either way — that budget is
71
- * computed from the terminal's rows and never from what is above it, so no
72
- * agent row is ever traded for a line of commentary.
73
- *
74
- * On a screen with no spare row, these rows are paid for the way every other
75
- * row this TUI adds is paid for: the frame grows, the terminal scrolls, and
76
- * what leaves is the oldest conversation at the TOP — the rail stays where it
77
- * is, whole. Measured in a real terminal at 24 rows with and without
78
- * narration; note that a replay reading row 0 of the emulator's BUFFER rather
79
- * than the viewport at `baseY` reports the opposite once the screen has
80
- * scrolled, because those are no longer the same rows
81
- * (`research/conversation-evidence/narration-band-cli.mjs`).
82
- */
83
- export function AgentNarrationBand({ lines }) {
84
- if (lines.length === 0)
85
- return null;
86
- return (
87
- // paddingX 2 lands the text where the rail's title starts — past its
88
- // two-cell header glyph — so the two columns line up.
89
- _jsx(Box, { flexDirection: "column", paddingX: 2, children: lines.map((line) => (_jsx(Box, { children: _jsx(Text, { color: theme.text.muted, wrap: "truncate-end", children: terminalDisplayText(oneLine(line.text)) }) }, line.id))) }));
90
- }
91
- /**
92
- * Compact, automatic view of every cohort that still owns live work.
93
- *
94
- * This is intentionally not a modal: the composer remains mounted directly
95
- * above it and the operator can keep typing while children run. Completed
96
- * siblings remain until their last live sibling settles, then the whole
97
- * cohort leaves this projection together.
98
- *
99
- * Drawn as a borderless tree aligned with the transcript's own gutter — a
100
- * header line, then one `├`/`└` branch per agent with its latest activity on
101
- * a `⎿` line beneath it — rather than as a boxed panel: the rows are the
102
- * turn's live work, not chrome around it.
103
- */
104
- export function AgentTaskPanel({ agents, terminalRows, terminalColumns, compact = false, }) {
105
- const now = useLiveNow(true);
106
- const activityLines = agentTaskPanelShowsActivity(terminalRows);
107
- const pageSize = agentTaskPanelPageSize(terminalRows);
108
- const active = agents.filter((agent) => !isTerminalStatus(agent.status)).length;
109
- const workflows = [...new Set(agents.map((agent) => agent.workflow))];
110
- const workflowLabel = workflows.length === 1 ? workflows[0] : undefined;
111
- // A shared, explicitly supplied workflow label earns the title slot; an
112
- // absent one (every agent still carries the unlabelled default) or a mix
113
- // of several distinct labels falls back to a neutral count instead of the
114
- // generic default name, which named nothing about THESE agents.
115
- const labelled = workflowLabel !== undefined && workflowLabel !== DEFAULT_AGENT_WORKFLOW;
116
- const title = labelled
117
- ? workflowLabel
118
- : `${agents.length} agent${agents.length === 1 ? '' : 's'}`;
119
- const narrow = terminalColumns < 64;
120
- const showModel = !narrow && terminalColumns >= 76;
121
- const showCounters = !narrow && terminalColumns >= 96;
122
- // A workflow the model split into several phases is drawn the way its
123
- // phases went: a settled phase is one line (`✓ Phase 1 · 2/2 · 3.9s`), a
124
- // live one is its line with its agents beneath it. One phase is drawn as
125
- // before, the agents straight under the header.
126
- const phases = agentPhases(agents);
127
- const phased = phases.length > 1;
128
- const groups = (phased ? phases : [{ id: 'all', agents }]).map((phase) => ({
129
- phase: phased ? phase : undefined,
130
- agents: [...phase.agents],
131
- }));
132
- // The page budget is spent on agents of live phases only; a settled
133
- // phase costs its one line, and on a short screen not even that.
134
- let budget = compact ? 0 : pageSize;
135
- const drawn = groups.map((group) => {
136
- const settled = group.phase !== undefined && isTerminalStatus(group.phase.status);
137
- if (settled)
138
- return { ...group, settled, visible: [] };
139
- const visible = group.agents.slice(0, Math.max(0, budget));
140
- budget -= visible.length;
141
- return { ...group, settled, visible };
142
- });
143
- const hidden = compact
144
- ? 0
145
- : drawn.reduce((sum, group) => sum + (group.settled ? 0 : group.agents.length - group.visible.length), 0);
146
- const showSettledPhases = !compact && activityLines;
147
- const running = agents.filter((agent) => agent.status === 'working' || agent.status === 'starting').length;
148
- const queued = agents.filter((agent) => agent.status === 'queued').length;
149
- const done = agents.length - active;
150
- const startedAt = Math.min(...agents.map((agent) => agent.startedAt));
151
- const spent = agents.reduce((sum, agent) => (agent.tokens === undefined ? sum : (sum ?? 0) + agent.tokens), undefined);
152
- // Narrow or wide, the count is the reference's `done/total`, the same
153
- // figure the cockpit header and each phase line carry, so one moment
154
- // never reads as two different numbers.
155
- const counts = narrow
156
- ? `${done}/${agents.length} done${hidden > 0 ? ` +${hidden}` : ''}`
157
- : [
158
- `${running} running`,
159
- ...(queued > 0 ? [`${queued} queued`] : []),
160
- // The reference's own counter: how much of this workflow is done.
161
- ...(done > 0 ? [`${done}/${agents.length} done`] : []),
162
- ...(showCounters
163
- ? [
164
- formatElapsed(Math.max(0, now - startedAt)),
165
- ...(spent !== undefined ? [`${formatCompactCount(spent)} tokens`] : []),
166
- ]
167
- : []),
168
- // A review owns the keyboard, so neither key reaches the rail while
169
- // the panel is reduced for one: it names no key it cannot keep.
170
- ...(compact ? [] : ['↓ / ctrl+t']),
171
- ].join(' · ');
172
- return (_jsxs(Box, { flexDirection: "column", children: [_jsxs(Box, { children: [_jsx(Box, { width: 2, flexShrink: 0, children: _jsx(Text, { color: active > 0 ? theme.accent.assistant : theme.status.ok, children: active > 0 ? '●' : '✓' }) }), _jsx(Box, { flexShrink: 1, minWidth: 0, children: _jsx(Text, { color: theme.text.primary, bold: true, wrap: "truncate-end", children: terminalDisplayText(title) }) }), _jsx(Box, { flexShrink: 0, children: _jsxs(Text, { color: theme.text.muted, children: [" \u00B7 ", counts] }) })] }), drawn.map((group) => {
173
- const phase = group.phase;
174
- if (phase && group.settled && !showSettledPhases)
175
- return null;
176
- const indent = phase ? 4 : 2;
177
- return (_jsxs(Box, { flexDirection: "column", children: [phase ? (_jsxs(Box, { paddingLeft: 2, children: [_jsx(Box, { width: 2, flexShrink: 0, children: _jsx(Text, { color: statusColor(phase.status), children: statusGlyph(phase.status) }) }), _jsx(Box, { flexShrink: 1, minWidth: 0, children: _jsx(Text, { color: group.settled ? theme.text.secondary : theme.text.primary, wrap: "truncate-end", children: oneLine(phase.name) }) }), _jsx(Box, { flexShrink: 0, children: _jsxs(Text, { color: theme.text.muted, children: [' · ', phaseProgress(phase), group.settled ? ` · ${formatElapsed(phaseElapsed(phase, now))}` : ''] }) })] })) : null, group.visible.map((agent, index) => {
178
- const last = index === group.visible.length - 1 &&
179
- group.agents.length === group.visible.length &&
180
- (phase !== undefined || hidden === 0);
181
- // Clamped: a child begun after this panel's last clock tick would
182
- // otherwise read `-0.0s` until the next one.
183
- const elapsed = formatElapsed(Math.max(0, (agent.completedAt ?? now) - agent.startedAt));
184
- const meta = agentRailMetaParts(agent, { showModel, showCounters });
185
- const agentRunning = !isTerminalStatus(agent.status);
186
- const activity = agentRunning ? railActivity(agent) : undefined;
187
- return (_jsxs(Box, { flexDirection: "column", children: [_jsxs(Box, { paddingLeft: indent, children: [_jsx(Box, { width: 2, flexShrink: 0, children: _jsx(Text, { color: theme.text.muted, children: last ? '└' : '├' }) }), _jsx(Box, { width: 2, flexShrink: 0, children: _jsx(Text, { color: statusColor(agent.status), children: statusGlyph(agent.status) }) }), _jsx(Box, { width: narrow ? undefined : 28 - (indent - 2), flexGrow: narrow ? 1 : 0, flexShrink: 1, children: _jsx(Text, { color: theme.text.primary, wrap: "truncate-end", children: oneLine(agent.description || agent.agentId) }) }), _jsx(Box, { flexGrow: narrow ? 0 : 1, flexShrink: 1, marginLeft: 1, children: _jsxs(Text, { color: theme.text.secondary, wrap: "truncate-end", children: [agent.status === 'queued' ? 'queued' : elapsed, !narrow && !activityLines && activity ? ` · ${activity}` : ''] }) }), meta.length > 0 ? (_jsx(Box, { flexShrink: 0, marginLeft: 1, children: _jsx(Text, { color: theme.text.muted, wrap: "truncate-end", children: meta.join(' · ') }) })) : null] }), activityLines && activity ? (_jsxs(Box, { paddingLeft: indent, children: [_jsx(Box, { width: 4, flexShrink: 0, children: _jsx(Text, { color: theme.text.muted, children: last ? ' ' : '│' }) }), _jsx(Box, { flexShrink: 1, minWidth: 0, children: _jsxs(Text, { color: theme.text.secondary, wrap: "truncate-end", children: ["\u23BF ", activity] }) })] })) : null] }, agent.viewId));
188
- })] }, phase?.id ?? 'all'));
189
- }), hidden > 0 ? (_jsx(Box, { paddingLeft: 2, children: _jsxs(Text, { color: theme.text.muted, children: ["\u2514 +", hidden, " more \u00B7 ctrl+t"] }) })) : null] }));
190
- }
191
- /**
192
- * Whether each running agent gets its own `⎿ activity` line. On a short
193
- * terminal the activity stays inline after the elapsed time instead, so the
194
- * rail keeps one row per agent where rows are scarcest.
195
- */
196
- export function agentTaskPanelShowsActivity(terminalRows) {
197
- return terminalRows !== undefined && Number.isFinite(terminalRows) && terminalRows >= 24;
198
- }
199
- /**
200
- * Agents the compact panel may show without crowding the composer/footer.
201
- * An agent costs two rows where activity lines are drawn and one elsewhere,
202
- * so the budget in ROWS stays what it was when every agent took one.
203
- */
204
- export function agentTaskPanelPageSize(terminalRows) {
205
- if (terminalRows === undefined || !Number.isFinite(terminalRows))
206
- return 2;
207
- const rowsPerAgent = agentTaskPanelShowsActivity(terminalRows) ? 2 : 1;
208
- return Math.max(1, Math.min(4, Math.floor((terminalRows - 12) / (3 * rowsPerAgent))));
209
- }
210
- /** What the running agent is doing now, or its status when it has said nothing yet. */
211
- function railActivity(agent) {
212
- if (agent.status === 'queued')
213
- return 'Waiting for a slot';
214
- return distinctActivity(agent) ?? statusLabel(agent.status);
215
- }
216
- /**
217
- * The rail's own ordering: tool uses and spend first, then the model, with
218
- * counters dropped first on a narrow screen. The saved marker, when present,
219
- * leads for the reason `agentMetaParts` gives.
220
- */
221
- function agentRailMetaParts(agent, options) {
222
- const parts = [];
223
- if (agent.replayed)
224
- parts.push('saved');
225
- if (options.showCounters) {
226
- if (agent.toolCalls !== undefined) {
227
- parts.push(`${agent.toolCalls} ${agent.toolCalls === 1 ? 'tool' : 'tools'}`);
228
- }
229
- if (agent.tokens !== undefined)
230
- parts.push(formatCompactCount(agent.tokens));
231
- }
232
- if (options.showModel && agent.model) {
233
- parts.push(truncateChoiceText(agent.model, MAX_MODEL_LABEL_WIDTH));
234
- }
235
- return parts;
236
- }
237
- /**
238
- * Live cohorts plus their already-settled siblings. Terminal cohorts are
239
- * retained by the monitor for explicit history but never reappear here.
240
- */
241
- export function activeSubagentCohorts(agents) {
242
- // Replayed rows are excluded before anything else, in BOTH directions:
243
- // they never appear in this panel, and a replayed row whose saved status
244
- // never reached a terminal value never makes a cohort look live. Saved
245
- // evidence describes work that ended in another process, and this panel
246
- // exists to say what is running now.
247
- const live = agents.filter((agent) => agent.replayed !== true);
248
- const activeCohorts = new Set(live.filter((agent) => !isTerminalStatus(agent.status)).map(agentCohortKey));
249
- return live.filter((agent) => activeCohorts.has(agentCohortKey(agent)));
250
- }
251
- /**
252
- * What stays on the rail together. A labelled workflow is one cohort across
253
- * every batch of its parent turn, so a settled Phase 1 is still drawn while
254
- * Phase 2 runs; an unlabelled batch is its own cohort, as it always was
255
- * (`workflowGroupId` is exactly that split, made by the monitor).
256
- */
257
- function agentCohortKey(agent) {
258
- return agent.workflowGroupId;
259
- }
260
- /**
261
- * Live workflow projection. App owns input; this component renders only the
262
- * bounded scheduler state it receives and never invents orchestration state.
263
- */
264
- export function AgentCockpit({ agents, selectedPhaseId, selectedId, focus, terminalRows, terminalColumns, }) {
265
- const workflows = agentWorkflows(agents);
266
- const workflowIndex = Math.max(0, workflows.findIndex((workflow) => workflow.phases.some((phase) => phase.id === selectedPhaseId)));
267
- const workflow = workflows[workflowIndex];
268
- const phases = workflow?.phases ?? [];
269
- const selectedPhaseIndex = Math.max(0, phases.findIndex((phase) => phase.id === selectedPhaseId));
270
- const selectedPhase = phases[selectedPhaseIndex];
271
- const phaseAgents = selectedPhase?.agents ?? [];
272
- const selectedAgentIndex = Math.max(0, phaseAgents.findIndex((agent) => agent.viewId === selectedId));
273
- const now = useLiveNow(agents.some((agent) => agent.completedAt === undefined));
274
- const active = workflow?.agents.filter((agent) => !isTerminalStatus(agent.status)).length ?? 0;
275
- const wide = agentCockpitIsWide(terminalColumns);
276
- const compact = terminalRows < 20;
277
- const sideBySide = wide;
278
- const phasePaneWidth = sideBySide
279
- ? Math.max(24, Math.min(36, Math.floor(terminalColumns * 0.3)))
280
- : undefined;
281
- if (focus === 'workflows') {
282
- const { items } = selectionWindow(workflows, workflowIndex, agentWorkflowPageSize(terminalRows));
283
- return (_jsxs(Box, { flexDirection: "column", height: Math.max(8, terminalRows - COCKPIT_CHROME_ROWS), borderStyle: "single", borderColor: theme.border.default, paddingX: 1, children: [_jsxs(Text, { color: theme.accent.assistant, bold: true, wrap: "truncate-end", children: ["Workflows \u00B7 ", workflowIndex + 1, "/", workflows.length] }), compact ? null : (_jsx(Text, { color: theme.text.muted, wrap: "truncate-end", children: "Select a workflow to inspect its phases and agents." })), _jsx(Box, { flexDirection: "column", flexGrow: 1, paddingTop: compact ? 0 : 1, children: items.map((item) => (_jsxs(Box, { height: 1, flexShrink: 0, children: [_jsx(Box, { width: 4, flexShrink: 0, children: _jsxs(Text, { color: item.id === workflow?.id ? theme.accent.assistant : theme.text.muted, children: [item.id === workflow?.id ? '›' : ' ', " ", statusGlyph(item.status)] }) }), _jsx(Box, { flexGrow: 1, minWidth: 0, children: _jsx(Text, { color: theme.text.primary, bold: item.id === workflow?.id, wrap: "truncate-end", children: oneLine(item.name) }) }), _jsx(Box, { flexShrink: 0, marginLeft: 1, children: _jsxs(Text, { color: statusColor(item.status), wrap: "truncate-end", children: [terminalColumns >= 70
284
- ? `${item.phases.length} ${item.phases.length === 1 ? 'phase' : 'phases'} · `
285
- : '', item.agents.length, " agents \u00B7 ", statusLabel(item.status)] }) })] }, item.id))) }), _jsx(Box, { paddingTop: compact ? 0 : 1, children: _jsx(Text, { color: theme.text.muted, wrap: "truncate-end", children: terminalColumns >= 60
286
- ? '↑↓ navigate · PgUp/PgDn jump · enter select · esc return'
287
- : '↑↓ · enter select · esc return' }) })] }));
288
- }
289
- const navigation = terminalColumns >= 90
290
- ? '←→ pane · ↑↓ navigate · PgUp/PgDn jump · enter select · esc return'
291
- : terminalColumns >= 60
292
- ? '←→ pane · ↑↓ navigate · enter select · esc return'
293
- : terminalColumns >= 38
294
- ? '←→ pane · ↑↓ · enter · esc return'
295
- : 'enter · esc return';
296
- const totalWorkflowAgents = workflow?.agents.length ?? 0;
297
- // Same rule as the automatic rail's title: an explicit label names this
298
- // workflow, an absent one (the unlabelled default) gets a neutral count
299
- // instead of the generic default name.
300
- const workflowTitle = selectedPhase?.workflow !== undefined && selectedPhase.workflow !== DEFAULT_AGENT_WORKFLOW
301
- ? oneLine(selectedPhase.workflow)
302
- : `${totalWorkflowAgents} agent${totalWorkflowAgents === 1 ? '' : 's'} · ${active} running`;
303
- return (_jsxs(Box, { flexDirection: "column", height: Math.max(8, terminalRows - COCKPIT_CHROME_ROWS), borderStyle: "single", borderColor: theme.border.default, paddingX: 1, children: [_jsxs(Box, { height: 1, flexShrink: 0, children: [_jsx(Box, { flexGrow: 1, minWidth: 0, children: _jsx(Text, { color: theme.text.primary, bold: true, wrap: "truncate-end", children: workflowTitle }) }), _jsx(Box, { flexShrink: 0, marginLeft: 1, children: _jsx(Text, { color: theme.text.muted, wrap: "truncate-end", children: workflow ? workflowProgress(workflow, now, terminalColumns) : '' }) })] }), compact ? null : (_jsx(Text, { color: theme.text.muted, wrap: "truncate-end", children: workflows.length > 1
304
- ? 'Select a phase, then inspect a child. Esc returns to workflows.'
305
- : 'Select a phase, then inspect a child.' })), _jsxs(Box, { flexDirection: sideBySide ? 'row' : 'column', flexGrow: 1, paddingTop: compact ? 0 : 1, children: [_jsx(Box, { flexDirection: "column", width: phasePaneWidth, flexShrink: 0, children: _jsx(PhasePane, { phases: phases, selected: selectedPhaseIndex, focused: focus === 'phases', pageSize: compact ? 1 : agentPhasePageSize(terminalRows, wide), paneWidth: phasePaneWidth ?? Math.max(1, terminalColumns - COCKPIT_FRAME_COLUMNS), showDetail: !compact, now: now }) }), sideBySide ? (_jsx(Box, { width: 1, marginX: 1, flexShrink: 0, borderStyle: "single", borderColor: theme.border.default, borderTop: false, borderBottom: false, borderRight: false })) : null, _jsx(Box, { flexDirection: "column", flexGrow: 1, minWidth: 0, paddingTop: sideBySide || compact ? 0 : 1, children: _jsx(AgentPane, { agents: phaseAgents, ...(selectedPhase && selectedPhase.name !== DEFAULT_AGENT_PHASE
306
- ? { phaseName: selectedPhase.name }
307
- : {}), selected: selectedAgentIndex, focused: focus === 'agents', pageSize: compact ? 1 : agentPickerPageSize(terminalRows, wide), now: now, wide: wide, terminalColumns: terminalColumns, detailWidth: Math.floor(Math.max(2, terminalColumns - COCKPIT_FRAME_COLUMNS - (phasePaneWidth ?? 0) - (sideBySide ? 3 : 0)) / 2) }) })] }), _jsx(Box, { paddingTop: compact ? 0 : 1, children: _jsx(Text, { color: theme.text.muted, wrap: "truncate-end", children: navigation }) })] }));
308
- }
309
- function PhasePane({ phases, selected, focused, pageSize, paneWidth, showDetail, now, }) {
310
- const { start, items } = selectionWindow(phases, selected, pageSize);
311
- // A narrow pane keeps the count and gives the time up first.
312
- const showElapsed = paneWidth >= 28;
313
- // "Focused" here is the phase carrying the `›` cursor, not which sub-pane
314
- // currently holds keyboard focus — the detail stays visible while the
315
- // operator drills into that phase's agents.
316
- const focusedPhase = phases[selected];
317
- const detailLines = showDetail && focusedPhase?.detail
318
- ? wrapPhaseDetailLines(focusedPhase.detail, paneWidth).slice(0, PHASE_DETAIL_LINE_BUDGET)
319
- : [];
320
- return (_jsxs(_Fragment, { children: [_jsx(Text, { color: focused ? theme.accent.assistant : theme.text.secondary, bold: true, children: "Phases" }), items.map((phase, visibleIndex) => {
321
- const active = start + visibleIndex === selected;
322
- return (_jsxs(Box, { children: [_jsx(Box, { width: 4, flexShrink: 0, children: _jsxs(Text, { color: active && focused ? theme.accent.assistant : theme.text.muted, children: [active ? '›' : ' ', " ", statusGlyph(phase.status)] }) }), _jsx(Box, { flexGrow: 1, flexShrink: 1, children: _jsxs(Text, { color: active ? theme.text.primary : theme.text.secondary, bold: active && focused, wrap: "truncate-end", children: [phase.order !== undefined ? `${phase.order + 1} ` : '', oneLine(phase.name)] }) }), _jsx(Box, { flexShrink: 0, marginLeft: 1, children: _jsxs(Text, { color: statusColor(phase.status), children: [phaseProgress(phase), showElapsed ? ` · ${formatElapsed(phaseElapsed(phase, now))}` : ''] }) })] }, phase.id));
323
- }), detailLines.length > 0 ? (_jsx(Box, { flexDirection: "column", height: PHASE_DETAIL_LINE_BUDGET, flexShrink: 0, overflow: "hidden", marginTop: 1, children: detailLines.map((line, index) => (
324
- // biome-ignore lint/suspicious/noArrayIndexKey: fixed-budget, order-stable lines of one wrap pass
325
- _jsx(Text, { color: theme.text.muted, wrap: "truncate-end", children: line }, index))) })) : null] }));
326
- }
327
- function AgentPane({ agents, phaseName, selected, focused, pageSize, now, wide, terminalColumns, detailWidth, }) {
328
- const { start, items } = selectionWindow(agents, selected, pageSize);
329
- const showModel = wide;
330
- const showCounters = wide && terminalColumns >= 120;
331
- return (_jsxs(_Fragment, { children: [_jsxs(Text, { color: focused ? theme.accent.assistant : theme.text.secondary, bold: true, wrap: "truncate-end", children: [phaseName !== undefined ? `${oneLine(phaseName)} · ` : '', agents.length, " ", agents.length === 1 ? 'agent' : 'agents', agents.length > pageSize ? ` · ${selected + 1}/${agents.length}` : ''] }), items.map((agent, visibleIndex) => {
332
- const active = start + visibleIndex === selected;
333
- const elapsed = formatElapsed((agent.completedAt ?? now) - agent.startedAt);
334
- const meta = agentMetaParts(agent, { showModel, showCounters });
335
- return (_jsxs(Box, { children: [_jsx(Box, { width: 4, flexShrink: 0, children: _jsxs(Text, { color: active && focused ? theme.accent.assistant : theme.text.muted, children: [active ? '›' : ' ', " ", statusGlyph(agent.status)] }) }), _jsx(Box, { flexGrow: 1, flexShrink: 1, minWidth: 0, children: _jsx(Text, { color: active ? theme.text.primary : theme.text.secondary, bold: active && focused, wrap: "truncate-end", children: oneLine(agent.description || agent.agentId) }) }), _jsxs(Box, { marginLeft: 1, flexShrink: 0, width: wide ? detailWidth : undefined, children: [_jsx(Box, { flexGrow: 1, flexShrink: 1, minWidth: 0, children: _jsxs(Text, { color: theme.text.secondary, wrap: "truncate-end", children: [statusLabel(agent.status), " \u00B7", ' ', elapsed, wide && distinctActivity(agent) ? ` · ${distinctActivity(agent)}` : ''] }) }), meta.length > 0 ? (_jsx(Box, { flexShrink: 0, marginLeft: 1, children: _jsx(Text, { color: theme.text.muted, wrap: "truncate-end", children: meta.join(' · ') }) })) : null] })] }, agent.viewId));
336
- })] }));
337
- }
338
- export function agentCockpitIsWide(terminalColumns) {
339
- return Math.max(0, terminalColumns - COCKPIT_FRAME_COLUMNS) >= WIDE_COCKPIT_INNER_COLUMNS;
340
- }
341
- /** Group retained work before exposing phases. Labels do not create execution dependencies. */
342
- export function agentWorkflows(agents) {
343
- const groups = new Map();
344
- for (const agent of agents) {
345
- const group = groups.get(agent.workflowGroupId);
346
- if (group)
347
- group.push(agent);
348
- else
349
- groups.set(agent.workflowGroupId, [agent]);
350
- }
351
- return [...groups]
352
- .map(([id, members]) => ({
353
- id,
354
- name: workflowGroupName(members),
355
- startedAt: Math.min(...members.map((agent) => agent.startedAt)),
356
- status: phaseStatus(members),
357
- phases: agentPhases(members),
358
- agents: members,
359
- }))
360
- .sort((left, right) => left.startedAt - right.startedAt || left.id.localeCompare(right.id));
361
- }
362
- /**
363
- * A group's display name. An explicit, shared `workflow` label names it
364
- * directly; a group whose agents never set one (the unlabelled default —
365
- * `agentWorkflows` still groups them by batch, so two unrelated unlabelled
366
- * batches are two separate groups here) never uses that default's literal
367
- * text, which describes none of them in particular and is indistinguishable
368
- * from any other unlabelled group's name. It gets a neutral name built from
369
- * its own members instead, so two unlabelled groups stay tellable apart in
370
- * a list — the first member's title, plus a `+N` count when there are more,
371
- * or a plain agent count when even a title is missing.
372
- */
373
- function workflowGroupName(members) {
374
- const label = members[0]?.workflow;
375
- if (label !== undefined && label !== DEFAULT_AGENT_WORKFLOW)
376
- return label;
377
- const title = oneLine(members[0]?.description || members[0]?.agentId || '').trim();
378
- if (!title)
379
- return `${members.length} agent${members.length === 1 ? '' : 's'}`;
380
- return members.length > 1 ? `${title} +${members.length - 1}` : title;
381
- }
382
- export function agentWorkflowPageSize(terminalRows) {
383
- return Math.max(1, Math.min(MAX_PICKER_ROWS, terminalRows - 10));
384
- }
385
- export function agentPhases(agents) {
386
- const records = new Map();
387
- const workflowStartedAt = new Map();
388
- for (const agent of agents) {
389
- const id = agent.phaseId;
390
- const current = records.get(id);
391
- if (current) {
392
- current.startedAt = Math.min(current.startedAt, agent.startedAt);
393
- current.agents.push(agent);
394
- }
395
- else {
396
- records.set(id, {
397
- workflowId: agent.workflowId,
398
- workflow: agent.workflow,
399
- name: agent.phase,
400
- ...(agent.phaseOrder !== undefined ? { order: agent.phaseOrder } : {}),
401
- ...(agent.phaseDetail !== undefined ? { detail: agent.phaseDetail } : {}),
402
- sequence: agent.phaseSequence,
403
- startedAt: agent.startedAt,
404
- agents: [agent],
405
- });
406
- }
407
- workflowStartedAt.set(agent.workflowId, Math.min(workflowStartedAt.get(agent.workflowId) ?? agent.startedAt, agent.startedAt));
408
- }
409
- return [...records.entries()]
410
- .map(([id, phase]) => ({
411
- id,
412
- workflowId: phase.workflowId,
413
- workflow: phase.workflow,
414
- name: phase.name,
415
- ...(phase.order !== undefined ? { order: phase.order } : {}),
416
- ...(phase.detail !== undefined ? { detail: phase.detail } : {}),
417
- sequence: phase.sequence,
418
- startedAt: phase.startedAt,
419
- status: phaseStatus(phase.agents),
420
- agents: phase.agents,
421
- }))
422
- .sort((left, right) => {
423
- const workflowOrder = (workflowStartedAt.get(left.workflowId) ?? left.startedAt) -
424
- (workflowStartedAt.get(right.workflowId) ?? right.startedAt);
425
- if (workflowOrder !== 0)
426
- return workflowOrder;
427
- const workflowName = left.workflow.localeCompare(right.workflow);
428
- if (workflowName !== 0)
429
- return workflowName;
430
- if (left.order !== right.order) {
431
- if (left.order === undefined)
432
- return 1;
433
- if (right.order === undefined)
434
- return -1;
435
- return left.order - right.order;
436
- }
437
- if (left.sequence !== right.sequence)
438
- return left.sequence - right.sequence;
439
- return left.name.localeCompare(right.name);
440
- });
441
- }
442
- export function agentPhasePageSize(terminalRows, wide = true) {
443
- const available = Math.max(2, terminalRows - (wide ? 10 : 12));
444
- return wide
445
- ? Math.max(1, Math.min(MAX_PICKER_ROWS, available))
446
- : Math.max(1, Math.min(4, Math.floor(available * 0.4)));
447
- }
448
- /** Child screen; leave two parent footer rows and one terminal cursor row free. */
449
- export function AgentTranscript({ agent, tailOffset, terminalRows, terminalColumns, }) {
450
- const page = agentTranscriptPage(agent, tailOffset, terminalRows, terminalColumns);
451
- // A replayed child whose saved record never got an ending still has no
452
- // clock running: ticking one would be the same claim the banner denies.
453
- const now = useLiveNow(!agent.replayed && agent.completedAt === undefined);
454
- const elapsed = formatElapsed((agent.completedAt ?? now) - agent.startedAt);
455
- const tailLabel = isTerminalStatus(agent.status) ? 'Latest' : 'Live';
456
- const meta = agentMetaParts(agent, {
457
- showModel: terminalColumns >= 50,
458
- showCounters: terminalColumns >= 70,
459
- });
460
- const navigation = terminalColumns >= 70
461
- ? `PgUp/PgDn · Home oldest · End ${tailLabel.toLowerCase()} · esc agents · q parent`
462
- : terminalColumns >= 40
463
- ? '↑↓ scroll · esc agents · q parent'
464
- : terminalColumns >= 30
465
- ? '↑↓ · esc list · q parent'
466
- : 'esc list · q parent';
467
- return (_jsxs(Box, { flexDirection: "column", height: page.pageSize + 8 + transcriptBannerRows(agent), flexShrink: 0, borderStyle: "single", borderColor: theme.accent.assistant, paddingX: 1, overflow: "hidden", children: [_jsxs(Box, { justifyContent: "space-between", height: 1, flexShrink: 0, children: [_jsx(Box, { flexGrow: 1, minWidth: 0, children: _jsx(Text, { color: theme.accent.assistant, bold: true, wrap: "truncate-end", children: "Subagent" }) }), _jsx(Box, { flexShrink: 0, children: _jsxs(Text, { color: statusColor(agent.status), wrap: "truncate-end", children: [statusLabel(agent.status), terminalColumns >= 40 ? ` · ${elapsed}` : ''] }) })] }), _jsxs(Box, { height: 1, flexShrink: 0, children: [_jsx(Box, { flexGrow: 1, flexShrink: 1, minWidth: 0, children: _jsx(Text, { color: theme.text.primary, bold: true, wrap: "truncate-end", children: oneLine(agent.description || agent.agentId) }) }), meta.length > 0 ? (_jsx(Box, { flexShrink: 0, marginLeft: 1, children: _jsx(Text, { color: theme.text.muted, wrap: "truncate-end", children: meta.join(' · ') }) })) : null] }), agent.replayed ? (_jsx(Box, { height: 1, flexShrink: 0, children: _jsx(Text, { color: theme.status.warn, wrap: "truncate-end", children: REPLAYED_TRANSCRIPT_NOTICE }) })) : null, _jsx(Box, { flexDirection: "column", marginTop: 1, height: page.pageSize, flexShrink: 0, children: page.rows.length === 0 ? (_jsx(Text, { color: theme.text.muted, wrap: "truncate-end", children: agent.replayed
468
- ? 'Saved evidence recorded no output for this child.'
469
- : 'Waiting for child output…' })) : (page.rows.map((line) => (_jsxs(Box, { height: 1, flexShrink: 0, overflow: "hidden", children: [_jsx(Box, { width: 3, flexShrink: 0, children: _jsx(Text, { color: line.source !== 'prompt' && line.source.kind === 'tool'
470
- ? statusColor(line.source.status)
471
- : lineColor(line), children: line.continuation ? ' ' : lineGlyph(line) }) }), _jsx(Box, { flexGrow: 1, minWidth: 0, children: _jsx(Text, { color: lineColor(line), wrap: "truncate-end", children: line.text }) })] }, line.id)))) }), _jsxs(Box, { flexDirection: "column", marginTop: 1, height: 2, flexShrink: 0, children: [_jsxs(Text, { color: theme.text.muted, wrap: "truncate-end", children: [page.last === page.total ? tailLabel : 'History', " \u00B7", ' ', page.total === 0 ? '0/0' : `${page.first}-${page.last}/${page.total}`] }), _jsx(Text, { color: theme.text.muted, wrap: "truncate-end", children: navigation })] })] }));
472
- }
473
- export function agentPickerPageSize(terminalRows, wide = true) {
474
- const available = Math.max(2, terminalRows - (wide ? 10 : 12));
475
- return wide
476
- ? Math.max(1, Math.min(MAX_PICKER_ROWS, available))
477
- : Math.max(1, Math.min(MAX_PICKER_ROWS, available - agentPhasePageSize(terminalRows, false)));
478
- }
479
- /**
480
- * Rows one transcript header claims beyond the fixed chrome.
481
- *
482
- * A replayed child spends one on its banner. It comes out of the page rather
483
- * than growing the box, because the box is already sized to leave the parent
484
- * its two footer rows and the terminal its cursor row — a box one row taller
485
- * would take the cursor row, on the one screen where the extra row exists to
486
- * stop a misreading rather than to show more of the turn.
487
- */
488
- function transcriptBannerRows(agent) {
489
- return agent.replayed ? 1 : 0;
490
- }
491
- export function agentTranscriptPageSize(terminalRows, reservedRows = 0) {
492
- // Parent footer, cursor row, borders, heading, title, spacing and navigation.
493
- return Math.max(1, terminalRows - 11 - reservedRows);
494
- }
495
- export function maxAgentTranscriptTailOffset(agent, terminalRows, terminalColumns) {
496
- return Math.max(0, agentTranscriptRows(agent, terminalColumns).length -
497
- agentTranscriptPageSize(terminalRows, transcriptBannerRows(agent)));
498
- }
499
- export function agentTranscriptPage(agent, tailOffset, terminalRows, terminalColumns) {
500
- const pageSize = agentTranscriptPageSize(terminalRows, transcriptBannerRows(agent));
501
- const rows = agentTranscriptRows(agent, terminalColumns);
502
- const total = rows.length;
503
- const offset = Math.min(Math.max(0, tailOffset), Math.max(0, total - pageSize));
504
- const end = Math.max(0, total - offset);
505
- const start = Math.max(0, end - pageSize);
506
- return {
507
- rows: rows.slice(start, end),
508
- pageSize,
509
- first: total === 0 ? 0 : start + 1,
510
- last: end,
511
- total,
512
- };
513
- }
514
- /** Wrap before paging so every retained character remains reachable. */
515
- export function agentTranscriptRows(agent, terminalColumns) {
516
- const sources = [
517
- { id: `${agent.viewId}:prompt`, text: agent.prompt, source: 'prompt' },
518
- ...agent.transcript.map((row) => ({
519
- id: row.id,
520
- text: transcriptRowText(row),
521
- source: row,
522
- })),
523
- ];
524
- // App padding, border, overlay padding and the three-cell glyph column sit
525
- // outside this text. Conservative cell counting may wrap early but never
526
- // hides a suffix.
527
- const width = Math.max(1, (terminalColumns ?? 80) - 10);
528
- const lines = [];
529
- for (const source of sources) {
530
- let sourceLine = 0;
531
- for (const logical of terminalDisplayText(source.text).split('\n')) {
532
- let text = '';
533
- let cells = 0;
534
- let continuation = sourceLine > 0;
535
- for (const { segment: point } of graphemes.segment(expandTabs(logical))) {
536
- const pointCells = stringWidth(point);
537
- while (text.length > 0 && cells + pointCells > width) {
538
- // Prefer a word boundary, retaining whitespace so paging never
539
- // drops content. Unbroken URLs/code still split at graphemes.
540
- const boundary = text.lastIndexOf(' ') + 1;
541
- const split = boundary > 0 && text.slice(0, boundary).trim().length > 0
542
- ? boundary : text.length;
543
- const rest = text.slice(split);
544
- lines.push({
545
- id: `${source.id}:${sourceLine++}`,
546
- text: text.slice(0, split),
547
- continuation,
548
- source: source.source,
549
- });
550
- text = rest;
551
- cells = stringWidth(rest);
552
- continuation = true;
553
- }
554
- text += point;
555
- cells += pointCells;
556
- }
557
- lines.push({
558
- id: `${source.id}:${sourceLine++}`,
559
- text,
560
- continuation,
561
- source: source.source,
562
- });
563
- }
564
- }
565
- return lines;
566
- }
567
- /** Resolve indentation before paging; raw tabs can move the terminal beyond a row's box. */
568
- function expandTabs(line) {
569
- let text = '';
570
- let cells = 0;
571
- for (const { segment } of graphemes.segment(line)) {
572
- const point = segment === '\t' ? ' '.repeat(8 - (cells % 8)) : segment;
573
- text += point;
574
- cells += stringWidth(point);
575
- }
576
- return text;
577
- }
578
- function oneLine(text) {
579
- return terminalDisplayText(text).replace(/\r?\n/g, ' ↵ ').replace(/\t/g, ' ⇥ ');
580
- }
581
- /** `42.1k`, `1.38M`; below 1,000 the exact count is short enough to show plainly. */
582
- export { formatCompactCount };
583
- /**
584
- * `undefined` when this child has reported neither figure — there is nothing
585
- * to show yet, which is different from having spent or called zero. Once
586
- * spend is known but the tool count is not (or vice versa), the missing half
587
- * renders as an em dash rather than a fabricated 0.
588
- */
589
- function agentCounterText(agent) {
590
- if (agent.tokens === undefined && agent.toolCalls === undefined)
591
- return undefined;
592
- const tokens = agent.tokens !== undefined ? formatCompactCount(agent.tokens) : '—';
593
- if (agent.toolCalls === undefined)
594
- return tokens;
595
- return `${tokens} · ${agent.toolCalls} ${agent.toolCalls === 1 ? 'tool' : 'tools'}`;
596
- }
597
- /**
598
- * Ordered so a caller can drop the least essential piece first: counters
599
- * need the most room, the model name less, the saved marker none at all, and
600
- * the description (rendered separately by every caller) never yields to any
601
- * of them.
602
- */
603
- function agentMetaParts(agent, options) {
604
- const parts = [];
605
- // Unconditional, and first, because it is the only part here that changes
606
- // what the row MEANS rather than describing the work: a saved row reports
607
- // a child that finished in some other process. Five cells is a price worth
608
- // paying at every width to keep a past turn from reading as a present one.
609
- if (agent.replayed)
610
- parts.push('saved');
611
- if (options.showModel && agent.model) {
612
- parts.push(truncateChoiceText(agent.model, MAX_MODEL_LABEL_WIDTH));
613
- }
614
- const counters = options.showCounters ? agentCounterText(agent) : undefined;
615
- if (counters)
616
- parts.push(counters);
617
- return parts;
618
- }
619
- function distinctActivity(agent) {
620
- const activity = agent.latestActivity ? oneLine(agent.latestActivity) : undefined;
621
- if (!activity || activity.toLowerCase() === agent.status)
622
- return undefined;
623
- const prefix = `${statusLabel(agent.status)} · `;
624
- return activity.startsWith(prefix) ? activity.slice(prefix.length) : activity;
625
- }
626
- function phaseStatus(agents) {
627
- if (agents.some((agent) => agent.status === 'failed'))
628
- return 'failed';
629
- if (agents.some((agent) => agent.status === 'working'))
630
- return 'working';
631
- if (agents.some((agent) => agent.status === 'queued'))
632
- return 'queued';
633
- if (agents.some((agent) => agent.status === 'starting'))
634
- return 'starting';
635
- if (agents.some((agent) => agent.status === 'cancelled'))
636
- return 'cancelled';
637
- return 'completed';
638
- }
639
- /**
640
- * The cockpit's summary of one workflow, in the reference's terms: how many
641
- * agents are done, how long it has run, what it has spent, and how it ended
642
- * once nothing is left running: `1/3 agents done · 2 running · 5.2s · 18.0k
643
- * tokens`, then `3/3 agents · 12s · 27.0k tokens · done` (or `failed`).
644
- */
645
- function workflowProgress(workflow, now, columns) {
646
- const agents = workflow.agents;
647
- const running = agents.filter((agent) => !isTerminalStatus(agent.status)).length;
648
- const done = agents.length - running;
649
- const ending = workflow.status === 'completed' ? 'done' : workflow.status;
650
- // The title beside this keeps its room: below 60 columns only the count
651
- // and the ending, then the time from 70, the spend from 100.
652
- if (columns < 60)
653
- return running > 0 ? `${done}/${agents.length} done` : `${done}/${agents.length} · ${ending}`;
654
- const ends = agents.map((agent) => agent.completedAt ?? now);
655
- const elapsed = formatElapsed(Math.max(0, Math.max(...ends) - workflow.startedAt));
656
- const spent = agents.reduce((sum, agent) => (agent.tokens === undefined ? sum : (sum ?? 0) + agent.tokens), undefined);
657
- const counters = [
658
- ...(columns >= 70 ? [elapsed] : []),
659
- ...(columns >= 100 && spent !== undefined ? [`${formatCompactCount(spent)} tokens`] : []),
660
- ];
661
- return (running > 0
662
- ? [`${done}/${agents.length} agents done`, `${running} running`, ...counters]
663
- : [`${done}/${agents.length} agents`, ...counters, ending]).join(' · ');
664
- }
665
- /** First start to last finish; a phase still running counts to `now`. */
666
- function phaseElapsed(phase, now) {
667
- const ends = phase.agents.map((agent) => agent.completedAt ?? now);
668
- return Math.max(0, Math.max(...ends) - phase.startedAt);
669
- }
670
- function phaseProgress(phase) {
671
- const completed = phase.agents.filter((agent) => isTerminalStatus(agent.status)).length;
672
- const failed = phase.agents.filter((agent) => agent.status === 'failed').length;
673
- const cancelled = phase.agents.filter((agent) => agent.status === 'cancelled').length;
674
- return [
675
- `${completed}/${phase.agents.length}`,
676
- ...(failed > 0 ? [`failed ${failed}`] : []),
677
- ...(cancelled > 0 ? [`cancelled ${cancelled}`] : []),
678
- ].join(' · ');
679
- }
680
- /**
681
- * Word-wrap phase detail text to `width` cells. An unbroken word wider than
682
- * the pane still occupies exactly one line — `wrap="truncate-end"` on the
683
- * rendered `Text` clips it visually rather than this function breaking a
684
- * word or growing the line count.
685
- */
686
- function wrapPhaseDetailLines(text, width) {
687
- const safeWidth = Math.max(1, width);
688
- const words = oneLine(text)
689
- .split(' ')
690
- .filter((word) => word.length > 0);
691
- const lines = [];
692
- let line = '';
693
- for (const word of words) {
694
- const candidate = line ? `${line} ${word}` : word;
695
- if (line && stringWidth(candidate) > safeWidth) {
696
- lines.push(line);
697
- line = word;
698
- }
699
- else {
700
- line = candidate;
701
- }
702
- }
703
- if (line)
704
- lines.push(line);
705
- return lines;
706
- }
707
- function isTerminalStatus(status) {
708
- return status === 'completed' || status === 'failed' || status === 'cancelled';
709
- }
710
- function statusGlyph(status) {
711
- switch (status) {
712
- case 'starting':
713
- case 'queued':
714
- return '◌';
715
- case 'working':
716
- return '●';
717
- case 'completed':
718
- return '✓';
719
- case 'failed':
720
- return '✗';
721
- case 'cancelled':
722
- return '○';
723
- }
724
- }
725
- function statusLabel(status) {
726
- return status[0]?.toUpperCase() + status.slice(1);
727
- }
728
- function statusColor(status) {
729
- switch (status) {
730
- case 'completed':
731
- return theme.text.secondary;
732
- case 'failed':
733
- return theme.status.error;
734
- case 'starting':
735
- case 'queued':
736
- case 'working':
737
- return theme.accent.assistant;
738
- case 'cancelled':
739
- return theme.text.muted;
740
- }
741
- }
742
- function lineGlyph(line) {
743
- if (line.source === 'prompt')
744
- return '›';
745
- return rowGlyph(line.source);
746
- }
747
- function rowGlyph(row) {
748
- if (row.kind === 'assistant')
749
- return '∴';
750
- if (row.kind === 'system')
751
- return row.direction === 'to-child' ? '←' : '·';
752
- return row.status === 'working' ? '◌' : row.status === 'failed' ? '✗' : '✓';
753
- }
754
- /**
755
- * A delivered `send_message` renders as `← from parent: …` — the arrow is
756
- * the row's own glyph (`rowGlyph`), so only the label goes here. Every other
757
- * row kind keeps its own text unchanged.
758
- */
759
- function transcriptRowText(row) {
760
- if (row.kind === 'tool' && row.detail)
761
- return `${row.text}\n${row.detail}`;
762
- if (row.kind === 'system' && row.direction === 'to-child')
763
- return `from parent: ${row.text}`;
764
- return row.text;
765
- }
766
- function lineColor(line) {
767
- if (line.source === 'prompt')
768
- return theme.text.secondary;
769
- return rowColor(line.source);
770
- }
771
- function rowColor(row) {
772
- if (row.kind === 'assistant')
773
- return theme.text.primary;
774
- if (row.kind === 'system')
775
- return theme.text.muted;
776
- return row.status === 'failed' ? theme.status.error : theme.text.secondary;
777
- }
778
- function useLiveNow(active) {
779
- const [now, setNow] = useState(() => Date.now());
780
- useEffect(() => {
781
- if (!active)
782
- return;
783
- const timer = setInterval(() => setNow(Date.now()), 1_000);
784
- timer.unref?.();
785
- return () => clearInterval(timer);
786
- }, [active]);
787
- return now;
788
- }
789
- //# sourceMappingURL=AgentExplorer.js.map