@qwen-code/qwen-code 0.22.1 → 0.22.2-nightly.20260828.7357136dd1

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 (418) hide show
  1. package/bundled/goal-draft/SKILL.md +109 -0
  2. package/bundled/qc-helper/docs/configuration/settings.md +13 -13
  3. package/bundled/qc-helper/docs/features/_meta.ts +1 -0
  4. package/bundled/qc-helper/docs/features/channels/overview.md +34 -3
  5. package/bundled/qc-helper/docs/features/code-review.md +3 -3
  6. package/bundled/qc-helper/docs/features/commands.md +2 -1
  7. package/bundled/qc-helper/docs/features/goals.md +58 -0
  8. package/bundled/qc-helper/docs/features/headless.md +13 -11
  9. package/bundled/qc-helper/docs/features/status-line.md +3 -3
  10. package/bundled/review/SKILL.md +70 -22
  11. package/bundled/review/references/persistence.md +7 -3
  12. package/bundled/review/references/posting.md +2 -0
  13. package/chunks/MaxSizedBox-LMWXCLDV.js +110 -0
  14. package/chunks/{StandaloneSessionPicker-XF2TVJFK.js → StandaloneSessionPicker-W3F7U3JL.js} +79 -81
  15. package/chunks/{acpAgent-GY53MJIW.js → acpAgent-EYZ6EEHD.js} +1132 -339
  16. package/chunks/{agent-7U6CC5KF.js → agent-RBLGBY65.js} +44 -46
  17. package/chunks/agent-headless-L5T4Y4OZ.js +85 -0
  18. package/chunks/{anthropicContentGenerator-U76GTVB6.js → anthropicContentGenerator-GMHML35Q.js} +10 -11
  19. package/chunks/{artifact-tool-XDJCZZCF.js → artifact-tool-XSMPHZBT.js} +11 -3
  20. package/chunks/{askUserQuestion-ZXXERLEV.js → askUserQuestion-4SWJY65V.js} +2 -2
  21. package/chunks/bridge-5LR2F2ND.js +119 -0
  22. package/chunks/{channel-management-service-HXXS3HOZ.js → channel-management-service-KHR3N6CH.js} +6 -6
  23. package/chunks/channel-settings-store-4FOAZW72.js +120 -0
  24. package/chunks/{channel-worker-group-EVDC2P4K.js → channel-worker-group-6NA6BBZV.js} +8 -7
  25. package/chunks/{channel-worker-manager-IJJZHGEI.js → channel-worker-manager-NEZ2J6RK.js} +10 -8
  26. package/chunks/{channel-worker-supervisor-YSKB5GVB.js → channel-worker-supervisor-FKU7DIHJ.js} +6 -5
  27. package/chunks/{chunk-7QGEJI7M.js → chunk-23RFD54N.js} +1 -1
  28. package/chunks/{chunk-LJP2BBMK.js → chunk-2SXSLSQE.js} +4 -4
  29. package/chunks/chunk-2TNL5KPM.js +49 -0
  30. package/chunks/chunk-335CJSNF.js +2320 -0
  31. package/chunks/chunk-36LGBEM6.js +130 -0
  32. package/chunks/{chunk-ZWKGZB2K.js → chunk-3JXM2CVW.js} +3 -3
  33. package/chunks/{chunk-ICWGPK23.js → chunk-3K6TUZHS.js} +7 -7
  34. package/chunks/{chunk-43C2II2G.js → chunk-3OOXT6CR.js} +5 -5
  35. package/chunks/{chunk-ILPXSKGQ.js → chunk-3WK3QDNV.js} +2 -2
  36. package/chunks/{chunk-2YDYDDE2.js → chunk-3XOKEVII.js} +3 -3
  37. package/chunks/chunk-3Y34Q3JV.js +1584 -0
  38. package/chunks/{chunk-ZLTEQYNC.js → chunk-42IDLQWS.js} +26 -20
  39. package/chunks/{chunk-5MK32KJV.js → chunk-454XFGH4.js} +3 -3
  40. package/chunks/chunk-4CMJKUND.js +95 -0
  41. package/chunks/{chunk-77TOMRBG.js → chunk-4K7KNVWH.js} +3 -3
  42. package/chunks/{chunk-V3GINY6K.js → chunk-4QHPPXK2.js} +16 -8
  43. package/chunks/{chunk-UCSV2IZW.js → chunk-62GQFYID.js} +3 -3
  44. package/chunks/{chunk-SLEWBQWM.js → chunk-6DIGWMGT.js} +2 -2
  45. package/chunks/{chunk-I6YW3T3W.js → chunk-6JCGO55P.js} +723 -3399
  46. package/chunks/{chunk-PVBT5QPD.js → chunk-6PJOTWAN.js} +1 -1
  47. package/chunks/{chunk-5Y2JCJAH.js → chunk-6W2IK5KC.js} +956 -17
  48. package/chunks/{chunk-A7X32SCT.js → chunk-6ZZBRRKQ.js} +5 -5
  49. package/chunks/{chunk-ELY4QVIB.js → chunk-7EQQR46F.js} +1 -1
  50. package/chunks/{chunk-4DCP3362.js → chunk-7GWQW5ID.js} +4 -4
  51. package/chunks/chunk-7J6OTNGO.js +424 -0
  52. package/chunks/{chunk-CITGRGCM.js → chunk-7TUBJBBJ.js} +4 -1
  53. package/chunks/{chunk-L436XFLJ.js → chunk-7VD6IPQM.js} +1 -1
  54. package/chunks/{chunk-E4I5MVBR.js → chunk-ABS25QER.js} +1 -1
  55. package/chunks/{chunk-2ZV3CZKI.js → chunk-AJGR6E6Z.js} +49 -32
  56. package/chunks/{chunk-HJOWQUE2.js → chunk-AU3MMVJF.js} +31 -14
  57. package/chunks/{chunk-I32QCIK7.js → chunk-AXC26UCQ.js} +1 -1
  58. package/chunks/{chunk-7AS7QX72.js → chunk-AY3BNYEQ.js} +1 -1
  59. package/chunks/{chunk-FVDQ5E67.js → chunk-B466ZSHZ.js} +3 -3
  60. package/chunks/{chunk-OI2DR6QB.js → chunk-B5OUL5EL.js} +2 -2
  61. package/chunks/{chunk-6US7BF3G.js → chunk-B5PHIJGI.js} +183 -5
  62. package/chunks/{chunk-5T4LWWNX.js → chunk-B7CDU2SL.js} +2 -2
  63. package/chunks/{chunk-4TPAG3O7.js → chunk-BFPESSTR.js} +1 -1
  64. package/chunks/{chunk-WBT3STGU.js → chunk-BKWNKLZB.js} +20 -20
  65. package/chunks/{chunk-73WFGVIZ.js → chunk-BOWFGCEU.js} +3 -3
  66. package/chunks/{chunk-EMGAVCBZ.js → chunk-BPAKYXQ3.js} +2 -2
  67. package/chunks/{chunk-IPQA4SR5.js → chunk-BWORX6FA.js} +1 -1
  68. package/chunks/{chunk-BKDAF7ES.js → chunk-BXDAPVQU.js} +2 -2
  69. package/chunks/{chunk-ZEADBZLO.js → chunk-C2X7KY45.js} +3 -3
  70. package/chunks/{chunk-T2HMXHYA.js → chunk-C3KURPP7.js} +6 -6
  71. package/chunks/{chunk-JUIJ3FXC.js → chunk-CAJTKR6W.js} +5 -5
  72. package/chunks/{chunk-2FN2HNTI.js → chunk-CFJY4DGX.js} +2 -2
  73. package/chunks/{chunk-DP7LABIB.js → chunk-CMHFCLBU.js} +1 -1
  74. package/chunks/{chunk-LRKMQPMD.js → chunk-CQH5KTKC.js} +1 -1
  75. package/chunks/{chunk-J7MLXFC5.js → chunk-CRKKHXTI.js} +185 -174
  76. package/chunks/{chunk-XNXWEGKB.js → chunk-CYAUBK46.js} +3 -3
  77. package/chunks/{chunk-JECO75XD.js → chunk-D5LUXLUH.js} +2 -2
  78. package/chunks/{chunk-SRGENTPF.js → chunk-DFDWJE6Z.js} +48 -31
  79. package/chunks/chunk-DJBQCO2E.js +842 -0
  80. package/chunks/{chunk-2CRNTW2B.js → chunk-DP4MWIM3.js} +2 -2
  81. package/chunks/{chunk-EB4VDXNI.js → chunk-DYXFD5RO.js} +182 -3
  82. package/chunks/{chunk-ODXCSIH5.js → chunk-E3XVSVKK.js} +26 -4
  83. package/chunks/{chunk-ZKAZP2ZG.js → chunk-EB6QRGHM.js} +3 -3
  84. package/chunks/{chunk-GNRVKN76.js → chunk-EKNBU2X7.js} +4 -4
  85. package/chunks/{chunk-3UZCLCXR.js → chunk-EKSCLBBF.js} +3 -3
  86. package/chunks/{chunk-624NHDGB.js → chunk-ERFDKH32.js} +11 -0
  87. package/chunks/chunk-EW5VVLJT.js +3525 -0
  88. package/chunks/{chunk-XYX474JQ.js → chunk-EWIQ3NAE.js} +2522 -2030
  89. package/chunks/{chunk-O5YGAEQS.js → chunk-FALBWZF4.js} +6 -6
  90. package/chunks/{chunk-GZJUCMH4.js → chunk-FEHMA4RO.js} +542 -654
  91. package/chunks/{chunk-2YEZNBSD.js → chunk-FMFBLTLY.js} +320 -86
  92. package/chunks/{chunk-MZS7GEC7.js → chunk-FTF2YIZ5.js} +1 -1
  93. package/chunks/{chunk-ZJG323IA.js → chunk-G6FECKTJ.js} +7 -5
  94. package/chunks/{chunk-6KS24S3X.js → chunk-GGNE3JAW.js} +1 -1
  95. package/chunks/{chunk-BQBUZDDH.js → chunk-H33EQVMG.js} +4 -4
  96. package/chunks/chunk-H72BQNM3.js +645 -0
  97. package/chunks/{chunk-5ZYZPDDF.js → chunk-HGIMWQVT.js} +30 -25
  98. package/chunks/{chunk-DCSAVGDJ.js → chunk-HOCJDUFY.js} +2 -2
  99. package/chunks/{chunk-MDZO5V2O.js → chunk-HPXV655A.js} +9 -7
  100. package/chunks/{chunk-7JPW6IYH.js → chunk-HVC3PNVC.js} +1 -1
  101. package/chunks/{chunk-2MHGD7EE.js → chunk-HYDJDQGJ.js} +1 -1
  102. package/chunks/{chunk-BDHLBR46.js → chunk-IB7FQJRY.js} +34 -11
  103. package/chunks/{chunk-E55H6BZ7.js → chunk-ICURCKIU.js} +1335 -119
  104. package/chunks/{chunk-PAJGKZAA.js → chunk-ISKH4QX3.js} +14 -12
  105. package/chunks/{chunk-3B5DCAQU.js → chunk-J6S24ZJE.js} +34 -34
  106. package/chunks/{chunk-AYVIGUUK.js → chunk-JB4JIVTJ.js} +1 -1
  107. package/chunks/{chunk-C4WBKZJT.js → chunk-JN4IWWMN.js} +4 -4
  108. package/chunks/{chunk-6HTMIKXZ.js → chunk-JUUBLSZU.js} +4 -4
  109. package/chunks/{chunk-T6OODF2U.js → chunk-JWALNCLT.js} +1 -1
  110. package/chunks/{chunk-SKNVVYIJ.js → chunk-K5KXUXWC.js} +3 -3
  111. package/chunks/{chunk-IRIX323G.js → chunk-KTJFDCX4.js} +2 -2
  112. package/chunks/{chunk-FK4H3V6S.js → chunk-LEFCFTEX.js} +6 -6
  113. package/chunks/{chunk-OQ6LTSX3.js → chunk-LEGTMYAE.js} +1 -1
  114. package/chunks/{chunk-NY3IJYAV.js → chunk-LLZA2IK3.js} +15 -9
  115. package/chunks/{chunk-5CI4AXDD.js → chunk-LNETQKBE.js} +4 -4
  116. package/chunks/{chunk-TOF4UZHH.js → chunk-LUEHOUHM.js} +3 -3
  117. package/chunks/{chunk-62PXFOK4.js → chunk-LVPZO674.js} +4 -4
  118. package/chunks/{chunk-EEQYTWGU.js → chunk-M4ORUPYI.js} +5 -5
  119. package/chunks/{chunk-GNMJNDZE.js → chunk-M6FOJXW3.js} +1 -1
  120. package/chunks/{chunk-MYLXL7F6.js → chunk-MAYHGRP4.js} +9 -9
  121. package/chunks/{chunk-K3LPAED5.js → chunk-MQM5PJML.js} +24 -4
  122. package/chunks/{chunk-SM7ZVKTF.js → chunk-MTJN7FOT.js} +7 -7
  123. package/chunks/{chunk-BGXZBI5B.js → chunk-N4X7G4J2.js} +2 -1
  124. package/chunks/{chunk-27ONXAFY.js → chunk-NIFYWDYN.js} +1 -1
  125. package/chunks/{chunk-IJVDHPKD.js → chunk-NU7RKEZR.js} +2 -2
  126. package/chunks/{chunk-R2ZJH3FV.js → chunk-NXMBRVMQ.js} +3 -3
  127. package/chunks/{chunk-JLGFGPZJ.js → chunk-OI4NY7RA.js} +2 -2
  128. package/chunks/{chunk-RRKNX553.js → chunk-PDQGMSZK.js} +1 -1
  129. package/chunks/{chunk-GTUKW3I6.js → chunk-PPKZ7JOE.js} +1 -1
  130. package/chunks/{chunk-SAH4BD2J.js → chunk-PQEISIKS.js} +67 -0
  131. package/chunks/{chunk-MW5AHWOZ.js → chunk-PWIGAMA4.js} +93 -14
  132. package/chunks/{chunk-WEGXPP5E.js → chunk-QFCDF5PL.js} +1 -1
  133. package/chunks/{chunk-EAV3TENS.js → chunk-QPTRRPZU.js} +44 -7
  134. package/chunks/{chunk-SQPOJ4ZI.js → chunk-RFI4YGMR.js} +21 -266
  135. package/chunks/{chunk-JVPFTDBK.js → chunk-RFIDDFAL.js} +1 -1
  136. package/chunks/chunk-RKFGE7JH.js +93 -0
  137. package/chunks/chunk-RNVFRIOO.js +275 -0
  138. package/chunks/{chunk-CPPYZHBN.js → chunk-RU7BK6B3.js} +1 -1
  139. package/chunks/{chunk-OT26ITEY.js → chunk-RVXDXY6I.js} +3 -3
  140. package/chunks/{chunk-W2WRNJKX.js → chunk-RWZB422L.js} +5 -5
  141. package/chunks/{chunk-6YAR6ZU3.js → chunk-RYNZQGXN.js} +19 -2
  142. package/chunks/{chunk-EKP3M4RF.js → chunk-SJ5ERAW3.js} +1 -1
  143. package/chunks/{chunk-DEYPMJPD.js → chunk-SMPR7SPO.js} +1 -1
  144. package/chunks/{chunk-3BV7TZNQ.js → chunk-SRZZY4IY.js} +3 -3
  145. package/chunks/{chunk-7CWEZQ6T.js → chunk-STUJ7IMZ.js} +0 -77
  146. package/chunks/{chunk-TKO4TLT6.js → chunk-SUX7HDNA.js} +3 -3
  147. package/chunks/{chunk-76WGY6LW.js → chunk-SVNO44PF.js} +3 -3
  148. package/chunks/{chunk-UX3IFLJM.js → chunk-SZLBBZH4.js} +150 -23
  149. package/chunks/{chunk-K63NK3KL.js → chunk-T2NKRHZZ.js} +13 -13
  150. package/chunks/{chunk-4K7NQDCG.js → chunk-T4EFG2P5.js} +18 -9
  151. package/chunks/{chunk-2NCVUT3C.js → chunk-TLHUNMO7.js} +4 -4
  152. package/chunks/{chunk-EC5BONC3.js → chunk-TPI7O7HR.js} +1 -1
  153. package/chunks/{chunk-ZXDM7DYV.js → chunk-TQHGJYR3.js} +2029 -616
  154. package/chunks/{chunk-T2CRBIDJ.js → chunk-TTX2JUE6.js} +1 -1
  155. package/chunks/{chunk-OX44MOAN.js → chunk-TW3E6YNO.js} +3 -3
  156. package/chunks/chunk-U54AYGEC.js +337 -0
  157. package/chunks/{chunk-2NNTE2ED.js → chunk-UHQFIS7N.js} +15 -0
  158. package/chunks/{chunk-KOJ6MHD5.js → chunk-UTLCH2FK.js} +1 -1
  159. package/chunks/{chunk-KCOXDRQL.js → chunk-UY3PBNY3.js} +17 -29
  160. package/chunks/{chunk-7DPKPBOQ.js → chunk-V2NDP3I4.js} +2 -2
  161. package/chunks/{chunk-47SIHHPL.js → chunk-V2QDDC5J.js} +19 -9
  162. package/chunks/{chunk-BVE5EMIG.js → chunk-V5J4J5TP.js} +2 -2
  163. package/chunks/{chunk-X2UOOG5V.js → chunk-VQUGEVGR.js} +1 -1
  164. package/chunks/{chunk-XJS54K4A.js → chunk-VTHREBQM.js} +2 -2
  165. package/chunks/{chunk-VMDURMFY.js → chunk-W6DUQ5GA.js} +11307 -10424
  166. package/chunks/{chunk-BX2BZPFJ.js → chunk-WALC5VJH.js} +4 -4
  167. package/chunks/{chunk-FPH6TXD3.js → chunk-WAOIHTJS.js} +1 -1
  168. package/chunks/{chunk-LI2HEMKO.js → chunk-WBHKK3CU.js} +4 -4
  169. package/chunks/{chunk-O3BUXIPM.js → chunk-WXEA74YB.js} +3 -3
  170. package/chunks/{chunk-NER3H7PI.js → chunk-X3ZRTCJD.js} +1 -1
  171. package/chunks/{chunk-YRLW2MSX.js → chunk-XBVNNDPK.js} +11 -4
  172. package/chunks/{chunk-VL4YX3FH.js → chunk-XF63PKEN.js} +1 -1
  173. package/chunks/{chunk-FN5C6C7G.js → chunk-XLLQJRAH.js} +190 -478
  174. package/chunks/{chunk-3FSBMAYD.js → chunk-XQFT3QUF.js} +1 -1
  175. package/chunks/{chunk-FJWICLG7.js → chunk-Y3QL45LS.js} +1 -1
  176. package/chunks/{chunk-IKN3IUJP.js → chunk-Y4TPOUEV.js} +17 -9
  177. package/chunks/{chunk-NVK4HJYQ.js → chunk-YRZX2PHA.js} +1 -1
  178. package/chunks/{chunk-2SERYG4T.js → chunk-YTDVNSUQ.js} +1 -1
  179. package/chunks/{chunk-KWFP3WV6.js → chunk-YWQ237GX.js} +4 -193
  180. package/chunks/{chunk-6E4WHQJV.js → chunk-ZTP35P4B.js} +1 -1
  181. package/chunks/{chunk-E6FGMDFQ.js → chunk-ZU4UDIWX.js} +19 -1
  182. package/chunks/config-utils-JVGAP34H.js +113 -0
  183. package/chunks/contextCommand-XDB7OSO7.js +106 -0
  184. package/chunks/{core-runtime-PKNQ63VL.js → core-runtime-XHYA2RH7.js} +59 -61
  185. package/chunks/{create-sub-session-RVHSWVAP.js → create-sub-session-23ITIELI.js} +3 -3
  186. package/chunks/{create-sub-session-PLGPY6TV.js → create-sub-session-MHYCFNCM.js} +163 -84
  187. package/chunks/{cron-create-IJGVR5R2.js → cron-create-KJ4IY6PP.js} +57 -10
  188. package/chunks/{cron-delete-4N5BI6GL.js → cron-delete-MBLQCAYY.js} +4 -4
  189. package/chunks/{cron-list-2CATIPUX.js → cron-list-DWH2PQ47.js} +4 -4
  190. package/chunks/{daemon-NAYK4XXU.js → daemon-K5XS42ID.js} +516 -3
  191. package/chunks/{daemon-git-worktree-guard-LDBJXH2U.js → daemon-git-worktree-guard-V3P5XLHB.js} +56 -58
  192. package/chunks/daemon-status-provider-KKU7ZTLM.js +117 -0
  193. package/chunks/daemon-trust-policy-TZGK34DW.js +112 -0
  194. package/chunks/{daemon-trust-policy-monitor-IGEJPHQ4.js → daemon-trust-policy-monitor-F23DD2M4.js} +62 -64
  195. package/chunks/deferred-core-runtime-LKLGBCGZ.js +114 -0
  196. package/chunks/{display-image-DR55LL6M.js → display-image-BE7I6ZB6.js} +5 -5
  197. package/chunks/{dist-DJBNNPLN.js → dist-4WXLCBDR.js} +1 -1
  198. package/chunks/{dist-TJUDJTCB.js → dist-5VXFRTWU.js} +280 -48
  199. package/chunks/{dist-6H6RZ5H6.js → dist-6BPYWHVD.js} +89 -65
  200. package/chunks/{dist-ZBVOXSKF.js → dist-GFN5DCBX.js} +74 -65
  201. package/chunks/{dist-SATKXKUR.js → dist-HZNT6GQS.js} +1 -1
  202. package/chunks/{dist-FVJZSIO4.js → dist-LVZCXVPF.js} +72 -20
  203. package/chunks/{dist-7CKN54NL.js → dist-N6W6E753.js} +71 -64
  204. package/chunks/{dist-4Q7NTUNB.js → dist-QDLFKWOL.js} +2 -2
  205. package/chunks/{dist-UQUFZDIY.js → dist-SWQMYP2Q.js} +18 -16
  206. package/chunks/earlyInputCapture-NERYFYTR.js +107 -0
  207. package/chunks/{edit-KSPVUEAS.js → edit-ACCATIXB.js} +45 -47
  208. package/chunks/{en-6MDBWMTG.js → en-YLXBXM4Z.js} +2 -1
  209. package/chunks/{enter-worktree-UOZ6ZTP7.js → enter-worktree-35QCAAFP.js} +7 -7
  210. package/chunks/{enterPlanMode-DZTABSKN.js → enterPlanMode-NEN6EPVM.js} +44 -46
  211. package/chunks/{environment-JXOSW25V.js → environment-CKWHBC5T.js} +58 -60
  212. package/chunks/errors-XTZPNQ77.js +113 -0
  213. package/chunks/{exit-worktree-G2QATUCV.js → exit-worktree-XQD6D543.js} +7 -7
  214. package/chunks/exitPlanMode-CY344X5J.js +83 -0
  215. package/chunks/{fast-path-EBS7NAVL.js → fast-path-YSOX4PAM.js} +5 -5
  216. package/chunks/{gemini-JELEKOVS.js → gemini-VQY2YCPH.js} +110 -108
  217. package/chunks/{geminiContentGenerator-I2CKP7XI.js → geminiContentGenerator-PAPXNIGU.js} +8 -8
  218. package/chunks/{glob-TDVEVPQZ.js → glob-GVCUSBBF.js} +44 -46
  219. package/chunks/{goal-tools-CNVXMSZD.js → goal-tools-5STK6OXW.js} +10 -8
  220. package/chunks/{grep-3NLSS32D.js → grep-5GPICQBU.js} +6 -6
  221. package/chunks/handleAutoUpdate-ZJPJN42W.js +109 -0
  222. package/chunks/i18n-BZYKOST7.js +124 -0
  223. package/chunks/{image-gen-63NN2H5N.js → image-gen-J6FDGUZP.js} +8 -10
  224. package/chunks/initializer-GO2C5HE3.js +113 -0
  225. package/chunks/installationInfo-WM2GXQZ6.js +107 -0
  226. package/chunks/{keychain-token-storage-3MGFRYGM.js → keychain-token-storage-37XPR34V.js} +2 -2
  227. package/chunks/list-ERDJB7PQ.js +116 -0
  228. package/chunks/{list-agents-EXRSHIDJ.js → list-agents-DI3YFTDT.js} +2 -2
  229. package/chunks/loadedSettingsAdapter-7JOCVOKV.js +110 -0
  230. package/chunks/{loggingContentGenerator-CZWUAHAI.js → loggingContentGenerator-3ONLU3BS.js} +321 -30
  231. package/chunks/{loop-wakeup-XBPB2BRO.js → loop-wakeup-XJFONSQ7.js} +5 -5
  232. package/chunks/{ls-WFONAND2.js → ls-3VAT2J7A.js} +4 -4
  233. package/chunks/{lsp-DUKPDUXN.js → lsp-5W7IRUBH.js} +2 -2
  234. package/chunks/{managed-npm-update-54W23SP5.js → managed-npm-update-TLRCC2GE.js} +57 -59
  235. package/chunks/mcp-2LH3QXR2.js +110 -0
  236. package/chunks/{monitor-A4J5QRGJ.js → monitor-P7LDAL4W.js} +44 -46
  237. package/chunks/nonInteractiveCli-E5T7PZ27.js +184 -0
  238. package/chunks/{notebook-edit-4ANFZON5.js → notebook-edit-F7KSG4WQ.js} +45 -47
  239. package/chunks/{openaiContentGenerator-JCCJJQZC.js → openaiContentGenerator-2EXCZUGN.js} +26 -28
  240. package/chunks/pidfile-P25DWA5Q.js +111 -0
  241. package/chunks/process-registry-OAEG6WGC.js +662 -0
  242. package/chunks/{processUtils-JJAR56SO.js → processUtils-PVDKBL35.js} +2 -2
  243. package/chunks/prompt-terminal-ledger-AJ7T7OIV.js +105 -0
  244. package/chunks/{qwenContentGenerator-5JM44ZSA.js → qwenContentGenerator-TBBRLWIT.js} +49 -51
  245. package/chunks/{qwenOAuth2-JIYAWXTW.js → qwenOAuth2-OF5WRBQT.js} +7 -9
  246. package/chunks/{read-file-N3E5DY7N.js → read-file-6IIY4RLJ.js} +13 -13
  247. package/chunks/{read-mcp-resource-7A7NFSFL.js → read-mcp-resource-XD257PGJ.js} +2 -2
  248. package/chunks/{record-artifact-CPJ4IJSD.js → record-artifact-VW23GS4F.js} +4 -4
  249. package/chunks/{report-findings-VFM5DENC.js → report-findings-XA3FJG3N.js} +5 -5
  250. package/chunks/{request-shutdown-AXVOFN5C.js → request-shutdown-BCLA3JV2.js} +7 -7
  251. package/chunks/resumeHistoryUtils-44IETXDY.js +118 -0
  252. package/chunks/ripGrep-E7ESZ7SS.js +39 -0
  253. package/chunks/{run-qwen-serve-IWGPZADI.js → run-qwen-serve-DXBCYW7V.js} +356 -331
  254. package/chunks/{runtime-I76HPFUE.js → runtime-RUSPD35D.js} +67 -69
  255. package/chunks/scheduled-tasks-DVRJZO6I.js +127 -0
  256. package/chunks/{scheduler-M6YL4K4I.js → scheduler-TDRB2NSY.js} +58 -60
  257. package/chunks/{sdk-exporters-http-XXSKBD2C.js → sdk-exporters-http-TTU2CHBU.js} +2 -2
  258. package/chunks/{sdk-impl-VPNBLV7I.js → sdk-impl-UUMVYMAL.js} +11 -5
  259. package/chunks/{send-message-A2GXDX3B.js → send-message-AJ4OCUBV.js} +25 -9
  260. package/chunks/serve-KITOM7OR.js +118 -0
  261. package/chunks/{server-TWXRRREO.js → server-THCOMUC2.js} +5476 -4771
  262. package/chunks/{session-IT5ZXU7A.js → session-XKR5MPXE.js} +105 -106
  263. package/chunks/session-pr-refresh-KRBH7KDA.js +278 -0
  264. package/chunks/{settings-IX5HOOCG.js → settings-YXZ4XBKK.js} +61 -63
  265. package/chunks/{shell-LZ55AAJB.js → shell-5FJ2DZ3W.js} +44 -46
  266. package/chunks/{skill-WSZ53D2R.js → skill-VMMJZ6CJ.js} +71 -26
  267. package/chunks/skill-settings-7SG4YA2W.js +118 -0
  268. package/chunks/spawnChannel-BPMIXRBI.js +112 -0
  269. package/chunks/standalone-update-QN5HFRIC.js +118 -0
  270. package/chunks/{startInteractiveUI-O6BI2OSA.js → startInteractiveUI-5A7RQFRP.js} +2902 -2289
  271. package/chunks/{syntheticOutput-5AJ444QT.js → syntheticOutput-ML43GEFN.js} +3 -3
  272. package/chunks/{task-create-CDJSOEQD.js → task-create-QN4LYRSE.js} +11 -11
  273. package/chunks/{task-list-BELMPA75.js → task-list-JPLGK45U.js} +5 -5
  274. package/chunks/{task-stop-U3S3KZG2.js → task-stop-CXEH5L2D.js} +2 -2
  275. package/chunks/{task-update-77VCFDDZ.js → task-update-IWEOJFV2.js} +11 -11
  276. package/chunks/{team-create-UF4TMQEH.js → team-create-HVGVUL2L.js} +44 -46
  277. package/chunks/{team-delete-YWFXX77L.js → team-delete-RZVVSGCY.js} +5 -5
  278. package/chunks/{team-plan-approval-U57NSR6C.js → team-plan-approval-S5A5FQWU.js} +44 -46
  279. package/chunks/terminal-image-renderer-SIVPPXDI.js +114 -0
  280. package/chunks/theme-manager-TA33UZZX.js +102 -0
  281. package/chunks/{todoWrite-435EO2CS.js → todoWrite-WDJNQEMW.js} +43 -25
  282. package/chunks/{tool-search-SV35UV72.js → tool-search-NX7IPDKP.js} +18 -18
  283. package/chunks/total-session-admission-PWXZBOVX.js +114 -0
  284. package/chunks/{trustedFolders-YKK67IP3.js → trustedFolders-V6Y4CU3F.js} +57 -59
  285. package/chunks/{update-relaunch-DX7LVA4P.js → update-relaunch-CGSX3R37.js} +5 -5
  286. package/chunks/updateCheck-T5O2WGIB.js +118 -0
  287. package/chunks/useAutoAcceptIndicator-ULBJJWPY.js +120 -0
  288. package/chunks/{validateNonInterActiveAuth-B26O4YJP.js → validateNonInterActiveAuth-E5S2JSRC.js} +101 -102
  289. package/chunks/{version-K5D7VJ4B.js → version-LS5JPU36.js} +1 -1
  290. package/chunks/{web-fetch-VFHZLLNZ.js → web-fetch-RLMFZTS3.js} +16 -18
  291. package/chunks/{web-search-AQE5A4J5.js → web-search-LMCIC4N5.js} +9 -11
  292. package/chunks/{workflow-XL6AEUZ7.js → workflow-JBXU3IGA.js} +128 -94
  293. package/chunks/workspace-providers-status-525ORQBH.js +114 -0
  294. package/chunks/{workspace-registration-store-I4U3V5LL.js → workspace-registration-store-7Y44R4LV.js} +1 -1
  295. package/chunks/workspace-registry-HS4RWUSQ.js +123 -0
  296. package/chunks/workspace-service-7PXDM6EB.js +129 -0
  297. package/chunks/workspace-skills-status-FMJGC2XI.js +113 -0
  298. package/chunks/{workspace-trust-reconciler-GJ466KCE.js → workspace-trust-reconciler-3YTWSQBY.js} +70 -70
  299. package/chunks/write-file-BVQRYQQO.js +88 -0
  300. package/chunks/{zh-TW-MV4FWFB6.js → zh-TW-RPTMRTHG.js} +2 -1
  301. package/chunks/{zh-X3WGU6SI.js → zh-UNY63FR3.js} +2 -1
  302. package/chunks/{zoom-image-NYJPC3NI.js → zoom-image-FGCELNS4.js} +13 -13
  303. package/cli.js +14 -14
  304. package/locales/en.js +2 -0
  305. package/locales/zh-TW.js +2 -0
  306. package/locales/zh.js +2 -0
  307. package/package.json +3 -3
  308. package/web-shell/assets/{abnfDiagram-VCTEODGH-yq7z7Anb.js → abnfDiagram-VCTEODGH-2XZDeWYO.js} +1 -1
  309. package/web-shell/assets/{arc-CbJO0xnT.js → arc-B6UgMh90.js} +1 -1
  310. package/web-shell/assets/{architectureDiagram-5GKGNRK7-CRh89421.js → architectureDiagram-5GKGNRK7-DZgNFeN1.js} +1 -1
  311. package/web-shell/assets/{blockDiagram-NRAW4CY4-C75KAhKv.js → blockDiagram-NRAW4CY4-DQ2wvBFN.js} +1 -1
  312. package/web-shell/assets/{c4Diagram-UCG6FXSJ-BzlMveFB.js → c4Diagram-UCG6FXSJ-DMmQMrc4.js} +1 -1
  313. package/web-shell/assets/channel-D_TyfiTx.js +1 -0
  314. package/web-shell/assets/{chunk-2Q5K7J3B-DA8QDX3a.js → chunk-2Q5K7J3B-C8Zh2e9y.js} +1 -1
  315. package/web-shell/assets/{chunk-5VM5RSS4-Bgu7gQ7Y.js → chunk-5VM5RSS4-C3LTenP8.js} +1 -1
  316. package/web-shell/assets/{chunk-F27PBJKO-BOew7pIK.js → chunk-F27PBJKO-CxABOc8n.js} +1 -1
  317. package/web-shell/assets/{chunk-G27WJ6UU-DHx1I-hO.js → chunk-G27WJ6UU-CD_JxHDC.js} +1 -1
  318. package/web-shell/assets/{chunk-JWPE2WC7-SarFW0WU.js → chunk-JWPE2WC7-BdmZPmce.js} +1 -1
  319. package/web-shell/assets/{chunk-LCL6LL3I-BLzP083Z.js → chunk-LCL6LL3I-80bcHmfK.js} +1 -1
  320. package/web-shell/assets/{chunk-POPQ4Y6H-Bmkv_iKm.js → chunk-POPQ4Y6H-CNpLZyQF.js} +1 -1
  321. package/web-shell/assets/{chunk-SVP7TREG-MPx9r1N2.js → chunk-SVP7TREG-CXlKgMv3.js} +1 -1
  322. package/web-shell/assets/{chunk-XXDRQBXY-Ck-09rKG.js → chunk-XXDRQBXY-CivyYyvL.js} +1 -1
  323. package/web-shell/assets/classDiagram-DTDB5LWJ-Bw_H3xMd.js +1 -0
  324. package/web-shell/assets/classDiagram-v2-JRS7N3AN-Bw_H3xMd.js +1 -0
  325. package/web-shell/assets/{cose-bilkent-JH36ORCC-DWm6lfOG.js → cose-bilkent-JH36ORCC-COAjRH3w.js} +1 -1
  326. package/web-shell/assets/{cynefin-OW5HDTMX-DcBUyr5R.js → cynefin-OW5HDTMX-DqU1JHO6.js} +1 -1
  327. package/web-shell/assets/{cynefinDiagram-5FMLGOSQ-Df8qmd_p.js → cynefinDiagram-5FMLGOSQ-BCLI1Bvj.js} +1 -1
  328. package/web-shell/assets/{dagre-3AP2YEHR-DDmGspD7.js → dagre-3AP2YEHR-DmAz8nqF.js} +1 -1
  329. package/web-shell/assets/{diagram-S7CK7UJ4-BK_qFvbi.js → diagram-S7CK7UJ4-Ck-5QLT5.js} +1 -1
  330. package/web-shell/assets/{diagram-UQ7AKVKN-Uw3AP_bi.js → diagram-UQ7AKVKN-C0ljX0mW.js} +1 -1
  331. package/web-shell/assets/{diagram-VSXAHHWV-CJOQKxY7.js → diagram-VSXAHHWV-DPgvT24v.js} +1 -1
  332. package/web-shell/assets/{diagram-VX7I27RA-DhdvZna5.js → diagram-VX7I27RA-D7hWr1LR.js} +1 -1
  333. package/web-shell/assets/{diagram-Z3DM3KII-edQU0nlP.js → diagram-Z3DM3KII-D59tlOta.js} +1 -1
  334. package/web-shell/assets/{ebnfDiagram-PWID7BFC-4kugBEsO.js → ebnfDiagram-PWID7BFC-CY2DDx00.js} +1 -1
  335. package/web-shell/assets/{erDiagram-SSCWMZ5O-BMkFivWO.js → erDiagram-SSCWMZ5O-AR4h8Q8k.js} +1 -1
  336. package/web-shell/assets/{flowDiagram-A5DVABFB-BM1ea8g-.js → flowDiagram-A5DVABFB-DbF0HqBz.js} +1 -1
  337. package/web-shell/assets/{ganttDiagram-EL5Y4UJY-CXj_cKRf.js → ganttDiagram-EL5Y4UJY-J52mrIhc.js} +1 -1
  338. package/web-shell/assets/{gitGraphDiagram-WWUBYQGX-D0nEqwqu.js → gitGraphDiagram-WWUBYQGX-CcgMY5EV.js} +1 -1
  339. package/web-shell/assets/index-BjUg3vPr.css +5 -0
  340. package/web-shell/assets/index-CFwYYVFU.js +1873 -0
  341. package/web-shell/assets/{index-B6JN54Pd.js → index-MQs7l15A.js} +1 -1
  342. package/web-shell/assets/{infoDiagram-RXCK75RN-DF7aGGbQ.js → infoDiagram-RXCK75RN-Buu3ibp2.js} +1 -1
  343. package/web-shell/assets/{ishikawaDiagram-5VMMS53U-CZYNX1lL.js → ishikawaDiagram-5VMMS53U-CoKQxnF3.js} +1 -1
  344. package/web-shell/assets/{journeyDiagram-EYS64GPL-CvrqMUz1.js → journeyDiagram-EYS64GPL-CxK35mTC.js} +1 -1
  345. package/web-shell/assets/{kanban-definition-3QL26DDD-BZNJQZBj.js → kanban-definition-3QL26DDD-tk2CHTQ1.js} +1 -1
  346. package/web-shell/assets/{layout-Bf83x7D6.js → layout-DEpMwb4u.js} +1 -1
  347. package/web-shell/assets/{linear-Bkc3ES2f.js → linear-DSQsLh53.js} +1 -1
  348. package/web-shell/assets/{mermaid.core-C6xuovwz.js → mermaid.core-DIZuPBQT.js} +6 -6
  349. package/web-shell/assets/{mindmap-definition-FBJOCRG2-DzH6gVRg.js → mindmap-definition-FBJOCRG2-CCAvk8r_.js} +1 -1
  350. package/web-shell/assets/{pegDiagram-XKGWAZYB-DCvLh2fa.js → pegDiagram-XKGWAZYB-CpJ28jxz.js} +1 -1
  351. package/web-shell/assets/{pieDiagram-E7YTZNPT-BtjVlx_6.js → pieDiagram-E7YTZNPT-ziJR2R32.js} +1 -1
  352. package/web-shell/assets/{quadrantDiagram-AXDQQJYC-IbroqxFe.js → quadrantDiagram-AXDQQJYC-B60zE3Mh.js} +1 -1
  353. package/web-shell/assets/{railroadDiagram-O6MQD6OU-BvMykiWW.js → railroadDiagram-O6MQD6OU-M3GqQ_g1.js} +1 -1
  354. package/web-shell/assets/{requirementDiagram-EFPCY7ZU-D-HHMyrh.js → requirementDiagram-EFPCY7ZU-ntCtYqTk.js} +1 -1
  355. package/web-shell/assets/{sankeyDiagram-P5KCCOFB-C0XXhB6d.js → sankeyDiagram-P5KCCOFB-AYLoItcZ.js} +1 -1
  356. package/web-shell/assets/{sequenceDiagram-WJ2MYXX4-DseAXj5d.js → sequenceDiagram-WJ2MYXX4-DEWk4Mlj.js} +1 -1
  357. package/web-shell/assets/{sizeCapture-X5ZJPWSS-Cek2EweK.js → sizeCapture-X5ZJPWSS-OOWvzPay.js} +1 -1
  358. package/web-shell/assets/{stateDiagram-HBIQ2CUA-yLv8wafW.js → stateDiagram-HBIQ2CUA-BcMmvxem.js} +1 -1
  359. package/web-shell/assets/stateDiagram-v2-4QOOHH4V-DRLLqPWO.js +1 -0
  360. package/web-shell/assets/{swimlanes-XN3QIQJK-Cwz-opvE.js → swimlanes-XN3QIQJK-DuZTWWvh.js} +1 -1
  361. package/web-shell/assets/swimlanesDiagram-VK2B7HYN-DOfLQQYt.js +8 -0
  362. package/web-shell/assets/{timeline-definition-24CTP7MA-BJuFD7OG.js → timeline-definition-24CTP7MA-CjqtZXEd.js} +1 -1
  363. package/web-shell/assets/{vennDiagram-4TSXK5OY-CNAavdoV.js → vennDiagram-4TSXK5OY-knVCVkQ4.js} +1 -1
  364. package/web-shell/assets/{wardleyDiagram-VM6X3IG4-DaIjAidq.js → wardleyDiagram-VM6X3IG4-yoWhw0a2.js} +1 -1
  365. package/web-shell/assets/{xychartDiagram-S5SC5T6Z-DkcQXjTy.js → xychartDiagram-S5SC5T6Z-ue14E_gL.js} +1 -1
  366. package/web-shell/index.html +3 -3
  367. package/chunks/MaxSizedBox-UUTUE42J.js +0 -112
  368. package/chunks/agent-headless-32O4L2CT.js +0 -87
  369. package/chunks/bridge-DFX2FFH4.js +0 -119
  370. package/chunks/channel-settings-store-ELLH2M4M.js +0 -117
  371. package/chunks/chunk-I6VVOZDK.js +0 -202
  372. package/chunks/chunk-JS73NNWF.js +0 -30
  373. package/chunks/chunk-K2OJUPOE.js +0 -78
  374. package/chunks/chunk-P3QQPMQA.js +0 -19
  375. package/chunks/chunk-SDVF6A42.js +0 -945
  376. package/chunks/chunk-VGHZT6JR.js +0 -51
  377. package/chunks/config-utils-7M6PCTLT.js +0 -113
  378. package/chunks/contextCommand-G4QG3TW6.js +0 -108
  379. package/chunks/daemon-status-provider-F5FEHVVG.js +0 -118
  380. package/chunks/daemon-trust-policy-C6YTU5CQ.js +0 -114
  381. package/chunks/deferred-core-runtime-GHT3GDOR.js +0 -116
  382. package/chunks/earlyInputCapture-HOSJTLWP.js +0 -109
  383. package/chunks/errors-IOXFDE4J.js +0 -115
  384. package/chunks/exitPlanMode-PZG4FXRB.js +0 -85
  385. package/chunks/handleAutoUpdate-AWAGHKOX.js +0 -111
  386. package/chunks/i18n-CYA25C5F.js +0 -126
  387. package/chunks/initializer-JD2FLNLO.js +0 -115
  388. package/chunks/installationInfo-N3DCWVWR.js +0 -109
  389. package/chunks/list-XDQAUET5.js +0 -118
  390. package/chunks/loadedSettingsAdapter-IK7H5JRK.js +0 -112
  391. package/chunks/mcp-2E7ZLMEE.js +0 -112
  392. package/chunks/nonInteractiveCli-ZNDXB62Y.js +0 -185
  393. package/chunks/pidfile-DHV2Y7UD.js +0 -113
  394. package/chunks/process-registry-PMJOA5CO.js +0 -172
  395. package/chunks/prompt-terminal-ledger-LDZ6QVYA.js +0 -107
  396. package/chunks/resumeHistoryUtils-YQRITQAG.js +0 -120
  397. package/chunks/ripGrep-NEIHKBKB.js +0 -39
  398. package/chunks/serve-XY5S63GN.js +0 -120
  399. package/chunks/skill-settings-5U7FTJIK.js +0 -120
  400. package/chunks/spawnChannel-TMC6VXGN.js +0 -113
  401. package/chunks/standalone-update-CUYGWTR4.js +0 -120
  402. package/chunks/terminal-image-renderer-DRL3BROJ.js +0 -116
  403. package/chunks/theme-manager-HHJPUDRN.js +0 -104
  404. package/chunks/total-session-admission-TQI7TCTL.js +0 -114
  405. package/chunks/updateCheck-6JRTKTUF.js +0 -120
  406. package/chunks/useAutoAcceptIndicator-MYXYSKSL.js +0 -122
  407. package/chunks/workspace-providers-status-H6TG34YV.js +0 -116
  408. package/chunks/workspace-registry-2PWNIYNI.js +0 -123
  409. package/chunks/workspace-service-4FGTUJLA.js +0 -131
  410. package/chunks/workspace-skills-status-7VOLUDT6.js +0 -115
  411. package/chunks/write-file-PWOYCT2K.js +0 -90
  412. package/web-shell/assets/channel-B3sGR79J.js +0 -1
  413. package/web-shell/assets/classDiagram-DTDB5LWJ-sTGo0K3v.js +0 -1
  414. package/web-shell/assets/classDiagram-v2-JRS7N3AN-sTGo0K3v.js +0 -1
  415. package/web-shell/assets/index-C-XlQn24.css +0 -5
  416. package/web-shell/assets/index-DLjXM0dn.js +0 -1860
  417. package/web-shell/assets/stateDiagram-v2-4QOOHH4V-DeThXnol.js +0 -1
  418. package/web-shell/assets/swimlanesDiagram-VK2B7HYN-GW0R1ZSv.js +0 -8
