@qwen-code/qwen-code 0.19.9-nightly.20260714.9dd8389eb → 0.19.9-preview.0

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 (234) hide show
  1. package/bundled/qc-helper/docs/configuration/settings.md +7 -0
  2. package/bundled/qc-helper/docs/features/sub-agents.md +21 -0
  3. package/bundled/qc-helper/docs/qwen-serve.md +7 -2
  4. package/bundled/review/SKILL.md +23 -11
  5. package/chunks/{MaxSizedBox-QAYHOC4F.js → MaxSizedBox-BEVSAWZ6.js} +10 -11
  6. package/chunks/{StandaloneSessionPicker-D3R6YYX3.js → StandaloneSessionPicker-2DA2MDDE.js} +22 -23
  7. package/chunks/{acpAgent-ENHBW72A.js → acpAgent-G3WJU3PS.js} +189 -93
  8. package/chunks/{agent-57LX4KMG.js → agent-DD3WSHXE.js} +7 -8
  9. package/chunks/{agent-headless-AC6EVNAP.js → agent-headless-MHI7U2CU.js} +7 -8
  10. package/chunks/{artifact-tool-BWZZJ42H.js → artifact-tool-MIZLXBLF.js} +1 -1
  11. package/chunks/{askUserQuestion-WU3S5A5T.js → askUserQuestion-XMJVPNWM.js} +1 -1
  12. package/chunks/{bridge-4OZH44MK.js → bridge-HKEWPNB5.js} +10 -11
  13. package/chunks/{channel-worker-manager-5RWKSGEU.js → channel-worker-manager-YSFB4HUU.js} +2 -2
  14. package/chunks/{channel-worker-supervisor-PCDAZN4D.js → channel-worker-supervisor-QCKIOYZD.js} +2 -2
  15. package/chunks/{chunk-DKXW66XA.js → chunk-2FMQQXMM.js} +1 -1
  16. package/chunks/{chunk-UI3W56WF.js → chunk-2J4ZWME4.js} +1 -1
  17. package/chunks/{chunk-QABSSDQH.js → chunk-2TQXXQMI.js} +1 -1
  18. package/chunks/{chunk-DNKX35GS.js → chunk-2UW5RFRP.js} +4 -4
  19. package/chunks/{chunk-DPSWJWZI.js → chunk-2W3OOD4W.js} +1 -0
  20. package/chunks/{chunk-MBJ3D6SF.js → chunk-43RXPU5Q.js} +1 -1
  21. package/chunks/{chunk-AAS2Q2TV.js → chunk-4QZ3XHWE.js} +2 -2
  22. package/chunks/{chunk-ZRKBI3DP.js → chunk-4QZADKJS.js} +1 -1
  23. package/chunks/{chunk-G6QTKQN4.js → chunk-54UZQ57N.js} +3 -3
  24. package/chunks/{chunk-YH4J5XI3.js → chunk-5VHASII5.js} +4 -4
  25. package/chunks/{chunk-AAWKZ5R7.js → chunk-6JPDCEDB.js} +1 -1
  26. package/chunks/{chunk-7NAWTFVY.js → chunk-6WPJRYLZ.js} +2 -2
  27. package/chunks/{chunk-JR63TOV4.js → chunk-7DKX4A5Z.js} +1 -1
  28. package/chunks/{chunk-T2L6SGQY.js → chunk-7IDCQ35Q.js} +37 -6
  29. package/chunks/{chunk-6OATMEYN.js → chunk-7STBROEV.js} +1 -1
  30. package/chunks/{chunk-7BIZARI2.js → chunk-A3U2TQUL.js} +4 -4
  31. package/chunks/{chunk-WN4D7YCI.js → chunk-A7W4GQRW.js} +1 -1
  32. package/chunks/{chunk-SE74CIZD.js → chunk-AAUZBE5Y.js} +1 -1
  33. package/chunks/{chunk-CLTWL6HD.js → chunk-ADLYZJYZ.js} +6 -6
  34. package/chunks/{chunk-SXU3KKNI.js → chunk-AU4R7ACM.js} +4 -0
  35. package/chunks/{chunk-URU5UEK6.js → chunk-B7MFJBKE.js} +1 -1
  36. package/chunks/{chunk-E67NFMF4.js → chunk-BLPMRN4B.js} +1 -1
  37. package/chunks/{chunk-7U7UIO5W.js → chunk-BXT6PQ73.js} +20 -5
  38. package/chunks/{chunk-ASVORVFT.js → chunk-CEGKYZDB.js} +1 -1
  39. package/chunks/{chunk-Z56JO4JZ.js → chunk-DMVA55W5.js} +7 -7
  40. package/chunks/{chunk-T5C2OUCI.js → chunk-DQCCLVQK.js} +3 -3
  41. package/chunks/{chunk-HE54PGVI.js → chunk-EAHMOXLL.js} +2 -2
  42. package/chunks/{chunk-C4CXFRKY.js → chunk-EJ3KGYWL.js} +25 -4
  43. package/chunks/{chunk-CSACSGAW.js → chunk-ERTHKDKN.js} +2 -2
  44. package/chunks/{chunk-OCC3UTWA.js → chunk-EX5OULP3.js} +1 -1
  45. package/chunks/{chunk-TXY2C3D2.js → chunk-F333XEAU.js} +1 -1
  46. package/chunks/{chunk-GYGGUR4Q.js → chunk-FEOBU3FA.js} +5 -5
  47. package/chunks/{chunk-PMRH4YYW.js → chunk-FI2WSOWX.js} +2 -1
  48. package/chunks/{chunk-N7FCSERB.js → chunk-GN5HJJBO.js} +1 -1
  49. package/chunks/{chunk-EU3U7USF.js → chunk-GTENQOEJ.js} +2 -2
  50. package/chunks/{chunk-MBP3K324.js → chunk-HCJTURZD.js} +32 -11
  51. package/chunks/{chunk-K3PPUB46.js → chunk-HGG2RRXD.js} +1 -1
  52. package/chunks/{chunk-YVEDCAUE.js → chunk-HGT6JR3U.js} +19 -0
  53. package/chunks/{chunk-X7EBAABW.js → chunk-HJCVNZLQ.js} +1 -1
  54. package/chunks/{chunk-SSFDPGFN.js → chunk-HJUDVNCO.js} +7959 -5497
  55. package/chunks/{chunk-6HHAADP2.js → chunk-HRUGYOJN.js} +4 -4
  56. package/chunks/{chunk-T7FSRWQ5.js → chunk-HWTL6MPR.js} +114 -9
  57. package/chunks/{chunk-HZYUNZDQ.js → chunk-JCD4FM7K.js} +1 -1
  58. package/chunks/{chunk-DMTQY5GY.js → chunk-JGO6RFI2.js} +3 -3
  59. package/chunks/{chunk-2UUAIFQO.js → chunk-JGUT3LWZ.js} +5 -0
  60. package/chunks/{chunk-S2QXYLUB.js → chunk-JW7OOJC6.js} +1 -1
  61. package/chunks/{chunk-4FPUAYTT.js → chunk-KF5MMGG4.js} +4 -4
  62. package/chunks/{chunk-XHW5VUIQ.js → chunk-LHEOLOXU.js} +157 -55
  63. package/chunks/{chunk-2MF6ICOL.js → chunk-LSEJG6AM.js} +36 -8
  64. package/chunks/{chunk-AGBFWLA5.js → chunk-MKK4XGLF.js} +1 -1
  65. package/chunks/{chunk-4LJNI7MU.js → chunk-MO7O5722.js} +262 -7
  66. package/chunks/{chunk-FDL4PB5H.js → chunk-MRYWYBQ4.js} +8 -8
  67. package/chunks/{chunk-ZLM3KXBT.js → chunk-NRAFASYX.js} +15 -14
  68. package/chunks/{chunk-WL4L7EZH.js → chunk-OA4JVLSA.js} +27 -1
  69. package/chunks/{chunk-B6KHOCU7.js → chunk-PMKW35AT.js} +14 -10
  70. package/chunks/{chunk-YWUK7OS7.js → chunk-QE2WJ7FS.js} +1 -1
  71. package/chunks/{chunk-B6ABUBYY.js → chunk-QUJOI7SR.js} +67 -5
  72. package/chunks/{chunk-WM5HY72H.js → chunk-R5D5JOAM.js} +2 -2
  73. package/chunks/{chunk-BBNVFRGD.js → chunk-R5XLNDE2.js} +1 -1
  74. package/chunks/{chunk-RJL5T4WJ.js → chunk-SMSFWUFY.js} +53 -40
  75. package/chunks/{chunk-WWQ3QIJS.js → chunk-UFDX27PL.js} +11 -11
  76. package/chunks/{chunk-LAM6CGP5.js → chunk-UGN6CTNZ.js} +3 -3
  77. package/chunks/{chunk-AUGSSJX3.js → chunk-UNLRKDMW.js} +3 -3
  78. package/chunks/{chunk-4QOPEEL2.js → chunk-VEETSXYX.js} +1 -1
  79. package/chunks/{chunk-P3S67A5R.js → chunk-VKS7EIOA.js} +4 -4
  80. package/chunks/{chunk-PHYCWSDG.js → chunk-VVDNGM6X.js} +1 -1
  81. package/chunks/{chunk-J2TDDOSM.js → chunk-WMC6HH7Y.js} +1 -1
  82. package/chunks/{chunk-WX6SD4IQ.js → chunk-WTNZ6DXB.js} +1 -1
  83. package/chunks/{chunk-EUNRLYJG.js → chunk-X6ODDESK.js} +4 -4
  84. package/chunks/{chunk-V75IOTWF.js → chunk-XDPYM5DE.js} +4 -4
  85. package/chunks/{chunk-4DYYRLIE.js → chunk-ZA74ZTQU.js} +644 -321
  86. package/chunks/{chunk-SUWGUGAD.js → chunk-ZGE3222J.js} +2 -2
  87. package/chunks/{chunk-OATTJGPJ.js → chunk-ZP4ZZJJG.js} +7 -7
  88. package/chunks/{computer-use-DIP5BWXP.js → computer-use-SHA6C3ES.js} +7 -8
  89. package/chunks/{config-utils-CFT33LTP.js → config-utils-XSHOMMK4.js} +3 -3
  90. package/chunks/{contextCommand-QU4GJWWD.js → contextCommand-HOAF5LUC.js} +9 -10
  91. package/chunks/{create-sub-session-WNX2OQVX.js → create-sub-session-EAB2U5XW.js} +1 -1
  92. package/chunks/{create-sub-session-TCLIYVGR.js → create-sub-session-WJOWBFEP.js} +7 -8
  93. package/chunks/{cron-create-36TIFKRT.js → cron-create-GMVKSXZT.js} +1 -1
  94. package/chunks/{cron-delete-OQD3WULU.js → cron-delete-VDZKUAVK.js} +1 -1
  95. package/chunks/{cron-list-4533T2FH.js → cron-list-UG7C7RAR.js} +1 -1
  96. package/chunks/{daemon-CEZ27OH4.js → daemon-MI5HF26N.js} +343 -40
  97. package/chunks/{daemon-status-provider-SIBFMLBQ.js → daemon-status-provider-KFL3LRTP.js} +14 -15
  98. package/chunks/{dist-JZE7F6YR.js → dist-IEXZC5ZR.js} +1 -1
  99. package/chunks/{dist-ERCPDVA6.js → dist-PQK4GCKA.js} +1 -1
  100. package/chunks/{dist-3V3ZV6ML.js → dist-U75JK3PF.js} +1 -1
  101. package/chunks/{dist-PHEPJLXD.js → dist-VXO7QBON.js} +2 -2
  102. package/chunks/{dist-HNN7DR2L.js → dist-WH4TZSH3.js} +1 -1
  103. package/chunks/{dist-MOEC47TR.js → dist-X2ABIW5R.js} +1 -1
  104. package/chunks/{earlyInputCapture-L66BEG2C.js → earlyInputCapture-PKAQJMIP.js} +7 -8
  105. package/chunks/{edit-Y5LAJSST.js → edit-6TXLYHJ2.js} +7 -8
  106. package/chunks/{enter-worktree-X5LML7T4.js → enter-worktree-ZTILGPJX.js} +7 -8
  107. package/chunks/{enterPlanMode-XWF32QOW.js → enterPlanMode-62HRAMCH.js} +7 -8
  108. package/chunks/{environment-YVMA5F4I.js → environment-OYA3ZVEL.js} +9 -10
  109. package/chunks/{errors-4Y5SUAOC.js → errors-BFXOUUUR.js} +9 -10
  110. package/chunks/{exit-worktree-SFHU7XYC.js → exit-worktree-HHJ5M6MV.js} +7 -8
  111. package/chunks/{exitPlanMode-FP3NAN6E.js → exitPlanMode-M3SWHCL7.js} +7 -8
  112. package/chunks/{fast-path-ZJNFFCBM.js → fast-path-3VMPLM74.js} +2 -2
  113. package/chunks/{gemini-5CAB22BI.js → gemini-ZCGVYOJL.js} +100 -42
  114. package/chunks/{geminiContentGenerator-GE3HPIFB.js → geminiContentGenerator-XBYBAIDQ.js} +1 -1
  115. package/chunks/{glob-YPACZAEL.js → glob-UOEYQNHN.js} +7 -8
  116. package/chunks/{grep-IPR4XW37.js → grep-OQM3CH7W.js} +7 -8
  117. package/chunks/{handleAutoUpdate-P2KEP56V.js → handleAutoUpdate-ORBYVJHZ.js} +11 -12
  118. package/chunks/{i18n-BRCT66AA.js → i18n-NBP574CO.js} +8 -9
  119. package/chunks/{initializer-34HXSK3A.js → initializer-CWD7TCCD.js} +12 -13
  120. package/chunks/{installationInfo-WOTDQMSC.js → installationInfo-CHPDUPWC.js} +8 -9
  121. package/chunks/{list-XOGP7UPP.js → list-ZTTO362W.js} +15 -16
  122. package/chunks/{loadedSettingsAdapter-L4YKGU6F.js → loadedSettingsAdapter-V4ZTRKUO.js} +12 -13
  123. package/chunks/{loop-wakeup-MVUKDVCP.js → loop-wakeup-C4EXLYVA.js} +2 -2
  124. package/chunks/{ls-RXNIAQDE.js → ls-2OUTG3IZ.js} +1 -1
  125. package/chunks/{lsp-HB5LM5IL.js → lsp-4VMNXZW6.js} +1 -1
  126. package/chunks/{mcp-HH7DIP7Y.js → mcp-UH5PSGIK.js} +12 -13
  127. package/chunks/{monitor-25DEBT6U.js → monitor-F4NYEU5J.js} +7 -8
  128. package/chunks/{nonInteractiveCli-CT3VSSLK.js → nonInteractiveCli-7IHPXVNH.js} +43 -44
  129. package/chunks/{notebook-edit-TAVXSWQ6.js → notebook-edit-HPDXNGQH.js} +7 -8
  130. package/chunks/{openaiContentGenerator-6I7DKUAN.js → openaiContentGenerator-OBDNNOE2.js} +4 -4
  131. package/chunks/{pidfile-SIQGCFLZ.js → pidfile-AUMGYIOK.js} +7 -8
  132. package/chunks/{qwenContentGenerator-5DDIXI2N.js → qwenContentGenerator-LH2U2YRG.js} +8 -9
  133. package/chunks/{read-file-WDOAYRFU.js → read-file-HUUFBLEO.js} +3 -3
  134. package/chunks/{read-mcp-resource-6LRTZKXI.js → read-mcp-resource-JUFHCKSC.js} +1 -1
  135. package/chunks/{record-artifact-PMDTY4OS.js → record-artifact-DWSMBXYY.js} +1 -1
  136. package/chunks/{ripGrep-MI7PHN3Q.js → ripGrep-C7X33LU6.js} +7 -8
  137. package/chunks/{run-qwen-serve-PNTYF3RE.js → run-qwen-serve-DGW5AFDJ.js} +229 -80
  138. package/chunks/{runtime-V3FBMUTG.js → runtime-NYUSLBEZ.js} +16 -17
  139. package/chunks/{scheduler-4TAUIJBM.js → scheduler-5VKDXULT.js} +7 -8
  140. package/chunks/{send-message-SR4WSXP2.js → send-message-JZ752NWD.js} +2 -2
  141. package/chunks/{serve-WB2TR7XM.js → serve-UTAHSFXH.js} +12 -13
  142. package/chunks/{server-AF6LNFPK.js → server-VUHSYSUV.js} +2751 -774
  143. package/chunks/{session-BIGK4NRW.js → session-QSGSSNFB.js} +44 -45
  144. package/chunks/{settings-IXF5FIQO.js → settings-X24RYEED.js} +11 -12
  145. package/chunks/{shell-5VWJ2PPG.js → shell-4MSI2R4O.js} +9 -8
  146. package/chunks/{skill-SI667Y3B.js → skill-JR3GTNVZ.js} +3 -3
  147. package/chunks/{spawnChannel-IKX6DD7J.js → spawnChannel-RFAAO44J.js} +9 -10
  148. package/chunks/{src-55DZWDAK.js → src-YDBNMIIM.js} +40 -9
  149. package/chunks/{standalone-update-MHLSFHE6.js → standalone-update-4CY4HKGC.js} +9 -10
  150. package/chunks/{startInteractiveUI-V2EDWLAX.js → startInteractiveUI-FOD7MMVB.js} +183 -131
  151. package/chunks/{syntheticOutput-YKFNUQZD.js → syntheticOutput-LELY6HAI.js} +2 -2
  152. package/chunks/{task-create-NUFOHU53.js → task-create-QY3BIMNM.js} +3 -3
  153. package/chunks/{task-list-Z2IKQY3S.js → task-list-D2U47WBJ.js} +1 -1
  154. package/chunks/{task-stop-KQFIVQTJ.js → task-stop-N6E5IYLH.js} +1 -1
  155. package/chunks/{task-update-HKADXSTD.js → task-update-HJCQILLB.js} +3 -3
  156. package/chunks/{team-create-IZAMLBJS.js → team-create-ZLQSU2E3.js} +7 -8
  157. package/chunks/{team-delete-SDNTGZLG.js → team-delete-RCWYDRF4.js} +1 -1
  158. package/chunks/{team-plan-approval-3R4RCKCP.js → team-plan-approval-YUAYBYLS.js} +7 -8
  159. package/chunks/{theme-manager-LCOXZ5DO.js → theme-manager-SKNEBMOG.js} +7 -8
  160. package/chunks/{todoWrite-YNXB27GB.js → todoWrite-FKCGATPJ.js} +1 -1
  161. package/chunks/{tool-search-NYNCD5LF.js → tool-search-V5J3TGWY.js} +4 -4
  162. package/chunks/{total-session-admission-PJWGOMQE.js → total-session-admission-2WIH72I3.js} +10 -11
  163. package/chunks/{trustedFolders-DOJDHNYP.js → trustedFolders-JF265CRI.js} +8 -9
  164. package/chunks/types-ML3TRJQ5.js +16 -0
  165. package/chunks/{updateCheck-ZXL66KIG.js → updateCheck-AMXNPBP6.js} +9 -10
  166. package/chunks/{validateNonInterActiveAuth-JSNJZCYY.js → validateNonInterActiveAuth-6YHQO7PD.js} +39 -40
  167. package/chunks/{version-3NLBENG5.js → version-UEJJK7PE.js} +1 -1
  168. package/chunks/{web-fetch-ZSPR3PRR.js → web-fetch-QGODBB6S.js} +2 -2
  169. package/chunks/{workflow-BQYLF7XP.js → workflow-5YFA5V4M.js} +8 -9
  170. package/chunks/{workspace-providers-status-FA2DGEZW.js → workspace-providers-status-LMBLBNR7.js} +15 -16
  171. package/chunks/{workspace-registration-store-TARTAGMI.js → workspace-registration-store-VV2S4MSV.js} +1 -1
  172. package/chunks/{workspace-registry-AGE7WAXX.js → workspace-registry-BVMPYRLN.js} +10 -11
  173. package/chunks/{workspace-service-ERC5VR2B.js → workspace-service-PUYIZ3J4.js} +22 -19
  174. package/chunks/{workspace-skills-status-FKYWGNCN.js → workspace-skills-status-CJ7J2KPP.js} +14 -15
  175. package/chunks/{write-file-S47KSK7Z.js → write-file-OV77M6X7.js} +7 -8
  176. package/cli.js +11 -11
  177. package/package.json +3 -3
  178. package/web-shell/assets/{arc-Zj4EkBUY.js → arc-CObt_TK9.js} +1 -1
  179. package/web-shell/assets/{architectureDiagram-3BPJPVTR-DAk1Ua3Y.js → architectureDiagram-3BPJPVTR-B7aiJ6CK.js} +1 -1
  180. package/web-shell/assets/{blockDiagram-GPEHLZMM-DBNqUthM.js → blockDiagram-GPEHLZMM-BSK2CrID.js} +1 -1
  181. package/web-shell/assets/{c4Diagram-AAUBKEIU-Dq5QGJ53.js → c4Diagram-AAUBKEIU-Bhx2p7T_.js} +1 -1
  182. package/web-shell/assets/channel-BBaLq8MV.js +1 -0
  183. package/web-shell/assets/{chunk-2J33WTMH-DY0AeGru.js → chunk-2J33WTMH-c3Hzv0Ni.js} +1 -1
  184. package/web-shell/assets/{chunk-4BX2VUAB-COX3OyIi.js → chunk-4BX2VUAB-DNXaK7ZF.js} +1 -1
  185. package/web-shell/assets/{chunk-55IACEB6-Csoyddbh.js → chunk-55IACEB6-BXjvDj_i.js} +1 -1
  186. package/web-shell/assets/{chunk-727SXJPM-BJPONdxX.js → chunk-727SXJPM-B6CaKFp-.js} +1 -1
  187. package/web-shell/assets/{chunk-AQP2D5EJ-syLVH6fg.js → chunk-AQP2D5EJ-tij6Mz9B.js} +1 -1
  188. package/web-shell/assets/{chunk-FMBD7UC4-Cfm59Nhw.js → chunk-FMBD7UC4-DdlsGk2h.js} +1 -1
  189. package/web-shell/assets/{chunk-ND2GUHAM-DZf6tAqS.js → chunk-ND2GUHAM-CdgGZSHE.js} +1 -1
  190. package/web-shell/assets/{chunk-QZHKN3VN-DKBp_v5q.js → chunk-QZHKN3VN-D8oJn1C0.js} +1 -1
  191. package/web-shell/assets/classDiagram-4FO5ZUOK-B2ZK6sWE.js +1 -0
  192. package/web-shell/assets/classDiagram-v2-Q7XG4LA2-B2ZK6sWE.js +1 -0
  193. package/web-shell/assets/{cose-bilkent-S5V4N54A-DUU3mMQ5.js → cose-bilkent-S5V4N54A-BUVmNp1Y.js} +1 -1
  194. package/web-shell/assets/{dagre-BM42HDAG-BUgNfbh-.js → dagre-BM42HDAG-CO4q310O.js} +1 -1
  195. package/web-shell/assets/{diagram-2AECGRRQ-DT7MVfAg.js → diagram-2AECGRRQ-C6gFvWkg.js} +1 -1
  196. package/web-shell/assets/{diagram-5GNKFQAL-Cv4YG-ec.js → diagram-5GNKFQAL-NG2I_c0h.js} +1 -1
  197. package/web-shell/assets/{diagram-KO2AKTUF-BAe9LLkn.js → diagram-KO2AKTUF-DFKMS6I9.js} +1 -1
  198. package/web-shell/assets/{diagram-LMA3HP47-DW8wqTIP.js → diagram-LMA3HP47-BiElfsfP.js} +1 -1
  199. package/web-shell/assets/{diagram-OG6HWLK6-CmkuWbaK.js → diagram-OG6HWLK6-zLWDYUqu.js} +1 -1
  200. package/web-shell/assets/{erDiagram-TEJ5UH35-DwvdHjZ9.js → erDiagram-TEJ5UH35-DoVaazhK.js} +1 -1
  201. package/web-shell/assets/{flowDiagram-I6XJVG4X-CSsXrhW_.js → flowDiagram-I6XJVG4X-0RLz-mXg.js} +1 -1
  202. package/web-shell/assets/{ganttDiagram-6RSMTGT7-BtuznCdi.js → ganttDiagram-6RSMTGT7-C-eX1A39.js} +1 -1
  203. package/web-shell/assets/{gitGraphDiagram-PVQCEYII-DGmAm06g.js → gitGraphDiagram-PVQCEYII-BauQu1Bu.js} +1 -1
  204. package/web-shell/assets/index-3uAT3ehO.css +5 -0
  205. package/web-shell/assets/{index-BEtz1cvN.js → index-CVHa2QH7.js} +1 -1
  206. package/web-shell/assets/index-D1KigWat.js +1128 -0
  207. package/web-shell/assets/{infoDiagram-5YYISTIA-OAiZ1q0K.js → infoDiagram-5YYISTIA-C800cFvZ.js} +1 -1
  208. package/web-shell/assets/{ishikawaDiagram-YF4QCWOH-DyK0KTIT.js → ishikawaDiagram-YF4QCWOH-CFK1Jk6e.js} +1 -1
  209. package/web-shell/assets/{journeyDiagram-JHISSGLW-DzYJlwfO.js → journeyDiagram-JHISSGLW-Cjx0WAC4.js} +1 -1
  210. package/web-shell/assets/{kanban-definition-UN3LZRKU-CU_tcDwi.js → kanban-definition-UN3LZRKU-DWMDHbiv.js} +1 -1
  211. package/web-shell/assets/{linear-DvZXjF17.js → linear-vpW4FrZs.js} +1 -1
  212. package/web-shell/assets/{mermaid.core-_ZFEQlOl.js → mermaid.core-DsHRUnDd.js} +5 -5
  213. package/web-shell/assets/{mindmap-definition-RKZ34NQL-Or4p64HB.js → mindmap-definition-RKZ34NQL-D3Eb1cAK.js} +1 -1
  214. package/web-shell/assets/{pieDiagram-4H26LBE5-lXE-zZ6b.js → pieDiagram-4H26LBE5-Cr2-6sWt.js} +1 -1
  215. package/web-shell/assets/{quadrantDiagram-W4KKPZXB-DUXb9mUV.js → quadrantDiagram-W4KKPZXB-Yd7yUgVp.js} +1 -1
  216. package/web-shell/assets/{requirementDiagram-4Y6WPE33-D_10uHfo.js → requirementDiagram-4Y6WPE33-BE6SprL8.js} +1 -1
  217. package/web-shell/assets/{sankeyDiagram-5OEKKPKP-E8c0fPqe.js → sankeyDiagram-5OEKKPKP-DzkuMK8d.js} +1 -1
  218. package/web-shell/assets/{sequenceDiagram-3UESZ5HK-CJMtFttK.js → sequenceDiagram-3UESZ5HK-wD9A3Dhi.js} +1 -1
  219. package/web-shell/assets/{stateDiagram-AJRCARHV-DhbviRbB.js → stateDiagram-AJRCARHV-BOp5q1Nm.js} +1 -1
  220. package/web-shell/assets/stateDiagram-v2-BHNVJYJU-BDsWUmPG.js +1 -0
  221. package/web-shell/assets/{timeline-definition-PNZ67QCA-CM5yMkFK.js → timeline-definition-PNZ67QCA-Btc08sUA.js} +1 -1
  222. package/web-shell/assets/{vennDiagram-CIIHVFJN-BCi-zWNN.js → vennDiagram-CIIHVFJN-Bv6upsOA.js} +1 -1
  223. package/web-shell/assets/{wardley-L42UT6IY-BJ_yJNjJ.js → wardley-L42UT6IY-D-XamnCK.js} +1 -1
  224. package/web-shell/assets/{wardleyDiagram-YWT4CUSO-TjtLk-qN.js → wardleyDiagram-YWT4CUSO-BbP_5Wfp.js} +1 -1
  225. package/web-shell/assets/{xychartDiagram-2RQKCTM6-D1TjyoQ3.js → xychartDiagram-2RQKCTM6-CO5Hh28b.js} +1 -1
  226. package/web-shell/index.html +2 -2
  227. package/chunks/chunk-CU3L64TP.js +0 -93
  228. package/chunks/types-JNKGKUJT.js +0 -12
  229. package/web-shell/assets/channel-DWfYijFS.js +0 -1
  230. package/web-shell/assets/classDiagram-4FO5ZUOK-DDht-78J.js +0 -1
  231. package/web-shell/assets/classDiagram-v2-Q7XG4LA2-DDht-78J.js +0 -1
  232. package/web-shell/assets/index-B9Xwf4OS.css +0 -5
  233. package/web-shell/assets/index-BUkM4ZXX.js +0 -1088
  234. package/web-shell/assets/stateDiagram-v2-BHNVJYJU-CntljfwW.js +0 -1
