@namzu/cli 34.1.1 → 36.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1306) hide show
  1. package/CHANGELOG.md +800 -0
  2. package/README.md +160 -394
  3. package/assets/pal-blender-mcp.py +123 -0
  4. package/assets/pal-godot-mcp-pin.json +135 -0
  5. package/assets/pal-godot-mcp.cjs +418 -0
  6. package/dist/bin-main.d.ts +3 -0
  7. package/dist/bin-main.d.ts.map +1 -0
  8. package/dist/bin.d.ts +2 -1
  9. package/dist/bin.d.ts.map +1 -1
  10. package/dist/bin.js +85 -23
  11. package/dist/bin.js.map +6 -1
  12. package/dist/boot-narrative.d.ts +16 -0
  13. package/dist/boot-narrative.d.ts.map +1 -0
  14. package/dist/checkpoints/manifest.d.ts +107 -0
  15. package/dist/checkpoints/manifest.d.ts.map +1 -0
  16. package/dist/checkpoints/store.d.ts +280 -40
  17. package/dist/checkpoints/store.d.ts.map +1 -1
  18. package/dist/checkpoints/undo-plan.d.ts +83 -0
  19. package/dist/checkpoints/undo-plan.d.ts.map +1 -0
  20. package/dist/checkpoints/wrap.d.ts +4 -0
  21. package/dist/checkpoints/wrap.d.ts.map +1 -1
  22. package/dist/chunks/acp-BOSEA4R3.js +13448 -0
  23. package/dist/chunks/acp-BOSEA4R3.js.map +6 -0
  24. package/dist/chunks/activity-command-ACS7KL3C.js +262 -0
  25. package/dist/chunks/activity-command-ACS7KL3C.js.map +6 -0
  26. package/dist/chunks/add-DLS54YKS.js +712 -0
  27. package/dist/chunks/add-DLS54YKS.js.map +6 -0
  28. package/dist/chunks/agent-GV3DWYQC.js +87 -0
  29. package/dist/chunks/agent-GV3DWYQC.js.map +6 -0
  30. package/dist/chunks/agent-session-7VE6GJJH.js +46 -0
  31. package/dist/chunks/agent-session-7VE6GJJH.js.map +6 -0
  32. package/dist/chunks/archive-6ZENIEBP.js +84 -0
  33. package/dist/chunks/archive-6ZENIEBP.js.map +6 -0
  34. package/dist/chunks/bin-main-NFFT5ZIU.js +126 -0
  35. package/dist/chunks/bin-main-NFFT5ZIU.js.map +6 -0
  36. package/dist/chunks/browser-VT2U6NG2.js +31 -0
  37. package/dist/chunks/browser-VT2U6NG2.js.map +6 -0
  38. package/dist/chunks/chat-UNYVLDFL.js +101 -0
  39. package/dist/chunks/chat-UNYVLDFL.js.map +6 -0
  40. package/dist/chunks/chunk-2IL6OG3X.js +311 -0
  41. package/dist/chunks/chunk-2IL6OG3X.js.map +6 -0
  42. package/dist/chunks/chunk-2RBYHHLM.js +319 -0
  43. package/dist/chunks/chunk-2RBYHHLM.js.map +6 -0
  44. package/dist/chunks/chunk-42ZK2AH4.js +71 -0
  45. package/dist/chunks/chunk-42ZK2AH4.js.map +6 -0
  46. package/dist/chunks/chunk-5PQVJBIO.js +168 -0
  47. package/dist/chunks/chunk-5PQVJBIO.js.map +6 -0
  48. package/dist/chunks/chunk-6CPT2ZBS.js +75 -0
  49. package/dist/chunks/chunk-6CPT2ZBS.js.map +6 -0
  50. package/dist/chunks/chunk-6LLJQ3KY.js +225 -0
  51. package/dist/chunks/chunk-6LLJQ3KY.js.map +6 -0
  52. package/dist/chunks/chunk-6YFJDVGA.js +161 -0
  53. package/dist/chunks/chunk-6YFJDVGA.js.map +6 -0
  54. package/dist/chunks/chunk-6YG7D7U4.js +159 -0
  55. package/dist/chunks/chunk-6YG7D7U4.js.map +6 -0
  56. package/dist/chunks/chunk-6ZPODOJN.js +828 -0
  57. package/dist/chunks/chunk-6ZPODOJN.js.map +6 -0
  58. package/dist/chunks/chunk-76FLAFCG.js +51 -0
  59. package/dist/chunks/chunk-76FLAFCG.js.map +6 -0
  60. package/dist/chunks/chunk-7HCPD673.js +25326 -0
  61. package/dist/chunks/chunk-7HCPD673.js.map +6 -0
  62. package/dist/chunks/chunk-7KWGR2YA.js +257 -0
  63. package/dist/chunks/chunk-7KWGR2YA.js.map +6 -0
  64. package/dist/chunks/chunk-A22MBIYU.js +42 -0
  65. package/dist/chunks/chunk-A22MBIYU.js.map +6 -0
  66. package/dist/chunks/chunk-AHIDYIRB.js +329 -0
  67. package/dist/chunks/chunk-AHIDYIRB.js.map +6 -0
  68. package/dist/chunks/chunk-AK2U3N2A.js +31 -0
  69. package/dist/chunks/chunk-AK2U3N2A.js.map +6 -0
  70. package/dist/chunks/chunk-AKKRZTPB.js +283 -0
  71. package/dist/chunks/chunk-AKKRZTPB.js.map +6 -0
  72. package/dist/chunks/chunk-BCZR2B3Y.js +97 -0
  73. package/dist/chunks/chunk-BCZR2B3Y.js.map +6 -0
  74. package/dist/chunks/chunk-CHIEVVQ2.js +32 -0
  75. package/dist/chunks/chunk-CHIEVVQ2.js.map +6 -0
  76. package/dist/chunks/chunk-D67YBUO3.js +110 -0
  77. package/dist/chunks/chunk-D67YBUO3.js.map +6 -0
  78. package/dist/chunks/chunk-DIHEHK7K.js +765 -0
  79. package/dist/chunks/chunk-DIHEHK7K.js.map +6 -0
  80. package/dist/chunks/chunk-E5VLANCO.js +101 -0
  81. package/dist/chunks/chunk-E5VLANCO.js.map +6 -0
  82. package/dist/chunks/chunk-EEDZOGV4.js +47 -0
  83. package/dist/chunks/chunk-EEDZOGV4.js.map +6 -0
  84. package/dist/chunks/chunk-ENGNEELC.js +271 -0
  85. package/dist/chunks/chunk-ENGNEELC.js.map +6 -0
  86. package/dist/chunks/chunk-EVY4MVRE.js +74 -0
  87. package/dist/chunks/chunk-EVY4MVRE.js.map +6 -0
  88. package/dist/chunks/chunk-FJNDNNNQ.js +115 -0
  89. package/dist/chunks/chunk-FJNDNNNQ.js.map +6 -0
  90. package/dist/chunks/chunk-FOFGMP7O.js +20 -0
  91. package/dist/chunks/chunk-FOFGMP7O.js.map +6 -0
  92. package/dist/chunks/chunk-FTMTO72X.js +95 -0
  93. package/dist/chunks/chunk-FTMTO72X.js.map +6 -0
  94. package/dist/chunks/chunk-GIXSS6KW.js +2228 -0
  95. package/dist/chunks/chunk-GIXSS6KW.js.map +6 -0
  96. package/dist/chunks/chunk-GNBMKISG.js +19 -0
  97. package/dist/chunks/chunk-GNBMKISG.js.map +6 -0
  98. package/dist/chunks/chunk-GWQEMJFS.js +28 -0
  99. package/dist/chunks/chunk-GWQEMJFS.js.map +6 -0
  100. package/dist/chunks/chunk-H6B6AROX.js +151 -0
  101. package/dist/chunks/chunk-H6B6AROX.js.map +6 -0
  102. package/dist/chunks/chunk-HE7WUOX2.js +26 -0
  103. package/dist/chunks/chunk-HE7WUOX2.js.map +6 -0
  104. package/dist/chunks/chunk-HZBKWL42.js +303 -0
  105. package/dist/chunks/chunk-HZBKWL42.js.map +6 -0
  106. package/dist/chunks/chunk-I7HQR6ET.js +75 -0
  107. package/dist/chunks/chunk-I7HQR6ET.js.map +6 -0
  108. package/dist/chunks/chunk-IJEB77SH.js +648 -0
  109. package/dist/chunks/chunk-IJEB77SH.js.map +6 -0
  110. package/dist/chunks/chunk-JNPDWME5.js +675 -0
  111. package/dist/chunks/chunk-JNPDWME5.js.map +6 -0
  112. package/dist/chunks/chunk-JORONMD3.js +18 -0
  113. package/dist/chunks/chunk-JORONMD3.js.map +6 -0
  114. package/dist/chunks/chunk-JV3LONAU.js +76 -0
  115. package/dist/chunks/chunk-JV3LONAU.js.map +6 -0
  116. package/dist/chunks/chunk-K5HARZ7G.js +82516 -0
  117. package/dist/chunks/chunk-K5HARZ7G.js.map +6 -0
  118. package/dist/chunks/chunk-KONYGNG6.js +7661 -0
  119. package/dist/chunks/chunk-KONYGNG6.js.map +6 -0
  120. package/dist/chunks/chunk-LXB3S4IC.js +19 -0
  121. package/dist/chunks/chunk-LXB3S4IC.js.map +6 -0
  122. package/dist/chunks/chunk-M3IAMIBJ.js +661 -0
  123. package/dist/chunks/chunk-M3IAMIBJ.js.map +6 -0
  124. package/dist/chunks/chunk-MH6KUKVV.js +1142 -0
  125. package/dist/chunks/chunk-MH6KUKVV.js.map +6 -0
  126. package/dist/chunks/chunk-MS3IYQ72.js +1479 -0
  127. package/dist/chunks/chunk-MS3IYQ72.js.map +6 -0
  128. package/dist/chunks/chunk-MZP6SH3M.js +3497 -0
  129. package/dist/chunks/chunk-MZP6SH3M.js.map +6 -0
  130. package/dist/chunks/chunk-N3ZEXVSS.js +76 -0
  131. package/dist/chunks/chunk-N3ZEXVSS.js.map +6 -0
  132. package/dist/chunks/chunk-N6SR54VC.js +207 -0
  133. package/dist/chunks/chunk-N6SR54VC.js.map +6 -0
  134. package/dist/chunks/chunk-NADQQMMG.js +46 -0
  135. package/dist/chunks/chunk-NADQQMMG.js.map +6 -0
  136. package/dist/chunks/chunk-NBH52WHS.js +247 -0
  137. package/dist/chunks/chunk-NBH52WHS.js.map +6 -0
  138. package/dist/chunks/chunk-NICLKFBG.js +109 -0
  139. package/dist/chunks/chunk-NICLKFBG.js.map +6 -0
  140. package/dist/chunks/chunk-NIPHHZ5G.js +283 -0
  141. package/dist/chunks/chunk-NIPHHZ5G.js.map +6 -0
  142. package/dist/chunks/chunk-NQT244I2.js +517 -0
  143. package/dist/chunks/chunk-NQT244I2.js.map +6 -0
  144. package/dist/chunks/chunk-NUGPLXVK.js +228 -0
  145. package/dist/chunks/chunk-NUGPLXVK.js.map +6 -0
  146. package/dist/chunks/chunk-OEW7CJKK.js +140 -0
  147. package/dist/chunks/chunk-OEW7CJKK.js.map +6 -0
  148. package/dist/chunks/chunk-OH6TB27S.js +111 -0
  149. package/dist/chunks/chunk-OH6TB27S.js.map +6 -0
  150. package/dist/chunks/chunk-OWH6QQY2.js +1858 -0
  151. package/dist/chunks/chunk-OWH6QQY2.js.map +6 -0
  152. package/dist/chunks/chunk-OWXJOD4H.js +773 -0
  153. package/dist/chunks/chunk-OWXJOD4H.js.map +6 -0
  154. package/dist/chunks/chunk-PT537V7B.js +787 -0
  155. package/dist/chunks/chunk-PT537V7B.js.map +6 -0
  156. package/dist/chunks/chunk-QEQZFG2X.js +106 -0
  157. package/dist/chunks/chunk-QEQZFG2X.js.map +6 -0
  158. package/dist/chunks/chunk-QL4O4UGZ.js +245 -0
  159. package/dist/chunks/chunk-QL4O4UGZ.js.map +6 -0
  160. package/dist/chunks/chunk-QL54XCF4.js +73 -0
  161. package/dist/chunks/chunk-QL54XCF4.js.map +6 -0
  162. package/dist/chunks/chunk-SB6UD3ED.js +1355 -0
  163. package/dist/chunks/chunk-SB6UD3ED.js.map +6 -0
  164. package/dist/chunks/chunk-SGGRGKGV.js +34 -0
  165. package/dist/chunks/chunk-SGGRGKGV.js.map +6 -0
  166. package/dist/chunks/chunk-SKKWMMFP.js +474 -0
  167. package/dist/chunks/chunk-SKKWMMFP.js.map +6 -0
  168. package/dist/chunks/chunk-SMIDV4KH.js +171 -0
  169. package/dist/chunks/chunk-SMIDV4KH.js.map +6 -0
  170. package/dist/chunks/chunk-T2VUTAHB.js +46 -0
  171. package/dist/chunks/chunk-T2VUTAHB.js.map +6 -0
  172. package/dist/chunks/chunk-T4SB6AAF.js +134 -0
  173. package/dist/chunks/chunk-T4SB6AAF.js.map +6 -0
  174. package/dist/chunks/chunk-TBIX6JRE.js +24 -0
  175. package/dist/chunks/chunk-TBIX6JRE.js.map +6 -0
  176. package/dist/chunks/chunk-THNCQJ33.js +11265 -0
  177. package/dist/chunks/chunk-THNCQJ33.js.map +6 -0
  178. package/dist/chunks/chunk-U56QFYGA.js +818 -0
  179. package/dist/chunks/chunk-U56QFYGA.js.map +6 -0
  180. package/dist/chunks/chunk-U6GZ7EW4.js +106 -0
  181. package/dist/chunks/chunk-U6GZ7EW4.js.map +6 -0
  182. package/dist/chunks/chunk-UDDSFIMB.js +1373 -0
  183. package/dist/chunks/chunk-UDDSFIMB.js.map +6 -0
  184. package/dist/chunks/chunk-UFHNXZL2.js +399 -0
  185. package/dist/chunks/chunk-UFHNXZL2.js.map +6 -0
  186. package/dist/chunks/chunk-US5ZFPAU.js +400 -0
  187. package/dist/chunks/chunk-US5ZFPAU.js.map +6 -0
  188. package/dist/chunks/chunk-VRL2WNQN.js +7534 -0
  189. package/dist/chunks/chunk-VRL2WNQN.js.map +6 -0
  190. package/dist/chunks/chunk-W3UQMRYA.js +380 -0
  191. package/dist/chunks/chunk-W3UQMRYA.js.map +6 -0
  192. package/dist/chunks/chunk-W5KGCUP3.js +11111 -0
  193. package/dist/chunks/chunk-W5KGCUP3.js.map +6 -0
  194. package/dist/chunks/chunk-WHODOMXA.js +132 -0
  195. package/dist/chunks/chunk-WHODOMXA.js.map +6 -0
  196. package/dist/chunks/chunk-WT6TFCPV.js +154 -0
  197. package/dist/chunks/chunk-WT6TFCPV.js.map +6 -0
  198. package/dist/chunks/chunk-WY2WUTFR.js +164 -0
  199. package/dist/chunks/chunk-WY2WUTFR.js.map +6 -0
  200. package/dist/chunks/chunk-XEUQN4JC.js +54 -0
  201. package/dist/chunks/chunk-XEUQN4JC.js.map +6 -0
  202. package/dist/chunks/chunk-Y7B67G22.js +26 -0
  203. package/dist/chunks/chunk-Y7B67G22.js.map +6 -0
  204. package/dist/chunks/chunk-YEMJX2DS.js +69 -0
  205. package/dist/chunks/chunk-YEMJX2DS.js.map +6 -0
  206. package/dist/chunks/chunk-YKLKHDZU.js +2953 -0
  207. package/dist/chunks/chunk-YKLKHDZU.js.map +6 -0
  208. package/dist/chunks/chunk-YQEWD2EN.js +127 -0
  209. package/dist/chunks/chunk-YQEWD2EN.js.map +6 -0
  210. package/dist/chunks/chunk-YYQJIECC.js +1439 -0
  211. package/dist/chunks/chunk-YYQJIECC.js.map +6 -0
  212. package/dist/chunks/chunk-ZKVZNOUS.js +106 -0
  213. package/dist/chunks/chunk-ZKVZNOUS.js.map +6 -0
  214. package/dist/chunks/chunk-ZPR4IMRT.js +36 -0
  215. package/dist/chunks/chunk-ZPR4IMRT.js.map +6 -0
  216. package/dist/chunks/chunk-ZWA2JRJV.js +45 -0
  217. package/dist/chunks/chunk-ZWA2JRJV.js.map +6 -0
  218. package/dist/chunks/cli-runtime-F4MBZ2UQ.js +129 -0
  219. package/dist/chunks/cli-runtime-F4MBZ2UQ.js.map +6 -0
  220. package/dist/chunks/commands-GMQGFTIY.js +21 -0
  221. package/dist/chunks/commands-GMQGFTIY.js.map +6 -0
  222. package/dist/chunks/computer-GXDY4H35.js +493 -0
  223. package/dist/chunks/computer-GXDY4H35.js.map +6 -0
  224. package/dist/chunks/crash-report-STOHSORG.js +21 -0
  225. package/dist/chunks/crash-report-STOHSORG.js.map +6 -0
  226. package/dist/chunks/devtools-LBE4PAQN.js +3851 -0
  227. package/dist/chunks/devtools-LBE4PAQN.js.map +6 -0
  228. package/dist/chunks/dist-3AF2X4S5.js +1339 -0
  229. package/dist/chunks/dist-3AF2X4S5.js.map +6 -0
  230. package/dist/chunks/dist-AZIMHV2B.js +514 -0
  231. package/dist/chunks/dist-AZIMHV2B.js.map +6 -0
  232. package/dist/chunks/dist-BGYRQ5BC.js +555 -0
  233. package/dist/chunks/dist-BGYRQ5BC.js.map +6 -0
  234. package/dist/chunks/dist-OTTZ7WVD.js +1415 -0
  235. package/dist/chunks/dist-OTTZ7WVD.js.map +6 -0
  236. package/dist/chunks/dist-R3I3ATSG.js +1018 -0
  237. package/dist/chunks/dist-R3I3ATSG.js.map +6 -0
  238. package/dist/chunks/dist-TXEKDBQO.js +40642 -0
  239. package/dist/chunks/dist-TXEKDBQO.js.map +6 -0
  240. package/dist/chunks/dist-XTWYQHHN.js +520 -0
  241. package/dist/chunks/dist-XTWYQHHN.js.map +6 -0
  242. package/dist/chunks/doctor-VXSB4Y4P.js +28 -0
  243. package/dist/chunks/doctor-VXSB4Y4P.js.map +6 -0
  244. package/dist/chunks/drain-DXVICQBR.js +471 -0
  245. package/dist/chunks/drain-DXVICQBR.js.map +6 -0
  246. package/dist/chunks/endpoint-M2DDENPP.js +15 -0
  247. package/dist/chunks/endpoint-M2DDENPP.js.map +6 -0
  248. package/dist/chunks/eval-BMJQXDKA.js +187 -0
  249. package/dist/chunks/eval-BMJQXDKA.js.map +6 -0
  250. package/dist/chunks/exec-3T5ESZPH.js +1284 -0
  251. package/dist/chunks/exec-3T5ESZPH.js.map +6 -0
  252. package/dist/chunks/home-ILHA7B6Z.js +16 -0
  253. package/dist/chunks/home-ILHA7B6Z.js.map +6 -0
  254. package/dist/chunks/host-queries-QCMWDZGS.js +152 -0
  255. package/dist/chunks/host-queries-QCMWDZGS.js.map +6 -0
  256. package/dist/chunks/lib-KXZZJJG2.js +2657 -0
  257. package/dist/chunks/lib-KXZZJJG2.js.map +6 -0
  258. package/dist/chunks/lifecycle-CB23VJI7.js +63 -0
  259. package/dist/chunks/lifecycle-CB23VJI7.js.map +6 -0
  260. package/dist/chunks/list-N6WXZBMD.js +293 -0
  261. package/dist/chunks/list-N6WXZBMD.js.map +6 -0
  262. package/dist/chunks/login-26NCG6EQ.js +29 -0
  263. package/dist/chunks/login-26NCG6EQ.js.map +6 -0
  264. package/dist/chunks/logs-V7SNM7LA.js +116 -0
  265. package/dist/chunks/logs-V7SNM7LA.js.map +6 -0
  266. package/dist/chunks/mcp-BTHCU5ZC.js +763 -0
  267. package/dist/chunks/mcp-BTHCU5ZC.js.map +6 -0
  268. package/dist/chunks/message-command-HMIOR52C.js +170 -0
  269. package/dist/chunks/message-command-HMIOR52C.js.map +6 -0
  270. package/dist/chunks/node-QB2FA2ZB.js +916 -0
  271. package/dist/chunks/node-QB2FA2ZB.js.map +6 -0
  272. package/dist/chunks/operator-tools-7LMWOHSN.js +115 -0
  273. package/dist/chunks/operator-tools-7LMWOHSN.js.map +6 -0
  274. package/dist/chunks/output-schema-XCONYVZ7.js +11 -0
  275. package/dist/chunks/output-schema-XCONYVZ7.js.map +6 -0
  276. package/dist/chunks/pal-YEUKHA6F.js +200 -0
  277. package/dist/chunks/pal-YEUKHA6F.js.map +6 -0
  278. package/dist/chunks/paths-DXYFKIJU.js +10 -0
  279. package/dist/chunks/paths-DXYFKIJU.js.map +6 -0
  280. package/dist/chunks/pica-WNHDDIFX.js +1736 -0
  281. package/dist/chunks/pica-WNHDDIFX.js.map +6 -0
  282. package/dist/chunks/providers-EI3FAKYB.js +160 -0
  283. package/dist/chunks/providers-EI3FAKYB.js.map +6 -0
  284. package/dist/chunks/resident-5ZY6OG6B.js +1314 -0
  285. package/dist/chunks/resident-5ZY6OG6B.js.map +6 -0
  286. package/dist/chunks/resume-command-ONYRZIIA.js +22 -0
  287. package/dist/chunks/resume-command-ONYRZIIA.js.map +6 -0
  288. package/dist/chunks/schedule-6JPEO4NR.js +143 -0
  289. package/dist/chunks/schedule-6JPEO4NR.js.map +6 -0
  290. package/dist/chunks/serve-S7UWNIR3.js +21 -0
  291. package/dist/chunks/serve-S7UWNIR3.js.map +6 -0
  292. package/dist/chunks/service-WSW3M6K5.js +1633 -0
  293. package/dist/chunks/service-WSW3M6K5.js.map +6 -0
  294. package/dist/chunks/session-step-2VZM3CCA.js +26 -0
  295. package/dist/chunks/session-step-2VZM3CCA.js.map +6 -0
  296. package/dist/chunks/skills-KAZJYGX5.js +282 -0
  297. package/dist/chunks/skills-KAZJYGX5.js.map +6 -0
  298. package/dist/chunks/state-263OUKQA.js +717 -0
  299. package/dist/chunks/state-263OUKQA.js.map +6 -0
  300. package/dist/chunks/store-3XLCJ7EL.js +42 -0
  301. package/dist/chunks/store-3XLCJ7EL.js.map +6 -0
  302. package/dist/chunks/store-KN65QI2M.js +82 -0
  303. package/dist/chunks/store-KN65QI2M.js.map +6 -0
  304. package/dist/chunks/store-X3TESBIN.js +34 -0
  305. package/dist/chunks/store-X3TESBIN.js.map +6 -0
  306. package/dist/chunks/tui-5MU7JBXX.js +56703 -0
  307. package/dist/chunks/tui-5MU7JBXX.js.map +6 -0
  308. package/dist/chunks/upgrade-BYM4MWBC.js +315 -0
  309. package/dist/chunks/upgrade-BYM4MWBC.js.map +6 -0
  310. package/dist/chunks/webapi-6HUHZUAH.js +2715 -0
  311. package/dist/chunks/webapi-6HUHZUAH.js.map +6 -0
  312. package/dist/chunks/worktree-K3ZIPXRM.js +116 -0
  313. package/dist/chunks/worktree-K3ZIPXRM.js.map +6 -0
  314. package/dist/cli-runtime.d.ts +19 -0
  315. package/dist/cli-runtime.d.ts.map +1 -0
  316. package/dist/cli.d.ts +0 -15
  317. package/dist/cli.d.ts.map +1 -1
  318. package/dist/commands/acp-harness.d.ts +64 -0
  319. package/dist/commands/acp-harness.d.ts.map +1 -0
  320. package/dist/commands/acp-provider-retry.d.ts +27 -0
  321. package/dist/commands/acp-provider-retry.d.ts.map +1 -0
  322. package/dist/commands/acp.d.ts +134 -3
  323. package/dist/commands/acp.d.ts.map +1 -1
  324. package/dist/commands/computer.d.ts +3 -0
  325. package/dist/commands/computer.d.ts.map +1 -0
  326. package/dist/commands/desktop-host-changes.d.ts +65 -0
  327. package/dist/commands/desktop-host-changes.d.ts.map +1 -0
  328. package/dist/commands/desktop-host-header.d.ts +30 -0
  329. package/dist/commands/desktop-host-header.d.ts.map +1 -0
  330. package/dist/commands/desktop-host.d.ts +354 -0
  331. package/dist/commands/desktop-host.d.ts.map +1 -0
  332. package/dist/commands/desktop-model-catalogue.d.ts +25 -0
  333. package/dist/commands/desktop-model-catalogue.d.ts.map +1 -0
  334. package/dist/commands/effort-levels.d.ts +3 -0
  335. package/dist/commands/effort-levels.d.ts.map +1 -0
  336. package/dist/commands/exec-flags.d.ts +4 -0
  337. package/dist/commands/exec-flags.d.ts.map +1 -1
  338. package/dist/commands/exec.d.ts.map +1 -1
  339. package/dist/commands/lazy.d.ts +20 -0
  340. package/dist/commands/lazy.d.ts.map +1 -0
  341. package/dist/commands/manifest.d.ts +33 -0
  342. package/dist/commands/manifest.d.ts.map +1 -0
  343. package/dist/commands/mcp.d.ts +3 -0
  344. package/dist/commands/mcp.d.ts.map +1 -1
  345. package/dist/commands/pal.d.ts +5 -0
  346. package/dist/commands/pal.d.ts.map +1 -0
  347. package/dist/commands/permission-preview.d.ts +38 -0
  348. package/dist/commands/permission-preview.d.ts.map +1 -0
  349. package/dist/commands/registry.d.ts +10 -0
  350. package/dist/commands/registry.d.ts.map +1 -1
  351. package/dist/commands/serve.d.ts +1 -12
  352. package/dist/commands/serve.d.ts.map +1 -1
  353. package/dist/commands/stdin.d.ts.map +1 -1
  354. package/dist/commands/upgrade.d.ts +14 -0
  355. package/dist/commands/upgrade.d.ts.map +1 -1
  356. package/dist/compile-cache-enable.d.ts +2 -0
  357. package/dist/compile-cache-enable.d.ts.map +1 -0
  358. package/dist/compile-cache.d.ts +53 -0
  359. package/dist/compile-cache.d.ts.map +1 -0
  360. package/dist/computer/bundle.d.ts +18 -0
  361. package/dist/computer/bundle.d.ts.map +1 -0
  362. package/dist/computer/run.d.ts +26 -0
  363. package/dist/computer/run.d.ts.map +1 -0
  364. package/dist/computer/sentences.d.ts +30 -0
  365. package/dist/computer/sentences.d.ts.map +1 -0
  366. package/dist/config/load.d.ts +10 -1
  367. package/dist/config/load.d.ts.map +1 -1
  368. package/dist/context/capabilities.d.ts +25 -2
  369. package/dist/context/capabilities.d.ts.map +1 -1
  370. package/dist/context/runtime-message.d.ts.map +1 -1
  371. package/dist/crash-report.d.ts +22 -0
  372. package/dist/crash-report.d.ts.map +1 -0
  373. package/dist/debug-requested.d.ts +7 -0
  374. package/dist/debug-requested.d.ts.map +1 -0
  375. package/dist/doctor/checks/credentials.d.ts.map +1 -1
  376. package/dist/exit-codes.d.ts +9 -1
  377. package/dist/exit-codes.d.ts.map +1 -1
  378. package/dist/index.js +105 -17
  379. package/dist/index.js.map +6 -1
  380. package/dist/integrations/harness/claude-adapter.d.ts +20 -0
  381. package/dist/integrations/harness/claude-adapter.d.ts.map +1 -0
  382. package/dist/integrations/harness/claude-protocol.d.ts +67 -0
  383. package/dist/integrations/harness/claude-protocol.d.ts.map +1 -0
  384. package/dist/integrations/harness/codex-adapter.d.ts +80 -0
  385. package/dist/integrations/harness/codex-adapter.d.ts.map +1 -0
  386. package/dist/integrations/harness/codex-protocol.d.ts +22 -0
  387. package/dist/integrations/harness/codex-protocol.d.ts.map +1 -0
  388. package/dist/integrations/harness/model-cache.d.ts +16 -0
  389. package/dist/integrations/harness/model-cache.d.ts.map +1 -0
  390. package/dist/integrations/harness/native-executable.d.ts +8 -0
  391. package/dist/integrations/harness/native-executable.d.ts.map +1 -0
  392. package/dist/integrations/harness/process.d.ts +25 -0
  393. package/dist/integrations/harness/process.d.ts.map +1 -0
  394. package/dist/integrations/mcp/servers.d.ts.map +1 -1
  395. package/dist/integrations/peers/runtime.d.ts +64 -0
  396. package/dist/integrations/peers/runtime.d.ts.map +1 -0
  397. package/dist/integrations/plugins/inventory.d.ts +27 -0
  398. package/dist/integrations/plugins/inventory.d.ts.map +1 -0
  399. package/dist/integrations/providers/composer-settings.d.ts +33 -0
  400. package/dist/integrations/providers/composer-settings.d.ts.map +1 -0
  401. package/dist/integrations/providers/connections.d.ts +37 -0
  402. package/dist/integrations/providers/connections.d.ts.map +1 -0
  403. package/dist/integrations/providers/credential-store.d.ts +35 -0
  404. package/dist/integrations/providers/credential-store.d.ts.map +1 -1
  405. package/dist/integrations/providers/discover.d.ts +27 -1
  406. package/dist/integrations/providers/discover.d.ts.map +1 -1
  407. package/dist/integrations/providers/index.d.ts +2 -2
  408. package/dist/integrations/providers/index.d.ts.map +1 -1
  409. package/dist/integrations/providers/picker-operation.d.ts +6 -0
  410. package/dist/integrations/providers/picker-operation.d.ts.map +1 -0
  411. package/dist/integrations/providers/setup.d.ts +16 -1
  412. package/dist/integrations/providers/setup.d.ts.map +1 -1
  413. package/dist/integrations/resident/runner-worker.js +190 -161
  414. package/dist/integrations/resident/runner-worker.js.map +6 -1
  415. package/dist/integrations/resident/session-step.d.ts.map +1 -1
  416. package/dist/integrations/sessions/display-title.d.ts +8 -0
  417. package/dist/integrations/sessions/display-title.d.ts.map +1 -1
  418. package/dist/integrations/sessions/store.d.ts +23 -9
  419. package/dist/integrations/sessions/store.d.ts.map +1 -1
  420. package/dist/integrations/sessions/task-context.d.ts +1 -1
  421. package/dist/integrations/sessions/task-context.d.ts.map +1 -1
  422. package/dist/integrations/sessions/transcript-export.d.ts.map +1 -1
  423. package/dist/integrations/subagents/activity.d.ts +9 -6
  424. package/dist/integrations/subagents/activity.d.ts.map +1 -1
  425. package/dist/integrations/subagents/operator-journal.d.ts +20 -0
  426. package/dist/integrations/subagents/operator-journal.d.ts.map +1 -0
  427. package/dist/integrations/subagents/runtime.d.ts +11 -0
  428. package/dist/integrations/subagents/runtime.d.ts.map +1 -1
  429. package/dist/integrations/trust/store.d.ts +14 -0
  430. package/dist/integrations/trust/store.d.ts.map +1 -1
  431. package/dist/integrations/web/search.d.ts +1 -1
  432. package/dist/pals/actions.d.ts +57 -0
  433. package/dist/pals/actions.d.ts.map +1 -0
  434. package/dist/pals/activity-command.d.ts +3 -0
  435. package/dist/pals/activity-command.d.ts.map +1 -0
  436. package/dist/pals/activity.d.ts +18 -0
  437. package/dist/pals/activity.d.ts.map +1 -0
  438. package/dist/pals/agent-session.d.ts +19 -0
  439. package/dist/pals/agent-session.d.ts.map +1 -0
  440. package/dist/pals/channel-actions.d.ts +5 -0
  441. package/dist/pals/channel-actions.d.ts.map +1 -0
  442. package/dist/pals/channel-local.d.ts +7 -0
  443. package/dist/pals/channel-local.d.ts.map +1 -0
  444. package/dist/pals/channel.d.ts +20 -0
  445. package/dist/pals/channel.d.ts.map +1 -0
  446. package/dist/pals/chat.d.ts +6 -0
  447. package/dist/pals/chat.d.ts.map +1 -0
  448. package/dist/pals/communication.d.ts +47 -0
  449. package/dist/pals/communication.d.ts.map +1 -0
  450. package/dist/pals/conversations.d.ts +26 -0
  451. package/dist/pals/conversations.d.ts.map +1 -0
  452. package/dist/pals/desktop-communication.d.ts +111 -0
  453. package/dist/pals/desktop-communication.d.ts.map +1 -0
  454. package/dist/pals/dispatch.d.ts +13 -0
  455. package/dist/pals/dispatch.d.ts.map +1 -0
  456. package/dist/pals/environment.d.ts +103 -0
  457. package/dist/pals/environment.d.ts.map +1 -0
  458. package/dist/pals/guest-mcp-transport.d.ts +28 -0
  459. package/dist/pals/guest-mcp-transport.d.ts.map +1 -0
  460. package/dist/pals/guest-mcp.d.ts +22 -0
  461. package/dist/pals/guest-mcp.d.ts.map +1 -0
  462. package/dist/pals/inbox-start.d.ts +35 -0
  463. package/dist/pals/inbox-start.d.ts.map +1 -0
  464. package/dist/pals/message-command.d.ts +3 -0
  465. package/dist/pals/message-command.d.ts.map +1 -0
  466. package/dist/pals/operator-tools.d.ts +23 -0
  467. package/dist/pals/operator-tools.d.ts.map +1 -0
  468. package/dist/pals/public-transcript.d.ts +4 -0
  469. package/dist/pals/public-transcript.d.ts.map +1 -0
  470. package/dist/pals/review.d.ts +16 -0
  471. package/dist/pals/review.d.ts.map +1 -0
  472. package/dist/pals/store.d.ts +16 -0
  473. package/dist/pals/store.d.ts.map +1 -0
  474. package/dist/pals/tui-session.d.ts +11 -0
  475. package/dist/pals/tui-session.d.ts.map +1 -0
  476. package/dist/permissions/mode-names.d.ts +2 -0
  477. package/dist/permissions/mode-names.d.ts.map +1 -0
  478. package/dist/resume-invocation.d.ts +1 -1
  479. package/dist/resume-invocation.d.ts.map +1 -1
  480. package/dist/resume-shell.d.ts +8 -0
  481. package/dist/resume-shell.d.ts.map +1 -0
  482. package/dist/schedule/build.d.ts +12 -3
  483. package/dist/schedule/build.d.ts.map +1 -1
  484. package/dist/schedule/commands/add.d.ts +1 -1
  485. package/dist/schedule/commands/add.d.ts.map +1 -1
  486. package/dist/schedule/commands/lifecycle.d.ts.map +1 -1
  487. package/dist/schedule/commands/list.d.ts +3 -1
  488. package/dist/schedule/commands/list.d.ts.map +1 -1
  489. package/dist/schedule/daemon/daemon.d.ts +2 -0
  490. package/dist/schedule/daemon/daemon.d.ts.map +1 -1
  491. package/dist/schedule/delivery.d.ts +66 -0
  492. package/dist/schedule/delivery.d.ts.map +1 -0
  493. package/dist/schedule/fire/fire.d.ts +1 -1
  494. package/dist/schedule/fire/fire.d.ts.map +1 -1
  495. package/dist/schedule/fire/run-script.d.ts +2 -2
  496. package/dist/schedule/fire/run-script.d.ts.map +1 -1
  497. package/dist/schedule/fire/script-report.d.ts +31 -0
  498. package/dist/schedule/fire/script-report.d.ts.map +1 -0
  499. package/dist/schedule/floor.d.ts +1 -1
  500. package/dist/schedule/floor.d.ts.map +1 -1
  501. package/dist/schedule/folder.d.ts +6 -0
  502. package/dist/schedule/folder.d.ts.map +1 -1
  503. package/dist/schedule/resume-command.d.ts +3 -3
  504. package/dist/schedule/resume-command.d.ts.map +1 -1
  505. package/dist/schedule/store/history.d.ts.map +1 -1
  506. package/dist/schedule/store/jobs.d.ts +6 -6
  507. package/dist/schedule/store/jobs.d.ts.map +1 -1
  508. package/dist/schedule/store/script-state.d.ts +31 -0
  509. package/dist/schedule/store/script-state.d.ts.map +1 -0
  510. package/dist/schedule/store/state.d.ts +4 -2
  511. package/dist/schedule/store/state.d.ts.map +1 -1
  512. package/dist/schedule/types.d.ts +61 -16
  513. package/dist/schedule/types.d.ts.map +1 -1
  514. package/dist/skills/store.d.ts.map +1 -1
  515. package/dist/terminal/host.d.ts +22 -0
  516. package/dist/terminal/host.d.ts.map +1 -0
  517. package/dist/terminal/manager.d.ts +124 -0
  518. package/dist/terminal/manager.d.ts.map +1 -0
  519. package/dist/terminal/protocol.d.ts +162 -0
  520. package/dist/terminal/protocol.d.ts.map +1 -0
  521. package/dist/terminal/pty.d.ts +85 -0
  522. package/dist/terminal/pty.d.ts.map +1 -0
  523. package/dist/terminal/ring.d.ts +23 -0
  524. package/dist/terminal/ring.d.ts.map +1 -0
  525. package/dist/terminal/screen.d.ts +31 -0
  526. package/dist/terminal/screen.d.ts.map +1 -0
  527. package/dist/termination-state.d.ts +19 -0
  528. package/dist/termination-state.d.ts.map +1 -0
  529. package/dist/termination.d.ts +2 -9
  530. package/dist/termination.d.ts.map +1 -1
  531. package/dist/tui/AgentExplorer.d.ts +4 -1
  532. package/dist/tui/AgentExplorer.d.ts.map +1 -1
  533. package/dist/tui/App.d.ts.map +1 -1
  534. package/dist/tui/BackgroundJobsPanel.d.ts +26 -0
  535. package/dist/tui/BackgroundJobsPanel.d.ts.map +1 -0
  536. package/dist/tui/BrandHeader.d.ts.map +1 -1
  537. package/dist/tui/ChildComposer.d.ts +22 -0
  538. package/dist/tui/ChildComposer.d.ts.map +1 -0
  539. package/dist/tui/ChoicePicker.d.ts.map +1 -1
  540. package/dist/tui/Composer.d.ts +25 -4
  541. package/dist/tui/Composer.d.ts.map +1 -1
  542. package/dist/tui/ComposerFrame.d.ts.map +1 -1
  543. package/dist/tui/CopyPicker.d.ts.map +1 -1
  544. package/dist/tui/EditPromptPicker.d.ts.map +1 -1
  545. package/dist/tui/EffortSlider.d.ts.map +1 -1
  546. package/dist/tui/LiveActivity.d.ts +7 -1
  547. package/dist/tui/LiveActivity.d.ts.map +1 -1
  548. package/dist/tui/Markdown.d.ts.map +1 -1
  549. package/dist/tui/PendingInputPanel.d.ts +34 -0
  550. package/dist/tui/PendingInputPanel.d.ts.map +1 -0
  551. package/dist/tui/PermissionOverlay.d.ts.map +1 -1
  552. package/dist/tui/Picker.d.ts.map +1 -1
  553. package/dist/tui/ProviderSetup.d.ts.map +1 -1
  554. package/dist/tui/ResumePicker.d.ts.map +1 -1
  555. package/dist/tui/SaveSkillOverlay.d.ts.map +1 -1
  556. package/dist/tui/ScheduleReviewOverlay.d.ts +1 -1
  557. package/dist/tui/ScheduleReviewOverlay.d.ts.map +1 -1
  558. package/dist/tui/StatusBar.d.ts +7 -1
  559. package/dist/tui/StatusBar.d.ts.map +1 -1
  560. package/dist/tui/StatusPanel.d.ts.map +1 -1
  561. package/dist/tui/TextPrompt.d.ts.map +1 -1
  562. package/dist/tui/ToolOutputViewer.d.ts.map +1 -1
  563. package/dist/tui/Transcript.d.ts.map +1 -1
  564. package/dist/tui/TrustPrompt.d.ts +8 -0
  565. package/dist/tui/TrustPrompt.d.ts.map +1 -1
  566. package/dist/tui/agent.d.ts +135 -6
  567. package/dist/tui/agent.d.ts.map +1 -1
  568. package/dist/tui/browser-notices.d.ts.map +1 -1
  569. package/dist/tui/capability-notice.d.ts +38 -0
  570. package/dist/tui/capability-notice.d.ts.map +1 -0
  571. package/dist/tui/console-input.d.ts +31 -0
  572. package/dist/tui/console-input.d.ts.map +1 -0
  573. package/dist/tui/conversation-evidence-view.d.ts.map +1 -1
  574. package/dist/tui/credential-entry.d.ts.map +1 -1
  575. package/dist/tui/exit-summary.d.ts +9 -1
  576. package/dist/tui/exit-summary.d.ts.map +1 -1
  577. package/dist/tui/external-editor.d.ts.map +1 -1
  578. package/dist/tui/index.d.ts.map +1 -1
  579. package/dist/tui/key-hints.d.ts +51 -0
  580. package/dist/tui/key-hints.d.ts.map +1 -0
  581. package/dist/tui/launch-settings.d.ts +34 -0
  582. package/dist/tui/launch-settings.d.ts.map +1 -0
  583. package/dist/tui/log-pane.d.ts.map +1 -1
  584. package/dist/tui/model-choices.d.ts +39 -1
  585. package/dist/tui/model-choices.d.ts.map +1 -1
  586. package/dist/tui/model-search.d.ts +4 -1
  587. package/dist/tui/model-search.d.ts.map +1 -1
  588. package/dist/tui/output-size-watch.d.ts +32 -0
  589. package/dist/tui/output-size-watch.d.ts.map +1 -0
  590. package/dist/tui/permission-review.d.ts.map +1 -1
  591. package/dist/tui/person-terms.d.ts +58 -0
  592. package/dist/tui/person-terms.d.ts.map +1 -0
  593. package/dist/tui/plain-failure.d.ts +27 -0
  594. package/dist/tui/plain-failure.d.ts.map +1 -0
  595. package/dist/tui/plain-interruption.d.ts +46 -0
  596. package/dist/tui/plain-interruption.d.ts.map +1 -0
  597. package/dist/tui/provider-list.d.ts.map +1 -1
  598. package/dist/tui/render-mode.d.ts +19 -0
  599. package/dist/tui/render-mode.d.ts.map +1 -0
  600. package/dist/tui/schedule/host-commands.d.ts +2 -9
  601. package/dist/tui/schedule/host-commands.d.ts.map +1 -1
  602. package/dist/tui/schedule/integration.d.ts +8 -0
  603. package/dist/tui/schedule/integration.d.ts.map +1 -1
  604. package/dist/tui/schedule/source-deliveries.d.ts +37 -0
  605. package/dist/tui/schedule/source-deliveries.d.ts.map +1 -0
  606. package/dist/tui/schedule/startup.d.ts.map +1 -1
  607. package/dist/tui/schedule/tool-host.d.ts +3 -1
  608. package/dist/tui/schedule/tool-host.d.ts.map +1 -1
  609. package/dist/tui/setup-text.d.ts +14 -0
  610. package/dist/tui/setup-text.d.ts.map +1 -0
  611. package/dist/tui/shell-escape.d.ts.map +1 -1
  612. package/dist/tui/skills/suggest-setting.d.ts.map +1 -1
  613. package/dist/tui/slashCommands.d.ts +9 -2
  614. package/dist/tui/slashCommands.d.ts.map +1 -1
  615. package/dist/tui/terminal-choice-text.d.ts +7 -0
  616. package/dist/tui/terminal-choice-text.d.ts.map +1 -1
  617. package/dist/tui/tidy-tool-output.d.ts +83 -0
  618. package/dist/tui/tidy-tool-output.d.ts.map +1 -0
  619. package/dist/tui/tool-presentation.d.ts +6 -0
  620. package/dist/tui/tool-presentation.d.ts.map +1 -0
  621. package/dist/tui/triggers/copy.d.ts.map +1 -1
  622. package/dist/tui/triggers/setting.d.ts.map +1 -1
  623. package/dist/tui/turn-interruption.d.ts +1 -1
  624. package/dist/tui/turn-interruption.d.ts.map +1 -1
  625. package/dist/tui/turn-limits-settings.d.ts +4 -4
  626. package/dist/tui/turn-limits-settings.d.ts.map +1 -1
  627. package/dist/tui/types.d.ts +10 -0
  628. package/dist/tui/types.d.ts.map +1 -1
  629. package/dist/tui/web-activity.d.ts +3 -2
  630. package/dist/tui/web-activity.d.ts.map +1 -1
  631. package/dist/tui/zen-free-refusal.d.ts +17 -0
  632. package/dist/tui/zen-free-refusal.d.ts.map +1 -0
  633. package/dist/usage-error.d.ts +15 -0
  634. package/dist/usage-error.d.ts.map +1 -0
  635. package/dist/warning-filter.d.ts +30 -0
  636. package/dist/warning-filter.d.ts.map +1 -0
  637. package/package.json +22 -11
  638. package/skills/schedule-task/SKILL.md +74 -20
  639. package/dist/browser/commands.js +0 -365
  640. package/dist/browser/commands.js.map +0 -1
  641. package/dist/browser/control.js +0 -140
  642. package/dist/browser/control.js.map +0 -1
  643. package/dist/browser/describe.js +0 -27
  644. package/dist/browser/describe.js.map +0 -1
  645. package/dist/checkpoints/store.js +0 -192
  646. package/dist/checkpoints/store.js.map +0 -1
  647. package/dist/checkpoints/wrap.js +0 -37
  648. package/dist/checkpoints/wrap.js.map +0 -1
  649. package/dist/cli.js +0 -602
  650. package/dist/cli.js.map +0 -1
  651. package/dist/commands/acp.js +0 -388
  652. package/dist/commands/acp.js.map +0 -1
  653. package/dist/commands/archive.js +0 -65
  654. package/dist/commands/archive.js.map +0 -1
  655. package/dist/commands/browser.js +0 -16
  656. package/dist/commands/browser.js.map +0 -1
  657. package/dist/commands/doctor.js +0 -267
  658. package/dist/commands/doctor.js.map +0 -1
  659. package/dist/commands/drain.js +0 -498
  660. package/dist/commands/drain.js.map +0 -1
  661. package/dist/commands/eval.js +0 -237
  662. package/dist/commands/eval.js.map +0 -1
  663. package/dist/commands/exec-flags.js +0 -334
  664. package/dist/commands/exec-flags.js.map +0 -1
  665. package/dist/commands/exec-json.js +0 -497
  666. package/dist/commands/exec-json.js.map +0 -1
  667. package/dist/commands/exec.js +0 -688
  668. package/dist/commands/exec.js.map +0 -1
  669. package/dist/commands/host-queries.js +0 -156
  670. package/dist/commands/host-queries.js.map +0 -1
  671. package/dist/commands/login.js +0 -315
  672. package/dist/commands/login.js.map +0 -1
  673. package/dist/commands/mcp-oauth-login.js +0 -213
  674. package/dist/commands/mcp-oauth-login.js.map +0 -1
  675. package/dist/commands/mcp.js +0 -288
  676. package/dist/commands/mcp.js.map +0 -1
  677. package/dist/commands/prior-messages.js +0 -329
  678. package/dist/commands/prior-messages.js.map +0 -1
  679. package/dist/commands/provider-wait.js +0 -65
  680. package/dist/commands/provider-wait.js.map +0 -1
  681. package/dist/commands/registry.js +0 -40
  682. package/dist/commands/registry.js.map +0 -1
  683. package/dist/commands/resident-flags.js +0 -193
  684. package/dist/commands/resident-flags.js.map +0 -1
  685. package/dist/commands/resident-learning.js +0 -293
  686. package/dist/commands/resident-learning.js.map +0 -1
  687. package/dist/commands/resident.js +0 -419
  688. package/dist/commands/resident.js.map +0 -1
  689. package/dist/commands/resume.js +0 -109
  690. package/dist/commands/resume.js.map +0 -1
  691. package/dist/commands/schedule.js +0 -131
  692. package/dist/commands/schedule.js.map +0 -1
  693. package/dist/commands/serve.js +0 -21
  694. package/dist/commands/serve.js.map +0 -1
  695. package/dist/commands/skills.js +0 -178
  696. package/dist/commands/skills.js.map +0 -1
  697. package/dist/commands/state.js +0 -110
  698. package/dist/commands/state.js.map +0 -1
  699. package/dist/commands/stdin.js +0 -69
  700. package/dist/commands/stdin.js.map +0 -1
  701. package/dist/commands/types.js +0 -2
  702. package/dist/commands/types.js.map +0 -1
  703. package/dist/commands/upgrade-progress.js +0 -54
  704. package/dist/commands/upgrade-progress.js.map +0 -1
  705. package/dist/commands/upgrade.js +0 -232
  706. package/dist/commands/upgrade.js.map +0 -1
  707. package/dist/commands/worktree.js +0 -86
  708. package/dist/commands/worktree.js.map +0 -1
  709. package/dist/config/composer-triggers.js +0 -80
  710. package/dist/config/composer-triggers.js.map +0 -1
  711. package/dist/config/debug.js +0 -126
  712. package/dist/config/debug.js.map +0 -1
  713. package/dist/config/load.js +0 -1208
  714. package/dist/config/load.js.map +0 -1
  715. package/dist/config/schema.js +0 -13
  716. package/dist/config/schema.js.map +0 -1
  717. package/dist/config/tool-result-screens.js +0 -104
  718. package/dist/config/tool-result-screens.js.map +0 -1
  719. package/dist/config/trusted-project-context.js +0 -28
  720. package/dist/config/trusted-project-context.js.map +0 -1
  721. package/dist/config/turn-guards.js +0 -46
  722. package/dist/config/turn-guards.js.map +0 -1
  723. package/dist/config/user-config.js +0 -118
  724. package/dist/config/user-config.js.map +0 -1
  725. package/dist/context/capabilities.js +0 -164
  726. package/dist/context/capabilities.js.map +0 -1
  727. package/dist/context/directories.js +0 -69
  728. package/dist/context/directories.js.map +0 -1
  729. package/dist/context/doctrine.js +0 -24
  730. package/dist/context/doctrine.js.map +0 -1
  731. package/dist/context/environment.js +0 -255
  732. package/dist/context/environment.js.map +0 -1
  733. package/dist/context/project-path.js +0 -16
  734. package/dist/context/project-path.js.map +0 -1
  735. package/dist/context/project-tracker.js +0 -217
  736. package/dist/context/project-tracker.js.map +0 -1
  737. package/dist/context/project.js +0 -256
  738. package/dist/context/project.js.map +0 -1
  739. package/dist/context/runtime-message.js +0 -30
  740. package/dist/context/runtime-message.js.map +0 -1
  741. package/dist/context/sandbox.js +0 -114
  742. package/dist/context/sandbox.js.map +0 -1
  743. package/dist/context/turn-snapshot.js +0 -122
  744. package/dist/context/turn-snapshot.js.map +0 -1
  745. package/dist/doctor/checks/browser.js +0 -63
  746. package/dist/doctor/checks/browser.js.map +0 -1
  747. package/dist/doctor/checks/chain.js +0 -211
  748. package/dist/doctor/checks/chain.js.map +0 -1
  749. package/dist/doctor/checks/credentials.js +0 -98
  750. package/dist/doctor/checks/credentials.js.map +0 -1
  751. package/dist/doctor/checks/index.js +0 -72
  752. package/dist/doctor/checks/index.js.map +0 -1
  753. package/dist/doctor/checks/invariants.js +0 -79
  754. package/dist/doctor/checks/invariants.js.map +0 -1
  755. package/dist/doctor/checks/logging.js +0 -69
  756. package/dist/doctor/checks/logging.js.map +0 -1
  757. package/dist/doctor/checks/providers.js +0 -30
  758. package/dist/doctor/checks/providers.js.map +0 -1
  759. package/dist/doctor/checks/runtime.js +0 -40
  760. package/dist/doctor/checks/runtime.js.map +0 -1
  761. package/dist/doctor/checks/sandbox.js +0 -76
  762. package/dist/doctor/checks/sandbox.js.map +0 -1
  763. package/dist/doctor/checks/scheduler.js +0 -74
  764. package/dist/doctor/checks/scheduler.js.map +0 -1
  765. package/dist/doctor/checks/session-export.js +0 -62
  766. package/dist/doctor/checks/session-export.js.map +0 -1
  767. package/dist/doctor/checks/telemetry.js +0 -58
  768. package/dist/doctor/checks/telemetry.js.map +0 -1
  769. package/dist/doctor/checks/vault.js +0 -67
  770. package/dist/doctor/checks/vault.js.map +0 -1
  771. package/dist/doctor/index.js +0 -3
  772. package/dist/doctor/index.js.map +0 -1
  773. package/dist/doctor/registry.js +0 -230
  774. package/dist/doctor/registry.js.map +0 -1
  775. package/dist/exit-codes.js +0 -62
  776. package/dist/exit-codes.js.map +0 -1
  777. package/dist/installation.js +0 -48
  778. package/dist/installation.js.map +0 -1
  779. package/dist/integrations/clipboard/image.js +0 -119
  780. package/dist/integrations/clipboard/image.js.map +0 -1
  781. package/dist/integrations/clipboard/text.js +0 -43
  782. package/dist/integrations/clipboard/text.js.map +0 -1
  783. package/dist/integrations/files/attachment-store.js +0 -86
  784. package/dist/integrations/files/attachment-store.js.map +0 -1
  785. package/dist/integrations/mcp/oauth-store.js +0 -549
  786. package/dist/integrations/mcp/oauth-store.js.map +0 -1
  787. package/dist/integrations/mcp/servers.js +0 -519
  788. package/dist/integrations/mcp/servers.js.map +0 -1
  789. package/dist/integrations/mcp/user-config.js +0 -92
  790. package/dist/integrations/mcp/user-config.js.map +0 -1
  791. package/dist/integrations/notifications/desktop/freedesktop.js +0 -33
  792. package/dist/integrations/notifications/desktop/freedesktop.js.map +0 -1
  793. package/dist/integrations/notifications/desktop/macos.js +0 -17
  794. package/dist/integrations/notifications/desktop/macos.js.map +0 -1
  795. package/dist/integrations/notifications/desktop/sanitize.js +0 -49
  796. package/dist/integrations/notifications/desktop/sanitize.js.map +0 -1
  797. package/dist/integrations/notifications/desktop/throttle.js +0 -39
  798. package/dist/integrations/notifications/desktop/throttle.js.map +0 -1
  799. package/dist/integrations/notifications/desktop/windows-toast.js +0 -56
  800. package/dist/integrations/notifications/desktop/windows-toast.js.map +0 -1
  801. package/dist/integrations/notifications/desktop.js +0 -199
  802. package/dist/integrations/notifications/desktop.js.map +0 -1
  803. package/dist/integrations/notifications/terminal.js +0 -46
  804. package/dist/integrations/notifications/terminal.js.map +0 -1
  805. package/dist/integrations/npm-invocation.js +0 -23
  806. package/dist/integrations/npm-invocation.js.map +0 -1
  807. package/dist/integrations/plugins/runtime.js +0 -189
  808. package/dist/integrations/plugins/runtime.js.map +0 -1
  809. package/dist/integrations/plugins/settings.js +0 -106
  810. package/dist/integrations/plugins/settings.js.map +0 -1
  811. package/dist/integrations/providers/access.js +0 -23
  812. package/dist/integrations/providers/access.js.map +0 -1
  813. package/dist/integrations/providers/chain-capabilities.js +0 -211
  814. package/dist/integrations/providers/chain-capabilities.js.map +0 -1
  815. package/dist/integrations/providers/codex-device-login.js +0 -195
  816. package/dist/integrations/providers/codex-device-login.js.map +0 -1
  817. package/dist/integrations/providers/codex-oauth.js +0 -95
  818. package/dist/integrations/providers/codex-oauth.js.map +0 -1
  819. package/dist/integrations/providers/credential-provider.js +0 -74
  820. package/dist/integrations/providers/credential-provider.js.map +0 -1
  821. package/dist/integrations/providers/credential-store.js +0 -657
  822. package/dist/integrations/providers/credential-store.js.map +0 -1
  823. package/dist/integrations/providers/current-credential.js +0 -45
  824. package/dist/integrations/providers/current-credential.js.map +0 -1
  825. package/dist/integrations/providers/discover.js +0 -313
  826. package/dist/integrations/providers/discover.js.map +0 -1
  827. package/dist/integrations/providers/gemini-credentials.js +0 -148
  828. package/dist/integrations/providers/gemini-credentials.js.map +0 -1
  829. package/dist/integrations/providers/harness-credentials.js +0 -344
  830. package/dist/integrations/providers/harness-credentials.js.map +0 -1
  831. package/dist/integrations/providers/identity.js +0 -64
  832. package/dist/integrations/providers/identity.js.map +0 -1
  833. package/dist/integrations/providers/index.js +0 -14
  834. package/dist/integrations/providers/index.js.map +0 -1
  835. package/dist/integrations/providers/keychain.js +0 -78
  836. package/dist/integrations/providers/keychain.js.map +0 -1
  837. package/dist/integrations/providers/model-reasoning.js +0 -51
  838. package/dist/integrations/providers/model-reasoning.js.map +0 -1
  839. package/dist/integrations/providers/oauth.js +0 -302
  840. package/dist/integrations/providers/oauth.js.map +0 -1
  841. package/dist/integrations/providers/preferences.js +0 -287
  842. package/dist/integrations/providers/preferences.js.map +0 -1
  843. package/dist/integrations/providers/register.js +0 -154
  844. package/dist/integrations/providers/register.js.map +0 -1
  845. package/dist/integrations/providers/registry.js +0 -289
  846. package/dist/integrations/providers/registry.js.map +0 -1
  847. package/dist/integrations/providers/setup.js +0 -158
  848. package/dist/integrations/providers/setup.js.map +0 -1
  849. package/dist/integrations/providers/subscription-login.js +0 -328
  850. package/dist/integrations/providers/subscription-login.js.map +0 -1
  851. package/dist/integrations/providers/zen-catalogue.js +0 -196
  852. package/dist/integrations/providers/zen-catalogue.js.map +0 -1
  853. package/dist/integrations/resident/foreground.js +0 -95
  854. package/dist/integrations/resident/foreground.js.map +0 -1
  855. package/dist/integrations/resident/inspection.js +0 -282
  856. package/dist/integrations/resident/inspection.js.map +0 -1
  857. package/dist/integrations/resident/learning-sources.js +0 -79
  858. package/dist/integrations/resident/learning-sources.js.map +0 -1
  859. package/dist/integrations/resident/learning-storage.js +0 -55
  860. package/dist/integrations/resident/learning-storage.js.map +0 -1
  861. package/dist/integrations/resident/lifecycle-errors.js +0 -15
  862. package/dist/integrations/resident/lifecycle-errors.js.map +0 -1
  863. package/dist/integrations/resident/owned-runner.js +0 -91
  864. package/dist/integrations/resident/owned-runner.js.map +0 -1
  865. package/dist/integrations/resident/runner-control.js +0 -238
  866. package/dist/integrations/resident/runner-control.js.map +0 -1
  867. package/dist/integrations/resident/runner-launch.js +0 -142
  868. package/dist/integrations/resident/runner-launch.js.map +0 -1
  869. package/dist/integrations/resident/runner-store.js +0 -284
  870. package/dist/integrations/resident/runner-store.js.map +0 -1
  871. package/dist/integrations/resident/session-log-reads.js +0 -125
  872. package/dist/integrations/resident/session-log-reads.js.map +0 -1
  873. package/dist/integrations/resident/session-step.js +0 -471
  874. package/dist/integrations/resident/session-step.js.map +0 -1
  875. package/dist/integrations/resident/storage.js +0 -183
  876. package/dist/integrations/resident/storage.js.map +0 -1
  877. package/dist/integrations/resident/tool-evidence.js +0 -123
  878. package/dist/integrations/resident/tool-evidence.js.map +0 -1
  879. package/dist/integrations/resident/verification.js +0 -109
  880. package/dist/integrations/resident/verification.js.map +0 -1
  881. package/dist/integrations/sessions/checkpoint-view.js +0 -48
  882. package/dist/integrations/sessions/checkpoint-view.js.map +0 -1
  883. package/dist/integrations/sessions/context-inventory.js +0 -44
  884. package/dist/integrations/sessions/context-inventory.js.map +0 -1
  885. package/dist/integrations/sessions/conversation-search.js +0 -572
  886. package/dist/integrations/sessions/conversation-search.js.map +0 -1
  887. package/dist/integrations/sessions/display-title.js +0 -5
  888. package/dist/integrations/sessions/display-title.js.map +0 -1
  889. package/dist/integrations/sessions/evidence-page-validation.js +0 -74
  890. package/dist/integrations/sessions/evidence-page-validation.js.map +0 -1
  891. package/dist/integrations/sessions/evidence-recall.js +0 -117
  892. package/dist/integrations/sessions/evidence-recall.js.map +0 -1
  893. package/dist/integrations/sessions/store.js +0 -780
  894. package/dist/integrations/sessions/store.js.map +0 -1
  895. package/dist/integrations/sessions/task-context.js +0 -96
  896. package/dist/integrations/sessions/task-context.js.map +0 -1
  897. package/dist/integrations/sessions/transcript-export.js +0 -342
  898. package/dist/integrations/sessions/transcript-export.js.map +0 -1
  899. package/dist/integrations/state/home.js +0 -17
  900. package/dist/integrations/state/home.js.map +0 -1
  901. package/dist/integrations/state/identity.js +0 -49
  902. package/dist/integrations/state/identity.js.map +0 -1
  903. package/dist/integrations/state/immutable-json.js +0 -38
  904. package/dist/integrations/state/immutable-json.js.map +0 -1
  905. package/dist/integrations/state/private-directory.js +0 -43
  906. package/dist/integrations/state/private-directory.js.map +0 -1
  907. package/dist/integrations/state/project.js +0 -13
  908. package/dist/integrations/state/project.js.map +0 -1
  909. package/dist/integrations/state/report.js +0 -626
  910. package/dist/integrations/state/report.js.map +0 -1
  911. package/dist/integrations/state/retention.js +0 -18
  912. package/dist/integrations/state/retention.js.map +0 -1
  913. package/dist/integrations/subagents/NamzuCliAgent.js +0 -9
  914. package/dist/integrations/subagents/NamzuCliAgent.js.map +0 -1
  915. package/dist/integrations/subagents/activity.js +0 -759
  916. package/dist/integrations/subagents/activity.js.map +0 -1
  917. package/dist/integrations/subagents/batches.js +0 -172
  918. package/dist/integrations/subagents/batches.js.map +0 -1
  919. package/dist/integrations/subagents/definitions.js +0 -26
  920. package/dist/integrations/subagents/definitions.js.map +0 -1
  921. package/dist/integrations/subagents/model-effort.js +0 -12
  922. package/dist/integrations/subagents/model-effort.js.map +0 -1
  923. package/dist/integrations/subagents/parent.js +0 -47
  924. package/dist/integrations/subagents/parent.js.map +0 -1
  925. package/dist/integrations/subagents/policy.js +0 -3
  926. package/dist/integrations/subagents/policy.js.map +0 -1
  927. package/dist/integrations/subagents/replay.js +0 -295
  928. package/dist/integrations/subagents/replay.js.map +0 -1
  929. package/dist/integrations/subagents/runtime.js +0 -1317
  930. package/dist/integrations/subagents/runtime.js.map +0 -1
  931. package/dist/integrations/subagents/saved-agents.js +0 -102
  932. package/dist/integrations/subagents/saved-agents.js.map +0 -1
  933. package/dist/integrations/subagents/slash.js +0 -45
  934. package/dist/integrations/subagents/slash.js.map +0 -1
  935. package/dist/integrations/subagents/worktree-driver.js +0 -72
  936. package/dist/integrations/subagents/worktree-driver.js.map +0 -1
  937. package/dist/integrations/telemetry/session-export.js +0 -119
  938. package/dist/integrations/telemetry/session-export.js.map +0 -1
  939. package/dist/integrations/trust/store.js +0 -73
  940. package/dist/integrations/trust/store.js.map +0 -1
  941. package/dist/integrations/updates.js +0 -115
  942. package/dist/integrations/updates.js.map +0 -1
  943. package/dist/integrations/web/exa-search.js +0 -154
  944. package/dist/integrations/web/exa-search.js.map +0 -1
  945. package/dist/integrations/web/open-url.js +0 -73
  946. package/dist/integrations/web/open-url.js.map +0 -1
  947. package/dist/integrations/web/search.js +0 -68
  948. package/dist/integrations/web/search.js.map +0 -1
  949. package/dist/integrations/worktrees/managed.js +0 -231
  950. package/dist/integrations/worktrees/managed.js.map +0 -1
  951. package/dist/logging.js +0 -115
  952. package/dist/logging.js.map +0 -1
  953. package/dist/memory/io.js +0 -177
  954. package/dist/memory/io.js.map +0 -1
  955. package/dist/memory/presentation.js +0 -76
  956. package/dist/memory/presentation.js.map +0 -1
  957. package/dist/memory/store.js +0 -180
  958. package/dist/memory/store.js.map +0 -1
  959. package/dist/memory/typed.js +0 -336
  960. package/dist/memory/typed.js.map +0 -1
  961. package/dist/output/formatter.js +0 -16
  962. package/dist/output/formatter.js.map +0 -1
  963. package/dist/output/index.js +0 -22
  964. package/dist/output/index.js.map +0 -1
  965. package/dist/output/json.js +0 -51
  966. package/dist/output/json.js.map +0 -1
  967. package/dist/output/text.js +0 -50
  968. package/dist/output/text.js.map +0 -1
  969. package/dist/output/yaml.js +0 -26
  970. package/dist/output/yaml.js.map +0 -1
  971. package/dist/output-schema.js +0 -18
  972. package/dist/output-schema.js.map +0 -1
  973. package/dist/permissions/browser-sites.js +0 -270
  974. package/dist/permissions/browser-sites.js.map +0 -1
  975. package/dist/permissions/canonical-project.js +0 -13
  976. package/dist/permissions/canonical-project.js.map +0 -1
  977. package/dist/permissions/checks.js +0 -128
  978. package/dist/permissions/checks.js.map +0 -1
  979. package/dist/permissions/headless-trust.js +0 -86
  980. package/dist/permissions/headless-trust.js.map +0 -1
  981. package/dist/permissions/live-mode.js +0 -62
  982. package/dist/permissions/live-mode.js.map +0 -1
  983. package/dist/permissions/mode.js +0 -65
  984. package/dist/permissions/mode.js.map +0 -1
  985. package/dist/permissions/rules.js +0 -358
  986. package/dist/permissions/rules.js.map +0 -1
  987. package/dist/release-notes.js +0 -64
  988. package/dist/release-notes.js.map +0 -1
  989. package/dist/resume-invocation.js +0 -24
  990. package/dist/resume-invocation.js.map +0 -1
  991. package/dist/schedule/build.js +0 -374
  992. package/dist/schedule/build.js.map +0 -1
  993. package/dist/schedule/changes.js +0 -78
  994. package/dist/schedule/changes.js.map +0 -1
  995. package/dist/schedule/commands/add.js +0 -603
  996. package/dist/schedule/commands/add.js.map +0 -1
  997. package/dist/schedule/commands/args.js +0 -80
  998. package/dist/schedule/commands/args.js.map +0 -1
  999. package/dist/schedule/commands/confirm-prompt.js +0 -21
  1000. package/dist/schedule/commands/confirm-prompt.js.map +0 -1
  1001. package/dist/schedule/commands/lifecycle.js +0 -586
  1002. package/dist/schedule/commands/lifecycle.js.map +0 -1
  1003. package/dist/schedule/commands/list.js +0 -260
  1004. package/dist/schedule/commands/list.js.map +0 -1
  1005. package/dist/schedule/commands/logs.js +0 -106
  1006. package/dist/schedule/commands/logs.js.map +0 -1
  1007. package/dist/schedule/commands/service.js +0 -458
  1008. package/dist/schedule/commands/service.js.map +0 -1
  1009. package/dist/schedule/daemon/daemon.js +0 -1265
  1010. package/dist/schedule/daemon/daemon.js.map +0 -1
  1011. package/dist/schedule/daemon/endpoint.js +0 -158
  1012. package/dist/schedule/daemon/endpoint.js.map +0 -1
  1013. package/dist/schedule/daemon/exit.js +0 -8
  1014. package/dist/schedule/daemon/exit.js.map +0 -1
  1015. package/dist/schedule/daemon/log.js +0 -53
  1016. package/dist/schedule/daemon/log.js.map +0 -1
  1017. package/dist/schedule/daemon/notify.js +0 -158
  1018. package/dist/schedule/daemon/notify.js.map +0 -1
  1019. package/dist/schedule/daemon/retention.js +0 -46
  1020. package/dist/schedule/daemon/retention.js.map +0 -1
  1021. package/dist/schedule/daemon/sessions.js +0 -52
  1022. package/dist/schedule/daemon/sessions.js.map +0 -1
  1023. package/dist/schedule/env.js +0 -106
  1024. package/dist/schedule/env.js.map +0 -1
  1025. package/dist/schedule/fire/browser-preflight.js +0 -73
  1026. package/dist/schedule/fire/browser-preflight.js.map +0 -1
  1027. package/dist/schedule/fire/calls.js +0 -114
  1028. package/dist/schedule/fire/calls.js.map +0 -1
  1029. package/dist/schedule/fire/fire.js +0 -681
  1030. package/dist/schedule/fire/fire.js.map +0 -1
  1031. package/dist/schedule/fire/result.js +0 -19
  1032. package/dist/schedule/fire/result.js.map +0 -1
  1033. package/dist/schedule/fire/run-script.js +0 -81
  1034. package/dist/schedule/fire/run-script.js.map +0 -1
  1035. package/dist/schedule/fire/unattended-note.js +0 -51
  1036. package/dist/schedule/fire/unattended-note.js.map +0 -1
  1037. package/dist/schedule/fire/wake-gate.js +0 -90
  1038. package/dist/schedule/fire/wake-gate.js.map +0 -1
  1039. package/dist/schedule/floor.js +0 -1561
  1040. package/dist/schedule/floor.js.map +0 -1
  1041. package/dist/schedule/folder.js +0 -84
  1042. package/dist/schedule/folder.js.map +0 -1
  1043. package/dist/schedule/paths.js +0 -53
  1044. package/dist/schedule/paths.js.map +0 -1
  1045. package/dist/schedule/policy.js +0 -414
  1046. package/dist/schedule/policy.js.map +0 -1
  1047. package/dist/schedule/resume-command.js +0 -72
  1048. package/dist/schedule/resume-command.js.map +0 -1
  1049. package/dist/schedule/script-check.js +0 -146
  1050. package/dist/schedule/script-check.js.map +0 -1
  1051. package/dist/schedule/script-shell.js +0 -5
  1052. package/dist/schedule/script-shell.js.map +0 -1
  1053. package/dist/schedule/service/detect.js +0 -29
  1054. package/dist/schedule/service/detect.js.map +0 -1
  1055. package/dist/schedule/service/index.js +0 -361
  1056. package/dist/schedule/service/index.js.map +0 -1
  1057. package/dist/schedule/service/launchd.js +0 -84
  1058. package/dist/schedule/service/launchd.js.map +0 -1
  1059. package/dist/schedule/service/manifest.js +0 -16
  1060. package/dist/schedule/service/manifest.js.map +0 -1
  1061. package/dist/schedule/service/names.js +0 -22
  1062. package/dist/schedule/service/names.js.map +0 -1
  1063. package/dist/schedule/service/quote.js +0 -64
  1064. package/dist/schedule/service/quote.js.map +0 -1
  1065. package/dist/schedule/service/runner.js +0 -31
  1066. package/dist/schedule/service/runner.js.map +0 -1
  1067. package/dist/schedule/service/systemd.js +0 -96
  1068. package/dist/schedule/service/systemd.js.map +0 -1
  1069. package/dist/schedule/service/windows-task.js +0 -199
  1070. package/dist/schedule/service/windows-task.js.map +0 -1
  1071. package/dist/schedule/service/wsl.js +0 -121
  1072. package/dist/schedule/service/wsl.js.map +0 -1
  1073. package/dist/schedule/store/atomic.js +0 -138
  1074. package/dist/schedule/store/atomic.js.map +0 -1
  1075. package/dist/schedule/store/claims.js +0 -57
  1076. package/dist/schedule/store/claims.js.map +0 -1
  1077. package/dist/schedule/store/digest.js +0 -139
  1078. package/dist/schedule/store/digest.js.map +0 -1
  1079. package/dist/schedule/store/history.js +0 -117
  1080. package/dist/schedule/store/history.js.map +0 -1
  1081. package/dist/schedule/store/jobs.js +0 -277
  1082. package/dist/schedule/store/jobs.js.map +0 -1
  1083. package/dist/schedule/store/state.js +0 -38
  1084. package/dist/schedule/store/state.js.map +0 -1
  1085. package/dist/schedule/types.js +0 -33
  1086. package/dist/schedule/types.js.map +0 -1
  1087. package/dist/schedule/visible-source.js +0 -59
  1088. package/dist/schedule/visible-source.js.map +0 -1
  1089. package/dist/skills/audit.js +0 -75
  1090. package/dist/skills/audit.js.map +0 -1
  1091. package/dist/skills/catalog.js +0 -226
  1092. package/dist/skills/catalog.js.map +0 -1
  1093. package/dist/skills/directory.js +0 -51
  1094. package/dist/skills/directory.js.map +0 -1
  1095. package/dist/skills/save.js +0 -344
  1096. package/dist/skills/save.js.map +0 -1
  1097. package/dist/skills/store.js +0 -351
  1098. package/dist/skills/store.js.map +0 -1
  1099. package/dist/termination.js +0 -143
  1100. package/dist/termination.js.map +0 -1
  1101. package/dist/test-support/toolset.js +0 -27
  1102. package/dist/test-support/toolset.js.map +0 -1
  1103. package/dist/tui/AgentExplorer.js +0 -789
  1104. package/dist/tui/AgentExplorer.js.map +0 -1
  1105. package/dist/tui/App.js +0 -8209
  1106. package/dist/tui/App.js.map +0 -1
  1107. package/dist/tui/BrandHeader.js +0 -14
  1108. package/dist/tui/BrandHeader.js.map +0 -1
  1109. package/dist/tui/Checklist.js +0 -90
  1110. package/dist/tui/Checklist.js.map +0 -1
  1111. package/dist/tui/ChoicePicker.js +0 -64
  1112. package/dist/tui/ChoicePicker.js.map +0 -1
  1113. package/dist/tui/Composer.js +0 -908
  1114. package/dist/tui/Composer.js.map +0 -1
  1115. package/dist/tui/ComposerFrame.js +0 -79
  1116. package/dist/tui/ComposerFrame.js.map +0 -1
  1117. package/dist/tui/CopyPicker.js +0 -19
  1118. package/dist/tui/CopyPicker.js.map +0 -1
  1119. package/dist/tui/EditPromptPicker.js +0 -17
  1120. package/dist/tui/EditPromptPicker.js.map +0 -1
  1121. package/dist/tui/EffortSlider.js +0 -134
  1122. package/dist/tui/EffortSlider.js.map +0 -1
  1123. package/dist/tui/LiveActivity.js +0 -89
  1124. package/dist/tui/LiveActivity.js.map +0 -1
  1125. package/dist/tui/Markdown.js +0 -137
  1126. package/dist/tui/Markdown.js.map +0 -1
  1127. package/dist/tui/PermissionOverlay.js +0 -278
  1128. package/dist/tui/PermissionOverlay.js.map +0 -1
  1129. package/dist/tui/Picker.js +0 -1310
  1130. package/dist/tui/Picker.js.map +0 -1
  1131. package/dist/tui/ProviderSetup.js +0 -125
  1132. package/dist/tui/ProviderSetup.js.map +0 -1
  1133. package/dist/tui/ResumePicker.js +0 -34
  1134. package/dist/tui/ResumePicker.js.map +0 -1
  1135. package/dist/tui/SaveSkillOverlay.js +0 -118
  1136. package/dist/tui/SaveSkillOverlay.js.map +0 -1
  1137. package/dist/tui/ScheduleReviewOverlay.js +0 -166
  1138. package/dist/tui/ScheduleReviewOverlay.js.map +0 -1
  1139. package/dist/tui/StatusBar.js +0 -182
  1140. package/dist/tui/StatusBar.js.map +0 -1
  1141. package/dist/tui/StatusPanel.js +0 -11
  1142. package/dist/tui/StatusPanel.js.map +0 -1
  1143. package/dist/tui/TaskList.js +0 -43
  1144. package/dist/tui/TaskList.js.map +0 -1
  1145. package/dist/tui/TextPrompt.js +0 -185
  1146. package/dist/tui/TextPrompt.js.map +0 -1
  1147. package/dist/tui/ToolOutputViewer.js +0 -39
  1148. package/dist/tui/ToolOutputViewer.js.map +0 -1
  1149. package/dist/tui/Transcript.js +0 -235
  1150. package/dist/tui/Transcript.js.map +0 -1
  1151. package/dist/tui/TrustPrompt.js +0 -13
  1152. package/dist/tui/TrustPrompt.js.map +0 -1
  1153. package/dist/tui/ViewportBound.js +0 -55
  1154. package/dist/tui/ViewportBound.js.map +0 -1
  1155. package/dist/tui/agent-transcript-rows.js +0 -115
  1156. package/dist/tui/agent-transcript-rows.js.map +0 -1
  1157. package/dist/tui/agent.js +0 -4235
  1158. package/dist/tui/agent.js.map +0 -1
  1159. package/dist/tui/browser-notices.js +0 -107
  1160. package/dist/tui/browser-notices.js.map +0 -1
  1161. package/dist/tui/choice-selection.js +0 -38
  1162. package/dist/tui/choice-selection.js.map +0 -1
  1163. package/dist/tui/compact-transcript.js +0 -46
  1164. package/dist/tui/compact-transcript.js.map +0 -1
  1165. package/dist/tui/consent-timing.js +0 -48
  1166. package/dist/tui/consent-timing.js.map +0 -1
  1167. package/dist/tui/conversation-evidence-view.js +0 -96
  1168. package/dist/tui/conversation-evidence-view.js.map +0 -1
  1169. package/dist/tui/conversation-history.js +0 -33
  1170. package/dist/tui/conversation-history.js.map +0 -1
  1171. package/dist/tui/copy-targets.js +0 -189
  1172. package/dist/tui/copy-targets.js.map +0 -1
  1173. package/dist/tui/credential-entry.js +0 -134
  1174. package/dist/tui/credential-entry.js.map +0 -1
  1175. package/dist/tui/edit-prompts.js +0 -35
  1176. package/dist/tui/edit-prompts.js.map +0 -1
  1177. package/dist/tui/exit-summary.js +0 -30
  1178. package/dist/tui/exit-summary.js.map +0 -1
  1179. package/dist/tui/external-editor.js +0 -169
  1180. package/dist/tui/external-editor.js.map +0 -1
  1181. package/dist/tui/hypermode.js +0 -58
  1182. package/dist/tui/hypermode.js.map +0 -1
  1183. package/dist/tui/index.js +0 -81
  1184. package/dist/tui/index.js.map +0 -1
  1185. package/dist/tui/live-window.js +0 -281
  1186. package/dist/tui/live-window.js.map +0 -1
  1187. package/dist/tui/log-pane.js +0 -100
  1188. package/dist/tui/log-pane.js.map +0 -1
  1189. package/dist/tui/login-prompt.js +0 -105
  1190. package/dist/tui/login-prompt.js.map +0 -1
  1191. package/dist/tui/logo.js +0 -9
  1192. package/dist/tui/logo.js.map +0 -1
  1193. package/dist/tui/markdown-block-cache.js +0 -76
  1194. package/dist/tui/markdown-block-cache.js.map +0 -1
  1195. package/dist/tui/markdown-table.js +0 -175
  1196. package/dist/tui/markdown-table.js.map +0 -1
  1197. package/dist/tui/markdown-wrap.js +0 -189
  1198. package/dist/tui/markdown-wrap.js.map +0 -1
  1199. package/dist/tui/markdownParser.js +0 -237
  1200. package/dist/tui/markdownParser.js.map +0 -1
  1201. package/dist/tui/mentions.js +0 -150
  1202. package/dist/tui/mentions.js.map +0 -1
  1203. package/dist/tui/model-catalogue-view.js +0 -75
  1204. package/dist/tui/model-catalogue-view.js.map +0 -1
  1205. package/dist/tui/model-choices.js +0 -157
  1206. package/dist/tui/model-choices.js.map +0 -1
  1207. package/dist/tui/model-search.js +0 -28
  1208. package/dist/tui/model-search.js.map +0 -1
  1209. package/dist/tui/model-selection-intent.js +0 -96
  1210. package/dist/tui/model-selection-intent.js.map +0 -1
  1211. package/dist/tui/model-switch-tool.js +0 -74
  1212. package/dist/tui/model-switch-tool.js.map +0 -1
  1213. package/dist/tui/model-switch.js +0 -106
  1214. package/dist/tui/model-switch.js.map +0 -1
  1215. package/dist/tui/notices.js +0 -27
  1216. package/dist/tui/notices.js.map +0 -1
  1217. package/dist/tui/open-browser.js +0 -147
  1218. package/dist/tui/open-browser.js.map +0 -1
  1219. package/dist/tui/permission-review.js +0 -858
  1220. package/dist/tui/permission-review.js.map +0 -1
  1221. package/dist/tui/plugin-view.js +0 -59
  1222. package/dist/tui/plugin-view.js.map +0 -1
  1223. package/dist/tui/provider-list.js +0 -327
  1224. package/dist/tui/provider-list.js.map +0 -1
  1225. package/dist/tui/provider-selection.js +0 -16
  1226. package/dist/tui/provider-selection.js.map +0 -1
  1227. package/dist/tui/schedule/host-commands.js +0 -428
  1228. package/dist/tui/schedule/host-commands.js.map +0 -1
  1229. package/dist/tui/schedule/integration.js +0 -150
  1230. package/dist/tui/schedule/integration.js.map +0 -1
  1231. package/dist/tui/schedule/loop-host.js +0 -153
  1232. package/dist/tui/schedule/loop-host.js.map +0 -1
  1233. package/dist/tui/schedule/resume.js +0 -333
  1234. package/dist/tui/schedule/resume.js.map +0 -1
  1235. package/dist/tui/schedule/startup.js +0 -121
  1236. package/dist/tui/schedule/startup.js.map +0 -1
  1237. package/dist/tui/schedule/tool-host.js +0 -619
  1238. package/dist/tui/schedule/tool-host.js.map +0 -1
  1239. package/dist/tui/selection-window.js +0 -37
  1240. package/dist/tui/selection-window.js.map +0 -1
  1241. package/dist/tui/shell-escape.js +0 -110
  1242. package/dist/tui/shell-escape.js.map +0 -1
  1243. package/dist/tui/skills/learning.js +0 -131
  1244. package/dist/tui/skills/learning.js.map +0 -1
  1245. package/dist/tui/skills/suggest-setting.js +0 -55
  1246. package/dist/tui/skills/suggest-setting.js.map +0 -1
  1247. package/dist/tui/skills/suggestion-ledger.js +0 -52
  1248. package/dist/tui/skills/suggestion-ledger.js.map +0 -1
  1249. package/dist/tui/slashCommands.js +0 -1587
  1250. package/dist/tui/slashCommands.js.map +0 -1
  1251. package/dist/tui/status-card.js +0 -30
  1252. package/dist/tui/status-card.js.map +0 -1
  1253. package/dist/tui/status-panel-layout.js +0 -42
  1254. package/dist/tui/status-panel-layout.js.map +0 -1
  1255. package/dist/tui/stream-blocks.js +0 -187
  1256. package/dist/tui/stream-blocks.js.map +0 -1
  1257. package/dist/tui/task-activity.js +0 -157
  1258. package/dist/tui/task-activity.js.map +0 -1
  1259. package/dist/tui/terminal-choice-text.js +0 -118
  1260. package/dist/tui/terminal-choice-text.js.map +0 -1
  1261. package/dist/tui/terminal-display.js +0 -65
  1262. package/dist/tui/terminal-display.js.map +0 -1
  1263. package/dist/tui/terminal-hyperlinks.js +0 -70
  1264. package/dist/tui/terminal-hyperlinks.js.map +0 -1
  1265. package/dist/tui/theme.js +0 -34
  1266. package/dist/tui/theme.js.map +0 -1
  1267. package/dist/tui/triggers/analyze.js +0 -221
  1268. package/dist/tui/triggers/analyze.js.map +0 -1
  1269. package/dist/tui/triggers/context-text.js +0 -44
  1270. package/dist/tui/triggers/context-text.js.map +0 -1
  1271. package/dist/tui/triggers/copy.js +0 -163
  1272. package/dist/tui/triggers/copy.js.map +0 -1
  1273. package/dist/tui/triggers/detect.js +0 -295
  1274. package/dist/tui/triggers/detect.js.map +0 -1
  1275. package/dist/tui/triggers/fold.js +0 -44
  1276. package/dist/tui/triggers/fold.js.map +0 -1
  1277. package/dist/tui/triggers/pattern.js +0 -243
  1278. package/dist/tui/triggers/pattern.js.map +0 -1
  1279. package/dist/tui/triggers/provenance.js +0 -98
  1280. package/dist/tui/triggers/provenance.js.map +0 -1
  1281. package/dist/tui/triggers/registry.js +0 -164
  1282. package/dist/tui/triggers/registry.js.map +0 -1
  1283. package/dist/tui/triggers/setting.js +0 -61
  1284. package/dist/tui/triggers/setting.js.map +0 -1
  1285. package/dist/tui/triggers/verbs.js +0 -140
  1286. package/dist/tui/triggers/verbs.js.map +0 -1
  1287. package/dist/tui/turn-interruption.js +0 -160
  1288. package/dist/tui/turn-interruption.js.map +0 -1
  1289. package/dist/tui/turn-limits-settings.js +0 -88
  1290. package/dist/tui/turn-limits-settings.js.map +0 -1
  1291. package/dist/tui/types.js +0 -7
  1292. package/dist/tui/types.js.map +0 -1
  1293. package/dist/tui/units.js +0 -20
  1294. package/dist/tui/units.js.map +0 -1
  1295. package/dist/tui/use-selection-index.js +0 -13
  1296. package/dist/tui/use-selection-index.js.map +0 -1
  1297. package/dist/tui/web-activity.js +0 -105
  1298. package/dist/tui/web-activity.js.map +0 -1
  1299. package/dist/tui/workspace-diff.js +0 -101
  1300. package/dist/tui/workspace-diff.js.map +0 -1
  1301. package/dist/tui/workspace-review.js +0 -67
  1302. package/dist/tui/workspace-review.js.map +0 -1
  1303. package/dist/user-commands/store.js +0 -235
  1304. package/dist/user-commands/store.js.map +0 -1
  1305. package/dist/version.js +0 -23
  1306. package/dist/version.js.map +0 -1
