@qwen-code/qwen-code 0.19.2-preview.0 → 0.19.3

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 (282) hide show
  1. package/bundled/extension-creator/SKILL.md +357 -0
  2. package/bundled/loop/SKILL.md +12 -7
  3. package/bundled/loop/SKILL.test.ts +32 -0
  4. package/bundled/qc-helper/SKILL.md +14 -14
  5. package/bundled/qc-helper/docs/configuration/auth.md +11 -11
  6. package/bundled/qc-helper/docs/configuration/model-providers.md +13 -13
  7. package/bundled/qc-helper/docs/configuration/settings.md +60 -60
  8. package/bundled/qc-helper/docs/features/commands.md +108 -77
  9. package/bundled/qc-helper/docs/features/memory.md +52 -0
  10. package/bundled/qc-helper/docs/qwen-serve.md +24 -2
  11. package/bundled/qc-helper/docs/support/tos-privacy.md +16 -3
  12. package/chunks/{MaxSizedBox-ZGJWTRFD.js → MaxSizedBox-QNF3EIGU.js} +29 -30
  13. package/chunks/{StandaloneSessionPicker-BUCTAFOX.js → StandaloneSessionPicker-Z52JTYST.js} +42 -40
  14. package/chunks/{acpAgent-JO2ITCNM.js → acpAgent-7RZUOWOM.js} +406 -118
  15. package/chunks/{agent-MY66OFO7.js → agent-4FG7WTHJ.js} +24 -26
  16. package/chunks/{agent-headless-SRMNGWN5.js → agent-headless-RQ5BTX3G.js} +24 -26
  17. package/chunks/{anthropicContentGenerator-E3TQ5XJJ.js → anthropicContentGenerator-PFITVL7Y.js} +31 -13
  18. package/chunks/{artifact-tool-QA4KRO3B.js → artifact-tool-D2X7G3C3.js} +2 -2
  19. package/chunks/{askUserQuestion-HMWXW6VN.js → askUserQuestion-UGETICJQ.js} +2 -2
  20. package/chunks/{bridge-GZCNYBHI.js → bridge-JL2PMCIW.js} +29 -32
  21. package/chunks/{ca-7WC7ELX6.js → ca-IUFWESZL.js} +1 -0
  22. package/chunks/{chunk-3UALQ56H.js → chunk-3227DZO4.js} +1 -1
  23. package/chunks/{chunk-2TLWKT22.js → chunk-3TV3HUWZ.js} +16 -7
  24. package/chunks/{chunk-WQ523TWK.js → chunk-4LUZAKMK.js} +45 -3
  25. package/chunks/{chunk-KDRNHNFO.js → chunk-4QK3O43S.js} +6 -27
  26. package/chunks/chunk-5GOVVXEV.js +73 -0
  27. package/chunks/{chunk-C4YPMKVC.js → chunk-6V4NZFUS.js} +5 -5
  28. package/chunks/{chunk-QCE46JPS.js → chunk-ADCIHOQZ.js} +138 -28
  29. package/chunks/chunk-BC3C4F3Q.js +40 -0
  30. package/chunks/{chunk-CGEGHF2C.js → chunk-BKXBARJZ.js} +1 -1
  31. package/chunks/chunk-BMFMJINR.js +45 -0
  32. package/chunks/chunk-BTLJ2MF5.js +690 -0
  33. package/chunks/{chunk-OIC6S73E.js → chunk-BUUQ5HPX.js} +1 -1
  34. package/chunks/{chunk-2BIF2NVV.js → chunk-BVSVIN45.js} +2 -2
  35. package/chunks/{chunk-JXQ23SNT.js → chunk-BW4KCQFD.js} +54 -2
  36. package/chunks/{chunk-TOEGRAVX.js → chunk-BX5YO7UW.js} +17 -5
  37. package/chunks/{chunk-3GOWF4JW.js → chunk-BXSHL2SF.js} +1 -1
  38. package/chunks/{chunk-UN3C6GOR.js → chunk-CF6BB3LT.js} +0 -107
  39. package/chunks/{chunk-Z7XXFPGP.js → chunk-CKQA6AWF.js} +1 -1
  40. package/chunks/{chunk-S3QKD3KC.js → chunk-CNLEDYE3.js} +7 -5
  41. package/chunks/{chunk-PRYMDRBV.js → chunk-DDMOU62Q.js} +1 -1
  42. package/chunks/chunk-EDMZZFDU.js +11213 -0
  43. package/chunks/{chunk-IRJWHZWU.js → chunk-EJYJYJZ2.js} +70 -3
  44. package/chunks/{chunk-Z3GEHYNS.js → chunk-F3ZYSEY6.js} +151 -4775
  45. package/chunks/chunk-FKAVULLM.js +4909 -0
  46. package/chunks/{chunk-QEFO4ZHF.js → chunk-FNJ7BDPH.js} +6 -6
  47. package/chunks/{chunk-ZMYGPJZ2.js → chunk-FXKVLFFY.js} +1 -1
  48. package/chunks/{chunk-NISEO774.js → chunk-GGBIN5K7.js} +1 -1
  49. package/chunks/{chunk-MLZC2B46.js → chunk-GT2FGICD.js} +1 -1
  50. package/chunks/{chunk-6RSJXDOE.js → chunk-HPZTOP4I.js} +75 -23
  51. package/chunks/{chunk-OTBK43JR.js → chunk-HYCC3XM3.js} +1 -1
  52. package/chunks/{chunk-MAJFZ73U.js → chunk-HZT4UCFB.js} +4 -4
  53. package/chunks/{chunk-VGU3SDPN.js → chunk-I2LYBGNI.js} +1 -1
  54. package/chunks/{chunk-TMBPDHXD.js → chunk-I4H7PRWQ.js} +1 -1
  55. package/chunks/{chunk-LUNAHBBC.js → chunk-J33ZR6OJ.js} +404 -4
  56. package/chunks/{chunk-MB7CQE2R.js → chunk-J7FA27RO.js} +109 -6
  57. package/chunks/{chunk-S566HKUS.js → chunk-JE5FVRPC.js} +38 -7
  58. package/chunks/{chunk-HKGTXQ2Q.js → chunk-JJXWTVSK.js} +1 -1
  59. package/chunks/{chunk-EEEZIVFJ.js → chunk-JOLIREYR.js} +1 -1
  60. package/chunks/{chunk-CGONIGON.js → chunk-JVHEVCAU.js} +5 -5
  61. package/chunks/chunk-K5XU6E4T.js +167 -0
  62. package/chunks/{chunk-EW6C27XX.js → chunk-KMGMKW5Q.js} +1 -1
  63. package/chunks/{chunk-B734I4XN.js → chunk-L7OKCI7T.js} +4 -2
  64. package/chunks/{chunk-3PPKH5TY.js → chunk-M2U5NM24.js} +188 -11366
  65. package/chunks/{chunk-PCTRA6JV.js → chunk-MNF6S5PR.js} +4 -4
  66. package/chunks/{chunk-FPACXT7T.js → chunk-N4EJFBN5.js} +421 -163
  67. package/chunks/chunk-NDOC6M5S.js +481 -0
  68. package/chunks/{chunk-HGNSRCRB.js → chunk-NL4C3H6C.js} +1 -1
  69. package/chunks/{chunk-GZCJS5WH.js → chunk-O2VBQ3Y2.js} +2 -2
  70. package/chunks/{chunk-Q47HB5BI.js → chunk-O75BHFQW.js} +10 -460
  71. package/chunks/{chunk-EPHYP7YA.js → chunk-ODLIHNOY.js} +1 -2
  72. package/chunks/{chunk-R44WETZC.js → chunk-PDE7CSDS.js} +2 -2
  73. package/chunks/{chunk-C7WPMYY6.js → chunk-PR32FRT6.js} +3 -3
  74. package/chunks/{chunk-7ACQGQWS.js → chunk-QE6KJYLT.js} +56 -29
  75. package/chunks/{chunk-3RJ3ZPPR.js → chunk-QI7GOGJR.js} +7 -7
  76. package/chunks/{chunk-XU5P23GN.js → chunk-QLDPRILK.js} +3 -3
  77. package/chunks/{chunk-S77J57YJ.js → chunk-QNKBEJO2.js} +359 -76
  78. package/chunks/{chunk-3MEMSFD3.js → chunk-QWFNTRH4.js} +1 -1
  79. package/chunks/chunk-QYUE6W3T.js +123 -0
  80. package/chunks/{chunk-WEOJMFUO.js → chunk-R5OP2ATH.js} +11 -11
  81. package/chunks/{chunk-BNXANYLH.js → chunk-RD6YJJJ6.js} +81 -1
  82. package/chunks/{chunk-3VWNMDXT.js → chunk-RRFZXMYP.js} +380 -400
  83. package/chunks/{chunk-ZN5T4BHI.js → chunk-RYLJU2DY.js} +1 -1
  84. package/chunks/{chunk-ZD3NW5KL.js → chunk-S7AKE7HL.js} +3 -3
  85. package/chunks/{chunk-BG4BIP7F.js → chunk-SBBN4BWR.js} +4 -2
  86. package/chunks/{chunk-T2VDEFUU.js → chunk-SKQZZVAV.js} +2 -2
  87. package/chunks/{chunk-EDEHJ6DO.js → chunk-SLNKLLEO.js} +14 -9
  88. package/chunks/chunk-SMXULRAN.js +37 -0
  89. package/chunks/{chunk-BUY35XTH.js → chunk-SMYQZVZ3.js} +1 -1
  90. package/chunks/{chunk-YTHAFW7O.js → chunk-STUWFKGD.js} +1001 -887
  91. package/chunks/{chunk-SFUYT3EQ.js → chunk-T4T2FNV4.js} +2 -2
  92. package/chunks/{chunk-F6XNTYNE.js → chunk-U3KSMM7G.js} +8 -4
  93. package/chunks/chunk-UFLGERMB.js +813 -0
  94. package/chunks/{chunk-BGUDAULQ.js → chunk-UO5GVXQE.js} +5 -5
  95. package/chunks/{chunk-C4K3FEQ2.js → chunk-UX4SGCGN.js} +32 -3
  96. package/chunks/{chunk-TWMKA4OQ.js → chunk-UYT3MWEB.js} +85 -8
  97. package/chunks/{chunk-5J3QYE2J.js → chunk-VBZ452JT.js} +113 -24
  98. package/chunks/{chunk-KBXLIVWQ.js → chunk-VVLOGDB6.js} +2 -2
  99. package/chunks/{chunk-TXVGVZYR.js → chunk-XJYUPHRC.js} +3 -3
  100. package/chunks/{chunk-2JD55C6G.js → chunk-Y6YMRS3U.js} +2 -2
  101. package/chunks/{chunk-ACZI6UDO.js → chunk-YAINVQ3Q.js} +2961 -1349
  102. package/chunks/{chunk-X6EDWN44.js → chunk-ZP6UKOPB.js} +1 -1
  103. package/chunks/{computer-use-6OUCN274.js → computer-use-JGB36FDW.js} +103 -52
  104. package/chunks/{contextCommand-M5IKMWCY.js → contextCommand-WYU6OQ2F.js} +26 -28
  105. package/chunks/{cron-create-4KQE6YLH.js → cron-create-SKEY55RG.js} +4 -4
  106. package/chunks/{cron-delete-THME66UP.js → cron-delete-I3NAT32Z.js} +6 -6
  107. package/chunks/{cron-list-7A54SJ5N.js → cron-list-6XRRL6TH.js} +5 -5
  108. package/chunks/daemon-status-provider-HH2EC5FI.js +65 -0
  109. package/chunks/{de-ACHALDED.js → de-EOW5PVHF.js} +1 -0
  110. package/chunks/{dist-BOOH5JWN.js → dist-663NZ6MI.js} +1 -1
  111. package/chunks/{dist-QHJRBCMP.js → dist-J37VXPLD.js} +46 -5
  112. package/chunks/{dist-OD2FY543.js → dist-LB6OGPVM.js} +1 -1
  113. package/chunks/{dist-BD27IA3L.js → dist-NHEYYB2B.js} +2 -2
  114. package/chunks/{dist-QFFZWACU.js → dist-PQPZ5Q4N.js} +1 -1
  115. package/chunks/{earlyInputCapture-HX4EHHVF.js → earlyInputCapture-44RISVVJ.js} +25 -27
  116. package/chunks/{edit-AHPBJWZO.js → edit-NN6GM5DT.js} +68 -30
  117. package/chunks/{en-NCUBOJOY.js → en-HPWEJBTR.js} +8 -0
  118. package/chunks/{enter-worktree-PB45KTMD.js → enter-worktree-PB3O2C7D.js} +24 -26
  119. package/chunks/{enterPlanMode-WBJ23SFX.js → enterPlanMode-YQFNNSUA.js} +24 -26
  120. package/chunks/{errors-OBDZ5XIW.js → errors-LS7XU5DZ.js} +26 -28
  121. package/chunks/{exit-worktree-VZK27UQY.js → exit-worktree-E2FTNSBK.js} +24 -26
  122. package/chunks/{exitPlanMode-SVJCUCD2.js → exitPlanMode-GLYK2BUB.js} +24 -26
  123. package/chunks/{fast-path-LCCPZVEW.js → fast-path-WQ6M7LI7.js} +4 -4
  124. package/chunks/{fast-path-settings-TSVI53EB.js → fast-path-settings-OAGU3X5H.js} +3 -2
  125. package/chunks/{fr-GVKZ27MF.js → fr-BN5NKSAC.js} +1 -0
  126. package/chunks/{gemini-NVIOUXR6.js → gemini-2YFLVA2M.js} +204 -103
  127. package/chunks/{geminiContentGenerator-35K5AQ5O.js → geminiContentGenerator-XV6SV6CD.js} +4 -4
  128. package/chunks/{glob-JU4Y7GPG.js → glob-2H6CDDMK.js} +24 -26
  129. package/chunks/{grep-J4B63YPZ.js → grep-VXIUXM3C.js} +24 -26
  130. package/chunks/{headlessSafetyWarnings-23EM5RH2.js → headlessSafetyWarnings-TBE35GJ4.js} +24 -26
  131. package/chunks/initializer-2Y7SLOKV.js +61 -0
  132. package/chunks/{ja-FKZ2WZ4D.js → ja-7DEUB2TS.js} +1 -0
  133. package/chunks/{keychain-token-storage-CSYMNRPP.js → keychain-token-storage-YLMDLKXT.js} +2 -2
  134. package/chunks/list-ZAFHZ7OS.js +65 -0
  135. package/chunks/loadedSettingsAdapter-6KJXD6M3.js +60 -0
  136. package/chunks/{loop-wakeup-33GPXJLA.js → loop-wakeup-CITGGQHA.js} +7 -7
  137. package/chunks/{ls-BYQY7RVV.js → ls-R5WP4BGZ.js} +4 -4
  138. package/chunks/{lsp-X54RO4IV.js → lsp-GSICJMMW.js} +2 -2
  139. package/chunks/{monitor-WU7WVFM2.js → monitor-HKLRS2HQ.js} +24 -26
  140. package/chunks/nonInteractiveCli-5W4GIZQM.js +96 -0
  141. package/chunks/{notebook-edit-UGVPLPX4.js → notebook-edit-Y6SKSGTT.js} +52 -26
  142. package/chunks/{openaiContentGenerator-TI3M5VNP.js → openaiContentGenerator-J7G2FYJT.js} +13 -14
  143. package/chunks/{pt-SY5NCFGR.js → pt-TNZRNLQB.js} +1 -0
  144. package/chunks/{qwenContentGenerator-7WDBLJ77.js → qwenContentGenerator-5XIEM5GV.js} +26 -28
  145. package/chunks/{qwenOAuth2-K4AASPCV.js → qwenOAuth2-AG3PFFLZ.js} +4 -4
  146. package/chunks/{read-file-Y4NNE7M7.js → read-file-J7D552ZJ.js} +9 -10
  147. package/chunks/{read-mcp-resource-I5HCZJ6X.js → read-mcp-resource-DQQW7H7T.js} +2 -2
  148. package/chunks/{ripGrep-I5KP7EQ7.js → ripGrep-IEIFIWP4.js} +24 -26
  149. package/chunks/{ru-FWNXJG4F.js → ru-NIAUBKCN.js} +1 -0
  150. package/chunks/{run-qwen-serve-VRHHXLVN.js → run-qwen-serve-SGEEVMXD.js} +149 -41
  151. package/chunks/{scheduler-MPIZJSXK.js → scheduler-7CQI3S4Q.js} +24 -26
  152. package/chunks/{send-message-2DAFXEYP.js → send-message-EE4TWKVU.js} +2 -2
  153. package/chunks/{serve-O2HA5D2Y.js → serve-V6GVZR6U.js} +31 -31
  154. package/chunks/{server-ZU5GPYYG.js → server-4QMUWXPW.js} +6996 -5864
  155. package/chunks/{session-TBV6PADC.js → session-NRO7UFOY.js} +62 -57
  156. package/chunks/{settings-2IYAFT2Z.js → settings-SGWRDQSC.js} +30 -30
  157. package/chunks/{shell-EZRRV6ET.js → shell-62ANGIHL.js} +24 -26
  158. package/chunks/{skill-2UPCJCHZ.js → skill-VWAQAWW6.js} +39 -13
  159. package/chunks/{spawnChannel-2LTBWDWZ.js → spawnChannel-3VHW5EPY.js} +26 -28
  160. package/chunks/{src-UKQZLQ6R.js → src-KUV5J5Q2.js} +52 -28
  161. package/chunks/{startInteractiveUI-C3TJCUJP.js → startInteractiveUI-6EYJN3JV.js} +2588 -2371
  162. package/chunks/{syntheticOutput-PPS3HDVA.js → syntheticOutput-T5YHQ6S2.js} +3 -3
  163. package/chunks/{task-create-OUYCA553.js → task-create-BLY7RHXX.js} +6 -6
  164. package/chunks/{task-list-WAX7I2IA.js → task-list-3QUYNVYR.js} +5 -5
  165. package/chunks/{task-stop-CAIL6FNH.js → task-stop-U4RATK2V.js} +2 -2
  166. package/chunks/{task-update-AHEO5OUT.js → task-update-U54O7KJX.js} +6 -6
  167. package/chunks/{team-create-3UXTW2MP.js → team-create-LPOGCPM7.js} +24 -26
  168. package/chunks/{team-delete-HGHFG23B.js → team-delete-LKBYPASD.js} +5 -5
  169. package/chunks/{theme-manager-3M5P6HST.js → theme-manager-LYLGAERF.js} +25 -27
  170. package/chunks/{todoWrite-IFBMN3FH.js → todoWrite-OYXKTVYN.js} +4 -4
  171. package/chunks/{tool-search-BHVIDD3W.js → tool-search-YPUFJ3ZQ.js} +102 -18
  172. package/chunks/trustedFolders-5B24TMEA.js +73 -0
  173. package/chunks/types-QX5C3CHJ.js +12 -0
  174. package/chunks/{validateNonInterActiveAuth-HHD2CROM.js → validateNonInterActiveAuth-BTDTYOVT.js} +57 -54
  175. package/chunks/{web-fetch-B5IIQ5TT.js → web-fetch-EEB5LZYU.js} +28 -15
  176. package/chunks/{workflow-PPOHBLSJ.js → workflow-LAWIW5LI.js} +32 -33
  177. package/chunks/workspace-providers-status-PIAFVYHA.js +62 -0
  178. package/chunks/workspace-service-YAIOD4HG.js +71 -0
  179. package/chunks/{write-file-44GS2JVH.js → write-file-PCV226DJ.js} +63 -30
  180. package/chunks/{zh-RBEGQVQT.js → zh-5EUYXASN.js} +8 -0
  181. package/chunks/{zh-TW-QGAVRXT3.js → zh-TW-TR3XYGE5.js} +8 -0
  182. package/cli-entry.js +20 -9
  183. package/cli.js +6 -6
  184. package/locales/ca.js +2 -0
  185. package/locales/de.js +2 -0
  186. package/locales/en.js +14 -0
  187. package/locales/fr.js +2 -0
  188. package/locales/ja.js +1 -0
  189. package/locales/pt.js +2 -0
  190. package/locales/ru.js +2 -0
  191. package/locales/zh-TW.js +12 -0
  192. package/locales/zh.js +12 -0
  193. package/node_modules/@qwen-code/audio-capture/dist/index.d.ts +35 -0
  194. package/node_modules/@qwen-code/audio-capture/dist/index.js +48 -0
  195. package/node_modules/@qwen-code/audio-capture/dist/index.js.map +1 -0
  196. package/node_modules/@qwen-code/audio-capture/dist/platform.d.ts +7 -0
  197. package/node_modules/@qwen-code/audio-capture/dist/platform.js +18 -0
  198. package/node_modules/@qwen-code/audio-capture/dist/platform.js.map +1 -0
  199. package/node_modules/@qwen-code/audio-capture/node_modules/node-gyp-build/LICENSE +21 -0
  200. package/node_modules/@qwen-code/audio-capture/node_modules/node-gyp-build/README.md +58 -0
  201. package/node_modules/@qwen-code/audio-capture/node_modules/node-gyp-build/SECURITY.md +5 -0
  202. package/node_modules/@qwen-code/audio-capture/node_modules/node-gyp-build/bin.js +84 -0
  203. package/node_modules/@qwen-code/audio-capture/node_modules/node-gyp-build/build-test.js +19 -0
  204. package/node_modules/@qwen-code/audio-capture/node_modules/node-gyp-build/index.js +6 -0
  205. package/node_modules/@qwen-code/audio-capture/node_modules/node-gyp-build/node-gyp-build.js +207 -0
  206. package/node_modules/@qwen-code/audio-capture/node_modules/node-gyp-build/optional.js +7 -0
  207. package/node_modules/@qwen-code/audio-capture/node_modules/node-gyp-build/package.json +43 -0
  208. package/node_modules/@qwen-code/audio-capture/package.json +30 -0
  209. package/node_modules/@qwen-code/audio-capture/prebuilds/darwin-arm64/@qwen-code+audio-capture.node +0 -0
  210. package/node_modules/@qwen-code/audio-capture/prebuilds/darwin-x64/@qwen-code+audio-capture.node +0 -0
  211. package/node_modules/@qwen-code/audio-capture/prebuilds/linux-arm64/@qwen-code+audio-capture.node +0 -0
  212. package/node_modules/@qwen-code/audio-capture/prebuilds/linux-x64/@qwen-code+audio-capture.node +0 -0
  213. package/node_modules/@qwen-code/audio-capture/prebuilds/win32-x64/@qwen-code+audio-capture.node +0 -0
  214. package/package.json +6 -3
  215. package/web-shell/assets/{arc-D_ae_Y9k.js → arc-DA7r8Ueo.js} +1 -1
  216. package/web-shell/assets/{architectureDiagram-3BPJPVTR-BMLRjppa.js → architectureDiagram-3BPJPVTR-ZDUxPtZ2.js} +1 -1
  217. package/web-shell/assets/{blockDiagram-GPEHLZMM-qVDQC8KL.js → blockDiagram-GPEHLZMM-vrtOf1kJ.js} +1 -1
  218. package/web-shell/assets/{c4Diagram-AAUBKEIU-CxWS6MBd.js → c4Diagram-AAUBKEIU-BHFjzIi4.js} +1 -1
  219. package/web-shell/assets/channel-iRo68q4Q.js +1 -0
  220. package/web-shell/assets/{chunk-2J33WTMH-BtNuY5Yp.js → chunk-2J33WTMH-mdeQVz59.js} +1 -1
  221. package/web-shell/assets/{chunk-4BX2VUAB-BU-x368d.js → chunk-4BX2VUAB-BkKMlwBX.js} +1 -1
  222. package/web-shell/assets/{chunk-55IACEB6-DRgTLvBu.js → chunk-55IACEB6-B7bnXNfu.js} +1 -1
  223. package/web-shell/assets/{chunk-727SXJPM-D2aElv7q.js → chunk-727SXJPM-DGz8Mm6i.js} +1 -1
  224. package/web-shell/assets/{chunk-AQP2D5EJ-BwHCMRQ0.js → chunk-AQP2D5EJ-BQAydUNk.js} +1 -1
  225. package/web-shell/assets/{chunk-FMBD7UC4-BMyPH-ku.js → chunk-FMBD7UC4-GHr2LN_p.js} +1 -1
  226. package/web-shell/assets/{chunk-ND2GUHAM-BNKTstUf.js → chunk-ND2GUHAM-7R91lnUx.js} +1 -1
  227. package/web-shell/assets/{chunk-QZHKN3VN-gD3vsFId.js → chunk-QZHKN3VN-aTJD3lSQ.js} +1 -1
  228. package/web-shell/assets/classDiagram-4FO5ZUOK-iHF24a8X.js +1 -0
  229. package/web-shell/assets/classDiagram-v2-Q7XG4LA2-iHF24a8X.js +1 -0
  230. package/web-shell/assets/{cose-bilkent-S5V4N54A-BG9FAsXE.js → cose-bilkent-S5V4N54A-BTf8t1RL.js} +1 -1
  231. package/web-shell/assets/{dagre-BM42HDAG-Cy1sR7om.js → dagre-BM42HDAG-_sgp3WuA.js} +1 -1
  232. package/web-shell/assets/default-aEtf0G7-.svg +1 -0
  233. package/web-shell/assets/{diagram-2AECGRRQ-Bxi1I_Vu.js → diagram-2AECGRRQ-CROtRy1w.js} +1 -1
  234. package/web-shell/assets/{diagram-5GNKFQAL-BGCJjO6y.js → diagram-5GNKFQAL-BqGRzwSc.js} +1 -1
  235. package/web-shell/assets/{diagram-KO2AKTUF-CMTeLXp7.js → diagram-KO2AKTUF-CMrcEtA7.js} +1 -1
  236. package/web-shell/assets/{diagram-LMA3HP47-BN1wyAGh.js → diagram-LMA3HP47-BRydGNW5.js} +1 -1
  237. package/web-shell/assets/{diagram-OG6HWLK6-UYSG_zcp.js → diagram-OG6HWLK6-D0ilgNjV.js} +1 -1
  238. package/web-shell/assets/{erDiagram-TEJ5UH35-DqXL08lw.js → erDiagram-TEJ5UH35-2lnQeJUM.js} +1 -1
  239. package/web-shell/assets/{flowDiagram-I6XJVG4X-BPJ9SFji.js → flowDiagram-I6XJVG4X-C_ZMdQiC.js} +1 -1
  240. package/web-shell/assets/{ganttDiagram-6RSMTGT7-BEd9Pnms.js → ganttDiagram-6RSMTGT7-Dw9V_Ny0.js} +1 -1
  241. package/web-shell/assets/{gitGraphDiagram-PVQCEYII-DrNRH3oi.js → gitGraphDiagram-PVQCEYII-HDXI-F1B.js} +1 -1
  242. package/web-shell/assets/index-CHmzAWys.css +5 -0
  243. package/web-shell/assets/index-w6GTOHh1.js +713 -0
  244. package/web-shell/assets/{infoDiagram-5YYISTIA-CFYBrkVI.js → infoDiagram-5YYISTIA-CuB8Ebua.js} +1 -1
  245. package/web-shell/assets/insert-DmRbh9Rv.svg +1 -0
  246. package/web-shell/assets/{ishikawaDiagram-YF4QCWOH-Dxsddth7.js → ishikawaDiagram-YF4QCWOH-D_tyhVwh.js} +1 -1
  247. package/web-shell/assets/{journeyDiagram-JHISSGLW-DxaDK80t.js → journeyDiagram-JHISSGLW-CgCwJQNU.js} +1 -1
  248. package/web-shell/assets/{kanban-definition-UN3LZRKU-Q0jQCOct.js → kanban-definition-UN3LZRKU-PZUtcbPx.js} +1 -1
  249. package/web-shell/assets/{linear-DGGM2kcP.js → linear-CZqRdJIU.js} +1 -1
  250. package/web-shell/assets/{mermaid.core-ByoxnWut.js → mermaid.core-CPW_4UEF.js} +5 -5
  251. package/web-shell/assets/{mindmap-definition-RKZ34NQL-C0ZseHsi.js → mindmap-definition-RKZ34NQL-D_Y75ID7.js} +1 -1
  252. package/web-shell/assets/{pieDiagram-4H26LBE5-MQXNhl5A.js → pieDiagram-4H26LBE5-Q4dTyLeF.js} +1 -1
  253. package/web-shell/assets/{quadrantDiagram-W4KKPZXB-DIR4ee2A.js → quadrantDiagram-W4KKPZXB-ckw329Ft.js} +1 -1
  254. package/web-shell/assets/queue-DWpnpFgW.svg +1 -0
  255. package/web-shell/assets/{requirementDiagram-4Y6WPE33-BTR0UdYQ.js → requirementDiagram-4Y6WPE33-DbVDm4It.js} +1 -1
  256. package/web-shell/assets/{sankeyDiagram-5OEKKPKP-sfnhMELN.js → sankeyDiagram-5OEKKPKP-CHuZ_ecH.js} +1 -1
  257. package/web-shell/assets/{sequenceDiagram-3UESZ5HK-DXczHOHH.js → sequenceDiagram-3UESZ5HK-DU2YSpq-.js} +1 -1
  258. package/web-shell/assets/{stateDiagram-AJRCARHV-DdE_KQFH.js → stateDiagram-AJRCARHV-CA9PEBUo.js} +1 -1
  259. package/web-shell/assets/stateDiagram-v2-BHNVJYJU-t1LRI0oY.js +1 -0
  260. package/web-shell/assets/{timeline-definition-PNZ67QCA-DIc61uE8.js → timeline-definition-PNZ67QCA-Bhlo4WVc.js} +1 -1
  261. package/web-shell/assets/{vennDiagram-CIIHVFJN-BF7ODmxB.js → vennDiagram-CIIHVFJN-6xtPLsyl.js} +1 -1
  262. package/web-shell/assets/{wardley-L42UT6IY-3pc1MEaw.js → wardley-L42UT6IY-3eozmXPf.js} +1 -1
  263. package/web-shell/assets/{wardleyDiagram-YWT4CUSO-9jnPcZuP.js → wardleyDiagram-YWT4CUSO-BOn6hKss.js} +1 -1
  264. package/web-shell/assets/{xychartDiagram-2RQKCTM6-DcthaZK6.js → xychartDiagram-2RQKCTM6-BsP4-I_y.js} +1 -1
  265. package/web-shell/index.html +2 -2
  266. package/chunks/chunk-5P5XGNYH.js +0 -93
  267. package/chunks/chunk-CL7QBVGW.js +0 -410
  268. package/chunks/chunk-SEZC2725.js +0 -36
  269. package/chunks/chunk-SYCJMSIJ.js +0 -82
  270. package/chunks/daemon-status-provider-TME7FJJD.js +0 -68
  271. package/chunks/initializer-GVY6XSFS.js +0 -61
  272. package/chunks/list-ZSIVGCZJ.js +0 -65
  273. package/chunks/loadedSettingsAdapter-KCX2EYFY.js +0 -60
  274. package/chunks/nonInteractiveCli-HNXJ6X6Z.js +0 -91
  275. package/chunks/workspace-providers-status-NAQJK6DP.js +0 -62
  276. package/chunks/workspace-service-YREVMAQD.js +0 -60
  277. package/web-shell/assets/channel-DYPNiTww.js +0 -1
  278. package/web-shell/assets/classDiagram-4FO5ZUOK-p_g25Tni.js +0 -1
  279. package/web-shell/assets/classDiagram-v2-Q7XG4LA2-p_g25Tni.js +0 -1
  280. package/web-shell/assets/index-CpOXWDPh.js +0 -714
  281. package/web-shell/assets/index-oVK7qhre.css +0 -5
  282. package/web-shell/assets/stateDiagram-v2-BHNVJYJU-BHUSEndU.js +0 -1
