@qwen-code/qwen-code 0.20.1 → 0.20.2-gdpval-vl-bridge.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (219) hide show
  1. package/bundled/qc-helper/docs/integration-github-action.md +9 -9
  2. package/chunks/{MaxSizedBox-4WZYPSRU.js → MaxSizedBox-LJXM44LM.js} +10 -11
  3. package/chunks/{StandaloneSessionPicker-PE4JAIFA.js → StandaloneSessionPicker-PJL4SUNJ.js} +25 -26
  4. package/chunks/{acpAgent-BVIKGJ2C.js → acpAgent-QILHBOVE.js} +121 -80
  5. package/chunks/{agent-DHLFAOUV.js → agent-MITS5NNF.js} +10 -11
  6. package/chunks/{agent-headless-ZP5WTNXZ.js → agent-headless-CSKMTZYT.js} +10 -11
  7. package/chunks/{anthropicContentGenerator-NMSS7IMV.js → anthropicContentGenerator-HGWAHO24.js} +6 -8
  8. package/chunks/{bridge-XAK7JKMD.js → bridge-OTBUREJB.js} +14 -15
  9. package/chunks/{channel-worker-group-LFBT7K64.js → channel-worker-group-QZV2SP5U.js} +3 -3
  10. package/chunks/{channel-worker-manager-3RUPERG2.js → channel-worker-manager-3GMAU45H.js} +3 -3
  11. package/chunks/{channel-worker-supervisor-A3KVATD3.js → channel-worker-supervisor-QCXSXCRY.js} +2 -2
  12. package/chunks/{chunk-76OFFG6L.js → chunk-2DGTZXPP.js} +1 -1
  13. package/chunks/{chunk-BWQRDISK.js → chunk-2M6SP3YW.js} +1 -1
  14. package/chunks/chunk-3Z43GZUQ.js +32 -0
  15. package/chunks/{chunk-N5ARKAVE.js → chunk-4I7Z3D2K.js} +6 -6
  16. package/chunks/{chunk-EFIOE2EH.js → chunk-4WI3O5SO.js} +1 -1
  17. package/chunks/{chunk-27CLX4FV.js → chunk-54ABO2GD.js} +1 -1
  18. package/chunks/{chunk-BKZEHVPV.js → chunk-5G3ZVADU.js} +148 -47
  19. package/chunks/{chunk-PIHKWN7M.js → chunk-5IDR6XE4.js} +1 -1
  20. package/chunks/{chunk-Q3GGJDYN.js → chunk-5VLWDXVW.js} +3 -3
  21. package/chunks/{chunk-3KQSDUK3.js → chunk-5ZJ76VN7.js} +7 -8
  22. package/chunks/{chunk-R7MPKABX.js → chunk-6KTYB3BL.js} +70 -36
  23. package/chunks/{chunk-4DSBFQMI.js → chunk-6KWPAL2Y.js} +2 -2
  24. package/chunks/{chunk-PSVSP2OS.js → chunk-6PMESZR4.js} +3 -3
  25. package/chunks/{chunk-TXRKCFWS.js → chunk-7UOLRSUW.js} +1 -1
  26. package/chunks/{chunk-DRIXALGM.js → chunk-7Z3BQV36.js} +2 -2
  27. package/chunks/{chunk-KQQ757OQ.js → chunk-ACW3VNUE.js} +1 -1
  28. package/chunks/{chunk-TPR35HHZ.js → chunk-AIAHTIQX.js} +3 -3
  29. package/chunks/{chunk-KSZZBDVD.js → chunk-AWRZQTYG.js} +25 -25
  30. package/chunks/{chunk-PPIHLGNE.js → chunk-B3QY5TAE.js} +1 -1
  31. package/chunks/{chunk-M7WBGLYP.js → chunk-BULDBTYC.js} +2 -0
  32. package/chunks/{chunk-JYS55H6Z.js → chunk-CBOQ3HY7.js} +400 -3
  33. package/chunks/{chunk-6PRNSLMB.js → chunk-CNXESX7W.js} +16 -17
  34. package/chunks/{chunk-S3YQCNJE.js → chunk-DZDM2LCO.js} +1 -1
  35. package/chunks/{chunk-JKFHJK5U.js → chunk-ENTIQ7PN.js} +4 -4
  36. package/chunks/{chunk-7SWFAKVH.js → chunk-ERCSSQY3.js} +10 -10
  37. package/chunks/{chunk-3LH5Q2AR.js → chunk-EXVVHNPJ.js} +4 -4
  38. package/chunks/{chunk-JTUAAVUT.js → chunk-FFDPKCID.js} +2 -2
  39. package/chunks/{chunk-CHXKGIMK.js → chunk-FLLYXUZE.js} +1 -1
  40. package/chunks/{chunk-X7XWGRDT.js → chunk-GCEE2HJ5.js} +3 -3
  41. package/chunks/{chunk-7LH6CHKG.js → chunk-GHERLCN5.js} +1 -1
  42. package/chunks/{chunk-QD6BRERJ.js → chunk-GHRSKGHF.js} +1 -1
  43. package/chunks/{chunk-5G2SK2OO.js → chunk-IGAR75ZK.js} +192 -105
  44. package/chunks/{chunk-AZD6KAV7.js → chunk-ISOHMBTV.js} +3 -3
  45. package/chunks/{chunk-JO7FGOSY.js → chunk-JIK3TDIA.js} +3 -3
  46. package/chunks/{chunk-EWXXMRMP.js → chunk-JJEBXTZW.js} +2 -2
  47. package/chunks/{chunk-QUHJRRUA.js → chunk-KCJDKAVN.js} +29 -18
  48. package/chunks/{chunk-G6LRTI62.js → chunk-KXFNYTHD.js} +4 -4
  49. package/chunks/{chunk-OUDZVU7H.js → chunk-LCKGROQ7.js} +7 -5
  50. package/chunks/{chunk-JJEFX6U5.js → chunk-LESHKUWF.js} +2 -4
  51. package/chunks/{chunk-WCFTQD7H.js → chunk-LX4HOTPK.js} +1 -1
  52. package/chunks/{chunk-6NHK6HS7.js → chunk-MDZTPSXO.js} +1 -1
  53. package/chunks/{chunk-MTSYH4MB.js → chunk-MQCQ2RPF.js} +2 -2
  54. package/chunks/{chunk-R3BCL5XW.js → chunk-NOXG3VV4.js} +3 -3
  55. package/chunks/{chunk-QSJ6JIF5.js → chunk-OBGWF32G.js} +3 -3
  56. package/chunks/{chunk-BZAEENUV.js → chunk-PCW6IHMC.js} +2 -2
  57. package/chunks/{chunk-KDPIV6WC.js → chunk-PFSXIGJ4.js} +1 -1
  58. package/chunks/{chunk-766HLFAG.js → chunk-QOXNPPAQ.js} +3 -3
  59. package/chunks/{chunk-GEB2CGUV.js → chunk-QPYT2PMU.js} +1368 -984
  60. package/chunks/{chunk-IS2SBY6T.js → chunk-RCUEYZDE.js} +36 -2
  61. package/chunks/{chunk-JIBBZH37.js → chunk-RWAYXN3M.js} +23 -25
  62. package/chunks/{chunk-5EA5NVXS.js → chunk-RXIGY3Z7.js} +1 -1
  63. package/chunks/{chunk-NNFK277W.js → chunk-RXXCWIIT.js} +1 -1
  64. package/chunks/{chunk-SP32MK6J.js → chunk-S5OLFBI4.js} +1 -1
  65. package/chunks/{chunk-LPMBFOWH.js → chunk-SD4BYEST.js} +33 -33
  66. package/chunks/{chunk-DPRMI6NU.js → chunk-SJFV5DCS.js} +1 -1
  67. package/chunks/{chunk-PBED7USE.js → chunk-SJYO564B.js} +1 -1
  68. package/chunks/{chunk-4BRH6FP5.js → chunk-TQOHIH3J.js} +4 -4
  69. package/chunks/{chunk-3SXF4GMQ.js → chunk-TSHDJIHT.js} +1 -1
  70. package/chunks/{chunk-Q2V2ADXF.js → chunk-TZD76DW5.js} +4 -4
  71. package/chunks/{chunk-7NDXG4MB.js → chunk-VMK4GQ7U.js} +7 -7
  72. package/chunks/{chunk-52T5UHAZ.js → chunk-VO6WUB5V.js} +1 -1
  73. package/chunks/{chunk-LYEKAAEH.js → chunk-VV6A6GOJ.js} +3 -3
  74. package/chunks/{chunk-EC2ET5ZZ.js → chunk-WO7ZDMC3.js} +1 -1
  75. package/chunks/{chunk-WML6JOGQ.js → chunk-WUK6EDXF.js} +5 -7
  76. package/chunks/{chunk-JHFVJQRO.js → chunk-XP4OZD4C.js} +1 -1
  77. package/chunks/{chunk-Y2DAH52F.js → chunk-YLBIIEB3.js} +4 -4
  78. package/chunks/{chunk-RYSMKY43.js → chunk-Z4CVMZDO.js} +4 -4
  79. package/chunks/{chunk-D6ZOVZLF.js → chunk-Z4KOWJRT.js} +1 -1
  80. package/chunks/{chunk-D53NR4GO.js → chunk-ZLEQDVBN.js} +66 -52
  81. package/chunks/{computer-use-MV4K6WJM.js → computer-use-XH5KVSRK.js} +10 -11
  82. package/chunks/{config-utils-WYUQ7II4.js → config-utils-FYTBZLCJ.js} +1 -1
  83. package/chunks/{contextCommand-TQD36VNX.js → contextCommand-TLVGNAYE.js} +12 -13
  84. package/chunks/{create-sub-session-JOW4BKMC.js → create-sub-session-EJ6CRFF2.js} +10 -11
  85. package/chunks/{daemon-KLPTQIE4.js → daemon-GJRFILYS.js} +185 -18
  86. package/chunks/{daemon-status-provider-TII4SMCZ.js → daemon-status-provider-KOO2M6UX.js} +18 -19
  87. package/chunks/{earlyInputCapture-2V57RG6H.js → earlyInputCapture-XQBXXREG.js} +10 -11
  88. package/chunks/{edit-TTUH7PWR.js → edit-KYBZLIFH.js} +10 -11
  89. package/chunks/{enter-worktree-D4IVCXYB.js → enter-worktree-4QGJGFEV.js} +10 -11
  90. package/chunks/{enterPlanMode-WRUJTVYN.js → enterPlanMode-JVGORNU6.js} +10 -11
  91. package/chunks/{environment-SEPKXB2C.js → environment-BHBI5AZ6.js} +12 -13
  92. package/chunks/{errors-YSVGBLBU.js → errors-JEUC6I3K.js} +12 -13
  93. package/chunks/{exit-worktree-MZ4JSSP6.js → exit-worktree-CWTHMB5Z.js} +10 -11
  94. package/chunks/{exitPlanMode-HAZLSSOJ.js → exitPlanMode-BBSMHTLY.js} +10 -11
  95. package/chunks/{fast-path-EVBVIE2U.js → fast-path-TKXQ2N7L.js} +3 -3
  96. package/chunks/{fast-path-settings-XB3CPUJT.js → fast-path-settings-DAOVFADC.js} +2 -2
  97. package/chunks/{gemini-APQ76464.js → gemini-TZWFMMSH.js} +53 -54
  98. package/chunks/{geminiContentGenerator-LB4MA2LI.js → geminiContentGenerator-WWGEJKFB.js} +1 -1
  99. package/chunks/{glob-LABYMYKG.js → glob-CUK5IVAR.js} +10 -11
  100. package/chunks/{grep-HKIKJCAS.js → grep-5KK7VUB2.js} +10 -11
  101. package/chunks/{handleAutoUpdate-RWAAL2UM.js → handleAutoUpdate-7VWATKG6.js} +15 -16
  102. package/chunks/{i18n-ZUVDAJIJ.js → i18n-S3SUCYS6.js} +11 -12
  103. package/chunks/{initializer-7YUHIC36.js → initializer-4TGXLN4W.js} +16 -17
  104. package/chunks/{installationInfo-DVEOMWDE.js → installationInfo-HP345PUE.js} +11 -12
  105. package/chunks/{list-WHCZSIR2.js → list-Z4B2PADO.js} +19 -20
  106. package/chunks/{loadedSettingsAdapter-YCWN6AK3.js → loadedSettingsAdapter-HPSBPLTA.js} +16 -17
  107. package/chunks/{managed-npm-update-PG3463CJ.js → managed-npm-update-MIAA4DVB.js} +11 -12
  108. package/chunks/{mcp-VLHDCKAN.js → mcp-SRDAT3US.js} +16 -17
  109. package/chunks/{monitor-GG4F4YM6.js → monitor-WXB5MY4U.js} +10 -11
  110. package/chunks/{nonInteractiveCli-UYXYV4YX.js → nonInteractiveCli-2GFHBH47.js} +46 -47
  111. package/chunks/{notebook-edit-US4VLN6Q.js → notebook-edit-A22GKYUC.js} +10 -11
  112. package/chunks/{openaiContentGenerator-CVEDTMDB.js → openaiContentGenerator-ZQ6CYL4U.js} +7 -8
  113. package/chunks/{pidfile-QQ45OIOY.js → pidfile-PBV63DT4.js} +10 -11
  114. package/chunks/{processUtils-3WMHLQE5.js → processUtils-D3F5NRBV.js} +2 -2
  115. package/chunks/{qwenContentGenerator-Y2GRNYZQ.js → qwenContentGenerator-2N24PNP3.js} +15 -16
  116. package/chunks/{qwenOAuth2-J2X6E5VO.js → qwenOAuth2-YFFJOT4S.js} +7 -8
  117. package/chunks/{read-file-C7Z266CU.js → read-file-PJ6S7IGJ.js} +4 -4
  118. package/chunks/{resumeHistoryUtils-KBQWX77U.js → resumeHistoryUtils-RQUWKOKB.js} +13 -14
  119. package/chunks/{ripGrep-RW26MTQ3.js → ripGrep-I5FH2I7V.js} +10 -11
  120. package/chunks/{run-qwen-serve-MXFMOMEL.js → run-qwen-serve-4VHQN3CF.js} +67 -48
  121. package/chunks/{runtime-APNO3V6D.js → runtime-K4BTMDOK.js} +18 -19
  122. package/chunks/{scheduler-L6FYCGVO.js → scheduler-YLNOB2ZX.js} +10 -11
  123. package/chunks/{sdk-exporters-http-IDGLRBGP.js → sdk-exporters-http-6MCQH335.js} +2 -2
  124. package/chunks/{sdk-impl-5ESZBGJQ.js → sdk-impl-HOLWAXC6.js} +9 -2
  125. package/chunks/{send-message-PYIJ2PZL.js → send-message-KBO6X4ZS.js} +1 -1
  126. package/chunks/{serve-6QBXDVWT.js → serve-CNPQK3RE.js} +16 -17
  127. package/chunks/{server-5TJJEMVQ.js → server-YMIGPXOS.js} +1322 -178
  128. package/chunks/{session-BWEUHKQB.js → session-ZJHIJ6XL.js} +49 -50
  129. package/chunks/{settings-O7IUQNRR.js → settings-IJECFRXI.js} +18 -19
  130. package/chunks/{shell-R5L4NQYY.js → shell-LFSMRD3H.js} +10 -11
  131. package/chunks/{skill-ITEOSNW6.js → skill-HOUMVQOO.js} +4 -4
  132. package/chunks/{spawnChannel-E7NTWSGW.js → spawnChannel-H5V2VAS4.js} +12 -13
  133. package/chunks/{src-FFXGUTNL.js → src-PT66JDFR.js} +45 -33
  134. package/chunks/{standalone-update-JCJOXW4P.js → standalone-update-BELF5IPT.js} +13 -14
  135. package/chunks/{startInteractiveUI-IJSBLZFO.js → startInteractiveUI-POZD5EYR.js} +150 -144
  136. package/chunks/{team-create-OVSZTJZO.js → team-create-IXRXGMLS.js} +10 -11
  137. package/chunks/{team-plan-approval-SLEVDLT5.js → team-plan-approval-4LIT4KTC.js} +10 -11
  138. package/chunks/{theme-manager-V6ZQISHM.js → theme-manager-5POAFV4H.js} +10 -11
  139. package/chunks/{tool-search-KYIF6C6E.js → tool-search-TDETP5WK.js} +4 -4
  140. package/chunks/{total-session-admission-EU77XTL7.js → total-session-admission-E7DO4SAC.js} +14 -15
  141. package/chunks/{tree-sitter-4D7QS7F6.js → tree-sitter-L5BFT64K.js} +1 -1
  142. package/chunks/{tree-sitter-bash-VEJGF5XF.js → tree-sitter-bash-ZKDNQGID.js} +1 -1
  143. package/chunks/{trustedFolders-DDEF3ADH.js → trustedFolders-TYGSOWS6.js} +11 -12
  144. package/chunks/{chunk-5I5BM454.js → undici-3FJYTMOF.js} +24 -399
  145. package/chunks/{chunk-L573Z2QZ.js → undici-PYHBDDPN.js} +1 -5
  146. package/chunks/{update-relaunch-XEZTDP6K.js → update-relaunch-IWFT5NLP.js} +5 -5
  147. package/chunks/{updateCheck-KZ5LZ545.js → updateCheck-5EGA5DYR.js} +13 -14
  148. package/chunks/{useAutoAcceptIndicator-47EZERGQ.js → useAutoAcceptIndicator-SD44HHNK.js} +18 -19
  149. package/chunks/{validateNonInterActiveAuth-J2DM4LWZ.js → validateNonInterActiveAuth-5NAZUFHP.js} +43 -44
  150. package/chunks/{version-PN7WYXHP.js → version-ZSU7UBMZ.js} +1 -1
  151. package/chunks/{web-fetch-WRI5QRFR.js → web-fetch-QGHG72G2.js} +6 -7
  152. package/chunks/{web-search-2HCXNAVX.js → web-search-F6CEDF53.js} +13 -12
  153. package/chunks/{workflow-U5XBPGQZ.js → workflow-DWUUO6GZ.js} +11 -12
  154. package/chunks/{workspace-providers-status-2T54GIJZ.js → workspace-providers-status-XOINT6H3.js} +19 -20
  155. package/chunks/{workspace-registration-store-F3V4KBIW.js → workspace-registration-store-WMR4IVHM.js} +1 -1
  156. package/chunks/{workspace-registry-U6QVZ5BU.js → workspace-registry-E3R2OXHI.js} +14 -15
  157. package/chunks/{workspace-service-734D36QD.js → workspace-service-46DNRBIV.js} +21 -22
  158. package/chunks/{workspace-skills-status-5ABUKOAQ.js → workspace-skills-status-ENBQGA5A.js} +17 -18
  159. package/chunks/{write-file-CIH4I4CS.js → write-file-RVSFV5UL.js} +10 -11
  160. package/cli.js +12 -12
  161. package/package.json +3 -3
  162. package/web-shell/assets/{arc-ByltRugA.js → arc-DIQrcXXh.js} +1 -1
  163. package/web-shell/assets/{architectureDiagram-3BPJPVTR-CCRTto5d.js → architectureDiagram-3BPJPVTR-CbPd-DSw.js} +1 -1
  164. package/web-shell/assets/{blockDiagram-GPEHLZMM-Jfy36u1L.js → blockDiagram-GPEHLZMM-yzBIVhMX.js} +1 -1
  165. package/web-shell/assets/{c4Diagram-AAUBKEIU-4d5FfEZ0.js → c4Diagram-AAUBKEIU-B88Swcsu.js} +1 -1
  166. package/web-shell/assets/channel-BaTMUesZ.js +1 -0
  167. package/web-shell/assets/{chunk-2J33WTMH-BPwxCEro.js → chunk-2J33WTMH-BbOLo6NX.js} +1 -1
  168. package/web-shell/assets/{chunk-4BX2VUAB-jY7ZmJWY.js → chunk-4BX2VUAB-Bg6in0r0.js} +1 -1
  169. package/web-shell/assets/{chunk-55IACEB6-C98HgCsS.js → chunk-55IACEB6-Bv9QRyLI.js} +1 -1
  170. package/web-shell/assets/{chunk-727SXJPM-cDu-ge-q.js → chunk-727SXJPM-CFokiv61.js} +1 -1
  171. package/web-shell/assets/{chunk-AQP2D5EJ-BKdJwxXK.js → chunk-AQP2D5EJ-DS2Oxf6L.js} +1 -1
  172. package/web-shell/assets/{chunk-FMBD7UC4-DnuxqwMu.js → chunk-FMBD7UC4-D2NkHD3B.js} +1 -1
  173. package/web-shell/assets/{chunk-ND2GUHAM-C4fZNPv0.js → chunk-ND2GUHAM-BsT_UC5B.js} +1 -1
  174. package/web-shell/assets/{chunk-QZHKN3VN-Cf4XWOmz.js → chunk-QZHKN3VN-tnJo3zln.js} +1 -1
  175. package/web-shell/assets/classDiagram-4FO5ZUOK-CyBPzWud.js +1 -0
  176. package/web-shell/assets/classDiagram-v2-Q7XG4LA2-CyBPzWud.js +1 -0
  177. package/web-shell/assets/{cose-bilkent-S5V4N54A-C82mFiqj.js → cose-bilkent-S5V4N54A-BTMa6DAZ.js} +1 -1
  178. package/web-shell/assets/{dagre-BM42HDAG-Df8KACER.js → dagre-BM42HDAG-ujGX7Owg.js} +1 -1
  179. package/web-shell/assets/{diagram-2AECGRRQ-EzNs7s_2.js → diagram-2AECGRRQ-fU4-dbPa.js} +1 -1
  180. package/web-shell/assets/{diagram-5GNKFQAL-BRLNvreg.js → diagram-5GNKFQAL-Bdm-TYSA.js} +1 -1
  181. package/web-shell/assets/{diagram-KO2AKTUF-2HLYHRjC.js → diagram-KO2AKTUF-Bkhz85Z9.js} +1 -1
  182. package/web-shell/assets/{diagram-LMA3HP47-DeH0NzSp.js → diagram-LMA3HP47-Bzu3q26p.js} +1 -1
  183. package/web-shell/assets/{diagram-OG6HWLK6-k5Gn47-G.js → diagram-OG6HWLK6-CZrXbG5Q.js} +1 -1
  184. package/web-shell/assets/{erDiagram-TEJ5UH35-gPHFo79f.js → erDiagram-TEJ5UH35-BjozEAYu.js} +1 -1
  185. package/web-shell/assets/{flowDiagram-I6XJVG4X-DYBOiTRW.js → flowDiagram-I6XJVG4X-B3a2I8c-.js} +1 -1
  186. package/web-shell/assets/{ganttDiagram-6RSMTGT7-cxjAuic9.js → ganttDiagram-6RSMTGT7-CIMn9fNm.js} +1 -1
  187. package/web-shell/assets/{gitGraphDiagram-PVQCEYII-3nPqpmCP.js → gitGraphDiagram-PVQCEYII-DlFy9KRx.js} +1 -1
  188. package/web-shell/assets/{index-Cl8d-1bK.js → index-BODUAzQA.js} +1 -1
  189. package/web-shell/assets/index-C54DNMF7.js +1209 -0
  190. package/web-shell/assets/index-lWqBfc78.css +5 -0
  191. package/web-shell/assets/{infoDiagram-5YYISTIA-Dph21pR5.js → infoDiagram-5YYISTIA-BmKjQgCy.js} +1 -1
  192. package/web-shell/assets/{ishikawaDiagram-YF4QCWOH-Cjg1hSaG.js → ishikawaDiagram-YF4QCWOH-BrQEMZz2.js} +1 -1
  193. package/web-shell/assets/{journeyDiagram-JHISSGLW-CR-IzvnU.js → journeyDiagram-JHISSGLW-D-2r7Xrt.js} +1 -1
  194. package/web-shell/assets/{kanban-definition-UN3LZRKU-BYmuybuC.js → kanban-definition-UN3LZRKU-CndsFHCX.js} +1 -1
  195. package/web-shell/assets/{linear-CngEEoy8.js → linear-D-IwNnKx.js} +1 -1
  196. package/web-shell/assets/{mermaid.core-G6fbZRPf.js → mermaid.core-4ll09sri.js} +5 -5
  197. package/web-shell/assets/{mindmap-definition-RKZ34NQL-BtnqnUwJ.js → mindmap-definition-RKZ34NQL-maMRIxjo.js} +1 -1
  198. package/web-shell/assets/{pieDiagram-4H26LBE5-XTq6UHIA.js → pieDiagram-4H26LBE5-aunUDhrJ.js} +1 -1
  199. package/web-shell/assets/{quadrantDiagram-W4KKPZXB-D1J5PrsS.js → quadrantDiagram-W4KKPZXB-D3K0P1NZ.js} +1 -1
  200. package/web-shell/assets/{requirementDiagram-4Y6WPE33-CLcBUy3t.js → requirementDiagram-4Y6WPE33-CX2X9HRc.js} +1 -1
  201. package/web-shell/assets/{sankeyDiagram-5OEKKPKP-iwKV02_6.js → sankeyDiagram-5OEKKPKP-CDroWk7l.js} +1 -1
  202. package/web-shell/assets/{sequenceDiagram-3UESZ5HK-7NFYQcEX.js → sequenceDiagram-3UESZ5HK-DTk-2b16.js} +1 -1
  203. package/web-shell/assets/{stateDiagram-AJRCARHV-Bvm4Wih6.js → stateDiagram-AJRCARHV-Cud64hQr.js} +1 -1
  204. package/web-shell/assets/stateDiagram-v2-BHNVJYJU-g-uUpecT.js +1 -0
  205. package/web-shell/assets/{timeline-definition-PNZ67QCA-B4FZFE9O.js → timeline-definition-PNZ67QCA-DfD5okf_.js} +1 -1
  206. package/web-shell/assets/{vennDiagram-CIIHVFJN-CvMBpmtL.js → vennDiagram-CIIHVFJN-BYl8ay25.js} +1 -1
  207. package/web-shell/assets/{wardley-L42UT6IY-E3ag2327.js → wardley-L42UT6IY-BZFAt10J.js} +1 -1
  208. package/web-shell/assets/{wardleyDiagram-YWT4CUSO-BEXWlgxC.js → wardleyDiagram-YWT4CUSO-BIWn0GA7.js} +1 -1
  209. package/web-shell/assets/{xychartDiagram-2RQKCTM6-CICK05gI.js → xychartDiagram-2RQKCTM6-1_H4xblT.js} +1 -1
  210. package/web-shell/index.html +2 -2
  211. package/web-shell/assets/channel-4N2UIFcG.js +0 -1
  212. package/web-shell/assets/classDiagram-4FO5ZUOK-Q4dYOtsh.js +0 -1
  213. package/web-shell/assets/classDiagram-v2-Q7XG4LA2-Q4dYOtsh.js +0 -1
  214. package/web-shell/assets/index-B7jzUZ_s.css +0 -5
  215. package/web-shell/assets/index-gE8OWwj_.js +0 -1197
  216. package/web-shell/assets/stateDiagram-v2-BHNVJYJU-xXU_zO2Z.js +0 -1
  217. package/chunks/{chunk-D7WXIW7H.js → chunk-H24SOJIQ.js} +3 -3
  218. package/chunks/{chunk-QZJY47IE.js → chunk-PEJWA3QQ.js} +5 -5
  219. package/chunks/{dist-HMU6CYS4.js → dist-XBJVSWS2.js} +1 -1
