@qwen-code/qwen-code 0.21.8 → 0.21.9

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 (258) hide show
  1. package/README.md +2 -1
  2. package/bundled/qc-helper/docs/configuration/settings.md +32 -30
  3. package/bundled/qc-helper/docs/extension/introduction.md +15 -1
  4. package/bundled/qc-helper/docs/features/code-review.md +2 -0
  5. package/bundled/qc-helper/docs/qwen-serve-deploy-local.md +1 -1
  6. package/bundled/qc-helper/docs/qwen-serve.md +42 -39
  7. package/bundled/review/SKILL.md +11 -7
  8. package/chunks/{MaxSizedBox-7PM6BGJ5.js → MaxSizedBox-6BZANW7X.js} +9 -9
  9. package/chunks/{StandaloneSessionPicker-3UQHM7GV.js → StandaloneSessionPicker-VDC5KE7T.js} +28 -25
  10. package/chunks/{acpAgent-5UWLFV6V.js → acpAgent-F2NSBCUF.js} +1433 -706
  11. package/chunks/{agent-624T2BLO.js → agent-VOHJOEBB.js} +8 -8
  12. package/chunks/{agent-headless-2EE5J2KX.js → agent-headless-J5NFOPHP.js} +8 -8
  13. package/chunks/{bridge-JENKGFFP.js → bridge-NQIZZLAS.js} +13 -13
  14. package/chunks/{channel-management-service-DDWUPHMU.js → channel-management-service-PHELKOW2.js} +4 -4
  15. package/chunks/{channel-settings-store-SA6JZSPH.js → channel-settings-store-VIY2OENO.js} +17 -15
  16. package/chunks/{channel-worker-group-E67EN3RV.js → channel-worker-group-MSHT6CWR.js} +6 -6
  17. package/chunks/{channel-worker-manager-SW4C45CF.js → channel-worker-manager-XXD3GDSK.js} +6 -6
  18. package/chunks/{channel-worker-supervisor-5SRD24FG.js → channel-worker-supervisor-IVSDIMI4.js} +4 -4
  19. package/chunks/{chunk-S3Y3GBFD.js → chunk-23VQTELM.js} +2 -2
  20. package/chunks/{chunk-XZKQT2B2.js → chunk-3WDYBTTI.js} +5 -5
  21. package/chunks/{chunk-YEF7XEO2.js → chunk-3XVDTHBJ.js} +3 -3
  22. package/chunks/{chunk-IBYULW65.js → chunk-46YJDYCU.js} +145 -10
  23. package/chunks/chunk-4JRM2BSM.js +48 -0
  24. package/chunks/{chunk-L4N6TIP7.js → chunk-4TRQPFDP.js} +4 -2
  25. package/chunks/{chunk-5ZGR6RKJ.js → chunk-4XQNB3KN.js} +3 -3
  26. package/chunks/chunk-5EJZE3FP.js +140 -0
  27. package/chunks/{chunk-XHD7CRP2.js → chunk-5RBDAGC6.js} +2 -2
  28. package/chunks/{chunk-KJZ26VBX.js → chunk-67EWJE77.js} +1 -1
  29. package/chunks/{chunk-TE3ZAJE7.js → chunk-6Q5ABMTU.js} +1 -1
  30. package/chunks/{chunk-U5SLIG7E.js → chunk-7AEPJGL4.js} +1 -1
  31. package/chunks/{chunk-OHKJVAKG.js → chunk-7GOYZQPR.js} +20 -1977
  32. package/chunks/{chunk-3SE7J4DR.js → chunk-7S4JBJLU.js} +3 -3
  33. package/chunks/{chunk-TKSZJ5BV.js → chunk-AKJQSWV4.js} +3 -3
  34. package/chunks/{chunk-E4ZBKMSF.js → chunk-ATMO54WE.js} +6 -6
  35. package/chunks/{chunk-KKDVZLGL.js → chunk-BAMN6XSD.js} +1 -1
  36. package/chunks/{chunk-IUQ52YJK.js → chunk-BIRWP6LU.js} +1 -1
  37. package/chunks/{chunk-AKA24BGO.js → chunk-BT6GQIEJ.js} +1 -1
  38. package/chunks/{chunk-ZCLLJARV.js → chunk-BZP4QPNK.js} +10 -10
  39. package/chunks/{chunk-2M5N3DHY.js → chunk-CMOBWHWW.js} +1 -1
  40. package/chunks/{chunk-WV5J6Q6N.js → chunk-D7BXVKSF.js} +1 -1
  41. package/chunks/{chunk-NLREQJFK.js → chunk-DA4HRSBW.js} +15 -0
  42. package/chunks/{chunk-GOEVOFQI.js → chunk-DH5YXSIF.js} +3 -3
  43. package/chunks/{chunk-DIWZNWZT.js → chunk-DX3RGJMS.js} +13 -2
  44. package/chunks/{chunk-PLFATELK.js → chunk-DZUO626D.js} +1 -1
  45. package/chunks/{chunk-NGYI5EF5.js → chunk-E2FPSSKP.js} +8 -8
  46. package/chunks/{chunk-ZPLALRXZ.js → chunk-FBMCDU63.js} +4 -137
  47. package/chunks/{chunk-2ILAOM2I.js → chunk-FCLHHEUK.js} +17 -16
  48. package/chunks/{chunk-SNRT2TJJ.js → chunk-G2TX5ZXC.js} +3 -3
  49. package/chunks/{chunk-C5VWPTGT.js → chunk-GAKGOXTC.js} +1 -1
  50. package/chunks/{chunk-QQWD7LZV.js → chunk-HADWBW5R.js} +4 -4
  51. package/chunks/{chunk-77QVBFCU.js → chunk-HZGBKOX3.js} +3 -3
  52. package/chunks/{chunk-RPWVIXDB.js → chunk-I5VM3SKY.js} +4 -4
  53. package/chunks/{chunk-7VUERJHS.js → chunk-II6G3EY6.js} +325 -104
  54. package/chunks/{chunk-FN6YXJOP.js → chunk-IOEZE2YT.js} +1 -1
  55. package/chunks/chunk-JUWS2Z5K.js +1995 -0
  56. package/chunks/{chunk-VXZ5HAOV.js → chunk-K4ADGWHU.js} +1 -1
  57. package/chunks/{chunk-YOM7DEGB.js → chunk-KSAFZ5TA.js} +2 -2
  58. package/chunks/{chunk-KAQCJO6Y.js → chunk-KTKYGS2P.js} +35 -9
  59. package/chunks/{chunk-GBDINRIL.js → chunk-KTQGGPGV.js} +3 -3
  60. package/chunks/{chunk-6M26GBKX.js → chunk-L2AFWWJE.js} +42 -3
  61. package/chunks/{chunk-QXVSWG66.js → chunk-LHEC5V6G.js} +2 -2
  62. package/chunks/{chunk-J26HHFI5.js → chunk-LP2QGNSP.js} +32 -2
  63. package/chunks/{chunk-HWX5HPUG.js → chunk-LZZLUCRS.js} +108 -11
  64. package/chunks/{chunk-KTJFU7RT.js → chunk-MFDYOYZZ.js} +2 -2
  65. package/chunks/{chunk-3WNQOYHQ.js → chunk-MHP476D3.js} +74 -31
  66. package/chunks/{chunk-Y4TETC74.js → chunk-MTCYGTWH.js} +4 -4
  67. package/chunks/{chunk-EN2TKTFH.js → chunk-NV3F44FL.js} +6 -2
  68. package/chunks/{chunk-BF52U4XJ.js → chunk-OGDIJKHK.js} +1 -1
  69. package/chunks/{chunk-7DVT4LVV.js → chunk-OGNFHGIG.js} +3 -3
  70. package/chunks/{chunk-IYES5WOT.js → chunk-P2FK2HBV.js} +2 -2
  71. package/chunks/{chunk-2M4K4KYS.js → chunk-P3RBMQ4P.js} +4 -4
  72. package/chunks/{chunk-FYAXKJK7.js → chunk-P4ZEZSJZ.js} +692 -106
  73. package/chunks/{chunk-UFALT4LK.js → chunk-PBRVUF5B.js} +1 -1
  74. package/chunks/{chunk-LKRMNRSN.js → chunk-PDPFQ2FO.js} +2 -0
  75. package/chunks/{chunk-6TR7CFXH.js → chunk-PNBBJOCP.js} +1 -1
  76. package/chunks/{chunk-M3STHEMM.js → chunk-PVOGHGSF.js} +5 -5
  77. package/chunks/{chunk-4WU6NY7F.js → chunk-QSNSL4R4.js} +2 -2
  78. package/chunks/{chunk-DQSDACD2.js → chunk-RBHQXGDK.js} +1 -1
  79. package/chunks/{chunk-ZHA242R4.js → chunk-RVSTTOJ4.js} +2 -2
  80. package/chunks/{chunk-EIVICVHM.js → chunk-SCAZZ3Q4.js} +4 -4
  81. package/chunks/{chunk-BF224XHL.js → chunk-T5RLUXWJ.js} +2 -2
  82. package/chunks/{chunk-B52AWKBB.js → chunk-T6HEQR2Q.js} +16 -5
  83. package/chunks/{chunk-FWBXMANW.js → chunk-THIKWITR.js} +3 -3
  84. package/chunks/{chunk-WG6542MA.js → chunk-TQCYNLNJ.js} +1 -1
  85. package/chunks/chunk-TQOF5KBL.js +71 -0
  86. package/chunks/{chunk-NPUXXRJI.js → chunk-TZ6KJ44L.js} +1 -1
  87. package/chunks/{chunk-YHJFF7KH.js → chunk-UJUM2SRN.js} +147 -47
  88. package/chunks/{chunk-4ALIARFY.js → chunk-UYAUA63Q.js} +1 -1
  89. package/chunks/chunk-VFMASYQA.js +389 -0
  90. package/chunks/chunk-VGHZT6JR.js +51 -0
  91. package/chunks/{chunk-ZWBUH5UP.js → chunk-VKJ4KTPJ.js} +1 -1
  92. package/chunks/{chunk-QGHSP65Z.js → chunk-VNNWAZSI.js} +2 -2
  93. package/chunks/{chunk-757GB46F.js → chunk-W3FSZSF2.js} +1 -1
  94. package/chunks/{chunk-GQCEQPYQ.js → chunk-WGK4TSB7.js} +3 -3
  95. package/chunks/{chunk-PG62DFWD.js → chunk-WP5VOXF7.js} +6 -127
  96. package/chunks/{chunk-NVRDQFCX.js → chunk-XTY5DN4Y.js} +1 -1
  97. package/chunks/{chunk-GXSNGY5M.js → chunk-XX7QFP34.js} +1677 -1307
  98. package/chunks/{chunk-3PY4LPJF.js → chunk-YGT2AUJ7.js} +84 -4
  99. package/chunks/{chunk-4DU3NCHG.js → chunk-YTFDX4PR.js} +8 -3
  100. package/chunks/{chunk-OA4JVLSA.js → chunk-Z7VOMGDC.js} +22 -1
  101. package/chunks/{chunk-DX5W5AON.js → chunk-ZBXGWQ4S.js} +3 -3
  102. package/chunks/chunk-ZLBIFIMV.js +1099 -0
  103. package/chunks/{chunk-HA3SAB64.js → chunk-ZOSTTOUJ.js} +1 -1
  104. package/chunks/{chunk-VWMUDKLC.js → chunk-ZTQSOV56.js} +4 -4
  105. package/chunks/{computer-use-ESQYJ3JY.js → computer-use-PMZ7ICGY.js} +8 -8
  106. package/chunks/{config-utils-XQHBJP7G.js → config-utils-ULCSRMWD.js} +4 -4
  107. package/chunks/{contextCommand-CX3YF4ZE.js → contextCommand-GEZU7YHE.js} +11 -10
  108. package/chunks/{core-runtime-DIAU7JMG.js → core-runtime-HRJI2MN6.js} +8 -8
  109. package/chunks/{create-sub-session-HDPD6HOA.js → create-sub-session-VBNVI4YU.js} +9 -9
  110. package/chunks/{daemon-VZBGJUNL.js → daemon-POSQPD3G.js} +115 -7
  111. package/chunks/{daemon-status-provider-H6O4UQ4F.js → daemon-status-provider-N4CRQKFI.js} +18 -18
  112. package/chunks/{daemon-trust-policy-BNUXG6MT.js → daemon-trust-policy-BHO3JUHM.js} +16 -14
  113. package/chunks/{daemon-trust-policy-monitor-E4EQ7GF4.js → daemon-trust-policy-monitor-YEKJ2726.js} +16 -14
  114. package/chunks/{deferred-core-runtime-CBMSHPAU.js → deferred-core-runtime-SH57E3J3.js} +8 -8
  115. package/chunks/{dist-KVISB2O2.js → dist-3NTTUAHT.js} +1 -1
  116. package/chunks/{dist-RCH3I7SS.js → dist-6BMOAE3Z.js} +2 -2
  117. package/chunks/{dist-IRL7WA5Z.js → dist-B2CGTW6T.js} +1 -1
  118. package/chunks/{dist-TUSWNE2I.js → dist-EWW3J4HQ.js} +1 -1
  119. package/chunks/{dist-HIACTZEK.js → dist-EZE3V3Q7.js} +1 -1
  120. package/chunks/{dist-EEEQGCZA.js → dist-J47AXBZC.js} +1 -1
  121. package/chunks/{dist-MKX5OSFF.js → dist-OTUO3AS2.js} +4 -1088
  122. package/chunks/{dist-MBF3I5MX.js → dist-Z3CS4OVP.js} +1 -1
  123. package/chunks/{earlyInputCapture-UIOP7OIN.js → earlyInputCapture-B2JJ2HME.js} +8 -8
  124. package/chunks/{edit-ITMZYFKA.js → edit-7FTXENAN.js} +10 -8
  125. package/chunks/{enter-worktree-S4PL5UV6.js → enter-worktree-JPHV2PBG.js} +8 -8
  126. package/chunks/{enterPlanMode-YV52NNJT.js → enterPlanMode-CGBJ3AHJ.js} +8 -8
  127. package/chunks/{environment-NGOWPRZV.js → environment-LXASZAHD.js} +11 -11
  128. package/chunks/{errors-BU26DTDX.js → errors-XIGVT2AD.js} +10 -10
  129. package/chunks/{exit-worktree-XRM6LH5F.js → exit-worktree-DKSGXW65.js} +8 -8
  130. package/chunks/{exitPlanMode-ZLI5F7KR.js → exitPlanMode-THFL2HYN.js} +8 -8
  131. package/chunks/{fast-path-UJWORIED.js → fast-path-4NXAT5UL.js} +4 -3
  132. package/chunks/{fast-path-settings-37WQD5B2.js → fast-path-settings-RPAVBD7P.js} +2 -2
  133. package/chunks/{gemini-ZSKNDUMU.js → gemini-B3N6FACU.js} +56 -60
  134. package/chunks/{geminiContentGenerator-YGEXOEKD.js → geminiContentGenerator-YYFE2HIE.js} +1 -1
  135. package/chunks/{glob-7KZG44BR.js → glob-BPHSCFJP.js} +8 -8
  136. package/chunks/{grep-6ZFC7RJ5.js → grep-ROZIRFLU.js} +8 -8
  137. package/chunks/{handleAutoUpdate-KSEL3TQS.js → handleAutoUpdate-WV6SPZQB.js} +13 -12
  138. package/chunks/{i18n-ZIUXBW5V.js → i18n-YWJWPQKD.js} +13 -11
  139. package/chunks/{image-gen-AUIZJJNK.js → image-gen-SISRZ6FS.js} +1 -1
  140. package/chunks/{initializer-7AHY3N6Q.js → initializer-66OAD6GO.js} +16 -14
  141. package/chunks/{installationInfo-VGBXMYLY.js → installationInfo-3YUGIP36.js} +9 -9
  142. package/chunks/{list-PSFKQHLB.js → list-VEYR66XB.js} +19 -17
  143. package/chunks/{loadedSettingsAdapter-FTMRCTOF.js → loadedSettingsAdapter-V2JCPCYD.js} +16 -14
  144. package/chunks/{loggingContentGenerator-MZAN52UV.js → loggingContentGenerator-RBLNDREC.js} +6 -6
  145. package/chunks/main-PXAUXNF2.js +8 -0
  146. package/chunks/{managed-npm-update-O4NHK45X.js → managed-npm-update-C5ID5R4R.js} +9 -9
  147. package/chunks/{mcp-6CFP2AYQ.js → mcp-OZ54NZJQ.js} +16 -14
  148. package/chunks/{monitor-DAKD6OU4.js → monitor-7Y4TVFTK.js} +18 -14
  149. package/chunks/{nonInteractiveCli-RC7VIUZL.js → nonInteractiveCli-QEK4LHAC.js} +51 -49
  150. package/chunks/{notebook-edit-474DPMRL.js → notebook-edit-OG35EBGY.js} +9 -8
  151. package/chunks/{openaiContentGenerator-2NFY2MWO.js → openaiContentGenerator-443BNRPJ.js} +5 -5
  152. package/chunks/{pidfile-KBFVDNQP.js → pidfile-ZK4OLRZA.js} +8 -8
  153. package/chunks/{processUtils-6GRYH4Y3.js → processUtils-4YGB4RUZ.js} +2 -2
  154. package/chunks/{qwenContentGenerator-KAHU6IZY.js → qwenContentGenerator-D5C2LCSZ.js} +9 -9
  155. package/chunks/{qwenOAuth2-RRQTCP4W.js → qwenOAuth2-Z4YQBMYN.js} +1 -1
  156. package/chunks/{read-file-3M6WXDXP.js → read-file-EXTJLWMU.js} +4 -4
  157. package/chunks/{resumeHistoryUtils-D6TAY3HX.js → resumeHistoryUtils-UPCGRJUL.js} +13 -12
  158. package/chunks/{ripGrep-PLPENT3E.js → ripGrep-QBVIRCU4.js} +8 -8
  159. package/chunks/{run-qwen-serve-ZAFIJKJC.js → run-qwen-serve-ZYGJNE3E.js} +169 -68
  160. package/chunks/{runtime-ZED7CYOZ.js → runtime-BZZ4LWCP.js} +21 -19
  161. package/chunks/{scheduler-MD3AL2W5.js → scheduler-YNQNOU2E.js} +135 -15
  162. package/chunks/{sdk-exporters-http-KHAB5JSD.js → sdk-exporters-http-XVTZQRCE.js} +2 -2
  163. package/chunks/{sdk-impl-KD7FSTC3.js → sdk-impl-7W7AKCS4.js} +7 -3
  164. package/chunks/{serve-E3VUDRZN.js → serve-LJHAXDCH.js} +18 -14
  165. package/chunks/{server-OWMEMAKR.js → server-ADMLELR6.js} +1229 -1098
  166. package/chunks/{session-HZ57QK7K.js → session-YKZXFFTM.js} +55 -53
  167. package/chunks/{settings-V7BR3RKP.js → settings-EQBUAQ7Y.js} +15 -13
  168. package/chunks/{shell-23OMNMW6.js → shell-3QZOJGTT.js} +8 -8
  169. package/chunks/{skill-6HBDYZRS.js → skill-UWSSMXE7.js} +5 -5
  170. package/chunks/{skill-settings-HWJLTU7M.js → skill-settings-T6MLB7NU.js} +15 -13
  171. package/chunks/{spawnChannel-N6KKUW5B.js → spawnChannel-VS7ZFUFP.js} +11 -11
  172. package/chunks/{standalone-update-QGIKHATD.js → standalone-update-2W26SRRO.js} +11 -10
  173. package/chunks/{startInteractiveUI-GX2CRL42.js → startInteractiveUI-CVS7K3D6.js} +86 -75
  174. package/chunks/{team-create-CFFKU7KL.js → team-create-4WFTNNUL.js} +8 -8
  175. package/chunks/{team-plan-approval-6EFOKR6A.js → team-plan-approval-DBYI33S3.js} +8 -8
  176. package/chunks/{terminal-image-renderer-TLDNACQY.js → terminal-image-renderer-S5WPPQKH.js} +8 -8
  177. package/chunks/{theme-manager-5LJ3H7VO.js → theme-manager-LI2RIOVR.js} +8 -8
  178. package/chunks/{tool-search-UJV3A24H.js → tool-search-4773EUQ4.js} +4 -4
  179. package/chunks/{total-session-admission-D63QYXGO.js → total-session-admission-PAY5CH2Z.js} +16 -15
  180. package/chunks/{trustedFolders-KZCOB53W.js → trustedFolders-FRSLE674.js} +9 -9
  181. package/chunks/{types-ML3TRJQ5.js → types-WYCFCEHR.js} +5 -3
  182. package/chunks/{update-relaunch-IFILM3SA.js → update-relaunch-ZSFQTU6M.js} +5 -5
  183. package/chunks/{updateCheck-YZ2CRCFC.js → updateCheck-AXWSO7KA.js} +12 -11
  184. package/chunks/{useAutoAcceptIndicator-AXEVNA3Q.js → useAutoAcceptIndicator-VHLXIA7U.js} +18 -16
  185. package/chunks/{validateNonInterActiveAuth-3WTOJFWA.js → validateNonInterActiveAuth-PDJECMFU.js} +48 -46
  186. package/chunks/{version-GXK7OHZY.js → version-RBN764QS.js} +1 -1
  187. package/chunks/{web-fetch-ILB4GAVR.js → web-fetch-7BJK42AF.js} +4 -4
  188. package/chunks/{web-search-HKRPGPZZ.js → web-search-L2CILQXV.js} +4 -3
  189. package/chunks/{workflow-FXIPRQQA.js → workflow-5VH2R74I.js} +170 -137
  190. package/chunks/{workspace-providers-status-NYHC7HSR.js → workspace-providers-status-OZTQ6JFH.js} +19 -17
  191. package/chunks/{workspace-registration-store-AKEB7OMW.js → workspace-registration-store-IX5RJQS5.js} +1 -1
  192. package/chunks/{workspace-registry-CDAS5TVZ.js → workspace-registry-73N4BGG4.js} +16 -15
  193. package/chunks/{workspace-service-PAMUKMAV.js → workspace-service-I5RUPSNV.js} +26 -22
  194. package/chunks/{workspace-skills-status-YQSHCCMS.js → workspace-skills-status-DMK6VYDO.js} +17 -15
  195. package/chunks/{workspace-trust-reconciler-RPTXOIY2.js → workspace-trust-reconciler-QX4RL3TC.js} +24 -21
  196. package/chunks/{write-file-CGS57TS4.js → write-file-UGDD5UTS.js} +8 -8
  197. package/chunks/{zoom-image-E7D72GYV.js → zoom-image-ZAHEO3YP.js} +4 -4
  198. package/cli.js +12 -12
  199. package/package.json +3 -3
  200. package/web-shell/assets/{arc-DybZaz32.js → arc-CHY4saMJ.js} +1 -1
  201. package/web-shell/assets/{architectureDiagram-3BPJPVTR-jN3qBd19.js → architectureDiagram-3BPJPVTR-Bu6CwvHj.js} +1 -1
  202. package/web-shell/assets/{blockDiagram-GPEHLZMM-Ct5DZPrj.js → blockDiagram-GPEHLZMM-XGt6iGf_.js} +1 -1
  203. package/web-shell/assets/{c4Diagram-AAUBKEIU-CUAFMlUG.js → c4Diagram-AAUBKEIU-CBbYl19W.js} +1 -1
  204. package/web-shell/assets/channel-B40srHOa.js +1 -0
  205. package/web-shell/assets/{chunk-2J33WTMH-CuV8n90B.js → chunk-2J33WTMH-BEhmVrdx.js} +1 -1
  206. package/web-shell/assets/{chunk-4BX2VUAB-BUzl_kls.js → chunk-4BX2VUAB-fQLyE0Bg.js} +1 -1
  207. package/web-shell/assets/{chunk-55IACEB6-BnDBLX6A.js → chunk-55IACEB6-yGdtyx4a.js} +1 -1
  208. package/web-shell/assets/{chunk-727SXJPM-B83uTOjm.js → chunk-727SXJPM-DYbX2GLo.js} +1 -1
  209. package/web-shell/assets/{chunk-AQP2D5EJ-DM3HLgpT.js → chunk-AQP2D5EJ-DyKTEsYn.js} +1 -1
  210. package/web-shell/assets/{chunk-FMBD7UC4-CSQ5hgyb.js → chunk-FMBD7UC4-D8Uy_GzX.js} +1 -1
  211. package/web-shell/assets/{chunk-ND2GUHAM-BWOF4SxX.js → chunk-ND2GUHAM-C8wNR2K7.js} +1 -1
  212. package/web-shell/assets/{chunk-QZHKN3VN-BsOH9LMi.js → chunk-QZHKN3VN-BnybNxnt.js} +1 -1
  213. package/web-shell/assets/classDiagram-4FO5ZUOK-qumcXQW_.js +1 -0
  214. package/web-shell/assets/classDiagram-v2-Q7XG4LA2-qumcXQW_.js +1 -0
  215. package/web-shell/assets/{cose-bilkent-S5V4N54A-IENqH2iJ.js → cose-bilkent-S5V4N54A-jq4uiFRp.js} +1 -1
  216. package/web-shell/assets/{dagre-BM42HDAG--dyzDTGo.js → dagre-BM42HDAG-Bs7oye1U.js} +1 -1
  217. package/web-shell/assets/{diagram-2AECGRRQ-BE7Dcqof.js → diagram-2AECGRRQ-BHGGJNyM.js} +1 -1
  218. package/web-shell/assets/{diagram-5GNKFQAL-Cr8-5OTj.js → diagram-5GNKFQAL-BJezVLGT.js} +1 -1
  219. package/web-shell/assets/{diagram-KO2AKTUF-Bzey3uAY.js → diagram-KO2AKTUF-5JzQN_rL.js} +1 -1
  220. package/web-shell/assets/{diagram-LMA3HP47-sErl28Xb.js → diagram-LMA3HP47-BlPYOgY9.js} +1 -1
  221. package/web-shell/assets/{diagram-OG6HWLK6-Dq30ATIo.js → diagram-OG6HWLK6-CtMHEaFK.js} +1 -1
  222. package/web-shell/assets/{erDiagram-TEJ5UH35-BkCoEfVW.js → erDiagram-TEJ5UH35-CRNdq2AB.js} +1 -1
  223. package/web-shell/assets/{flowDiagram-I6XJVG4X-DHwO0rrI.js → flowDiagram-I6XJVG4X-De1WwLzu.js} +1 -1
  224. package/web-shell/assets/{ganttDiagram-6RSMTGT7-s7vAPxWq.js → ganttDiagram-6RSMTGT7-YbWfL5Zn.js} +1 -1
  225. package/web-shell/assets/{gitGraphDiagram-PVQCEYII-CQxhwPOU.js → gitGraphDiagram-PVQCEYII-DzCN8bmd.js} +1 -1
  226. package/web-shell/assets/index-BDOGGGaN.css +5 -0
  227. package/web-shell/assets/{index-CF4wApWp.js → index-CocPvF9Q.js} +1 -1
  228. package/web-shell/assets/index-DSH2KrMc.js +1771 -0
  229. package/web-shell/assets/{infoDiagram-5YYISTIA-BnFrD0bq.js → infoDiagram-5YYISTIA-DLHoopnE.js} +1 -1
  230. package/web-shell/assets/{ishikawaDiagram-YF4QCWOH-Bf9zK5NK.js → ishikawaDiagram-YF4QCWOH-XnbU04SS.js} +1 -1
  231. package/web-shell/assets/{journeyDiagram-JHISSGLW-CyGAhsxi.js → journeyDiagram-JHISSGLW-CipPyEeJ.js} +1 -1
  232. package/web-shell/assets/{kanban-definition-UN3LZRKU-CbsK5akB.js → kanban-definition-UN3LZRKU-DrSeyE5d.js} +1 -1
  233. package/web-shell/assets/{linear-cQsF4P8D.js → linear-LrBKnAo_.js} +1 -1
  234. package/web-shell/assets/{mermaid.core-Z4HVqrKY.js → mermaid.core-C3U9UVmf.js} +5 -5
  235. package/web-shell/assets/{mindmap-definition-RKZ34NQL-CYnrBo_f.js → mindmap-definition-RKZ34NQL-DqRWgC9H.js} +1 -1
  236. package/web-shell/assets/{pieDiagram-4H26LBE5-CBzOfhrs.js → pieDiagram-4H26LBE5-BNXY5p6H.js} +1 -1
  237. package/web-shell/assets/{quadrantDiagram-W4KKPZXB-D4LK1Ebn.js → quadrantDiagram-W4KKPZXB-Ccj9QzE4.js} +1 -1
  238. package/web-shell/assets/{requirementDiagram-4Y6WPE33-Bzti2Lcj.js → requirementDiagram-4Y6WPE33-CjPM2_gx.js} +1 -1
  239. package/web-shell/assets/{sankeyDiagram-5OEKKPKP-yTBw5Z2s.js → sankeyDiagram-5OEKKPKP-C0RsvKbj.js} +1 -1
  240. package/web-shell/assets/{sequenceDiagram-3UESZ5HK-D07UVRiZ.js → sequenceDiagram-3UESZ5HK-ClN1P5z7.js} +1 -1
  241. package/web-shell/assets/{stateDiagram-AJRCARHV-UE_lHsTn.js → stateDiagram-AJRCARHV-By0eiB2Y.js} +1 -1
  242. package/web-shell/assets/stateDiagram-v2-BHNVJYJU-Ds0WlK3F.js +1 -0
  243. package/web-shell/assets/{timeline-definition-PNZ67QCA-DRvYdiTs.js → timeline-definition-PNZ67QCA-g_iaSQgv.js} +1 -1
  244. package/web-shell/assets/{vennDiagram-CIIHVFJN-CQLIXs0u.js → vennDiagram-CIIHVFJN-y9ZqJ-TD.js} +1 -1
  245. package/web-shell/assets/{wardley-L42UT6IY-JZz_Xqse.js → wardley-L42UT6IY-BVVfaxpF.js} +1 -1
  246. package/web-shell/assets/{wardleyDiagram-YWT4CUSO--i7BiJwB.js → wardleyDiagram-YWT4CUSO-D3ooZKZT.js} +1 -1
  247. package/web-shell/assets/{xychartDiagram-2RQKCTM6-Bkc-bW0S.js → xychartDiagram-2RQKCTM6-6GXrY6M1.js} +1 -1
  248. package/web-shell/index.html +2 -2
  249. package/chunks/chunk-RXFQM6FQ.js +0 -42
  250. package/chunks/chunk-UA5H3DS2.js +0 -203
  251. package/web-shell/assets/channel-BMwLrwLW.js +0 -1
  252. package/web-shell/assets/classDiagram-4FO5ZUOK-BGDv98jY.js +0 -1
  253. package/web-shell/assets/classDiagram-v2-Q7XG4LA2-BGDv98jY.js +0 -1
  254. package/web-shell/assets/index-Bckpjr-I.css +0 -5
  255. package/web-shell/assets/index-DwEr9HEW.js +0 -1768
  256. package/web-shell/assets/stateDiagram-v2-BHNVJYJU-DC6xgXjX.js +0 -1
  257. /package/chunks/{chunk-VXZBKKQR.js → chunk-NTTBXH7U.js} +0 -0
  258. /package/chunks/{chunk-GRC5HGPI.js → chunk-OIBUG24X.js} +0 -0
