@qwen-code/qwen-code 0.19.2 → 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-7RERNLFK.js → MaxSizedBox-QNF3EIGU.js} +29 -30
  13. package/chunks/{StandaloneSessionPicker-S22XBSN6.js → StandaloneSessionPicker-Z52JTYST.js} +42 -40
  14. package/chunks/{acpAgent-4MCETHF2.js → acpAgent-7RZUOWOM.js} +406 -118
  15. package/chunks/{agent-K3ENVYSB.js → agent-4FG7WTHJ.js} +24 -26
  16. package/chunks/{agent-headless-HO3V3A3A.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-4LV2HBH2.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-JTYRZODB.js → chunk-3TV3HUWZ.js} +16 -7
  24. package/chunks/{chunk-NYOHZYHM.js → chunk-4LUZAKMK.js} +45 -3
  25. package/chunks/{chunk-EL5IHQON.js → chunk-4QK3O43S.js} +6 -27
  26. package/chunks/chunk-5GOVVXEV.js +73 -0
  27. package/chunks/{chunk-R36VMVEP.js → chunk-6V4NZFUS.js} +5 -5
  28. package/chunks/{chunk-XKBP7M7A.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-5RVSM6NW.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-I2RFAW6Q.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-OQHQHJRK.js → chunk-F3ZYSEY6.js} +151 -4775
  45. package/chunks/chunk-FKAVULLM.js +4909 -0
  46. package/chunks/{chunk-TZM5JIAX.js → chunk-FNJ7BDPH.js} +6 -6
  47. package/chunks/{chunk-EXMX5YHG.js → chunk-FXKVLFFY.js} +1 -1
  48. package/chunks/{chunk-EX4W6ZYG.js → chunk-GGBIN5K7.js} +1 -1
  49. package/chunks/{chunk-BS64PXY3.js → chunk-GT2FGICD.js} +1 -1
  50. package/chunks/{chunk-HG6YKEBI.js → chunk-HPZTOP4I.js} +75 -23
  51. package/chunks/{chunk-OTBK43JR.js → chunk-HYCC3XM3.js} +1 -1
  52. package/chunks/{chunk-3QFE4OTE.js → chunk-HZT4UCFB.js} +4 -4
  53. package/chunks/{chunk-GYZQA2FO.js → chunk-I2LYBGNI.js} +1 -1
  54. package/chunks/{chunk-TMBPDHXD.js → chunk-I4H7PRWQ.js} +1 -1
  55. package/chunks/{chunk-2BAQ3ACS.js → chunk-J33ZR6OJ.js} +404 -4
  56. package/chunks/{chunk-4W4T77MO.js → chunk-J7FA27RO.js} +109 -6
  57. package/chunks/{chunk-S566HKUS.js → chunk-JE5FVRPC.js} +38 -7
  58. package/chunks/{chunk-CGOMICBE.js → chunk-JJXWTVSK.js} +1 -1
  59. package/chunks/{chunk-EEEZIVFJ.js → chunk-JOLIREYR.js} +1 -1
  60. package/chunks/{chunk-DBZUXSSV.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-D5E5TMYH.js → chunk-L7OKCI7T.js} +4 -2
  64. package/chunks/{chunk-ZUAXI2OA.js → chunk-M2U5NM24.js} +188 -11366
  65. package/chunks/{chunk-CI5O6SQL.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-VQRYPFCV.js → chunk-O75BHFQW.js} +10 -460
  71. package/chunks/{chunk-WGAEWQTF.js → chunk-ODLIHNOY.js} +1 -2
  72. package/chunks/{chunk-J6AW7O5D.js → chunk-PDE7CSDS.js} +2 -2
  73. package/chunks/{chunk-5R4SBCX6.js → chunk-PR32FRT6.js} +3 -3
  74. package/chunks/{chunk-LLFFKXZZ.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-WA5OJGFL.js → chunk-QNKBEJO2.js} +359 -76
  78. package/chunks/{chunk-UAARVVBI.js → chunk-QWFNTRH4.js} +1 -1
  79. package/chunks/chunk-QYUE6W3T.js +123 -0
  80. package/chunks/{chunk-5JZLXFPD.js → chunk-R5OP2ATH.js} +11 -11
  81. package/chunks/{chunk-BNXANYLH.js → chunk-RD6YJJJ6.js} +81 -1
  82. package/chunks/{chunk-2TJ3YN6Q.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-USGMPVOY.js → chunk-SLNKLLEO.js} +14 -9
  88. package/chunks/chunk-SMXULRAN.js +37 -0
  89. package/chunks/{chunk-PF523XJX.js → chunk-SMYQZVZ3.js} +1 -1
  90. package/chunks/{chunk-I5T6PIBQ.js → chunk-STUWFKGD.js} +1001 -887
  91. package/chunks/{chunk-UAARJR2G.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-RS4HRC75.js → chunk-UYT3MWEB.js} +85 -8
  97. package/chunks/{chunk-VYFMN7C6.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-PXFFKNCO.js → chunk-YAINVQ3Q.js} +2961 -1349
  102. package/chunks/{chunk-X6EDWN44.js → chunk-ZP6UKOPB.js} +1 -1
  103. package/chunks/{computer-use-6BBRNT6S.js → computer-use-JGB36FDW.js} +103 -52
  104. package/chunks/{contextCommand-UJAJ6N57.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-X6KMCSHD.js → earlyInputCapture-44RISVVJ.js} +25 -27
  116. package/chunks/{edit-7J6WXARF.js → edit-NN6GM5DT.js} +68 -30
  117. package/chunks/{en-NCUBOJOY.js → en-HPWEJBTR.js} +8 -0
  118. package/chunks/{enter-worktree-KULCKJPJ.js → enter-worktree-PB3O2C7D.js} +24 -26
  119. package/chunks/{enterPlanMode-H2CIOLMH.js → enterPlanMode-YQFNNSUA.js} +24 -26
  120. package/chunks/{errors-6G2JYR54.js → errors-LS7XU5DZ.js} +26 -28
  121. package/chunks/{exit-worktree-ECBWBVC5.js → exit-worktree-E2FTNSBK.js} +24 -26
  122. package/chunks/{exitPlanMode-DQV56GTW.js → exitPlanMode-GLYK2BUB.js} +24 -26
  123. package/chunks/{fast-path-35JJFS3C.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-NDTG7WAX.js → gemini-2YFLVA2M.js} +204 -103
  127. package/chunks/{geminiContentGenerator-XTG6SFLA.js → geminiContentGenerator-XV6SV6CD.js} +4 -4
  128. package/chunks/{glob-SJ2JBZK4.js → glob-2H6CDDMK.js} +24 -26
  129. package/chunks/{grep-BRMWFEWR.js → grep-VXIUXM3C.js} +24 -26
  130. package/chunks/{headlessSafetyWarnings-LJ6FJX77.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-DH7KFSJV.js → monitor-HKLRS2HQ.js} +24 -26
  140. package/chunks/nonInteractiveCli-5W4GIZQM.js +96 -0
  141. package/chunks/{notebook-edit-D4R4ZLMA.js → notebook-edit-Y6SKSGTT.js} +52 -26
  142. package/chunks/{openaiContentGenerator-F74IPQ6E.js → openaiContentGenerator-J7G2FYJT.js} +13 -14
  143. package/chunks/{pt-SY5NCFGR.js → pt-TNZRNLQB.js} +1 -0
  144. package/chunks/{qwenContentGenerator-ATTK5P4D.js → qwenContentGenerator-5XIEM5GV.js} +26 -28
  145. package/chunks/{qwenOAuth2-K4AASPCV.js → qwenOAuth2-AG3PFFLZ.js} +4 -4
  146. package/chunks/{read-file-767G23OY.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-4OMMGSWX.js → ripGrep-IEIFIWP4.js} +24 -26
  149. package/chunks/{ru-FWNXJG4F.js → ru-NIAUBKCN.js} +1 -0
  150. package/chunks/{run-qwen-serve-REKSTYRA.js → run-qwen-serve-SGEEVMXD.js} +149 -41
  151. package/chunks/{scheduler-UNTFDQLG.js → scheduler-7CQI3S4Q.js} +24 -26
  152. package/chunks/{send-message-2DAFXEYP.js → send-message-EE4TWKVU.js} +2 -2
  153. package/chunks/{serve-KZ56QB5S.js → serve-V6GVZR6U.js} +31 -31
  154. package/chunks/{server-BV5TZUMU.js → server-4QMUWXPW.js} +6996 -5864
  155. package/chunks/{session-OIBXFSGD.js → session-NRO7UFOY.js} +62 -57
  156. package/chunks/{settings-WJTCBIRA.js → settings-SGWRDQSC.js} +30 -30
  157. package/chunks/{shell-WC52IBHW.js → shell-62ANGIHL.js} +24 -26
  158. package/chunks/{skill-U7F7JR4M.js → skill-VWAQAWW6.js} +39 -13
  159. package/chunks/{spawnChannel-EI2E5BCW.js → spawnChannel-3VHW5EPY.js} +26 -28
  160. package/chunks/{src-4F6FBZFI.js → src-KUV5J5Q2.js} +52 -28
  161. package/chunks/{startInteractiveUI-SFRVB3CE.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-3WC7CIIW.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-DICFCT3P.js → theme-manager-LYLGAERF.js} +25 -27
  170. package/chunks/{todoWrite-IFBMN3FH.js → todoWrite-OYXKTVYN.js} +4 -4
  171. package/chunks/{tool-search-L5K7HLER.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-GCH4Z6KI.js → validateNonInterActiveAuth-BTDTYOVT.js} +57 -54
  175. package/chunks/{web-fetch-B5IIQ5TT.js → web-fetch-EEB5LZYU.js} +28 -15
  176. package/chunks/{workflow-OB3AND7I.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-SEXBNDZM.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-B6HQGTYR.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-CSL3BUOY.js +0 -68
  271. package/chunks/initializer-P5AXF7PV.js +0 -61
  272. package/chunks/list-6COK34BP.js +0 -65
  273. package/chunks/loadedSettingsAdapter-XIUTN245.js +0 -60
  274. package/chunks/nonInteractiveCli-7575LBXP.js +0 -91
  275. package/chunks/workspace-providers-status-ZIR5EPOO.js +0 -62
  276. package/chunks/workspace-service-OM5D4OI2.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
@@ -2,7 +2,7 @@
2
2
  "use strict";
3
3
  import {
4
4
  createDebugLogger
5
- } from "./chunk-C4K3FEQ2.js";
5
+ } from "./chunk-UX4SGCGN.js";
6
6
  import {
7
7
  init_esbuild_shims
8
8
  } from "./chunk-A4BMJM77.js";