@@ -15,11 +15,12 @@ import {
15
15
  normalize,
16
16
  normalizeMcpToolName,
17
17
  normalizeToolNameForProvider,
18
+ preloadRuntimeFetchModule,
18
19
  relaxSchemaForFunctionCalling,
19
20
  runtimeDiagnostics,
20
21
  safeJsonParse,
21
22
  setToolCallPreparations
22
- } from "./chunk-JYS55H6Z.js";
23
+ } from "./chunk-CBOQ3HY7.js";
23
24
  import {
24
25
  require_lib
25
26
  } from "./chunk-A4UCTEB5.js";
@@ -56,6 +57,7 @@ import {
56
57
  recordFileOperationMetric,
57
58
  recordMemoryDreamMetrics,
58
59
  recordMemoryExtractMetrics,
60
+ recordMemoryRecallDeliveryMetrics,
59
61
  recordMemoryRecallMetrics,
60
62
  recordModelSlashCommand,
61
63
  recordSubagentExecutionMetrics,
@@ -63,7 +65,7 @@ import {
63
65
  recordToolCallMetrics,
64
66
  startLLMRequestSpan,
65
67
  truncateSpanError
66
- } from "./chunk-IS2SBY6T.js";
68
+ } from "./chunk-RCUEYZDE.js";
67
69
  import {
68
70
  require_src
69
71
  } from "./chunk-HTR4WV6U.js";
