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