@@ -34,18 +34,25 @@ import {
34
34
  resolveAcpHttpEnabled,
35
35
  setDeferredRuntimeRequestTiming,
36
36
  toDaemonStatusMemoryLimits
37
- } from "./chunk-KAQCJO6Y.js";
37
+ } from "./chunk-KTKYGS2P.js";
38
+ import "./chunk-VGHZT6JR.js";
38
39
  import {
39
40
  isLoopbackBind
40
- } from "./chunk-RXFQM6FQ.js";
41
+ } from "./chunk-TQOF5KBL.js";
41
42
  import {
42
43
  formatMemoryBudgetStderr,
43
44
  resolveDaemonMemoryBudget
44
45
  } from "./chunk-HGCQ5SE7.js";
46
+ import {
47
+ resolveSessionRestoreTimeoutMs
48
+ } from "./chunk-4JRM2BSM.js";
45
49
  import {
46
50
  require_express,
47
51
  resolveWebShellDir
48
52
  } from "./chunk-GDXET5XU.js";
53
+ import {
54
+ resolveChannelCwd
55
+ } from "./chunk-67EWJE77.js";
49
56
  import {
50
57
  LIVE_HOST_PROTOCOL_VERSION
51
58
  } from "./chunk-NKLP3DCK.js";
@@ -60,29 +67,26 @@ import {
60
67
  import "./chunk-K6KS3LTN.js";
61
68
  import "./chunk-FC4KQFCS.js";
62
69
  import "./chunk-T3CHYWJZ.js";
63
- import {
64
- resolveChannelCwd
65
- } from "./chunk-KJZ26VBX.js";
66
70
  import {
67
71
  consumeServeFastPathRejectedLoaderKeys,
68
72
  loadServeFastPathSettings,
69
73
  preResolveServeFastPathHomeEnvOverrides
70
- } from "./chunk-4DU3NCHG.js";
74
+ } from "./chunk-YTFDX4PR.js";
71
75
  import {
72
76
  MAX_REGISTERED_WORKSPACES,
73
77
  resolveWorkspaceInputs,
74
78
  workspaceRegistrationId
75
- } from "./chunk-757GB46F.js";
76
- import "./chunk-TKSZJ5BV.js";
79
+ } from "./chunk-W3FSZSF2.js";
80
+ import "./chunk-AKJQSWV4.js";
77
81
  import {
78
82
  LOAD_REPLAY_META_KEY
79
83
  } from "./chunk-M2PNLYGY.js";
