@qwen-code/qwen-code 0.22.0 → 0.22.2-preview.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 (449) hide show
  1. package/bundled/computer-use/SKILL.md +229 -0
  2. package/bundled/computer-use/agents/openai.yaml +4 -0
  3. package/bundled/coordinate/SKILL.md +5 -5
  4. package/bundled/qc-helper/docs/configuration/auth.md +7 -7
  5. package/bundled/qc-helper/docs/configuration/model-providers.md +70 -9
  6. package/bundled/qc-helper/docs/configuration/settings.md +40 -40
  7. package/bundled/qc-helper/docs/extension/introduction.md +3 -1
  8. package/bundled/qc-helper/docs/features/channels/_meta.ts +1 -0
  9. package/bundled/qc-helper/docs/features/channels/dingtalk.md +12 -0
  10. package/bundled/qc-helper/docs/features/channels/dws.md +120 -0
  11. package/bundled/qc-helper/docs/features/channels/overview.md +3 -3
  12. package/bundled/qc-helper/docs/features/code-review.md +25 -21
  13. package/bundled/qc-helper/docs/features/commands.md +2 -2
  14. package/bundled/qc-helper/docs/features/computer-use.md +57 -51
  15. package/bundled/qc-helper/docs/features/mcp.md +35 -12
  16. package/bundled/qc-helper/docs/features/sub-agents.md +1 -1
  17. package/bundled/qc-helper/docs/features/worktree.md +1 -1
  18. package/bundled/qc-helper/docs/overview.md +1 -1
  19. package/bundled/qc-helper/docs/quickstart.md +1 -1
  20. package/bundled/qc-helper/docs/qwen-serve.md +29 -6
  21. package/bundled/review/SKILL.md +119 -417
  22. package/bundled/review/references/aone.md +18 -0
  23. package/bundled/review/references/persistence.md +105 -0
  24. package/bundled/review/references/posting.md +270 -0
  25. package/chunks/MaxSizedBox-XYQOMOBE.js +112 -0
  26. package/chunks/{StandaloneSessionPicker-KTHPCSR6.js → StandaloneSessionPicker-KFMJILVY.js} +87 -86
  27. package/chunks/{acp-startup-profiler-T4GEAPLX.js → acp-startup-profiler-GNYAL6LI.js} +2 -2
  28. package/chunks/{acpAgent-CRY3JZ5O.js → acpAgent-KNFTTDWL.js} +2216 -1931
  29. package/chunks/agent-6V6MZOA7.js +97 -0
  30. package/chunks/agent-headless-3ZC4LX3E.js +87 -0
  31. package/chunks/{anthropicContentGenerator-Y2OX6LS4.js → anthropicContentGenerator-U76GTVB6.js} +128 -58
  32. package/chunks/{artifact-tool-SBXMTVCB.js → artifact-tool-XDJCZZCF.js} +2 -2
  33. package/chunks/{askUserQuestion-KEQJRFD6.js → askUserQuestion-ZXXERLEV.js} +2 -2
  34. package/chunks/bridge-LFFLHLU5.js +119 -0
  35. package/chunks/{ca-D3F4S6NG.js → ca-7HPYOYSZ.js} +3 -0
  36. package/chunks/{channel-management-service-IRTT7RNE.js → channel-management-service-HXXS3HOZ.js} +4 -4
  37. package/chunks/channel-settings-store-CAL2HWAH.js +117 -0
  38. package/chunks/{channel-worker-group-BJNMR2MP.js → channel-worker-group-EVDC2P4K.js} +8 -7
  39. package/chunks/{channel-worker-manager-EMA7CQDJ.js → channel-worker-manager-IJJZHGEI.js} +8 -7
  40. package/chunks/{channel-worker-supervisor-F6I6WSWW.js → channel-worker-supervisor-YSKB5GVB.js} +12 -7
  41. package/chunks/{chunk-2TRNCJK4.js → chunk-27ONXAFY.js} +1 -1
  42. package/chunks/{read-package-up-UXSW3YPB.js → chunk-2EAZ43JQ.js} +1 -0
  43. package/chunks/{chunk-DB2OKNTU.js → chunk-2FN2HNTI.js} +2 -2
  44. package/chunks/{chunk-KM73TBQ4.js → chunk-2LD5U7Q3.js} +31 -0
  45. package/chunks/{chunk-QJHPWLZC.js → chunk-2MHGD7EE.js} +1 -1
  46. package/chunks/{chunk-A5F2YNO6.js → chunk-2NNTE2ED.js} +245 -10
  47. package/chunks/{chunk-Z3JMO2CH.js → chunk-2SERYG4T.js} +1 -1
  48. package/chunks/{chunk-4J7OPYNS.js → chunk-2YDYDDE2.js} +6 -6
  49. package/chunks/{chunk-SE55HQGF.js → chunk-3B5DCAQU.js} +74 -52
  50. package/chunks/{chunk-UIRLQ3N7.js → chunk-3BV7TZNQ.js} +3 -3
  51. package/chunks/{chunk-2Z6LSQMF.js → chunk-3FSBMAYD.js} +1 -1
  52. package/chunks/{chunk-S4C4JJKE.js → chunk-3UXJFOB3.js} +5 -5
  53. package/chunks/{chunk-DJEHYM4H.js → chunk-3UZCLCXR.js} +3 -3
  54. package/chunks/{chunk-BUGYW6FB.js → chunk-4IDJQOCO.js} +1 -1
  55. package/chunks/chunk-4K7NQDCG.js +104 -0
  56. package/chunks/{chunk-WS7PAXXR.js → chunk-4N6UAPD3.js} +18 -13
  57. package/chunks/{chunk-VYC7XFYV.js → chunk-4PLAO7FS.js} +5 -5
  58. package/chunks/{chunk-UZPYR3EV.js → chunk-4TPAG3O7.js} +1 -1
  59. package/chunks/{chunk-2E3V7G6Y.js → chunk-4X5GYZFO.js} +55 -50
  60. package/chunks/{chunk-XYQHT3AW.js → chunk-4Z3PSHN4.js} +2 -2
  61. package/chunks/{chunk-PDL6LKB5.js → chunk-5AFPOEY3.js} +1 -1
  62. package/chunks/{chunk-BB5IMQCV.js → chunk-5CW26JIE.js} +2 -2
  63. package/chunks/{chunk-7KOFLDEP.js → chunk-5JTIYALA.js} +1 -1
  64. package/chunks/{chunk-U2UYQMM6.js → chunk-5NV2AN56.js} +3 -3
  65. package/chunks/{chunk-CXJHQVEK.js → chunk-5PA6UEYA.js} +4 -0
  66. package/chunks/{chunk-IBJ5S45N.js → chunk-5T4LWWNX.js} +2 -2
  67. package/chunks/{chunk-VUMLT7E5.js → chunk-5Y2JCJAH.js} +2 -2
  68. package/chunks/{chunk-BEGIBJAZ.js → chunk-6HOU52QX.js} +4 -4
  69. package/chunks/{chunk-GAHYKJPV.js → chunk-6US7BF3G.js} +7 -59
  70. package/chunks/{chunk-3CLIDIVQ.js → chunk-73WFGVIZ.js} +3 -3
  71. package/chunks/{chunk-ZZUVC6RI.js → chunk-76WGY6LW.js} +3 -3
  72. package/chunks/{chunk-XLDFW44M.js → chunk-77TOMRBG.js} +3 -3
  73. package/chunks/{chunk-ND7NOI4P.js → chunk-7CWEZQ6T.js} +0 -15
  74. package/chunks/{chunk-DWCKACFL.js → chunk-7DPKPBOQ.js} +2 -2
  75. package/chunks/{chunk-X7V3N6YH.js → chunk-7JJUFI36.js} +218 -37
  76. package/chunks/{chunk-45NQKMYB.js → chunk-7JPW6IYH.js} +1 -1
  77. package/chunks/{chunk-HDKCKCYO.js → chunk-7QGEJI7M.js} +1 -1
  78. package/chunks/{chunk-PHJJ3RVO.js → chunk-7XKW4CVK.js} +7 -15
  79. package/chunks/{chunk-O5Z7EB6Y.js → chunk-AYHQZBJ4.js} +170 -207
  80. package/chunks/{chunk-7DYNJFES.js → chunk-AYVIGUUK.js} +6 -1
  81. package/chunks/{chunk-43T5WDQ7.js → chunk-BFSFJR3D.js} +1 -1
  82. package/chunks/{chunk-OARZJFZX.js → chunk-BGWT7VBV.js} +4 -4
  83. package/chunks/{chunk-AP3B7LKD.js → chunk-BKDAF7ES.js} +2 -2
  84. package/chunks/{chunk-B6UBOIFE.js → chunk-BQBUZDDH.js} +14 -11
  85. package/chunks/{chunk-6PCOVQO2.js → chunk-BU7OUDQB.js} +8 -8
  86. package/chunks/{chunk-VLRBJ24J.js → chunk-BVE5EMIG.js} +2 -2
  87. package/chunks/{chunk-6UQSU7CQ.js → chunk-C2BAEV64.js} +58 -107
  88. package/chunks/{chunk-QKBYFU2Q.js → chunk-CFKIH3D3.js} +21 -1
  89. package/chunks/{chunk-URN2JIAQ.js → chunk-CITGRGCM.js} +2 -1
  90. package/chunks/{chunk-WU5E4HMO.js → chunk-CPPYZHBN.js} +1 -1
  91. package/chunks/{chunk-T6XLJRQY.js → chunk-D6XO27Z5.js} +36509 -5182
  92. package/chunks/{chunk-Q54XG7IX.js → chunk-DEYPMJPD.js} +1 -1
  93. package/chunks/{chunk-KSPRQSB4.js → chunk-DIMEPKCW.js} +52 -12
  94. package/chunks/{chunk-I432KXWD.js → chunk-DP7LABIB.js} +1 -1
  95. package/chunks/{chunk-P47E4SJC.js → chunk-DWRFOH3G.js} +3 -3
  96. package/chunks/{chunk-J5ZDDUKM.js → chunk-DX5FZGHZ.js} +4 -4
  97. package/chunks/{chunk-36OF5PRW.js → chunk-E4I5MVBR.js} +7 -3
  98. package/chunks/{chunk-AW27A43Y.js → chunk-E55H6BZ7.js} +93 -1
  99. package/chunks/{chunk-K623ENWT.js → chunk-E6FGMDFQ.js} +4 -0
  100. package/chunks/{chunk-YZBDKFRQ.js → chunk-EADEZDPO.js} +993 -895
  101. package/chunks/{chunk-5XUTPXQU.js → chunk-EAV3TENS.js} +6 -9
  102. package/chunks/{chunk-LI4YHTQK.js → chunk-EB4VDXNI.js} +1 -1
  103. package/chunks/{chunk-JOLJTKIG.js → chunk-EC5BONC3.js} +1 -1
  104. package/chunks/{chunk-W4CRPSC5.js → chunk-ELY4QVIB.js} +1 -1
  105. package/chunks/{chunk-AVCCKIZ6.js → chunk-EWBY3PFB.js} +1 -1
  106. package/chunks/chunk-FBX2SDQ4.js +48 -0
  107. package/chunks/{chunk-C72BXMJ5.js → chunk-FJWICLG7.js} +1 -1
  108. package/chunks/{chunk-LDGWX737.js → chunk-FN5C6C7G.js} +160 -59
  109. package/chunks/{chunk-3ZFJUBTP.js → chunk-FPH6TXD3.js} +1 -1
  110. package/chunks/{chunk-WRT324N6.js → chunk-FVDQ5E67.js} +3 -3
  111. package/chunks/{chunk-2A4C2MEG.js → chunk-FY62MBPS.js} +35 -12
  112. package/chunks/{chunk-VFACN2CE.js → chunk-GNMJNDZE.js} +1 -1
  113. package/chunks/{chunk-6QSA4JHL.js → chunk-GQAIZL3H.js} +2772 -814
  114. package/chunks/{chunk-PZRUV52H.js → chunk-GTUKW3I6.js} +20 -2
  115. package/chunks/{chunk-7DMTAQJ6.js → chunk-GXWY24QS.js} +132 -49
  116. package/chunks/chunk-GYTKQYDB.js +23 -0
  117. package/chunks/{chunk-VMJL7RH6.js → chunk-GZJUCMH4.js} +4 -4
  118. package/chunks/{chunk-2GXYDNXP.js → chunk-H2MDBYLL.js} +8 -8
  119. package/chunks/{chunk-RDG44S5I.js → chunk-H4JK2A2V.js} +2 -2
  120. package/chunks/{chunk-FVBVJEBG.js → chunk-HOANA6GC.js} +10 -8
  121. package/chunks/{chunk-AO4M6NMD.js → chunk-I6HWGOWD.js} +60 -20
  122. package/chunks/{chunk-7IV52LTO.js → chunk-I6VVOZDK.js} +2 -2
  123. package/chunks/{chunk-SQS55KR4.js → chunk-IJVDHPKD.js} +2 -2
  124. package/chunks/{chunk-QS4ENGVF.js → chunk-IKN3IUJP.js} +9 -8
  125. package/chunks/{chunk-2UZJWSVD.js → chunk-ILPXSKGQ.js} +2 -2
  126. package/chunks/{chunk-OVH5Y7KS.js → chunk-IN66KO3N.js} +19 -3
  127. package/chunks/{chunk-ZRYQMWEP.js → chunk-IPQA4SR5.js} +2 -2
  128. package/chunks/{chunk-AZF6SME3.js → chunk-JECO75XD.js} +3 -3
  129. package/chunks/{chunk-MQP3MHWN.js → chunk-JJJD6QCC.js} +21 -15
  130. package/chunks/chunk-JLGFGPZJ.js +346 -0
  131. package/chunks/{chunk-WZDM44SB.js → chunk-JUIJ3FXC.js} +7 -7
  132. package/chunks/{chunk-A6NRNRKE.js → chunk-JVPFTDBK.js} +1 -1
  133. package/chunks/{chunk-2J3OJGTL.js → chunk-K2OJUPOE.js} +1 -21
  134. package/chunks/{chunk-GHY5OIYP.js → chunk-K5PNJ6VL.js} +13 -13
  135. package/chunks/{chunk-NW35NVFN.js → chunk-K6FURWIX.js} +4 -4
  136. package/chunks/{chunk-6NFAEG54.js → chunk-KOJ6MHD5.js} +24 -13
  137. package/chunks/{chunk-A5F63FEW.js → chunk-L436XFLJ.js} +1 -1
  138. package/chunks/{chunk-GIWB5QLV.js → chunk-LJP2BBMK.js} +4 -4
  139. package/chunks/{chunk-FYZMB6DB.js → chunk-LKOSBI2M.js} +11 -11
  140. package/chunks/{create-sub-session-XBCVGNFU.js → chunk-LRKMQPMD.js} +4 -6
  141. package/chunks/{chunk-5HJUPACR.js → chunk-LRLMDV5X.js} +2 -2
  142. package/chunks/{chunk-MHG6NDS6.js → chunk-MB4OCRQ2.js} +2 -2
  143. package/chunks/{chunk-IIWGSX4L.js → chunk-MI7CMXPU.js} +1 -1
  144. package/chunks/{chunk-ZLCT4C5A.js → chunk-MZS7GEC7.js} +1 -1
  145. package/chunks/{chunk-WWUSHZ7M.js → chunk-N4B7VPXK.js} +5 -5
  146. package/chunks/{chunk-BMCSKS37.js → chunk-NUHCXGAD.js} +6 -6
  147. package/chunks/{chunk-XZJKSETB.js → chunk-O3BUXIPM.js} +3 -3
  148. package/chunks/{chunk-4XPSVIED.js → chunk-O5YGAEQS.js} +6 -6
  149. package/chunks/{chunk-ZRFUT5VV.js → chunk-OAAPGZVH.js} +7 -7
  150. package/chunks/{chunk-UU4WC7DK.js → chunk-OGZAQWJP.js} +82 -12
  151. package/chunks/{chunk-5XHAOUWD.js → chunk-OI2DR6QB.js} +3 -3
  152. package/chunks/{chunk-EFB657PR.js → chunk-OX44MOAN.js} +3 -3
  153. package/chunks/{chunk-LURJYO2T.js → chunk-OZ6KS6KW.js} +4 -0
  154. package/chunks/{chunk-4F5WV4RF.js → chunk-PAJGKZAA.js} +281 -10
  155. package/chunks/{chunk-HIK2OF33.js → chunk-PVBT5QPD.js} +1 -1
  156. package/chunks/{chunk-MPHLIJYL.js → chunk-QB5DD75E.js} +14 -8
  157. package/chunks/chunk-QHMLYMMS.js +32 -0
  158. package/chunks/{chunk-4CWDWDL6.js → chunk-RCDXSEJ5.js} +1 -1
  159. package/chunks/{chunk-L4HVF7LM.js → chunk-RQ5ASDFQ.js} +3 -3
  160. package/chunks/{chunk-PXOJLJ5W.js → chunk-RQAMNZ4Y.js} +333 -184
  161. package/chunks/{chunk-K52PZNU4.js → chunk-RRKNX553.js} +2 -2
  162. package/chunks/{chunk-RPJQ3O4M.js → chunk-RUJTCU46.js} +31 -41
  163. package/chunks/{chunk-62JOGZL5.js → chunk-RUQBJS34.js} +199 -87
  164. package/chunks/chunk-RXFQM6FQ.js +42 -0
  165. package/chunks/{chunk-SJ4HB27T.js → chunk-SDVF6A42.js} +3 -3
  166. package/chunks/{chunk-TBVSALA3.js → chunk-SKNVVYIJ.js} +3 -3
  167. package/chunks/{chunk-JGUBDRBC.js → chunk-SLEWBQWM.js} +3 -3
  168. package/chunks/{chunk-UUQFJILB.js → chunk-SQPOJ4ZI.js} +15 -3
  169. package/chunks/{chunk-ISJMN3ML.js → chunk-T2CRBIDJ.js} +1 -1
  170. package/chunks/{chunk-MZKWFWVG.js → chunk-T2HMXHYA.js} +6 -6
  171. package/chunks/{chunk-FEMQ6Y7W.js → chunk-T6OODF2U.js} +47 -126
  172. package/chunks/{chunk-KVGR4MCF.js → chunk-TOF4UZHH.js} +3 -3
  173. package/chunks/{chunk-7HFULI45.js → chunk-TQYZG5DU.js} +3 -3
  174. package/chunks/{chunk-LD5VIJ7S.js → chunk-TWSKM647.js} +1 -1
  175. package/chunks/{chunk-25NESM4G.js → chunk-TWUA5EIL.js} +29 -5
  176. package/chunks/{chunk-6FRJEE2S.js → chunk-U66FXEH2.js} +5 -5
  177. package/chunks/{chunk-7NBVNAJJ.js → chunk-UCSV2IZW.js} +3 -3
  178. package/chunks/chunk-UVDOONRU.js +20 -0
  179. package/chunks/{chunk-FDD2IUEL.js → chunk-UX3IFLJM.js} +229 -21
  180. package/chunks/{chunk-YDJRMQU4.js → chunk-V3GINY6K.js} +3 -3
  181. package/chunks/{chunk-XL5K4SVK.js → chunk-VL4YX3FH.js} +1 -1
  182. package/chunks/{chunk-ZS5BHEPD.js → chunk-VLY6XOBY.js} +1 -1
  183. package/chunks/{chunk-KIVGVFMM.js → chunk-VUZY6MEQ.js} +16 -4
  184. package/chunks/{chunk-OE52YHCZ.js → chunk-W2WRNJKX.js} +11 -11
  185. package/chunks/{chunk-YLFLHKDL.js → chunk-W3N5XAZ6.js} +1 -1
  186. package/chunks/{chunk-IWOWEENB.js → chunk-WBT3STGU.js} +385 -25
  187. package/chunks/{chunk-S3G6YFQC.js → chunk-WEGXPP5E.js} +1 -1
  188. package/chunks/{chunk-RDQ7QB4Y.js → chunk-XJS54K4A.js} +2 -2
  189. package/chunks/{chunk-7JBHIQS2.js → chunk-XO4NGYRP.js} +7 -13
  190. package/chunks/{chunk-F6WFNA7U.js → chunk-XZA32HII.js} +3 -6
  191. package/chunks/{chunk-VEND4KA4.js → chunk-YT5XN3HV.js} +1 -1
  192. package/chunks/{chunk-NUGZAFR2.js → chunk-ZEADBZLO.js} +147 -6
  193. package/chunks/chunk-ZELCTN6Y.js +29 -0
  194. package/chunks/{chunk-TQOF5KBL.js → chunk-ZEZKIS2K.js} +0 -31
  195. package/chunks/{chunk-IOSEW6KP.js → chunk-ZJG323IA.js} +5 -4
  196. package/chunks/{chunk-VSNPOSDN.js → chunk-ZKAZP2ZG.js} +107 -12
  197. package/chunks/{chunk-YMVFIYHV.js → chunk-ZLTEQYNC.js} +2 -2
  198. package/chunks/{chunk-O5BDEWBC.js → chunk-ZWKGZB2K.js} +3 -3
  199. package/chunks/chunk-ZYNTSXWK.js +32 -0
  200. package/chunks/config-utils-YMJNA25D.js +113 -0
  201. package/chunks/contextCommand-WMPSNKPG.js +108 -0
  202. package/chunks/{core-runtime-CES6JSVV.js → core-runtime-6TBMEULI.js} +63 -58
  203. package/chunks/create-sub-session-RVHSWVAP.js +17 -0
  204. package/chunks/{create-sub-session-UJTPMVOG.js → create-sub-session-SAOMTP62.js} +60 -58
  205. package/chunks/{cron-create-IKA56DAF.js → cron-create-IJGVR5R2.js} +4 -4
  206. package/chunks/{cron-delete-K5Q62EGH.js → cron-delete-4N5BI6GL.js} +4 -4
  207. package/chunks/{cron-list-QBFGAMP7.js → cron-list-2CATIPUX.js} +4 -4
  208. package/chunks/{daemon-RZZUPGOJ.js → daemon-NAYK4XXU.js} +51 -24
  209. package/chunks/{daemon-git-worktree-guard-3QY2BQYB.js → daemon-git-worktree-guard-TYLESM6G.js} +338 -92
  210. package/chunks/daemon-status-provider-YBQAZD3G.js +118 -0
  211. package/chunks/daemon-trust-policy-O75ZSIJN.js +114 -0
  212. package/chunks/{daemon-trust-policy-monitor-TK4K7M63.js → daemon-trust-policy-monitor-WWX7I7P6.js} +68 -66
  213. package/chunks/{de-RYUHH2C6.js → de-X6HLSIFE.js} +1 -0
  214. package/chunks/deferred-core-runtime-MGCCR6LA.js +116 -0
  215. package/chunks/{display-image-OEJMJV3S.js → display-image-DR55LL6M.js} +5 -5
  216. package/chunks/dist-4Q7NTUNB.js +2512 -0
  217. package/chunks/{dist-ESS34DHC.js → dist-6H6RZ5H6.js} +2 -2
  218. package/chunks/{dist-LZO24N3E.js → dist-7CKN54NL.js} +1 -1
  219. package/chunks/{dist-5EV2G6MC.js → dist-DJBNNPLN.js} +1 -1
  220. package/chunks/{dist-J6P3C52Z.js → dist-FVJZSIO4.js} +28 -7
  221. package/chunks/{dist-K7IQB53U.js → dist-SATKXKUR.js} +1 -1
  222. package/chunks/{dist-ES6HNUW2.js → dist-TJUDJTCB.js} +246 -17
  223. package/chunks/{dist-VVQBOKDH.js → dist-UQUFZDIY.js} +1 -1
  224. package/chunks/{dist-2OG3PGKO.js → dist-ZBVOXSKF.js} +3 -3
  225. package/chunks/earlyInputCapture-2EJKJET3.js +109 -0
  226. package/chunks/{edit-A2633SLR.js → edit-GBDKI5DZ.js} +48 -48
  227. package/chunks/{en-3RHLPITS.js → en-6MDBWMTG.js} +3 -0
  228. package/chunks/{enter-worktree-OIAHE2TB.js → enter-worktree-UOZ6ZTP7.js} +7 -8
  229. package/chunks/{enterPlanMode-SUGIKLR7.js → enterPlanMode-2KTIPPM3.js} +47 -47
  230. package/chunks/environment-XJ75LJ6N.js +131 -0
  231. package/chunks/errors-XEI3SJRV.js +115 -0
  232. package/chunks/{exit-worktree-3UT3SSWT.js → exit-worktree-G2QATUCV.js} +7 -8
  233. package/chunks/exitPlanMode-AUMYTFIQ.js +85 -0
  234. package/chunks/{fast-path-3AVP3G35.js → fast-path-TU7U2ETU.js} +28 -7
  235. package/chunks/{fast-path-settings-WHX3J3ZI.js → fast-path-settings-XMFBYFUH.js} +2 -2
  236. package/chunks/{fr-4PL5GHG4.js → fr-FTZWF462.js} +1 -0
  237. package/chunks/{gemini-7PVQWHTH.js → gemini-FKMYDP64.js} +129 -123
  238. package/chunks/{geminiContentGenerator-B2FOJJDJ.js → geminiContentGenerator-WSHP7CSR.js} +16 -13
  239. package/chunks/{glob-7YGXE6OV.js → glob-EOM6XK7H.js} +47 -47
  240. package/chunks/{goal-tools-TLJCE7YZ.js → goal-tools-CNVXMSZD.js} +72 -28
  241. package/chunks/{grep-6DV6LTON.js → grep-3NLSS32D.js} +6 -6
  242. package/chunks/handleAutoUpdate-S4CLP36D.js +111 -0
  243. package/chunks/i18n-XX7U2Q3X.js +126 -0
  244. package/chunks/{image-gen-7CSCJ73T.js → image-gen-63NN2H5N.js} +9 -11
  245. package/chunks/initializer-D3CA3272.js +115 -0
  246. package/chunks/installationInfo-HVDQOSIE.js +109 -0
  247. package/chunks/{ja-HZ7X7PQO.js → ja-2GL5FKYJ.js} +1 -0
  248. package/chunks/{keychain-token-storage-MTFTAESK.js → keychain-token-storage-3MGFRYGM.js} +2 -2
  249. package/chunks/list-XUDSTGT3.js +118 -0
  250. package/chunks/{list-agents-43XUEXJV.js → list-agents-EXRSHIDJ.js} +2 -2
  251. package/chunks/loadedSettingsAdapter-ZOJ4QEID.js +112 -0
  252. package/chunks/{loggingContentGenerator-RNE66CKK.js → loggingContentGenerator-TUDGCVUG.js} +27 -30
  253. package/chunks/{loop-wakeup-E54KDUXC.js → loop-wakeup-XBPB2BRO.js} +5 -5
  254. package/chunks/{ls-CGL2UC3H.js → ls-WFONAND2.js} +4 -4
  255. package/chunks/{lsp-5IKUO5DX.js → lsp-DUKPDUXN.js} +2 -2
  256. package/chunks/{managed-npm-update-Y3SC3GLJ.js → managed-npm-update-5K4FWFX2.js} +61 -59
  257. package/chunks/mcp-QJ6AUYE5.js +112 -0
  258. package/chunks/{monitor-PXYSGSUN.js → monitor-UUHIAGT7.js} +47 -47
  259. package/chunks/nonInteractiveCli-PAWO75YO.js +185 -0
  260. package/chunks/{notebook-edit-ISIBJVBR.js → notebook-edit-GZPB3Q57.js} +48 -48
  261. package/chunks/open-with-auth-4UI3KHUR.js +55 -0
  262. package/chunks/{openaiContentGenerator-6TBOPEGT.js → openaiContentGenerator-RPP6YBS3.js} +29 -30
  263. package/chunks/pidfile-RF3WUFKR.js +113 -0
  264. package/chunks/{processUtils-YK2TDTTU.js → processUtils-ENAY2GSA.js} +2 -2
  265. package/chunks/prompt-terminal-ledger-4CCXZ2LF.js +107 -0
  266. package/chunks/{pt-QT5N2Q6Q.js → pt-XN2YWJVM.js} +1 -0
  267. package/chunks/{qwenContentGenerator-CLDMA2Y4.js → qwenContentGenerator-GLUZVJAU.js} +53 -59
  268. package/chunks/{qwenOAuth2-DLDR6UC5.js → qwenOAuth2-JIYAWXTW.js} +8 -10
  269. package/chunks/{read-file-2HOD2ATO.js → read-file-75R5LUWQ.js} +13 -14
  270. package/chunks/{read-mcp-resource-XYES2B42.js → read-mcp-resource-7A7NFSFL.js} +2 -2
  271. package/chunks/read-package-up-6T6ICKR7.js +13 -0
  272. package/chunks/{record-artifact-W3IBTGL7.js → record-artifact-CPJ4IJSD.js} +4 -5
  273. package/chunks/report-findings-VFM5DENC.js +33 -0
  274. package/chunks/request-shutdown-AXVOFN5C.js +133 -0
  275. package/chunks/resumeHistoryUtils-GFPJD2XB.js +120 -0
  276. package/chunks/ripGrep-FNLXQYBS.js +39 -0
  277. package/chunks/{ru-STMG5BPD.js → ru-OLTMFJEW.js} +1 -0
  278. package/chunks/{run-qwen-serve-XJHOW2NY.js → run-qwen-serve-FJD4VMI2.js} +622 -79
  279. package/chunks/{runtime-J4SPTJRQ.js → runtime-INDSJB4K.js} +73 -71
  280. package/chunks/{scheduler-VRAEZZ4E.js → scheduler-Z52TCSUG.js} +62 -60
  281. package/chunks/{sdk-exporters-http-RSIOP3G2.js → sdk-exporters-http-XXSKBD2C.js} +5 -5
  282. package/chunks/{sdk-impl-CB3KARSK.js → sdk-impl-VPNBLV7I.js} +7 -7
  283. package/chunks/{send-message-J4VT46OI.js → send-message-A2GXDX3B.js} +10 -31
  284. package/chunks/serve-GVD2WXVL.js +120 -0
  285. package/chunks/{server-74ONDK62.js → server-PSN5OOSX.js} +965 -405
  286. package/chunks/{session-BO6VBWJP.js → session-JPE34X6Q.js} +151 -140
  287. package/chunks/{settings-35QZNFDG.js → settings-IVGC4UYK.js} +71 -69
  288. package/chunks/shell-A5PZGPBR.js +95 -0
  289. package/chunks/{skill-DKEMQSNJ.js → skill-UUXQPDEH.js} +108 -25
  290. package/chunks/skill-settings-WVRXLTK4.js +120 -0
  291. package/chunks/spawnChannel-KTURLD4B.js +113 -0
  292. package/chunks/standalone-update-IRFRNGAA.js +120 -0
  293. package/chunks/{startInteractiveUI-J2QSGWPU.js → startInteractiveUI-MC4GLL6G.js} +381 -293
  294. package/chunks/{syntheticOutput-JAXMIMZP.js → syntheticOutput-5AJ444QT.js} +3 -3
  295. package/chunks/{task-create-I2H322E4.js → task-create-CDJSOEQD.js} +11 -11
  296. package/chunks/{task-list-3OLIWFTQ.js → task-list-BELMPA75.js} +5 -5
  297. package/chunks/{task-stop-JAUY6MSY.js → task-stop-U3S3KZG2.js} +2 -2
  298. package/chunks/{task-update-B3XO4CPI.js → task-update-77VCFDDZ.js} +11 -11
  299. package/chunks/{team-create-W534PMGX.js → team-create-WO5ZBCFW.js} +48 -48
  300. package/chunks/{team-delete-Q7GE7RRI.js → team-delete-YWFXX77L.js} +5 -5
  301. package/chunks/{team-plan-approval-WNV6P6NG.js → team-plan-approval-KAVKRN7U.js} +47 -47
  302. package/chunks/terminal-image-renderer-SMRRNI6Z.js +116 -0
  303. package/chunks/theme-manager-A7CPN7F4.js +104 -0
  304. package/chunks/{todoWrite-FJJTY2TI.js → todoWrite-435EO2CS.js} +4 -4
  305. package/chunks/{tool-search-Y4KL3LRE.js → tool-search-FBN6OC6U.js} +18 -19
  306. package/chunks/total-session-admission-B7U6UWKQ.js +114 -0
  307. package/chunks/trustedFolders-B4LPJBFK.js +124 -0
  308. package/chunks/{update-relaunch-OHVFN6KF.js → update-relaunch-X5TJVKVG.js} +6 -6
  309. package/chunks/updateCheck-JCLP5JFT.js +120 -0
  310. package/chunks/useAutoAcceptIndicator-VBT3NKDM.js +122 -0
  311. package/chunks/{validateNonInterActiveAuth-WJXH426F.js → validateNonInterActiveAuth-W7HYH5ZN.js} +113 -106
  312. package/chunks/{version-QMDRADXM.js → version-JG4J76GL.js} +2 -2
  313. package/chunks/{web-fetch-ROS6P4LP.js → web-fetch-SPLMEDWF.js} +25 -242
  314. package/chunks/{web-search-JS3E76O6.js → web-search-PNW6OEH6.js} +11 -11
  315. package/chunks/{web-shell-static-3NUTRHAH.js → web-shell-static-A6QMUNNV.js} +11 -4
  316. package/chunks/webapi-Z5OM224P.js +4118 -0
  317. package/chunks/{workflow-2FCMBTBZ.js → workflow-QHOIIXJO.js} +635 -94
  318. package/chunks/workspace-providers-status-653DTR35.js +116 -0
  319. package/chunks/{workspace-registration-store-SU4EJKSD.js → workspace-registration-store-H375IYR2.js} +1 -1
  320. package/chunks/workspace-registry-XTLCD7Z2.js +123 -0
  321. package/chunks/workspace-service-KVJWACCS.js +131 -0
  322. package/chunks/workspace-skills-status-TRJ2VWGU.js +115 -0
  323. package/chunks/{workspace-trust-reconciler-4Y4F7XIX.js → workspace-trust-reconciler-6SC6RKQE.js} +74 -73
  324. package/chunks/write-file-EAZSJZKR.js +90 -0
  325. package/chunks/{zh-TW-NX43Z2S2.js → zh-TW-MV4FWFB6.js} +3 -0
  326. package/chunks/{zh-3JQ75KFU.js → zh-X3WGU6SI.js} +3 -0
  327. package/chunks/{zoom-image-DNBKCGGF.js → zoom-image-WGNPZ572.js} +13 -14
  328. package/cli.js +15 -15
  329. package/locales/ca.js +3 -0
  330. package/locales/de.js +1 -0
  331. package/locales/en.js +3 -0
  332. package/locales/fr.js +1 -0
  333. package/locales/ja.js +1 -0
  334. package/locales/pt.js +1 -0
  335. package/locales/ru.js +1 -0
  336. package/locales/zh-TW.js +3 -0
  337. package/locales/zh.js +3 -0
  338. package/package.json +3 -3
  339. package/web-shell/assets/{abnfDiagram-VCTEODGH-DWHXEVlf.js → abnfDiagram-VCTEODGH-yq7z7Anb.js} +1 -1
  340. package/web-shell/assets/{arc-CXKjm86V.js → arc-CbJO0xnT.js} +1 -1
  341. package/web-shell/assets/{architectureDiagram-5GKGNRK7-B_ynI0cX.js → architectureDiagram-5GKGNRK7-CRh89421.js} +1 -1
  342. package/web-shell/assets/{blockDiagram-NRAW4CY4-DMebd9X0.js → blockDiagram-NRAW4CY4-C75KAhKv.js} +1 -1
  343. package/web-shell/assets/{c4Diagram-UCG6FXSJ-BZ5BlxS-.js → c4Diagram-UCG6FXSJ-BzlMveFB.js} +1 -1
  344. package/web-shell/assets/channel-B3sGR79J.js +1 -0
  345. package/web-shell/assets/{chunk-2Q5K7J3B-CluJKopE.js → chunk-2Q5K7J3B-DA8QDX3a.js} +1 -1
  346. package/web-shell/assets/{chunk-5VM5RSS4-hzDAPFOo.js → chunk-5VM5RSS4-Bgu7gQ7Y.js} +1 -1
  347. package/web-shell/assets/{chunk-F27PBJKO-6vHioKJe.js → chunk-F27PBJKO-BOew7pIK.js} +1 -1
  348. package/web-shell/assets/{chunk-G27WJ6UU-B_5hKTGo.js → chunk-G27WJ6UU-DHx1I-hO.js} +1 -1
  349. package/web-shell/assets/{chunk-JWPE2WC7-CO9VoFCH.js → chunk-JWPE2WC7-SarFW0WU.js} +1 -1
  350. package/web-shell/assets/{chunk-LCL6LL3I-7L5JpxYu.js → chunk-LCL6LL3I-BLzP083Z.js} +1 -1
  351. package/web-shell/assets/{chunk-POPQ4Y6H-DHLJMAqj.js → chunk-POPQ4Y6H-Bmkv_iKm.js} +1 -1
  352. package/web-shell/assets/{chunk-SVP7TREG-Dt-4Cqdl.js → chunk-SVP7TREG-MPx9r1N2.js} +1 -1
  353. package/web-shell/assets/{chunk-XXDRQBXY-QlSQ3ssG.js → chunk-XXDRQBXY-Ck-09rKG.js} +1 -1
  354. package/web-shell/assets/classDiagram-DTDB5LWJ-sTGo0K3v.js +1 -0
  355. package/web-shell/assets/classDiagram-v2-JRS7N3AN-sTGo0K3v.js +1 -0
  356. package/web-shell/assets/{cose-bilkent-JH36ORCC-DMw3EOxl.js → cose-bilkent-JH36ORCC-DWm6lfOG.js} +1 -1
  357. package/web-shell/assets/{cynefin-OW5HDTMX-s6vEA7RQ.js → cynefin-OW5HDTMX-DcBUyr5R.js} +1 -1
  358. package/web-shell/assets/{cynefinDiagram-5FMLGOSQ-AOKsvYLt.js → cynefinDiagram-5FMLGOSQ-Df8qmd_p.js} +1 -1
  359. package/web-shell/assets/{dagre-3AP2YEHR-9QAZn3m7.js → dagre-3AP2YEHR-DDmGspD7.js} +1 -1
  360. package/web-shell/assets/{diagram-S7CK7UJ4-CWpnu4FN.js → diagram-S7CK7UJ4-BK_qFvbi.js} +1 -1
  361. package/web-shell/assets/{diagram-UQ7AKVKN-9l0jXD8q.js → diagram-UQ7AKVKN-Uw3AP_bi.js} +1 -1
  362. package/web-shell/assets/{diagram-VSXAHHWV-BMUHroj4.js → diagram-VSXAHHWV-CJOQKxY7.js} +1 -1
  363. package/web-shell/assets/{diagram-VX7I27RA-Co9x27vm.js → diagram-VX7I27RA-DhdvZna5.js} +1 -1
  364. package/web-shell/assets/{diagram-Z3DM3KII-BKnTeOER.js → diagram-Z3DM3KII-edQU0nlP.js} +1 -1
  365. package/web-shell/assets/{ebnfDiagram-PWID7BFC-QBZD9CKG.js → ebnfDiagram-PWID7BFC-4kugBEsO.js} +1 -1
  366. package/web-shell/assets/{erDiagram-SSCWMZ5O-dKWAEGun.js → erDiagram-SSCWMZ5O-BMkFivWO.js} +1 -1
  367. package/web-shell/assets/{flowDiagram-A5DVABFB-CR_UgVqj.js → flowDiagram-A5DVABFB-BM1ea8g-.js} +1 -1
  368. package/web-shell/assets/{ganttDiagram-EL5Y4UJY-DQUnjWO6.js → ganttDiagram-EL5Y4UJY-CXj_cKRf.js} +1 -1
  369. package/web-shell/assets/{gitGraphDiagram-WWUBYQGX-C4j59wPL.js → gitGraphDiagram-WWUBYQGX-D0nEqwqu.js} +1 -1
  370. package/web-shell/assets/{index-tYXRIPz4.js → index-B6JN54Pd.js} +1 -1
  371. package/web-shell/assets/{index-BN_m_uHJ.css → index-C-XlQn24.css} +1 -1
  372. package/web-shell/assets/index-DLjXM0dn.js +1860 -0
  373. package/web-shell/assets/{infoDiagram-RXCK75RN-mzqbt50w.js → infoDiagram-RXCK75RN-DF7aGGbQ.js} +1 -1
  374. package/web-shell/assets/{ishikawaDiagram-5VMMS53U-ChLOqhGl.js → ishikawaDiagram-5VMMS53U-CZYNX1lL.js} +1 -1
  375. package/web-shell/assets/{journeyDiagram-EYS64GPL-SifZE-R8.js → journeyDiagram-EYS64GPL-CvrqMUz1.js} +1 -1
  376. package/web-shell/assets/{kanban-definition-3QL26DDD-Sft2qlbc.js → kanban-definition-3QL26DDD-BZNJQZBj.js} +1 -1
  377. package/web-shell/assets/{layout-O2uHVkPd.js → layout-Bf83x7D6.js} +1 -1
  378. package/web-shell/assets/{linear-BVqYgjSc.js → linear-Bkc3ES2f.js} +1 -1
  379. package/web-shell/assets/{mermaid.core-CZ9MQaJ6.js → mermaid.core-C6xuovwz.js} +6 -6
  380. package/web-shell/assets/{mindmap-definition-FBJOCRG2-BNQYjBqM.js → mindmap-definition-FBJOCRG2-DzH6gVRg.js} +1 -1
  381. package/web-shell/assets/{pegDiagram-XKGWAZYB-rh1J8uv6.js → pegDiagram-XKGWAZYB-DCvLh2fa.js} +1 -1
  382. package/web-shell/assets/{pieDiagram-E7YTZNPT-BQHR5mn9.js → pieDiagram-E7YTZNPT-BtjVlx_6.js} +1 -1
  383. package/web-shell/assets/{quadrantDiagram-AXDQQJYC-CLCbP7mK.js → quadrantDiagram-AXDQQJYC-IbroqxFe.js} +1 -1
  384. package/web-shell/assets/{railroadDiagram-O6MQD6OU-CDQhrkbm.js → railroadDiagram-O6MQD6OU-BvMykiWW.js} +1 -1
  385. package/web-shell/assets/{requirementDiagram-EFPCY7ZU-BdP9uswg.js → requirementDiagram-EFPCY7ZU-D-HHMyrh.js} +1 -1
  386. package/web-shell/assets/{sankeyDiagram-P5KCCOFB-CFZDFBXF.js → sankeyDiagram-P5KCCOFB-C0XXhB6d.js} +1 -1
  387. package/web-shell/assets/{sequenceDiagram-WJ2MYXX4-BW9WOJXI.js → sequenceDiagram-WJ2MYXX4-DseAXj5d.js} +1 -1
  388. package/web-shell/assets/{sizeCapture-X5ZJPWSS-CPMia32z.js → sizeCapture-X5ZJPWSS-Cek2EweK.js} +1 -1
  389. package/web-shell/assets/{stateDiagram-HBIQ2CUA-BANp9p7F.js → stateDiagram-HBIQ2CUA-yLv8wafW.js} +1 -1
  390. package/web-shell/assets/stateDiagram-v2-4QOOHH4V-DeThXnol.js +1 -0
  391. package/web-shell/assets/{swimlanes-XN3QIQJK-JroXksK-.js → swimlanes-XN3QIQJK-Cwz-opvE.js} +1 -1
  392. package/web-shell/assets/swimlanesDiagram-VK2B7HYN-GW0R1ZSv.js +8 -0
  393. package/web-shell/assets/{timeline-definition-24CTP7MA-DfuVIfYY.js → timeline-definition-24CTP7MA-BJuFD7OG.js} +1 -1
  394. package/web-shell/assets/{vennDiagram-4TSXK5OY-BZXoSjRB.js → vennDiagram-4TSXK5OY-CNAavdoV.js} +1 -1
  395. package/web-shell/assets/{wardleyDiagram-VM6X3IG4-BdiY8avC.js → wardleyDiagram-VM6X3IG4-DaIjAidq.js} +1 -1
  396. package/web-shell/assets/{xychartDiagram-S5SC5T6Z-DcXh_U4H.js → xychartDiagram-S5SC5T6Z-DkcQXjTy.js} +1 -1
  397. package/web-shell/index.html +19 -4
  398. package/chunks/MaxSizedBox-3OZJCC3J.js +0 -110
  399. package/chunks/agent-BFE3DQM3.js +0 -93
  400. package/chunks/agent-headless-LLVKZZ4P.js +0 -87
  401. package/chunks/bridge-EBYO4SYM.js +0 -118
  402. package/chunks/channel-settings-store-5VP2Y2YM.js +0 -115
  403. package/chunks/chunk-AXMWHKXA.js +0 -42
  404. package/chunks/chunk-IO257NUD.js +0 -623
  405. package/chunks/chunk-YHC2EYYG.js +0 -125
  406. package/chunks/computer-use-EGPWFEX6.js +0 -2142
  407. package/chunks/config-utils-WZ43VOBS.js +0 -25
  408. package/chunks/contextCommand-5DSEQI6S.js +0 -106
  409. package/chunks/daemon-status-provider-EYMLPYJU.js +0 -116
  410. package/chunks/daemon-trust-policy-CQYKZ7VO.js +0 -112
  411. package/chunks/deferred-core-runtime-WFEPUXZR.js +0 -114
  412. package/chunks/earlyInputCapture-PN4PP7V5.js +0 -107
  413. package/chunks/environment-WUPHLPKZ.js +0 -127
  414. package/chunks/errors-WPMPVIAT.js +0 -113
  415. package/chunks/exitPlanMode-MLFHYZNB.js +0 -85
  416. package/chunks/handleAutoUpdate-F5OTWUT5.js +0 -109
  417. package/chunks/i18n-C562S6KN.js +0 -124
  418. package/chunks/initializer-7YPGOFP4.js +0 -113
  419. package/chunks/installationInfo-ARU5Q2H7.js +0 -107
  420. package/chunks/list-KTSK275C.js +0 -116
  421. package/chunks/loadedSettingsAdapter-F3T2EQ5J.js +0 -110
  422. package/chunks/mcp-6ONTVPAY.js +0 -110
  423. package/chunks/nonInteractiveCli-KZDWFAN6.js +0 -178
  424. package/chunks/pidfile-IO7ALSZF.js +0 -111
  425. package/chunks/prompt-terminal-ledger-TCE7PMCE.js +0 -105
  426. package/chunks/resumeHistoryUtils-DDSBAQJS.js +0 -118
  427. package/chunks/ripGrep-E7P6K4QR.js +0 -40
  428. package/chunks/serve-KEAWV4TI.js +0 -118
  429. package/chunks/shell-H6K63WG3.js +0 -95
  430. package/chunks/skill-settings-TCKLXIXM.js +0 -118
  431. package/chunks/spawnChannel-2K6NKWM5.js +0 -111
  432. package/chunks/standalone-update-LSCGOEFP.js +0 -118
  433. package/chunks/terminal-image-renderer-UHX3UD66.js +0 -114
  434. package/chunks/theme-manager-6B47ZPIF.js +0 -102
  435. package/chunks/total-session-admission-NSCFWGJH.js +0 -113
  436. package/chunks/trustedFolders-7XMJWGQ3.js +0 -122
  437. package/chunks/updateCheck-EOVLHD4T.js +0 -118
  438. package/chunks/useAutoAcceptIndicator-ZNMIGBTN.js +0 -120
  439. package/chunks/workspace-providers-status-GPGU5YMT.js +0 -113
  440. package/chunks/workspace-registry-BQISXT6Y.js +0 -122
  441. package/chunks/workspace-service-LLY6HCUC.js +0 -129
  442. package/chunks/workspace-skills-status-L5N2Y3ZP.js +0 -113
  443. package/chunks/write-file-EJHU2Z3E.js +0 -90
  444. package/web-shell/assets/channel-Zg3WHgq_.js +0 -1
  445. package/web-shell/assets/classDiagram-DTDB5LWJ-C16l9jQz.js +0 -1
  446. package/web-shell/assets/classDiagram-v2-JRS7N3AN-C16l9jQz.js +0 -1
  447. package/web-shell/assets/index-DrlJu79f.js +0 -1792
  448. package/web-shell/assets/stateDiagram-v2-4QOOHH4V-NZYAoQLU.js +0 -1
  449. package/web-shell/assets/swimlanesDiagram-VK2B7HYN-3YdVX3vj.js +0 -8
