@qwen-code/qwen-code 0.22.0 → 0.22.2-nightly.20260828.7357136dd1

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 (483) 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/goal-draft/SKILL.md +109 -0
  5. package/bundled/qc-helper/docs/configuration/auth.md +7 -7
  6. package/bundled/qc-helper/docs/configuration/model-providers.md +70 -9
  7. package/bundled/qc-helper/docs/configuration/settings.md +48 -48
  8. package/bundled/qc-helper/docs/extension/introduction.md +3 -1
  9. package/bundled/qc-helper/docs/features/_meta.ts +1 -0
  10. package/bundled/qc-helper/docs/features/channels/_meta.ts +1 -0
  11. package/bundled/qc-helper/docs/features/channels/dingtalk.md +12 -0
  12. package/bundled/qc-helper/docs/features/channels/dws.md +120 -0
  13. package/bundled/qc-helper/docs/features/channels/overview.md +37 -6
  14. package/bundled/qc-helper/docs/features/code-review.md +27 -23
  15. package/bundled/qc-helper/docs/features/commands.md +4 -3
  16. package/bundled/qc-helper/docs/features/computer-use.md +57 -51
  17. package/bundled/qc-helper/docs/features/goals.md +58 -0
  18. package/bundled/qc-helper/docs/features/headless.md +13 -11
  19. package/bundled/qc-helper/docs/features/mcp.md +35 -12
  20. package/bundled/qc-helper/docs/features/status-line.md +3 -3
  21. package/bundled/qc-helper/docs/features/sub-agents.md +1 -1
  22. package/bundled/qc-helper/docs/features/worktree.md +1 -1
  23. package/bundled/qc-helper/docs/overview.md +1 -1
  24. package/bundled/qc-helper/docs/quickstart.md +1 -1
  25. package/bundled/qc-helper/docs/qwen-serve.md +29 -6
  26. package/bundled/review/SKILL.md +185 -435
  27. package/bundled/review/references/aone.md +18 -0
  28. package/bundled/review/references/persistence.md +109 -0
  29. package/bundled/review/references/posting.md +272 -0
  30. package/chunks/MaxSizedBox-LMWXCLDV.js +110 -0
  31. package/chunks/{StandaloneSessionPicker-KTHPCSR6.js → StandaloneSessionPicker-W3F7U3JL.js} +87 -88
  32. package/chunks/{acp-startup-profiler-T4GEAPLX.js → acp-startup-profiler-GNYAL6LI.js} +2 -2
  33. package/chunks/{acpAgent-CRY3JZ5O.js → acpAgent-EYZ6EEHD.js} +3223 -2145
  34. package/chunks/agent-RBLGBY65.js +95 -0
  35. package/chunks/agent-headless-L5T4Y4OZ.js +85 -0
  36. package/chunks/{anthropicContentGenerator-Y2OX6LS4.js → anthropicContentGenerator-GMHML35Q.js} +128 -59
  37. package/chunks/{artifact-tool-SBXMTVCB.js → artifact-tool-XSMPHZBT.js} +11 -3
  38. package/chunks/{askUserQuestion-KEQJRFD6.js → askUserQuestion-4SWJY65V.js} +2 -2
  39. package/chunks/bridge-5LR2F2ND.js +119 -0
  40. package/chunks/{ca-D3F4S6NG.js → ca-7HPYOYSZ.js} +3 -0
  41. package/chunks/{channel-management-service-IRTT7RNE.js → channel-management-service-KHR3N6CH.js} +6 -6
  42. package/chunks/channel-settings-store-4FOAZW72.js +120 -0
  43. package/chunks/{channel-worker-group-BJNMR2MP.js → channel-worker-group-6NA6BBZV.js} +9 -7
  44. package/chunks/{channel-worker-manager-EMA7CQDJ.js → channel-worker-manager-NEZ2J6RK.js} +11 -8
  45. package/chunks/{channel-worker-supervisor-F6I6WSWW.js → channel-worker-supervisor-FKU7DIHJ.js} +12 -6
  46. package/chunks/{chunk-HDKCKCYO.js → chunk-23RFD54N.js} +1 -1
  47. package/chunks/{read-package-up-UXSW3YPB.js → chunk-2EAZ43JQ.js} +1 -0
  48. package/chunks/{chunk-KM73TBQ4.js → chunk-2LD5U7Q3.js} +31 -0
  49. package/chunks/{chunk-GIWB5QLV.js → chunk-2SXSLSQE.js} +4 -4
  50. package/chunks/chunk-2TNL5KPM.js +49 -0
  51. package/chunks/chunk-335CJSNF.js +2320 -0
  52. package/chunks/chunk-36LGBEM6.js +130 -0
  53. package/chunks/{chunk-O5BDEWBC.js → chunk-3JXM2CVW.js} +3 -3
  54. package/chunks/{chunk-2E3V7G6Y.js → chunk-3K6TUZHS.js} +55 -50
  55. package/chunks/{chunk-WWUSHZ7M.js → chunk-3OOXT6CR.js} +5 -5
  56. package/chunks/{chunk-2UZJWSVD.js → chunk-3WK3QDNV.js} +2 -2
  57. package/chunks/{chunk-4J7OPYNS.js → chunk-3XOKEVII.js} +6 -6
  58. package/chunks/chunk-3Y34Q3JV.js +1584 -0
  59. package/chunks/{chunk-YMVFIYHV.js → chunk-42IDLQWS.js} +26 -20
  60. package/chunks/{chunk-7HFULI45.js → chunk-454XFGH4.js} +3 -3
  61. package/chunks/chunk-4CMJKUND.js +95 -0
  62. package/chunks/{chunk-XLDFW44M.js → chunk-4K7KNVWH.js} +3 -3
  63. package/chunks/{chunk-YDJRMQU4.js → chunk-4QHPPXK2.js} +16 -8
  64. package/chunks/{chunk-7KOFLDEP.js → chunk-5JTIYALA.js} +1 -1
  65. package/chunks/{chunk-CXJHQVEK.js → chunk-5PA6UEYA.js} +4 -0
  66. package/chunks/{chunk-7NBVNAJJ.js → chunk-62GQFYID.js} +3 -3
  67. package/chunks/{chunk-JGUBDRBC.js → chunk-6DIGWMGT.js} +3 -3
  68. package/chunks/{chunk-X7V3N6YH.js → chunk-6JCGO55P.js} +885 -3380
  69. package/chunks/{chunk-HIK2OF33.js → chunk-6PJOTWAN.js} +1 -1
  70. package/chunks/{chunk-VUMLT7E5.js → chunk-6W2IK5KC.js} +956 -17
  71. package/chunks/{chunk-S4C4JJKE.js → chunk-6ZZBRRKQ.js} +5 -5
  72. package/chunks/{chunk-W4CRPSC5.js → chunk-7EQQR46F.js} +1 -1
  73. package/chunks/{chunk-PHJJ3RVO.js → chunk-7GWQW5ID.js} +7 -15
  74. package/chunks/chunk-7J6OTNGO.js +424 -0
  75. package/chunks/{chunk-URN2JIAQ.js → chunk-7TUBJBBJ.js} +5 -1
  76. package/chunks/{chunk-A5F63FEW.js → chunk-7VD6IPQM.js} +1 -1
  77. package/chunks/{chunk-36OF5PRW.js → chunk-ABS25QER.js} +7 -3
  78. package/chunks/{chunk-UU4WC7DK.js → chunk-AJGR6E6Z.js} +117 -30
  79. package/chunks/{chunk-MQP3MHWN.js → chunk-AU3MMVJF.js} +43 -20
  80. package/chunks/{chunk-ZS5BHEPD.js → chunk-AXC26UCQ.js} +1 -1
  81. package/chunks/{chunk-PDL6LKB5.js → chunk-AY3BNYEQ.js} +1 -1
  82. package/chunks/{chunk-O5Z7EB6Y.js → chunk-AYHQZBJ4.js} +170 -207
  83. package/chunks/{chunk-WRT324N6.js → chunk-B466ZSHZ.js} +3 -3
  84. package/chunks/{chunk-5XHAOUWD.js → chunk-B5OUL5EL.js} +3 -3
  85. package/chunks/{chunk-GAHYKJPV.js → chunk-B5PHIJGI.js} +186 -60
  86. package/chunks/{chunk-IBJ5S45N.js → chunk-B7CDU2SL.js} +2 -2
  87. package/chunks/{chunk-UZPYR3EV.js → chunk-BFPESSTR.js} +1 -1
  88. package/chunks/{chunk-43T5WDQ7.js → chunk-BFSFJR3D.js} +1 -1
  89. package/chunks/{chunk-IWOWEENB.js → chunk-BKWNKLZB.js} +404 -44
  90. package/chunks/{chunk-3CLIDIVQ.js → chunk-BOWFGCEU.js} +3 -3
  91. package/chunks/{chunk-BB5IMQCV.js → chunk-BPAKYXQ3.js} +2 -2
  92. package/chunks/{chunk-ZRYQMWEP.js → chunk-BWORX6FA.js} +2 -2
  93. package/chunks/{chunk-AP3B7LKD.js → chunk-BXDAPVQU.js} +2 -2
  94. package/chunks/{chunk-NUGZAFR2.js → chunk-C2X7KY45.js} +147 -6
  95. package/chunks/{chunk-MZKWFWVG.js → chunk-C3KURPP7.js} +6 -6
  96. package/chunks/{chunk-WZDM44SB.js → chunk-CAJTKR6W.js} +7 -7
  97. package/chunks/{chunk-DB2OKNTU.js → chunk-CFJY4DGX.js} +2 -2
  98. package/chunks/{chunk-QKBYFU2Q.js → chunk-CFKIH3D3.js} +21 -1
  99. package/chunks/{chunk-I432KXWD.js → chunk-CMHFCLBU.js} +1 -1
  100. package/chunks/{create-sub-session-XBCVGNFU.js → chunk-CQH5KTKC.js} +4 -6
  101. package/chunks/{chunk-5HJUPACR.js → chunk-CRKKHXTI.js} +185 -174
  102. package/chunks/{chunk-L4HVF7LM.js → chunk-CYAUBK46.js} +3 -3
  103. package/chunks/{chunk-AZF6SME3.js → chunk-D5LUXLUH.js} +3 -3
  104. package/chunks/{chunk-RPJQ3O4M.js → chunk-DFDWJE6Z.js} +60 -53
  105. package/chunks/{chunk-KSPRQSB4.js → chunk-DIMEPKCW.js} +52 -12
  106. package/chunks/chunk-DJBQCO2E.js +842 -0
  107. package/chunks/{chunk-OVH5Y7KS.js → chunk-DP4MWIM3.js} +19 -3
  108. package/chunks/{chunk-LI4YHTQK.js → chunk-DYXFD5RO.js} +182 -3
  109. package/chunks/{chunk-NW35NVFN.js → chunk-E3XVSVKK.js} +26 -4
  110. package/chunks/{chunk-VSNPOSDN.js → chunk-EB6QRGHM.js} +108 -13
  111. package/chunks/{chunk-FVBVJEBG.js → chunk-EKNBU2X7.js} +10 -8
  112. package/chunks/{chunk-DJEHYM4H.js → chunk-EKSCLBBF.js} +3 -3
  113. package/chunks/{chunk-624NHDGB.js → chunk-ERFDKH32.js} +11 -0
  114. package/chunks/chunk-EW5VVLJT.js +3525 -0
  115. package/chunks/{chunk-T6XLJRQY.js → chunk-EWIQ3NAE.js} +38774 -6955
  116. package/chunks/{chunk-4XPSVIED.js → chunk-FALBWZF4.js} +6 -6
  117. package/chunks/chunk-FBX2SDQ4.js +48 -0
  118. package/chunks/{chunk-VMJL7RH6.js → chunk-FEHMA4RO.js} +539 -651
  119. package/chunks/{chunk-PXOJLJ5W.js → chunk-FMFBLTLY.js} +606 -223
  120. package/chunks/{chunk-ZLCT4C5A.js → chunk-FTF2YIZ5.js} +1 -1
  121. package/chunks/{chunk-IOSEW6KP.js → chunk-G6FECKTJ.js} +9 -6
  122. package/chunks/{chunk-RDG44S5I.js → chunk-GGNE3JAW.js} +2 -2
  123. package/chunks/chunk-GYTKQYDB.js +23 -0
  124. package/chunks/{chunk-B6UBOIFE.js → chunk-H33EQVMG.js} +14 -11
  125. package/chunks/chunk-H72BQNM3.js +645 -0
  126. package/chunks/{chunk-YZBDKFRQ.js → chunk-HGIMWQVT.js} +995 -892
  127. package/chunks/chunk-HOCJDUFY.js +20 -0
  128. package/chunks/{chunk-6UQSU7CQ.js → chunk-HPXV655A.js} +60 -107
  129. package/chunks/{chunk-45NQKMYB.js → chunk-HVC3PNVC.js} +1 -1
  130. package/chunks/{chunk-QJHPWLZC.js → chunk-HYDJDQGJ.js} +1 -1
  131. package/chunks/{chunk-7DMTAQJ6.js → chunk-IB7FQJRY.js} +163 -57
  132. package/chunks/{chunk-AW27A43Y.js → chunk-ICURCKIU.js} +1428 -120
  133. package/chunks/{chunk-4F5WV4RF.js → chunk-ISKH4QX3.js} +288 -15
  134. package/chunks/{chunk-SE55HQGF.js → chunk-J6S24ZJE.js} +92 -70
  135. package/chunks/{chunk-7DYNJFES.js → chunk-JB4JIVTJ.js} +6 -1
  136. package/chunks/{chunk-OARZJFZX.js → chunk-JN4IWWMN.js} +4 -4
  137. package/chunks/{chunk-6PCOVQO2.js → chunk-JUUBLSZU.js} +8 -8
  138. package/chunks/{chunk-FEMQ6Y7W.js → chunk-JWALNCLT.js} +47 -126
  139. package/chunks/{chunk-TBVSALA3.js → chunk-K5KXUXWC.js} +3 -3
  140. package/chunks/{chunk-XYQHT3AW.js → chunk-KTJFDCX4.js} +2 -2
  141. package/chunks/{chunk-6FRJEE2S.js → chunk-LEFCFTEX.js} +6 -6
  142. package/chunks/{chunk-BUGYW6FB.js → chunk-LEGTMYAE.js} +1 -1
  143. package/chunks/{chunk-MPHLIJYL.js → chunk-LLZA2IK3.js} +20 -8
  144. package/chunks/{chunk-BEGIBJAZ.js → chunk-LNETQKBE.js} +4 -4
  145. package/chunks/{chunk-KVGR4MCF.js → chunk-LUEHOUHM.js} +3 -3
  146. package/chunks/{chunk-2A4C2MEG.js → chunk-LVPZO674.js} +35 -12
  147. package/chunks/{chunk-25NESM4G.js → chunk-M4ORUPYI.js} +29 -5
  148. package/chunks/{chunk-VFACN2CE.js → chunk-M6FOJXW3.js} +1 -1
  149. package/chunks/{chunk-FYZMB6DB.js → chunk-MAYHGRP4.js} +12 -12
  150. package/chunks/{chunk-K3LPAED5.js → chunk-MQM5PJML.js} +24 -4
  151. package/chunks/{chunk-ZRFUT5VV.js → chunk-MTJN7FOT.js} +7 -7
  152. package/chunks/{chunk-BGXZBI5B.js → chunk-N4X7G4J2.js} +2 -1
  153. package/chunks/{chunk-2TRNCJK4.js → chunk-NIFYWDYN.js} +1 -1
  154. package/chunks/{chunk-SQS55KR4.js → chunk-NU7RKEZR.js} +2 -2
  155. package/chunks/{chunk-U2UYQMM6.js → chunk-NXMBRVMQ.js} +3 -3
  156. package/chunks/chunk-OI4NY7RA.js +346 -0
  157. package/chunks/{chunk-LURJYO2T.js → chunk-OZ6KS6KW.js} +4 -0
  158. package/chunks/{chunk-K52PZNU4.js → chunk-PDQGMSZK.js} +2 -2
  159. package/chunks/{chunk-PZRUV52H.js → chunk-PPKZ7JOE.js} +20 -2
  160. package/chunks/{chunk-SAH4BD2J.js → chunk-PQEISIKS.js} +67 -0
  161. package/chunks/{chunk-AO4M6NMD.js → chunk-PWIGAMA4.js} +146 -27
  162. package/chunks/{chunk-S3G6YFQC.js → chunk-QFCDF5PL.js} +1 -1
  163. package/chunks/chunk-QHMLYMMS.js +32 -0
  164. package/chunks/{chunk-5XUTPXQU.js → chunk-QPTRRPZU.js} +47 -13
  165. package/chunks/{chunk-UUQFJILB.js → chunk-RFI4YGMR.js} +34 -267
  166. package/chunks/{chunk-A6NRNRKE.js → chunk-RFIDDFAL.js} +1 -1
  167. package/chunks/chunk-RKFGE7JH.js +93 -0
  168. package/chunks/chunk-RNVFRIOO.js +275 -0
  169. package/chunks/{chunk-WU5E4HMO.js → chunk-RU7BK6B3.js} +1 -1
  170. package/chunks/{chunk-J5ZDDUKM.js → chunk-RVXDXY6I.js} +4 -4
  171. package/chunks/{chunk-OE52YHCZ.js → chunk-RWZB422L.js} +11 -11
  172. package/chunks/chunk-RXFQM6FQ.js +42 -0
  173. package/chunks/{chunk-MHG6NDS6.js → chunk-RYNZQGXN.js} +19 -2
  174. package/chunks/{chunk-4CWDWDL6.js → chunk-SJ5ERAW3.js} +1 -1
  175. package/chunks/{chunk-Q54XG7IX.js → chunk-SMPR7SPO.js} +1 -1
  176. package/chunks/{chunk-UIRLQ3N7.js → chunk-SRZZY4IY.js} +3 -3
  177. package/chunks/{chunk-ND7NOI4P.js → chunk-STUJ7IMZ.js} +0 -92
  178. package/chunks/{chunk-VYC7XFYV.js → chunk-SUX7HDNA.js} +5 -5
  179. package/chunks/{chunk-ZZUVC6RI.js → chunk-SVNO44PF.js} +3 -3
  180. package/chunks/{chunk-FDD2IUEL.js → chunk-SZLBBZH4.js} +370 -35
  181. package/chunks/{chunk-GHY5OIYP.js → chunk-T2NKRHZZ.js} +13 -13
  182. package/chunks/chunk-T4EFG2P5.js +113 -0
  183. package/chunks/{chunk-BMCSKS37.js → chunk-TLHUNMO7.js} +6 -6
  184. package/chunks/{chunk-JOLJTKIG.js → chunk-TPI7O7HR.js} +1 -1
  185. package/chunks/{chunk-6QSA4JHL.js → chunk-TQHGJYR3.js} +4492 -1121
  186. package/chunks/{chunk-ISJMN3ML.js → chunk-TTX2JUE6.js} +1 -1
  187. package/chunks/{chunk-EFB657PR.js → chunk-TW3E6YNO.js} +3 -3
  188. package/chunks/{chunk-LD5VIJ7S.js → chunk-TWSKM647.js} +1 -1
  189. package/chunks/chunk-U54AYGEC.js +337 -0
  190. package/chunks/{chunk-A5F2YNO6.js → chunk-UHQFIS7N.js} +260 -10
  191. package/chunks/{chunk-6NFAEG54.js → chunk-UTLCH2FK.js} +24 -13
  192. package/chunks/{chunk-7JBHIQS2.js → chunk-UY3PBNY3.js} +19 -37
  193. package/chunks/{chunk-DWCKACFL.js → chunk-V2NDP3I4.js} +2 -2
  194. package/chunks/{chunk-2GXYDNXP.js → chunk-V2QDDC5J.js} +19 -9
  195. package/chunks/{chunk-VLRBJ24J.js → chunk-V5J4J5TP.js} +2 -2
  196. package/chunks/{chunk-X2UOOG5V.js → chunk-VQUGEVGR.js} +1 -1
  197. package/chunks/{chunk-RDQ7QB4Y.js → chunk-VTHREBQM.js} +2 -2
  198. package/chunks/{chunk-YLFLHKDL.js → chunk-W3N5XAZ6.js} +1 -1
  199. package/chunks/{chunk-62JOGZL5.js → chunk-W6DUQ5GA.js} +11497 -10502
  200. package/chunks/{chunk-P47E4SJC.js → chunk-WALC5VJH.js} +4 -4
  201. package/chunks/{chunk-3ZFJUBTP.js → chunk-WAOIHTJS.js} +1 -1
  202. package/chunks/{chunk-KIVGVFMM.js → chunk-WBHKK3CU.js} +16 -4
  203. package/chunks/{chunk-XZJKSETB.js → chunk-WXEA74YB.js} +3 -3
  204. package/chunks/{chunk-VEND4KA4.js → chunk-X3ZRTCJD.js} +1 -1
  205. package/chunks/{chunk-YRLW2MSX.js → chunk-XBVNNDPK.js} +11 -4
  206. package/chunks/{chunk-XL5K4SVK.js → chunk-XF63PKEN.js} +1 -1
  207. package/chunks/{chunk-LDGWX737.js → chunk-XLLQJRAH.js} +323 -510
  208. package/chunks/{chunk-2Z6LSQMF.js → chunk-XQFT3QUF.js} +1 -1
  209. package/chunks/{chunk-P3QQPMQA.js → chunk-XZA32HII.js} +4 -4
  210. package/chunks/{chunk-C72BXMJ5.js → chunk-Y3QL45LS.js} +1 -1
  211. package/chunks/{chunk-QS4ENGVF.js → chunk-Y4TPOUEV.js} +17 -8
  212. package/chunks/{chunk-AVCCKIZ6.js → chunk-YRZX2PHA.js} +1 -1
  213. package/chunks/{chunk-Z3JMO2CH.js → chunk-YTDVNSUQ.js} +1 -1
  214. package/chunks/{chunk-WS7PAXXR.js → chunk-YWQ237GX.js} +15 -199
  215. package/chunks/chunk-ZELCTN6Y.js +29 -0
  216. package/chunks/{chunk-TQOF5KBL.js → chunk-ZEZKIS2K.js} +0 -31
  217. package/chunks/{chunk-IIWGSX4L.js → chunk-ZTP35P4B.js} +1 -1
  218. package/chunks/{chunk-K623ENWT.js → chunk-ZU4UDIWX.js} +23 -1
  219. package/chunks/chunk-ZYNTSXWK.js +32 -0
  220. package/chunks/config-utils-JVGAP34H.js +113 -0
  221. package/chunks/contextCommand-XDB7OSO7.js +106 -0
  222. package/chunks/{core-runtime-CES6JSVV.js → core-runtime-XHYA2RH7.js} +66 -63
  223. package/chunks/create-sub-session-23ITIELI.js +17 -0
  224. package/chunks/{create-sub-session-UJTPMVOG.js → create-sub-session-MHYCFNCM.js} +168 -87
  225. package/chunks/{cron-create-IKA56DAF.js → cron-create-KJ4IY6PP.js} +57 -10
  226. package/chunks/{cron-delete-K5Q62EGH.js → cron-delete-MBLQCAYY.js} +4 -4
  227. package/chunks/{cron-list-QBFGAMP7.js → cron-list-DWH2PQ47.js} +4 -4
  228. package/chunks/{daemon-RZZUPGOJ.js → daemon-K5XS42ID.js} +567 -27
  229. package/chunks/{daemon-git-worktree-guard-3QY2BQYB.js → daemon-git-worktree-guard-V3P5XLHB.js} +339 -95
  230. package/chunks/daemon-status-provider-KKU7ZTLM.js +117 -0
  231. package/chunks/daemon-trust-policy-TZGK34DW.js +112 -0
  232. package/chunks/{daemon-trust-policy-monitor-TK4K7M63.js → daemon-trust-policy-monitor-F23DD2M4.js} +69 -69
  233. package/chunks/{de-RYUHH2C6.js → de-X6HLSIFE.js} +1 -0
  234. package/chunks/deferred-core-runtime-LKLGBCGZ.js +114 -0
  235. package/chunks/{display-image-OEJMJV3S.js → display-image-BE7I6ZB6.js} +5 -5
  236. package/chunks/{dist-5EV2G6MC.js → dist-4WXLCBDR.js} +1 -1
  237. package/chunks/{dist-ES6HNUW2.js → dist-5VXFRTWU.js} +525 -64
  238. package/chunks/{dist-ESS34DHC.js → dist-6BPYWHVD.js} +89 -65
  239. package/chunks/{dist-2OG3PGKO.js → dist-GFN5DCBX.js} +76 -67
  240. package/chunks/{dist-K7IQB53U.js → dist-HZNT6GQS.js} +1 -1
  241. package/chunks/{dist-J6P3C52Z.js → dist-LVZCXVPF.js} +99 -26
  242. package/chunks/{dist-LZO24N3E.js → dist-N6W6E753.js} +71 -64
  243. package/chunks/dist-QDLFKWOL.js +2512 -0
  244. package/chunks/{dist-VVQBOKDH.js → dist-SWQMYP2Q.js} +18 -16
  245. package/chunks/earlyInputCapture-NERYFYTR.js +107 -0
  246. package/chunks/{edit-A2633SLR.js → edit-ACCATIXB.js} +49 -51
  247. package/chunks/{en-3RHLPITS.js → en-YLXBXM4Z.js} +5 -1
  248. package/chunks/{enter-worktree-OIAHE2TB.js → enter-worktree-35QCAAFP.js} +7 -8
  249. package/chunks/{enterPlanMode-SUGIKLR7.js → enterPlanMode-NEN6EPVM.js} +48 -50
  250. package/chunks/environment-CKWHBC5T.js +129 -0
  251. package/chunks/errors-XTZPNQ77.js +113 -0
  252. package/chunks/{exit-worktree-3UT3SSWT.js → exit-worktree-XQD6D543.js} +7 -8
  253. package/chunks/exitPlanMode-CY344X5J.js +83 -0
  254. package/chunks/{fast-path-3AVP3G35.js → fast-path-YSOX4PAM.js} +31 -10
  255. package/chunks/{fast-path-settings-WHX3J3ZI.js → fast-path-settings-XMFBYFUH.js} +2 -2
  256. package/chunks/{fr-4PL5GHG4.js → fr-FTZWF462.js} +1 -0
  257. package/chunks/{gemini-7PVQWHTH.js → gemini-VQY2YCPH.js} +137 -129
  258. package/chunks/{geminiContentGenerator-B2FOJJDJ.js → geminiContentGenerator-PAPXNIGU.js} +16 -13
  259. package/chunks/{glob-7YGXE6OV.js → glob-GVCUSBBF.js} +48 -50
  260. package/chunks/{goal-tools-TLJCE7YZ.js → goal-tools-5STK6OXW.js} +77 -31
  261. package/chunks/{grep-6DV6LTON.js → grep-5GPICQBU.js} +6 -6
  262. package/chunks/handleAutoUpdate-ZJPJN42W.js +109 -0
  263. package/chunks/i18n-BZYKOST7.js +124 -0
  264. package/chunks/{image-gen-7CSCJ73T.js → image-gen-J6FDGUZP.js} +8 -12
  265. package/chunks/initializer-GO2C5HE3.js +113 -0
  266. package/chunks/installationInfo-WM2GXQZ6.js +107 -0
  267. package/chunks/{ja-HZ7X7PQO.js → ja-2GL5FKYJ.js} +1 -0
  268. package/chunks/{keychain-token-storage-MTFTAESK.js → keychain-token-storage-37XPR34V.js} +2 -2
  269. package/chunks/list-ERDJB7PQ.js +116 -0
  270. package/chunks/{list-agents-43XUEXJV.js → list-agents-DI3YFTDT.js} +2 -2
  271. package/chunks/loadedSettingsAdapter-7JOCVOKV.js +110 -0
  272. package/chunks/{loggingContentGenerator-RNE66CKK.js → loggingContentGenerator-3ONLU3BS.js} +327 -39
  273. package/chunks/{loop-wakeup-E54KDUXC.js → loop-wakeup-XJFONSQ7.js} +5 -5
  274. package/chunks/{ls-CGL2UC3H.js → ls-3VAT2J7A.js} +4 -4
  275. package/chunks/{lsp-5IKUO5DX.js → lsp-5W7IRUBH.js} +2 -2
  276. package/chunks/{managed-npm-update-Y3SC3GLJ.js → managed-npm-update-TLRCC2GE.js} +62 -62
  277. package/chunks/mcp-2LH3QXR2.js +110 -0
  278. package/chunks/{monitor-PXYSGSUN.js → monitor-P7LDAL4W.js} +48 -50
  279. package/chunks/nonInteractiveCli-E5T7PZ27.js +184 -0
  280. package/chunks/{notebook-edit-ISIBJVBR.js → notebook-edit-F7KSG4WQ.js} +49 -51
  281. package/chunks/open-with-auth-4UI3KHUR.js +55 -0
  282. package/chunks/{openaiContentGenerator-6TBOPEGT.js → openaiContentGenerator-2EXCZUGN.js} +29 -32
  283. package/chunks/pidfile-P25DWA5Q.js +111 -0
  284. package/chunks/process-registry-OAEG6WGC.js +662 -0
  285. package/chunks/{processUtils-YK2TDTTU.js → processUtils-PVDKBL35.js} +2 -2
  286. package/chunks/prompt-terminal-ledger-AJ7T7OIV.js +105 -0
  287. package/chunks/{pt-QT5N2Q6Q.js → pt-XN2YWJVM.js} +1 -0
  288. package/chunks/{qwenContentGenerator-CLDMA2Y4.js → qwenContentGenerator-TBBRLWIT.js} +54 -62
  289. package/chunks/{qwenOAuth2-DLDR6UC5.js → qwenOAuth2-OF5WRBQT.js} +7 -11
  290. package/chunks/read-file-6IIY4RLJ.js +32 -0
  291. package/chunks/{read-mcp-resource-XYES2B42.js → read-mcp-resource-XD257PGJ.js} +2 -2
  292. package/chunks/read-package-up-6T6ICKR7.js +13 -0
  293. package/chunks/{record-artifact-W3IBTGL7.js → record-artifact-VW23GS4F.js} +4 -5
  294. package/chunks/report-findings-XA3FJG3N.js +33 -0
  295. package/chunks/request-shutdown-BCLA3JV2.js +133 -0
  296. package/chunks/resumeHistoryUtils-44IETXDY.js +118 -0
  297. package/chunks/ripGrep-E7ESZ7SS.js +39 -0
  298. package/chunks/{ru-STMG5BPD.js → ru-OLTMFJEW.js} +1 -0
  299. package/chunks/{run-qwen-serve-XJHOW2NY.js → run-qwen-serve-DXBCYW7V.js} +924 -356
  300. package/chunks/runtime-RUSPD35D.js +148 -0
  301. package/chunks/scheduled-tasks-DVRJZO6I.js +127 -0
  302. package/chunks/scheduler-TDRB2NSY.js +122 -0
  303. package/chunks/{sdk-exporters-http-RSIOP3G2.js → sdk-exporters-http-TTU2CHBU.js} +5 -5
  304. package/chunks/{sdk-impl-CB3KARSK.js → sdk-impl-UUMVYMAL.js} +12 -6
  305. package/chunks/{send-message-J4VT46OI.js → send-message-AJ4OCUBV.js} +24 -29
  306. package/chunks/serve-KITOM7OR.js +118 -0
  307. package/chunks/{server-74ONDK62.js → server-THCOMUC2.js} +5814 -4549
  308. package/chunks/{session-BO6VBWJP.js → session-XKR5MPXE.js} +152 -142
  309. package/chunks/session-pr-refresh-KRBH7KDA.js +278 -0
  310. package/chunks/{settings-35QZNFDG.js → settings-YXZ4XBKK.js} +72 -72
  311. package/chunks/shell-5FJ2DZ3W.js +93 -0
  312. package/chunks/{skill-DKEMQSNJ.js → skill-VMMJZ6CJ.js} +161 -33
  313. package/chunks/skill-settings-7SG4YA2W.js +118 -0
  314. package/chunks/spawnChannel-BPMIXRBI.js +112 -0
  315. package/chunks/standalone-update-QN5HFRIC.js +118 -0
  316. package/chunks/{startInteractiveUI-J2QSGWPU.js → startInteractiveUI-5A7RQFRP.js} +3139 -2438
  317. package/chunks/{syntheticOutput-JAXMIMZP.js → syntheticOutput-ML43GEFN.js} +3 -3
  318. package/chunks/{task-create-I2H322E4.js → task-create-QN4LYRSE.js} +11 -11
  319. package/chunks/{task-list-3OLIWFTQ.js → task-list-JPLGK45U.js} +5 -5
  320. package/chunks/{task-stop-JAUY6MSY.js → task-stop-CXEH5L2D.js} +2 -2
  321. package/chunks/{task-update-B3XO4CPI.js → task-update-IWEOJFV2.js} +11 -11
  322. package/chunks/{team-create-W534PMGX.js → team-create-HVGVUL2L.js} +49 -51
  323. package/chunks/{team-delete-Q7GE7RRI.js → team-delete-RZVVSGCY.js} +5 -5
  324. package/chunks/{team-plan-approval-WNV6P6NG.js → team-plan-approval-S5A5FQWU.js} +48 -50
  325. package/chunks/terminal-image-renderer-SIVPPXDI.js +114 -0
  326. package/chunks/theme-manager-TA33UZZX.js +102 -0
  327. package/chunks/{todoWrite-FJJTY2TI.js → todoWrite-WDJNQEMW.js} +43 -25
  328. package/chunks/{tool-search-Y4KL3LRE.js → tool-search-NX7IPDKP.js} +19 -20
  329. package/chunks/total-session-admission-PWXZBOVX.js +114 -0
  330. package/chunks/trustedFolders-V6Y4CU3F.js +122 -0
  331. package/chunks/{update-relaunch-OHVFN6KF.js → update-relaunch-CGSX3R37.js} +6 -6
  332. package/chunks/updateCheck-T5O2WGIB.js +118 -0
  333. package/chunks/useAutoAcceptIndicator-ULBJJWPY.js +120 -0
  334. package/chunks/{validateNonInterActiveAuth-WJXH426F.js → validateNonInterActiveAuth-E5S2JSRC.js} +114 -108
  335. package/chunks/{version-QMDRADXM.js → version-LS5JPU36.js} +2 -2
  336. package/chunks/{web-fetch-ROS6P4LP.js → web-fetch-RLMFZTS3.js} +25 -244
  337. package/chunks/{web-search-JS3E76O6.js → web-search-LMCIC4N5.js} +11 -13
  338. package/chunks/{web-shell-static-3NUTRHAH.js → web-shell-static-A6QMUNNV.js} +11 -4
  339. package/chunks/webapi-Z5OM224P.js +4118 -0
  340. package/chunks/{workflow-2FCMBTBZ.js → workflow-JBXU3IGA.js} +713 -138
  341. package/chunks/workspace-providers-status-525ORQBH.js +114 -0
  342. package/chunks/{workspace-registration-store-SU4EJKSD.js → workspace-registration-store-7Y44R4LV.js} +1 -1
  343. package/chunks/workspace-registry-HS4RWUSQ.js +123 -0
  344. package/chunks/workspace-service-7PXDM6EB.js +129 -0
  345. package/chunks/workspace-skills-status-FMJGC2XI.js +113 -0
  346. package/chunks/{workspace-trust-reconciler-4Y4F7XIX.js → workspace-trust-reconciler-3YTWSQBY.js} +78 -77
  347. package/chunks/write-file-BVQRYQQO.js +88 -0
  348. package/chunks/{zh-TW-NX43Z2S2.js → zh-TW-RPTMRTHG.js} +5 -1
  349. package/chunks/{zh-3JQ75KFU.js → zh-UNY63FR3.js} +5 -1
  350. package/chunks/{zoom-image-DNBKCGGF.js → zoom-image-FGCELNS4.js} +14 -15
  351. package/cli.js +13 -13
  352. package/locales/ca.js +3 -0
  353. package/locales/de.js +1 -0
  354. package/locales/en.js +5 -0
  355. package/locales/fr.js +1 -0
  356. package/locales/ja.js +1 -0
  357. package/locales/pt.js +1 -0
  358. package/locales/ru.js +1 -0
  359. package/locales/zh-TW.js +5 -0
  360. package/locales/zh.js +5 -0
  361. package/package.json +3 -3
  362. package/web-shell/assets/{abnfDiagram-VCTEODGH-DWHXEVlf.js → abnfDiagram-VCTEODGH-2XZDeWYO.js} +1 -1
  363. package/web-shell/assets/{arc-CXKjm86V.js → arc-B6UgMh90.js} +1 -1
  364. package/web-shell/assets/{architectureDiagram-5GKGNRK7-B_ynI0cX.js → architectureDiagram-5GKGNRK7-DZgNFeN1.js} +1 -1
  365. package/web-shell/assets/{blockDiagram-NRAW4CY4-DMebd9X0.js → blockDiagram-NRAW4CY4-DQ2wvBFN.js} +1 -1
  366. package/web-shell/assets/{c4Diagram-UCG6FXSJ-BZ5BlxS-.js → c4Diagram-UCG6FXSJ-DMmQMrc4.js} +1 -1
  367. package/web-shell/assets/channel-D_TyfiTx.js +1 -0
  368. package/web-shell/assets/{chunk-2Q5K7J3B-CluJKopE.js → chunk-2Q5K7J3B-C8Zh2e9y.js} +1 -1
  369. package/web-shell/assets/{chunk-5VM5RSS4-hzDAPFOo.js → chunk-5VM5RSS4-C3LTenP8.js} +1 -1
  370. package/web-shell/assets/{chunk-F27PBJKO-6vHioKJe.js → chunk-F27PBJKO-CxABOc8n.js} +1 -1
  371. package/web-shell/assets/{chunk-G27WJ6UU-B_5hKTGo.js → chunk-G27WJ6UU-CD_JxHDC.js} +1 -1
  372. package/web-shell/assets/{chunk-JWPE2WC7-CO9VoFCH.js → chunk-JWPE2WC7-BdmZPmce.js} +1 -1
  373. package/web-shell/assets/{chunk-LCL6LL3I-7L5JpxYu.js → chunk-LCL6LL3I-80bcHmfK.js} +1 -1
  374. package/web-shell/assets/{chunk-POPQ4Y6H-DHLJMAqj.js → chunk-POPQ4Y6H-CNpLZyQF.js} +1 -1
  375. package/web-shell/assets/{chunk-SVP7TREG-Dt-4Cqdl.js → chunk-SVP7TREG-CXlKgMv3.js} +1 -1
  376. package/web-shell/assets/{chunk-XXDRQBXY-QlSQ3ssG.js → chunk-XXDRQBXY-CivyYyvL.js} +1 -1
  377. package/web-shell/assets/classDiagram-DTDB5LWJ-Bw_H3xMd.js +1 -0
  378. package/web-shell/assets/classDiagram-v2-JRS7N3AN-Bw_H3xMd.js +1 -0
  379. package/web-shell/assets/{cose-bilkent-JH36ORCC-DMw3EOxl.js → cose-bilkent-JH36ORCC-COAjRH3w.js} +1 -1
  380. package/web-shell/assets/{cynefin-OW5HDTMX-s6vEA7RQ.js → cynefin-OW5HDTMX-DqU1JHO6.js} +1 -1
  381. package/web-shell/assets/{cynefinDiagram-5FMLGOSQ-AOKsvYLt.js → cynefinDiagram-5FMLGOSQ-BCLI1Bvj.js} +1 -1
  382. package/web-shell/assets/{dagre-3AP2YEHR-9QAZn3m7.js → dagre-3AP2YEHR-DmAz8nqF.js} +1 -1
  383. package/web-shell/assets/{diagram-S7CK7UJ4-CWpnu4FN.js → diagram-S7CK7UJ4-Ck-5QLT5.js} +1 -1
  384. package/web-shell/assets/{diagram-UQ7AKVKN-9l0jXD8q.js → diagram-UQ7AKVKN-C0ljX0mW.js} +1 -1
  385. package/web-shell/assets/{diagram-VSXAHHWV-BMUHroj4.js → diagram-VSXAHHWV-DPgvT24v.js} +1 -1
  386. package/web-shell/assets/{diagram-VX7I27RA-Co9x27vm.js → diagram-VX7I27RA-D7hWr1LR.js} +1 -1
  387. package/web-shell/assets/{diagram-Z3DM3KII-BKnTeOER.js → diagram-Z3DM3KII-D59tlOta.js} +1 -1
  388. package/web-shell/assets/{ebnfDiagram-PWID7BFC-QBZD9CKG.js → ebnfDiagram-PWID7BFC-CY2DDx00.js} +1 -1
  389. package/web-shell/assets/{erDiagram-SSCWMZ5O-dKWAEGun.js → erDiagram-SSCWMZ5O-AR4h8Q8k.js} +1 -1
  390. package/web-shell/assets/{flowDiagram-A5DVABFB-CR_UgVqj.js → flowDiagram-A5DVABFB-DbF0HqBz.js} +1 -1
  391. package/web-shell/assets/{ganttDiagram-EL5Y4UJY-DQUnjWO6.js → ganttDiagram-EL5Y4UJY-J52mrIhc.js} +1 -1
  392. package/web-shell/assets/{gitGraphDiagram-WWUBYQGX-C4j59wPL.js → gitGraphDiagram-WWUBYQGX-CcgMY5EV.js} +1 -1
  393. package/web-shell/assets/index-BjUg3vPr.css +5 -0
  394. package/web-shell/assets/index-CFwYYVFU.js +1873 -0
  395. package/web-shell/assets/{index-tYXRIPz4.js → index-MQs7l15A.js} +1 -1
  396. package/web-shell/assets/{infoDiagram-RXCK75RN-mzqbt50w.js → infoDiagram-RXCK75RN-Buu3ibp2.js} +1 -1
  397. package/web-shell/assets/{ishikawaDiagram-5VMMS53U-ChLOqhGl.js → ishikawaDiagram-5VMMS53U-CoKQxnF3.js} +1 -1
  398. package/web-shell/assets/{journeyDiagram-EYS64GPL-SifZE-R8.js → journeyDiagram-EYS64GPL-CxK35mTC.js} +1 -1
  399. package/web-shell/assets/{kanban-definition-3QL26DDD-Sft2qlbc.js → kanban-definition-3QL26DDD-tk2CHTQ1.js} +1 -1
  400. package/web-shell/assets/{layout-O2uHVkPd.js → layout-DEpMwb4u.js} +1 -1
  401. package/web-shell/assets/{linear-BVqYgjSc.js → linear-DSQsLh53.js} +1 -1
  402. package/web-shell/assets/{mermaid.core-CZ9MQaJ6.js → mermaid.core-DIZuPBQT.js} +6 -6
  403. package/web-shell/assets/{mindmap-definition-FBJOCRG2-BNQYjBqM.js → mindmap-definition-FBJOCRG2-CCAvk8r_.js} +1 -1
  404. package/web-shell/assets/{pegDiagram-XKGWAZYB-rh1J8uv6.js → pegDiagram-XKGWAZYB-CpJ28jxz.js} +1 -1
  405. package/web-shell/assets/{pieDiagram-E7YTZNPT-BQHR5mn9.js → pieDiagram-E7YTZNPT-ziJR2R32.js} +1 -1
  406. package/web-shell/assets/{quadrantDiagram-AXDQQJYC-CLCbP7mK.js → quadrantDiagram-AXDQQJYC-B60zE3Mh.js} +1 -1
  407. package/web-shell/assets/{railroadDiagram-O6MQD6OU-CDQhrkbm.js → railroadDiagram-O6MQD6OU-M3GqQ_g1.js} +1 -1
  408. package/web-shell/assets/{requirementDiagram-EFPCY7ZU-BdP9uswg.js → requirementDiagram-EFPCY7ZU-ntCtYqTk.js} +1 -1
  409. package/web-shell/assets/{sankeyDiagram-P5KCCOFB-CFZDFBXF.js → sankeyDiagram-P5KCCOFB-AYLoItcZ.js} +1 -1
  410. package/web-shell/assets/{sequenceDiagram-WJ2MYXX4-BW9WOJXI.js → sequenceDiagram-WJ2MYXX4-DEWk4Mlj.js} +1 -1
  411. package/web-shell/assets/{sizeCapture-X5ZJPWSS-CPMia32z.js → sizeCapture-X5ZJPWSS-OOWvzPay.js} +1 -1
  412. package/web-shell/assets/{stateDiagram-HBIQ2CUA-BANp9p7F.js → stateDiagram-HBIQ2CUA-BcMmvxem.js} +1 -1
  413. package/web-shell/assets/stateDiagram-v2-4QOOHH4V-DRLLqPWO.js +1 -0
  414. package/web-shell/assets/{swimlanes-XN3QIQJK-JroXksK-.js → swimlanes-XN3QIQJK-DuZTWWvh.js} +1 -1
  415. package/web-shell/assets/swimlanesDiagram-VK2B7HYN-DOfLQQYt.js +8 -0
  416. package/web-shell/assets/{timeline-definition-24CTP7MA-DfuVIfYY.js → timeline-definition-24CTP7MA-CjqtZXEd.js} +1 -1
  417. package/web-shell/assets/{vennDiagram-4TSXK5OY-BZXoSjRB.js → vennDiagram-4TSXK5OY-knVCVkQ4.js} +1 -1
  418. package/web-shell/assets/{wardleyDiagram-VM6X3IG4-BdiY8avC.js → wardleyDiagram-VM6X3IG4-yoWhw0a2.js} +1 -1
  419. package/web-shell/assets/{xychartDiagram-S5SC5T6Z-DcXh_U4H.js → xychartDiagram-S5SC5T6Z-ue14E_gL.js} +1 -1
  420. package/web-shell/index.html +20 -5
  421. package/chunks/MaxSizedBox-3OZJCC3J.js +0 -110
  422. package/chunks/agent-BFE3DQM3.js +0 -93
  423. package/chunks/agent-headless-LLVKZZ4P.js +0 -87
  424. package/chunks/bridge-EBYO4SYM.js +0 -118
  425. package/chunks/channel-settings-store-5VP2Y2YM.js +0 -115
  426. package/chunks/chunk-2J3OJGTL.js +0 -98
  427. package/chunks/chunk-7IV52LTO.js +0 -202
  428. package/chunks/chunk-AXMWHKXA.js +0 -42
  429. package/chunks/chunk-F6WFNA7U.js +0 -22
  430. package/chunks/chunk-IO257NUD.js +0 -623
  431. package/chunks/chunk-JS73NNWF.js +0 -30
  432. package/chunks/chunk-SJ4HB27T.js +0 -945
  433. package/chunks/chunk-VGHZT6JR.js +0 -51
  434. package/chunks/chunk-YHC2EYYG.js +0 -125
  435. package/chunks/computer-use-EGPWFEX6.js +0 -2142
  436. package/chunks/config-utils-WZ43VOBS.js +0 -25
  437. package/chunks/contextCommand-5DSEQI6S.js +0 -106
  438. package/chunks/daemon-status-provider-EYMLPYJU.js +0 -116
  439. package/chunks/daemon-trust-policy-CQYKZ7VO.js +0 -112
  440. package/chunks/deferred-core-runtime-WFEPUXZR.js +0 -114
  441. package/chunks/earlyInputCapture-PN4PP7V5.js +0 -107
  442. package/chunks/environment-WUPHLPKZ.js +0 -127
  443. package/chunks/errors-WPMPVIAT.js +0 -113
  444. package/chunks/exitPlanMode-MLFHYZNB.js +0 -85
  445. package/chunks/handleAutoUpdate-F5OTWUT5.js +0 -109
  446. package/chunks/i18n-C562S6KN.js +0 -124
  447. package/chunks/initializer-7YPGOFP4.js +0 -113
  448. package/chunks/installationInfo-ARU5Q2H7.js +0 -107
  449. package/chunks/list-KTSK275C.js +0 -116
  450. package/chunks/loadedSettingsAdapter-F3T2EQ5J.js +0 -110
  451. package/chunks/mcp-6ONTVPAY.js +0 -110
  452. package/chunks/nonInteractiveCli-KZDWFAN6.js +0 -178
  453. package/chunks/pidfile-IO7ALSZF.js +0 -111
  454. package/chunks/process-registry-PMJOA5CO.js +0 -172
  455. package/chunks/prompt-terminal-ledger-TCE7PMCE.js +0 -105
  456. package/chunks/read-file-2HOD2ATO.js +0 -33
  457. package/chunks/resumeHistoryUtils-DDSBAQJS.js +0 -118
  458. package/chunks/ripGrep-E7P6K4QR.js +0 -40
  459. package/chunks/runtime-J4SPTJRQ.js +0 -148
  460. package/chunks/scheduler-VRAEZZ4E.js +0 -122
  461. package/chunks/serve-KEAWV4TI.js +0 -118
  462. package/chunks/shell-H6K63WG3.js +0 -95
  463. package/chunks/skill-settings-TCKLXIXM.js +0 -118
  464. package/chunks/spawnChannel-2K6NKWM5.js +0 -111
  465. package/chunks/standalone-update-LSCGOEFP.js +0 -118
  466. package/chunks/terminal-image-renderer-UHX3UD66.js +0 -114
  467. package/chunks/theme-manager-6B47ZPIF.js +0 -102
  468. package/chunks/total-session-admission-NSCFWGJH.js +0 -113
  469. package/chunks/trustedFolders-7XMJWGQ3.js +0 -122
  470. package/chunks/updateCheck-EOVLHD4T.js +0 -118
  471. package/chunks/useAutoAcceptIndicator-ZNMIGBTN.js +0 -120
  472. package/chunks/workspace-providers-status-GPGU5YMT.js +0 -113
  473. package/chunks/workspace-registry-BQISXT6Y.js +0 -122
  474. package/chunks/workspace-service-LLY6HCUC.js +0 -129
  475. package/chunks/workspace-skills-status-L5N2Y3ZP.js +0 -113
  476. package/chunks/write-file-EJHU2Z3E.js +0 -90
  477. package/web-shell/assets/channel-Zg3WHgq_.js +0 -1
  478. package/web-shell/assets/classDiagram-DTDB5LWJ-C16l9jQz.js +0 -1
  479. package/web-shell/assets/classDiagram-v2-JRS7N3AN-C16l9jQz.js +0 -1
  480. package/web-shell/assets/index-BN_m_uHJ.css +0 -5
  481. package/web-shell/assets/index-DrlJu79f.js +0 -1792
  482. package/web-shell/assets/stateDiagram-v2-4QOOHH4V-NZYAoQLU.js +0 -1
  483. package/web-shell/assets/swimlanesDiagram-VK2B7HYN-3YdVX3vj.js +0 -8