@@ -0,0 +1,275 @@
1
+ // Force strict mode and setup for ESM
2
+ "use strict";
3
+ import {
4
+ normalizeSessionIdForLookup
5
+ } from "./chunk-ZEZKIS2K.js";
6
+ import {
7
+ MAX_WORKSPACE_PATH_LENGTH,
8
+ translateAndCheckAbsoluteWorkspacePath
9
+ } from "./chunk-6PLDPT2C.js";
10
+ import {
11
+ writeStderrLine
12
+ } from "./chunk-KGJGEEVR.js";
13
+ import {
14
+ init_esbuild_shims
15
+ } from "./chunk-5O2XNYP6.js";
16
+ import {
17
+ __name
18
+ } from "./chunk-J2S4EL5Y.js";
19
+
20
+ // packages/cli/src/serve/server/request-helpers.ts
21
+ init_esbuild_shims();
22
+ function sendJsonBodyParserError(res, err) {
23
+ if (err instanceof SyntaxError && "status" in err && err.status === 400) {
24
+ res.status(400).json({ error: "Invalid JSON in request body" });
25
+ return true;
26
+ }
27
+ if (err && typeof err === "object" && "status" in err && err.status === 413) {
28
+ res.status(413).json({ error: "Request body too large (max 10 MB)" });
29
+ return true;
30
+ }
31
+ return false;
32
+ }
33
+ __name(sendJsonBodyParserError, "sendJsonBodyParserError");
34
+ var PROTOTYPE_POLLUTION_KEYS = /* @__PURE__ */ new Set([
35
+ "__proto__",
36
+ "constructor",
37
+ "prototype"
38
+ ]);
39
+ var CLIENT_ID_HEADER = "x-qwen-client-id";
40
+ var MAX_CLIENT_ID_LENGTH = 128;
41
+ var MAX_TOOL_NAME_LENGTH = 256;
42
+ var MAX_SERVER_NAME_LENGTH = 256;
43
+ var CLIENT_ID_RE = /^[A-Za-z0-9._:-]+$/;
44
+ var INVALID_PERMISSION_OUTCOME_ERROR = '`outcome` must be `{ outcome: "cancelled" }` or `{ outcome: "selected", optionId: string }`';
45
+ var deferredRuntimeTimingKey = Symbol(
46
+ "deferredRuntimeRequestTiming"
47
+ );
48
+ function setDeferredRuntimeRequestTiming(req, timing) {
49
+ req[deferredRuntimeTimingKey] = timing;
50
+ }
51
+ __name(setDeferredRuntimeRequestTiming, "setDeferredRuntimeRequestTiming");
52
+ function getDeferredRuntimeRequestTiming(req) {
53
+ return req[deferredRuntimeTimingKey];
54
+ }
55
+ __name(getDeferredRuntimeRequestTiming, "getDeferredRuntimeRequestTiming");
56
+ function safeBody(req) {
57
+ const raw = req.body;
58
+ if (typeof raw !== "object" || raw === null || Array.isArray(raw)) {
59
+ return /* @__PURE__ */ Object.create(null);
60
+ }
61
+ const out = /* @__PURE__ */ Object.create(null);
62
+ for (const [key, value] of Object.entries(raw)) {
63
+ if (PROTOTYPE_POLLUTION_KEYS.has(key)) continue;
64
+ out[key] = value;
65
+ }
66
+ return out;
67
+ }
68
+ __name(safeBody, "safeBody");
69
+ function parseOptionalWorkspaceCwd(body, boundWorkspace, res) {
70
+ const hasCwd = "cwd" in body;
71
+ if (hasCwd && typeof body["cwd"] !== "string") {
72
+ res.status(400).json({ error: "`cwd` must be a string absolute path when provided" });
73
+ return void 0;
74
+ }
75
+ if (hasCwd && body["cwd"].length > MAX_WORKSPACE_PATH_LENGTH) {
76
+ res.status(400).json({
77
+ error: `\`cwd\` exceeds the ${MAX_WORKSPACE_PATH_LENGTH}-character limit`
78
+ });
79
+ return void 0;
80
+ }
81
+ const cwd = translateAndCheckAbsoluteWorkspacePath(
82
+ hasCwd ? body["cwd"] : boundWorkspace
83
+ );
84
+ if (cwd === null) {
85
+ res.status(400).json({ error: "`cwd` must be an absolute path when provided" });
86
+ return void 0;
87
+ }
88
+ return cwd;
89
+ }
90
+ __name(parseOptionalWorkspaceCwd, "parseOptionalWorkspaceCwd");
91
+ function requireSessionId(req, res) {
92
+ const sessionId = req.params["id"];
93
+ if (!sessionId) {
94
+ res.status(400).json({ error: "`sessionId` route parameter is required" });
95
+ return null;
96
+ }
97
+ return normalizeSessionIdForLookup(sessionId);
98
+ }
99
+ __name(requireSessionId, "requireSessionId");
100
+ function parseClientIdHeader(req, res) {
101
+ const raw = req.get(CLIENT_ID_HEADER);
102
+ if (raw === void 0 || raw === "") return void 0;
103
+ if (raw.length > MAX_CLIENT_ID_LENGTH || !CLIENT_ID_RE.test(raw)) {
104
+ res.status(400).json({
105
+ error: "`X-Qwen-Client-Id` must be a non-empty token of 128 characters or fewer",
106
+ code: "invalid_client_id"
107
+ });
108
+ return null;
109
+ }
110
+ return raw;
111
+ }
112
+ __name(parseClientIdHeader, "parseClientIdHeader");
113
+ function detectFromLoopback(req) {
114
+ const addr = req.socket?.remoteAddress;
115
+ if (typeof addr !== "string") return false;
116
+ if (addr === "::1") return true;
117
+ if (addr.startsWith("127.")) return true;
118
+ if (addr.startsWith("::ffff:127.")) return true;
119
+ return false;
120
+ }
121
+ __name(detectFromLoopback, "detectFromLoopback");
122
+ function validateMcpRuntimeServerName(name, res) {
123
+ if (typeof name !== "string" || name.length === 0) {
124
+ res.status(400).json({
125
+ error: "Server name is required and must be a non-empty string",
126
+ code: "invalid_server_name"
127
+ });
128
+ return false;
129
+ }
130
+ if (name.length > MAX_SERVER_NAME_LENGTH) {
131
+ res.status(400).json({
132
+ error: `Server name exceeds ${MAX_SERVER_NAME_LENGTH}-character limit`,
133
+ code: "invalid_server_name"
134
+ });
135
+ return false;
136
+ }
137
+ if (!/^[A-Za-z0-9_-]+$/.test(name)) {
138
+ res.status(400).json({
139
+ error: "Server name must contain only alphanumeric characters, underscores, and hyphens",
140
+ code: "invalid_server_name"
141
+ });
142
+ return false;
143
+ }
144
+ if (name === "__proto__" || name === "constructor" || name === "prototype") {
145
+ res.status(400).json({
146
+ error: "Server name must not be a reserved JS property name",
147
+ code: "invalid_server_name"
148
+ });
149
+ return false;
150
+ }
151
+ return true;
152
+ }
153
+ __name(validateMcpRuntimeServerName, "validateMcpRuntimeServerName");
154
+ function parseAndValidateWorkspaceClientId(req, res, bridge) {
155
+ const raw = parseClientIdHeader(req, res);
156
+ if (raw === null || raw === void 0) return raw;
157
+ const bridges = Array.isArray(bridge) ? bridge : [bridge];
158
+ if (!bridges.some((candidate) => candidate.knownClientIds().has(raw))) {
159
+ res.status(400).json({
160
+ error: `Client id "${raw}" is not registered for this workspace`,
161
+ code: "invalid_client_id",
162
+ clientId: raw
163
+ });
164
+ return null;
165
+ }
166
+ return raw;
167
+ }
168
+ __name(parseAndValidateWorkspaceClientId, "parseAndValidateWorkspaceClientId");
169
+ function createBuildWorkspaceCtx(boundWorkspace) {
170
+ return (route, clientId) => ({
171
+ originatorClientId: clientId,
172
+ route,
173
+ workspaceCwd: boundWorkspace
174
+ });
175
+ }
176
+ __name(createBuildWorkspaceCtx, "createBuildWorkspaceCtx");
177
+ function parsePermissionVoteBody(req, res) {
178
+ const body = safeBody(req);
179
+ const outcome = body["outcome"];
180
+ if (!isValidOutcome(outcome)) {
181
+ res.status(400).json({ error: INVALID_PERMISSION_OUTCOME_ERROR });
182
+ return void 0;
183
+ }
184
+ return {
185
+ ...body,
186
+ outcome
187
+ };
188
+ }
189
+ __name(parsePermissionVoteBody, "parsePermissionVoteBody");
190
+ function isValidOutcome(raw) {
191
+ if (typeof raw !== "object" || raw === null) return false;
192
+ const obj = raw;
193
+ if (obj["outcome"] === "cancelled") return true;
194
+ return obj["outcome"] === "selected" && typeof obj["optionId"] === "string" && obj["optionId"].length > 0;
195
+ }
196
+ __name(isValidOutcome, "isValidOutcome");
197
+ var MIN_QUERY_MAX_QUEUED = 16;
198
+ var MAX_QUERY_MAX_QUEUED = 2048;
199
+ function parseMaxQueuedQuery(raw, res) {
200
+ if (raw === void 0) return void 0;
201
+ if (typeof raw !== "string" || !/^\d+$/.test(raw)) {
202
+ writeStderrLine(
203
+ `qwen serve: rejected ?maxQueued ${safeLogValue(raw)} (not a decimal integer)`
204
+ );
205
+ res.status(400).json({
206
+ error: "`maxQueued` must be a decimal integer",
207
+ code: "invalid_max_queued"
208
+ });
209
+ return null;
210
+ }
211
+ const n = Number.parseInt(raw, 10);
212
+ if (!Number.isFinite(n) || n < MIN_QUERY_MAX_QUEUED || n > MAX_QUERY_MAX_QUEUED) {
213
+ writeStderrLine(
214
+ `qwen serve: rejected ?maxQueued ${safeLogValue(raw)} (outside [${MIN_QUERY_MAX_QUEUED}, ${MAX_QUERY_MAX_QUEUED}])`
215
+ );
216
+ res.status(400).json({
217
+ error: `\`maxQueued\` must be in [${MIN_QUERY_MAX_QUEUED}, ${MAX_QUERY_MAX_QUEUED}]`,
218
+ code: "invalid_max_queued"
219
+ });
220
+ return null;
221
+ }
222
+ return n;
223
+ }
224
+ __name(parseMaxQueuedQuery, "parseMaxQueuedQuery");
225
+ function safeLogValue(raw) {
226
+ return JSON.stringify(String(raw)).slice(0, 82);
227
+ }
228
+ __name(safeLogValue, "safeLogValue");
229
+ function parseLastEventId(raw) {
230
+ if (typeof raw !== "string" || !/^\d+$/.test(raw)) {
231
+ if (typeof raw === "string" && raw.length > 0) {
232
+ writeStderrLine(
233
+ `qwen serve: rejected Last-Event-ID ${safeLogValue(raw)} (not a decimal integer)`
234
+ );
235
+ }
236
+ return void 0;
237
+ }
238
+ const n = Number.parseInt(raw, 10);
239
+ if (!Number.isFinite(n) || n > Number.MAX_SAFE_INTEGER) {
240
+ writeStderrLine(
241
+ `qwen serve: rejected Last-Event-ID ${safeLogValue(raw)} (exceeds Number.MAX_SAFE_INTEGER)`
242
+ );
243
+ return void 0;
244
+ }
245
+ return n;
246
+ }
247
+ __name(parseLastEventId, "parseLastEventId");
248
+
249
+ export {
250
+ sendJsonBodyParserError,
251
+ CLIENT_ID_HEADER,
252
+ MAX_CLIENT_ID_LENGTH,
253
+ MAX_TOOL_NAME_LENGTH,
254
+ MAX_SERVER_NAME_LENGTH,
255
+ CLIENT_ID_RE,
256
+ setDeferredRuntimeRequestTiming,
257
+ getDeferredRuntimeRequestTiming,
258
+ safeBody,
259
+ parseOptionalWorkspaceCwd,
260
+ requireSessionId,
261
+ parseClientIdHeader,
262
+ detectFromLoopback,
263
+ validateMcpRuntimeServerName,
264
+ parseAndValidateWorkspaceClientId,
265
+ createBuildWorkspaceCtx,
266
+ parsePermissionVoteBody,
267
+ parseMaxQueuedQuery,
268
+ safeLogValue,
269
+ parseLastEventId
270
+ };
271
+ /**
272
+ * @license
273
+ * Copyright 2025 Qwen Team
274
+ * SPDX-License-Identifier: Apache-2.0
275
+ */
@@ -5,7 +5,7 @@ import {
5
5
  } from "./chunk-E7REAOTN.js";