@@ -2,11 +2,14 @@
2
2
  "use strict";
3
3
  import {
4
4
  resolveChannelCwd
5
- } from "./chunk-45NQKMYB.js";
5
+ } from "./chunk-7JPW6IYH.js";
6
6
  import {
7
7
  getPlugin,
8
8
  supportedTypes
9
- } from "./chunk-QS4ENGVF.js";
9
+ } from "./chunk-IKN3IUJP.js";
10
+ import {
11
+ APPROVAL_MODES
12
+ } from "./chunk-BVE5EMIG.js";
10
13
  import {
11
14
  init_esbuild_shims
12
15
  } from "./chunk-5O2XNYP6.js";
@@ -17,13 +20,7 @@ import {
17
20
  // packages/cli/src/commands/channel/config-utils.ts
18
21
  init_esbuild_shims();
19
22
  var ENV_VAR_NAME_PATTERN = /^[A-Z_][A-Z0-9_]*$/;
20
- var CHANNEL_APPROVAL_MODES = /* @__PURE__ */ new Set([
21
- "plan",
22
- "default",
23
- "auto-edit",
24
- "auto",
25
- "yolo"
26
- ]);
23
+ var CHANNEL_APPROVAL_MODES = new Set(APPROVAL_MODES);
27
24
  function resolveEnvVars(value, env = process.env) {
28
25
  if (value.startsWith("$$")) {
29
26
  return value.substring(1);
@@ -2,7 +2,7 @@
2
2
  "use strict";
3
3
  import {
4
4
  getErrorStatus
5
- } from "./chunk-A5F2YNO6.js";
5
+ } from "./chunk-2NNTE2ED.js";
6
6
  import {
7
7
  init_esbuild_shims
8
8
  } from "./chunk-5O2XNYP6.js";
@@ -2,7 +2,7 @@
2
2
  "use strict";
3
3
  import {
4
4
  MAX_TERMINAL_IMAGE_BYTES
5
- } from "./chunk-6NFAEG54.js";
5
+ } from "./chunk-KOJ6MHD5.js";
6
6
  import {
7
7
  init_esbuild_shims
8
8
  } from "./chunk-5O2XNYP6.js";
@@ -2,7 +2,7 @@
2
2
  "use strict";
3
3
  import {
4
4
  Storage
5
- } from "./chunk-A5F2YNO6.js";
5
+ } from "./chunk-2NNTE2ED.js";
6
6
  import {
7
7
  init_esbuild_shims
8
8
  } from "./chunk-5O2XNYP6.js";
