@namzu/cli 35.0.0 → 36.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1304) hide show
  1. package/CHANGELOG.md +756 -0
  2. package/README.md +160 -394
  3. package/assets/pal-blender-mcp.py +123 -0
  4. package/assets/pal-godot-mcp-pin.json +135 -0
  5. package/assets/pal-godot-mcp.cjs +418 -0
  6. package/dist/bin-main.d.ts +3 -0
  7. package/dist/bin-main.d.ts.map +1 -0
  8. package/dist/bin.d.ts +2 -1
  9. package/dist/bin.d.ts.map +1 -1
  10. package/dist/bin.js +85 -23
  11. package/dist/bin.js.map +6 -1
  12. package/dist/boot-narrative.d.ts +16 -0
  13. package/dist/boot-narrative.d.ts.map +1 -0
  14. package/dist/checkpoints/manifest.d.ts +107 -0
  15. package/dist/checkpoints/manifest.d.ts.map +1 -0
  16. package/dist/checkpoints/store.d.ts +280 -40
  17. package/dist/checkpoints/store.d.ts.map +1 -1
  18. package/dist/checkpoints/undo-plan.d.ts +83 -0
  19. package/dist/checkpoints/undo-plan.d.ts.map +1 -0
  20. package/dist/checkpoints/wrap.d.ts +4 -0
  21. package/dist/checkpoints/wrap.d.ts.map +1 -1
  22. package/dist/chunks/acp-BOSEA4R3.js +13448 -0
  23. package/dist/chunks/acp-BOSEA4R3.js.map +6 -0
  24. package/dist/chunks/activity-command-ACS7KL3C.js +262 -0
  25. package/dist/chunks/activity-command-ACS7KL3C.js.map +6 -0
  26. package/dist/chunks/add-DLS54YKS.js +712 -0
  27. package/dist/chunks/add-DLS54YKS.js.map +6 -0
  28. package/dist/chunks/agent-GV3DWYQC.js +87 -0
  29. package/dist/chunks/agent-GV3DWYQC.js.map +6 -0
  30. package/dist/chunks/agent-session-7VE6GJJH.js +46 -0
  31. package/dist/chunks/agent-session-7VE6GJJH.js.map +6 -0
  32. package/dist/chunks/archive-6ZENIEBP.js +84 -0
  33. package/dist/chunks/archive-6ZENIEBP.js.map +6 -0
  34. package/dist/chunks/bin-main-NFFT5ZIU.js +126 -0
  35. package/dist/chunks/bin-main-NFFT5ZIU.js.map +6 -0
  36. package/dist/chunks/browser-VT2U6NG2.js +31 -0
  37. package/dist/chunks/browser-VT2U6NG2.js.map +6 -0
  38. package/dist/chunks/chat-UNYVLDFL.js +101 -0
  39. package/dist/chunks/chat-UNYVLDFL.js.map +6 -0
  40. package/dist/chunks/chunk-2IL6OG3X.js +311 -0
  41. package/dist/chunks/chunk-2IL6OG3X.js.map +6 -0
  42. package/dist/chunks/chunk-2RBYHHLM.js +319 -0
  43. package/dist/chunks/chunk-2RBYHHLM.js.map +6 -0
  44. package/dist/chunks/chunk-42ZK2AH4.js +71 -0
  45. package/dist/chunks/chunk-42ZK2AH4.js.map +6 -0
  46. package/dist/chunks/chunk-5PQVJBIO.js +168 -0
  47. package/dist/chunks/chunk-5PQVJBIO.js.map +6 -0
  48. package/dist/chunks/chunk-6CPT2ZBS.js +75 -0
  49. package/dist/chunks/chunk-6CPT2ZBS.js.map +6 -0
  50. package/dist/chunks/chunk-6LLJQ3KY.js +225 -0
  51. package/dist/chunks/chunk-6LLJQ3KY.js.map +6 -0
  52. package/dist/chunks/chunk-6YFJDVGA.js +161 -0
  53. package/dist/chunks/chunk-6YFJDVGA.js.map +6 -0
  54. package/dist/chunks/chunk-6YG7D7U4.js +159 -0
  55. package/dist/chunks/chunk-6YG7D7U4.js.map +6 -0
  56. package/dist/chunks/chunk-6ZPODOJN.js +828 -0
  57. package/dist/chunks/chunk-6ZPODOJN.js.map +6 -0
  58. package/dist/chunks/chunk-76FLAFCG.js +51 -0
  59. package/dist/chunks/chunk-76FLAFCG.js.map +6 -0
  60. package/dist/chunks/chunk-7HCPD673.js +25326 -0
  61. package/dist/chunks/chunk-7HCPD673.js.map +6 -0
  62. package/dist/chunks/chunk-7KWGR2YA.js +257 -0
  63. package/dist/chunks/chunk-7KWGR2YA.js.map +6 -0
  64. package/dist/chunks/chunk-A22MBIYU.js +42 -0
  65. package/dist/chunks/chunk-A22MBIYU.js.map +6 -0
  66. package/dist/chunks/chunk-AHIDYIRB.js +329 -0
  67. package/dist/chunks/chunk-AHIDYIRB.js.map +6 -0
  68. package/dist/chunks/chunk-AK2U3N2A.js +31 -0
  69. package/dist/chunks/chunk-AK2U3N2A.js.map +6 -0
  70. package/dist/chunks/chunk-AKKRZTPB.js +283 -0
  71. package/dist/chunks/chunk-AKKRZTPB.js.map +6 -0
  72. package/dist/chunks/chunk-BCZR2B3Y.js +97 -0
  73. package/dist/chunks/chunk-BCZR2B3Y.js.map +6 -0
  74. package/dist/chunks/chunk-CHIEVVQ2.js +32 -0
  75. package/dist/chunks/chunk-CHIEVVQ2.js.map +6 -0
  76. package/dist/chunks/chunk-D67YBUO3.js +110 -0
  77. package/dist/chunks/chunk-D67YBUO3.js.map +6 -0
  78. package/dist/chunks/chunk-DIHEHK7K.js +765 -0
  79. package/dist/chunks/chunk-DIHEHK7K.js.map +6 -0
  80. package/dist/chunks/chunk-E5VLANCO.js +101 -0
  81. package/dist/chunks/chunk-E5VLANCO.js.map +6 -0
  82. package/dist/chunks/chunk-EEDZOGV4.js +47 -0
  83. package/dist/chunks/chunk-EEDZOGV4.js.map +6 -0
  84. package/dist/chunks/chunk-ENGNEELC.js +271 -0
  85. package/dist/chunks/chunk-ENGNEELC.js.map +6 -0
  86. package/dist/chunks/chunk-EVY4MVRE.js +74 -0
  87. package/dist/chunks/chunk-EVY4MVRE.js.map +6 -0
  88. package/dist/chunks/chunk-FJNDNNNQ.js +115 -0
  89. package/dist/chunks/chunk-FJNDNNNQ.js.map +6 -0
  90. package/dist/chunks/chunk-FOFGMP7O.js +20 -0
  91. package/dist/chunks/chunk-FOFGMP7O.js.map +6 -0
  92. package/dist/chunks/chunk-FTMTO72X.js +95 -0
  93. package/dist/chunks/chunk-FTMTO72X.js.map +6 -0
  94. package/dist/chunks/chunk-GIXSS6KW.js +2228 -0
  95. package/dist/chunks/chunk-GIXSS6KW.js.map +6 -0
  96. package/dist/chunks/chunk-GNBMKISG.js +19 -0
  97. package/dist/chunks/chunk-GNBMKISG.js.map +6 -0
  98. package/dist/chunks/chunk-GWQEMJFS.js +28 -0
  99. package/dist/chunks/chunk-GWQEMJFS.js.map +6 -0
  100. package/dist/chunks/chunk-H6B6AROX.js +151 -0
  101. package/dist/chunks/chunk-H6B6AROX.js.map +6 -0
  102. package/dist/chunks/chunk-HE7WUOX2.js +26 -0
  103. package/dist/chunks/chunk-HE7WUOX2.js.map +6 -0
  104. package/dist/chunks/chunk-HZBKWL42.js +303 -0
  105. package/dist/chunks/chunk-HZBKWL42.js.map +6 -0
  106. package/dist/chunks/chunk-I7HQR6ET.js +75 -0
  107. package/dist/chunks/chunk-I7HQR6ET.js.map +6 -0
  108. package/dist/chunks/chunk-IJEB77SH.js +648 -0
  109. package/dist/chunks/chunk-IJEB77SH.js.map +6 -0
  110. package/dist/chunks/chunk-JNPDWME5.js +675 -0
  111. package/dist/chunks/chunk-JNPDWME5.js.map +6 -0
  112. package/dist/chunks/chunk-JORONMD3.js +18 -0
  113. package/dist/chunks/chunk-JORONMD3.js.map +6 -0
  114. package/dist/chunks/chunk-JV3LONAU.js +76 -0
  115. package/dist/chunks/chunk-JV3LONAU.js.map +6 -0
  116. package/dist/chunks/chunk-K5HARZ7G.js +82516 -0
  117. package/dist/chunks/chunk-K5HARZ7G.js.map +6 -0
  118. package/dist/chunks/chunk-KONYGNG6.js +7661 -0
  119. package/dist/chunks/chunk-KONYGNG6.js.map +6 -0
  120. package/dist/chunks/chunk-LXB3S4IC.js +19 -0
  121. package/dist/chunks/chunk-LXB3S4IC.js.map +6 -0
  122. package/dist/chunks/chunk-M3IAMIBJ.js +661 -0
  123. package/dist/chunks/chunk-M3IAMIBJ.js.map +6 -0
  124. package/dist/chunks/chunk-MH6KUKVV.js +1142 -0
  125. package/dist/chunks/chunk-MH6KUKVV.js.map +6 -0
  126. package/dist/chunks/chunk-MS3IYQ72.js +1479 -0
  127. package/dist/chunks/chunk-MS3IYQ72.js.map +6 -0
  128. package/dist/chunks/chunk-MZP6SH3M.js +3497 -0
  129. package/dist/chunks/chunk-MZP6SH3M.js.map +6 -0
  130. package/dist/chunks/chunk-N3ZEXVSS.js +76 -0
  131. package/dist/chunks/chunk-N3ZEXVSS.js.map +6 -0
  132. package/dist/chunks/chunk-N6SR54VC.js +207 -0
  133. package/dist/chunks/chunk-N6SR54VC.js.map +6 -0
  134. package/dist/chunks/chunk-NADQQMMG.js +46 -0
  135. package/dist/chunks/chunk-NADQQMMG.js.map +6 -0
  136. package/dist/chunks/chunk-NBH52WHS.js +247 -0
  137. package/dist/chunks/chunk-NBH52WHS.js.map +6 -0
  138. package/dist/chunks/chunk-NICLKFBG.js +109 -0
  139. package/dist/chunks/chunk-NICLKFBG.js.map +6 -0
  140. package/dist/chunks/chunk-NIPHHZ5G.js +283 -0
  141. package/dist/chunks/chunk-NIPHHZ5G.js.map +6 -0
  142. package/dist/chunks/chunk-NQT244I2.js +517 -0
  143. package/dist/chunks/chunk-NQT244I2.js.map +6 -0
  144. package/dist/chunks/chunk-NUGPLXVK.js +228 -0
  145. package/dist/chunks/chunk-NUGPLXVK.js.map +6 -0
  146. package/dist/chunks/chunk-OEW7CJKK.js +140 -0
  147. package/dist/chunks/chunk-OEW7CJKK.js.map +6 -0
  148. package/dist/chunks/chunk-OH6TB27S.js +111 -0
  149. package/dist/chunks/chunk-OH6TB27S.js.map +6 -0
  150. package/dist/chunks/chunk-OWH6QQY2.js +1858 -0
  151. package/dist/chunks/chunk-OWH6QQY2.js.map +6 -0
  152. package/dist/chunks/chunk-OWXJOD4H.js +773 -0
  153. package/dist/chunks/chunk-OWXJOD4H.js.map +6 -0
  154. package/dist/chunks/chunk-PT537V7B.js +787 -0
  155. package/dist/chunks/chunk-PT537V7B.js.map +6 -0
  156. package/dist/chunks/chunk-QEQZFG2X.js +106 -0
  157. package/dist/chunks/chunk-QEQZFG2X.js.map +6 -0
  158. package/dist/chunks/chunk-QL4O4UGZ.js +245 -0
  159. package/dist/chunks/chunk-QL4O4UGZ.js.map +6 -0
  160. package/dist/chunks/chunk-QL54XCF4.js +73 -0
  161. package/dist/chunks/chunk-QL54XCF4.js.map +6 -0
  162. package/dist/chunks/chunk-SB6UD3ED.js +1355 -0
  163. package/dist/chunks/chunk-SB6UD3ED.js.map +6 -0
  164. package/dist/chunks/chunk-SGGRGKGV.js +34 -0
  165. package/dist/chunks/chunk-SGGRGKGV.js.map +6 -0
  166. package/dist/chunks/chunk-SKKWMMFP.js +474 -0
  167. package/dist/chunks/chunk-SKKWMMFP.js.map +6 -0
  168. package/dist/chunks/chunk-SMIDV4KH.js +171 -0
  169. package/dist/chunks/chunk-SMIDV4KH.js.map +6 -0
  170. package/dist/chunks/chunk-T2VUTAHB.js +46 -0
  171. package/dist/chunks/chunk-T2VUTAHB.js.map +6 -0
  172. package/dist/chunks/chunk-T4SB6AAF.js +134 -0
  173. package/dist/chunks/chunk-T4SB6AAF.js.map +6 -0
  174. package/dist/chunks/chunk-TBIX6JRE.js +24 -0
  175. package/dist/chunks/chunk-TBIX6JRE.js.map +6 -0
  176. package/dist/chunks/chunk-THNCQJ33.js +11265 -0
  177. package/dist/chunks/chunk-THNCQJ33.js.map +6 -0
  178. package/dist/chunks/chunk-U56QFYGA.js +818 -0
  179. package/dist/chunks/chunk-U56QFYGA.js.map +6 -0
  180. package/dist/chunks/chunk-U6GZ7EW4.js +106 -0
  181. package/dist/chunks/chunk-U6GZ7EW4.js.map +6 -0
  182. package/dist/chunks/chunk-UDDSFIMB.js +1373 -0
  183. package/dist/chunks/chunk-UDDSFIMB.js.map +6 -0
  184. package/dist/chunks/chunk-UFHNXZL2.js +399 -0
  185. package/dist/chunks/chunk-UFHNXZL2.js.map +6 -0
  186. package/dist/chunks/chunk-US5ZFPAU.js +400 -0
  187. package/dist/chunks/chunk-US5ZFPAU.js.map +6 -0
  188. package/dist/chunks/chunk-VRL2WNQN.js +7534 -0
  189. package/dist/chunks/chunk-VRL2WNQN.js.map +6 -0
  190. package/dist/chunks/chunk-W3UQMRYA.js +380 -0
  191. package/dist/chunks/chunk-W3UQMRYA.js.map +6 -0
  192. package/dist/chunks/chunk-W5KGCUP3.js +11111 -0
  193. package/dist/chunks/chunk-W5KGCUP3.js.map +6 -0
  194. package/dist/chunks/chunk-WHODOMXA.js +132 -0
  195. package/dist/chunks/chunk-WHODOMXA.js.map +6 -0
  196. package/dist/chunks/chunk-WT6TFCPV.js +154 -0
  197. package/dist/chunks/chunk-WT6TFCPV.js.map +6 -0
  198. package/dist/chunks/chunk-WY2WUTFR.js +164 -0
  199. package/dist/chunks/chunk-WY2WUTFR.js.map +6 -0
  200. package/dist/chunks/chunk-XEUQN4JC.js +54 -0
  201. package/dist/chunks/chunk-XEUQN4JC.js.map +6 -0
  202. package/dist/chunks/chunk-Y7B67G22.js +26 -0
  203. package/dist/chunks/chunk-Y7B67G22.js.map +6 -0
  204. package/dist/chunks/chunk-YEMJX2DS.js +69 -0
  205. package/dist/chunks/chunk-YEMJX2DS.js.map +6 -0
  206. package/dist/chunks/chunk-YKLKHDZU.js +2953 -0
  207. package/dist/chunks/chunk-YKLKHDZU.js.map +6 -0
  208. package/dist/chunks/chunk-YQEWD2EN.js +127 -0
  209. package/dist/chunks/chunk-YQEWD2EN.js.map +6 -0
  210. package/dist/chunks/chunk-YYQJIECC.js +1439 -0
  211. package/dist/chunks/chunk-YYQJIECC.js.map +6 -0
  212. package/dist/chunks/chunk-ZKVZNOUS.js +106 -0
  213. package/dist/chunks/chunk-ZKVZNOUS.js.map +6 -0
  214. package/dist/chunks/chunk-ZPR4IMRT.js +36 -0
  215. package/dist/chunks/chunk-ZPR4IMRT.js.map +6 -0
  216. package/dist/chunks/chunk-ZWA2JRJV.js +45 -0
  217. package/dist/chunks/chunk-ZWA2JRJV.js.map +6 -0
  218. package/dist/chunks/cli-runtime-F4MBZ2UQ.js +129 -0
  219. package/dist/chunks/cli-runtime-F4MBZ2UQ.js.map +6 -0
  220. package/dist/chunks/commands-GMQGFTIY.js +21 -0
  221. package/dist/chunks/commands-GMQGFTIY.js.map +6 -0
  222. package/dist/chunks/computer-GXDY4H35.js +493 -0
  223. package/dist/chunks/computer-GXDY4H35.js.map +6 -0
  224. package/dist/chunks/crash-report-STOHSORG.js +21 -0
  225. package/dist/chunks/crash-report-STOHSORG.js.map +6 -0
  226. package/dist/chunks/devtools-LBE4PAQN.js +3851 -0
  227. package/dist/chunks/devtools-LBE4PAQN.js.map +6 -0
  228. package/dist/chunks/dist-3AF2X4S5.js +1339 -0
  229. package/dist/chunks/dist-3AF2X4S5.js.map +6 -0
  230. package/dist/chunks/dist-AZIMHV2B.js +514 -0
  231. package/dist/chunks/dist-AZIMHV2B.js.map +6 -0
  232. package/dist/chunks/dist-BGYRQ5BC.js +555 -0
  233. package/dist/chunks/dist-BGYRQ5BC.js.map +6 -0
  234. package/dist/chunks/dist-OTTZ7WVD.js +1415 -0
  235. package/dist/chunks/dist-OTTZ7WVD.js.map +6 -0
  236. package/dist/chunks/dist-R3I3ATSG.js +1018 -0
  237. package/dist/chunks/dist-R3I3ATSG.js.map +6 -0
  238. package/dist/chunks/dist-TXEKDBQO.js +40642 -0
  239. package/dist/chunks/dist-TXEKDBQO.js.map +6 -0
  240. package/dist/chunks/dist-XTWYQHHN.js +520 -0
  241. package/dist/chunks/dist-XTWYQHHN.js.map +6 -0
  242. package/dist/chunks/doctor-VXSB4Y4P.js +28 -0
  243. package/dist/chunks/doctor-VXSB4Y4P.js.map +6 -0
  244. package/dist/chunks/drain-DXVICQBR.js +471 -0
  245. package/dist/chunks/drain-DXVICQBR.js.map +6 -0
  246. package/dist/chunks/endpoint-M2DDENPP.js +15 -0
  247. package/dist/chunks/endpoint-M2DDENPP.js.map +6 -0
  248. package/dist/chunks/eval-BMJQXDKA.js +187 -0
  249. package/dist/chunks/eval-BMJQXDKA.js.map +6 -0
  250. package/dist/chunks/exec-3T5ESZPH.js +1284 -0
  251. package/dist/chunks/exec-3T5ESZPH.js.map +6 -0
  252. package/dist/chunks/home-ILHA7B6Z.js +16 -0
  253. package/dist/chunks/home-ILHA7B6Z.js.map +6 -0
  254. package/dist/chunks/host-queries-QCMWDZGS.js +152 -0
  255. package/dist/chunks/host-queries-QCMWDZGS.js.map +6 -0
  256. package/dist/chunks/lib-KXZZJJG2.js +2657 -0
  257. package/dist/chunks/lib-KXZZJJG2.js.map +6 -0
  258. package/dist/chunks/lifecycle-CB23VJI7.js +63 -0
  259. package/dist/chunks/lifecycle-CB23VJI7.js.map +6 -0
  260. package/dist/chunks/list-N6WXZBMD.js +293 -0
  261. package/dist/chunks/list-N6WXZBMD.js.map +6 -0
  262. package/dist/chunks/login-26NCG6EQ.js +29 -0
  263. package/dist/chunks/login-26NCG6EQ.js.map +6 -0
  264. package/dist/chunks/logs-V7SNM7LA.js +116 -0
  265. package/dist/chunks/logs-V7SNM7LA.js.map +6 -0
  266. package/dist/chunks/mcp-BTHCU5ZC.js +763 -0
  267. package/dist/chunks/mcp-BTHCU5ZC.js.map +6 -0
  268. package/dist/chunks/message-command-HMIOR52C.js +170 -0
  269. package/dist/chunks/message-command-HMIOR52C.js.map +6 -0
  270. package/dist/chunks/node-QB2FA2ZB.js +916 -0
  271. package/dist/chunks/node-QB2FA2ZB.js.map +6 -0
  272. package/dist/chunks/operator-tools-7LMWOHSN.js +115 -0
  273. package/dist/chunks/operator-tools-7LMWOHSN.js.map +6 -0
  274. package/dist/chunks/output-schema-XCONYVZ7.js +11 -0
  275. package/dist/chunks/output-schema-XCONYVZ7.js.map +6 -0
  276. package/dist/chunks/pal-YEUKHA6F.js +200 -0
  277. package/dist/chunks/pal-YEUKHA6F.js.map +6 -0
  278. package/dist/chunks/paths-DXYFKIJU.js +10 -0
  279. package/dist/chunks/paths-DXYFKIJU.js.map +6 -0
  280. package/dist/chunks/pica-WNHDDIFX.js +1736 -0
  281. package/dist/chunks/pica-WNHDDIFX.js.map +6 -0
  282. package/dist/chunks/providers-EI3FAKYB.js +160 -0
  283. package/dist/chunks/providers-EI3FAKYB.js.map +6 -0
  284. package/dist/chunks/resident-5ZY6OG6B.js +1314 -0
  285. package/dist/chunks/resident-5ZY6OG6B.js.map +6 -0
  286. package/dist/chunks/resume-command-ONYRZIIA.js +22 -0
  287. package/dist/chunks/resume-command-ONYRZIIA.js.map +6 -0
  288. package/dist/chunks/schedule-6JPEO4NR.js +143 -0
  289. package/dist/chunks/schedule-6JPEO4NR.js.map +6 -0
  290. package/dist/chunks/serve-S7UWNIR3.js +21 -0
  291. package/dist/chunks/serve-S7UWNIR3.js.map +6 -0
  292. package/dist/chunks/service-WSW3M6K5.js +1633 -0
  293. package/dist/chunks/service-WSW3M6K5.js.map +6 -0
  294. package/dist/chunks/session-step-2VZM3CCA.js +26 -0
  295. package/dist/chunks/session-step-2VZM3CCA.js.map +6 -0
  296. package/dist/chunks/skills-KAZJYGX5.js +282 -0
  297. package/dist/chunks/skills-KAZJYGX5.js.map +6 -0
  298. package/dist/chunks/state-263OUKQA.js +717 -0
  299. package/dist/chunks/state-263OUKQA.js.map +6 -0
  300. package/dist/chunks/store-3XLCJ7EL.js +42 -0
  301. package/dist/chunks/store-3XLCJ7EL.js.map +6 -0
  302. package/dist/chunks/store-KN65QI2M.js +82 -0
  303. package/dist/chunks/store-KN65QI2M.js.map +6 -0
  304. package/dist/chunks/store-X3TESBIN.js +34 -0
  305. package/dist/chunks/store-X3TESBIN.js.map +6 -0
  306. package/dist/chunks/tui-5MU7JBXX.js +56703 -0
  307. package/dist/chunks/tui-5MU7JBXX.js.map +6 -0
  308. package/dist/chunks/upgrade-BYM4MWBC.js +315 -0
  309. package/dist/chunks/upgrade-BYM4MWBC.js.map +6 -0
  310. package/dist/chunks/webapi-6HUHZUAH.js +2715 -0
  311. package/dist/chunks/webapi-6HUHZUAH.js.map +6 -0
  312. package/dist/chunks/worktree-K3ZIPXRM.js +116 -0
  313. package/dist/chunks/worktree-K3ZIPXRM.js.map +6 -0
  314. package/dist/cli-runtime.d.ts +19 -0
  315. package/dist/cli-runtime.d.ts.map +1 -0
  316. package/dist/cli.d.ts +0 -15
  317. package/dist/cli.d.ts.map +1 -1
  318. package/dist/commands/acp-harness.d.ts +64 -0
  319. package/dist/commands/acp-harness.d.ts.map +1 -0
  320. package/dist/commands/acp-provider-retry.d.ts +27 -0
  321. package/dist/commands/acp-provider-retry.d.ts.map +1 -0
  322. package/dist/commands/acp.d.ts +134 -3
  323. package/dist/commands/acp.d.ts.map +1 -1
  324. package/dist/commands/computer.d.ts +3 -0
  325. package/dist/commands/computer.d.ts.map +1 -0
  326. package/dist/commands/desktop-host-changes.d.ts +65 -0
  327. package/dist/commands/desktop-host-changes.d.ts.map +1 -0
  328. package/dist/commands/desktop-host-header.d.ts +30 -0
  329. package/dist/commands/desktop-host-header.d.ts.map +1 -0
  330. package/dist/commands/desktop-host.d.ts +354 -0
  331. package/dist/commands/desktop-host.d.ts.map +1 -0
  332. package/dist/commands/desktop-model-catalogue.d.ts +25 -0
  333. package/dist/commands/desktop-model-catalogue.d.ts.map +1 -0
  334. package/dist/commands/effort-levels.d.ts +3 -0
  335. package/dist/commands/effort-levels.d.ts.map +1 -0
  336. package/dist/commands/exec-flags.d.ts +4 -0
  337. package/dist/commands/exec-flags.d.ts.map +1 -1
  338. package/dist/commands/exec.d.ts.map +1 -1
  339. package/dist/commands/lazy.d.ts +20 -0
  340. package/dist/commands/lazy.d.ts.map +1 -0
  341. package/dist/commands/manifest.d.ts +33 -0
  342. package/dist/commands/manifest.d.ts.map +1 -0
  343. package/dist/commands/pal.d.ts +5 -0
  344. package/dist/commands/pal.d.ts.map +1 -0
  345. package/dist/commands/permission-preview.d.ts +38 -0
  346. package/dist/commands/permission-preview.d.ts.map +1 -0
  347. package/dist/commands/registry.d.ts +10 -0
  348. package/dist/commands/registry.d.ts.map +1 -1
  349. package/dist/commands/serve.d.ts +1 -12
  350. package/dist/commands/serve.d.ts.map +1 -1
  351. package/dist/commands/stdin.d.ts.map +1 -1
  352. package/dist/commands/upgrade.d.ts +14 -0
  353. package/dist/commands/upgrade.d.ts.map +1 -1
  354. package/dist/compile-cache-enable.d.ts +2 -0
  355. package/dist/compile-cache-enable.d.ts.map +1 -0
  356. package/dist/compile-cache.d.ts +53 -0
  357. package/dist/compile-cache.d.ts.map +1 -0
  358. package/dist/computer/bundle.d.ts +18 -0
  359. package/dist/computer/bundle.d.ts.map +1 -0
  360. package/dist/computer/run.d.ts +26 -0
  361. package/dist/computer/run.d.ts.map +1 -0
  362. package/dist/computer/sentences.d.ts +30 -0
  363. package/dist/computer/sentences.d.ts.map +1 -0
  364. package/dist/config/load.d.ts +10 -1
  365. package/dist/config/load.d.ts.map +1 -1
  366. package/dist/context/capabilities.d.ts +25 -2
  367. package/dist/context/capabilities.d.ts.map +1 -1
  368. package/dist/context/runtime-message.d.ts.map +1 -1
  369. package/dist/crash-report.d.ts +22 -0
  370. package/dist/crash-report.d.ts.map +1 -0
  371. package/dist/debug-requested.d.ts +7 -0
  372. package/dist/debug-requested.d.ts.map +1 -0
  373. package/dist/doctor/checks/credentials.d.ts.map +1 -1
  374. package/dist/exit-codes.d.ts +9 -1
  375. package/dist/exit-codes.d.ts.map +1 -1
  376. package/dist/index.js +105 -17
  377. package/dist/index.js.map +6 -1
  378. package/dist/integrations/harness/claude-adapter.d.ts +20 -0
  379. package/dist/integrations/harness/claude-adapter.d.ts.map +1 -0
  380. package/dist/integrations/harness/claude-protocol.d.ts +67 -0
  381. package/dist/integrations/harness/claude-protocol.d.ts.map +1 -0
  382. package/dist/integrations/harness/codex-adapter.d.ts +80 -0
  383. package/dist/integrations/harness/codex-adapter.d.ts.map +1 -0
  384. package/dist/integrations/harness/codex-protocol.d.ts +22 -0
  385. package/dist/integrations/harness/codex-protocol.d.ts.map +1 -0
  386. package/dist/integrations/harness/model-cache.d.ts +16 -0
  387. package/dist/integrations/harness/model-cache.d.ts.map +1 -0
  388. package/dist/integrations/harness/native-executable.d.ts +8 -0
  389. package/dist/integrations/harness/native-executable.d.ts.map +1 -0
  390. package/dist/integrations/harness/process.d.ts +25 -0
  391. package/dist/integrations/harness/process.d.ts.map +1 -0
  392. package/dist/integrations/peers/runtime.d.ts +64 -0
  393. package/dist/integrations/peers/runtime.d.ts.map +1 -0
  394. package/dist/integrations/plugins/inventory.d.ts +27 -0
  395. package/dist/integrations/plugins/inventory.d.ts.map +1 -0
  396. package/dist/integrations/providers/composer-settings.d.ts +33 -0
  397. package/dist/integrations/providers/composer-settings.d.ts.map +1 -0
  398. package/dist/integrations/providers/connections.d.ts +37 -0
  399. package/dist/integrations/providers/connections.d.ts.map +1 -0
  400. package/dist/integrations/providers/credential-store.d.ts +35 -0
  401. package/dist/integrations/providers/credential-store.d.ts.map +1 -1
  402. package/dist/integrations/providers/discover.d.ts +27 -1
  403. package/dist/integrations/providers/discover.d.ts.map +1 -1
  404. package/dist/integrations/providers/index.d.ts +2 -2
  405. package/dist/integrations/providers/index.d.ts.map +1 -1
  406. package/dist/integrations/providers/picker-operation.d.ts +6 -0
  407. package/dist/integrations/providers/picker-operation.d.ts.map +1 -0
  408. package/dist/integrations/providers/setup.d.ts +16 -1
  409. package/dist/integrations/providers/setup.d.ts.map +1 -1
  410. package/dist/integrations/resident/runner-worker.js +190 -161
  411. package/dist/integrations/resident/runner-worker.js.map +6 -1
  412. package/dist/integrations/sessions/display-title.d.ts +8 -0
  413. package/dist/integrations/sessions/display-title.d.ts.map +1 -1
  414. package/dist/integrations/sessions/store.d.ts +23 -9
  415. package/dist/integrations/sessions/store.d.ts.map +1 -1
  416. package/dist/integrations/sessions/task-context.d.ts +1 -1
  417. package/dist/integrations/sessions/task-context.d.ts.map +1 -1
  418. package/dist/integrations/sessions/transcript-export.d.ts.map +1 -1
  419. package/dist/integrations/subagents/activity.d.ts +9 -6
  420. package/dist/integrations/subagents/activity.d.ts.map +1 -1
  421. package/dist/integrations/subagents/operator-journal.d.ts +20 -0
  422. package/dist/integrations/subagents/operator-journal.d.ts.map +1 -0
  423. package/dist/integrations/subagents/runtime.d.ts +11 -0
  424. package/dist/integrations/subagents/runtime.d.ts.map +1 -1
  425. package/dist/integrations/trust/store.d.ts +14 -0
  426. package/dist/integrations/trust/store.d.ts.map +1 -1
  427. package/dist/integrations/web/search.d.ts +1 -1
  428. package/dist/pals/actions.d.ts +57 -0
  429. package/dist/pals/actions.d.ts.map +1 -0
  430. package/dist/pals/activity-command.d.ts +3 -0
  431. package/dist/pals/activity-command.d.ts.map +1 -0
  432. package/dist/pals/activity.d.ts +18 -0
  433. package/dist/pals/activity.d.ts.map +1 -0
  434. package/dist/pals/agent-session.d.ts +19 -0
  435. package/dist/pals/agent-session.d.ts.map +1 -0
  436. package/dist/pals/channel-actions.d.ts +5 -0
  437. package/dist/pals/channel-actions.d.ts.map +1 -0
  438. package/dist/pals/channel-local.d.ts +7 -0
  439. package/dist/pals/channel-local.d.ts.map +1 -0
  440. package/dist/pals/channel.d.ts +20 -0
  441. package/dist/pals/channel.d.ts.map +1 -0
  442. package/dist/pals/chat.d.ts +6 -0
  443. package/dist/pals/chat.d.ts.map +1 -0
  444. package/dist/pals/communication.d.ts +47 -0
  445. package/dist/pals/communication.d.ts.map +1 -0
  446. package/dist/pals/conversations.d.ts +26 -0
  447. package/dist/pals/conversations.d.ts.map +1 -0
  448. package/dist/pals/desktop-communication.d.ts +111 -0
  449. package/dist/pals/desktop-communication.d.ts.map +1 -0
  450. package/dist/pals/dispatch.d.ts +13 -0
  451. package/dist/pals/dispatch.d.ts.map +1 -0
  452. package/dist/pals/environment.d.ts +103 -0
  453. package/dist/pals/environment.d.ts.map +1 -0
  454. package/dist/pals/guest-mcp-transport.d.ts +28 -0
  455. package/dist/pals/guest-mcp-transport.d.ts.map +1 -0
  456. package/dist/pals/guest-mcp.d.ts +22 -0
  457. package/dist/pals/guest-mcp.d.ts.map +1 -0
  458. package/dist/pals/inbox-start.d.ts +35 -0
  459. package/dist/pals/inbox-start.d.ts.map +1 -0
  460. package/dist/pals/message-command.d.ts +3 -0
  461. package/dist/pals/message-command.d.ts.map +1 -0
  462. package/dist/pals/operator-tools.d.ts +23 -0
  463. package/dist/pals/operator-tools.d.ts.map +1 -0
  464. package/dist/pals/public-transcript.d.ts +4 -0
  465. package/dist/pals/public-transcript.d.ts.map +1 -0
  466. package/dist/pals/review.d.ts +16 -0
  467. package/dist/pals/review.d.ts.map +1 -0
  468. package/dist/pals/store.d.ts +16 -0
  469. package/dist/pals/store.d.ts.map +1 -0
  470. package/dist/pals/tui-session.d.ts +11 -0
  471. package/dist/pals/tui-session.d.ts.map +1 -0
  472. package/dist/permissions/mode-names.d.ts +2 -0
  473. package/dist/permissions/mode-names.d.ts.map +1 -0
  474. package/dist/resume-invocation.d.ts +1 -1
  475. package/dist/resume-invocation.d.ts.map +1 -1
  476. package/dist/resume-shell.d.ts +8 -0
  477. package/dist/resume-shell.d.ts.map +1 -0
  478. package/dist/schedule/build.d.ts +12 -3
  479. package/dist/schedule/build.d.ts.map +1 -1
  480. package/dist/schedule/commands/add.d.ts +1 -1
  481. package/dist/schedule/commands/add.d.ts.map +1 -1
  482. package/dist/schedule/commands/lifecycle.d.ts.map +1 -1
  483. package/dist/schedule/commands/list.d.ts +3 -1
  484. package/dist/schedule/commands/list.d.ts.map +1 -1
  485. package/dist/schedule/daemon/daemon.d.ts +2 -0
  486. package/dist/schedule/daemon/daemon.d.ts.map +1 -1
  487. package/dist/schedule/delivery.d.ts +66 -0
  488. package/dist/schedule/delivery.d.ts.map +1 -0
  489. package/dist/schedule/fire/fire.d.ts +1 -1
  490. package/dist/schedule/fire/fire.d.ts.map +1 -1
  491. package/dist/schedule/fire/run-script.d.ts +2 -2
  492. package/dist/schedule/fire/run-script.d.ts.map +1 -1
  493. package/dist/schedule/fire/script-report.d.ts +31 -0
  494. package/dist/schedule/fire/script-report.d.ts.map +1 -0
  495. package/dist/schedule/floor.d.ts +1 -1
  496. package/dist/schedule/floor.d.ts.map +1 -1
  497. package/dist/schedule/folder.d.ts +6 -0
  498. package/dist/schedule/folder.d.ts.map +1 -1
  499. package/dist/schedule/resume-command.d.ts +3 -3
  500. package/dist/schedule/resume-command.d.ts.map +1 -1
  501. package/dist/schedule/store/history.d.ts.map +1 -1
  502. package/dist/schedule/store/jobs.d.ts +6 -6
  503. package/dist/schedule/store/jobs.d.ts.map +1 -1
  504. package/dist/schedule/store/script-state.d.ts +31 -0
  505. package/dist/schedule/store/script-state.d.ts.map +1 -0
  506. package/dist/schedule/store/state.d.ts +4 -2
  507. package/dist/schedule/store/state.d.ts.map +1 -1
  508. package/dist/schedule/types.d.ts +61 -16
  509. package/dist/schedule/types.d.ts.map +1 -1
  510. package/dist/skills/store.d.ts.map +1 -1
  511. package/dist/terminal/host.d.ts +22 -0
  512. package/dist/terminal/host.d.ts.map +1 -0
  513. package/dist/terminal/manager.d.ts +124 -0
  514. package/dist/terminal/manager.d.ts.map +1 -0
  515. package/dist/terminal/protocol.d.ts +162 -0
  516. package/dist/terminal/protocol.d.ts.map +1 -0
  517. package/dist/terminal/pty.d.ts +85 -0
  518. package/dist/terminal/pty.d.ts.map +1 -0
  519. package/dist/terminal/ring.d.ts +23 -0
  520. package/dist/terminal/ring.d.ts.map +1 -0
  521. package/dist/terminal/screen.d.ts +31 -0
  522. package/dist/terminal/screen.d.ts.map +1 -0
  523. package/dist/termination-state.d.ts +19 -0
  524. package/dist/termination-state.d.ts.map +1 -0
  525. package/dist/termination.d.ts +2 -9
  526. package/dist/termination.d.ts.map +1 -1
  527. package/dist/tui/AgentExplorer.d.ts +4 -1
  528. package/dist/tui/AgentExplorer.d.ts.map +1 -1
  529. package/dist/tui/App.d.ts.map +1 -1
  530. package/dist/tui/BackgroundJobsPanel.d.ts.map +1 -1
  531. package/dist/tui/BrandHeader.d.ts.map +1 -1
  532. package/dist/tui/ChildComposer.d.ts +22 -0
  533. package/dist/tui/ChildComposer.d.ts.map +1 -0
  534. package/dist/tui/ChoicePicker.d.ts.map +1 -1
  535. package/dist/tui/Composer.d.ts +19 -3
  536. package/dist/tui/Composer.d.ts.map +1 -1
  537. package/dist/tui/ComposerFrame.d.ts.map +1 -1
  538. package/dist/tui/CopyPicker.d.ts.map +1 -1
  539. package/dist/tui/EditPromptPicker.d.ts.map +1 -1
  540. package/dist/tui/EffortSlider.d.ts.map +1 -1
  541. package/dist/tui/LiveActivity.d.ts +7 -1
  542. package/dist/tui/LiveActivity.d.ts.map +1 -1
  543. package/dist/tui/Markdown.d.ts.map +1 -1
  544. package/dist/tui/PendingInputPanel.d.ts.map +1 -1
  545. package/dist/tui/PermissionOverlay.d.ts.map +1 -1
  546. package/dist/tui/Picker.d.ts.map +1 -1
  547. package/dist/tui/ProviderSetup.d.ts.map +1 -1
  548. package/dist/tui/ResumePicker.d.ts.map +1 -1
  549. package/dist/tui/SaveSkillOverlay.d.ts.map +1 -1
  550. package/dist/tui/ScheduleReviewOverlay.d.ts +1 -1
  551. package/dist/tui/ScheduleReviewOverlay.d.ts.map +1 -1
  552. package/dist/tui/StatusBar.d.ts +7 -1
  553. package/dist/tui/StatusBar.d.ts.map +1 -1
  554. package/dist/tui/StatusPanel.d.ts.map +1 -1
  555. package/dist/tui/TextPrompt.d.ts.map +1 -1
  556. package/dist/tui/ToolOutputViewer.d.ts.map +1 -1
  557. package/dist/tui/Transcript.d.ts.map +1 -1
  558. package/dist/tui/TrustPrompt.d.ts +8 -0
  559. package/dist/tui/TrustPrompt.d.ts.map +1 -1
  560. package/dist/tui/agent.d.ts +125 -3
  561. package/dist/tui/agent.d.ts.map +1 -1
  562. package/dist/tui/browser-notices.d.ts.map +1 -1
  563. package/dist/tui/capability-notice.d.ts +38 -0
  564. package/dist/tui/capability-notice.d.ts.map +1 -0
  565. package/dist/tui/console-input.d.ts +31 -0
  566. package/dist/tui/console-input.d.ts.map +1 -0
  567. package/dist/tui/conversation-evidence-view.d.ts.map +1 -1
  568. package/dist/tui/credential-entry.d.ts.map +1 -1
  569. package/dist/tui/exit-summary.d.ts +9 -1
  570. package/dist/tui/exit-summary.d.ts.map +1 -1
  571. package/dist/tui/external-editor.d.ts.map +1 -1
  572. package/dist/tui/index.d.ts.map +1 -1
  573. package/dist/tui/key-hints.d.ts +51 -0
  574. package/dist/tui/key-hints.d.ts.map +1 -0
  575. package/dist/tui/launch-settings.d.ts +34 -0
  576. package/dist/tui/launch-settings.d.ts.map +1 -0
  577. package/dist/tui/log-pane.d.ts.map +1 -1
  578. package/dist/tui/model-choices.d.ts +39 -1
  579. package/dist/tui/model-choices.d.ts.map +1 -1
  580. package/dist/tui/model-search.d.ts +4 -1
  581. package/dist/tui/model-search.d.ts.map +1 -1
  582. package/dist/tui/output-size-watch.d.ts +32 -0
  583. package/dist/tui/output-size-watch.d.ts.map +1 -0
  584. package/dist/tui/permission-review.d.ts.map +1 -1
  585. package/dist/tui/person-terms.d.ts +58 -0
  586. package/dist/tui/person-terms.d.ts.map +1 -0
  587. package/dist/tui/plain-failure.d.ts +27 -0
  588. package/dist/tui/plain-failure.d.ts.map +1 -0
  589. package/dist/tui/plain-interruption.d.ts +46 -0
  590. package/dist/tui/plain-interruption.d.ts.map +1 -0
  591. package/dist/tui/provider-list.d.ts.map +1 -1
  592. package/dist/tui/render-mode.d.ts +19 -0
  593. package/dist/tui/render-mode.d.ts.map +1 -0
  594. package/dist/tui/schedule/host-commands.d.ts +2 -9
  595. package/dist/tui/schedule/host-commands.d.ts.map +1 -1
  596. package/dist/tui/schedule/integration.d.ts +8 -0
  597. package/dist/tui/schedule/integration.d.ts.map +1 -1
  598. package/dist/tui/schedule/source-deliveries.d.ts +37 -0
  599. package/dist/tui/schedule/source-deliveries.d.ts.map +1 -0
  600. package/dist/tui/schedule/startup.d.ts.map +1 -1
  601. package/dist/tui/schedule/tool-host.d.ts +3 -1
  602. package/dist/tui/schedule/tool-host.d.ts.map +1 -1
  603. package/dist/tui/setup-text.d.ts +14 -0
  604. package/dist/tui/setup-text.d.ts.map +1 -0
  605. package/dist/tui/shell-escape.d.ts.map +1 -1
  606. package/dist/tui/skills/suggest-setting.d.ts.map +1 -1
  607. package/dist/tui/slashCommands.d.ts +4 -1
  608. package/dist/tui/slashCommands.d.ts.map +1 -1
  609. package/dist/tui/terminal-choice-text.d.ts +7 -0
  610. package/dist/tui/terminal-choice-text.d.ts.map +1 -1
  611. package/dist/tui/tidy-tool-output.d.ts +83 -0
  612. package/dist/tui/tidy-tool-output.d.ts.map +1 -0
  613. package/dist/tui/tool-presentation.d.ts +6 -0
  614. package/dist/tui/tool-presentation.d.ts.map +1 -0
  615. package/dist/tui/triggers/copy.d.ts.map +1 -1
  616. package/dist/tui/triggers/setting.d.ts.map +1 -1
  617. package/dist/tui/turn-interruption.d.ts +1 -1
  618. package/dist/tui/turn-interruption.d.ts.map +1 -1
  619. package/dist/tui/turn-limits-settings.d.ts +4 -4
  620. package/dist/tui/turn-limits-settings.d.ts.map +1 -1
  621. package/dist/tui/types.d.ts +10 -0
  622. package/dist/tui/types.d.ts.map +1 -1
  623. package/dist/tui/web-activity.d.ts +3 -2
  624. package/dist/tui/web-activity.d.ts.map +1 -1
  625. package/dist/tui/zen-free-refusal.d.ts +17 -0
  626. package/dist/tui/zen-free-refusal.d.ts.map +1 -0
  627. package/dist/usage-error.d.ts +15 -0
  628. package/dist/usage-error.d.ts.map +1 -0
  629. package/dist/warning-filter.d.ts +30 -0
  630. package/dist/warning-filter.d.ts.map +1 -0
  631. package/package.json +21 -10
  632. package/skills/schedule-task/SKILL.md +74 -20
  633. package/dist/browser/commands.js +0 -365
  634. package/dist/browser/commands.js.map +0 -1
  635. package/dist/browser/control.js +0 -140
  636. package/dist/browser/control.js.map +0 -1
  637. package/dist/browser/describe.js +0 -27
  638. package/dist/browser/describe.js.map +0 -1
  639. package/dist/checkpoints/store.js +0 -192
  640. package/dist/checkpoints/store.js.map +0 -1
  641. package/dist/checkpoints/wrap.js +0 -37
  642. package/dist/checkpoints/wrap.js.map +0 -1
  643. package/dist/cli.js +0 -602
  644. package/dist/cli.js.map +0 -1
  645. package/dist/commands/acp.js +0 -388
  646. package/dist/commands/acp.js.map +0 -1
  647. package/dist/commands/archive.js +0 -65
  648. package/dist/commands/archive.js.map +0 -1
  649. package/dist/commands/browser.js +0 -16
  650. package/dist/commands/browser.js.map +0 -1
  651. package/dist/commands/doctor.js +0 -267
  652. package/dist/commands/doctor.js.map +0 -1
  653. package/dist/commands/drain.js +0 -498
  654. package/dist/commands/drain.js.map +0 -1
  655. package/dist/commands/eval.js +0 -237
  656. package/dist/commands/eval.js.map +0 -1
  657. package/dist/commands/exec-flags.js +0 -334
  658. package/dist/commands/exec-flags.js.map +0 -1
  659. package/dist/commands/exec-json.js +0 -497
  660. package/dist/commands/exec-json.js.map +0 -1
  661. package/dist/commands/exec.js +0 -688
  662. package/dist/commands/exec.js.map +0 -1
  663. package/dist/commands/host-queries.js +0 -156
  664. package/dist/commands/host-queries.js.map +0 -1
  665. package/dist/commands/login.js +0 -315
  666. package/dist/commands/login.js.map +0 -1
  667. package/dist/commands/mcp-oauth-login.js +0 -213
  668. package/dist/commands/mcp-oauth-login.js.map +0 -1
  669. package/dist/commands/mcp.js +0 -461
  670. package/dist/commands/mcp.js.map +0 -1
  671. package/dist/commands/prior-messages.js +0 -329
  672. package/dist/commands/prior-messages.js.map +0 -1
  673. package/dist/commands/provider-wait.js +0 -65
  674. package/dist/commands/provider-wait.js.map +0 -1
  675. package/dist/commands/registry.js +0 -40
  676. package/dist/commands/registry.js.map +0 -1
  677. package/dist/commands/resident-flags.js +0 -193
  678. package/dist/commands/resident-flags.js.map +0 -1
  679. package/dist/commands/resident-learning.js +0 -293
  680. package/dist/commands/resident-learning.js.map +0 -1
  681. package/dist/commands/resident.js +0 -419
  682. package/dist/commands/resident.js.map +0 -1
  683. package/dist/commands/resume.js +0 -109
  684. package/dist/commands/resume.js.map +0 -1
  685. package/dist/commands/schedule.js +0 -131
  686. package/dist/commands/schedule.js.map +0 -1
  687. package/dist/commands/serve.js +0 -21
  688. package/dist/commands/serve.js.map +0 -1
  689. package/dist/commands/skills.js +0 -178
  690. package/dist/commands/skills.js.map +0 -1
  691. package/dist/commands/state.js +0 -110
  692. package/dist/commands/state.js.map +0 -1
  693. package/dist/commands/stdin.js +0 -69
  694. package/dist/commands/stdin.js.map +0 -1
  695. package/dist/commands/types.js +0 -2
  696. package/dist/commands/types.js.map +0 -1
  697. package/dist/commands/upgrade-progress.js +0 -54
  698. package/dist/commands/upgrade-progress.js.map +0 -1
  699. package/dist/commands/upgrade.js +0 -232
  700. package/dist/commands/upgrade.js.map +0 -1
  701. package/dist/commands/worktree.js +0 -86
  702. package/dist/commands/worktree.js.map +0 -1
  703. package/dist/config/composer-triggers.js +0 -80
  704. package/dist/config/composer-triggers.js.map +0 -1
  705. package/dist/config/debug.js +0 -126
  706. package/dist/config/debug.js.map +0 -1
  707. package/dist/config/load.js +0 -1208
  708. package/dist/config/load.js.map +0 -1
  709. package/dist/config/schema.js +0 -13
  710. package/dist/config/schema.js.map +0 -1
  711. package/dist/config/tool-result-screens.js +0 -104
  712. package/dist/config/tool-result-screens.js.map +0 -1
  713. package/dist/config/trusted-project-context.js +0 -28
  714. package/dist/config/trusted-project-context.js.map +0 -1
  715. package/dist/config/turn-guards.js +0 -46
  716. package/dist/config/turn-guards.js.map +0 -1
  717. package/dist/config/user-config.js +0 -118
  718. package/dist/config/user-config.js.map +0 -1
  719. package/dist/context/capabilities.js +0 -164
  720. package/dist/context/capabilities.js.map +0 -1
  721. package/dist/context/directories.js +0 -69
  722. package/dist/context/directories.js.map +0 -1
  723. package/dist/context/doctrine.js +0 -24
  724. package/dist/context/doctrine.js.map +0 -1
  725. package/dist/context/environment.js +0 -255
  726. package/dist/context/environment.js.map +0 -1
  727. package/dist/context/project-path.js +0 -16
  728. package/dist/context/project-path.js.map +0 -1
  729. package/dist/context/project-tracker.js +0 -217
  730. package/dist/context/project-tracker.js.map +0 -1
  731. package/dist/context/project.js +0 -256
  732. package/dist/context/project.js.map +0 -1
  733. package/dist/context/runtime-message.js +0 -30
  734. package/dist/context/runtime-message.js.map +0 -1
  735. package/dist/context/sandbox.js +0 -114
  736. package/dist/context/sandbox.js.map +0 -1
  737. package/dist/context/turn-snapshot.js +0 -122
  738. package/dist/context/turn-snapshot.js.map +0 -1
  739. package/dist/doctor/checks/browser.js +0 -63
  740. package/dist/doctor/checks/browser.js.map +0 -1
  741. package/dist/doctor/checks/chain.js +0 -211
  742. package/dist/doctor/checks/chain.js.map +0 -1
  743. package/dist/doctor/checks/credentials.js +0 -98
  744. package/dist/doctor/checks/credentials.js.map +0 -1
  745. package/dist/doctor/checks/index.js +0 -72
  746. package/dist/doctor/checks/index.js.map +0 -1
  747. package/dist/doctor/checks/invariants.js +0 -79
  748. package/dist/doctor/checks/invariants.js.map +0 -1
  749. package/dist/doctor/checks/logging.js +0 -69
  750. package/dist/doctor/checks/logging.js.map +0 -1
  751. package/dist/doctor/checks/providers.js +0 -30
  752. package/dist/doctor/checks/providers.js.map +0 -1
  753. package/dist/doctor/checks/runtime.js +0 -40
  754. package/dist/doctor/checks/runtime.js.map +0 -1
  755. package/dist/doctor/checks/sandbox.js +0 -76
  756. package/dist/doctor/checks/sandbox.js.map +0 -1
  757. package/dist/doctor/checks/scheduler.js +0 -74
  758. package/dist/doctor/checks/scheduler.js.map +0 -1
  759. package/dist/doctor/checks/session-export.js +0 -62
  760. package/dist/doctor/checks/session-export.js.map +0 -1
  761. package/dist/doctor/checks/telemetry.js +0 -58
  762. package/dist/doctor/checks/telemetry.js.map +0 -1
  763. package/dist/doctor/checks/vault.js +0 -67
  764. package/dist/doctor/checks/vault.js.map +0 -1
  765. package/dist/doctor/index.js +0 -3
  766. package/dist/doctor/index.js.map +0 -1
  767. package/dist/doctor/registry.js +0 -230
  768. package/dist/doctor/registry.js.map +0 -1
  769. package/dist/exit-codes.js +0 -62
  770. package/dist/exit-codes.js.map +0 -1
  771. package/dist/installation.js +0 -48
  772. package/dist/installation.js.map +0 -1
  773. package/dist/integrations/clipboard/image.js +0 -119
  774. package/dist/integrations/clipboard/image.js.map +0 -1
  775. package/dist/integrations/clipboard/text.js +0 -43
  776. package/dist/integrations/clipboard/text.js.map +0 -1
  777. package/dist/integrations/files/attachment-store.js +0 -86
  778. package/dist/integrations/files/attachment-store.js.map +0 -1
  779. package/dist/integrations/mcp/oauth-store.js +0 -549
  780. package/dist/integrations/mcp/oauth-store.js.map +0 -1
  781. package/dist/integrations/mcp/servers.js +0 -611
  782. package/dist/integrations/mcp/servers.js.map +0 -1
  783. package/dist/integrations/mcp/user-config.js +0 -92
  784. package/dist/integrations/mcp/user-config.js.map +0 -1
  785. package/dist/integrations/notifications/desktop/freedesktop.js +0 -33
  786. package/dist/integrations/notifications/desktop/freedesktop.js.map +0 -1
  787. package/dist/integrations/notifications/desktop/macos.js +0 -17
  788. package/dist/integrations/notifications/desktop/macos.js.map +0 -1
  789. package/dist/integrations/notifications/desktop/sanitize.js +0 -49
  790. package/dist/integrations/notifications/desktop/sanitize.js.map +0 -1
  791. package/dist/integrations/notifications/desktop/throttle.js +0 -39
  792. package/dist/integrations/notifications/desktop/throttle.js.map +0 -1
  793. package/dist/integrations/notifications/desktop/windows-toast.js +0 -56
  794. package/dist/integrations/notifications/desktop/windows-toast.js.map +0 -1
  795. package/dist/integrations/notifications/desktop.js +0 -199
  796. package/dist/integrations/notifications/desktop.js.map +0 -1
  797. package/dist/integrations/notifications/terminal.js +0 -46
  798. package/dist/integrations/notifications/terminal.js.map +0 -1
  799. package/dist/integrations/npm-invocation.js +0 -23
  800. package/dist/integrations/npm-invocation.js.map +0 -1
  801. package/dist/integrations/plugins/runtime.js +0 -189
  802. package/dist/integrations/plugins/runtime.js.map +0 -1
  803. package/dist/integrations/plugins/settings.js +0 -106
  804. package/dist/integrations/plugins/settings.js.map +0 -1
  805. package/dist/integrations/providers/access.js +0 -23
  806. package/dist/integrations/providers/access.js.map +0 -1
  807. package/dist/integrations/providers/chain-capabilities.js +0 -211
  808. package/dist/integrations/providers/chain-capabilities.js.map +0 -1
  809. package/dist/integrations/providers/codex-device-login.js +0 -195
  810. package/dist/integrations/providers/codex-device-login.js.map +0 -1
  811. package/dist/integrations/providers/codex-oauth.js +0 -95
  812. package/dist/integrations/providers/codex-oauth.js.map +0 -1
  813. package/dist/integrations/providers/credential-provider.js +0 -74
  814. package/dist/integrations/providers/credential-provider.js.map +0 -1
  815. package/dist/integrations/providers/credential-store.js +0 -657
  816. package/dist/integrations/providers/credential-store.js.map +0 -1
  817. package/dist/integrations/providers/current-credential.js +0 -45
  818. package/dist/integrations/providers/current-credential.js.map +0 -1
  819. package/dist/integrations/providers/discover.js +0 -313
  820. package/dist/integrations/providers/discover.js.map +0 -1
  821. package/dist/integrations/providers/gemini-credentials.js +0 -148
  822. package/dist/integrations/providers/gemini-credentials.js.map +0 -1
  823. package/dist/integrations/providers/harness-credentials.js +0 -344
  824. package/dist/integrations/providers/harness-credentials.js.map +0 -1
  825. package/dist/integrations/providers/identity.js +0 -64
  826. package/dist/integrations/providers/identity.js.map +0 -1
  827. package/dist/integrations/providers/index.js +0 -14
  828. package/dist/integrations/providers/index.js.map +0 -1
  829. package/dist/integrations/providers/keychain.js +0 -78
  830. package/dist/integrations/providers/keychain.js.map +0 -1
  831. package/dist/integrations/providers/model-reasoning.js +0 -51
  832. package/dist/integrations/providers/model-reasoning.js.map +0 -1
  833. package/dist/integrations/providers/oauth.js +0 -302
  834. package/dist/integrations/providers/oauth.js.map +0 -1
  835. package/dist/integrations/providers/preferences.js +0 -287
  836. package/dist/integrations/providers/preferences.js.map +0 -1
  837. package/dist/integrations/providers/register.js +0 -154
  838. package/dist/integrations/providers/register.js.map +0 -1
  839. package/dist/integrations/providers/registry.js +0 -289
  840. package/dist/integrations/providers/registry.js.map +0 -1
  841. package/dist/integrations/providers/setup.js +0 -158
  842. package/dist/integrations/providers/setup.js.map +0 -1
  843. package/dist/integrations/providers/subscription-login.js +0 -328
  844. package/dist/integrations/providers/subscription-login.js.map +0 -1
  845. package/dist/integrations/providers/zen-catalogue.js +0 -196
  846. package/dist/integrations/providers/zen-catalogue.js.map +0 -1
  847. package/dist/integrations/resident/foreground.js +0 -95
  848. package/dist/integrations/resident/foreground.js.map +0 -1
  849. package/dist/integrations/resident/inspection.js +0 -282
  850. package/dist/integrations/resident/inspection.js.map +0 -1
  851. package/dist/integrations/resident/learning-sources.js +0 -79
  852. package/dist/integrations/resident/learning-sources.js.map +0 -1
  853. package/dist/integrations/resident/learning-storage.js +0 -55
  854. package/dist/integrations/resident/learning-storage.js.map +0 -1
  855. package/dist/integrations/resident/lifecycle-errors.js +0 -15
  856. package/dist/integrations/resident/lifecycle-errors.js.map +0 -1
  857. package/dist/integrations/resident/owned-runner.js +0 -91
  858. package/dist/integrations/resident/owned-runner.js.map +0 -1
  859. package/dist/integrations/resident/runner-control.js +0 -238
  860. package/dist/integrations/resident/runner-control.js.map +0 -1
  861. package/dist/integrations/resident/runner-launch.js +0 -142
  862. package/dist/integrations/resident/runner-launch.js.map +0 -1
  863. package/dist/integrations/resident/runner-store.js +0 -284
  864. package/dist/integrations/resident/runner-store.js.map +0 -1
  865. package/dist/integrations/resident/session-log-reads.js +0 -125
  866. package/dist/integrations/resident/session-log-reads.js.map +0 -1
  867. package/dist/integrations/resident/session-step.js +0 -476
  868. package/dist/integrations/resident/session-step.js.map +0 -1
  869. package/dist/integrations/resident/storage.js +0 -183
  870. package/dist/integrations/resident/storage.js.map +0 -1
  871. package/dist/integrations/resident/tool-evidence.js +0 -123
  872. package/dist/integrations/resident/tool-evidence.js.map +0 -1
  873. package/dist/integrations/resident/verification.js +0 -109
  874. package/dist/integrations/resident/verification.js.map +0 -1
  875. package/dist/integrations/sessions/checkpoint-view.js +0 -48
  876. package/dist/integrations/sessions/checkpoint-view.js.map +0 -1
  877. package/dist/integrations/sessions/context-inventory.js +0 -44
  878. package/dist/integrations/sessions/context-inventory.js.map +0 -1
  879. package/dist/integrations/sessions/conversation-search.js +0 -572
  880. package/dist/integrations/sessions/conversation-search.js.map +0 -1
  881. package/dist/integrations/sessions/display-title.js +0 -5
  882. package/dist/integrations/sessions/display-title.js.map +0 -1
  883. package/dist/integrations/sessions/evidence-page-validation.js +0 -74
  884. package/dist/integrations/sessions/evidence-page-validation.js.map +0 -1
  885. package/dist/integrations/sessions/evidence-recall.js +0 -117
  886. package/dist/integrations/sessions/evidence-recall.js.map +0 -1
  887. package/dist/integrations/sessions/store.js +0 -780
  888. package/dist/integrations/sessions/store.js.map +0 -1
  889. package/dist/integrations/sessions/task-context.js +0 -96
  890. package/dist/integrations/sessions/task-context.js.map +0 -1
  891. package/dist/integrations/sessions/transcript-export.js +0 -342
  892. package/dist/integrations/sessions/transcript-export.js.map +0 -1
  893. package/dist/integrations/state/home.js +0 -17
  894. package/dist/integrations/state/home.js.map +0 -1
  895. package/dist/integrations/state/identity.js +0 -49
  896. package/dist/integrations/state/identity.js.map +0 -1
  897. package/dist/integrations/state/immutable-json.js +0 -38
  898. package/dist/integrations/state/immutable-json.js.map +0 -1
  899. package/dist/integrations/state/private-directory.js +0 -43
  900. package/dist/integrations/state/private-directory.js.map +0 -1
  901. package/dist/integrations/state/project.js +0 -13
  902. package/dist/integrations/state/project.js.map +0 -1
  903. package/dist/integrations/state/report.js +0 -626
  904. package/dist/integrations/state/report.js.map +0 -1
  905. package/dist/integrations/state/retention.js +0 -18
  906. package/dist/integrations/state/retention.js.map +0 -1
  907. package/dist/integrations/subagents/NamzuCliAgent.js +0 -9
  908. package/dist/integrations/subagents/NamzuCliAgent.js.map +0 -1
  909. package/dist/integrations/subagents/activity.js +0 -759
  910. package/dist/integrations/subagents/activity.js.map +0 -1
  911. package/dist/integrations/subagents/batches.js +0 -172
  912. package/dist/integrations/subagents/batches.js.map +0 -1
  913. package/dist/integrations/subagents/definitions.js +0 -26
  914. package/dist/integrations/subagents/definitions.js.map +0 -1
  915. package/dist/integrations/subagents/model-effort.js +0 -12
  916. package/dist/integrations/subagents/model-effort.js.map +0 -1
  917. package/dist/integrations/subagents/parent.js +0 -47
  918. package/dist/integrations/subagents/parent.js.map +0 -1
  919. package/dist/integrations/subagents/policy.js +0 -3
  920. package/dist/integrations/subagents/policy.js.map +0 -1
  921. package/dist/integrations/subagents/replay.js +0 -295
  922. package/dist/integrations/subagents/replay.js.map +0 -1
  923. package/dist/integrations/subagents/runtime.js +0 -1317
  924. package/dist/integrations/subagents/runtime.js.map +0 -1
  925. package/dist/integrations/subagents/saved-agents.js +0 -102
  926. package/dist/integrations/subagents/saved-agents.js.map +0 -1
  927. package/dist/integrations/subagents/slash.js +0 -45
  928. package/dist/integrations/subagents/slash.js.map +0 -1
  929. package/dist/integrations/subagents/worktree-driver.js +0 -72
  930. package/dist/integrations/subagents/worktree-driver.js.map +0 -1
  931. package/dist/integrations/telemetry/session-export.js +0 -119
  932. package/dist/integrations/telemetry/session-export.js.map +0 -1
  933. package/dist/integrations/trust/store.js +0 -73
  934. package/dist/integrations/trust/store.js.map +0 -1
  935. package/dist/integrations/updates.js +0 -115
  936. package/dist/integrations/updates.js.map +0 -1
  937. package/dist/integrations/web/exa-search.js +0 -154
  938. package/dist/integrations/web/exa-search.js.map +0 -1
  939. package/dist/integrations/web/open-url.js +0 -73
  940. package/dist/integrations/web/open-url.js.map +0 -1
  941. package/dist/integrations/web/search.js +0 -68
  942. package/dist/integrations/web/search.js.map +0 -1
  943. package/dist/integrations/worktrees/managed.js +0 -231
  944. package/dist/integrations/worktrees/managed.js.map +0 -1
  945. package/dist/logging.js +0 -115
  946. package/dist/logging.js.map +0 -1
  947. package/dist/memory/io.js +0 -177
  948. package/dist/memory/io.js.map +0 -1
  949. package/dist/memory/presentation.js +0 -76
  950. package/dist/memory/presentation.js.map +0 -1
  951. package/dist/memory/store.js +0 -180
  952. package/dist/memory/store.js.map +0 -1
  953. package/dist/memory/typed.js +0 -336
  954. package/dist/memory/typed.js.map +0 -1
  955. package/dist/output/formatter.js +0 -16
  956. package/dist/output/formatter.js.map +0 -1
  957. package/dist/output/index.js +0 -22
  958. package/dist/output/index.js.map +0 -1
  959. package/dist/output/json.js +0 -51
  960. package/dist/output/json.js.map +0 -1
  961. package/dist/output/text.js +0 -50
  962. package/dist/output/text.js.map +0 -1
  963. package/dist/output/yaml.js +0 -26
  964. package/dist/output/yaml.js.map +0 -1
  965. package/dist/output-schema.js +0 -18
  966. package/dist/output-schema.js.map +0 -1
  967. package/dist/permissions/browser-sites.js +0 -270
  968. package/dist/permissions/browser-sites.js.map +0 -1
  969. package/dist/permissions/canonical-project.js +0 -13
  970. package/dist/permissions/canonical-project.js.map +0 -1
  971. package/dist/permissions/checks.js +0 -128
  972. package/dist/permissions/checks.js.map +0 -1
  973. package/dist/permissions/headless-trust.js +0 -86
  974. package/dist/permissions/headless-trust.js.map +0 -1
  975. package/dist/permissions/live-mode.js +0 -62
  976. package/dist/permissions/live-mode.js.map +0 -1
  977. package/dist/permissions/mode.js +0 -65
  978. package/dist/permissions/mode.js.map +0 -1
  979. package/dist/permissions/rules.js +0 -358
  980. package/dist/permissions/rules.js.map +0 -1
  981. package/dist/release-notes.js +0 -64
  982. package/dist/release-notes.js.map +0 -1
  983. package/dist/resume-invocation.js +0 -24
  984. package/dist/resume-invocation.js.map +0 -1
  985. package/dist/schedule/build.js +0 -374
  986. package/dist/schedule/build.js.map +0 -1
  987. package/dist/schedule/changes.js +0 -78
  988. package/dist/schedule/changes.js.map +0 -1
  989. package/dist/schedule/commands/add.js +0 -603
  990. package/dist/schedule/commands/add.js.map +0 -1
  991. package/dist/schedule/commands/args.js +0 -80
  992. package/dist/schedule/commands/args.js.map +0 -1
  993. package/dist/schedule/commands/confirm-prompt.js +0 -21
  994. package/dist/schedule/commands/confirm-prompt.js.map +0 -1
  995. package/dist/schedule/commands/lifecycle.js +0 -586
  996. package/dist/schedule/commands/lifecycle.js.map +0 -1
  997. package/dist/schedule/commands/list.js +0 -260
  998. package/dist/schedule/commands/list.js.map +0 -1
  999. package/dist/schedule/commands/logs.js +0 -106
  1000. package/dist/schedule/commands/logs.js.map +0 -1
  1001. package/dist/schedule/commands/service.js +0 -458
  1002. package/dist/schedule/commands/service.js.map +0 -1
  1003. package/dist/schedule/daemon/daemon.js +0 -1265
  1004. package/dist/schedule/daemon/daemon.js.map +0 -1
  1005. package/dist/schedule/daemon/endpoint.js +0 -158
  1006. package/dist/schedule/daemon/endpoint.js.map +0 -1
  1007. package/dist/schedule/daemon/exit.js +0 -8
  1008. package/dist/schedule/daemon/exit.js.map +0 -1
  1009. package/dist/schedule/daemon/log.js +0 -53
  1010. package/dist/schedule/daemon/log.js.map +0 -1
  1011. package/dist/schedule/daemon/notify.js +0 -158
  1012. package/dist/schedule/daemon/notify.js.map +0 -1
  1013. package/dist/schedule/daemon/retention.js +0 -46
  1014. package/dist/schedule/daemon/retention.js.map +0 -1
  1015. package/dist/schedule/daemon/sessions.js +0 -52
  1016. package/dist/schedule/daemon/sessions.js.map +0 -1
  1017. package/dist/schedule/env.js +0 -106
  1018. package/dist/schedule/env.js.map +0 -1
  1019. package/dist/schedule/fire/browser-preflight.js +0 -73
  1020. package/dist/schedule/fire/browser-preflight.js.map +0 -1
  1021. package/dist/schedule/fire/calls.js +0 -114
  1022. package/dist/schedule/fire/calls.js.map +0 -1
  1023. package/dist/schedule/fire/fire.js +0 -681
  1024. package/dist/schedule/fire/fire.js.map +0 -1
  1025. package/dist/schedule/fire/result.js +0 -19
  1026. package/dist/schedule/fire/result.js.map +0 -1
  1027. package/dist/schedule/fire/run-script.js +0 -81
  1028. package/dist/schedule/fire/run-script.js.map +0 -1
  1029. package/dist/schedule/fire/unattended-note.js +0 -51
  1030. package/dist/schedule/fire/unattended-note.js.map +0 -1
  1031. package/dist/schedule/fire/wake-gate.js +0 -90
  1032. package/dist/schedule/fire/wake-gate.js.map +0 -1
  1033. package/dist/schedule/floor.js +0 -1561
  1034. package/dist/schedule/floor.js.map +0 -1
  1035. package/dist/schedule/folder.js +0 -84
  1036. package/dist/schedule/folder.js.map +0 -1
  1037. package/dist/schedule/paths.js +0 -53
  1038. package/dist/schedule/paths.js.map +0 -1
  1039. package/dist/schedule/policy.js +0 -414
  1040. package/dist/schedule/policy.js.map +0 -1
  1041. package/dist/schedule/resume-command.js +0 -72
  1042. package/dist/schedule/resume-command.js.map +0 -1
  1043. package/dist/schedule/script-check.js +0 -146
  1044. package/dist/schedule/script-check.js.map +0 -1
  1045. package/dist/schedule/script-shell.js +0 -5
  1046. package/dist/schedule/script-shell.js.map +0 -1
  1047. package/dist/schedule/service/detect.js +0 -29
  1048. package/dist/schedule/service/detect.js.map +0 -1
  1049. package/dist/schedule/service/index.js +0 -361
  1050. package/dist/schedule/service/index.js.map +0 -1
  1051. package/dist/schedule/service/launchd.js +0 -84
  1052. package/dist/schedule/service/launchd.js.map +0 -1
  1053. package/dist/schedule/service/manifest.js +0 -16
  1054. package/dist/schedule/service/manifest.js.map +0 -1
  1055. package/dist/schedule/service/names.js +0 -22
  1056. package/dist/schedule/service/names.js.map +0 -1
  1057. package/dist/schedule/service/quote.js +0 -64
  1058. package/dist/schedule/service/quote.js.map +0 -1
  1059. package/dist/schedule/service/runner.js +0 -31
  1060. package/dist/schedule/service/runner.js.map +0 -1
  1061. package/dist/schedule/service/systemd.js +0 -96
  1062. package/dist/schedule/service/systemd.js.map +0 -1
  1063. package/dist/schedule/service/windows-task.js +0 -199
  1064. package/dist/schedule/service/windows-task.js.map +0 -1
  1065. package/dist/schedule/service/wsl.js +0 -121
  1066. package/dist/schedule/service/wsl.js.map +0 -1
  1067. package/dist/schedule/store/atomic.js +0 -138
  1068. package/dist/schedule/store/atomic.js.map +0 -1
  1069. package/dist/schedule/store/claims.js +0 -57
  1070. package/dist/schedule/store/claims.js.map +0 -1
  1071. package/dist/schedule/store/digest.js +0 -139
  1072. package/dist/schedule/store/digest.js.map +0 -1
  1073. package/dist/schedule/store/history.js +0 -117
  1074. package/dist/schedule/store/history.js.map +0 -1
  1075. package/dist/schedule/store/jobs.js +0 -277
  1076. package/dist/schedule/store/jobs.js.map +0 -1
  1077. package/dist/schedule/store/state.js +0 -38
  1078. package/dist/schedule/store/state.js.map +0 -1
  1079. package/dist/schedule/types.js +0 -33
  1080. package/dist/schedule/types.js.map +0 -1
  1081. package/dist/schedule/visible-source.js +0 -59
  1082. package/dist/schedule/visible-source.js.map +0 -1
  1083. package/dist/skills/audit.js +0 -75
  1084. package/dist/skills/audit.js.map +0 -1
  1085. package/dist/skills/catalog.js +0 -226
  1086. package/dist/skills/catalog.js.map +0 -1
  1087. package/dist/skills/directory.js +0 -51
  1088. package/dist/skills/directory.js.map +0 -1
  1089. package/dist/skills/save.js +0 -344
  1090. package/dist/skills/save.js.map +0 -1
  1091. package/dist/skills/store.js +0 -351
  1092. package/dist/skills/store.js.map +0 -1
  1093. package/dist/termination.js +0 -143
  1094. package/dist/termination.js.map +0 -1
  1095. package/dist/test-support/toolset.js +0 -27
  1096. package/dist/test-support/toolset.js.map +0 -1
  1097. package/dist/tui/AgentExplorer.js +0 -789
  1098. package/dist/tui/AgentExplorer.js.map +0 -1
  1099. package/dist/tui/App.js +0 -8499
  1100. package/dist/tui/App.js.map +0 -1
  1101. package/dist/tui/BackgroundJobsPanel.js +0 -129
  1102. package/dist/tui/BackgroundJobsPanel.js.map +0 -1
  1103. package/dist/tui/BrandHeader.js +0 -14
  1104. package/dist/tui/BrandHeader.js.map +0 -1
  1105. package/dist/tui/Checklist.js +0 -90
  1106. package/dist/tui/Checklist.js.map +0 -1
  1107. package/dist/tui/ChoicePicker.js +0 -64
  1108. package/dist/tui/ChoicePicker.js.map +0 -1
  1109. package/dist/tui/Composer.js +0 -939
  1110. package/dist/tui/Composer.js.map +0 -1
  1111. package/dist/tui/ComposerFrame.js +0 -79
  1112. package/dist/tui/ComposerFrame.js.map +0 -1
  1113. package/dist/tui/CopyPicker.js +0 -19
  1114. package/dist/tui/CopyPicker.js.map +0 -1
  1115. package/dist/tui/EditPromptPicker.js +0 -17
  1116. package/dist/tui/EditPromptPicker.js.map +0 -1
  1117. package/dist/tui/EffortSlider.js +0 -134
  1118. package/dist/tui/EffortSlider.js.map +0 -1
  1119. package/dist/tui/LiveActivity.js +0 -89
  1120. package/dist/tui/LiveActivity.js.map +0 -1
  1121. package/dist/tui/Markdown.js +0 -137
  1122. package/dist/tui/Markdown.js.map +0 -1
  1123. package/dist/tui/PendingInputPanel.js +0 -108
  1124. package/dist/tui/PendingInputPanel.js.map +0 -1
  1125. package/dist/tui/PermissionOverlay.js +0 -278
  1126. package/dist/tui/PermissionOverlay.js.map +0 -1
  1127. package/dist/tui/Picker.js +0 -1310
  1128. package/dist/tui/Picker.js.map +0 -1
  1129. package/dist/tui/ProviderSetup.js +0 -125
  1130. package/dist/tui/ProviderSetup.js.map +0 -1
  1131. package/dist/tui/ResumePicker.js +0 -34
  1132. package/dist/tui/ResumePicker.js.map +0 -1
  1133. package/dist/tui/SaveSkillOverlay.js +0 -118
  1134. package/dist/tui/SaveSkillOverlay.js.map +0 -1
  1135. package/dist/tui/ScheduleReviewOverlay.js +0 -166
  1136. package/dist/tui/ScheduleReviewOverlay.js.map +0 -1
  1137. package/dist/tui/StatusBar.js +0 -182
  1138. package/dist/tui/StatusBar.js.map +0 -1
  1139. package/dist/tui/StatusPanel.js +0 -11
  1140. package/dist/tui/StatusPanel.js.map +0 -1
  1141. package/dist/tui/TaskList.js +0 -43
  1142. package/dist/tui/TaskList.js.map +0 -1
  1143. package/dist/tui/TextPrompt.js +0 -185
  1144. package/dist/tui/TextPrompt.js.map +0 -1
  1145. package/dist/tui/ToolOutputViewer.js +0 -39
  1146. package/dist/tui/ToolOutputViewer.js.map +0 -1
  1147. package/dist/tui/Transcript.js +0 -235
  1148. package/dist/tui/Transcript.js.map +0 -1
  1149. package/dist/tui/TrustPrompt.js +0 -13
  1150. package/dist/tui/TrustPrompt.js.map +0 -1
  1151. package/dist/tui/ViewportBound.js +0 -55
  1152. package/dist/tui/ViewportBound.js.map +0 -1
  1153. package/dist/tui/agent-transcript-rows.js +0 -115
  1154. package/dist/tui/agent-transcript-rows.js.map +0 -1
  1155. package/dist/tui/agent.js +0 -4301
  1156. package/dist/tui/agent.js.map +0 -1
  1157. package/dist/tui/browser-notices.js +0 -107
  1158. package/dist/tui/browser-notices.js.map +0 -1
  1159. package/dist/tui/choice-selection.js +0 -38
  1160. package/dist/tui/choice-selection.js.map +0 -1
  1161. package/dist/tui/compact-transcript.js +0 -46
  1162. package/dist/tui/compact-transcript.js.map +0 -1
  1163. package/dist/tui/consent-timing.js +0 -48
  1164. package/dist/tui/consent-timing.js.map +0 -1
  1165. package/dist/tui/conversation-evidence-view.js +0 -96
  1166. package/dist/tui/conversation-evidence-view.js.map +0 -1
  1167. package/dist/tui/conversation-history.js +0 -33
  1168. package/dist/tui/conversation-history.js.map +0 -1
  1169. package/dist/tui/copy-targets.js +0 -189
  1170. package/dist/tui/copy-targets.js.map +0 -1
  1171. package/dist/tui/credential-entry.js +0 -134
  1172. package/dist/tui/credential-entry.js.map +0 -1
  1173. package/dist/tui/edit-prompts.js +0 -35
  1174. package/dist/tui/edit-prompts.js.map +0 -1
  1175. package/dist/tui/exit-summary.js +0 -30
  1176. package/dist/tui/exit-summary.js.map +0 -1
  1177. package/dist/tui/external-editor.js +0 -169
  1178. package/dist/tui/external-editor.js.map +0 -1
  1179. package/dist/tui/hypermode.js +0 -58
  1180. package/dist/tui/hypermode.js.map +0 -1
  1181. package/dist/tui/index.js +0 -81
  1182. package/dist/tui/index.js.map +0 -1
  1183. package/dist/tui/live-window.js +0 -281
  1184. package/dist/tui/live-window.js.map +0 -1
  1185. package/dist/tui/log-pane.js +0 -100
  1186. package/dist/tui/log-pane.js.map +0 -1
  1187. package/dist/tui/login-prompt.js +0 -105
  1188. package/dist/tui/login-prompt.js.map +0 -1
  1189. package/dist/tui/logo.js +0 -9
  1190. package/dist/tui/logo.js.map +0 -1
  1191. package/dist/tui/markdown-block-cache.js +0 -76
  1192. package/dist/tui/markdown-block-cache.js.map +0 -1
  1193. package/dist/tui/markdown-table.js +0 -175
  1194. package/dist/tui/markdown-table.js.map +0 -1
  1195. package/dist/tui/markdown-wrap.js +0 -189
  1196. package/dist/tui/markdown-wrap.js.map +0 -1
  1197. package/dist/tui/markdownParser.js +0 -237
  1198. package/dist/tui/markdownParser.js.map +0 -1
  1199. package/dist/tui/mentions.js +0 -150
  1200. package/dist/tui/mentions.js.map +0 -1
  1201. package/dist/tui/model-catalogue-view.js +0 -75
  1202. package/dist/tui/model-catalogue-view.js.map +0 -1
  1203. package/dist/tui/model-choices.js +0 -157
  1204. package/dist/tui/model-choices.js.map +0 -1
  1205. package/dist/tui/model-search.js +0 -28
  1206. package/dist/tui/model-search.js.map +0 -1
  1207. package/dist/tui/model-selection-intent.js +0 -96
  1208. package/dist/tui/model-selection-intent.js.map +0 -1
  1209. package/dist/tui/model-switch-tool.js +0 -74
  1210. package/dist/tui/model-switch-tool.js.map +0 -1
  1211. package/dist/tui/model-switch.js +0 -106
  1212. package/dist/tui/model-switch.js.map +0 -1
  1213. package/dist/tui/notices.js +0 -27
  1214. package/dist/tui/notices.js.map +0 -1
  1215. package/dist/tui/open-browser.js +0 -147
  1216. package/dist/tui/open-browser.js.map +0 -1
  1217. package/dist/tui/permission-review.js +0 -858
  1218. package/dist/tui/permission-review.js.map +0 -1
  1219. package/dist/tui/plugin-view.js +0 -59
  1220. package/dist/tui/plugin-view.js.map +0 -1
  1221. package/dist/tui/provider-list.js +0 -327
  1222. package/dist/tui/provider-list.js.map +0 -1
  1223. package/dist/tui/provider-selection.js +0 -16
  1224. package/dist/tui/provider-selection.js.map +0 -1
  1225. package/dist/tui/schedule/host-commands.js +0 -428
  1226. package/dist/tui/schedule/host-commands.js.map +0 -1
  1227. package/dist/tui/schedule/integration.js +0 -150
  1228. package/dist/tui/schedule/integration.js.map +0 -1
  1229. package/dist/tui/schedule/loop-host.js +0 -153
  1230. package/dist/tui/schedule/loop-host.js.map +0 -1
  1231. package/dist/tui/schedule/resume.js +0 -333
  1232. package/dist/tui/schedule/resume.js.map +0 -1
  1233. package/dist/tui/schedule/startup.js +0 -121
  1234. package/dist/tui/schedule/startup.js.map +0 -1
  1235. package/dist/tui/schedule/tool-host.js +0 -619
  1236. package/dist/tui/schedule/tool-host.js.map +0 -1
  1237. package/dist/tui/selection-window.js +0 -37
  1238. package/dist/tui/selection-window.js.map +0 -1
  1239. package/dist/tui/shell-escape.js +0 -110
  1240. package/dist/tui/shell-escape.js.map +0 -1
  1241. package/dist/tui/skills/learning.js +0 -131
  1242. package/dist/tui/skills/learning.js.map +0 -1
  1243. package/dist/tui/skills/suggest-setting.js +0 -55
  1244. package/dist/tui/skills/suggest-setting.js.map +0 -1
  1245. package/dist/tui/skills/suggestion-ledger.js +0 -52
  1246. package/dist/tui/skills/suggestion-ledger.js.map +0 -1
  1247. package/dist/tui/slashCommands.js +0 -1588
  1248. package/dist/tui/slashCommands.js.map +0 -1
  1249. package/dist/tui/status-card.js +0 -30
  1250. package/dist/tui/status-card.js.map +0 -1
  1251. package/dist/tui/status-panel-layout.js +0 -42
  1252. package/dist/tui/status-panel-layout.js.map +0 -1
  1253. package/dist/tui/stream-blocks.js +0 -187
  1254. package/dist/tui/stream-blocks.js.map +0 -1
  1255. package/dist/tui/task-activity.js +0 -157
  1256. package/dist/tui/task-activity.js.map +0 -1
  1257. package/dist/tui/terminal-choice-text.js +0 -118
  1258. package/dist/tui/terminal-choice-text.js.map +0 -1
  1259. package/dist/tui/terminal-display.js +0 -65
  1260. package/dist/tui/terminal-display.js.map +0 -1
  1261. package/dist/tui/terminal-hyperlinks.js +0 -70
  1262. package/dist/tui/terminal-hyperlinks.js.map +0 -1
  1263. package/dist/tui/theme.js +0 -34
  1264. package/dist/tui/theme.js.map +0 -1
  1265. package/dist/tui/triggers/analyze.js +0 -221
  1266. package/dist/tui/triggers/analyze.js.map +0 -1
  1267. package/dist/tui/triggers/context-text.js +0 -44
  1268. package/dist/tui/triggers/context-text.js.map +0 -1
  1269. package/dist/tui/triggers/copy.js +0 -163
  1270. package/dist/tui/triggers/copy.js.map +0 -1
  1271. package/dist/tui/triggers/detect.js +0 -295
  1272. package/dist/tui/triggers/detect.js.map +0 -1
  1273. package/dist/tui/triggers/fold.js +0 -44
  1274. package/dist/tui/triggers/fold.js.map +0 -1
  1275. package/dist/tui/triggers/pattern.js +0 -243
  1276. package/dist/tui/triggers/pattern.js.map +0 -1
  1277. package/dist/tui/triggers/provenance.js +0 -98
  1278. package/dist/tui/triggers/provenance.js.map +0 -1
  1279. package/dist/tui/triggers/registry.js +0 -164
  1280. package/dist/tui/triggers/registry.js.map +0 -1
  1281. package/dist/tui/triggers/setting.js +0 -61
  1282. package/dist/tui/triggers/setting.js.map +0 -1
  1283. package/dist/tui/triggers/verbs.js +0 -140
  1284. package/dist/tui/triggers/verbs.js.map +0 -1
  1285. package/dist/tui/turn-interruption.js +0 -160
  1286. package/dist/tui/turn-interruption.js.map +0 -1
  1287. package/dist/tui/turn-limits-settings.js +0 -88
  1288. package/dist/tui/turn-limits-settings.js.map +0 -1
  1289. package/dist/tui/types.js +0 -7
  1290. package/dist/tui/types.js.map +0 -1
  1291. package/dist/tui/units.js +0 -20
  1292. package/dist/tui/units.js.map +0 -1
  1293. package/dist/tui/use-selection-index.js +0 -13
  1294. package/dist/tui/use-selection-index.js.map +0 -1
  1295. package/dist/tui/web-activity.js +0 -105
  1296. package/dist/tui/web-activity.js.map +0 -1
  1297. package/dist/tui/workspace-diff.js +0 -101
  1298. package/dist/tui/workspace-diff.js.map +0 -1
  1299. package/dist/tui/workspace-review.js +0 -67
  1300. package/dist/tui/workspace-review.js.map +0 -1
  1301. package/dist/user-commands/store.js +0 -235
  1302. package/dist/user-commands/store.js.map +0 -1
  1303. package/dist/version.js +0 -23
  1304. package/dist/version.js.map +0 -1