@@ -4,52 +4,50 @@ import {
4
4
  Client,
5
5
  StdioClientTransport,
6
6
  extract
7
- } from "./chunk-PXFFKNCO.js";
7
+ } from "./chunk-YAINVQ3Q.js";
8
8
  import "./chunk-K5PGHDBN.js";
9
- import "./chunk-5P5XGNYH.js";
10
9
  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";
10
+ import "./chunk-XJYUPHRC.js";
11
+ import "./chunk-QLDPRILK.js";
12
+ import "./chunk-BVSVIN45.js";
13
+ import "./chunk-SBBN4BWR.js";
14
+ import "./chunk-S7AKE7HL.js";
16
15
  import "./chunk-2MPVVENX.js";
17
16
  import "./chunk-ZTQ26VBE.js";
18
- import "./chunk-GZCJS5WH.js";
17
+ import "./chunk-O2VBQ3Y2.js";
19
18
  import "./chunk-MLZQVCF3.js";
20
19
  import "./chunk-LQ7TMOCE.js";
21
20
  import "./chunk-LD2XBG6Z.js";
22
- import "./chunk-OTBK43JR.js";
23
- import "./chunk-HGNSRCRB.js";
24
- import "./chunk-EEEZIVFJ.js";
25
- import "./chunk-PRYMDRBV.js";
21
+ import "./chunk-HYCC3XM3.js";
22
+ import "./chunk-NL4C3H6C.js";
23
+ import "./chunk-JOLIREYR.js";
24
+ import "./chunk-DDMOU62Q.js";
26
25
  import {
27
26
  safeJsonStringify
28
- } from "./chunk-WA5OJGFL.js";
27
+ } from "./chunk-QNKBEJO2.js";
29
28
  import "./chunk-3PJXIDKI.js";