6
6
  import {
7
7
  createDebugLogger
8
- } from "./chunk-2NNTE2ED.js";
8
+ } from "./chunk-UHQFIS7N.js";
9
9
  import {
10
10
  wrapper_default
11
11
  } from "./chunk-J3NNHTV6.js";
@@ -5,14 +5,14 @@ import {
5
5
  } from "./chunk-E7REAOTN.js";
6
6
  import {
7
7
  t
8
- } from "./chunk-W2WRNJKX.js";
8
+ } from "./chunk-RWZB422L.js";
9
9
  import {
10
10
  findProviderByCredentials,
11
11
  resolveMetadataKey
12
- } from "./chunk-VMDURMFY.js";
12
+ } from "./chunk-W6DUQ5GA.js";
13
13
  import {
14
14
  fetchGitDiff
15
- } from "./chunk-XYX474JQ.js";
15
+ } from "./chunk-EWIQ3NAE.js";
16
16
  import {
17
17
  init_esbuild_shims
18
18
  } from "./chunk-5O2XNYP6.js";
@@ -5,10 +5,10 @@ import {
5
5
  } from "./chunk-5EJZE3FP.js";
6
6
  import {
7
7
  resolveBundleDir
8
- } from "./chunk-77TOMRBG.js";
8
+ } from "./chunk-4K7KNVWH.js";
9
9
  import {
10
10
  Storage
11
- } from "./chunk-2NNTE2ED.js";
11
+ } from "./chunk-UHQFIS7N.js";
12
12
  import {
13
13
  writeStderrLine
14
14
  } from "./chunk-KGJGEEVR.js";
