@qwen-code/qwen-code 0.23.3 → 0.23.4-dev.codemode-responses.20260914.87437db784

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 (464) hide show
  1. package/bundled/computer-use/SKILL.md +46 -198
  2. package/bundled/computer-use/references/macos.md +208 -0
  3. package/bundled/computer-use/references/windows-linux.md +247 -0
  4. package/bundled/goal-draft/SKILL.md +10 -10
  5. package/bundled/qc-helper/docs/configuration/settings.md +81 -71
  6. package/bundled/qc-helper/docs/extension/getting-started-extensions.md +2 -0
  7. package/bundled/qc-helper/docs/extension/introduction.md +9 -3
  8. package/bundled/qc-helper/docs/features/_meta.ts +1 -0
  9. package/bundled/qc-helper/docs/features/agent-board.md +89 -0
  10. package/bundled/qc-helper/docs/features/channels/dingtalk.md +3 -21
  11. package/bundled/qc-helper/docs/features/channels/dws.md +5 -1
  12. package/bundled/qc-helper/docs/features/channels/overview.md +5 -6
  13. package/bundled/qc-helper/docs/features/code-review.md +18 -4
  14. package/bundled/qc-helper/docs/features/commands.md +9 -0
  15. package/bundled/qc-helper/docs/features/computer-use.md +26 -8
  16. package/bundled/qc-helper/docs/features/cross-session-protocol.md +23 -5
  17. package/bundled/qc-helper/docs/features/followup-suggestions.md +17 -5
  18. package/bundled/qc-helper/docs/features/goals.md +22 -18
  19. package/bundled/qc-helper/docs/features/hooks.md +48 -37
  20. package/bundled/qc-helper/docs/features/skills.md +33 -3
  21. package/bundled/qc-helper/docs/features/status-line.md +2 -0
  22. package/bundled/qc-helper/docs/features/sub-agents.md +27 -0
  23. package/bundled/qc-helper/docs/qwen-serve.md +7 -3
  24. package/bundled/review/SKILL.md +20 -10
  25. package/bundled/review/references/persistence.md +2 -0
  26. package/bundled/workflow-authoring/SKILL.md +442 -0
  27. package/bundled/workflow-creator/SKILL.md +1 -1
  28. package/chunks/{MaxSizedBox-D4LW7RZZ.js → MaxSizedBox-CSMC6NNQ.js} +59 -55
  29. package/chunks/{StandaloneSessionPicker-ALTTRWUP.js → StandaloneSessionPicker-5G46NROB.js} +83 -79
  30. package/chunks/{acp-startup-profiler-KEU6VAYR.js → acp-startup-profiler-RUQNTNU5.js} +2 -2
  31. package/chunks/acp-subagent-executor-4JLSF7SA.js +141 -0
  32. package/chunks/{acpAgent-BBSW7XZG.js → acpAgent-WJ45JV2S.js} +1026 -355
  33. package/chunks/{agent-SQ6OY3QD.js → agent-KWNOVXAD.js} +43 -39
  34. package/chunks/{agent-headless-RI2THRQ7.js → agent-headless-TU5N3GFF.js} +43 -39
  35. package/chunks/{anthropicContentGenerator-JSKMKS6V.js → anthropicContentGenerator-H5YPXIDE.js} +37 -15
  36. package/chunks/{artifact-tool-PMYZCYNH.js → artifact-tool-MFGORTWZ.js} +59 -109
  37. package/chunks/{askUserQuestion-4M4YYIB4.js → askUserQuestion-WS4GUT7C.js} +3 -3
  38. package/chunks/{bridge-DAFMI72L.js → bridge-PF7UX6MH.js} +63 -58
  39. package/chunks/{build-63BIOYWK.js → build-5KWQBWEQ.js} +1 -1
  40. package/chunks/{ca-KC2AISNS.js → ca-GZ4FDJU2.js} +3 -3
  41. package/chunks/{channel-management-service-OWDXVL7R.js → channel-management-service-AFVIT4VH.js} +8 -8
  42. package/chunks/{channel-settings-store-4I6JONT7.js → channel-settings-store-3OVAGIC2.js} +68 -64
  43. package/chunks/{channel-worker-group-F2ZZMLNS.js → channel-worker-group-JR6JOELM.js} +8 -8
  44. package/chunks/{channel-worker-manager-2SZLJJSJ.js → channel-worker-manager-AVKJEZFL.js} +8 -8
  45. package/chunks/{channel-worker-supervisor-ZFNWMG6D.js → channel-worker-supervisor-OOYY7BAQ.js} +5 -5
  46. package/chunks/{chunk-6JACAGYH.js → chunk-2S2WIGCM.js} +1 -1
  47. package/chunks/{chunk-NRXWJXJ4.js → chunk-2YGR3VN6.js} +15 -15
  48. package/chunks/{chunk-IUVIBDKU.js → chunk-2YMRRI2C.js} +9 -10
  49. package/chunks/{chunk-3BTSSIJO.js → chunk-3DOAKZYD.js} +99 -14
  50. package/chunks/{chunk-F53KKZUD.js → chunk-3LMDSCLU.js} +158 -10
  51. package/chunks/{chunk-2ZN3O5FT.js → chunk-457DR2MC.js} +6 -6
  52. package/chunks/{chunk-WG7BL3FY.js → chunk-473RJLIH.js} +1 -1
  53. package/chunks/{chunk-W5ZQMAEM.js → chunk-4Y2I3CI3.js} +1 -1
  54. package/chunks/{chunk-HGEUHUEV.js → chunk-54B2LTKP.js} +1 -1
  55. package/chunks/{chunk-IRH27ZC2.js → chunk-5EZRLTLQ.js} +4 -4
  56. package/chunks/{chunk-DLH7YIX6.js → chunk-5FK4MSHB.js} +3 -3
  57. package/chunks/{chunk-CUEXOHQH.js → chunk-5ODRE7E5.js} +9 -15
  58. package/chunks/{chunk-532WHF4F.js → chunk-5VQR2DD7.js} +2 -2
  59. package/chunks/{chunk-3KQBQ6FM.js → chunk-63WKMKVD.js} +190 -28
  60. package/chunks/{chunk-YBUMTY7B.js → chunk-66N6C4EH.js} +1 -1
  61. package/chunks/{chunk-MLQNSPRZ.js → chunk-6MLDTOHU.js} +15 -5
  62. package/chunks/{chunk-SBRX4BDI.js → chunk-6NKDU7YL.js} +2 -2
  63. package/chunks/{chunk-3UXUOFO6.js → chunk-6TMXX4Z4.js} +9 -10
  64. package/chunks/{chunk-Y2MYW47X.js → chunk-6WXVEDT2.js} +9 -2
  65. package/chunks/{chunk-ZHKTKHMO.js → chunk-7MIBD3LG.js} +1 -1
  66. package/chunks/{chunk-EVTNACMT.js → chunk-A6QMKS5S.js} +12 -12
  67. package/chunks/{chunk-NOAG7N22.js → chunk-A6YU6R5N.js} +2 -2
  68. package/chunks/{chunk-76RGWKLS.js → chunk-ABNX6E6K.js} +1 -1
  69. package/chunks/chunk-ACHCT36C.js +28 -0
  70. package/chunks/{chunk-NE624IVP.js → chunk-ADQUK6WA.js} +1 -1
  71. package/chunks/{chunk-PLLIWEM3.js → chunk-AEWCOE64.js} +2 -2
  72. package/chunks/{chunk-3FPYT6QC.js → chunk-ARDHE6MM.js} +23 -0
  73. package/chunks/{chunk-LILGKQ4B.js → chunk-AXZMWAJV.js} +156 -26
  74. package/chunks/{chunk-SYLECP23.js → chunk-B776VKDA.js} +4 -4
  75. package/chunks/{chunk-AC6KDLH3.js → chunk-BNYQHLPR.js} +1 -1
  76. package/chunks/{chunk-BZM5U74J.js → chunk-BS7ON54G.js} +724 -468
  77. package/chunks/{chunk-TPKQIA7G.js → chunk-BSIOCNDK.js} +1 -1
  78. package/chunks/{chunk-U7O65WKL.js → chunk-BW2SMO6L.js} +1 -1
  79. package/chunks/{chunk-POC3YMHG.js → chunk-BY6CE34S.js} +4 -4
  80. package/chunks/{chunk-RLLRJJDR.js → chunk-C3VNHDWJ.js} +2 -2
  81. package/chunks/{chunk-WBCPROWX.js → chunk-C4HBZQNH.js} +1 -1
  82. package/chunks/{chunk-MSNHNAQZ.js → chunk-C5ABXOC2.js} +3 -3
  83. package/chunks/{chunk-NOO4QFXM.js → chunk-C75BXMPM.js} +1 -3
  84. package/chunks/chunk-CCWWPFZJ.js +191 -0
  85. package/chunks/chunk-CFMZLE3L.js +75 -0
  86. package/chunks/{chunk-N7VWZDWW.js → chunk-CFSBWJBB.js} +4462 -3840
  87. package/chunks/{chunk-KOKPXIAN.js → chunk-CL7JONZN.js} +3 -3
  88. package/chunks/{chunk-AXTFYDXT.js → chunk-CXXAZ2LZ.js} +1 -1
  89. package/chunks/{chunk-JYKWOREU.js → chunk-DBUOMHLZ.js} +13 -3
  90. package/chunks/{chunk-R4Q2PEFV.js → chunk-DLJBYORJ.js} +1 -1
  91. package/chunks/{chunk-DT75RKNH.js → chunk-DNVA2MQ2.js} +3 -3
  92. package/chunks/{chunk-J3TJH52D.js → chunk-DOTF2PF2.js} +1 -1
  93. package/chunks/{chunk-HGAELO7B.js → chunk-DQMBQCTY.js} +2 -2
  94. package/chunks/{chunk-2ALXPGB4.js → chunk-E6IR653O.js} +1 -1
  95. package/chunks/{chunk-ZKYR7QS4.js → chunk-EDB556X7.js} +2 -2
  96. package/chunks/chunk-EKJXDLDD.js +32 -0
  97. package/chunks/{chunk-NUQVB25K.js → chunk-EKMJR7M3.js} +2 -2
  98. package/chunks/{chunk-7QYWGTHB.js → chunk-EPVEPTI3.js} +44 -151
  99. package/chunks/{chunk-GCDXVPFK.js → chunk-EZSSJSKR.js} +31 -7
  100. package/chunks/{chunk-S6Q6Q4P2.js → chunk-FBDHP23D.js} +1 -1
  101. package/chunks/{chunk-UKZ45TJL.js → chunk-FFBP5POK.js} +420 -219
  102. package/chunks/{chunk-3I7W2POO.js → chunk-FGROOEKM.js} +5 -40
  103. package/chunks/{chunk-HNLMYDQE.js → chunk-FMLBBXHB.js} +13 -9
  104. package/chunks/{chunk-SSGAAWLY.js → chunk-GCV4NOHV.js} +95 -73
  105. package/chunks/{chunk-ALMR3E6Q.js → chunk-GDWE23OR.js} +3 -3
  106. package/chunks/{chunk-XBZTAGB7.js → chunk-GMN73IMT.js} +1 -1
  107. package/chunks/{chunk-IAEXTMED.js → chunk-GNV2SFO7.js} +173 -7
  108. package/chunks/{chunk-CXTPVBFA.js → chunk-GSS4SZNG.js} +100 -17
  109. package/chunks/chunk-GXN7DWZZ.js +154 -0
  110. package/chunks/{chunk-SODMFNAR.js → chunk-H23UWPF7.js} +5 -5
  111. package/chunks/{chunk-6HUXPLB5.js → chunk-HEOH7JZY.js} +5 -5
  112. package/chunks/{chunk-DTNV6UZY.js → chunk-HFJSQ4GL.js} +10 -24
  113. package/chunks/{chunk-GOXQL4YH.js → chunk-HWRXJQ6B.js} +2 -2
  114. package/chunks/{chunk-VZUCTJ2P.js → chunk-I6YJZGHS.js} +10 -10
  115. package/chunks/{chunk-RZHU3K6M.js → chunk-IAS753HG.js} +2 -20
  116. package/chunks/{chunk-EDMXGXAK.js → chunk-IBRQG2MP.js} +10 -13
  117. package/chunks/chunk-INGBUYL6.js +230 -0
  118. package/chunks/{chunk-7BXXIQG4.js → chunk-J73WJIMT.js} +36 -72
  119. package/chunks/{chunk-XGYHNWL3.js → chunk-J7LBAKDH.js} +3 -3
  120. package/chunks/{chunk-Z3GF56ME.js → chunk-JAYWZWZF.js} +3 -3
  121. package/chunks/{chunk-DYFOSJHU.js → chunk-JBFC2644.js} +2756 -1153
  122. package/chunks/{chunk-Q5BD56BW.js → chunk-JPCYCFYG.js} +7 -7
  123. package/chunks/{chunk-LG5Y4OWO.js → chunk-JRHKM3YQ.js} +2 -2
  124. package/chunks/{chunk-NHCZJQE4.js → chunk-JZKBMADP.js} +6 -6
  125. package/chunks/{chunk-MF6E7FSA.js → chunk-K7CQWBLT.js} +8 -201
  126. package/chunks/{chunk-K2OJUPOE.js → chunk-KP2FHIFR.js} +12 -0
  127. package/chunks/{chunk-ZU47FBOC.js → chunk-KSIOXYVX.js} +126 -12
  128. package/chunks/{chunk-IV7GDNKC.js → chunk-KZCK5JUN.js} +4 -4
  129. package/chunks/{chunk-3XLK2QMY.js → chunk-L3S2Y2FF.js} +59 -16
  130. package/chunks/{chunk-ZW2EUO2A.js → chunk-L6DIANLD.js} +1 -1
  131. package/chunks/{chunk-6W4HBUA2.js → chunk-LATAUG2M.js} +1 -1
  132. package/chunks/{chunk-RWVD5RRY.js → chunk-LBDASOPR.js} +3 -3
  133. package/chunks/{chunk-OX7IZ2G5.js → chunk-LF5AD7PY.js} +4 -4
  134. package/chunks/{chunk-NMRCXKQ5.js → chunk-LKCNETDW.js} +3 -3
  135. package/chunks/chunk-LMJSPC55.js +260 -0
  136. package/chunks/{chunk-X6K77VHC.js → chunk-LWWRJRCD.js} +1 -1
  137. package/chunks/{chunk-UXEO7E3V.js → chunk-LYD3T3H7.js} +1 -0
  138. package/chunks/{chunk-KFZYGSJN.js → chunk-M3YNPR56.js} +3 -3
  139. package/chunks/{chunk-HBQ2NXOU.js → chunk-MDG6GKSE.js} +2 -2
  140. package/chunks/{chunk-E4UEO3XM.js → chunk-ME4JBHSB.js} +324 -2
  141. package/chunks/{chunk-BV6Q5HMY.js → chunk-MJHLKWGJ.js} +8 -7
  142. package/chunks/{chunk-NFYEQRLG.js → chunk-MQRLLBMQ.js} +1 -1
  143. package/chunks/{chunk-O4KNCAX4.js → chunk-NCPFOLM2.js} +11 -0
  144. package/chunks/{chunk-2SZH22YO.js → chunk-NJ2OFVUX.js} +115 -97
  145. package/chunks/{chunk-DAWWT2ID.js → chunk-NN4EC2WO.js} +1374 -2164
  146. package/chunks/{chunk-6MBXY6WM.js → chunk-NRQI3PGS.js} +1 -1
  147. package/chunks/{chunk-HBU7EKY4.js → chunk-NRUKL236.js} +45 -15
  148. package/chunks/{chunk-53GWJOLP.js → chunk-NTCFKGQF.js} +3 -1
  149. package/chunks/{chunk-3CZ2BQV6.js → chunk-NXUZFW3G.js} +49 -19
  150. package/chunks/{chunk-X7UJKOHZ.js → chunk-OMDXAHCT.js} +4 -6
  151. package/chunks/{chunk-5GLDOLNQ.js → chunk-OWUAZXXN.js} +4 -3
  152. package/chunks/{chunk-2UWQX4FP.js → chunk-OZEV3R3S.js} +1 -1
  153. package/chunks/{acp-subagent-executor-LEUN3N7N.js → chunk-PAPBT3WP.js} +11 -110
  154. package/chunks/{chunk-7ICHPMBQ.js → chunk-PHSQVB6D.js} +4 -4
  155. package/chunks/{chunk-FCQJLMA2.js → chunk-Q3TFRP5G.js} +178 -8
  156. package/chunks/{chunk-YQHLFCPU.js → chunk-Q5CCYZD3.js} +32 -24
  157. package/chunks/chunk-QQL5BFOL.js +1416 -0
  158. package/chunks/{chunk-ZKZHSB5W.js → chunk-QR4Q425T.js} +9 -9
  159. package/chunks/{chunk-J6MB5ZHZ.js → chunk-QZW6WRB7.js} +2 -1
  160. package/chunks/{chunk-TP6FYVQT.js → chunk-RSWBT7AZ.js} +33 -1
  161. package/chunks/{chunk-2PJRI3EH.js → chunk-RVOD66ID.js} +218 -43
  162. package/chunks/{chunk-W5FIP7FC.js → chunk-S3PU3CNW.js} +5 -5
  163. package/chunks/chunk-S7UQ3V2H.js +87 -0
  164. package/chunks/{chunk-N6VQ37ZZ.js → chunk-SFL6U7U7.js} +1 -1
  165. package/chunks/{chunk-MOS5OAOG.js → chunk-SROLVJFY.js} +6 -6
  166. package/chunks/{chunk-HUXPEUFL.js → chunk-SYROIHU7.js} +1 -1
  167. package/chunks/{chunk-E7LB57MB.js → chunk-T3LUMYFP.js} +6 -6
  168. package/chunks/{chunk-PSPAM24S.js → chunk-TBSCTWKF.js} +6 -0
  169. package/chunks/{chunk-5KI7ZDTB.js → chunk-TV5WDW7R.js} +24 -12
  170. package/chunks/{chunk-NMCDMLHL.js → chunk-TXUJOKVR.js} +50 -35
  171. package/chunks/{chunk-NHJKAR6E.js → chunk-TYWLBEL2.js} +972 -18
  172. package/chunks/chunk-U6H3XTFA.js +95 -0
  173. package/chunks/{chunk-GSILBZLN.js → chunk-U7RWQBGZ.js} +2 -2
  174. package/chunks/{chunk-7APZIRH3.js → chunk-V3CMBOQ6.js} +5 -5
  175. package/chunks/{chunk-JXNIF2O5.js → chunk-V545KI73.js} +1 -1
  176. package/chunks/chunk-VGY2RGXL.js +100 -0
  177. package/chunks/{chunk-TBEXLLAO.js → chunk-VRQZESKP.js} +1 -1
  178. package/chunks/{chunk-FN3JNDRU.js → chunk-VVI7MK3V.js} +3 -3
  179. package/chunks/{chunk-EUURTIV6.js → chunk-WBSJ6VPZ.js} +10 -2
  180. package/chunks/{chunk-NLNQNBZ2.js → chunk-WD6YQI5M.js} +1 -1
  181. package/chunks/chunk-WFNEY5G7.js +347 -0
  182. package/chunks/{chunk-XKBFYTCD.js → chunk-WK6DEH3Q.js} +46 -0
  183. package/chunks/{chunk-36HCNKDS.js → chunk-WKVZES7O.js} +65 -14
  184. package/chunks/{chunk-BWAMMKIS.js → chunk-WLLRNQVT.js} +135 -6
  185. package/chunks/{chunk-MHAADZOZ.js → chunk-WMSP3XZK.js} +3 -3
  186. package/chunks/{chunk-IL5M5NYD.js → chunk-WUTXSXPP.js} +11 -9
  187. package/chunks/{chunk-NJQTG2G3.js → chunk-XE5ZFBVD.js} +11 -11
  188. package/chunks/{chunk-OLTN767L.js → chunk-XO3Z27IL.js} +2 -2
  189. package/chunks/{chunk-VX63RJXE.js → chunk-XX5HQLCZ.js} +7 -0
  190. package/chunks/{chunk-2Z3T52OC.js → chunk-Y5TM7SBV.js} +7 -2
  191. package/chunks/{chunk-V2P3DOQR.js → chunk-YDFOHRS5.js} +1 -1
  192. package/chunks/{chunk-QMUYLYT5.js → chunk-YGFJ6BRT.js} +1 -1
  193. package/chunks/{chunk-LK2WUCDQ.js → chunk-YM6KUQ2S.js} +1 -1
  194. package/chunks/{chunk-F42YYSCK.js → chunk-YVF4PKCV.js} +8 -8
  195. package/chunks/{chunk-LDVNJZGH.js → chunk-Z2H5HQS3.js} +17 -8
  196. package/chunks/chunk-Z72PLR74.js +36 -0
  197. package/chunks/{chunk-BWQLXU37.js → chunk-ZDHXRKRG.js} +381 -86
  198. package/chunks/{chunk-BHTYRHJF.js → chunk-ZJ7JQUGY.js} +4 -1
  199. package/chunks/{chunk-4ALNJDHL.js → chunk-ZKIAGIGH.js} +87 -4
  200. package/chunks/{chunk-VG3Q2NC4.js → chunk-ZNI3YJHS.js} +32 -12
  201. package/chunks/chunk-ZRZZLM37.js +2780 -0
  202. package/chunks/{chunk-Q2LVVIKF.js → chunk-ZZUXUBEB.js} +29 -12
  203. package/chunks/codex-subagent-executor-SM3TUSBA.js +586 -0
  204. package/chunks/{config-utils-L6KLDYIV.js → config-utils-JHKHFOG6.js} +60 -56
  205. package/chunks/{contextCommand-UYEH7NIU.js → contextCommand-XE4NDYQW.js} +58 -54
  206. package/chunks/{core-runtime-NVHT3Z3V.js → core-runtime-PNCWH3RE.js} +58 -55
  207. package/chunks/{create-sub-session-TIGCFGCS.js → create-sub-session-MSGNIM37.js} +5 -2
  208. package/chunks/{create-sub-session-YWASE5VH.js → create-sub-session-P7E5Y3HY.js} +169 -89
  209. package/chunks/{cron-create-AKWX67FO.js → cron-create-U2JJ5CCF.js} +3 -3
  210. package/chunks/{cron-delete-XPB6IYZJ.js → cron-delete-7DM4LJWD.js} +2 -2
  211. package/chunks/{cron-list-XBKO4WU5.js → cron-list-VCUSZK2Y.js} +2 -2
  212. package/chunks/{daemon-G5TYKZD6.js → daemon-NJB4PWZ7.js} +3 -1
  213. package/chunks/{daemon-git-worktree-guard-FOW4RQSK.js → daemon-git-worktree-guard-JFD5VZRN.js} +58 -54
  214. package/chunks/{daemon-status-provider-O5KQZYMP.js → daemon-status-provider-A3VFVFWW.js} +68 -63
  215. package/chunks/{daemon-trust-policy-3ATXEON7.js → daemon-trust-policy-NPZ47MZH.js} +64 -60
  216. package/chunks/{daemon-trust-policy-monitor-7MCNDNEC.js → daemon-trust-policy-monitor-XG2CHL3Z.js} +64 -60
  217. package/chunks/{de-UU2YTO37.js → de-VGY3VNBU.js} +3 -3
  218. package/chunks/{deferred-core-runtime-JK5IXL5K.js → deferred-core-runtime-V42EMU27.js} +56 -52
  219. package/chunks/{discovery-XP4RMDUM.js → discovery-5KUEPR65.js} +2 -2
  220. package/chunks/{display-image-NAH3AZ63.js → display-image-QTHALY6N.js} +3 -3
  221. package/chunks/{dist-KLZ7XGEQ.js → dist-2QYIVNS6.js} +1 -4
  222. package/chunks/{dist-AHJYPSJL.js → dist-GUB7QRYA.js} +2 -5
  223. package/chunks/{dist-ZXTZTE54.js → dist-MPUZZOG5.js} +4 -17
  224. package/chunks/{dist-F2DVGTL3.js → dist-NIOJXMGY.js} +111 -101
  225. package/chunks/{dist-KJGRVIGJ.js → dist-PA7WPFVE.js} +5 -36
  226. package/chunks/{dist-AIKC5E5P.js → dist-SE4J6Z4O.js} +43 -669
  227. package/chunks/{dist-H6G3K26N.js → dist-T6DDPDLQ.js} +14 -34
  228. package/chunks/{dist-GWNQVPZT.js → dist-TFGETXFN.js} +10 -33
  229. package/chunks/{dist-ZA52JXAS.js → dist-VDLSBCLM.js} +1 -5
  230. package/chunks/{edit-SY35KYIE.js → edit-E2ZGJDBJ.js} +46 -42
  231. package/chunks/{en-CAJHTIQT.js → en-E5ZO5TZW.js} +5 -3
  232. package/chunks/{enter-worktree-54L5QJ3N.js → enter-worktree-CAARFWBI.js} +6 -5
  233. package/chunks/{enterPlanMode-HXX6KQJR.js → enterPlanMode-442YAAZB.js} +43 -39
  234. package/chunks/{environment-DKXHG4HB.js → environment-DCJ5FVHM.js} +59 -55
  235. package/chunks/{errors-ADY7LQJJ.js → errors-ZWTDW2NJ.js} +58 -54
  236. package/chunks/exec-RPKEY6HP.js +505 -0
  237. package/chunks/{exit-worktree-EORJDKDS.js → exit-worktree-JXGGUOBP.js} +6 -5
  238. package/chunks/{exitPlanMode-HSK2CQI6.js → exitPlanMode-4PLQOFOO.js} +43 -39
  239. package/chunks/{fast-path-U636VWN2.js → fast-path-DBSGDGB3.js} +10 -10
  240. package/chunks/{fast-path-settings-V7MI7EZJ.js → fast-path-settings-XDYX7X5Z.js} +2 -2
  241. package/chunks/{fr-HKNWVXRJ.js → fr-UAZJJH5N.js} +3 -3
  242. package/chunks/{glob-GUGGTH5L.js → glob-VWOE4W7K.js} +43 -39
  243. package/chunks/{goal-tools-PXYRSQGX.js → goal-tools-K6SIBXMB.js} +49 -41
  244. package/chunks/{grep-3PKFKLCA.js → grep-H2I33VAO.js} +8 -3
  245. package/chunks/{handleAutoUpdate-5KHS4HIN.js → handleAutoUpdate-NCC3XELY.js} +61 -57
  246. package/chunks/{i18n-KSGKMUPT.js → i18n-GO7JI4PT.js} +57 -53
  247. package/chunks/{image-gen-OCCR2WWU.js → image-gen-5G2TQ3DY.js} +6 -5
  248. package/chunks/{initializer-YYT5XEZF.js → initializer-BXKAW5A6.js} +64 -60
  249. package/chunks/{installationInfo-UNSBPYW2.js → installationInfo-5JONIX62.js} +57 -53
  250. package/chunks/{ja-GJS5RZGU.js → ja-2RITCMAJ.js} +3 -3
  251. package/chunks/list-QW74LCLS.js +133 -0
  252. package/chunks/{list-agents-QLDXS5OD.js → list-agents-EWDCEPIW.js} +3 -3
  253. package/chunks/{llm-XGGLBGPH.js → llm-FJHSMJTM.js} +161 -125
  254. package/chunks/{llm-content-generator-ZHQQT5W7.js → llm-content-generator-3VLLPQS4.js} +14 -7
  255. package/chunks/{loadedSettingsAdapter-3DXLASK7.js → loadedSettingsAdapter-OLMQSKVC.js} +64 -60
  256. package/chunks/{loggingContentGenerator-V72OCCJO.js → loggingContentGenerator-IMLIJULY.js} +47 -43
  257. package/chunks/{loop-wakeup-HHMYIC7Z.js → loop-wakeup-VG6CGBQA.js} +4 -4
  258. package/chunks/{ls-N7ABR6HI.js → ls-6ZB3BEIR.js} +1 -1
  259. package/chunks/{lsp-LTOFWG5P.js → lsp-M54FQARP.js} +5 -1
  260. package/chunks/{managed-npm-update-HV5LPZH2.js → managed-npm-update-LXLBWCNA.js} +57 -53
  261. package/chunks/mcp-FOXA3372.js +127 -0
  262. package/chunks/model-configuration-SCOI2KPF.js +140 -0
  263. package/chunks/modelConfigUtils-EA44S64C.js +119 -0
  264. package/chunks/{monitor-TLBNM4MV.js → monitor-TJAHYCCY.js} +43 -39
  265. package/chunks/{nonInteractiveCli-LSJSQ2W4.js → nonInteractiveCli-QH2HABWC.js} +112 -107
  266. package/chunks/{notebook-edit-OSPOLZP6.js → notebook-edit-WEMSBUBS.js} +45 -41
  267. package/chunks/{openaiContentGenerator-BE4S5TRD.js → openaiContentGenerator-WD5DWYOA.js} +24 -19
  268. package/chunks/{openaiResponsesContentGenerator-RTCAJ5V5.js → openaiResponsesContentGenerator-AWRYZLJU.js} +110 -19
  269. package/chunks/{pidfile-H32FEPWA.js → pidfile-TQL2LCEG.js} +56 -52
  270. package/chunks/{processUtils-SSLIPDEA.js → processUtils-6ZU56DCI.js} +2 -2
  271. package/chunks/{prompt-terminal-ledger-I5SLL6UF.js → prompt-terminal-ledger-3HAKHXFV.js} +57 -53
  272. package/chunks/{pt-FXMYXEUV.js → pt-5ZF7ZQUV.js} +3 -3
  273. package/chunks/{qwenContentGenerator-TMQC623Z.js → qwenContentGenerator-3OIZQZLC.js} +47 -43
  274. package/chunks/{qwenOAuth2-3ZRQHHTC.js → qwenOAuth2-WIEUEFEY.js} +5 -4
  275. package/chunks/{read-file-T2QAIZE2.js → read-file-2PWWL6J2.js} +9 -8
  276. package/chunks/{read-mcp-resource-B37WANAQ.js → read-mcp-resource-LPSWXVOD.js} +1 -1
  277. package/chunks/{record-artifact-OAXWXZ5D.js → record-artifact-PXMNP7GZ.js} +3 -3
  278. package/chunks/{record-source-D7R7X3GT.js → record-source-2GSY5JD5.js} +6 -6
  279. package/chunks/{report-findings-AR3VC6EQ.js → report-findings-W6GR7SYZ.js} +4 -4
  280. package/chunks/{request-shutdown-IKNWTX5M.js → request-shutdown-53SNYGVR.js} +5 -5
  281. package/chunks/{resumeHistoryUtils-QLKDH5GY.js → resumeHistoryUtils-S4TEUTKE.js} +63 -59
  282. package/chunks/{ripGrep-YGWL7KCV.js → ripGrep-5NMGLMLX.js} +13 -11
  283. package/chunks/{ru-RMHURE5U.js → ru-7BNZFQKG.js} +3 -3
  284. package/chunks/{run-qwen-serve-26KZDECC.js → run-qwen-serve-6MGYRK4V.js} +314 -127
  285. package/chunks/{runtime-BMEIVDDG.js → runtime-ZJYUQCPP.js} +69 -65
  286. package/chunks/{scheduled-tasks-NCFPP6VQ.js → scheduled-tasks-5MKF4EV3.js} +66 -60
  287. package/chunks/{scheduler-47TVMUVN.js → scheduler-72DZWRH5.js} +58 -54
  288. package/chunks/{sdk-exporters-http-VWTF4W6K.js → sdk-exporters-http-3R2TRQHE.js} +2 -1
  289. package/chunks/{sdk-impl-G6FVTBQZ.js → sdk-impl-4WF3VZ2F.js} +3 -3
  290. package/chunks/{send-message-TWOGWCBG.js → send-message-UMJKN27Q.js} +7 -7
  291. package/chunks/{serve-KL3G6LQQ.js → serve-7ZDMMA7I.js} +66 -62
  292. package/chunks/{server-LBPYXZ5G.js → server-ONK5RTEV.js} +783 -350
  293. package/chunks/{session-YG6742LO.js → session-XQW2LM4S.js} +117 -112
  294. package/chunks/{session-attachments-root-OUBQDYC4.js → session-attachments-root-Q5IUCMQV.js} +56 -52
  295. package/chunks/{session-pr-refresh-EKGMYNAW.js → session-pr-refresh-MVECWT3W.js} +66 -60
  296. package/chunks/{settings-DDNHJX2L.js → settings-DL6K2HQ3.js} +67 -63
  297. package/chunks/{shell-KUCXWITU.js → shell-BLP25QJU.js} +43 -39
  298. package/chunks/{skill-JQLKPNWZ.js → skill-7KURUNLD.js} +128 -23
  299. package/chunks/{skill-settings-XERQCUXZ.js → skill-settings-MY76LM46.js} +72 -60
  300. package/chunks/{spawnChannel-GQ45QFGB.js → spawnChannel-IJLH3Z74.js} +60 -55
  301. package/chunks/{standalone-update-PRF3ILGZ.js → standalone-update-YQKN7VNO.js} +58 -54
  302. package/chunks/{start-opentui-ui-JDSOZE3N.js → start-opentui-ui-ORNGKZTG.js} +2693 -2160
  303. package/chunks/{startInteractiveUI-RRW3JVHN.js → startInteractiveUI-PRLIKB4U.js} +1610 -1773
  304. package/chunks/{syntheticOutput-F6F27JMK.js → syntheticOutput-EX5L5GYI.js} +2 -2
  305. package/chunks/{task-create-Y623TBHB.js → task-create-75HVPEAH.js} +7 -7
  306. package/chunks/{task-list-FCPEEGWL.js → task-list-ZLJSMRFA.js} +2 -2
  307. package/chunks/{task-stop-QTKZXLPH.js → task-stop-MD7P6QGK.js} +1 -1
  308. package/chunks/{task-update-YLSXF25N.js → task-update-RI7QNVDP.js} +20 -13
  309. package/chunks/{team-create-5DRLOLOE.js → team-create-ANLKOQ44.js} +43 -39
  310. package/chunks/{team-delete-S7TLHZCF.js → team-delete-RIDINW6I.js} +1 -1
  311. package/chunks/{team-plan-approval-MWSGAL5T.js → team-plan-approval-EFUENI6Y.js} +43 -39
  312. package/chunks/{terminal-image-renderer-H7PD4FQW.js → terminal-image-renderer-CXMFIWKC.js} +58 -54
  313. package/chunks/{theme-manager-7AV73D6R.js → theme-manager-JUFYQDQQ.js} +56 -52
  314. package/chunks/{todoWrite-5QI2H2FW.js → todoWrite-XSTG2VT5.js} +6 -3
  315. package/chunks/{tool-search-UGYTBLUV.js → tool-search-SNCEA4VA.js} +17 -12
  316. package/chunks/{total-session-admission-JIHSTJ5S.js → total-session-admission-UHYNUO3L.js} +63 -58
  317. package/chunks/{tree-sitter-4D7QS7F6.js → tree-sitter-NZ3QACD7.js} +1 -1
  318. package/chunks/{tree-sitter-bash-VEJGF5XF.js → tree-sitter-bash-WXHLMORC.js} +1 -1
  319. package/chunks/{trustedFolders-5VCBXFOP.js → trustedFolders-YBR5URPG.js} +57 -53
  320. package/chunks/{update-relaunch-4LF3APCV.js → update-relaunch-L6MTSN76.js} +5 -5
  321. package/chunks/{updateCheck-4T3WUE5F.js → updateCheck-Z3SPZXHC.js} +60 -56
  322. package/chunks/{useAutoAcceptIndicator-UMGB64Z6.js → useAutoAcceptIndicator-PR5XGMO6.js} +68 -64
  323. package/chunks/{validateNonInterActiveAuth-GFJ72U2C.js → validateNonInterActiveAuth-KFLTWEYW.js} +109 -104
  324. package/chunks/{version-EAAZN4T2.js → version-NGAKFVUF.js} +1 -1
  325. package/chunks/{web-fetch-VRU3A2NI.js → web-fetch-WPGTHGU5.js} +15 -13
  326. package/chunks/web-search-JT63IJJV.js +39 -0
  327. package/chunks/{web-shell-static-CCN4JZEE.js → web-shell-static-T7UGLVE4.js} +2 -7
  328. package/chunks/{workflow-UHPFALVZ.js → workflow-EB63BAL4.js} +179 -79
  329. package/chunks/workspace-providers-status-NEPR67D2.js +133 -0
  330. package/chunks/{workspace-registration-store-A7RGKW62.js → workspace-registration-store-CFWXOMGH.js} +2 -2
  331. package/chunks/{workspace-registry-C2NGE6SD.js → workspace-registry-6KRZXOGB.js} +63 -58
  332. package/chunks/{workspace-runtime-coordinator-QKMZ24YF.js → workspace-runtime-coordinator-SP4X3UVH.js} +66 -59
  333. package/chunks/{workspace-service-RQTTAGGC.js → workspace-service-PRMYJTTV.js} +70 -65
  334. package/chunks/workspace-skills-status-VYTZJ5MB.js +130 -0
  335. package/chunks/{workspace-trust-reconciler-KFWATZUU.js → workspace-trust-reconciler-B4QMGDMI.js} +73 -68
  336. package/chunks/{write-file-DPVB2SBQ.js → write-file-EGBMW7TS.js} +45 -41
  337. package/chunks/{zh-TW-2K2WRFPY.js → zh-TW-7PRVUGLW.js} +5 -3
  338. package/chunks/{zh-S5V3Z5CR.js → zh-V2EYTYJP.js} +5 -3
  339. package/chunks/{zoom-image-S7AWLAPC.js → zoom-image-UR6K2LDR.js} +11 -10
  340. package/cli.js +18 -17
  341. package/codeModeHost.js +4425 -0
  342. package/export-transcript-document.css +1 -1
  343. package/export-transcript-document.js +151 -151
  344. package/locales/ca.js +5 -6
  345. package/locales/de.js +5 -6
  346. package/locales/en.js +7 -6
  347. package/locales/fr.js +6 -6
  348. package/locales/ja.js +5 -6
  349. package/locales/pt.js +5 -6
  350. package/locales/ru.js +6 -6
  351. package/locales/zh-TW.js +7 -6
  352. package/locales/zh.js +7 -6
  353. package/package.json +4 -3
  354. package/web-shell/assets/{abnfDiagram-VCTEODGH-nU24rpIE.js → abnfDiagram-VCTEODGH-S_JCiANq.js} +1 -1
  355. package/web-shell/assets/{arc-D1hTu8QI.js → arc-DP-839Xn.js} +1 -1
  356. package/web-shell/assets/architectureDiagram-5GKGNRK7-C8rCd2KK.js +36 -0
  357. package/web-shell/assets/blockDiagram-NRAW4CY4-DQR82jwr.js +129 -0
  358. package/web-shell/assets/{c4Diagram-UCG6FXSJ-kEFoC1ei.js → c4Diagram-UCG6FXSJ-D21PNMRP.js} +4 -4
  359. package/web-shell/assets/channel-BgGrpX_z.js +1 -0
  360. package/web-shell/assets/{chunk-2Q5K7J3B-DbT9wS7j.js → chunk-2Q5K7J3B-KdDInGLi.js} +1 -1
  361. package/web-shell/assets/{chunk-5VM5RSS4-CNbULt6O.js → chunk-5VM5RSS4-ltb7zRmH.js} +1 -1
  362. package/web-shell/assets/{chunk-F27PBJKO-CbQRy4Tb.js → chunk-F27PBJKO-DcpQA0Ng.js} +1 -1
  363. package/web-shell/assets/chunk-G27WJ6UU-C8NDZxcy.js +231 -0
  364. package/web-shell/assets/chunk-JWPE2WC7-hXhhHTs1.js +1 -0
  365. package/web-shell/assets/chunk-LCL6LL3I-CLaOR-Hl.js +206 -0
  366. package/web-shell/assets/chunk-POPQ4Y6H-Y5_qlB1N.js +1 -0
  367. package/web-shell/assets/{chunk-SVP7TREG-DyBb2Axj.js → chunk-SVP7TREG-BWX2Voh7.js} +4 -4
  368. package/web-shell/assets/{chunk-XXDRQBXY-BIA0eb5B.js → chunk-XXDRQBXY-1wmj_kXI.js} +1 -1
  369. package/web-shell/assets/classDiagram-DTDB5LWJ-jUH7ADYs.js +1 -0
  370. package/web-shell/assets/classDiagram-v2-JRS7N3AN-jUH7ADYs.js +1 -0
  371. package/web-shell/assets/cose-bilkent-JH36ORCC-DpLc-cdd.js +1 -0
  372. package/web-shell/assets/cynefin-OW5HDTMX-DhxGiPZW.js +178 -0
  373. package/web-shell/assets/{cynefinDiagram-5FMLGOSQ-LENf_IUy.js → cynefinDiagram-5FMLGOSQ-Dl3jfBry.js} +1 -1
  374. package/web-shell/assets/{cytoscape.esm-CUqq0XTU.js → cytoscape.esm-DJK6lGiH.js} +3 -3
  375. package/web-shell/assets/dagre-3AP2YEHR-C8FA8vJk.js +4 -0
  376. package/web-shell/assets/diagram-S7CK7UJ4-D-quIUtW.js +30 -0
  377. package/web-shell/assets/diagram-UQ7AKVKN-Bjo09Uts.js +41 -0
  378. package/web-shell/assets/diagram-VSXAHHWV-IoI3ttq4.js +3 -0
  379. package/web-shell/assets/diagram-VX7I27RA-BKyOZ5SO.js +24 -0
  380. package/web-shell/assets/diagram-Z3DM3KII-Cu_OHEhw.js +24 -0
  381. package/web-shell/assets/{ebnfDiagram-PWID7BFC-BGpiquRm.js → ebnfDiagram-PWID7BFC-UVB-bbPg.js} +1 -1
  382. package/web-shell/assets/{erDiagram-SSCWMZ5O-D0besu_U.js → erDiagram-SSCWMZ5O-l8drddto.js} +13 -13
  383. package/web-shell/assets/flowDiagram-A5DVABFB-DU1I_VAI.js +168 -0
  384. package/web-shell/assets/{ganttDiagram-EL5Y4UJY-CNlsAeNr.js → ganttDiagram-EL5Y4UJY-BLRH05uB.js} +1 -1
  385. package/web-shell/assets/gitGraphDiagram-WWUBYQGX-Czg_BkRE.js +106 -0
  386. package/web-shell/assets/index-CmMV8Jla.js +3 -0
  387. package/web-shell/assets/{index-CGT341lL.js → index-DohPy72Z.js} +1 -1
  388. package/web-shell/assets/index-DyMtNYuu.js +2207 -0
  389. package/web-shell/assets/index-n6N-2a3v.css +36 -0
  390. package/web-shell/assets/{infoDiagram-RXCK75RN-Bpai64Ll.js → infoDiagram-RXCK75RN-BpBvjkro.js} +1 -1
  391. package/web-shell/assets/ishikawaDiagram-5VMMS53U-phy1l3jm.js +70 -0
  392. package/web-shell/assets/{journeyDiagram-EYS64GPL-iz_DKgFX.js → journeyDiagram-EYS64GPL-oY-9LgVS.js} +1 -1
  393. package/web-shell/assets/kanban-definition-3QL26DDD-slZoy-sc.js +89 -0
  394. package/web-shell/assets/{layout-qEvKgnvU.js → layout-0hnn_P9l.js} +1 -1
  395. package/web-shell/assets/{linear-C6lklGdq.js → linear-7Wqe8DRy.js} +1 -1
  396. package/web-shell/assets/mermaid.core-BaK8n0bq.js +312 -0
  397. package/web-shell/assets/mindmap-definition-FBJOCRG2-BedUdy_E.js +96 -0
  398. package/web-shell/assets/{pegDiagram-XKGWAZYB-BhD0q0i6.js → pegDiagram-XKGWAZYB-DQLRdmxq.js} +1 -1
  399. package/web-shell/assets/pieDiagram-E7YTZNPT-UC20w9-5.js +39 -0
  400. package/web-shell/assets/quadrantDiagram-AXDQQJYC-CQx2Hmk3.js +7 -0
  401. package/web-shell/assets/qwen-code-notification-BRVagufF.png +0 -0
  402. package/web-shell/assets/{railroadDiagram-O6MQD6OU-E1g2KIFK.js → railroadDiagram-O6MQD6OU-2UEJe_y-.js} +1 -1
  403. package/web-shell/assets/{requirementDiagram-EFPCY7ZU-CuerYJOe.js → requirementDiagram-EFPCY7ZU-DOAJggB4.js} +13 -13
  404. package/web-shell/assets/{sankeyDiagram-P5KCCOFB-CqWyCZGA.js → sankeyDiagram-P5KCCOFB-DnQ_qJo7.js} +7 -7
  405. package/web-shell/assets/{sequenceDiagram-WJ2MYXX4-B-YWb8x4.js → sequenceDiagram-WJ2MYXX4-DZrZUoCo.js} +16 -16
  406. package/web-shell/assets/sizeCapture-X5ZJPWSS-B5G4GDQB.js +1 -0
  407. package/web-shell/assets/{stateDiagram-HBIQ2CUA-C8LDpNHS.js → stateDiagram-HBIQ2CUA-Bn1cT0qF.js} +1 -1
  408. package/web-shell/assets/stateDiagram-v2-4QOOHH4V-BF3xtNvJ.js +1 -0
  409. package/web-shell/assets/swimlanes-XN3QIQJK-Bzhcdn87.js +1 -0
  410. package/web-shell/assets/swimlanesDiagram-VK2B7HYN-B753mA3E.js +8 -0
  411. package/web-shell/assets/timeline-definition-24CTP7MA-BqZ_3D10.js +120 -0
  412. package/web-shell/assets/vennDiagram-4TSXK5OY-z9kw1kmm.js +34 -0
  413. package/web-shell/assets/wardleyDiagram-VM6X3IG4-Cydp1zJW.js +78 -0
  414. package/web-shell/assets/{xychartDiagram-S5SC5T6Z-ruD2Wjhg.js → xychartDiagram-S5SC5T6Z-j4X1lQKo.js} +1 -1
  415. package/web-shell/index.html +2 -2
  416. package/chunks/chunk-7Q2AXRDJ.js +0 -114
  417. package/chunks/chunk-AEY27Z35.js +0 -1411
  418. package/chunks/chunk-CFKIH3D3.js +0 -50
  419. package/chunks/chunk-HWVUSYSN.js +0 -126
  420. package/chunks/chunk-QHMLYMMS.js +0 -32
  421. package/chunks/chunk-SAH4BD2J.js +0 -92
  422. package/chunks/chunk-TWUKBNWM.js +0 -86
  423. package/chunks/chunk-ZTTC7T4X.js +0 -126
  424. package/chunks/list-YL6LDQKQ.js +0 -129
  425. package/chunks/mcp-IYVSIW6O.js +0 -123
  426. package/chunks/web-search-NEGYQNDJ.js +0 -912
  427. package/chunks/workspace-providers-status-AEYISSU2.js +0 -127
  428. package/chunks/workspace-skills-status-5HWZU3HX.js +0 -126
  429. package/web-shell/assets/architectureDiagram-5GKGNRK7-B_fgkKe7.js +0 -36
  430. package/web-shell/assets/blockDiagram-NRAW4CY4-C3pddUNg.js +0 -129
  431. package/web-shell/assets/channel-Blod4z1X.js +0 -1
  432. package/web-shell/assets/chunk-G27WJ6UU-CVbXTxYk.js +0 -231
  433. package/web-shell/assets/chunk-JWPE2WC7-D89c_BXy.js +0 -1
  434. package/web-shell/assets/chunk-LCL6LL3I-B7-I_9KB.js +0 -206
  435. package/web-shell/assets/chunk-POPQ4Y6H-DcLQFzS4.js +0 -1
  436. package/web-shell/assets/classDiagram-DTDB5LWJ-D6hFDMqb.js +0 -1
  437. package/web-shell/assets/classDiagram-v2-JRS7N3AN-D6hFDMqb.js +0 -1
  438. package/web-shell/assets/cose-bilkent-JH36ORCC-Db2FYN85.js +0 -1
  439. package/web-shell/assets/cynefin-OW5HDTMX-i4GwmBVy.js +0 -178
  440. package/web-shell/assets/dagre-3AP2YEHR-CF9XVrD9.js +0 -4
  441. package/web-shell/assets/diagram-S7CK7UJ4-DD5PJfSm.js +0 -30
  442. package/web-shell/assets/diagram-UQ7AKVKN-CjD_sBMj.js +0 -41
  443. package/web-shell/assets/diagram-VSXAHHWV-U5WwMqyA.js +0 -3
  444. package/web-shell/assets/diagram-VX7I27RA-BujpHJJf.js +0 -24
  445. package/web-shell/assets/diagram-Z3DM3KII-3ZLtKEXo.js +0 -24
  446. package/web-shell/assets/flowDiagram-A5DVABFB-9DwDuIyr.js +0 -168
  447. package/web-shell/assets/gitGraphDiagram-WWUBYQGX-C_pPFiTR.js +0 -106
  448. package/web-shell/assets/index-BYWs4JWq.js +0 -3
  449. package/web-shell/assets/index-D3YS6KuJ.js +0 -2173
  450. package/web-shell/assets/index-eBxK3rs2.css +0 -36
  451. package/web-shell/assets/ishikawaDiagram-5VMMS53U-ktpJFq4r.js +0 -70
  452. package/web-shell/assets/kanban-definition-3QL26DDD-m_gG00Yt.js +0 -89
  453. package/web-shell/assets/mermaid.core-DSCYB_2P.js +0 -312
  454. package/web-shell/assets/mindmap-definition-FBJOCRG2-DRQbT8w-.js +0 -96
  455. package/web-shell/assets/pieDiagram-E7YTZNPT-BvIGQCSd.js +0 -39
  456. package/web-shell/assets/quadrantDiagram-AXDQQJYC-BDQtfpU-.js +0 -7
  457. package/web-shell/assets/sizeCapture-X5ZJPWSS-BB7YY4Tl.js +0 -1
  458. package/web-shell/assets/stateDiagram-v2-4QOOHH4V-C4CbdvGa.js +0 -1
  459. package/web-shell/assets/swimlanes-XN3QIQJK-D94vOoxZ.js +0 -1
  460. package/web-shell/assets/swimlanesDiagram-VK2B7HYN--QNSIOC8.js +0 -8
  461. package/web-shell/assets/timeline-definition-24CTP7MA-C9C8uEYm.js +0 -120
  462. package/web-shell/assets/vennDiagram-4TSXK5OY-CYzMHbVW.js +0 -34
  463. package/web-shell/assets/wardleyDiagram-VM6X3IG4-G9nhtLES.js +0 -78
  464. package/chunks/{open-with-auth-6MVIHMXB.js → open-with-auth-XFCCJOO6.js} +3 -3