@@ -1,302 +0,0 @@
1
- /**
2
- * OAuth token refresh for a subscription credential.
3
- *
4
- * A subscription access token is short-lived (~8h). When it lapses the
5
- * provider answers 401 and the agent stream dies. Refreshing proactively
6
- * against the token endpoint, using the long-lived refresh token, renews a
7
- * stale token before the session starts instead of surfacing it as an
8
- * authentication error.
9
- *
10
- * Best-effort for transient refresh failures: no refresh token, a network
11
- * failure, an ordinary endpoint refusal or the private deadline all return the
12
- * existing token. `invalid_grant` is different: the authorization grant is no
13
- * longer usable, so sending the expired access token or retrying the same
14
- * refresh on every turn cannot recover. It is a typed refusal. Caller
15
- * cancellation also escapes with its exact cause.
16
- *
17
- * ## Where a refreshed token is written back
18
- *
19
- * There are three places a subscription credential can live and they are not
20
- * interchangeable, so `origin` says which one this credential came from and
21
- * therefore which publication rule applies:
22
- *
23
- * - `'stored'` — namzu's own store, written by the login flow, present on
24
- * every platform. A refresh replaces only the exact credential it used.
25
- * - `'keychain'` — a co-installed tool's macOS entry, which namzu reads but
26
- * does not own. A refresh is session-local and never writes that entry.
27
- * - `'claude-file'` — Claude's device-session file. A rotating refresh grant
28
- * must publish its successor back to the exact admitted file or it would
29
- * log the owner out, so publication preserves Claude's full envelope.
30
- *
31
- * `origin` is optional and defaults to `'keychain'` because that is the only
32
- * source that existed when this file was written. Every namzu-owned caller
33
- * passes it explicitly; a credential from the login flow misclassified as
34
- * Keychain-origin would remain stale on disk and refresh again on every
35
- * launch.
36
- */
37
- import { buildProbeContext, probe } from '@namzu/sdk';
38
- import { SUBSCRIPTION_CREDENTIAL_REF } from './credential-provider.js';
39
- import { credentialsPath, readStoredSubscriptionCredential, replaceStoredSubscriptionCredential, } from './credential-store.js';
40
- import { readClaudeCredentialFile, replaceClaudeCredentialFile } from './harness-credentials.js';
41
- import { OAUTH_CLIENT_ID, OAUTH_SCOPES, OAUTH_TOKEN_URL } from './identity.js';
42
- import { readAgentKeychainCredential } from './keychain.js';
43
- /** Refresh a few seconds early so an about-to-expire token isn't used. */
44
- const EXPIRY_SKEW_MS = 60_000;
45
- /** One refresh request, including its response body, may hold a caller this long. */
46
- const REFRESH_DEADLINE_MS = 30_000;
47
- class RefreshDeadlineError extends Error {
48
- constructor() {
49
- super(`The token endpoint did not answer within ${REFRESH_DEADLINE_MS}ms.`);
50
- this.name = 'RefreshDeadlineError';
51
- }
52
- }
53
- /**
54
- * Settle independently of a foreign promise that may ignore its signal.
55
- *
56
- * Passing `signal` to fetch is cooperative. This race is the host-owned
57
- * boundary that makes cancellation and the refresh deadline true even for a
58
- * custom transport or response body that never settles.
59
- */
60
- async function awaitWithSignal(operation, signal) {
61
- signal.throwIfAborted();
62
- let rejectAbort = () => { };
63
- const aborted = new Promise((_resolve, reject) => {
64
- rejectAbort = reject;
65
- });
66
- const onAbort = () => rejectAbort(signal.reason);
67
- signal.addEventListener('abort', onAbort, { once: true });
68
- if (signal.aborted)
69
- onAbort();
70
- try {
71
- return await Promise.race([operation, aborted]);
72
- }
73
- finally {
74
- signal.removeEventListener('abort', onAbort);
75
- }
76
- }
77
- /**
78
- * Re-read the current credential from the store it lives in.
79
- *
80
- * The session layer calls this between turns because another process may have
81
- * rotated the token since launch. Pairing it with `origin` is what stops a
82
- * long-running session reading one store and writing the other.
83
- *
84
- * **It takes an origin rather than searching, and that is the point.** A
85
- * version that tried both and returned the first hit would look more helpful
86
- * and would silently break the pairing: a session that started on namzu's own
87
- * credential would, on the machine where both exist, quietly begin refreshing
88
- * a co-installed tool's credential instead — writing namzu's refreshed token
89
- * into somebody else's envelope, and leaving the store the operator actually
90
- * signed into holding a token that lapses again on every launch.
91
- *
92
- * One credential, one store, for its whole life. `discover.ts` decides which
93
- * at detection; everything after that is told, not asked.
94
- */
95
- export function readSubscriptionCredential(origin, sourcePath) {
96
- if (origin === 'stored')
97
- return readStoredSubscriptionCredential();
98
- if (origin === 'claude-file') {
99
- return sourcePath ? readClaudeCredentialFile(sourcePath) : null;
100
- }
101
- return readAgentKeychainCredential();
102
- }
103
- /** The credential that authorized a refresh was removed before publication. */
104
- export class CredentialWithdrawnError extends Error {
105
- name = 'CredentialWithdrawnError';
106
- constructor(message = 'The subscription credential was removed while it was being refreshed.') {
107
- super(message);
108
- }
109
- }
110
- /** The store could not prove whether the refresh still owned publication. */
111
- export class CredentialPublicationError extends Error {
112
- name = 'CredentialPublicationError';
113
- constructor(options) {
114
- super('The refreshed subscription credential could not be published safely.', options);
115
- }
116
- }
117
- /** The authorization server says this exact refresh grant cannot be used again. */
118
- export class CredentialRefreshRejectedError extends Error {
119
- name = 'CredentialRefreshRejectedError';
120
- code = 'invalid_grant';
121
- constructor() {
122
- super('The subscription refresh token is no longer usable. Sign in again with /login.');
123
- }
124
- }
125
- /**
126
- * Return a non-expired access token, refreshing first if the current one is
127
- * lapsed/about-to-lapse and a refresh token is available. On a successful
128
- * refresh a Namzu-owned credential is conditionally persisted. A borrowed
129
- * Keychain credential is used only in memory because its owner cannot
130
- * participate in our conditional-write boundary.
131
- */
132
- export async function ensureFreshAnthropicToken(accessToken, oauth, signal) {
133
- signal?.throwIfAborted();
134
- const fresh = oauth.expiresAt === undefined || oauth.expiresAt - Date.now() > EXPIRY_SKEW_MS;
135
- if (fresh)
136
- return accessToken;
137
- if (!oauth.refreshToken)
138
- return accessToken;
139
- const refreshed = await refreshAgentOAuthToken(oauth.refreshToken, signal, oauth.scopes);
140
- if (!refreshed)
141
- return accessToken;
142
- // The response body was the final foreign await. Re-check immediately at
143
- // the durable boundary so a stopped run cannot rotate a credential later.
144
- signal?.throwIfAborted();
145
- const expected = {
146
- accessToken,
147
- refreshToken: oauth.refreshToken,
148
- expiresAt: oauth.expiresAt,
149
- scopes: oauth.scopes,
150
- };
151
- return publishRefreshed(expected, refreshed, oauth.origin ?? 'keychain', oauth.sourcePath)
152
- .accessToken;
153
- }
154
- /**
155
- * Say that a credential turned over, without saying what it turned into.
156
- *
157
- * Through the probe registry that already carries `vault_lookup`, because a
158
- * second bus means a subscriber that sees lookups and not rotations, or the
159
- * reverse, depending on which one it happened to find.
160
- */
161
- function announceRotation(replaced) {
162
- probe.dispatch({
163
- type: 'vault_credential_changed',
164
- kind: replaced ? 'rotated' : 'set',
165
- source: credentialsPath(),
166
- // The NAME. This event exists to be logged and retained, which is
167
- // exactly what the value must not be.
168
- ref: SUBSCRIPTION_CREDENTIAL_REF,
169
- }, buildProbeContext());
170
- }
171
- function publishRefreshed(expected, refreshed, origin, sourcePath) {
172
- if (origin === 'keychain') {
173
- // This entry belongs to another product, whose writer cannot participate
174
- // in a Namzu lock or conditional update. Never overwrite it. A rotation
175
- // that landed while the request was pending wins for this session; when it
176
- // is unchanged, the refreshed token remains session-local.
177
- const current = readAgentKeychainCredential();
178
- if (!current)
179
- throw new CredentialWithdrawnError();
180
- return !sameOAuthCredential(current, expected) ? current : refreshed;
181
- }
182
- if (origin === 'claude-file') {
183
- if (!sourcePath)
184
- throw new CredentialPublicationError();
185
- let result;
186
- try {
187
- result = replaceClaudeCredentialFile(sourcePath, expected, refreshed);
188
- }
189
- catch (error) {
190
- throw new CredentialPublicationError({ cause: error });
191
- }
192
- if (!result.replaced) {
193
- if (!result.current)
194
- throw new CredentialWithdrawnError();
195
- return result.current;
196
- }
197
- return refreshed;
198
- }
199
- let result;
200
- try {
201
- result = replaceStoredSubscriptionCredential(expected, refreshed);
202
- }
203
- catch (error) {
204
- // A busy lock may be an external rotation in progress. Falling back to
205
- // A' here would turn a failed CAS into permission to ignore its winner.
206
- throw new CredentialPublicationError({ cause: error });
207
- }
208
- if (!result.replaced) {
209
- if (!result.current)
210
- throw new CredentialWithdrawnError();
211
- return result.current;
212
- }
213
- // Announced only after the store proved the file private. A rotation event
214
- // for a write that refused would have a reader chasing a turn-over that
215
- // never happened. Probe failure is observability failure, not permission to
216
- // undo a credential that is already durably committed.
217
- try {
218
- announceRotation(refreshed.accessToken !== undefined);
219
- }
220
- catch {
221
- // The credential is already committed. Telemetry cannot roll it back.
222
- }
223
- return refreshed;
224
- }
225
- /** Exact credential identity used by refresh publication and the live-session refusal cache. */
226
- export function sameOAuthCredential(left, right) {
227
- if (left.accessToken !== right.accessToken ||
228
- left.refreshToken !== right.refreshToken ||
229
- left.expiresAt !== right.expiresAt) {
230
- return false;
231
- }
232
- const leftScopes = left.scopes ?? [];
233
- const rightScopes = right.scopes ?? [];
234
- return (leftScopes.length === rightScopes.length &&
235
- leftScopes.every((scope, index) => scope === rightScopes[index]));
236
- }
237
- /**
238
- * Exchange a refresh token for a new credential.
239
- *
240
- * Transient/unclassified failures return `null`. A standards-defined
241
- * `400 invalid_grant` throws {@link CredentialRefreshRejectedError}; retrying
242
- * the same grant is not recovery.
243
- */
244
- export async function refreshAgentOAuthToken(refreshToken, signal, scopes = OAUTH_SCOPES.split(' ')) {
245
- signal?.throwIfAborted();
246
- const requestController = new AbortController();
247
- const timeoutCause = new RefreshDeadlineError();
248
- const onCallerAbort = () => requestController.abort(signal?.reason);
249
- signal?.addEventListener('abort', onCallerAbort, { once: true });
250
- if (signal?.aborted)
251
- onCallerAbort();
252
- const timer = setTimeout(() => requestController.abort(timeoutCause), REFRESH_DEADLINE_MS);
253
- try {
254
- const res = await awaitWithSignal(fetch(OAUTH_TOKEN_URL, {
255
- method: 'POST',
256
- headers: { 'content-type': 'application/json' },
257
- body: JSON.stringify({
258
- grant_type: 'refresh_token',
259
- refresh_token: refreshToken,
260
- client_id: OAUTH_CLIENT_ID,
261
- scope: scopes.join(' '),
262
- }),
263
- signal: requestController.signal,
264
- }), requestController.signal);
265
- signal?.throwIfAborted();
266
- if (!res.ok) {
267
- if (res.status === 400) {
268
- const failure = (await awaitWithSignal(res.json(), requestController.signal));
269
- if (typeof failure?.error === 'string' && failure.error.toLowerCase() === 'invalid_grant') {
270
- throw new CredentialRefreshRejectedError();
271
- }
272
- }
273
- return null;
274
- }
275
- const data = (await awaitWithSignal(res.json(), requestController.signal));
276
- if (typeof data.access_token !== 'string' || data.access_token.length === 0)
277
- return null;
278
- return {
279
- accessToken: data.access_token,
280
- refreshToken: typeof data.refresh_token === 'string' ? data.refresh_token : refreshToken,
281
- expiresAt: typeof data.expires_in === 'number' ? Date.now() + data.expires_in * 1_000 : undefined,
282
- scopes: typeof data.scope === 'string' ? data.scope.split(' ').filter(Boolean) : [...scopes],
283
- };
284
- }
285
- catch (error) {
286
- if (error instanceof CredentialRefreshRejectedError)
287
- throw error;
288
- // A cooperative transport may replace the request cause with a generic
289
- // AbortError. The fused controller is the first-cause latch: only a caller
290
- // reason that actually won is allowed to escape as cancellation. A later
291
- // caller abort cannot relabel the private deadline.
292
- if (signal?.aborted && requestController.signal.reason === signal.reason) {
293
- throw signal.reason;
294
- }
295
- return null;
296
- }
297
- finally {
298
- clearTimeout(timer);
299
- signal?.removeEventListener('abort', onCallerAbort);
300
- }
301
- }
302
- //# sourceMappingURL=oauth.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"oauth.js","sourceRoot":"","sources":["../../../src/integrations/providers/oauth.ts"],"names":[],"mappings":"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"}
@@ -1,287 +0,0 @@
1
- /**
2
- * `~/.namzu/preferences.json` — the operator's provider chain.
3
- *
4
- * Schema (current = v3):
5
- * {
6
- * "version": 3,
7
- * "providers": [ // ordered; index 0 is the primary
8
- * { "id": "anthropic", "model": "claude-opus-4-7" },
9
- * { "id": "openai" } // model omitted → the registry default
10
- * ],
11
- * "subagents": { "active": [...] } // instances reserved for subagent dispatch
12
- * }
13
- *
14
- * The chain is an ORDER the operator declares, replacing the single provider v2
15
- * held. It is deliberately a plain readable array in a file the operator owns:
16
- * the order has to be legible and editable without launching the TUI, which a
17
- * value only reachable through an interactive picker is not.
18
- *
19
- * `providers[0]` serves; the rest are fallen over to, in order, when it cannot.
20
- * The tail is still validated and reported ahead of any failure (see
21
- * `readPreferences` and the `providers.chain` doctor check), because a fallback
22
- * is invisible by construction — nothing exercises it until the primary is
23
- * already down, which is the worst moment to discover the key was never set.
24
- *
25
- * ## Versions
26
- *
27
- * v1 stored a peer instance as the default — a different primitive (subagent
28
- * dispatch, not primary chat). It is still REFUSED rather than migrated, because
29
- * mapping between the two semantics would surprise more than help.
30
- *
31
- * v2 stored a single `provider` + optional `model`. It IS migrated, on read, in
32
- * memory: one provider is a one-element chain, which is unambiguous, and the
33
- * distinction from v1 is exactly that. Migration does not rewrite the file — a
34
- * reader with a write side effect would rewrite `$HOME` on a `--help`. The next
35
- * `writePreferences` lands v3.
36
- *
37
- * Note the consequence: a v3 file read by an older namzu reports `needs-repick`
38
- * rather than silently losing the tail, which is the safe direction.
39
- */
40
- import { randomBytes } from 'node:crypto';
41
- import { chmodSync, mkdirSync, readFileSync, renameSync, writeFileSync } from 'node:fs';
42
- import { dirname, join } from 'node:path';
43
- import { namzuHomePath } from '../state/home.js';
44
- import { PROVIDER_REGISTRY, unsupportedProviderMessage } from './registry.js';
45
- const FILE_MODE = 0o600;
46
- const DIR_MODE = 0o700;
47
- export const PREFERENCES_FILE_VERSION = 3;
48
- /**
49
- * How a member is named to the operator, by position.
50
- *
51
- * One function because three surfaces say it — validation, the doctor listing
52
- * and the capability refusal — and a chain member called `fallback #1` in one
53
- * message and `fallback 1` in the next reads as two different things.
54
- */
55
- export function chainPositionName(index) {
56
- return index === 0 ? 'primary provider' : `fallback #${index}`;
57
- }
58
- export class PreferencesError extends Error {
59
- constructor(message) {
60
- super(message);
61
- this.name = 'PreferencesError';
62
- }
63
- }
64
- /**
65
- * The member that actually runs.
66
- *
67
- * A helper rather than `prefs.providers[0]` at each call site: the chain is
68
- * guaranteed non-empty by validation, and every reader repeating an index
69
- * lookup plus a non-null assertion would be four places to get that wrong.
70
- */
71
- export function primaryProvider(prefs) {
72
- // Optional-chained rather than indexed: a caller handing over an object of
73
- // the old shape is a real case (a stale test fixture did exactly that), and
74
- // a `TypeError: cannot read '0' of undefined` names neither the field nor
75
- // the fix, while the error below names both.
76
- const first = prefs.providers?.[0];
77
- if (!first) {
78
- // Unreachable through readPreferences/writePreferences, both of which
79
- // refuse an empty chain. Reachable only from a hand-built object, and
80
- // silently returning a placeholder there would put the caller on a
81
- // provider nobody chose.
82
- throw new PreferencesError('preferences.providers is empty — no provider to run');
83
- }
84
- return first;
85
- }
86
- export function preferencesPath(home) {
87
- return join(namzuHomePath(home), 'preferences.json');
88
- }
89
- export function readPreferences(home) {
90
- const path = preferencesPath(home);
91
- let raw;
92
- try {
93
- raw = readFileSync(path, 'utf8');
94
- }
95
- catch (err) {
96
- if (err.code === 'ENOENT')
97
- return { status: 'missing' };
98
- throw new PreferencesError(`could not read ${path}: ${err instanceof Error ? err.message : String(err)}`);
99
- }
100
- let parsed;
101
- try {
102
- parsed = JSON.parse(raw);
103
- }
104
- catch (err) {
105
- throw new PreferencesError(`${path} is not valid JSON: ${err instanceof Error ? err.message : String(err)}`);
106
- }
107
- if (typeof parsed !== 'object' || parsed === null) {
108
- throw new PreferencesError(`${path} top-level must be an object`);
109
- }
110
- const v = parsed;
111
- if (v.version === 1) {
112
- return {
113
- status: 'needs-repick',
114
- reason: 'preferences file uses an older schema (v1) — namzu now picks an LLM provider client directly. Please re-pick.',
115
- };
116
- }
117
- if (v.version === 2) {
118
- const migrated = migrateV2(parsed);
119
- if (!migrated) {
120
- throw new PreferencesError(`${path} has an unexpected shape for a v2 file`);
121
- }
122
- const invalid = describeInvalidChain(migrated.providers);
123
- if (invalid)
124
- return { status: 'needs-repick', reason: `${invalid} — please re-pick.` };
125
- return { status: 'ok', prefs: migrated };
126
- }
127
- if (v.version !== PREFERENCES_FILE_VERSION) {
128
- return {
129
- status: 'needs-repick',
130
- reason: `preferences file at unsupported version ${String(v.version)} — please re-pick.`,
131
- };
132
- }
133
- if (!isPreferences(parsed)) {
134
- throw new PreferencesError(`${path} has an unexpected shape`);
135
- }
136
- // Shape is right; the CONTENT may still name a provider that does not exist
137
- // or repeat a member. Reported as `needs-repick` with the offending member
138
- // named, not thrown: a bad chain is something the operator can fix by
139
- // picking again, and it is the tail this is really for — an unusable
140
- // fallback that only surfaces the day the primary goes down is the failure
141
- // this check exists to prevent.
142
- const invalid = describeInvalidChain(parsed.providers);
143
- if (invalid)
144
- return { status: 'needs-repick', reason: `${invalid} — please re-pick.` };
145
- return { status: 'ok', prefs: parsed };
146
- }
147
- export function writePreferences(prefs, home) {
148
- if (prefs.version !== PREFERENCES_FILE_VERSION) {
149
- throw new PreferencesError(`unsupported preferences version: ${String(prefs.version)} (expected ${PREFERENCES_FILE_VERSION})`);
150
- }
151
- if (!Array.isArray(prefs.providers) || prefs.providers.length === 0) {
152
- throw new PreferencesError('preferences.providers must list at least one provider');
153
- }
154
- const invalid = describeInvalidChain(prefs.providers);
155
- if (invalid)
156
- throw new PreferencesError(invalid);
157
- const path = preferencesPath(home);
158
- mkdirSync(dirname(path), { recursive: true, mode: DIR_MODE });
159
- const body = `${JSON.stringify(prefs, null, 2)}\n`;
160
- const tmp = `${path}.tmp.${process.pid}.${randomBytes(4).toString('hex')}`;
161
- writeFileSync(tmp, body, { mode: FILE_MODE });
162
- chmodSync(tmp, FILE_MODE);
163
- renameSync(tmp, path);
164
- }
165
- /**
166
- * A v2 file as a one-element chain, or null if it was not a well-formed v2.
167
- *
168
- * `model` is carried only when present, so a v2 file that never pinned a model
169
- * does not gain one.
170
- */
171
- function migrateV2(value) {
172
- const v = value;
173
- if (typeof v.provider !== 'string' || v.provider.length === 0)
174
- return null;
175
- if (v.model !== undefined && typeof v.model !== 'string')
176
- return null;
177
- if (!isSubagents(v.subagents))
178
- return null;
179
- const member = {
180
- id: v.provider,
181
- ...(typeof v.model === 'string' ? { model: v.model } : {}),
182
- };
183
- return {
184
- version: PREFERENCES_FILE_VERSION,
185
- providers: [member],
186
- ...(v.subagents !== undefined
187
- ? { subagents: v.subagents }
188
- : {}),
189
- };
190
- }
191
- /**
192
- * Why this chain is unusable, or null if it is fine.
193
- *
194
- * Every member is checked, not only the head. A chain exists to be fallen back
195
- * to, so a tail member naming a provider that does not exist is precisely as
196
- * broken as a bad head — it is just broken later, on the worst day.
197
- */
198
- function describeInvalidChain(members) {
199
- if (members.length === 0) {
200
- return 'preferences lists no providers';
201
- }
202
- const seen = new Set();
203
- for (const [index, member] of members.entries()) {
204
- const position = chainPositionName(index);
205
- if (!(member.id in PROVIDER_REGISTRY)) {
206
- return `${position} "${member.id}" is not a provider namzu knows (known: ${Object.keys(PROVIDER_REGISTRY).join(', ')})`;
207
- }
208
- // Unbuildable PRIMARY only, and the asymmetry with the check above is
209
- // deliberate rather than an oversight about the tail.
210
- //
211
- // An unknown id breaks a chain wherever it sits, so that one is checked
212
- // everywhere. An unbuildable one does not: a fallback naming it is
213
- // dropped from the chain at launch with a notice, and the session runs
214
- // on the primary the operator has. Refusing the whole file for it would
215
- // take a working session away over a spare — the opposite of the trade
216
- // the notice already makes.
217
- //
218
- // A primary is the other case entirely, and refusing HERE rather than at
219
- // construction is the whole point. Read time returns `needs-repick`,
220
- // which puts the operator in the picker with this sentence printed above
221
- // it. Construction time returns an empty session, which sets the
222
- // `unhealthy` phase — a disabled composer where `/model` cannot be typed
223
- // — so the old refusal told an operator to pick another provider on the
224
- // one screen that will not let them. A refusal whose advice cannot be
225
- // followed is not a refusal; it is a dead end wearing one.
226
- if (index === 0 && !PROVIDER_REGISTRY[member.id].constructible) {
227
- return unsupportedProviderMessage(member.id);
228
- }
229
- // Compared as the pair the operator WROTE, not against the resolved
230
- // default model. Resolving would make a file that was valid yesterday
231
- // invalid the day a registry default changes, which is a config that
232
- // breaks on upgrade. Two entries for one provider with different models
233
- // stay legitimate: falling back from a large model to a small one on the
234
- // same provider is a real chain.
235
- const key = JSON.stringify([member.id, member.model ?? null]);
236
- if (seen.has(key)) {
237
- const shown = member.model ? `${member.id} (${member.model})` : member.id;
238
- return `${position} repeats "${shown}", which is already earlier in the chain — a provider cannot be its own fallback`;
239
- }
240
- seen.add(key);
241
- }
242
- return null;
243
- }
244
- function isSubagents(value) {
245
- if (value === undefined)
246
- return true;
247
- if (typeof value !== 'object' || value === null)
248
- return false;
249
- const sa = value;
250
- if (!Array.isArray(sa.active))
251
- return false;
252
- for (const item of sa.active) {
253
- if (typeof item !== 'string')
254
- return false;
255
- }
256
- return true;
257
- }
258
- function isProviderChoice(value) {
259
- if (typeof value !== 'object' || value === null)
260
- return false;
261
- const v = value;
262
- if (typeof v.id !== 'string' || v.id.length === 0)
263
- return false;
264
- if (v.model !== undefined && typeof v.model !== 'string')
265
- return false;
266
- return true;
267
- }
268
- function isPreferences(value) {
269
- if (typeof value !== 'object' || value === null)
270
- return false;
271
- const v = value;
272
- if (v.version !== PREFERENCES_FILE_VERSION)
273
- return false;
274
- if (!Array.isArray(v.providers))
275
- return false;
276
- for (const member of v.providers) {
277
- if (!isProviderChoice(member))
278
- return false;
279
- }
280
- if (v.allowCapabilityMismatch !== undefined && typeof v.allowCapabilityMismatch !== 'boolean') {
281
- return false;
282
- }
283
- if (!isSubagents(v.subagents))
284
- return false;
285
- return true;
286
- }
287
- //# sourceMappingURL=preferences.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"preferences.js","sourceRoot":"","sources":["../../../src/integrations/providers/preferences.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AACzC,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,YAAY,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AACvF,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAEzC,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAChD,OAAO,EAAE,iBAAiB,EAAmB,0BAA0B,EAAE,MAAM,eAAe,CAAA;AAE9F,MAAM,SAAS,GAAG,KAAK,CAAA;AACvB,MAAM,QAAQ,GAAG,KAAK,CAAA;AACtB,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAU,CAAA;AAyClD;;;;;;GAMG;AACH,MAAM,UAAU,iBAAiB,CAAC,KAAa;IAC9C,OAAO,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,aAAa,KAAK,EAAE,CAAA;AAC/D,CAAC;AAOD,MAAM,OAAO,gBAAiB,SAAQ,KAAK;IAC1C,YAAY,OAAe;QAC1B,KAAK,CAAC,OAAO,CAAC,CAAA;QACd,IAAI,CAAC,IAAI,GAAG,kBAAkB,CAAA;IAC/B,CAAC;CACD;AAED;;;;;;GAMG;AACH,MAAM,UAAU,eAAe,CAAC,KAAkB;IACjD,2EAA2E;IAC3E,4EAA4E;IAC5E,0EAA0E;IAC1E,6CAA6C;IAC7C,MAAM,KAAK,GAAG,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,CAAA;IAClC,IAAI,CAAC,KAAK,EAAE,CAAC;QACZ,sEAAsE;QACtE,sEAAsE;QACtE,mEAAmE;QACnE,yBAAyB;QACzB,MAAM,IAAI,gBAAgB,CAAC,qDAAqD,CAAC,CAAA;IAClF,CAAC;IACD,OAAO,KAAK,CAAA;AACb,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,IAAa;IAC5C,OAAO,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,kBAAkB,CAAC,CAAA;AACrD,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,IAAa;IAC5C,MAAM,IAAI,GAAG,eAAe,CAAC,IAAI,CAAC,CAAA;IAClC,IAAI,GAAW,CAAA;IACf,IAAI,CAAC;QACJ,GAAG,GAAG,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;IACjC,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACd,IAAK,GAA6B,CAAC,IAAI,KAAK,QAAQ;YAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,CAAA;QAClF,MAAM,IAAI,gBAAgB,CACzB,kBAAkB,IAAI,KAAK,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAC7E,CAAA;IACF,CAAC;IACD,IAAI,MAAe,CAAA;IACnB,IAAI,CAAC;QACJ,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IACzB,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACd,MAAM,IAAI,gBAAgB,CACzB,GAAG,IAAI,uBAAuB,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAChF,CAAA;IACF,CAAC;IACD,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;QACnD,MAAM,IAAI,gBAAgB,CAAC,GAAG,IAAI,8BAA8B,CAAC,CAAA;IAClE,CAAC;IACD,MAAM,CAAC,GAAG,MAA+B,CAAA;IACzC,IAAI,CAAC,CAAC,OAAO,KAAK,CAAC,EAAE,CAAC;QACrB,OAAO;YACN,MAAM,EAAE,cAAc;YACtB,MAAM,EACL,+GAA+G;SAChH,CAAA;IACF,CAAC;IACD,IAAI,CAAC,CAAC,OAAO,KAAK,CAAC,EAAE,CAAC;QACrB,MAAM,QAAQ,GAAG,SAAS,CAAC,MAAM,CAAC,CAAA;QAClC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACf,MAAM,IAAI,gBAAgB,CAAC,GAAG,IAAI,wCAAwC,CAAC,CAAA;QAC5E,CAAC;QACD,MAAM,OAAO,GAAG,oBAAoB,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAA;QACxD,IAAI,OAAO;YAAE,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,GAAG,OAAO,oBAAoB,EAAE,CAAA;QACtF,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAA;IACzC,CAAC;IACD,IAAI,CAAC,CAAC,OAAO,KAAK,wBAAwB,EAAE,CAAC;QAC5C,OAAO;YACN,MAAM,EAAE,cAAc;YACtB,MAAM,EAAE,2CAA2C,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,oBAAoB;SACxF,CAAA;IACF,CAAC;IACD,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE,CAAC;QAC5B,MAAM,IAAI,gBAAgB,CAAC,GAAG,IAAI,0BAA0B,CAAC,CAAA;IAC9D,CAAC;IACD,4EAA4E;IAC5E,2EAA2E;IAC3E,sEAAsE;IACtE,qEAAqE;IACrE,2EAA2E;IAC3E,gCAAgC;IAChC,MAAM,OAAO,GAAG,oBAAoB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAA;IACtD,IAAI,OAAO;QAAE,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,GAAG,OAAO,oBAAoB,EAAE,CAAA;IACtF,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,CAAA;AACvC,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,KAAkB,EAAE,IAAa;IACjE,IAAI,KAAK,CAAC,OAAO,KAAK,wBAAwB,EAAE,CAAC;QAChD,MAAM,IAAI,gBAAgB,CACzB,oCAAoC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,cAAc,wBAAwB,GAAG,CAClG,CAAA;IACF,CAAC;IACD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,KAAK,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACrE,MAAM,IAAI,gBAAgB,CAAC,uDAAuD,CAAC,CAAA;IACpF,CAAC;IACD,MAAM,OAAO,GAAG,oBAAoB,CAAC,KAAK,CAAC,SAAS,CAAC,CAAA;IACrD,IAAI,OAAO;QAAE,MAAM,IAAI,gBAAgB,CAAC,OAAO,CAAC,CAAA;IAEhD,MAAM,IAAI,GAAG,eAAe,CAAC,IAAI,CAAC,CAAA;IAClC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAA;IAC7D,MAAM,IAAI,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAA;IAClD,MAAM,GAAG,GAAG,GAAG,IAAI,QAAQ,OAAO,CAAC,GAAG,IAAI,WAAW,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAA;IAC1E,aAAa,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAA;IAC7C,SAAS,CAAC,GAAG,EAAE,SAAS,CAAC,CAAA;IACzB,UAAU,CAAC,GAAG,EAAE,IAAI,CAAC,CAAA;AACtB,CAAC;AAED;;;;;GAKG;AACH,SAAS,SAAS,CAAC,KAAc;IAChC,MAAM,CAAC,GAAG,KAAgC,CAAA;IAC1C,IAAI,OAAO,CAAC,CAAC,QAAQ,KAAK,QAAQ,IAAI,CAAC,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAA;IAC1E,IAAI,CAAC,CAAC,KAAK,KAAK,SAAS,IAAI,OAAO,CAAC,CAAC,KAAK,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAA;IACrE,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC;QAAE,OAAO,IAAI,CAAA;IAC1C,MAAM,MAAM,GAAmB;QAC9B,EAAE,EAAE,CAAC,CAAC,QAAsB;QAC5B,GAAG,CAAC,OAAO,CAAC,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC1D,CAAA;IACD,OAAO;QACN,OAAO,EAAE,wBAAwB;QACjC,SAAS,EAAE,CAAC,MAAM,CAAC;QACnB,GAAG,CAAC,CAAC,CAAC,SAAS,KAAK,SAAS;YAC5B,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,SAAmD,EAAE;YACtE,CAAC,CAAC,EAAE,CAAC;KACN,CAAA;AACF,CAAC;AAED;;;;;;GAMG;AACH,SAAS,oBAAoB,CAAC,OAAkC;IAC/D,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO,gCAAgC,CAAA;IACxC,CAAC;IACD,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAA;IAC9B,KAAK,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC;QACjD,MAAM,QAAQ,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAA;QACzC,IAAI,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,iBAAiB,CAAC,EAAE,CAAC;YACvC,OAAO,GAAG,QAAQ,KAAK,MAAM,CAAC,EAAE,2CAA2C,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAA;QACxH,CAAC;QACD,sEAAsE;QACtE,sDAAsD;QACtD,EAAE;QACF,wEAAwE;QACxE,mEAAmE;QACnE,uEAAuE;QACvE,wEAAwE;QACxE,uEAAuE;QACvE,4BAA4B;QAC5B,EAAE;QACF,yEAAyE;QACzE,qEAAqE;QACrE,yEAAyE;QACzE,iEAAiE;QACjE,yEAAyE;QACzE,wEAAwE;QACxE,sEAAsE;QACtE,2DAA2D;QAC3D,IAAI,KAAK,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,aAAa,EAAE,CAAC;YAChE,OAAO,0BAA0B,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;QAC7C,CAAC;QACD,oEAAoE;QACpE,sEAAsE;QACtE,qEAAqE;QACrE,wEAAwE;QACxE,yEAAyE;QACzE,iCAAiC;QACjC,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,CAAA;QAC7D,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YACnB,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,EAAE,KAAK,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAA;YACzE,OAAO,GAAG,QAAQ,aAAa,KAAK,kFAAkF,CAAA;QACvH,CAAC;QACD,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;IACd,CAAC;IACD,OAAO,IAAI,CAAA;AACZ,CAAC;AAED,SAAS,WAAW,CAAC,KAAc;IAClC,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,IAAI,CAAA;IACpC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,KAAK,CAAA;IAC7D,MAAM,EAAE,GAAG,KAAgC,CAAA;IAC3C,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,MAAM,CAAC;QAAE,OAAO,KAAK,CAAA;IAC3C,KAAK,MAAM,IAAI,IAAI,EAAE,CAAC,MAAM,EAAE,CAAC;QAC9B,IAAI,OAAO,IAAI,KAAK,QAAQ;YAAE,OAAO,KAAK,CAAA;IAC3C,CAAC;IACD,OAAO,IAAI,CAAA;AACZ,CAAC;AAED,SAAS,gBAAgB,CAAC,KAAc;IACvC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,KAAK,CAAA;IAC7D,MAAM,CAAC,GAAG,KAAgC,CAAA;IAC1C,IAAI,OAAO,CAAC,CAAC,EAAE,KAAK,QAAQ,IAAI,CAAC,CAAC,EAAE,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,KAAK,CAAA;IAC/D,IAAI,CAAC,CAAC,KAAK,KAAK,SAAS,IAAI,OAAO,CAAC,CAAC,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAA;IACtE,OAAO,IAAI,CAAA;AACZ,CAAC;AAED,SAAS,aAAa,CAAC,KAAc;IACpC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,KAAK,CAAA;IAC7D,MAAM,CAAC,GAAG,KAAgC,CAAA;IAC1C,IAAI,CAAC,CAAC,OAAO,KAAK,wBAAwB;QAAE,OAAO,KAAK,CAAA;IACxD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;QAAE,OAAO,KAAK,CAAA;IAC7C,KAAK,MAAM,MAAM,IAAI,CAAC,CAAC,SAAS,EAAE,CAAC;QAClC,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC;YAAE,OAAO,KAAK,CAAA;IAC5C,CAAC;IACD,IAAI,CAAC,CAAC,uBAAuB,KAAK,SAAS,IAAI,OAAO,CAAC,CAAC,uBAAuB,KAAK,SAAS,EAAE,CAAC;QAC/F,OAAO,KAAK,CAAA;IACb,CAAC;IACD,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC;QAAE,OAAO,KAAK,CAAA;IAC3C,OAAO,IAAI,CAAA;AACZ,CAAC"}