@@ -0,0 +1,1142 @@
1
+ import { createRequire as __namzuCreateRequire } from 'node:module';
2
+ const require = __namzuCreateRequire(import.meta.url);
3
+ import {
4
+ describeBrowserPlan
5
+ } from "./chunk-ZPR4IMRT.js";
6
+ import {
7
+ readManifest
8
+ } from "./chunk-AK2U3N2A.js";
9
+ import {
10
+ listJobs
11
+ } from "./chunk-SKKWMMFP.js";
12
+ import {
13
+ schedulePaths
14
+ } from "./chunk-A22MBIYU.js";
15
+ import {
16
+ CLI_VERSION
17
+ } from "./chunk-HE7WUOX2.js";
18
+ import {
19
+ KEYCHAIN_SERVICE,
20
+ chainCapabilityDisagreements,
21
+ claudeCredentialSearchPaths,
22
+ discoverProviders,
23
+ hasApiCredential,
24
+ preferencesPath,
25
+ readPreferences,
26
+ requiresCredentialForModel,
27
+ resolveChainCapabilities,
28
+ unresolvedMembers,
29
+ wslWindowsHome
30
+ } from "./chunk-SB6UD3ED.js";
31
+ import {
32
+ PROVIDER_REGISTRY
33
+ } from "./chunk-6LLJQ3KY.js";
34
+ import {
35
+ EXIT_USAGE
36
+ } from "./chunk-Y7B67G22.js";
37
+ import {
38
+ describeSessionExportOff
39
+ } from "./chunk-FTMTO72X.js";
40
+ import {
41
+ capabilityCheckId,
42
+ probeOptionalPackage
43
+ } from "./chunk-OH6TB27S.js";
44
+ import {
45
+ LocalSandboxProvider,
46
+ SANDBOX_ISOLATION_CONTROLS,
47
+ SCOPE_ATTRIBUTE,
48
+ getLogCounters,
49
+ invariants,
50
+ isolationOf,
51
+ resolveNamzuHome
52
+ } from "./chunk-K5HARZ7G.js";
53
+ import {
54
+ __name
55
+ } from "./chunk-76FLAFCG.js";
56
+
57
+ // src/doctor/checks/browser.ts
58
+ async function describeBrowserEngine(env, platform = process.platform, load = () => import("@namzu/browser")) {
59
+ const probe = await probeOptionalPackage("@namzu/browser");
60
+ if (probe.state !== "present") {
61
+ return {
62
+ status: "skipped",
63
+ message: probe.state === "absent" ? "@namzu/browser not installed; no browser tools" : "@namzu/browser failed to load; see browser.installed"
64
+ };
65
+ }
66
+ let mod;
67
+ try {
68
+ mod = await load();
69
+ } catch (error) {
70
+ return {
71
+ status: "skipped",
72
+ message: `@namzu/browser failed to load: ${error instanceof Error ? error.message : String(error)}`
73
+ };
74
+ }
75
+ const detected = mod.detectBrowserEnvironment(env, platform);
76
+ const plan = mod.runnableBrowserPlan(detected);
77
+ const notes = plan.warnings.length > 0 ? ` (${plan.warnings.join(" ")})` : "";
78
+ if (plan.unavailableReason !== void 0) {
79
+ return {
80
+ status: "warn",
81
+ message: `no browser can run here: ${plan.unavailableReason}`,
82
+ remediation: plan.engine === "local" && plan.browser === "chromium" ? "namzu browser install" : "Install Google Chrome, or set browser.engine in your config."
83
+ };
84
+ }
85
+ if (plan.engine === "local" && plan.browser === "chromium") {
86
+ return {
87
+ status: "pass",
88
+ message: `${describeBrowserPlan(plan)}${notes}`,
89
+ remediation: "If the first browser call says Chromium is missing: namzu browser install"
90
+ };
91
+ }
92
+ return {
93
+ status: plan.warnings.length > 0 ? "warn" : "pass",
94
+ message: `${describeBrowserPlan(plan)}${notes}`
95
+ };
96
+ }
97
+ __name(describeBrowserEngine, "describeBrowserEngine");
98
+ var browserEngineCheck = {
99
+ id: "browser.engine",
100
+ category: "custom",
101
+ run: /* @__PURE__ */ __name((ctx) => describeBrowserEngine(ctx.env), "run")
102
+ };
103
+
104
+ // src/doctor/checks/chain.ts
105
+ async function describeProviderChain(options = {}) {
106
+ const path = preferencesPath(options.home);
107
+ let read;
108
+ try {
109
+ read = readPreferences(options.home);
110
+ } catch (err) {
111
+ return {
112
+ status: "fail",
113
+ message: `could not read ${path}: ${err instanceof Error ? err.message : String(err)}`,
114
+ remediation: "Fix or delete the file, then run `namzu` to pick a provider again."
115
+ };
116
+ }
117
+ if (read.status === "missing") {
118
+ return {
119
+ status: "skipped",
120
+ message: `no provider chain configured (${path} does not exist)`,
121
+ remediation: "Run `namzu` and pick a provider; the choice is saved to that file."
122
+ };
123
+ }
124
+ if (read.status === "needs-repick") {
125
+ return {
126
+ status: "fail",
127
+ message: `provider chain unusable: ${read.reason}`,
128
+ remediation: "Run `namzu` to pick again, or edit that file by hand."
129
+ };
130
+ }
131
+ let detected;
132
+ try {
133
+ detected = await discoverProviders({
134
+ ...options.env ? { env: options.env } : {},
135
+ ...options.home ? { home: options.home } : {},
136
+ ...options.skipKeychain ? { skipKeychain: true } : {},
137
+ ...options.skipProbes ? { skipProbes: true } : {}
138
+ });
139
+ } catch (err) {
140
+ return {
141
+ status: "inconclusive",
142
+ message: `provider chain read, but credential discovery failed: ${err instanceof Error ? err.message : String(err)}`
143
+ };
144
+ }
145
+ const members = read.prefs.providers;
146
+ const lines = [];
147
+ let unusable = 0;
148
+ let primaryUnusable = false;
149
+ let anonymousZen = false;
150
+ for (const [index, member] of members.entries()) {
151
+ const entry = PROVIDER_REGISTRY[member.id];
152
+ const position = index === 0 ? "primary" : `fallback ${index}`;
153
+ const model = member.model ?? `${entry.defaultModel} (namzu default)`;
154
+ const det = detected.find((d) => d.entry.id === member.id);
155
+ const needsKey = requiresCredentialForModel(entry, member.model ?? entry.defaultModel);
156
+ const usable = needsKey ? hasApiCredential(entry, det?.apiKey) : Boolean(det);
157
+ if (entry.id === "zen" && usable && !hasApiCredential(entry, det?.apiKey)) anonymousZen = true;
158
+ if (!usable) {
159
+ unusable++;
160
+ if (index === 0) primaryUnusable = true;
161
+ }
162
+ const state = needsKey ? usable ? "credential found" : "NO CREDENTIAL" : entry.id === "zen" && usable ? hasApiCredential(entry, det?.apiKey) ? "credential found" : "experimental free models (gateway may refuse)" : usable ? "reachable" : "NOT REACHABLE";
163
+ lines.push(`${index + 1}. ${position} \xB7 ${entry.label} \xB7 ${model} \xB7 ${state}`);
164
+ }
165
+ const chain = lines.join("\n");
166
+ const resolved = await resolveChainCapabilities(members);
167
+ const disagreements = chainCapabilityDisagreements(members, resolved);
168
+ const accepted = read.prefs.allowCapabilityMismatch === true;
169
+ const unreadable = unresolvedMembers(members, resolved);
170
+ const primaryUnreadable = resolved[0]?.kind === "unresolved";
171
+ const sections = [chain];
172
+ if (disagreements.length > 0) {
173
+ sections.push(
174
+ accepted ? "The members declare different capabilities, and you have accepted that:" : "The members declare different capabilities, so a session will be REFUSED:",
175
+ ...disagreements.map((d) => ` - ${d.sentence}`)
176
+ );
177
+ }
178
+ if (unreadable.length > 0) {
179
+ sections.push(
180
+ "Could not read what these members declare:",
181
+ ...unreadable.map((line) => ` - ${line}`)
182
+ );
183
+ }
184
+ const message = sections.join("\n");
185
+ if (disagreements.length > 0 && !accepted) {
186
+ return {
187
+ status: "fail",
188
+ message: `provider chain cannot be honoured as written:
189
+ ${message}`,
190
+ remediation: 'Drop the member that disagrees, or set "allowCapabilityMismatch": true in your preferences to accept the limitation. namzu will not choose between advertising abilities a fallback lacks and costing your primary a capability on every turn.'
191
+ };
192
+ }
193
+ if (primaryUnusable || primaryUnreadable) {
194
+ return {
195
+ status: "fail",
196
+ message: `${unusable} of ${members.length} chain member(s) cannot be used:
197
+ ${message}`,
198
+ remediation: primaryUnusable ? "The primary provider has no usable credential, so no turn can start. Set its key, or run `namzu` to pick a provider that has one." : "The primary provider could not be loaded, so no turn can start. Run `namzu` to pick a provider that can."
199
+ };
200
+ }
201
+ if (unusable > 0 || unreadable.length > 0 || disagreements.length > 0 || anonymousZen) {
202
+ return {
203
+ // Anonymous Zen may be refused at inference time even when its model
204
+ // catalogue answers. That is unverified, not a failed credential check.
205
+ status: "warn",
206
+ message: unusable > 0 ? `${unusable} of ${members.length} chain member(s) cannot be used:
207
+ ${message}` : anonymousZen ? `provider chain configured, with experimental free-model access:
208
+ ${message}` : `provider chain usable, with limitations:
209
+ ${message}`,
210
+ remediation: anonymousZen ? "Zen free models are experimental; the gateway may refuse direct Namzu requests. OpenCode installation is recommended for its own client. If a turn is refused, configure OPENCODE_API_KEY or choose another provider." : unusable > 0 ? "The primary still works, so turns will start. But a fallback with no credential is not a fallback \u2014 set its key, or take it out of the chain." : "The primary still works. A fallback that declares less than your primary will serve shorter or less capable turns if the chain ever falls over to it."
211
+ };
212
+ }
213
+ return {
214
+ status: "pass",
215
+ message: members.length === 1 ? `1 provider configured (no fallback):
216
+ ${message}` : `${members.length} providers configured, in order:
217
+ ${message}`
218
+ };
219
+ }
220
+ __name(describeProviderChain, "describeProviderChain");
221
+ var providerChainCheck = {
222
+ id: "providers.chain",
223
+ category: "providers",
224
+ run: /* @__PURE__ */ __name((ctx) => describeProviderChain({ env: ctx.env }), "run")
225
+ };
226
+
227
+ // src/doctor/checks/credentials.ts
228
+ function missingClaudeSessionNote(env, windowsHome) {
229
+ const paths = claudeCredentialSearchPaths(void 0, env, windowsHome);
230
+ const keychain = process.platform === "darwin" && !env.CLAUDE_CONFIG_DIR ? ` and macOS Keychain service ${KEYCHAIN_SERVICE}` : "";
231
+ return `Claude Code session not detected; checked ${paths.join(", ")}${keychain}. Desktop sign-in does not guarantee a reusable Claude Code CLI session; Namzu does not read Desktop's credential store. Sign in to the standalone Claude Code CLI, or run \`namzu login claude\`.`;
232
+ }
233
+ __name(missingClaudeSessionNote, "missingClaudeSessionNote");
234
+ var credentialSourcesCheck = {
235
+ id: "providers.credentials",
236
+ category: "providers",
237
+ run: /* @__PURE__ */ __name(async (ctx) => {
238
+ const env = ctx.env;
239
+ const windowsHome = wslWindowsHome(env);
240
+ let detected;
241
+ try {
242
+ detected = await discoverProviders({ env, windowsHome });
243
+ } catch (err) {
244
+ return {
245
+ status: "inconclusive",
246
+ message: `credential discovery failed: ${err instanceof Error ? err.message : String(err)}`
247
+ };
248
+ }
249
+ const missingClaude = !detected.some((provider) => provider.entry.id === "anthropic");
250
+ const missingNote = missingClaude ? missingClaudeSessionNote(env, windowsHome) : "";
251
+ if (detected.length === 0) {
252
+ return {
253
+ status: "warn",
254
+ message: `no LLM credential found
255
+ ${missingNote}`,
256
+ remediation: "Namzu no longer reads the secrets file. It first reuses current Claude and Codex sessions on this device, then subscriptions signed in with `namzu login claude|codex`. API keys remain optional alternatives through ANTHROPIC_API_KEY or OPENAI_API_KEY; local Ollama and LM Studio servers are also detected."
257
+ };
258
+ }
259
+ const lines = detected.map((d) => {
260
+ switch (d.source.kind) {
261
+ case "env":
262
+ if (d.entry.id === "zen" && !hasApiCredential(d.entry, d.apiKey))
263
+ return `${d.entry.id} (env \xB7 ${d.source.envName}=public; free models experimental)`;
264
+ return `${d.entry.id} (env \xB7 ${d.source.envName})`;
265
+ case "public":
266
+ return `${d.entry.id} (experimental free models \xB7 gateway may refuse)`;
267
+ case "opencode-file":
268
+ return `${d.entry.id} (OpenCode API key \xB7 ${d.source.path})`;
269
+ case "keychain":
270
+ return `${d.entry.id} (keychain \xB7 ${d.source.service})`;
271
+ case "claude-file":
272
+ return `${d.entry.id} (Claude session \xB7 ${d.source.path})`;
273
+ case "gemini-file":
274
+ return `${d.entry.id} (Gemini session \xB7 ${d.source.path})`;
275
+ case "stored-gemini-key":
276
+ return `${d.entry.id} (saved Gemini API key \xB7 ${d.source.path})`;
277
+ case "stored-api-key":
278
+ return `${d.entry.id} (saved API key \xB7 ${d.source.path})`;
279
+ case "codex-file":
280
+ return `${d.entry.id} (Codex session \xB7 ${d.source.path})`;
281
+ case "stored":
282
+ return `${d.entry.id} (signed in \xB7 ${d.source.path})`;
283
+ case "probe":
284
+ return `${d.entry.id} (local \xB7 ${d.source.url.replace(/^https?:\/\//, "")})`;
285
+ case "session":
286
+ return `${d.entry.id} (typed \xB7 current session)`;
287
+ }
288
+ });
289
+ const onlyAnonymousZen = detected.every(
290
+ (d) => d.entry.id === "zen" && !hasApiCredential(d.entry, d.apiKey)
291
+ );
292
+ return {
293
+ status: onlyAnonymousZen ? "warn" : "pass",
294
+ message: `${detected.length} provider source(s) discovered: ${lines.join(", ")}${missingNote ? `
295
+ ${missingNote}` : ""}`,
296
+ ...onlyAnonymousZen ? {
297
+ remediation: "Zen free models are experimental; the gateway may refuse direct Namzu requests. OpenCode installation is recommended for its own client. If a turn is refused, configure OPENCODE_API_KEY or choose another provider."
298
+ } : {}
299
+ };
300
+ }, "run")
301
+ };
302
+
303
+ // src/doctor/checks/invariants.ts
304
+ function label(row) {
305
+ return `${row.id} (${row.violations} violation${row.violations === 1 ? "" : "s"})`;
306
+ }
307
+ __name(label, "label");
308
+ async function describeInvariants(registry) {
309
+ const ids = registry.listIds();
310
+ if (ids.length === 0) {
311
+ return { status: "skipped", message: "no invariants registered" };
312
+ }
313
+ const rows = await Promise.all(
314
+ ids.map(async (id) => ({
315
+ id,
316
+ outcome: await registry.evaluate(id, void 0),
317
+ violations: registry.violationCount(id)
318
+ }))
319
+ );
320
+ const violated = rows.filter((r) => r.outcome.state === "violated");
321
+ const unknown = rows.filter((r) => r.outcome.state === "unknown");
322
+ if (violated.length > 0) {
323
+ const detail = violated.map((r) => r.outcome.state === "violated" ? `${label(r)}: ${r.outcome.detail}` : label(r)).join("; ");
324
+ return {
325
+ status: "fail",
326
+ message: `${violated.length}/${ids.length} invariant(s) violated \u2014 ${detail}`,
327
+ remediation: "Check the warn/error logs at the module that registered the violated invariant."
328
+ };
329
+ }
330
+ if (unknown.length > 0) {
331
+ const names = unknown.map(label).join(", ");
332
+ return {
333
+ status: "skipped",
334
+ message: `${unknown.length}/${ids.length} invariant(s) have no subject outside a live turn: ${names}`
335
+ };
336
+ }
337
+ return {
338
+ status: "pass",
339
+ message: `${ids.length} invariant(s) hold: ${rows.map(label).join(", ")}`
340
+ };
341
+ }
342
+ __name(describeInvariants, "describeInvariants");
343
+ var invariantsCheck = {
344
+ id: "runtime.invariants",
345
+ category: "runtime",
346
+ run: /* @__PURE__ */ __name(() => describeInvariants(invariants), "run")
347
+ };
348
+
349
+ // src/doctor/checks/logging.ts
350
+ var FIELDS = [
351
+ "dropped",
352
+ "redacted",
353
+ "attributesDropped",
354
+ "valuesTruncated",
355
+ "recordsTruncated"
356
+ ];
357
+ function summarise(counters) {
358
+ return FIELDS.map((f) => `${f}=${counters[f]}`).join(" ");
359
+ }
360
+ __name(summarise, "summarise");
361
+ function describeLogPipeline(counters) {
362
+ if (counters === void 0) {
363
+ return {
364
+ status: "inconclusive",
365
+ message: "no log sink installed \u2014 records reach stderr through the legacy path, where nothing is counted, redacted or size-capped",
366
+ remediation: "A host owns its log destination: call installProcessSink(sink, level) during boot. The CLI does this itself, so seeing this from `namzu doctor` means that step did not run."
367
+ };
368
+ }
369
+ if (counters.dropped > 0) {
370
+ return {
371
+ status: "fail",
372
+ message: `${counters.dropped} log record(s) never reached the sink \u2014 ${summarise(counters)}`,
373
+ remediation: "A record is counted dropped when the installed sink threw, or when the sink is NOOP_SINK. Check the sink passed to installProcessSink: a sink that throws is caught so one bad record cannot fail a turn, which is exactly why the count is the only place this shows up."
374
+ };
375
+ }
376
+ return {
377
+ status: "pass",
378
+ message: `log pipeline live, nothing dropped \u2014 ${summarise(counters)}`
379
+ };
380
+ }
381
+ __name(describeLogPipeline, "describeLogPipeline");
382
+ var loggingPipelineCheck = {
383
+ id: "logging.pipeline",
384
+ // `DoctorCategory` has no `logging` member, and widening that union is an
385
+ // SDK type change this check does not need — the same call the optional
386
+ // package probes made for `files` and `computer-use`.
387
+ category: "custom",
388
+ run: /* @__PURE__ */ __name(() => Promise.resolve(describeLogPipeline(getLogCounters())), "run")
389
+ };
390
+
391
+ // src/doctor/checks/providers.ts
392
+ var providersRegisteredCheck = {
393
+ id: "providers.registered",
394
+ category: "providers",
395
+ run: /* @__PURE__ */ __name(async () => ({
396
+ status: "skipped",
397
+ message: "no provider auto-discovery in v1; register a provider check via registerDoctorCheck for your specific provider configuration (call provider.doctorCheck?() per registered provider)"
398
+ }), "run")
399
+ };
400
+
401
+ // src/doctor/checks/runtime.ts
402
+ import { constants, access } from "node:fs/promises";
403
+ import { tmpdir } from "node:os";
404
+ var cwdWritableCheck = {
405
+ id: "runtime.cwd-writable",
406
+ category: "runtime",
407
+ run: /* @__PURE__ */ __name(async (ctx) => {
408
+ try {
409
+ await access(ctx.cwd, constants.W_OK);
410
+ return { status: "pass", message: `cwd writable: ${ctx.cwd}` };
411
+ } catch (error) {
412
+ const message = error instanceof Error ? error.message : String(error);
413
+ return {
414
+ status: "fail",
415
+ message: `cwd not writable: ${ctx.cwd} (${message})`,
416
+ remediation: "Run from a directory you have write access to, or pass an explicit cwd."
417
+ };
418
+ }
419
+ }, "run")
420
+ };
421
+ var tmpdirWritableCheck = {
422
+ id: "runtime.tmpdir-writable",
423
+ category: "runtime",
424
+ run: /* @__PURE__ */ __name(async () => {
425
+ const dir = tmpdir();
426
+ try {
427
+ await access(dir, constants.W_OK);
428
+ return { status: "pass", message: `tmpdir writable: ${dir}` };
429
+ } catch (error) {
430
+ const message = error instanceof Error ? error.message : String(error);
431
+ return {
432
+ status: "fail",
433
+ message: `tmpdir not writable: ${dir} (${message})`,
434
+ remediation: "Set TMPDIR / TMP / TEMP to a writable location."
435
+ };
436
+ }
437
+ }, "run")
438
+ };
439
+
440
+ // src/doctor/checks/sandbox.ts
441
+ var quietLogger = (() => {
442
+ const noop = /* @__PURE__ */ __name(() => {
443
+ }, "noop");
444
+ const self = { info: noop, warn: noop, error: noop, debug: noop };
445
+ return { ...self, child: /* @__PURE__ */ __name(() => self, "child") };
446
+ })();
447
+ var listControls = /* @__PURE__ */ __name((report, want) => SANDBOX_ISOLATION_CONTROLS.filter((control) => report[control] === want).join(", "), "listControls");
448
+ function describeIsolationHealth(environment) {
449
+ const report = isolationOf(environment);
450
+ const enforced = listControls(report, true);
451
+ const missing = listControls(report, false);
452
+ if (missing.length === 0) {
453
+ return { status: "pass", message: `${environment} enforces ${enforced}` };
454
+ }
455
+ if (enforced.length === 0) {
456
+ return {
457
+ status: "warn",
458
+ message: `${environment} enforces nothing \u2014 commands run unconfined`,
459
+ remediation: "Run the agent inside a container per task (@namzu/sandbox, container tier), or pass requireIsolation so a turn refuses rather than proceeding unconfined."
460
+ };
461
+ }
462
+ return {
463
+ status: "warn",
464
+ message: `${environment} enforces ${enforced} but not ${missing}`,
465
+ remediation: "Pass requireIsolation with the controls you depend on, so a host that cannot enforce one refuses instead of downgrading quietly."
466
+ };
467
+ }
468
+ __name(describeIsolationHealth, "describeIsolationHealth");
469
+ var sandboxPlatformCheck = {
470
+ id: "sandbox.platform",
471
+ category: "sandbox",
472
+ run: /* @__PURE__ */ __name(async () => {
473
+ try {
474
+ return describeIsolationHealth(new LocalSandboxProvider(quietLogger).environment);
475
+ } catch (error) {
476
+ return {
477
+ status: "fail",
478
+ message: `sandbox probe failed: ${error instanceof Error ? error.message : String(error)}`,
479
+ remediation: "The local sandbox provider could not determine what this host enforces. Treat commands as unconfined until this is resolved."
480
+ };
481
+ }
482
+ }, "run")
483
+ };
484
+
485
+ // src/doctor/checks/scheduler.ts
486
+ import { readFileSync, realpathSync } from "node:fs";
487
+ var schedulerCheck = {
488
+ id: "scheduler.service",
489
+ category: "runtime",
490
+ async run(ctx) {
491
+ const paths = schedulePaths(resolveNamzuHome({ env: ctx.env }));
492
+ let jobs = 0;
493
+ try {
494
+ jobs = listJobs(paths).jobs.filter((j) => j.state === "active").length;
495
+ } catch {
496
+ jobs = 0;
497
+ }
498
+ let manifest;
499
+ try {
500
+ manifest = readManifest(paths);
501
+ } catch (error) {
502
+ return { status: "fail", message: error instanceof Error ? error.message : String(error) };
503
+ }
504
+ if (!manifest) {
505
+ return jobs > 0 ? {
506
+ status: "warn",
507
+ message: `${jobs} active scheduled job(s) and no scheduler installed; they will not run`,
508
+ remediation: "namzu schedule install"
509
+ } : { status: "skipped", message: "no scheduled jobs and no scheduler installed" };
510
+ }
511
+ for (const path of [manifest.nodePath, manifest.binPath]) {
512
+ try {
513
+ realpathSync(path);
514
+ } catch {
515
+ return {
516
+ status: "fail",
517
+ message: `the scheduler service starts ${path}, which no longer exists`,
518
+ remediation: "namzu schedule install"
519
+ };
520
+ }
521
+ }
522
+ let age;
523
+ try {
524
+ const beat = JSON.parse(readFileSync(paths.heartbeat, "utf8"));
525
+ age = beat.at ? Date.now() - Date.parse(beat.at) : void 0;
526
+ } catch {
527
+ age = void 0;
528
+ }
529
+ if (age === void 0 || age > 9e4) {
530
+ return {
531
+ status: "warn",
532
+ message: `${manifest.name} (${manifest.platform}) is installed but the daemon has not been seen ${age === void 0 ? "yet" : `for ${Math.round(age / 1e3)} s`}`,
533
+ remediation: "namzu schedule status"
534
+ };
535
+ }
536
+ return {
537
+ status: "pass",
538
+ message: `${manifest.name} (${manifest.platform}) running; ${jobs} active job(s)`
539
+ };
540
+ }
541
+ };
542
+
543
+ // src/doctor/checks/telemetry.ts
544
+ var TELEMETRY = "@namzu/telemetry";
545
+ async function describeInstalledPackage(specifier) {
546
+ const probe = await probeOptionalPackage(specifier);
547
+ switch (probe.state) {
548
+ case "absent":
549
+ return {
550
+ status: "skipped",
551
+ message: `${specifier} not installed (optional package)`
552
+ };
553
+ case "present":
554
+ return { status: "pass", message: `${specifier} is installed` };
555
+ case "broken":
556
+ return {
557
+ status: "fail",
558
+ // The reason is the whole value of separating these: "installed but
559
+ // will not load" sends the reader somewhere, and "not installed" would
560
+ // have sent them to install what is already there.
561
+ message: `${specifier} is installed but failed to load: ${probe.error.message}`,
562
+ remediation: `Reinstall ${specifier}, or remove it if you are not using it \u2014 it is optional and namzu runs without it.`
563
+ };
564
+ }
565
+ }
566
+ __name(describeInstalledPackage, "describeInstalledPackage");
567
+ var telemetryInstalledCheck = {
568
+ id: "telemetry.installed",
569
+ category: "telemetry",
570
+ run: /* @__PURE__ */ __name(() => describeInstalledPackage(TELEMETRY), "run")
571
+ };
572
+
573
+ // src/doctor/checks/vault.ts
574
+ var registered = [];
575
+ var vaultRegisteredCheck = {
576
+ id: "vault.registered",
577
+ category: "vault",
578
+ run: /* @__PURE__ */ __name(async () => {
579
+ if (registered.length === 0) {
580
+ return {
581
+ status: "skipped",
582
+ message: "No credential provider is registered, so there is nothing to report on."
583
+ };
584
+ }
585
+ const lines = [];
586
+ let anyConfigured = false;
587
+ for (const entry of registered) {
588
+ for (const ref of entry.refs) {
589
+ const described = await entry.provider.describe(ref);
590
+ if (described.configured) anyConfigured = true;
591
+ lines.push(
592
+ `${entry.label}: ${ref} \u2014 ${described.configured ? "configured" : "not set"}${described.source ? ` (${described.source})` : ""}, ${described.writable ? "writable" : "read-only"}`
593
+ );
594
+ }
595
+ }
596
+ return {
597
+ // A provider registered and nothing configured is a real answer,
598
+ // not a failure: an operator who has not logged in yet is in a
599
+ // state the doctor should describe rather than complain about.
600
+ status: anyConfigured ? "pass" : "warn",
601
+ message: lines.join("\n")
602
+ };
603
+ }, "run")
604
+ };
605
+
606
+ // src/doctor/checks/index.ts
607
+ function installedCheck(specifier, category) {
608
+ return {
609
+ id: capabilityCheckId(specifier),
610
+ category,
611
+ run: /* @__PURE__ */ __name(() => describeInstalledPackage(specifier), "run")
612
+ };
613
+ }
614
+ __name(installedCheck, "installedCheck");
615
+ var sandboxInstalledCheck = installedCheck("@namzu/sandbox", "sandbox");
616
+ var filesInstalledCheck = installedCheck("@namzu/files", "custom");
617
+ var computerUseInstalledCheck = installedCheck(
618
+ "@namzu/computer-use",
619
+ "custom"
620
+ );
621
+ var browserInstalledCheck = installedCheck("@namzu/browser", "custom");
622
+ var builtInDoctorChecks = [
623
+ sandboxPlatformCheck,
624
+ cwdWritableCheck,
625
+ tmpdirWritableCheck,
626
+ providersRegisteredCheck,
627
+ credentialSourcesCheck,
628
+ // After the credential scan: this one reports which of the credentials that
629
+ // found are actually WIRED INTO the chain, which only reads sensibly once
630
+ // the operator has seen what was found.
631
+ providerChainCheck,
632
+ vaultRegisteredCheck,
633
+ sandboxInstalledCheck,
634
+ filesInstalledCheck,
635
+ computerUseInstalledCheck,
636
+ browserInstalledCheck,
637
+ // After the package check: which browser it would drive here, and how.
638
+ browserEngineCheck,
639
+ telemetryInstalledCheck,
640
+ schedulerCheck,
641
+ // Last, deliberately: it reports what the pipeline did to the records
642
+ // every check above it just produced, so running it first would report a
643
+ // process that had barely logged anything yet.
644
+ loggingPipelineCheck,
645
+ invariantsCheck
646
+ ];
647
+
648
+ // src/doctor/checks/session-export.ts
649
+ async function describeSessionExportStatus(config, loader) {
650
+ const configured = config.telemetry?.sessionExport;
651
+ if (!configured) {
652
+ const off2 = await describeSessionExportOff(loader);
653
+ return {
654
+ status: "pass",
655
+ message: off2 ?? "Session export is off: telemetry.sessionExport is not configured."
656
+ };
657
+ }
658
+ const off = await describeSessionExportOff(loader);
659
+ if (off === null) {
660
+ return {
661
+ status: "fail",
662
+ message: `telemetry.sessionExport is configured (destination: ${configured.destination}) but "@namzu/telemetry" is not installed, so nothing would be recorded.`,
663
+ remediation: "Install @namzu/telemetry, or remove telemetry.sessionExport from your config. namzu refuses to start a session in this state rather than run one whose export silently does not exist."
664
+ };
665
+ }
666
+ const redactorCount = configured.redactors?.length ?? 1;
667
+ const typePhrase = configured.eventTypes ? `${configured.eventTypes.length} event type(s)` : "every session event";
668
+ return {
669
+ status: "pass",
670
+ message: `Session export is ON: ${typePhrase} is written to ${configured.destination}, with ${redactorCount} redactor(s) installed.`,
671
+ ...redactorCount === 0 ? {
672
+ remediation: "`redactors: []` turns redaction off entirely \u2014 credential-shaped values in tool results will be written verbatim. Remove the key to install the shipped `secrets` redactor."
673
+ } : {}
674
+ };
675
+ }
676
+ __name(describeSessionExportStatus, "describeSessionExportStatus");
677
+ function sessionExportCheck(config, loader) {
678
+ return {
679
+ id: "telemetry.session-export",
680
+ category: "telemetry",
681
+ run: /* @__PURE__ */ __name(() => describeSessionExportStatus(config, loader), "run")
682
+ };
683
+ }
684
+ __name(sessionExportCheck, "sessionExportCheck");
685
+
686
+ // src/doctor/registry.ts
687
+ var DEFAULT_PER_CHECK_TIMEOUT_MS = 5e3;
688
+ var DEFAULT_WALL_CLOCK_TIMEOUT_MS = 1e4;
689
+ var DoctorRegistry = class {
690
+ static {
691
+ __name(this, "DoctorRegistry");
692
+ }
693
+ checks = /* @__PURE__ */ new Map();
694
+ log;
695
+ setLogger(log) {
696
+ this.log = log.child({ [SCOPE_ATTRIBUTE]: "doctor" });
697
+ }
698
+ register(check) {
699
+ if (this.checks.has(check.id)) {
700
+ throw new Error(
701
+ `Doctor check with id "${check.id}" is already registered. Pick a different id or call clear() first.`
702
+ );
703
+ }
704
+ this.checks.set(check.id, check);
705
+ }
706
+ unregister(id) {
707
+ return this.checks.delete(id);
708
+ }
709
+ clear() {
710
+ this.checks.clear();
711
+ }
712
+ list() {
713
+ return Array.from(this.checks.values());
714
+ }
715
+ async run(opts = {}) {
716
+ const ctx = buildContext(opts);
717
+ const perCheck = opts.perCheckTimeoutMs ?? DEFAULT_PER_CHECK_TIMEOUT_MS;
718
+ const wall = opts.wallClockTimeoutMs ?? DEFAULT_WALL_CLOCK_TIMEOUT_MS;
719
+ const signal = opts.signal;
720
+ const filteredChecks = opts.categories ? this.list().filter((c) => opts.categories?.includes(c.category)) : this.list();
721
+ const startedAt = Date.now();
722
+ const completed = /* @__PURE__ */ new Map();
723
+ const wallTimer = sleep(wall).then(() => "wall-timeout");
724
+ const abortPromise = signal ? signal.aborted ? Promise.resolve("aborted") : new Promise((resolve) => {
725
+ signal.addEventListener("abort", () => resolve("aborted"), {
726
+ once: true
727
+ });
728
+ }) : new Promise(() => {
729
+ });
730
+ const recordCompletion = /* @__PURE__ */ __name((record) => {
731
+ if (completed.has(record.id)) return;
732
+ completed.set(record.id, record);
733
+ this.invokeCallback("onCheckComplete", () => opts.onCheckComplete?.(record));
734
+ }, "recordCompletion");
735
+ const inFlight = filteredChecks.map(async (check) => {
736
+ this.invokeCallback("onCheckStart", () => opts.onCheckStart?.(check));
737
+ const t0 = Date.now();
738
+ const checkPromise = (async () => check.run(ctx))();
739
+ const timeoutPromise = sleep(perCheck).then(
740
+ () => ({
741
+ status: "inconclusive",
742
+ message: `check did not return within ${perCheck}ms`
743
+ })
744
+ );
745
+ let result;
746
+ try {
747
+ result = await Promise.race([checkPromise, timeoutPromise]);
748
+ } catch (error) {
749
+ const message = error instanceof Error ? error.message : String(error);
750
+ this.log?.warn("doctor check threw", {
751
+ "namzu.doctor.id": check.id,
752
+ "namzu.doctor.message": message
753
+ });
754
+ result = { status: "fail", message: `check threw: ${message}` };
755
+ }
756
+ recordCompletion({
757
+ id: check.id,
758
+ category: check.category,
759
+ status: result.status,
760
+ message: result.message,
761
+ remediation: result.remediation,
762
+ durationMs: result.durationMs ?? Date.now() - t0
763
+ });
764
+ });
765
+ const allChecks = Promise.all(inFlight);
766
+ const raceWinner = await Promise.race([allChecks, wallTimer, abortPromise]);
767
+ let records;
768
+ if (raceWinner === "wall-timeout" || raceWinner === "aborted") {
769
+ const reason = raceWinner === "aborted" ? "aborted by signal before this check completed" : `wall-clock timeout (${wall}ms) reached before this check completed`;
770
+ const unfinished = filteredChecks.filter((c) => !completed.has(c.id));
771
+ this.log?.warn(
772
+ raceWinner === "aborted" ? "doctor aborted by signal" : "doctor wall-clock timeout",
773
+ {
774
+ "namzu.doctor.wall": wall,
775
+ "namzu.doctor.total": filteredChecks.length,
776
+ "namzu.doctor.unfinished": unfinished.length
777
+ }
778
+ );
779
+ records = filteredChecks.map((check) => {
780
+ const existing = completed.get(check.id);
781
+ if (existing) return existing;
782
+ const record = {
783
+ id: check.id,
784
+ category: check.category,
785
+ status: "inconclusive",
786
+ message: reason,
787
+ durationMs: Date.now() - startedAt
788
+ };
789
+ recordCompletion(record);
790
+ return record;
791
+ });
792
+ } else {
793
+ records = filteredChecks.map((check) => {
794
+ const existing = completed.get(check.id);
795
+ if (existing) return existing;
796
+ return {
797
+ id: check.id,
798
+ category: check.category,
799
+ status: "inconclusive",
800
+ message: "check resolved without producing a record (internal)",
801
+ durationMs: Date.now() - startedAt
802
+ };
803
+ });
804
+ }
805
+ return buildReport(records, opts.version ?? "unknown");
806
+ }
807
+ /**
808
+ * Invoke a consumer callback (onCheckStart / onCheckComplete) with
809
+ * try/catch isolation. Per ses_013 C3: a throwing callback must not
810
+ * affect the doctor run or the final DoctorReport. Logged but
811
+ * swallowed.
812
+ */
813
+ invokeCallback(phase, fn) {
814
+ try {
815
+ fn();
816
+ } catch (error) {
817
+ const message = error instanceof Error ? error.message : String(error);
818
+ this.log?.warn("doctor callback threw", {
819
+ "namzu.doctor.phase": phase,
820
+ "namzu.doctor.message": message
821
+ });
822
+ }
823
+ }
824
+ };
825
+ var doctor = new DoctorRegistry();
826
+ function createDoctorRegistry() {
827
+ return new DoctorRegistry();
828
+ }
829
+ __name(createDoctorRegistry, "createDoctorRegistry");
830
+ function registerDoctorCheck(check) {
831
+ doctor.register(check);
832
+ }
833
+ __name(registerDoctorCheck, "registerDoctorCheck");
834
+ function runDoctor(opts = {}) {
835
+ const registry = opts.registry ?? doctor;
836
+ return registry.run({
837
+ categories: opts.categories,
838
+ perCheckTimeoutMs: opts.perCheckTimeoutMs,
839
+ wallClockTimeoutMs: opts.wallClockTimeoutMs,
840
+ cwd: opts.cwd,
841
+ env: opts.env,
842
+ projectRoot: opts.projectRoot,
843
+ version: opts.version,
844
+ onCheckStart: opts.onCheckStart,
845
+ onCheckComplete: opts.onCheckComplete,
846
+ signal: opts.signal
847
+ });
848
+ }
849
+ __name(runDoctor, "runDoctor");
850
+ function buildContext(opts) {
851
+ return Object.freeze({
852
+ cwd: opts.cwd ?? process.cwd(),
853
+ env: opts.env ?? process.env,
854
+ projectRoot: opts.projectRoot ?? null
855
+ });
856
+ }
857
+ __name(buildContext, "buildContext");
858
+ function buildReport(records, version) {
859
+ const summary = {
860
+ pass: records.filter((r) => r.status === "pass").length,
861
+ fail: records.filter((r) => r.status === "fail").length,
862
+ inconclusive: records.filter((r) => r.status === "inconclusive").length,
863
+ warn: records.filter((r) => r.status === "warn").length,
864
+ skipped: records.filter((r) => r.status === "skipped").length,
865
+ total: records.length
866
+ };
867
+ const exit = summary.fail > 0 ? 1 : summary.total === 0 ? 2 : summary.inconclusive > 0 ? 69 : 0;
868
+ return Object.freeze({
869
+ version,
870
+ timestamp: (/* @__PURE__ */ new Date()).toISOString(),
871
+ checks: records,
872
+ summary,
873
+ exit
874
+ });
875
+ }
876
+ __name(buildReport, "buildReport");
877
+ function sleep(ms) {
878
+ return new Promise((resolve) => setTimeout(() => resolve("sleep-done"), ms));
879
+ }
880
+ __name(sleep, "sleep");
881
+
882
+ // src/commands/doctor.ts
883
+ var VALID_CATEGORIES = [
884
+ "sandbox",
885
+ "providers",
886
+ "vault",
887
+ "telemetry",
888
+ "runtime",
889
+ "plugins",
890
+ "custom"
891
+ ];
892
+ var HELP = `namzu doctor \u2014 health checks for the local Namzu environment
893
+
894
+ Usage:
895
+ namzu doctor [options]
896
+
897
+ Options:
898
+ --json Emit a machine-readable JSON report
899
+ --verbose Include stack traces on failures
900
+ --category <a,b,c> Comma-separated category filter
901
+ (sandbox, providers, vault, telemetry,
902
+ runtime, plugins, custom)
903
+ --per-check-timeout <ms> Per-check timeout (default 5000)
904
+ --wall-clock-timeout <ms> Total wall-clock timeout (default 10000)
905
+ -h, --help Show this help
906
+
907
+ Exit codes:
908
+ 0 every check answered, and none of them failed
909
+ 1 one or more checks reported \`fail\`
910
+ 2 no checks registered (Namzu not configured here)
911
+ 69 a check could not answer \u2014 it timed out, was aborted, or what it
912
+ reads threw. Separate from 0 because a report that did not manage
913
+ to look tells you nothing about the part it did look at, and
914
+ separate from 1 because nothing was established to have failed.
915
+ 70 internal CLI error (sysexits EX_SOFTWARE)
916
+
917
+ A \`skipped\` check does not affect the exit code: it means there was
918
+ nothing here to check \u2014 an optional package absent, nothing configured
919
+ yet \u2014 which is an ordinary state of a healthy machine.
920
+ `;
921
+ function parseArgs(args) {
922
+ let json = false;
923
+ let verbose = false;
924
+ let help = false;
925
+ let categories;
926
+ let perCheckTimeoutMs;
927
+ let wallClockTimeoutMs;
928
+ for (let i = 0; i < args.length; i++) {
929
+ const arg = args[i];
930
+ switch (arg) {
931
+ case "--json":
932
+ json = true;
933
+ break;
934
+ case "--verbose":
935
+ verbose = true;
936
+ break;
937
+ case "-h":
938
+ case "--help":
939
+ help = true;
940
+ break;
941
+ case "--category": {
942
+ const value = args[++i];
943
+ if (!value) return { json, verbose, help, error: "--category requires a value" };
944
+ const parts = value.split(",").map((p) => p.trim()).filter(Boolean);
945
+ const invalid = parts.filter((p) => !VALID_CATEGORIES.includes(p));
946
+ if (invalid.length > 0) {
947
+ return {
948
+ json,
949
+ verbose,
950
+ help,
951
+ error: `unknown category: ${invalid.join(", ")} (valid: ${VALID_CATEGORIES.join(", ")})`
952
+ };
953
+ }
954
+ categories = parts;
955
+ break;
956
+ }
957
+ case "--per-check-timeout": {
958
+ const value = args[++i];
959
+ if (!value)
960
+ return {
961
+ json,
962
+ verbose,
963
+ help,
964
+ error: "--per-check-timeout requires a value"
965
+ };
966
+ const n = Number.parseInt(value, 10);
967
+ if (!Number.isFinite(n) || n <= 0) {
968
+ return {
969
+ json,
970
+ verbose,
971
+ help,
972
+ error: `--per-check-timeout must be a positive integer; got ${value}`
973
+ };
974
+ }
975
+ perCheckTimeoutMs = n;
976
+ break;
977
+ }
978
+ case "--wall-clock-timeout": {
979
+ const value = args[++i];
980
+ if (!value)
981
+ return {
982
+ json,
983
+ verbose,
984
+ help,
985
+ error: "--wall-clock-timeout requires a value"
986
+ };
987
+ const n = Number.parseInt(value, 10);
988
+ if (!Number.isFinite(n) || n <= 0) {
989
+ return {
990
+ json,
991
+ verbose,
992
+ help,
993
+ error: `--wall-clock-timeout must be a positive integer; got ${value}`
994
+ };
995
+ }
996
+ wallClockTimeoutMs = n;
997
+ break;
998
+ }
999
+ default:
1000
+ return { json, verbose, help, error: `unknown option: ${arg}` };
1001
+ }
1002
+ }
1003
+ return {
1004
+ json,
1005
+ verbose,
1006
+ help,
1007
+ categories,
1008
+ perCheckTimeoutMs,
1009
+ wallClockTimeoutMs
1010
+ };
1011
+ }
1012
+ __name(parseArgs, "parseArgs");
1013
+ function statusGlyph(status) {
1014
+ switch (status) {
1015
+ case "pass":
1016
+ return "\u2713";
1017
+ case "fail":
1018
+ return "\u2717";
1019
+ case "inconclusive":
1020
+ return "?";
1021
+ case "warn":
1022
+ return "!";
1023
+ // The glyph `inconclusive` used to carry. It reads as "not applicable",
1024
+ // which is what this status means and what that status never did — so
1025
+ // the mark moves to the row it was describing all along, and the check
1026
+ // that could not answer takes the question mark.
1027
+ case "skipped":
1028
+ return "\u2298";
1029
+ }
1030
+ }
1031
+ __name(statusGlyph, "statusGlyph");
1032
+ function formatHumanReport(report, verbose) {
1033
+ const lines = [];
1034
+ lines.push(`namzu doctor \u2014 ${report.timestamp}`);
1035
+ lines.push("");
1036
+ const widestCategory = report.checks.reduce(
1037
+ (w, c) => Math.max(w, c.category.length),
1038
+ "category".length
1039
+ );
1040
+ for (const record of report.checks) {
1041
+ const glyph = statusGlyph(record.status);
1042
+ const category = record.category.padEnd(widestCategory);
1043
+ const dur = `${record.durationMs}ms`;
1044
+ const head = ` ${glyph} ${category} ${record.id} ${dur}`;
1045
+ lines.push(head);
1046
+ if (record.message) {
1047
+ for (const line of record.message.split("\n")) lines.push(` ${line}`);
1048
+ }
1049
+ if (record.remediation) {
1050
+ const [first = "", ...rest] = record.remediation.split("\n");
1051
+ lines.push(` \u2192 ${first}`);
1052
+ for (const line of rest) lines.push(` ${line}`);
1053
+ }
1054
+ }
1055
+ lines.push("");
1056
+ const s = report.summary;
1057
+ lines.push(
1058
+ ` pass: ${s.pass} fail: ${s.fail} warn: ${s.warn} inconc: ${s.inconclusive} skipped: ${s.skipped} total: ${s.total}`
1059
+ );
1060
+ lines.push(` exit: ${report.exit}`);
1061
+ if (report.exit === 69) {
1062
+ lines.push(" (69: at least one check could not answer \u2014 see the ? rows above)");
1063
+ }
1064
+ if (verbose) {
1065
+ const failed = report.checks.filter((c) => c.status === "fail");
1066
+ if (failed.length > 0) {
1067
+ lines.push("");
1068
+ lines.push("Failures:");
1069
+ for (const f of failed) {
1070
+ lines.push(` ${f.id}: ${f.message ?? "(no message)"}`);
1071
+ }
1072
+ }
1073
+ }
1074
+ return lines.join("\n");
1075
+ }
1076
+ __name(formatHumanReport, "formatHumanReport");
1077
+ async function runDoctorCommand(args, config = {}) {
1078
+ const parsed = parseArgs(args);
1079
+ if (parsed.error) {
1080
+ process.stderr.write(`Error: ${parsed.error}
1081
+
1082
+ ${HELP}
1083
+ `);
1084
+ return EXIT_USAGE;
1085
+ }
1086
+ if (parsed.help) {
1087
+ process.stdout.write(`${HELP}
1088
+ `);
1089
+ return 0;
1090
+ }
1091
+ const registry = createDoctorRegistry();
1092
+ for (const check of builtInDoctorChecks) registry.register(check);
1093
+ registry.register(sessionExportCheck(config));
1094
+ const opts = {
1095
+ registry,
1096
+ version: CLI_VERSION,
1097
+ categories: parsed.categories,
1098
+ perCheckTimeoutMs: parsed.perCheckTimeoutMs,
1099
+ wallClockTimeoutMs: parsed.wallClockTimeoutMs
1100
+ };
1101
+ const report = await runDoctor(opts);
1102
+ if (parsed.json) {
1103
+ process.stdout.write(`${JSON.stringify(report, null, 2)}
1104
+ `);
1105
+ } else {
1106
+ process.stdout.write(`${formatHumanReport(report, parsed.verbose)}
1107
+ `);
1108
+ }
1109
+ return report.exit;
1110
+ }
1111
+ __name(runDoctorCommand, "runDoctorCommand");
1112
+ var doctorCommand = {
1113
+ name: "doctor",
1114
+ description: "Run health checks against the local Namzu environment",
1115
+ passThrough: true,
1116
+ handler: /* @__PURE__ */ __name(async ({ rawArgs, ctx }) => runDoctorCommand(rawArgs, ctx.config), "handler")
1117
+ };
1118
+
1119
+ export {
1120
+ browserEngineCheck,
1121
+ providerChainCheck,
1122
+ credentialSourcesCheck,
1123
+ providersRegisteredCheck,
1124
+ cwdWritableCheck,
1125
+ tmpdirWritableCheck,
1126
+ sandboxPlatformCheck,
1127
+ telemetryInstalledCheck,
1128
+ vaultRegisteredCheck,
1129
+ sandboxInstalledCheck,
1130
+ filesInstalledCheck,
1131
+ computerUseInstalledCheck,
1132
+ browserInstalledCheck,
1133
+ builtInDoctorChecks,
1134
+ DoctorRegistry,
1135
+ doctor,
1136
+ createDoctorRegistry,
1137
+ registerDoctorCheck,
1138
+ runDoctor,
1139
+ runDoctorCommand,
1140
+ doctorCommand
1141
+ };
1142
+ //# sourceMappingURL=chunk-MH6KUKVV.js.map