@@ -94,6 +96,7 @@ import {
94
96
  EVENT_MEMORY_DREAM,
95
97
  EVENT_MEMORY_EXTRACT,
96
98
  EVENT_MEMORY_RECALL,
99
+ EVENT_MEMORY_RECALL_DELIVERY,
97
100
  EVENT_MODEL_SLASH_COMMAND,
98
101
  EVENT_NEXT_SPEAKER_CHECK,
99
102
  EVENT_PROMPT_SUGGESTION,
@@ -114,7 +117,7 @@ import {
114
117
  SERVICE_NAME,
115
118
  isValidSensitiveSpanAttributeMaxLength,
116
119
  safeJsonStringify
117
- } from "./chunk-M7WBGLYP.js";
120
+ } from "./chunk-BULDBTYC.js";
118
121
  import {
119
122
  SemanticAttributes,
120
123
  init_esm as init_esm2
@@ -10725,6 +10728,75 @@ function getAllMCPServerStatuses() {
10725
10728
  }
10726
10729
  __name(getAllMCPServerStatuses, "getAllMCPServerStatuses");
10727
10730
 
10731
+ // packages/core/src/services/visionBridge/image-part-utils.ts
10732
+ init_esbuild_shims();
10733
+ function normalizeParts(input) {
10734
+ if (typeof input === "string") {
10735
+ return [{ text: input }];
10736
+ }
10737
+ if (Array.isArray(input)) {
10738
+ return input.map(
10739
+ (part) => typeof part === "string" ? { text: part } : part
10740
+ );
10741
+ }
10742
+ return [input];
10743
+ }
10744
+ __name(normalizeParts, "normalizeParts");
10745
+ function isImagePart(part) {
10746
+ const mimeType = part.inlineData?.mimeType;
10747
+ const data = part.inlineData?.data;
10748
+ return typeof mimeType === "string" && mimeType.startsWith("image/") && typeof data === "string" && data.length > 0;
10749
+ }
10750
+ __name(isImagePart, "isImagePart");
10751
+ function hasImageParts(input) {
10752
+ return normalizeParts(input).some(isImagePart);
10753
+ }
10754
+ __name(hasImageParts, "hasImageParts");
10755
+ function splitImageParts(input) {
10756
+ const imageParts = [];
10757
+ const nonImageParts = [];
10758
+ for (const part of normalizeParts(input)) {
10759
+ if (isImagePart(part)) {
10760
+ imageParts.push(part);
10761
+ } else {
10762
+ nonImageParts.push(part);
10763
+ }
10764
+ }
10765
+ return { imageParts, nonImageParts };
10766
+ }
10767
+ __name(splitImageParts, "splitImageParts");
10768
+ function replaceImagesWithText(input, text) {
10769
+ const result = [];
10770
+ let replaced = false;
10771
+ for (const part of normalizeParts(input)) {
10772
+ if (isImagePart(part)) {
10773
+ if (!replaced) {
10774
+ result.push({ text });
10775
+ replaced = true;
10776
+ }
10777
+ continue;
10778
+ }
10779
+ result.push(part);
10780
+ }
10781
+ if (!replaced) {
10782
+ result.push({ text });
10783
+ }
10784
+ return result;
10785
+ }
10786
+ __name(replaceImagesWithText, "replaceImagesWithText");
10787
+ function isUsableImagePart(part) {
10788
+ const data = part.inlineData?.data;
10789
+ if (typeof data !== "string" || data.length === 0) {
10790
+ return false;
10791
+ }
10792
+ return data.length <= VISION_BRIDGE_MAX_IMAGE_BASE64_BYTES;
10793
+ }
10794
+ __name(isUsableImagePart, "isUsableImagePart");
10795
+ function collectText(parts) {
10796
+ return parts.map((part) => typeof part.text === "string" ? part.text : "").filter((text) => text.length > 0).join("\n").trim();
10797
+ }
10798
+ __name(collectText, "collectText");
10799
+
10728
10800
  // packages/core/src/tools/mcp-tool.ts
10729
10801
  var debugLogger4 = createDebugLogger("MCP_TOOL");
10730
10802
  var MCP_CONNECTION_ERROR_PATTERNS = [
@@ -10938,18 +11010,11 @@ var DiscoveredMCPToolInvocation = class _DiscoveredMCPToolInvocation extends Bas
10938
11010
  callToolResult
10939
11011
  );
10940
11012
  if (this.isMCPToolError(rawResponseParts)) {
10941
- const errorMessage2 = `MCP tool '${this.serverToolName}' reported tool error for function call: ${safeJsonStringify({
11013
+ const errorResult = await this.buildMcpToolError(rawResponseParts, {
10942
11014
  name: this.serverToolName,
10943
11015
  args: this.params
10944
- })} with response: ${safeJsonStringify(rawResponseParts)}`;
10945
- return {
10946
- llmContent: errorMessage2,
10947
- returnDisplay: `Error: MCP tool '${this.serverToolName}' reported an error.`,
10948
- error: {
10949
- message: errorMessage2,
10950
- type: "mcp_tool_error" /* MCP_TOOL_ERROR */
10951
- }
10952
- };
11016
+ });
11017
+ return errorResult;
10953
11018
  }
