@qwen-code/qwen-code 0.20.2-gdpval-vl-agent.1 → 0.20.2-headless-image-routing.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 (201) hide show
  1. package/bundled/qc-helper/docs/integration-github-action.md +9 -9
  2. package/chunks/{MaxSizedBox-KTQTAQLY.js → MaxSizedBox-CPK6I4JU.js} +8 -8
  3. package/chunks/{StandaloneSessionPicker-MX77WE6P.js → StandaloneSessionPicker-PUIA43XY.js} +21 -21
  4. package/chunks/{acpAgent-4LAA3C23.js → acpAgent-ROZXDEW6.js} +52 -94
  5. package/chunks/{agent-7S6L2ZTP.js → agent-WAVPSQSS.js} +8 -8
  6. package/chunks/{agent-headless-Z77VXU7T.js → agent-headless-74QWTN6L.js} +8 -8
  7. package/chunks/{bridge-7GIIJDVI.js → bridge-A3IPRSLU.js} +11 -11
  8. package/chunks/{chunk-NP3LWSMY.js → chunk-2DGZGT4I.js} +3 -3
  9. package/chunks/{chunk-VJWCOFQE.js → chunk-2OYJGGJP.js} +4 -4
  10. package/chunks/{chunk-BUDGDA3Z.js → chunk-2QEYXQY4.js} +3 -3
  11. package/chunks/{chunk-7AIG3XYN.js → chunk-3YIV2VCL.js} +1 -1
  12. package/chunks/{chunk-RK2NXROZ.js → chunk-5KDE7KYN.js} +1 -1
  13. package/chunks/{chunk-5HRKKCRS.js → chunk-6IC65F7C.js} +4 -4
  14. package/chunks/{chunk-LZ6HYPSI.js → chunk-6YYPJBKS.js} +1 -1
  15. package/chunks/{chunk-RCUEYZDE.js → chunk-7362QS5B.js} +2 -36
  16. package/chunks/{chunk-QLE4UECH.js → chunk-7LGIFLJS.js} +1002 -1347
  17. package/chunks/{chunk-OLKYUGGL.js → chunk-7LPBIM25.js} +3 -3
  18. package/chunks/{chunk-74QYNCLZ.js → chunk-7T6EFZMS.js} +1 -1
  19. package/chunks/{chunk-MSYO7IQW.js → chunk-7UCSMQMH.js} +1 -1
  20. package/chunks/{chunk-O4HTSWBJ.js → chunk-CMX2PQVL.js} +6 -6
  21. package/chunks/{chunk-EBVPQQKI.js → chunk-CZOS5SHZ.js} +1 -1
  22. package/chunks/{chunk-4DGG76JJ.js → chunk-D3VPXCQO.js} +3 -3
  23. package/chunks/{chunk-42H63B7N.js → chunk-DNBEZRSH.js} +1 -1
  24. package/chunks/{chunk-FDFGS72F.js → chunk-DYV7CIWU.js} +1 -1
  25. package/chunks/{chunk-XVHRGPYE.js → chunk-FKH6IJVL.js} +2 -2
  26. package/chunks/{chunk-N3RPSBS7.js → chunk-FPUSU3FS.js} +1 -1
  27. package/chunks/{chunk-VKZREKZC.js → chunk-GAQPY2C5.js} +1 -1
  28. package/chunks/{chunk-FWDY3F6M.js → chunk-GGMU7ESO.js} +52 -29
  29. package/chunks/{chunk-ZHJG5D4K.js → chunk-H4EI3IE7.js} +4 -4
  30. package/chunks/{chunk-GMOERT3U.js → chunk-HIMIYFCP.js} +2 -2
  31. package/chunks/{chunk-YFLDEUNS.js → chunk-IK2WIHHP.js} +1 -1
  32. package/chunks/{chunk-FVLEX7SI.js → chunk-IZUKQEXY.js} +1 -1
  33. package/chunks/{chunk-RA6PXYUG.js → chunk-JIULOPXR.js} +1 -1
  34. package/chunks/{chunk-3UEGYRVI.js → chunk-KBRGKSOR.js} +1 -1
  35. package/chunks/{chunk-UBNFVUJB.js → chunk-KIXDPYKU.js} +11 -11
  36. package/chunks/{chunk-S3EW4R3S.js → chunk-KL6CQ75X.js} +3 -3
  37. package/chunks/{chunk-U5BITLDT.js → chunk-M3FNCPFA.js} +34 -48
  38. package/chunks/{chunk-BULDBTYC.js → chunk-M7WBGLYP.js} +0 -2
  39. package/chunks/{chunk-HUCDJXWE.js → chunk-MBJGCTLS.js} +1 -1
  40. package/chunks/{chunk-SFRN7RLQ.js → chunk-MGHZQY43.js} +1 -1
  41. package/chunks/{chunk-6UD7NYUQ.js → chunk-MKCM6UYK.js} +3 -3
  42. package/chunks/{chunk-DD7H2K3D.js → chunk-MQGVHOSR.js} +1 -1
  43. package/chunks/{chunk-556IUB3D.js → chunk-MR32FTT5.js} +7 -7
  44. package/chunks/{chunk-KSZVHL3V.js → chunk-MYNMIELG.js} +2 -2
  45. package/chunks/{chunk-4Z3QWMDZ.js → chunk-N6NZ332R.js} +1 -1
  46. package/chunks/{chunk-PRBUBYG4.js → chunk-NRRVUQS4.js} +1 -1
  47. package/chunks/{chunk-WCTZ6P7R.js → chunk-PJSM24XR.js} +4 -4
  48. package/chunks/{chunk-VEBDQXOE.js → chunk-PLVICOQK.js} +3 -3
  49. package/chunks/{chunk-3NUCCLNK.js → chunk-Q6457W3A.js} +5 -7
  50. package/chunks/{chunk-3XJW3UHW.js → chunk-QIDWNN65.js} +1 -1
  51. package/chunks/{chunk-66USEJ7C.js → chunk-QJ5OOQAU.js} +3 -3
  52. package/chunks/{chunk-ZDSEYLGD.js → chunk-RGQSYME5.js} +1 -1
  53. package/chunks/{chunk-SBDOANEL.js → chunk-S6PGTUT3.js} +3 -3
  54. package/chunks/{chunk-44DKTAAF.js → chunk-SOYT56ML.js} +32 -66
  55. package/chunks/{chunk-YZQ3PSQ6.js → chunk-STJNEKSB.js} +7 -8
  56. package/chunks/{chunk-HZ2M7SHE.js → chunk-SVUKZKGO.js} +103 -188
  57. package/chunks/{chunk-NEYS3GIP.js → chunk-VCJ5EJRK.js} +3 -3
  58. package/chunks/{chunk-G2JEDXM3.js → chunk-VF4PO5FU.js} +5 -5
  59. package/chunks/{chunk-FZQ4U7L7.js → chunk-VH7AN6R6.js} +1 -1
  60. package/chunks/{chunk-CMYL6TIH.js → chunk-VVPHBIAZ.js} +1 -1
  61. package/chunks/{chunk-CX5BTXER.js → chunk-WDXE6PYV.js} +2 -2
  62. package/chunks/{chunk-WORN7QJT.js → chunk-WP6LZ4MJ.js} +1 -1
  63. package/chunks/{chunk-EFCCSFQJ.js → chunk-WSJV2PV5.js} +1 -1
  64. package/chunks/{chunk-4MOKCZU2.js → chunk-X3WYTVQZ.js} +2 -2
  65. package/chunks/{chunk-PLR7LQG3.js → chunk-XWGVNYYI.js} +10 -10
  66. package/chunks/{chunk-DPXAQROY.js → chunk-Y6SYQRQQ.js} +1 -1
  67. package/chunks/{chunk-Z325BK6G.js → chunk-YBXY5Y3K.js} +23 -23
  68. package/chunks/{chunk-VKAWRB3Q.js → chunk-YTWAWLS6.js} +3 -3
  69. package/chunks/{chunk-IIW6NYWJ.js → chunk-ZMBWA2ZY.js} +3 -3
  70. package/chunks/{computer-use-TIUHZZHT.js → computer-use-3TVSA54L.js} +8 -8
  71. package/chunks/{contextCommand-WM5XOZLP.js → contextCommand-RG2MM5PD.js} +10 -10
  72. package/chunks/{create-sub-session-4U2RTYPO.js → create-sub-session-KIVO6TT5.js} +8 -8
  73. package/chunks/{daemon-GJRFILYS.js → daemon-RAPSDJH7.js} +18 -168
  74. package/chunks/{daemon-status-provider-5XXGGXPZ.js → daemon-status-provider-BJJTMIDV.js} +15 -15
  75. package/chunks/{earlyInputCapture-G7HQVEZN.js → earlyInputCapture-NYQKIV4B.js} +8 -8
  76. package/chunks/{edit-MFH266XI.js → edit-IOTOMN4X.js} +8 -8
  77. package/chunks/{enter-worktree-3PJPQX62.js → enter-worktree-35GDGWMB.js} +8 -8
  78. package/chunks/{enterPlanMode-ZKLMBZGP.js → enterPlanMode-X4NEBGDH.js} +8 -8
  79. package/chunks/{environment-UKDYCD3C.js → environment-KFFOVPWY.js} +10 -10
  80. package/chunks/{errors-KAHMDJUU.js → errors-IZ7R5OI4.js} +10 -10
  81. package/chunks/{exit-worktree-5ID3YYL2.js → exit-worktree-535TK24V.js} +8 -8
  82. package/chunks/{exitPlanMode-HRWZIRDZ.js → exitPlanMode-HZ5HJCOD.js} +8 -8
  83. package/chunks/{fast-path-UAHLBGPO.js → fast-path-BSDRID75.js} +2 -2
  84. package/chunks/{gemini-XUENC3YI.js → gemini-UWO57GGI.js} +39 -39
  85. package/chunks/{geminiContentGenerator-HQIIUI3U.js → geminiContentGenerator-TQ5ZCTB4.js} +1 -1
  86. package/chunks/{glob-77JGRHGK.js → glob-CPQ43UDE.js} +8 -8
  87. package/chunks/{grep-NWXVTCZ6.js → grep-OBXWZT5D.js} +8 -8
  88. package/chunks/{handleAutoUpdate-VOHE7HH3.js → handleAutoUpdate-DG6VI5J6.js} +12 -12
  89. package/chunks/{i18n-4LWJAEJQ.js → i18n-2YRBDZWT.js} +9 -9
  90. package/chunks/{initializer-5WXSOQAN.js → initializer-IP2DDAGE.js} +13 -13
  91. package/chunks/{installationInfo-GW22VMZS.js → installationInfo-7GTMJJ2V.js} +9 -9
  92. package/chunks/{list-WYSMVX5N.js → list-L2PQSGVO.js} +16 -16
  93. package/chunks/{loadedSettingsAdapter-H3GILNTX.js → loadedSettingsAdapter-MMXSQWO4.js} +13 -13
  94. package/chunks/{managed-npm-update-K5W5GBOB.js → managed-npm-update-75EPQN3U.js} +9 -9
  95. package/chunks/{mcp-MPWNRDEF.js → mcp-BKLURHSY.js} +13 -13
  96. package/chunks/{monitor-6VEU3KR3.js → monitor-L7V4QSQ5.js} +8 -8
  97. package/chunks/{nonInteractiveCli-56RS4GJH.js → nonInteractiveCli-5YG5J4C4.js} +39 -37
  98. package/chunks/{notebook-edit-US6MOWSD.js → notebook-edit-7TYQDSDD.js} +8 -8
  99. package/chunks/{openaiContentGenerator-2MZ526MV.js → openaiContentGenerator-337EHHTE.js} +4 -4
  100. package/chunks/{pidfile-UR4THMF7.js → pidfile-G7PQ2P5H.js} +8 -8
  101. package/chunks/{processUtils-DXZEZIUD.js → processUtils-CX44WAP2.js} +2 -2
  102. package/chunks/{qwenContentGenerator-5IFERODJ.js → qwenContentGenerator-SYWFK5OL.js} +9 -9
  103. package/chunks/{qwenOAuth2-665N6XEZ.js → qwenOAuth2-BXYGPV5P.js} +6 -6
  104. package/chunks/{read-file-KT6NBR6X.js → read-file-37YQVCEY.js} +3 -3
  105. package/chunks/{resumeHistoryUtils-BTPYXDXA.js → resumeHistoryUtils-W2C7GY6G.js} +11 -11
  106. package/chunks/{ripGrep-HK7MSEVS.js → ripGrep-WL2NQQFB.js} +8 -8
  107. package/chunks/{run-qwen-serve-NJSFT73S.js → run-qwen-serve-SLAWXYTD.js} +21 -21
  108. package/chunks/{runtime-YTV4I5H7.js → runtime-FL6GKWRC.js} +14 -14
  109. package/chunks/{scheduler-BGRGIXCG.js → scheduler-AWSFTIJK.js} +8 -8
  110. package/chunks/{sdk-exporters-http-6MCQH335.js → sdk-exporters-http-T3POX73F.js} +2 -2
  111. package/chunks/{sdk-impl-HOLWAXC6.js → sdk-impl-NSLPDH6I.js} +2 -2
  112. package/chunks/{send-message-KBO6X4ZS.js → send-message-PYIJ2PZL.js} +1 -1
  113. package/chunks/{serve-E7GVDYYS.js → serve-RL6OJAXK.js} +13 -13
  114. package/chunks/{server-TR2K5RDF.js → server-ANUZOEU6.js} +133 -1117
  115. package/chunks/{session-2J4UJONX.js → session-QVFFZWY5.js} +38 -38
  116. package/chunks/{settings-PCNQSZOB.js → settings-LCTEYRIB.js} +12 -12
  117. package/chunks/{shell-ZLTELPMI.js → shell-6I6RUFMO.js} +8 -8
  118. package/chunks/{skill-5ZPWOOAG.js → skill-6H7VKWST.js} +3 -3
  119. package/chunks/{spawnChannel-NRTXOU6T.js → spawnChannel-3PKMXS5E.js} +10 -10
  120. package/chunks/{src-YHDK5FGL.js → src-RMIJ7356.js} +8 -20
  121. package/chunks/{standalone-update-2NWOZAPB.js → standalone-update-HRFWNPD2.js} +10 -10
  122. package/chunks/{startInteractiveUI-CRI6M35K.js → startInteractiveUI-A46LW75Y.js} +51 -58
  123. package/chunks/{team-create-BFHIOE7M.js → team-create-EWJRLBNH.js} +8 -8
  124. package/chunks/{team-plan-approval-HOUTMWXH.js → team-plan-approval-VDU66ODQ.js} +8 -8
  125. package/chunks/{theme-manager-J6QDBIR3.js → theme-manager-7VBYGZY3.js} +8 -8
  126. package/chunks/{tool-search-CETPYRMZ.js → tool-search-54D47DON.js} +3 -3
  127. package/chunks/{total-session-admission-KCKZYXQT.js → total-session-admission-S5A4LEAN.js} +11 -11
  128. package/chunks/{tree-sitter-L5BFT64K.js → tree-sitter-FS4VPMZA.js} +1 -1
  129. package/chunks/{tree-sitter-bash-ZKDNQGID.js → tree-sitter-bash-6B46JJCV.js} +1 -1
  130. package/chunks/{trustedFolders-RQLLQYRH.js → trustedFolders-4MBS5K4P.js} +9 -9
  131. package/chunks/{update-relaunch-CECOVBL2.js → update-relaunch-GX4HUHRX.js} +5 -5
  132. package/chunks/{updateCheck-Z3CLPT74.js → updateCheck-IYFPWHAG.js} +11 -11
  133. package/chunks/{useAutoAcceptIndicator-GFVZLOGZ.js → useAutoAcceptIndicator-R4QRIXCB.js} +14 -14
  134. package/chunks/{validateNonInterActiveAuth-VTT5M2QZ.js → validateNonInterActiveAuth-S4RK7CKV.js} +34 -34
  135. package/chunks/{version-IJLPZ5MH.js → version-OJJ2JHIP.js} +1 -1
  136. package/chunks/{web-fetch-DF4PBTLW.js → web-fetch-BOUIZGFB.js} +5 -5
  137. package/chunks/{web-search-GX63APMH.js → web-search-4LAWHNNQ.js} +5 -5
  138. package/chunks/{workflow-XKXJ2MDM.js → workflow-DLWGUSKG.js} +9 -9
  139. package/chunks/{workspace-providers-status-EDHBQOTQ.js → workspace-providers-status-HC53BB36.js} +16 -16
  140. package/chunks/{workspace-registration-store-J4YI5AK4.js → workspace-registration-store-3BDRYY5Y.js} +1 -1
  141. package/chunks/{workspace-registry-P5TFFGUQ.js → workspace-registry-K4KIR3YU.js} +11 -11
  142. package/chunks/{workspace-service-C3XA5VPT.js → workspace-service-JONFMZJJ.js} +17 -17
  143. package/chunks/{workspace-skills-status-VJGQH2EL.js → workspace-skills-status-TZ4GFSTK.js} +14 -14
  144. package/chunks/{write-file-Q27S2WJD.js → write-file-YLJZTILT.js} +8 -8
  145. package/cli.js +12 -12
  146. package/package.json +3 -3
  147. package/web-shell/assets/{arc-DIQrcXXh.js → arc-BWFm0SI0.js} +1 -1
  148. package/web-shell/assets/{architectureDiagram-3BPJPVTR-CbPd-DSw.js → architectureDiagram-3BPJPVTR-CZ_yL-DQ.js} +1 -1
  149. package/web-shell/assets/{blockDiagram-GPEHLZMM-yzBIVhMX.js → blockDiagram-GPEHLZMM-B9F9mJvG.js} +1 -1
  150. package/web-shell/assets/{c4Diagram-AAUBKEIU-B88Swcsu.js → c4Diagram-AAUBKEIU-BUdwJW5f.js} +1 -1
  151. package/web-shell/assets/channel-DiLlxxIf.js +1 -0
  152. package/web-shell/assets/{chunk-2J33WTMH-BbOLo6NX.js → chunk-2J33WTMH-w4cF-qlF.js} +1 -1
  153. package/web-shell/assets/{chunk-4BX2VUAB-Bg6in0r0.js → chunk-4BX2VUAB-BXwURxHJ.js} +1 -1
  154. package/web-shell/assets/{chunk-55IACEB6-Bv9QRyLI.js → chunk-55IACEB6-Gem3LalC.js} +1 -1
  155. package/web-shell/assets/{chunk-727SXJPM-CFokiv61.js → chunk-727SXJPM-A3ddVojI.js} +1 -1
  156. package/web-shell/assets/{chunk-AQP2D5EJ-DS2Oxf6L.js → chunk-AQP2D5EJ-CjHZ5L_R.js} +1 -1
  157. package/web-shell/assets/{chunk-FMBD7UC4-D2NkHD3B.js → chunk-FMBD7UC4-CKgdgcpv.js} +1 -1
  158. package/web-shell/assets/{chunk-ND2GUHAM-BsT_UC5B.js → chunk-ND2GUHAM-Cn2Dykjb.js} +1 -1
  159. package/web-shell/assets/{chunk-QZHKN3VN-tnJo3zln.js → chunk-QZHKN3VN--0SyraC5.js} +1 -1
  160. package/web-shell/assets/classDiagram-4FO5ZUOK-CkylTdM4.js +1 -0
  161. package/web-shell/assets/classDiagram-v2-Q7XG4LA2-CkylTdM4.js +1 -0
  162. package/web-shell/assets/{cose-bilkent-S5V4N54A-BTMa6DAZ.js → cose-bilkent-S5V4N54A-CphhAity.js} +1 -1
  163. package/web-shell/assets/{dagre-BM42HDAG-ujGX7Owg.js → dagre-BM42HDAG-DU--jiKp.js} +1 -1
  164. package/web-shell/assets/{diagram-2AECGRRQ-fU4-dbPa.js → diagram-2AECGRRQ-BzvuZw1Y.js} +1 -1
  165. package/web-shell/assets/{diagram-5GNKFQAL-Bdm-TYSA.js → diagram-5GNKFQAL-D84-49Y0.js} +1 -1
  166. package/web-shell/assets/{diagram-KO2AKTUF-Bkhz85Z9.js → diagram-KO2AKTUF-DQTq-3_3.js} +1 -1
  167. package/web-shell/assets/{diagram-LMA3HP47-Bzu3q26p.js → diagram-LMA3HP47-8FTrshzN.js} +1 -1
  168. package/web-shell/assets/{diagram-OG6HWLK6-CZrXbG5Q.js → diagram-OG6HWLK6-BCjpDBCm.js} +1 -1
  169. package/web-shell/assets/{erDiagram-TEJ5UH35-BjozEAYu.js → erDiagram-TEJ5UH35-BtRObkmg.js} +1 -1
  170. package/web-shell/assets/{flowDiagram-I6XJVG4X-B3a2I8c-.js → flowDiagram-I6XJVG4X-DTrW6oxy.js} +1 -1
  171. package/web-shell/assets/{ganttDiagram-6RSMTGT7-CIMn9fNm.js → ganttDiagram-6RSMTGT7-BgPNSW6j.js} +1 -1
  172. package/web-shell/assets/{gitGraphDiagram-PVQCEYII-DlFy9KRx.js → gitGraphDiagram-PVQCEYII-BTclNgGV.js} +1 -1
  173. package/web-shell/assets/index-CGtQqOIa.css +5 -0
  174. package/web-shell/assets/{index-BODUAzQA.js → index-CxA7AqY6.js} +1 -1
  175. package/web-shell/assets/index-TtM0hVjU.js +1207 -0
  176. package/web-shell/assets/{infoDiagram-5YYISTIA-BmKjQgCy.js → infoDiagram-5YYISTIA-DCE4AJt2.js} +1 -1
  177. package/web-shell/assets/{ishikawaDiagram-YF4QCWOH-BrQEMZz2.js → ishikawaDiagram-YF4QCWOH-C8iE6q4Y.js} +1 -1
  178. package/web-shell/assets/{journeyDiagram-JHISSGLW-D-2r7Xrt.js → journeyDiagram-JHISSGLW-C_dxdyEc.js} +1 -1
  179. package/web-shell/assets/{kanban-definition-UN3LZRKU-CndsFHCX.js → kanban-definition-UN3LZRKU-Dw3n1u3w.js} +1 -1
  180. package/web-shell/assets/{linear-D-IwNnKx.js → linear-C2BF2zJ9.js} +1 -1
  181. package/web-shell/assets/{mermaid.core-4ll09sri.js → mermaid.core-CGTQU3MA.js} +5 -5
  182. package/web-shell/assets/{mindmap-definition-RKZ34NQL-maMRIxjo.js → mindmap-definition-RKZ34NQL-BVFZm9ZC.js} +1 -1
  183. package/web-shell/assets/{pieDiagram-4H26LBE5-aunUDhrJ.js → pieDiagram-4H26LBE5-Cc-TNN3n.js} +1 -1
  184. package/web-shell/assets/{quadrantDiagram-W4KKPZXB-D3K0P1NZ.js → quadrantDiagram-W4KKPZXB-CgW3Rzsi.js} +1 -1
  185. package/web-shell/assets/{requirementDiagram-4Y6WPE33-CX2X9HRc.js → requirementDiagram-4Y6WPE33-BAaj0Y3B.js} +1 -1
  186. package/web-shell/assets/{sankeyDiagram-5OEKKPKP-CDroWk7l.js → sankeyDiagram-5OEKKPKP-XJWmekxS.js} +1 -1
  187. package/web-shell/assets/{sequenceDiagram-3UESZ5HK-DTk-2b16.js → sequenceDiagram-3UESZ5HK-CtRc_0wf.js} +1 -1
  188. package/web-shell/assets/{stateDiagram-AJRCARHV-Cud64hQr.js → stateDiagram-AJRCARHV-WCnvMGy5.js} +1 -1
  189. package/web-shell/assets/stateDiagram-v2-BHNVJYJU-D1gzH2Ue.js +1 -0
  190. package/web-shell/assets/{timeline-definition-PNZ67QCA-DfD5okf_.js → timeline-definition-PNZ67QCA-C9cRx49L.js} +1 -1
  191. package/web-shell/assets/{vennDiagram-CIIHVFJN-BYl8ay25.js → vennDiagram-CIIHVFJN-BvXOCEt-.js} +1 -1
  192. package/web-shell/assets/{wardley-L42UT6IY-BZFAt10J.js → wardley-L42UT6IY-ByafGtzu.js} +1 -1
  193. package/web-shell/assets/{wardleyDiagram-YWT4CUSO-BIWn0GA7.js → wardleyDiagram-YWT4CUSO-CozAnw8x.js} +1 -1
  194. package/web-shell/assets/{xychartDiagram-2RQKCTM6-1_H4xblT.js → xychartDiagram-2RQKCTM6-Camu9Qvq.js} +1 -1
  195. package/web-shell/index.html +2 -2
  196. package/web-shell/assets/channel-BaTMUesZ.js +0 -1
  197. package/web-shell/assets/classDiagram-4FO5ZUOK-CyBPzWud.js +0 -1
  198. package/web-shell/assets/classDiagram-v2-Q7XG4LA2-CyBPzWud.js +0 -1
  199. package/web-shell/assets/index-C54DNMF7.js +0 -1209
  200. package/web-shell/assets/index-lWqBfc78.css +0 -5
  201. package/web-shell/assets/stateDiagram-v2-BHNVJYJU-g-uUpecT.js +0 -1