30
29
  import "./chunk-UWCTAVOD.js";
31
30
  import "./chunk-OFEVLU4C.js";
32
31
  import "./chunk-OMX7CUOE.js";
33
- import "./chunk-BNXANYLH.js";
34
- import "./chunk-T2VDEFUU.js";
35
- import "./chunk-OIC6S73E.js";
32
+ import "./chunk-RD6YJJJ6.js";
33
+ import "./chunk-SKQZZVAV.js";
34
+ import "./chunk-BUUQ5HPX.js";
36
35
  import {
37
36
  BaseDeclarativeTool,
38
37
  BaseToolInvocation
39
- } from "./chunk-TOEGRAVX.js";
40
- import "./chunk-BGUDAULQ.js";
41
- import "./chunk-EW6C27XX.js";
38
+ } from "./chunk-BX5YO7UW.js";
39
+ import "./chunk-UO5GVXQE.js";
40
+ import "./chunk-KMGMKW5Q.js";
42
41
  import "./chunk-22IFUCVR.js";
43
- import "./chunk-64WXLC72.js";
44
- import "./chunk-3UALQ56H.js";
45
- import "./chunk-F6XNTYNE.js";
46
- import "./chunk-CGEGHF2C.js";
47
- import "./chunk-IRJWHZWU.js";
48
- import "./chunk-SYCJMSIJ.js";
42
+ import "./chunk-3227DZO4.js";
43
+ import "./chunk-U3KSMM7G.js";
44
+ import "./chunk-BKXBARJZ.js";
45
+ import "./chunk-EJYJYJZ2.js";
49
46
  import "./chunk-55ZMG67I.js";
50
47
  import "./chunk-H6BD2ELD.js";
51
48
  import "./chunk-5IFG2VC4.js";
52
- import "./chunk-C4K3FEQ2.js";
49
+ import "./chunk-64WXLC72.js";
50
+ import "./chunk-UX4SGCGN.js";
53
51
  import "./chunk-ZERZSAZL.js";
54
52
  import "./chunk-QN5NZ3UQ.js";
55
53
  import "./chunk-BR4QREVK.js";