10954
11019
  const transformedParts = transformMcpContentToParts(rawResponseParts);
10955
11020
  const truncated = await this.truncateTextParts(transformedParts);
@@ -11007,17 +11072,11 @@ var DiscoveredMCPToolInvocation = class _DiscoveredMCPToolInvocation extends Bas
11007
11072
  });
11008
11073
  });
11009
11074
  if (this.isMCPToolError(rawResponseParts)) {
11010
- const errorMessage2 = `MCP tool '${this.serverToolName}' reported tool error for function call: ${safeJsonStringify(
11075
+ const errorResult = await this.buildMcpToolError(
11076
+ rawResponseParts,
11011
11077
  functionCalls[0]
11012
- )} with response: ${safeJsonStringify(rawResponseParts)}`;
11013
- return {
11014
- llmContent: errorMessage2,
11015
- returnDisplay: `Error: MCP tool '${this.serverToolName}' reported an error.`,
11016
- error: {
11017
- message: errorMessage2,
11018
- type: "mcp_tool_error" /* MCP_TOOL_ERROR */
11019
- }
11020
- };
11078
+ );
11079
+ return errorResult;
11021
11080
  }
11022
11081
  const transformedParts = transformMcpContentToParts(rawResponseParts);
11023
11082
  const truncated = await this.truncateTextParts(transformedParts);