80
- import "./chunk-J26HHFI5.js";
84
+ import "./chunk-LP2QGNSP.js";
81
85
  import {
82
86
  canonicalizeWorkspace,
83
87
  translateAndCheckAbsoluteWorkspacePath
84
88
  } from "./chunk-6PLDPT2C.js";
85
- import "./chunk-KTJFU7RT.js";
89
+ import "./chunk-MFDYOYZZ.js";
86
90
  import "./chunk-FYJ7W2PI.js";
87
91
  import {
88
92
  ChannelDeliveryError,
@@ -93,23 +97,23 @@ import {
93
97
  import {
94
98
  normalizeWorkerDiagnostic,
95
99
  sanitizeWorkerDiagnostic
96
- } from "./chunk-UFALT4LK.js";
100
+ } from "./chunk-PBRVUF5B.js";
97
101
  import {
98
102
  channelSelectionNames
99
103
  } from "./chunk-ALMR3E6Q.js";
100
104
  import "./chunk-HIBNSEJE.js";
105
+ import "./chunk-M5GB774H.js";
101
106
  import {
102
107
  EXTERNAL_TOOL_GUARD_REQUIRED_VALUE,
103
108
  EXTERNAL_TOOL_GUARD_TOKEN_ENV,
104
109
  PRIVATE_EXTERNAL_TOOL_GUARD_ENV
105
110
  } from "./chunk-BKHCW2BI.js";
106
- import "./chunk-M5GB774H.js";
107
111
  import {
108
112
  MAX_DAEMON_WORKSPACES
109
113
  } from "./chunk-5HBA2Z7V.js";
110
114
  import {
111
115
  sanitizeLogText
112
- } from "./chunk-DIWZNWZT.js";
116
+ } from "./chunk-DX3RGJMS.js";
113
117
  import "./chunk-UDXSXLER.js";
