@qwen-code/qwen-code 0.19.3 → 0.19.4-nightly.20260702.46814e4f1

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 (308) hide show
  1. package/bundled/loop/SKILL.md +22 -3
  2. package/bundled/loop/SKILL.test.ts +20 -0
  3. package/bundled/loop/autonomous-loop.test.ts +59 -0
  4. package/bundled/loop/autonomous-loop.ts +102 -0
  5. package/bundled/loop/loop-task-file.test.ts +1064 -0
  6. package/bundled/loop/loop-task-file.ts +404 -0
  7. package/bundled/loop/loop-tick-resolver.test.ts +906 -0
  8. package/bundled/loop/loop-tick-resolver.ts +416 -0
  9. package/bundled/qc-helper/SKILL.md +12 -5
  10. package/bundled/qc-helper/docs/configuration/auth.md +1 -1
  11. package/bundled/qc-helper/docs/configuration/settings.md +62 -32
  12. package/bundled/qc-helper/docs/features/approval-mode.md +3 -0
  13. package/bundled/qc-helper/docs/features/auto-mode.md +40 -0
  14. package/bundled/qc-helper/docs/features/channels/overview.md +81 -18
  15. package/bundled/qc-helper/docs/features/channels/plugins.md +1 -1
  16. package/bundled/qc-helper/docs/features/code-review.md +17 -61
  17. package/bundled/qc-helper/docs/features/commands.md +42 -40
  18. package/bundled/qc-helper/docs/features/headless.md +19 -18
  19. package/bundled/qc-helper/docs/features/hooks.md +6 -1
  20. package/bundled/qc-helper/docs/features/mcp.md +3 -1
  21. package/bundled/qc-helper/docs/features/memory.md +1 -1
  22. package/bundled/qc-helper/docs/features/scheduled-tasks.md +10 -0
  23. package/bundled/qc-helper/docs/features/status-line.md +3 -3
  24. package/bundled/qc-helper/docs/ide-integration/ide-integration.md +4 -4
  25. package/bundled/qc-helper/docs/qwen-serve.md +53 -0
  26. package/bundled/qc-helper/docs/support/troubleshooting.md +11 -0
  27. package/bundled/review/DESIGN.md +21 -26
  28. package/bundled/review/SKILL.md +45 -129
  29. package/chunks/MaxSizedBox-GHGRQ2OS.js +69 -0
  30. package/chunks/{StandaloneSessionPicker-Z52JTYST.js → StandaloneSessionPicker-G7YTTM27.js} +49 -42
  31. package/chunks/{acpAgent-7RZUOWOM.js → acpAgent-SDOILBSU.js} +1325 -365
  32. package/chunks/{agent-4FG7WTHJ.js → agent-NTSXGV4L.js} +31 -25
  33. package/chunks/agent-headless-WYURMSAB.js +62 -0
  34. package/chunks/{anthropicContentGenerator-PFITVL7Y.js → anthropicContentGenerator-WL3LJOUB.js} +110 -31
  35. package/chunks/{artifact-tool-D2X7G3C3.js → artifact-tool-W76WC2JX.js} +3 -3
  36. package/chunks/{askUserQuestion-UGETICJQ.js → askUserQuestion-J3P6TH3V.js} +2 -2
  37. package/chunks/bridge-AMOL4W4P.js +73 -0
  38. package/chunks/{ca-IUFWESZL.js → ca-HCMB2I54.js} +10 -9
  39. package/chunks/channel-worker-supervisor-C3IB63V7.js +659 -0
  40. package/chunks/{chunk-STUWFKGD.js → chunk-26JIREA5.js} +466 -543
  41. package/chunks/{chunk-SLNKLLEO.js → chunk-2MRV62AU.js} +37 -8
  42. package/chunks/{chunk-ODLIHNOY.js → chunk-2U4HUMOL.js} +1 -1
  43. package/chunks/{chunk-CKQA6AWF.js → chunk-4D73HUOP.js} +1 -1
  44. package/chunks/{chunk-M2U5NM24.js → chunk-54YZOP7P.js} +309 -72
  45. package/chunks/{chunk-J7FA27RO.js → chunk-5LKL3PAU.js} +3 -3
  46. package/chunks/chunk-5P5XGNYH.js +93 -0
  47. package/chunks/{chunk-UFLGERMB.js → chunk-6JE32BRB.js} +178 -124
  48. package/chunks/{chunk-FKAVULLM.js → chunk-75AVTQJ2.js} +74 -10
  49. package/chunks/{chunk-I2LYBGNI.js → chunk-7IOMIYOE.js} +1 -1
  50. package/chunks/{chunk-4LUZAKMK.js → chunk-7KXAGQJ2.js} +1 -1
  51. package/chunks/{chunk-BXSHL2SF.js → chunk-7LUOQJ3D.js} +1 -1
  52. package/chunks/{chunk-YAINVQ3Q.js → chunk-A5OPLHFM.js} +18693 -17055
  53. package/chunks/chunk-AHNXYU4O.js +24 -0
  54. package/chunks/{chunk-UX4SGCGN.js → chunk-AVQDCKNF.js} +96 -22
  55. package/chunks/{chunk-HYCC3XM3.js → chunk-B236XPGF.js} +1 -1
  56. package/chunks/chunk-B6SZLQAZ.js +3523 -0
  57. package/chunks/{chunk-5DWXLGOM.js → chunk-BJBWRCSK.js} +1 -1
  58. package/chunks/chunk-BPFJQGY7.js +193 -0
  59. package/chunks/{chunk-SKQZZVAV.js → chunk-BZHLWC6T.js} +2 -2
  60. package/chunks/{chunk-U3KSMM7G.js → chunk-D5KISTLW.js} +339 -383
  61. package/chunks/{chunk-GT2FGICD.js → chunk-DE7YXUR7.js} +1 -1
  62. package/chunks/{chunk-BUUQ5HPX.js → chunk-DG573EOO.js} +1 -1
  63. package/chunks/{chunk-VVLOGDB6.js → chunk-DX3TKXNT.js} +2 -2
  64. package/chunks/chunk-E5A7LHNN.js +51 -0
  65. package/chunks/{chunk-3PJXIDKI.js → chunk-E6US47KI.js} +3 -27
  66. package/chunks/{chunk-QBZ22PQX.js → chunk-EWALXUAD.js} +3 -1
  67. package/chunks/{chunk-PDE7CSDS.js → chunk-FXKI7OW6.js} +2 -2
  68. package/chunks/{chunk-F3ZYSEY6.js → chunk-FY4TT4L4.js} +3 -3
  69. package/chunks/{chunk-QLDPRILK.js → chunk-G7OQ3RFJ.js} +3 -3
  70. package/chunks/{chunk-R2BXK7SX.js → chunk-GHOTR7HL.js} +6 -1
  71. package/chunks/{chunk-KMGMKW5Q.js → chunk-GLPV75ES.js} +9 -3
  72. package/chunks/{chunk-LD2XBG6Z.js → chunk-GO6LNQXT.js} +1 -39
  73. package/chunks/{chunk-CNLEDYE3.js → chunk-H6TNLOLM.js} +5 -5
  74. package/chunks/{chunk-JVHEVCAU.js → chunk-HLW4EGKR.js} +31 -6
  75. package/chunks/{chunk-I4H7PRWQ.js → chunk-HTWHAN44.js} +1 -1
  76. package/chunks/{chunk-QE6KJYLT.js → chunk-IPYE5BIS.js} +123 -25
  77. package/chunks/{chunk-EJYJYJZ2.js → chunk-IRJWHZWU.js} +3 -70
  78. package/chunks/{chunk-EDMZZFDU.js → chunk-J3YPTTNL.js} +930 -798
  79. package/chunks/{chunk-GGBIN5K7.js → chunk-JGAJMIJZ.js} +1 -1
  80. package/chunks/{chunk-N4EJFBN5.js → chunk-JVLP5US5.js} +427 -263
  81. package/chunks/{chunk-R5OP2ATH.js → chunk-JZG7VB6C.js} +11 -11
  82. package/chunks/{chunk-QI7GOGJR.js → chunk-KKQWC6WS.js} +1 -1
  83. package/chunks/{chunk-ADCIHOQZ.js → chunk-KX5QZRW2.js} +142 -30
  84. package/chunks/{chunk-SBBN4BWR.js → chunk-L7OJ3ZO3.js} +1 -1
  85. package/chunks/{chunk-NDOC6M5S.js → chunk-L7QPM2YD.js} +2 -2
  86. package/chunks/{chunk-BVSVIN45.js → chunk-LKWAVAB5.js} +3 -3
  87. package/chunks/{chunk-T4T2FNV4.js → chunk-LOW52WYZ.js} +2 -2
  88. package/chunks/{chunk-4QK3O43S.js → chunk-LU7BIVWC.js} +4 -4
  89. package/chunks/{chunk-ZP6UKOPB.js → chunk-LWGLBVWA.js} +1 -1
  90. package/chunks/{chunk-L7OKCI7T.js → chunk-M7BLWURA.js} +15 -1
  91. package/chunks/{chunk-PR32FRT6.js → chunk-MIM62IXS.js} +3 -3
  92. package/chunks/{chunk-RD6YJJJ6.js → chunk-MOUXUCXQ.js} +1 -1
  93. package/chunks/{chunk-VBZ452JT.js → chunk-MSNGFH6L.js} +494 -114
  94. package/chunks/{chunk-BX5YO7UW.js → chunk-MTNTVOJR.js} +542 -370
  95. package/chunks/chunk-MX2YXRER.js +44 -0
  96. package/chunks/chunk-NIOPRZNN.js +27 -0
  97. package/chunks/{chunk-SMYQZVZ3.js → chunk-NOGSPTLJ.js} +1 -1
  98. package/chunks/{chunk-DDMOU62Q.js → chunk-NPQWQYU6.js} +1 -1
  99. package/chunks/{chunk-MNF6S5PR.js → chunk-P5THQV6A.js} +4 -4
  100. package/chunks/{chunk-6V4NZFUS.js → chunk-PCYOT4PK.js} +5 -5
  101. package/chunks/{chunk-CF6BB3LT.js → chunk-PPFWEV7G.js} +10 -1
  102. package/chunks/{chunk-FXKVLFFY.js → chunk-PSFDB5FZ.js} +3 -3
  103. package/chunks/{chunk-XJYUPHRC.js → chunk-QOMAHFYI.js} +3 -3
  104. package/chunks/{chunk-J37FGIOA.js → chunk-QXPI7FEC.js} +38 -4
  105. package/chunks/{chunk-RRFZXMYP.js → chunk-QZDBHNMV.js} +691 -164
  106. package/chunks/{chunk-S7AKE7HL.js → chunk-R6RI2HIC.js} +63 -9
  107. package/chunks/{chunk-HZT4UCFB.js → chunk-RB7S52NJ.js} +4 -4
  108. package/chunks/{chunk-J33ZR6OJ.js → chunk-RK22ACPP.js} +16 -16
  109. package/chunks/chunk-RM3PGSGL.js +66 -0
  110. package/chunks/chunk-RNBYOUGV.js +42 -0
  111. package/chunks/chunk-S6RLAIUR.js +23 -0
  112. package/chunks/{chunk-3TV3HUWZ.js → chunk-SCYK2YLI.js} +81 -30
  113. package/chunks/{chunk-HPZTOP4I.js → chunk-SEKRT4SD.js} +133 -23
  114. package/chunks/chunk-SEZC2725.js +36 -0
  115. package/chunks/chunk-SIUQ3YYX.js +78 -0
  116. package/chunks/{chunk-O2VBQ3Y2.js → chunk-SJBIFVD2.js} +2 -2
  117. package/chunks/chunk-SYCJMSIJ.js +82 -0
  118. package/chunks/{chunk-JE5FVRPC.js → chunk-T22H4V4R.js} +48 -23
  119. package/chunks/{chunk-3227DZO4.js → chunk-T42ACHFI.js} +1 -1
  120. package/chunks/{chunk-UO5GVXQE.js → chunk-TENOUWY2.js} +3 -3
  121. package/chunks/{chunk-JOLIREYR.js → chunk-TOAUDIS7.js} +1 -1
  122. package/chunks/{chunk-QNKBEJO2.js → chunk-UA6XBZT7.js} +2776 -1289
  123. package/chunks/{chunk-O75BHFQW.js → chunk-UQTYK5SS.js} +2 -2
  124. package/chunks/{chunk-Y6YMRS3U.js → chunk-UY2TCIZS.js} +17 -3
  125. package/chunks/{chunk-FNJ7BDPH.js → chunk-UY7ZAYTY.js} +10 -7
  126. package/chunks/{chunk-UYT3MWEB.js → chunk-UYHWM24C.js} +30 -2
  127. package/chunks/{chunk-SMXULRAN.js → chunk-VXGPYF7U.js} +1 -1
  128. package/chunks/{chunk-BTLJ2MF5.js → chunk-W7CG5HPC.js} +3 -3
  129. package/chunks/{chunk-JJXWTVSK.js → chunk-XHZKDN7M.js} +34 -1
  130. package/chunks/{chunk-K5XU6E4T.js → chunk-XKSCTXPK.js} +2 -2
  131. package/chunks/chunk-Y4LITCRB.js +367 -0
  132. package/chunks/chunk-YHTNWGRR.js +239 -0
  133. package/chunks/{chunk-BKXBARJZ.js → chunk-YPCPZSZB.js} +1 -1
  134. package/chunks/{chunk-QWFNTRH4.js → chunk-YSM24SCE.js} +1 -1
  135. package/chunks/chunk-YTFBURQD.js +313 -0
  136. package/chunks/{chunk-NL4C3H6C.js → chunk-YXK4GPYO.js} +1 -1
  137. package/chunks/{chunk-RYLJU2DY.js → chunk-ZN5T4BHI.js} +1 -1
  138. package/chunks/{computer-use-JGB36FDW.js → computer-use-MTSVPLPY.js} +34 -28
  139. package/chunks/contextCommand-VGJ3BPTK.js +67 -0
  140. package/chunks/{cron-create-SKEY55RG.js → cron-create-6YTCOX6P.js} +4 -4
  141. package/chunks/{cron-delete-I3NAT32Z.js → cron-delete-E3NIFSUK.js} +4 -4
  142. package/chunks/{cron-list-6XRRL6TH.js → cron-list-Q64MNQNE.js} +4 -4
  143. package/chunks/daemon-EEB2RYOL.js +8453 -0
  144. package/chunks/daemon-status-provider-H5SNMK42.js +71 -0
  145. package/chunks/{de-EOW5PVHF.js → de-PLLFDERI.js} +10 -9
  146. package/chunks/{dist-NHEYYB2B.js → dist-ADMIQGHI.js} +2 -2
  147. package/chunks/{dist-J37VXPLD.js → dist-BCQ7INM7.js} +40 -15
  148. package/chunks/{dist-663NZ6MI.js → dist-KNZFCY5F.js} +116 -11
  149. package/chunks/{dist-LB6OGPVM.js → dist-LHUWC3K6.js} +26 -5
  150. package/chunks/{dist-PQPZ5Q4N.js → dist-WBBZ76JZ.js} +20 -9
  151. package/chunks/{earlyInputCapture-44RISVVJ.js → earlyInputCapture-U4ZIQSQU.js} +32 -26
  152. package/chunks/{edit-NN6GM5DT.js → edit-SYIQ2KBI.js} +41 -38
  153. package/chunks/{en-HPWEJBTR.js → en-M4EBUBNU.js} +32 -10
  154. package/chunks/{enter-worktree-PB3O2C7D.js → enter-worktree-HPPOO244.js} +31 -25
  155. package/chunks/{enterPlanMode-YQFNNSUA.js → enterPlanMode-56YYO52U.js} +41 -25
  156. package/chunks/{errors-LS7XU5DZ.js → errors-EO4SXCFP.js} +33 -27
  157. package/chunks/{exit-worktree-E2FTNSBK.js → exit-worktree-UDM7E6XH.js} +31 -25
  158. package/chunks/{exitPlanMode-GLYK2BUB.js → exitPlanMode-M6P3AWLJ.js} +149 -33
  159. package/chunks/{fast-path-WQ6M7LI7.js → fast-path-42P4QYWI.js} +33 -14
  160. package/chunks/{fast-path-settings-OAGU3X5H.js → fast-path-settings-UQLRFDQP.js} +2 -2
  161. package/chunks/{fr-BN5NKSAC.js → fr-MBMNQSQ6.js} +10 -9
  162. package/chunks/{gemini-2YFLVA2M.js → gemini-NRLXS5J7.js} +84 -70
  163. package/chunks/{geminiContentGenerator-XV6SV6CD.js → geminiContentGenerator-DLJPYYPA.js} +41 -5
  164. package/chunks/{glob-2H6CDDMK.js → glob-JPY3F74Y.js} +31 -25
  165. package/chunks/{grep-VXIUXM3C.js → grep-HW23YES5.js} +31 -25
  166. package/chunks/initializer-HWOZTC4A.js +67 -0
  167. package/chunks/{ja-7DEUB2TS.js → ja-HFV5QCHR.js} +10 -9
  168. package/chunks/{keychain-token-storage-YLMDLKXT.js → keychain-token-storage-GPAKRDKQ.js} +2 -2
  169. package/chunks/list-OZGAGRDG.js +71 -0
  170. package/chunks/loadedSettingsAdapter-RUTZVVIA.js +66 -0
  171. package/chunks/{loop-wakeup-CITGGQHA.js → loop-wakeup-G2EHBRGR.js} +5 -5
  172. package/chunks/{ls-R5WP4BGZ.js → ls-IDHUVSAG.js} +4 -4
  173. package/chunks/{lsp-GSICJMMW.js → lsp-FSRYXGFT.js} +2 -2
  174. package/chunks/{monitor-HKLRS2HQ.js → monitor-QVWEIXU3.js} +33 -26
  175. package/chunks/nonInteractiveCli-RV2WYPML.js +109 -0
  176. package/chunks/{notebook-edit-Y6SKSGTT.js → notebook-edit-B26W3FFH.js} +37 -34
  177. package/chunks/{openaiContentGenerator-J7G2FYJT.js → openaiContentGenerator-6TH7AZGQ.js} +15 -13
  178. package/chunks/pidfile-KW2QQJZI.js +73 -0
  179. package/chunks/{pt-TNZRNLQB.js → pt-2THT3YHA.js} +10 -9
  180. package/chunks/{qwenContentGenerator-5XIEM5GV.js → qwenContentGenerator-5IQAC7RN.js} +33 -27
  181. package/chunks/{qwenOAuth2-AG3PFFLZ.js → qwenOAuth2-LWLA6MQG.js} +5 -4
  182. package/chunks/{read-file-J7D552ZJ.js → read-file-CWFAHOI2.js} +11 -10
  183. package/chunks/{read-mcp-resource-DQQW7H7T.js → read-mcp-resource-PIJF24RO.js} +2 -2
  184. package/chunks/ripGrep-FTZGDKY4.js +60 -0
  185. package/chunks/{ru-NIAUBKCN.js → ru-Z67YJHBG.js} +10 -9
  186. package/chunks/{run-qwen-serve-SGEEVMXD.js → run-qwen-serve-FN2SW5ZI.js} +545 -97
  187. package/chunks/{scheduler-7CQI3S4Q.js → scheduler-BMS23O3I.js} +31 -25
  188. package/chunks/{send-message-EE4TWKVU.js → send-message-33PYFMCT.js} +20 -4
  189. package/chunks/serve-PXFYKL65.js +71 -0
  190. package/chunks/{server-4QMUWXPW.js → server-BRKALJ4F.js} +4132 -1175
  191. package/chunks/{session-NRO7UFOY.js → session-AQMISBP4.js} +205 -64
  192. package/chunks/{settings-SGWRDQSC.js → settings-JCPVUZMB.js} +35 -29
  193. package/chunks/{shell-62ANGIHL.js → shell-POHCRVN2.js} +31 -25
  194. package/chunks/{skill-VWAQAWW6.js → skill-QPEVHS6H.js} +13 -12
  195. package/chunks/spawnChannel-V3QT62TE.js +69 -0
  196. package/chunks/{src-KUV5J5Q2.js → src-IZSP7L6Y.js} +127 -32
  197. package/chunks/{startInteractiveUI-6EYJN3JV.js → startInteractiveUI-63KATISO.js} +16762 -16075
  198. package/chunks/{syntheticOutput-T5YHQ6S2.js → syntheticOutput-YOSWIHDJ.js} +3 -3
  199. package/chunks/{task-create-BLY7RHXX.js → task-create-NHS2NGB3.js} +9 -7
  200. package/chunks/{task-list-3QUYNVYR.js → task-list-5UIB564R.js} +7 -6
  201. package/chunks/{task-stop-U4RATK2V.js → task-stop-HGXZ2VZ3.js} +2 -2
  202. package/chunks/{task-update-U54O7KJX.js → task-update-IYYWUILG.js} +40 -7
  203. package/chunks/{team-create-LPOGCPM7.js → team-create-E5O2F3CA.js} +31 -25
  204. package/chunks/{team-delete-LKBYPASD.js → team-delete-FEKJCU4P.js} +7 -6
  205. package/chunks/team-plan-approval-2TU4YROB.js +202 -0
  206. package/chunks/theme-manager-37KOGPJL.js +64 -0
  207. package/chunks/{todoWrite-OYXKTVYN.js → todoWrite-TKMVZ2HT.js} +4 -4
  208. package/chunks/{tool-search-YPUFJ3ZQ.js → tool-search-4ZTGNSFI.js} +38 -11
  209. package/chunks/{trustedFolders-5B24TMEA.js → trustedFolders-RJ5WXJ6L.js} +32 -26
  210. package/chunks/{validateNonInterActiveAuth-BTDTYOVT.js → validateNonInterActiveAuth-ZWMHZAOK.js} +66 -55
  211. package/chunks/{web-fetch-EEB5LZYU.js → web-fetch-J4PIW36Q.js} +5 -4
  212. package/chunks/{workflow-LAWIW5LI.js → workflow-6PG2PC5M.js} +68 -39
  213. package/chunks/workspace-providers-status-4QIZN2W4.js +68 -0
  214. package/chunks/workspace-service-CYMCOEIO.js +78 -0
  215. package/chunks/{write-file-PCV226DJ.js → write-file-R354LGQF.js} +41 -40
  216. package/chunks/{zh-5EUYXASN.js → zh-SLZNSSZB.js} +32 -10
  217. package/chunks/{zh-TW-TR3XYGE5.js → zh-TW-P53C2SL5.js} +32 -10
  218. package/cli.js +6 -6
  219. package/locales/ca.js +15 -13
  220. package/locales/de.js +15 -13
  221. package/locales/en.js +52 -15
  222. package/locales/fr.js +15 -14
  223. package/locales/ja.js +15 -14
  224. package/locales/pt.js +15 -13
  225. package/locales/ru.js +15 -13
  226. package/locales/zh-TW.js +50 -14
  227. package/locales/zh.js +50 -14
  228. package/node_modules/@qwen-code/audio-capture/package.json +1 -1
  229. package/node_modules/@qwen-code/audio-capture/prebuilds/darwin-arm64/@qwen-code+audio-capture.node +0 -0
  230. package/node_modules/@qwen-code/audio-capture/prebuilds/darwin-x64/@qwen-code+audio-capture.node +0 -0
  231. package/node_modules/@qwen-code/audio-capture/prebuilds/win32-x64/@qwen-code+audio-capture.node +0 -0
  232. package/package.json +15 -6
  233. package/patches/chrome-devtools-mcp+1.4.0.patch +31 -0
  234. package/postinstall.js +50 -0
  235. package/web-shell/assets/{arc-DA7r8Ueo.js → arc-Bd3048nX.js} +1 -1
  236. package/web-shell/assets/{architectureDiagram-3BPJPVTR-ZDUxPtZ2.js → architectureDiagram-3BPJPVTR-DyzbzABx.js} +1 -1
  237. package/web-shell/assets/{blockDiagram-GPEHLZMM-vrtOf1kJ.js → blockDiagram-GPEHLZMM-CTjxm9Sy.js} +1 -1
  238. package/web-shell/assets/{c4Diagram-AAUBKEIU-BHFjzIi4.js → c4Diagram-AAUBKEIU-DSOFWNU6.js} +1 -1
  239. package/web-shell/assets/channel-oVoup_Ci.js +1 -0
  240. package/web-shell/assets/{chunk-2J33WTMH-mdeQVz59.js → chunk-2J33WTMH-D_PFdjo2.js} +1 -1
  241. package/web-shell/assets/{chunk-4BX2VUAB-BkKMlwBX.js → chunk-4BX2VUAB-52eG6wOT.js} +1 -1
  242. package/web-shell/assets/{chunk-55IACEB6-B7bnXNfu.js → chunk-55IACEB6-CGTZfKkC.js} +1 -1
  243. package/web-shell/assets/{chunk-727SXJPM-DGz8Mm6i.js → chunk-727SXJPM-CZ-qfRUm.js} +1 -1
  244. package/web-shell/assets/{chunk-AQP2D5EJ-BQAydUNk.js → chunk-AQP2D5EJ-B2dSDcqM.js} +1 -1
  245. package/web-shell/assets/{chunk-FMBD7UC4-GHr2LN_p.js → chunk-FMBD7UC4-Cfy3tyA0.js} +1 -1
  246. package/web-shell/assets/{chunk-ND2GUHAM-7R91lnUx.js → chunk-ND2GUHAM-CApNUpUq.js} +1 -1
  247. package/web-shell/assets/{chunk-QZHKN3VN-aTJD3lSQ.js → chunk-QZHKN3VN-CVBG8kgg.js} +1 -1
  248. package/web-shell/assets/classDiagram-4FO5ZUOK-B8WsaT2G.js +1 -0
  249. package/web-shell/assets/classDiagram-v2-Q7XG4LA2-B8WsaT2G.js +1 -0
  250. package/web-shell/assets/{cose-bilkent-S5V4N54A-BTf8t1RL.js → cose-bilkent-S5V4N54A-URd77-_-.js} +1 -1
  251. package/web-shell/assets/{dagre-BM42HDAG-_sgp3WuA.js → dagre-BM42HDAG-C07H4G9-.js} +1 -1
  252. package/web-shell/assets/{diagram-2AECGRRQ-CROtRy1w.js → diagram-2AECGRRQ-CYbpXrSn.js} +1 -1
  253. package/web-shell/assets/{diagram-5GNKFQAL-BqGRzwSc.js → diagram-5GNKFQAL-SI8s6fjX.js} +1 -1
  254. package/web-shell/assets/{diagram-KO2AKTUF-CMrcEtA7.js → diagram-KO2AKTUF-mBkC4RTW.js} +1 -1
  255. package/web-shell/assets/{diagram-LMA3HP47-BRydGNW5.js → diagram-LMA3HP47-CyBPDzWJ.js} +1 -1
  256. package/web-shell/assets/{diagram-OG6HWLK6-D0ilgNjV.js → diagram-OG6HWLK6-DwK7kBCu.js} +1 -1
  257. package/web-shell/assets/{erDiagram-TEJ5UH35-2lnQeJUM.js → erDiagram-TEJ5UH35-Ds1StEUd.js} +1 -1
  258. package/web-shell/assets/{flowDiagram-I6XJVG4X-C_ZMdQiC.js → flowDiagram-I6XJVG4X-BDC4-jHO.js} +1 -1
  259. package/web-shell/assets/{ganttDiagram-6RSMTGT7-Dw9V_Ny0.js → ganttDiagram-6RSMTGT7-CV2aHQqf.js} +1 -1
  260. package/web-shell/assets/{gitGraphDiagram-PVQCEYII-HDXI-F1B.js → gitGraphDiagram-PVQCEYII-B8RcuV_L.js} +1 -1
  261. package/web-shell/assets/index-B5WZ0qP1.js +717 -0
  262. package/web-shell/assets/index-CYE1IMd1.css +5 -0
  263. package/web-shell/assets/{infoDiagram-5YYISTIA-CuB8Ebua.js → infoDiagram-5YYISTIA-DUPoTf50.js} +1 -1
  264. package/web-shell/assets/{ishikawaDiagram-YF4QCWOH-D_tyhVwh.js → ishikawaDiagram-YF4QCWOH-FDYOx9rf.js} +1 -1
  265. package/web-shell/assets/{journeyDiagram-JHISSGLW-CgCwJQNU.js → journeyDiagram-JHISSGLW-C5_ohMRp.js} +1 -1
  266. package/web-shell/assets/{kanban-definition-UN3LZRKU-PZUtcbPx.js → kanban-definition-UN3LZRKU-Bn4UnOMG.js} +1 -1
  267. package/web-shell/assets/{linear-CZqRdJIU.js → linear-Bl0pKQtY.js} +1 -1
  268. package/web-shell/assets/{mermaid.core-CPW_4UEF.js → mermaid.core-sevQFoji.js} +72 -72
  269. package/web-shell/assets/{mindmap-definition-RKZ34NQL-D_Y75ID7.js → mindmap-definition-RKZ34NQL-DSH4JZF9.js} +1 -1
  270. package/web-shell/assets/{pieDiagram-4H26LBE5-Q4dTyLeF.js → pieDiagram-4H26LBE5-acWvdQTD.js} +1 -1
  271. package/web-shell/assets/{quadrantDiagram-W4KKPZXB-ckw329Ft.js → quadrantDiagram-W4KKPZXB-DlggX4Sm.js} +1 -1
  272. package/web-shell/assets/{requirementDiagram-4Y6WPE33-DbVDm4It.js → requirementDiagram-4Y6WPE33--mMqwmV8.js} +1 -1
  273. package/web-shell/assets/{sankeyDiagram-5OEKKPKP-CHuZ_ecH.js → sankeyDiagram-5OEKKPKP-BtV9tZ77.js} +1 -1
  274. package/web-shell/assets/{sequenceDiagram-3UESZ5HK-DU2YSpq-.js → sequenceDiagram-3UESZ5HK-iDQzPFlj.js} +1 -1
  275. package/web-shell/assets/{stateDiagram-AJRCARHV-CA9PEBUo.js → stateDiagram-AJRCARHV-CsCyQLZ3.js} +1 -1
  276. package/web-shell/assets/stateDiagram-v2-BHNVJYJU-CPapECG9.js +1 -0
  277. package/web-shell/assets/{timeline-definition-PNZ67QCA-Bhlo4WVc.js → timeline-definition-PNZ67QCA-Dl0rnKvr.js} +1 -1
  278. package/web-shell/assets/{vennDiagram-CIIHVFJN-6xtPLsyl.js → vennDiagram-CIIHVFJN-qF7nTZzA.js} +1 -1
  279. package/web-shell/assets/{wardley-L42UT6IY-3eozmXPf.js → wardley-L42UT6IY-fWoK9i7F.js} +1 -1
  280. package/web-shell/assets/{wardleyDiagram-YWT4CUSO-BOn6hKss.js → wardleyDiagram-YWT4CUSO-pHGfkMnc.js} +1 -1
  281. package/web-shell/assets/{xychartDiagram-2RQKCTM6-BsP4-I_y.js → xychartDiagram-2RQKCTM6-3Doc4Trz.js} +1 -1
  282. package/web-shell/index.html +18 -2
  283. package/chunks/MaxSizedBox-QNF3EIGU.js +0 -63
  284. package/chunks/agent-headless-RQ5BTX3G.js +0 -56
  285. package/chunks/bridge-JL2PMCIW.js +0 -66
  286. package/chunks/chunk-5GOVVXEV.js +0 -73
  287. package/chunks/chunk-BC3C4F3Q.js +0 -40
  288. package/chunks/chunk-BW4KCQFD.js +0 -1103
  289. package/chunks/chunk-RKIZXJMB.js +0 -13
  290. package/chunks/contextCommand-WYU6OQ2F.js +0 -61
  291. package/chunks/daemon-status-provider-HH2EC5FI.js +0 -65
  292. package/chunks/headlessSafetyWarnings-TBE35GJ4.js +0 -55
  293. package/chunks/initializer-2Y7SLOKV.js +0 -61
  294. package/chunks/list-ZAFHZ7OS.js +0 -65
  295. package/chunks/loadedSettingsAdapter-6KJXD6M3.js +0 -60
  296. package/chunks/nonInteractiveCli-5W4GIZQM.js +0 -96
  297. package/chunks/ripGrep-IEIFIWP4.js +0 -54
  298. package/chunks/serve-V6GVZR6U.js +0 -65
  299. package/chunks/spawnChannel-3VHW5EPY.js +0 -63
  300. package/chunks/theme-manager-LYLGAERF.js +0 -58
  301. package/chunks/workspace-providers-status-PIAFVYHA.js +0 -62
  302. package/chunks/workspace-service-YAIOD4HG.js +0 -71
  303. package/web-shell/assets/channel-iRo68q4Q.js +0 -1
  304. package/web-shell/assets/classDiagram-4FO5ZUOK-iHF24a8X.js +0 -1
  305. package/web-shell/assets/classDiagram-v2-Q7XG4LA2-iHF24a8X.js +0 -1
  306. package/web-shell/assets/index-CHmzAWys.css +0 -5
  307. package/web-shell/assets/index-w6GTOHh1.js +0 -713
  308. package/web-shell/assets/stateDiagram-v2-BHNVJYJU-t1LRI0oY.js +0 -1