@@ -11033,6 +11092,34 @@ var DiscoveredMCPToolInvocation = class _DiscoveredMCPToolInvocation extends Bas
11033
11092
  return this.handleReconnectOnError(error, signal);
11034
11093
  }
11035
11094
  }
11095
+ async buildMcpToolError(rawResponseParts, functionCall) {
11096
+ const imageContent = getMcpErrorImageContent(rawResponseParts);
11097
+ let llmContent;
11098
+ let errorMessage2;
11099
+ let persistedOutputFiles;
11100
+ if (imageContent) {
11101
+ const truncatedContent = await this.truncateTextParts(imageContent);
11102
+ llmContent = truncatedContent.parts;
11103
+ persistedOutputFiles = truncatedContent.persistedOutputFiles;
11104
+ errorMessage2 = `MCP tool '${this.serverToolName}' reported tool error for function call: ${safeJsonStringify(
11105
+ functionCall
11106
+ )} with response: ${getDisplayFromParts(truncatedContent.parts)}`;
11107
+ } else {
11108
+ errorMessage2 = `MCP tool '${this.serverToolName}' reported tool error for function call: ${safeJsonStringify(
11109
+ functionCall
11110
+ )} with response: ${safeJsonStringify(rawResponseParts)}`;
11111
+ llmContent = errorMessage2;
11112
+ }
11113
+ return {
11114
+ llmContent,
11115
+ returnDisplay: `Error: MCP tool '${this.serverToolName}' reported an error.`,
11116
+ error: {
11117
+ message: errorMessage2,
11118
+ type: "mcp_tool_error" /* MCP_TOOL_ERROR */
11119
+ },
11120
+ ...persistedOutputFiles !== void 0 ? { persistedOutputFiles } : {}
11121
+ };
11122
+ }
11036
11123
  /**
11037
11124
  * Truncates text parts in the transformed result if they exceed the
11038
11125
  * configured threshold. Non-text parts (images, audio, etc.) are preserved.
@@ -11283,6 +11370,11 @@ function transformMcpContentToParts(sdkResponse) {
11283
11370
  return transformed.filter((part) => part !== null);
11284
11371
  }
11285
11372
  __name(transformMcpContentToParts, "transformMcpContentToParts");
11373
+ function getMcpErrorImageContent(rawResponseParts) {
11374
+ const transformedParts = transformMcpContentToParts(rawResponseParts);
11375
+ return transformedParts.some(isImagePart) ? transformedParts : void 0;
11376
+ }
11377
+ __name(getMcpErrorImageContent, "getMcpErrorImageContent");
11286
11378
  function getDisplayFromParts(parts) {
11287
11379
  if (parts.length === 0) {
11288
11380
  return "";
@@ -12412,6 +12504,29 @@ var MemoryRecallEvent = class {
12412
12504
  this.duration_ms = params.duration_ms;
12413
12505
  }
12414
12506
  };
12507
+ var MemoryRecallDeliveryEvent = class {
12508
+ static {
12509
+ __name(this, "MemoryRecallDeliveryEvent");
12510
+ }
12511
+ "event.name";
12512
+ "event.timestamp";
12513
+ phase;
12514
+ delivery_point;
12515
+ discard_reason;
12516
+ strategy;
12517
+ docs_selected;
12518
+ latency_ms;
12519
+ constructor(params) {
12520
+ this["event.name"] = "qwen-code.memory.recall.delivery";
12521
+ this["event.timestamp"] = (/* @__PURE__ */ new Date()).toISOString();
12522
+ this.phase = params.phase;
12523
+ this.delivery_point = params.delivery_point;
12524
+ this.discard_reason = params.discard_reason;
12525
+ this.strategy = params.strategy;
12526
+ this.docs_selected = params.docs_selected;
12527
+ this.latency_ms = params.latency_ms;
12528
+ }
12529
+ };
12415
12530
 