@@ -3,30 +3,30 @@
3
3
  import {
4
4
  handleAtCommand,
5
5
  resolveAtCommandQuery
6
- } from "./chunk-CL7QBVGW.js";
6
+ } from "./chunk-UFLGERMB.js";
7
7
  import {
8
8
  isAtCommand,
9
9
  isBtwCommand,
10
10
  isSlashCommand,
11
11
  normalizePartList,
12
12
  recordGoalStatusItem
13
- } from "./chunk-3VWNMDXT.js";
13
+ } from "./chunk-RRFZXMYP.js";
14
14
  import {
15
15
  SHELL_COMMAND_NAME,
16
16
  useSessionStats
17
- } from "./chunk-MB7CQE2R.js";
17
+ } from "./chunk-J7FA27RO.js";
18
18
  import {
19
19
  require_react
20
20
  } from "./chunk-KYMBIKIW.js";
21
21
  import {
22
22
  themeManager
23
- } from "./chunk-TMBPDHXD.js";
23
+ } from "./chunk-I4H7PRWQ.js";
24
24
  import {
25
25
  formatMemoryUsage
26
26
  } from "./chunk-KHDZHZMH.js";
27
27
  import {
28
28
  t
29
- } from "./chunk-WEOJMFUO.js";
29
+ } from "./chunk-R5OP2ATH.js";
30
30
  import {
31
31
  CoreToolScheduler,
32
32
  ShellExecutionService,
@@ -34,17 +34,19 @@ import {
34
34
  clearActiveGoal,
35
35
  compactToolResultDisplayForHistory,
36
36
  createDuplicateProviderToolCallResponse,
37
+ findRepeatedDuplicateProviderToolCall,
37
38
  generateToolUseSummary,
38
39
  getActiveGoal,
39
40
  hasImageParts,
40
41
  isBinary,
42
+ markDuplicateProviderToolCallResponseSent,
41
43
  parseAndFormatApiError,
42
44
  promptIdContext,
43
45
  runVisionBridge,
44
46
  setActiveGoal,
45
47
  shouldRunVisionBridge,
46
48
  splitImageParts
47
- } from "./chunk-ACZI6UDO.js";
49
+ } from "./chunk-YAINVQ3Q.js";
48
50
  import {
49
51
  ApiCancelEvent,
50
52
  ConversationFinishedEvent,
@@ -54,17 +56,17 @@ import {
54
56
  logConversationFinishedEvent,
55
57
  logUserPrompt,
56
58
  logUserRetry
57
- } from "./chunk-S77J57YJ.js";
59
+ } from "./chunk-QNKBEJO2.js";
58
60
  import {
59
61
  isAnyAutoMemPath
60
- } from "./chunk-BNXANYLH.js";
62
+ } from "./chunk-RD6YJJJ6.js";
61
63
  import {
62
64
  ToolNames
63
- } from "./chunk-TOEGRAVX.js";
65
+ } from "./chunk-BX5YO7UW.js";
64
66
  import {
65
67
  getUnsupportedImageFormatWarning,
66
68
  isSupportedImageMimeType
67
- } from "./chunk-F6XNTYNE.js";
69
+ } from "./chunk-U3KSMM7G.js";
68
70
  import {
69
71
  FinishReason
70
72
  } from "./chunk-55ZMG67I.js";