@@ -44,7 +44,7 @@ import {
44
44
  } from "./chunk-UH3WSE5L.js";
45
45
  import {
46
46
  defaultSpawnChannelFactory
47
- } from "./chunk-N3RPSBS7.js";
47
+ } from "./chunk-FPUSU3FS.js";
48
48
  import {
49
49
  BridgeChannelClosedError,
50
50
  BridgeTimeoutError,
@@ -53,7 +53,7 @@ import {
53
53
  STATUS_SCHEMA_VERSION,
54
54
  createIdleWorkspaceExtensionsStatus,
55
55
  createIdleWorkspaceHooksStatus
56
- } from "./chunk-4Z3QWMDZ.js";
56
+ } from "./chunk-N6NZ332R.js";
57
57
  import {
58
58
  canonicalizeWorkspace,
59
59
  translateAndCheckAbsoluteWorkspacePath
@@ -74,11 +74,11 @@ import {
74
74
  metadataBudgetBytes,
75
75
  normalizeSnapshotPayload,
76
76
  stableSessionArtifactId
77
- } from "./chunk-QLE4UECH.js";
77
+ } from "./chunk-7LGIFLJS.js";
78
78
  import {
79
79
  DAEMON_TRACEPARENT_META_KEY,
80
80
  DAEMON_TRACESTATE_META_KEY
81
- } from "./chunk-HZ2M7SHE.js";
81
+ } from "./chunk-SVUKZKGO.js";
82
82
  import {
83
83
  init_esbuild_shims
84
84
  } from "./chunk-5O2XNYP6.js";