12416
12531
  // packages/core/src/utils/subagentNameContext.ts
12417
12532
  init_esbuild_shims();
@@ -16714,14 +16829,15 @@ async function createContentGenerator(generatorConfig, config, isInitialAuth) {
16714
16829
  if (!authType) {
16715
16830
  throw new Error("ContentGeneratorConfig must have an authType");
16716
16831
  }
16832
+ await preloadRuntimeFetchModule();
16717
16833
  let baseGenerator;
16718
16834
  try {
16719
16835
  if (authType === "openai" /* USE_OPENAI */) {
16720
- const { createOpenAIContentGenerator } = await import("./openaiContentGenerator-CVEDTMDB.js");
16836
+ const { createOpenAIContentGenerator } = await import("./openaiContentGenerator-ZQ6CYL4U.js");
16721
16837
  baseGenerator = createOpenAIContentGenerator(generatorConfig, config);
16722
16838
  } else if (authType === "qwen-oauth" /* QWEN_OAUTH */) {
16723
- const { getQwenOAuthClient: getQwenOauthClient } = await import("./qwenOAuth2-J2X6E5VO.js");
16724
- const { QwenContentGenerator } = await import("./qwenContentGenerator-Y2GRNYZQ.js");
16839
+ const { getQwenOAuthClient: getQwenOauthClient } = await import("./qwenOAuth2-YFFJOT4S.js");
16840
+ const { QwenContentGenerator } = await import("./qwenContentGenerator-2N24PNP3.js");
16725
16841
  try {
16726
16842
  const qwenClient = await getQwenOauthClient(
16727
16843
  config,
@@ -16739,10 +16855,10 @@ async function createContentGenerator(generatorConfig, config, isInitialAuth) {
16739
16855
  throw new Error(error instanceof Error ? error.message : String(error));
16740
16856
  }
16741
16857
  } else if (authType === "anthropic" /* USE_ANTHROPIC */) {
16742
- const { createAnthropicContentGenerator } = await import("./anthropicContentGenerator-NMSS7IMV.js");
16858
+ const { createAnthropicContentGenerator } = await import("./anthropicContentGenerator-HGWAHO24.js");
16743
16859
  baseGenerator = createAnthropicContentGenerator(generatorConfig, config);
16744
16860
  } else if (authType === "gemini" /* USE_GEMINI */ || authType === "vertex-ai" /* USE_VERTEX_AI */) {
16745
- const { createGeminiContentGenerator } = await import("./geminiContentGenerator-LB4MA2LI.js");
16861
+ const { createGeminiContentGenerator } = await import("./geminiContentGenerator-WWGEJKFB.js");
16746
16862
  baseGenerator = createGeminiContentGenerator(generatorConfig, config);
16747
16863
  } else {
16748
16864
  throw new Error(
@@ -19228,6 +19344,34 @@ function logMemoryRecall(config, event) {
19228
19344
  });
19229
19345
  }
19230
19346
  __name(logMemoryRecall, "logMemoryRecall");
19347
+ function logMemoryRecallDelivery(config, event) {
19348
+ if (!isTelemetrySdkInitialized()) return;
19349
+ const attributes = {
19350
+ ...getCommonAttributes(config),
19351
+ "event.name": EVENT_MEMORY_RECALL_DELIVERY,
19352
+ "event.timestamp": event["event.timestamp"],
19353
+ phase: event.phase,
19354
+ delivery_point: event.delivery_point,
19355
+ strategy: event.strategy,
19356
+ docs_selected: event.docs_selected,
19357
+ latency_ms: event.latency_ms
19358
+ };
19359
+ if (event.discard_reason) {
19360
+ attributes["discard_reason"] = event.discard_reason;
19361
+ }
19362
+ const logger = import_api_logs2.logs.getLogger(SERVICE_NAME);
19363
+ logger.emit({
19364
+ body: `Memory recall delivery: phase=${event.phase}. delivery_point=${event.delivery_point}. Selected ${event.docs_selected} doc(s).`,
19365
+ attributes
19366
+ });
19367
+ recordMemoryRecallDeliveryMetrics(config, event.latency_ms, {
19368
+ phase: event.phase,
19369
+ delivery_point: event.delivery_point,
19370
+ ...event.discard_reason ? { discard_reason: event.discard_reason } : {},
19371
+ strategy: event.strategy
19372
+ });
19373
+ }
19374
+ __name(logMemoryRecallDelivery, "logMemoryRecallDelivery");
19231
19375
 
19232
19376
  // packages/core/src/memory/memoryAge.ts
19233
19377
  init_esbuild_shims();
@@ -19454,77 +19598,9 @@ async function runSideQuery(config, options) {
19454
19598
  }
19455
19599
  __name(runSideQuery, "runSideQuery");
19456
19600
 
19457
- // packages/core/src/services/visionBridge/image-part-utils.ts
19458
- init_esbuild_shims();
19459
- function normalizeParts(input) {
19460
- if (typeof input === "string") {
19461
- return [{ text: input }];
19462
- }
19463
- if (Array.isArray(input)) {
19464
- return input.map(
19465
- (part) => typeof part === "string" ? { text: part } : part
19466
- );
19467
- }
19468
- return [input];
19469
- }
19470
- __name(normalizeParts, "normalizeParts");
19471
- function isImagePart(part) {
19472
- const mimeType = part.inlineData?.mimeType;
19473
- const data = part.inlineData?.data;
19474
- return typeof mimeType === "string" && mimeType.startsWith("image/") && typeof data === "string" && data.length > 0;
19475
- }
19476
- __name(isImagePart, "isImagePart");
19477
- function hasImageParts(input) {
19478
- return normalizeParts(input).some(isImagePart);
19479
- }
19480
- __name(hasImageParts, "hasImageParts");
19481
- function splitImageParts(input) {
19482
- const imageParts = [];
19483
- const nonImageParts = [];
19484
- for (const part of normalizeParts(input)) {
19485
- if (isImagePart(part)) {
19486
- imageParts.push(part);
19487
- } else {
19488
- nonImageParts.push(part);
19489
- }
19490
- }
19491
- return { imageParts, nonImageParts };
19492
- }
19493
- __name(splitImageParts, "splitImageParts");
19494
- function replaceImagesWithText(input, text) {
19495
- const result = [];
19496
- let replaced = false;
19497
- for (const part of normalizeParts(input)) {
19498
- if (isImagePart(part)) {
19499
- if (!replaced) {
19500
- result.push({ text });
19501
- replaced = true;
19502
- }
19503
- continue;
19504
- }
19505
- result.push(part);
19506
- }
19507
- if (!replaced) {
19508
- result.push({ text });
19509
- }
19510
- return result;
19511
- }
19512
- __name(replaceImagesWithText, "replaceImagesWithText");
19513
- function isUsableImagePart(part) {
19514
- const data = part.inlineData?.data;
19515
- if (typeof data !== "string" || data.length === 0) {
19516
- return false;
19517
- }
19518
- return data.length <= VISION_BRIDGE_MAX_IMAGE_BASE64_BYTES;
19519
- }
19520
- __name(isUsableImagePart, "isUsableImagePart");
19521
- function collectText(parts) {
19522
- return parts.map((part) => typeof part.text === "string" ? part.text : "").filter((text) => text.length > 0).join("\n").trim();
19523
- }
19524
- __name(collectText, "collectText");
19525
-
19526
19601
  // packages/core/src/services/visionBridge/vision-bridge-service.ts
19527
19602
  var debugLogger11 = createDebugLogger("VISION_BRIDGE");
19603
+ var turnImageCounts = /* @__PURE__ */ new WeakMap();
19528
19604
  var BRIDGE_MAX_OUTPUT_TOKENS = 2048;
19529
19605
  var VISION_BRIDGE_TIMEOUT_MS = 3e4;
19530
19606
  var VISION_BRIDGE_MAX_ATTEMPTS = 2;
@@ -19681,8 +19757,10 @@ function formatFullTurnVisionNotice(selection) {
19681
19757
  return `Routing this image turn to ${target}; retries and tool continuations will stay on that model until the turn ends.`;
19682
19758
  }
19683
19759
  __name(formatFullTurnVisionNotice, "formatFullTurnVisionNotice");
19684
- function buildIntentPart(intentText, sourceContext) {
19685
- const sourceHint = sourceContext ? `The images are consecutive pages ${sourceContext.renderedRange.firstPage}-${sourceContext.renderedRange.lastPage} from PDF ${JSON.stringify(sourceContext.displayName)}. Transcribe each page separately and label each section with its original PDF page number.` : "";
19760
+ function buildIntentPart(intentText, sourceContext, imageParts = []) {
19761
+ const sourceHint = sourceContext ? `The images are consecutive pages ${sourceContext.renderedRange.firstPage}-${sourceContext.renderedRange.lastPage} from PDF ${JSON.stringify(sourceContext.displayName)}. Transcribe each page separately and label each section with its original PDF page number.` : imageParts.length > 0 ? `Describe each image separately under these ordered labels: ${imageParts.map(
19762
+ (part, index) => `${index + 1}. ${JSON.stringify(part.inlineData?.displayName?.trim() || `image ${index + 1}`)}`
19763
+ ).join("; ")}.` : "";
19686
19764
  const focusHint = intentText.length > 0 ? `Focus hint \u2014 do NOT answer this, use it only to decide which details to transcribe thoroughly: ${intentText}` : "Describe the image(s) and transcribe any visible text, code, and errors.";
19687
19765
  return sourceHint ? `${sourceHint}
19688
19766
  ${focusHint}` : focusHint;
@@ -19730,7 +19808,7 @@ function failure(reason, parts, omittedCount, extra = {}) {
19730
19808
  }
19731
19809
  __name(failure, "failure");
19732
19810
  async function runVisionBridge(params) {
19733
- const { config, parts, signal, sourceContext } = params;
19811
+ const { config, parts, signal, sourceContext, intentText } = params;
19734
19812
  const { imageParts, nonImageParts } = splitImageParts(parts);
19735
19813
  if (imageParts.length === 0) {
19736
19814
  return {
@@ -19741,9 +19819,14 @@ async function runVisionBridge(params) {
19741
19819
  };
19742
19820
  }
19743
19821
  const validImages = imageParts.filter(isUsableImagePart);
19744
- const toConvert = validImages.slice(0, VISION_BRIDGE_MAX_IMAGES);
19822
+ const usedImages = turnImageCounts.get(signal) ?? 0;
19823
+ const remainingImages = Math.max(0, VISION_BRIDGE_MAX_IMAGES - usedImages);
19824
+ const toConvert = validImages.slice(0, remainingImages);
19745
19825
  const omittedCount = imageParts.length - toConvert.length;
19746
- const intent = collectText(nonImageParts).slice(0, BRIDGE_INTENT_MAX_CHARS);
19826
+ const intent = (intentText ?? collectText(nonImageParts)).slice(
19827
+ 0,
19828
+ BRIDGE_INTENT_MAX_CHARS
19829
+ );
19747
19830
  const resolvedSourceContext = sourceContext ?? inferPdfSourceContext(toConvert);
19748
19831
  const selection = config.getDefaultVisionBridgeModel?.();
19749
19832
  const modelId = selection?.id;
@@ -19765,13 +19848,14 @@ async function runVisionBridge(params) {
19765
19848
  { modelId, ...modelEndpoint && { modelEndpoint } }
19766
19849
  );
19767
19850
  }
19851
+ turnImageCounts.set(signal, usedImages + toConvert.length);
19768
19852
  const timeoutMs = config.getVisionBridgeTimeoutMs?.() ?? VISION_BRIDGE_TIMEOUT_MS;
19769
19853
  const requestContents = [
19770
19854
  {
19771
19855
  role: "user",
19772
19856
  parts: [
19773
19857
  ...toConvert,
19774
- { text: buildIntentPart(intent, resolvedSourceContext) }
19858
+ { text: buildIntentPart(intent, resolvedSourceContext, toConvert) }
19775
19859
  ]
19776
19860
  }
19777
19861
  ];
@@ -19954,7 +20038,7 @@ var ReadFileToolInvocation = class extends BaseToolInvocation {
19954
20038
  }
19955
20039
  debugLogger12.debug("miss", { path: absPath, state: status.state });
19956
20040
  }
19957
- const preparePdfForVisionBridge = shouldRunVisionBridge(this.config);
20041
+ const prepareForVisionBridge = shouldRunVisionBridge(this.config);
19958
20042
  let result = await processSingleFileContent(
19959
20043
  this.params.file_path,
19960
20044
  this.config,
@@ -19962,7 +20046,8 @@ var ReadFileToolInvocation = class extends BaseToolInvocation {
19962
20046
  offset: this.params.offset,
19963
20047
  limit: this.params.limit,
19964
20048
  pages: this.params.pages,
19965
- preparePdfForVisionBridge,
20049
+ preserveUnsupportedImage: prepareForVisionBridge,
20050
+ preparePdfForVisionBridge: prepareForVisionBridge,
19966
20051
  signal
19967
20052
  }
19968
20053
  );
@@ -20425,6 +20510,7 @@ export {
20425
20510
  logMemoryExtract,
20426
20511
  logMemoryDream,
20427
20512
  logMemoryRecall,
20513
+ logMemoryRecallDelivery,
20428
20514
  memoryAge,
20429
20515
  memoryFreshnessText,
20430
20516
  ReadFileTool,
@@ -20494,6 +20580,7 @@ export {
20494
20580
  MemoryExtractEvent,
20495
20581
  MemoryDreamEvent,
20496
20582
  MemoryRecallEvent,
20583
+ MemoryRecallDeliveryEvent,
20497
20584
  createOpenAIReasoningThoughtPart,
20498
20585
  isOpenAIReasoningThoughtPart,
20499
20586
  parseThought,
@@ -5,17 +5,17 @@ import {
5
5
  } from "./chunk-2W3OOD4W.js";
6
6
  import {
7
7
  STATUS_SCHEMA_VERSION
8
- } from "./chunk-BWQRDISK.js";
8
+ } from "./chunk-2M6SP3YW.js";
9
9
  import {
10
10
  loadSettings
11
- } from "./chunk-7SWFAKVH.js";
11
+ } from "./chunk-ERCSSQY3.js";
12
12
  import {
13
13
  writeStderrLine
14
14
  } from "./chunk-OWAK7LMW.js";
15
15
  import {
16
16
  SkillManager,
17
17
  isSafeModeEnv
18
- } from "./chunk-GEB2CGUV.js";
18
+ } from "./chunk-QPYT2PMU.js";
19
19
  import {
20
20
  init_esbuild_shims
21
21
  } from "./chunk-5O2XNYP6.js";
@@ -2,15 +2,15 @@
2
2
  "use strict";
3
3
  import {
4
4
  appEvents
5
- } from "./chunk-D53NR4GO.js";
5
+ } from "./chunk-ZLEQDVBN.js";
6
6
  import {
7
7
  assembleMcpServers,
8
8
  getPendingGatedMcpServers,
9
9
  getPromptableMcpServers
10
- } from "./chunk-Y2DAH52F.js";
10
+ } from "./chunk-YLBIIEB3.js";
11
11
  import {
12
12
  getMCPServerStatus
13
- } from "./chunk-5G2SK2OO.js";
13
+ } from "./chunk-IGAR75ZK.js";
14
14
  import {
15
15
  require_fast_deep_equal
16
16
  } from "./chunk-YM3SZTH4.js";
@@ -2,10 +2,10 @@
2
2
  "use strict";
3
3
  import {
4
4
  delay
5
- } from "./chunk-PPIHLGNE.js";
5
+ } from "./chunk-B3QY5TAE.js";
6
6
  import {
7
7
  isTlsVerificationDisabled
8
- } from "./chunk-5I5BM454.js";
8
+ } from "./chunk-CBOQ3HY7.js";
9
9
  import {
10
10
  getErrorMessage
11
11
  } from "./chunk-OQB4EXO4.js";