@@ -167,13 +167,13 @@ var MUST_TRANSLATE_KEYS = [
167
167
  var globImport_locales_js = __glob({
168
168
  "./locales/ca.js": () => import("./ca-7HPYOYSZ.js"),
169
169
  "./locales/de.js": () => import("./de-X6HLSIFE.js"),
170
- "./locales/en.js": () => import("./en-6MDBWMTG.js"),
170
+ "./locales/en.js": () => import("./en-YLXBXM4Z.js"),
171
171
  "./locales/fr.js": () => import("./fr-FTZWF462.js"),
172
172
  "./locales/ja.js": () => import("./ja-2GL5FKYJ.js"),
173
173
  "./locales/pt.js": () => import("./pt-XN2YWJVM.js"),
174
174
  "./locales/ru.js": () => import("./ru-OLTMFJEW.js"),
175
- "./locales/zh-TW.js": () => import("./zh-TW-MV4FWFB6.js"),
176
- "./locales/zh.js": () => import("./zh-X3WGU6SI.js")
175
+ "./locales/zh-TW.js": () => import("./zh-TW-RPTMRTHG.js"),
176
+ "./locales/zh.js": () => import("./zh-UNY63FR3.js")
177
177
  });
178
178
 
179
179
  // packages/cli/src/i18n/index.ts
@@ -1,13 +1,16 @@
1
1
  // Force strict mode and setup for ESM
2
2
  "use strict";
3
+ import {
4
+ multiSessionCompatibilityError
5
+ } from "./chunk-QPTRRPZU.js";
3
6
  import {
4
7
  UNSAFE_OBJECT_KEYS,
5
8
  getPlugin
6
- } from "./chunk-IKN3IUJP.js";
9
+ } from "./chunk-Y4TPOUEV.js";
7
10
  import {
8
11
  loadSettings,
9
12
  saveSettings
10
- } from "./chunk-MDZO5V2O.js";
13
+ } from "./chunk-HPXV655A.js";
11
14
  import {
12
15
  init_esbuild_shims
13
16
  } from "./chunk-5O2XNYP6.js";