@@ -7166,62 +7166,6 @@ function createAcpSessionBridge(opts) {
7166
7166
  } = state;
7167
7167
  return publicState;
7168
7168
  }, "publicRestoreState");
7169
- async function requestSessionTranscriptPage(req) {
7170
- const info = await ensureChannel();
7171
- try {
7172
- const response = await withWorkspaceControl(
7173
- info,
7174
- () => withTimeout(
7175
- Promise.race([
7176
- info.connection.extMethod(
7177
- SERVE_STATUS_EXT_METHODS.sessionTranscript,
7178
- { ...req, cwd: boundWorkspace }
7179
- ),
7180
- getChannelClosedReject(info)
7181
- ]),
7182
- Math.max(initTimeoutMs, SESSION_TRANSCRIPT_TIMEOUT_MS),
7183
- SERVE_STATUS_EXT_METHODS.sessionTranscript
7184
- )
7185
- );
7186
- return response;
7187
- } catch (err) {
7188
- if (isAcpSessionResourceNotFound(err, req.sessionId)) {
7189
- throw new SessionNotFoundError(req.sessionId);
7190
- }
7191
- throw err;
7192
- } finally {
7193
- if (hasNoChannelWork(info)) {
7194
- await startIdleTimer(info, "session transcript");
7195
- }
7196
- }
7197
- }
7198
- __name(requestSessionTranscriptPage, "requestSessionTranscriptPage");
7199
- async function refreshedReplayFieldsFor(entry, historyPageSize) {
7200
- for (let attempt = 0; attempt < 2; attempt++) {
7201
- try {
7202
- const lastEventId = entry.events.lastEventId;
7203
- const page = await requestSessionTranscriptPage({
7204
- sessionId: entry.sessionId,
7205
- direction: "backward",
7206
- limit: historyPageSize
7207
- });
7208
- if (byId.get(entry.sessionId) === entry && !entry.promptActive && entry.events.lastEventId === lastEventId) {
7209
- return {
7210
- compactedReplay: page.events,
7211
- liveJournal: [],
7212
- lastEventId,
7213
- ...page.partial === true ? { partial: true } : {},
7214
- ...page.replayError !== void 0 ? { replayError: page.replayError } : {},
7215
- ...page.hasMore ? { historyHasMore: true } : {}
7216
- };
7217
- }
7218
- } catch {
7219
- break;
7220
- }
7221
- }
7222
- return replayFieldsFor(entry, "load");
7223
- }
7224
- __name(refreshedReplayFieldsFor, "refreshedReplayFieldsFor");
7225
7169
  async function restoreSession(action, req, options = {}) {
7226
7170
  if (shuttingDown) {
7227
7171
  throw new Error("AcpSessionBridge is shutting down");
@@ -7241,10 +7185,6 @@ function createAcpSessionBridge(opts) {
7241
7185
  "The session is closing; retry after close completes"
7242
7186
  );
7243
7187
  }
7244
- const replayFields = action === "load" && req.historyPageSize !== void 0 ? await refreshedReplayFieldsFor(existing, req.historyPageSize) : replayFieldsFor(existing, action);
7245
- if (byId.get(req.sessionId) !== existing || existing.closing) {
7246
- throw new SessionNotFoundError(req.sessionId);
7247
- }
7248
7188
  existing.attachCount++;
7249
7189
  const clientId = registerClient(existing, req.clientId);
7250
7190
  recordAttachRef(existing, clientId);
@@ -7263,7 +7203,7 @@ function createAcpSessionBridge(opts) {
7263
7203
  // caller saw; spawn-only sessions don't carry a state payload.
7264
7204
  state: existing.restoreState ?? {},
7265
7205
  hasActivePrompt: existing.promptActive,
7266
- ...replayFields
7206
+ ...replayFieldsFor(existing, action)
7267
7207
  };
7268
7208
  }