@@ -0,0 +1,95 @@
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/core/src/code-mode/protocol.ts
11
+ init_esbuild_shims();
12
+ var CODE_MODE_MAX_CONTROL_FRAME_BYTES = 1048576;
13
+ var CODE_MODE_MAX_FRAME_BYTES = 16 * 1024 * 1024;
14
+ var CODE_MODE_MAX_MEDIA_BYTES = 10 * 1024 * 1024;
15
+ var CODE_MODE_MAX_MEDIA_ITEMS = 16;
16
+ var CODE_MODE_MAX_SOURCE_CHARS = 131072;
17
+ var CODE_MODE_MAX_OUTPUT_CHARS = 1e5;
18
+ var CODE_MODE_TIMEOUT_MS = 3e4;
19
+ function hasBoundedImageContent(message) {
20
+ if (message.type !== "tool_result") return false;
21
+ const content = message.result?.content;
22
+ if (!Array.isArray(content) || content.length === 0 || content.length > CODE_MODE_MAX_MEDIA_ITEMS) {
23
+ return false;
24
+ }
25
+ let decodedBytes = 0;
26
+ for (const item of content) {
27
+ if (item?.type !== "image" || typeof item.mimeType !== "string" || !item.mimeType.toLowerCase().startsWith("image/") || typeof item.data !== "string" || item.data.length === 0) {
28
+ return false;
29
+ }
30
+ const padding = item.data.endsWith("==") ? 2 : item.data.endsWith("=") ? 1 : 0;
31
+ decodedBytes += Math.floor(item.data.length * 3 / 4) - padding;
32
+ if (decodedBytes > CODE_MODE_MAX_MEDIA_BYTES) return false;
33
+ }
34
+ return true;
35
+ }
36
+ __name(hasBoundedImageContent, "hasBoundedImageContent");
37
+ function maxFrameBytes(message) {
38
+ if (message.type === "complete" || message.type === "error") {
39
+ return CODE_MODE_MAX_FRAME_BYTES;
40
+ }
41
+ if (hasBoundedImageContent(message)) return CODE_MODE_MAX_FRAME_BYTES;
42
+ return CODE_MODE_MAX_CONTROL_FRAME_BYTES;
43
+ }
44
+ __name(maxFrameBytes, "maxFrameBytes");
45
+ function encodeFrame(message) {
46
+ const body = Buffer.from(JSON.stringify(message));
47
+ if (body.byteLength > maxFrameBytes(message)) {
48
+ throw new Error("Code mode protocol frame exceeds the size limit.");
49
+ }
50
+ const frame = Buffer.allocUnsafe(body.byteLength + 4);
51
+ frame.writeUInt32BE(body.byteLength, 0);
52
+ body.copy(frame, 4);
53
+ return frame;
54
+ }
55
+ __name(encodeFrame, "encodeFrame");
56
+ var FrameDecoder = class {
57
+ static {
58
+ __name(this, "FrameDecoder");
59
+ }
60
+ buffer = Buffer.alloc(0);
61
+ push(chunk) {
62
+ this.buffer = Buffer.concat([this.buffer, chunk]);
63
+ const messages = [];
64
+ while (this.buffer.byteLength >= 4) {
65
+ const length = this.buffer.readUInt32BE(0);
66
+ if (length > CODE_MODE_MAX_FRAME_BYTES) {
67
+ throw new Error("Code mode protocol frame exceeds the size limit.");
68
+ }
69
+ if (this.buffer.byteLength < length + 4) break;
70
+ const body = this.buffer.subarray(4, length + 4);
71
+ this.buffer = this.buffer.subarray(length + 4);
72
+ const message = JSON.parse(body.toString("utf8"));
73
+ if (length > maxFrameBytes(message)) {
74
+ throw new Error("Code mode protocol frame exceeds the size limit.");
75
+ }
76
+ messages.push(message);
77
+ }
78
+ return messages;
79
+ }
80
+ };
81
+
82
+ export {
83
+ CODE_MODE_MAX_MEDIA_BYTES,
84
+ CODE_MODE_MAX_MEDIA_ITEMS,
85
+ CODE_MODE_MAX_SOURCE_CHARS,
86
+ CODE_MODE_MAX_OUTPUT_CHARS,
87
+ CODE_MODE_TIMEOUT_MS,
88
+ encodeFrame,
89
+ FrameDecoder
90
+ };
91
+ /**
92
+ * @license
93
+ * Copyright 2025 Qwen
94
+ * SPDX-License-Identifier: Apache-2.0
95
+ */
@@ -2,10 +2,10 @@
2
2
  "use strict";