@@ -2,7 +2,7 @@
2
2
  "use strict";
3
3
  import {
4
4
  runExitCleanup
5
- } from "./chunk-4CWDWDL6.js";
5
+ } from "./chunk-RCDXSEJ5.js";
6
6
  import {
7
7
  init_esbuild_shims
8
8
  } from "./chunk-5O2XNYP6.js";
@@ -0,0 +1,48 @@
1
+ // Force strict mode and setup for ESM
2
+ "use strict";
3
+ import {
4
+ init_esbuild_shims
5
+ } from "./chunk-5O2XNYP6.js";
6
+ import {
7
+ __name
8
+ } from "./chunk-J2S4EL5Y.js";
9
+
10
+ // packages/cli/src/serve/web-shell-resolver.ts
11
+ init_esbuild_shims();
12
+ import { existsSync } from "node:fs";
13
+ import * as path from "node:path";
14
+ import { fileURLToPath } from "node:url";
15
+ var BUNDLE_CHUNK_DIR = "chunks";
16
+ function resolveBundleDirFastPath(importMetaUrl) {
17
+ const moduleDir = path.dirname(fileURLToPath(importMetaUrl));
18
+ return path.basename(moduleDir) === BUNDLE_CHUNK_DIR ? path.dirname(moduleDir) : moduleDir;
19
+ }
20
+ __name(resolveBundleDirFastPath, "resolveBundleDirFastPath");
21
+ function resolveWebShellDir() {
22
+ const selfDir = path.dirname(fileURLToPath(import.meta.url));
23
+ const hasShell = /* @__PURE__ */ __name((dir2) => existsSync(path.join(dir2, "index.html")) && existsSync(path.join(dir2, "assets")), "hasShell");
24
+ const bundled = path.join(
25
+ resolveBundleDirFastPath(import.meta.url),
26
+ "web-shell"
27
+ );
28
+ if (hasShell(bundled)) return bundled;
29
+ let dir = selfDir;
30
+ for (let i = 0; i < 10; i++) {
31
+ const candidate = path.join(dir, "packages", "web-shell", "dist");
32
+ if (hasShell(candidate)) return candidate;
33
+ const parent = path.dirname(dir);
34
+ if (parent === dir) break;
35
+ dir = parent;
36
+ }
37
+ return void 0;
38
+ }
39
+ __name(resolveWebShellDir, "resolveWebShellDir");
40
+
41
+ export {
42
+ resolveWebShellDir
43
+ };
44
+ /**
45
+ * @license
46
+ * Copyright 2025 Qwen Team
47
+ * SPDX-License-Identifier: Apache-2.0
48
+ */
@@ -2,7 +2,7 @@
2
2
  "use strict";