7269
7209
  const inFlight = inFlightRestores.get(req.sessionId);
@@ -8937,7 +8877,33 @@ function createAcpSessionBridge(opts) {
8937
8877
  );
8938
8878
  },
8939
8879
  async getSessionTranscriptPage(req) {
8940
- return requestSessionTranscriptPage(req);
8880
+ const info = await ensureChannel();
8881
+ try {
8882
+ const response = await withWorkspaceControl(
8883
+ info,
8884
+ () => withTimeout(
8885
+ Promise.race([
8886
+ info.connection.extMethod(
8887
+ SERVE_STATUS_EXT_METHODS.sessionTranscript,
8888
+ { ...req, cwd: boundWorkspace }
8889
+ ),
8890
+ getChannelClosedReject(info)
8891
+ ]),
8892
+ Math.max(initTimeoutMs, SESSION_TRANSCRIPT_TIMEOUT_MS),
8893
+ SERVE_STATUS_EXT_METHODS.sessionTranscript
8894
+ )
8895
+ );
8896
+ return response;
8897
+ } catch (err) {
8898
+ if (isAcpSessionResourceNotFound(err, req.sessionId)) {
8899
+ throw new SessionNotFoundError(req.sessionId);
8900
+ }
8901
+ throw err;
8902
+ } finally {
8903
+ if (hasNoChannelWork(info)) {
8904
+ await startIdleTimer(info, "session transcript");
8905
+ }
8906
+ }
8941
8907
  },
