@namzu/cli 35.0.0 → 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 (1304) hide show
  1. package/CHANGELOG.md +756 -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/pal.d.ts +5 -0
  344. package/dist/commands/pal.d.ts.map +1 -0
  345. package/dist/commands/permission-preview.d.ts +38 -0
  346. package/dist/commands/permission-preview.d.ts.map +1 -0
  347. package/dist/commands/registry.d.ts +10 -0
  348. package/dist/commands/registry.d.ts.map +1 -1
  349. package/dist/commands/serve.d.ts +1 -12
  350. package/dist/commands/serve.d.ts.map +1 -1
  351. package/dist/commands/stdin.d.ts.map +1 -1
  352. package/dist/commands/upgrade.d.ts +14 -0
  353. package/dist/commands/upgrade.d.ts.map +1 -1
  354. package/dist/compile-cache-enable.d.ts +2 -0
  355. package/dist/compile-cache-enable.d.ts.map +1 -0
  356. package/dist/compile-cache.d.ts +53 -0
  357. package/dist/compile-cache.d.ts.map +1 -0
  358. package/dist/computer/bundle.d.ts +18 -0
  359. package/dist/computer/bundle.d.ts.map +1 -0
  360. package/dist/computer/run.d.ts +26 -0
  361. package/dist/computer/run.d.ts.map +1 -0
  362. package/dist/computer/sentences.d.ts +30 -0
  363. package/dist/computer/sentences.d.ts.map +1 -0
  364. package/dist/config/load.d.ts +10 -1
  365. package/dist/config/load.d.ts.map +1 -1
  366. package/dist/context/capabilities.d.ts +25 -2
  367. package/dist/context/capabilities.d.ts.map +1 -1
  368. package/dist/context/runtime-message.d.ts.map +1 -1
  369. package/dist/crash-report.d.ts +22 -0
  370. package/dist/crash-report.d.ts.map +1 -0
  371. package/dist/debug-requested.d.ts +7 -0
  372. package/dist/debug-requested.d.ts.map +1 -0
  373. package/dist/doctor/checks/credentials.d.ts.map +1 -1
  374. package/dist/exit-codes.d.ts +9 -1
  375. package/dist/exit-codes.d.ts.map +1 -1
  376. package/dist/index.js +105 -17
  377. package/dist/index.js.map +6 -1
  378. package/dist/integrations/harness/claude-adapter.d.ts +20 -0
  379. package/dist/integrations/harness/claude-adapter.d.ts.map +1 -0
  380. package/dist/integrations/harness/claude-protocol.d.ts +67 -0
  381. package/dist/integrations/harness/claude-protocol.d.ts.map +1 -0
  382. package/dist/integrations/harness/codex-adapter.d.ts +80 -0
  383. package/dist/integrations/harness/codex-adapter.d.ts.map +1 -0
  384. package/dist/integrations/harness/codex-protocol.d.ts +22 -0
  385. package/dist/integrations/harness/codex-protocol.d.ts.map +1 -0
  386. package/dist/integrations/harness/model-cache.d.ts +16 -0
  387. package/dist/integrations/harness/model-cache.d.ts.map +1 -0
  388. package/dist/integrations/harness/native-executable.d.ts +8 -0
  389. package/dist/integrations/harness/native-executable.d.ts.map +1 -0
  390. package/dist/integrations/harness/process.d.ts +25 -0
  391. package/dist/integrations/harness/process.d.ts.map +1 -0
  392. package/dist/integrations/peers/runtime.d.ts +64 -0
  393. package/dist/integrations/peers/runtime.d.ts.map +1 -0
  394. package/dist/integrations/plugins/inventory.d.ts +27 -0
  395. package/dist/integrations/plugins/inventory.d.ts.map +1 -0
  396. package/dist/integrations/providers/composer-settings.d.ts +33 -0
  397. package/dist/integrations/providers/composer-settings.d.ts.map +1 -0
  398. package/dist/integrations/providers/connections.d.ts +37 -0
  399. package/dist/integrations/providers/connections.d.ts.map +1 -0
  400. package/dist/integrations/providers/credential-store.d.ts +35 -0
  401. package/dist/integrations/providers/credential-store.d.ts.map +1 -1
  402. package/dist/integrations/providers/discover.d.ts +27 -1
  403. package/dist/integrations/providers/discover.d.ts.map +1 -1
  404. package/dist/integrations/providers/index.d.ts +2 -2
  405. package/dist/integrations/providers/index.d.ts.map +1 -1
  406. package/dist/integrations/providers/picker-operation.d.ts +6 -0
  407. package/dist/integrations/providers/picker-operation.d.ts.map +1 -0
  408. package/dist/integrations/providers/setup.d.ts +16 -1
  409. package/dist/integrations/providers/setup.d.ts.map +1 -1
  410. package/dist/integrations/resident/runner-worker.js +190 -161
  411. package/dist/integrations/resident/runner-worker.js.map +6 -1
  412. package/dist/integrations/sessions/display-title.d.ts +8 -0
  413. package/dist/integrations/sessions/display-title.d.ts.map +1 -1
  414. package/dist/integrations/sessions/store.d.ts +23 -9
  415. package/dist/integrations/sessions/store.d.ts.map +1 -1
  416. package/dist/integrations/sessions/task-context.d.ts +1 -1
  417. package/dist/integrations/sessions/task-context.d.ts.map +1 -1
  418. package/dist/integrations/sessions/transcript-export.d.ts.map +1 -1
  419. package/dist/integrations/subagents/activity.d.ts +9 -6
  420. package/dist/integrations/subagents/activity.d.ts.map +1 -1
  421. package/dist/integrations/subagents/operator-journal.d.ts +20 -0
  422. package/dist/integrations/subagents/operator-journal.d.ts.map +1 -0
  423. package/dist/integrations/subagents/runtime.d.ts +11 -0
  424. package/dist/integrations/subagents/runtime.d.ts.map +1 -1
  425. package/dist/integrations/trust/store.d.ts +14 -0
  426. package/dist/integrations/trust/store.d.ts.map +1 -1
  427. package/dist/integrations/web/search.d.ts +1 -1
  428. package/dist/pals/actions.d.ts +57 -0
  429. package/dist/pals/actions.d.ts.map +1 -0
  430. package/dist/pals/activity-command.d.ts +3 -0
  431. package/dist/pals/activity-command.d.ts.map +1 -0
  432. package/dist/pals/activity.d.ts +18 -0
  433. package/dist/pals/activity.d.ts.map +1 -0
  434. package/dist/pals/agent-session.d.ts +19 -0
  435. package/dist/pals/agent-session.d.ts.map +1 -0
  436. package/dist/pals/channel-actions.d.ts +5 -0
  437. package/dist/pals/channel-actions.d.ts.map +1 -0
  438. package/dist/pals/channel-local.d.ts +7 -0
  439. package/dist/pals/channel-local.d.ts.map +1 -0
  440. package/dist/pals/channel.d.ts +20 -0
  441. package/dist/pals/channel.d.ts.map +1 -0
  442. package/dist/pals/chat.d.ts +6 -0
  443. package/dist/pals/chat.d.ts.map +1 -0
  444. package/dist/pals/communication.d.ts +47 -0
  445. package/dist/pals/communication.d.ts.map +1 -0
  446. package/dist/pals/conversations.d.ts +26 -0
  447. package/dist/pals/conversations.d.ts.map +1 -0
  448. package/dist/pals/desktop-communication.d.ts +111 -0
  449. package/dist/pals/desktop-communication.d.ts.map +1 -0
  450. package/dist/pals/dispatch.d.ts +13 -0
  451. package/dist/pals/dispatch.d.ts.map +1 -0
  452. package/dist/pals/environment.d.ts +103 -0
  453. package/dist/pals/environment.d.ts.map +1 -0
  454. package/dist/pals/guest-mcp-transport.d.ts +28 -0
  455. package/dist/pals/guest-mcp-transport.d.ts.map +1 -0
  456. package/dist/pals/guest-mcp.d.ts +22 -0
  457. package/dist/pals/guest-mcp.d.ts.map +1 -0
  458. package/dist/pals/inbox-start.d.ts +35 -0
  459. package/dist/pals/inbox-start.d.ts.map +1 -0
  460. package/dist/pals/message-command.d.ts +3 -0
  461. package/dist/pals/message-command.d.ts.map +1 -0
  462. package/dist/pals/operator-tools.d.ts +23 -0
  463. package/dist/pals/operator-tools.d.ts.map +1 -0
  464. package/dist/pals/public-transcript.d.ts +4 -0
  465. package/dist/pals/public-transcript.d.ts.map +1 -0
  466. package/dist/pals/review.d.ts +16 -0
  467. package/dist/pals/review.d.ts.map +1 -0
  468. package/dist/pals/store.d.ts +16 -0
  469. package/dist/pals/store.d.ts.map +1 -0
  470. package/dist/pals/tui-session.d.ts +11 -0
  471. package/dist/pals/tui-session.d.ts.map +1 -0
  472. package/dist/permissions/mode-names.d.ts +2 -0
  473. package/dist/permissions/mode-names.d.ts.map +1 -0
  474. package/dist/resume-invocation.d.ts +1 -1
  475. package/dist/resume-invocation.d.ts.map +1 -1
  476. package/dist/resume-shell.d.ts +8 -0
  477. package/dist/resume-shell.d.ts.map +1 -0
  478. package/dist/schedule/build.d.ts +12 -3
  479. package/dist/schedule/build.d.ts.map +1 -1
  480. package/dist/schedule/commands/add.d.ts +1 -1
  481. package/dist/schedule/commands/add.d.ts.map +1 -1
  482. package/dist/schedule/commands/lifecycle.d.ts.map +1 -1
  483. package/dist/schedule/commands/list.d.ts +3 -1
  484. package/dist/schedule/commands/list.d.ts.map +1 -1
  485. package/dist/schedule/daemon/daemon.d.ts +2 -0
  486. package/dist/schedule/daemon/daemon.d.ts.map +1 -1
  487. package/dist/schedule/delivery.d.ts +66 -0
  488. package/dist/schedule/delivery.d.ts.map +1 -0
  489. package/dist/schedule/fire/fire.d.ts +1 -1
  490. package/dist/schedule/fire/fire.d.ts.map +1 -1
  491. package/dist/schedule/fire/run-script.d.ts +2 -2
  492. package/dist/schedule/fire/run-script.d.ts.map +1 -1
  493. package/dist/schedule/fire/script-report.d.ts +31 -0
  494. package/dist/schedule/fire/script-report.d.ts.map +1 -0
  495. package/dist/schedule/floor.d.ts +1 -1
  496. package/dist/schedule/floor.d.ts.map +1 -1
  497. package/dist/schedule/folder.d.ts +6 -0
  498. package/dist/schedule/folder.d.ts.map +1 -1
  499. package/dist/schedule/resume-command.d.ts +3 -3
  500. package/dist/schedule/resume-command.d.ts.map +1 -1
  501. package/dist/schedule/store/history.d.ts.map +1 -1
  502. package/dist/schedule/store/jobs.d.ts +6 -6
  503. package/dist/schedule/store/jobs.d.ts.map +1 -1
  504. package/dist/schedule/store/script-state.d.ts +31 -0
  505. package/dist/schedule/store/script-state.d.ts.map +1 -0
  506. package/dist/schedule/store/state.d.ts +4 -2
  507. package/dist/schedule/store/state.d.ts.map +1 -1
  508. package/dist/schedule/types.d.ts +61 -16
  509. package/dist/schedule/types.d.ts.map +1 -1
  510. package/dist/skills/store.d.ts.map +1 -1
  511. package/dist/terminal/host.d.ts +22 -0
  512. package/dist/terminal/host.d.ts.map +1 -0
  513. package/dist/terminal/manager.d.ts +124 -0
  514. package/dist/terminal/manager.d.ts.map +1 -0
  515. package/dist/terminal/protocol.d.ts +162 -0
  516. package/dist/terminal/protocol.d.ts.map +1 -0
  517. package/dist/terminal/pty.d.ts +85 -0
  518. package/dist/terminal/pty.d.ts.map +1 -0
  519. package/dist/terminal/ring.d.ts +23 -0
  520. package/dist/terminal/ring.d.ts.map +1 -0
  521. package/dist/terminal/screen.d.ts +31 -0
  522. package/dist/terminal/screen.d.ts.map +1 -0
  523. package/dist/termination-state.d.ts +19 -0
  524. package/dist/termination-state.d.ts.map +1 -0
  525. package/dist/termination.d.ts +2 -9
  526. package/dist/termination.d.ts.map +1 -1
  527. package/dist/tui/AgentExplorer.d.ts +4 -1
  528. package/dist/tui/AgentExplorer.d.ts.map +1 -1
  529. package/dist/tui/App.d.ts.map +1 -1
  530. package/dist/tui/BackgroundJobsPanel.d.ts.map +1 -1
  531. package/dist/tui/BrandHeader.d.ts.map +1 -1
  532. package/dist/tui/ChildComposer.d.ts +22 -0
  533. package/dist/tui/ChildComposer.d.ts.map +1 -0
  534. package/dist/tui/ChoicePicker.d.ts.map +1 -1
  535. package/dist/tui/Composer.d.ts +19 -3
  536. package/dist/tui/Composer.d.ts.map +1 -1
  537. package/dist/tui/ComposerFrame.d.ts.map +1 -1
  538. package/dist/tui/CopyPicker.d.ts.map +1 -1
  539. package/dist/tui/EditPromptPicker.d.ts.map +1 -1
  540. package/dist/tui/EffortSlider.d.ts.map +1 -1
  541. package/dist/tui/LiveActivity.d.ts +7 -1
  542. package/dist/tui/LiveActivity.d.ts.map +1 -1
  543. package/dist/tui/Markdown.d.ts.map +1 -1
  544. package/dist/tui/PendingInputPanel.d.ts.map +1 -1
  545. package/dist/tui/PermissionOverlay.d.ts.map +1 -1
  546. package/dist/tui/Picker.d.ts.map +1 -1
  547. package/dist/tui/ProviderSetup.d.ts.map +1 -1
  548. package/dist/tui/ResumePicker.d.ts.map +1 -1
  549. package/dist/tui/SaveSkillOverlay.d.ts.map +1 -1
  550. package/dist/tui/ScheduleReviewOverlay.d.ts +1 -1
  551. package/dist/tui/ScheduleReviewOverlay.d.ts.map +1 -1
  552. package/dist/tui/StatusBar.d.ts +7 -1
  553. package/dist/tui/StatusBar.d.ts.map +1 -1
  554. package/dist/tui/StatusPanel.d.ts.map +1 -1
  555. package/dist/tui/TextPrompt.d.ts.map +1 -1
  556. package/dist/tui/ToolOutputViewer.d.ts.map +1 -1
  557. package/dist/tui/Transcript.d.ts.map +1 -1
  558. package/dist/tui/TrustPrompt.d.ts +8 -0
  559. package/dist/tui/TrustPrompt.d.ts.map +1 -1
  560. package/dist/tui/agent.d.ts +125 -3
  561. package/dist/tui/agent.d.ts.map +1 -1
  562. package/dist/tui/browser-notices.d.ts.map +1 -1
  563. package/dist/tui/capability-notice.d.ts +38 -0
  564. package/dist/tui/capability-notice.d.ts.map +1 -0
  565. package/dist/tui/console-input.d.ts +31 -0
  566. package/dist/tui/console-input.d.ts.map +1 -0
  567. package/dist/tui/conversation-evidence-view.d.ts.map +1 -1
  568. package/dist/tui/credential-entry.d.ts.map +1 -1
  569. package/dist/tui/exit-summary.d.ts +9 -1
  570. package/dist/tui/exit-summary.d.ts.map +1 -1
  571. package/dist/tui/external-editor.d.ts.map +1 -1
  572. package/dist/tui/index.d.ts.map +1 -1
  573. package/dist/tui/key-hints.d.ts +51 -0
  574. package/dist/tui/key-hints.d.ts.map +1 -0
  575. package/dist/tui/launch-settings.d.ts +34 -0
  576. package/dist/tui/launch-settings.d.ts.map +1 -0
  577. package/dist/tui/log-pane.d.ts.map +1 -1
  578. package/dist/tui/model-choices.d.ts +39 -1
  579. package/dist/tui/model-choices.d.ts.map +1 -1
  580. package/dist/tui/model-search.d.ts +4 -1
  581. package/dist/tui/model-search.d.ts.map +1 -1
  582. package/dist/tui/output-size-watch.d.ts +32 -0
  583. package/dist/tui/output-size-watch.d.ts.map +1 -0
  584. package/dist/tui/permission-review.d.ts.map +1 -1
  585. package/dist/tui/person-terms.d.ts +58 -0
  586. package/dist/tui/person-terms.d.ts.map +1 -0
  587. package/dist/tui/plain-failure.d.ts +27 -0
  588. package/dist/tui/plain-failure.d.ts.map +1 -0
  589. package/dist/tui/plain-interruption.d.ts +46 -0
  590. package/dist/tui/plain-interruption.d.ts.map +1 -0
  591. package/dist/tui/provider-list.d.ts.map +1 -1
  592. package/dist/tui/render-mode.d.ts +19 -0
  593. package/dist/tui/render-mode.d.ts.map +1 -0
  594. package/dist/tui/schedule/host-commands.d.ts +2 -9
  595. package/dist/tui/schedule/host-commands.d.ts.map +1 -1
  596. package/dist/tui/schedule/integration.d.ts +8 -0
  597. package/dist/tui/schedule/integration.d.ts.map +1 -1
  598. package/dist/tui/schedule/source-deliveries.d.ts +37 -0
  599. package/dist/tui/schedule/source-deliveries.d.ts.map +1 -0
  600. package/dist/tui/schedule/startup.d.ts.map +1 -1
  601. package/dist/tui/schedule/tool-host.d.ts +3 -1
  602. package/dist/tui/schedule/tool-host.d.ts.map +1 -1
  603. package/dist/tui/setup-text.d.ts +14 -0
  604. package/dist/tui/setup-text.d.ts.map +1 -0
  605. package/dist/tui/shell-escape.d.ts.map +1 -1
  606. package/dist/tui/skills/suggest-setting.d.ts.map +1 -1
  607. package/dist/tui/slashCommands.d.ts +4 -1
  608. package/dist/tui/slashCommands.d.ts.map +1 -1
  609. package/dist/tui/terminal-choice-text.d.ts +7 -0
  610. package/dist/tui/terminal-choice-text.d.ts.map +1 -1
  611. package/dist/tui/tidy-tool-output.d.ts +83 -0
  612. package/dist/tui/tidy-tool-output.d.ts.map +1 -0
  613. package/dist/tui/tool-presentation.d.ts +6 -0
  614. package/dist/tui/tool-presentation.d.ts.map +1 -0
  615. package/dist/tui/triggers/copy.d.ts.map +1 -1
  616. package/dist/tui/triggers/setting.d.ts.map +1 -1
  617. package/dist/tui/turn-interruption.d.ts +1 -1
  618. package/dist/tui/turn-interruption.d.ts.map +1 -1
  619. package/dist/tui/turn-limits-settings.d.ts +4 -4
  620. package/dist/tui/turn-limits-settings.d.ts.map +1 -1
  621. package/dist/tui/types.d.ts +10 -0
  622. package/dist/tui/types.d.ts.map +1 -1
  623. package/dist/tui/web-activity.d.ts +3 -2
  624. package/dist/tui/web-activity.d.ts.map +1 -1
  625. package/dist/tui/zen-free-refusal.d.ts +17 -0
  626. package/dist/tui/zen-free-refusal.d.ts.map +1 -0
  627. package/dist/usage-error.d.ts +15 -0
  628. package/dist/usage-error.d.ts.map +1 -0
  629. package/dist/warning-filter.d.ts +30 -0
  630. package/dist/warning-filter.d.ts.map +1 -0
  631. package/package.json +21 -10
  632. package/skills/schedule-task/SKILL.md +74 -20
  633. package/dist/browser/commands.js +0 -365
  634. package/dist/browser/commands.js.map +0 -1
  635. package/dist/browser/control.js +0 -140
  636. package/dist/browser/control.js.map +0 -1
  637. package/dist/browser/describe.js +0 -27
  638. package/dist/browser/describe.js.map +0 -1
  639. package/dist/checkpoints/store.js +0 -192
  640. package/dist/checkpoints/store.js.map +0 -1
  641. package/dist/checkpoints/wrap.js +0 -37
  642. package/dist/checkpoints/wrap.js.map +0 -1
  643. package/dist/cli.js +0 -602
  644. package/dist/cli.js.map +0 -1
  645. package/dist/commands/acp.js +0 -388
  646. package/dist/commands/acp.js.map +0 -1
  647. package/dist/commands/archive.js +0 -65
  648. package/dist/commands/archive.js.map +0 -1
  649. package/dist/commands/browser.js +0 -16
  650. package/dist/commands/browser.js.map +0 -1
  651. package/dist/commands/doctor.js +0 -267
  652. package/dist/commands/doctor.js.map +0 -1
  653. package/dist/commands/drain.js +0 -498
  654. package/dist/commands/drain.js.map +0 -1
  655. package/dist/commands/eval.js +0 -237
  656. package/dist/commands/eval.js.map +0 -1
  657. package/dist/commands/exec-flags.js +0 -334
  658. package/dist/commands/exec-flags.js.map +0 -1
  659. package/dist/commands/exec-json.js +0 -497
  660. package/dist/commands/exec-json.js.map +0 -1
  661. package/dist/commands/exec.js +0 -688
  662. package/dist/commands/exec.js.map +0 -1
  663. package/dist/commands/host-queries.js +0 -156
  664. package/dist/commands/host-queries.js.map +0 -1
  665. package/dist/commands/login.js +0 -315
  666. package/dist/commands/login.js.map +0 -1
  667. package/dist/commands/mcp-oauth-login.js +0 -213
  668. package/dist/commands/mcp-oauth-login.js.map +0 -1
  669. package/dist/commands/mcp.js +0 -461
  670. package/dist/commands/mcp.js.map +0 -1
  671. package/dist/commands/prior-messages.js +0 -329
  672. package/dist/commands/prior-messages.js.map +0 -1
  673. package/dist/commands/provider-wait.js +0 -65
  674. package/dist/commands/provider-wait.js.map +0 -1
  675. package/dist/commands/registry.js +0 -40
  676. package/dist/commands/registry.js.map +0 -1
  677. package/dist/commands/resident-flags.js +0 -193
  678. package/dist/commands/resident-flags.js.map +0 -1
  679. package/dist/commands/resident-learning.js +0 -293
  680. package/dist/commands/resident-learning.js.map +0 -1
  681. package/dist/commands/resident.js +0 -419
  682. package/dist/commands/resident.js.map +0 -1
  683. package/dist/commands/resume.js +0 -109
  684. package/dist/commands/resume.js.map +0 -1
  685. package/dist/commands/schedule.js +0 -131
  686. package/dist/commands/schedule.js.map +0 -1
  687. package/dist/commands/serve.js +0 -21
  688. package/dist/commands/serve.js.map +0 -1
  689. package/dist/commands/skills.js +0 -178
  690. package/dist/commands/skills.js.map +0 -1
  691. package/dist/commands/state.js +0 -110
  692. package/dist/commands/state.js.map +0 -1
  693. package/dist/commands/stdin.js +0 -69
  694. package/dist/commands/stdin.js.map +0 -1
  695. package/dist/commands/types.js +0 -2
  696. package/dist/commands/types.js.map +0 -1
  697. package/dist/commands/upgrade-progress.js +0 -54
  698. package/dist/commands/upgrade-progress.js.map +0 -1
  699. package/dist/commands/upgrade.js +0 -232
  700. package/dist/commands/upgrade.js.map +0 -1
  701. package/dist/commands/worktree.js +0 -86
  702. package/dist/commands/worktree.js.map +0 -1
  703. package/dist/config/composer-triggers.js +0 -80
  704. package/dist/config/composer-triggers.js.map +0 -1
  705. package/dist/config/debug.js +0 -126
  706. package/dist/config/debug.js.map +0 -1
  707. package/dist/config/load.js +0 -1208
  708. package/dist/config/load.js.map +0 -1
  709. package/dist/config/schema.js +0 -13
  710. package/dist/config/schema.js.map +0 -1
  711. package/dist/config/tool-result-screens.js +0 -104
  712. package/dist/config/tool-result-screens.js.map +0 -1
  713. package/dist/config/trusted-project-context.js +0 -28
  714. package/dist/config/trusted-project-context.js.map +0 -1
  715. package/dist/config/turn-guards.js +0 -46
  716. package/dist/config/turn-guards.js.map +0 -1
  717. package/dist/config/user-config.js +0 -118
  718. package/dist/config/user-config.js.map +0 -1
  719. package/dist/context/capabilities.js +0 -164
  720. package/dist/context/capabilities.js.map +0 -1
  721. package/dist/context/directories.js +0 -69
  722. package/dist/context/directories.js.map +0 -1
  723. package/dist/context/doctrine.js +0 -24
  724. package/dist/context/doctrine.js.map +0 -1
  725. package/dist/context/environment.js +0 -255
  726. package/dist/context/environment.js.map +0 -1
  727. package/dist/context/project-path.js +0 -16
  728. package/dist/context/project-path.js.map +0 -1
  729. package/dist/context/project-tracker.js +0 -217
  730. package/dist/context/project-tracker.js.map +0 -1
  731. package/dist/context/project.js +0 -256
  732. package/dist/context/project.js.map +0 -1
  733. package/dist/context/runtime-message.js +0 -30
  734. package/dist/context/runtime-message.js.map +0 -1
  735. package/dist/context/sandbox.js +0 -114
  736. package/dist/context/sandbox.js.map +0 -1
  737. package/dist/context/turn-snapshot.js +0 -122
  738. package/dist/context/turn-snapshot.js.map +0 -1
  739. package/dist/doctor/checks/browser.js +0 -63
  740. package/dist/doctor/checks/browser.js.map +0 -1
  741. package/dist/doctor/checks/chain.js +0 -211
  742. package/dist/doctor/checks/chain.js.map +0 -1
  743. package/dist/doctor/checks/credentials.js +0 -98
  744. package/dist/doctor/checks/credentials.js.map +0 -1
  745. package/dist/doctor/checks/index.js +0 -72
  746. package/dist/doctor/checks/index.js.map +0 -1
  747. package/dist/doctor/checks/invariants.js +0 -79
  748. package/dist/doctor/checks/invariants.js.map +0 -1
  749. package/dist/doctor/checks/logging.js +0 -69
  750. package/dist/doctor/checks/logging.js.map +0 -1
  751. package/dist/doctor/checks/providers.js +0 -30
  752. package/dist/doctor/checks/providers.js.map +0 -1
  753. package/dist/doctor/checks/runtime.js +0 -40
  754. package/dist/doctor/checks/runtime.js.map +0 -1
  755. package/dist/doctor/checks/sandbox.js +0 -76
  756. package/dist/doctor/checks/sandbox.js.map +0 -1
  757. package/dist/doctor/checks/scheduler.js +0 -74
  758. package/dist/doctor/checks/scheduler.js.map +0 -1
  759. package/dist/doctor/checks/session-export.js +0 -62
  760. package/dist/doctor/checks/session-export.js.map +0 -1
  761. package/dist/doctor/checks/telemetry.js +0 -58
  762. package/dist/doctor/checks/telemetry.js.map +0 -1
  763. package/dist/doctor/checks/vault.js +0 -67
  764. package/dist/doctor/checks/vault.js.map +0 -1
  765. package/dist/doctor/index.js +0 -3
  766. package/dist/doctor/index.js.map +0 -1
  767. package/dist/doctor/registry.js +0 -230
  768. package/dist/doctor/registry.js.map +0 -1
  769. package/dist/exit-codes.js +0 -62
  770. package/dist/exit-codes.js.map +0 -1
  771. package/dist/installation.js +0 -48
  772. package/dist/installation.js.map +0 -1
  773. package/dist/integrations/clipboard/image.js +0 -119
  774. package/dist/integrations/clipboard/image.js.map +0 -1
  775. package/dist/integrations/clipboard/text.js +0 -43
  776. package/dist/integrations/clipboard/text.js.map +0 -1
  777. package/dist/integrations/files/attachment-store.js +0 -86
  778. package/dist/integrations/files/attachment-store.js.map +0 -1
  779. package/dist/integrations/mcp/oauth-store.js +0 -549
  780. package/dist/integrations/mcp/oauth-store.js.map +0 -1
  781. package/dist/integrations/mcp/servers.js +0 -611
  782. package/dist/integrations/mcp/servers.js.map +0 -1
  783. package/dist/integrations/mcp/user-config.js +0 -92
  784. package/dist/integrations/mcp/user-config.js.map +0 -1
  785. package/dist/integrations/notifications/desktop/freedesktop.js +0 -33
  786. package/dist/integrations/notifications/desktop/freedesktop.js.map +0 -1
  787. package/dist/integrations/notifications/desktop/macos.js +0 -17
  788. package/dist/integrations/notifications/desktop/macos.js.map +0 -1
  789. package/dist/integrations/notifications/desktop/sanitize.js +0 -49
  790. package/dist/integrations/notifications/desktop/sanitize.js.map +0 -1
  791. package/dist/integrations/notifications/desktop/throttle.js +0 -39
  792. package/dist/integrations/notifications/desktop/throttle.js.map +0 -1
  793. package/dist/integrations/notifications/desktop/windows-toast.js +0 -56
  794. package/dist/integrations/notifications/desktop/windows-toast.js.map +0 -1
  795. package/dist/integrations/notifications/desktop.js +0 -199
  796. package/dist/integrations/notifications/desktop.js.map +0 -1
  797. package/dist/integrations/notifications/terminal.js +0 -46
  798. package/dist/integrations/notifications/terminal.js.map +0 -1
  799. package/dist/integrations/npm-invocation.js +0 -23
  800. package/dist/integrations/npm-invocation.js.map +0 -1
  801. package/dist/integrations/plugins/runtime.js +0 -189
  802. package/dist/integrations/plugins/runtime.js.map +0 -1
  803. package/dist/integrations/plugins/settings.js +0 -106
  804. package/dist/integrations/plugins/settings.js.map +0 -1
  805. package/dist/integrations/providers/access.js +0 -23
  806. package/dist/integrations/providers/access.js.map +0 -1
  807. package/dist/integrations/providers/chain-capabilities.js +0 -211
  808. package/dist/integrations/providers/chain-capabilities.js.map +0 -1
  809. package/dist/integrations/providers/codex-device-login.js +0 -195
  810. package/dist/integrations/providers/codex-device-login.js.map +0 -1
  811. package/dist/integrations/providers/codex-oauth.js +0 -95
  812. package/dist/integrations/providers/codex-oauth.js.map +0 -1
  813. package/dist/integrations/providers/credential-provider.js +0 -74
  814. package/dist/integrations/providers/credential-provider.js.map +0 -1
  815. package/dist/integrations/providers/credential-store.js +0 -657
  816. package/dist/integrations/providers/credential-store.js.map +0 -1
  817. package/dist/integrations/providers/current-credential.js +0 -45
  818. package/dist/integrations/providers/current-credential.js.map +0 -1
  819. package/dist/integrations/providers/discover.js +0 -313
  820. package/dist/integrations/providers/discover.js.map +0 -1
  821. package/dist/integrations/providers/gemini-credentials.js +0 -148
  822. package/dist/integrations/providers/gemini-credentials.js.map +0 -1
  823. package/dist/integrations/providers/harness-credentials.js +0 -344
  824. package/dist/integrations/providers/harness-credentials.js.map +0 -1
  825. package/dist/integrations/providers/identity.js +0 -64
  826. package/dist/integrations/providers/identity.js.map +0 -1
  827. package/dist/integrations/providers/index.js +0 -14
  828. package/dist/integrations/providers/index.js.map +0 -1
  829. package/dist/integrations/providers/keychain.js +0 -78
  830. package/dist/integrations/providers/keychain.js.map +0 -1
  831. package/dist/integrations/providers/model-reasoning.js +0 -51
  832. package/dist/integrations/providers/model-reasoning.js.map +0 -1
  833. package/dist/integrations/providers/oauth.js +0 -302
  834. package/dist/integrations/providers/oauth.js.map +0 -1
  835. package/dist/integrations/providers/preferences.js +0 -287
  836. package/dist/integrations/providers/preferences.js.map +0 -1
  837. package/dist/integrations/providers/register.js +0 -154
  838. package/dist/integrations/providers/register.js.map +0 -1
  839. package/dist/integrations/providers/registry.js +0 -289
  840. package/dist/integrations/providers/registry.js.map +0 -1
  841. package/dist/integrations/providers/setup.js +0 -158
  842. package/dist/integrations/providers/setup.js.map +0 -1
  843. package/dist/integrations/providers/subscription-login.js +0 -328
  844. package/dist/integrations/providers/subscription-login.js.map +0 -1
  845. package/dist/integrations/providers/zen-catalogue.js +0 -196
  846. package/dist/integrations/providers/zen-catalogue.js.map +0 -1
  847. package/dist/integrations/resident/foreground.js +0 -95
  848. package/dist/integrations/resident/foreground.js.map +0 -1
  849. package/dist/integrations/resident/inspection.js +0 -282
  850. package/dist/integrations/resident/inspection.js.map +0 -1
  851. package/dist/integrations/resident/learning-sources.js +0 -79
  852. package/dist/integrations/resident/learning-sources.js.map +0 -1
  853. package/dist/integrations/resident/learning-storage.js +0 -55
  854. package/dist/integrations/resident/learning-storage.js.map +0 -1
  855. package/dist/integrations/resident/lifecycle-errors.js +0 -15
  856. package/dist/integrations/resident/lifecycle-errors.js.map +0 -1
  857. package/dist/integrations/resident/owned-runner.js +0 -91
  858. package/dist/integrations/resident/owned-runner.js.map +0 -1
  859. package/dist/integrations/resident/runner-control.js +0 -238
  860. package/dist/integrations/resident/runner-control.js.map +0 -1
  861. package/dist/integrations/resident/runner-launch.js +0 -142
  862. package/dist/integrations/resident/runner-launch.js.map +0 -1
  863. package/dist/integrations/resident/runner-store.js +0 -284
  864. package/dist/integrations/resident/runner-store.js.map +0 -1
  865. package/dist/integrations/resident/session-log-reads.js +0 -125
  866. package/dist/integrations/resident/session-log-reads.js.map +0 -1
  867. package/dist/integrations/resident/session-step.js +0 -476
  868. package/dist/integrations/resident/session-step.js.map +0 -1
  869. package/dist/integrations/resident/storage.js +0 -183
  870. package/dist/integrations/resident/storage.js.map +0 -1
  871. package/dist/integrations/resident/tool-evidence.js +0 -123
  872. package/dist/integrations/resident/tool-evidence.js.map +0 -1
  873. package/dist/integrations/resident/verification.js +0 -109
  874. package/dist/integrations/resident/verification.js.map +0 -1
  875. package/dist/integrations/sessions/checkpoint-view.js +0 -48
  876. package/dist/integrations/sessions/checkpoint-view.js.map +0 -1
  877. package/dist/integrations/sessions/context-inventory.js +0 -44
  878. package/dist/integrations/sessions/context-inventory.js.map +0 -1
  879. package/dist/integrations/sessions/conversation-search.js +0 -572
  880. package/dist/integrations/sessions/conversation-search.js.map +0 -1
  881. package/dist/integrations/sessions/display-title.js +0 -5
  882. package/dist/integrations/sessions/display-title.js.map +0 -1
  883. package/dist/integrations/sessions/evidence-page-validation.js +0 -74
  884. package/dist/integrations/sessions/evidence-page-validation.js.map +0 -1
  885. package/dist/integrations/sessions/evidence-recall.js +0 -117
  886. package/dist/integrations/sessions/evidence-recall.js.map +0 -1
  887. package/dist/integrations/sessions/store.js +0 -780
  888. package/dist/integrations/sessions/store.js.map +0 -1
  889. package/dist/integrations/sessions/task-context.js +0 -96
  890. package/dist/integrations/sessions/task-context.js.map +0 -1
  891. package/dist/integrations/sessions/transcript-export.js +0 -342
  892. package/dist/integrations/sessions/transcript-export.js.map +0 -1
  893. package/dist/integrations/state/home.js +0 -17
  894. package/dist/integrations/state/home.js.map +0 -1
  895. package/dist/integrations/state/identity.js +0 -49
  896. package/dist/integrations/state/identity.js.map +0 -1
  897. package/dist/integrations/state/immutable-json.js +0 -38
  898. package/dist/integrations/state/immutable-json.js.map +0 -1
  899. package/dist/integrations/state/private-directory.js +0 -43
  900. package/dist/integrations/state/private-directory.js.map +0 -1
  901. package/dist/integrations/state/project.js +0 -13
  902. package/dist/integrations/state/project.js.map +0 -1
  903. package/dist/integrations/state/report.js +0 -626
  904. package/dist/integrations/state/report.js.map +0 -1
  905. package/dist/integrations/state/retention.js +0 -18
  906. package/dist/integrations/state/retention.js.map +0 -1
  907. package/dist/integrations/subagents/NamzuCliAgent.js +0 -9
  908. package/dist/integrations/subagents/NamzuCliAgent.js.map +0 -1
  909. package/dist/integrations/subagents/activity.js +0 -759
  910. package/dist/integrations/subagents/activity.js.map +0 -1
  911. package/dist/integrations/subagents/batches.js +0 -172
  912. package/dist/integrations/subagents/batches.js.map +0 -1
  913. package/dist/integrations/subagents/definitions.js +0 -26
  914. package/dist/integrations/subagents/definitions.js.map +0 -1
  915. package/dist/integrations/subagents/model-effort.js +0 -12
  916. package/dist/integrations/subagents/model-effort.js.map +0 -1
  917. package/dist/integrations/subagents/parent.js +0 -47
  918. package/dist/integrations/subagents/parent.js.map +0 -1
  919. package/dist/integrations/subagents/policy.js +0 -3
  920. package/dist/integrations/subagents/policy.js.map +0 -1
  921. package/dist/integrations/subagents/replay.js +0 -295
  922. package/dist/integrations/subagents/replay.js.map +0 -1
  923. package/dist/integrations/subagents/runtime.js +0 -1317
  924. package/dist/integrations/subagents/runtime.js.map +0 -1
  925. package/dist/integrations/subagents/saved-agents.js +0 -102
  926. package/dist/integrations/subagents/saved-agents.js.map +0 -1
  927. package/dist/integrations/subagents/slash.js +0 -45
  928. package/dist/integrations/subagents/slash.js.map +0 -1
  929. package/dist/integrations/subagents/worktree-driver.js +0 -72
  930. package/dist/integrations/subagents/worktree-driver.js.map +0 -1
  931. package/dist/integrations/telemetry/session-export.js +0 -119
  932. package/dist/integrations/telemetry/session-export.js.map +0 -1
  933. package/dist/integrations/trust/store.js +0 -73
  934. package/dist/integrations/trust/store.js.map +0 -1
  935. package/dist/integrations/updates.js +0 -115
  936. package/dist/integrations/updates.js.map +0 -1
  937. package/dist/integrations/web/exa-search.js +0 -154
  938. package/dist/integrations/web/exa-search.js.map +0 -1
  939. package/dist/integrations/web/open-url.js +0 -73
  940. package/dist/integrations/web/open-url.js.map +0 -1
  941. package/dist/integrations/web/search.js +0 -68
  942. package/dist/integrations/web/search.js.map +0 -1
  943. package/dist/integrations/worktrees/managed.js +0 -231
  944. package/dist/integrations/worktrees/managed.js.map +0 -1
  945. package/dist/logging.js +0 -115
  946. package/dist/logging.js.map +0 -1
  947. package/dist/memory/io.js +0 -177
  948. package/dist/memory/io.js.map +0 -1
  949. package/dist/memory/presentation.js +0 -76
  950. package/dist/memory/presentation.js.map +0 -1
  951. package/dist/memory/store.js +0 -180
  952. package/dist/memory/store.js.map +0 -1
  953. package/dist/memory/typed.js +0 -336
  954. package/dist/memory/typed.js.map +0 -1
  955. package/dist/output/formatter.js +0 -16
  956. package/dist/output/formatter.js.map +0 -1
  957. package/dist/output/index.js +0 -22
  958. package/dist/output/index.js.map +0 -1
  959. package/dist/output/json.js +0 -51
  960. package/dist/output/json.js.map +0 -1
  961. package/dist/output/text.js +0 -50
  962. package/dist/output/text.js.map +0 -1
  963. package/dist/output/yaml.js +0 -26
  964. package/dist/output/yaml.js.map +0 -1
  965. package/dist/output-schema.js +0 -18
  966. package/dist/output-schema.js.map +0 -1
  967. package/dist/permissions/browser-sites.js +0 -270
  968. package/dist/permissions/browser-sites.js.map +0 -1
  969. package/dist/permissions/canonical-project.js +0 -13
  970. package/dist/permissions/canonical-project.js.map +0 -1
  971. package/dist/permissions/checks.js +0 -128
  972. package/dist/permissions/checks.js.map +0 -1
  973. package/dist/permissions/headless-trust.js +0 -86
  974. package/dist/permissions/headless-trust.js.map +0 -1
  975. package/dist/permissions/live-mode.js +0 -62
  976. package/dist/permissions/live-mode.js.map +0 -1
  977. package/dist/permissions/mode.js +0 -65
  978. package/dist/permissions/mode.js.map +0 -1
  979. package/dist/permissions/rules.js +0 -358
  980. package/dist/permissions/rules.js.map +0 -1
  981. package/dist/release-notes.js +0 -64
  982. package/dist/release-notes.js.map +0 -1
  983. package/dist/resume-invocation.js +0 -24
  984. package/dist/resume-invocation.js.map +0 -1
  985. package/dist/schedule/build.js +0 -374
  986. package/dist/schedule/build.js.map +0 -1
  987. package/dist/schedule/changes.js +0 -78
  988. package/dist/schedule/changes.js.map +0 -1
  989. package/dist/schedule/commands/add.js +0 -603
  990. package/dist/schedule/commands/add.js.map +0 -1
  991. package/dist/schedule/commands/args.js +0 -80
  992. package/dist/schedule/commands/args.js.map +0 -1
  993. package/dist/schedule/commands/confirm-prompt.js +0 -21
  994. package/dist/schedule/commands/confirm-prompt.js.map +0 -1
  995. package/dist/schedule/commands/lifecycle.js +0 -586
  996. package/dist/schedule/commands/lifecycle.js.map +0 -1
  997. package/dist/schedule/commands/list.js +0 -260
  998. package/dist/schedule/commands/list.js.map +0 -1
  999. package/dist/schedule/commands/logs.js +0 -106
  1000. package/dist/schedule/commands/logs.js.map +0 -1
  1001. package/dist/schedule/commands/service.js +0 -458
  1002. package/dist/schedule/commands/service.js.map +0 -1
  1003. package/dist/schedule/daemon/daemon.js +0 -1265
  1004. package/dist/schedule/daemon/daemon.js.map +0 -1
  1005. package/dist/schedule/daemon/endpoint.js +0 -158
  1006. package/dist/schedule/daemon/endpoint.js.map +0 -1
  1007. package/dist/schedule/daemon/exit.js +0 -8
  1008. package/dist/schedule/daemon/exit.js.map +0 -1
  1009. package/dist/schedule/daemon/log.js +0 -53
  1010. package/dist/schedule/daemon/log.js.map +0 -1
  1011. package/dist/schedule/daemon/notify.js +0 -158
  1012. package/dist/schedule/daemon/notify.js.map +0 -1
  1013. package/dist/schedule/daemon/retention.js +0 -46
  1014. package/dist/schedule/daemon/retention.js.map +0 -1
  1015. package/dist/schedule/daemon/sessions.js +0 -52
  1016. package/dist/schedule/daemon/sessions.js.map +0 -1
  1017. package/dist/schedule/env.js +0 -106
  1018. package/dist/schedule/env.js.map +0 -1
  1019. package/dist/schedule/fire/browser-preflight.js +0 -73
  1020. package/dist/schedule/fire/browser-preflight.js.map +0 -1
  1021. package/dist/schedule/fire/calls.js +0 -114
  1022. package/dist/schedule/fire/calls.js.map +0 -1
  1023. package/dist/schedule/fire/fire.js +0 -681
  1024. package/dist/schedule/fire/fire.js.map +0 -1
  1025. package/dist/schedule/fire/result.js +0 -19
  1026. package/dist/schedule/fire/result.js.map +0 -1
  1027. package/dist/schedule/fire/run-script.js +0 -81
  1028. package/dist/schedule/fire/run-script.js.map +0 -1
  1029. package/dist/schedule/fire/unattended-note.js +0 -51
  1030. package/dist/schedule/fire/unattended-note.js.map +0 -1
  1031. package/dist/schedule/fire/wake-gate.js +0 -90
  1032. package/dist/schedule/fire/wake-gate.js.map +0 -1
  1033. package/dist/schedule/floor.js +0 -1561
  1034. package/dist/schedule/floor.js.map +0 -1
  1035. package/dist/schedule/folder.js +0 -84
  1036. package/dist/schedule/folder.js.map +0 -1
  1037. package/dist/schedule/paths.js +0 -53
  1038. package/dist/schedule/paths.js.map +0 -1
  1039. package/dist/schedule/policy.js +0 -414
  1040. package/dist/schedule/policy.js.map +0 -1
  1041. package/dist/schedule/resume-command.js +0 -72
  1042. package/dist/schedule/resume-command.js.map +0 -1
  1043. package/dist/schedule/script-check.js +0 -146
  1044. package/dist/schedule/script-check.js.map +0 -1
  1045. package/dist/schedule/script-shell.js +0 -5
  1046. package/dist/schedule/script-shell.js.map +0 -1
  1047. package/dist/schedule/service/detect.js +0 -29
  1048. package/dist/schedule/service/detect.js.map +0 -1
  1049. package/dist/schedule/service/index.js +0 -361
  1050. package/dist/schedule/service/index.js.map +0 -1
  1051. package/dist/schedule/service/launchd.js +0 -84
  1052. package/dist/schedule/service/launchd.js.map +0 -1
  1053. package/dist/schedule/service/manifest.js +0 -16
  1054. package/dist/schedule/service/manifest.js.map +0 -1
  1055. package/dist/schedule/service/names.js +0 -22
  1056. package/dist/schedule/service/names.js.map +0 -1
  1057. package/dist/schedule/service/quote.js +0 -64
  1058. package/dist/schedule/service/quote.js.map +0 -1
  1059. package/dist/schedule/service/runner.js +0 -31
  1060. package/dist/schedule/service/runner.js.map +0 -1
  1061. package/dist/schedule/service/systemd.js +0 -96
  1062. package/dist/schedule/service/systemd.js.map +0 -1
  1063. package/dist/schedule/service/windows-task.js +0 -199
  1064. package/dist/schedule/service/windows-task.js.map +0 -1
  1065. package/dist/schedule/service/wsl.js +0 -121
  1066. package/dist/schedule/service/wsl.js.map +0 -1
  1067. package/dist/schedule/store/atomic.js +0 -138
  1068. package/dist/schedule/store/atomic.js.map +0 -1
  1069. package/dist/schedule/store/claims.js +0 -57
  1070. package/dist/schedule/store/claims.js.map +0 -1
  1071. package/dist/schedule/store/digest.js +0 -139
  1072. package/dist/schedule/store/digest.js.map +0 -1
  1073. package/dist/schedule/store/history.js +0 -117
  1074. package/dist/schedule/store/history.js.map +0 -1
  1075. package/dist/schedule/store/jobs.js +0 -277
  1076. package/dist/schedule/store/jobs.js.map +0 -1
  1077. package/dist/schedule/store/state.js +0 -38
  1078. package/dist/schedule/store/state.js.map +0 -1
  1079. package/dist/schedule/types.js +0 -33
  1080. package/dist/schedule/types.js.map +0 -1
  1081. package/dist/schedule/visible-source.js +0 -59
  1082. package/dist/schedule/visible-source.js.map +0 -1
  1083. package/dist/skills/audit.js +0 -75
  1084. package/dist/skills/audit.js.map +0 -1
  1085. package/dist/skills/catalog.js +0 -226
  1086. package/dist/skills/catalog.js.map +0 -1
  1087. package/dist/skills/directory.js +0 -51
  1088. package/dist/skills/directory.js.map +0 -1
  1089. package/dist/skills/save.js +0 -344
  1090. package/dist/skills/save.js.map +0 -1
  1091. package/dist/skills/store.js +0 -351
  1092. package/dist/skills/store.js.map +0 -1
  1093. package/dist/termination.js +0 -143
  1094. package/dist/termination.js.map +0 -1
  1095. package/dist/test-support/toolset.js +0 -27
  1096. package/dist/test-support/toolset.js.map +0 -1
  1097. package/dist/tui/AgentExplorer.js +0 -789
  1098. package/dist/tui/AgentExplorer.js.map +0 -1
  1099. package/dist/tui/App.js +0 -8499
  1100. package/dist/tui/App.js.map +0 -1
  1101. package/dist/tui/BackgroundJobsPanel.js +0 -129
  1102. package/dist/tui/BackgroundJobsPanel.js.map +0 -1
  1103. package/dist/tui/BrandHeader.js +0 -14
  1104. package/dist/tui/BrandHeader.js.map +0 -1
  1105. package/dist/tui/Checklist.js +0 -90
  1106. package/dist/tui/Checklist.js.map +0 -1
  1107. package/dist/tui/ChoicePicker.js +0 -64
  1108. package/dist/tui/ChoicePicker.js.map +0 -1
  1109. package/dist/tui/Composer.js +0 -939
  1110. package/dist/tui/Composer.js.map +0 -1
  1111. package/dist/tui/ComposerFrame.js +0 -79
  1112. package/dist/tui/ComposerFrame.js.map +0 -1
  1113. package/dist/tui/CopyPicker.js +0 -19
  1114. package/dist/tui/CopyPicker.js.map +0 -1
  1115. package/dist/tui/EditPromptPicker.js +0 -17
  1116. package/dist/tui/EditPromptPicker.js.map +0 -1
  1117. package/dist/tui/EffortSlider.js +0 -134
  1118. package/dist/tui/EffortSlider.js.map +0 -1
  1119. package/dist/tui/LiveActivity.js +0 -89
  1120. package/dist/tui/LiveActivity.js.map +0 -1
  1121. package/dist/tui/Markdown.js +0 -137
  1122. package/dist/tui/Markdown.js.map +0 -1
  1123. package/dist/tui/PendingInputPanel.js +0 -108
  1124. package/dist/tui/PendingInputPanel.js.map +0 -1
  1125. package/dist/tui/PermissionOverlay.js +0 -278
  1126. package/dist/tui/PermissionOverlay.js.map +0 -1
  1127. package/dist/tui/Picker.js +0 -1310
  1128. package/dist/tui/Picker.js.map +0 -1
  1129. package/dist/tui/ProviderSetup.js +0 -125
  1130. package/dist/tui/ProviderSetup.js.map +0 -1
  1131. package/dist/tui/ResumePicker.js +0 -34
  1132. package/dist/tui/ResumePicker.js.map +0 -1
  1133. package/dist/tui/SaveSkillOverlay.js +0 -118
  1134. package/dist/tui/SaveSkillOverlay.js.map +0 -1
  1135. package/dist/tui/ScheduleReviewOverlay.js +0 -166
  1136. package/dist/tui/ScheduleReviewOverlay.js.map +0 -1
  1137. package/dist/tui/StatusBar.js +0 -182
  1138. package/dist/tui/StatusBar.js.map +0 -1
  1139. package/dist/tui/StatusPanel.js +0 -11
  1140. package/dist/tui/StatusPanel.js.map +0 -1
  1141. package/dist/tui/TaskList.js +0 -43
  1142. package/dist/tui/TaskList.js.map +0 -1
  1143. package/dist/tui/TextPrompt.js +0 -185
  1144. package/dist/tui/TextPrompt.js.map +0 -1
  1145. package/dist/tui/ToolOutputViewer.js +0 -39
  1146. package/dist/tui/ToolOutputViewer.js.map +0 -1
  1147. package/dist/tui/Transcript.js +0 -235
  1148. package/dist/tui/Transcript.js.map +0 -1
  1149. package/dist/tui/TrustPrompt.js +0 -13
  1150. package/dist/tui/TrustPrompt.js.map +0 -1
  1151. package/dist/tui/ViewportBound.js +0 -55
  1152. package/dist/tui/ViewportBound.js.map +0 -1
  1153. package/dist/tui/agent-transcript-rows.js +0 -115
  1154. package/dist/tui/agent-transcript-rows.js.map +0 -1
  1155. package/dist/tui/agent.js +0 -4301
  1156. package/dist/tui/agent.js.map +0 -1
  1157. package/dist/tui/browser-notices.js +0 -107
  1158. package/dist/tui/browser-notices.js.map +0 -1
  1159. package/dist/tui/choice-selection.js +0 -38
  1160. package/dist/tui/choice-selection.js.map +0 -1
  1161. package/dist/tui/compact-transcript.js +0 -46
  1162. package/dist/tui/compact-transcript.js.map +0 -1
  1163. package/dist/tui/consent-timing.js +0 -48
  1164. package/dist/tui/consent-timing.js.map +0 -1
  1165. package/dist/tui/conversation-evidence-view.js +0 -96
  1166. package/dist/tui/conversation-evidence-view.js.map +0 -1
  1167. package/dist/tui/conversation-history.js +0 -33
  1168. package/dist/tui/conversation-history.js.map +0 -1
  1169. package/dist/tui/copy-targets.js +0 -189
  1170. package/dist/tui/copy-targets.js.map +0 -1
  1171. package/dist/tui/credential-entry.js +0 -134
  1172. package/dist/tui/credential-entry.js.map +0 -1
  1173. package/dist/tui/edit-prompts.js +0 -35
  1174. package/dist/tui/edit-prompts.js.map +0 -1
  1175. package/dist/tui/exit-summary.js +0 -30
  1176. package/dist/tui/exit-summary.js.map +0 -1
  1177. package/dist/tui/external-editor.js +0 -169
  1178. package/dist/tui/external-editor.js.map +0 -1
  1179. package/dist/tui/hypermode.js +0 -58
  1180. package/dist/tui/hypermode.js.map +0 -1
  1181. package/dist/tui/index.js +0 -81
  1182. package/dist/tui/index.js.map +0 -1
  1183. package/dist/tui/live-window.js +0 -281
  1184. package/dist/tui/live-window.js.map +0 -1
  1185. package/dist/tui/log-pane.js +0 -100
  1186. package/dist/tui/log-pane.js.map +0 -1
  1187. package/dist/tui/login-prompt.js +0 -105
  1188. package/dist/tui/login-prompt.js.map +0 -1
  1189. package/dist/tui/logo.js +0 -9
  1190. package/dist/tui/logo.js.map +0 -1
  1191. package/dist/tui/markdown-block-cache.js +0 -76
  1192. package/dist/tui/markdown-block-cache.js.map +0 -1
  1193. package/dist/tui/markdown-table.js +0 -175
  1194. package/dist/tui/markdown-table.js.map +0 -1
  1195. package/dist/tui/markdown-wrap.js +0 -189
  1196. package/dist/tui/markdown-wrap.js.map +0 -1
  1197. package/dist/tui/markdownParser.js +0 -237
  1198. package/dist/tui/markdownParser.js.map +0 -1
  1199. package/dist/tui/mentions.js +0 -150
  1200. package/dist/tui/mentions.js.map +0 -1
  1201. package/dist/tui/model-catalogue-view.js +0 -75
  1202. package/dist/tui/model-catalogue-view.js.map +0 -1
  1203. package/dist/tui/model-choices.js +0 -157
  1204. package/dist/tui/model-choices.js.map +0 -1
  1205. package/dist/tui/model-search.js +0 -28
  1206. package/dist/tui/model-search.js.map +0 -1
  1207. package/dist/tui/model-selection-intent.js +0 -96
  1208. package/dist/tui/model-selection-intent.js.map +0 -1
  1209. package/dist/tui/model-switch-tool.js +0 -74
  1210. package/dist/tui/model-switch-tool.js.map +0 -1
  1211. package/dist/tui/model-switch.js +0 -106
  1212. package/dist/tui/model-switch.js.map +0 -1
  1213. package/dist/tui/notices.js +0 -27
  1214. package/dist/tui/notices.js.map +0 -1
  1215. package/dist/tui/open-browser.js +0 -147
  1216. package/dist/tui/open-browser.js.map +0 -1
  1217. package/dist/tui/permission-review.js +0 -858
  1218. package/dist/tui/permission-review.js.map +0 -1
  1219. package/dist/tui/plugin-view.js +0 -59
  1220. package/dist/tui/plugin-view.js.map +0 -1
  1221. package/dist/tui/provider-list.js +0 -327
  1222. package/dist/tui/provider-list.js.map +0 -1
  1223. package/dist/tui/provider-selection.js +0 -16
  1224. package/dist/tui/provider-selection.js.map +0 -1
  1225. package/dist/tui/schedule/host-commands.js +0 -428
  1226. package/dist/tui/schedule/host-commands.js.map +0 -1
  1227. package/dist/tui/schedule/integration.js +0 -150
  1228. package/dist/tui/schedule/integration.js.map +0 -1
  1229. package/dist/tui/schedule/loop-host.js +0 -153
  1230. package/dist/tui/schedule/loop-host.js.map +0 -1
  1231. package/dist/tui/schedule/resume.js +0 -333
  1232. package/dist/tui/schedule/resume.js.map +0 -1
  1233. package/dist/tui/schedule/startup.js +0 -121
  1234. package/dist/tui/schedule/startup.js.map +0 -1
  1235. package/dist/tui/schedule/tool-host.js +0 -619
  1236. package/dist/tui/schedule/tool-host.js.map +0 -1
  1237. package/dist/tui/selection-window.js +0 -37
  1238. package/dist/tui/selection-window.js.map +0 -1
  1239. package/dist/tui/shell-escape.js +0 -110
  1240. package/dist/tui/shell-escape.js.map +0 -1
  1241. package/dist/tui/skills/learning.js +0 -131
  1242. package/dist/tui/skills/learning.js.map +0 -1
  1243. package/dist/tui/skills/suggest-setting.js +0 -55
  1244. package/dist/tui/skills/suggest-setting.js.map +0 -1
  1245. package/dist/tui/skills/suggestion-ledger.js +0 -52
  1246. package/dist/tui/skills/suggestion-ledger.js.map +0 -1
  1247. package/dist/tui/slashCommands.js +0 -1588
  1248. package/dist/tui/slashCommands.js.map +0 -1
  1249. package/dist/tui/status-card.js +0 -30
  1250. package/dist/tui/status-card.js.map +0 -1
  1251. package/dist/tui/status-panel-layout.js +0 -42
  1252. package/dist/tui/status-panel-layout.js.map +0 -1
  1253. package/dist/tui/stream-blocks.js +0 -187
  1254. package/dist/tui/stream-blocks.js.map +0 -1
  1255. package/dist/tui/task-activity.js +0 -157
  1256. package/dist/tui/task-activity.js.map +0 -1
  1257. package/dist/tui/terminal-choice-text.js +0 -118
  1258. package/dist/tui/terminal-choice-text.js.map +0 -1
  1259. package/dist/tui/terminal-display.js +0 -65
  1260. package/dist/tui/terminal-display.js.map +0 -1
  1261. package/dist/tui/terminal-hyperlinks.js +0 -70
  1262. package/dist/tui/terminal-hyperlinks.js.map +0 -1
  1263. package/dist/tui/theme.js +0 -34
  1264. package/dist/tui/theme.js.map +0 -1
  1265. package/dist/tui/triggers/analyze.js +0 -221
  1266. package/dist/tui/triggers/analyze.js.map +0 -1
  1267. package/dist/tui/triggers/context-text.js +0 -44
  1268. package/dist/tui/triggers/context-text.js.map +0 -1
  1269. package/dist/tui/triggers/copy.js +0 -163
  1270. package/dist/tui/triggers/copy.js.map +0 -1
  1271. package/dist/tui/triggers/detect.js +0 -295
  1272. package/dist/tui/triggers/detect.js.map +0 -1
  1273. package/dist/tui/triggers/fold.js +0 -44
  1274. package/dist/tui/triggers/fold.js.map +0 -1
  1275. package/dist/tui/triggers/pattern.js +0 -243
  1276. package/dist/tui/triggers/pattern.js.map +0 -1
  1277. package/dist/tui/triggers/provenance.js +0 -98
  1278. package/dist/tui/triggers/provenance.js.map +0 -1
  1279. package/dist/tui/triggers/registry.js +0 -164
  1280. package/dist/tui/triggers/registry.js.map +0 -1
  1281. package/dist/tui/triggers/setting.js +0 -61
  1282. package/dist/tui/triggers/setting.js.map +0 -1
  1283. package/dist/tui/triggers/verbs.js +0 -140
  1284. package/dist/tui/triggers/verbs.js.map +0 -1
  1285. package/dist/tui/turn-interruption.js +0 -160
  1286. package/dist/tui/turn-interruption.js.map +0 -1
  1287. package/dist/tui/turn-limits-settings.js +0 -88
  1288. package/dist/tui/turn-limits-settings.js.map +0 -1
  1289. package/dist/tui/types.js +0 -7
  1290. package/dist/tui/types.js.map +0 -1
  1291. package/dist/tui/units.js +0 -20
  1292. package/dist/tui/units.js.map +0 -1
  1293. package/dist/tui/use-selection-index.js +0 -13
  1294. package/dist/tui/use-selection-index.js.map +0 -1
  1295. package/dist/tui/web-activity.js +0 -105
  1296. package/dist/tui/web-activity.js.map +0 -1
  1297. package/dist/tui/workspace-diff.js +0 -101
  1298. package/dist/tui/workspace-diff.js.map +0 -1
  1299. package/dist/tui/workspace-review.js +0 -67
  1300. package/dist/tui/workspace-review.js.map +0 -1
  1301. package/dist/user-commands/store.js +0 -235
  1302. package/dist/user-commands/store.js.map +0 -1
  1303. package/dist/version.js +0 -23
  1304. 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