@qwen-code/qwen-code 0.19.2 → 0.19.3-nightly.20260630.e00fe6a27

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 (286) hide show
  1. package/bundled/extension-creator/SKILL.md +357 -0
  2. package/bundled/loop/SKILL.md +21 -7
  3. package/bundled/loop/SKILL.test.ts +41 -0
  4. package/bundled/loop/loop-task-file.test.ts +1064 -0
  5. package/bundled/loop/loop-task-file.ts +404 -0
  6. package/bundled/loop/loop-tick-resolver.test.ts +665 -0
  7. package/bundled/loop/loop-tick-resolver.ts +347 -0
  8. package/bundled/qc-helper/SKILL.md +26 -19
  9. package/bundled/qc-helper/docs/configuration/auth.md +11 -11
  10. package/bundled/qc-helper/docs/configuration/model-providers.md +13 -13
  11. package/bundled/qc-helper/docs/configuration/settings.md +76 -75
  12. package/bundled/qc-helper/docs/features/channels/plugins.md +1 -1
  13. package/bundled/qc-helper/docs/features/commands.md +108 -77
  14. package/bundled/qc-helper/docs/features/hooks.md +6 -1
  15. package/bundled/qc-helper/docs/features/memory.md +52 -0
  16. package/bundled/qc-helper/docs/qwen-serve.md +24 -2
  17. package/bundled/qc-helper/docs/support/tos-privacy.md +16 -3
  18. package/bundled/qc-helper/docs/support/troubleshooting.md +6 -0
  19. package/chunks/{MaxSizedBox-7RERNLFK.js → MaxSizedBox-T5X5MN5Q.js} +29 -27
  20. package/chunks/{StandaloneSessionPicker-S22XBSN6.js → StandaloneSessionPicker-P3E3WTOQ.js} +42 -37
  21. package/chunks/{acpAgent-4MCETHF2.js → acpAgent-QEP6DXFW.js} +864 -175
  22. package/chunks/{agent-K3ENVYSB.js → agent-UDANDUF7.js} +24 -23
  23. package/chunks/{agent-headless-HO3V3A3A.js → agent-headless-KYVSZHSO.js} +24 -23
  24. package/chunks/{anthropicContentGenerator-E3TQ5XJJ.js → anthropicContentGenerator-KWSJAQ7B.js} +33 -12
  25. package/chunks/{artifact-tool-QA4KRO3B.js → artifact-tool-D2X7G3C3.js} +2 -2
  26. package/chunks/{askUserQuestion-HMWXW6VN.js → askUserQuestion-UGETICJQ.js} +2 -2
  27. package/chunks/{bridge-4LV2HBH2.js → bridge-X42LXPTA.js} +31 -30
  28. package/chunks/{ca-7WC7ELX6.js → ca-IUFWESZL.js} +1 -0
  29. package/chunks/{chunk-JXQ23SNT.js → chunk-2JKEQWDZ.js} +623 -78
  30. package/chunks/{chunk-2TJ3YN6Q.js → chunk-2RJA6J57.js} +416 -401
  31. package/chunks/{chunk-3UALQ56H.js → chunk-3227DZO4.js} +1 -1
  32. package/chunks/{chunk-BGUDAULQ.js → chunk-3CPCDXFR.js} +5 -5
  33. package/chunks/{chunk-5RVSM6NW.js → chunk-3HUHAQF3.js} +1 -1
  34. package/chunks/{chunk-D5E5TMYH.js → chunk-3M4W4U5G.js} +16 -2
  35. package/chunks/{chunk-DBZUXSSV.js → chunk-4X7NIEQJ.js} +3 -3
  36. package/chunks/chunk-5GOVVXEV.js +73 -0
  37. package/chunks/{chunk-2BAQ3ACS.js → chunk-5SM4VT6V.js} +405 -5
  38. package/chunks/{chunk-NYOHZYHM.js → chunk-5XQ4A26L.js} +45 -3
  39. package/chunks/{chunk-CI5O6SQL.js → chunk-6FKEVYCD.js} +4 -4
  40. package/chunks/{chunk-ZD3NW5KL.js → chunk-7LM4XHPE.js} +63 -9
  41. package/chunks/chunk-7UNP2XM7.js +840 -0
  42. package/chunks/{chunk-OQHQHJRK.js → chunk-ARYCHZ4B.js} +151 -4775
  43. package/chunks/chunk-BC3C4F3Q.js +40 -0
  44. package/chunks/{chunk-CGEGHF2C.js → chunk-BKXBARJZ.js} +1 -1
  45. package/chunks/chunk-BMFMJINR.js +45 -0
  46. package/chunks/chunk-BOJWHRMX.js +11273 -0
  47. package/chunks/{chunk-CGOMICBE.js → chunk-BSZEQNUA.js} +34 -1
  48. package/chunks/{chunk-OIC6S73E.js → chunk-BUUQ5HPX.js} +1 -1
  49. package/chunks/{chunk-2BIF2NVV.js → chunk-BVSVIN45.js} +2 -2
  50. package/chunks/{chunk-TOEGRAVX.js → chunk-BX5YO7UW.js} +17 -5
  51. package/chunks/{chunk-4W4T77MO.js → chunk-BXVWV4GI.js} +109 -6
  52. package/chunks/{chunk-VQRYPFCV.js → chunk-CYHVPQYT.js} +10 -460
  53. package/chunks/{chunk-PRYMDRBV.js → chunk-DDMOU62Q.js} +1 -1
  54. package/chunks/{chunk-S566HKUS.js → chunk-DHXWNSJA.js} +15 -1
  55. package/chunks/{chunk-F6XNTYNE.js → chunk-E6XQPQXW.js} +30 -307
  56. package/chunks/{chunk-QBZ22PQX.js → chunk-EWALXUAD.js} +3 -1
  57. package/chunks/{chunk-EL5IHQON.js → chunk-EWYQFWYF.js} +6 -27
  58. package/chunks/{chunk-HG6YKEBI.js → chunk-F2DOT6UZ.js} +161 -30
  59. package/chunks/{chunk-JTYRZODB.js → chunk-FOOIZCWL.js} +16 -7
  60. package/chunks/{chunk-EX4W6ZYG.js → chunk-G5G4TFZ7.js} +1 -1
  61. package/chunks/{chunk-EW6C27XX.js → chunk-GEHVIWAT.js} +9 -3
  62. package/chunks/chunk-HEVBZSXG.js +4923 -0
  63. package/chunks/chunk-HFQ2XSE7.js +690 -0
  64. package/chunks/{chunk-PF523XJX.js → chunk-HPGTGMP3.js} +1 -1
  65. package/chunks/{chunk-OTBK43JR.js → chunk-HYCC3XM3.js} +1 -1
  66. package/chunks/{chunk-TMBPDHXD.js → chunk-I4H7PRWQ.js} +1 -1
  67. package/chunks/{chunk-EEEZIVFJ.js → chunk-JOLIREYR.js} +1 -1
  68. package/chunks/{chunk-TZM5JIAX.js → chunk-JYPQTRA3.js} +10 -7
  69. package/chunks/chunk-K5XU6E4T.js +167 -0
  70. package/chunks/{chunk-BS64PXY3.js → chunk-KFVU7ODN.js} +1 -1
  71. package/chunks/{chunk-3RJ3ZPPR.js → chunk-KKQWC6WS.js} +7 -7
  72. package/chunks/{chunk-3QFE4OTE.js → chunk-LBW7NW7X.js} +4 -4
  73. package/chunks/{chunk-Z7XXFPGP.js → chunk-LDWTYE33.js} +1 -1
  74. package/chunks/{chunk-EXMX5YHG.js → chunk-LP5E4YIH.js} +1 -1
  75. package/chunks/{chunk-ZUAXI2OA.js → chunk-M2U5NM24.js} +188 -11366
  76. package/chunks/{chunk-I5T6PIBQ.js → chunk-MBV2CTRL.js} +1010 -925
  77. package/chunks/{chunk-5JZLXFPD.js → chunk-MTHMXSNT.js} +11 -11
  78. package/chunks/{chunk-FPACXT7T.js → chunk-MTJVHQDP.js} +534 -164
  79. package/chunks/chunk-NDOC6M5S.js +481 -0
  80. package/chunks/{chunk-HGNSRCRB.js → chunk-NL4C3H6C.js} +1 -1
  81. package/chunks/{chunk-GZCJS5WH.js → chunk-O2VBQ3Y2.js} +2 -2
  82. package/chunks/{chunk-UN3C6GOR.js → chunk-PPFWEV7G.js} +10 -108
  83. package/chunks/{chunk-RS4HRC75.js → chunk-QI2CFVRF.js} +85 -8
  84. package/chunks/{chunk-XU5P23GN.js → chunk-QLDPRILK.js} +3 -3
  85. package/chunks/chunk-QYUE6W3T.js +123 -0
  86. package/chunks/{chunk-USGMPVOY.js → chunk-R3LHDWF2.js} +21 -12
  87. package/chunks/{chunk-BNXANYLH.js → chunk-RD6YJJJ6.js} +81 -1
  88. package/chunks/{chunk-PXFFKNCO.js → chunk-RIP623NO.js} +4877 -2469
  89. package/chunks/{chunk-XKBP7M7A.js → chunk-RYBSUGOR.js} +142 -30
  90. package/chunks/{chunk-BG4BIP7F.js → chunk-SBBN4BWR.js} +4 -2
  91. package/chunks/{chunk-T2VDEFUU.js → chunk-SKQZZVAV.js} +2 -2
  92. package/chunks/{chunk-5R4SBCX6.js → chunk-SL5MOGQH.js} +3 -3
  93. package/chunks/chunk-SMXULRAN.js +37 -0
  94. package/chunks/{chunk-WA5OJGFL.js → chunk-SS6WJMQK.js} +363 -76
  95. package/chunks/{chunk-UAARVVBI.js → chunk-TNWFHGN6.js} +1 -1
  96. package/chunks/{chunk-I2RFAW6Q.js → chunk-TT6Q3EN4.js} +7 -5
  97. package/chunks/chunk-UAKXW3DN.js +30 -0
  98. package/chunks/{chunk-C4K3FEQ2.js → chunk-UX4SGCGN.js} +32 -3
  99. package/chunks/{chunk-J6AW7O5D.js → chunk-WHDQZHRU.js} +2 -2
  100. package/chunks/{chunk-WGAEWQTF.js → chunk-WN6K47NR.js} +1 -2
  101. package/chunks/{chunk-UAARJR2G.js → chunk-WQT5SOI6.js} +2 -2
  102. package/chunks/{chunk-VYFMN7C6.js → chunk-WUMVIRTN.js} +225 -37
  103. package/chunks/{chunk-R36VMVEP.js → chunk-XJMKOTVV.js} +5 -5
  104. package/chunks/{chunk-TXVGVZYR.js → chunk-XJYUPHRC.js} +3 -3
  105. package/chunks/{chunk-2JD55C6G.js → chunk-Y6YMRS3U.js} +2 -2
  106. package/chunks/{chunk-LLFFKXZZ.js → chunk-YALKC62D.js} +56 -29
  107. package/chunks/{chunk-GYZQA2FO.js → chunk-YLZJCUH6.js} +1 -1
  108. package/chunks/chunk-YTFBURQD.js +313 -0
  109. package/chunks/{chunk-KBXLIVWQ.js → chunk-ZFPRYHWR.js} +2 -2
  110. package/chunks/{chunk-X6EDWN44.js → chunk-ZP6UKOPB.js} +1 -1
  111. package/chunks/{computer-use-6BBRNT6S.js → computer-use-LF2S6LUZ.js} +103 -49
  112. package/chunks/{contextCommand-UJAJ6N57.js → contextCommand-VPX5UG55.js} +26 -25
  113. package/chunks/{cron-create-4KQE6YLH.js → cron-create-SKEY55RG.js} +4 -4
  114. package/chunks/{cron-delete-THME66UP.js → cron-delete-I3NAT32Z.js} +6 -6
  115. package/chunks/{cron-list-7A54SJ5N.js → cron-list-6XRRL6TH.js} +5 -5
  116. package/chunks/{daemon-status-provider-CSL3BUOY.js → daemon-status-provider-5JAWZS4V.js} +34 -34
  117. package/chunks/{de-ACHALDED.js → de-EOW5PVHF.js} +1 -0
  118. package/chunks/{dist-BD27IA3L.js → dist-4FCNM6KJ.js} +2 -2
  119. package/chunks/{dist-OD2FY543.js → dist-O3H4PABL.js} +2 -2
  120. package/chunks/{dist-BOOH5JWN.js → dist-SCAAUWPS.js} +18 -4
  121. package/chunks/{dist-QHJRBCMP.js → dist-UKPWQJCL.js} +44 -2
  122. package/chunks/{dist-QFFZWACU.js → dist-VD7HXTML.js} +20 -9
  123. package/chunks/{earlyInputCapture-X6KMCSHD.js → earlyInputCapture-7FRQMU4P.js} +25 -24
  124. package/chunks/{edit-7J6WXARF.js → edit-REKJDIRL.js} +68 -27
  125. package/chunks/{en-NCUBOJOY.js → en-HPWEJBTR.js} +8 -0
  126. package/chunks/{enter-worktree-KULCKJPJ.js → enter-worktree-GBKUDCD3.js} +24 -23
  127. package/chunks/{enterPlanMode-H2CIOLMH.js → enterPlanMode-WB3Y4FGT.js} +24 -23
  128. package/chunks/{errors-6G2JYR54.js → errors-2XJDYO3M.js} +26 -25
  129. package/chunks/{exit-worktree-ECBWBVC5.js → exit-worktree-KKC7O2ZV.js} +24 -23
  130. package/chunks/{exitPlanMode-DQV56GTW.js → exitPlanMode-7HMS3TF7.js} +24 -23
  131. package/chunks/{fast-path-35JJFS3C.js → fast-path-XVNIYWGG.js} +4 -4
  132. package/chunks/{fast-path-settings-TSVI53EB.js → fast-path-settings-UQLRFDQP.js} +3 -2
  133. package/chunks/{fr-GVKZ27MF.js → fr-BN5NKSAC.js} +1 -0
  134. package/chunks/{gemini-NDTG7WAX.js → gemini-U5TPU3IQ.js} +210 -104
  135. package/chunks/{geminiContentGenerator-XTG6SFLA.js → geminiContentGenerator-ZVWRHXOO.js} +4 -4
  136. package/chunks/{glob-SJ2JBZK4.js → glob-FEJWIH2W.js} +24 -23
  137. package/chunks/{grep-BRMWFEWR.js → grep-KMP25IIA.js} +24 -23
  138. package/chunks/{headlessSafetyWarnings-LJ6FJX77.js → headlessSafetyWarnings-5DEDET4M.js} +24 -23
  139. package/chunks/{initializer-P5AXF7PV.js → initializer-FJTACLOH.js} +31 -28
  140. package/chunks/{ja-FKZ2WZ4D.js → ja-7DEUB2TS.js} +1 -0
  141. package/chunks/{keychain-token-storage-CSYMNRPP.js → keychain-token-storage-YLMDLKXT.js} +2 -2
  142. package/chunks/{list-6COK34BP.js → list-SCQXYJUW.js} +32 -29
  143. package/chunks/{loadedSettingsAdapter-XIUTN245.js → loadedSettingsAdapter-P6KPNAG7.js} +30 -27
  144. package/chunks/{loop-wakeup-33GPXJLA.js → loop-wakeup-FYEQEJUA.js} +7 -7
  145. package/chunks/{ls-BYQY7RVV.js → ls-R5WP4BGZ.js} +4 -4
  146. package/chunks/{lsp-X54RO4IV.js → lsp-GSICJMMW.js} +2 -2
  147. package/chunks/{monitor-DH7KFSJV.js → monitor-JU3HHHVY.js} +24 -23
  148. package/chunks/nonInteractiveCli-IZEKUHU3.js +100 -0
  149. package/chunks/{notebook-edit-D4R4ZLMA.js → notebook-edit-YHY3Z2QQ.js} +52 -23
  150. package/chunks/{openaiContentGenerator-F74IPQ6E.js → openaiContentGenerator-4WUVA3Q2.js} +13 -12
  151. package/chunks/{pt-SY5NCFGR.js → pt-TNZRNLQB.js} +1 -0
  152. package/chunks/{qwenContentGenerator-ATTK5P4D.js → qwenContentGenerator-MVYYR44B.js} +26 -25
  153. package/chunks/{qwenOAuth2-K4AASPCV.js → qwenOAuth2-6HNGHALT.js} +5 -4
  154. package/chunks/{read-file-767G23OY.js → read-file-NABEO2X4.js} +8 -8
  155. package/chunks/{read-mcp-resource-I5HCZJ6X.js → read-mcp-resource-DQQW7H7T.js} +2 -2
  156. package/chunks/{ripGrep-4OMMGSWX.js → ripGrep-YXLK6UTX.js} +24 -23
  157. package/chunks/{ru-FWNXJG4F.js → ru-NIAUBKCN.js} +1 -0
  158. package/chunks/{run-qwen-serve-REKSTYRA.js → run-qwen-serve-4B5QBMLQ.js} +144 -41
  159. package/chunks/{scheduler-UNTFDQLG.js → scheduler-XAKIYBDL.js} +24 -23
  160. package/chunks/{send-message-2DAFXEYP.js → send-message-EE4TWKVU.js} +2 -2
  161. package/chunks/{serve-KZ56QB5S.js → serve-4RXVLUKD.js} +30 -28
  162. package/chunks/{server-BV5TZUMU.js → server-7PA5QGIA.js} +11037 -8747
  163. package/chunks/{session-OIBXFSGD.js → session-WNVWRYAH.js} +194 -57
  164. package/chunks/{settings-WJTCBIRA.js → settings-YJH32TFF.js} +30 -27
  165. package/chunks/{shell-WC52IBHW.js → shell-YFLABOS5.js} +24 -23
  166. package/chunks/{skill-U7F7JR4M.js → skill-N3J7FUAY.js} +38 -11
  167. package/chunks/{spawnChannel-EI2E5BCW.js → spawnChannel-D6WVMFZJ.js} +26 -25
  168. package/chunks/{src-4F6FBZFI.js → src-IU5GDBEH.js} +88 -28
  169. package/chunks/{startInteractiveUI-SFRVB3CE.js → startInteractiveUI-QIPQTRT4.js} +2784 -2474
  170. package/chunks/{syntheticOutput-PPS3HDVA.js → syntheticOutput-T5YHQ6S2.js} +3 -3
  171. package/chunks/{task-create-OUYCA553.js → task-create-BLY7RHXX.js} +6 -6
  172. package/chunks/{task-list-WAX7I2IA.js → task-list-3QUYNVYR.js} +5 -5
  173. package/chunks/{task-stop-CAIL6FNH.js → task-stop-U4RATK2V.js} +2 -2
  174. package/chunks/{task-update-AHEO5OUT.js → task-update-U54O7KJX.js} +6 -6
  175. package/chunks/{team-create-3WC7CIIW.js → team-create-TP4CLLM3.js} +24 -23
  176. package/chunks/{team-delete-HGHFG23B.js → team-delete-LKBYPASD.js} +5 -5
  177. package/chunks/{theme-manager-DICFCT3P.js → theme-manager-N2TBIBZT.js} +25 -24
  178. package/chunks/{todoWrite-IFBMN3FH.js → todoWrite-OYXKTVYN.js} +4 -4
  179. package/chunks/{tool-search-L5K7HLER.js → tool-search-GBBSICYB.js} +101 -16
  180. package/chunks/trustedFolders-F7TBU5CD.js +76 -0
  181. package/chunks/types-QX5C3CHJ.js +12 -0
  182. package/chunks/{validateNonInterActiveAuth-GCH4Z6KI.js → validateNonInterActiveAuth-EQDQPSMI.js} +55 -50
  183. package/chunks/{web-fetch-B5IIQ5TT.js → web-fetch-PCVCML2X.js} +29 -15
  184. package/chunks/{workflow-OB3AND7I.js → workflow-ANJ4FYBK.js} +32 -30
  185. package/chunks/{workspace-providers-status-ZIR5EPOO.js → workspace-providers-status-462QQKQM.js} +32 -29
  186. package/chunks/workspace-service-VTG4G6CW.js +75 -0
  187. package/chunks/{write-file-SEXBNDZM.js → write-file-3P3WMQQW.js} +63 -27
  188. package/chunks/{zh-RBEGQVQT.js → zh-5EUYXASN.js} +8 -0
  189. package/chunks/{zh-TW-QGAVRXT3.js → zh-TW-TR3XYGE5.js} +8 -0
  190. package/cli-entry.js +20 -9
  191. package/cli.js +6 -6
  192. package/locales/ca.js +2 -0
  193. package/locales/de.js +2 -0
  194. package/locales/en.js +14 -0
  195. package/locales/fr.js +2 -0
  196. package/locales/ja.js +1 -0
  197. package/locales/pt.js +2 -0
  198. package/locales/ru.js +2 -0
  199. package/locales/zh-TW.js +12 -0
  200. package/locales/zh.js +12 -0
  201. package/node_modules/@qwen-code/audio-capture/dist/index.d.ts +35 -0
  202. package/node_modules/@qwen-code/audio-capture/dist/index.js +48 -0
  203. package/node_modules/@qwen-code/audio-capture/dist/index.js.map +1 -0
  204. package/node_modules/@qwen-code/audio-capture/dist/platform.d.ts +7 -0
  205. package/node_modules/@qwen-code/audio-capture/dist/platform.js +18 -0
  206. package/node_modules/@qwen-code/audio-capture/dist/platform.js.map +1 -0
  207. package/node_modules/@qwen-code/audio-capture/node_modules/node-gyp-build/LICENSE +21 -0
  208. package/node_modules/@qwen-code/audio-capture/node_modules/node-gyp-build/README.md +58 -0
  209. package/node_modules/@qwen-code/audio-capture/node_modules/node-gyp-build/SECURITY.md +5 -0
  210. package/node_modules/@qwen-code/audio-capture/node_modules/node-gyp-build/bin.js +84 -0
  211. package/node_modules/@qwen-code/audio-capture/node_modules/node-gyp-build/build-test.js +19 -0
  212. package/node_modules/@qwen-code/audio-capture/node_modules/node-gyp-build/index.js +6 -0
  213. package/node_modules/@qwen-code/audio-capture/node_modules/node-gyp-build/node-gyp-build.js +207 -0
  214. package/node_modules/@qwen-code/audio-capture/node_modules/node-gyp-build/optional.js +7 -0
  215. package/node_modules/@qwen-code/audio-capture/node_modules/node-gyp-build/package.json +43 -0
  216. package/node_modules/@qwen-code/audio-capture/package.json +30 -0
  217. package/node_modules/@qwen-code/audio-capture/prebuilds/darwin-arm64/@qwen-code+audio-capture.node +0 -0
  218. package/node_modules/@qwen-code/audio-capture/prebuilds/darwin-x64/@qwen-code+audio-capture.node +0 -0
  219. package/node_modules/@qwen-code/audio-capture/prebuilds/linux-arm64/@qwen-code+audio-capture.node +0 -0
  220. package/node_modules/@qwen-code/audio-capture/prebuilds/linux-x64/@qwen-code+audio-capture.node +0 -0
  221. package/node_modules/@qwen-code/audio-capture/prebuilds/win32-x64/@qwen-code+audio-capture.node +0 -0
  222. package/package.json +18 -6
  223. package/patches/chrome-devtools-mcp+1.4.0.patch +31 -0
  224. package/postinstall.js +50 -0
  225. package/web-shell/assets/{arc-D_ae_Y9k.js → arc-DIemsO_F.js} +1 -1
  226. package/web-shell/assets/{architectureDiagram-3BPJPVTR-BMLRjppa.js → architectureDiagram-3BPJPVTR-CTlUvIQv.js} +1 -1
  227. package/web-shell/assets/{blockDiagram-GPEHLZMM-qVDQC8KL.js → blockDiagram-GPEHLZMM-DG0jmIZK.js} +1 -1
  228. package/web-shell/assets/{c4Diagram-AAUBKEIU-CxWS6MBd.js → c4Diagram-AAUBKEIU-WljDBi55.js} +1 -1
  229. package/web-shell/assets/channel-CbzRbdpA.js +1 -0
  230. package/web-shell/assets/{chunk-2J33WTMH-BtNuY5Yp.js → chunk-2J33WTMH-8nc6onr2.js} +1 -1
  231. package/web-shell/assets/{chunk-4BX2VUAB-BU-x368d.js → chunk-4BX2VUAB-EopXix8Z.js} +1 -1
  232. package/web-shell/assets/{chunk-55IACEB6-DRgTLvBu.js → chunk-55IACEB6-BE4Jz3N3.js} +1 -1
  233. package/web-shell/assets/{chunk-727SXJPM-D2aElv7q.js → chunk-727SXJPM-C_eErgDN.js} +1 -1
  234. package/web-shell/assets/{chunk-AQP2D5EJ-BwHCMRQ0.js → chunk-AQP2D5EJ-DFtVW-Is.js} +1 -1
  235. package/web-shell/assets/{chunk-FMBD7UC4-BMyPH-ku.js → chunk-FMBD7UC4-CJPyxIg9.js} +1 -1
  236. package/web-shell/assets/{chunk-ND2GUHAM-BNKTstUf.js → chunk-ND2GUHAM-Bk-xgj6M.js} +1 -1
  237. package/web-shell/assets/{chunk-QZHKN3VN-gD3vsFId.js → chunk-QZHKN3VN-p3Y4yaFB.js} +1 -1
  238. package/web-shell/assets/classDiagram-4FO5ZUOK-BFdyQ52h.js +1 -0
  239. package/web-shell/assets/classDiagram-v2-Q7XG4LA2-BFdyQ52h.js +1 -0
  240. package/web-shell/assets/{cose-bilkent-S5V4N54A-BG9FAsXE.js → cose-bilkent-S5V4N54A-BCMO6Js3.js} +1 -1
  241. package/web-shell/assets/{dagre-BM42HDAG-Cy1sR7om.js → dagre-BM42HDAG-DUMrwASf.js} +1 -1
  242. package/web-shell/assets/default-aEtf0G7-.svg +1 -0
  243. package/web-shell/assets/{diagram-2AECGRRQ-Bxi1I_Vu.js → diagram-2AECGRRQ-C5d7qJbL.js} +1 -1
  244. package/web-shell/assets/{diagram-5GNKFQAL-BGCJjO6y.js → diagram-5GNKFQAL-CjLzMhbT.js} +1 -1
  245. package/web-shell/assets/{diagram-KO2AKTUF-CMTeLXp7.js → diagram-KO2AKTUF-RCoNWeAm.js} +1 -1
  246. package/web-shell/assets/{diagram-LMA3HP47-BN1wyAGh.js → diagram-LMA3HP47-KThXjaNV.js} +1 -1
  247. package/web-shell/assets/{diagram-OG6HWLK6-UYSG_zcp.js → diagram-OG6HWLK6-DKsC2BWz.js} +1 -1
  248. package/web-shell/assets/{erDiagram-TEJ5UH35-DqXL08lw.js → erDiagram-TEJ5UH35-DJ2ukmq0.js} +1 -1
  249. package/web-shell/assets/{flowDiagram-I6XJVG4X-BPJ9SFji.js → flowDiagram-I6XJVG4X-zzqaARRX.js} +1 -1
  250. package/web-shell/assets/{ganttDiagram-6RSMTGT7-BEd9Pnms.js → ganttDiagram-6RSMTGT7-kFUg-gqT.js} +1 -1
  251. package/web-shell/assets/{gitGraphDiagram-PVQCEYII-DrNRH3oi.js → gitGraphDiagram-PVQCEYII-C6JnMVzD.js} +1 -1
  252. package/web-shell/assets/index-B3XUm7dw.js +713 -0
  253. package/web-shell/assets/index-CHmzAWys.css +5 -0
  254. package/web-shell/assets/{infoDiagram-5YYISTIA-CFYBrkVI.js → infoDiagram-5YYISTIA-XqPVhp89.js} +1 -1
  255. package/web-shell/assets/insert-DmRbh9Rv.svg +1 -0
  256. package/web-shell/assets/{ishikawaDiagram-YF4QCWOH-Dxsddth7.js → ishikawaDiagram-YF4QCWOH-D2k8sGpf.js} +1 -1
  257. package/web-shell/assets/{journeyDiagram-JHISSGLW-DxaDK80t.js → journeyDiagram-JHISSGLW-CQEST1GE.js} +1 -1
  258. package/web-shell/assets/{kanban-definition-UN3LZRKU-Q0jQCOct.js → kanban-definition-UN3LZRKU-DZ7kqVBC.js} +1 -1
  259. package/web-shell/assets/{linear-DGGM2kcP.js → linear-B6C_6q_E.js} +1 -1
  260. package/web-shell/assets/{mermaid.core-ByoxnWut.js → mermaid.core-CsyNP1qt.js} +5 -5
  261. package/web-shell/assets/{mindmap-definition-RKZ34NQL-C0ZseHsi.js → mindmap-definition-RKZ34NQL-B1VDIzJq.js} +1 -1
  262. package/web-shell/assets/{pieDiagram-4H26LBE5-MQXNhl5A.js → pieDiagram-4H26LBE5-DN0E7Jwu.js} +1 -1
  263. package/web-shell/assets/{quadrantDiagram-W4KKPZXB-DIR4ee2A.js → quadrantDiagram-W4KKPZXB-UKTQdHKm.js} +1 -1
  264. package/web-shell/assets/queue-DWpnpFgW.svg +1 -0
  265. package/web-shell/assets/{requirementDiagram-4Y6WPE33-BTR0UdYQ.js → requirementDiagram-4Y6WPE33-BRGceQvN.js} +1 -1
  266. package/web-shell/assets/{sankeyDiagram-5OEKKPKP-sfnhMELN.js → sankeyDiagram-5OEKKPKP-2DDyu41v.js} +1 -1
  267. package/web-shell/assets/{sequenceDiagram-3UESZ5HK-DXczHOHH.js → sequenceDiagram-3UESZ5HK-CT5iE8ZU.js} +1 -1
  268. package/web-shell/assets/{stateDiagram-AJRCARHV-DdE_KQFH.js → stateDiagram-AJRCARHV-CqMQ_s4G.js} +1 -1
  269. package/web-shell/assets/stateDiagram-v2-BHNVJYJU-CamhV5pM.js +1 -0
  270. package/web-shell/assets/{timeline-definition-PNZ67QCA-DIc61uE8.js → timeline-definition-PNZ67QCA-Di37QSZU.js} +1 -1
  271. package/web-shell/assets/{vennDiagram-CIIHVFJN-BF7ODmxB.js → vennDiagram-CIIHVFJN-DCXvpz5S.js} +1 -1
  272. package/web-shell/assets/{wardley-L42UT6IY-3pc1MEaw.js → wardley-L42UT6IY-CpUCk6OX.js} +1 -1
  273. package/web-shell/assets/{wardleyDiagram-YWT4CUSO-9jnPcZuP.js → wardleyDiagram-YWT4CUSO-D01pVEBg.js} +1 -1
  274. package/web-shell/assets/{xychartDiagram-2RQKCTM6-DcthaZK6.js → xychartDiagram-2RQKCTM6-DOu5JDoz.js} +1 -1
  275. package/web-shell/index.html +2 -2
  276. package/chunks/chunk-B6HQGTYR.js +0 -410
  277. package/chunks/chunk-R2BXK7SX.js +0 -13
  278. package/chunks/chunk-RKIZXJMB.js +0 -13
  279. package/chunks/nonInteractiveCli-7575LBXP.js +0 -91
  280. package/chunks/workspace-service-OM5D4OI2.js +0 -60
  281. package/web-shell/assets/channel-DYPNiTww.js +0 -1
  282. package/web-shell/assets/classDiagram-4FO5ZUOK-p_g25Tni.js +0 -1
  283. package/web-shell/assets/classDiagram-v2-Q7XG4LA2-p_g25Tni.js +0 -1
  284. package/web-shell/assets/index-CpOXWDPh.js +0 -714
  285. package/web-shell/assets/index-oVK7qhre.css +0 -5
  286. package/web-shell/assets/stateDiagram-v2-BHNVJYJU-BHUSEndU.js +0 -1
