@qwen-code/qwen-code 0.19.5-nightly.20260703.b16baf1ff → 0.19.5

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 (165) hide show
  1. package/chunks/{MaxSizedBox-42KZ5OFE.js → MaxSizedBox-5JV77KRA.js} +6 -6
  2. package/chunks/{StandaloneSessionPicker-G4VTICMM.js → StandaloneSessionPicker-MGUGB6PH.js} +17 -17
  3. package/chunks/{acpAgent-6O25PA3M.js → acpAgent-4F36XM3X.js} +53 -55
  4. package/chunks/{agent-SNVTRNV7.js → agent-IWBUZI6A.js} +3 -3
  5. package/chunks/{agent-headless-LNKVTSBX.js → agent-headless-JUTICAYO.js} +3 -3
  6. package/chunks/{bridge-AZZAYKI2.js → bridge-DHZHQ4UV.js} +6 -6
  7. package/chunks/{chunk-ZRHHQFV4.js → chunk-2CAII5HD.js} +1 -1
  8. package/chunks/{chunk-RBLDOR7U.js → chunk-2YH27UNF.js} +1 -1
  9. package/chunks/{chunk-XR7W5VRL.js → chunk-4MCC4XHH.js} +26 -26
  10. package/chunks/{chunk-3GCPLNVF.js → chunk-6KPZJJ6U.js} +9 -9
  11. package/chunks/{chunk-WWOVV2PW.js → chunk-6QTCOQX7.js} +109 -298
  12. package/chunks/{chunk-4JWM2UGC.js → chunk-6QVQZAW6.js} +1 -1
  13. package/chunks/{chunk-XAVV2JAM.js → chunk-BC4R5C5R.js} +5 -5
  14. package/chunks/{chunk-WMLQKZ64.js → chunk-CBJE2PLG.js} +2 -2
  15. package/chunks/{chunk-UEGNXWAX.js → chunk-CHY5C5T4.js} +3 -3
  16. package/chunks/{chunk-FEPEMQR4.js → chunk-CSPSJU5R.js} +13 -13
  17. package/chunks/{chunk-L4CYPEA7.js → chunk-DM4E337C.js} +1 -1
  18. package/chunks/{chunk-XS7IHJ63.js → chunk-DRS2HTNT.js} +5 -5
  19. package/chunks/chunk-EJ7BN3EN.js +11396 -0
  20. package/chunks/{chunk-FVRLDQ7T.js → chunk-EROWZQN7.js} +1 -1
  21. package/chunks/{chunk-C47IJLUT.js → chunk-G4M7FPNY.js} +1 -1
  22. package/chunks/{chunk-DLJKEPXB.js → chunk-HISPEX42.js} +6 -6
  23. package/chunks/{chunk-P5GH4DTN.js → chunk-IMAMNLY6.js} +3 -3
  24. package/chunks/{chunk-YLQSGKAN.js → chunk-J3ERRYYI.js} +2 -2
  25. package/chunks/{chunk-Z75MFQFL.js → chunk-JJ6B3ZD3.js} +2 -2
  26. package/chunks/{chunk-26UO4PLG.js → chunk-JKGCBO3O.js} +3 -3
  27. package/chunks/{chunk-KFO6YNQT.js → chunk-K4I4STSL.js} +2 -2
  28. package/chunks/{chunk-DNV4FSN5.js → chunk-KKQWC6WS.js} +1 -1
  29. package/chunks/{chunk-STP6AYKH.js → chunk-LHMZCIKL.js} +1 -1
  30. package/chunks/{chunk-6NHUWPNL.js → chunk-M5ITDKSM.js} +1 -1
  31. package/chunks/{chunk-QURP4S5U.js → chunk-MDBNFHIO.js} +3 -3
  32. package/chunks/{chunk-AYUVPH6L.js → chunk-MNOXKSM2.js} +1 -1
  33. package/chunks/{chunk-VDIZBM46.js → chunk-NDY7OENU.js} +2 -2
  34. package/chunks/{chunk-HCLTQ3PV.js → chunk-NNEJEBCF.js} +19 -19
  35. package/chunks/{chunk-4UEWG5AS.js → chunk-NSSVORTQ.js} +4 -4
  36. package/chunks/{chunk-O2EZ4VRP.js → chunk-OQHLUA2Y.js} +3 -3
  37. package/chunks/{chunk-4RQIB5UZ.js → chunk-PPFWEV7G.js} +62 -62
  38. package/chunks/{chunk-FB6LGUF4.js → chunk-QHYITL6P.js} +1 -1
  39. package/chunks/{chunk-VJSWLYUL.js → chunk-R3UWLLRQ.js} +1 -1
  40. package/chunks/{chunk-UTWYG2WA.js → chunk-RNGAT2Y2.js} +1 -1
  41. package/chunks/{chunk-7XS7CMSU.js → chunk-RSBQS6M4.js} +1 -1
  42. package/chunks/{chunk-4PGQKUIV.js → chunk-SBMHB6N5.js} +11 -11
  43. package/chunks/{chunk-DNJ2KHWN.js → chunk-SJVPSHXU.js} +4 -4
  44. package/chunks/{chunk-LOEYAC6N.js → chunk-TN6RT6EJ.js} +2 -2
  45. package/chunks/{chunk-F26BNXI2.js → chunk-UJT42DB6.js} +5 -5
  46. package/chunks/{chunk-46IAL3RB.js → chunk-WALEWZ44.js} +1 -1
  47. package/chunks/{chunk-APTOAKV5.js → chunk-WZ724G6K.js} +3 -3
  48. package/chunks/{chunk-FKHE7ZNF.js → chunk-XKZXGIRM.js} +2 -2
  49. package/chunks/{chunk-7K4G2H2H.js → chunk-Y4UQT3PM.js} +1 -1
  50. package/chunks/{chunk-ODPWORQZ.js → chunk-Z7XNVNPM.js} +1 -1
  51. package/chunks/{chunk-WSAAEPPQ.js → chunk-ZISMVA6U.js} +4 -4
  52. package/chunks/{computer-use-UHZAYYGO.js → computer-use-ON3JQUHW.js} +3 -3
  53. package/chunks/{contextCommand-X4WOJ2L4.js → contextCommand-OGCG7W6N.js} +5 -5
  54. package/chunks/{daemon-status-provider-YXWNGOAF.js → daemon-status-provider-P72STMLB.js} +9 -9
  55. package/chunks/{earlyInputCapture-3HUGMAFL.js → earlyInputCapture-DAFHSGVW.js} +3 -3
  56. package/chunks/{edit-QDKRNFZK.js → edit-3QFNCSZH.js} +3 -3
  57. package/chunks/{enter-worktree-ODWIPMOP.js → enter-worktree-62EQQMLD.js} +3 -3
  58. package/chunks/{enterPlanMode-XROL6G5C.js → enterPlanMode-VUQSE4EG.js} +3 -3
  59. package/chunks/{errors-RCPBWFTG.js → errors-PW75PZXE.js} +5 -5
  60. package/chunks/{exit-worktree-BIU7P4TR.js → exit-worktree-VVNH7OVY.js} +3 -3
  61. package/chunks/{exitPlanMode-LWZHZ7CF.js → exitPlanMode-RUYRCYZW.js} +3 -3
  62. package/chunks/{fast-path-7S4NR2WI.js → fast-path-TFRJRTTR.js} +3 -3
  63. package/chunks/{fast-path-settings-RCRXH2JG.js → fast-path-settings-UQLRFDQP.js} +2 -2
  64. package/chunks/{gemini-W7CZCFFV.js → gemini-XW7ZDUVR.js} +53 -58
  65. package/chunks/{geminiContentGenerator-MWZWJAWR.js → geminiContentGenerator-MZDVHVZH.js} +1 -1
  66. package/chunks/{glob-GZ4LUOQT.js → glob-WAY2PUWA.js} +3 -3
  67. package/chunks/{grep-BZ34WAQJ.js → grep-W6CBKSYC.js} +3 -3
  68. package/chunks/{initializer-W4EUD3H7.js → initializer-HK2XE6P2.js} +8 -8
  69. package/chunks/{list-S325XJ2Y.js → list-RVLIIKKL.js} +10 -10
  70. package/chunks/{loadedSettingsAdapter-QP3XBMQI.js → loadedSettingsAdapter-C63OUYZC.js} +8 -8
  71. package/chunks/{monitor-7C33CWA5.js → monitor-FOG36ABM.js} +3 -3
  72. package/chunks/{nonInteractiveCli-FPZS7ROR.js → nonInteractiveCli-6BYQSJTB.js} +34 -36
  73. package/chunks/{notebook-edit-ZXQ25NWU.js → notebook-edit-GC6NXRCX.js} +3 -3
  74. package/chunks/{openaiContentGenerator-FUQ7GNK6.js → openaiContentGenerator-EXR3ZL3Z.js} +2 -2
  75. package/chunks/{pidfile-NPZV5ZIA.js → pidfile-FNZM2DDH.js} +3 -3
  76. package/chunks/{qwenContentGenerator-LNEWYA52.js → qwenContentGenerator-A7B6J4U7.js} +4 -4
  77. package/chunks/{read-file-G6GBNSM3.js → read-file-6JL4ULMY.js} +1 -1
  78. package/chunks/{ripGrep-IGOC7PVL.js → ripGrep-DIUGLJE5.js} +3 -3
  79. package/chunks/{run-qwen-serve-AAA53KS4.js → run-qwen-serve-CME3AKM4.js} +23 -23
  80. package/chunks/{scheduler-SPGJ7ILO.js → scheduler-L7F6GDDT.js} +3 -3
  81. package/chunks/{serve-37UIHUYP.js → serve-SRCBOJGP.js} +9 -9
  82. package/chunks/{server-MFMOYMEB.js → server-QSQ45QFR.js} +46 -46
  83. package/chunks/{session-XRY2CG4Z.js → session-5DG6NXHZ.js} +35 -37
  84. package/chunks/{settings-X5GXXGKH.js → settings-3EEQI4MN.js} +7 -7
  85. package/chunks/{shell-E5HOWJMT.js → shell-B7FNYF5S.js} +3 -3
  86. package/chunks/{skill-FELDZMWO.js → skill-AAOGHD5O.js} +1 -1
  87. package/chunks/{spawnChannel-XLTVHAT6.js → spawnChannel-3CBN3ZLK.js} +5 -5
  88. package/chunks/{src-ZWPLTWTV.js → src-T5A7P7FS.js} +3 -3
  89. package/chunks/{startInteractiveUI-GO6J3SJ7.js → startInteractiveUI-2FGEQ6AS.js} +108 -111
  90. package/chunks/{team-create-WWMKZ3UO.js → team-create-KDF6W6PV.js} +3 -3
  91. package/chunks/{team-plan-approval-CUNEZJOV.js → team-plan-approval-PSFKQX7M.js} +3 -3
  92. package/chunks/{theme-manager-LRBEA5ID.js → theme-manager-5XOA2AO7.js} +3 -3
  93. package/chunks/{tool-search-L57ZRBJF.js → tool-search-LFRILZXC.js} +1 -1
  94. package/chunks/{trustedFolders-DYAOFXN2.js → trustedFolders-7HQY6T6X.js} +4 -4
  95. package/chunks/{validateNonInterActiveAuth-AB4C2FLG.js → validateNonInterActiveAuth-UC27B7BA.js} +31 -33
  96. package/chunks/{workflow-H7YLGTBI.js → workflow-KUTESS6L.js} +4 -4
  97. package/chunks/{workspace-providers-status-UUIBOTKI.js → workspace-providers-status-LJT5AQDS.js} +10 -10
  98. package/chunks/{workspace-service-FATHYK5C.js → workspace-service-YOBYVDXH.js} +15 -15
  99. package/chunks/{workspace-skills-status-KIC3KYPR.js → workspace-skills-status-ONEPXJV6.js} +5 -5
  100. package/chunks/{write-file-ETGUMYAK.js → write-file-FJYBZUHP.js} +3 -3
  101. package/cli-entry.js +8 -81
  102. package/cli.js +55 -348
  103. package/node_modules/@qwen-code/audio-capture/package.json +1 -1
  104. package/node_modules/@qwen-code/audio-capture/prebuilds/darwin-arm64/@qwen-code+audio-capture.node +0 -0
  105. package/node_modules/@qwen-code/audio-capture/prebuilds/darwin-x64/@qwen-code+audio-capture.node +0 -0
  106. package/node_modules/@qwen-code/audio-capture/prebuilds/win32-x64/@qwen-code+audio-capture.node +0 -0
  107. package/package.json +3 -3
  108. package/web-shell/assets/{arc-QjIJgYzv.js → arc-D_rAuMDd.js} +1 -1
  109. package/web-shell/assets/{architectureDiagram-3BPJPVTR-DJkZ9KoB.js → architectureDiagram-3BPJPVTR-DUCzbHVo.js} +1 -1
  110. package/web-shell/assets/{blockDiagram-GPEHLZMM-BlNeekUB.js → blockDiagram-GPEHLZMM-BEEBt1LL.js} +1 -1
  111. package/web-shell/assets/{c4Diagram-AAUBKEIU-B6FDrE3D.js → c4Diagram-AAUBKEIU-5ZJ_DeFL.js} +1 -1
  112. package/web-shell/assets/channel-B5ynH0q8.js +1 -0
  113. package/web-shell/assets/{chunk-2J33WTMH-CZO5-3og.js → chunk-2J33WTMH-Cfw7EiLn.js} +1 -1
  114. package/web-shell/assets/{chunk-4BX2VUAB-CZ2VJPFe.js → chunk-4BX2VUAB-FGuZNCZY.js} +1 -1
  115. package/web-shell/assets/{chunk-55IACEB6-3zVP6pGF.js → chunk-55IACEB6-CaBwYPBF.js} +1 -1
  116. package/web-shell/assets/{chunk-727SXJPM-omuP8Zhh.js → chunk-727SXJPM-BlR04OFz.js} +1 -1
  117. package/web-shell/assets/{chunk-AQP2D5EJ-BK6Ivmyv.js → chunk-AQP2D5EJ-D3_mYJH5.js} +1 -1
  118. package/web-shell/assets/{chunk-FMBD7UC4-NLjjxV0s.js → chunk-FMBD7UC4-7D4q4SbB.js} +1 -1
  119. package/web-shell/assets/{chunk-ND2GUHAM-Dc0JTV8t.js → chunk-ND2GUHAM-BjX_Iwmr.js} +1 -1
  120. package/web-shell/assets/{chunk-QZHKN3VN-ZYp-8jN-.js → chunk-QZHKN3VN-C3Hz_ZQh.js} +1 -1
  121. package/web-shell/assets/classDiagram-4FO5ZUOK-CK3ibywp.js +1 -0
  122. package/web-shell/assets/classDiagram-v2-Q7XG4LA2-CK3ibywp.js +1 -0
  123. package/web-shell/assets/{cose-bilkent-S5V4N54A-BNu1jqy7.js → cose-bilkent-S5V4N54A-Ax4UycaT.js} +1 -1
  124. package/web-shell/assets/{dagre-BM42HDAG-0AHvPm2v.js → dagre-BM42HDAG-C6hmPtGt.js} +1 -1
  125. package/web-shell/assets/{diagram-2AECGRRQ-BJsDQdp0.js → diagram-2AECGRRQ-tXZnxjmw.js} +1 -1
  126. package/web-shell/assets/{diagram-5GNKFQAL-C1gNnoxj.js → diagram-5GNKFQAL-99dwIzQG.js} +1 -1
  127. package/web-shell/assets/{diagram-KO2AKTUF-FmgehSoq.js → diagram-KO2AKTUF-Bqhn0-2s.js} +1 -1
  128. package/web-shell/assets/{diagram-LMA3HP47-i7_13R2F.js → diagram-LMA3HP47-DzThVSvo.js} +1 -1
  129. package/web-shell/assets/{diagram-OG6HWLK6-DkUUR1x-.js → diagram-OG6HWLK6-DPE8vjln.js} +1 -1
  130. package/web-shell/assets/{erDiagram-TEJ5UH35-BcwJzw0n.js → erDiagram-TEJ5UH35-KzUKgQCV.js} +1 -1
  131. package/web-shell/assets/{flowDiagram-I6XJVG4X-CCPgwkQS.js → flowDiagram-I6XJVG4X-DBN-DXw5.js} +1 -1
  132. package/web-shell/assets/{ganttDiagram-6RSMTGT7-C3g0sliF.js → ganttDiagram-6RSMTGT7-DuBsP9u8.js} +1 -1
  133. package/web-shell/assets/{gitGraphDiagram-PVQCEYII-DLt4J_oG.js → gitGraphDiagram-PVQCEYII-BjWHMyKR.js} +1 -1
  134. package/web-shell/assets/{index-DasTT8n6.js → index-CWzDaQT5.js} +105 -105
  135. package/web-shell/assets/{infoDiagram-5YYISTIA-DMO0nW8F.js → infoDiagram-5YYISTIA-BVux0vP6.js} +1 -1
  136. package/web-shell/assets/{ishikawaDiagram-YF4QCWOH-qSN9LjC5.js → ishikawaDiagram-YF4QCWOH-2qzw7f--.js} +1 -1
  137. package/web-shell/assets/{journeyDiagram-JHISSGLW-CQZH-jC2.js → journeyDiagram-JHISSGLW-Dnl65sxL.js} +1 -1
  138. package/web-shell/assets/{kanban-definition-UN3LZRKU-Cu6qk5En.js → kanban-definition-UN3LZRKU-BElSQYtY.js} +1 -1
  139. package/web-shell/assets/{linear-Dpp4BWJF.js → linear-BjoycSSY.js} +1 -1
  140. package/web-shell/assets/{mermaid.core-DDAcmZsz.js → mermaid.core-xe6bvMRz.js} +5 -5
  141. package/web-shell/assets/{mindmap-definition-RKZ34NQL-G3JXxnUU.js → mindmap-definition-RKZ34NQL-D8DQgI4U.js} +1 -1
  142. package/web-shell/assets/{pieDiagram-4H26LBE5-ABQwHraX.js → pieDiagram-4H26LBE5-Dwh7Gp7c.js} +1 -1
  143. package/web-shell/assets/{quadrantDiagram-W4KKPZXB-BUWZV-ho.js → quadrantDiagram-W4KKPZXB-BXKNBln2.js} +1 -1
  144. package/web-shell/assets/{requirementDiagram-4Y6WPE33-XHg5n00A.js → requirementDiagram-4Y6WPE33-BzaC3cIA.js} +1 -1
  145. package/web-shell/assets/{sankeyDiagram-5OEKKPKP-Bwzw0RtM.js → sankeyDiagram-5OEKKPKP-DP2t7eZk.js} +1 -1
  146. package/web-shell/assets/{sequenceDiagram-3UESZ5HK-CGYLtnFV.js → sequenceDiagram-3UESZ5HK-XlFiWEYv.js} +1 -1
  147. package/web-shell/assets/{stateDiagram-AJRCARHV-BG1UhKch.js → stateDiagram-AJRCARHV-CupgUMJO.js} +1 -1
  148. package/web-shell/assets/stateDiagram-v2-BHNVJYJU-By3E4QwN.js +1 -0
  149. package/web-shell/assets/{timeline-definition-PNZ67QCA-B_tY-Dyz.js → timeline-definition-PNZ67QCA-DstuGywa.js} +1 -1
  150. package/web-shell/assets/{vennDiagram-CIIHVFJN-Crp_Rw_L.js → vennDiagram-CIIHVFJN-CnbNp6zu.js} +1 -1
  151. package/web-shell/assets/{wardley-L42UT6IY-DR27pFXX.js → wardley-L42UT6IY-DnvoHq6R.js} +1 -1
  152. package/web-shell/assets/{wardleyDiagram-YWT4CUSO-BM_CRFgm.js → wardleyDiagram-YWT4CUSO-Cz0xHEWB.js} +1 -1
  153. package/web-shell/assets/{xychartDiagram-2RQKCTM6-DO2Z2lWl.js → xychartDiagram-2RQKCTM6-p36gfo88.js} +1 -1
  154. package/web-shell/index.html +1 -1
  155. package/chunks/chunk-3RW4AZJV.js +0 -5063
  156. package/chunks/chunk-DOYHOG47.js +0 -949
  157. package/chunks/chunk-E2K45AJ7.js +0 -5448
  158. package/chunks/mcp-LRKXM6OS.js +0 -66
  159. package/chunks/version-2A66AIB2.js +0 -10
  160. package/chunks/yargs-B64EYTCF.js +0 -10
  161. package/web-shell/assets/channel-M6R-XOoS.js +0 -1
  162. package/web-shell/assets/classDiagram-4FO5ZUOK-B7rcL2Jc.js +0 -1
  163. package/web-shell/assets/classDiagram-v2-Q7XG4LA2-B7rcL2Jc.js +0 -1
  164. package/web-shell/assets/stateDiagram-v2-BHNVJYJU-CSG8MpoN.js +0 -1
  165. package/chunks/{channel-worker-supervisor-C2J3TIOV.js → channel-worker-supervisor-EVPAYNZ5.js} +3 -3
