@namzu/cli 34.1.1 → 36.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1306) hide show
  1. package/CHANGELOG.md +800 -0
  2. package/README.md +160 -394
  3. package/assets/pal-blender-mcp.py +123 -0
  4. package/assets/pal-godot-mcp-pin.json +135 -0
  5. package/assets/pal-godot-mcp.cjs +418 -0
  6. package/dist/bin-main.d.ts +3 -0
  7. package/dist/bin-main.d.ts.map +1 -0
  8. package/dist/bin.d.ts +2 -1
  9. package/dist/bin.d.ts.map +1 -1
  10. package/dist/bin.js +85 -23
  11. package/dist/bin.js.map +6 -1
  12. package/dist/boot-narrative.d.ts +16 -0
  13. package/dist/boot-narrative.d.ts.map +1 -0
  14. package/dist/checkpoints/manifest.d.ts +107 -0
  15. package/dist/checkpoints/manifest.d.ts.map +1 -0
  16. package/dist/checkpoints/store.d.ts +280 -40
  17. package/dist/checkpoints/store.d.ts.map +1 -1
  18. package/dist/checkpoints/undo-plan.d.ts +83 -0
  19. package/dist/checkpoints/undo-plan.d.ts.map +1 -0
  20. package/dist/checkpoints/wrap.d.ts +4 -0
  21. package/dist/checkpoints/wrap.d.ts.map +1 -1
  22. package/dist/chunks/acp-BOSEA4R3.js +13448 -0
  23. package/dist/chunks/acp-BOSEA4R3.js.map +6 -0
  24. package/dist/chunks/activity-command-ACS7KL3C.js +262 -0
  25. package/dist/chunks/activity-command-ACS7KL3C.js.map +6 -0
  26. package/dist/chunks/add-DLS54YKS.js +712 -0
  27. package/dist/chunks/add-DLS54YKS.js.map +6 -0
  28. package/dist/chunks/agent-GV3DWYQC.js +87 -0
  29. package/dist/chunks/agent-GV3DWYQC.js.map +6 -0
  30. package/dist/chunks/agent-session-7VE6GJJH.js +46 -0
  31. package/dist/chunks/agent-session-7VE6GJJH.js.map +6 -0
  32. package/dist/chunks/archive-6ZENIEBP.js +84 -0
  33. package/dist/chunks/archive-6ZENIEBP.js.map +6 -0
  34. package/dist/chunks/bin-main-NFFT5ZIU.js +126 -0
  35. package/dist/chunks/bin-main-NFFT5ZIU.js.map +6 -0
  36. package/dist/chunks/browser-VT2U6NG2.js +31 -0
  37. package/dist/chunks/browser-VT2U6NG2.js.map +6 -0
  38. package/dist/chunks/chat-UNYVLDFL.js +101 -0
  39. package/dist/chunks/chat-UNYVLDFL.js.map +6 -0
  40. package/dist/chunks/chunk-2IL6OG3X.js +311 -0
  41. package/dist/chunks/chunk-2IL6OG3X.js.map +6 -0
  42. package/dist/chunks/chunk-2RBYHHLM.js +319 -0
  43. package/dist/chunks/chunk-2RBYHHLM.js.map +6 -0
  44. package/dist/chunks/chunk-42ZK2AH4.js +71 -0
  45. package/dist/chunks/chunk-42ZK2AH4.js.map +6 -0
  46. package/dist/chunks/chunk-5PQVJBIO.js +168 -0
  47. package/dist/chunks/chunk-5PQVJBIO.js.map +6 -0
  48. package/dist/chunks/chunk-6CPT2ZBS.js +75 -0
  49. package/dist/chunks/chunk-6CPT2ZBS.js.map +6 -0
  50. package/dist/chunks/chunk-6LLJQ3KY.js +225 -0
  51. package/dist/chunks/chunk-6LLJQ3KY.js.map +6 -0
  52. package/dist/chunks/chunk-6YFJDVGA.js +161 -0
  53. package/dist/chunks/chunk-6YFJDVGA.js.map +6 -0
  54. package/dist/chunks/chunk-6YG7D7U4.js +159 -0
  55. package/dist/chunks/chunk-6YG7D7U4.js.map +6 -0
  56. package/dist/chunks/chunk-6ZPODOJN.js +828 -0
  57. package/dist/chunks/chunk-6ZPODOJN.js.map +6 -0
  58. package/dist/chunks/chunk-76FLAFCG.js +51 -0
  59. package/dist/chunks/chunk-76FLAFCG.js.map +6 -0
  60. package/dist/chunks/chunk-7HCPD673.js +25326 -0
  61. package/dist/chunks/chunk-7HCPD673.js.map +6 -0
  62. package/dist/chunks/chunk-7KWGR2YA.js +257 -0
  63. package/dist/chunks/chunk-7KWGR2YA.js.map +6 -0
  64. package/dist/chunks/chunk-A22MBIYU.js +42 -0
  65. package/dist/chunks/chunk-A22MBIYU.js.map +6 -0
  66. package/dist/chunks/chunk-AHIDYIRB.js +329 -0
  67. package/dist/chunks/chunk-AHIDYIRB.js.map +6 -0
  68. package/dist/chunks/chunk-AK2U3N2A.js +31 -0
  69. package/dist/chunks/chunk-AK2U3N2A.js.map +6 -0
  70. package/dist/chunks/chunk-AKKRZTPB.js +283 -0
  71. package/dist/chunks/chunk-AKKRZTPB.js.map +6 -0
  72. package/dist/chunks/chunk-BCZR2B3Y.js +97 -0
  73. package/dist/chunks/chunk-BCZR2B3Y.js.map +6 -0
  74. package/dist/chunks/chunk-CHIEVVQ2.js +32 -0
  75. package/dist/chunks/chunk-CHIEVVQ2.js.map +6 -0
  76. package/dist/chunks/chunk-D67YBUO3.js +110 -0
  77. package/dist/chunks/chunk-D67YBUO3.js.map +6 -0
  78. package/dist/chunks/chunk-DIHEHK7K.js +765 -0
  79. package/dist/chunks/chunk-DIHEHK7K.js.map +6 -0
  80. package/dist/chunks/chunk-E5VLANCO.js +101 -0
  81. package/dist/chunks/chunk-E5VLANCO.js.map +6 -0
  82. package/dist/chunks/chunk-EEDZOGV4.js +47 -0
  83. package/dist/chunks/chunk-EEDZOGV4.js.map +6 -0
  84. package/dist/chunks/chunk-ENGNEELC.js +271 -0
  85. package/dist/chunks/chunk-ENGNEELC.js.map +6 -0
  86. package/dist/chunks/chunk-EVY4MVRE.js +74 -0
  87. package/dist/chunks/chunk-EVY4MVRE.js.map +6 -0
  88. package/dist/chunks/chunk-FJNDNNNQ.js +115 -0
  89. package/dist/chunks/chunk-FJNDNNNQ.js.map +6 -0
  90. package/dist/chunks/chunk-FOFGMP7O.js +20 -0
  91. package/dist/chunks/chunk-FOFGMP7O.js.map +6 -0
  92. package/dist/chunks/chunk-FTMTO72X.js +95 -0
  93. package/dist/chunks/chunk-FTMTO72X.js.map +6 -0
  94. package/dist/chunks/chunk-GIXSS6KW.js +2228 -0
  95. package/dist/chunks/chunk-GIXSS6KW.js.map +6 -0
  96. package/dist/chunks/chunk-GNBMKISG.js +19 -0
  97. package/dist/chunks/chunk-GNBMKISG.js.map +6 -0
  98. package/dist/chunks/chunk-GWQEMJFS.js +28 -0
  99. package/dist/chunks/chunk-GWQEMJFS.js.map +6 -0
  100. package/dist/chunks/chunk-H6B6AROX.js +151 -0
  101. package/dist/chunks/chunk-H6B6AROX.js.map +6 -0
  102. package/dist/chunks/chunk-HE7WUOX2.js +26 -0
  103. package/dist/chunks/chunk-HE7WUOX2.js.map +6 -0
  104. package/dist/chunks/chunk-HZBKWL42.js +303 -0
  105. package/dist/chunks/chunk-HZBKWL42.js.map +6 -0
  106. package/dist/chunks/chunk-I7HQR6ET.js +75 -0
  107. package/dist/chunks/chunk-I7HQR6ET.js.map +6 -0
  108. package/dist/chunks/chunk-IJEB77SH.js +648 -0
  109. package/dist/chunks/chunk-IJEB77SH.js.map +6 -0
  110. package/dist/chunks/chunk-JNPDWME5.js +675 -0
  111. package/dist/chunks/chunk-JNPDWME5.js.map +6 -0
  112. package/dist/chunks/chunk-JORONMD3.js +18 -0
  113. package/dist/chunks/chunk-JORONMD3.js.map +6 -0
  114. package/dist/chunks/chunk-JV3LONAU.js +76 -0
  115. package/dist/chunks/chunk-JV3LONAU.js.map +6 -0
  116. package/dist/chunks/chunk-K5HARZ7G.js +82516 -0
  117. package/dist/chunks/chunk-K5HARZ7G.js.map +6 -0
  118. package/dist/chunks/chunk-KONYGNG6.js +7661 -0
  119. package/dist/chunks/chunk-KONYGNG6.js.map +6 -0
  120. package/dist/chunks/chunk-LXB3S4IC.js +19 -0
  121. package/dist/chunks/chunk-LXB3S4IC.js.map +6 -0
  122. package/dist/chunks/chunk-M3IAMIBJ.js +661 -0
  123. package/dist/chunks/chunk-M3IAMIBJ.js.map +6 -0
  124. package/dist/chunks/chunk-MH6KUKVV.js +1142 -0
  125. package/dist/chunks/chunk-MH6KUKVV.js.map +6 -0
  126. package/dist/chunks/chunk-MS3IYQ72.js +1479 -0
  127. package/dist/chunks/chunk-MS3IYQ72.js.map +6 -0
  128. package/dist/chunks/chunk-MZP6SH3M.js +3497 -0
  129. package/dist/chunks/chunk-MZP6SH3M.js.map +6 -0
  130. package/dist/chunks/chunk-N3ZEXVSS.js +76 -0
  131. package/dist/chunks/chunk-N3ZEXVSS.js.map +6 -0
  132. package/dist/chunks/chunk-N6SR54VC.js +207 -0
  133. package/dist/chunks/chunk-N6SR54VC.js.map +6 -0
  134. package/dist/chunks/chunk-NADQQMMG.js +46 -0
  135. package/dist/chunks/chunk-NADQQMMG.js.map +6 -0
  136. package/dist/chunks/chunk-NBH52WHS.js +247 -0
  137. package/dist/chunks/chunk-NBH52WHS.js.map +6 -0
  138. package/dist/chunks/chunk-NICLKFBG.js +109 -0
  139. package/dist/chunks/chunk-NICLKFBG.js.map +6 -0
  140. package/dist/chunks/chunk-NIPHHZ5G.js +283 -0
  141. package/dist/chunks/chunk-NIPHHZ5G.js.map +6 -0
  142. package/dist/chunks/chunk-NQT244I2.js +517 -0
  143. package/dist/chunks/chunk-NQT244I2.js.map +6 -0
  144. package/dist/chunks/chunk-NUGPLXVK.js +228 -0
  145. package/dist/chunks/chunk-NUGPLXVK.js.map +6 -0
  146. package/dist/chunks/chunk-OEW7CJKK.js +140 -0
  147. package/dist/chunks/chunk-OEW7CJKK.js.map +6 -0
  148. package/dist/chunks/chunk-OH6TB27S.js +111 -0
  149. package/dist/chunks/chunk-OH6TB27S.js.map +6 -0
  150. package/dist/chunks/chunk-OWH6QQY2.js +1858 -0
  151. package/dist/chunks/chunk-OWH6QQY2.js.map +6 -0
  152. package/dist/chunks/chunk-OWXJOD4H.js +773 -0
  153. package/dist/chunks/chunk-OWXJOD4H.js.map +6 -0
  154. package/dist/chunks/chunk-PT537V7B.js +787 -0
  155. package/dist/chunks/chunk-PT537V7B.js.map +6 -0
  156. package/dist/chunks/chunk-QEQZFG2X.js +106 -0
  157. package/dist/chunks/chunk-QEQZFG2X.js.map +6 -0
  158. package/dist/chunks/chunk-QL4O4UGZ.js +245 -0
  159. package/dist/chunks/chunk-QL4O4UGZ.js.map +6 -0
  160. package/dist/chunks/chunk-QL54XCF4.js +73 -0
  161. package/dist/chunks/chunk-QL54XCF4.js.map +6 -0
  162. package/dist/chunks/chunk-SB6UD3ED.js +1355 -0
  163. package/dist/chunks/chunk-SB6UD3ED.js.map +6 -0
  164. package/dist/chunks/chunk-SGGRGKGV.js +34 -0
  165. package/dist/chunks/chunk-SGGRGKGV.js.map +6 -0
  166. package/dist/chunks/chunk-SKKWMMFP.js +474 -0
  167. package/dist/chunks/chunk-SKKWMMFP.js.map +6 -0
  168. package/dist/chunks/chunk-SMIDV4KH.js +171 -0
  169. package/dist/chunks/chunk-SMIDV4KH.js.map +6 -0
  170. package/dist/chunks/chunk-T2VUTAHB.js +46 -0
  171. package/dist/chunks/chunk-T2VUTAHB.js.map +6 -0
  172. package/dist/chunks/chunk-T4SB6AAF.js +134 -0
  173. package/dist/chunks/chunk-T4SB6AAF.js.map +6 -0
  174. package/dist/chunks/chunk-TBIX6JRE.js +24 -0
  175. package/dist/chunks/chunk-TBIX6JRE.js.map +6 -0
  176. package/dist/chunks/chunk-THNCQJ33.js +11265 -0
  177. package/dist/chunks/chunk-THNCQJ33.js.map +6 -0
  178. package/dist/chunks/chunk-U56QFYGA.js +818 -0
  179. package/dist/chunks/chunk-U56QFYGA.js.map +6 -0
  180. package/dist/chunks/chunk-U6GZ7EW4.js +106 -0
  181. package/dist/chunks/chunk-U6GZ7EW4.js.map +6 -0
  182. package/dist/chunks/chunk-UDDSFIMB.js +1373 -0
  183. package/dist/chunks/chunk-UDDSFIMB.js.map +6 -0
  184. package/dist/chunks/chunk-UFHNXZL2.js +399 -0
  185. package/dist/chunks/chunk-UFHNXZL2.js.map +6 -0
  186. package/dist/chunks/chunk-US5ZFPAU.js +400 -0
  187. package/dist/chunks/chunk-US5ZFPAU.js.map +6 -0
  188. package/dist/chunks/chunk-VRL2WNQN.js +7534 -0
  189. package/dist/chunks/chunk-VRL2WNQN.js.map +6 -0
  190. package/dist/chunks/chunk-W3UQMRYA.js +380 -0
  191. package/dist/chunks/chunk-W3UQMRYA.js.map +6 -0
  192. package/dist/chunks/chunk-W5KGCUP3.js +11111 -0
  193. package/dist/chunks/chunk-W5KGCUP3.js.map +6 -0
  194. package/dist/chunks/chunk-WHODOMXA.js +132 -0
  195. package/dist/chunks/chunk-WHODOMXA.js.map +6 -0
  196. package/dist/chunks/chunk-WT6TFCPV.js +154 -0
  197. package/dist/chunks/chunk-WT6TFCPV.js.map +6 -0
  198. package/dist/chunks/chunk-WY2WUTFR.js +164 -0
  199. package/dist/chunks/chunk-WY2WUTFR.js.map +6 -0
  200. package/dist/chunks/chunk-XEUQN4JC.js +54 -0
  201. package/dist/chunks/chunk-XEUQN4JC.js.map +6 -0
  202. package/dist/chunks/chunk-Y7B67G22.js +26 -0
  203. package/dist/chunks/chunk-Y7B67G22.js.map +6 -0
  204. package/dist/chunks/chunk-YEMJX2DS.js +69 -0
  205. package/dist/chunks/chunk-YEMJX2DS.js.map +6 -0
  206. package/dist/chunks/chunk-YKLKHDZU.js +2953 -0
  207. package/dist/chunks/chunk-YKLKHDZU.js.map +6 -0
  208. package/dist/chunks/chunk-YQEWD2EN.js +127 -0
  209. package/dist/chunks/chunk-YQEWD2EN.js.map +6 -0
  210. package/dist/chunks/chunk-YYQJIECC.js +1439 -0
  211. package/dist/chunks/chunk-YYQJIECC.js.map +6 -0
  212. package/dist/chunks/chunk-ZKVZNOUS.js +106 -0
  213. package/dist/chunks/chunk-ZKVZNOUS.js.map +6 -0
  214. package/dist/chunks/chunk-ZPR4IMRT.js +36 -0
  215. package/dist/chunks/chunk-ZPR4IMRT.js.map +6 -0
  216. package/dist/chunks/chunk-ZWA2JRJV.js +45 -0
  217. package/dist/chunks/chunk-ZWA2JRJV.js.map +6 -0
  218. package/dist/chunks/cli-runtime-F4MBZ2UQ.js +129 -0
  219. package/dist/chunks/cli-runtime-F4MBZ2UQ.js.map +6 -0
  220. package/dist/chunks/commands-GMQGFTIY.js +21 -0
  221. package/dist/chunks/commands-GMQGFTIY.js.map +6 -0
  222. package/dist/chunks/computer-GXDY4H35.js +493 -0
  223. package/dist/chunks/computer-GXDY4H35.js.map +6 -0
  224. package/dist/chunks/crash-report-STOHSORG.js +21 -0
  225. package/dist/chunks/crash-report-STOHSORG.js.map +6 -0
  226. package/dist/chunks/devtools-LBE4PAQN.js +3851 -0
  227. package/dist/chunks/devtools-LBE4PAQN.js.map +6 -0
  228. package/dist/chunks/dist-3AF2X4S5.js +1339 -0
  229. package/dist/chunks/dist-3AF2X4S5.js.map +6 -0
  230. package/dist/chunks/dist-AZIMHV2B.js +514 -0
  231. package/dist/chunks/dist-AZIMHV2B.js.map +6 -0
  232. package/dist/chunks/dist-BGYRQ5BC.js +555 -0
  233. package/dist/chunks/dist-BGYRQ5BC.js.map +6 -0
  234. package/dist/chunks/dist-OTTZ7WVD.js +1415 -0
  235. package/dist/chunks/dist-OTTZ7WVD.js.map +6 -0
  236. package/dist/chunks/dist-R3I3ATSG.js +1018 -0
  237. package/dist/chunks/dist-R3I3ATSG.js.map +6 -0
  238. package/dist/chunks/dist-TXEKDBQO.js +40642 -0
  239. package/dist/chunks/dist-TXEKDBQO.js.map +6 -0
  240. package/dist/chunks/dist-XTWYQHHN.js +520 -0
  241. package/dist/chunks/dist-XTWYQHHN.js.map +6 -0
  242. package/dist/chunks/doctor-VXSB4Y4P.js +28 -0
  243. package/dist/chunks/doctor-VXSB4Y4P.js.map +6 -0
  244. package/dist/chunks/drain-DXVICQBR.js +471 -0
  245. package/dist/chunks/drain-DXVICQBR.js.map +6 -0
  246. package/dist/chunks/endpoint-M2DDENPP.js +15 -0
  247. package/dist/chunks/endpoint-M2DDENPP.js.map +6 -0
  248. package/dist/chunks/eval-BMJQXDKA.js +187 -0
  249. package/dist/chunks/eval-BMJQXDKA.js.map +6 -0
  250. package/dist/chunks/exec-3T5ESZPH.js +1284 -0
  251. package/dist/chunks/exec-3T5ESZPH.js.map +6 -0
  252. package/dist/chunks/home-ILHA7B6Z.js +16 -0
  253. package/dist/chunks/home-ILHA7B6Z.js.map +6 -0
  254. package/dist/chunks/host-queries-QCMWDZGS.js +152 -0
  255. package/dist/chunks/host-queries-QCMWDZGS.js.map +6 -0
  256. package/dist/chunks/lib-KXZZJJG2.js +2657 -0
  257. package/dist/chunks/lib-KXZZJJG2.js.map +6 -0
  258. package/dist/chunks/lifecycle-CB23VJI7.js +63 -0
  259. package/dist/chunks/lifecycle-CB23VJI7.js.map +6 -0
  260. package/dist/chunks/list-N6WXZBMD.js +293 -0
  261. package/dist/chunks/list-N6WXZBMD.js.map +6 -0
  262. package/dist/chunks/login-26NCG6EQ.js +29 -0
  263. package/dist/chunks/login-26NCG6EQ.js.map +6 -0
  264. package/dist/chunks/logs-V7SNM7LA.js +116 -0
  265. package/dist/chunks/logs-V7SNM7LA.js.map +6 -0
  266. package/dist/chunks/mcp-BTHCU5ZC.js +763 -0
  267. package/dist/chunks/mcp-BTHCU5ZC.js.map +6 -0
  268. package/dist/chunks/message-command-HMIOR52C.js +170 -0
  269. package/dist/chunks/message-command-HMIOR52C.js.map +6 -0
  270. package/dist/chunks/node-QB2FA2ZB.js +916 -0
  271. package/dist/chunks/node-QB2FA2ZB.js.map +6 -0
  272. package/dist/chunks/operator-tools-7LMWOHSN.js +115 -0
  273. package/dist/chunks/operator-tools-7LMWOHSN.js.map +6 -0
  274. package/dist/chunks/output-schema-XCONYVZ7.js +11 -0
  275. package/dist/chunks/output-schema-XCONYVZ7.js.map +6 -0
  276. package/dist/chunks/pal-YEUKHA6F.js +200 -0
  277. package/dist/chunks/pal-YEUKHA6F.js.map +6 -0
  278. package/dist/chunks/paths-DXYFKIJU.js +10 -0
  279. package/dist/chunks/paths-DXYFKIJU.js.map +6 -0
  280. package/dist/chunks/pica-WNHDDIFX.js +1736 -0
  281. package/dist/chunks/pica-WNHDDIFX.js.map +6 -0
  282. package/dist/chunks/providers-EI3FAKYB.js +160 -0
  283. package/dist/chunks/providers-EI3FAKYB.js.map +6 -0
  284. package/dist/chunks/resident-5ZY6OG6B.js +1314 -0
  285. package/dist/chunks/resident-5ZY6OG6B.js.map +6 -0
  286. package/dist/chunks/resume-command-ONYRZIIA.js +22 -0
  287. package/dist/chunks/resume-command-ONYRZIIA.js.map +6 -0
  288. package/dist/chunks/schedule-6JPEO4NR.js +143 -0
  289. package/dist/chunks/schedule-6JPEO4NR.js.map +6 -0
  290. package/dist/chunks/serve-S7UWNIR3.js +21 -0
  291. package/dist/chunks/serve-S7UWNIR3.js.map +6 -0
  292. package/dist/chunks/service-WSW3M6K5.js +1633 -0
  293. package/dist/chunks/service-WSW3M6K5.js.map +6 -0
  294. package/dist/chunks/session-step-2VZM3CCA.js +26 -0
  295. package/dist/chunks/session-step-2VZM3CCA.js.map +6 -0
  296. package/dist/chunks/skills-KAZJYGX5.js +282 -0
  297. package/dist/chunks/skills-KAZJYGX5.js.map +6 -0
  298. package/dist/chunks/state-263OUKQA.js +717 -0
  299. package/dist/chunks/state-263OUKQA.js.map +6 -0
  300. package/dist/chunks/store-3XLCJ7EL.js +42 -0
  301. package/dist/chunks/store-3XLCJ7EL.js.map +6 -0
  302. package/dist/chunks/store-KN65QI2M.js +82 -0
  303. package/dist/chunks/store-KN65QI2M.js.map +6 -0
  304. package/dist/chunks/store-X3TESBIN.js +34 -0
  305. package/dist/chunks/store-X3TESBIN.js.map +6 -0
  306. package/dist/chunks/tui-5MU7JBXX.js +56703 -0
  307. package/dist/chunks/tui-5MU7JBXX.js.map +6 -0
  308. package/dist/chunks/upgrade-BYM4MWBC.js +315 -0
  309. package/dist/chunks/upgrade-BYM4MWBC.js.map +6 -0
  310. package/dist/chunks/webapi-6HUHZUAH.js +2715 -0
  311. package/dist/chunks/webapi-6HUHZUAH.js.map +6 -0
  312. package/dist/chunks/worktree-K3ZIPXRM.js +116 -0
  313. package/dist/chunks/worktree-K3ZIPXRM.js.map +6 -0
  314. package/dist/cli-runtime.d.ts +19 -0
  315. package/dist/cli-runtime.d.ts.map +1 -0
  316. package/dist/cli.d.ts +0 -15
  317. package/dist/cli.d.ts.map +1 -1
  318. package/dist/commands/acp-harness.d.ts +64 -0
  319. package/dist/commands/acp-harness.d.ts.map +1 -0
  320. package/dist/commands/acp-provider-retry.d.ts +27 -0
  321. package/dist/commands/acp-provider-retry.d.ts.map +1 -0
  322. package/dist/commands/acp.d.ts +134 -3
  323. package/dist/commands/acp.d.ts.map +1 -1
  324. package/dist/commands/computer.d.ts +3 -0
  325. package/dist/commands/computer.d.ts.map +1 -0
  326. package/dist/commands/desktop-host-changes.d.ts +65 -0
  327. package/dist/commands/desktop-host-changes.d.ts.map +1 -0
  328. package/dist/commands/desktop-host-header.d.ts +30 -0
  329. package/dist/commands/desktop-host-header.d.ts.map +1 -0
  330. package/dist/commands/desktop-host.d.ts +354 -0
  331. package/dist/commands/desktop-host.d.ts.map +1 -0
  332. package/dist/commands/desktop-model-catalogue.d.ts +25 -0
  333. package/dist/commands/desktop-model-catalogue.d.ts.map +1 -0
  334. package/dist/commands/effort-levels.d.ts +3 -0
  335. package/dist/commands/effort-levels.d.ts.map +1 -0
  336. package/dist/commands/exec-flags.d.ts +4 -0
  337. package/dist/commands/exec-flags.d.ts.map +1 -1
  338. package/dist/commands/exec.d.ts.map +1 -1
  339. package/dist/commands/lazy.d.ts +20 -0
  340. package/dist/commands/lazy.d.ts.map +1 -0
  341. package/dist/commands/manifest.d.ts +33 -0
  342. package/dist/commands/manifest.d.ts.map +1 -0
  343. package/dist/commands/mcp.d.ts +3 -0
  344. package/dist/commands/mcp.d.ts.map +1 -1
  345. package/dist/commands/pal.d.ts +5 -0
  346. package/dist/commands/pal.d.ts.map +1 -0
  347. package/dist/commands/permission-preview.d.ts +38 -0
  348. package/dist/commands/permission-preview.d.ts.map +1 -0
  349. package/dist/commands/registry.d.ts +10 -0
  350. package/dist/commands/registry.d.ts.map +1 -1
  351. package/dist/commands/serve.d.ts +1 -12
  352. package/dist/commands/serve.d.ts.map +1 -1
  353. package/dist/commands/stdin.d.ts.map +1 -1
  354. package/dist/commands/upgrade.d.ts +14 -0
  355. package/dist/commands/upgrade.d.ts.map +1 -1
  356. package/dist/compile-cache-enable.d.ts +2 -0
  357. package/dist/compile-cache-enable.d.ts.map +1 -0
  358. package/dist/compile-cache.d.ts +53 -0
  359. package/dist/compile-cache.d.ts.map +1 -0
  360. package/dist/computer/bundle.d.ts +18 -0
  361. package/dist/computer/bundle.d.ts.map +1 -0
  362. package/dist/computer/run.d.ts +26 -0
  363. package/dist/computer/run.d.ts.map +1 -0
  364. package/dist/computer/sentences.d.ts +30 -0
  365. package/dist/computer/sentences.d.ts.map +1 -0
  366. package/dist/config/load.d.ts +10 -1
  367. package/dist/config/load.d.ts.map +1 -1
  368. package/dist/context/capabilities.d.ts +25 -2
  369. package/dist/context/capabilities.d.ts.map +1 -1
  370. package/dist/context/runtime-message.d.ts.map +1 -1
  371. package/dist/crash-report.d.ts +22 -0
  372. package/dist/crash-report.d.ts.map +1 -0
  373. package/dist/debug-requested.d.ts +7 -0
  374. package/dist/debug-requested.d.ts.map +1 -0
  375. package/dist/doctor/checks/credentials.d.ts.map +1 -1
  376. package/dist/exit-codes.d.ts +9 -1
  377. package/dist/exit-codes.d.ts.map +1 -1
  378. package/dist/index.js +105 -17
  379. package/dist/index.js.map +6 -1
  380. package/dist/integrations/harness/claude-adapter.d.ts +20 -0
  381. package/dist/integrations/harness/claude-adapter.d.ts.map +1 -0
  382. package/dist/integrations/harness/claude-protocol.d.ts +67 -0
  383. package/dist/integrations/harness/claude-protocol.d.ts.map +1 -0
  384. package/dist/integrations/harness/codex-adapter.d.ts +80 -0
  385. package/dist/integrations/harness/codex-adapter.d.ts.map +1 -0
  386. package/dist/integrations/harness/codex-protocol.d.ts +22 -0
  387. package/dist/integrations/harness/codex-protocol.d.ts.map +1 -0
  388. package/dist/integrations/harness/model-cache.d.ts +16 -0
  389. package/dist/integrations/harness/model-cache.d.ts.map +1 -0
  390. package/dist/integrations/harness/native-executable.d.ts +8 -0
  391. package/dist/integrations/harness/native-executable.d.ts.map +1 -0
  392. package/dist/integrations/harness/process.d.ts +25 -0
  393. package/dist/integrations/harness/process.d.ts.map +1 -0
  394. package/dist/integrations/mcp/servers.d.ts.map +1 -1
  395. package/dist/integrations/peers/runtime.d.ts +64 -0
  396. package/dist/integrations/peers/runtime.d.ts.map +1 -0
  397. package/dist/integrations/plugins/inventory.d.ts +27 -0
  398. package/dist/integrations/plugins/inventory.d.ts.map +1 -0
  399. package/dist/integrations/providers/composer-settings.d.ts +33 -0
  400. package/dist/integrations/providers/composer-settings.d.ts.map +1 -0
  401. package/dist/integrations/providers/connections.d.ts +37 -0
  402. package/dist/integrations/providers/connections.d.ts.map +1 -0
  403. package/dist/integrations/providers/credential-store.d.ts +35 -0
  404. package/dist/integrations/providers/credential-store.d.ts.map +1 -1
  405. package/dist/integrations/providers/discover.d.ts +27 -1
  406. package/dist/integrations/providers/discover.d.ts.map +1 -1
  407. package/dist/integrations/providers/index.d.ts +2 -2
  408. package/dist/integrations/providers/index.d.ts.map +1 -1
  409. package/dist/integrations/providers/picker-operation.d.ts +6 -0
  410. package/dist/integrations/providers/picker-operation.d.ts.map +1 -0
  411. package/dist/integrations/providers/setup.d.ts +16 -1
  412. package/dist/integrations/providers/setup.d.ts.map +1 -1
  413. package/dist/integrations/resident/runner-worker.js +190 -161
  414. package/dist/integrations/resident/runner-worker.js.map +6 -1
  415. package/dist/integrations/resident/session-step.d.ts.map +1 -1
  416. package/dist/integrations/sessions/display-title.d.ts +8 -0
  417. package/dist/integrations/sessions/display-title.d.ts.map +1 -1
  418. package/dist/integrations/sessions/store.d.ts +23 -9
  419. package/dist/integrations/sessions/store.d.ts.map +1 -1
  420. package/dist/integrations/sessions/task-context.d.ts +1 -1
  421. package/dist/integrations/sessions/task-context.d.ts.map +1 -1
  422. package/dist/integrations/sessions/transcript-export.d.ts.map +1 -1
  423. package/dist/integrations/subagents/activity.d.ts +9 -6
  424. package/dist/integrations/subagents/activity.d.ts.map +1 -1
  425. package/dist/integrations/subagents/operator-journal.d.ts +20 -0
  426. package/dist/integrations/subagents/operator-journal.d.ts.map +1 -0
  427. package/dist/integrations/subagents/runtime.d.ts +11 -0
  428. package/dist/integrations/subagents/runtime.d.ts.map +1 -1
  429. package/dist/integrations/trust/store.d.ts +14 -0
  430. package/dist/integrations/trust/store.d.ts.map +1 -1
  431. package/dist/integrations/web/search.d.ts +1 -1
  432. package/dist/pals/actions.d.ts +57 -0
  433. package/dist/pals/actions.d.ts.map +1 -0
  434. package/dist/pals/activity-command.d.ts +3 -0
  435. package/dist/pals/activity-command.d.ts.map +1 -0
  436. package/dist/pals/activity.d.ts +18 -0
  437. package/dist/pals/activity.d.ts.map +1 -0
  438. package/dist/pals/agent-session.d.ts +19 -0
  439. package/dist/pals/agent-session.d.ts.map +1 -0
  440. package/dist/pals/channel-actions.d.ts +5 -0
  441. package/dist/pals/channel-actions.d.ts.map +1 -0
  442. package/dist/pals/channel-local.d.ts +7 -0
  443. package/dist/pals/channel-local.d.ts.map +1 -0
  444. package/dist/pals/channel.d.ts +20 -0
  445. package/dist/pals/channel.d.ts.map +1 -0
  446. package/dist/pals/chat.d.ts +6 -0
  447. package/dist/pals/chat.d.ts.map +1 -0
  448. package/dist/pals/communication.d.ts +47 -0
  449. package/dist/pals/communication.d.ts.map +1 -0
  450. package/dist/pals/conversations.d.ts +26 -0
  451. package/dist/pals/conversations.d.ts.map +1 -0
  452. package/dist/pals/desktop-communication.d.ts +111 -0
  453. package/dist/pals/desktop-communication.d.ts.map +1 -0
  454. package/dist/pals/dispatch.d.ts +13 -0
  455. package/dist/pals/dispatch.d.ts.map +1 -0
  456. package/dist/pals/environment.d.ts +103 -0
  457. package/dist/pals/environment.d.ts.map +1 -0
  458. package/dist/pals/guest-mcp-transport.d.ts +28 -0
  459. package/dist/pals/guest-mcp-transport.d.ts.map +1 -0
  460. package/dist/pals/guest-mcp.d.ts +22 -0
  461. package/dist/pals/guest-mcp.d.ts.map +1 -0
  462. package/dist/pals/inbox-start.d.ts +35 -0
  463. package/dist/pals/inbox-start.d.ts.map +1 -0
  464. package/dist/pals/message-command.d.ts +3 -0
  465. package/dist/pals/message-command.d.ts.map +1 -0
  466. package/dist/pals/operator-tools.d.ts +23 -0
  467. package/dist/pals/operator-tools.d.ts.map +1 -0
  468. package/dist/pals/public-transcript.d.ts +4 -0
  469. package/dist/pals/public-transcript.d.ts.map +1 -0
  470. package/dist/pals/review.d.ts +16 -0
  471. package/dist/pals/review.d.ts.map +1 -0
  472. package/dist/pals/store.d.ts +16 -0
  473. package/dist/pals/store.d.ts.map +1 -0
  474. package/dist/pals/tui-session.d.ts +11 -0
  475. package/dist/pals/tui-session.d.ts.map +1 -0
  476. package/dist/permissions/mode-names.d.ts +2 -0
  477. package/dist/permissions/mode-names.d.ts.map +1 -0
  478. package/dist/resume-invocation.d.ts +1 -1
  479. package/dist/resume-invocation.d.ts.map +1 -1
  480. package/dist/resume-shell.d.ts +8 -0
  481. package/dist/resume-shell.d.ts.map +1 -0
  482. package/dist/schedule/build.d.ts +12 -3
  483. package/dist/schedule/build.d.ts.map +1 -1
  484. package/dist/schedule/commands/add.d.ts +1 -1
  485. package/dist/schedule/commands/add.d.ts.map +1 -1
  486. package/dist/schedule/commands/lifecycle.d.ts.map +1 -1
  487. package/dist/schedule/commands/list.d.ts +3 -1
  488. package/dist/schedule/commands/list.d.ts.map +1 -1
  489. package/dist/schedule/daemon/daemon.d.ts +2 -0
  490. package/dist/schedule/daemon/daemon.d.ts.map +1 -1
  491. package/dist/schedule/delivery.d.ts +66 -0
  492. package/dist/schedule/delivery.d.ts.map +1 -0
  493. package/dist/schedule/fire/fire.d.ts +1 -1
  494. package/dist/schedule/fire/fire.d.ts.map +1 -1
  495. package/dist/schedule/fire/run-script.d.ts +2 -2
  496. package/dist/schedule/fire/run-script.d.ts.map +1 -1
  497. package/dist/schedule/fire/script-report.d.ts +31 -0
  498. package/dist/schedule/fire/script-report.d.ts.map +1 -0
  499. package/dist/schedule/floor.d.ts +1 -1
  500. package/dist/schedule/floor.d.ts.map +1 -1
  501. package/dist/schedule/folder.d.ts +6 -0
  502. package/dist/schedule/folder.d.ts.map +1 -1
  503. package/dist/schedule/resume-command.d.ts +3 -3
  504. package/dist/schedule/resume-command.d.ts.map +1 -1
  505. package/dist/schedule/store/history.d.ts.map +1 -1
  506. package/dist/schedule/store/jobs.d.ts +6 -6
  507. package/dist/schedule/store/jobs.d.ts.map +1 -1
  508. package/dist/schedule/store/script-state.d.ts +31 -0
  509. package/dist/schedule/store/script-state.d.ts.map +1 -0
  510. package/dist/schedule/store/state.d.ts +4 -2
  511. package/dist/schedule/store/state.d.ts.map +1 -1
  512. package/dist/schedule/types.d.ts +61 -16
  513. package/dist/schedule/types.d.ts.map +1 -1
  514. package/dist/skills/store.d.ts.map +1 -1
  515. package/dist/terminal/host.d.ts +22 -0
  516. package/dist/terminal/host.d.ts.map +1 -0
  517. package/dist/terminal/manager.d.ts +124 -0
  518. package/dist/terminal/manager.d.ts.map +1 -0
  519. package/dist/terminal/protocol.d.ts +162 -0
  520. package/dist/terminal/protocol.d.ts.map +1 -0
  521. package/dist/terminal/pty.d.ts +85 -0
  522. package/dist/terminal/pty.d.ts.map +1 -0
  523. package/dist/terminal/ring.d.ts +23 -0
  524. package/dist/terminal/ring.d.ts.map +1 -0
  525. package/dist/terminal/screen.d.ts +31 -0
  526. package/dist/terminal/screen.d.ts.map +1 -0
  527. package/dist/termination-state.d.ts +19 -0
  528. package/dist/termination-state.d.ts.map +1 -0
  529. package/dist/termination.d.ts +2 -9
  530. package/dist/termination.d.ts.map +1 -1
  531. package/dist/tui/AgentExplorer.d.ts +4 -1
  532. package/dist/tui/AgentExplorer.d.ts.map +1 -1
  533. package/dist/tui/App.d.ts.map +1 -1
  534. package/dist/tui/BackgroundJobsPanel.d.ts +26 -0
  535. package/dist/tui/BackgroundJobsPanel.d.ts.map +1 -0
  536. package/dist/tui/BrandHeader.d.ts.map +1 -1
  537. package/dist/tui/ChildComposer.d.ts +22 -0
  538. package/dist/tui/ChildComposer.d.ts.map +1 -0
  539. package/dist/tui/ChoicePicker.d.ts.map +1 -1
  540. package/dist/tui/Composer.d.ts +25 -4
  541. package/dist/tui/Composer.d.ts.map +1 -1
  542. package/dist/tui/ComposerFrame.d.ts.map +1 -1
  543. package/dist/tui/CopyPicker.d.ts.map +1 -1
  544. package/dist/tui/EditPromptPicker.d.ts.map +1 -1
  545. package/dist/tui/EffortSlider.d.ts.map +1 -1
  546. package/dist/tui/LiveActivity.d.ts +7 -1
  547. package/dist/tui/LiveActivity.d.ts.map +1 -1
  548. package/dist/tui/Markdown.d.ts.map +1 -1
  549. package/dist/tui/PendingInputPanel.d.ts +34 -0
  550. package/dist/tui/PendingInputPanel.d.ts.map +1 -0
  551. package/dist/tui/PermissionOverlay.d.ts.map +1 -1
  552. package/dist/tui/Picker.d.ts.map +1 -1
  553. package/dist/tui/ProviderSetup.d.ts.map +1 -1
  554. package/dist/tui/ResumePicker.d.ts.map +1 -1
  555. package/dist/tui/SaveSkillOverlay.d.ts.map +1 -1
  556. package/dist/tui/ScheduleReviewOverlay.d.ts +1 -1
  557. package/dist/tui/ScheduleReviewOverlay.d.ts.map +1 -1
  558. package/dist/tui/StatusBar.d.ts +7 -1
  559. package/dist/tui/StatusBar.d.ts.map +1 -1
  560. package/dist/tui/StatusPanel.d.ts.map +1 -1
  561. package/dist/tui/TextPrompt.d.ts.map +1 -1
  562. package/dist/tui/ToolOutputViewer.d.ts.map +1 -1
  563. package/dist/tui/Transcript.d.ts.map +1 -1
  564. package/dist/tui/TrustPrompt.d.ts +8 -0
  565. package/dist/tui/TrustPrompt.d.ts.map +1 -1
  566. package/dist/tui/agent.d.ts +135 -6
  567. package/dist/tui/agent.d.ts.map +1 -1
  568. package/dist/tui/browser-notices.d.ts.map +1 -1
  569. package/dist/tui/capability-notice.d.ts +38 -0
  570. package/dist/tui/capability-notice.d.ts.map +1 -0
  571. package/dist/tui/console-input.d.ts +31 -0
  572. package/dist/tui/console-input.d.ts.map +1 -0
  573. package/dist/tui/conversation-evidence-view.d.ts.map +1 -1
  574. package/dist/tui/credential-entry.d.ts.map +1 -1
  575. package/dist/tui/exit-summary.d.ts +9 -1
  576. package/dist/tui/exit-summary.d.ts.map +1 -1
  577. package/dist/tui/external-editor.d.ts.map +1 -1
  578. package/dist/tui/index.d.ts.map +1 -1
  579. package/dist/tui/key-hints.d.ts +51 -0
  580. package/dist/tui/key-hints.d.ts.map +1 -0
  581. package/dist/tui/launch-settings.d.ts +34 -0
  582. package/dist/tui/launch-settings.d.ts.map +1 -0
  583. package/dist/tui/log-pane.d.ts.map +1 -1
  584. package/dist/tui/model-choices.d.ts +39 -1
  585. package/dist/tui/model-choices.d.ts.map +1 -1
  586. package/dist/tui/model-search.d.ts +4 -1
  587. package/dist/tui/model-search.d.ts.map +1 -1
  588. package/dist/tui/output-size-watch.d.ts +32 -0
  589. package/dist/tui/output-size-watch.d.ts.map +1 -0
  590. package/dist/tui/permission-review.d.ts.map +1 -1
  591. package/dist/tui/person-terms.d.ts +58 -0
  592. package/dist/tui/person-terms.d.ts.map +1 -0
  593. package/dist/tui/plain-failure.d.ts +27 -0
  594. package/dist/tui/plain-failure.d.ts.map +1 -0
  595. package/dist/tui/plain-interruption.d.ts +46 -0
  596. package/dist/tui/plain-interruption.d.ts.map +1 -0
  597. package/dist/tui/provider-list.d.ts.map +1 -1
  598. package/dist/tui/render-mode.d.ts +19 -0
  599. package/dist/tui/render-mode.d.ts.map +1 -0
  600. package/dist/tui/schedule/host-commands.d.ts +2 -9
  601. package/dist/tui/schedule/host-commands.d.ts.map +1 -1
  602. package/dist/tui/schedule/integration.d.ts +8 -0
  603. package/dist/tui/schedule/integration.d.ts.map +1 -1
  604. package/dist/tui/schedule/source-deliveries.d.ts +37 -0
  605. package/dist/tui/schedule/source-deliveries.d.ts.map +1 -0
  606. package/dist/tui/schedule/startup.d.ts.map +1 -1
  607. package/dist/tui/schedule/tool-host.d.ts +3 -1
  608. package/dist/tui/schedule/tool-host.d.ts.map +1 -1
  609. package/dist/tui/setup-text.d.ts +14 -0
  610. package/dist/tui/setup-text.d.ts.map +1 -0
  611. package/dist/tui/shell-escape.d.ts.map +1 -1
  612. package/dist/tui/skills/suggest-setting.d.ts.map +1 -1
  613. package/dist/tui/slashCommands.d.ts +9 -2
  614. package/dist/tui/slashCommands.d.ts.map +1 -1
  615. package/dist/tui/terminal-choice-text.d.ts +7 -0
  616. package/dist/tui/terminal-choice-text.d.ts.map +1 -1
  617. package/dist/tui/tidy-tool-output.d.ts +83 -0
  618. package/dist/tui/tidy-tool-output.d.ts.map +1 -0
  619. package/dist/tui/tool-presentation.d.ts +6 -0
  620. package/dist/tui/tool-presentation.d.ts.map +1 -0
  621. package/dist/tui/triggers/copy.d.ts.map +1 -1
  622. package/dist/tui/triggers/setting.d.ts.map +1 -1
  623. package/dist/tui/turn-interruption.d.ts +1 -1
  624. package/dist/tui/turn-interruption.d.ts.map +1 -1
  625. package/dist/tui/turn-limits-settings.d.ts +4 -4
  626. package/dist/tui/turn-limits-settings.d.ts.map +1 -1
  627. package/dist/tui/types.d.ts +10 -0
  628. package/dist/tui/types.d.ts.map +1 -1
  629. package/dist/tui/web-activity.d.ts +3 -2
  630. package/dist/tui/web-activity.d.ts.map +1 -1
  631. package/dist/tui/zen-free-refusal.d.ts +17 -0
  632. package/dist/tui/zen-free-refusal.d.ts.map +1 -0
  633. package/dist/usage-error.d.ts +15 -0
  634. package/dist/usage-error.d.ts.map +1 -0
  635. package/dist/warning-filter.d.ts +30 -0
  636. package/dist/warning-filter.d.ts.map +1 -0
  637. package/package.json +22 -11
  638. package/skills/schedule-task/SKILL.md +74 -20
  639. package/dist/browser/commands.js +0 -365
  640. package/dist/browser/commands.js.map +0 -1
  641. package/dist/browser/control.js +0 -140
  642. package/dist/browser/control.js.map +0 -1
  643. package/dist/browser/describe.js +0 -27
  644. package/dist/browser/describe.js.map +0 -1
  645. package/dist/checkpoints/store.js +0 -192
  646. package/dist/checkpoints/store.js.map +0 -1
  647. package/dist/checkpoints/wrap.js +0 -37
  648. package/dist/checkpoints/wrap.js.map +0 -1
  649. package/dist/cli.js +0 -602
  650. package/dist/cli.js.map +0 -1
  651. package/dist/commands/acp.js +0 -388
  652. package/dist/commands/acp.js.map +0 -1
  653. package/dist/commands/archive.js +0 -65
  654. package/dist/commands/archive.js.map +0 -1
  655. package/dist/commands/browser.js +0 -16
  656. package/dist/commands/browser.js.map +0 -1
  657. package/dist/commands/doctor.js +0 -267
  658. package/dist/commands/doctor.js.map +0 -1
  659. package/dist/commands/drain.js +0 -498
  660. package/dist/commands/drain.js.map +0 -1
  661. package/dist/commands/eval.js +0 -237
  662. package/dist/commands/eval.js.map +0 -1
  663. package/dist/commands/exec-flags.js +0 -334
  664. package/dist/commands/exec-flags.js.map +0 -1
  665. package/dist/commands/exec-json.js +0 -497
  666. package/dist/commands/exec-json.js.map +0 -1
  667. package/dist/commands/exec.js +0 -688
  668. package/dist/commands/exec.js.map +0 -1
  669. package/dist/commands/host-queries.js +0 -156
  670. package/dist/commands/host-queries.js.map +0 -1
  671. package/dist/commands/login.js +0 -315
  672. package/dist/commands/login.js.map +0 -1
  673. package/dist/commands/mcp-oauth-login.js +0 -213
  674. package/dist/commands/mcp-oauth-login.js.map +0 -1
  675. package/dist/commands/mcp.js +0 -288
  676. package/dist/commands/mcp.js.map +0 -1
  677. package/dist/commands/prior-messages.js +0 -329
  678. package/dist/commands/prior-messages.js.map +0 -1
  679. package/dist/commands/provider-wait.js +0 -65
  680. package/dist/commands/provider-wait.js.map +0 -1
  681. package/dist/commands/registry.js +0 -40
  682. package/dist/commands/registry.js.map +0 -1
  683. package/dist/commands/resident-flags.js +0 -193
  684. package/dist/commands/resident-flags.js.map +0 -1
  685. package/dist/commands/resident-learning.js +0 -293
  686. package/dist/commands/resident-learning.js.map +0 -1
  687. package/dist/commands/resident.js +0 -419
  688. package/dist/commands/resident.js.map +0 -1
  689. package/dist/commands/resume.js +0 -109
  690. package/dist/commands/resume.js.map +0 -1
  691. package/dist/commands/schedule.js +0 -131
  692. package/dist/commands/schedule.js.map +0 -1
  693. package/dist/commands/serve.js +0 -21
  694. package/dist/commands/serve.js.map +0 -1
  695. package/dist/commands/skills.js +0 -178
  696. package/dist/commands/skills.js.map +0 -1
  697. package/dist/commands/state.js +0 -110
  698. package/dist/commands/state.js.map +0 -1
  699. package/dist/commands/stdin.js +0 -69
  700. package/dist/commands/stdin.js.map +0 -1
  701. package/dist/commands/types.js +0 -2
  702. package/dist/commands/types.js.map +0 -1
  703. package/dist/commands/upgrade-progress.js +0 -54
  704. package/dist/commands/upgrade-progress.js.map +0 -1
  705. package/dist/commands/upgrade.js +0 -232
  706. package/dist/commands/upgrade.js.map +0 -1
  707. package/dist/commands/worktree.js +0 -86
  708. package/dist/commands/worktree.js.map +0 -1
  709. package/dist/config/composer-triggers.js +0 -80
  710. package/dist/config/composer-triggers.js.map +0 -1
  711. package/dist/config/debug.js +0 -126
  712. package/dist/config/debug.js.map +0 -1
  713. package/dist/config/load.js +0 -1208
  714. package/dist/config/load.js.map +0 -1
  715. package/dist/config/schema.js +0 -13
  716. package/dist/config/schema.js.map +0 -1
  717. package/dist/config/tool-result-screens.js +0 -104
  718. package/dist/config/tool-result-screens.js.map +0 -1
  719. package/dist/config/trusted-project-context.js +0 -28
  720. package/dist/config/trusted-project-context.js.map +0 -1
  721. package/dist/config/turn-guards.js +0 -46
  722. package/dist/config/turn-guards.js.map +0 -1
  723. package/dist/config/user-config.js +0 -118
  724. package/dist/config/user-config.js.map +0 -1
  725. package/dist/context/capabilities.js +0 -164
  726. package/dist/context/capabilities.js.map +0 -1
  727. package/dist/context/directories.js +0 -69
  728. package/dist/context/directories.js.map +0 -1
  729. package/dist/context/doctrine.js +0 -24
  730. package/dist/context/doctrine.js.map +0 -1
  731. package/dist/context/environment.js +0 -255
  732. package/dist/context/environment.js.map +0 -1
  733. package/dist/context/project-path.js +0 -16
  734. package/dist/context/project-path.js.map +0 -1
  735. package/dist/context/project-tracker.js +0 -217
  736. package/dist/context/project-tracker.js.map +0 -1
  737. package/dist/context/project.js +0 -256
  738. package/dist/context/project.js.map +0 -1
  739. package/dist/context/runtime-message.js +0 -30
  740. package/dist/context/runtime-message.js.map +0 -1
  741. package/dist/context/sandbox.js +0 -114
  742. package/dist/context/sandbox.js.map +0 -1
  743. package/dist/context/turn-snapshot.js +0 -122
  744. package/dist/context/turn-snapshot.js.map +0 -1
  745. package/dist/doctor/checks/browser.js +0 -63
  746. package/dist/doctor/checks/browser.js.map +0 -1
  747. package/dist/doctor/checks/chain.js +0 -211
  748. package/dist/doctor/checks/chain.js.map +0 -1
  749. package/dist/doctor/checks/credentials.js +0 -98
  750. package/dist/doctor/checks/credentials.js.map +0 -1
  751. package/dist/doctor/checks/index.js +0 -72
  752. package/dist/doctor/checks/index.js.map +0 -1
  753. package/dist/doctor/checks/invariants.js +0 -79
  754. package/dist/doctor/checks/invariants.js.map +0 -1
  755. package/dist/doctor/checks/logging.js +0 -69
  756. package/dist/doctor/checks/logging.js.map +0 -1
  757. package/dist/doctor/checks/providers.js +0 -30
  758. package/dist/doctor/checks/providers.js.map +0 -1
  759. package/dist/doctor/checks/runtime.js +0 -40
  760. package/dist/doctor/checks/runtime.js.map +0 -1
  761. package/dist/doctor/checks/sandbox.js +0 -76
  762. package/dist/doctor/checks/sandbox.js.map +0 -1
  763. package/dist/doctor/checks/scheduler.js +0 -74
  764. package/dist/doctor/checks/scheduler.js.map +0 -1
  765. package/dist/doctor/checks/session-export.js +0 -62
  766. package/dist/doctor/checks/session-export.js.map +0 -1
  767. package/dist/doctor/checks/telemetry.js +0 -58
  768. package/dist/doctor/checks/telemetry.js.map +0 -1
  769. package/dist/doctor/checks/vault.js +0 -67
  770. package/dist/doctor/checks/vault.js.map +0 -1
  771. package/dist/doctor/index.js +0 -3
  772. package/dist/doctor/index.js.map +0 -1
  773. package/dist/doctor/registry.js +0 -230
  774. package/dist/doctor/registry.js.map +0 -1
  775. package/dist/exit-codes.js +0 -62
  776. package/dist/exit-codes.js.map +0 -1
  777. package/dist/installation.js +0 -48
  778. package/dist/installation.js.map +0 -1
  779. package/dist/integrations/clipboard/image.js +0 -119
  780. package/dist/integrations/clipboard/image.js.map +0 -1
  781. package/dist/integrations/clipboard/text.js +0 -43
  782. package/dist/integrations/clipboard/text.js.map +0 -1
  783. package/dist/integrations/files/attachment-store.js +0 -86
  784. package/dist/integrations/files/attachment-store.js.map +0 -1
  785. package/dist/integrations/mcp/oauth-store.js +0 -549
  786. package/dist/integrations/mcp/oauth-store.js.map +0 -1
  787. package/dist/integrations/mcp/servers.js +0 -519
  788. package/dist/integrations/mcp/servers.js.map +0 -1
  789. package/dist/integrations/mcp/user-config.js +0 -92
  790. package/dist/integrations/mcp/user-config.js.map +0 -1
  791. package/dist/integrations/notifications/desktop/freedesktop.js +0 -33
  792. package/dist/integrations/notifications/desktop/freedesktop.js.map +0 -1
  793. package/dist/integrations/notifications/desktop/macos.js +0 -17
  794. package/dist/integrations/notifications/desktop/macos.js.map +0 -1
  795. package/dist/integrations/notifications/desktop/sanitize.js +0 -49
  796. package/dist/integrations/notifications/desktop/sanitize.js.map +0 -1
  797. package/dist/integrations/notifications/desktop/throttle.js +0 -39
  798. package/dist/integrations/notifications/desktop/throttle.js.map +0 -1
  799. package/dist/integrations/notifications/desktop/windows-toast.js +0 -56
  800. package/dist/integrations/notifications/desktop/windows-toast.js.map +0 -1
  801. package/dist/integrations/notifications/desktop.js +0 -199
  802. package/dist/integrations/notifications/desktop.js.map +0 -1
  803. package/dist/integrations/notifications/terminal.js +0 -46
  804. package/dist/integrations/notifications/terminal.js.map +0 -1
  805. package/dist/integrations/npm-invocation.js +0 -23
  806. package/dist/integrations/npm-invocation.js.map +0 -1
  807. package/dist/integrations/plugins/runtime.js +0 -189
  808. package/dist/integrations/plugins/runtime.js.map +0 -1
  809. package/dist/integrations/plugins/settings.js +0 -106
  810. package/dist/integrations/plugins/settings.js.map +0 -1
  811. package/dist/integrations/providers/access.js +0 -23
  812. package/dist/integrations/providers/access.js.map +0 -1
  813. package/dist/integrations/providers/chain-capabilities.js +0 -211
  814. package/dist/integrations/providers/chain-capabilities.js.map +0 -1
  815. package/dist/integrations/providers/codex-device-login.js +0 -195
  816. package/dist/integrations/providers/codex-device-login.js.map +0 -1
  817. package/dist/integrations/providers/codex-oauth.js +0 -95
  818. package/dist/integrations/providers/codex-oauth.js.map +0 -1
  819. package/dist/integrations/providers/credential-provider.js +0 -74
  820. package/dist/integrations/providers/credential-provider.js.map +0 -1
  821. package/dist/integrations/providers/credential-store.js +0 -657
  822. package/dist/integrations/providers/credential-store.js.map +0 -1
  823. package/dist/integrations/providers/current-credential.js +0 -45
  824. package/dist/integrations/providers/current-credential.js.map +0 -1
  825. package/dist/integrations/providers/discover.js +0 -313
  826. package/dist/integrations/providers/discover.js.map +0 -1
  827. package/dist/integrations/providers/gemini-credentials.js +0 -148
  828. package/dist/integrations/providers/gemini-credentials.js.map +0 -1
  829. package/dist/integrations/providers/harness-credentials.js +0 -344
  830. package/dist/integrations/providers/harness-credentials.js.map +0 -1
  831. package/dist/integrations/providers/identity.js +0 -64
  832. package/dist/integrations/providers/identity.js.map +0 -1
  833. package/dist/integrations/providers/index.js +0 -14
  834. package/dist/integrations/providers/index.js.map +0 -1
  835. package/dist/integrations/providers/keychain.js +0 -78
  836. package/dist/integrations/providers/keychain.js.map +0 -1
  837. package/dist/integrations/providers/model-reasoning.js +0 -51
  838. package/dist/integrations/providers/model-reasoning.js.map +0 -1
  839. package/dist/integrations/providers/oauth.js +0 -302
  840. package/dist/integrations/providers/oauth.js.map +0 -1
  841. package/dist/integrations/providers/preferences.js +0 -287
  842. package/dist/integrations/providers/preferences.js.map +0 -1
  843. package/dist/integrations/providers/register.js +0 -154
  844. package/dist/integrations/providers/register.js.map +0 -1
  845. package/dist/integrations/providers/registry.js +0 -289
  846. package/dist/integrations/providers/registry.js.map +0 -1
  847. package/dist/integrations/providers/setup.js +0 -158
  848. package/dist/integrations/providers/setup.js.map +0 -1
  849. package/dist/integrations/providers/subscription-login.js +0 -328
  850. package/dist/integrations/providers/subscription-login.js.map +0 -1
  851. package/dist/integrations/providers/zen-catalogue.js +0 -196
  852. package/dist/integrations/providers/zen-catalogue.js.map +0 -1
  853. package/dist/integrations/resident/foreground.js +0 -95
  854. package/dist/integrations/resident/foreground.js.map +0 -1
  855. package/dist/integrations/resident/inspection.js +0 -282
  856. package/dist/integrations/resident/inspection.js.map +0 -1
  857. package/dist/integrations/resident/learning-sources.js +0 -79
  858. package/dist/integrations/resident/learning-sources.js.map +0 -1
  859. package/dist/integrations/resident/learning-storage.js +0 -55
  860. package/dist/integrations/resident/learning-storage.js.map +0 -1
  861. package/dist/integrations/resident/lifecycle-errors.js +0 -15
  862. package/dist/integrations/resident/lifecycle-errors.js.map +0 -1
  863. package/dist/integrations/resident/owned-runner.js +0 -91
  864. package/dist/integrations/resident/owned-runner.js.map +0 -1
  865. package/dist/integrations/resident/runner-control.js +0 -238
  866. package/dist/integrations/resident/runner-control.js.map +0 -1
  867. package/dist/integrations/resident/runner-launch.js +0 -142
  868. package/dist/integrations/resident/runner-launch.js.map +0 -1
  869. package/dist/integrations/resident/runner-store.js +0 -284
  870. package/dist/integrations/resident/runner-store.js.map +0 -1
  871. package/dist/integrations/resident/session-log-reads.js +0 -125
  872. package/dist/integrations/resident/session-log-reads.js.map +0 -1
  873. package/dist/integrations/resident/session-step.js +0 -471
  874. package/dist/integrations/resident/session-step.js.map +0 -1
  875. package/dist/integrations/resident/storage.js +0 -183
  876. package/dist/integrations/resident/storage.js.map +0 -1
  877. package/dist/integrations/resident/tool-evidence.js +0 -123
  878. package/dist/integrations/resident/tool-evidence.js.map +0 -1
  879. package/dist/integrations/resident/verification.js +0 -109
  880. package/dist/integrations/resident/verification.js.map +0 -1
  881. package/dist/integrations/sessions/checkpoint-view.js +0 -48
  882. package/dist/integrations/sessions/checkpoint-view.js.map +0 -1
  883. package/dist/integrations/sessions/context-inventory.js +0 -44
  884. package/dist/integrations/sessions/context-inventory.js.map +0 -1
  885. package/dist/integrations/sessions/conversation-search.js +0 -572
  886. package/dist/integrations/sessions/conversation-search.js.map +0 -1
  887. package/dist/integrations/sessions/display-title.js +0 -5
  888. package/dist/integrations/sessions/display-title.js.map +0 -1
  889. package/dist/integrations/sessions/evidence-page-validation.js +0 -74
  890. package/dist/integrations/sessions/evidence-page-validation.js.map +0 -1
  891. package/dist/integrations/sessions/evidence-recall.js +0 -117
  892. package/dist/integrations/sessions/evidence-recall.js.map +0 -1
  893. package/dist/integrations/sessions/store.js +0 -780
  894. package/dist/integrations/sessions/store.js.map +0 -1
  895. package/dist/integrations/sessions/task-context.js +0 -96
  896. package/dist/integrations/sessions/task-context.js.map +0 -1
  897. package/dist/integrations/sessions/transcript-export.js +0 -342
  898. package/dist/integrations/sessions/transcript-export.js.map +0 -1
  899. package/dist/integrations/state/home.js +0 -17
  900. package/dist/integrations/state/home.js.map +0 -1
  901. package/dist/integrations/state/identity.js +0 -49
  902. package/dist/integrations/state/identity.js.map +0 -1
  903. package/dist/integrations/state/immutable-json.js +0 -38
  904. package/dist/integrations/state/immutable-json.js.map +0 -1
  905. package/dist/integrations/state/private-directory.js +0 -43
  906. package/dist/integrations/state/private-directory.js.map +0 -1
  907. package/dist/integrations/state/project.js +0 -13
  908. package/dist/integrations/state/project.js.map +0 -1
  909. package/dist/integrations/state/report.js +0 -626
  910. package/dist/integrations/state/report.js.map +0 -1
  911. package/dist/integrations/state/retention.js +0 -18
  912. package/dist/integrations/state/retention.js.map +0 -1
  913. package/dist/integrations/subagents/NamzuCliAgent.js +0 -9
  914. package/dist/integrations/subagents/NamzuCliAgent.js.map +0 -1
  915. package/dist/integrations/subagents/activity.js +0 -759
  916. package/dist/integrations/subagents/activity.js.map +0 -1
  917. package/dist/integrations/subagents/batches.js +0 -172
  918. package/dist/integrations/subagents/batches.js.map +0 -1
  919. package/dist/integrations/subagents/definitions.js +0 -26
  920. package/dist/integrations/subagents/definitions.js.map +0 -1
  921. package/dist/integrations/subagents/model-effort.js +0 -12
  922. package/dist/integrations/subagents/model-effort.js.map +0 -1
  923. package/dist/integrations/subagents/parent.js +0 -47
  924. package/dist/integrations/subagents/parent.js.map +0 -1
  925. package/dist/integrations/subagents/policy.js +0 -3
  926. package/dist/integrations/subagents/policy.js.map +0 -1
  927. package/dist/integrations/subagents/replay.js +0 -295
  928. package/dist/integrations/subagents/replay.js.map +0 -1
  929. package/dist/integrations/subagents/runtime.js +0 -1317
  930. package/dist/integrations/subagents/runtime.js.map +0 -1
  931. package/dist/integrations/subagents/saved-agents.js +0 -102
  932. package/dist/integrations/subagents/saved-agents.js.map +0 -1
  933. package/dist/integrations/subagents/slash.js +0 -45
  934. package/dist/integrations/subagents/slash.js.map +0 -1
  935. package/dist/integrations/subagents/worktree-driver.js +0 -72
  936. package/dist/integrations/subagents/worktree-driver.js.map +0 -1
  937. package/dist/integrations/telemetry/session-export.js +0 -119
  938. package/dist/integrations/telemetry/session-export.js.map +0 -1
  939. package/dist/integrations/trust/store.js +0 -73
  940. package/dist/integrations/trust/store.js.map +0 -1
  941. package/dist/integrations/updates.js +0 -115
  942. package/dist/integrations/updates.js.map +0 -1
  943. package/dist/integrations/web/exa-search.js +0 -154
  944. package/dist/integrations/web/exa-search.js.map +0 -1
  945. package/dist/integrations/web/open-url.js +0 -73
  946. package/dist/integrations/web/open-url.js.map +0 -1
  947. package/dist/integrations/web/search.js +0 -68
  948. package/dist/integrations/web/search.js.map +0 -1
  949. package/dist/integrations/worktrees/managed.js +0 -231
  950. package/dist/integrations/worktrees/managed.js.map +0 -1
  951. package/dist/logging.js +0 -115
  952. package/dist/logging.js.map +0 -1
  953. package/dist/memory/io.js +0 -177
  954. package/dist/memory/io.js.map +0 -1
  955. package/dist/memory/presentation.js +0 -76
  956. package/dist/memory/presentation.js.map +0 -1
  957. package/dist/memory/store.js +0 -180
  958. package/dist/memory/store.js.map +0 -1
  959. package/dist/memory/typed.js +0 -336
  960. package/dist/memory/typed.js.map +0 -1
  961. package/dist/output/formatter.js +0 -16
  962. package/dist/output/formatter.js.map +0 -1
  963. package/dist/output/index.js +0 -22
  964. package/dist/output/index.js.map +0 -1
  965. package/dist/output/json.js +0 -51
  966. package/dist/output/json.js.map +0 -1
  967. package/dist/output/text.js +0 -50
  968. package/dist/output/text.js.map +0 -1
  969. package/dist/output/yaml.js +0 -26
  970. package/dist/output/yaml.js.map +0 -1
  971. package/dist/output-schema.js +0 -18
  972. package/dist/output-schema.js.map +0 -1
  973. package/dist/permissions/browser-sites.js +0 -270
  974. package/dist/permissions/browser-sites.js.map +0 -1
  975. package/dist/permissions/canonical-project.js +0 -13
  976. package/dist/permissions/canonical-project.js.map +0 -1
  977. package/dist/permissions/checks.js +0 -128
  978. package/dist/permissions/checks.js.map +0 -1
  979. package/dist/permissions/headless-trust.js +0 -86
  980. package/dist/permissions/headless-trust.js.map +0 -1
  981. package/dist/permissions/live-mode.js +0 -62
  982. package/dist/permissions/live-mode.js.map +0 -1
  983. package/dist/permissions/mode.js +0 -65
  984. package/dist/permissions/mode.js.map +0 -1
  985. package/dist/permissions/rules.js +0 -358
  986. package/dist/permissions/rules.js.map +0 -1
  987. package/dist/release-notes.js +0 -64
  988. package/dist/release-notes.js.map +0 -1
  989. package/dist/resume-invocation.js +0 -24
  990. package/dist/resume-invocation.js.map +0 -1
  991. package/dist/schedule/build.js +0 -374
  992. package/dist/schedule/build.js.map +0 -1
  993. package/dist/schedule/changes.js +0 -78
  994. package/dist/schedule/changes.js.map +0 -1
  995. package/dist/schedule/commands/add.js +0 -603
  996. package/dist/schedule/commands/add.js.map +0 -1
  997. package/dist/schedule/commands/args.js +0 -80
  998. package/dist/schedule/commands/args.js.map +0 -1
  999. package/dist/schedule/commands/confirm-prompt.js +0 -21
  1000. package/dist/schedule/commands/confirm-prompt.js.map +0 -1
  1001. package/dist/schedule/commands/lifecycle.js +0 -586
  1002. package/dist/schedule/commands/lifecycle.js.map +0 -1
  1003. package/dist/schedule/commands/list.js +0 -260
  1004. package/dist/schedule/commands/list.js.map +0 -1
  1005. package/dist/schedule/commands/logs.js +0 -106
  1006. package/dist/schedule/commands/logs.js.map +0 -1
  1007. package/dist/schedule/commands/service.js +0 -458
  1008. package/dist/schedule/commands/service.js.map +0 -1
  1009. package/dist/schedule/daemon/daemon.js +0 -1265
  1010. package/dist/schedule/daemon/daemon.js.map +0 -1
  1011. package/dist/schedule/daemon/endpoint.js +0 -158
  1012. package/dist/schedule/daemon/endpoint.js.map +0 -1
  1013. package/dist/schedule/daemon/exit.js +0 -8
  1014. package/dist/schedule/daemon/exit.js.map +0 -1
  1015. package/dist/schedule/daemon/log.js +0 -53
  1016. package/dist/schedule/daemon/log.js.map +0 -1
  1017. package/dist/schedule/daemon/notify.js +0 -158
  1018. package/dist/schedule/daemon/notify.js.map +0 -1
  1019. package/dist/schedule/daemon/retention.js +0 -46
  1020. package/dist/schedule/daemon/retention.js.map +0 -1
  1021. package/dist/schedule/daemon/sessions.js +0 -52
  1022. package/dist/schedule/daemon/sessions.js.map +0 -1
  1023. package/dist/schedule/env.js +0 -106
  1024. package/dist/schedule/env.js.map +0 -1
  1025. package/dist/schedule/fire/browser-preflight.js +0 -73
  1026. package/dist/schedule/fire/browser-preflight.js.map +0 -1
  1027. package/dist/schedule/fire/calls.js +0 -114
  1028. package/dist/schedule/fire/calls.js.map +0 -1
  1029. package/dist/schedule/fire/fire.js +0 -681
  1030. package/dist/schedule/fire/fire.js.map +0 -1
  1031. package/dist/schedule/fire/result.js +0 -19
  1032. package/dist/schedule/fire/result.js.map +0 -1
  1033. package/dist/schedule/fire/run-script.js +0 -81
  1034. package/dist/schedule/fire/run-script.js.map +0 -1
  1035. package/dist/schedule/fire/unattended-note.js +0 -51
  1036. package/dist/schedule/fire/unattended-note.js.map +0 -1
  1037. package/dist/schedule/fire/wake-gate.js +0 -90
  1038. package/dist/schedule/fire/wake-gate.js.map +0 -1
  1039. package/dist/schedule/floor.js +0 -1561
  1040. package/dist/schedule/floor.js.map +0 -1
  1041. package/dist/schedule/folder.js +0 -84
  1042. package/dist/schedule/folder.js.map +0 -1
  1043. package/dist/schedule/paths.js +0 -53
  1044. package/dist/schedule/paths.js.map +0 -1
  1045. package/dist/schedule/policy.js +0 -414
  1046. package/dist/schedule/policy.js.map +0 -1
  1047. package/dist/schedule/resume-command.js +0 -72
  1048. package/dist/schedule/resume-command.js.map +0 -1
  1049. package/dist/schedule/script-check.js +0 -146
  1050. package/dist/schedule/script-check.js.map +0 -1
  1051. package/dist/schedule/script-shell.js +0 -5
  1052. package/dist/schedule/script-shell.js.map +0 -1
  1053. package/dist/schedule/service/detect.js +0 -29
  1054. package/dist/schedule/service/detect.js.map +0 -1
  1055. package/dist/schedule/service/index.js +0 -361
  1056. package/dist/schedule/service/index.js.map +0 -1
  1057. package/dist/schedule/service/launchd.js +0 -84
  1058. package/dist/schedule/service/launchd.js.map +0 -1
  1059. package/dist/schedule/service/manifest.js +0 -16
  1060. package/dist/schedule/service/manifest.js.map +0 -1
  1061. package/dist/schedule/service/names.js +0 -22
  1062. package/dist/schedule/service/names.js.map +0 -1
  1063. package/dist/schedule/service/quote.js +0 -64
  1064. package/dist/schedule/service/quote.js.map +0 -1
  1065. package/dist/schedule/service/runner.js +0 -31
  1066. package/dist/schedule/service/runner.js.map +0 -1
  1067. package/dist/schedule/service/systemd.js +0 -96
  1068. package/dist/schedule/service/systemd.js.map +0 -1
  1069. package/dist/schedule/service/windows-task.js +0 -199
  1070. package/dist/schedule/service/windows-task.js.map +0 -1
  1071. package/dist/schedule/service/wsl.js +0 -121
  1072. package/dist/schedule/service/wsl.js.map +0 -1
  1073. package/dist/schedule/store/atomic.js +0 -138
  1074. package/dist/schedule/store/atomic.js.map +0 -1
  1075. package/dist/schedule/store/claims.js +0 -57
  1076. package/dist/schedule/store/claims.js.map +0 -1
  1077. package/dist/schedule/store/digest.js +0 -139
  1078. package/dist/schedule/store/digest.js.map +0 -1
  1079. package/dist/schedule/store/history.js +0 -117
  1080. package/dist/schedule/store/history.js.map +0 -1
  1081. package/dist/schedule/store/jobs.js +0 -277
  1082. package/dist/schedule/store/jobs.js.map +0 -1
  1083. package/dist/schedule/store/state.js +0 -38
  1084. package/dist/schedule/store/state.js.map +0 -1
  1085. package/dist/schedule/types.js +0 -33
  1086. package/dist/schedule/types.js.map +0 -1
  1087. package/dist/schedule/visible-source.js +0 -59
  1088. package/dist/schedule/visible-source.js.map +0 -1
  1089. package/dist/skills/audit.js +0 -75
  1090. package/dist/skills/audit.js.map +0 -1
  1091. package/dist/skills/catalog.js +0 -226
  1092. package/dist/skills/catalog.js.map +0 -1
  1093. package/dist/skills/directory.js +0 -51
  1094. package/dist/skills/directory.js.map +0 -1
  1095. package/dist/skills/save.js +0 -344
  1096. package/dist/skills/save.js.map +0 -1
  1097. package/dist/skills/store.js +0 -351
  1098. package/dist/skills/store.js.map +0 -1
  1099. package/dist/termination.js +0 -143
  1100. package/dist/termination.js.map +0 -1
  1101. package/dist/test-support/toolset.js +0 -27
  1102. package/dist/test-support/toolset.js.map +0 -1
  1103. package/dist/tui/AgentExplorer.js +0 -789
  1104. package/dist/tui/AgentExplorer.js.map +0 -1
  1105. package/dist/tui/App.js +0 -8209
  1106. package/dist/tui/App.js.map +0 -1
  1107. package/dist/tui/BrandHeader.js +0 -14
  1108. package/dist/tui/BrandHeader.js.map +0 -1
  1109. package/dist/tui/Checklist.js +0 -90
  1110. package/dist/tui/Checklist.js.map +0 -1
  1111. package/dist/tui/ChoicePicker.js +0 -64
  1112. package/dist/tui/ChoicePicker.js.map +0 -1
  1113. package/dist/tui/Composer.js +0 -908
  1114. package/dist/tui/Composer.js.map +0 -1
  1115. package/dist/tui/ComposerFrame.js +0 -79
  1116. package/dist/tui/ComposerFrame.js.map +0 -1
  1117. package/dist/tui/CopyPicker.js +0 -19
  1118. package/dist/tui/CopyPicker.js.map +0 -1
  1119. package/dist/tui/EditPromptPicker.js +0 -17
  1120. package/dist/tui/EditPromptPicker.js.map +0 -1
  1121. package/dist/tui/EffortSlider.js +0 -134
  1122. package/dist/tui/EffortSlider.js.map +0 -1
  1123. package/dist/tui/LiveActivity.js +0 -89
  1124. package/dist/tui/LiveActivity.js.map +0 -1
  1125. package/dist/tui/Markdown.js +0 -137
  1126. package/dist/tui/Markdown.js.map +0 -1
  1127. package/dist/tui/PermissionOverlay.js +0 -278
  1128. package/dist/tui/PermissionOverlay.js.map +0 -1
  1129. package/dist/tui/Picker.js +0 -1310
  1130. package/dist/tui/Picker.js.map +0 -1
  1131. package/dist/tui/ProviderSetup.js +0 -125
  1132. package/dist/tui/ProviderSetup.js.map +0 -1
  1133. package/dist/tui/ResumePicker.js +0 -34
  1134. package/dist/tui/ResumePicker.js.map +0 -1
  1135. package/dist/tui/SaveSkillOverlay.js +0 -118
  1136. package/dist/tui/SaveSkillOverlay.js.map +0 -1
  1137. package/dist/tui/ScheduleReviewOverlay.js +0 -166
  1138. package/dist/tui/ScheduleReviewOverlay.js.map +0 -1
  1139. package/dist/tui/StatusBar.js +0 -182
  1140. package/dist/tui/StatusBar.js.map +0 -1
  1141. package/dist/tui/StatusPanel.js +0 -11
  1142. package/dist/tui/StatusPanel.js.map +0 -1
  1143. package/dist/tui/TaskList.js +0 -43
  1144. package/dist/tui/TaskList.js.map +0 -1
  1145. package/dist/tui/TextPrompt.js +0 -185
  1146. package/dist/tui/TextPrompt.js.map +0 -1
  1147. package/dist/tui/ToolOutputViewer.js +0 -39
  1148. package/dist/tui/ToolOutputViewer.js.map +0 -1
  1149. package/dist/tui/Transcript.js +0 -235
  1150. package/dist/tui/Transcript.js.map +0 -1
  1151. package/dist/tui/TrustPrompt.js +0 -13
  1152. package/dist/tui/TrustPrompt.js.map +0 -1
  1153. package/dist/tui/ViewportBound.js +0 -55
  1154. package/dist/tui/ViewportBound.js.map +0 -1
  1155. package/dist/tui/agent-transcript-rows.js +0 -115
  1156. package/dist/tui/agent-transcript-rows.js.map +0 -1
  1157. package/dist/tui/agent.js +0 -4235
  1158. package/dist/tui/agent.js.map +0 -1
  1159. package/dist/tui/browser-notices.js +0 -107
  1160. package/dist/tui/browser-notices.js.map +0 -1
  1161. package/dist/tui/choice-selection.js +0 -38
  1162. package/dist/tui/choice-selection.js.map +0 -1
  1163. package/dist/tui/compact-transcript.js +0 -46
  1164. package/dist/tui/compact-transcript.js.map +0 -1
  1165. package/dist/tui/consent-timing.js +0 -48
  1166. package/dist/tui/consent-timing.js.map +0 -1
  1167. package/dist/tui/conversation-evidence-view.js +0 -96
  1168. package/dist/tui/conversation-evidence-view.js.map +0 -1
  1169. package/dist/tui/conversation-history.js +0 -33
  1170. package/dist/tui/conversation-history.js.map +0 -1
  1171. package/dist/tui/copy-targets.js +0 -189
  1172. package/dist/tui/copy-targets.js.map +0 -1
  1173. package/dist/tui/credential-entry.js +0 -134
  1174. package/dist/tui/credential-entry.js.map +0 -1
  1175. package/dist/tui/edit-prompts.js +0 -35
  1176. package/dist/tui/edit-prompts.js.map +0 -1
  1177. package/dist/tui/exit-summary.js +0 -30
  1178. package/dist/tui/exit-summary.js.map +0 -1
  1179. package/dist/tui/external-editor.js +0 -169
  1180. package/dist/tui/external-editor.js.map +0 -1
  1181. package/dist/tui/hypermode.js +0 -58
  1182. package/dist/tui/hypermode.js.map +0 -1
  1183. package/dist/tui/index.js +0 -81
  1184. package/dist/tui/index.js.map +0 -1
  1185. package/dist/tui/live-window.js +0 -281
  1186. package/dist/tui/live-window.js.map +0 -1
  1187. package/dist/tui/log-pane.js +0 -100
  1188. package/dist/tui/log-pane.js.map +0 -1
  1189. package/dist/tui/login-prompt.js +0 -105
  1190. package/dist/tui/login-prompt.js.map +0 -1
  1191. package/dist/tui/logo.js +0 -9
  1192. package/dist/tui/logo.js.map +0 -1
  1193. package/dist/tui/markdown-block-cache.js +0 -76
  1194. package/dist/tui/markdown-block-cache.js.map +0 -1
  1195. package/dist/tui/markdown-table.js +0 -175
  1196. package/dist/tui/markdown-table.js.map +0 -1
  1197. package/dist/tui/markdown-wrap.js +0 -189
  1198. package/dist/tui/markdown-wrap.js.map +0 -1
  1199. package/dist/tui/markdownParser.js +0 -237
  1200. package/dist/tui/markdownParser.js.map +0 -1
  1201. package/dist/tui/mentions.js +0 -150
  1202. package/dist/tui/mentions.js.map +0 -1
  1203. package/dist/tui/model-catalogue-view.js +0 -75
  1204. package/dist/tui/model-catalogue-view.js.map +0 -1
  1205. package/dist/tui/model-choices.js +0 -157
  1206. package/dist/tui/model-choices.js.map +0 -1
  1207. package/dist/tui/model-search.js +0 -28
  1208. package/dist/tui/model-search.js.map +0 -1
  1209. package/dist/tui/model-selection-intent.js +0 -96
  1210. package/dist/tui/model-selection-intent.js.map +0 -1
  1211. package/dist/tui/model-switch-tool.js +0 -74
  1212. package/dist/tui/model-switch-tool.js.map +0 -1
  1213. package/dist/tui/model-switch.js +0 -106
  1214. package/dist/tui/model-switch.js.map +0 -1
  1215. package/dist/tui/notices.js +0 -27
  1216. package/dist/tui/notices.js.map +0 -1
  1217. package/dist/tui/open-browser.js +0 -147
  1218. package/dist/tui/open-browser.js.map +0 -1
  1219. package/dist/tui/permission-review.js +0 -858
  1220. package/dist/tui/permission-review.js.map +0 -1
  1221. package/dist/tui/plugin-view.js +0 -59
  1222. package/dist/tui/plugin-view.js.map +0 -1
  1223. package/dist/tui/provider-list.js +0 -327
  1224. package/dist/tui/provider-list.js.map +0 -1
  1225. package/dist/tui/provider-selection.js +0 -16
  1226. package/dist/tui/provider-selection.js.map +0 -1
  1227. package/dist/tui/schedule/host-commands.js +0 -428
  1228. package/dist/tui/schedule/host-commands.js.map +0 -1
  1229. package/dist/tui/schedule/integration.js +0 -150
  1230. package/dist/tui/schedule/integration.js.map +0 -1
  1231. package/dist/tui/schedule/loop-host.js +0 -153
  1232. package/dist/tui/schedule/loop-host.js.map +0 -1
  1233. package/dist/tui/schedule/resume.js +0 -333
  1234. package/dist/tui/schedule/resume.js.map +0 -1
  1235. package/dist/tui/schedule/startup.js +0 -121
  1236. package/dist/tui/schedule/startup.js.map +0 -1
  1237. package/dist/tui/schedule/tool-host.js +0 -619
  1238. package/dist/tui/schedule/tool-host.js.map +0 -1
  1239. package/dist/tui/selection-window.js +0 -37
  1240. package/dist/tui/selection-window.js.map +0 -1
  1241. package/dist/tui/shell-escape.js +0 -110
  1242. package/dist/tui/shell-escape.js.map +0 -1
  1243. package/dist/tui/skills/learning.js +0 -131
  1244. package/dist/tui/skills/learning.js.map +0 -1
  1245. package/dist/tui/skills/suggest-setting.js +0 -55
  1246. package/dist/tui/skills/suggest-setting.js.map +0 -1
  1247. package/dist/tui/skills/suggestion-ledger.js +0 -52
  1248. package/dist/tui/skills/suggestion-ledger.js.map +0 -1
  1249. package/dist/tui/slashCommands.js +0 -1587
  1250. package/dist/tui/slashCommands.js.map +0 -1
  1251. package/dist/tui/status-card.js +0 -30
  1252. package/dist/tui/status-card.js.map +0 -1
  1253. package/dist/tui/status-panel-layout.js +0 -42
  1254. package/dist/tui/status-panel-layout.js.map +0 -1
  1255. package/dist/tui/stream-blocks.js +0 -187
  1256. package/dist/tui/stream-blocks.js.map +0 -1
  1257. package/dist/tui/task-activity.js +0 -157
  1258. package/dist/tui/task-activity.js.map +0 -1
  1259. package/dist/tui/terminal-choice-text.js +0 -118
  1260. package/dist/tui/terminal-choice-text.js.map +0 -1
  1261. package/dist/tui/terminal-display.js +0 -65
  1262. package/dist/tui/terminal-display.js.map +0 -1
  1263. package/dist/tui/terminal-hyperlinks.js +0 -70
  1264. package/dist/tui/terminal-hyperlinks.js.map +0 -1
  1265. package/dist/tui/theme.js +0 -34
  1266. package/dist/tui/theme.js.map +0 -1
  1267. package/dist/tui/triggers/analyze.js +0 -221
  1268. package/dist/tui/triggers/analyze.js.map +0 -1
  1269. package/dist/tui/triggers/context-text.js +0 -44
  1270. package/dist/tui/triggers/context-text.js.map +0 -1
  1271. package/dist/tui/triggers/copy.js +0 -163
  1272. package/dist/tui/triggers/copy.js.map +0 -1
  1273. package/dist/tui/triggers/detect.js +0 -295
  1274. package/dist/tui/triggers/detect.js.map +0 -1
  1275. package/dist/tui/triggers/fold.js +0 -44
  1276. package/dist/tui/triggers/fold.js.map +0 -1
  1277. package/dist/tui/triggers/pattern.js +0 -243
  1278. package/dist/tui/triggers/pattern.js.map +0 -1
  1279. package/dist/tui/triggers/provenance.js +0 -98
  1280. package/dist/tui/triggers/provenance.js.map +0 -1
  1281. package/dist/tui/triggers/registry.js +0 -164
  1282. package/dist/tui/triggers/registry.js.map +0 -1
  1283. package/dist/tui/triggers/setting.js +0 -61
  1284. package/dist/tui/triggers/setting.js.map +0 -1
  1285. package/dist/tui/triggers/verbs.js +0 -140
  1286. package/dist/tui/triggers/verbs.js.map +0 -1
  1287. package/dist/tui/turn-interruption.js +0 -160
  1288. package/dist/tui/turn-interruption.js.map +0 -1
  1289. package/dist/tui/turn-limits-settings.js +0 -88
  1290. package/dist/tui/turn-limits-settings.js.map +0 -1
  1291. package/dist/tui/types.js +0 -7
  1292. package/dist/tui/types.js.map +0 -1
  1293. package/dist/tui/units.js +0 -20
  1294. package/dist/tui/units.js.map +0 -1
  1295. package/dist/tui/use-selection-index.js +0 -13
  1296. package/dist/tui/use-selection-index.js.map +0 -1
  1297. package/dist/tui/web-activity.js +0 -105
  1298. package/dist/tui/web-activity.js.map +0 -1
  1299. package/dist/tui/workspace-diff.js +0 -101
  1300. package/dist/tui/workspace-diff.js.map +0 -1
  1301. package/dist/tui/workspace-review.js +0 -67
  1302. package/dist/tui/workspace-review.js.map +0 -1
  1303. package/dist/user-commands/store.js +0 -235
  1304. package/dist/user-commands/store.js.map +0 -1
  1305. package/dist/version.js +0 -23
  1306. package/dist/version.js.map +0 -1