3
3
  import {
4
4
  createDebugLogger
5
- } from "./chunk-A5F2YNO6.js";
5
+ } from "./chunk-2NNTE2ED.js";
6
6
  import {
7
7
  init_esbuild_shims
8
8
  } from "./chunk-5O2XNYP6.js";
@@ -2,7 +2,7 @@
2
2
  "use strict";
3
3
  import {
4
4
  runSideQuery
5
- } from "./chunk-ZRYQMWEP.js";
5
+ } from "./chunk-IPQA4SR5.js";
6
6
  import {
7
7
  init_esbuild_shims
8
8
  } from "./chunk-5O2XNYP6.js";
@@ -21,6 +21,8 @@ var GOAL_CHECKPOINT_CLAIM_MAX_BYTES = 16e3;
21
21
  var GOAL_CHECKPOINT_SOURCE_REFERENCE_LIMIT = 32;
22
22
  var GOAL_EVIDENCE_CATALOG_EXHAUSTED_REASON = "The current Goal revision exceeded the bounded evidence catalog. Automatic retries cannot recover. Edit or replace the Goal before resuming it.";
23
23
  var GOAL_CHECKPOINT_REQUEST_TOO_LARGE_REASON = "The current Goal revision exceeded the checkpoint verifier request limit. Automatic retries cannot recover. Edit or replace the Goal before resuming it.";