8942
8908
  async cancelSessionTask(sessionId, taskId, taskKind) {
8943
8909
  return requestSessionStatus(
@@ -2,7 +2,7 @@
2
2
  "use strict";
3
3
  import {
4
4
  formatHistoryGapNotice
5
- } from "./chunk-42H63B7N.js";
5
+ } from "./chunk-DNBEZRSH.js";
6
6
  import {
7
7
  sanitizeTerminalText
8
8
  } from "./chunk-RS7MT2QG.js";
@@ -23,12 +23,12 @@ import {
23
23
  setGoalTerminalObserver,
24
24
  setLastGoalTerminal,
25
25
  unregisterGoalHook
26
- } from "./chunk-QLE4UECH.js";
26
+ } from "./chunk-7LGIFLJS.js";
27
27
  import {
28
28
  apiActivityTracker,
29
29
  formatVisionBridgeNoticeDisplay,
30
30
  isVisionBridgeNoticeDisplay
31
- } from "./chunk-HZ2M7SHE.js";
31
+ } from "./chunk-SVUKZKGO.js";
32
32
  import {
33
33
  ToolNames
34
34
  } from "./chunk-YM3SZTH4.js";
@@ -677,6 +677,9 @@ async function realpathOrResolve(input) {
677
677
  }
678
678
  __name(realpathOrResolve, "realpathOrResolve");