@@ -2,7 +2,7 @@
2
2
  "use strict";
3
3
  import {
4
4
  ChannelBase
5
- } from "./chunk-JXQ23SNT.js";
5
+ } from "./chunk-2JKEQWDZ.js";
6
6
  import "./chunk-UFC57OYT.js";
7
7
  import "./chunk-K5PGHDBN.js";
8
8
  import {
@@ -9658,6 +9658,21 @@ function splitHtmlForTelegram(text) {
9658
9658
  __name(splitHtmlForTelegram, "splitHtmlForTelegram");
9659
9659
 
9660
9660
  // packages/channels/telegram/dist/TelegramAdapter.js
9661
+ var TELEGRAM_BOT_COMMANDS = [
9662
+ { command: "start", description: "Show quick-start help" },
9663
+ { command: "help", description: "Show available commands" },
9664
+ { command: "new", description: "Start a fresh conversation" },
9665
+ { command: "cancel", description: "Cancel the running request" },
9666
+ { command: "status", description: "Show session info" }
9667
+ ];
9668
+ var TELEGRAM_START_MESSAGE = [
9669
+ "Qwen Code Telegram bot",
9670
+ "",
9671
+ "Send any message to chat with Qwen Code.",
9672
+ "Use /new to start a fresh conversation.",
9673
+ "Use /cancel to stop a running request.",
9674
+ "Use /help to see available commands."
9675
+ ].join("\n");
9661
9676
  var TelegramChannel = class extends ChannelBase {
9662
9677
  static {
9663
9678
  __name(this, "TelegramChannel");
@@ -9673,6 +9688,11 @@ var TelegramChannel = class extends ChannelBase {
9673
9688
  }
9674
9689
  } : void 0;
9675
9690
  this.bot = new import_grammy.Bot(config.token, botConfig);
9691
+ this.registerCommand("start", async (envelope) => {
9692
+ await this.sendMessage(envelope.chatId, TELEGRAM_START_MESSAGE);
9693
+ return true;
9694
+ });
9695
+ this.registerCancelCommand();
9676
9696
  }
9677
9697
  getFileUrl(filePath) {
9678
9698
  return `https://api.telegram.org/file/bot${this.bot.token}/${filePath}`;
@@ -9681,6 +9701,7 @@ var TelegramChannel = class extends ChannelBase {
9681
9701
  const botInfo = await this.bot.api.getMe();
9682
9702
  this.botId = botInfo.id;
9683
9703
  this.botUsername = botInfo.username ?? "";
9704
+ await this.registerBotCommands();
9684
9705
  this.bot.on("message:text", async (ctx) => {
9685
9706
  const msg = ctx.message;
9686
9707
  const text = msg.text;
@@ -9803,6 +9824,14 @@ var TelegramChannel = class extends ChannelBase {
9803
9824
  process.once("SIGINT", () => this.bot.stop());
9804
9825
  process.once("SIGTERM", () => this.bot.stop());
9805
9826
  }
9827
+ async registerBotCommands() {
9828
+ try {
9829
+ await this.bot.api.setMyCommands(TELEGRAM_BOT_COMMANDS);
9830
+ } catch (err) {
9831
+ process.stderr.write(`[Telegram:${this.name}] Failed to register bot commands: ${err instanceof Error ? err.message : err}
9832
+ `);
9833
+ }
9834
+ }
9806
9835
  /** Per-chat typing interval — repeats every 4s since Telegram expires it after 5s. */
9807
9836
  typingIntervals = /* @__PURE__ */ new Map();
9808
9837
  onPromptStart(chatId) {
@@ -9843,7 +9872,20 @@ var TelegramChannel = class extends ChannelBase {
9843
9872
  }
9844
9873
  buildEnvelope(msg, text, entities) {
9845
9874
  const isGroup = msg.chat.type === "group" || msg.chat.type === "supergroup";
9846
- const isMentioned = entities?.some((e) => e.type === "mention" && this.botUsername && text.slice(e.offset, e.offset + e.length).toLowerCase() === `@${this.botUsername.toLowerCase()}`) ?? false;
9875
+ const isMentioned = entities?.some((e) => {
9876
+ if (!this.botUsername)
9877
+ return false;
9878
+ const value = text.slice(e.offset, e.offset + e.length).toLowerCase();
9879
+ const username = this.botUsername.toLowerCase();
9880
+ if (e.type === "mention") {
9881
+ return value === `@${username}`;
9882
+ }
9883
+ if (e.type === "bot_command") {
9884
+ const mentionIndex = value.indexOf("@");
9885
+ return mentionIndex !== -1 && value.slice(mentionIndex + 1) === username;
9886
+ }
9887
+ return false;
9888
+ }) ?? false;
9847
9889
  const isReplyToBot = msg.reply_to_message?.from?.id === this.botId;
9848
9890
  let cleanText = text;
9849
9891
  if (isMentioned && this.botUsername) {
@@ -3,8 +3,11 @@
3
3
  import {
4
4
  ChannelBase,
5
5
  SessionRouter,
6
- getGlobalQwenDir
7
- } from "./chunk-JXQ23SNT.js";
6
+ getGlobalQwenDir,
7
+ sanitizeLogText,
8
+ sanitizePromptText,
9
+ sanitizeSenderName
10
+ } from "./chunk-2JKEQWDZ.js";
8
11
  import "./chunk-UFC57OYT.js";
9
12
  import "./chunk-K5PGHDBN.js";
10
13
  import {
@@ -1483,7 +1486,11 @@ var QQChannel = class extends ChannelBase {
1483
1486
  const sessionsPath = join2(stateDir, `${safeName}-sessions.json`);
1484
1487
  const hasExternalRouter = Boolean(options?.router);
1485
1488
  const router = options?.router ?? new SessionRouter(bridge, config.cwd, config.sessionScope, sessionsPath);
1486
- super(name, config, bridge, { ...options, router });
1489
+ super(name, config, bridge, {
1490
+ ...options,
1491
+ router,
1492
+ registerBridgeEvents: options?.registerBridgeEvents ?? !hasExternalRouter
1493
+ });
1487
1494
  this.qqConfig = config;
1488
1495
  this.qqStatePath = join2(stateDir, `${safeName}-state.json`);
1489
1496
  this.globalSessionsPath = hasExternalRouter ? join2(stateDir, "sessions.json") : sessionsPath;
@@ -1696,15 +1703,16 @@ var QQChannel = class extends ChannelBase {
1696
1703
  }
1697
1704
  }
1698
1705
  /**
1699
- * Workaround for SessionRouter.restoreSessions() storing undefined sessionIds
1700
- * when ACP bridge.loadSession() fails to return a session_id.
1706
+ * Compatibility repair for legacy restored session state where older router
1707
+ * code could keep an empty session id after bridge.loadSession() failed to
1708
+ * return a session_id.
1701
1709
  *
1702
1710
  * **Fragile**: accesses SessionRouter's private `toSession`/`toTarget`/`toCwd`
1703
1711
  * maps via type coercion. If SessionRouter internals change, this breaks
1704
1712
  * silently. The only signal will be cross-server conversations failing to
1705
1713
  * restore after daemon restart — no crash, no log.
1706
1714
  *
1707
- * If upstream SessionRouter adds a public fix for this, remove this method.
1715
+ * Keep this while old persisted files may still exist.
1708
1716
  */
1709
1717
  fixRestoredSessions() {
1710
1718
  try {
@@ -2095,11 +2103,13 @@ var QQChannel = class extends ChannelBase {
2095
2103
  if (!cleanText)
2096
2104
  return;
2097
2105
  const isSlash = cleanText.startsWith("/");
2106
+ const safeName = sanitizeSenderName(senderName);
2098
2107
  if (isSlash) {
2099
- process.stderr.write(`[QQ:${this.name}] Slash cmd from ${senderName} (${chatId}): ${cleanText}
2108
+ const loggedCmd = sanitizeLogText(cleanText, 80);
2109
+ process.stderr.write(`[QQ:${this.name}] Slash cmd from ${safeName} (${chatId}): ${loggedCmd}
2100
2110
  `);
2101
2111
  }
2102
- const text = isSlash ? cleanText : `[${senderName}]: ${cleanText}`;
2112
+ const text = isSlash ? cleanText : `[${safeName}]: ${sanitizePromptText(cleanText)}`;
2103
2113
  this.handleInbound({
2104
2114
  channelName: this.name,
2105
2115
  senderId: event.author.user_openid || event.author.id,
@@ -2111,7 +2121,8 @@ var QQChannel = class extends ChannelBase {
2111
2121
  isMentioned: true,
2112
2122
  // QQ Bot only receives group messages when explicitly @mentioned, so
2113
2123
  // every group message is semantically a reply to the bot.
2114
- isReplyToBot: true
2124
+ isReplyToBot: true,
2125
+ ...isSlash ? {} : { alreadyPrefixed: true }
2115
2126
  }).catch((e) => process.stderr.write(`[QQ:${this.name}] Group handler error: ${e}
2116
2127
  `));
2117
2128
  }
@@ -7,48 +7,49 @@ import {
7
7
  startEarlyInputCapture,
8
8
  stopAndGetCapturedInput,
9
9
  stopEarlyInputCapture
10
- } from "./chunk-X6EDWN44.js";
11
- import "./chunk-PXFFKNCO.js";
10
+ } from "./chunk-ZP6UKOPB.js";
11
+ import "./chunk-RIP623NO.js";
12
12
  import "./chunk-K5PGHDBN.js";
13
13
  import "./chunk-5P5XGNYH.js";
14
14
  import "./chunk-SKAZWEV5.js";
15
- import "./chunk-TXVGVZYR.js";
16
- import "./chunk-XU5P23GN.js";
17
- import "./chunk-2BIF2NVV.js";
18
- import "./chunk-BG4BIP7F.js";
19
- import "./chunk-ZD3NW5KL.js";
15
+ import "./chunk-XJYUPHRC.js";
16
+ import "./chunk-QLDPRILK.js";
17
+ import "./chunk-BVSVIN45.js";
18
+ import "./chunk-SBBN4BWR.js";
19
+ import "./chunk-7LM4XHPE.js";
20
20
  import "./chunk-2MPVVENX.js";
21
21
  import "./chunk-ZTQ26VBE.js";
22
- import "./chunk-GZCJS5WH.js";
22
+ import "./chunk-O2VBQ3Y2.js";
23
23
  import "./chunk-MLZQVCF3.js";
24
24
  import "./chunk-LQ7TMOCE.js";
25
25
  import "./chunk-LD2XBG6Z.js";
26
- import "./chunk-OTBK43JR.js";
27
- import "./chunk-HGNSRCRB.js";
28
- import "./chunk-EEEZIVFJ.js";
29
- import "./chunk-PRYMDRBV.js";
30
- import "./chunk-WA5OJGFL.js";
26
+ import "./chunk-HYCC3XM3.js";
27
+ import "./chunk-NL4C3H6C.js";
28
+ import "./chunk-JOLIREYR.js";
29
+ import "./chunk-DDMOU62Q.js";
30
+ import "./chunk-SS6WJMQK.js";
31
31
  import "./chunk-3PJXIDKI.js";
32
32
  import "./chunk-UWCTAVOD.js";
33
33
  import "./chunk-OFEVLU4C.js";
34
34
  import "./chunk-OMX7CUOE.js";
35
- import "./chunk-BNXANYLH.js";
36
- import "./chunk-T2VDEFUU.js";
37
- import "./chunk-OIC6S73E.js";
38
- import "./chunk-TOEGRAVX.js";
39
- import "./chunk-BGUDAULQ.js";
40
- import "./chunk-EW6C27XX.js";
35
+ import "./chunk-RD6YJJJ6.js";
36
+ import "./chunk-SKQZZVAV.js";
37
+ import "./chunk-BUUQ5HPX.js";
38
+ import "./chunk-BX5YO7UW.js";
39
+ import "./chunk-3CPCDXFR.js";
40
+ import "./chunk-GEHVIWAT.js";
41
41
  import "./chunk-22IFUCVR.js";
42
- import "./chunk-64WXLC72.js";
43
- import "./chunk-3UALQ56H.js";
44
- import "./chunk-F6XNTYNE.js";
45
- import "./chunk-CGEGHF2C.js";
42
+ import "./chunk-3227DZO4.js";
43
+ import "./chunk-YTFBURQD.js";
44
+ import "./chunk-BKXBARJZ.js";
46
45
  import "./chunk-IRJWHZWU.js";
47
46
  import "./chunk-SYCJMSIJ.js";
48
47
  import "./chunk-55ZMG67I.js";
49
48
  import "./chunk-H6BD2ELD.js";
50
49
  import "./chunk-5IFG2VC4.js";
51
- import "./chunk-C4K3FEQ2.js";
50
+ import "./chunk-64WXLC72.js";
51
+ import "./chunk-E6XQPQXW.js";
52
+ import "./chunk-UX4SGCGN.js";
52
53
  import "./chunk-ZERZSAZL.js";
53
54
  import "./chunk-QN5NZ3UQ.js";
54
55
  import "./chunk-BR4QREVK.js";
@@ -1,5 +1,8 @@
1
1
  // Force strict mode and setup for ESM
2
2
  "use strict";
3
+ import {
4
+ checkTeamMemorySecrets
5
+ } from "./chunk-K5XU6E4T.js";
3
6
  import {
4
7
  CommitAttributionService,
5
8
  DEFAULT_DIFF_OPTIONS,
@@ -11,25 +14,25 @@ import {
11
14
  getDiffStat,
12
15
  needsUtf8Bom,
13
16
  safeLiteralReplace
14
- } from "./chunk-PXFFKNCO.js";
17
+ } from "./chunk-RIP623NO.js";
15
18
  import "./chunk-K5PGHDBN.js";
16
19
  import "./chunk-5P5XGNYH.js";
17
20
  import "./chunk-SKAZWEV5.js";
18
- import "./chunk-TXVGVZYR.js";
19
- import "./chunk-XU5P23GN.js";
20
- import "./chunk-2BIF2NVV.js";
21
- import "./chunk-BG4BIP7F.js";
22
- import "./chunk-ZD3NW5KL.js";
21
+ import "./chunk-XJYUPHRC.js";
22
+ import "./chunk-QLDPRILK.js";
23
+ import "./chunk-BVSVIN45.js";
24
+ import "./chunk-SBBN4BWR.js";
25
+ import "./chunk-7LM4XHPE.js";
23
26
  import "./chunk-2MPVVENX.js";
24
27
  import "./chunk-ZTQ26VBE.js";
25
- import "./chunk-GZCJS5WH.js";
28
+ import "./chunk-O2VBQ3Y2.js";
26
29
  import "./chunk-MLZQVCF3.js";
27
30
  import "./chunk-LQ7TMOCE.js";
28
31
  import "./chunk-LD2XBG6Z.js";
29
- import "./chunk-OTBK43JR.js";
30
- import "./chunk-HGNSRCRB.js";
31
- import "./chunk-EEEZIVFJ.js";
32
- import "./chunk-PRYMDRBV.js";
32
+ import "./chunk-HYCC3XM3.js";
33
+ import "./chunk-NL4C3H6C.js";
34
+ import "./chunk-JOLIREYR.js";
35
+ import "./chunk-DDMOU62Q.js";
33
36
  import {
34
37
  FileOperationEvent,
35
38
  ReadFileTool,
@@ -37,40 +40,42 @@ import {
37
40
  getLanguageFromFilePath,
38
41
  getSpecificMimeType,
39
42
  logFileOperation
40
- } from "./chunk-WA5OJGFL.js";
43
+ } from "./chunk-SS6WJMQK.js";
41
44
  import "./chunk-3PJXIDKI.js";
42
45
  import "./chunk-UWCTAVOD.js";
43
46
  import "./chunk-OFEVLU4C.js";
44
47
  import "./chunk-OMX7CUOE.js";
45
48
  import {
46
- isAnyAutoMemPath
47
- } from "./chunk-BNXANYLH.js";
48
- import "./chunk-T2VDEFUU.js";
49
- import "./chunk-OIC6S73E.js";
49
+ isAnyAutoMemPath,
50
+ isTeamAutoMemPath
51
+ } from "./chunk-RD6YJJJ6.js";
52
+ import "./chunk-SKQZZVAV.js";
53
+ import "./chunk-BUUQ5HPX.js";
50
54
  import {
51
55
  BaseDeclarativeTool,
52
56
  ToolDisplayNames,
53
57
  ToolNames
54
- } from "./chunk-TOEGRAVX.js";
55
- import "./chunk-BGUDAULQ.js";
56
- import "./chunk-EW6C27XX.js";
58
+ } from "./chunk-BX5YO7UW.js";
59
+ import "./chunk-3CPCDXFR.js";
60
+ import "./chunk-GEHVIWAT.js";
57
61
  import "./chunk-22IFUCVR.js";
58
- import "./chunk-64WXLC72.js";
59
- import "./chunk-3UALQ56H.js";
60
- import "./chunk-F6XNTYNE.js";
61
- import "./chunk-CGEGHF2C.js";
62
+ import "./chunk-3227DZO4.js";
63
+ import "./chunk-YTFBURQD.js";
64
+ import "./chunk-BKXBARJZ.js";
62
65
  import "./chunk-IRJWHZWU.js";
63
66
  import "./chunk-SYCJMSIJ.js";
64
67
  import "./chunk-55ZMG67I.js";
65
68
  import "./chunk-H6BD2ELD.js";
66
69
  import "./chunk-5IFG2VC4.js";
70
+ import "./chunk-64WXLC72.js";
71
+ import "./chunk-E6XQPQXW.js";
67
72
  import {
68
73
  createDebugLogger,
69
74
  isNodeError,
70
75
  makeRelative,
71
76
  shortenPath,
72
77
  unescapePath
73
- } from "./chunk-C4K3FEQ2.js";
78
+ } from "./chunk-UX4SGCGN.js";
74
79
  import "./chunk-ZERZSAZL.js";
75
80
  import "./chunk-QN5NZ3UQ.js";
76
81
  import "./chunk-BR4QREVK.js";
@@ -565,6 +570,26 @@ var EditToolInvocation = class {
565
570
  type: "edit_no_change" /* EDIT_NO_CHANGE */
566
571
  };
567
572
  }
573
+ if (!error) {
574
+ const teamMemoryError = checkTeamMemorySecrets(
575
+ params.file_path,
576
+ newContent,
577
+ this.config.getProjectRoot()
578
+ );
579
+ if (teamMemoryError) {
580
+ const preExisting = currentContent !== null && checkTeamMemorySecrets(
581
+ params.file_path,
582
+ currentContent,
583
+ this.config.getProjectRoot()
584
+ ) !== null;
585
+ const message = preExisting ? `${teamMemoryError} Note: the secret already exists in the current file content, so removing it from your edit alone is not enough \u2014 delete the committed secret from the file.` : teamMemoryError;
586
+ error = {
587
+ display: message,
588
+ raw: message,
589
+ type: "invalid_tool_params" /* INVALID_TOOL_PARAMS */
590
+ };
591
+ }
592
+ }
568
593
  return {
569
594
  currentContent,
570
595
  newContent,
@@ -577,12 +602,20 @@ var EditToolInvocation = class {
577
602
  };
578
603
  }
579
604
  /**
580
- * Edit operations always need user confirmation, except for managed
581
- * auto-memory files which are written autonomously by the model.
605
+ * Edit operations always need user confirmation, except for the private
606
+ * managed auto-memory files (user/project) which are written autonomously.
607
+ * Team memory is shared and committed to the repo, so it is NOT auto-allowed
608
+ * like the private tiers — edits default to 'ask'. (In AUTO_EDIT/YOLO the user
609
+ * has globally opted into auto-approval; team writes still surface in the git
610
+ * diff for review before commit.)
582
611
  */
583
612
  async getDefaultPermission() {
584
613
  const projectRoot = this.config.getProjectRoot();
585
- if (isAnyAutoMemPath(path.resolve(this.params.file_path), projectRoot)) {
614
+ const filePath = path.resolve(this.params.file_path);
615
+ if (isTeamAutoMemPath(filePath, projectRoot)) {
616
+ return "ask";
617
+ }
618
+ if (isAnyAutoMemPath(filePath, projectRoot)) {
586
619
  return "allow";
587
620
  }
588
621
  return "ask";
@@ -889,6 +922,14 @@ Expectation for required parameters:
889
922
  if (!path.isAbsolute(params.file_path)) {
890
923
  return `File path must be absolute: ${params.file_path}`;
891
924
  }
925
+ const teamMemoryError = checkTeamMemorySecrets(
926
+ params.file_path,
927
+ params.new_string ?? "",
928
+ this.config.getProjectRoot()
929
+ );
930
+ if (teamMemoryError) {
931
+ return teamMemoryError;
932
+ }
892
933
  return null;
893
934
  }
894
935
  createInvocation(params) {
@@ -590,6 +590,7 @@ var en_default = {
590
590
  "Show usage statistics dashboard.": "Show usage statistics dashboard.",
591
591
  "Show model-specific usage statistics.": "Show model-specific usage statistics.",
592
592
  "Show tool-specific usage statistics.": "Show tool-specific usage statistics.",
593
+ "Show skill-specific usage statistics.": "Show skill-specific usage statistics.",
593
594
  "Show daily token usage statistics.": "Show daily token usage statistics.",
594
595
  "Show monthly token usage statistics.": "Show monthly token usage statistics.",
595
596
  "Export token usage statistics to CSV or JSON.": "Export token usage statistics to CSV or JSON.",
@@ -1084,11 +1085,16 @@ var en_default = {
1084
1085
  // ============================================================================
1085
1086
  "Switch the model for this session (--fast for suggestion model, [model-id] to switch immediately).": "Switch the model for this session (--fast for suggestion model, [model-id] to switch immediately).",
1086
1087
  "Switch the model for this session (--fast for suggestion model, --voice for voice transcription model, [model-id] to switch immediately).": "Switch the model for this session (--fast for suggestion model, --voice for voice transcription model, [model-id] to switch immediately).",
1088
+ "Switch the model for this session (--fast for suggestion model, --voice for voice transcription model, --vision for the vision bridge model, [model-id] to switch immediately).": "Switch the model for this session (--fast for suggestion model, --voice for voice transcription model, --vision for the vision bridge model, [model-id] to switch immediately).",
1089
+ "\u26A0 '{{model}}' is not a known image-capable model; the vision bridge may fail on images.": "\u26A0 '{{model}}' is not a known image-capable model; the vision bridge may fail on images.",
1087
1090
  "Set a lighter model for prompt suggestions and speculative execution": "Set a lighter model for prompt suggestions and speculative execution",
1088
1091
  "Toggle voice dictation input": "Toggle voice dictation input",
1089
1092
  "Set the model for voice transcription": "Set the model for voice transcription",
1093
+ "Set the image-capable model used to transcribe images for a text-only main model": "Set the image-capable model used to transcribe images for a text-only main model",
1090
1094
  "Select Fast Model": "Select Fast Model",
1095
+ "Select Vision Model": "Select Vision Model",
1091
1096
  "Select Voice Model": "Select Voice Model",
1097
+ "Vision Model": "Vision Model",
1092
1098
  "Voice Model": "Voice Model",
1093
1099
  "Selected voice model is unavailable.": "Selected voice model is unavailable.",
1094
1100
  "Voice model '{{model}}' is configured more than once. Remove duplicate model ids before selecting it for voice transcription.": "Voice model '{{model}}' is configured more than once. Remove duplicate model ids before selecting it for voice transcription.",
@@ -1260,6 +1266,7 @@ var en_default = {
1260
1266
  video: "video",
1261
1267
  "not set": "not set",
1262
1268
  'Current voice model: {{voiceModel}}\nUse "/model --voice <model-id>" to set voice model.': 'Current voice model: {{voiceModel}}\nUse "/model --voice <model-id>" to set voice model.',
1269
+ 'Current vision model: {{visionModel}}\nUse "/model --vision <model-id>" to set the vision bridge model.': 'Current vision model: {{visionModel}}\nUse "/model --vision <model-id>" to set the vision bridge model.',
1263
1270
  "Voice model '{{modelName}}' is ambiguous. Configure a unique model id before using /model --voice.": "Voice model '{{modelName}}' is ambiguous. Configure a unique model id before using /model --voice.",
1264
1271
  none: "none",
1265
1272
  unknown: "unknown",
@@ -1450,6 +1457,7 @@ var en_default = {
1450
1457
  "No tasks currently running": "No tasks currently running",
1451
1458
  "No entry to show.": "No entry to show.",
1452
1459
  "needs approval": "needs approval",
1460
+ "rejected \u2014 edit config to re-approve": "rejected \u2014 edit config to re-approve",
1453
1461
  "Background agent needs approval": "Background agent needs approval",
1454
1462
  "Approve or deny the request above": "Approve or deny the request above",
1455
1463
  Running: "Running",
@@ -4,54 +4,55 @@ import {
4
4
  GitWorktreeService,
5
5
  writeWorktreeSession,
6
6
  writeWorktreeSessionMarker
7
- } from "./chunk-PXFFKNCO.js";
7
+ } from "./chunk-RIP623NO.js";
8
8
  import "./chunk-K5PGHDBN.js";
9
9
  import "./chunk-5P5XGNYH.js";
10
10
  import "./chunk-SKAZWEV5.js";
11
- import "./chunk-TXVGVZYR.js";
12
- import "./chunk-XU5P23GN.js";
13
- import "./chunk-2BIF2NVV.js";
14
- import "./chunk-BG4BIP7F.js";
15
- import "./chunk-ZD3NW5KL.js";
11
+ import "./chunk-XJYUPHRC.js";
12
+ import "./chunk-QLDPRILK.js";
13
+ import "./chunk-BVSVIN45.js";
14
+ import "./chunk-SBBN4BWR.js";
15
+ import "./chunk-7LM4XHPE.js";
16
16
  import "./chunk-2MPVVENX.js";
17
17
  import "./chunk-ZTQ26VBE.js";
18
- import "./chunk-GZCJS5WH.js";
18
+ import "./chunk-O2VBQ3Y2.js";
19
19
  import "./chunk-MLZQVCF3.js";
20
20
  import "./chunk-LQ7TMOCE.js";
21
21
  import "./chunk-LD2XBG6Z.js";
22
- import "./chunk-OTBK43JR.js";
23
- import "./chunk-HGNSRCRB.js";
24
- import "./chunk-EEEZIVFJ.js";
25
- import "./chunk-PRYMDRBV.js";
26
- import "./chunk-WA5OJGFL.js";
22
+ import "./chunk-HYCC3XM3.js";
23
+ import "./chunk-NL4C3H6C.js";
24
+ import "./chunk-JOLIREYR.js";
25
+ import "./chunk-DDMOU62Q.js";
26
+ import "./chunk-SS6WJMQK.js";
27
27
  import "./chunk-3PJXIDKI.js";
28
28
  import "./chunk-UWCTAVOD.js";
29
29
  import "./chunk-OFEVLU4C.js";
30
30
  import "./chunk-OMX7CUOE.js";
31
- import "./chunk-BNXANYLH.js";
32
- import "./chunk-T2VDEFUU.js";
33
- import "./chunk-OIC6S73E.js";
31
+ import "./chunk-RD6YJJJ6.js";
32
+ import "./chunk-SKQZZVAV.js";
33
+ import "./chunk-BUUQ5HPX.js";
34
34
  import {
35
35
  BaseDeclarativeTool,
36
36
  BaseToolInvocation,
37
37
  ToolDisplayNames,
38
38
  ToolNames
39
- } from "./chunk-TOEGRAVX.js";
40
- import "./chunk-BGUDAULQ.js";
41
- import "./chunk-EW6C27XX.js";
39
+ } from "./chunk-BX5YO7UW.js";
40
+ import "./chunk-3CPCDXFR.js";
41
+ import "./chunk-GEHVIWAT.js";
42
42
  import "./chunk-22IFUCVR.js";
43
- import "./chunk-64WXLC72.js";
44
- import "./chunk-3UALQ56H.js";
45
- import "./chunk-F6XNTYNE.js";
46
- import "./chunk-CGEGHF2C.js";
43
+ import "./chunk-3227DZO4.js";
44
+ import "./chunk-YTFBURQD.js";
45
+ import "./chunk-BKXBARJZ.js";
47
46
  import "./chunk-IRJWHZWU.js";
48
47
  import "./chunk-SYCJMSIJ.js";
49
48
  import "./chunk-55ZMG67I.js";
50
49
  import "./chunk-H6BD2ELD.js";
51
50
  import "./chunk-5IFG2VC4.js";
51
+ import "./chunk-64WXLC72.js";
52
+ import "./chunk-E6XQPQXW.js";
52
53
  import {
53
54
  createDebugLogger
54
- } from "./chunk-C4K3FEQ2.js";
55
+ } from "./chunk-UX4SGCGN.js";
55
56
  import "./chunk-ZERZSAZL.js";
56
57
  import "./chunk-QN5NZ3UQ.js";
57
58
  import "./chunk-BR4QREVK.js";
@@ -1,53 +1,54 @@
1
1
  // Force strict mode and setup for ESM
2
2
  "use strict";
3
- import "./chunk-PXFFKNCO.js";
3
+ import "./chunk-RIP623NO.js";
4
4
  import "./chunk-K5PGHDBN.js";
5
5
  import "./chunk-5P5XGNYH.js";
6
6
  import "./chunk-SKAZWEV5.js";
7
- import "./chunk-TXVGVZYR.js";
8
- import "./chunk-XU5P23GN.js";
9
- import "./chunk-2BIF2NVV.js";
10
- import "./chunk-BG4BIP7F.js";
11
- import "./chunk-ZD3NW5KL.js";
7
+ import "./chunk-XJYUPHRC.js";
8
+ import "./chunk-QLDPRILK.js";
9
+ import "./chunk-BVSVIN45.js";
10
+ import "./chunk-SBBN4BWR.js";
11
+ import "./chunk-7LM4XHPE.js";
12
12
  import "./chunk-2MPVVENX.js";
13
13
  import "./chunk-ZTQ26VBE.js";
14
- import "./chunk-GZCJS5WH.js";
14
+ import "./chunk-O2VBQ3Y2.js";
15
15
  import "./chunk-MLZQVCF3.js";
16
16
  import "./chunk-LQ7TMOCE.js";
17
17
  import "./chunk-LD2XBG6Z.js";
18
- import "./chunk-OTBK43JR.js";
19
- import "./chunk-HGNSRCRB.js";
20
- import "./chunk-EEEZIVFJ.js";
21
- import "./chunk-PRYMDRBV.js";
22
- import "./chunk-WA5OJGFL.js";
18
+ import "./chunk-HYCC3XM3.js";
19
+ import "./chunk-NL4C3H6C.js";
20
+ import "./chunk-JOLIREYR.js";
21
+ import "./chunk-DDMOU62Q.js";
22
+ import "./chunk-SS6WJMQK.js";
23
23
  import "./chunk-3PJXIDKI.js";
24
24
  import "./chunk-UWCTAVOD.js";
25
25
  import "./chunk-OFEVLU4C.js";
26
26
  import "./chunk-OMX7CUOE.js";
27
- import "./chunk-BNXANYLH.js";
28
- import "./chunk-T2VDEFUU.js";
29
- import "./chunk-OIC6S73E.js";
27
+ import "./chunk-RD6YJJJ6.js";
28
+ import "./chunk-SKQZZVAV.js";
29
+ import "./chunk-BUUQ5HPX.js";
30
30
  import {
31
31
  BaseDeclarativeTool,
32
32
  BaseToolInvocation,
33
33
  ToolDisplayNames,
34
34
  ToolNames
35
- } from "./chunk-TOEGRAVX.js";
36
- import "./chunk-BGUDAULQ.js";
37
- import "./chunk-EW6C27XX.js";
35
+ } from "./chunk-BX5YO7UW.js";
36
+ import "./chunk-3CPCDXFR.js";
37
+ import "./chunk-GEHVIWAT.js";
38
38
  import "./chunk-22IFUCVR.js";
39
- import "./chunk-64WXLC72.js";
40
- import "./chunk-3UALQ56H.js";
41
- import "./chunk-F6XNTYNE.js";
42
- import "./chunk-CGEGHF2C.js";
39
+ import "./chunk-3227DZO4.js";
40
+ import "./chunk-YTFBURQD.js";
41
+ import "./chunk-BKXBARJZ.js";
43
42
  import "./chunk-IRJWHZWU.js";
44
43
  import "./chunk-SYCJMSIJ.js";
45
44
  import "./chunk-55ZMG67I.js";
46
45
  import "./chunk-H6BD2ELD.js";
47
46
  import "./chunk-5IFG2VC4.js";
47
+ import "./chunk-64WXLC72.js";
48
+ import "./chunk-E6XQPQXW.js";
48
49
  import {
49
50
  createDebugLogger
50
- } from "./chunk-C4K3FEQ2.js";
51
+ } from "./chunk-UX4SGCGN.js";
51
52
  import "./chunk-ZERZSAZL.js";
52
53
  import "./chunk-QN5NZ3UQ.js";
53
54
  import "./chunk-BR4QREVK.js";