24
+ var GOAL_CHECKPOINT_STALL_LIMIT = 3;
25
+ var GOAL_CHECKPOINT_STALLED_REASON = "The current Goal revision ran three consecutive evidence checkpoints without relief: the evidence window overflowed every time, and each check either came back with a full claim list or a result that could not be folded into claims at all, so every turn paid a checkpoint call and lost uncatalogued evidence. Automatic retries cannot recover. Edit or replace the Goal with a narrower objective before resuming it.";
24
26
  function isGoalLimitKind(value) {
25
27
  return value === "evidence_catalog" || value === "checkpoint_request";
26
28
  }
@@ -106,6 +108,7 @@ var KNOWN_RECORD_SUBTYPES = /* @__PURE__ */ new Set([
106
108
  "agent_retry",
107
109
  "file_history_snapshot",
108
110
  "session_source",
111
+ "session_model",
109
112
  "branch_checkpoint",
110
113
  "goal_state",
111
114
  "goal_runtime",
@@ -464,6 +467,7 @@ __name(prepareTranscriptRecords, "prepareTranscriptRecords");
464
467
  // packages/core/src/goals/goal-evidence.ts
465
468
  init_esbuild_shims();
466
469
  var CATALOG_PREVIEW_LIMIT = 240;
470
+ var CATALOG_PREVIEW_BYTE_LIMIT = 240;
467
471
  var CATALOG_ENTRY_LIMIT = 100;
468
472
  var CATALOG_BYTE_LIMIT = 24e3;
469
473
  var CATALOG_LINEAGE_LIMIT = 16;
@@ -557,6 +561,7 @@ var GoalEvidenceRecordIndexAccumulator = class {
557
561
  this.lastPartPreviewValues
558
562
  ).trim();
559
563
  }
564
+ preview = capPreviewBytes(preview, CATALOG_PREVIEW_BYTE_LIMIT);
560
565
  const catalogEntry = this.provenance && this.parsedGoalContext && preview ? {
561
566
  uuid: this.uuid,
562
567
  provenance: this.provenance,
@@ -703,7 +708,7 @@ var GoalEvidenceCheckpointAccumulator = class {
703
708
  catalogBytes += entryBytes;
704
709
  }
705
710
  this.truncated = truncated;
706
- this.shouldCheckpoint = !truncated && this.candidateUuids.length > 0 && (this.checkpointEntries.length + this.candidateUuids.length >= CHECKPOINT_ENTRY_THRESHOLD || catalogBytes >= CHECKPOINT_BYTE_THRESHOLD);
711
+ this.shouldCheckpoint = this.candidateUuids.length > 0 && (truncated || this.checkpointEntries.length + this.candidateUuids.length >= CHECKPOINT_ENTRY_THRESHOLD || catalogBytes >= CHECKPOINT_BYTE_THRESHOLD);
707
712
  }
708
713
  static {
709
714
  __name(this, "GoalEvidenceCheckpointAccumulator");
@@ -1099,7 +1104,10 @@ function checkpointCatalogEntries(goal) {
1099
1104
  uuid: claim.id,
1100
1105
  provenance: "goal_checkpoint",
1101
1106
  turnId: `checkpoint:${checkpoint.checkpointId}`,
1102
- preview: claim.claim.slice(0, CATALOG_PREVIEW_LIMIT),
1107
+ preview: capPreviewBytes(
1108
+ claim.claim.slice(0, CATALOG_PREVIEW_LIMIT),
1109
+ CATALOG_PREVIEW_BYTE_LIMIT
1110
+ ),
1103
1111
  proofKind: claim.proofKind
1104
1112
  }));