3
3
  import {
4
4
  BaseJsonOutputAdapter
5
- } from "./chunk-OX7IZ2G5.js";
5
+ } from "./chunk-LF5AD7PY.js";
6
6
  import {
7
7
  observeHeadlessJsonToolResultWire
8
- } from "./chunk-3XLK2QMY.js";
8
+ } from "./chunk-L3S2Y2FF.js";
9
9
  import {
10
10
  init_esbuild_shims
11
11
  } from "./chunk-5O2XNYP6.js";
@@ -2,10 +2,13 @@
2
2
  "use strict";
3
3
  import {
4
4
  performStandaloneUpdate
5
- } from "./chunk-GOXQL4YH.js";
5
+ } from "./chunk-HWRXJQ6B.js";
6
6
  import {
7
7
  updateEventEmitter
8
8
  } from "./chunk-YAF2MQZ6.js";
9
+ import {
10
+ t
11
+ } from "./chunk-I6YJZGHS.js";
9
12
  import {
10
13
  require_semver
11
14
  } from "./chunk-2AUM35J5.js";
@@ -13,10 +16,7 @@ import {
13
16
  getHomebrewLatestVersion,
14
17
  getInstallationInfo,
15
18
  resolveUpdateCommand
16
- } from "./chunk-N6VQ37ZZ.js";
17
- import {
18
- t
19
- } from "./chunk-VZUCTJ2P.js";
19
+ } from "./chunk-SFL6U7U7.js";
20
20
  import {
21
21
  createDebugLogger
22
22
  } from "./chunk-ZAFYHRVY.js";