@@ -1,18 +1,18 @@
1
1
  // Force strict mode and setup for ESM
2
2
  "use strict";
3
+ import {
4
+ JsonOutputAdapter
5
+ } from "./chunk-GHERLCN5.js";
3
6
  import {
4
7
  settleChatRecording,
5
8
  subscribeToHeadlessChatRecordingFailures
6
- } from "./chunk-SP32MK6J.js";
7
- import {
8
- handleAtCommand
9
- } from "./chunk-X7XWGRDT.js";
10
- import {
11
- JsonOutputAdapter
12
- } from "./chunk-7LH6CHKG.js";
9
+ } from "./chunk-S5OLFBI4.js";
13
10
  import {
14
11
  StreamJsonOutputAdapter
15
- } from "./chunk-Q3GGJDYN.js";
12
+ } from "./chunk-5VLWDXVW.js";
13
+ import {
14
+ handleAtCommand
15
+ } from "./chunk-GCEE2HJ5.js";
16
16
  import {
17
17
  buildInitialSystemReminders,
18
18
  buildSystemMessage,
@@ -24,11 +24,11 @@ import {
24
24
  insertAfterFunctionResponses,
25
25
  isSlashCommand,
26
26
  normalizePartList
27
- } from "./chunk-LPMBFOWH.js";
27
+ } from "./chunk-SD4BYEST.js";
28
28
  import {
29
29
  RunBudgetEnforcer,
30
30
  cleanupReviewWorktreeLeases
31
- } from "./chunk-D53NR4GO.js";
31
+ } from "./chunk-ZLEQDVBN.js";
32
32
  import {
33
33
  AlreadyReportedError,
34
34
  handleBudgetExceededError,
@@ -36,10 +36,10 @@ import {
36
36
  handleError,
37
37
  handleMaxTurnsExceededError,
38
38
  handleToolError
39
- } from "./chunk-MTSYH4MB.js";
39
+ } from "./chunk-MQCQ2RPF.js";
40
40
  import {
41
41
  isInlineModelOverrideAllowed
42
- } from "./chunk-TPR35HHZ.js";
42
+ } from "./chunk-AIAHTIQX.js";
43
43
  import {
44
44
  PLAN_MODE_ENTRY_SIBLING_SKIP_MESSAGE,
45
45
  buildSessionRecoveryPlanFromApiHistory,
@@ -57,7 +57,7 @@ import {
57
57
  partitionByConcurrencySafety,
58
58
  promptIdContext,
59
59
  restoreWorktreeContext
60
- } from "./chunk-GEB2CGUV.js";
60
+ } from "./chunk-QPYT2PMU.js";
61
61
  import {
62
62
  parsePositiveIntegerEnv
63
63
  } from "./chunk-6PVPNMXU.js";