1105
1113
  }
@@ -1168,6 +1176,21 @@ function legacySafeProvenance(record) {
1168
1176
  return void 0;
1169
1177
  }
1170
1178
  __name(legacySafeProvenance, "legacySafeProvenance");
1179
+ function capPreviewBytes(value, limit) {
1180
+ if (Buffer.byteLength(value, "utf8") <= limit) {
1181
+ return value;
1182
+ }
1183
+ let byteLength = 0;
1184
+ let cutoff = 0;
1185
+ for (const codePoint of value) {
1186
+ const codePointBytes = Buffer.byteLength(codePoint, "utf8");
1187
+ if (byteLength + codePointBytes > limit) break;
1188
+ byteLength += codePointBytes;
1189
+ cutoff += codePoint.length;
1190
+ }
1191
+ return value.slice(0, cutoff);
1192
+ }
1193
+ __name(capPreviewBytes, "capPreviewBytes");
1171
1194
  function capCheckpointContent(content) {
1172
1195
  if (Buffer.byteLength(content, "utf8") <= CHECKPOINT_CONTENT_BYTE_LIMIT) {
1173
1196
  return content;
@@ -1206,7 +1229,10 @@ __name(evidenceContent, "evidenceContent");
1206
1229
  function evidencePreview(record, provenance) {
1207
1230
  const projection = provenance === "real_user" ? projectUserTranscriptForDisplay(record) : void 0;
1208
1231
  if (projection?.displayText !== void 0) {
1209
- return projection.displayText.slice(0, CATALOG_PREVIEW_LIMIT).trim();
1232
+ return capPreviewBytes(
1233
+ projection.displayText.slice(0, CATALOG_PREVIEW_LIMIT).trim(),
1234
+ CATALOG_PREVIEW_BYTE_LIMIT
1235
+ );
1210
1236
  }
1211
1237
  let preview = "";
1212
1238
  const append = /* @__PURE__ */ __name((value) => {
@@ -1225,7 +1251,7 @@ function evidencePreview(record, provenance) {
1225
1251
  }
1226
1252
  if (preview.length >= CATALOG_PREVIEW_LIMIT) break;
1227
1253
  }
1228
- return preview.trim();
1254
+ return capPreviewBytes(preview.trim(), CATALOG_PREVIEW_BYTE_LIMIT);
1229
1255
  }
1230
1256
  __name(evidencePreview, "evidencePreview");
1231
1257
  function renderToolResponse(functionResponse) {
@@ -1375,6 +1401,7 @@ function reduceGoalControl(current, transition) {
1375
1401
  objective: normalizeObjective(request.objective, snapshotOf(current)),
1376
1402
  evidenceCursor: copyCursor(transition.cursor),
1377
1403
  evidenceCheckpoint: void 0,
1404
+ checkpointStalls: void 0,
1378
1405
  lastReason: void 0,
1379
1406
  limitKind: void 0
1380
1407
  });
@@ -1400,15 +1427,22 @@ function reduceGoalControl(current, transition) {
1400
1427
  snapshotOf(current)
1401
1428
  );
1402
1429
  }
1403
- if (current.status === "usage_limited" && isEvidenceLimited(current)) {
1404
- throw new GoalInvalidTransitionError(
1405
- "An evidence-limited Goal cannot be resumed; edit or replace the Goal first",
1406
- snapshotOf(current)
1407
- );
1408
- }
1409
1430
  if (request.action !== "resume") {
1410
1431
  return assertNever(request, snapshotOf(current));
1411
1432
  }
1433
+ if (current.status === "usage_limited" && isEvidenceLimited(current)) {
1434
+ return transitionGoal(current, transition.now, {
1435
+ status: "active",
1436
+ evidenceCursor: copyCursor(transition.cursor),
1437
+ evidenceCheckpoint: void 0,
1438
+ // The streak counts checkpoints against one window; this resume starts
1439
+ // a different one, so carrying it over would spend the new window's
1440
+ // allowance on the old window's failures.
1441
+ checkpointStalls: void 0,
1442
+ lastReason: void 0,
1443
+ limitKind: void 0
1444
+ });
1445
+ }
1412
1446
  return transitionGoal(current, transition.now, {
1413
1447
  status: "active"
1414
1448
  });
@@ -1423,6 +1457,7 @@ function reduceGoalTurnFinished(current, transition) {
1423
1457
  }
1424
1458
  return transitionGoal(current, transition.now, {
1425
1459
  turnCount: current.turnCount + 1,
1460
+ tokensUsed: current.tokensUsed + Math.max(0, transition.tokensUsed ?? 0),
1426
1461
  ...transition.lastReason === void 0 ? {} : { lastReason: transition.lastReason }
1427
1462
  });
1428
1463
  }
@@ -1535,6 +1570,7 @@ function createGoal(goalId, objective, now, cursor) {
1535
1570
  evidenceCursor: copyCursor(cursor),
1536
1571
  turnCount: 0,
1537
1572
  activeTimeMs: 0,
1573
+ tokensUsed: 0,
1538
1574
  createdAt: now,
1539
1575
  updatedAt: now
1540
1576
  };
@@ -1597,12 +1633,14 @@ function parseGoalRecord(value) {
1597
1633
  "evidenceCursor",
1598
1634
  "turnCount",
1599
1635
  "activeTimeMs",
1636
+ "tokensUsed",
1600
1637
  "createdAt",
1601
1638
  "updatedAt",
1602
1639
  "evidenceCheckpoint",
1640
+ "checkpointStalls",
1603
1641
  "lastReason",
1604
1642
  "limitKind"
1605
- ]) || typeof value["goalId"] !== "string" || !value["goalId"] || !isNonNegativeInteger(value["revision"]) || value["revision"] === 0 || typeof value["objective"] !== "string" || !value["objective"].trim() || !isGoalStatus(value["status"]) || !isTranscriptCursor(value["evidenceCursor"]) || !isNonNegativeInteger(value["turnCount"]) || !isNonNegativeNumber(value["activeTimeMs"]) || !isFiniteNumber(value["createdAt"]) || !isFiniteNumber(value["updatedAt"]) || !isGoalEvidenceCheckpoint(value["evidenceCheckpoint"]) || value["lastReason"] !== void 0 && typeof value["lastReason"] !== "string" || value["limitKind"] !== void 0 && (!isGoalLimitKind(value["limitKind"]) || value["status"] !== "usage_limited")) {
1643
+ ]) || typeof value["goalId"] !== "string" || !value["goalId"] || !isNonNegativeInteger(value["revision"]) || value["revision"] === 0 || typeof value["objective"] !== "string" || !value["objective"].trim() || !isGoalStatus(value["status"]) || !isTranscriptCursor(value["evidenceCursor"]) || !isNonNegativeInteger(value["turnCount"]) || !isNonNegativeNumber(value["activeTimeMs"]) || value["tokensUsed"] !== void 0 && !isNonNegativeNumber(value["tokensUsed"]) || !isFiniteNumber(value["createdAt"]) || !isFiniteNumber(value["updatedAt"]) || !isGoalEvidenceCheckpoint(value["evidenceCheckpoint"]) || value["checkpointStalls"] !== void 0 && !isNonNegativeInteger(value["checkpointStalls"]) || value["lastReason"] !== void 0 && typeof value["lastReason"] !== "string" || value["limitKind"] !== void 0 && (!isGoalLimitKind(value["limitKind"]) || value["status"] !== "usage_limited")) {
1606
1644
  return void 0;
1607
1645
  }