@@ -2,7 +2,7 @@
2
2
  "use strict";
3
3
  import {
4
4
  isTool
5
- } from "./chunk-TP6FYVQT.js";
5
+ } from "./chunk-RSWBT7AZ.js";
6
6
  import {
7
7
  init_esbuild_shims
8
8
  } from "./chunk-5O2XNYP6.js";
@@ -0,0 +1,100 @@
1
+ // Force strict mode and setup for ESM
2
+ "use strict";
3
+ import {
4
+ redactProxyCredentials
5
+ } from "./chunk-EWJTAP3Y.js";
6
+ import {
7
+ init_esbuild_shims
8
+ } from "./chunk-5O2XNYP6.js";
9
+ import {
10
+ __name
11
+ } from "./chunk-J2S4EL5Y.js";
12
+
13
+ // packages/core/src/utils/responses-http-error.ts
14
+ init_esbuild_shims();
15
+ var ResponsesHttpError = class extends Error {
16
+ constructor(status, body, responseHeaders, secrets = []) {
17
+ const sanitize = /* @__PURE__ */ __name((value) => {
18
+ let text = redactProxyCredentials(value);
19
+ for (const secret of secrets) {
20
+ if (secret) text = text.split(secret).join("<redacted>");
21
+ }
22
+ return text;
23
+ }, "sanitize");
24
+ const headers = new Headers();
25
+ for (const name of [
26
+ "x-request-id",
27
+ "retry-after",
28
+ "retry-after-ms",
29
+ "x-should-retry"
30
+ ]) {
31
+ const value = responseHeaders?.get(name);
32
+ if (value) headers.set(name, sanitize(value));
33
+ }
34
+ let envelope;
35
+ try {
36
+ envelope = record(JSON.parse(body));
37
+ } catch {
38
+ }
39
+ const gateway = record(envelope?.["routify_response"]);
40
+ const upstream = record(envelope?.["error"]) ?? record(record(gateway?.["error_detail"])?.["error"]);
41
+ const error = {};
42
+ for (const name of ["message", "code", "type", "param"]) {
43
+ const value = upstream?.[name];
44
+ if (typeof value === "string" || typeof value === "number") {
45
+ error[name] = sanitize(String(value));
46
+ }
47
+ }
48
+ const requestId = headers.get("x-request-id") ?? (string(gateway?.["request_id"]) ? sanitize(String(gateway["request_id"])) : void 0);
49
+ const diagnostic = {
50
+ ...Object.keys(error).length ? { error } : {},
51
+ ...requestId ? { request_id: requestId } : {},
52
+ ...string(gateway?.["trace_id"]) ? { trace_id: sanitize(String(gateway["trace_id"])) } : {},
53
+ ...string(gateway?.["model_name"]) ? { model_name: sanitize(String(gateway["model_name"])) } : {}
54
+ };
55
+ const excerpt = Object.keys(error).length ? JSON.stringify(diagnostic) : sanitize(body).substring(0, 500);
56
+ super(
57
+ `Responses API error ${status}: ${excerpt}` + (!Object.keys(error).length && requestId ? ` (request_id: ${requestId})` : "")
58
+ );
59
+ this.status = status;
60
+ this.name = "ResponsesHttpError";
61
+ this.headers = headers;
62
+ this.requestId = requestId;
63
+ this.error = Object.keys(error).length ? error : void 0;
64
+ this.code = error["code"];
65
+ this.type = error["type"];
66
+ this.param = error["param"];
67
+ }
68
+ static {
69
+ __name(this, "ResponsesHttpError");
70
+ }
71
+ headers;
72
+ requestId;
73
+ code;
74
+ type;
75
+ param;
76
+ error;
77
+ shouldRetry(extraRetryErrorCodes) {
78
+ const directive = this.headers.get("x-should-retry");
79
+ if (directive === "true") return true;
80
+ if (directive === "false") return false;
81
+ return this.status === 408 || this.status === 409 || this.status === 429 || this.status >= 500 && this.status < 600 || (extraRetryErrorCodes?.includes(this.status) ?? false);
82
+ }
83
+ };
84
+ function record(value) {
85
+ return typeof value === "object" && value !== null && !Array.isArray(value) ? value : void 0;
86
+ }
87
+ __name(record, "record");
88
+ function string(value) {
89
+ return typeof value === "string" && value ? value : void 0;
90
+ }
91
+ __name(string, "string");
92
+
93
+ export {
94
+ ResponsesHttpError
95
+ };
96
+ /**
97
+ * @license
98
+ * Copyright 2026 Qwen
99
+ * SPDX-License-Identifier: Apache-2.0
100
+ */
@@ -2,7 +2,7 @@
2
2
  "use strict";