@@ -66,11 +66,11 @@ import {
66
66
  } from "./chunk-WHGVTP7Q.js";
67
67
  import {
68
68
  uiTelemetryService
69
- } from "./chunk-5G2SK2OO.js";
69
+ } from "./chunk-IGAR75ZK.js";
70
70
  import {
71
71
  isTelemetrySdkInitialized,
72
72
  shutdownTelemetry
73
- } from "./chunk-IS2SBY6T.js";
73
+ } from "./chunk-RCUEYZDE.js";
74
74
  import {
75
75
  ToolNames
76
76
  } from "./chunk-YM3SZTH4.js";
@@ -80,7 +80,7 @@ import {
80
80
  } from "./chunk-OQB4EXO4.js";
81
81
  import {
82
82
  registerCleanup
83
- } from "./chunk-D6ZOVZLF.js";
83
+ } from "./chunk-Z4KOWJRT.js";
84
84
  import {
85
85
  init_esbuild_shims
86
86
  } from "./chunk-5O2XNYP6.js";
@@ -742,6 +742,10 @@ ${text}
742
742
  abortController.signal,
743
743
  {
744
744
  recordToolResult: false,
745
+ onToolResultFullTurnModel: /* @__PURE__ */ __name((model) => {
746
+ if (inlineModelOverrideActive) return false;
747
+ return setModelOverride(model);
748
+ }, "onToolResultFullTurnModel"),
745
749
  outputUpdateHandler,
746
750
  onAllToolCallsComplete: /* @__PURE__ */ __name(async (completedCalls) => {
747
751
  for (const call of completedCalls) {
@@ -1041,9 +1045,12 @@ ${text}
1041
1045
  responseParts: toolResponseParts,
1042
1046
  repeatedDuplicateProviderToolCall
1043
1047
  } = await processToolCallBatch(toolCallRequests, (override) => {
1044
- if (!inlineModelOverrideActive) {
1045
- modelOverride = override;
1048
+ if (inlineModelOverrideActive) return false;
1049
+ if (modelOverride?.endsWith("\0") && modelOverride !== override) {
1050
+ return false;
1046
1051
  }
1052
+ modelOverride = override;
1053
+ return true;
1047
1054
  });
1048
1055
  if (structuredSubmission !== void 0) {
1049
1056
  return emitStructuredSuccess();
@@ -1188,7 +1195,11 @@ ${text}
1188
1195
  } = await processToolCallBatch(
1189
1196
  itemToolCallRequests,
1190
1197
  (override) => {
1198
+ if (itemModelOverride?.endsWith("\0") && itemModelOverride !== override) {
1199
+ return false;
1200
+ }
1191
1201
  itemModelOverride = override;
1202
+ return true;
1192
1203
  }
1193
1204
  );
1194
1205
  if (structuredSubmission !== void 0) {
@@ -5,14 +5,14 @@ import {
5
5
  } from "./chunk-57OAHC2Y.js";
6
6
  import {
7
7
  loadSettings
8
- } from "./chunk-7SWFAKVH.js";
8
+ } from "./chunk-ERCSSQY3.js";
9
9
  import {
10
10
  getCurrentLanguage,
11
11
  t
12
- } from "./chunk-WCFTQD7H.js";
12
+ } from "./chunk-LX4HOTPK.js";
13
13
  import {
14
14
  isWorkspaceTrusted
15
- } from "./chunk-S3YQCNJE.js";
15
+ } from "./chunk-DZDM2LCO.js";
16
16
  import {
17
17
  writeStdoutLine
18
18
  } from "./chunk-OWAK7LMW.js";
@@ -22,7 +22,7 @@ import {
22
22
  getExtensionDisplayName,
23
23
  redactUrlCredentials,
24
24
  require_prompts
25
- } from "./chunk-GEB2CGUV.js";
25
+ } from "./chunk-QPYT2PMU.js";
26
26
  import {
27
27
  stripAnsi
28
28
  } from "./chunk-T4TZQJ7W.js";