@@ -181,6 +179,8 @@ function trimSlash(s) {
181
179
  __name(trimSlash, "trimSlash");
182
180
 
183
181
  // packages/core/src/tools/computer-use/client.ts
182
+ var DEFAULT_COMPUTER_USE_IDLE_TIMEOUT_MS = 5 * 60 * 1e3;
183
+ var MAX_COMPUTER_USE_IDLE_TIMEOUT_MS = 2147483647;
184
184
  var ComputerUseClient = class _ComputerUseClient {
185
185
  static {
186
186
  __name(this, "ComputerUseClient");
@@ -189,13 +189,17 @@ var ComputerUseClient = class _ComputerUseClient {
189
189
  binary;
190
190
  onProgress;
191
191
  maxImageDimension;
192
+ idleTimeoutMs;
192
193
  client;
193
194
  startPromise;
195
+ activeCalls = 0;
196
+ idleStopTimer;
194
197
  constructor(options) {
195
198
  this.binary = options.binary;
196
199
  this.onProgress = options.onProgress ?? (() => {
197
200
  });
198
201
  this.maxImageDimension = options.maxImageDimension;
202
+ this.idleTimeoutMs = normalizeIdleTimeoutMs(options.idleTimeoutMs);
199
203
  }
200
204
  /**
201
205
  * Set the screenshot longest-edge cap applied on the next (re)connect via
@@ -206,6 +210,10 @@ var ComputerUseClient = class _ComputerUseClient {
206
210
  setMaxImageDimension(value) {
207
211
  this.maxImageDimension = value;
208
212
  }
213
+ setIdleTimeoutMs(value) {
214
+ this.idleTimeoutMs = normalizeIdleTimeoutMs(value);
215
+ this.scheduleIdleStop();
216
+ }
209
217
  /**
210
218
  * Shared singleton instance, created with default options on first
211
219
  * access. Tests can replace it via `setSharedForTest()`.
@@ -242,9 +250,15 @@ var ComputerUseClient = class _ComputerUseClient {
242
250
  * responsible for mapping the throw into user-facing UX.
243
251
  */
244
252
  async start(onProgress) {
245
- if (this.client) return;
253
+ this.clearIdleStopTimer();
254
+ if (this.client) {
255
+ this.scheduleIdleStop();
256
+ return;
257
+ }
246
258
  if (this.startPromise) return this.startPromise;
247
- this.startPromise = this.doStart(onProgress).finally(() => {
259
+ this.startPromise = this.doStart(onProgress).then(() => {
260
+ this.scheduleIdleStop();
261
+ }).finally(() => {
248
262
  this.startPromise = void 0;
249
263
  });
250
264
  return this.startPromise;
@@ -307,40 +321,49 @@ var ComputerUseClient = class _ComputerUseClient {
307
321
  *
308
322
  * On transport-closed errors (e.g. macOS kills the upstream binary after
309
323
  * the user grants Screen Recording permission), this method transparently
310
- * tears down the stale connection, reconnects, and retries the call once.
311
- * If the retry also fails, the error is re-thrown without further
312
- * reconnect attempts.
324
+ * tears down the stale connection, reconnects, and retries with a bounded
325
+ * backoff loop. If the retries also fail, the last error is re-thrown.
313
326
  */
314
327
  async callTool(name, args) {
315
328
  if (!this.client) throw new Error("ComputerUseClient not started");
329
+ this.activeCalls++;
330
+ this.clearIdleStopTimer();
316
331
  try {
317
- return await this.client.callTool({
318
- name,
319
- arguments: args
320
- });
321
- } catch (err) {
322
- if (!isTransportClosedError(err)) throw err;
323
- let lastErr = err;
324
- for (let attempt = 0; attempt < 3; attempt++) {
325
- await this.stop();
326
- await this.start();
327
- if (!this.client) throw new Error("ComputerUseClient reconnect failed");
328
- try {
329
- return await this.client.callTool({
330
- name,
331
- arguments: args
332
- });
333
- } catch (retryErr) {
334
- if (!isTransportClosedError(retryErr)) throw retryErr;
335
- lastErr = retryErr;
336
- await new Promise((r) => setTimeout(r, 1e3));
332
+ try {
333
+ return await this.client.callTool({
334
+ name,
335
+ arguments: args
336
+ });
337
+ } catch (err) {
338
+ if (!isTransportClosedError(err)) throw err;
339
+ let lastErr = err;
340
+ for (let attempt = 0; attempt < 3; attempt++) {
341
+ await this.stop();
342
+ await this.start();
343
+ if (!this.client) {
344
+ throw new Error("ComputerUseClient reconnect failed");
345
+ }
346
+ try {
347
+ return await this.client.callTool({
348
+ name,
349
+ arguments: args
350
+ });
351
+ } catch (retryErr) {
352
+ if (!isTransportClosedError(retryErr)) throw retryErr;
353
+ lastErr = retryErr;
354
+ await new Promise((r) => setTimeout(r, 1e3));
355
+ }
337
356
  }
357
+ throw lastErr;
338
358
  }
339
- throw lastErr;
359
+ } finally {
360
+ this.activeCalls--;
361
+ this.scheduleIdleStop();
340
362
  }
341
363
  }
342
364
  /** Tear down the child process. Safe to call multiple times. */
343
365
  async stop() {
366
+ this.clearIdleStopTimer();
344
367
  const client = this.client;
345
368
  this.client = void 0;
346
369
  if (client) {
@@ -350,7 +373,34 @@ var ComputerUseClient = class _ComputerUseClient {
350
373
  }
351
374
  }
352
375
  }
376
+ scheduleIdleStop() {
377
+ this.clearIdleStopTimer();
378
+ if (!this.client || this.activeCalls > 0 || this.idleTimeoutMs <= 0) {
379
+ return;
380
+ }
381
+ this.idleStopTimer = setTimeout(() => {
382
+ this.idleStopTimer = void 0;
383
+ if (this.activeCalls > 0) return;
384
+ void this.stop();
385
+ }, this.idleTimeoutMs);
386
+ this.idleStopTimer.unref?.();
387
+ }
388
+ clearIdleStopTimer() {
389
+ if (!this.idleStopTimer) return;
390
+ clearTimeout(this.idleStopTimer);
391
+ this.idleStopTimer = void 0;
392
+ }
353
393
  };
394
+ function normalizeIdleTimeoutMs(value) {
395
+ if (value === void 0) return DEFAULT_COMPUTER_USE_IDLE_TIMEOUT_MS;
396
+ if (!Number.isFinite(value)) return DEFAULT_COMPUTER_USE_IDLE_TIMEOUT_MS;
397
+ if (value < 0) return DEFAULT_COMPUTER_USE_IDLE_TIMEOUT_MS;
398
+ if (value > MAX_COMPUTER_USE_IDLE_TIMEOUT_MS) {
399
+ return DEFAULT_COMPUTER_USE_IDLE_TIMEOUT_MS;
400
+ }
401
+ return value;
402
+ }
403
+ __name(normalizeIdleTimeoutMs, "normalizeIdleTimeoutMs");
354
404
  function isTransportClosedError(err) {
355
405
  const msg = err instanceof Error ? err.message : String(err);
356
406
  return /connection closed|not connected|connection refused|daemon transport error|os error 61/i.test(
@@ -1884,6 +1934,7 @@ ${INSTALL_REASON}`;
1884
1934
  client.setMaxImageDimension(
1885
1935
  resolveMaxImageDimension(this.config?.getComputerUseMaxImageDimension())
1886
1936
  );
1937
+ client.setIdleTimeoutMs(this.config?.getComputerUseIdleTimeoutMs());
1887
1938
  const autoApproveInstall = !!this.config;
1888
1939
  await runBootstrap(client, { signal, updateOutput, autoApproveInstall });
1889
1940
  let mcpResult;
@@ -4,52 +4,50 @@ import {
4
4
  collectContextData,
5
5
  contextCommand,
6
6
  formatContextUsageText
7
- } from "./chunk-TZM5JIAX.js";
7
+ } from "./chunk-FNJ7BDPH.js";
8
8
  import "./chunk-KSPVDFE4.js";
9
9
  import "./chunk-KYMBIKIW.js";
10
- import "./chunk-5JZLXFPD.js";
10
+ import "./chunk-R5OP2ATH.js";
11
11
  import "./chunk-Y6Z2O3WR.js";
12
- import "./chunk-PXFFKNCO.js";
12
+ import "./chunk-YAINVQ3Q.js";
13
13
  import "./chunk-K5PGHDBN.js";
14
- import "./chunk-5P5XGNYH.js";
15
14
  import "./chunk-SKAZWEV5.js";
16
- import "./chunk-TXVGVZYR.js";
17
- import "./chunk-XU5P23GN.js";
18
- import "./chunk-2BIF2NVV.js";
19
- import "./chunk-BG4BIP7F.js";
20
- 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-S7AKE7HL.js";
21
20
  import "./chunk-2MPVVENX.js";
22
21
  import "./chunk-ZTQ26VBE.js";
23
- import "./chunk-GZCJS5WH.js";
22
+ import "./chunk-O2VBQ3Y2.js";
24
23
  import "./chunk-MLZQVCF3.js";
25
24
  import "./chunk-LQ7TMOCE.js";
26
25
  import "./chunk-LD2XBG6Z.js";
27
- import "./chunk-OTBK43JR.js";
28
- import "./chunk-HGNSRCRB.js";
29
- import "./chunk-EEEZIVFJ.js";
30
- import "./chunk-PRYMDRBV.js";
31
- 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-QNKBEJO2.js";
32
31
  import "./chunk-3PJXIDKI.js";
33
32
  import "./chunk-UWCTAVOD.js";
34
33
  import "./chunk-OFEVLU4C.js";
35
34
  import "./chunk-OMX7CUOE.js";
36
- import "./chunk-BNXANYLH.js";
37
- import "./chunk-T2VDEFUU.js";
38
- import "./chunk-OIC6S73E.js";
39
- import "./chunk-TOEGRAVX.js";
40
- import "./chunk-BGUDAULQ.js";
41
- 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-UO5GVXQE.js";
40
+ import "./chunk-KMGMKW5Q.js";
42
41
  import "./chunk-22IFUCVR.js";
43
- import "./chunk-64WXLC72.js";
44
- import "./chunk-3UALQ56H.js";
45
- import "./chunk-F6XNTYNE.js";
46
- import "./chunk-CGEGHF2C.js";
47
- import "./chunk-IRJWHZWU.js";
48
- import "./chunk-SYCJMSIJ.js";
42
+ import "./chunk-3227DZO4.js";
43
+ import "./chunk-U3KSMM7G.js";
44
+ import "./chunk-BKXBARJZ.js";
45
+ import "./chunk-EJYJYJZ2.js";
49
46
  import "./chunk-55ZMG67I.js";
50
47
  import "./chunk-H6BD2ELD.js";
51
48
  import "./chunk-5IFG2VC4.js";
52
- import "./chunk-C4K3FEQ2.js";
49
+ import "./chunk-64WXLC72.js";
50
+ import "./chunk-UX4SGCGN.js";
53
51
  import "./chunk-ZERZSAZL.js";
54
52
  import "./chunk-QN5NZ3UQ.js";
55
53
  import "./chunk-BR4QREVK.js";
@@ -9,16 +9,16 @@ import {
9
9
  } from "./chunk-ZTQ26VBE.js";
10
10
  import {
11
11
  CRON_TASKS_DISPLAY_PATH
12
- } from "./chunk-GZCJS5WH.js";
12
+ } from "./chunk-O2VBQ3Y2.js";
13
13
  import "./chunk-OMX7CUOE.js";
14
14
  import {
15
15
  BaseDeclarativeTool,
16
16
  BaseToolInvocation,
17
17
  ToolDisplayNames,
18
18
  ToolNames
19
- } from "./chunk-TOEGRAVX.js";
20
- import "./chunk-3UALQ56H.js";
21
- import "./chunk-C4K3FEQ2.js";
19
+ } from "./chunk-BX5YO7UW.js";
20
+ import "./chunk-3227DZO4.js";
21
+ import "./chunk-UX4SGCGN.js";
22
22
  import "./chunk-Z2Z3GUXZ.js";
23
23
  import {
24
24
  init_esbuild_shims
@@ -3,18 +3,18 @@
3
3
  import {
4
4
  CRON_TASKS_DISPLAY_PATH,
5
5
  removeCronTasks
6
- } from "./chunk-GZCJS5WH.js";
6
+ } from "./chunk-O2VBQ3Y2.js";
7
7
  import "./chunk-OMX7CUOE.js";
8
8
  import {
9
9
  BaseDeclarativeTool,
10
10
  BaseToolInvocation,
11
11
  ToolDisplayNames,
12
12
  ToolNames
13
- } from "./chunk-TOEGRAVX.js";
14
- import "./chunk-3UALQ56H.js";
13
+ } from "./chunk-BX5YO7UW.js";
14
+ import "./chunk-3227DZO4.js";
15
15
  import {
16
16
  getErrorMessage
17
- } from "./chunk-C4K3FEQ2.js";
17
+ } from "./chunk-UX4SGCGN.js";
18
18
  import "./chunk-Z2Z3GUXZ.js";
19
19
  import {
20
20
  init_esbuild_shims
@@ -73,7 +73,7 @@ var CronDeleteTool = class _CronDeleteTool extends BaseDeclarativeTool {
73
73
  super(
74
74
  _CronDeleteTool.Name,
75
75
  ToolDisplayNames.CRON_DELETE,
76
- `Cancel a cron job previously scheduled with CronCreate, or a pending loop wakeup scheduled with LoopWakeup. Removes cron jobs from the in-memory session store or from ${CRON_TASKS_DISPLAY_PATH} (durable jobs).`,
76
+ `Stop or cancel a cron job previously scheduled with CronCreate, or a pending loop wakeup scheduled with LoopWakeup. Removes cron jobs from the in-memory session store or from ${CRON_TASKS_DISPLAY_PATH} (durable jobs).`,
77
77
  "other" /* Other */,
78
78
  {
79
79
  type: "object",
@@ -94,7 +94,7 @@ var CronDeleteTool = class _CronDeleteTool extends BaseDeclarativeTool {
94
94
  // shouldDefer — only needed after CronCreate/CronList
95
95
  false,
96
96
  // alwaysLoad
97
- "cron delete cancel remove"
97
+ "cron delete cancel remove stop clear scheduled task loop wakeup"
98
98
  );
99
99
  this.config = config;
100
100
  }
@@ -6,16 +6,16 @@ import {
6
6
  import {
7
7
  CRON_TASKS_DISPLAY_PATH,
8
8
  readCronTasks
9
- } from "./chunk-GZCJS5WH.js";
9
+ } from "./chunk-O2VBQ3Y2.js";
10
10
  import "./chunk-OMX7CUOE.js";
11
11
  import {
12
12
  BaseDeclarativeTool,
13
13
  BaseToolInvocation,
14
14
  ToolDisplayNames,
15
15
  ToolNames
16
- } from "./chunk-TOEGRAVX.js";
17
- import "./chunk-3UALQ56H.js";
18
- import "./chunk-C4K3FEQ2.js";
16
+ } from "./chunk-BX5YO7UW.js";
17
+ import "./chunk-3227DZO4.js";
18
+ import "./chunk-UX4SGCGN.js";
19
19
  import "./chunk-Z2Z3GUXZ.js";
20
20
  import {
21
21
  init_esbuild_shims
@@ -117,7 +117,7 @@ var CronListTool = class _CronListTool extends BaseDeclarativeTool {
117
117
  // shouldDefer — low-frequency inspection tool
118
118
  false,
119
119
  // alwaysLoad
120
- "cron list scheduled jobs"
120
+ "cron list show active scheduled tasks loop jobs wakeups"
121
121
  );
122
122
  this.config = config;
123
123
  }
@@ -0,0 +1,65 @@
1
+ // Force strict mode and setup for ESM
2
+ "use strict";
3
+ import {
4
+ createDaemonStatusProvider
5
+ } from "./chunk-HZT4UCFB.js";
6
+ import "./chunk-RKIZXJMB.js";
7
+ import "./chunk-MNF6S5PR.js";
8
+ import "./chunk-KHDZHZMH.js";
9
+ import "./chunk-GT2FGICD.js";
10
+ import "./chunk-VBZ452JT.js";
11
+ import "./chunk-QBZ22PQX.js";
12
+ import "./chunk-ALX6BUYW.js";
13
+ import "./chunk-P7M4GA57.js";
14
+ import "./chunk-JE5FVRPC.js";
15
+ import "./chunk-FXKVLFFY.js";
16
+ import "./chunk-UFC57OYT.js";
17
+ import "./chunk-L7OKCI7T.js";
18
+ import "./chunk-YAINVQ3Q.js";
19
+ import "./chunk-K5PGHDBN.js";
20
+ import "./chunk-SKAZWEV5.js";
21
+ import "./chunk-XJYUPHRC.js";
22
+ import "./chunk-QLDPRILK.js";
23
+ import "./chunk-BVSVIN45.js";
24
+ import "./chunk-SBBN4BWR.js";
25
+ import "./chunk-S7AKE7HL.js";
26
+ import "./chunk-2MPVVENX.js";
27
+ import "./chunk-ZTQ26VBE.js";
28
+ import "./chunk-O2VBQ3Y2.js";
29
+ import "./chunk-MLZQVCF3.js";
30
+ import "./chunk-LQ7TMOCE.js";
31
+ import "./chunk-LD2XBG6Z.js";
32
+ import "./chunk-HYCC3XM3.js";
33
+ import "./chunk-NL4C3H6C.js";
34
+ import "./chunk-JOLIREYR.js";
35
+ import "./chunk-DDMOU62Q.js";
36
+ import "./chunk-QNKBEJO2.js";
37
+ import "./chunk-3PJXIDKI.js";
38
+ import "./chunk-UWCTAVOD.js";
39
+ import "./chunk-OFEVLU4C.js";
40
+ import "./chunk-OMX7CUOE.js";
41
+ import "./chunk-RD6YJJJ6.js";
42
+ import "./chunk-SKQZZVAV.js";
43
+ import "./chunk-BUUQ5HPX.js";
44
+ import "./chunk-BX5YO7UW.js";
45
+ import "./chunk-UO5GVXQE.js";
46
+ import "./chunk-KMGMKW5Q.js";
47
+ import "./chunk-22IFUCVR.js";
48
+ import "./chunk-3227DZO4.js";
49
+ import "./chunk-U3KSMM7G.js";
50
+ import "./chunk-BKXBARJZ.js";
51
+ import "./chunk-EJYJYJZ2.js";
52
+ import "./chunk-55ZMG67I.js";
53
+ import "./chunk-H6BD2ELD.js";
54
+ import "./chunk-5IFG2VC4.js";
55
+ import "./chunk-64WXLC72.js";
56
+ import "./chunk-UX4SGCGN.js";
57
+ import "./chunk-ZERZSAZL.js";
58
+ import "./chunk-QN5NZ3UQ.js";
59
+ import "./chunk-BR4QREVK.js";
60
+ import "./chunk-Z2Z3GUXZ.js";
61
+ import "./chunk-A4BMJM77.js";
62
+ import "./chunk-J2S4EL5Y.js";
63
+ export {
64
+ createDaemonStatusProvider
65
+ };
@@ -1081,6 +1081,7 @@ var de_default = {
1081
1081
  "No tasks currently running": "Derzeit laufen keine Aufgaben",
1082
1082
  "No entry to show.": "Kein Eintrag zum Anzeigen.",
1083
1083
  "needs approval": "wartet auf Genehmigung",
1084
+ "rejected \u2014 edit config to re-approve": "abgelehnt \u2014 Konfiguration bearbeiten, um erneut zu genehmigen",
1084
1085
  "Background agent needs approval": "Hintergrund-Agent wartet auf Genehmigung",
1085
1086
  "Approve or deny the request above": "Genehmigen oder lehnen Sie die obige Anfrage ab",
1086
1087
  Running: "L\xE4uft",
@@ -7,7 +7,7 @@ import {
7
7
  } from "./chunk-J37FGIOA.js";
8
8
  import {
9
9
  ChannelBase
10
- } from "./chunk-JXQ23SNT.js";
10
+ } from "./chunk-BW4KCQFD.js";
11
11
  import "./chunk-7RYW5LQV.js";
12
12
  import "./chunk-UFC57OYT.js";
13
13
  import "./chunk-K5PGHDBN.js";
@@ -2,15 +2,14 @@
2
2
  "use strict";
3
3
  import {
4
4
  ChannelBase
5
- } from "./chunk-JXQ23SNT.js";
5
+ } from "./chunk-BW4KCQFD.js";
6
6
  import "./chunk-UFC57OYT.js";
7
7
  import "./chunk-K5PGHDBN.js";
8
8
  import {
9
9
  require_abort_controller,
10
10
  require_lib
11
- } from "./chunk-ZN5T4BHI.js";
12
- import "./chunk-IRJWHZWU.js";
13
- import "./chunk-SYCJMSIJ.js";
11
+ } from "./chunk-RYLJU2DY.js";
12
+ import "./chunk-EJYJYJZ2.js";
14
13
  import {
15
14
  require_dist
16
15
  } from "./chunk-ZERZSAZL.js";
@@ -9658,6 +9657,21 @@ function splitHtmlForTelegram(text) {
9658
9657
  __name(splitHtmlForTelegram, "splitHtmlForTelegram");
9659
9658
 
9660
9659
  // packages/channels/telegram/dist/TelegramAdapter.js
9660
+ var TELEGRAM_BOT_COMMANDS = [
9661
+ { command: "start", description: "Show quick-start help" },
9662
+ { command: "help", description: "Show available commands" },
9663
+ { command: "new", description: "Start a fresh conversation" },
9664
+ { command: "cancel", description: "Cancel the running request" },
9665
+ { command: "status", description: "Show session info" }
9666
+ ];
9667
+ var TELEGRAM_START_MESSAGE = [
9668
+ "Qwen Code Telegram bot",
9669
+ "",
9670
+ "Send any message to chat with Qwen Code.",
9671
+ "Use /new to start a fresh conversation.",
9672
+ "Use /cancel to stop a running request.",
9673
+ "Use /help to see available commands."
9674
+ ].join("\n");
9661
9675
  var TelegramChannel = class extends ChannelBase {
9662
9676
  static {
9663
9677
  __name(this, "TelegramChannel");
@@ -9673,6 +9687,11 @@ var TelegramChannel = class extends ChannelBase {
9673
9687
  }
9674
9688
  } : void 0;
9675
9689
  this.bot = new import_grammy.Bot(config.token, botConfig);
9690
+ this.registerCommand("start", async (envelope) => {
9691
+ await this.sendMessage(envelope.chatId, TELEGRAM_START_MESSAGE);
9692
+ return true;
9693
+ });
9694
+ this.registerCancelCommand();
9676
9695
  }
9677
9696
  getFileUrl(filePath) {
9678
9697
  return `https://api.telegram.org/file/bot${this.bot.token}/${filePath}`;
@@ -9681,6 +9700,7 @@ var TelegramChannel = class extends ChannelBase {
9681
9700
  const botInfo = await this.bot.api.getMe();
9682
9701
  this.botId = botInfo.id;
9683
9702
  this.botUsername = botInfo.username ?? "";
9703
+ await this.registerBotCommands();
9684
9704
  this.bot.on("message:text", async (ctx) => {
9685
9705
  const msg = ctx.message;
9686
9706
  const text = msg.text;
@@ -9803,6 +9823,14 @@ var TelegramChannel = class extends ChannelBase {
9803
9823
  process.once("SIGINT", () => this.bot.stop());
9804
9824
  process.once("SIGTERM", () => this.bot.stop());
9805
9825
  }
9826
+ async registerBotCommands() {
9827
+ try {
9828
+ await this.bot.api.setMyCommands(TELEGRAM_BOT_COMMANDS);
9829
+ } catch (err) {
9830
+ process.stderr.write(`[Telegram:${this.name}] Failed to register bot commands: ${err instanceof Error ? err.message : err}
9831
+ `);
9832
+ }
9833
+ }
9806
9834
  /** Per-chat typing interval — repeats every 4s since Telegram expires it after 5s. */
9807
9835
  typingIntervals = /* @__PURE__ */ new Map();
9808
9836
  onPromptStart(chatId) {
@@ -9843,7 +9871,20 @@ var TelegramChannel = class extends ChannelBase {
9843
9871
  }
9844
9872
  buildEnvelope(msg, text, entities) {
9845
9873
  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;
9874
+ const isMentioned = entities?.some((e) => {
9875
+ if (!this.botUsername)
9876
+ return false;
9877
+ const value = text.slice(e.offset, e.offset + e.length).toLowerCase();
9878
+ const username = this.botUsername.toLowerCase();
9879
+ if (e.type === "mention") {
9880
+ return value === `@${username}`;
9881
+ }
9882
+ if (e.type === "bot_command") {
9883
+ const mentionIndex = value.indexOf("@");
9884
+ return mentionIndex !== -1 && value.slice(mentionIndex + 1) === username;
9885
+ }
9886
+ return false;
9887
+ }) ?? false;
9847
9888
  const isReplyToBot = msg.reply_to_message?.from?.id === this.botId;
9848
9889
  let cleanText = text;
9849
9890
  if (isMentioned && this.botUsername) {
@@ -7,7 +7,7 @@ import {
7
7
  } from "./chunk-J37FGIOA.js";
8
8
  import {
9
9
  ChannelBase
10
- } from "./chunk-JXQ23SNT.js";
10
+ } from "./chunk-BW4KCQFD.js";
11
11
  import {
12
12
  require_lib
13
13
  } from "./chunk-3HX5LZ6R.js";
@@ -11,10 +11,10 @@ import {
11
11
  sendMessage,
12
12
  sendTyping,
13
13
  uploadToCdn
14
- } from "./chunk-Z7XXFPGP.js";
14
+ } from "./chunk-CKQA6AWF.js";
15
15
  import {
16
16
  ChannelBase
17
- } from "./chunk-JXQ23SNT.js";
17
+ } from "./chunk-BW4KCQFD.js";
18
18
  import "./chunk-UFC57OYT.js";
19
19
  import "./chunk-K5PGHDBN.js";
20
20
  import {
@@ -4,7 +4,7 @@ import {
4
4
  ChannelBase,
5
5
  SessionRouter,
6
6
  getGlobalQwenDir
7
- } from "./chunk-JXQ23SNT.js";
7
+ } from "./chunk-BW4KCQFD.js";
8
8
  import "./chunk-UFC57OYT.js";
9
9
  import "./chunk-K5PGHDBN.js";
10
10
  import {