@@ -73,7 +75,7 @@ import {
73
75
  createDebugLogger,
74
76
  getErrorMessage,
75
77
  isNodeError
76
- } from "./chunk-C4K3FEQ2.js";
78
+ } from "./chunk-UX4SGCGN.js";
77
79
  import {
78
80
  init_esbuild_shims
79
81
  } from "./chunk-A4BMJM77.js";
@@ -744,32 +746,20 @@ import process from "node:process";
744
746
  var debugLogger3 = createDebugLogger("GEMINI_STREAM");
745
747
  var MID_TURN_AT_COMMAND_RESOLVE_TIMEOUT_MS = 1e4;
746
748
  var MID_TURN_AT_COMMAND_RESOLVE_TIMEOUT_MESSAGE = "Mid-turn @ command resolution timed out";
747
- var VISION_BRIDGE_TRANSCRIPT_NOTICE_LIMIT = 2048;
748
- var TERMINAL_CONTROL_CHARS = /[\u0000-\u0008\u000B-\u001F\u007F-\u009F]/g;
749
- function truncateVisionBridgeTranscript(transcript) {
750
- const safe = transcript.replace(TERMINAL_CONTROL_CHARS, "");
751
- if (safe.length <= VISION_BRIDGE_TRANSCRIPT_NOTICE_LIMIT) {
752
- return safe;
753
- }
754
- return `${safe.slice(0, VISION_BRIDGE_TRANSCRIPT_NOTICE_LIMIT).trimEnd()}
755
- [Transcript truncated]`;
756
- }
757
- __name(truncateVisionBridgeTranscript, "truncateVisionBridgeTranscript");
758
749
  function formatVisionBridgeNotice(result) {
759
750
  const modelName = result.modelId ?? "vision model";
760
751
  const target = result.modelEndpoint ? `${modelName} (${result.modelEndpoint})` : modelName;
761
752
  const egressNote = result.egressOccurred ? ` Your image and prompt/context were sent to ${target}.` : "";
762
753
  if (result.status === "failed") {
763
754
  const reason = result.egressOccurred ? "the vision model request failed" : "the vision bridge could not run";
764
- return `\u26A0 Vision bridge (${modelName}) failed: ${reason}.${egressNote} The image was not interpreted.`;
755
+ return `Vision bridge (${modelName}) failed: ${reason}.${egressNote} The image was not interpreted.`;
765
756
  }
766
757
  if (result.status === "skipped") {
767
- return `\u{1F50E} Vision bridge cancelled.${egressNote}`;
758
+ return `Vision bridge cancelled.${egressNote}`;
768
759
  }
769
760
  const omitted = result.omittedCount > 0 ? ` (${result.omittedCount} image(s) omitted)` : "";
770
- const header = `\u{1F50E} Converted ${result.convertedCount} image(s)${omitted} to text via ${target}. Your image and prompt/context were sent to that model.`;
771
- return result.transcript ? `${header}
772
- ${truncateVisionBridgeTranscript(result.transcript)}` : header;
761
+ const header = `Converted ${result.convertedCount} image(s)${omitted} to text via ${target}. Your image and prompt/context were sent to that model.`;
762
+ return header;
773
763
  }