@@ -0,0 +1,2228 @@
1
+ import { createRequire as __namzuCreateRequire } from 'node:module';
2
+ const require = __namzuCreateRequire(import.meta.url);
3
+ import {
4
+ __name
5
+ } from "./chunk-76FLAFCG.js";
6
+
7
+ // ../providers/zen/dist/models.js
8
+ function freezeModels(models) {
9
+ for (const model of models) {
10
+ if (model.inputModalities)
11
+ Object.freeze(model.inputModalities);
12
+ if (model.effortLevels)
13
+ Object.freeze(model.effortLevels);
14
+ Object.freeze(model);
15
+ }
16
+ return Object.freeze(models);
17
+ }
18
+ __name(freezeModels, "freezeModels");
19
+ var ZEN_MODELS = freezeModels([
20
+ {
21
+ id: "gpt-6-astra",
22
+ name: "GPT 6 Astra",
23
+ protocol: "responses",
24
+ contextWindow: 105e4,
25
+ maxOutputTokens: 128e3,
26
+ inputModalities: ["text", "image", "document"],
27
+ inputPrice: 10,
28
+ outputPrice: 50,
29
+ supportsToolUse: true,
30
+ supportsStreaming: true,
31
+ effortLevels: ["low", "medium", "high", "xhigh", "max"]
32
+ },
33
+ {
34
+ id: "gpt-6-sol",
35
+ name: "GPT 6 Sol",
36
+ protocol: "responses",
37
+ contextWindow: 105e4,
38
+ maxOutputTokens: 128e3,
39
+ inputModalities: ["text", "image", "document"],
40
+ inputPrice: 2,
41
+ outputPrice: 10,
42
+ supportsToolUse: true,
43
+ supportsStreaming: true,
44
+ effortLevels: ["none", "low", "medium", "high", "xhigh", "max"]
45
+ },
46
+ {
47
+ id: "gpt-6.1-sol",
48
+ name: "GPT 6.1 Sol",
49
+ protocol: "responses",
50
+ contextWindow: 105e4,
51
+ maxOutputTokens: 128e3,
52
+ inputModalities: ["text", "image", "document"],
53
+ inputPrice: 2,
54
+ outputPrice: 10,
55
+ supportsToolUse: true,
56
+ supportsStreaming: true,
57
+ effortLevels: ["low", "medium", "high", "xhigh", "max"]
58
+ },
59
+ {
60
+ id: "gpt-6-luna",
61
+ name: "GPT 6 Luna",
62
+ protocol: "responses",
63
+ contextWindow: 105e4,
64
+ maxOutputTokens: 128e3,
65
+ inputModalities: ["text", "image", "document"],
66
+ inputPrice: 0.1,
67
+ outputPrice: 0.5,
68
+ supportsToolUse: true,
69
+ supportsStreaming: true,
70
+ effortLevels: ["none", "low", "medium", "high", "xhigh", "max"]
71
+ },
72
+ {
73
+ id: "gpt-5.6-sol",
74
+ name: "GPT 5.6 Sol",
75
+ protocol: "responses",
76
+ contextWindow: 105e4,
77
+ maxOutputTokens: 128e3,
78
+ inputModalities: ["text", "image", "document"],
79
+ inputPrice: 4,
80
+ outputPrice: 20,
81
+ supportsToolUse: true,
82
+ supportsStreaming: true,
83
+ effortLevels: ["none", "low", "medium", "high", "xhigh", "max"]
84
+ },
85
+ {
86
+ id: "gpt-5.6-terra",
87
+ name: "GPT 5.6 Terra",
88
+ protocol: "responses",
89
+ contextWindow: 105e4,
90
+ maxOutputTokens: 128e3,
91
+ inputModalities: ["text", "image", "document"],
92
+ inputPrice: 2,
93
+ outputPrice: 12,
94
+ supportsToolUse: true,
95
+ supportsStreaming: true,
96
+ effortLevels: ["none", "low", "medium", "high", "xhigh", "max"]
97
+ },
98
+ {
99
+ id: "gpt-5.6-luna",
100
+ name: "GPT 5.6 Luna",
101
+ protocol: "responses",
102
+ contextWindow: 105e4,
103
+ maxOutputTokens: 128e3,
104
+ inputModalities: ["text", "image", "document"],
105
+ inputPrice: 0.2,
106
+ outputPrice: 1.2,
107
+ supportsToolUse: true,
108
+ supportsStreaming: true,
109
+ effortLevels: ["none", "low", "medium", "high", "xhigh", "max"]
110
+ },
111
+ {
112
+ id: "gpt-5.5",
113
+ name: "GPT 5.5",
114
+ protocol: "responses",
115
+ contextWindow: 105e4,
116
+ maxOutputTokens: 128e3,
117
+ inputModalities: ["text", "image", "document"],
118
+ inputPrice: 5,
119
+ outputPrice: 30,
120
+ supportsToolUse: true,
121
+ supportsStreaming: true,
122
+ effortLevels: ["none", "low", "medium", "high", "xhigh"]
123
+ },
124
+ {
125
+ id: "gpt-5.5-pro",
126
+ name: "GPT 5.5 Pro",
127
+ protocol: "responses",
128
+ contextWindow: 105e4,
129
+ maxOutputTokens: 128e3,
130
+ inputModalities: ["text", "image", "document"],
131
+ inputPrice: 30,
132
+ outputPrice: 180,
133
+ supportsToolUse: true,
134
+ supportsStreaming: true,
135
+ effortLevels: ["medium", "high", "xhigh"]
136
+ },
137
+ {
138
+ id: "gpt-5.4",
139
+ name: "GPT 5.4",
140
+ protocol: "responses",
141
+ contextWindow: 105e4,
142
+ maxOutputTokens: 128e3,
143
+ inputModalities: ["text", "image", "document"],
144
+ inputPrice: 2.5,
145
+ outputPrice: 15,
146
+ supportsToolUse: true,
147
+ supportsStreaming: true,
148
+ effortLevels: ["none", "low", "medium", "high", "xhigh"]
149
+ },
150
+ {
151
+ id: "gpt-5.4-pro",
152
+ name: "GPT 5.4 Pro",
153
+ protocol: "responses",
154
+ contextWindow: 105e4,
155
+ maxOutputTokens: 128e3,
156
+ inputModalities: ["text", "image", "document"],
157
+ inputPrice: 30,
158
+ outputPrice: 180,
159
+ supportsToolUse: true,
160
+ supportsStreaming: true,
161
+ effortLevels: ["medium", "high", "xhigh"]
162
+ },
163
+ {
164
+ id: "gpt-5.4-mini",
165
+ name: "GPT 5.4 Mini",
166
+ protocol: "responses",
167
+ contextWindow: 4e5,
168
+ maxOutputTokens: 128e3,
169
+ inputModalities: ["text", "image", "document"],
170
+ inputPrice: 0.75,
171
+ outputPrice: 4.5,
172
+ supportsToolUse: true,
173
+ supportsStreaming: true,
174
+ effortLevels: ["none", "low", "medium", "high", "xhigh"]
175
+ },
176
+ {
177
+ id: "gpt-5.4-nano",
178
+ name: "GPT 5.4 Nano",
179
+ protocol: "responses",
180
+ contextWindow: 4e5,
181
+ maxOutputTokens: 128e3,
182
+ inputModalities: ["text", "image", "document"],
183
+ inputPrice: 0.2,
184
+ outputPrice: 1.25,
185
+ supportsToolUse: true,
186
+ supportsStreaming: true,
187
+ effortLevels: ["none", "low", "medium", "high", "xhigh"]
188
+ },
189
+ {
190
+ id: "gpt-5.3-codex",
191
+ name: "GPT 5.3 Codex",
192
+ protocol: "responses",
193
+ contextWindow: 4e5,
194
+ maxOutputTokens: 128e3,
195
+ inputModalities: ["text", "image", "document"],
196
+ inputPrice: 1.75,
197
+ outputPrice: 14,
198
+ supportsToolUse: true,
199
+ supportsStreaming: true,
200
+ effortLevels: ["none", "low", "medium", "high", "xhigh"]
201
+ },
202
+ {
203
+ id: "gpt-5.3-codex-spark",
204
+ name: "GPT 5.3 Codex Spark",
205
+ protocol: "responses",
206
+ contextWindow: 128e3,
207
+ maxOutputTokens: 128e3,
208
+ inputModalities: ["text"],
209
+ inputPrice: 1.75,
210
+ outputPrice: 14,
211
+ supportsToolUse: true,
212
+ supportsStreaming: true,
213
+ effortLevels: ["low", "medium", "high", "xhigh"]
214
+ },
215
+ {
216
+ id: "gpt-5.2",
217
+ name: "GPT 5.2",
218
+ protocol: "responses",
219
+ contextWindow: 4e5,
220
+ maxOutputTokens: 128e3,
221
+ inputModalities: ["text", "image"],
222
+ inputPrice: 1.75,
223
+ outputPrice: 14,
224
+ supportsToolUse: true,
225
+ supportsStreaming: true,
226
+ effortLevels: ["none", "low", "medium", "high", "xhigh"]
227
+ },
228
+ {
229
+ id: "gpt-5.1",
230
+ name: "GPT 5.1",
231
+ protocol: "responses",
232
+ contextWindow: 4e5,
233
+ maxOutputTokens: 128e3,
234
+ inputModalities: ["text", "image"],
235
+ inputPrice: 1.07,
236
+ outputPrice: 8.5,
237
+ supportsToolUse: true,
238
+ supportsStreaming: true,
239
+ effortLevels: ["none", "low", "medium", "high"]
240
+ },
241
+ {
242
+ id: "gpt-5",
243
+ name: "GPT 5",
244
+ protocol: "responses",
245
+ contextWindow: 4e5,
246
+ maxOutputTokens: 128e3,
247
+ inputModalities: ["text", "image"],
248
+ inputPrice: 1.07,
249
+ outputPrice: 8.5,
250
+ supportsToolUse: true,
251
+ supportsStreaming: true,
252
+ effortLevels: ["minimal", "low", "medium", "high"]
253
+ },
254
+ {
255
+ id: "gpt-5-nano",
256
+ name: "GPT 5 Nano",
257
+ protocol: "responses",
258
+ contextWindow: 4e5,
259
+ maxOutputTokens: 128e3,
260
+ inputModalities: ["text", "image"],
261
+ inputPrice: 0.05,
262
+ outputPrice: 0.4,
263
+ supportsToolUse: true,
264
+ supportsStreaming: true,
265
+ effortLevels: ["minimal", "low", "medium", "high"]
266
+ },
267
+ {
268
+ id: "claude-fable-5-1",
269
+ name: "Claude Fable 5.1",
270
+ protocol: "messages",
271
+ contextWindow: 1e6,
272
+ maxOutputTokens: 128e3,
273
+ inputModalities: ["text", "image", "document"],
274
+ inputPrice: 10,
275
+ outputPrice: 50,
276
+ supportsToolUse: true,
277
+ supportsStreaming: true,
278
+ effortLevels: ["low", "medium", "high", "xhigh", "max"]
279
+ },
280
+ {
281
+ id: "claude-fable-5",
282
+ name: "Claude Fable 5",
283
+ protocol: "messages",
284
+ contextWindow: 1e6,
285
+ maxOutputTokens: 128e3,
286
+ inputModalities: ["text", "image", "document"],
287
+ inputPrice: 10,
288
+ outputPrice: 50,
289
+ supportsToolUse: true,
290
+ supportsStreaming: true,
291
+ effortLevels: ["low", "medium", "high", "xhigh", "max"]
292
+ },
293
+ {
294
+ id: "claude-opus-5-5",
295
+ name: "Claude Opus 5.5",
296
+ protocol: "messages",
297
+ contextWindow: 1e6,
298
+ maxOutputTokens: 128e3,
299
+ inputModalities: ["text", "image", "document"],
300
+ inputPrice: 4,
301
+ outputPrice: 20,
302
+ supportsToolUse: true,
303
+ supportsStreaming: true,
304
+ effortLevels: ["low", "medium", "high", "xhigh", "max"]
305
+ },
306
+ {
307
+ id: "claude-opus-5",
308
+ name: "Claude Opus 5",
309
+ protocol: "messages",
310
+ contextWindow: 1e6,
311
+ maxOutputTokens: 128e3,
312
+ inputModalities: ["text", "image", "document"],
313
+ inputPrice: 5,
314
+ outputPrice: 25,
315
+ supportsToolUse: true,
316
+ supportsStreaming: true,
317
+ effortLevels: ["low", "medium", "high", "xhigh", "max"]
318
+ },
319
+ {
320
+ id: "claude-opus-4-8",
321
+ name: "Claude Opus 4.8",
322
+ protocol: "messages",
323
+ contextWindow: 1e6,
324
+ maxOutputTokens: 128e3,
325
+ inputModalities: ["text", "image", "document"],
326
+ inputPrice: 5,
327
+ outputPrice: 25,
328
+ supportsToolUse: true,
329
+ supportsStreaming: true,
330
+ effortLevels: ["low", "medium", "high", "xhigh", "max"]
331
+ },
332
+ {
333
+ id: "claude-opus-4-7",
334
+ name: "Claude Opus 4.7",
335
+ protocol: "messages",
336
+ contextWindow: 1e6,
337
+ maxOutputTokens: 128e3,
338
+ inputModalities: ["text", "image", "document"],
339
+ inputPrice: 5,
340
+ outputPrice: 25,
341
+ supportsToolUse: true,
342
+ supportsStreaming: true,
343
+ effortLevels: ["low", "medium", "high", "xhigh", "max"]
344
+ },
345
+ {
346
+ id: "claude-opus-4-6",
347
+ name: "Claude Opus 4.6",
348
+ protocol: "messages",
349
+ contextWindow: 1e6,
350
+ maxOutputTokens: 128e3,
351
+ inputModalities: ["text", "image", "document"],
352
+ inputPrice: 5,
353
+ outputPrice: 25,
354
+ supportsToolUse: true,
355
+ supportsStreaming: true,
356
+ effortLevels: ["low", "medium", "high", "max"]
357
+ },
358
+ {
359
+ id: "claude-opus-4-5",
360
+ name: "Claude Opus 4.5",
361
+ protocol: "messages",
362
+ contextWindow: 2e5,
363
+ maxOutputTokens: 64e3,
364
+ inputModalities: ["text", "image", "document"],
365
+ inputPrice: 5,
366
+ outputPrice: 25,
367
+ supportsToolUse: true,
368
+ supportsStreaming: true,
369
+ effortLevels: ["low", "medium", "high"]
370
+ },
371
+ {
372
+ id: "claude-sonnet-5-5",
373
+ name: "Claude Sonnet 5.5",
374
+ protocol: "messages",
375
+ contextWindow: 1e6,
376
+ maxOutputTokens: 128e3,
377
+ inputModalities: ["text", "image", "document"],
378
+ inputPrice: 2,
379
+ outputPrice: 10,
380
+ supportsToolUse: true,
381
+ supportsStreaming: true,
382
+ effortLevels: ["low", "medium", "high", "xhigh", "max"]
383
+ },
384
+ {
385
+ id: "claude-sonnet-5",
386
+ name: "Claude Sonnet 5",
387
+ protocol: "messages",
388
+ contextWindow: 1e6,
389
+ maxOutputTokens: 128e3,
390
+ inputModalities: ["text", "image", "document"],
391
+ inputPrice: 2,
392
+ outputPrice: 10,
393
+ supportsToolUse: true,
394
+ supportsStreaming: true,
395
+ effortLevels: ["low", "medium", "high", "xhigh", "max"]
396
+ },
397
+ {
398
+ id: "claude-sonnet-4-6",
399
+ name: "Claude Sonnet 4.6",
400
+ protocol: "messages",
401
+ contextWindow: 1e6,
402
+ maxOutputTokens: 64e3,
403
+ inputModalities: ["text", "image", "document"],
404
+ inputPrice: 3,
405
+ outputPrice: 15,
406
+ supportsToolUse: true,
407
+ supportsStreaming: true,
408
+ effortLevels: ["low", "medium", "high", "max"]
409
+ },
410
+ {
411
+ id: "claude-sonnet-4-5",
412
+ name: "Claude Sonnet 4.5",
413
+ protocol: "messages",
414
+ contextWindow: 1e6,
415
+ maxOutputTokens: 64e3,
416
+ inputModalities: ["text", "image", "document"],
417
+ inputPrice: 3,
418
+ outputPrice: 15,
419
+ supportsToolUse: true,
420
+ supportsStreaming: true,
421
+ effortLevels: []
422
+ },
423
+ {
424
+ id: "claude-haiku-5-5",
425
+ name: "Claude Haiku 5.5",
426
+ protocol: "messages",
427
+ contextWindow: 1e6,
428
+ maxOutputTokens: 128e3,
429
+ inputModalities: ["text", "image", "document"],
430
+ inputPrice: 0.1,
431
+ outputPrice: 0.5,
432
+ supportsToolUse: true,
433
+ supportsStreaming: true,
434
+ effortLevels: ["low", "medium", "high", "xhigh", "max"]
435
+ },
436
+ {
437
+ id: "claude-haiku-4-5",
438
+ name: "Claude Haiku 4.5",
439
+ protocol: "messages",
440
+ contextWindow: 2e5,
441
+ maxOutputTokens: 64e3,
442
+ inputModalities: ["text", "image", "document"],
443
+ inputPrice: 1,
444
+ outputPrice: 5,
445
+ supportsToolUse: true,
446
+ supportsStreaming: true,
447
+ effortLevels: []
448
+ },
449
+ {
450
+ id: "gemini-3.8-flash",
451
+ name: "Gemini 3.8 Flash",
452
+ protocol: "google",
453
+ contextWindow: 1048576,
454
+ maxOutputTokens: 65536,
455
+ inputModalities: ["text", "image", "document"],
456
+ inputPrice: 1.5,
457
+ outputPrice: 7.5,
458
+ supportsToolUse: true,
459
+ supportsStreaming: true,
460
+ effortLevels: ["low", "medium", "high"]
461
+ },
462
+ {
463
+ id: "gemini-3.7-flash",
464
+ name: "Gemini 3.7 Flash",
465
+ protocol: "google",
466
+ contextWindow: 1048576,
467
+ maxOutputTokens: 65536,
468
+ inputModalities: ["text", "image", "document"],
469
+ inputPrice: 1.5,
470
+ outputPrice: 7.5,
471
+ supportsToolUse: true,
472
+ supportsStreaming: true,
473
+ effortLevels: ["low", "medium", "high"]
474
+ },
475
+ {
476
+ id: "gemini-3.6-flash",
477
+ name: "Gemini 3.6 Flash",
478
+ protocol: "google",
479
+ contextWindow: 1048576,
480
+ maxOutputTokens: 65536,
481
+ inputModalities: ["text", "image", "document"],
482
+ inputPrice: 1.5,
483
+ outputPrice: 7.5,
484
+ supportsToolUse: true,
485
+ supportsStreaming: true,
486
+ effortLevels: ["minimal", "low", "medium", "high"]
487
+ },
488
+ {
489
+ id: "gemini-3.5-flash",
490
+ name: "Gemini 3.5 Flash",
491
+ protocol: "google",
492
+ contextWindow: 1048576,
493
+ maxOutputTokens: 65536,
494
+ inputModalities: ["text", "image", "document"],
495
+ inputPrice: 1.5,
496
+ outputPrice: 9,
497
+ supportsToolUse: true,
498
+ supportsStreaming: true,
499
+ effortLevels: ["minimal", "low", "medium", "high"]
500
+ },
501
+ {
502
+ id: "gemini-3.5-flash-lite",
503
+ name: "Gemini 3.5 Flash Lite",
504
+ protocol: "google",
505
+ contextWindow: 1048576,
506
+ maxOutputTokens: 65536,
507
+ inputModalities: ["text", "image", "document"],
508
+ inputPrice: 0.3,
509
+ outputPrice: 2.5,
510
+ supportsToolUse: true,
511
+ supportsStreaming: true,
512
+ effortLevels: ["minimal", "low", "medium", "high"]
513
+ },
514
+ {
515
+ id: "gemini-3.1-pro",
516
+ name: "Gemini 3.1 Pro",
517
+ protocol: "google",
518
+ contextWindow: 1048576,
519
+ maxOutputTokens: 65536,
520
+ inputModalities: ["text", "image", "document"],
521
+ inputPrice: 2,
522
+ outputPrice: 12,
523
+ supportsToolUse: true,
524
+ supportsStreaming: true,
525
+ effortLevels: ["low", "medium", "high"]
526
+ },
527
+ {
528
+ id: "gemini-3-flash",
529
+ name: "Gemini 3 Flash",
530
+ protocol: "google",
531
+ contextWindow: 1048576,
532
+ maxOutputTokens: 65536,
533
+ inputModalities: ["text", "image", "document"],
534
+ inputPrice: 0.5,
535
+ outputPrice: 3,
536
+ supportsToolUse: true,
537
+ supportsStreaming: true,
538
+ effortLevels: ["minimal", "low", "medium", "high"]
539
+ },
540
+ {
541
+ id: "grok-4.7",
542
+ name: "Grok 4.7",
543
+ protocol: "responses",
544
+ contextWindow: 5e5,
545
+ maxOutputTokens: 5e5,
546
+ inputModalities: ["text", "image", "document"],
547
+ inputPrice: 2,
548
+ outputPrice: 6,
549
+ supportsToolUse: true,
550
+ supportsStreaming: true,
551
+ effortLevels: ["low", "medium", "high", "xhigh"]
552
+ },
553
+ {
554
+ id: "grok-4.6",
555
+ name: "Grok 4.6",
556
+ protocol: "responses",
557
+ contextWindow: 5e5,
558
+ maxOutputTokens: 5e5,
559
+ inputModalities: ["text", "image"],
560
+ inputPrice: 2,
561
+ outputPrice: 6,
562
+ supportsToolUse: true,
563
+ supportsStreaming: true,
564
+ effortLevels: ["low", "medium", "high", "xhigh"]
565
+ },
566
+ {
567
+ id: "grok-4.5",
568
+ name: "Grok 4.5",
569
+ protocol: "responses",
570
+ contextWindow: 5e5,
571
+ maxOutputTokens: 5e5,
572
+ inputModalities: ["text", "image"],
573
+ inputPrice: 2,
574
+ outputPrice: 6,
575
+ supportsToolUse: true,
576
+ supportsStreaming: true,
577
+ effortLevels: ["low", "medium", "high"]
578
+ },
579
+ {
580
+ id: "grok-build-0.1",
581
+ name: "Grok Build 0.1",
582
+ protocol: "responses",
583
+ contextWindow: 256e3,
584
+ maxOutputTokens: 256e3,
585
+ inputModalities: ["text", "image", "document"],
586
+ inputPrice: 1,
587
+ outputPrice: 2,
588
+ supportsToolUse: true,
589
+ supportsStreaming: true,
590
+ effortLevels: []
591
+ },
592
+ {
593
+ id: "muse-spark-1.3",
594
+ name: "Muse Spark 1.3",
595
+ protocol: "responses",
596
+ contextWindow: 1048576,
597
+ maxOutputTokens: 131072,
598
+ inputModalities: ["text", "image", "document"],
599
+ inputPrice: 1.25,
600
+ outputPrice: 4.25,
601
+ supportsToolUse: true,
602
+ supportsStreaming: true,
603
+ effortLevels: ["minimal", "low", "medium", "high", "xhigh"]
604
+ },
605
+ {
606
+ id: "muse-spark-1.2",
607
+ name: "Muse Spark 1.2",
608
+ protocol: "responses",
609
+ contextWindow: 1048576,
610
+ maxOutputTokens: 131072,
611
+ inputModalities: ["text", "image", "document"],
612
+ inputPrice: 1.25,
613
+ outputPrice: 4.25,
614
+ supportsToolUse: true,
615
+ supportsStreaming: true,
616
+ effortLevels: ["minimal", "low", "medium", "high", "xhigh"]
617
+ },
618
+ {
619
+ id: "qwen3.8-max",
620
+ name: "Qwen3.8 Max",
621
+ protocol: "chat",
622
+ contextWindow: 262144,
623
+ maxOutputTokens: 131072,
624
+ inputModalities: ["text", "image"],
625
+ inputPrice: 2,
626
+ outputPrice: 6,
627
+ supportsToolUse: true,
628
+ supportsStreaming: true,
629
+ effortLevels: []
630
+ },
631
+ {
632
+ id: "qwen3.8-flash",
633
+ name: "Qwen3.8 Flash",
634
+ protocol: "messages",
635
+ contextWindow: 1e6,
636
+ maxOutputTokens: 131072,
637
+ inputModalities: ["text", "image"],
638
+ inputPrice: 0.15,
639
+ outputPrice: 0.47,
640
+ supportsToolUse: true,
641
+ supportsStreaming: true,
642
+ effortLevels: ["low", "medium", "xhigh"]
643
+ },
644
+ {
645
+ id: "qwen3.6-plus",
646
+ name: "Qwen3.6 Plus",
647
+ protocol: "messages",
648
+ contextWindow: 262144,
649
+ maxOutputTokens: 65536,
650
+ inputModalities: ["text", "image"],
651
+ inputPrice: 0.5,
652
+ outputPrice: 3,
653
+ supportsToolUse: true,
654
+ supportsStreaming: true,
655
+ effortLevels: []
656
+ },
657
+ {
658
+ id: "qwen3.5-plus",
659
+ name: "Qwen3.5 Plus",
660
+ protocol: "messages",
661
+ contextWindow: 262144,
662
+ maxOutputTokens: 65536,
663
+ inputModalities: ["text", "image"],
664
+ inputPrice: 0.2,
665
+ outputPrice: 1.2,
666
+ supportsToolUse: true,
667
+ supportsStreaming: true,
668
+ effortLevels: []
669
+ },
670
+ {
671
+ id: "deepseek-v4.1-flash",
672
+ name: "DeepSeek V4.1 Flash",
673
+ protocol: "chat",
674
+ contextWindow: 1e6,
675
+ maxOutputTokens: 384e3,
676
+ inputModalities: ["text", "image"],
677
+ inputPrice: 0.3,
678
+ outputPrice: 1.2,
679
+ supportsToolUse: true,
680
+ supportsStreaming: true,
681
+ effortLevels: ["low", "high", "max"]
682
+ },
683
+ {
684
+ id: "deepseek-v4-pro",
685
+ name: "DeepSeek V4 Pro",
686
+ protocol: "chat",
687
+ contextWindow: 1e6,
688
+ maxOutputTokens: 384e3,
689
+ inputModalities: ["text"],
690
+ inputPrice: 1.74,
691
+ outputPrice: 3.48,
692
+ supportsToolUse: true,
693
+ supportsStreaming: true,
694
+ effortLevels: ["high", "max"]
695
+ },
696
+ {
697
+ id: "deepseek-v4-flash",
698
+ name: "DeepSeek V4 Flash",
699
+ protocol: "chat",
700
+ contextWindow: 1e6,
701
+ maxOutputTokens: 384e3,
702
+ inputModalities: ["text"],
703
+ inputPrice: 0.14,
704
+ outputPrice: 0.28,
705
+ supportsToolUse: true,
706
+ supportsStreaming: true,
707
+ effortLevels: ["low", "high", "max"]
708
+ },
709
+ {
710
+ id: "deepseek-v4-flash-vision-exp",
711
+ name: "DeepSeek V4 Flash Vision Exp",
712
+ protocol: "chat",
713
+ contextWindow: 1e6,
714
+ maxOutputTokens: 384e3,
715
+ inputModalities: ["text", "image"],
716
+ inputPrice: 0.14,
717
+ outputPrice: 0.28,
718
+ supportsToolUse: true,
719
+ supportsStreaming: true,
720
+ effortLevels: ["low", "high", "max"]
721
+ },
722
+ {
723
+ id: "minimax-m3",
724
+ name: "MiniMax M3",
725
+ protocol: "chat",
726
+ contextWindow: 512e3,
727
+ maxOutputTokens: 128e3,
728
+ inputModalities: ["text", "image"],
729
+ inputPrice: 0.3,
730
+ outputPrice: 1.2,
731
+ supportsToolUse: true,
732
+ supportsStreaming: true,
733
+ effortLevels: []
734
+ },
735
+ {
736
+ id: "minimax-m2.7",
737
+ name: "MiniMax M2.7",
738
+ protocol: "chat",
739
+ contextWindow: 204800,
740
+ maxOutputTokens: 131072,
741
+ inputModalities: ["text"],
742
+ inputPrice: 0.3,
743
+ outputPrice: 1.2,
744
+ supportsToolUse: true,
745
+ supportsStreaming: true,
746
+ effortLevels: []
747
+ },
748
+ {
749
+ id: "glm-5.3-flash",
750
+ name: "GLM 5.3 Flash",
751
+ protocol: "chat",
752
+ contextWindow: 1e6,
753
+ maxOutputTokens: 131072,
754
+ inputModalities: ["text", "image", "document"],
755
+ inputPrice: 0.15,
756
+ outputPrice: 0.5,
757
+ supportsToolUse: true,
758
+ supportsStreaming: true,
759
+ effortLevels: ["low", "high", "max"]
760
+ },
761
+ {
762
+ id: "glm-5.3",
763
+ name: "GLM 5.3",
764
+ protocol: "chat",
765
+ contextWindow: 1e6,
766
+ maxOutputTokens: 131072,
767
+ inputModalities: ["text"],
768
+ inputPrice: 1.4,
769
+ outputPrice: 4.4,
770
+ supportsToolUse: true,
771
+ supportsStreaming: true,
772
+ effortLevels: ["low", "high", "max"]
773
+ },
774
+ {
775
+ id: "glm-5.2",
776
+ name: "GLM 5.2",
777
+ protocol: "chat",
778
+ contextWindow: 1e6,
779
+ maxOutputTokens: 131072,
780
+ inputModalities: ["text"],
781
+ inputPrice: 1.4,
782
+ outputPrice: 4.4,
783
+ supportsToolUse: true,
784
+ supportsStreaming: true,
785
+ effortLevels: ["high", "max"]
786
+ },
787
+ {
788
+ id: "glm-5.1",
789
+ name: "GLM 5.1",
790
+ protocol: "chat",
791
+ contextWindow: 204800,
792
+ maxOutputTokens: 131072,
793
+ inputModalities: ["text"],
794
+ inputPrice: 1.4,
795
+ outputPrice: 4.4,
796
+ supportsToolUse: true,
797
+ supportsStreaming: true,
798
+ effortLevels: []
799
+ },
800
+ {
801
+ id: "kimi-k2.6",
802
+ name: "Kimi K2.6",
803
+ protocol: "chat",
804
+ contextWindow: 262144,
805
+ maxOutputTokens: 65536,
806
+ inputModalities: ["text", "image"],
807
+ inputPrice: 0.95,
808
+ outputPrice: 4,
809
+ supportsToolUse: true,
810
+ supportsStreaming: true,
811
+ effortLevels: []
812
+ },
813
+ {
814
+ id: "kimi-k2.7-code",
815
+ name: "Kimi K2.7 Code",
816
+ protocol: "chat",
817
+ contextWindow: 262144,
818
+ maxOutputTokens: 262144,
819
+ inputModalities: ["text", "image"],
820
+ inputPrice: 0.95,
821
+ outputPrice: 4,
822
+ supportsToolUse: true,
823
+ supportsStreaming: true,
824
+ effortLevels: []
825
+ },
826
+ {
827
+ id: "kimi-k3",
828
+ name: "Kimi K3",
829
+ protocol: "chat",
830
+ contextWindow: 1048576,
831
+ maxOutputTokens: 131072,
832
+ inputModalities: ["text", "image"],
833
+ inputPrice: 3,
834
+ outputPrice: 15,
835
+ supportsToolUse: true,
836
+ supportsStreaming: true,
837
+ effortLevels: ["max"]
838
+ },
839
+ {
840
+ id: "big-pickle",
841
+ name: "Big Pickle",
842
+ protocol: "chat",
843
+ contextWindow: 2e5,
844
+ maxOutputTokens: 32e3,
845
+ inputModalities: ["text"],
846
+ inputPrice: 0,
847
+ outputPrice: 0,
848
+ supportsToolUse: true,
849
+ supportsStreaming: true,
850
+ effortLevels: []
851
+ },
852
+ {
853
+ id: "space-bunny-free",
854
+ supportsAnonymousAccess: true,
855
+ name: "Space Bunny Free",
856
+ protocol: "chat",
857
+ contextWindow: 1048576,
858
+ maxOutputTokens: 524288,
859
+ inputModalities: ["text", "image"],
860
+ inputPrice: 0,
861
+ outputPrice: 0,
862
+ supportsToolUse: true,
863
+ supportsStreaming: true,
864
+ effortLevels: ["low", "medium", "high", "xhigh", "max"]
865
+ },
866
+ {
867
+ id: "cat-jam-free",
868
+ name: "Cat Jam Free",
869
+ protocol: "chat",
870
+ contextWindow: 262144,
871
+ maxOutputTokens: 131072,
872
+ inputModalities: ["text"],
873
+ inputPrice: 0,
874
+ outputPrice: 0,
875
+ supportsToolUse: true,
876
+ supportsStreaming: true,
877
+ effortLevels: ["low", "medium", "high", "xhigh", "max"]
878
+ },
879
+ {
880
+ id: "longcat-2.5-preview-free",
881
+ name: "LongCat 2.5 Preview Free",
882
+ protocol: "chat",
883
+ contextWindow: 1e6,
884
+ maxOutputTokens: 131072,
885
+ inputModalities: ["text", "image"],
886
+ inputPrice: 0,
887
+ outputPrice: 0,
888
+ supportsToolUse: true,
889
+ supportsStreaming: true,
890
+ effortLevels: []
891
+ },
892
+ {
893
+ id: "step-5-preview-free",
894
+ name: "Step 5 Preview Free",
895
+ protocol: "chat",
896
+ contextWindow: 1e6,
897
+ maxOutputTokens: 65536,
898
+ inputModalities: ["text", "image"],
899
+ inputPrice: 0,
900
+ outputPrice: 0,
901
+ supportsToolUse: true,
902
+ supportsStreaming: true,
903
+ effortLevels: ["low", "medium", "high"]
904
+ },
905
+ {
906
+ id: "exo-free",
907
+ name: "Exo Free",
908
+ protocol: "chat",
909
+ contextWindow: 1048576,
910
+ maxOutputTokens: 131072,
911
+ inputModalities: ["text", "image"],
912
+ inputPrice: 0,
913
+ outputPrice: 0,
914
+ supportsToolUse: true,
915
+ supportsStreaming: true,
916
+ effortLevels: ["high"]
917
+ },
918
+ {
919
+ id: "mimo-v2.6-flash-free",
920
+ name: "MiMo-V2.6-Flash Free",
921
+ protocol: "chat",
922
+ contextWindow: 2e5,
923
+ maxOutputTokens: 32e3,
924
+ inputModalities: ["text", "image"],
925
+ inputPrice: 0,
926
+ outputPrice: 0,
927
+ supportsToolUse: true,
928
+ supportsStreaming: true,
929
+ effortLevels: []
930
+ },
931
+ {
932
+ id: "mimo-v2.5-free",
933
+ name: "MiMo-V2.5 Free",
934
+ protocol: "chat",
935
+ contextWindow: 2e5,
936
+ maxOutputTokens: 32e3,
937
+ inputModalities: ["text", "image"],
938
+ inputPrice: 0,
939
+ outputPrice: 0,
940
+ supportsToolUse: true,
941
+ supportsStreaming: true,
942
+ effortLevels: []
943
+ },
944
+ {
945
+ id: "ling-3.1-flash-free",
946
+ name: "Ling 3.1 Flash Free",
947
+ protocol: "chat",
948
+ contextWindow: 262144,
949
+ maxOutputTokens: 32768,
950
+ inputModalities: ["text"],
951
+ inputPrice: 0,
952
+ outputPrice: 0,
953
+ supportsToolUse: true,
954
+ supportsStreaming: true,
955
+ effortLevels: []
956
+ },
957
+ {
958
+ id: "ling-3.0-flash-fin-free",
959
+ name: "Ling 3.0 Flash Fin Free",
960
+ protocol: "chat",
961
+ contextWindow: 262144,
962
+ maxOutputTokens: 32768,
963
+ inputModalities: ["text"],
964
+ inputPrice: 0,
965
+ outputPrice: 0,
966
+ supportsToolUse: true,
967
+ supportsStreaming: true,
968
+ effortLevels: []
969
+ },
970
+ {
971
+ id: "nemotron-3-ultra-free",
972
+ name: "Nemotron 3 Ultra Free",
973
+ protocol: "chat",
974
+ contextWindow: 1e6,
975
+ maxOutputTokens: 128e3,
976
+ inputModalities: ["text"],
977
+ inputPrice: 0,
978
+ outputPrice: 0,
979
+ supportsToolUse: true,
980
+ supportsStreaming: true,
981
+ effortLevels: []
982
+ },
983
+ {
984
+ id: "nemotron-3.5-lightning-free",
985
+ name: "Nemotron 3.5 Lightning Free",
986
+ protocol: "chat",
987
+ contextWindow: 262144,
988
+ maxOutputTokens: 262144,
989
+ inputModalities: ["text"],
990
+ inputPrice: 0,
991
+ outputPrice: 0,
992
+ supportsToolUse: true,
993
+ supportsStreaming: true,
994
+ effortLevels: []
995
+ },
996
+ {
997
+ id: "muse-spark-1.3-contributor-free",
998
+ name: "Muse Spark 1.3 Contributor Free",
999
+ protocol: "responses",
1000
+ contextWindow: 1048576,
1001
+ maxOutputTokens: 131072,
1002
+ inputModalities: ["text", "image", "document"],
1003
+ inputPrice: 0,
1004
+ outputPrice: 0,
1005
+ supportsToolUse: true,
1006
+ supportsStreaming: true,
1007
+ effortLevels: ["minimal", "low", "medium", "high", "xhigh"]
1008
+ }
1009
+ ]);
1010
+ var GO_MODELS = freezeModels([
1011
+ {
1012
+ id: "grok-4.7",
1013
+ name: "Grok 4.7",
1014
+ protocol: "responses",
1015
+ contextWindow: 5e5,
1016
+ maxOutputTokens: 5e5,
1017
+ inputModalities: ["text", "image", "document"],
1018
+ inputPrice: 2,
1019
+ outputPrice: 6,
1020
+ supportsToolUse: true,
1021
+ supportsStreaming: true,
1022
+ effortLevels: ["low", "medium", "high", "xhigh"]
1023
+ },
1024
+ {
1025
+ id: "grok-4.6",
1026
+ name: "Grok 4.6",
1027
+ protocol: "responses",
1028
+ contextWindow: 5e5,
1029
+ maxOutputTokens: 5e5,
1030
+ inputModalities: ["text", "image"],
1031
+ inputPrice: 2,
1032
+ outputPrice: 6,
1033
+ supportsToolUse: true,
1034
+ supportsStreaming: true,
1035
+ effortLevels: ["low", "medium", "high", "xhigh"]
1036
+ },
1037
+ {
1038
+ id: "gpt-6-luna",
1039
+ name: "GPT 6 Luna",
1040
+ protocol: "responses",
1041
+ contextWindow: 105e4,
1042
+ maxOutputTokens: 128e3,
1043
+ inputModalities: ["text", "image", "document"],
1044
+ inputPrice: 0.1,
1045
+ outputPrice: 0.5,
1046
+ supportsToolUse: true,
1047
+ supportsStreaming: true,
1048
+ effortLevels: ["none", "low", "medium", "high", "xhigh", "max"]
1049
+ },
1050
+ {
1051
+ id: "gpt-5.6-luna",
1052
+ name: "GPT 5.6 Luna",
1053
+ protocol: "responses",
1054
+ contextWindow: 105e4,
1055
+ maxOutputTokens: 128e3,
1056
+ inputModalities: ["text", "image", "document"],
1057
+ inputPrice: 0.2,
1058
+ outputPrice: 1.2,
1059
+ supportsToolUse: true,
1060
+ supportsStreaming: true,
1061
+ effortLevels: ["none", "low", "medium", "high", "xhigh", "max"]
1062
+ },
1063
+ {
1064
+ id: "claude-haiku-5-5",
1065
+ name: "Claude Haiku 5.5",
1066
+ protocol: "messages",
1067
+ contextWindow: 1e6,
1068
+ maxOutputTokens: 128e3,
1069
+ inputModalities: ["text", "image", "document"],
1070
+ inputPrice: 0.1,
1071
+ outputPrice: 0.5,
1072
+ supportsToolUse: true,
1073
+ supportsStreaming: true,
1074
+ effortLevels: ["low", "medium", "high", "xhigh", "max"]
1075
+ },
1076
+ {
1077
+ id: "glm-5.3-flash",
1078
+ name: "GLM-5.3-Flash",
1079
+ protocol: "chat",
1080
+ contextWindow: 1e6,
1081
+ maxOutputTokens: 131072,
1082
+ inputModalities: ["text", "image", "document"],
1083
+ inputPrice: 0.15,
1084
+ outputPrice: 0.5,
1085
+ supportsToolUse: true,
1086
+ supportsStreaming: true,
1087
+ effortLevels: ["low", "high", "max"]
1088
+ },
1089
+ {
1090
+ id: "glm-5.3",
1091
+ name: "GLM-5.3",
1092
+ protocol: "chat",
1093
+ contextWindow: 1e6,
1094
+ maxOutputTokens: 131072,
1095
+ inputModalities: ["text"],
1096
+ inputPrice: 1.4,
1097
+ outputPrice: 4.4,
1098
+ supportsToolUse: true,
1099
+ supportsStreaming: true,
1100
+ effortLevels: ["low", "high", "max"]
1101
+ },
1102
+ {
1103
+ id: "glm-5.2",
1104
+ name: "GLM-5.2",
1105
+ protocol: "chat",
1106
+ contextWindow: 1e6,
1107
+ maxOutputTokens: 131072,
1108
+ inputModalities: ["text"],
1109
+ inputPrice: 1.4,
1110
+ outputPrice: 4.4,
1111
+ supportsToolUse: true,
1112
+ supportsStreaming: true,
1113
+ effortLevels: ["high", "max"]
1114
+ },
1115
+ {
1116
+ id: "kimi-k3",
1117
+ name: "Kimi K3",
1118
+ protocol: "chat",
1119
+ contextWindow: 1048576,
1120
+ maxOutputTokens: 131072,
1121
+ inputModalities: ["text", "image"],
1122
+ inputPrice: 3,
1123
+ outputPrice: 15,
1124
+ supportsToolUse: true,
1125
+ supportsStreaming: true,
1126
+ effortLevels: ["max"]
1127
+ },
1128
+ {
1129
+ id: "kimi-k2.7-code",
1130
+ name: "Kimi K2.7 Code",
1131
+ protocol: "chat",
1132
+ contextWindow: 262144,
1133
+ maxOutputTokens: 262144,
1134
+ inputModalities: ["text", "image"],
1135
+ inputPrice: 0.95,
1136
+ outputPrice: 4,
1137
+ supportsToolUse: true,
1138
+ supportsStreaming: true,
1139
+ effortLevels: []
1140
+ },
1141
+ {
1142
+ id: "kimi-k2.6",
1143
+ name: "Kimi K2.6",
1144
+ protocol: "chat",
1145
+ contextWindow: 262144,
1146
+ maxOutputTokens: 65536,
1147
+ inputModalities: ["text", "image"],
1148
+ inputPrice: 0.95,
1149
+ outputPrice: 4,
1150
+ supportsToolUse: true,
1151
+ supportsStreaming: true,
1152
+ effortLevels: []
1153
+ },
1154
+ {
1155
+ id: "longcat-2.0",
1156
+ name: "LongCat-2.0",
1157
+ protocol: "chat",
1158
+ contextWindow: 1e6,
1159
+ maxOutputTokens: 131072,
1160
+ inputModalities: ["text"],
1161
+ inputPrice: 0.3,
1162
+ outputPrice: 1.2,
1163
+ supportsToolUse: true,
1164
+ supportsStreaming: true,
1165
+ effortLevels: []
1166
+ },
1167
+ {
1168
+ id: "deepseek-v4.1-flash",
1169
+ name: "DeepSeek V4.1 Flash",
1170
+ protocol: "chat",
1171
+ contextWindow: 1e6,
1172
+ maxOutputTokens: 384e3,
1173
+ inputModalities: ["text", "image"],
1174
+ inputPrice: 0.15,
1175
+ outputPrice: 0.6,
1176
+ supportsToolUse: true,
1177
+ supportsStreaming: true,
1178
+ effortLevels: ["low", "high", "max"]
1179
+ },
1180
+ {
1181
+ id: "deepseek-v4-pro",
1182
+ name: "DeepSeek V4 Pro",
1183
+ protocol: "chat",
1184
+ contextWindow: 1e6,
1185
+ maxOutputTokens: 384e3,
1186
+ inputModalities: ["text"],
1187
+ inputPrice: 0.66,
1188
+ outputPrice: 1.98,
1189
+ supportsToolUse: true,
1190
+ supportsStreaming: true,
1191
+ effortLevels: ["high", "max"]
1192
+ },
1193
+ {
1194
+ id: "deepseek-v4-flash",
1195
+ name: "DeepSeek V4 Flash",
1196
+ protocol: "responses",
1197
+ contextWindow: 1e6,
1198
+ maxOutputTokens: 384e3,
1199
+ inputModalities: ["text"],
1200
+ inputPrice: 0.15,
1201
+ outputPrice: 0.6,
1202
+ supportsToolUse: true,
1203
+ supportsStreaming: true,
1204
+ effortLevels: ["low", "high", "max"]
1205
+ },
1206
+ {
1207
+ id: "deepseek-v4-flash-vision-exp",
1208
+ name: "DeepSeek V4 Flash Vision Exp",
1209
+ protocol: "chat",
1210
+ contextWindow: 1e6,
1211
+ maxOutputTokens: 384e3,
1212
+ inputModalities: ["text", "image"],
1213
+ inputPrice: 0.15,
1214
+ outputPrice: 0.6,
1215
+ supportsToolUse: true,
1216
+ supportsStreaming: true,
1217
+ effortLevels: ["low", "high", "max"]
1218
+ },
1219
+ {
1220
+ id: "mimo-v2.6-flash",
1221
+ name: "MiMo-V2.6-Flash",
1222
+ protocol: "chat",
1223
+ contextWindow: 1048576,
1224
+ maxOutputTokens: 131072,
1225
+ inputModalities: ["text", "image"],
1226
+ inputPrice: 0.14,
1227
+ outputPrice: 0.28,
1228
+ supportsToolUse: true,
1229
+ supportsStreaming: true,
1230
+ effortLevels: []
1231
+ },
1232
+ {
1233
+ id: "mimo-v2.6-pro",
1234
+ name: "MiMo-V2.6-Pro",
1235
+ protocol: "chat",
1236
+ contextWindow: 1048576,
1237
+ maxOutputTokens: 131072,
1238
+ inputModalities: ["text", "image"],
1239
+ inputPrice: 0.435,
1240
+ outputPrice: 0.87,
1241
+ supportsToolUse: true,
1242
+ supportsStreaming: true,
1243
+ effortLevels: []
1244
+ },
1245
+ {
1246
+ id: "mimo-v2.5",
1247
+ name: "MiMo-V2.5",
1248
+ protocol: "chat",
1249
+ contextWindow: 1e6,
1250
+ maxOutputTokens: 128e3,
1251
+ inputModalities: ["text", "image"],
1252
+ inputPrice: 0.14,
1253
+ outputPrice: 0.28,
1254
+ supportsToolUse: true,
1255
+ supportsStreaming: true,
1256
+ effortLevels: []
1257
+ },
1258
+ {
1259
+ id: "mimo-v2.5-pro",
1260
+ name: "MiMo-V2.5-Pro",
1261
+ protocol: "chat",
1262
+ contextWindow: 1048576,
1263
+ maxOutputTokens: 128e3,
1264
+ inputModalities: ["text"],
1265
+ inputPrice: 0.435,
1266
+ outputPrice: 0.87,
1267
+ supportsToolUse: true,
1268
+ supportsStreaming: true,
1269
+ effortLevels: []
1270
+ },
1271
+ {
1272
+ id: "minimax-m3",
1273
+ name: "MiniMax M3",
1274
+ protocol: "chat",
1275
+ contextWindow: 1e6,
1276
+ maxOutputTokens: 131072,
1277
+ inputModalities: ["text", "image"],
1278
+ inputPrice: 0.3,
1279
+ outputPrice: 1.2,
1280
+ supportsToolUse: true,
1281
+ supportsStreaming: true,
1282
+ effortLevels: []
1283
+ },
1284
+ {
1285
+ id: "minimax-m2.7",
1286
+ name: "MiniMax M2.7",
1287
+ protocol: "chat",
1288
+ contextWindow: 204800,
1289
+ maxOutputTokens: 131072,
1290
+ inputModalities: ["text"],
1291
+ inputPrice: 0.3,
1292
+ outputPrice: 1.2,
1293
+ supportsToolUse: true,
1294
+ supportsStreaming: true,
1295
+ effortLevels: []
1296
+ },
1297
+ {
1298
+ id: "muse-spark-1.3-contributor",
1299
+ name: "Muse Spark 1.3 Contributor",
1300
+ protocol: "responses",
1301
+ contextWindow: 1048576,
1302
+ maxOutputTokens: 131072,
1303
+ inputModalities: ["text", "image", "document"],
1304
+ inputPrice: 0.1,
1305
+ outputPrice: 0.2,
1306
+ supportsToolUse: true,
1307
+ supportsStreaming: true,
1308
+ effortLevels: ["minimal", "low", "medium", "high", "xhigh"]
1309
+ },
1310
+ {
1311
+ id: "muse-spark-1.2-contributor",
1312
+ name: "Muse Spark 1.2 Contributor",
1313
+ protocol: "responses",
1314
+ contextWindow: 1048576,
1315
+ maxOutputTokens: 131072,
1316
+ inputModalities: ["text", "image", "document"],
1317
+ inputPrice: 0.1,
1318
+ outputPrice: 0.2,
1319
+ supportsToolUse: true,
1320
+ supportsStreaming: true,
1321
+ effortLevels: ["minimal", "low", "medium", "high", "xhigh"]
1322
+ },
1323
+ {
1324
+ id: "qwen3.8-max",
1325
+ name: "Qwen3.8 Max",
1326
+ protocol: "messages",
1327
+ contextWindow: 1e6,
1328
+ maxOutputTokens: 131072,
1329
+ inputModalities: ["text", "image"],
1330
+ inputPrice: 2,
1331
+ outputPrice: 6,
1332
+ supportsToolUse: true,
1333
+ supportsStreaming: true,
1334
+ effortLevels: ["low", "medium", "xhigh"]
1335
+ },
1336
+ {
1337
+ id: "qwen3.8-flash",
1338
+ name: "Qwen3.8 Flash",
1339
+ protocol: "messages",
1340
+ contextWindow: 1e6,
1341
+ maxOutputTokens: 131072,
1342
+ inputModalities: ["text", "image"],
1343
+ inputPrice: 0.15,
1344
+ outputPrice: 0.47,
1345
+ supportsToolUse: true,
1346
+ supportsStreaming: true,
1347
+ effortLevels: ["low", "medium", "xhigh"]
1348
+ },
1349
+ {
1350
+ id: "qwen3.7-plus",
1351
+ name: "Qwen3.7 Plus",
1352
+ protocol: "messages",
1353
+ contextWindow: 1e6,
1354
+ maxOutputTokens: 65536,
1355
+ inputModalities: ["text", "image"],
1356
+ inputPrice: 0.4,
1357
+ outputPrice: 1.6,
1358
+ supportsToolUse: true,
1359
+ supportsStreaming: true,
1360
+ effortLevels: []
1361
+ },
1362
+ {
1363
+ id: "hy4-preview",
1364
+ name: "Hy4 preview",
1365
+ protocol: "chat",
1366
+ contextWindow: 1024e3,
1367
+ maxOutputTokens: 64e3,
1368
+ inputModalities: ["text"],
1369
+ inputPrice: 0.834,
1370
+ outputPrice: 2.501,
1371
+ supportsToolUse: true,
1372
+ supportsStreaming: true,
1373
+ effortLevels: ["none", "high"]
1374
+ },
1375
+ {
1376
+ id: "hy3",
1377
+ name: "Hy3",
1378
+ protocol: "chat",
1379
+ contextWindow: 256e3,
1380
+ maxOutputTokens: 128e3,
1381
+ inputModalities: ["text"],
1382
+ inputPrice: 0.14,
1383
+ outputPrice: 0.58,
1384
+ supportsToolUse: true,
1385
+ supportsStreaming: true,
1386
+ effortLevels: ["none", "low", "high"]
1387
+ },
1388
+ {
1389
+ id: "space-bunny",
1390
+ name: "Space Bunny",
1391
+ protocol: "chat",
1392
+ contextWindow: 1048576,
1393
+ maxOutputTokens: 524288,
1394
+ inputModalities: ["text", "image"],
1395
+ inputPrice: 0.15,
1396
+ outputPrice: 0.6,
1397
+ supportsToolUse: true,
1398
+ supportsStreaming: true,
1399
+ effortLevels: ["low", "medium", "high", "xhigh", "max"]
1400
+ },
1401
+ {
1402
+ id: "longcat-2.5-preview-free",
1403
+ name: "LongCat 2.5 Preview Free",
1404
+ protocol: "chat",
1405
+ contextWindow: 1e6,
1406
+ maxOutputTokens: 131072,
1407
+ inputModalities: ["text", "image"],
1408
+ inputPrice: 0,
1409
+ outputPrice: 0,
1410
+ supportsToolUse: true,
1411
+ supportsStreaming: true,
1412
+ effortLevels: []
1413
+ },
1414
+ {
1415
+ id: "step-5-preview-free",
1416
+ name: "Step 5 Preview Free",
1417
+ protocol: "chat",
1418
+ contextWindow: 1e6,
1419
+ maxOutputTokens: 65536,
1420
+ inputModalities: ["text", "image"],
1421
+ inputPrice: 0,
1422
+ outputPrice: 0,
1423
+ supportsToolUse: true,
1424
+ supportsStreaming: true,
1425
+ effortLevels: ["low", "medium", "high"]
1426
+ },
1427
+ {
1428
+ id: "cat-jam-free",
1429
+ name: "Cat Jam Free",
1430
+ protocol: "chat",
1431
+ contextWindow: 262144,
1432
+ maxOutputTokens: 131072,
1433
+ inputModalities: ["text"],
1434
+ inputPrice: 0,
1435
+ outputPrice: 0,
1436
+ supportsToolUse: true,
1437
+ supportsStreaming: true,
1438
+ effortLevels: ["low", "medium", "high", "xhigh", "max"]
1439
+ }
1440
+ ]);
1441
+ var ZEN_OMITTED_MODELS = Object.freeze([
1442
+ "go/deepseek-flash",
1443
+ "go/glm-5.1",
1444
+ "go/minimax-m2.5",
1445
+ "go/omen-alpha",
1446
+ "go/qwen3.6-plus",
1447
+ "go/qwen3.7-max",
1448
+ "zen/claude-opus-5-5-backup",
1449
+ "zen/gemini-4-argon",
1450
+ "zen/glm-5",
1451
+ "zen/gpt-5-codex",
1452
+ "zen/gpt-5.1-codex",
1453
+ "zen/gpt-5.1-codex-max",
1454
+ "zen/gpt-5.1-codex-mini",
1455
+ "zen/gpt-5.2-codex",
1456
+ "zen/jev-1.13",
1457
+ "zen/jev-1.13-free",
1458
+ "zen/kimi-k2.5",
1459
+ "zen/minimax-m2.5",
1460
+ "zen/mistral-large-4",
1461
+ "zen/muse-spark-1.2-contributor-free",
1462
+ "zen/qwen3.7-max",
1463
+ "zen/qwen3.7-plus",
1464
+ "zen/test"
1465
+ ]);
1466
+ function getZenModels(service) {
1467
+ return service === "zen" ? ZEN_MODELS : GO_MODELS;
1468
+ }
1469
+ __name(getZenModels, "getZenModels");
1470
+ function findZenModel(service, id) {
1471
+ return getZenModels(service).find((model) => model.id === id);
1472
+ }
1473
+ __name(findZenModel, "findZenModel");
1474
+
1475
+ // ../providers/zen/dist/catalogue/derive.js
1476
+ var ZenCatalogueSourceError = class extends Error {
1477
+ static {
1478
+ __name(this, "ZenCatalogueSourceError");
1479
+ }
1480
+ name = "ZenCatalogueSourceError";
1481
+ };
1482
+ function unusable(message) {
1483
+ throw new ZenCatalogueSourceError(message);
1484
+ }
1485
+ __name(unusable, "unusable");
1486
+ var UNDISPLAYABLE = /[\p{Cc}\p{Cf}\p{Zl}\p{Zp}]/u;
1487
+ function isDisplayableName(name) {
1488
+ return !UNDISPLAYABLE.test(name);
1489
+ }
1490
+ __name(isDisplayableName, "isDisplayableName");
1491
+ function routeName(cell, page) {
1492
+ const name = cell.trim();
1493
+ if (!isDisplayableName(name)) {
1494
+ unusable(`${page} has a route row whose model name, ${JSON.stringify(name)}, carries a control,
1495
+ format or separator character. A name is printed as it is wherever the model is
1496
+ listed, so the run stops rather than carry it.`);
1497
+ }
1498
+ return name;
1499
+ }
1500
+ __name(routeName, "routeName");
1501
+ var ZEN_SERVICES = Object.freeze([
1502
+ // The two pages moved out of `packages/web/src/content/docs` when the site
1503
+ // moved under `services/www`, and Zen's own page was renamed `models.mdx`
1504
+ // inside a `console/` section. The tables the rules read — the route table,
1505
+ // the price tables and the free-model list — are where they always were.
1506
+ { service: "zen", page: "console/models.mdx", provider: "opencode" },
1507
+ { service: "go", page: "console/go.mdx", provider: "opencode-go" }
1508
+ ]);
1509
+ var ROUTES = Object.freeze([
1510
+ { npm: "@ai-sdk/openai-compatible", path: "/chat/completions", protocol: "chat", kind: "path" },
1511
+ { npm: "@ai-sdk/openai", path: "/responses", protocol: "responses", kind: "path" },
1512
+ { npm: "@ai-sdk/anthropic", path: "/messages", protocol: "messages", kind: "path" },
1513
+ { npm: "@ai-sdk/google", path: "/models/", protocol: "google", kind: "model" }
1514
+ ]);
1515
+ var MODEL_PATH = /^models\/[a-z0-9][a-z0-9.-]*$/;
1516
+ var MODALITIES = Object.freeze({
1517
+ text: "text",
1518
+ image: "image",
1519
+ pdf: "document"
1520
+ });
1521
+ var SERVICE_PREFIX = Object.freeze({
1522
+ zen: "/zen/v1/",
1523
+ go: "/zen/go/v1/"
1524
+ });
1525
+ var DOCUMENTED_PREFIXES = Object.freeze({
1526
+ zen: Object.freeze(["/zen/v1/", "/inference/v1/"]),
1527
+ go: Object.freeze(["/zen/go/v1/", "/inference/go/v1/"])
1528
+ });
1529
+ function parseServed(service, text) {
1530
+ let body;
1531
+ try {
1532
+ body = JSON.parse(text);
1533
+ } catch (error) {
1534
+ unusable(`The ${service} /models answer is not JSON: ${error instanceof Error ? error.message : error}`);
1535
+ }
1536
+ const data = body !== null && typeof body === "object" ? body.data : void 0;
1537
+ if (!Array.isArray(data)) {
1538
+ unusable(`The ${service} /models answer has no \`data\` array. It is the field the served roster
1539
+ is read from, so a service that changed shape stops here.`);
1540
+ }
1541
+ const ids = /* @__PURE__ */ new Set();
1542
+ for (const item of data) {
1543
+ const id = item !== null && typeof item === "object" ? item.id : void 0;
1544
+ if (typeof id !== "string" || id.length === 0) {
1545
+ unusable(`The ${service} /models answer has an entry with no string \`id\`. Every id it
1546
+ serves is checked against the catalogue, so an entry that cannot be read is
1547
+ an id nobody checked.`);
1548
+ }
1549
+ ids.add(id);
1550
+ }
1551
+ if (ids.size === 0) {
1552
+ unusable(`The ${service} /models answer lists no models at all. That is a source that moved,
1553
+ not a service that serves nothing, and accepting it would empty the roster
1554
+ for as long as the outage lasted.`);
1555
+ }
1556
+ return ids;
1557
+ }
1558
+ __name(parseServed, "parseServed");
1559
+ function isRouteRowShaped(line) {
1560
+ const ticked = [...line.matchAll(/`[^`]*`/g)].length;
1561
+ const cells = line.split("|").length - 2;
1562
+ return ticked >= 2 || cells >= 3 && ticked >= 1;
1563
+ }
1564
+ __name(isRouteRowShaped, "isRouteRowShaped");
1565
+ function parsePage(text, { page, service }) {
1566
+ const routes = [];
1567
+ const prices = [];
1568
+ const freeNames = [];
1569
+ const unroutable = [];
1570
+ let inFreeSection = false;
1571
+ for (const line of text.split("\n")) {
1572
+ if (/^(The free models:|#{2,4}\s+Free models\s*)$/.test(line.trim())) {
1573
+ inFreeSection = true;
1574
+ continue;
1575
+ }
1576
+ if (inFreeSection) {
1577
+ const bullet = line.match(/^-\s+(.+?)\s+is\s/);
1578
+ if (bullet?.[1] !== void 0) {
1579
+ freeNames.push(bullet[1].trim());
1580
+ continue;
1581
+ }
1582
+ if (line.trim().length > 0 && !line.startsWith("-"))
1583
+ inFreeSection = false;
1584
+ }
1585
+ const route = line.match(/^\|\s*(.+?)\s*\|\s*([a-z0-9][a-z0-9.\-]*)\s*\|\s*`([^`]+)`\s*\|\s*`([^`]+)`\s*\|$/);
1586
+ if (route) {
1587
+ routes.push({
1588
+ name: routeName(route[1], page),
1589
+ id: route[2],
1590
+ endpoint: route[3],
1591
+ npm: route[4]
1592
+ });
1593
+ continue;
1594
+ }
1595
+ const wireless = line.match(/^\|\s*([^|]+?)\s*\|\s*([a-z0-9][a-z0-9.\-]*)\s*\|\s*`([^`]+)`\s*\|\s*-\s*\|$/);
1596
+ if (wireless) {
1597
+ routes.push({
1598
+ name: routeName(wireless[1], page),
1599
+ id: wireless[2],
1600
+ endpoint: wireless[3],
1601
+ npm: void 0
1602
+ });
1603
+ continue;
1604
+ }
1605
+ const price2 = line.trimStart().match(/^\|\s*(.+?)\s*\|\s*([^|]*?)\s*\|\s*([^|]*?)\s*\|/);
1606
+ if (price2) {
1607
+ const input = priceCell(price2[2]);
1608
+ const output = priceCell(price2[3]);
1609
+ if (input !== void 0 && output !== void 0) {
1610
+ const name = price2[1].trim();
1611
+ const previous = prices.find((row) => row.name === name);
1612
+ if (previous) {
1613
+ if (previous.input !== input || previous.output !== output) {
1614
+ unusable(`${page} gives different token prices for "${name}" across its tables.`);
1615
+ }
1616
+ continue;
1617
+ }
1618
+ prices.push({ name, input, output });
1619
+ continue;
1620
+ }
1621
+ }
1622
+ if (line.startsWith("|") && isRouteRowShaped(line))
1623
+ unroutable.push(line.trim());
1624
+ }
1625
+ if (unroutable.length > 0) {
1626
+ unusable(`${page} has ${unroutable.length} line(s) shaped like a route row that this script
1627
+ did not read as one. A model the page routes but this script does not capture is
1628
+ a model that silently disappears from the catalogue, so the run stops instead:
1629
+ ${unroutable.slice(0, 5).map((line) => ` ${line}`).join("\n")}${unroutable.length > 5 ? `
1630
+ \u2026 and ${unroutable.length - 5} more` : ""}`);
1631
+ }
1632
+ if (routes.length === 0)
1633
+ unusable(`${page} has no route table.`);
1634
+ const seen = /* @__PURE__ */ new Set();
1635
+ for (const route of routes) {
1636
+ if (seen.has(route.id)) {
1637
+ unusable(`${page} routes "${route.id}" on more than one row. Which row states its wire and
1638
+ its name is not something these rules can choose, so the run stops instead.`);
1639
+ }
1640
+ seen.add(route.id);
1641
+ }
1642
+ if (service === "zen" && freeNames.length === 0) {
1643
+ unusable(`${page} has no free-model list. Anonymous admission is stated there and is never
1644
+ inferred from a zero price, so an empty list is a page that moved, not a
1645
+ catalogue that serves nothing for free.`);
1646
+ }
1647
+ return { routes, prices, freeNames };
1648
+ }
1649
+ __name(parsePage, "parsePage");
1650
+ function priceCell(cell) {
1651
+ const dollars = /^\$([0-9]+(?:\.[0-9]+)?)$/.exec(cell.trim());
1652
+ if (dollars)
1653
+ return Number(dollars[1]);
1654
+ return /^free$/i.test(cell.trim()) ? 0 : void 0;
1655
+ }
1656
+ __name(priceCell, "priceCell");
1657
+ function nameKey(name) {
1658
+ return name.toLowerCase().replace(/\([^)]*\)/g, "").replace(/[^a-z0-9.]/g, "");
1659
+ }
1660
+ __name(nameKey, "nameKey");
1661
+ function priceRowFor(rows, name) {
1662
+ const candidates = rows.filter((row) => nameKey(row.name) === nameKey(name));
1663
+ if (candidates.length === 0)
1664
+ return void 0;
1665
+ return candidates.find((row) => /off-peak/i.test(row.name)) ?? candidates.find((row) => !row.name.includes("(")) ?? candidates.find((row) => row.name.includes("\u2264"));
1666
+ }
1667
+ __name(priceRowFor, "priceRowFor");
1668
+ function protocolFor({ id, endpoint, npm }, service) {
1669
+ const refuse = /* @__PURE__ */ __name((why) => unusable(`"${id}" is documented as ${npm} on ${endpoint}, ${why}. A model whose wire is not
1670
+ known cannot be routed, so the run stops rather than picking one.`), "refuse");
1671
+ if (npm === void 0) {
1672
+ unusable(`"${id}" is documented on ${endpoint} with no AI SDK package stated, so no wire is
1673
+ known. A model whose wire is not known cannot be routed, so the run stops
1674
+ rather than picking one.`);
1675
+ }
1676
+ let url;
1677
+ try {
1678
+ url = new URL(endpoint);
1679
+ } catch {
1680
+ return refuse("which is not a URL");
1681
+ }
1682
+ if (url.host !== "opencode.ai")
1683
+ refuse("whose host is not the service's");
1684
+ const prefixes = DOCUMENTED_PREFIXES[service];
1685
+ if (prefixes === void 0)
1686
+ return refuse("on a service this script does not know");
1687
+ const prefix = prefixes.find((candidate) => url.pathname.startsWith(candidate));
1688
+ if (prefix === void 0)
1689
+ return refuse(`which is not on the ${service} service's own path`);
1690
+ const route = ROUTES.find((candidate) => candidate.npm === npm);
1691
+ if (!route) {
1692
+ return refuse(`with a package that is not one of the ${ROUTES.length} routes this driver implements`);
1693
+ }
1694
+ const tail = url.pathname.slice(prefix.length);
1695
+ const matches = route.kind === "path" ? tail === route.path.slice(1) : MODEL_PATH.test(tail);
1696
+ if (!matches)
1697
+ refuse(`which does not address ${route.path} on the ${service} service`);
1698
+ return route.protocol;
1699
+ }
1700
+ __name(protocolFor, "protocolFor");
1701
+ var GO_REFERENCE_ROUTES = Object.freeze({
1702
+ "deepseek-v4-flash": { documented: "chat", gateway: "responses" },
1703
+ "minimax-m2.7": { documented: "messages", gateway: "chat" },
1704
+ "minimax-m3": { documented: "messages", gateway: "chat" }
1705
+ });
1706
+ var ZEN_DIRECT_ANONYMOUS_IDS = /* @__PURE__ */ new Set(["space-bunny-free"]);
1707
+ function isDirectAnonymousZenId(id) {
1708
+ return ZEN_DIRECT_ANONYMOUS_IDS.has(id);
1709
+ }
1710
+ __name(isDirectAnonymousZenId, "isDirectAnonymousZenId");
1711
+ function pinnedProtocolForGo(id) {
1712
+ return GO_REFERENCE_ROUTES[id]?.gateway;
1713
+ }
1714
+ __name(pinnedProtocolForGo, "pinnedProtocolForGo");
1715
+ function pinnedProtocolFor(row, service) {
1716
+ const documented = protocolFor(row, service);
1717
+ if (service !== "go")
1718
+ return documented;
1719
+ const exception = GO_REFERENCE_ROUTES[row.id];
1720
+ if (!exception)
1721
+ return documented;
1722
+ if (documented === exception.gateway)
1723
+ return documented;
1724
+ if (documented !== exception.documented) {
1725
+ unusable(`go.mdx changed the route for "${row.id}" to ${documented}; its reference-client route exception must be reviewed.`);
1726
+ }
1727
+ return exception.gateway;
1728
+ }
1729
+ __name(pinnedProtocolFor, "pinnedProtocolFor");
1730
+ var CONSERVATIVE_LIMITS = Object.freeze({
1731
+ contextWindow: 65536,
1732
+ maxOutputTokens: 8192,
1733
+ supportsToolUse: true
1734
+ });
1735
+ function omissionKeys(omissions) {
1736
+ return omissions instanceof Set ? omissions : new Set(Object.keys(omissions));
1737
+ }
1738
+ __name(omissionKeys, "omissionKeys");
1739
+ function derive(service, parsed, providerKey, provider, omissions, served) {
1740
+ const omitted = omissionKeys(omissions);
1741
+ const freeIds = /* @__PURE__ */ new Set();
1742
+ for (const name of parsed.freeNames) {
1743
+ const row = parsed.routes.find((candidate) => nameKey(candidate.name) === nameKey(name));
1744
+ if (!row) {
1745
+ unusable(`The free-model list names "${name}", which the route table does not. Price and direct anonymous admission require that pairing, so the page has moved.`);
1746
+ }
1747
+ freeIds.add(row.id);
1748
+ }
1749
+ if (service === "zen") {
1750
+ for (const row of parsed.routes) {
1751
+ if (ZEN_DIRECT_ANONYMOUS_IDS.has(row.id) && !freeIds.has(row.id)) {
1752
+ unusable(`The zen page still routes "${row.id}" but no longer names it in the free-model list. Its direct anonymous admission must be reviewed.`);
1753
+ }
1754
+ }
1755
+ }
1756
+ const documented = new Set(parsed.routes.map((row) => row.id));
1757
+ const routeNames = new Set(parsed.routes.map((row) => nameKey(row.name)));
1758
+ const orphanPrices = parsed.prices.filter((row) => !routeNames.has(nameKey(row.name))).map((row) => row.name);
1759
+ const models = [];
1760
+ const undecided = [];
1761
+ const incomplete = [];
1762
+ let considered = 0;
1763
+ let silentOnTools = 0;
1764
+ let modelsDevEntries = 0;
1765
+ const unverified = [];
1766
+ for (const row of parsed.routes) {
1767
+ if (omitted.has(`${service}/${row.id}`))
1768
+ continue;
1769
+ if (row.npm === void 0) {
1770
+ undecided.push([
1771
+ `${service}/${row.id}`,
1772
+ "the page states no AI SDK package for it, so no wire is known"
1773
+ ]);
1774
+ continue;
1775
+ }
1776
+ considered += 1;
1777
+ const metadata = provider.models[row.id];
1778
+ if (!metadata || typeof metadata !== "object") {
1779
+ const statedPrice = priceRowFor(parsed.prices, row.name);
1780
+ if (served.has(row.id) && (statedPrice || freeIds.has(row.id))) {
1781
+ unverified.push({
1782
+ id: row.id,
1783
+ name: row.name,
1784
+ protocol: pinnedProtocolFor(row, service),
1785
+ ...CONSERVATIVE_LIMITS,
1786
+ inputModalities: ["text"],
1787
+ inputPrice: statedPrice ? statedPrice.input : 0,
1788
+ outputPrice: statedPrice ? statedPrice.output : 0,
1789
+ effortLevels: [],
1790
+ supportsAnonymousAccess: service === "zen" && freeIds.has(row.id) && ZEN_DIRECT_ANONYMOUS_IDS.has(row.id),
1791
+ limitsVerified: false
1792
+ });
1793
+ continue;
1794
+ }
1795
+ undecided.push([
1796
+ `${service}/${row.id}`,
1797
+ statedPrice || freeIds.has(row.id) ? `models.dev has no \`${providerKey}\` entry and the service does not serve it` : `models.dev has no \`${providerKey}\` entry`
1798
+ ]);
1799
+ continue;
1800
+ }
1801
+ if (metadata.tool_call === void 0)
1802
+ silentOnTools += 1;
1803
+ modelsDevEntries += 1;
1804
+ const priceRow = priceRowFor(parsed.prices, row.name);
1805
+ if (!priceRow && !freeIds.has(row.id)) {
1806
+ undecided.push([`${service}/${row.id}`, "the page neither prices it nor names it as free"]);
1807
+ continue;
1808
+ }
1809
+ const effort = (Array.isArray(metadata.reasoning_options) ? metadata.reasoning_options : []).find((option) => option?.type === "effort");
1810
+ const inputModalities = (Array.isArray(metadata.modalities?.input) ? metadata.modalities.input : []).map((modality) => MODALITIES[modality]).filter((modality) => modality !== void 0);
1811
+ const contextWindow = metadata.limit?.context;
1812
+ const maxOutputTokens = metadata.limit?.output;
1813
+ if (!isPositiveInteger(contextWindow) || !isPositiveInteger(maxOutputTokens) || inputModalities.length === 0) {
1814
+ incomplete.push(`${service}/${row.id} (context ${contextWindow}, output ${maxOutputTokens}, ${inputModalities.length} input modalities)`);
1815
+ continue;
1816
+ }
1817
+ const inputPrice = priceRow ? priceRow.input : 0;
1818
+ const outputPrice = priceRow ? priceRow.output : 0;
1819
+ models.push({
1820
+ id: row.id,
1821
+ name: row.name,
1822
+ protocol: pinnedProtocolFor(row, service),
1823
+ contextWindow,
1824
+ maxOutputTokens,
1825
+ inputModalities,
1826
+ inputPrice,
1827
+ outputPrice,
1828
+ supportsToolUse: metadata.tool_call === true,
1829
+ effortLevels: effortValues(effort?.values, `${service}/${row.id}`),
1830
+ // Anonymous admission is a Zen concept: the Go constructor refuses an
1831
+ // absent key outright, so the flag would mean nothing on that service.
1832
+ supportsAnonymousAccess: service === "zen" && freeIds.has(row.id) && ZEN_DIRECT_ANONYMOUS_IDS.has(row.id)
1833
+ });
1834
+ }
1835
+ if (incomplete.length > 0) {
1836
+ const all = incomplete.length === considered;
1837
+ unusable(`${incomplete.length}${all ? " \u2014 every one put to models.dev \u2014" : ` of ${considered}`} model(s) on the
1838
+ ${service} page have an entry in models.dev that is missing the fields the catalogue
1839
+ needs. An entry that exists and has lost its limits is models.dev having changed
1840
+ shape, not a curation decision, so this is reported as drift in the SOURCE:
1841
+ ${incomplete.slice(0, 8).map((line) => ` ${line}`).join("\n")}${incomplete.length > 8 ? `
1842
+ \u2026 and ${incomplete.length - 8} more` : ""}`);
1843
+ }
1844
+ if (modelsDevEntries > 0 && silentOnTools === modelsDevEntries) {
1845
+ unusable(`All ${modelsDevEntries} models.dev entr${modelsDevEntries === 1 ? "y" : "ies"} for the ${service}
1846
+ provider omit \`tool_call\`. A field that vanished from every entry at once is models.dev
1847
+ having changed shape, not every model losing its tools, so this is reported as a
1848
+ SOURCE failure rather than written into the catalogue as \`supportsToolUse: false\`.`);
1849
+ }
1850
+ if (unverified.length > 0 && modelsDevEntries === 0) {
1851
+ unusable(`models.dev has no \`${providerKey}\` entry for any of the ${considered} model(s) the ${service}
1852
+ page routes. That is the provider moving, not each model being new, so nothing is
1853
+ carried with guessed limits.`);
1854
+ }
1855
+ models.push(...unverified);
1856
+ const servedUncurried = [...served].filter((id) => !documented.has(id) && !omitted.has(`${service}/${id}`)).sort();
1857
+ const stale = [...omitted].filter((key) => key.startsWith(`${service}/`)).map((key) => key.slice(service.length + 1)).filter((id) => !documented.has(id) && !served.has(id));
1858
+ return { models, undecided, stale, orphanPrices, servedUncurried };
1859
+ }
1860
+ __name(derive, "derive");
1861
+ var EFFORTS = /* @__PURE__ */ new Set([
1862
+ "none",
1863
+ "minimal",
1864
+ "low",
1865
+ "medium",
1866
+ "high",
1867
+ "xhigh",
1868
+ "max",
1869
+ "ultra"
1870
+ ]);
1871
+ function effortValues(values, key) {
1872
+ if (values === void 0)
1873
+ return [];
1874
+ if (!Array.isArray(values))
1875
+ unusable(`models.dev states effort options for ${key} as a non-list.`);
1876
+ for (const value of values) {
1877
+ if (typeof value !== "string" || !EFFORTS.has(value)) {
1878
+ unusable(`models.dev states an effort level ${JSON.stringify(value)} for ${key}, which the SDK
1879
+ has no \`ReasoningEffort\` for. A level the driver cannot send is not carried by guessing.`);
1880
+ }
1881
+ }
1882
+ return [...values];
1883
+ }
1884
+ __name(effortValues, "effortValues");
1885
+ function isPositiveInteger(value) {
1886
+ return typeof value === "number" && Number.isSafeInteger(value) && value > 0;
1887
+ }
1888
+ __name(isPositiveInteger, "isPositiveInteger");
1889
+ var ROSTER_FLOOR = 0.8;
1890
+ function checkRosterFloor(built, committed) {
1891
+ for (const { service } of ZEN_SERVICES) {
1892
+ const derived = built[service].length;
1893
+ const carried = committed[service].length;
1894
+ if (derived === 0) {
1895
+ unusable(`The ${service} roster came out empty. Every documented model was rejected \u2014 a
1896
+ catalogue with nothing in it is not a result, and a review file that omits
1897
+ every model produces exactly this. Refusing rather than writing it.`);
1898
+ }
1899
+ if (carried > 0 && derived < carried * ROSTER_FLOOR) {
1900
+ unusable(`The ${service} roster fell from ${carried} models to ${derived}, past the floor of
1901
+ ${ROSTER_FLOOR * 100}% of what is committed. A fall that size is far more likely to be a source
1902
+ that changed shape than a decision somebody made, so it is reported as one.
1903
+ If upstream really did withdraw that many models, change ROSTER_FLOOR in
1904
+ packages/providers/zen/src/catalogue/derive.ts and say so in the commit.`);
1905
+ }
1906
+ }
1907
+ }
1908
+ __name(checkRosterFloor, "checkRosterFloor");
1909
+
1910
+ // ../providers/zen/dist/catalogue/catalogue.js
1911
+ var ZEN_CATALOGUE_VERSION = 1;
1912
+ function buildZenCatalogue(sources, options = {}) {
1913
+ const omissions = options.omissions ?? new Set(ZEN_OMITTED_MODELS);
1914
+ const omitted = omissions instanceof Set ? omissions : new Set(Object.keys(omissions));
1915
+ let modelsDev;
1916
+ try {
1917
+ modelsDev = JSON.parse(sources.modelsDev);
1918
+ } catch (error) {
1919
+ throw new ZenCatalogueSourceError(`models.dev is not JSON: ${error instanceof Error ? error.message : String(error)}`);
1920
+ }
1921
+ const carried = { zen: [], go: [] };
1922
+ const unrouted = { zen: [], go: [] };
1923
+ const servedUndocumented = [];
1924
+ const undecided = [];
1925
+ const stale = [];
1926
+ const orphanPrices = [];
1927
+ for (const { service, page, provider } of ZEN_SERVICES) {
1928
+ const parsed = parsePage(sources.docs[service], { page, service });
1929
+ const served = parseServed(service, sources.served[service]);
1930
+ const entry = modelsDev !== null && typeof modelsDev === "object" ? modelsDev[provider] : void 0;
1931
+ const models = entry !== null && typeof entry === "object" ? entry.models : void 0;
1932
+ if (models === null || typeof models !== "object" || Array.isArray(models)) {
1933
+ throw new ZenCatalogueSourceError(`models.dev has no \`${provider}\` provider entry.`);
1934
+ }
1935
+ const derived = derive(service, parsed, provider, { models }, omitted, served);
1936
+ carried[service] = derived.models.map(toZenModel);
1937
+ const ids = new Set(carried[service].map((model) => model.id));
1938
+ unrouted[service] = [...served].filter((id) => !ids.has(id) && !omitted.has(`${service}/${id}`)).sort();
1939
+ servedUndocumented.push(...derived.servedUncurried.map((id) => `${service}/${id}`));
1940
+ undecided.push(...derived.undecided);
1941
+ stale.push(...derived.stale.map((id) => `${service}/${id}`));
1942
+ orphanPrices.push(...derived.orphanPrices.map((name) => `${service}: ${name}`));
1943
+ }
1944
+ checkRosterFloor(carried, options.baseline ?? { zen: getZenModels("zen"), go: getZenModels("go") });
1945
+ let catalogue;
1946
+ try {
1947
+ catalogue = parseZenCatalogue({
1948
+ version: ZEN_CATALOGUE_VERSION,
1949
+ fetchedAt: (options.fetchedAt ?? /* @__PURE__ */ new Date()).toISOString(),
1950
+ zen: carried.zen,
1951
+ go: carried.go,
1952
+ unrouted
1953
+ });
1954
+ } catch (error) {
1955
+ if (!(error instanceof ZenCatalogueFormatError))
1956
+ throw error;
1957
+ throw new ZenCatalogueSourceError(`The derived catalogue is not one a stored copy could be read back as: ${error.message}`);
1958
+ }
1959
+ return {
1960
+ catalogue,
1961
+ report: Object.freeze({
1962
+ servedUndocumented: Object.freeze(servedUndocumented),
1963
+ undecided: Object.freeze(undecided.map((pair) => Object.freeze(pair))),
1964
+ stale: Object.freeze(stale),
1965
+ orphanPrices: Object.freeze(orphanPrices)
1966
+ })
1967
+ };
1968
+ }
1969
+ __name(buildZenCatalogue, "buildZenCatalogue");
1970
+ function toZenModel(model) {
1971
+ return {
1972
+ id: model.id,
1973
+ name: model.name,
1974
+ protocol: model.protocol,
1975
+ contextWindow: model.contextWindow,
1976
+ maxOutputTokens: model.maxOutputTokens,
1977
+ inputModalities: [...model.inputModalities],
1978
+ inputPrice: model.inputPrice,
1979
+ outputPrice: model.outputPrice,
1980
+ supportsToolUse: model.supportsToolUse,
1981
+ supportsStreaming: true,
1982
+ effortLevels: [...model.effortLevels],
1983
+ ...model.supportsAnonymousAccess ? { supportsAnonymousAccess: true } : {},
1984
+ ...model.limitsVerified === false ? { limitsVerified: false } : {}
1985
+ };
1986
+ }
1987
+ __name(toZenModel, "toZenModel");
1988
+ function freezeCatalogue(catalogue) {
1989
+ for (const service of ["zen", "go"]) {
1990
+ for (const model of catalogue[service]) {
1991
+ if (model.inputModalities)
1992
+ Object.freeze(model.inputModalities);
1993
+ if (model.effortLevels)
1994
+ Object.freeze(model.effortLevels);
1995
+ Object.freeze(model);
1996
+ }
1997
+ Object.freeze(catalogue[service]);
1998
+ Object.freeze(catalogue.unrouted[service]);
1999
+ }
2000
+ Object.freeze(catalogue.unrouted);
2001
+ return Object.freeze(catalogue);
2002
+ }
2003
+ __name(freezeCatalogue, "freezeCatalogue");
2004
+ var MODEL_ID = /^[a-z0-9][a-z0-9.-]*$/;
2005
+ var PROTOCOLS = /* @__PURE__ */ new Set([
2006
+ "chat",
2007
+ "responses",
2008
+ "messages",
2009
+ "google"
2010
+ ]);
2011
+ var INPUT_MODALITIES = /* @__PURE__ */ new Set([
2012
+ "text",
2013
+ "image",
2014
+ "document"
2015
+ ]);
2016
+ var EFFORTS2 = /* @__PURE__ */ new Set([
2017
+ "none",
2018
+ "minimal",
2019
+ "low",
2020
+ "medium",
2021
+ "high",
2022
+ "xhigh",
2023
+ "max",
2024
+ "ultra"
2025
+ ]);
2026
+ var MODEL_KEYS = /* @__PURE__ */ new Set([
2027
+ "id",
2028
+ "name",
2029
+ "protocol",
2030
+ "contextWindow",
2031
+ "maxOutputTokens",
2032
+ "inputModalities",
2033
+ "inputPrice",
2034
+ "outputPrice",
2035
+ "supportsToolUse",
2036
+ "supportsStreaming",
2037
+ "effortLevels",
2038
+ "supportsAnonymousAccess",
2039
+ "limitsVerified"
2040
+ ]);
2041
+ var REVIEWED_OMISSIONS = new Set(ZEN_OMITTED_MODELS);
2042
+ var ZenCatalogueFormatError = class extends Error {
2043
+ static {
2044
+ __name(this, "ZenCatalogueFormatError");
2045
+ }
2046
+ name = "ZenCatalogueFormatError";
2047
+ };
2048
+ function invalid(where, why) {
2049
+ throw new ZenCatalogueFormatError(`${where} ${why}.`);
2050
+ }
2051
+ __name(invalid, "invalid");
2052
+ function record(value, where) {
2053
+ if (value === null || typeof value !== "object" || Array.isArray(value)) {
2054
+ invalid(where, "is not an object");
2055
+ }
2056
+ return value;
2057
+ }
2058
+ __name(record, "record");
2059
+ function onlyKeys(value, keys, where) {
2060
+ for (const key of Object.keys(value)) {
2061
+ if (!keys.has(key))
2062
+ invalid(`${where}.${key}`, "is not a catalogue field");
2063
+ }
2064
+ }
2065
+ __name(onlyKeys, "onlyKeys");
2066
+ function positiveInteger(value, where) {
2067
+ if (typeof value !== "number" || !Number.isSafeInteger(value) || value <= 0) {
2068
+ invalid(where, "is not a positive integer");
2069
+ }
2070
+ return value;
2071
+ }
2072
+ __name(positiveInteger, "positiveInteger");
2073
+ function price(value, where) {
2074
+ if (typeof value !== "number" || !Number.isFinite(value) || value < 0) {
2075
+ invalid(where, "is not a non-negative price");
2076
+ }
2077
+ return value;
2078
+ }
2079
+ __name(price, "price");
2080
+ function members(value, allowed, where, nonEmpty) {
2081
+ if (!Array.isArray(value))
2082
+ invalid(where, "is not a list");
2083
+ if (nonEmpty && value.length === 0)
2084
+ invalid(where, "is empty");
2085
+ for (const item of value) {
2086
+ if (typeof item !== "string" || !allowed.has(item)) {
2087
+ invalid(where, `names ${JSON.stringify(item)}, which is not one it may name`);
2088
+ }
2089
+ }
2090
+ if (new Set(value).size !== value.length)
2091
+ invalid(where, "repeats an entry");
2092
+ return [...value];
2093
+ }
2094
+ __name(members, "members");
2095
+ function parseModel(value, service, where) {
2096
+ const raw = record(value, where);
2097
+ onlyKeys(raw, MODEL_KEYS, where);
2098
+ const id = raw.id;
2099
+ if (typeof id !== "string" || !MODEL_ID.test(id))
2100
+ invalid(`${where}.id`, "is not a model id");
2101
+ if (REVIEWED_OMISSIONS.has(`${service}/${id}`)) {
2102
+ invalid(`${where}.id`, "is now a reviewed omission");
2103
+ }
2104
+ const name = raw.name;
2105
+ if (typeof name !== "string" || name.trim().length === 0 || name.length > 200 || !isDisplayableName(name)) {
2106
+ invalid(`${where}.name`, "is not a model name");
2107
+ }
2108
+ const protocol = raw.protocol;
2109
+ if (typeof protocol !== "string" || !PROTOCOLS.has(protocol)) {
2110
+ invalid(`${where}.protocol`, "is not a Zen protocol");
2111
+ }
2112
+ const pinnedGoProtocol = service === "go" ? pinnedProtocolForGo(id) : void 0;
2113
+ if (pinnedGoProtocol !== void 0 && protocol !== pinnedGoProtocol) {
2114
+ invalid(`${where}.protocol`, `does not match the pinned Go route ${pinnedGoProtocol}`);
2115
+ }
2116
+ if (typeof raw.supportsToolUse !== "boolean") {
2117
+ invalid(`${where}.supportsToolUse`, "is not true or false");
2118
+ }
2119
+ if (raw.supportsStreaming !== true)
2120
+ invalid(`${where}.supportsStreaming`, "is not true");
2121
+ if (raw.limitsVerified !== void 0 && raw.limitsVerified !== false) {
2122
+ invalid(`${where}.limitsVerified`, "is only ever `false`, and absent when limits are stated");
2123
+ }
2124
+ const anonymous = raw.supportsAnonymousAccess;
2125
+ if (anonymous !== void 0 && (anonymous !== true || service !== "zen")) {
2126
+ invalid(`${where}.supportsAnonymousAccess`, "is only ever `true`, and only on zen");
2127
+ }
2128
+ if (anonymous === true && !isDirectAnonymousZenId(id)) {
2129
+ invalid(`${where}.supportsAnonymousAccess`, "is not a verified direct-anonymous Zen model");
2130
+ }
2131
+ return {
2132
+ id,
2133
+ name,
2134
+ protocol,
2135
+ contextWindow: positiveInteger(raw.contextWindow, `${where}.contextWindow`),
2136
+ maxOutputTokens: positiveInteger(raw.maxOutputTokens, `${where}.maxOutputTokens`),
2137
+ inputModalities: members(raw.inputModalities, INPUT_MODALITIES, `${where}.inputModalities`, true),
2138
+ inputPrice: price(raw.inputPrice, `${where}.inputPrice`),
2139
+ outputPrice: price(raw.outputPrice, `${where}.outputPrice`),
2140
+ supportsToolUse: raw.supportsToolUse,
2141
+ supportsStreaming: true,
2142
+ effortLevels: members(raw.effortLevels, EFFORTS2, `${where}.effortLevels`, false),
2143
+ ...anonymous === true ? { supportsAnonymousAccess: true } : {},
2144
+ ...raw.limitsVerified === false ? { limitsVerified: false } : {}
2145
+ };
2146
+ }
2147
+ __name(parseModel, "parseModel");
2148
+ function parseZenCatalogue(value) {
2149
+ const raw = record(value, "catalogue");
2150
+ onlyKeys(raw, /* @__PURE__ */ new Set(["version", "fetchedAt", "zen", "go", "unrouted"]), "catalogue");
2151
+ if (raw.version !== ZEN_CATALOGUE_VERSION) {
2152
+ invalid("catalogue.version", `is not ${ZEN_CATALOGUE_VERSION}`);
2153
+ }
2154
+ const fetchedAt = raw.fetchedAt;
2155
+ if (typeof fetchedAt !== "string" || Number.isNaN(Date.parse(fetchedAt)) || new Date(fetchedAt).toISOString() !== fetchedAt) {
2156
+ invalid("catalogue.fetchedAt", "is not an ISO 8601 timestamp");
2157
+ }
2158
+ const unroutedRaw = record(raw.unrouted, "catalogue.unrouted");
2159
+ onlyKeys(unroutedRaw, /* @__PURE__ */ new Set(["zen", "go"]), "catalogue.unrouted");
2160
+ const carried = { zen: [], go: [] };
2161
+ const unrouted = { zen: [], go: [] };
2162
+ for (const service of ["zen", "go"]) {
2163
+ const list = raw[service];
2164
+ if (!Array.isArray(list) || list.length === 0) {
2165
+ invalid(`catalogue.${service}`, "is not a non-empty list of models");
2166
+ }
2167
+ carried[service] = list.map((entry, index) => parseModel(entry, service, `catalogue.${service}[${index}]`));
2168
+ const ids = new Set(carried[service].map((model) => model.id));
2169
+ if (ids.size !== carried[service].length)
2170
+ invalid(`catalogue.${service}`, "repeats a model id");
2171
+ const names = unroutedRaw[service];
2172
+ if (!Array.isArray(names))
2173
+ invalid(`catalogue.unrouted.${service}`, "is not a list");
2174
+ for (const id of names) {
2175
+ if (typeof id !== "string" || !MODEL_ID.test(id)) {
2176
+ invalid(`catalogue.unrouted.${service}`, `names ${JSON.stringify(id)}, which is not a model id`);
2177
+ }
2178
+ if (ids.has(id))
2179
+ invalid(`catalogue.unrouted.${service}`, `names the carried model "${id}"`);
2180
+ }
2181
+ if (new Set(names).size !== names.length) {
2182
+ invalid(`catalogue.unrouted.${service}`, "repeats an id");
2183
+ }
2184
+ unrouted[service] = [...names];
2185
+ }
2186
+ return freezeCatalogue({
2187
+ version: ZEN_CATALOGUE_VERSION,
2188
+ fetchedAt,
2189
+ zen: carried.zen,
2190
+ go: carried.go,
2191
+ unrouted
2192
+ });
2193
+ }
2194
+ __name(parseZenCatalogue, "parseZenCatalogue");
2195
+ function findZenCatalogueModel(catalogue, service, id) {
2196
+ const runtime = catalogue?.[service].find((model) => model.id === id);
2197
+ if (runtime)
2198
+ return runtime;
2199
+ if (isUnroutedZenModel(catalogue, service, id))
2200
+ return void 0;
2201
+ return findZenModel(service, id);
2202
+ }
2203
+ __name(findZenCatalogueModel, "findZenCatalogueModel");
2204
+ function isUnroutedZenModel(catalogue, service, id) {
2205
+ return catalogue?.unrouted[service].includes(id) === true;
2206
+ }
2207
+ __name(isUnroutedZenModel, "isUnroutedZenModel");
2208
+
2209
+ // ../providers/zen/dist/catalogue/experimental-free.js
2210
+ function isExperimentalFreeZenModel(service, model) {
2211
+ return service === "zen" && model !== void 0 && model.inputPrice === 0 && model.outputPrice === 0;
2212
+ }
2213
+ __name(isExperimentalFreeZenModel, "isExperimentalFreeZenModel");
2214
+
2215
+ export {
2216
+ ZEN_OMITTED_MODELS,
2217
+ getZenModels,
2218
+ findZenModel,
2219
+ ZenCatalogueSourceError,
2220
+ ZEN_SERVICES,
2221
+ SERVICE_PREFIX,
2222
+ buildZenCatalogue,
2223
+ parseZenCatalogue,
2224
+ findZenCatalogueModel,
2225
+ isUnroutedZenModel,
2226
+ isExperimentalFreeZenModel
2227
+ };
2228
+ //# sourceMappingURL=chunk-GIXSS6KW.js.map