@@ -0,0 +1,645 @@
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/acp-bridge/src/ndJsonStream.ts
11
+ init_esbuild_shims();
12
+ import { createHash } from "node:crypto";
13
+ import { inspect } from "node:util";
14
+ var NdJsonFrameTooLargeError = class extends Error {
15
+ constructor(direction, limitBytes, observedBytes) {
16
+ super(
17
+ `NDJSON ${direction} frame exceeds ${limitBytes} bytes (observed ${observedBytes} bytes)`
18
+ );
19
+ this.direction = direction;
20
+ this.limitBytes = limitBytes;
21
+ this.observedBytes = observedBytes;
22
+ this.name = "NdJsonFrameTooLargeError";
23
+ }
24
+ static {
25
+ __name(this, "NdJsonFrameTooLargeError");
26
+ }
27
+ code = "ndjson_frame_too_large";
28
+ };
29
+ var NdJsonQueueLimitError = class extends Error {
30
+ constructor(maxQueuedMessages, maxQueuedBytes, requiredBytes, availableBytes) {
31
+ super(
32
+ `NDJSON decoded queue is full (required ${requiredBytes} bytes, available ${availableBytes} bytes)`
33
+ );
34
+ this.maxQueuedMessages = maxQueuedMessages;
35
+ this.maxQueuedBytes = maxQueuedBytes;
36
+ this.requiredBytes = requiredBytes;
37
+ this.availableBytes = availableBytes;
38
+ this.name = "NdJsonQueueLimitError";
39
+ }
40
+ static {
41
+ __name(this, "NdJsonQueueLimitError");
42
+ }
43
+ code = "ndjson_queue_limit_exceeded";
44
+ };
45
+ var NdJsonIncompleteFrameError = class extends Error {
46
+ constructor(observedBytes) {
47
+ super(`NDJSON input ended with an incomplete ${observedBytes}-byte frame`);
48
+ this.observedBytes = observedBytes;
49
+ this.name = "NdJsonIncompleteFrameError";
50
+ }
51
+ static {
52
+ __name(this, "NdJsonIncompleteFrameError");
53
+ }
54
+ code = "ndjson_incomplete_frame";
55
+ };
56
+ var NdJsonUnexpectedEofError = class extends Error {
57
+ static {
58
+ __name(this, "NdJsonUnexpectedEofError");
59
+ }
60
+ code = "ndjson_unexpected_eof";
61
+ constructor() {
62
+ super("NDJSON input ended while the bounded transport was active");
63
+ this.name = "NdJsonUnexpectedEofError";
64
+ }
65
+ };
66
+ var NdJsonInvalidMessageError = class extends Error {
67
+ constructor(code, observedBytes) {
68
+ super(`NDJSON input contains an invalid ${observedBytes}-byte message`);
69
+ this.code = code;
70
+ this.observedBytes = observedBytes;
71
+ this.name = "NdJsonInvalidMessageError";
72
+ }
73
+ static {
74
+ __name(this, "NdJsonInvalidMessageError");
75
+ }
76
+ };
77
+ var MAX_JSON_RPC_METHOD_BYTES = 1024;
78
+ var MAX_JSON_RPC_ID_BYTES = 256;
79
+ var MAX_JSON_RPC_ERROR_MESSAGE_BYTES = 1024;
80
+ var MAX_JSON_DEPTH = 64;
81
+ var MAX_JSON_NODES = 1e4;
82
+ var MAX_JSON_ARRAY_LENGTH = 4096;
83
+ function ndJsonStream(output, input, hooks, limits, validateInboundMessage, fatalCleanEof = false) {
84
+ const textEncoder = new TextEncoder();
85
+ const textDecoder = new TextDecoder();
86
+ if (limits) validateNdJsonStreamLimits(limits);
87
+ const outboundRequests = limits ? new BoundedOutstandingRequestLedger(limits) : void 0;
88
+ const inboundRequests = limits ? new BoundedInboundRequestLedger(limits) : void 0;
89
+ const readable = limits ? createBoundedReadable(
90
+ input,
91
+ textDecoder,
92
+ hooks,
93
+ limits,
94
+ outboundRequests,
95
+ inboundRequests,
96
+ validateInboundMessage,
97
+ fatalCleanEof
98
+ ) : createLegacyReadable(input, textDecoder, hooks);
99
+ const writable = new WritableStream({
100
+ async write(message) {
101
+ let writer;
102
+ let expectedResponseId;
103
+ try {
104
+ const content = JSON.stringify(message);
105
+ const payload = textEncoder.encode(content);
106
+ const frameBytes = payload.byteLength + 1;
107
+ if (limits && frameBytes > limits.maxFrameBytes) {
108
+ throw new NdJsonFrameTooLargeError(
109
+ "sent",
110
+ limits.maxFrameBytes,
111
+ frameBytes
112
+ );
113
+ }
114
+ const frame = new Uint8Array(frameBytes);
115
+ frame.set(payload);
116
+ frame[payload.byteLength] = 10;
117
+ if (outboundRequests && isJsonRpcRequestMessage(message)) {
118
+ outboundRequests.admit(message.id, frameBytes);
119
+ expectedResponseId = message.id;
120
+ }
121
+ writer = output.getWriter();
122
+ await writer.write(frame);
123
+ inboundRequests?.release(message);
124
+ callHook(hooks?.onMessageSent, payload.byteLength);
125
+ callHook(hooks?.onMessageObserved, {
126
+ direction: "sent",
127
+ bytes: payload.byteLength,
128
+ message
129
+ });
130
+ } catch (error) {
131
+ if (expectedResponseId !== void 0) {
132
+ outboundRequests?.discard(expectedResponseId);
133
+ }
134
+ if (limits) callHook(hooks?.onTransportError, error);
135
+ throw error;
136
+ } finally {
137
+ writer?.releaseLock();
138
+ }
139
+ }
140
+ });
141
+ return { readable, writable };
142
+ }
143
+ __name(ndJsonStream, "ndJsonStream");
144
+ function createLegacyReadable(input, textDecoder, hooks) {
145
+ return new ReadableStream({
146
+ async start(controller) {
147
+ const pending = [];
148
+ const reader = input.getReader();
149
+ try {
150
+ while (true) {
151
+ const { value, done } = await reader.read();
152
+ if (done) break;
153
+ if (!value) continue;
154
+ readLegacyChunk(value, pending, controller, textDecoder, hooks);
155
+ }
156
+ } finally {
157
+ reader.releaseLock();
158
+ controller.close();
159
+ }
160
+ }
161
+ });
162
+ }
163
+ __name(createLegacyReadable, "createLegacyReadable");
164
+ function createBoundedReadable(input, textDecoder, hooks, limits, outboundRequests, inboundRequests, validateInboundMessage, fatalCleanEof) {
165
+ const pending = new BoundedFrameBuffer(limits.maxFrameBytes);
166
+ const minimumQueueCharge = Math.ceil(
167
+ limits.maxQueuedBytes / limits.maxQueuedMessages
168
+ );
169
+ let nextQueueCharge = minimumQueueCharge;
170
+ let reader;
171
+ let canceled = false;
172
+ return new ReadableStream(
173
+ {
174
+ start(controller) {
175
+ reader = input.getReader();
176
+ void pumpBoundedInput(
177
+ reader,
178
+ pending,
179
+ controller,
180
+ textDecoder,
181
+ hooks,
182
+ limits,
183
+ outboundRequests,
184
+ inboundRequests,
185
+ validateInboundMessage,
186
+ fatalCleanEof,
187
+ minimumQueueCharge,
188
+ (charge) => {
189
+ nextQueueCharge = charge;
190
+ },
191
+ () => canceled
192
+ );
193
+ },
194
+ async cancel(reason) {
195
+ canceled = true;
196
+ pending.clear();
197
+ if (reader) await cancelReader(reader, reason);
198
+ }
199
+ },
200
+ {
201
+ highWaterMark: limits.maxQueuedBytes,
202
+ size: /* @__PURE__ */ __name(() => nextQueueCharge, "size")
203
+ }
204
+ );
205
+ }
206
+ __name(createBoundedReadable, "createBoundedReadable");
207
+ async function pumpBoundedInput(reader, pending, controller, textDecoder, hooks, limits, outboundRequests, inboundRequests, validateInboundMessage, fatalCleanEof, minimumQueueCharge, setNextQueueCharge, isCanceled) {
208
+ try {
209
+ while (true) {
210
+ const result = await reader.read();
211
+ if (result.done) {
212
+ if (isCanceled()) return;
213
+ if (pending.byteLength > 0) {
214
+ throw new NdJsonIncompleteFrameError(pending.byteLength);
215
+ }
216
+ if (fatalCleanEof) throw new NdJsonUnexpectedEofError();
217
+ controller.close();
218
+ return;
219
+ }
220
+ if (!result.value) continue;
221
+ readBoundedChunk(
222
+ result.value,
223
+ pending,
224
+ controller,
225
+ textDecoder,
226
+ hooks,
227
+ limits,
228
+ outboundRequests,
229
+ inboundRequests,
230
+ validateInboundMessage,
231
+ minimumQueueCharge,
232
+ setNextQueueCharge
233
+ );
234
+ }
235
+ } catch (error) {
236
+ if (isCanceled()) return;
237
+ pending.clear();
238
+ callHook(hooks?.onTransportError, error);
239
+ await cancelReader(reader, error);
240
+ if (!isCanceled()) controller.close();
241
+ } finally {
242
+ pending.clear();
243
+ outboundRequests.clear();
244
+ inboundRequests.clear();
245
+ reader.releaseLock();
246
+ }
247
+ }
248
+ __name(pumpBoundedInput, "pumpBoundedInput");
249
+ function readLegacyChunk(chunk, pending, controller, textDecoder, hooks) {
250
+ let start = 0;
251
+ let newline = chunk.indexOf(10, start);
252
+ while (newline !== -1) {
253
+ const lineBytes = takeLegacyLineBytes(
254
+ pending,
255
+ chunk.subarray(start, newline)
256
+ );
257
+ handleLegacyLine(lineBytes, controller, textDecoder, hooks);
258
+ start = newline + 1;
259
+ newline = chunk.indexOf(10, start);
260
+ }
261
+ if (start < chunk.length) {
262
+ pending.push(chunk.subarray(start));
263
+ }
264
+ }
265
+ __name(readLegacyChunk, "readLegacyChunk");
266
+ function readBoundedChunk(chunk, pending, controller, textDecoder, hooks, limits, outboundRequests, inboundRequests, validateInboundMessage, minimumQueueCharge, setNextQueueCharge) {
267
+ let start = 0;
268
+ let newline = chunk.indexOf(10, start);
269
+ while (newline !== -1) {
270
+ const current = chunk.subarray(start, newline);
271
+ const frameBytes = pending.byteLength + current.byteLength + 1;
272
+ assertFrameSize("received", limits.maxFrameBytes, frameBytes);
273
+ if (pending.isJsonWhitespaceLine(current)) {
274
+ pending.clear();
275
+ start = newline + 1;
276
+ newline = chunk.indexOf(10, start);
277
+ continue;
278
+ }
279
+ const queueCharge = Math.max(frameBytes, minimumQueueCharge);
280
+ const availableBytes = controller.desiredSize;
281
+ if (availableBytes === null || queueCharge > availableBytes) {
282
+ throw new NdJsonQueueLimitError(
283
+ limits.maxQueuedMessages,
284
+ limits.maxQueuedBytes,
285
+ queueCharge,
286
+ Math.max(0, availableBytes ?? 0)
287
+ );
288
+ }
289
+ setNextQueueCharge(queueCharge);
290
+ handleBoundedLine(
291
+ pending.take(current),
292
+ controller,
293
+ textDecoder,
294
+ hooks,
295
+ outboundRequests,
296
+ inboundRequests,
297
+ validateInboundMessage
298
+ );
299
+ start = newline + 1;
300
+ newline = chunk.indexOf(10, start);
301
+ }
302
+ if (start < chunk.length) pending.append(chunk.subarray(start));
303
+ }
304
+ __name(readBoundedChunk, "readBoundedChunk");
305
+ function takeLegacyLineBytes(pending, current) {
306
+ if (pending.length === 0) return current;
307
+ const totalLength = pending.reduce((sum, part) => sum + part.byteLength, 0) + current.byteLength;
308
+ const line = new Uint8Array(totalLength);
309
+ let offset = 0;
310
+ for (const part of pending) {
311
+ line.set(part, offset);
312
+ offset += part.byteLength;
313
+ }
314
+ line.set(current, offset);
315
+ pending.length = 0;
316
+ return line;
317
+ }
318
+ __name(takeLegacyLineBytes, "takeLegacyLineBytes");
319
+ function handleLegacyLine(lineBytes, controller, textDecoder, hooks) {
320
+ const line = textDecoder.decode(lineBytes);
321
+ const trimmedLine = line.trim();
322
+ if (!trimmedLine) return;
323
+ try {
324
+ const message = JSON.parse(trimmedLine);
325
+ controller.enqueue(message);
326
+ reportReceivedMessage(lineBytes, message, hooks);
327
+ } catch (err) {
328
+ console.error("Failed to parse JSON message:", trimmedLine, err);
329
+ }
330
+ }
331
+ __name(handleLegacyLine, "handleLegacyLine");
332
+ function handleBoundedLine(lineBytes, controller, textDecoder, hooks, outboundRequests, inboundRequests, validateInboundMessage) {
333
+ const line = textDecoder.decode(lineBytes);
334
+ const trimmedLine = line.trim();
335
+ if (!trimmedLine) return;
336
+ let parsed;
337
+ try {
338
+ parsed = JSON.parse(trimmedLine);
339
+ } catch {
340
+ throw logBoundedInvalidMessage("ndjson_parse_error", lineBytes);
341
+ }
342
+ if (!isJsonRpcMessage(parsed)) {
343
+ throw logBoundedInvalidMessage("ndjson_invalid_message", lineBytes);
344
+ }
345
+ const isResponse = isJsonRpcResponseMessage(parsed);
346
+ if (!isResponse && !hasBoundedJsonStructure(parsed) || validateInboundMessage && !validateInboundMessage(parsed)) {
347
+ throw logBoundedInvalidMessage("ndjson_invalid_message", lineBytes);
348
+ }
349
+ if (isJsonRpcResponseMessage(parsed) && !outboundRequests?.consumeResponse(parsed.id)) {
350
+ throw logBoundedInvalidMessage("ndjson_invalid_message", lineBytes);
351
+ }
352
+ inboundRequests?.admit(parsed, lineBytes.byteLength + 1);
353
+ const message = installBoundedLogRedaction(parsed);
354
+ controller.enqueue(message);
355
+ reportReceivedMessage(lineBytes, message, hooks);
356
+ }
357
+ __name(handleBoundedLine, "handleBoundedLine");
358
+ function installBoundedLogRedaction(message) {
359
+ Object.defineProperty(message, inspect.custom, {
360
+ configurable: false,
361
+ enumerable: false,
362
+ value: inspectBoundedJsonRpcMessage,
363
+ writable: false
364
+ });
365
+ return message;
366
+ }
367
+ __name(installBoundedLogRedaction, "installBoundedLogRedaction");
368
+ function inspectBoundedJsonRpcMessage() {
369
+ return {
370
+ jsonrpc: "2.0",
371
+ messageType: "method" in this ? "id" in this ? "request" : "notification" : "response",
372
+ payloadOmitted: true
373
+ };
374
+ }
375
+ __name(inspectBoundedJsonRpcMessage, "inspectBoundedJsonRpcMessage");
376
+ function isJsonRpcMessage(value) {
377
+ if (!isRecord(value) || value["jsonrpc"] !== "2.0") return false;
378
+ const hasMethod = Object.hasOwn(value, "method");
379
+ const hasId = Object.hasOwn(value, "id");
380
+ if (hasMethod) {
381
+ return typeof value["method"] === "string" && Buffer.byteLength(value["method"]) <= MAX_JSON_RPC_METHOD_BYTES && (!hasId || isJsonRpcId(value["id"]));
382
+ }
383
+ if (!hasId || !isJsonRpcId(value["id"])) return false;
384
+ const hasResult = Object.hasOwn(value, "result");
385
+ const hasError = Object.hasOwn(value, "error");
386
+ if (hasResult === hasError) return false;
387
+ if (!hasError) return true;
388
+ const error = value["error"];
389
+ return isRecord(error) && typeof error["code"] === "number" && Number.isFinite(error["code"]) && typeof error["message"] === "string" && Buffer.byteLength(error["message"]) <= MAX_JSON_RPC_ERROR_MESSAGE_BYTES;
390
+ }
391
+ __name(isJsonRpcMessage, "isJsonRpcMessage");
392
+ function isRecord(value) {
393
+ return typeof value === "object" && value !== null && !Array.isArray(value);
394
+ }
395
+ __name(isRecord, "isRecord");
396
+ function hasBoundedJsonStructure(value) {
397
+ const stack = [{ value, depth: 1 }];
398
+ let nodes = 0;
399
+ while (stack.length > 0) {
400
+ const current = stack.pop();
401
+ nodes++;
402
+ if (nodes > MAX_JSON_NODES || current.depth > MAX_JSON_DEPTH) return false;
403
+ if (Array.isArray(current.value)) {
404
+ if (current.value.length > MAX_JSON_ARRAY_LENGTH) return false;
405
+ for (let index = current.value.length - 1; index >= 0; index--) {
406
+ if (nodes + stack.length >= MAX_JSON_NODES || current.depth + 1 > MAX_JSON_DEPTH) {
407
+ return false;
408
+ }
409
+ stack.push({
410
+ value: current.value[index],
411
+ depth: current.depth + 1
412
+ });
413
+ }
414
+ } else if (isRecord(current.value)) {
415
+ for (const key in current.value) {
416
+ if (!Object.hasOwn(current.value, key)) continue;
417
+ if (nodes + stack.length >= MAX_JSON_NODES || current.depth + 1 > MAX_JSON_DEPTH) {
418
+ return false;
419
+ }
420
+ stack.push({
421
+ value: current.value[key],
422
+ depth: current.depth + 1
423
+ });
424
+ }
425
+ }
426
+ }
427
+ return true;
428
+ }
429
+ __name(hasBoundedJsonStructure, "hasBoundedJsonStructure");
430
+ function isJsonRpcId(value) {
431
+ return value === null || typeof value === "string" && Buffer.byteLength(value) <= MAX_JSON_RPC_ID_BYTES || typeof value === "number" && Number.isFinite(value);
432
+ }
433
+ __name(isJsonRpcId, "isJsonRpcId");
434
+ function isJsonRpcRequestMessage(value) {
435
+ return "method" in value && "id" in value && typeof value.method === "string" && isJsonRpcId(value.id);
436
+ }
437
+ __name(isJsonRpcRequestMessage, "isJsonRpcRequestMessage");
438
+ function isJsonRpcResponseMessage(value) {
439
+ return !("method" in value) && "id" in value;
440
+ }
441
+ __name(isJsonRpcResponseMessage, "isJsonRpcResponseMessage");
442
+ var BoundedInboundRequestLedger = class {
443
+ constructor(limits) {
444
+ this.limits = limits;
445
+ }
446
+ static {
447
+ __name(this, "BoundedInboundRequestLedger");
448
+ }
449
+ requests = /* @__PURE__ */ new Map();
450
+ retainedBytes = 0;
451
+ admit(message, frameBytes) {
452
+ if (!isJsonRpcRequestMessage(message)) return;
453
+ const availableBytes = Math.max(
454
+ 0,
455
+ this.limits.maxQueuedBytes - this.retainedBytes
456
+ );
457
+ if (this.requests.has(message.id) || this.requests.size >= this.limits.maxQueuedMessages || frameBytes > availableBytes) {
458
+ throw new NdJsonQueueLimitError(
459
+ this.limits.maxQueuedMessages,
460
+ this.limits.maxQueuedBytes,
461
+ frameBytes,
462
+ this.requests.has(message.id) ? 0 : availableBytes
463
+ );
464
+ }
465
+ this.requests.set(message.id, frameBytes);
466
+ this.retainedBytes += frameBytes;
467
+ }
468
+ release(message) {
469
+ if (!isJsonRpcResponseMessage(message)) return;
470
+ const frameBytes = this.requests.get(message.id);
471
+ if (frameBytes === void 0) return;
472
+ this.requests.delete(message.id);
473
+ this.retainedBytes -= frameBytes;
474
+ }
475
+ clear() {
476
+ this.requests.clear();
477
+ this.retainedBytes = 0;
478
+ }
479
+ };
480
+ var BoundedOutstandingRequestLedger = class {
481
+ constructor(limits) {
482
+ this.limits = limits;
483
+ }
484
+ static {
485
+ __name(this, "BoundedOutstandingRequestLedger");
486
+ }
487
+ requests = /* @__PURE__ */ new Map();
488
+ retainedBytes = 0;
489
+ admit(id, frameBytes) {
490
+ const availableBytes = Math.max(
491
+ 0,
492
+ this.limits.maxQueuedBytes - this.retainedBytes
493
+ );
494
+ if (this.requests.has(id) || this.requests.size >= this.limits.maxQueuedMessages || frameBytes > availableBytes) {
495
+ throw new NdJsonQueueLimitError(
496
+ this.limits.maxQueuedMessages,
497
+ this.limits.maxQueuedBytes,
498
+ frameBytes,
499
+ this.requests.has(id) ? 0 : availableBytes
500
+ );
501
+ }
502
+ this.requests.set(id, frameBytes);
503
+ this.retainedBytes += frameBytes;
504
+ }
505
+ consumeResponse(id) {
506
+ return this.discard(id);
507
+ }
508
+ discard(id) {
509
+ const frameBytes = this.requests.get(id);
510
+ if (frameBytes === void 0) return false;
511
+ this.requests.delete(id);
512
+ this.retainedBytes -= frameBytes;
513
+ return true;
514
+ }
515
+ clear() {
516
+ this.requests.clear();
517
+ this.retainedBytes = 0;
518
+ }
519
+ };
520
+ function logBoundedInvalidMessage(errorKind, lineBytes) {
521
+ const bytes = jsonPayloadByteLength(lineBytes);
522
+ const digest = createHash("sha256").update(lineBytes.subarray(0, bytes)).digest("hex");
523
+ console.error("Failed to parse JSON message:", {
524
+ errorKind,
525
+ bytes,
526
+ sha256: digest,
527
+ payloadOmitted: true
528
+ });
529
+ return new NdJsonInvalidMessageError(errorKind, bytes);
530
+ }
531
+ __name(logBoundedInvalidMessage, "logBoundedInvalidMessage");
532
+ function reportReceivedMessage(lineBytes, message, hooks) {
533
+ const bytes = jsonPayloadByteLength(lineBytes);
534
+ callHook(hooks?.onMessageReceived, bytes);
535
+ callHook(hooks?.onMessageObserved, {
536
+ direction: "received",
537
+ bytes,
538
+ message
539
+ });
540
+ }
541
+ __name(reportReceivedMessage, "reportReceivedMessage");
542
+ function jsonPayloadByteLength(lineBytes) {
543
+ return lineBytes[lineBytes.byteLength - 1] === 13 ? lineBytes.byteLength - 1 : lineBytes.byteLength;
544
+ }
545
+ __name(jsonPayloadByteLength, "jsonPayloadByteLength");
546
+ function validateNdJsonStreamLimits(limits) {
547
+ const values = [
548
+ ["maxFrameBytes", limits.maxFrameBytes],
549
+ ["maxQueuedMessages", limits.maxQueuedMessages],
550
+ ["maxQueuedBytes", limits.maxQueuedBytes]
551
+ ];
552
+ for (const [name, value] of values) {
553
+ if (!Number.isSafeInteger(value) || value <= 0) {
554
+ throw new RangeError(`${name} must be a positive safe integer`);
555
+ }
556
+ }
557
+ }
558
+ __name(validateNdJsonStreamLimits, "validateNdJsonStreamLimits");
559
+ function assertFrameSize(direction, limitBytes, observedBytes) {
560
+ if (observedBytes > limitBytes) {
561
+ throw new NdJsonFrameTooLargeError(direction, limitBytes, observedBytes);
562
+ }
563
+ }
564
+ __name(assertFrameSize, "assertFrameSize");
565
+ async function cancelReader(reader, reason) {
566
+ try {
567
+ await reader.cancel(reason);
568
+ } catch {
569
+ }
570
+ }
571
+ __name(cancelReader, "cancelReader");
572
+ function callHook(hook, value) {
573
+ try {
574
+ hook?.(value);
575
+ } catch {
576
+ }
577
+ }
578
+ __name(callHook, "callHook");
579
+ var BoundedFrameBuffer = class {
580
+ constructor(maxFrameBytes) {
581
+ this.maxFrameBytes = maxFrameBytes;
582
+ }
583
+ static {
584
+ __name(this, "BoundedFrameBuffer");
585
+ }
586
+ buffer;
587
+ length = 0;
588
+ get byteLength() {
589
+ return this.length;
590
+ }
591
+ append(bytes) {
592
+ const requiredBytes = this.length + bytes.byteLength;
593
+ assertFrameSize("received", this.maxFrameBytes, requiredBytes);
594
+ if (requiredBytes === 0) return;
595
+ if (!this.buffer || this.buffer.byteLength < requiredBytes) {
596
+ const doubledCapacity = Math.min(
597
+ this.maxFrameBytes,
598
+ Math.max(1024, (this.buffer?.byteLength ?? 0) * 2)
599
+ );
600
+ const next = new Uint8Array(Math.max(requiredBytes, doubledCapacity));
601
+ if (this.buffer) next.set(this.buffer.subarray(0, this.length));
602
+ this.buffer = next;
603
+ }
604
+ this.buffer.set(bytes, this.length);
605
+ this.length = requiredBytes;
606
+ }
607
+ take(current) {
608
+ if (this.length === 0) return current;
609
+ const line = new Uint8Array(this.length + current.byteLength);
610
+ line.set(this.buffer.subarray(0, this.length));
611
+ line.set(current, this.length);
612
+ this.clear();
613
+ return line;
614
+ }
615
+ isJsonWhitespaceLine(current) {
616
+ if (this.buffer) {
617
+ for (let index = 0; index < this.length; index++) {
618
+ if (!isJsonWhitespaceByte(this.buffer[index])) return false;
619
+ }
620
+ }
621
+ for (const byte of current) {
622
+ if (!isJsonWhitespaceByte(byte)) return false;
623
+ }
624
+ return true;
625
+ }
626
+ clear() {
627
+ this.buffer = void 0;
628
+ this.length = 0;
629
+ }
630
+ };
631
+ function isJsonWhitespaceByte(byte) {
632
+ return byte === 32 || byte === 9 || byte === 13;
633
+ }
634
+ __name(isJsonWhitespaceByte, "isJsonWhitespaceByte");
635
+
636
+ export {
637
+ NdJsonQueueLimitError,
638
+ ndJsonStream,
639
+ validateNdJsonStreamLimits
640
+ };
641
+ /**
642
+ * @license
643
+ * Copyright 2026 Qwen Team
644
+ * SPDX-License-Identifier: Apache-2.0
645
+ */