@@ -15,15 +15,15 @@ import {
15
15
  readCronTasks,
16
16
  removeCronTasks,
17
17
  updateCronTasks
18
- } from "./chunk-O2VBQ3Y2.js";
18
+ } from "./chunk-SJBIFVD2.js";
19
19
  import {
20
20
  ToolNames
21
- } from "./chunk-BX5YO7UW.js";
21
+ } from "./chunk-MTNTVOJR.js";
22
22
  import {
23
23
  Storage,
24
24
  createDebugLogger,
25
25
  getProjectHash
26
- } from "./chunk-UX4SGCGN.js";
26
+ } from "./chunk-AVQDCKNF.js";
27
27
  import {
28
28
  init_esbuild_shims
29
29
  } from "./chunk-A4BMJM77.js";
@@ -242,6 +242,14 @@ var CronScheduler = class {
242
242
  _disabled = false;
243
243
  timer = null;
244
244
  onFire = null;
245
+ // Guard a consumer installs when it cannot execute certain durable jobs. A
246
+ // headless run can't expand a `.qwen/loop.md` sentinel, so it marks such
247
+ // durable jobs skippable here: they are then neither fired NOR have their
248
+ // persisted fired-state advanced (lastFiredAt stamp / one-shot removal),
249
+ // leaving the tick for the owning interactive session instead of silently
250
+ // consuming it for work the consumer never ran. Session-only jobs and durable
251
+ // jobs in a consumer that can run them are unaffected (predicate unset/false).
252
+ skipDurableFire = null;
245
253
  // --- Durable (file-backed) support ---
246
254
  durableEnabled = false;
247
255
  // Bumped by stop(). Async durable work captures the value before each
@@ -623,12 +631,27 @@ var CronScheduler = class {
623
631
  deliverPending(pending, onFire) {
624
632
  switch (pending.kind) {
625
633
  case "missed": {
626
- onFire({
627
- ...durableTaskToJob(pending.tasks[0]),
628
- prompt: buildMissedCronNotification(pending.tasks),
629
- missed: true
634
+ const skipped = [];
635
+ const runnable = pending.tasks.filter((t) => {
636
+ const job = durableTaskToJob(t);
637
+ if (job.durable && this.skipDurableFire?.(job)) {
638
+ debugLogger.debug(
639
+ `Skipping durable job ${t.id} (missed): consumer cannot run it`
640
+ );
641
+ skipped.push(t.id);
642
+ return false;
643
+ }
644
+ return true;
630
645
  });
631
- this.removeMissedFromDisk(pending.tasks.map((t) => t.id));
646
+ for (const id of skipped) this.pendingRemoval.delete(id);
647
+ if (runnable.length > 0) {
648
+ onFire({
649
+ ...durableTaskToJob(runnable[0]),
650
+ prompt: buildMissedCronNotification(runnable),
651
+ missed: true
652
+ });
653
+ this.removeMissedFromDisk(runnable.map((t) => t.id));
654
+ }
632
655
  break;
633
656
  }
634
657
  case "catch-up": {
@@ -636,6 +659,12 @@ var CronScheduler = class {
636
659
  for (const id of pending.ids) {
637
660
  const job = this.jobs.get(id);
638
661
  if (!job) continue;
662
+ if (job.durable && this.skipDurableFire?.(job)) {
663
+ debugLogger.debug(
664
+ `Skipping durable job ${job.id} (catch-up): consumer cannot run it`
665
+ );
666
+ continue;
667
+ }
639
668
  onFire(job);
640
669
  fired.push(id);
641
670
  }
@@ -643,10 +672,19 @@ var CronScheduler = class {
643
672
  break;
644
673
  }
645
674
  case "final": {
675
+ const fired = [];
646
676
  for (const job of pending.jobs) {
677
+ if (job.durable && this.skipDurableFire?.(job)) {
678
+ debugLogger.debug(
679
+ `Skipping durable job ${job.id} (final): consumer cannot run it`
680
+ );
681
+ this.pendingRemoval.delete(job.id);
682
+ continue;
683
+ }
647
684
  onFire(job);
685
+ fired.push(job.id);
648
686
  }
649
- this.removeMissedFromDisk(pending.jobs.map((j) => j.id));
687
+ this.removeMissedFromDisk(fired);
650
688
  break;
651
689
  }
652
690
  default: {
@@ -730,6 +768,16 @@ var CronScheduler = class {
730
768
  } catch {
731
769
  }
732
770
  }
771
+ /**
772
+ * Installs a predicate marking durable jobs the active consumer cannot run
773
+ * (see the `skipDurableFire` field). Such jobs are skipped before any fire or
774
+ * persist, so their durable schedule is left intact for an owning session that
775
+ * can run them. Set before `start()` so a buffered catch-up flush also honors
776
+ * it. A no-op for session-only jobs.
777
+ */
778
+ setSkipDurableFire(predicate) {
779
+ this.skipDurableFire = predicate;
780
+ }
733
781
  /**
734
782
  * Starts the scheduler tick. Calls `onFire` when a job is due.
735
783
  * Only fires when called — does not auto-fire missed intervals.
@@ -847,6 +895,12 @@ var CronScheduler = class {
847
895
  const removedIds = [];
848
896
  for (const job of this.jobs.values()) {
849
897
  if (job.durable && !this.isOwner) continue;
898
+ if (job.durable && this.skipDurableFire?.(job)) {
899
+ debugLogger.debug(
900
+ `Skipping durable job ${job.id} (tick): consumer cannot run it`
901
+ );
902
+ continue;
903
+ }
850
904
  const result = this.processJob(job, currentDate, currentMs);
851
905
  if (!job.durable || result === "none") continue;
852
906
  if (result === "fired-final" || !job.recurring) {
@@ -3,18 +3,18 @@
3
3
  import {
4
4
  getGitVersion,
5
5
  getNpmVersion
6
- } from "./chunk-MNF6S5PR.js";
6
+ } from "./chunk-P5THQV6A.js";
7
7
  import {
8
8
  STATUS_SCHEMA_VERSION,
9
9
  mapDomainErrorToErrorKind
10
- } from "./chunk-L7OKCI7T.js";
10
+ } from "./chunk-M7BLWURA.js";
11
11
  import {
12
12
  canUseRipgrep
13
- } from "./chunk-YAINVQ3Q.js";
13
+ } from "./chunk-A5OPLHFM.js";
14
14
  import {
15
15
  detectRuntime,
16
16
  redactProxyCredentials
17
- } from "./chunk-U3KSMM7G.js";
17
+ } from "./chunk-D5KISTLW.js";
18
18
  import {
19
19
  init_esbuild_shims
20
20
  } from "./chunk-A4BMJM77.js";
@@ -2,12 +2,12 @@
2
2
  "use strict";
3
3
  import {
4
4
  buildPermissionSettings
5
- } from "./chunk-ODLIHNOY.js";
5
+ } from "./chunk-2U4HUMOL.js";
6
6
  import {
7
7
  resolveVoiceStreamConfig,
8
8
  resolveVoiceTranscriptionConfig,
9
9
  transcribeVoiceAudio
10
- } from "./chunk-BTLJ2MF5.js";
10
+ } from "./chunk-W7CG5HPC.js";
11
11
  import {
12
12
  getVoiceSettingsScope,
13
13
  isSelectableVoiceModel,
@@ -16,11 +16,7 @@ import {
16
16
  readVoiceMode,
17
17
  readVoiceModel,
18
18
  resolveVoiceTransport
19
- } from "./chunk-4LUZAKMK.js";
20
- import {
21
- WorkspacePermissionRulesSessionRequiredError,
22
- WorkspaceSettingsPartialPersistError
23
- } from "./chunk-BMFMJINR.js";
19
+ } from "./chunk-7KXAGQJ2.js";
24
20
  import {
25
21
  MCP_RESTART_SERVER_DEADLINE_MS
26
22
  } from "./chunk-P7M4GA57.js";
@@ -32,11 +28,7 @@ import {
32
28
  WorkspaceInitPathEscapeError,
33
29
  WorkspaceInitRaceError,
34
30
  WorkspaceInitSymlinkError
35
- } from "./chunk-JE5FVRPC.js";
36
- import {
37
- getPersistScopeForModelSelection,
38
- loadSettings
39
- } from "./chunk-FKAVULLM.js";
31
+ } from "./chunk-T22H4V4R.js";
40
32
  import {
41
33
  SERVE_CONTROL_EXT_METHODS,
42
34
  SERVE_STATUS_EXT_METHODS,
@@ -49,19 +41,27 @@ import {
49
41
  createIdleWorkspaceProvidersStatus,
50
42
  createIdleWorkspaceSkillsStatus,
51
43
  mapDomainErrorToErrorKind
52
- } from "./chunk-L7OKCI7T.js";
44
+ } from "./chunk-M7BLWURA.js";
45
+ import {
46
+ WorkspacePermissionRulesSessionRequiredError,
47
+ WorkspaceSettingsPartialPersistError
48
+ } from "./chunk-BMFMJINR.js";
49
+ import {
50
+ getPersistScopeForModelSelection,
51
+ loadSettings
52
+ } from "./chunk-75AVTQJ2.js";
53
53
  import {
54
54
  getWorkspaceTrustStatus
55
- } from "./chunk-F3ZYSEY6.js";
55
+ } from "./chunk-FY4TT4L4.js";
56
56
  import {
57
57
  writeStderrLine
58
58
  } from "./chunk-Y6Z2O3WR.js";
59
59
  import {
60
60
  ModelsConfig
61
- } from "./chunk-YAINVQ3Q.js";
61
+ } from "./chunk-A5OPLHFM.js";
62
62
  import {
63
63
  createDebugLogger
64
- } from "./chunk-UX4SGCGN.js";
64
+ } from "./chunk-AVQDCKNF.js";
65
65
  import {
66
66
  init_esbuild_shims
67
67
  } from "./chunk-A4BMJM77.js";
@@ -0,0 +1,66 @@
1
+ // Force strict mode and setup for ESM
2
+ "use strict";
3
+ import {
4
+ init_esbuild_shims
5
+ } from "./chunk-A4BMJM77.js";
6
+ import {
7
+ __name
8
+ } from "./chunk-J2S4EL5Y.js";
9
+
10
+ // packages/cli/src/serve/workspace-remember-errors.ts
11
+ init_esbuild_shims();
12
+ function errorCodeFromRecord(record) {
13
+ if (typeof record["code"] === "string") return record["code"];
14
+ const data = record["data"];
15
+ if (data && typeof data === "object") {
16
+ const dataRecord = data;
17
+ if (typeof dataRecord["errorKind"] === "string") {
18
+ return dataRecord["errorKind"];
19
+ }
20
+ if (typeof dataRecord["code"] === "string") return dataRecord["code"];
21
+ }
22
+ return void 0;
23
+ }
24
+ __name(errorCodeFromRecord, "errorCodeFromRecord");
25
+ function extractRememberErrorCode(err) {
26
+ if (err && typeof err === "object") {
27
+ const record = err;
28
+ const direct = errorCodeFromRecord(record);
29
+ if (direct) return direct;
30
+ const cause = record["cause"];
31
+ if (cause && typeof cause === "object") {
32
+ const causedBy = errorCodeFromRecord(cause);
33
+ if (causedBy) return causedBy;
34
+ }
35
+ }
36
+ return "remember_failed";
37
+ }
38
+ __name(extractRememberErrorCode, "extractRememberErrorCode");
39
+
40
+ // packages/cli/src/serve/workspace-memory-remember-constants.ts
41
+ init_esbuild_shims();
42
+ var MAX_REMEMBER_CONTENT_BYTES = 64 * 1024;
43
+
44
+ // packages/cli/src/serve/validate-server-name.ts
45
+ init_esbuild_shims();
46
+ var VALID_SERVER_NAME = /^[A-Za-z0-9_-]+$/;
47
+ var RESERVED_SERVER_NAMES = /* @__PURE__ */ new Set([
48
+ "__proto__",
49
+ "constructor",
50
+ "prototype"
51
+ ]);
52
+ function isValidServerName(name) {
53
+ return typeof name === "string" && name.length > 0 && name.length <= 256 && VALID_SERVER_NAME.test(name) && !RESERVED_SERVER_NAMES.has(name);
54
+ }
55
+ __name(isValidServerName, "isValidServerName");
56
+
57
+ export {
58
+ extractRememberErrorCode,
59
+ MAX_REMEMBER_CONTENT_BYTES,
60
+ isValidServerName
61
+ };
62
+ /**
63
+ * @license
64
+ * Copyright 2026 Qwen Team
65
+ * SPDX-License-Identifier: Apache-2.0
66
+ */
@@ -0,0 +1,42 @@
1
+ // Force strict mode and setup for ESM
2
+ "use strict";
3
+ import {
4
+ init_esbuild_shims
5
+ } from "./chunk-A4BMJM77.js";
6
+ import {
7
+ __name
8
+ } from "./chunk-J2S4EL5Y.js";
9
+
10
+ // packages/cli/src/serve/loopback-binds.ts
11
+ init_esbuild_shims();
12
+ var LOOPBACK_BINDS = /* @__PURE__ */ new Set([
13
+ "127.0.0.1",
14
+ "localhost",
15
+ "::1",
16
+ "[::1]"
17
+ ]);
18
+ function isIpv4Loopback(hostname) {
19
+ const octets = hostname.split(".");
20
+ if (octets.length !== 4) return false;
21
+ const [first, ...rest] = octets;
22
+ return first === "127" && rest.every((octet) => {
23
+ if (!/^\d+$/.test(octet)) return false;
24
+ const value = Number(octet);
25
+ return value >= 0 && value <= 255;
26
+ });
27
+ }
28
+ __name(isIpv4Loopback, "isIpv4Loopback");
29
+ function isLoopbackBind(hostname) {
30
+ const normalized = hostname.toLowerCase();
31
+ return LOOPBACK_BINDS.has(normalized) || isIpv4Loopback(normalized);
32
+ }
33
+ __name(isLoopbackBind, "isLoopbackBind");
34
+
35
+ export {
36
+ isLoopbackBind
37
+ };
38
+ /**
39
+ * @license
40
+ * Copyright 2025 Qwen Team
41
+ * SPDX-License-Identifier: Apache-2.0
42
+ */
@@ -0,0 +1,23 @@
1
+ // Force strict mode and setup for ESM
2
+ "use strict";
3
+ import {
4
+ init_esbuild_shims
5
+ } from "./chunk-A4BMJM77.js";
6
+
7
+ // packages/cli/src/serve/channel-worker-env.ts
8
+ init_esbuild_shims();
9
+ var CHANNEL_DAEMON_WORKER_SENTINEL = "QWEN_CHANNEL_DAEMON_WORKER";
10
+ var CHANNEL_WORKER_HEARTBEAT_INTERVAL_MS = 15e3;
11
+ var QWEN_DAEMON_TOKEN_ENV = "QWEN_DAEMON_TOKEN";
12
+ var QWEN_DAEMON_URL_ENV = "QWEN_DAEMON_URL";
13
+ var QWEN_DAEMON_WORKSPACE_ENV = "QWEN_DAEMON_WORKSPACE";
14
+ var QWEN_SERVER_TOKEN_ENV = "QWEN_SERVER_TOKEN";
15
+
16
+ export {
17
+ CHANNEL_DAEMON_WORKER_SENTINEL,
18
+ CHANNEL_WORKER_HEARTBEAT_INTERVAL_MS,
19
+ QWEN_DAEMON_TOKEN_ENV,
20
+ QWEN_DAEMON_URL_ENV,
21
+ QWEN_DAEMON_WORKSPACE_ENV,
22
+ QWEN_SERVER_TOKEN_ENV
23
+ };
@@ -7,28 +7,28 @@ import {
7
7
  require_jsx_runtime,
8
8
  use_stdin_default,
9
9
  use_stdout_default
10
- } from "./chunk-T4T2FNV4.js";
10
+ } from "./chunk-LOW52WYZ.js";
11
11
  import {
12
12
  require_react
13
13
  } from "./chunk-KYMBIKIW.js";
14
14
  import {
15
15
  sanitizeFilenameForDisplay
16
- } from "./chunk-JJXWTVSK.js";
16
+ } from "./chunk-XHZKDN7M.js";
17
17
  import {
18
18
  t
19
- } from "./chunk-R5OP2ATH.js";
19
+ } from "./chunk-JZG7VB6C.js";
20
20
  import {
21
21
  fetchGitDiff,
22
22
  findProviderByCredentials,
23
23
  resolveMetadataKey
24
- } from "./chunk-YAINVQ3Q.js";
24
+ } from "./chunk-A5OPLHFM.js";
25
25
  import {
26
26
  KittySequenceOverflowEvent,
27
27
  logKittySequenceOverflow
28
- } from "./chunk-QNKBEJO2.js";
28
+ } from "./chunk-UA6XBZT7.js";
29
29
  import {
30
30
  createDebugLogger
31
- } from "./chunk-UX4SGCGN.js";
31
+ } from "./chunk-AVQDCKNF.js";
32
32
  import {
33
33
  init_esbuild_shims
34
34
  } from "./chunk-A4BMJM77.js";
@@ -48,6 +48,7 @@ init_esbuild_shims();
48
48
  var ESC = "\x1B";
49
49
  var SGR_EVENT_PREFIX = `${ESC}[<`;
50
50
  var X11_EVENT_PREFIX = `${ESC}[M`;
51
+ var MAX_SGR_MOUSE_SEQUENCE_LENGTH = 50;
51
52
  var SGR_MOUSE_REGEX = /^\x1b\[<(\d+);(\d+);(\d+)([mM])/;
52
53
  function getEventName(buttonCode, isRelease) {
53
54
  const isMove = (buttonCode & 32) !== 0;
@@ -107,14 +108,20 @@ function parseSGRMouseEvent(buffer) {
107
108
  };
108
109
  }
109
110
  __name(parseSGRMouseEvent, "parseSGRMouseEvent");
110
- var ENABLE_SGR_MOUSE = "\x1B[?1002h\x1B[?1006h";
111
- var DISABLE_SGR_MOUSE = "\x1B[?1006l\x1B[?1002l";
112
- function enableMouseEvents(stdout) {
113
- stdout.write(ENABLE_SGR_MOUSE);
111
+ var ENABLE_SGR_MOUSE = {
112
+ button: "\x1B[?1002h\x1B[?1006h",
113
+ any: "\x1B[?1003h\x1B[?1006h"
114
+ };
115
+ var DISABLE_SGR_MOUSE = {
116
+ button: "\x1B[?1006l\x1B[?1002l",
117
+ any: "\x1B[?1006l\x1B[?1003l"
118
+ };
119
+ function enableMouseEvents(stdout, tracking = "button") {
120
+ stdout.write(ENABLE_SGR_MOUSE[tracking]);
114
121
  }
115
122
  __name(enableMouseEvents, "enableMouseEvents");
116
- function disableMouseEvents(stdout) {
117
- stdout.write(DISABLE_SGR_MOUSE);
123
+ function disableMouseEvents(stdout, tracking = "button") {
124
+ stdout.write(DISABLE_SGR_MOUSE[tracking]);
118
125
  }
119
126
  __name(disableMouseEvents, "disableMouseEvents");
120
127
 
@@ -866,6 +873,14 @@ function KeypressProvider({
866
873
  let swallowingSgrMouse = false;
867
874
  let sgrMouseBuffer = "";
868
875
  let sgrMouseTimeout = null;
876
+ const resetSgrMouse = /* @__PURE__ */ __name(() => {
877
+ swallowingSgrMouse = false;
878
+ sgrMouseBuffer = "";
879
+ if (sgrMouseTimeout) {
880
+ clearTimeout(sgrMouseTimeout);
881
+ sgrMouseTimeout = null;
882
+ }
883
+ }, "resetSgrMouse");
869
884
  const updateKittyBuffer = /* @__PURE__ */ __name((value) => {
870
885
  kittySequenceBufferRef.current = value;
871
886
  }, "updateKittyBuffer");
@@ -1237,14 +1252,13 @@ function KeypressProvider({
1237
1252
  if (key.sequence === FOCUS_IN || key.sequence === FOCUS_OUT) {
1238
1253
  return;
1239
1254
  }
1240
- if (swallowingSgrMouse) {
1255
+ if (isPaste) {
1256
+ resetSgrMouse();
1257
+ } else if (swallowingSgrMouse) {
1241
1258
  if (key.ctrl && key.name === "c") {
1242
- swallowingSgrMouse = false;
1243
- sgrMouseBuffer = "";
1244
- if (sgrMouseTimeout) {
1245
- clearTimeout(sgrMouseTimeout);
1246
- sgrMouseTimeout = null;
1247
- }
1259
+ resetSgrMouse();
1260
+ } else if (key.name === "paste-start") {
1261
+ resetSgrMouse();
1248
1262
  } else {
1249
1263
  sgrMouseBuffer += key.sequence;
1250
1264
  if (key.name === "m" || key.sequence === "M") {
@@ -1260,11 +1274,13 @@ function KeypressProvider({
1260
1274
  }
1261
1275
  }
1262
1276
  sgrMouseBuffer = "";
1277
+ } else if (sgrMouseBuffer.length >= MAX_SGR_MOUSE_SEQUENCE_LENGTH) {
1278
+ resetSgrMouse();
1263
1279
  }
1264
1280
  return;
1265
1281
  }
1266
1282
  }
1267
- if (key.sequence === `${ESC3}[<`) {
1283
+ if (!isPaste && key.sequence === `${ESC3}[<`) {
1268
1284
  swallowingSgrMouse = true;
1269
1285
  sgrMouseBuffer = `${ESC3}[<`;
1270
1286
  if (sgrMouseTimeout) {
@@ -1665,12 +1681,7 @@ function KeypressProvider({
1665
1681
  }
1666
1682
  clearKittyBufferAndTimeout();
1667
1683
  clearPasteIdleTimeout();
1668
- if (sgrMouseTimeout) {
1669
- clearTimeout(sgrMouseTimeout);
1670
- sgrMouseTimeout = null;
1671
- }
1672
- swallowingSgrMouse = false;
1673
- sgrMouseBuffer = "";
1684
+ resetSgrMouse();
1674
1685
  if (rawFlushTimeout) {
1675
1686
  clearTimeout(rawFlushTimeout);
1676
1687
  rawFlushTimeout = null;
@@ -2157,14 +2168,33 @@ function expandCollapsedHistory(items) {
2157
2168
  return items.filter((item) => item.display?.kind !== "collapse-summary").map(stripSuppressOnRestore);
2158
2169
  }
2159
2170
  __name(expandCollapsedHistory, "expandCollapsedHistory");
2160
- function applyCollapsePolicyAndSummary(rawItems, collapseOnResume) {
2171
+ function applyCollapsePolicyAndSummary(rawItems, collapseOnResume, collapsePreviewCount = 0) {
2161
2172
  if (!collapseOnResume) return rawItems;
2162
- const uiHistoryItems = applyResumeDisplayPolicy(rawItems);
2163
- if (rawItems.length > 0) {
2173
+ if (collapsePreviewCount === -1) return rawItems;
2174
+ let boundary = rawItems.length;
2175
+ if (collapsePreviewCount > 0) {
2176
+ let userTurnCount = 0;
2177
+ for (let i = rawItems.length - 1; i >= 0; i--) {
2178
+ if (rawItems[i].type === "user" /* USER */) {
2179
+ userTurnCount++;
2180
+ if (userTurnCount === collapsePreviewCount) {
2181
+ boundary = i;
2182
+ break;
2183
+ }
2184
+ }
2185
+ }
2186
+ if (userTurnCount < collapsePreviewCount) {
2187
+ boundary = 0;
2188
+ }
2189
+ }
2190
+ const hiddenItems = applyResumeDisplayPolicy(rawItems.slice(0, boundary));
2191
+ const visibleItems = rawItems.slice(boundary);
2192
+ const uiHistoryItems = [...hiddenItems, ...visibleItems];
2193
+ if (boundary > 0) {
2164
2194
  const nextId = rawItems[rawItems.length - 1].id + 1;
2165
2195
  return [
2166
2196
  ...uiHistoryItems,
2167
- { id: nextId, ...createHistoryCollapseSummaryItem(rawItems.length) }
2197
+ { id: nextId, ...createHistoryCollapseSummaryItem(boundary) }
2168
2198
  ];
2169
2199
  }
2170
2200
  return uiHistoryItems;
@@ -2460,6 +2490,26 @@ function calculateCost(args) {
2460
2490
  }
2461
2491
  __name(calculateCost, "calculateCost");
2462
2492
 
2493
+ // packages/cli/src/ui/utils/skill-level-label.ts
2494
+ init_esbuild_shims();
2495
+ function levelLabel(level) {
2496
+ switch (level) {
2497
+ case "project":
2498
+ return t("Project");
2499
+ case "user":
2500
+ return t("User");
2501
+ case "extension":
2502
+ return t("Extension");
2503
+ case "bundled":
2504
+ return t("Bundled");
2505
+ default: {
2506
+ const _exhaustive = level;
2507
+ return _exhaustive;
2508
+ }
2509
+ }
2510
+ }
2511
+ __name(levelLabel, "levelLabel");
2512
+
2463
2513
  export {
2464
2514
  enableMouseEvents,
2465
2515
  disableMouseEvents,
@@ -2488,6 +2538,7 @@ export {
2488
2538
  calculateCost,
2489
2539
  getEffectiveSupportedModes,
2490
2540
  filterCommandsForMode,
2541
+ levelLabel,
2491
2542
  computeDiffColumnWidths,
2492
2543
  diffCommand,
2493
2544
  buildResumedHistoryItems,