1608
1646
  if (value["evidenceCheckpoint"] && value["evidenceCursor"].recordId !== value["evidenceCheckpoint"].checkpointId) {
@@ -1616,11 +1654,15 @@ function parseGoalRecord(value) {
1616
1654
  evidenceCursor: copyCursor(value["evidenceCursor"]),
1617
1655
  turnCount: value["turnCount"],
1618
1656
  activeTimeMs: value["activeTimeMs"],
1657
+ // Goals persisted before `tokensUsed` existed carry no spend to restore.
1658
+ tokensUsed: value["tokensUsed"] ?? 0,
1619
1659
  createdAt: value["createdAt"],
1620
1660
  updatedAt: value["updatedAt"],
1621
1661
  ...value["evidenceCheckpoint"] === void 0 ? {} : {
1622
1662
  evidenceCheckpoint: structuredClone(value["evidenceCheckpoint"])
1623
1663
  },
1664
+ // Zero is spelled as no field; a persisted 0 restores the same way.
1665
+ ...value["checkpointStalls"] ? { checkpointStalls: value["checkpointStalls"] } : {},
1624
1666
  ...value["lastReason"] === void 0 ? {} : { lastReason: value["lastReason"] },
1625
1667
  ...value["limitKind"] === void 0 ? {} : { limitKind: value["limitKind"] }
1626
1668
  };
@@ -1712,6 +1754,10 @@ import { randomUUID } from "node:crypto";
1712
1754
 
1713
1755
  // packages/core/src/goals/goal-checkpoint.ts
1714
1756
  init_esbuild_shims();
1757
+ function isGoalCheckpointStalled(window, checkpoint) {
1758
+ return window.truncated && checkpoint.claims.length >= GOAL_CHECKPOINT_CLAIM_LIMIT;
1759
+ }
1760
+ __name(isGoalCheckpointStalled, "isGoalCheckpointStalled");
1715
1761
  var InvalidGoalCheckpointError = class extends Error {
1716
1762
  static {
1717
1763
  __name(this, "InvalidGoalCheckpointError");
@@ -1894,10 +1940,14 @@ function parseGoalCheckpointVerifierText(text) {
1894
1940
  try {
1895
1941
  value = JSON.parse(text);
1896
1942
  } catch {
1897
- throw new Error("Goal checkpoint verifier returned invalid JSON");
1943
+ throw new InvalidGoalCheckpointError(
1944
+ "Goal checkpoint verifier returned invalid JSON"
1945
+ );
1898
1946
  }
1899
1947
  if (!isRecord4(value) || !hasOnlyKeys4(value, ["claims"]) || !Array.isArray(value["claims"]) || value["claims"].length === 0 || value["claims"].length > GOAL_CHECKPOINT_CLAIM_LIMIT) {
1900
- throw new Error("Goal checkpoint verifier returned invalid claims");
1948
+ throw new InvalidGoalCheckpointError(
1949
+ "Goal checkpoint verifier returned invalid claims"
1950
+ );
1901
1951
  }
1902
1952
  const claims = value["claims"].map(
1903
1953
  (claim, index) => parseClaim(claim, index)
@@ -1905,15 +1955,6 @@ function parseGoalCheckpointVerifierText(text) {
1905
1955
  return { claims };
1906
1956
  }
1907
1957
  __name(parseGoalCheckpointVerifierText, "parseGoalCheckpointVerifierText");
1908
- function validateGoalCheckpointVerifierText(text) {
1909
- try {
1910
- parseGoalCheckpointVerifierText(text);
1911
- return null;
1912
- } catch (error) {
1913
- return error instanceof Error ? error.message : "Goal checkpoint verifier returned invalid output";
1914
- }
1915
- }
1916
- __name(validateGoalCheckpointVerifierText, "validateGoalCheckpointVerifierText");
1917
1958
  function createGoalCheckpointVerifier(config, options = {}) {
1918
1959
  const timeoutMs = options.timeoutMs ?? GOAL_CHECKPOINT_VERIFIER_TIMEOUT_MS;
1919
1960
  return async (input, attemptSignal) => {
@@ -1938,8 +1979,11 @@ function createGoalCheckpointVerifier(config, options = {}) {
1938
1979
  responseMimeType: "application/json",
1939
1980
  responseJsonSchema: GOAL_CHECKPOINT_VERIFIER_SCHEMA,
1940
1981
  thinkingConfig: { thinkingBudget: 0, includeThoughts: false }
1941
- },
1942
- validate: validateGoalCheckpointVerifierText
1982
+ }
1983
+ // Parsing stays out of a validate hook: runSideQuery re-wraps hook
1984
+ // failures into plain Errors, dropping the InvalidGoalCheckpointError
1985
+ // class the runtime's checkpoint stall breaker counts unusable
1986
+ // results by.
1943
1987
  });
1944
1988
  return parseGoalCheckpointVerifierText(result.text);
1945
1989
  } finally {
@@ -1952,11 +1996,15 @@ function parseClaim(value, index) {
1952
1996
  if (!isRecord4(value) || !hasOnlyKeys4(value, ["proofKind", "claim", "sourceRefs"]) || !isGoalEvidenceProofKind(value["proofKind"]) || typeof value["claim"] !== "string" || !Array.isArray(value["sourceRefs"]) || value["sourceRefs"].length === 0 || value["sourceRefs"].length > GOAL_CHECKPOINT_SOURCE_REFERENCE_LIMIT || value["sourceRefs"].some(
1953
1997
  (reference) => typeof reference !== "string" || reference.length === 0
1954
1998
  ) || new Set(value["sourceRefs"]).size !== value["sourceRefs"].length) {
1955
- throw new Error(`Goal checkpoint verifier claim ${index + 1} is invalid`);
1999
+ throw new InvalidGoalCheckpointError(
2000
+ `Goal checkpoint verifier claim ${index + 1} is invalid`
2001
+ );
1956
2002
  }
1957
2003
  const claim = value["claim"].trim();
1958
2004
  if (!claim || [...claim].length > GOAL_CHECKPOINT_CLAIM_MAX_CHARACTERS) {
1959
- throw new Error(`Goal checkpoint verifier claim ${index + 1} is invalid`);
2005
+ throw new InvalidGoalCheckpointError(
2006
+ `Goal checkpoint verifier claim ${index + 1} is invalid`
2007
+ );
1960
2008
  }
1961
2009
  return {
1962
2010
  proofKind: value["proofKind"],
@@ -2120,6 +2168,7 @@ function createMigratedGoalState(input) {
2120
2168
  evidenceCursor: { recordId: input.recordUuid },
2121
2169
  turnCount: 0,
2122
2170
  activeTimeMs: 0,
2171
+ tokensUsed: 0,
2123
2172
  createdAt: input.now,
2124
2173
  updatedAt: input.now
2125
2174
  }
@@ -2192,6 +2241,19 @@ function createGoalRuntime(options) {
2192
2241
  recordUuid,
2193
2242
  controller: new AbortController()
2194
2243
  } : void 0, "createCheckpointAttempt");
2244
+ const takeTurnTokens = /* @__PURE__ */ __name((turnId) => {
2245
+ if (!options.tokenLedger) return 0;
2246
+ try {
2247
+ const tokens = options.tokenLedger.takeGoalTurnTokens(turnId);
2248
+ return Number.isFinite(tokens) ? Math.max(0, tokens) : 0;
2249
+ } catch {
2250
+ return 0;
2251
+ }
2252
+ }, "takeTurnTokens");
2253
+ const withCheckpointStalls = /* @__PURE__ */ __name((goal, checkpointStalls) => {
2254
+ const { checkpointStalls: _previous, ...rest } = goal;
2255
+ return checkpointStalls > 0 ? { ...rest, checkpointStalls } : rest;
2256
+ }, "withCheckpointStalls");
2195
2257
  const assertAvailable = /* @__PURE__ */ __name(() => {
2196
2258
  if (disposed) throw new Error(GOAL_RUNTIME_DISPOSED_MESSAGE);
2197
2259
  }, "assertAvailable");
@@ -2549,15 +2611,23 @@ function createGoalRuntime(options) {
2549
2611
  await settleDanglingAttempt(checkpoint.permit);
2550
2612
  }
2551
2613
  }, "runVerification");
2552
- const finishCheckpointCheck = /* @__PURE__ */ __name(async (attempt) => {
2614
+ const finishCheckpointCheck = /* @__PURE__ */ __name(async (attempt, outcome = "inconclusive") => {
2553
2615
  await enqueue(async () => {
2554
2616
  if (!isCurrentCheckpointAttempt(attempt) || !snapshot.goal) return;
2617
+ const checkpointStalls = outcome === "room" ? 0 : outcome === "stalled" ? (snapshot.goal.checkpointStalls ?? 0) + 1 : snapshot.goal.checkpointStalls ?? 0;
2618
+ if (await settleIfCheckpointStalled(
2619
+ attempt,
2620
+ snapshot.goal,
2621
+ checkpointStalls
2622
+ )) {
2623
+ return;
2624
+ }
2555
2625
  const persistedCause = nextVerifierFeedback === void 0 ? "checkpoint" : "verifier_reject";
2556
2626
  const now = Date.now();
2557
2627
  const checkedSnapshot = {
2558
2628
  v: GOAL_STATE_VERSION,
2559
2629
  goal: {
2560
- ...snapshot.goal,
2630
+ ...withCheckpointStalls(snapshot.goal, checkpointStalls),
2561
2631
  activeTimeMs: elapsedActiveTime(snapshot.goal, now),
2562
2632
  updatedAt: now
2563
2633
  },
@@ -2579,45 +2649,66 @@ function createGoalRuntime(options) {
2579
2649
  }
2580
2650
  });
2581
2651
  }, "finishCheckpointCheck");
2652
+ const settleCheckpointFailure = /* @__PURE__ */ __name(async (attempt, goal, reason, limitKind) => {
2653
+ const now = Date.now();
2654
+ const limitedSnapshot = {
2655
+ v: GOAL_STATE_VERSION,
2656
+ goal: {
2657
+ ...goal,
2658
+ status: "usage_limited",
2659
+ activeTimeMs: elapsedActiveTime(goal, now),
2660
+ updatedAt: now,
2661
+ lastReason: reason,
2662
+ ...limitKind === void 0 ? {} : { limitKind }
2663
+ },
2664
+ activity: "idle"
2665
+ };
2666
+ await options.journal.recordGoalState(randomUUID(), {
2667
+ v: GOAL_STATE_VERSION,
2668
+ cause: "usage_limited",
2669
+ snapshot: limitedSnapshot
2670
+ });
2671
+ if (!isCurrentCheckpointAttempt(attempt) || !snapshot.goal) return;
2672
+ checkpointAttempt = void 0;
2673
+ continuationQueued = false;
2674
+ currentTurnFeedback = void 0;
2675
+ snapshot = structuredClone(limitedSnapshot);
2676
+ broadcast("usage_limited");
2677
+ }, "settleCheckpointFailure");
2678
+ const settleIfCheckpointStalled = /* @__PURE__ */ __name(async (attempt, goal, checkpointStalls) => {
2679
+ if (checkpointStalls < GOAL_CHECKPOINT_STALL_LIMIT) return false;
2680
+ await settleCheckpointFailure(
2681
+ attempt,
2682
+ withCheckpointStalls(goal, checkpointStalls),
2683
+ GOAL_CHECKPOINT_STALLED_REASON,
2684
+ "evidence_catalog"
2685
+ );
2686
+ return true;
2687
+ }, "settleIfCheckpointStalled");
2582
2688
  const recordCheckpointFailure = /* @__PURE__ */ __name(async (attempt, reason, limitKind) => {
2583
2689
  await enqueue(async () => {
2584
2690
  if (!isCurrentCheckpointAttempt(attempt) || !snapshot.goal) return;
2585
- const now = Date.now();
2586
- const limitedSnapshot = {
2587
- v: GOAL_STATE_VERSION,
2588
- goal: {
2589
- ...snapshot.goal,
2590
- status: "usage_limited",
2591
- activeTimeMs: elapsedActiveTime(snapshot.goal, now),
2592
- updatedAt: now,
2593
- lastReason: reason,
2594
- ...limitKind === void 0 ? {} : { limitKind }
2595
- },
2596
- activity: "idle"
2597
- };
2598
- await options.journal.recordGoalState(randomUUID(), {
2599
- v: GOAL_STATE_VERSION,
2600
- cause: "usage_limited",
2601
- snapshot: limitedSnapshot
2602
- });
2603
- if (!isCurrentCheckpointAttempt(attempt) || !snapshot.goal) return;
2604
- checkpointAttempt = void 0;
2605
- continuationQueued = false;
2606
- currentTurnFeedback = void 0;
2607
- snapshot = structuredClone(limitedSnapshot);
2608
- broadcast("usage_limited");
2691
+ await settleCheckpointFailure(attempt, snapshot.goal, reason, limitKind);
2609
2692
  });
2610
2693
  }, "recordCheckpointFailure");
2611
- const recordCheckpoint = /* @__PURE__ */ __name(async (attempt, checkpoint) => {
2694
+ const recordCheckpoint = /* @__PURE__ */ __name(async (attempt, checkpoint, stalled) => {
2612
2695
  if (!checkpoint) return;
2613
2696
  await enqueue(async () => {
2614
2697
  if (!isCurrentCheckpointAttempt(attempt) || !snapshot.goal) return;
2698
+ const checkpointStalls = stalled ? (snapshot.goal.checkpointStalls ?? 0) + 1 : 0;
2699
+ if (await settleIfCheckpointStalled(
2700
+ attempt,
2701
+ snapshot.goal,
2702
+ checkpointStalls
2703
+ )) {
2704
+ return;
2705
+ }
2615
2706
  const now = Date.now();
2616
2707
  const persistedCause = nextVerifierFeedback === void 0 ? "checkpoint" : "verifier_reject";
2617
2708
  const checkpointSnapshot = {
2618
2709
  v: GOAL_STATE_VERSION,
2619
2710
  goal: {
2620
- ...snapshot.goal,
2711
+ ...withCheckpointStalls(snapshot.goal, checkpointStalls),
2621
2712
  evidenceCursor: { recordId: attempt.recordUuid },
2622
2713
  evidenceCheckpoint: checkpoint,
2623
2714
  activeTimeMs: elapsedActiveTime(snapshot.goal, now),
@@ -2664,7 +2755,7 @@ function createGoalRuntime(options) {
2664
2755
  permit: attempt.permit
2665
2756
  });
2666
2757
  }
2667
- if (window.truncated) {
2758
+ if (window.truncated && !window.shouldCheckpoint) {
2668
2759
  await recordCheckpointFailure(
2669
2760
  attempt,
2670
2761
  GOAL_EVIDENCE_CATALOG_EXHAUSTED_REASON,
@@ -2673,7 +2764,7 @@ function createGoalRuntime(options) {
2673
2764
  return;
2674
2765
  }
2675
2766
  if (!window.shouldCheckpoint) {
2676
- await finishCheckpointCheck(attempt);
2767
+ await finishCheckpointCheck(attempt, "room");
2677
2768
  return;
2678
2769
  }
2679
2770
  let checkpoint;
@@ -2708,10 +2799,18 @@ function createGoalRuntime(options) {
2708
2799
  );
2709
2800
  return;
2710
2801
  }
2802
+ if (error instanceof InvalidGoalCheckpointError && window.truncated) {
2803
+ await finishCheckpointCheck(attempt, "stalled");
2804
+ return;
2805
+ }
2711
2806
  await finishCheckpointCheck(attempt);
2712
2807
  return;
2713
2808
  }
2714
- await recordCheckpoint(attempt, checkpoint);
2809
+ await recordCheckpoint(
2810
+ attempt,
2811
+ checkpoint,
2812
+ isGoalCheckpointStalled(window, checkpoint)
2813
+ );
2715
2814
  } catch (error) {
2716
2815
  if (attempt.controller.signal.aborted) return;
2717
2816
  if (error instanceof EvidenceSourceUnavailableError && error.code === "current_turn_not_tail") {
@@ -2969,7 +3068,8 @@ function createGoalRuntime(options) {
2969
3068
  }
2970
3069
  const recordUuid = randomUUID();
2971
3070
  const nextGoal = reduceGoalTurnFinished(snapshot.goal, {
2972
- now: Date.now()
3071
+ now: Date.now(),
3072
+ tokensUsed: takeTurnTokens(permit.turnId)
2973
3073
  });
2974
3074
  const persistedSnapshot = {
2975
3075
  v: GOAL_STATE_VERSION,
@@ -3252,6 +3352,7 @@ export {
3252
3352
  InvalidGoalEvidenceReferenceError,
3253
3353
  GoalEvidenceRecordIndexAccumulator,
3254
3354
  GoalEvidenceCheckpointAccumulator,
3355
+ capPreviewBytes,
3255
3356
  createGoalCheckpointVerifier,
3256
3357
  GoalConflictError,
3257
3358
  GoalInvalidTransitionError,
@@ -2,7 +2,7 @@
2
2
  "use strict";
3
3
  import {
4
4
  themeManager
5
- } from "./chunk-S3G6YFQC.js";
5
+ } from "./chunk-WEGXPP5E.js";
6
6
  import {
7
7
  init_esbuild_shims
8
8
  } from "./chunk-5O2XNYP6.js";
@@ -2,13 +2,13 @@
2
2
  "use strict";
3
3
  import {
4
4
  delay
5
- } from "./chunk-YDJRMQU4.js";
5
+ } from "./chunk-V3GINY6K.js";
6
6
  import {
7
7
  isTlsVerificationDisabled
8
- } from "./chunk-PZRUV52H.js";
8
+ } from "./chunk-GTUKW3I6.js";
9
9
  import {
10
10
  getErrorMessage
11
- } from "./chunk-A5F2YNO6.js";
11
+ } from "./chunk-2NNTE2ED.js";
12
12
  import {
13
13
  init_esbuild_shims
14
14
  } from "./chunk-5O2XNYP6.js";