679
679
 
680
+ // packages/cli/src/acp-integration/session/emitters/MessageEmitter.ts
681
+ init_esbuild_shims();
682
+
680
683
  // packages/acp-bridge/src/transcript-replay.ts
681
684
  init_esbuild_shims();
682
685
  var MISSING_TRANSCRIPT_TOOL_RESULT_MESSAGE = "Tool result missing from saved history; the previous run likely ended before this tool completed.";
@@ -1532,9 +1535,6 @@ function dedupeStrings(values) {
1532
1535
  }
1533
1536
  __name(dedupeStrings, "dedupeStrings");
1534
1537
 
1535
- // packages/cli/src/acp-integration/session/emitters/MessageEmitter.ts
1536
- init_esbuild_shims();
1537
-
1538
1538
  // packages/cli/src/acp-integration/session/emitters/base-emitter.ts
1539
1539
  init_esbuild_shims();
1540
1540
  var BaseEmitter = class {
@@ -2496,7 +2496,7 @@ async function extractMetadata(conversation, config) {
2496
2496
  const gitBranch = firstRecord?.gitBranch;
2497
2497
  let gitRepo;
2498
2498
  if (cwd) {
2499
- const { getGitRepoName } = await import("./src-YHDK5FGL.js");
2499
+ const { getGitRepoName } = await import("./src-RMIJ7356.js");
2500
2500
  gitRepo = getGitRepoName(cwd);
2501
2501
  }
2502
2502
  let model;
@@ -3351,7 +3351,6 @@ export {
3351
3351
  GITHUB_WORKFLOW_PATHS,
3352
3352
  SetupGithubError,
3353
3353
  setupGithub,
3354
- createTranscriptMessageUpdate,
3355
3354
  MessageEmitter,
3356
3355
  PlanEmitter,
3357
3356
  ToolCallEmitter,
@@ -57,7 +57,6 @@ import {
57
57
  recordFileOperationMetric,
58
58
  recordMemoryDreamMetrics,
59
59
  recordMemoryExtractMetrics,
60
- recordMemoryRecallDeliveryMetrics,
61
60
  recordMemoryRecallMetrics,
62
61
  recordModelSlashCommand,
63
62
  recordSubagentExecutionMetrics,
@@ -65,7 +64,7 @@ import {
65
64
  recordToolCallMetrics,
66
65
  startLLMRequestSpan,
67
66
  truncateSpanError
68
- } from "./chunk-RCUEYZDE.js";
67
+ } from "./chunk-7362QS5B.js";
69
68
  import {
70
69
  require_src
71
70
  } from "./chunk-HTR4WV6U.js";
@@ -96,7 +95,6 @@ import {
96
95
  EVENT_MEMORY_DREAM,
97
96
  EVENT_MEMORY_EXTRACT,
98
97
  EVENT_MEMORY_RECALL,
99
- EVENT_MEMORY_RECALL_DELIVERY,
100
98
  EVENT_MODEL_SLASH_COMMAND,
101
99
  EVENT_NEXT_SPEAKER_CHECK,
102
100
  EVENT_PROMPT_SUGGESTION,
@@ -117,7 +115,7 @@ import {
117
115
  SERVICE_NAME,
118
116
  isValidSensitiveSpanAttributeMaxLength,
119
117
  safeJsonStringify
120
- } from "./chunk-BULDBTYC.js";
118
+ } from "./chunk-M7WBGLYP.js";
121
119
  import {
122
120
  SemanticAttributes,
123
121
  init_esm as init_esm2
@@ -10728,75 +10726,6 @@ function getAllMCPServerStatuses() {
10728
10726
  }
10729
10727
  __name(getAllMCPServerStatuses, "getAllMCPServerStatuses");
10730
10728
 
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
-
10800
10729
  // packages/core/src/tools/mcp-tool.ts
10801
10730
  var debugLogger4 = createDebugLogger("MCP_TOOL");
10802
10731
  var MCP_CONNECTION_ERROR_PATTERNS = [
@@ -11010,11 +10939,18 @@ var DiscoveredMCPToolInvocation = class _DiscoveredMCPToolInvocation extends Bas
11010
10939
  callToolResult
11011
10940
  );
11012
10941
  if (this.isMCPToolError(rawResponseParts)) {
11013
- const errorResult = await this.buildMcpToolError(rawResponseParts, {
10942
+ const errorMessage2 = `MCP tool '${this.serverToolName}' reported tool error for function call: ${safeJsonStringify({
11014
10943
  name: this.serverToolName,
11015
10944
  args: this.params
11016
- });
11017
- return errorResult;
10945
+ })} with response: ${safeJsonStringify(rawResponseParts)}`;
10946
+ return {
10947
+ llmContent: errorMessage2,
10948
+ returnDisplay: `Error: MCP tool '${this.serverToolName}' reported an error.`,
10949
+ error: {
10950
+ message: errorMessage2,
10951
+ type: "mcp_tool_error" /* MCP_TOOL_ERROR */
10952
+ }
10953
+ };
11018
10954
  }
11019
10955
  const transformedParts = transformMcpContentToParts(rawResponseParts);
11020
10956
  const truncated = await this.truncateTextParts(transformedParts);
@@ -11072,11 +11008,17 @@ var DiscoveredMCPToolInvocation = class _DiscoveredMCPToolInvocation extends Bas
11072
11008
  });
11073
11009
  });
11074
11010
  if (this.isMCPToolError(rawResponseParts)) {
11075
- const errorResult = await this.buildMcpToolError(
11076
- rawResponseParts,
11011
+ const errorMessage2 = `MCP tool '${this.serverToolName}' reported tool error for function call: ${safeJsonStringify(
11077
11012
  functionCalls[0]
11078
- );
11079
- return errorResult;
11013
+ )} with response: ${safeJsonStringify(rawResponseParts)}`;
11014
+ return {
11015
+ llmContent: errorMessage2,
11016
+ returnDisplay: `Error: MCP tool '${this.serverToolName}' reported an error.`,
11017
+ error: {
11018
+ message: errorMessage2,
11019
+ type: "mcp_tool_error" /* MCP_TOOL_ERROR */
11020
+ }
11021
+ };
11080
11022
  }
11081
11023
  const transformedParts = transformMcpContentToParts(rawResponseParts);
11082
11024
  const truncated = await this.truncateTextParts(transformedParts);
@@ -11092,34 +11034,6 @@ var DiscoveredMCPToolInvocation = class _DiscoveredMCPToolInvocation extends Bas
11092
11034
  return this.handleReconnectOnError(error, signal);
11093
11035
  }
11094
11036
  }
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
- }
11123
11037
  /**
11124
11038
  * Truncates text parts in the transformed result if they exceed the
11125
11039
  * configured threshold. Non-text parts (images, audio, etc.) are preserved.
@@ -11370,11 +11284,6 @@ function transformMcpContentToParts(sdkResponse) {
11370
11284
  return transformed.filter((part) => part !== null);
11371
11285
  }
11372
11286
  __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");
11378
11287
  function getDisplayFromParts(parts) {
11379
11288
  if (parts.length === 0) {
11380
11289
  return "";
@@ -12504,29 +12413,6 @@ var MemoryRecallEvent = class {
12504
12413
  this.duration_ms = params.duration_ms;
12505
12414
  }
12506
12415
  };
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
- };
12530
12416
 
12531
12417
  // packages/core/src/utils/subagentNameContext.ts
12532
12418
  init_esbuild_shims();
@@ -16833,11 +16719,11 @@ async function createContentGenerator(generatorConfig, config, isInitialAuth) {
16833
16719
  let baseGenerator;
16834
16720
  try {
16835
16721
  if (authType === "openai" /* USE_OPENAI */) {
16836
- const { createOpenAIContentGenerator } = await import("./openaiContentGenerator-2MZ526MV.js");
16722
+ const { createOpenAIContentGenerator } = await import("./openaiContentGenerator-337EHHTE.js");
16837
16723
  baseGenerator = createOpenAIContentGenerator(generatorConfig, config);
16838
16724
  } else if (authType === "qwen-oauth" /* QWEN_OAUTH */) {
16839
- const { getQwenOAuthClient: getQwenOauthClient } = await import("./qwenOAuth2-665N6XEZ.js");
16840
- const { QwenContentGenerator } = await import("./qwenContentGenerator-5IFERODJ.js");
16725
+ const { getQwenOAuthClient: getQwenOauthClient } = await import("./qwenOAuth2-BXYGPV5P.js");
16726
+ const { QwenContentGenerator } = await import("./qwenContentGenerator-SYWFK5OL.js");
16841
16727
  try {
16842
16728
  const qwenClient = await getQwenOauthClient(
16843
16729
  config,
@@ -16858,7 +16744,7 @@ async function createContentGenerator(generatorConfig, config, isInitialAuth) {
16858
16744
  const { createAnthropicContentGenerator } = await import("./anthropicContentGenerator-HGWAHO24.js");
16859
16745
  baseGenerator = createAnthropicContentGenerator(generatorConfig, config);
16860
16746
  } else if (authType === "gemini" /* USE_GEMINI */ || authType === "vertex-ai" /* USE_VERTEX_AI */) {
16861
- const { createGeminiContentGenerator } = await import("./geminiContentGenerator-HQIIUI3U.js");
16747
+ const { createGeminiContentGenerator } = await import("./geminiContentGenerator-TQ5ZCTB4.js");
16862
16748
  baseGenerator = createGeminiContentGenerator(generatorConfig, config);
16863
16749
  } else {
16864
16750
  throw new Error(
@@ -19344,34 +19230,6 @@ function logMemoryRecall(config, event) {
19344
19230
  });
19345
19231
  }
19346
19232
  __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");
19375
19233
 
19376
19234
  // packages/core/src/memory/memoryAge.ts
19377
19235
  init_esbuild_shims();
@@ -19598,9 +19456,77 @@ async function runSideQuery(config, options) {
19598
19456
  }
19599
19457
  __name(runSideQuery, "runSideQuery");
19600
19458
 
19459
+ // packages/core/src/services/visionBridge/image-part-utils.ts
19460
+ init_esbuild_shims();
19461
+ function normalizeParts(input) {
19462
+ if (typeof input === "string") {
19463
+ return [{ text: input }];
19464
+ }
19465
+ if (Array.isArray(input)) {
19466
+ return input.map(
19467
+ (part) => typeof part === "string" ? { text: part } : part
19468
+ );
19469
+ }
19470
+ return [input];
19471
+ }
19472
+ __name(normalizeParts, "normalizeParts");
19473
+ function isImagePart(part) {
19474
+ const mimeType = part.inlineData?.mimeType;
19475
+ const data = part.inlineData?.data;
19476
+ return typeof mimeType === "string" && mimeType.startsWith("image/") && typeof data === "string" && data.length > 0;
19477
+ }
19478
+ __name(isImagePart, "isImagePart");
19479
+ function hasImageParts(input) {
19480
+ return normalizeParts(input).some(isImagePart);
19481
+ }
19482
+ __name(hasImageParts, "hasImageParts");
19483
+ function splitImageParts(input) {
19484
+ const imageParts = [];
19485
+ const nonImageParts = [];
19486
+ for (const part of normalizeParts(input)) {
19487
+ if (isImagePart(part)) {
19488
+ imageParts.push(part);
19489
+ } else {
19490
+ nonImageParts.push(part);
19491
+ }
19492
+ }
19493
+ return { imageParts, nonImageParts };
19494
+ }
19495
+ __name(splitImageParts, "splitImageParts");
19496
+ function replaceImagesWithText(input, text) {
19497
+ const result = [];
19498
+ let replaced = false;
19499
+ for (const part of normalizeParts(input)) {
19500
+ if (isImagePart(part)) {
19501
+ if (!replaced) {
19502
+ result.push({ text });
19503
+ replaced = true;
19504
+ }
19505
+ continue;
19506
+ }
19507
+ result.push(part);
19508
+ }
19509
+ if (!replaced) {
19510
+ result.push({ text });
19511
+ }
19512
+ return result;
19513
+ }
19514
+ __name(replaceImagesWithText, "replaceImagesWithText");
19515
+ function isUsableImagePart(part) {
19516
+ const data = part.inlineData?.data;
19517
+ if (typeof data !== "string" || data.length === 0) {
19518
+ return false;
19519
+ }
19520
+ return data.length <= VISION_BRIDGE_MAX_IMAGE_BASE64_BYTES;
19521
+ }
19522
+ __name(isUsableImagePart, "isUsableImagePart");
19523
+ function collectText(parts) {
19524
+ return parts.map((part) => typeof part.text === "string" ? part.text : "").filter((text) => text.length > 0).join("\n").trim();
19525
+ }
19526
+ __name(collectText, "collectText");
19527
+
19601
19528
  // packages/core/src/services/visionBridge/vision-bridge-service.ts
19602
19529
  var debugLogger11 = createDebugLogger("VISION_BRIDGE");
19603
- var turnImageCounts = /* @__PURE__ */ new WeakMap();
19604
19530
  var BRIDGE_MAX_OUTPUT_TOKENS = 2048;
19605
19531
  var VISION_BRIDGE_TIMEOUT_MS = 3e4;
19606
19532
  var VISION_BRIDGE_MAX_ATTEMPTS = 2;
@@ -19757,10 +19683,8 @@ function formatFullTurnVisionNotice(selection) {
19757
19683
  return `Routing this image turn to ${target}; retries and tool continuations will stay on that model until the turn ends.`;
19758
19684
  }
19759
19685
  __name(formatFullTurnVisionNotice, "formatFullTurnVisionNotice");
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
+ function buildIntentPart(intentText, sourceContext) {
19687
+ 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.` : "";
19764
19688
  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.";
19765
19689
  return sourceHint ? `${sourceHint}
19766
19690
  ${focusHint}` : focusHint;
@@ -19808,7 +19732,7 @@ function failure(reason, parts, omittedCount, extra = {}) {
19808
19732
  }
19809
19733
  __name(failure, "failure");
19810
19734
  async function runVisionBridge(params) {
19811
- const { config, parts, signal, sourceContext, intentText } = params;
19735
+ const { config, parts, signal, sourceContext } = params;
19812
19736
  const { imageParts, nonImageParts } = splitImageParts(parts);
19813
19737
  if (imageParts.length === 0) {
19814
19738
  return {
@@ -19819,14 +19743,9 @@ async function runVisionBridge(params) {
19819
19743
  };
19820
19744
  }
19821
19745
  const validImages = imageParts.filter(isUsableImagePart);
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);
19746
+ const toConvert = validImages.slice(0, VISION_BRIDGE_MAX_IMAGES);
19825
19747
  const omittedCount = imageParts.length - toConvert.length;
19826
- const intent = (intentText ?? collectText(nonImageParts)).slice(
19827
- 0,
19828
- BRIDGE_INTENT_MAX_CHARS
19829
- );
19748
+ const intent = collectText(nonImageParts).slice(0, BRIDGE_INTENT_MAX_CHARS);
19830
19749
  const resolvedSourceContext = sourceContext ?? inferPdfSourceContext(toConvert);
19831
19750
  const selection = config.getDefaultVisionBridgeModel?.();
19832
19751
  const modelId = selection?.id;
@@ -19848,14 +19767,13 @@ async function runVisionBridge(params) {
19848
19767
  { modelId, ...modelEndpoint && { modelEndpoint } }
19849
19768
  );
19850
19769
  }
19851
- turnImageCounts.set(signal, usedImages + toConvert.length);
19852
19770
  const timeoutMs = config.getVisionBridgeTimeoutMs?.() ?? VISION_BRIDGE_TIMEOUT_MS;
19853
19771
  const requestContents = [
19854
19772
  {
19855
19773
  role: "user",
19856
19774
  parts: [
19857
19775
  ...toConvert,
19858
- { text: buildIntentPart(intent, resolvedSourceContext, toConvert) }
19776
+ { text: buildIntentPart(intent, resolvedSourceContext) }
19859
19777
  ]
19860
19778
  }
19861
19779
  ];
@@ -20038,7 +19956,7 @@ var ReadFileToolInvocation = class extends BaseToolInvocation {
20038
19956
  }
20039
19957
  debugLogger12.debug("miss", { path: absPath, state: status.state });
20040
19958
  }
20041
- const prepareForVisionBridge = shouldRunVisionBridge(this.config);
19959
+ const preparePdfForVisionBridge = shouldRunVisionBridge(this.config);
20042
19960
  let result = await processSingleFileContent(
20043
19961
  this.params.file_path,
20044
19962
  this.config,
@@ -20046,8 +19964,7 @@ var ReadFileToolInvocation = class extends BaseToolInvocation {
20046
19964
  offset: this.params.offset,
20047
19965
  limit: this.params.limit,
20048
19966
  pages: this.params.pages,
20049
- preserveUnsupportedImage: prepareForVisionBridge,
20050
- preparePdfForVisionBridge: prepareForVisionBridge,
19967
+ preparePdfForVisionBridge,
20051
19968
  signal
20052
19969
  }
20053
19970
  );
@@ -20510,7 +20427,6 @@ export {
20510
20427
  logMemoryExtract,
20511
20428
  logMemoryDream,
20512
20429
  logMemoryRecall,
20513
- logMemoryRecallDelivery,
20514
20430
  memoryAge,
20515
20431
  memoryFreshnessText,
20516
20432
  ReadFileTool,
@@ -20580,7 +20496,6 @@ export {
20580
20496
  MemoryExtractEvent,
20581
20497
  MemoryDreamEvent,
20582
20498
  MemoryRecallEvent,
20583
- MemoryRecallDeliveryEvent,
20584
20499
  createOpenAIReasoningThoughtPart,
20585
20500
  isOpenAIReasoningThoughtPart,
20586
20501
  parseThought,
@@ -5,10 +5,10 @@ import {
5
5
  } from "./chunk-E5Z2AVNV.js";
6
6
  import {
7
7
  getCliVersion
8
- } from "./chunk-RA6PXYUG.js";
8
+ } from "./chunk-JIULOPXR.js";
9
9
  import {
10
10
  IdeClient
11
- } from "./chunk-QLE4UECH.js";
11
+ } from "./chunk-7LGIFLJS.js";
12
12
  import {
13
13
  createDebugLogger
14
14
  } from "./chunk-OQB4EXO4.js";
@@ -27,7 +27,7 @@ import { execFile } from "node:child_process";
27
27
 
28
28
  // packages/cli/src/generated/git-commit.ts
29
29
  init_esbuild_shims();
30
- var GIT_COMMIT_INFO = "91ca009c7e";
30
+ var GIT_COMMIT_INFO = "05d436a17d";
31
31
 
32
32
  // packages/cli/src/utils/systemInfo.ts
33
33
  var debugLogger = createDebugLogger("STATUS");