@@ -482,6 +482,7 @@ var DEFAULT_SESSION_LIST_PAGE_SIZE = 20;
482
482
  var DEFAULT_FETCH_TIMEOUT_MS = 3e4;
483
483
  var VOICE_TRANSCRIPTION_DEFAULT_TIMEOUT_MS = 65e3;
484
484
  var GITHUB_SETUP_DEFAULT_TIMEOUT_MS = 9e4;
485
+ var MAX_TIMER_DELAY_MS = 2147483647;
485
486
  var DEFAULT_MAX_PENDING_PROMPTS_PER_SESSION = 5;
486
487
  var MCP_RESTART_DEFAULT_TIMEOUT_MS = MCP_RESTART_SERVER_DEADLINE_MS + MCP_RESTART_CLIENT_HEADROOM_MS;
487
488
  var CLIENT_ID_HEADER = "X-Qwen-Client-Id";
@@ -682,7 +683,8 @@ var DaemonClient = class {
682
683
  hasBody ? { "Content-Type": "application/json" } : {},
683
684
  opts.clientId
684
685
  ),
685
- ...hasBody ? { body: JSON.stringify(opts.body) } : {}
686
+ ...hasBody ? { body: JSON.stringify(opts.body) } : {},
687
+ ...opts.signal ? { signal: opts.signal } : {}
686
688
  },