114
118
  import "./chunk-GOXKNSDZ.js";
115
119
  import {
@@ -117,13 +121,14 @@ import {
117
121
  resolveConfigPathLite
118
122
  } from "./chunk-IDS7MSUP.js";
119
123
  import {
120
- scrubAndReportInheritedLoaderEnv,
124
+ acquireInheritedLoaderEnvScrub,
125
+ clearLoaderKeyRejectionReporterIfCurrent,
121
126
  scrubInheritedLoaderEnv,
122
127
  setLoaderKeyRejectionReporter
123
- } from "./chunk-UA5H3DS2.js";
128
+ } from "./chunk-VFMASYQA.js";
124
129
  import {
125
130
  getCliVersion
126
- } from "./chunk-FN6YXJOP.js";
131
+ } from "./chunk-IOEZE2YT.js";
127
132
  import "./chunk-VJNBRRZG.js";
128
133
  import "./chunk-NPQ5ZKRP.js";
129
134
  import {
@@ -2979,12 +2984,12 @@ var retryableChannelWorkerShutdownErrors = /* @__PURE__ */ new WeakSet();
2979
2984
  var channelWorkerRuntimePromise;
2980
2985
  async function loadChannelWorkerRuntime() {
2981
2986
  channelWorkerRuntimePromise ??= Promise.all([
2982
- import("./channel-worker-supervisor-5SRD24FG.js"),
2983
- import("./pidfile-KBFVDNQP.js"),
2984
- import("./runtime-ZED7CYOZ.js"),
2987
+ import("./channel-worker-supervisor-IVSDIMI4.js"),
2988
+ import("./pidfile-ZK4OLRZA.js"),
2989
+ import("./runtime-BZZ4LWCP.js"),
2985
2990
  import("./cli-entry-path-4VJ3Y6T2.js"),
2986
- import("./channel-worker-group-E67EN3RV.js"),
2987
- import("./channel-worker-manager-SW4C45CF.js")
2991
+ import("./channel-worker-group-MSHT6CWR.js"),
2992
+ import("./channel-worker-manager-XXD3GDSK.js")
2988
2993
  ]).then(
2989
2994
  ([
2990
2995
  supervisor,
@@ -3089,7 +3094,7 @@ function shouldPreheatBridge(deps) {
3089
3094
  __name(shouldPreheatBridge, "shouldPreheatBridge");
3090
3095
  var coreRuntimePromise;
3091
3096
  function loadCoreRuntime() {
3092
- coreRuntimePromise ??= import("./core-runtime-DIAU7JMG.js");
3097
+ coreRuntimePromise ??= import("./core-runtime-HRJI2MN6.js");
3093
3098
  return coreRuntimePromise;
3094
3099
  }
3095
3100
  __name(loadCoreRuntime, "loadCoreRuntime");
@@ -3125,10 +3130,10 @@ __name(resolveDaemonLogBaseDirForRun, "resolveDaemonLogBaseDirForRun");
3125
3130
  var settingsRuntimePromise;
3126
3131
  function loadSettingsRuntimeModules() {
3127
3132
  settingsRuntimePromise ??= Promise.all([
3128
- import("./settings-V7BR3RKP.js"),
3129
- import("./environment-NGOWPRZV.js"),
3130
- import("./loadedSettingsAdapter-FTMRCTOF.js"),
3131
- import("./trustedFolders-KZCOB53W.js")
3133
+ import("./settings-EQBUAQ7Y.js"),
3134
+ import("./environment-LXASZAHD.js"),
3135
+ import("./loadedSettingsAdapter-V2JCPCYD.js"),
3136
+ import("./trustedFolders-FRSLE674.js")
3132
3137
  ]).then(([settings, environment, loadedSettingsAdapter, trustedFolders]) => ({
3133
3138
  settings,
3134
3139
  environment,
@@ -3141,8 +3146,8 @@ __name(loadSettingsRuntimeModules, "loadSettingsRuntimeModules");
3141
3146
  var channelWebhookConfigRuntimePromise;
3142
3147
  function loadChannelWebhookConfigRuntime() {
3143
3148
  channelWebhookConfigRuntimePromise ??= Promise.all([
3144
- import("./runtime-ZED7CYOZ.js"),
3145
- import("./config-utils-XQHBJP7G.js")
3149
+ import("./runtime-BZZ4LWCP.js"),
3150
+ import("./config-utils-ULCSRMWD.js")
3146
3151
  ]).then(([channelRuntime, configUtils]) => ({
3147
3152
  loadChannelsConfig: channelRuntime.loadChannelsConfig,
3148
3153
  parseChannelWebhookConfig: configUtils.parseChannelWebhookConfig
@@ -3167,17 +3172,17 @@ async function loadServeRuntimeModules() {
3167
3172
  totalSessionAdmissionModule,
3168
3173
  workspaceRegistryModule
3169
3174
  ] = await Promise.all([
3170
- import("./server-OWMEMAKR.js"),
3171
- import("./bridge-JENKGFFP.js"),
3172
- import("./spawnChannel-N6KKUW5B.js"),
3175
+ import("./server-ADMLELR6.js"),
3176
+ import("./bridge-NQIZZLAS.js"),
3177
+ import("./spawnChannel-VS7ZFUFP.js"),
3173
3178
  import("./process-registry-PMJOA5CO.js"),
3174
- import("./workspace-service-PAMUKMAV.js"),
3175
- import("./types-ML3TRJQ5.js"),
3176
- import("./daemon-status-provider-H6O4UQ4F.js"),
3177
- import("./workspace-providers-status-NYHC7HSR.js"),
3178
- import("./workspace-skills-status-YQSHCCMS.js"),
3179
- import("./total-session-admission-D63QYXGO.js"),
3180
- import("./workspace-registry-CDAS5TVZ.js")
3179
+ import("./workspace-service-I5RUPSNV.js"),
3180
+ import("./types-WYCFCEHR.js"),
3181
+ import("./daemon-status-provider-N4CRQKFI.js"),
3182
+ import("./workspace-providers-status-OZTQ6JFH.js"),
3183
+ import("./workspace-skills-status-DMK6VYDO.js"),
3184
+ import("./total-session-admission-PAY5CH2Z.js"),
3185
+ import("./workspace-registry-73N4BGG4.js")
3181
3186
  ]);
3182
3187
  return {
3183
3188
  createServeApp: serverModule.createServeApp,
@@ -3267,7 +3272,8 @@ function createBootstrapCapabilities(input) {
3267
3272
  limits: {
3268
3273
  maxPendingPromptsPerSession: advertisedMaxPendingPromptsPerSession(
3269
3274
  input.opts.maxPendingPromptsPerSession
3270
- )
3275
+ ),
3276
+ sessionRestoreTimeoutMs: resolveSessionRestoreTimeoutMs(input.opts)
3271
3277
  }
3272
3278
  };
3273
3279
  }
@@ -3818,6 +3824,7 @@ async function runQwenServe(optsIn, deps = {}) {
3818
3824
  let daemonLog;
3819
3825
  let owner = "startup";
3820
3826
  let restoreScrubbedLoaderEnv;
3827
+ let installedLoaderRejectionReporter;
3821
3828
  try {
3822
3829
  return await runQwenServeImpl(optsIn, deps, {
3823
3830
  initialized: /* @__PURE__ */ __name((logger) => {
@@ -3831,11 +3838,16 @@ async function runQwenServe(optsIn, deps = {}) {
3831
3838
  }, "signalOwned"),
3832
3839
  scrubApplied: /* @__PURE__ */ __name((restore) => {
3833
3840
  restoreScrubbedLoaderEnv = restore;
3834
- }, "scrubApplied")
3841
+ }, "scrubApplied"),
3842
+ reporterInstalled: /* @__PURE__ */ __name((reporter) => {
3843
+ installedLoaderRejectionReporter = reporter;
3844
+ }, "reporterInstalled")
3835
3845
  });
3836
3846
  } catch (error) {
3837
- if (daemonLog) {
3838
- setLoaderKeyRejectionReporter(void 0);
3847
+ if (installedLoaderRejectionReporter) {
3848
+ clearLoaderKeyRejectionReporterIfCurrent(
3849
+ installedLoaderRejectionReporter
3850
+ );
3839
3851
  }
3840
3852
  if (daemonLog && owner === "startup") {
3841
3853
  const startupLog = daemonLog;
@@ -3873,7 +3885,6 @@ async function runQwenServeImpl(optsIn, deps, loggerLifecycle) {
3873
3885
  );
3874
3886
  }
3875
3887
  preResolveServeFastPathHomeEnvOverrides();
3876
- const launchEnv = { ...process.env };
3877
3888
  const baseEnv = {
3878
3889
  ...process.env,
3879
3890
  ...optsIn.memoryProjectScope !== void 0 ? {
@@ -3884,18 +3895,14 @@ async function runQwenServeImpl(optsIn, deps, loggerLifecycle) {
3884
3895
  scrubInheritedLoaderEnv(baseEnv);
3885
3896
  }
3886
3897
  const daemonRuntimeBaseEnv = Object.freeze(baseEnv);
3887
- const scrubbedLoaderEnvKeys = scrubAndReportInheritedLoaderEnv(
3898
+ const loaderEnvScrub = acquireInheritedLoaderEnvScrub(
3888
3899
  process.env,
3889
3900
  "qwen serve",
3890
3901
  "daemon"
3891
3902
  );
3903
+ const scrubbedLoaderEnvKeys = loaderEnvScrub.removedKeys;
3892
3904
  const restoreScrubbedLoaderEnv = /* @__PURE__ */ __name(() => {
3893
- for (const key of scrubbedLoaderEnvKeys) {
3894
- if (Object.hasOwn(process.env, key)) continue;
3895
- const value = launchEnv[key];
3896
- if (value === void 0) continue;
3897
- process.env[key] = value;
3898
- }
3905
+ loaderEnvScrub.release();
3899
3906
  }, "restoreScrubbedLoaderEnv");
3900
3907
  loggerLifecycle.scrubApplied(restoreScrubbedLoaderEnv);
3901
3908
  const rawToken = optsIn.token ?? process.env[QWEN_SERVER_TOKEN_ENV];
@@ -4072,7 +4079,7 @@ async function runQwenServeImpl(optsIn, deps, loggerLifecycle) {
4072
4079
  );
4073
4080
  }
4074
4081
  writeStderrLine(
4075
- `qwen serve: --allow-origin: ${opts.allowOrigins.join(", ")}` + (parsed.allowAny ? " (WARNING: `*` admits any cross-origin browser \u2014 bearer token gates API routes; /health and /demo remain pre-auth on loopback unless --require-auth is set)" : "")
4082
+ `qwen serve: --allow-origin: ${opts.allowOrigins.join(", ")}` + (parsed.allowAny ? " (WARNING: `*` admits any cross-origin browser \u2014 bearer token gates API routes; the Web Shell static assets stay pre-auth in every mode unless --no-web, and /health stays pre-auth on loopback unless --require-auth is set)" : "")
4076
4083
  );
4077
4084
  }
4078
4085
  if (opts.allowPrivateAuthBaseUrl) {
@@ -4131,7 +4138,7 @@ async function runQwenServeImpl(optsIn, deps, loggerLifecycle) {
4131
4138
  }
4132
4139
  let workspaceRegistrationStore = deps.workspaceRegistrationStore;
4133
4140
  if (workspaceRegistrationStore === void 0 && process.env["QWEN_SERVE_NO_PERSISTENT_REGISTRATION"] !== "1") {
4134
- const { WorkspaceRegistrationStore } = await import("./workspace-registration-store-AKEB7OMW.js");
4141
+ const { WorkspaceRegistrationStore } = await import("./workspace-registration-store-IX5RJQS5.js");
4135
4142
  workspaceRegistrationStore = new WorkspaceRegistrationStore(boundWorkspace);
4136
4143
  }
4137
4144
  if (workspaceRegistrationStore) {
@@ -4230,12 +4237,17 @@ async function runQwenServeImpl(optsIn, deps, loggerLifecycle) {
4230
4237
  baseDir: daemonLogBaseDir
4231
4238
  });
4232
4239
  loggerLifecycle.initialized(daemonLog);
4233
- setLoaderKeyRejectionReporter((source, freshKeys) => {
4240
+ const loaderRejectionReporter = /* @__PURE__ */ __name((source, freshKeys) => {
4234
4241
  daemonLog.warn(
4235
4242
  "rejected loader-affecting env keys; they were not applied",
4236
- { source, rejectedKeys: freshKeys }
4243
+ {
4244
+ source,
4245
+ rejectedKeys: freshKeys
4246
+ }
4237
4247
  );
4238
- });
4248
+ }, "loaderRejectionReporter");
4249
+ setLoaderKeyRejectionReporter(loaderRejectionReporter);
4250
+ loggerLifecycle.reporterInstalled(loaderRejectionReporter);
4239
4251
  if (scrubbedLoaderEnvKeys.length > 0) {
4240
4252
  daemonLog.info(
4241
4253
  "scrubbed inherited loader env vars from the daemon process; session subprocesses will not inherit them",
@@ -4347,6 +4359,8 @@ async function runQwenServeImpl(optsIn, deps, loggerLifecycle) {
4347
4359
  }
4348
4360
  assertTimerDelayInRange("initializeTimeoutMs", opts.initializeTimeoutMs);
4349
4361
  }
4362
+ const sessionRestoreTimeoutMs = resolveSessionRestoreTimeoutMs(opts);
4363
+ opts.sessionRestoreTimeoutMs = sessionRestoreTimeoutMs;
4350
4364
  if (opts.permissionResponseTimeoutMs !== void 0) {
4351
4365
  if (!Number.isFinite(opts.permissionResponseTimeoutMs) || !Number.isInteger(opts.permissionResponseTimeoutMs) || opts.permissionResponseTimeoutMs < 0) {
4352
4366
  throw new TypeError(
@@ -4689,7 +4703,7 @@ async function runQwenServeImpl(optsIn, deps, loggerLifecycle) {
4689
4703
  loadCoreRuntime(),
4690
4704
  loadSettingsRuntimeModules(),
4691
4705
  cliVersionPromise,
4692
- import("./daemon-trust-policy-BNUXG6MT.js")
4706
+ import("./daemon-trust-policy-BHO3JUHM.js")
4693
4707
  ]);
4694
4708
  cliVersion = resolvedCliVersion;
4695
4709
  settingsRuntime.environment.preResolveHomeEnvOverrides();
@@ -5061,7 +5075,7 @@ async function runQwenServeImpl(optsIn, deps, loggerLifecycle) {
5061
5075
  resolveSkillSettings,
5062
5076
  skillSettingStrings,
5063
5077
  updateWorkspaceSkillSettingLists
5064
- } = await import("./skill-settings-HWJLTU7M.js");
5078
+ } = await import("./skill-settings-T6MLB7NU.js");
5065
5079
  const fresh = loadSettingsForPersistence(workspace);
5066
5080
  const normalizedName = skillName.trim().toLowerCase();
5067
5081
  const resolved = resolveSkillSettings(fresh);
@@ -5120,6 +5134,77 @@ async function runQwenServeImpl(optsIn, deps, loggerLifecycle) {
5120
5134
  settingsChanges
5121
5135
  };
5122
5136
  }), "persistDisabledSkillsFn");
5137
+ const persistDisabledSkillsBatchFn = /* @__PURE__ */ __name((workspace, skillNames, enabled, assertGenerationOpen) => withSettingsLock(workspace, async () => {
5138
+ assertGenerationOpen?.();
5139
+ const {
5140
+ resolveSkillSettings,
5141
+ skillSettingStrings,
5142
+ updateWorkspaceSkillSettingLists
5143
+ } = await import("./skill-settings-T6MLB7NU.js");
5144
+ const fresh = loadSettingsForPersistence(workspace);
5145
+ const resolved = resolveSkillSettings(fresh);
5146
+ const initialDisabled = skillSettingStrings(
5147
+ fresh,
5148
+ WORKSPACE_SETTING_SCOPE,
5149
+ "disabled"
5150
+ );
5151
+ const initialEnabled = skillSettingStrings(
5152
+ fresh,
5153
+ WORKSPACE_SETTING_SCOPE,
5154
+ "enabled"
5155
+ );
5156
+ let next = { disabled: initialDisabled, enabled: initialEnabled };
5157
+ const outcomes = [];
5158
+ for (const skillName of skillNames) {
5159
+ const normalizedName = skillName.trim().toLowerCase();
5160
+ const disablement = resolved.disablements.get(normalizedName);
5161
+ if (disablement?.reason === "hard" && disablement.lockedScope) {
5162
+ outcomes.push({
5163
+ skillName,
5164
+ error: new runtime.WorkspaceSkillNotToggleableError(
5165
+ skillName,
5166
+ "locked",
5167
+ disablement.lockedScope
5168
+ )
5169
+ });
5170
+ continue;
5171
+ }
5172
+ const updated = updateWorkspaceSkillSettingLists(
5173
+ next,
5174
+ skillName,
5175
+ enabled,
5176
+ resolved.defaultDisabledNames.has(normalizedName) && !resolved.enabledNames.has(normalizedName)
5177
+ );
5178
+ const changed = JSON.stringify(updated.disabled) !== JSON.stringify(next.disabled) || JSON.stringify(updated.enabled) !== JSON.stringify(next.enabled);
5179
+ next = updated;
5180
+ outcomes.push({ skillName, changed });
5181
+ }
5182
+ const settingsChanges = [];
5183
+ if (JSON.stringify(next.disabled) !== JSON.stringify(initialDisabled)) {
5184
+ settingsChanges.push({
5185
+ key: "skills.disabled",
5186
+ value: next.disabled.length > 0 ? next.disabled : void 0
5187
+ });
5188
+ }
5189
+ if (JSON.stringify(next.enabled) !== JSON.stringify(initialEnabled)) {
5190
+ settingsChanges.push({
5191
+ key: "skills.enabled",
5192
+ value: next.enabled.length > 0 ? next.enabled : void 0
5193
+ });
5194
+ }
5195
+ if (settingsChanges.length > 0) {
5196
+ assertGenerationOpen?.();
5197
+ fresh.setValues(
5198
+ settingsChanges.map((change) => ({
5199
+ scope: WORKSPACE_SETTING_SCOPE,
5200
+ ...change
5201
+ })),
5202
+ void 0,
5203
+ assertGenerationOpen
5204
+ );
5205
+ }
5206
+ return { outcomes, settingsChanges };
5207
+ }), "persistDisabledSkillsBatchFn");
5123
5208
  const persistSettingFn = /* @__PURE__ */ __name((workspace, scope, key, value, assertGenerationOpen) => withSettingsLock(workspace, async () => {
5124
5209
  assertGenerationOpen?.();
5125
5210
  const fresh = loadSettingsForPersistence(workspace);
@@ -5160,7 +5245,7 @@ async function runQwenServeImpl(optsIn, deps, loggerLifecycle) {
5160
5245
  );
5161
5246
  }
5162
5247
  }), "persistSettingsFn");
5163
- const { createSubSessionLauncher } = await import("./create-sub-session-HDPD6HOA.js");
5248
+ const { createSubSessionLauncher } = await import("./create-sub-session-VBNVI4YU.js");
5164
5249
  const subSessionLauncher = createSubSessionLauncher({
5165
5250
  getBridge: /* @__PURE__ */ __name(() => bridgeRef, "getBridge"),
5166
5251
  boundWorkspace,
@@ -5195,6 +5280,7 @@ async function runQwenServeImpl(optsIn, deps, loggerLifecycle) {
5195
5280
  ...opts.maxJournalBytes !== void 0 ? { maxJournalBytes: opts.maxJournalBytes } : {},
5196
5281
  ...opts.channelIdleTimeoutMs !== void 0 ? { channelIdleTimeoutMs: opts.channelIdleTimeoutMs } : {},
5197
5282
  ...opts.initializeTimeoutMs !== void 0 ? { initializeTimeoutMs: opts.initializeTimeoutMs } : {},
5283
+ sessionRestoreTimeoutMs,
5198
5284
  ...opts.sessionReapIntervalMs !== void 0 ? { sessionReapIntervalMs: opts.sessionReapIntervalMs } : {},
5199
5285
  ...opts.sessionIdleTimeoutMs !== void 0 ? { sessionIdleTimeoutMs: opts.sessionIdleTimeoutMs } : {},
5200
5286
  ...opts.permissionResponseTimeoutMs !== void 0 ? { permissionResponseTimeoutMs: opts.permissionResponseTimeoutMs } : {},
@@ -5210,7 +5296,9 @@ async function runQwenServeImpl(optsIn, deps, loggerLifecycle) {
5210
5296
  permissionAudit: permissionAuditPublisher,
5211
5297
  statusProvider,
5212
5298
  delegateReadTextFileToClient: false,
5213
- fileSystem: createBridgeFileSystemAdapter(fsFactory),
5299
+ fileSystem: createBridgeFileSystemAdapter(fsFactory, {
5300
+ allowSameHostToolWritesOutsideWorkspace: deps.fsFactory === void 0
5301
+ }),
5214
5302
  persistApprovalMode: /* @__PURE__ */ __name((workspace, mode) => withSettingsLock(workspace, async () => {
5215
5303
  primaryGenerationGuard.assertOpen();
5216
5304
  if (!trustedWorkspace) {
@@ -5251,6 +5339,7 @@ async function runQwenServeImpl(optsIn, deps, loggerLifecycle) {
5251
5339
  isChannelLive: /* @__PURE__ */ __name(() => bridge.isChannelLive(), "isChannelLive"),
5252
5340
  persistDisabledTools: persistDisabledToolsFn,
5253
5341
  persistDisabledSkills: persistDisabledSkillsFn,
5342
+ persistDisabledSkillsBatch: persistDisabledSkillsBatchFn,
5254
5343
  persistSetting: persistSettingFn,
5255
5344
  persistSettings: persistSettingsFn,
5256
5345
  preheatAcpChild: /* @__PURE__ */ __name(() => bridge.preheat(), "preheatAcpChild"),
@@ -5498,6 +5587,7 @@ async function runQwenServeImpl(optsIn, deps, loggerLifecycle) {
5498
5587
  ...opts.maxJournalBytes !== void 0 ? { maxJournalBytes: opts.maxJournalBytes } : {},
5499
5588
  ...opts.channelIdleTimeoutMs !== void 0 ? { channelIdleTimeoutMs: opts.channelIdleTimeoutMs } : {},
5500
5589
  ...opts.initializeTimeoutMs !== void 0 ? { initializeTimeoutMs: opts.initializeTimeoutMs } : {},
5590
+ sessionRestoreTimeoutMs,
5501
5591
  ...opts.sessionReapIntervalMs !== void 0 ? { sessionReapIntervalMs: opts.sessionReapIntervalMs } : {},
5502
5592
  ...opts.sessionIdleTimeoutMs !== void 0 ? { sessionIdleTimeoutMs: opts.sessionIdleTimeoutMs } : {},
5503
5593
  ...opts.permissionResponseTimeoutMs !== void 0 ? { permissionResponseTimeoutMs: opts.permissionResponseTimeoutMs } : {},
@@ -5515,7 +5605,9 @@ async function runQwenServeImpl(optsIn, deps, loggerLifecycle) {
5515
5605
  permissionAudit: permissionAuditPublisher,
5516
5606
  statusProvider: secondaryStatusProvider,
5517
5607
  delegateReadTextFileToClient: false,
5518
- fileSystem: createBridgeFileSystemAdapter(secondaryBridgeFsFactory),
5608
+ fileSystem: createBridgeFileSystemAdapter(secondaryBridgeFsFactory, {
5609
+ allowSameHostToolWritesOutsideWorkspace: true
5610
+ }),
5519
5611
  persistApprovalMode: /* @__PURE__ */ __name((workspace, mode) => withSettingsLock(workspace, async () => {
5520
5612
  secondaryGenerationGuard.assertOpen();
5521
5613
  if (!secondaryTrusted) {
@@ -5560,6 +5652,7 @@ async function runQwenServeImpl(optsIn, deps, loggerLifecycle) {
5560
5652
  preheatAcpChild: /* @__PURE__ */ __name(() => secondaryBridge.preheat(), "preheatAcpChild"),
5561
5653
  persistDisabledTools: persistDisabledToolsFn,
5562
5654
  persistDisabledSkills: persistDisabledSkillsFn,
5655
+ persistDisabledSkillsBatch: persistDisabledSkillsBatchFn,
5563
5656
  persistSetting: persistSettingFn,
5564
5657
  persistSettings: persistSettingsFn,
5565
5658
  reloadDaemonEnv: /* @__PURE__ */ __name((workspace, assertGenerationOpen) => withSettingsLock(workspace, async () => {
@@ -5858,6 +5951,7 @@ async function runQwenServeImpl(optsIn, deps, loggerLifecycle) {
5858
5951
  ...opts.maxJournalBytes !== void 0 ? { maxJournalBytes: opts.maxJournalBytes } : {},
5859
5952
  ...opts.channelIdleTimeoutMs !== void 0 ? { channelIdleTimeoutMs: opts.channelIdleTimeoutMs } : {},
5860
5953
  ...opts.initializeTimeoutMs !== void 0 ? { initializeTimeoutMs: opts.initializeTimeoutMs } : {},
5954
+ sessionRestoreTimeoutMs,
5861
5955
  ...opts.sessionReapIntervalMs !== void 0 ? { sessionReapIntervalMs: opts.sessionReapIntervalMs } : {},
5862
5956
  ...opts.sessionIdleTimeoutMs !== void 0 ? { sessionIdleTimeoutMs: opts.sessionIdleTimeoutMs } : {},
5863
5957
  ...opts.permissionResponseTimeoutMs !== void 0 ? { permissionResponseTimeoutMs: opts.permissionResponseTimeoutMs } : {},
@@ -5877,7 +5971,9 @@ async function runQwenServeImpl(optsIn, deps, loggerLifecycle) {
5877
5971
  env: wsEnv.effectiveEnv
5878
5972
  }),
5879
5973
  delegateReadTextFileToClient: false,
5880
- fileSystem: createBridgeFileSystemAdapter(wsFsFactory),
5974
+ fileSystem: createBridgeFileSystemAdapter(wsFsFactory, {
5975
+ allowSameHostToolWritesOutsideWorkspace: true
5976
+ }),
5881
5977
  persistApprovalMode: /* @__PURE__ */ __name((workspace, mode) => withSettingsLock(workspace, async () => {
5882
5978
  generationGuard.assertOpen();
5883
5979
  if (!trusted) {
@@ -5927,6 +6023,7 @@ async function runQwenServeImpl(optsIn, deps, loggerLifecycle) {
5927
6023
  preheatAcpChild: /* @__PURE__ */ __name(() => wsBridge.preheat(), "preheatAcpChild"),
5928
6024
  persistDisabledTools: persistDisabledToolsFn,
5929
6025
  persistDisabledSkills: persistDisabledSkillsFn,
6026
+ persistDisabledSkillsBatch: persistDisabledSkillsBatchFn,
5930
6027
  persistSetting: persistSettingFn,
5931
6028
  persistSettings: persistSettingsFn,
5932
6029
  reloadDaemonEnv: /* @__PURE__ */ __name((workspace, assertGenerationOpen) => withSettingsLock(workspace, async () => {
@@ -6306,8 +6403,8 @@ async function runQwenServeImpl(optsIn, deps, loggerLifecycle) {
6306
6403
  { createChannelManagementService },
6307
6404
  { WorkspaceChannelSettingsStore }
6308
6405
  ] = await Promise.all([
6309
- import("./channel-management-service-DDWUPHMU.js"),
6310
- import("./channel-settings-store-SA6JZSPH.js")
6406
+ import("./channel-management-service-PHELKOW2.js"),
6407
+ import("./channel-settings-store-VIY2OENO.js")
6311
6408
  ]);
6312
6409
  return createChannelManagementService({
6313
6410
  workspaceCwd: targetRuntime.workspaceCwd,
@@ -6362,6 +6459,7 @@ async function runQwenServeImpl(optsIn, deps, loggerLifecycle) {
6362
6459
  }, "validateWorkspaceRuntimeForPublication");
6363
6460
  const app2 = runtime.createServeApp(opts, () => actualPort, {
6364
6461
  workspaceRegistry,
6462
+ getSessionBridges: /* @__PURE__ */ __name(() => runtimeBridges, "getSessionBridges"),
6365
6463
  createWorkspaceRuntime: createDynamicWorkspaceRuntime,
6366
6464
  ...workspaceTrustHotReloadAvailable ? {
6367
6465
  validateWorkspaceRuntimeForPublication,
@@ -6448,6 +6546,7 @@ async function runQwenServeImpl(optsIn, deps, loggerLifecycle) {
6448
6546
  clientMcpSenderRegistry,
6449
6547
  persistDisabledTools: persistDisabledToolsFn,
6450
6548
  persistDisabledSkills: persistDisabledSkillsFn,
6549
+ persistDisabledSkillsBatch: persistDisabledSkillsBatchFn,
6451
6550
  persistSetting: persistSettingFn,
6452
6551
  persistSettings: persistSettingsFn,
6453
6552
  sessionArtifactsPersistenceAvailable: sessionArtifactsPersistenceAvailableFromSettings(
@@ -6506,8 +6605,8 @@ async function runQwenServeImpl(optsIn, deps, loggerLifecycle) {
6506
6605
  { createWorkspaceTrustReconciler },
6507
6606
  { createDaemonTrustPolicyMonitor }
6508
6607
  ] = await Promise.all([
6509
- import("./workspace-trust-reconciler-RPTXOIY2.js"),
6510
- import("./daemon-trust-policy-monitor-E4EQ7GF4.js")
6608
+ import("./workspace-trust-reconciler-QX4RL3TC.js"),
6609
+ import("./daemon-trust-policy-monitor-YEKJ2726.js")
6511
6610
  ]);
6512
6611
  const materializationFor = /* @__PURE__ */ __name((entry, snapshot, decision) => {
6513
6612
  const boundWorkspaces2 = entry.primary && decision.targetTrusted ? runtime.resolveBoundWorkspacesFromIdeEnv(
@@ -6722,7 +6821,7 @@ async function runQwenServeImpl(optsIn, deps, loggerLifecycle) {
6722
6821
  );
6723
6822
  }
6724
6823
  const channelValidationSettingsRuntime = opts.channelSelection ? await loadSettingsRuntimeModules() : void 0;
6725
- const channelValidationTrustPolicy = opts.channelSelection ? await import("./daemon-trust-policy-BNUXG6MT.js") : void 0;
6824
+ const channelValidationTrustPolicy = opts.channelSelection ? await import("./daemon-trust-policy-BHO3JUHM.js") : void 0;
6726
6825
  const channelValidationTrustSnapshot = channelValidationTrustPolicy ? await channelValidationTrustPolicy.readDaemonTrustPolicySnapshot() : void 0;
6727
6826
  const resolveChannelWorkspaceGroupsAtListen = /* @__PURE__ */ __name(() => {
6728
6827
  if (!opts.channelSelection || !channelValidationSettingsRuntime || !channelRuntime) {
@@ -7553,7 +7652,9 @@ async function runQwenServeImpl(optsIn, deps, loggerLifecycle) {
7553
7652
  daemonLog.info("daemon stopped");
7554
7653
  }
7555
7654
  });
7556
- setLoaderKeyRejectionReporter(void 0);
7655
+ clearLoaderKeyRejectionReporterIfCurrent(
7656
+ loaderRejectionReporter
7657
+ );
7557
7658
  await daemonLog.close();
7558
7659
  }
7559
7660
  restoreScrubbedLoaderEnv();
@@ -7786,7 +7887,7 @@ async function runQwenServeImpl(optsIn, deps, loggerLifecycle) {
7786
7887
  server.once("error", (err) => {
7787
7888
  server.close();
7788
7889
  const nextPort = attemptPort + 1;
7789
- if (err.code === "EADDRINUSE" && opts.port !== 0 && nextPort <= 65535 && attempt < MAX_PORT_ATTEMPTS - 1) {
7890
+ if (err.code === "EADDRINUSE" && opts.strictPort !== true && opts.port !== 0 && nextPort <= 65535 && attempt < MAX_PORT_ATTEMPTS - 1) {
7790
7891
  writeStderrLine(
7791
7892
  `qwen serve: port ${attemptPort} is in use, trying ${nextPort}...`
7792
7893
  );
@@ -17,26 +17,28 @@ import {
17
17
  resolveExtensionChannelEntrySpecifier,
18
18
  selectFirstModel,
19
19
  sessionsPath
20
- } from "./chunk-E4ZBKMSF.js";
21
- import "./chunk-QQWD7LZV.js";
20
+ } from "./chunk-ATMO54WE.js";
21
+ import "./chunk-HADWBW5R.js";
22
22
  import "./chunk-57OAHC2Y.js";
23
- import "./chunk-QXVSWG66.js";
24
- import "./chunk-KJZ26VBX.js";
25
- import "./chunk-NGYI5EF5.js";
23
+ import "./chunk-LHEC5V6G.js";
24
+ import "./chunk-67EWJE77.js";
25
+ import "./chunk-E2FPSSKP.js";
26
26
  import "./chunk-V6WHFGST.js";
27
- import "./chunk-DIWZNWZT.js";
27
+ import "./chunk-DX3RGJMS.js";
28
28
  import "./chunk-UDXSXLER.js";
29
- import "./chunk-OHKJVAKG.js";
29
+ import "./chunk-JUWS2Z5K.js";
30
+ import "./chunk-7GOYZQPR.js";
30
31
  import "./chunk-RKUWKYED.js";
31
32
  import "./chunk-GOXKNSDZ.js";
32
33
  import "./chunk-IDS7MSUP.js";
33
- import "./chunk-PG62DFWD.js";
34
- import "./chunk-B52AWKBB.js";
35
- import "./chunk-UA5H3DS2.js";
36
- import "./chunk-HA3SAB64.js";
34
+ import "./chunk-WP5VOXF7.js";
35
+ import "./chunk-5EJZE3FP.js";
36
+ import "./chunk-T6HEQR2Q.js";
37
+ import "./chunk-VFMASYQA.js";
38
+ import "./chunk-ZOSTTOUJ.js";
37
39
  import "./chunk-NPQ5ZKRP.js";
38
40
  import "./chunk-MR3PXB6E.js";
39
- import "./chunk-GXSNGY5M.js";
41
+ import "./chunk-XX7QFP34.js";
40
42
  import "./chunk-GOFAQQZA.js";
41
43
  import "./chunk-5M6IDOMF.js";
42
44
  import "./chunk-TWPJO254.js";
@@ -46,7 +48,7 @@ import "./chunk-MVUQRLOH.js";
46
48
  import "./chunk-XCWO3SMQ.js";
47
49
  import "./chunk-7MH4J33A.js";
48
50
  import "./chunk-6PVPNMXU.js";
49
- import "./chunk-VXZ5HAOV.js";
51
+ import "./chunk-K4ADGWHU.js";
50
52
  import "./chunk-IRH27ZC2.js";
51
53
  import "./chunk-QHWCP53L.js";
52
54
  import "./chunk-GNPNYXJB.js";
@@ -62,8 +64,8 @@ import "./chunk-SEZ556DZ.js";
62
64
  import "./chunk-2FRY5CRX.js";
63
65
  import "./chunk-67N6HB5H.js";
64
66
  import "./chunk-WAUGQKUU.js";
65
- import "./chunk-PLFATELK.js";
66
- import "./chunk-L4N6TIP7.js";
67
+ import "./chunk-DZUO626D.js";
68
+ import "./chunk-4TRQPFDP.js";
67
69
  import "./chunk-SAH4BD2J.js";
68
70
  import "./chunk-CPG6P4GG.js";
69
71
  import "./chunk-S6LOFUVP.js";
@@ -85,23 +87,23 @@ import "./chunk-AXMWHKXA.js";
85
87
  import "./chunk-GLCZKT5V.js";
86
88
  import "./chunk-DJ2GSRLV.js";
87
89
  import "./chunk-EI3HZX6C.js";
88
- import "./chunk-3PY4LPJF.js";
90
+ import "./chunk-YGT2AUJ7.js";
89
91
  import "./chunk-WOJZWRAZ.js";
90
92
  import "./chunk-VGC4I5JJ.js";
91
93
  import "./chunk-FVKHVJZQ.js";
92
94
  import "./chunk-COBO5EBO.js";
93
95
  import "./chunk-6ZRFAKXK.js";
94
96
  import "./chunk-PYQADEFD.js";
95
- import "./chunk-M3STHEMM.js";
97
+ import "./chunk-PVOGHGSF.js";
96
98
  import "./chunk-F6WFNA7U.js";
97
99
  import "./chunk-46UV252V.js";
98
100
  import "./chunk-ZBVS26BY.js";
99
101
  import "./chunk-KKBPOU75.js";
100
102
  import "./chunk-EUNWC2VS.js";
101
103
  import "./chunk-FOGU3LJX.js";
102
- import "./chunk-6M26GBKX.js";
104
+ import "./chunk-L2AFWWJE.js";
103
105
  import "./chunk-W4RQUHY3.js";
104
- import "./chunk-LKRMNRSN.js";
106
+ import "./chunk-PDPFQ2FO.js";
105
107
  import "./chunk-OIVKILPI.js";
106
108
  import "./chunk-VOQXFAY5.js";
107
109
  import "./chunk-KGJGEEVR.js";