774
764
  __name(formatVisionBridgeNotice, "formatVisionBridgeNotice");
775
765
  function extractLastAssistantText(history) {
@@ -956,6 +946,9 @@ var useGeminiStream = /* @__PURE__ */ __name((geminiClient, history, addItem, co
956
946
  const submitPromptOnCompleteRef = (0, import_react5.useRef)(null);
957
947
  const modelOverrideRef = (0, import_react5.useRef)(void 0);
958
948
  const handledProviderToolCallIdsRef = (0, import_react5.useRef)(/* @__PURE__ */ new Set());
949
+ const duplicateProviderToolCallResponseIdsRef = (0, import_react5.useRef)(
950
+ /* @__PURE__ */ new Set()
951
+ );
959
952
  const pendingDuplicateToolResponsesRef = (0, import_react5.useRef)([]);
960
953
  const immediateDuplicateToolResponsesRef = (0, import_react5.useRef)(null);
961
954
  const streamingResponseLengthRef = (0, import_react5.useRef)(0);
@@ -1129,6 +1122,7 @@ var useGeminiStream = /* @__PURE__ */ __name((geminiClient, history, addItem, co
1129
1122
  turnCancelledRef.current = true;
1130
1123
  isSubmittingQueryRef.current = false;
1131
1124
  abortControllerRef.current?.abort();
1125
+ const loopWakeupsCancelled = config.getCronScheduler()?.cancelAllWakeups() ?? 0;
1132
1126
  for (const ac of auxiliaryAbortRefsRef.current) {
1133
1127
  ac.abort();
1134
1128
  }
@@ -1138,7 +1132,8 @@ var useGeminiStream = /* @__PURE__ */ __name((geminiClient, history, addItem, co
1138
1132
  const cancellationEvent = new ApiCancelEvent(
1139
1133
  config.getModel(),
1140
1134
  prompt_id,
1141
- config.getContentGeneratorConfig()?.authType
1135
+ config.getContentGeneratorConfig()?.authType,
1136
+ loopWakeupsCancelled > 0 ? loopWakeupsCancelled : void 0
1142
1137
  );
1143
1138
  logApiCancel(config, cancellationEvent);
1144
1139
  if (pendingHistoryItemRef.current) {
@@ -1151,6 +1146,15 @@ var useGeminiStream = /* @__PURE__ */ __name((geminiClient, history, addItem, co
1151
1146
  },
1152
1147
  Date.now()
1153
1148
  );
1149
+ if (loopWakeupsCancelled > 0) {
1150
+ addItem(
1151
+ {
1152
+ type: "info" /* INFO */,
1153
+ text: `Stopped the self-paced loop: cancelled ${loopWakeupsCancelled} pending wakeup${loopWakeupsCancelled === 1 ? "" : "s"}.`
1154
+ },
1155
+ Date.now()
1156
+ );
1157
+ }
1154
1158
  setPendingHistoryItem(null);
1155
1159
  clearRetryCountdown();
1156
1160
  try {
@@ -1188,7 +1192,7 @@ var useGeminiStream = /* @__PURE__ */ __name((geminiClient, history, addItem, co
1188
1192
  if (bridgeResult.status !== "skipped" || bridgeResult.egressOccurred) {
1189
1193
  addItem(
1190
1194
  {
1191
- type: bridgeResult.status === "failed" ? "error" /* ERROR */ : "info" /* INFO */,
1195
+ type: bridgeResult.status === "failed" ? "error" /* ERROR */ : "vision_notice" /* VISION_NOTICE */,
1192
1196
  text: formatVisionBridgeNotice(bridgeResult)
1193
1197
  },
1194
1198
  timestamp
@@ -1427,6 +1431,7 @@ var useGeminiStream = /* @__PURE__ */ __name((geminiClient, history, addItem, co
1427
1431
  if (newThoughtBuffer.trim().length === 0) {
1428
1432
  return newThoughtBuffer;
1429
1433
  }
1434
+ streamingResponseLengthRef.current += thoughtText.length;
1430
1435
  const startingNewThought = currentThoughtBuffer.trim().length === 0;
1431
1436
  const description = startingNewThought ? stripLeadingBlankLines(newThoughtBuffer) : thoughtText;
1432
1437
  if (startingNewThought) {
@@ -1991,6 +1996,23 @@ var useGeminiStream = /* @__PURE__ */ __name((geminiClient, history, addItem, co
1991
1996
  const duplicateResponseParts = [];
1992
1997
  let duplicatePromptId;
1993
1998
  const historyCallIdsWithResponse = geminiClient ? geminiClient.getHistoryFunctionResponseIds() : /* @__PURE__ */ new Set();
1999
+ const handledProviderIds = /* @__PURE__ */ new Set([
2000
+ ...handledProviderToolCallIdsRef.current,
2001
+ ...historyCallIdsWithResponse
2002
+ ]);
2003
+ const repeatedDuplicateRequest = findRepeatedDuplicateProviderToolCall(
2004
+ toolCallRequests,
2005
+ (request) => request.providerCallId,
2006
+ handledProviderIds,
2007
+ duplicateProviderToolCallResponseIdsRef.current
2008
+ );
2009
+ if (repeatedDuplicateRequest?.providerCallId) {
2010
+ debugLogger3.debug(
2011
+ `[processGeminiStreamEvents] Dropping batch after repeated duplicate provider tool-call id: ${repeatedDuplicateRequest.providerCallId} (tool: ${repeatedDuplicateRequest.name})`
2012
+ );
2013
+ loopDetectedRef.current = true;
2014
+ return 0 /* Completed */;
2015
+ }
1994
2016
  for (const request of toolCallRequests) {
1995
2017
  const providerCallId = request.providerCallId;
1996
2018
  if (!providerCallId) {
@@ -1998,6 +2020,10 @@ var useGeminiStream = /* @__PURE__ */ __name((geminiClient, history, addItem, co
1998
2020
  continue;
1999
2021
  }
2000
2022
  if (handledProviderToolCallIdsRef.current.has(providerCallId) || historyCallIdsWithResponse.has(providerCallId)) {
2023
+ markDuplicateProviderToolCallResponseSent(
2024
+ providerCallId,
2025
+ duplicateProviderToolCallResponseIdsRef.current
2026
+ );
2001
2027
  const response = createDuplicateProviderToolCallResponse(request);
2002
2028
  debugLogger3.debug(
2003
2029
  `[processGeminiStreamEvents] Suppressing duplicate provider tool-call id: ${providerCallId} (tool: ${request.name})`
@@ -2073,6 +2099,7 @@ var useGeminiStream = /* @__PURE__ */ __name((geminiClient, history, addItem, co
2073
2099
  lastTurnUserItemRef.current = null;
2074
2100
  turnSawContentEventRef.current = false;
2075
2101
  handledProviderToolCallIdsRef.current.clear();
2102
+ duplicateProviderToolCallResponseIdsRef.current.clear();
2076
2103
  pendingDuplicateToolResponsesRef.current = [];
2077
2104
  immediateDuplicateToolResponsesRef.current = null;
2078
2105
  }
@@ -7,13 +7,15 @@ import {
7
7
  SETTINGS_DIRECTORY_NAME,
8
8
  V1_INDICATOR_KEYS,
9
9
  getGlobalQwenDirLite,
10
- getPathComparisonVariants,
11
10
  getSystemDefaultsPath,
12
11
  getSystemSettingsPath,
13
- isWithinRoot,
14
- require_strip_json_comments,
15
12
  resolveEnvVarsInObject
16
- } from "./chunk-UN3C6GOR.js";
13
+ } from "./chunk-CF6BB3LT.js";
14
+ import {
15
+ getPathComparisonVariants,
16
+ isWithinRoot,
17
+ require_strip_json_comments
18
+ } from "./chunk-QYUE6W3T.js";
17
19
  import {
18
20
  require_main
19
21
  } from "./chunk-SKAZWEV5.js";
@@ -272,9 +274,7 @@ function readTrustedFolderRulesFastPath() {
272
274
  __name(readTrustedFolderRulesFastPath, "readTrustedFolderRulesFastPath");
273
275
  function buildTrustedFolderRules(trustedFolders) {
274
276
  const rules = [];
275
- for (const [rulePath, trustLevel] of Object.entries(
276
- trustedFolders
277
- )) {
277
+ for (const [rulePath, trustLevel] of Object.entries(trustedFolders)) {
278
278
  if (trustLevel === TRUST_FOLDER) {
279
279
  rules.push({
280
280
  level: "trusted",
@@ -3,17 +3,17 @@
3
3
  import {
4
4
  getTasksDir,
5
5
  require_proper_lockfile
6
- } from "./chunk-2BIF2NVV.js";
6
+ } from "./chunk-BVSVIN45.js";
7
7
  import {
8
8
  Mutex
9
9
  } from "./chunk-OMX7CUOE.js";
10
10
  import {
11
11
  atomicWriteJSON
12
- } from "./chunk-3UALQ56H.js";
12
+ } from "./chunk-3227DZO4.js";
13
13
  import {
14
14
  createDebugLogger,
15
15
  isNodeError
16
- } from "./chunk-C4K3FEQ2.js";
16
+ } from "./chunk-UX4SGCGN.js";
17
17
  import {
18
18
  init_esbuild_shims
19
19
  } from "./chunk-A4BMJM77.js";