@@ -105,6 +108,12 @@ function assertNumberRecord(key, value, allowedKeys) {
105
108
  }
106
109
  __name(assertNumberRecord, "assertNumberRecord");
107
110
  function assertSharedField(key, value, previous) {
111
+ if (key === "multiSession") {
112
+ if (typeof value !== "boolean") {
113
+ throw invalidConfig(`Channel field "${key}" must be a boolean.`);
114
+ }
115
+ return true;
116
+ }
108
117
  const enumValues = {
109
118
  senderPolicy: /* @__PURE__ */ new Set(["allowlist", "pairing", "open"]),
110
119
  dmPolicy: /* @__PURE__ */ new Set(["open", "disabled"]),
@@ -398,6 +407,14 @@ var WorkspaceChannelSettingsStore = class {
398
407
  if (value !== void 0) nextConfig[key] = value;
399
408
  }
400
409
  assertManagedConfig(nextConfig, previous, plugin.management.fields);
410
+ const multiSessionError = multiSessionCompatibilityError(name, {
411
+ multiSession: nextConfig["multiSession"] === true,
412
+ sessionScope: nextConfig["sessionScope"] ?? plugin.defaultSessionScope ?? "user",
413
+ groupHistoryLimit: nextConfig["groupHistoryLimit"],
414
+ groups: isRecord(nextConfig["groups"]) ? nextConfig["groups"] : {},
415
+ webhooks: nextConfig["webhooks"]
416
+ });
417
+ if (multiSessionError) throw invalidConfig(multiSessionError);
401
418
  let crossFieldError;
402
419
  try {
403
420
  crossFieldError = plugin.management.validateConfig?.(nextConfig);
@@ -64,7 +64,7 @@ async function runExitCleanup(options = {}) {
64
64
  }
65
65
  __name(runExitCleanup, "runExitCleanup");
66
66
  async function cleanupCheckpoints() {
67
- const { Storage } = await import("./deferred-core-runtime-GHT3GDOR.js");
67
+ const { Storage } = await import("./deferred-core-runtime-LKLGBCGZ.js");
68
68
  const storage = new Storage(process.cwd());
69
69
  const tempDir = storage.getProjectTempDir();
70
70
  const checkpointsDir = join(tempDir, "checkpoints");
@@ -2,7 +2,7 @@
2
2
  "use strict";
3
3
  import {
4
4
  createDebugLogger
5
- } from "./chunk-2NNTE2ED.js";
5
+ } from "./chunk-UHQFIS7N.js";
6
6
  import {
7
7
  init_esbuild_shims
8
8
  } from "./chunk-5O2XNYP6.js";
@@ -2,16 +2,16 @@
2
2
  "use strict";
3
3
  import {
4
4
  useKeypress
5
- } from "./chunk-O5YGAEQS.js";
5
+ } from "./chunk-FALBWZF4.js";
6
6
  import {
7
7
  require_react
8
8
  } from "./chunk-5QWWOFGG.js";
9
9
  import {
10
10
  t
11
- } from "./chunk-W2WRNJKX.js";
11
+ } from "./chunk-RWZB422L.js";
12
12
  import {
13
13
  APPROVAL_MODES
14
- } from "./chunk-BVE5EMIG.js";
14
+ } from "./chunk-V5J4J5TP.js";
15
15
  import {
16
16
  init_esbuild_shims
17
17
  } from "./chunk-5O2XNYP6.js";