687
689
  async (res) => {
688
690
  if (!res.ok) throw await this.failOnError(res, label);
@@ -701,6 +703,33 @@ var DaemonClient = class {
701
703
  );
702
704
  }
703
705
  /** @internal */
706
+ async sessionExportRequest(path, label, opts = {}) {
707
+ const format = opts.format ?? "html";
708
+ const query = opts.format ? `?format=${urlEncode(opts.format)}` : "";
709
+ return await this.fetchWithTimeout(
710
+ `${this.baseUrl}${path}${query}`,
711
+ { headers: this.headers({}, opts.clientId) },
712
+ async (res) => {
713
+ if (!res.ok) {
714
+ throw await this.failOnError(res, label);
715
+ }
716
+ const content = await res.text();
717
+ const mimeType = res.headers.get("content-type") ?? "";
718
+ const filename = /filename="([^"]+)"/i.exec(
719
+ res.headers.get("content-disposition") ?? ""
720
+ )?.[1] ?? `export.${format}`;
721
+ return {
722
+ content,
723
+ filename,
724
+ mimeType,
725
+ format
726
+ };
727
+ },
728
+ void 0,
729
+ "rest"
730
+ );
731
+ }
732
+ /** @internal */
704
733
  async workspaceNoContentRequest(workspaceSelector, path, label, opts = {}) {
705
734
  return await this.fetchWithTimeout(
706
735
  `${this.baseUrl}/workspaces/${workspaceSelector}${path}`,
@@ -904,64 +933,230 @@ var DaemonClient = class {
904
933
  async workspaceExtensions() {
905
934
  return await this.jsonRequest(
906
935
  "/workspace/extensions",
907
- "GET /workspace/extensions"
936
+ "GET /workspace/extensions",
937
+ { mode: "rest" }
908
938
  );
909
939
  }
910
940
  async installExtension(params, clientId) {
911
941
  return await this.jsonRequest(
912
942
  "/workspace/extensions/install",
913
943
  "POST /workspace/extensions/install",
914
- { method: "POST", body: params, clientId }
944
+ { method: "POST", body: params, clientId, mode: "rest" }
915
945
  );
916
946
  }
917
947
  async extensionOperationStatus(operationId) {
918
948
  return await this.jsonRequest(
919
949
  `/workspace/extensions/operations/${urlEncode(operationId)}`,
920
- "GET /workspace/extensions/operations/:operationId"
950
+ "GET /workspace/extensions/operations/:operationId",
951
+ { mode: "rest" }
952
+ );
953
+ }
954
+ async activeExtensionOperations() {
955
+ return await this.jsonRequest(
956
+ "/workspace/extensions/operations",
957
+ "GET /workspace/extensions/operations",
958
+ { mode: "rest" }
959
+ );
960
+ }
961
+ async respondToExtensionInteraction(operationId, interactionId, response, clientId) {
962
+ return await this.jsonRequest(
963
+ `/workspace/extensions/operations/${urlEncode(operationId)}/interactions/${urlEncode(interactionId)}`,
964
+ "POST /workspace/extensions/operations/:operationId/interactions/:interactionId",
965
+ { method: "POST", body: response, clientId, mode: "rest" }
921
966
  );
922
967
  }
923
968
  async checkExtensionUpdates(clientId) {
924
969
  return await this.jsonRequest(
925
970
  "/workspace/extensions/check-updates",
926
971
  "POST /workspace/extensions/check-updates",
927
- { method: "POST", body: {}, clientId }
972
+ { method: "POST", body: {}, clientId, mode: "rest" }
928
973
  );
929
974
  }
930
975
  async refreshExtensions(clientId) {
931
976
  return await this.jsonRequest(
932
977
  "/workspace/extensions/refresh",
933
978
  "POST /workspace/extensions/refresh",
934
- { method: "POST", body: {}, clientId }
979
+ { method: "POST", body: {}, clientId, mode: "rest" }
935
980
  );
936
981
  }
937
982
  async enableExtension(name, params, clientId) {
938
983
  return await this.jsonRequest(
939
984
  `/workspace/extensions/${urlEncode(name)}/enable`,
940
985
  "POST /workspace/extensions/:name/enable",
941
- { method: "POST", body: params, clientId }
986
+ { method: "POST", body: params, clientId, mode: "rest" }
942
987
  );
943
988
  }
944
989
  async disableExtension(name, params, clientId) {
945
990
  return await this.jsonRequest(
946
991
  `/workspace/extensions/${urlEncode(name)}/disable`,
947
992
  "POST /workspace/extensions/:name/disable",
948
- { method: "POST", body: params, clientId }
993
+ { method: "POST", body: params, clientId, mode: "rest" }
949
994
  );
950
995
  }
951
996
  async updateExtension(name, clientId) {
952
997
  return await this.jsonRequest(
953
998
  `/workspace/extensions/${urlEncode(name)}/update`,
954
999
  "POST /workspace/extensions/:name/update",
955
- { method: "POST", body: {}, clientId }
1000
+ { method: "POST", body: {}, clientId, mode: "rest" }
956
1001
  );
957
1002
  }
958
1003
  async uninstallExtension(name, clientId) {
959
1004
  return await this.jsonRequest(
960
1005
  `/workspace/extensions/${urlEncode(name)}`,
961
1006
  "DELETE /workspace/extensions/:name",
962
- { method: "DELETE", clientId }
1007
+ { method: "DELETE", clientId, mode: "rest" }
963
1008
  );
964
1009
  }
1010
+ async extensionCatalog() {
1011
+ return await this.jsonRequest(
1012
+ "/extensions",
1013
+ "GET /extensions",
1014
+ { mode: "rest" }
1015
+ );
1016
+ }
1017
+ async installUserExtension(params, clientId) {
1018
+ return await this.jsonRequest(
1019
+ "/extensions/install",
1020
+ "POST /extensions/install",
1021
+ { method: "POST", body: params, clientId, mode: "rest" }
1022
+ );
1023
+ }
1024
+ async checkUserExtensionUpdates(clientId) {
1025
+ return await this.jsonRequest(
1026
+ "/extensions/check-updates",
1027
+ "POST /extensions/check-updates",
1028
+ { method: "POST", body: {}, clientId, mode: "rest" }
1029
+ );
1030
+ }
1031
+ async updateUserExtension(extensionId, clientId) {
1032
+ return await this.jsonRequest(
1033
+ `/extensions/${urlEncode(extensionId)}/update`,
1034
+ "POST /extensions/:extensionId/update",
1035
+ { method: "POST", body: {}, clientId, mode: "rest" }
1036
+ );
1037
+ }
1038
+ async uninstallUserExtension(extensionId, clientId) {
1039
+ return await this.fetchWithTimeout(
1040
+ `${this.baseUrl}/extensions/${urlEncode(extensionId)}`,
1041
+ {
1042
+ method: "DELETE",
1043
+ headers: this.headers({}, clientId)
1044
+ },
1045
+ async (res) => {
1046
+ if (res.status === 204) {
1047
+ await res.body?.cancel().catch(() => void 0);
1048
+ return void 0;
1049
+ }
1050
+ if (!res.ok) {
1051
+ throw await this.failOnError(res, "DELETE /extensions/:extensionId");
1052
+ }
1053
+ return await res.json();
1054
+ },
1055
+ void 0,
1056
+ "rest"
1057
+ );
1058
+ }
1059
+ async setExtensionDefaultActivation(extensionId, state, clientId) {
1060
+ return await this.jsonRequest(
1061
+ `/extensions/${urlEncode(extensionId)}/activation`,
1062
+ "PUT /extensions/:extensionId/activation",
1063
+ { method: "PUT", body: { state }, clientId, mode: "rest" }
1064
+ );
1065
+ }
1066
+ async extensionOperation(operationId, signal) {
1067
+ return await this.jsonRequest(
1068
+ `/extensions/operations/${urlEncode(operationId)}`,
1069
+ "GET /extensions/operations/:operationId",
1070
+ signal ? { signal, mode: "rest" } : { mode: "rest" }
1071
+ );
1072
+ }
1073
+ async waitForExtensionOperation(handle, options = {}) {
1074
+ const pollIntervalMs = options.pollIntervalMs ?? 1e3;
1075
+ const timeoutMs = options.timeoutMs ?? 10 * 6e4;
1076
+ const hasDeadline = timeoutMs !== Number.POSITIVE_INFINITY;
1077
+ const deadline = Date.now() + timeoutMs;
1078
+ const timeoutError = /* @__PURE__ */ __name(() => new Error(
1079
+ `Timed out waiting for extension operation ${handle.operationId}. The server operation was not cancelled.`
1080
+ ), "timeoutError");
1081
+ for (; ; ) {
1082
+ options.signal?.throwIfAborted();
1083
+ const pollBudgetMs = deadline - Date.now();
1084
+ if (pollBudgetMs <= 0 || Number.isNaN(pollBudgetMs)) {
1085
+ throw timeoutError();
1086
+ }
1087
+ let operation;
1088
+ if (!hasDeadline) {
1089
+ operation = await this.extensionOperation(
1090
+ handle.operationId,
1091
+ options.signal
1092
+ );
1093
+ } else {
1094
+ const deadlineController = new AbortController();
1095
+ const pollSignal = options.signal ? composeAbortSignals2([options.signal, deadlineController.signal]) : deadlineController.signal;
1096
+ let deadlineTimer;
1097
+ const deadlinePromise = new Promise((_, reject) => {
1098
+ const expire = /* @__PURE__ */ __name(() => {
1099
+ const error = timeoutError();
1100
+ reject(error);
1101
+ deadlineController.abort(error);
1102
+ }, "expire");
1103
+ const schedule = /* @__PURE__ */ __name(() => {
1104
+ const remainingMs2 = deadline - Date.now();
1105
+ if (remainingMs2 <= 0) {
1106
+ expire();
1107
+ return;
1108
+ }
1109
+ deadlineTimer = setTimeout(
1110
+ () => {
1111
+ if (Date.now() >= deadline) {
1112
+ expire();
1113
+ } else {
1114
+ schedule();
1115
+ }
1116
+ },
1117
+ Math.min(remainingMs2, MAX_TIMER_DELAY_MS)
1118
+ );
1119
+ }, "schedule");
1120
+ schedule();
1121
+ });
1122
+ try {
1123
+ operation = await Promise.race([
1124
+ this.extensionOperation(handle.operationId, pollSignal),
1125
+ deadlinePromise
1126
+ ]);
1127
+ } finally {
1128
+ if (deadlineTimer !== void 0) clearTimeout(deadlineTimer);
1129
+ deadlineController.abort();
1130
+ }
1131
+ }
1132
+ if (operation.status !== "queued" && operation.status !== "running") {
1133
+ return operation;
1134
+ }
1135
+ const remainingMs = deadline - Date.now();
1136
+ if (remainingMs <= 0) {
1137
+ throw timeoutError();
1138
+ }
1139
+ await new Promise((resolve, reject) => {
1140
+ const finish = /* @__PURE__ */ __name(() => {
1141
+ options.signal?.removeEventListener("abort", onAbort);
1142
+ resolve();
1143
+ }, "finish");
1144
+ const timer = setTimeout(
1145
+ finish,
1146
+ Math.min(pollIntervalMs, remainingMs, MAX_TIMER_DELAY_MS)
1147
+ );
1148
+ const onAbort = /* @__PURE__ */ __name(() => {
1149
+ clearTimeout(timer);
1150
+ options.signal?.removeEventListener("abort", onAbort);
1151
+ reject(
1152
+ options.signal?.reason ?? new DOMException("Aborted", "AbortError")
1153
+ );
1154
+ }, "onAbort");
1155
+ options.signal?.addEventListener("abort", onAbort, { once: true });
1156
+ if (options.signal?.aborted) onAbort();
1157
+ });
1158
+ }
1159
+ }
965
1160
  // -- Workspace files (workspace files) -------------------------------
966
1161
  async readWorkspaceFile(filePath, opts = {}, clientId) {
967
1162
  const url = new URL(`${this.baseUrl}/file`);
@@ -1450,29 +1645,10 @@ var DaemonClient = class {
1450
1645
  return this.restoreSession("load", sessionId, req, clientId);
1451
1646
  }
1452
1647
  async exportSession(sessionId, opts = {}) {
1453
- const format = opts.format ?? "html";
1454
- const query = opts.format ? `?format=${urlEncode(opts.format)}` : "";
1455
- return await this.fetchWithTimeout(
1456
- `${this.baseUrl}/session/${urlEncode(sessionId)}/export${query}`,
1457
- { headers: this.headers({}, opts.clientId) },
1458
- async (res) => {
1459
- if (!res.ok) {
1460
- throw await this.failOnError(res, "GET /session/:id/export");
1461
- }
1462
- const content = await res.text();
1463
- const mimeType = res.headers.get("content-type") ?? "";
1464
- const filename = /filename="([^"]+)"/i.exec(
1465
- res.headers.get("content-disposition") ?? ""
1466
- )?.[1] ?? `export.${format}`;
1467
- return {
1468
- content,
1469
- filename,
1470
- mimeType,
1471
- format
1472
- };
1473
- },
1474
- void 0,
1475
- "rest"
1648
+ return await this.sessionExportRequest(
1649
+ `/session/${urlEncode(sessionId)}/export`,
1650
+ "GET /session/:id/export",
1651
+ opts
1476
1652
  );
1477
1653
  }
1478
1654
  async getSessionTranscriptPage(sessionId, opts = {}) {
@@ -1948,6 +2124,35 @@ var DaemonClient = class {
1948
2124
  }
1949
2125
  );
1950
2126
  }
2127
+ /**
2128
+ * Toggle a user-invocable skill in workspace `skills.disabled` settings.
2129
+ * Active ACP sessions refresh their skill validation and command lists before
2130
+ * the response returns; `activation` reports deferred or partial refreshes.
2131
+ *
2132
+ * Pre-flight `caps.features.includes('workspace_skill_toggle')` before calling.
2133
+ */
2134
+ async setWorkspaceSkillEnabled(skillName, enabled, opts) {
2135
+ return await this.fetchWithTimeout(
2136
+ `${this.baseUrl}/workspace/skills/${urlEncode(skillName)}/enable`,
2137
+ {
2138
+ method: "POST",
2139
+ headers: this.headers(
2140
+ { "Content-Type": "application/json" },
2141
+ opts?.clientId
2142
+ ),
2143
+ body: JSON.stringify({ enabled })
2144
+ },
2145
+ async (res) => {
2146
+ if (!res.ok) {
2147
+ throw await this.failOnError(
2148
+ res,
2149
+ "POST /workspace/skills/:name/enable"
2150
+ );
2151
+ }
2152
+ return await res.json();
2153
+ }
2154
+ );
2155
+ }
1951
2156
  async workspaceSettings(opts) {
1952
2157
  return await this.fetchWithTimeout(
1953
2158
  `${this.baseUrl}/workspace/settings`,
@@ -2016,9 +2221,26 @@ var DaemonClient = class {
2016
2221
  );
2017
2222
  }
2018
2223
  async transcribeWorkspaceVoice(audio, opts) {
2224
+ return await this.voiceTranscriptionRequest(
2225
+ "/workspace/voice/transcribe",
2226
+ "POST /workspace/voice/transcribe",
2227
+ audio,
2228
+ opts
2229
+ );
2230
+ }
2231
+ /** @internal */
2232
+ async workspaceVoiceTranscriptionRequest(workspaceSelector, audio, opts) {
2233
+ return await this.voiceTranscriptionRequest(
2234
+ `/workspaces/${workspaceSelector}/voice/transcribe`,
2235
+ "POST /workspaces/:workspace/voice/transcribe",
2236
+ audio,
2237
+ opts
2238
+ );
2239
+ }
2240
+ async voiceTranscriptionRequest(path, label, audio, opts) {
2019
2241
  const query = opts.voiceModel ? `?${new URLSearchParams({ voiceModel: opts.voiceModel }).toString()}` : "";
2020
2242
  return await this.fetchWithTimeout(
2021
- `${this.baseUrl}/workspace/voice/transcribe${query}`,
2243
+ `${this.baseUrl}${path}${query}`,
2022
2244
  {
2023
2245
  method: "POST",
2024
2246
  headers: this.headers({ "Content-Type": opts.mimeType }, opts.clientId),
@@ -2026,11 +2248,11 @@ var DaemonClient = class {
2026
2248
  },
2027
2249
  async (res) => {
2028
2250
  if (!res.ok) {
2029
- throw await this.failOnError(res, "POST /workspace/voice/transcribe");
2251
+ throw await this.failOnError(res, label);
2030
2252
  }
2031
2253
  return await res.json();
2032
2254
  },
2033
- VOICE_TRANSCRIPTION_DEFAULT_TIMEOUT_MS,
2255
+ opts.timeoutMs ?? VOICE_TRANSCRIPTION_DEFAULT_TIMEOUT_MS,
2034
2256
  "rest"
2035
2257
  );
2036
2258
  }
@@ -2962,6 +3184,29 @@ var WorkspaceDaemonClient = class {
2962
3184
  workspaceMcp() {
2963
3185
  return this.get("/mcp", "GET /workspaces/:workspace/mcp");
2964
3186
  }
3187
+ workspaceVoice(clientId) {
3188
+ return this.client.workspaceJsonRequest(
3189
+ this.workspaceSelector,
3190
+ "/voice",
3191
+ "GET /workspaces/:workspace/voice",
3192
+ { clientId, mode: "rest" }
3193
+ );
3194
+ }
3195
+ setWorkspaceVoice(update, clientId) {
3196
+ return this.client.workspaceJsonRequest(
3197
+ this.workspaceSelector,
3198
+ "/voice",
3199
+ "POST /workspaces/:workspace/voice",
3200
+ { method: "POST", body: update, clientId, mode: "rest" }
3201
+ );
3202
+ }
3203
+ transcribeWorkspaceVoice(audio, opts) {
3204
+ return this.client.workspaceVoiceTranscriptionRequest(
3205
+ this.workspaceSelector,
3206
+ audio,
3207
+ opts
3208
+ );
3209
+ }
2965
3210
  workspaceGit() {
2966
3211
  return this.client.workspaceJsonRequest(
2967
3212
  this.workspaceSelector,
@@ -3102,6 +3347,14 @@ var WorkspaceDaemonClient = class {
3102
3347
  { clientId: opts.clientId, mode: "rest" }
3103
3348
  );
3104
3349
  }
3350
+ /** Export an active persisted session from this registered workspace. */
3351
+ exportSession(sessionId, opts = {}) {
3352
+ return this.client.sessionExportRequest(
3353
+ `/workspaces/${this.workspaceSelector}/session/${urlEncode(sessionId)}/export`,
3354
+ "GET /workspaces/:workspace/session/:id/export",
3355
+ opts
3356
+ );
3357
+ }
3105
3358
  listSessionGroups() {
3106
3359
  return this.get(
3107
3360
  "/session-groups",
@@ -3202,11 +3455,16 @@ var WorkspaceDaemonClient = class {
3202
3455
  "GET /workspaces/:workspace/list"
3203
3456
  );
3204
3457
  }
3205
- glob(pattern) {
3458
+ glob(pattern, opts = {}) {
3206
3459
  const query = new URLSearchParams({ pattern });
3207
- return this.get(
3460
+ if (opts.maxResults !== void 0) {
3461
+ query.set("maxResults", String(opts.maxResults));
3462
+ }
3463
+ return this.client.workspaceJsonRequest(
3464
+ this.workspaceSelector,
3208
3465
  `/glob?${query.toString()}`,
3209
- "GET /workspaces/:workspace/glob"
3466
+ "GET /workspaces/:workspace/glob",
3467
+ { signal: opts.signal }
3210
3468
  );
3211
3469
  }
3212
3470
  writeWorkspaceFile(req, clientId) {
@@ -3278,6 +3536,14 @@ var WorkspaceDaemonClient = class {
3278
3536
  opts?.clientId
3279
3537
  );
3280
3538
  }
3539
+ setWorkspaceSkillEnabled(skillName, enabled, opts) {
3540
+ return this.post(
3541
+ `/skills/${urlEncode(skillName)}/enable`,
3542
+ "POST /workspaces/:workspace/skills/:name/enable",
3543
+ { enabled },
3544
+ opts?.clientId
3545
+ );
3546
+ }
3281
3547
  restartMcpServer(serverName, opts) {
3282
3548
  const query = opts?.entryIndex === void 0 ? "" : `?entryIndex=${urlEncode(String(opts.entryIndex))}`;
3283
3549
  return this.post(
@@ -3305,6 +3571,38 @@ var WorkspaceDaemonClient = class {
3305
3571
  opts?.clientId
3306
3572
  );
3307
3573
  }
3574
+ workspaceExtensions() {
3575
+ return this.client.workspaceJsonRequest(
3576
+ this.workspaceSelector,
3577
+ "/extensions",
3578
+ "GET /workspaces/:workspace/extensions",
3579
+ { mode: "rest" }
3580
+ );
3581
+ }
3582
+ setExtensionActivation(extensionId, state, clientId) {
3583
+ return this.client.workspaceJsonRequest(
3584
+ this.workspaceSelector,
3585
+ `/extensions/${urlEncode(extensionId)}/activation`,
3586
+ "PUT /workspaces/:workspace/extensions/:extensionId/activation",
3587
+ { method: "PUT", body: { state }, clientId, mode: "rest" }
3588
+ );
3589
+ }
3590
+ clearExtensionActivation(extensionId, clientId) {
3591
+ return this.client.workspaceJsonRequest(
3592
+ this.workspaceSelector,
3593
+ `/extensions/${urlEncode(extensionId)}/activation`,
3594
+ "DELETE /workspaces/:workspace/extensions/:extensionId/activation",
3595
+ { method: "DELETE", clientId, mode: "rest" }
3596
+ );
3597
+ }
3598
+ refreshExtensionRuntime(clientId) {
3599
+ return this.client.workspaceJsonRequest(
3600
+ this.workspaceSelector,
3601
+ "/extensions/refresh",
3602
+ "POST /workspaces/:workspace/extensions/refresh",
3603
+ { method: "POST", body: {}, clientId, mode: "rest" }
3604
+ );
3605
+ }
3308
3606
  get(path, label, clientId) {
3309
3607
  return this.client.workspaceJsonRequest(
3310
3608
  this.workspaceSelector,
@@ -5840,8 +6138,13 @@ function normalizeSessionUpdate(event, base, opts) {
5840
6138
  ];
5841
6139
  }
5842
6140
  case "tool_call":
5843
- case "tool_call_update":
6141
+ case "tool_call_update": {
6142
+ const meta = isRecord2(update["_meta"]) ? update["_meta"] : void 0;
6143
+ if (getString2(update, "status") === "in_progress" && getString2(update, "kind") === void 0 && meta?.["shellProgress"] !== void 0) {
6144
+ return [];
6145
+ }
5844
6146
  return [normalizeToolUpdate(update, base)];
6147
+ }
5845
6148
  case "shell_output":
5846
6149
  case "tool_output": {
5847
6150
  const text = getOutputText(update);
@@ -2,55 +2,54 @@
2
2
  "use strict";
3
3
  import {
4
4
  createDaemonStatusProvider
5
- } from "./chunk-EUNRLYJG.js";
6
- import "./chunk-DMTQY5GY.js";
5
+ } from "./chunk-X6ODDESK.js";
6
+ import "./chunk-JGO6RFI2.js";
7
7
  import "./chunk-E5Z2AVNV.js";
8
- import "./chunk-AAWKZ5R7.js";
9
- import "./chunk-MBP3K324.js";
8
+ import "./chunk-6JPDCEDB.js";
9
+ import "./chunk-HCJTURZD.js";
10
10
  import "./chunk-PZL23GTM.js";
11
11
  import "./chunk-6RLROE6G.js";
12
12
  import "./chunk-COH43MRJ.js";
13
13
  import "./chunk-OCPBI7J5.js";
14
14
  import "./chunk-KSO42X3Z.js";
15
- import "./chunk-4QOPEEL2.js";
15
+ import "./chunk-VEETSXYX.js";
16
16
  import "./chunk-TEGEBB2I.js";
17
- import "./chunk-PMRH4YYW.js";
17
+ import "./chunk-FI2WSOWX.js";
18
18
  import "./chunk-W7FJ3N32.js";
19
19
  import "./chunk-M5GB774H.js";
20
20
  import "./chunk-UDXSXLER.js";
21
- import "./chunk-UI3W56WF.js";
21
+ import "./chunk-2J4ZWME4.js";
22
22
  import "./chunk-VJNBRRZG.js";
23
- import "./chunk-SSFDPGFN.js";
24
- import "./chunk-CU3L64TP.js";
23
+ import "./chunk-HJUDVNCO.js";
25
24
  import "./chunk-H6XPXXMH.js";
26
25
  import "./chunk-5M6IDOMF.js";
27
- import "./chunk-E67NFMF4.js";
26
+ import "./chunk-BLPMRN4B.js";
28
27
  import "./chunk-RCEEXIOO.js";
29
28
  import "./chunk-KKRTYONM.js";
30
29
  import "./chunk-TV6K2FB4.js";
31
30
  import "./chunk-E2UVIFI2.js";
32
- import "./chunk-6OATMEYN.js";
31
+ import "./chunk-7STBROEV.js";
33
32
  import "./chunk-XU457J4V.js";
34
33
  import "./chunk-VDDGDZMA.js";
35
34
  import "./chunk-SPJQO2CE.js";
36
35
  import "./chunk-SZRN75WQ.js";
37
36
  import "./chunk-HTO4JFDZ.js";
38
37
  import "./chunk-CPBF7KYF.js";
39
- import "./chunk-TXY2C3D2.js";
38
+ import "./chunk-F333XEAU.js";
40
39
  import "./chunk-6AM5D4ME.js";
41
40
  import "./chunk-2Z5UX4KI.js";
42
41
  import "./chunk-ARKANCNX.js";
43
42
  import "./chunk-L5U3ELZX.js";
44
43
  import "./chunk-TYLOFD2U.js";
45
- import "./chunk-T7FSRWQ5.js";
44
+ import "./chunk-HWTL6MPR.js";
46
45
  import "./chunk-4WKAA4KS.js";
47
46
  import "./chunk-CR3C7WXL.js";
48
47
  import "./chunk-CARU2RR2.js";
49
48
  import "./chunk-VGC4I5JJ.js";
50
49
  import "./chunk-FBU7WRZI.js";
51
50
  import "./chunk-Y66VOBRP.js";
52
- import "./chunk-WX6SD4IQ.js";
53
- import "./chunk-2UUAIFQO.js";
51
+ import "./chunk-WTNZ6DXB.js";
52
+ import "./chunk-JGUT3LWZ.js";
54
53
  import "./chunk-OKAIGAYW.js";
55
54
  import "./chunk-ZPAHLFZU.js";
56
55
  import "./chunk-JESCGQM3.js";
@@ -3,7 +3,7 @@
3
3
  import {
4
4
  ChannelBase,
5
5
  isTerminalTaskLifecycleType
6
- } from "./chunk-SXU3KKNI.js";
6
+ } from "./chunk-AU4R7ACM.js";
7
7
  import "./chunk-UDXSXLER.js";
8
8
  import "./chunk-H6XPXXMH.js";
9
9
  import {
@@ -9,7 +9,7 @@ import "./chunk-T2NCM2ET.js";
9
9
  import {
10
10
  ChannelBase,
11
11
  sanitizeLogText
12
- } from "./chunk-SXU3KKNI.js";
12
+ } from "./chunk-AU4R7ACM.js";
13
13
  import "./chunk-UDXSXLER.js";
14
14
  import "./chunk-H6XPXXMH.js";
15
15
  import "./chunk-CR3C7WXL.js";
@@ -7,7 +7,7 @@ import {
7
7
  sanitizeLogText,
8
8
  sanitizePromptText,
9
9
  sanitizeSenderName
10
- } from "./chunk-SXU3KKNI.js";
10
+ } from "./chunk-AU4R7ACM.js";
11
11
  import "./chunk-UDXSXLER.js";
12
12
  import "./chunk-H6XPXXMH.js";
13
13
  import {
@@ -11,11 +11,11 @@ import {
11
11
  sendMessage,
12
12
  sendTyping,
13
13
  uploadToCdn
14
- } from "./chunk-BBNVFRGD.js";
14
+ } from "./chunk-R5XLNDE2.js";
15
15
  import {
16
16
  ChannelBase,
17
17
  isTerminalTaskLifecycleType
18
- } from "./chunk-SXU3KKNI.js";
18
+ } from "./chunk-AU4R7ACM.js";
19
19
  import "./chunk-UDXSXLER.js";
20
20
  import "./chunk-H6XPXXMH.js";
21
21
  import {
@@ -11,7 +11,7 @@ import {
11
11
  isTerminalTaskLifecycleType,
12
12
  sanitizeLogText,
13
13
  sanitizeSenderName
14
- } from "./chunk-SXU3KKNI.js";
14
+ } from "./chunk-AU4R7ACM.js";
15
15
  import "./chunk-UDXSXLER.js";
16
16
  import "./chunk-H6XPXXMH.js";
17
17
  import "./chunk-CR3C7WXL.js";
@@ -12,7 +12,7 @@ import "./chunk-T2NCM2ET.js";
12
12
  import {
13
13
  ChannelBase,
14
14
  isTerminalTaskLifecycleType
15
- } from "./chunk-SXU3KKNI.js";
15
+ } from "./chunk-AU4R7ACM.js";
16
16
  import "./chunk-UDXSXLER.js";
17
17
  import "./chunk-H6XPXXMH.js";
18
18
  import {