3
3
  import {
4
4
  STATUS_SCHEMA_VERSION
5
- } from "./chunk-HGEUHUEV.js";
5
+ } from "./chunk-54B2LTKP.js";
6
6
  import {
7
7
  formatMemoryUsage
8
8
  } from "./chunk-CHEIIBT3.js";
@@ -3,7 +3,7 @@
3
3
  import {
4
4
  collectAvailableSkillEntries,
5
5
  renderAvailableSkillsBlock
6
- } from "./chunk-EUURTIV6.js";
6
+ } from "./chunk-WBSJ6VPZ.js";
7
7
  import {
8
8
  escapeSystemReminderTags
9
9
  } from "./chunk-G6UUOCUT.js";
@@ -12,7 +12,7 @@ import {
12
12
  } from "./chunk-IZ2U57NY.js";
13
13
  import {
14
14
  ToolNames
15
- } from "./chunk-TP6FYVQT.js";
15
+ } from "./chunk-RSWBT7AZ.js";
16
16
  import {
17
17
  createDebugLogger,
18
18
  getErrorMessage,
@@ -696,7 +696,7 @@ __name(resolveForkExecutionAllowedTools, "resolveForkExecutionAllowedTools");
696
696
  function registerForkDisplayImageForCache(config, advertisedToolNames) {
697
697
  if (!advertisedToolNames.includes(ToolNames.DISPLAY_IMAGE)) return;
698
698
  config.getToolRegistry().registerFactory(ToolNames.DISPLAY_IMAGE, async () => {
699
- const { DisplayImageTool } = await import("./display-image-NAH3AZ63.js");
699
+ const { DisplayImageTool } = await import("./display-image-QTHALY6N.js");
700
700
  return new DisplayImageTool(config);
701
701
  });
702
702
  }
@@ -5,7 +5,7 @@ import {
5
5
  } from "./chunk-G6UUOCUT.js";
6
6
  import {
7
7
  ToolNames
8
- } from "./chunk-TP6FYVQT.js";
8
+ } from "./chunk-RSWBT7AZ.js";
9
9
  import {
10
10
  createDebugLogger
11
11
  } from "./chunk-ZAFYHRVY.js";