@@ -1,8 +1,5 @@
1
1
  // Force strict mode and setup for ESM
2
2
  "use strict";
3
- import {
4
- CHANNEL_DELIVERY_ERROR_CODES
5
- } from "./chunk-UDG5EZJI.js";
6
3
  import {
7
4
  init_esbuild_shims
8
5
  } from "./chunk-5O2XNYP6.js";
@@ -58,72 +55,6 @@ function isChannelWebhookTaskResultMessage(value) {
58
55
  }
59
56
  __name(isChannelWebhookTaskResultMessage, "isChannelWebhookTaskResultMessage");
60
57
 
61
- // packages/cli/src/runtime/channel-delivery-ipc.ts
62
- init_esbuild_shims();
63
- import { randomUUID as randomUUID2 } from "node:crypto";
64
- var ChannelDeliveryError = class extends Error {
65
- constructor(code, message) {
66
- super(message);
67
- this.code = code;
68
- this.name = "ChannelDeliveryError";
69
- }
70
- static {
71
- __name(this, "ChannelDeliveryError");
72
- }
73
- };
74
- function isChannelDeliveryErrorCode(value) {
75
- return typeof value === "string" && CHANNEL_DELIVERY_ERROR_CODES.has(value);
76
- }
77
- __name(isChannelDeliveryErrorCode, "isChannelDeliveryErrorCode");
78
- function isChannelDeliveryError(value) {
79
- return value instanceof ChannelDeliveryError || typeof value === "object" && value !== null && isChannelDeliveryErrorCode(value.code) && typeof value.message === "string";
80
- }
81
- __name(isChannelDeliveryError, "isChannelDeliveryError");
82
- var CHANNEL_DELIVERY_IPC_TIMEOUT_MS = 3e4;
83
- var MAX_CHANNEL_DELIVERIES_IN_FLIGHT = 16;
84
- var MAX_CHANNEL_DELIVERY_TEXT_LENGTH = 1e5;
85
- function createChannelDeliveryMessage(request) {
86
- return {
87
- type: "channel_delivery",
88
- id: randomUUID2(),
89
- expiresAt: Date.now() + CHANNEL_DELIVERY_IPC_TIMEOUT_MS,
90
- request
91
- };
92
- }
93
- __name(createChannelDeliveryMessage, "createChannelDeliveryMessage");
94
- function isNonEmptyString(value) {
95
- return typeof value === "string" && value.trim().length > 0;
96
- }
97
- __name(isNonEmptyString, "isNonEmptyString");
98
- function isChannelDeliveryTarget(value) {
99
- if (typeof value !== "object" || value === null) return false;
100
- const target = value;
101
- return (target["type"] === "user" || target["type"] === "chat") && isNonEmptyString(target["id"]) && Object.keys(target).every((key) => key === "type" || key === "id");
102
- }
103
- __name(isChannelDeliveryTarget, "isChannelDeliveryTarget");
104
- function isChannelDeliveryRequest(value) {
105
- if (typeof value !== "object" || value === null) return false;
106
- const request = value;
107
- return isNonEmptyString(request["deliveryId"]) && isNonEmptyString(request["channelName"]) && isChannelDeliveryTarget(request["target"]) && isNonEmptyString(request["text"]) && request["text"].length <= MAX_CHANNEL_DELIVERY_TEXT_LENGTH;
108
- }
109
- __name(isChannelDeliveryRequest, "isChannelDeliveryRequest");
110
- function isChannelDeliveryMessage(value) {
111
- if (typeof value !== "object" || value === null) return false;
112
- const message = value;
113
- return message["type"] === "channel_delivery" && isNonEmptyString(message["id"]) && typeof message["expiresAt"] === "number" && Number.isFinite(message["expiresAt"]) && isChannelDeliveryRequest(message["request"]);
114
- }
115
- __name(isChannelDeliveryMessage, "isChannelDeliveryMessage");
116
- function isChannelDeliveryResultMessage(value) {
117
- if (typeof value !== "object" || value === null) return false;
118
- const message = value;
119
- if (message["type"] !== "channel_delivery_result" || !isNonEmptyString(message["id"]) || typeof message["ok"] !== "boolean") {
120
- return false;
121
- }
122
- if (message["ok"]) return true;
123
- return isChannelDeliveryErrorCode(message["code"]) && typeof message["error"] === "string";
124
- }
125
- __name(isChannelDeliveryResultMessage, "isChannelDeliveryResultMessage");
126
-
127
58
  // packages/cli/src/serve/channel-worker-startup-ipc.ts