@@ -3,9 +3,6 @@
3
3
  import {
4
4
  require_once
5
5
  } from "./chunk-5P5XGNYH.js";
6
- import {
7
- require_main
8
- } from "./chunk-SKAZWEV5.js";
9
6
  import {
10
7
  NEVER,
11
8
  ZodIssueCode,
@@ -33,6 +30,9 @@ import {
33
30
  unknown,
34
31
  url
35
32
  } from "./chunk-K5PGHDBN.js";
33
+ import {
34
+ require_main
35
+ } from "./chunk-SKAZWEV5.js";
36
36
  import {
37
37
  consumeUnread,
38
38
  forwardApproval,
@@ -254,7 +254,7 @@ import {
254
254
  updateMCPServerStatus,
255
255
  writeLine,
256
256
  writeLineSync
257
- } from "./chunk-UEGNXWAX.js";
257
+ } from "./chunk-CHY5C5T4.js";
258
258
  import {
259
259
  DEFAULT_QWEN_EMBEDDING_MODEL,
260
260
  DEFAULT_QWEN_MODEL
@@ -45011,224 +45011,6 @@ function acquireSleepInhibitor(config, reason) {
45011
45011
  }
45012
45012
  __name(acquireSleepInhibitor, "acquireSleepInhibitor");
45013
45013
 
45014
- // packages/core/src/services/image-payload-references.ts
45015
- init_esbuild_shims();
45016
- import { createHash as createHash2 } from "node:crypto";
45017
-
45018
- // packages/core/src/core/inlineMediaLimit.ts
45019
- init_esbuild_shims();
45020
- var DEFAULT_MAX_INLINE_MEDIA_BYTES = 10 * 1024 * 1024;
45021
- function getMaxInlineMediaBytes() {
45022
- const raw = process.env["QWEN_CODE_MAX_INLINE_MEDIA_BYTES"];
45023
- if (raw === void 0 || raw.trim() === "") {
45024
- return DEFAULT_MAX_INLINE_MEDIA_BYTES;
45025
- }
45026
- const parsed = Number(raw);
45027
- return Number.isInteger(parsed) && parsed > 0 ? parsed : DEFAULT_MAX_INLINE_MEDIA_BYTES;
45028
- }
45029
- __name(getMaxInlineMediaBytes, "getMaxInlineMediaBytes");
45030
- function approxBase64Bytes(base64) {
45031
- let start2 = 0;
45032
- if (base64.startsWith("data:")) {
45033
- const commaIndex = base64.indexOf(",");
45034
- if (commaIndex !== -1) {
45035
- start2 = commaIndex + 1;
45036
- }
45037
- }
45038
- const length = base64.length - start2;
45039
- if (length === 0) {
45040
- return 0;
45041
- }
45042
- const padding = base64.endsWith("==") ? 2 : base64.endsWith("=") ? 1 : 0;
45043
- return Math.floor(length * 3 / 4) - padding;
45044
- }
45045
- __name(approxBase64Bytes, "approxBase64Bytes");
45046
- function formatMb(bytes) {
45047
- return (bytes / (1024 * 1024)).toFixed(1);
45048
- }
45049
- __name(formatMb, "formatMb");
45050
- function oversizedMediaPlaceholder(mimeType, bytes, limitBytes) {
45051
- const mime = sanitizeMimeForPlaceholder(mimeType);
45052
- 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.]`;
45053
- }
45054
- __name(oversizedMediaPlaceholder, "oversizedMediaPlaceholder");
45055
- function clampInlineMediaPart(part, limitBytes = getMaxInlineMediaBytes()) {
45056
- const data = part.inlineData?.data;
45057
- if (!data) {
45058
- return part;
45059
- }
45060
- const bytes = approxBase64Bytes(data);
45061
- if (bytes <= limitBytes) {
45062
- return part;
45063
- }
45064
- const mimeType = part.inlineData?.mimeType ?? "application/octet-stream";
45065
- return { text: oversizedMediaPlaceholder(mimeType, bytes, limitBytes) };
45066
- }
45067
- __name(clampInlineMediaPart, "clampInlineMediaPart");
45068
-
45069
- // packages/core/src/services/image-payload-references.ts
45070
- var IMAGE_ID_LENGTH = 12;
45071
- var IMAGE_REFERENCE_PATTERN = new RegExp(
45072
- `Image #([a-f0-9]{${IMAGE_ID_LENGTH}})`,
45073
- "gi"
45074
- );
45075
- var InMemoryImagePayloadStore = class {
45076
- static {
45077
- __name(this, "InMemoryImagePayloadStore");
45078
- }
45079
- images = /* @__PURE__ */ new Map();
45080
- put(part) {
45081
- const stored = imagePartToStoredPayload(part);
45082
- this.images.set(stored.id, stored);
45083
- return stored;
45084
- }
45085
- get(id) {
45086
- return this.images.get(id);
45087
- }
45088
- };
45089
- function prepareImagePayloadsForRequest(contents, options2) {
45090
- const referencedIds = collectReferencedImageIds(contents.at(-1));
45091
- const collected = [];
45092
- const transformed = contents.map((content, index) => {
45093
- if (index === options2.preserveImagePartsForContentIndex) {
45094
- return content;
45095
- }
45096
- if (index === contents.length - 1 && content.role === "user") {
45097
- const preserveCount = options2.preserveLastUserImagePartCount ?? 0;
45098
- const preserveFrom = Math.max(
45099
- 0,
45100
- (content.parts?.length ?? 0) - preserveCount
45101
- );
45102
- return {
45103
- ...content,
45104
- parts: content.parts?.map(
45105
- (part, partIndex) => partIndex >= preserveFrom ? part : transformPart2(part, options2.store, collected)
45106
- )
45107
- };
45108
- }
45109
- return {
45110
- ...content,
45111
- parts: content.parts?.map(
45112
- (part) => transformPart2(part, options2.store, collected)
45113
- )
45114
- };
45115
- });
45116
- const reattachById = /* @__PURE__ */ new Map();
45117
- const recent = recentUniqueImages(collected, options2.maxRecentImages);
45118
- for (const image of recent) {
45119
- reattachById.set(image.stored.id, image.stored);
45120
- }
45121
- for (const image of collected) {
45122
- if (referencedIds.has(image.stored.id)) {
45123
- reattachById.set(image.stored.id, image.stored);
45124
- }
45125
- }
45126
- for (const id of referencedIds) {
45127
- const stored = options2.store.get(id);
45128
- if (stored) {
45129
- reattachById.set(stored.id, stored);
45130
- }
45131
- }
45132
- if (reattachById.size === 0) {
45133
- return transformed;
45134
- }
45135
- const reattachParts = [
45136
- {
45137
- text: "Recent images reattached for visual context: " + [...reattachById.keys()].map((id) => `Image #${id}`).join(", ")
45138
- },
45139
- ...[...reattachById.values()].map(storedImageToPart)
45140
- ];
45141
- const last2 = transformed.at(-1);
45142
- if (last2?.role === "user") {
45143
- last2.parts = [...last2.parts ?? [], ...reattachParts];
45144
- return transformed;
45145
- }
45146
- return [...transformed, { role: "user", parts: reattachParts }];
45147
- }
45148
- __name(prepareImagePayloadsForRequest, "prepareImagePayloadsForRequest");
45149
- function transformPart2(part, store2, collected) {
45150
- if (part.inlineData?.mimeType?.startsWith("image/") && part.inlineData.data) {
45151
- const stored = store2.put(part);
45152
- collected.push({ stored });
45153
- return { text: imageReferenceText(stored) };
45154
- }
45155
- if (part.functionResponse) {
45156
- const nestedParts = getFunctionResponseParts(part);
45157
- if (!nestedParts) return part;
45158
- return {
45159
- ...part,
45160
- functionResponse: {
45161
- ...part.functionResponse,
45162
- parts: nestedParts.map(
45163
- (nested) => transformPart2(nested, store2, collected)
45164
- )
45165
- }
45166
- };
45167
- }
45168
- return part;
45169
- }
45170
- __name(transformPart2, "transformPart");
45171
- function collectReferencedImageIds(content) {
45172
- const ids = /* @__PURE__ */ new Set();
45173
- for (const part of content?.parts ?? []) {
45174
- const text = part.text;
45175
- if (!text) continue;
45176
- for (const match2 of text.matchAll(IMAGE_REFERENCE_PATTERN)) {
45177
- const id = match2[1];
45178
- if (id) ids.add(id.toLowerCase());
45179
- }
45180
- }
45181
- return ids;
45182
- }
45183
- __name(collectReferencedImageIds, "collectReferencedImageIds");
45184
- function recentUniqueImages(collected, maxRecentImages) {
45185
- if (maxRecentImages <= 0) {
45186
- return [];
45187
- }
45188
- const recent = [];
45189
- const seen = /* @__PURE__ */ new Set();
45190
- for (let index = collected.length - 1; index >= 0; index--) {
45191
- const image = collected[index];
45192
- if (!image || seen.has(image.stored.id)) continue;
45193
- seen.add(image.stored.id);
45194
- recent.push(image);
45195
- if (recent.length === maxRecentImages) break;
45196
- }
45197
- return recent.reverse();
45198
- }
45199
- __name(recentUniqueImages, "recentUniqueImages");
45200
- function imagePartToStoredPayload(part) {
45201
- const data = part.inlineData?.data ?? "";
45202
- const mimeType = part.inlineData?.mimeType ?? "application/octet-stream";
45203
- const hash = createHash2("sha256").update(mimeType).update("\0").update(data).digest("hex");
45204
- return {
45205
- id: hash.slice(0, IMAGE_ID_LENGTH),
45206
- mimeType,
45207
- data,
45208
- bytes: approxBase64Bytes(data),
45209
- displayName: part.inlineData?.displayName
45210
- };
45211
- }
45212
- __name(imagePartToStoredPayload, "imagePartToStoredPayload");
45213
- function imageReferenceText(stored) {
45214
- return `[Image #${stored.id}: ${safeImageMimeType(stored.mimeType)}, ${stored.bytes} bytes]`;
45215
- }
45216
- __name(imageReferenceText, "imageReferenceText");
45217
- function safeImageMimeType(mimeType) {
45218
- return /^image\/[a-z0-9.+-]{1,64}$/i.test(mimeType) ? mimeType.toLowerCase() : "image/unknown";
45219
- }
45220
- __name(safeImageMimeType, "safeImageMimeType");
45221
- function storedImageToPart(stored) {
45222
- return {
45223
- inlineData: {
45224
- mimeType: stored.mimeType,
45225
- data: stored.data,
45226
- displayName: stored.displayName
45227
- }
45228
- };
45229
- }
45230
- __name(storedImageToPart, "storedImageToPart");
45231
-
45232
45014
  // packages/core/src/utils/contextLengthError.ts
45233
45015
  init_esbuild_shims();
45234
45016
  var MAX_COLLECT_DEPTH = 4;
@@ -46524,7 +46306,6 @@ var GeminiChat = class {
46524
46306
  */
46525
46307
  pendingPartialAssistantTurnIndex = null;
46526
46308
  pendingPartialAssistantRecord = null;
46527
- imagePayloadStore = new InMemoryImagePayloadStore();
46528
46309
  /**
46529
46310
  * Monotonically counts user-content pushes that survived into history.
46530
46311
  * Incremented when `sendMessageStream` pushes the user content and decremented
@@ -46562,21 +46343,8 @@ var GeminiChat = class {
46562
46343
  * Public history readers still use {@link getHistory}, which returns a
46563
46344
  * defensive deep copy for caller mutation safety.
46564
46345
  */
46565
- getRequestHistory(currentUserContent) {
46566
- const curatedHistory = extractCuratedHistory(this.history);
46567
- const preserveImagePartsForContentIndex = currentUserContent ? curatedHistory.findIndex((content) => content === currentUserContent) : -1;
46568
- const requestHistory = curatedHistory.map(copyContentContainer);
46569
- const preserveLastUserImagePartCount = preserveImagePartsForContentIndex === -1 ? currentUserContent?.parts?.length ?? 0 : 0;
46570
- const preserveImagePartsForContentIndexOption = preserveImagePartsForContentIndex === -1 ? void 0 : preserveImagePartsForContentIndex;
46571
- const { maxRecentImages } = resolveCompactionTuning(
46572
- this.config.getChatCompression()
46573
- );
46574
- return prepareImagePayloadsForRequest(requestHistory, {
46575
- maxRecentImages,
46576
- preserveImagePartsForContentIndex: preserveImagePartsForContentIndexOption,
46577
- preserveLastUserImagePartCount,
46578
- store: this.imagePayloadStore
46579
- });
46346
+ getRequestHistory() {
46347
+ return extractCuratedHistory(this.history).map(copyContentContainer);
46580
46348
  }
46581
46349
  /**
46582
46350
  * Seed the last-prompt-token-count for chats created with inherited
@@ -46776,7 +46544,6 @@ var GeminiChat = class {
46776
46544
  );
46777
46545
  const hasUserMaxTokensOverrideForThreshold = cgConfigForThresholds?.samplingParams?.max_tokens !== void 0 && cgConfigForThresholds?.samplingParams?.max_tokens !== null || parsedEnvMaxTokensForThreshold !== void 0;
46778
46546
  const effectiveReservedOutput = params.config?.maxOutputTokens ?? (hasUserMaxTokensOverrideForThreshold ? cgConfigForThresholds?.samplingParams?.max_tokens ?? parsedEnvMaxTokensForThreshold ?? 0 : Math.max(ESCALATED_MAX_TOKENS, tokenLimit(model, "output")));
46779
- let currentUserContent;
46780
46547
  try {
46781
46548
  const userContent = createUserContent(params.message);
46782
46549
  const rawContextLimit = cgConfigForThresholds?.contextWindowSize ?? DEFAULT_TOKEN_LIMIT;
@@ -46879,7 +46646,6 @@ var GeminiChat = class {
46879
46646
  });
46880
46647
  }
46881
46648
  this.history.push(userContent);
46882
- currentUserContent = userContent;
46883
46649
  userContentAdded = true;
46884
46650
  this.userContentPushCount++;
46885
46651
  const inlineRepair = repairOrphanedToolUseTurns(this.history);
@@ -46893,7 +46659,7 @@ var GeminiChat = class {
46893
46659
  `[REPAIR] sendMessageStream inline pass dropped ${inlineRepair.droppedDuplicates.length} duplicate functionResponse(s): ` + inlineRepair.droppedDuplicates.map((entry) => `${entry.name}(${entry.callId})`).join(", ")
46894
46660
  );
46895
46661
  }
46896
- requestContents = this.getRequestHistory(currentUserContent);
46662
+ requestContents = this.getRequestHistory();
46897
46663
  } catch (error) {
46898
46664
  if (userContentAdded) {
46899
46665
  this.history.pop();
@@ -47078,7 +46844,7 @@ var GeminiChat = class {
47078
46844
  );
47079
46845
  if (reactiveInfo.compressionStatus === 1 /* COMPRESSED */) {
47080
46846
  popPartialIfPushed();
47081
- requestContents = self2.getRequestHistory(currentUserContent);
46847
+ requestContents = self2.getRequestHistory();
47082
46848
  debugLogger21.info(
47083
46849
  `Reactive compression succeeded: ${reactiveInfo.originalTokenCount} -> ${reactiveInfo.newTokenCount} tokens.`
47084
46850
  );
@@ -47225,7 +46991,7 @@ var GeminiChat = class {
47225
46991
  ])
47226
46992
  );
47227
46993
  yield { type: "retry" /* RETRY */, isContinuation: true };
47228
- const recoveryContents = self2.getRequestHistory(currentUserContent);
46994
+ const recoveryContents = self2.getRequestHistory();
47229
46995
  escalatedFinishReason = void 0;
47230
46996
  try {
47231
46997
  const recoveryStream = await self2.makeApiCallAndProcessStream(
@@ -47769,7 +47535,7 @@ __name(isInvalidArgumentError, "isInvalidArgumentError");
47769
47535
 
47770
47536
  // packages/core/src/services/loopDetectionService.ts
47771
47537
  init_esbuild_shims();
47772
- import { createHash as createHash3 } from "node:crypto";
47538
+ import { createHash as createHash2 } from "node:crypto";
47773
47539
  var TOOL_CALL_LOOP_THRESHOLD = 5;
47774
47540
  var CONTENT_LOOP_THRESHOLD = 10;
47775
47541
  var CONTENT_CHUNK_SIZE = 50;
@@ -47867,7 +47633,7 @@ var LoopDetectionService = class _LoopDetectionService {
47867
47633
  getToolCallKey(toolCall) {
47868
47634
  const argsString = JSON.stringify(toolCall.args);
47869
47635
  const keyString = `${toolCall.name}:${argsString}`;
47870
- return createHash3("sha256").update(keyString).digest("hex");
47636
+ return createHash2("sha256").update(keyString).digest("hex");
47871
47637
  }
47872
47638
  /**
47873
47639
  * Convenience aggregate that runs every tier in order: the always-on
@@ -48114,7 +47880,7 @@ var LoopDetectionService = class _LoopDetectionService {
48114
47880
  this.lastContentIndex,
48115
47881
  this.lastContentIndex + CONTENT_CHUNK_SIZE
48116
47882
  );
48117
- const chunkHash = createHash3("sha256").update(currentChunk).digest("hex");
47883
+ const chunkHash = createHash2("sha256").update(currentChunk).digest("hex");
48118
47884
  if (this.isLoopDetectedForChunk(currentChunk, chunkHash)) {
48119
47885
  this.lastLoopType = "chanting_identical_sentences" /* CHANTING_IDENTICAL_SENTENCES */;
48120
47886
  logLoopDetected(
@@ -48400,7 +48166,7 @@ var LoopDetectionService = class _LoopDetectionService {
48400
48166
 
48401
48167
  // packages/core/src/services/commitAttribution.ts
48402
48168
  init_esbuild_shims();
48403
- import { createHash as createHash4 } from "node:crypto";
48169
+ import { createHash as createHash3 } from "node:crypto";
48404
48170
  import * as fs11 from "node:fs";
48405
48171
  import * as path10 from "node:path";
48406
48172
 
@@ -48520,7 +48286,7 @@ function canonicaliseForHash(content) {
48520
48286
  }
48521
48287
  __name(canonicaliseForHash, "canonicaliseForHash");
48522
48288
  function computeContentHash(content) {
48523
- return createHash4("sha256").update(canonicaliseForHash(content)).digest("hex");
48289
+ return createHash3("sha256").update(canonicaliseForHash(content)).digest("hex");
48524
48290
  }
48525
48291
  __name(computeContentHash, "computeContentHash");
48526
48292
  function realpathOrSelf(p3) {
@@ -58054,6 +57820,57 @@ function partListUnionToString(value) {
58054
57820
  }
58055
57821
  __name(partListUnionToString, "partListUnionToString");
58056
57822
 
57823
+ // packages/core/src/core/inlineMediaLimit.ts
57824
+ init_esbuild_shims();
57825
+ var DEFAULT_MAX_INLINE_MEDIA_BYTES = 10 * 1024 * 1024;
57826
+ function getMaxInlineMediaBytes() {
57827
+ const raw = process.env["QWEN_CODE_MAX_INLINE_MEDIA_BYTES"];
57828
+ if (raw === void 0 || raw.trim() === "") {
57829
+ return DEFAULT_MAX_INLINE_MEDIA_BYTES;
57830
+ }
57831
+ const parsed = Number(raw);
57832
+ return Number.isInteger(parsed) && parsed > 0 ? parsed : DEFAULT_MAX_INLINE_MEDIA_BYTES;
57833
+ }
57834
+ __name(getMaxInlineMediaBytes, "getMaxInlineMediaBytes");
57835
+ function approxBase64Bytes(base64) {
57836
+ let start2 = 0;
57837
+ if (base64.startsWith("data:")) {
57838
+ const commaIndex = base64.indexOf(",");
57839
+ if (commaIndex !== -1) {
57840
+ start2 = commaIndex + 1;
57841
+ }
57842
+ }
57843
+ const length = base64.length - start2;
57844
+ if (length === 0) {
57845
+ return 0;
57846
+ }
57847
+ const padding = base64.endsWith("==") ? 2 : base64.endsWith("=") ? 1 : 0;
57848
+ return Math.floor(length * 3 / 4) - padding;
57849
+ }
57850
+ __name(approxBase64Bytes, "approxBase64Bytes");
57851
+ function formatMb(bytes) {
57852
+ return (bytes / (1024 * 1024)).toFixed(1);
57853
+ }
57854
+ __name(formatMb, "formatMb");
57855
+ function oversizedMediaPlaceholder(mimeType, bytes, limitBytes) {
57856
+ const mime = sanitizeMimeForPlaceholder(mimeType);
57857
+ 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.]`;
57858
+ }
57859
+ __name(oversizedMediaPlaceholder, "oversizedMediaPlaceholder");
57860
+ function clampInlineMediaPart(part, limitBytes = getMaxInlineMediaBytes()) {
57861
+ const data = part.inlineData?.data;
57862
+ if (!data) {
57863
+ return part;
57864
+ }
57865
+ const bytes = approxBase64Bytes(data);
57866
+ if (bytes <= limitBytes) {
57867
+ return part;
57868
+ }
57869
+ const mimeType = part.inlineData?.mimeType ?? "application/octet-stream";
57870
+ return { text: oversizedMediaPlaceholder(mimeType, bytes, limitBytes) };
57871
+ }
57872
+ __name(clampInlineMediaPart, "clampInlineMediaPart");
57873
+
58057
57874
  // packages/core/src/core/insightProtocol.ts
58058
57875
  init_esbuild_shims();
58059
57876
  function encodeInsightProgressMessage(stage, progress, detail) {
@@ -67046,7 +66863,7 @@ async function discoverTools(mcpServerName, mcpServerConfig, mcpClient, cliConfi
67046
66863
  mcpClient,
67047
66864
  // raw MCP Client for direct callTool with progress
67048
66865
  mcpTimeout,
67049
- cliConfig?.getMcpToolIdleTimeoutMs?.(),
66866
+ cliConfig?.getMcpToolIdleTimeoutMs(),
67050
66867
  annotationsMap.get(funcDecl.name),
67051
66868
  mcpServerConfig.alwaysLoadTools === true
67052
66869
  )
@@ -67686,7 +67503,7 @@ init_esbuild_shims();
67686
67503
 
67687
67504
  // packages/core/src/tools/mcp-pool-key.ts
67688
67505
  init_esbuild_shims();
67689
- import { createHash as createHash6 } from "node:crypto";
67506
+ import { createHash as createHash5 } from "node:crypto";
67690
67507
  var POOLED_TRANSPORTS_DEFAULT = /* @__PURE__ */ new Set(
67691
67508
  ["stdio", "websocket"]
67692
67509
  );
@@ -67735,7 +67552,7 @@ function fingerprint(cfg) {
67735
67552
  targetAudience: cfg.targetAudience ?? null,
67736
67553
  targetServiceAccount: cfg.targetServiceAccount ?? null
67737
67554
  };
67738
- return createHash6("sha256").update(JSON.stringify(canonical)).digest("hex").slice(0, 16);
67555
+ return createHash5("sha256").update(JSON.stringify(canonical)).digest("hex").slice(0, 16);
67739
67556
  }
67740
67557
  __name(fingerprint, "fingerprint");
67741
67558
  function connectionIdOf(serverName, cfg) {
@@ -73862,7 +73679,7 @@ init_esbuild_shims();
73862
73679
 
73863
73680
  // packages/core/src/providers/provider-config.ts
73864
73681
  init_esbuild_shims();
73865
- import { createHash as createHash7 } from "node:crypto";
73682
+ import { createHash as createHash6 } from "node:crypto";
73866
73683
  function resolveEnvKey(config, inputs) {
73867
73684
  const protocol = inputs.protocol ?? config.protocol;
73868
73685
  return typeof config.envKey === "function" ? config.envKey(protocol, inputs.baseUrl) : config.envKey;
@@ -74052,7 +73869,7 @@ function buildInstallPlan(config, inputs) {
74052
73869
  }
74053
73870
  __name(buildInstallPlan, "buildInstallPlan");
74054
73871
  function computeModelListVersion(models) {
74055
- return createHash7("sha256").update(JSON.stringify(models)).digest("hex");
73872
+ return createHash6("sha256").update(JSON.stringify(models)).digest("hex");
74056
73873
  }
74057
73874
  __name(computeModelListVersion, "computeModelListVersion");
74058
73875
  var DEFAULT_BASE_URLS = {
@@ -74597,7 +74414,7 @@ var modelscopeProvider = {
74597
74414
 
74598
74415
  // packages/core/src/providers/presets/custom-provider.ts
74599
74416
  init_esbuild_shims();
74600
- import { createHash as createHash8 } from "node:crypto";
74417
+ import { createHash as createHash7 } from "node:crypto";
74601
74418
  var CUSTOM_API_KEY_ENV_PREFIX = "QWEN_CUSTOM_API_KEY_";
74602
74419
  function normalizeEnvSegment(value) {
74603
74420
  const upper = value.trim().toUpperCase();
@@ -74629,7 +74446,7 @@ function stripTrailingSlashes(value) {
74629
74446
  __name(stripTrailingSlashes, "stripTrailingSlashes");
74630
74447
  function generateCustomEnvKey(protocol, baseUrl) {
74631
74448
  const canonicalBaseUrl = stripTrailingSlashes(baseUrl.trim());
74632
- const suffix = createHash8("sha256").update(`${protocol}\0${canonicalBaseUrl}`).digest("hex").slice(0, 12).toUpperCase();
74449
+ const suffix = createHash7("sha256").update(`${protocol}\0${canonicalBaseUrl}`).digest("hex").slice(0, 12).toUpperCase();
74633
74450
  return `${CUSTOM_API_KEY_ENV_PREFIX}${normalizeEnvSegment(
74634
74451
  protocol
74635
74452
  )}_${normalizeEnvSegment(baseUrl)}_${suffix}`;
@@ -93316,7 +93133,7 @@ __name(isSafeModeEnv, "isSafeModeEnv");
93316
93133
  // packages/core/src/memory/channel-memory.ts
93317
93134
  init_esbuild_shims();
93318
93135
  var import_proper_lockfile = __toESM(require_proper_lockfile(), 1);
93319
- import { createHash as createHash9 } from "node:crypto";
93136
+ import { createHash as createHash8 } from "node:crypto";
93320
93137
  import * as fs29 from "node:fs/promises";
93321
93138
  import * as path34 from "node:path";
93322
93139
  var CHANNEL_MEMORY_FILE_NAME = "CHANNEL.md";
@@ -93346,12 +93163,12 @@ async function releaseLock(release) {
93346
93163
  __name(releaseLock, "releaseLock");
93347
93164
  function safeChannelName(channelName) {
93348
93165
  const slug = channelName.replace(/[^a-zA-Z0-9._-]/g, "_").slice(0, 20) || "_";
93349
- const hash = createHash9("sha256").update(channelName).digest("hex").slice(0, 16);
93166
+ const hash = createHash8("sha256").update(channelName).digest("hex").slice(0, 16);
93350
93167
  return `${slug}-${hash}`;
93351
93168
  }
93352
93169
  __name(safeChannelName, "safeChannelName");
93353
93170
  function hashedThreadPath(target) {
93354
- return createHash9("sha256").update(target.chatId).update("\0").update(target.threadId ?? "").digest("hex").slice(0, 32);
93171
+ return createHash8("sha256").update(target.chatId).update("\0").update(target.threadId ?? "").digest("hex").slice(0, 32);
93355
93172
  }
93356
93173
  __name(hashedThreadPath, "hashedThreadPath");
93357
93174
  function getChannelMemoryFilePath(target) {
@@ -103439,7 +103256,7 @@ __name(isGeminiExtensionConfig, "isGeminiExtensionConfig");
103439
103256
  init_esbuild_shims();
103440
103257
  import * as fs44 from "node:fs";
103441
103258
  import * as path49 from "node:path";
103442
- import { createHash as createHash11 } from "node:crypto";
103259
+ import { createHash as createHash10 } from "node:crypto";
103443
103260
  var debugLogger72 = createDebugLogger("CLAUDE_CONVERTER");
103444
103261
  var sanitizeForError = stripAnsiAndControl;
103445
103262
  var CLAUDE_TOOLS_MAPPING = {
@@ -103687,7 +103504,7 @@ async function convertClaudePluginPackage(extensionDir, pluginName) {
103687
103504
  }
103688
103505
  const pluginDir = path49.join(
103689
103506
  extensionDir,
103690
- `plugin${createHash11("sha256").update(`${extensionDir}/${pluginName}`).digest("hex")}`
103507
+ `plugin${createHash10("sha256").update(`${extensionDir}/${pluginName}`).digest("hex")}`
103691
103508
  );
103692
103509
  await fs44.promises.mkdir(pluginDir, { recursive: true });
103693
103510
  const pluginSource = await resolvePluginSource(
@@ -105529,7 +105346,7 @@ async function discoverPlugins(sources, installedNames) {
105529
105346
  __name(discoverPlugins, "discoverPlugins");
105530
105347
 
105531
105348
  // packages/core/src/extension/extensionManager.ts
105532
- import { createHash as createHash12 } from "node:crypto";
105349
+ import { createHash as createHash11 } from "node:crypto";
105533
105350
 
105534
105351
  // packages/core/src/extension/i18n.ts
105535
105352
  init_esbuild_shims();
@@ -109156,7 +108973,7 @@ function getExtensionId(config, installMetadata) {
109156
108973
  }
109157
108974
  __name(getExtensionId, "getExtensionId");
109158
108975
  function hashValue(value) {
109159
- return createHash12("sha256").update(value).digest("hex");
108976
+ return createHash11("sha256").update(value).digest("hex");
109160
108977
  }
109161
108978
  __name(hashValue, "hashValue");
109162
108979
  function validateName(name2) {
@@ -118986,7 +118803,6 @@ var BackgroundAgentResumeService = class {
118986
118803
  }
118987
118804
  async applySubagentStartHook(contextState, opts) {
118988
118805
  const hookSystem = this.config.getHookSystem();
118989
- contextState.set("hook_context", "");
118990
118806
  if (!hookSystem) return;
118991
118807
  try {
118992
118808
  const startHookOutput = await hookSystem.fireSubagentStartEvent(
@@ -119041,7 +118857,6 @@ var BackgroundAgentResumeService = class {
119041
118857
  "task_prompt",
119042
118858
  typedStopOutput.getEffectiveReason()
119043
118859
  );
119044
- continueContext.set("hook_context", "");
119045
118860
  await subagent.execute(continueContext, signal);
119046
118861
  if (signal?.aborted) return void 0;
119047
118862
  } catch (hookError) {
@@ -136207,7 +136022,6 @@ var AgentToolInvocation = class extends BaseToolInvocation {
136207
136022
  "task_prompt",
136208
136023
  typedStopOutput.getEffectiveReason()
136209
136024
  );
136210
- continueContext.set("hook_context", "");
136211
136025
  await subagent.execute(continueContext, signal);
136212
136026
  if (signal?.aborted) return void 0;
136213
136027
  } catch (hookError) {
@@ -136310,7 +136124,6 @@ var AgentToolInvocation = class extends BaseToolInvocation {
136310
136124
  async runSubagentWithHooks(subagent, contextState, opts) {
136311
136125
  const { agentId, agentType, resolvedMode, signal, updateOutput } = opts;
136312
136126
  const hookSystem = this.config.getHookSystem();
136313
- contextState.set("hook_context", "");
136314
136127
  try {
136315
136128
  if (hookSystem) {
136316
136129
  try {
@@ -136722,7 +136535,6 @@ ${taskPrompt}`;
136722
136535
  }
136723
136536
  const contextState = new ContextState();
136724
136537
  contextState.set("task_prompt", taskPrompt);
136725
- contextState.set("hook_context", "");
136726
136538
  if (shouldRunInBackground) {
136727
136539
  const hookSystem = this.config.getHookSystem();
136728
136540
  let subagentStartHookCompleted = false;
@@ -137650,7 +137462,6 @@ async function runForkedAgent(params) {
137650
137462
  );
137651
137463
  const context2 = new ContextState();
137652
137464
  context2.set("task_prompt", params.taskPrompt);
137653
- context2.set("hook_context", "");
137654
137465
  const execute = /* @__PURE__ */ __name(() => runWithForkedModelRuntime(modelRuntime, async () => {
137655
137466
  await headless.execute(context2, params.abortSignal);
137656
137467
  }), "execute");
@@ -147297,19 +147108,19 @@ var Config = class {
147297
147108
  }, "registerStructuredOutputIfRequested");
147298
147109
  if (this.getBareMode()) {
147299
147110
  await registerLazy(ToolNames.READ_FILE, async () => {
147300
- const { ReadFileTool } = await import("./read-file-G6GBNSM3.js");
147111
+ const { ReadFileTool } = await import("./read-file-6JL4ULMY.js");
147301
147112
  return new ReadFileTool(this);
147302
147113
  });
147303
147114
  await registerLazy(ToolNames.EDIT, async () => {
147304
- const { EditTool } = await import("./edit-QDKRNFZK.js");
147115
+ const { EditTool } = await import("./edit-3QFNCSZH.js");
147305
147116
  return new EditTool(this);
147306
147117
  });
147307
147118
  await registerLazy(ToolNames.NOTEBOOK_EDIT, async () => {
147308
- const { NotebookEditTool } = await import("./notebook-edit-ZXQ25NWU.js");
147119
+ const { NotebookEditTool } = await import("./notebook-edit-GC6NXRCX.js");
147309
147120
  return new NotebookEditTool(this);
147310
147121
  });
147311
147122
  await registerLazy(ToolNames.SHELL, async () => {
147312
- const { ShellTool: ShellTool2 } = await import("./shell-E5HOWJMT.js");
147123
+ const { ShellTool: ShellTool2 } = await import("./shell-B7FNYF5S.js");
147313
147124
  return new ShellTool2(this);
147314
147125
  });
147315
147126
  await registerStructuredOutputIfRequested();
@@ -147319,7 +147130,7 @@ var Config = class {
147319
147130
  return registry;
147320
147131
  }
147321
147132
  await registerLazy(ToolNames.TOOL_SEARCH, async () => {
147322
- const { ToolSearchTool } = await import("./tool-search-L57ZRBJF.js");
147133
+ const { ToolSearchTool } = await import("./tool-search-LFRILZXC.js");
147323
147134
  return new ToolSearchTool(this);
147324
147135
  });
147325
147136
  await registerLazy(ToolNames.READ_MCP_RESOURCE, async () => {
@@ -147327,7 +147138,7 @@ var Config = class {
147327
147138
  return new ReadMcpResourceTool(this);
147328
147139
  });
147329
147140
  await registerLazy(ToolNames.AGENT, async () => {
147330
- const { AgentTool: AgentTool2 } = await import("./agent-SNVTRNV7.js");
147141
+ const { AgentTool: AgentTool2 } = await import("./agent-IWBUZI6A.js");
147331
147142
  return new AgentTool2(this);
147332
147143
  });
147333
147144
  await registerLazy(ToolNames.TASK_STOP, async () => {
@@ -147339,7 +147150,7 @@ var Config = class {
147339
147150
  return new SendMessageTool(this);
147340
147151
  });
147341
147152
  await registerLazy(ToolNames.SKILL, async () => {
147342
- const { SkillTool } = await import("./skill-FELDZMWO.js");
147153
+ const { SkillTool } = await import("./skill-AAOGHD5O.js");
147343
147154
  return new SkillTool(this);
147344
147155
  });
147345
147156
  await registerLazy(ToolNames.LS, async () => {
@@ -147347,7 +147158,7 @@ var Config = class {
147347
147158
  return new LSTool(this);
147348
147159
  });
147349
147160
  await registerLazy(ToolNames.READ_FILE, async () => {
147350
- const { ReadFileTool } = await import("./read-file-G6GBNSM3.js");
147161
+ const { ReadFileTool } = await import("./read-file-6JL4ULMY.js");
147351
147162
  return new ReadFileTool(this);
147352
147163
  });
147353
147164
  if (this.getUseRipgrep()) {
@@ -147360,7 +147171,7 @@ var Config = class {
147360
147171
  }
147361
147172
  if (useRipgrep) {
147362
147173
  await registerLazy(ToolNames.GREP, async () => {
147363
- const { RipGrepTool: RipGrepTool2 } = await import("./ripGrep-IGOC7PVL.js");
147174
+ const { RipGrepTool: RipGrepTool2 } = await import("./ripGrep-DIUGLJE5.js");
147364
147175
  return new RipGrepTool2(this);
147365
147176
  });
147366
147177
  } else {
@@ -147373,34 +147184,34 @@ var Config = class {
147373
147184
  )
147374
147185
  );
147375
147186
  await registerLazy(ToolNames.GREP, async () => {
147376
- const { GrepTool } = await import("./grep-BZ34WAQJ.js");
147187
+ const { GrepTool } = await import("./grep-W6CBKSYC.js");
147377
147188
  return new GrepTool(this);
147378
147189
  });
147379
147190
  }
147380
147191
  } else {
147381
147192
  await registerLazy(ToolNames.GREP, async () => {
147382
- const { GrepTool } = await import("./grep-BZ34WAQJ.js");
147193
+ const { GrepTool } = await import("./grep-W6CBKSYC.js");
147383
147194
  return new GrepTool(this);
147384
147195
  });
147385
147196
  }
147386
147197
  await registerLazy(ToolNames.GLOB, async () => {
147387
- const { GlobTool } = await import("./glob-GZ4LUOQT.js");
147198
+ const { GlobTool } = await import("./glob-WAY2PUWA.js");
147388
147199
  return new GlobTool(this);
147389
147200
  });
147390
147201
  await registerLazy(ToolNames.EDIT, async () => {
147391
- const { EditTool } = await import("./edit-QDKRNFZK.js");
147202
+ const { EditTool } = await import("./edit-3QFNCSZH.js");
147392
147203
  return new EditTool(this);
147393
147204
  });
147394
147205
  await registerLazy(ToolNames.NOTEBOOK_EDIT, async () => {
147395
- const { NotebookEditTool } = await import("./notebook-edit-ZXQ25NWU.js");
147206
+ const { NotebookEditTool } = await import("./notebook-edit-GC6NXRCX.js");
147396
147207
  return new NotebookEditTool(this);
147397
147208
  });
147398
147209
  await registerLazy(ToolNames.WRITE_FILE, async () => {
147399
- const { WriteFileTool } = await import("./write-file-ETGUMYAK.js");
147210
+ const { WriteFileTool } = await import("./write-file-FJYBZUHP.js");
147400
147211
  return new WriteFileTool(this);
147401
147212
  });
147402
147213
  await registerLazy(ToolNames.SHELL, async () => {
147403
- const { ShellTool: ShellTool2 } = await import("./shell-E5HOWJMT.js");
147214
+ const { ShellTool: ShellTool2 } = await import("./shell-B7FNYF5S.js");
147404
147215
  return new ShellTool2(this);
147405
147216
  });
147406
147217
  await registerLazy(ToolNames.TODO_WRITE, async () => {
@@ -147413,20 +147224,20 @@ var Config = class {
147413
147224
  });
147414
147225
  if (!this.sdkMode) {
147415
147226
  await registerLazy(ToolNames.EXIT_PLAN_MODE, async () => {
147416
- const { ExitPlanModeTool } = await import("./exitPlanMode-LWZHZ7CF.js");
147227
+ const { ExitPlanModeTool } = await import("./exitPlanMode-RUYRCYZW.js");
147417
147228
  return new ExitPlanModeTool(this);
147418
147229
  });
147419
147230
  await registerLazy(ToolNames.ENTER_PLAN_MODE, async () => {
147420
- const { EnterPlanModeTool } = await import("./enterPlanMode-XROL6G5C.js");
147231
+ const { EnterPlanModeTool } = await import("./enterPlanMode-VUQSE4EG.js");
147421
147232
  return new EnterPlanModeTool(this);
147422
147233
  });
147423
147234
  }
147424
147235
  await registerLazy(ToolNames.ENTER_WORKTREE, async () => {
147425
- const { EnterWorktreeTool } = await import("./enter-worktree-ODWIPMOP.js");
147236
+ const { EnterWorktreeTool } = await import("./enter-worktree-62EQQMLD.js");
147426
147237
  return new EnterWorktreeTool(this);
147427
147238
  });
147428
147239
  await registerLazy(ToolNames.EXIT_WORKTREE, async () => {
147429
- const { ExitWorktreeTool } = await import("./exit-worktree-BIU7P4TR.js");
147240
+ const { ExitWorktreeTool } = await import("./exit-worktree-VVNH7OVY.js");
147430
147241
  return new ExitWorktreeTool(this);
147431
147242
  });
147432
147243
  await registerLazy(ToolNames.WEB_FETCH, async () => {
@@ -147466,7 +147277,7 @@ var Config = class {
147466
147277
  }
147467
147278
  if (this.isAgentTeamEnabled()) {
147468
147279
  await registerLazy(ToolNames.TEAM_CREATE, async () => {
147469
- const { TeamCreateTool } = await import("./team-create-WWMKZ3UO.js");
147280
+ const { TeamCreateTool } = await import("./team-create-KDF6W6PV.js");
147470
147281
  return new TeamCreateTool(this);
147471
147282
  });
147472
147283
  await registerLazy(ToolNames.TEAM_DELETE, async () => {
@@ -147474,7 +147285,7 @@ var Config = class {
147474
147285
  return new TeamDeleteTool(this);
147475
147286
  });
147476
147287
  await registerLazy(ToolNames.TEAM_PLAN_APPROVAL, async () => {
147477
- const { TeamPlanApprovalTool } = await import("./team-plan-approval-CUNEZJOV.js");
147288
+ const { TeamPlanApprovalTool } = await import("./team-plan-approval-PSFKQX7M.js");
147478
147289
  return new TeamPlanApprovalTool(this);
147479
147290
  });
147480
147291
  await registerLazy(ToolNames.TASK_CREATE, async () => {
@@ -147492,16 +147303,16 @@ var Config = class {
147492
147303
  }
147493
147304
  if (this.isWorkflowsEnabled()) {
147494
147305
  await registerLazy(ToolNames.WORKFLOW, async () => {
147495
- const { WorkflowTool } = await import("./workflow-H7YLGTBI.js");
147306
+ const { WorkflowTool } = await import("./workflow-KUTESS6L.js");
147496
147307
  return new WorkflowTool(this);
147497
147308
  });
147498
147309
  }
147499
147310
  if (this.isComputerUseEnabled()) {
147500
- const { registerComputerUseTools } = await import("./computer-use-UHZAYYGO.js");
147311
+ const { registerComputerUseTools } = await import("./computer-use-ON3JQUHW.js");
147501
147312
  await registerComputerUseTools(registerLazy, this);
147502
147313
  }
147503
147314
  await registerLazy(ToolNames.MONITOR, async () => {
147504
- const { MonitorTool } = await import("./monitor-7C33CWA5.js");
147315
+ const { MonitorTool } = await import("./monitor-FOG36ABM.js");
147505
147316
  return new MonitorTool(this);
147506
147317
  });
147507
147318
  if (this.pendingMcpBudgetCallback) {
@@ -151136,11 +150947,6 @@ export {
151136
150947
  SleepInhibitor,
151137
150948
  sleepInhibitor,
151138
150949
  acquireSleepInhibitor,
151139
- DEFAULT_MAX_INLINE_MEDIA_BYTES,
151140
- getMaxInlineMediaBytes,
151141
- approxBase64Bytes,
151142
- oversizedMediaPlaceholder,
151143
- clampInlineMediaPart,
151144
150950
  getFolderStructure,
151145
150951
  SYSTEM_REMINDER_OPEN,
151146
150952
  SYSTEM_REMINDER_CLOSE,
@@ -151615,6 +151421,11 @@ export {
151615
151421
  Config,
151616
151422
  JsonFormatter,
151617
151423
  partListUnionToString,
151424
+ DEFAULT_MAX_INLINE_MEDIA_BYTES,
151425
+ getMaxInlineMediaBytes,
151426
+ approxBase64Bytes,
151427
+ oversizedMediaPlaceholder,
151428
+ clampInlineMediaPart,
151618
151429
  encodeInsightProgressMessage,
151619
151430
  encodeInsightReadyMessage,
151620
151431
  encodeInsightErrorMessage,