@@ -96,6 +96,13 @@ __name(prepareHookConfig, "prepareHookConfig");
96
96
 
97
97
  // packages/core/src/tools/skill-utils.ts
98
98
  var debugLogger2 = createDebugLogger("SKILL");
99
+ function skillModelInvocationBlock(config, skillManager, skill) {
100
+ if (!config.isSkillEnabled(skill)) return "disabled";
101
+ if (skill.disableModelInvocation) return "hidden";
102
+ if (!skillManager.isSkillActive(skill)) return "inactive";
103
+ return void 0;
104
+ }
105
+ __name(skillModelInvocationBlock, "skillModelInvocationBlock");
99
106
  function buildSkillLlmContent(baseDir, body) {
100
107
  return `Base directory for this skill: ${baseDir}
101
108
  Important: ALWAYS resolve absolute paths from this base directory when working with skills.
@@ -134,7 +141,7 @@ async function collectAvailableSkillEntriesUncached(skillManager, config) {
134
141
  const allSkills = await skillManager.listSkills();
135
142
  const isEnabled = /* @__PURE__ */ __name((skill) => config.isSkillEnabled(skill), "isEnabled");
136
143
  const availableSkills = allSkills.filter(
137
- (s) => !s.disableModelInvocation && skillManager.isSkillActive(s) && isEnabled(s)
144
+ (s) => skillModelInvocationBlock(config, skillManager, s) === void 0
138
145
  );
139
146
  const hiddenSkillNames = new Set(
140
147
  allSkills.filter((s) => s.disableModelInvocation).map((s) => s.name)
@@ -293,6 +300,7 @@ function clearLoadedSkillTracking(toolRegistry, logTag) {
293
300
  __name(clearLoadedSkillTracking, "clearLoadedSkillTracking");
294
301
 
295
302
  export {
303
+ skillModelInvocationBlock,
296
304
  buildSkillLlmContent,
297
305
  clearCollectedSkillEntriesCache,
298
306
  collectAvailableSkillEntries,
@@ -5,7 +5,7 @@ import {
5
5
  } from "./chunk-M5GB774H.js";
6
6
  import {
7
7
  sanitizeLogText
8
- } from "./chunk-7QYWGTHB.js";
8
+ } from "./chunk-EPVEPTI3.js";
9
9
  import {
10
10
  stripAnsi
11
11
  } from "./chunk-TWPJO254.js";
@@ -0,0 +1,347 @@
1
+ // Force strict mode and setup for ESM
2
+ "use strict";
3
+ import {
4
+ getFunctionResponseParts,
5
+ sanitizeMimeForPlaceholder
6
+ } from "./chunk-NUQ4GK5I.js";
7
+ import {
8
+ init_esbuild_shims
9
+ } from "./chunk-5O2XNYP6.js";
10
+ import {
11
+ __name
12
+ } from "./chunk-J2S4EL5Y.js";
13
+
14
+ // packages/core/src/core/inlineMediaLimit.ts
15
+ init_esbuild_shims();
16
+ var DEFAULT_MAX_INLINE_MEDIA_BYTES = 10 * 1024 * 1024;
17
+ function getMaxInlineMediaBytes() {
18
+ const raw = process.env["QWEN_CODE_MAX_INLINE_MEDIA_BYTES"];
19
+ if (raw === void 0 || raw.trim() === "") {
20
+ return DEFAULT_MAX_INLINE_MEDIA_BYTES;
21
+ }
22
+ const parsed = Number(raw);
23
+ return Number.isInteger(parsed) && parsed > 0 ? parsed : DEFAULT_MAX_INLINE_MEDIA_BYTES;
24
+ }
25
+ __name(getMaxInlineMediaBytes, "getMaxInlineMediaBytes");
26
+ function approxBase64Bytes(base64) {
27
+ let start = 0;
28
+ if (base64.startsWith("data:")) {
29
+ const commaIndex = base64.indexOf(",");
30
+ if (commaIndex !== -1) {
31
+ start = commaIndex + 1;
32
+ }
33
+ }
34
+ const length = base64.length - start;
35
+ if (length === 0) {
36
+ return 0;
37
+ }
38
+ const padding = base64.endsWith("==") ? 2 : base64.endsWith("=") ? 1 : 0;
39
+ return Math.floor(length * 3 / 4) - padding;
40
+ }
41
+ __name(approxBase64Bytes, "approxBase64Bytes");
42
+ function formatMb(bytes) {
43
+ return (bytes / (1024 * 1024)).toFixed(1);
44
+ }
45
+ __name(formatMb, "formatMb");
46
+ function oversizedMediaPlaceholder(mimeType, bytes, limitBytes) {
47
+ const mime = sanitizeMimeForPlaceholder(mimeType);
48
+ return `[Media omitted: ${mime} is ~${formatMb(bytes)}MB, exceeding the ${formatMb(limitBytes)}MB inline limit. Ask the user to resize/compress it, or reference it via an @file path so it can be read from disk.]`;
49
+ }
50
+ __name(oversizedMediaPlaceholder, "oversizedMediaPlaceholder");
51
+ function clampInlineMediaPart(part, limitBytes = getMaxInlineMediaBytes()) {
52
+ const data = part.inlineData?.data;
53
+ if (!data) {
54
+ return part;
55
+ }
56
+ const bytes = approxBase64Bytes(data);
57
+ if (bytes <= limitBytes) {
58
+ return part;
59
+ }
60
+ const mimeType = part.inlineData?.mimeType ?? "application/octet-stream";
61
+ return { text: oversizedMediaPlaceholder(mimeType, bytes, limitBytes) };
62
+ }
63
+ __name(clampInlineMediaPart, "clampInlineMediaPart");
64
+
65
+ // packages/core/src/core/openaiContentGenerator/prefix-caching.ts
66
+ init_esbuild_shims();
67
+ var CACHE_KEY_PREFIX = "qwen-code:";
68
+ var EXPLICIT_BREAKPOINT_COUNT = 2;
69
+ function supportsOpenAIPrefixCaching(contentGeneratorConfig) {
70
+ return contentGeneratorConfig.authType === "openai" /* USE_OPENAI */ || contentGeneratorConfig.authType === "qwen-oauth" /* QWEN_OAUTH */;
71
+ }
72
+ __name(supportsOpenAIPrefixCaching, "supportsOpenAIPrefixCaching");
73
+ function isOfficialOpenAIEndpoint(contentGeneratorConfig) {
74
+ if (contentGeneratorConfig.authType !== "openai" /* USE_OPENAI */) return false;
75
+ const { baseUrl } = contentGeneratorConfig;
76
+ if (!baseUrl) return false;
77
+ try {
78
+ return new URL(baseUrl).hostname.toLowerCase() === "api.openai.com";
79
+ } catch {
80
+ return false;
81
+ }
82
+ }
83
+ __name(isOfficialOpenAIEndpoint, "isOfficialOpenAIEndpoint");
84
+ function supportsExplicitOpenAIPromptCaching(model) {
85
+ const match = /^gpt-(\d+)(?:\.(\d+))?(?:[-.]|$)/i.exec(model);
86
+ if (!match) return false;
87
+ const major = Number(match[1]);
88
+ const minor = Number(match[2] ?? 0);
89
+ return major > 5 || major === 5 && minor >= 6;
90
+ }
91
+ __name(supportsExplicitOpenAIPromptCaching, "supportsExplicitOpenAIPromptCaching");
92
+ function withCacheBreakpoint(message) {
93
+ if (message.role !== "user" && message.role !== "tool") return void 0;
94
+ const marker = { prompt_cache_breakpoint: { mode: "explicit" } };
95
+ if (typeof message.content === "string") {
96
+ return {
97
+ ...message,
98
+ content: [{ type: "text", text: message.content, ...marker }]
99
+ };
100
+ }
101
+ if (!Array.isArray(message.content) || message.content.length === 0) {
102
+ return void 0;
103
+ }
104
+ const content = [...message.content];
105
+ const lastIndex = content.length - 1;
106
+ content[lastIndex] = { ...content[lastIndex], ...marker };
107
+ return { ...message, content };
108
+ }
109
+ __name(withCacheBreakpoint, "withCacheBreakpoint");
110
+ function applyOfficialOpenAIPromptCaching(request, sessionId, cacheSharing, cacheKeyPartition) {
111
+ const result = { ...request };
112
+ if (sessionId && !result.prompt_cache_key) {
113
+ const partition = cacheKeyPartition ? `:${cacheKeyPartition}` : "";
114
+ result.prompt_cache_key = `${CACHE_KEY_PREFIX}${sessionId}${partition}`;
115
+ }
116
+ if (!cacheSharing || !supportsExplicitOpenAIPromptCaching(request.model)) {
117
+ return result;
118
+ }
119
+ const messages = [...request.messages];
120
+ let marked = 0;
121
+ for (let index = messages.length - 2; index >= 0 && marked < EXPLICIT_BREAKPOINT_COUNT; index -= 1) {
122
+ const message = messages[index];
123
+ const updated = message ? withCacheBreakpoint(message) : void 0;
124
+ if (!updated) continue;
125
+ messages[index] = updated;
126
+ marked += 1;
127
+ }
128
+ if (marked === 0) return result;
129
+ result.messages = messages;
130
+ result.prompt_cache_options = {
131
+ ...result.prompt_cache_options,
132
+ mode: "explicit"
133
+ };
134
+ return result;
135
+ }
136
+ __name(applyOfficialOpenAIPromptCaching, "applyOfficialOpenAIPromptCaching");
137
+
138
+ // packages/core/src/services/image-payload-references.ts
139
+ init_esbuild_shims();
140
+ import { createHash } from "node:crypto";
141
+ var IMAGE_ID_LENGTH = 12;
142
+ var IMAGE_REFERENCE_PATTERN = new RegExp(
143
+ `\\[Image #([a-f0-9]{${IMAGE_ID_LENGTH}}): [^\\]]+\\]`,
144
+ "gi"
145
+ );
146
+ var InMemoryImagePayloadStore = class {
147
+ static {
148
+ __name(this, "InMemoryImagePayloadStore");
149
+ }
150
+ images = /* @__PURE__ */ new Map();
151
+ put(part) {
152
+ const stored = imagePartToStoredPayload(part);
153
+ this.images.set(stored.id, stored);
154
+ return stored;
155
+ }
156
+ get(id) {
157
+ return this.images.get(id);
158
+ }
159
+ };
160
+ function countAllInlineImages(contents) {
161
+ let count = 0;
162
+ for (const _part of inlineImageParts(contents)) count++;
163
+ return count;
164
+ }
165
+ __name(countAllInlineImages, "countAllInlineImages");
166
+ function replaceImagePayloadsInPlace(contents, store, skipContent) {
167
+ const replaced = [];
168
+ for (const part of inlineImageParts(contents, skipContent)) {
169
+ const stored = store.put(part);
170
+ replaced.push(stored);
171
+ part.text = imageReferenceText(stored);
172
+ delete part.inlineData;
173
+ }
174
+ return replaced;
175
+ }
176
+ __name(replaceImagePayloadsInPlace, "replaceImagePayloadsInPlace");
177
+ function buildReattachParts(replaced, maxRecentImages, referencedContents = [], store) {
178
+ const referencedIds = collectReferencedImageIds(referencedContents);
179
+ if (replaced.length === 0 && (!store || referencedIds.size === 0)) return [];
180
+ const inlineIds = collectInlineImageIds(referencedContents);
181
+ const last = referencedContents.at(-1);
182
+ const lastReferencedIds = collectReferencedImageIds(
183
+ last?.role === "user" ? [last] : []
184
+ );
185
+ const candidates = replaced.filter(
186
+ (image) => !inlineIds.has(image.id) && !lastReferencedIds.has(image.id)
187
+ ).map((stored) => ({ stored }));
188
+ if (store) {
189
+ for (const id of referencedIds) {
190
+ if (inlineIds.has(id) || lastReferencedIds.has(id)) continue;
191
+ const stored = store.get(id);
192
+ if (stored) candidates.push({ stored });
193
+ }
194
+ }
195
+ const recent = recentUniqueImages(candidates, maxRecentImages).map(
196
+ ({ stored }) => stored
197
+ );
198
+ const reattachLimit = Math.max(maxRecentImages, 1);
199
+ if (store) {
200
+ for (const id of lastReferencedIds) {
201
+ if (inlineIds.has(id) || recent.some((image) => image.id === id)) {
202
+ continue;
203
+ }
204
+ const stored = store.get(id);
205
+ if (stored) {
206
+ if (recent.length >= reattachLimit) recent.shift();
207
+ recent.push(stored);
208
+ }
209
+ }
210
+ }
211
+ if (recent.length === 0) return [];
212
+ return [
213
+ {
214
+ text: reattachContextText(recent.map((img) => img.id)),
215
+ partMetadata: { [REATTACH_BOUNDARY_METADATA]: true }
216
+ },
217
+ ...recent.map(storedImageToPart)
218
+ ];
219
+ }
220
+ __name(buildReattachParts, "buildReattachParts");
221
+ var REATTACH_BOUNDARY_METADATA = "qwen-code:reattach-boundary";
222
+ function trailingReattachPartCount(contents) {
223
+ const last = Array.isArray(contents) ? contents.at(-1) : void 0;
224
+ const parts = last && typeof last === "object" && "parts" in last ? last.parts : void 0;
225
+ if (!Array.isArray(parts) || parts.length === 0) return 0;
226
+ const firstMarked = parts.findIndex(
227
+ (part) => typeof part === "object" && part !== null && part.partMetadata?.[REATTACH_BOUNDARY_METADATA] === true
228
+ );
229
+ if (firstMarked === -1) return 0;
230
+ return parts.length - firstMarked;
231
+ }
232
+ __name(trailingReattachPartCount, "trailingReattachPartCount");
233
+ function collectInlineImageIds(contents) {
234
+ const ids = /* @__PURE__ */ new Set();
235
+ for (const part of inlineImageParts(contents)) {
236
+ ids.add(imagePartToStoredPayload(part).id);
237
+ }
238
+ return ids;
239
+ }
240
+ __name(collectInlineImageIds, "collectInlineImageIds");
241
+ function* inlineImageParts(contents, skipContent) {
242
+ for (const content of contents) {
243
+ if (content === skipContent) continue;
244
+ for (const part of content.parts ?? []) {
245
+ if (part.inlineData?.mimeType?.startsWith("image/") && part.inlineData.data) {
246
+ yield part;
247
+ }
248
+ for (const inner of getFunctionResponseParts(part) ?? []) {
249
+ if (inner.inlineData?.mimeType?.startsWith("image/") && inner.inlineData.data) {
250
+ yield inner;
251
+ }
252
+ }
253
+ }
254
+ }
255
+ }
256
+ __name(inlineImageParts, "inlineImageParts");
257
+ function collectReferencedImageIds(contents) {
258
+ const ids = /* @__PURE__ */ new Set();
259
+ const collect = /* @__PURE__ */ __name((parts) => {
260
+ for (const part of parts ?? []) {
261
+ for (const match of part.text?.matchAll(IMAGE_REFERENCE_PATTERN) ?? []) {
262
+ const id = match[1];
263
+ if (id) ids.add(id.toLowerCase());
264
+ }
265
+ collect(getFunctionResponseParts(part));
266
+ }
267
+ }, "collect");
268
+ for (const content of contents) {
269
+ collect(content.parts);
270
+ }
271
+ return ids;
272
+ }
273
+ __name(collectReferencedImageIds, "collectReferencedImageIds");
274
+ function recentUniqueImages(collected, maxRecentImages) {
275
+ if (maxRecentImages <= 0) {
276
+ return [];
277
+ }
278
+ const recent = [];
279
+ const seen = /* @__PURE__ */ new Set();
280
+ for (let index = collected.length - 1; index >= 0; index--) {
281
+ const image = collected[index];
282
+ if (!image || seen.has(image.stored.id)) continue;
283
+ seen.add(image.stored.id);
284
+ recent.push(image);
285
+ if (recent.length === maxRecentImages) break;
286
+ }
287
+ return recent.reverse();
288
+ }
289
+ __name(recentUniqueImages, "recentUniqueImages");
290
+ function imagePartToStoredPayload(part) {
291
+ const data = part.inlineData?.data ?? "";
292
+ const mimeType = part.inlineData?.mimeType ?? "application/octet-stream";
293
+ const hash = createHash("sha256").update(mimeType).update("\0").update(data).digest("hex");
294
+ return {
295
+ id: hash.slice(0, IMAGE_ID_LENGTH),
296
+ mimeType,
297
+ data,
298
+ bytes: approxBase64Bytes(data),
299
+ displayName: part.inlineData?.displayName
300
+ };
301
+ }
302
+ __name(imagePartToStoredPayload, "imagePartToStoredPayload");
303
+ function imageReferenceText(stored) {
304
+ return `[Image #${stored.id}: ${safeImageMimeType(stored.mimeType)}, ${stored.bytes} bytes]`;
305
+ }
306
+ __name(imageReferenceText, "imageReferenceText");
307
+ function reattachContextText(ids) {
308
+ return "Images read earlier in this session (may be OUTDATED, do not treat as current UI state): " + ids.map((id) => `Image #${id}`).join(", ");
309
+ }
310
+ __name(reattachContextText, "reattachContextText");
311
+ function safeImageMimeType(mimeType) {
312
+ return /^image\/[a-z0-9.+-]{1,64}$/i.test(mimeType) ? mimeType.toLowerCase() : "image/unknown";
313
+ }
314
+ __name(safeImageMimeType, "safeImageMimeType");
315
+ function storedImageToPart(stored) {
316
+ return {
317
+ inlineData: {
318
+ mimeType: stored.mimeType,
319
+ data: stored.data,
320
+ displayName: stored.displayName
321
+ }
322
+ };
323
+ }
324
+ __name(storedImageToPart, "storedImageToPart");
325
+
326
+ export {
327
+ supportsOpenAIPrefixCaching,
328
+ isOfficialOpenAIEndpoint,
329
+ applyOfficialOpenAIPromptCaching,
330
+ approxBase64Bytes,
331
+ clampInlineMediaPart,
332
+ InMemoryImagePayloadStore,
333
+ countAllInlineImages,
334
+ replaceImagePayloadsInPlace,
335
+ buildReattachParts,
336
+ trailingReattachPartCount
337
+ };
338
+ /**
339
+ * @license
340
+ * Copyright 2025 Qwen Team
341
+ * SPDX-License-Identifier: Apache-2.0
342
+ */
343
+ /**
344
+ * @license
345
+ * Copyright 2025 Qwen
346
+ * SPDX-License-Identifier: Apache-2.0
347
+ */