128
59
  init_esbuild_shims();
129
60
  var MAX_CHANNEL_STARTUP_FAILURES = 64;
@@ -205,14 +136,6 @@ export {
205
136
  createChannelWebhookTaskMessage,
206
137
  isChannelWebhookTaskMessage,
207
138
  isChannelWebhookTaskResultMessage,
208
- ChannelDeliveryError,
209
- isChannelDeliveryError,
210
- CHANNEL_DELIVERY_IPC_TIMEOUT_MS,
211
- MAX_CHANNEL_DELIVERIES_IN_FLIGHT,
212
- MAX_CHANNEL_DELIVERY_TEXT_LENGTH,
213
- createChannelDeliveryMessage,
214
- isChannelDeliveryMessage,
215
- isChannelDeliveryResultMessage,
216
139
  MAX_CHANNEL_STARTUP_FAILURES,
217
140
  MAX_CHANNEL_STARTUP_FAILURE_CHANNEL_LENGTH,
218
141
  MAX_CHANNEL_STARTUP_FAILURE_CODE_LENGTH,
@@ -8,13 +8,13 @@ import {
8
8
  } from "./chunk-TXASDT2M.js";
9
9
  import {
10
10
  t
11
- } from "./chunk-W2WRNJKX.js";
11
+ } from "./chunk-RWZB422L.js";
12
12
  import {
13
13
  So
14
- } from "./chunk-XYX474JQ.js";
14
+ } from "./chunk-EWIQ3NAE.js";
15
15
  import {
16
16
  createDebugLogger
17
- } from "./chunk-2NNTE2ED.js";
17
+ } from "./chunk-UHQFIS7N.js";
18
18
  import {
19
19
  init_esbuild_shims
20
20
  } from "./chunk-5O2XNYP6.js";
@@ -5,14 +5,14 @@ import {
5
5
  isTranscribableVoiceModel,
6
6
  readVoiceLanguage,
7
7
  resolveVoiceTransport
8
- } from "./chunk-2MHGD7EE.js";
8
+ } from "./chunk-HYDJDQGJ.js";
9
9
  import {
10
10
  resolvePath
11
- } from "./chunk-2SERYG4T.js";
11
+ } from "./chunk-YTDVNSUQ.js";
12
12
  import {
13
13
  createDebugLogger,
14
14
  isSubpath
15
- } from "./chunk-2NNTE2ED.js";
15
+ } from "./chunk-UHQFIS7N.js";
16
16
  import {
17
17
  init_esbuild_shims
18
18
  } from "./chunk-5O2XNYP6.js";