@qwen-code/qwen-code 0.21.0 → 0.21.1

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 (406) hide show
  1. package/bundled/qc-helper/docs/configuration/model-providers.md +2 -0
  2. package/bundled/qc-helper/docs/configuration/settings.md +38 -28
  3. package/bundled/qc-helper/docs/features/channels/_meta.ts +1 -0
  4. package/bundled/qc-helper/docs/features/channels/github.md +107 -0
  5. package/bundled/qc-helper/docs/features/channels/overview.md +61 -6
  6. package/bundled/qc-helper/docs/features/code-review.md +1 -1
  7. package/bundled/qc-helper/docs/features/hooks.md +52 -15
  8. package/bundled/qc-helper/docs/features/mcp.md +9 -1
  9. package/bundled/qc-helper/docs/features/scheduled-tasks.md +3 -1
  10. package/bundled/qc-helper/docs/features/sub-agents.md +20 -0
  11. package/bundled/qc-helper/docs/qwen-serve.md +4 -2
  12. package/bundled/qc-helper/docs/reference/keyboard-shortcuts.md +2 -2
  13. package/bundled/qc-helper/docs/support/troubleshooting.md +2 -1
  14. package/bundled/review/DESIGN.md +19 -0
  15. package/bundled/review/SKILL.md +120 -61
  16. package/chunks/MaxSizedBox-VI3ROJJA.js +84 -0
  17. package/chunks/{StandaloneSessionPicker-BIRMPLRD.js → StandaloneSessionPicker-LYXKD2EV.js} +67 -68
  18. package/chunks/{acp-startup-profiler-RV3IV562.js → acp-startup-profiler-DFVPFQ6C.js} +2 -2
  19. package/chunks/{acpAgent-6J2U72PQ.js → acpAgent-WN5SRDQO.js} +1373 -553
  20. package/chunks/agent-K6ECSM64.js +80 -0
  21. package/chunks/agent-headless-NO4Y2HOE.js +74 -0
  22. package/chunks/{anthropicContentGenerator-75BKLTSP.js → anthropicContentGenerator-V2QOGVYD.js} +79 -27
  23. package/chunks/{artifact-tool-Y5T7GG7F.js → artifact-tool-6K6U7XYJ.js} +4 -4
  24. package/chunks/{askUserQuestion-2H6747FR.js → askUserQuestion-GD2IJJ7I.js} +4 -4
  25. package/chunks/bridge-3KJEWDNE.js +90 -0
  26. package/chunks/{build-RV63TIRH.js → build-S6DO7LMM.js} +1 -1
  27. package/chunks/{ca-25EDXPFZ.js → ca-6W3SK7OQ.js} +6 -1
  28. package/chunks/channel-management-service-XR7GZSWF.js +403 -0
  29. package/chunks/channel-settings-store-HW4FXXUA.js +87 -0
  30. package/chunks/{channel-worker-group-2ZD7TVAT.js → channel-worker-group-XDPTDWTX.js} +11 -6
  31. package/chunks/{channel-worker-manager-4OA4BCGB.js → channel-worker-manager-YYEHVRRE.js} +11 -6
  32. package/chunks/{channel-worker-supervisor-V7KCFJTS.js → channel-worker-supervisor-74HTWA2G.js} +7 -5
  33. package/chunks/{chunk-M5JM7OSF.js → chunk-2DN4J57Y.js} +2 -3
  34. package/chunks/{chunk-ETSW4KLJ.js → chunk-2FAK6PNM.js} +2 -2
  35. package/chunks/{chunk-BPJSQIJX.js → chunk-2J3OJGTL.js} +0 -2
  36. package/chunks/{chunk-EPDRMGT4.js → chunk-2LKVPASC.js} +4 -28
  37. package/chunks/{chunk-PWTZEM3C.js → chunk-2LQTH543.js} +3 -37
  38. package/chunks/{chunk-LH2BYDQ5.js → chunk-2N7CODY5.js} +18 -12
  39. package/chunks/{chunk-4WIZGAH3.js → chunk-2XSLTRFZ.js} +6 -58
  40. package/chunks/{chunk-FSITMZJH.js → chunk-3EFXSQCM.js} +18 -9
  41. package/chunks/{chunk-HIJQF5B5.js → chunk-3L2SPEBH.js} +1 -1
  42. package/chunks/{chunk-BIQWWWJN.js → chunk-4G2BISNC.js} +1 -1
  43. package/chunks/{chunk-PWVFN2LF.js → chunk-52ZSWYEG.js} +1 -1
  44. package/chunks/{chunk-ZJHVAS7M.js → chunk-5KTQXHPY.js} +4 -5
  45. package/chunks/{chunk-PC6JANNU.js → chunk-5MKRTI4T.js} +4 -4
  46. package/chunks/{chunk-DHHOYAPR.js → chunk-5TBMQLGG.js} +7 -7
  47. package/chunks/{chunk-A4UCTEB5.js → chunk-5WV5S2GT.js} +0 -1
  48. package/chunks/chunk-5YKDXHUY.js +463 -0
  49. package/chunks/chunk-5ZF5XXTS.js +363 -0
  50. package/chunks/{chunk-K4XWPEWB.js → chunk-64LQLPL7.js} +4 -33
  51. package/chunks/{chunk-YPE6A4GC.js → chunk-657BH7VM.js} +2 -2
  52. package/chunks/{chunk-R5AFZNQW.js → chunk-65PQENQP.js} +14 -7
  53. package/chunks/{chunk-RIBKPMRP.js → chunk-6PE7N3A4.js} +18 -7
  54. package/chunks/{chunk-JZA3JUDJ.js → chunk-6QIGFD5W.js} +1 -1
  55. package/chunks/{chunk-JVPM2ULZ.js → chunk-6RPMI2AB.js} +6 -6
  56. package/chunks/{chunk-OHNBB4XR.js → chunk-75GFAX4R.js} +1 -1
  57. package/chunks/{chunk-NIBLUX3Y.js → chunk-75MIQ3LV.js} +148 -21
  58. package/chunks/{chunk-U7M2DMGW.js → chunk-7AEJDLRA.js} +130 -5
  59. package/chunks/{chunk-TPRQ7RZH.js → chunk-7BAU433D.js} +2293 -945
  60. package/chunks/{chunk-M4FMGVY4.js → chunk-7DXQIJID.js} +3 -3
  61. package/chunks/{chunk-RWTEFFPU.js → chunk-7I5GTCT4.js} +620 -383
  62. package/chunks/{chunk-A5L3JMUA.js → chunk-7XATOOE7.js} +18 -4
  63. package/chunks/{chunk-Y34KJKDC.js → chunk-A2D5BAVP.js} +1 -1
  64. package/chunks/{chunk-5I2IWRSH.js → chunk-A3NDJ5SB.js} +2 -2
  65. package/chunks/{chunk-OFDOK3VM.js → chunk-A4COXFB3.js} +8 -13
  66. package/chunks/{chunk-JLU636DO.js → chunk-ALMR3E6Q.js} +1 -0
  67. package/chunks/{chunk-Q4M4MDQ4.js → chunk-AQIDMUGU.js} +1 -1
  68. package/chunks/{chunk-PJIZUQVC.js → chunk-AZQ3DT76.js} +2 -2
  69. package/chunks/{chunk-UH3WSE5L.js → chunk-B4AJNNOL.js} +1 -6
  70. package/chunks/{chunk-BJX6ZSUK.js → chunk-BCZFQXWK.js} +2 -2
  71. package/chunks/{chunk-MB4MZHMJ.js → chunk-BGTQCTQW.js} +211 -522
  72. package/chunks/{chunk-MZAXJAUM.js → chunk-BMFALVGQ.js} +1 -1
  73. package/chunks/{chunk-PSOO6YXD.js → chunk-BNWB5CYE.js} +9 -7
  74. package/chunks/{chunk-BKHWX6I2.js → chunk-BPZKP57P.js} +11 -3
  75. package/chunks/{chunk-H4SBPHSA.js → chunk-CAPPWD3X.js} +3 -3
  76. package/chunks/{chunk-LQIW3YFY.js → chunk-CQL64ESB.js} +7 -7
  77. package/chunks/{chunk-TOFQCPDC.js → chunk-CVHIL5IG.js} +4 -5
  78. package/chunks/{chunk-XVNQMZ2I.js → chunk-DGEIYUC3.js} +0 -1
  79. package/chunks/{chunk-BPZALHVR.js → chunk-DI35ZN7T.js} +1 -1
  80. package/chunks/chunk-DZLYR4U3.js +1252 -0
  81. package/chunks/{chunk-TEHGS6UP.js → chunk-EIF3FXTB.js} +117 -24
  82. package/chunks/{chunk-2SCDWPXI.js → chunk-EJGJIBRS.js} +5 -5
  83. package/chunks/{chunk-7MVVZO4N.js → chunk-EVKE2FZL.js} +4 -4
  84. package/chunks/{chunk-OKY7HXPG.js → chunk-FNMZK765.js} +2 -2
  85. package/chunks/{chunk-VIA5XA4U.js → chunk-FTD6DP4T.js} +3 -1
  86. package/chunks/chunk-FYJ7W2PI.js +194 -0
  87. package/chunks/{chunk-L5UHQJTJ.js → chunk-GATT5TKW.js} +1 -1
  88. package/chunks/{chunk-X5XDDSSH.js → chunk-GEBV2JGB.js} +28 -5
  89. package/chunks/{chunk-VAK25FTU.js → chunk-GKX7E4CO.js} +1 -1
  90. package/chunks/{chunk-LS77BEZP.js → chunk-GLCZKT5V.js} +1 -5
  91. package/chunks/{chunk-5NBDS5S6.js → chunk-GNR2RNMP.js} +162 -7
  92. package/chunks/{chunk-YH6G52F2.js → chunk-GXIJHV66.js} +4 -4
  93. package/chunks/chunk-GZ3RCT54.js +76 -0
  94. package/chunks/{chunk-2X55UKQE.js → chunk-HMRM2A3U.js} +3 -3
  95. package/chunks/chunk-HV26XH34.js +319 -0
  96. package/chunks/{chunk-LB6DUZ26.js → chunk-J7OACQDE.js} +229 -172
  97. package/chunks/{chunk-K36B6G2O.js → chunk-JFMA7Y5M.js} +5 -5
  98. package/chunks/{chunk-55DJUCI2.js → chunk-JHNRZMHI.js} +53 -43
  99. package/chunks/{chunk-63P4EL5V.js → chunk-JMONIXMJ.js} +1 -1
  100. package/chunks/{chunk-L26JL52R.js → chunk-JSD33JG6.js} +47 -64
  101. package/chunks/{chunk-YBL3QUDD.js → chunk-JTV5K7NH.js} +1 -1
  102. package/chunks/{chunk-RZIX2G32.js → chunk-JX27F6QS.js} +1 -1
  103. package/chunks/chunk-JYBU6YUE.js +378 -0
  104. package/chunks/{chunk-7JURR4JT.js → chunk-KAMYKP7E.js} +167 -81
  105. package/chunks/{chunk-KMQ33DO4.js → chunk-KCO4FLFJ.js} +4 -4
  106. package/chunks/{chunk-2W3OOD4W.js → chunk-L55JWS76.js} +6 -3
  107. package/chunks/{chunk-RHLZR4E5.js → chunk-LGAOC3ZS.js} +1 -1
  108. package/chunks/{chunk-EBJQ6AXW.js → chunk-LO4ROVP4.js} +262 -16
  109. package/chunks/{chunk-NH6KE4JX.js → chunk-LW3RFMG7.js} +3 -3
  110. package/chunks/{chunk-J56UI34H.js → chunk-M7OONWYU.js} +2 -2
  111. package/chunks/{chunk-2NH6DYI4.js → chunk-MHAIJPTD.js} +12 -12
  112. package/chunks/{chunk-FODK6UMO.js → chunk-MPHPFVKK.js} +0 -2
  113. package/chunks/{chunk-VRYUBFMC.js → chunk-MR5EAQ5M.js} +1 -1
  114. package/chunks/{chunk-JESCGQM3.js → chunk-NAVJD2PQ.js} +8 -7
  115. package/chunks/{chunk-H5FFA6TH.js → chunk-NOKIVHOL.js} +16 -3
  116. package/chunks/{chunk-6OUGMXDC.js → chunk-NWNEANAT.js} +7 -7
  117. package/chunks/{chunk-SQCQ4KO2.js → chunk-OCESJA77.js} +393 -330
  118. package/chunks/chunk-OCPBI7J5.js +18 -0
  119. package/chunks/{chunk-E5TUC6CA.js → chunk-OKF7JF3R.js} +3 -3
  120. package/chunks/{chunk-TGILQ3YH.js → chunk-P4WOAOJW.js} +141 -64
  121. package/chunks/{chunk-ZFDTEDCF.js → chunk-PB3MBFKG.js} +6 -6
  122. package/chunks/{chunk-3RN6GBKS.js → chunk-PLDQBIO6.js} +1 -1
  123. package/chunks/{chunk-FNQ6T3CV.js → chunk-PONHVBRT.js} +10 -7
  124. package/chunks/{chunk-CIKQ7KKO.js → chunk-PT722TDT.js} +271 -376
  125. package/chunks/chunk-Q43KPN7X.js +2196 -0
  126. package/chunks/{chunk-VDDGDZMA.js → chunk-QHWCP53L.js} +14 -7
  127. package/chunks/{chunk-MVSUYZDT.js → chunk-QIZKCVM3.js} +4 -4
  128. package/chunks/{chunk-QAF7NMK7.js → chunk-RCUQIPTN.js} +1 -1
  129. package/chunks/{chunk-6FGBXPWM.js → chunk-RPLGZJV2.js} +38 -44
  130. package/chunks/{chunk-GSN55ZRI.js → chunk-S4WJVPZW.js} +19 -7
  131. package/chunks/{chunk-6AM5D4ME.js → chunk-S6LOFUVP.js} +0 -12
  132. package/chunks/{chunk-BULDBTYC.js → chunk-S7W2GKIO.js} +1 -28
  133. package/chunks/{chunk-MUP3T3AD.js → chunk-SGFT55XI.js} +1 -35
  134. package/chunks/{chunk-VYPFXUCB.js → chunk-SZ3KHTDR.js} +1 -1
  135. package/chunks/chunk-T26EAKDL.js +13 -0
  136. package/chunks/{chunk-UDX5OBWR.js → chunk-T2QMKU3R.js} +80 -2
  137. package/chunks/{chunk-IKYJHJNF.js → chunk-T3O2B4XO.js} +3 -3
  138. package/chunks/{chunk-RF3EXIHJ.js → chunk-T4TXDL7G.js} +32 -21
  139. package/chunks/{chunk-J24WCGIN.js → chunk-TBBV36Y4.js} +4 -4
  140. package/chunks/{chunk-LKEJ26GS.js → chunk-TCIFAA7K.js} +16 -11
  141. package/chunks/{chunk-JXJFVC6E.js → chunk-TDL6LB4K.js} +46 -11
  142. package/chunks/{chunk-7ZCNENPP.js → chunk-TFRMVU6R.js} +1 -1
  143. package/chunks/{chunk-VULLI6WQ.js → chunk-TV64SXKD.js} +6 -6
  144. package/chunks/{chunk-FQK6JAFG.js → chunk-U3E3UQAA.js} +4 -4
  145. package/chunks/{chunk-LK7CHLVP.js → chunk-U4VTUMMK.js} +0 -60
  146. package/chunks/{chunk-ACY3A37B.js → chunk-UBEPNVDI.js} +23 -18
  147. package/chunks/{chunk-NL7LTRLR.js → chunk-UHUSJ6X7.js} +29 -68
  148. package/chunks/{chunk-ZOIFNCKL.js → chunk-UPUG4GXM.js} +3 -23
  149. package/chunks/{chunk-6GMVPFB2.js → chunk-UWMLWVCA.js} +19 -6
  150. package/chunks/{chunk-IKCX4CCL.js → chunk-VCPIZRYH.js} +118 -95
  151. package/chunks/{chunk-ZNAUOR2I.js → chunk-VWOOBLTY.js} +2 -2
  152. package/chunks/{chunk-YX324OPW.js → chunk-VYOXCEPJ.js} +1 -1
  153. package/chunks/{chunk-USTWD7QV.js → chunk-W4MIWP6M.js} +26 -16
  154. package/chunks/{chunk-HTR4WV6U.js → chunk-W4RQUHY3.js} +31 -1
  155. package/chunks/{chunk-DLWL3Z7A.js → chunk-WBSMNTSV.js} +3 -3
  156. package/chunks/{chunk-IO3IX5Q4.js → chunk-WUZ7H6DP.js} +1 -1
  157. package/chunks/{chunk-2JZBVYTU.js → chunk-WZRWHXFE.js} +1 -8
  158. package/chunks/{chunk-PHOF65IG.js → chunk-X5WNMMIA.js} +23553 -34321
  159. package/chunks/chunk-XBYYDKAZ.js +80 -0
  160. package/chunks/{chunk-COH43MRJ.js → chunk-XCGIMOLN.js} +27 -1
  161. package/chunks/{chunk-WCXCRJYB.js → chunk-XFZYFU3I.js} +1 -1
  162. package/chunks/{chunk-3QMGYBFN.js → chunk-XWWKIXVD.js} +1 -80
  163. package/chunks/{chunk-3SJ43L4W.js → chunk-XZC5VLBZ.js} +2 -0
  164. package/chunks/{chunk-UUUTRMI2.js → chunk-Y4IHBGBP.js} +1 -1
  165. package/chunks/{chunk-PR75REBZ.js → chunk-Y6AXW2OG.js} +12 -82
  166. package/chunks/{chunk-IPUUTYMV.js → chunk-YDLJGZHL.js} +1 -1
  167. package/chunks/{chunk-IJTOWOD7.js → chunk-YGF33UXG.js} +82 -8
  168. package/chunks/chunk-Z4X5MTRT.js +133 -0
  169. package/chunks/{chunk-UW5EOVUN.js → chunk-ZBVS26BY.js} +4 -4
  170. package/chunks/{chunk-ZD6UTE4A.js → chunk-ZHBO7WVX.js} +1 -1
  171. package/chunks/{chunk-HTO4JFDZ.js → chunk-ZPJWUGCS.js} +0 -1
  172. package/chunks/{chunk-KIM5GUMA.js → chunk-ZURDMIDR.js} +368 -156
  173. package/chunks/{computer-use-SOQ4E3VX.js → computer-use-ZTIDHMMA.js} +49 -50
  174. package/chunks/{config-utils-7V7GGIW6.js → config-utils-NYSXDMEQ.js} +4 -3
  175. package/chunks/contextCommand-2PIEU37Z.js +79 -0
  176. package/chunks/core-runtime-3XEYLQFK.js +133 -0
  177. package/chunks/{create-sub-session-QRJLW5BV.js → create-sub-session-R76FVXCI.js} +46 -47
  178. package/chunks/{create-sub-session-IWW2IZ2T.js → create-sub-session-SBYUMSSS.js} +3 -3
  179. package/chunks/{cron-create-YIID5XAW.js → cron-create-2QK6TCEC.js} +6 -6
  180. package/chunks/{cron-delete-ZVHYCEP2.js → cron-delete-FDCDFYMG.js} +5 -5
  181. package/chunks/{cron-list-XEGS463Q.js → cron-list-XN3WVBTP.js} +6 -6
  182. package/chunks/{daemon-YO6433NF.js → daemon-Q2AB5Z23.js} +356 -15
  183. package/chunks/daemon-status-provider-3XJI6CAL.js +89 -0
  184. package/chunks/daemon-trust-policy-ILUDTLHD.js +84 -0
  185. package/chunks/daemon-trust-policy-monitor-HS3PKKRO.js +171 -0
  186. package/chunks/{de-HGRCYDEJ.js → de-SY6O76BF.js} +6 -1
  187. package/chunks/deferred-core-runtime-X4QV662U.js +88 -0
  188. package/chunks/dist-BSTVRPMT.js +4227 -0
  189. package/chunks/{dist-46NQKLTW.js → dist-DOLYHMXE.js} +2 -2
  190. package/chunks/{dist-AIKFMUKK.js → dist-HVRQ2CFL.js} +271 -11
  191. package/chunks/{dist-WEAHOXDM.js → dist-IXQEQWRG.js} +2 -1
  192. package/chunks/{dist-BBLXMS3N.js → dist-SSU66DM4.js} +3 -3
  193. package/chunks/{dist-F6IBUDR4.js → dist-SV7Q3AWJ.js} +1 -1
  194. package/chunks/{dist-YFNEUWSE.js → dist-YGBBMK3Z.js} +1 -1
  195. package/chunks/earlyInputCapture-XKLZT7ZD.js +81 -0
  196. package/chunks/{edit-OBDSQURM.js → edit-HHGIOTQ2.js} +47 -48
  197. package/chunks/{en-MTWBNGDO.js → en-NBK3JKCE.js} +9 -1
  198. package/chunks/{enter-worktree-U6MRPQ2P.js → enter-worktree-ZN7PUQ46.js} +47 -48
  199. package/chunks/{enterPlanMode-BC5QUZZ2.js → enterPlanMode-EIFIDSIV.js} +47 -48
  200. package/chunks/{environment-W5UFC2CH.js → environment-XXQ75D2Q.js} +48 -49
  201. package/chunks/errors-4GMVU7CK.js +87 -0
  202. package/chunks/esm-K5FARBNI.js +5548 -0
  203. package/chunks/{exit-worktree-DGNYMECB.js → exit-worktree-GXMI4ATY.js} +47 -48
  204. package/chunks/exitPlanMode-34UVY7M6.js +72 -0
  205. package/chunks/{fast-path-JJZFJANL.js → fast-path-VPIVA7L6.js} +16 -6
  206. package/chunks/{fr-45RLL55O.js → fr-4KG5V7UT.js} +6 -1
  207. package/chunks/{gemini-QS36EBZV.js → gemini-4BWIK4WD.js} +102 -99
  208. package/chunks/{geminiContentGenerator-AG4KB6CV.js → geminiContentGenerator-3XVV5MSS.js} +40 -11
  209. package/chunks/{getMachineId-bsd-V7W3GODC.js → getMachineId-bsd-FG7IUY6U.js} +1 -1
  210. package/chunks/{getMachineId-darwin-TDO75DQP.js → getMachineId-darwin-GLCJI2RA.js} +1 -1
  211. package/chunks/{getMachineId-linux-TF43WQT2.js → getMachineId-linux-O6OPPAKO.js} +1 -1
  212. package/chunks/{getMachineId-unsupported-ZGUO3TXT.js → getMachineId-unsupported-S6CKYVGC.js} +1 -1
  213. package/chunks/{getMachineId-win-ECFYZZFQ.js → getMachineId-win-X5SRNEH7.js} +1 -1
  214. package/chunks/{glob-V7R3PSK3.js → glob-TZ2ABCJG.js} +47 -48
  215. package/chunks/{grep-QYPSK7OP.js → grep-BEF463NA.js} +49 -49
  216. package/chunks/handleAutoUpdate-L6ERF36Y.js +80 -0
  217. package/chunks/i18n-FMM5FDXR.js +96 -0
  218. package/chunks/{image-gen-Z3VPGKRC.js → image-gen-HHVLF7HS.js} +12 -12
  219. package/chunks/initializer-625TIAIO.js +85 -0
  220. package/chunks/installationInfo-6AM4I2Y3.js +79 -0
  221. package/chunks/{ja-B7DF7DFG.js → ja-F3GSQXMF.js} +6 -1
  222. package/chunks/{keychain-token-storage-MDTG3WRM.js → keychain-token-storage-72IYCAZV.js} +3 -3
  223. package/chunks/lib-RUF3WZA6.js +9 -0
  224. package/chunks/list-L2GA674Y.js +88 -0
  225. package/chunks/{list-agents-5KJJHR6I.js → list-agents-R6KDXQR3.js} +3 -3
  226. package/chunks/loadedSettingsAdapter-SPUTNKAV.js +82 -0
  227. package/chunks/{loggingContentGenerator-HS3S5H3Q.js → loggingContentGenerator-LKOF7XI7.js} +78 -113
  228. package/chunks/{loop-wakeup-FXKNNYSY.js → loop-wakeup-3IQKCYAH.js} +7 -7
  229. package/chunks/{ls-NTK6VOQJ.js → ls-DKZ37A7N.js} +5 -5
  230. package/chunks/{lsp-2JI24STP.js → lsp-QNWN7KN3.js} +3 -3
  231. package/chunks/{managed-npm-update-JYEMMXA3.js → managed-npm-update-ACQGGIN5.js} +47 -48
  232. package/chunks/mcp-SZLHKFJW.js +82 -0
  233. package/chunks/{monitor-R3ODH5U6.js → monitor-DF52UVHI.js} +47 -48
  234. package/chunks/nonInteractiveCli-5T7KYKLK.js +144 -0
  235. package/chunks/{notebook-edit-BNOK452R.js → notebook-edit-FCWS4XVN.js} +47 -48
  236. package/chunks/{openaiContentGenerator-WMCU3O2H.js → openaiContentGenerator-7LDK3DCJ.js} +26 -27
  237. package/chunks/pidfile-6ERW3DF4.js +85 -0
  238. package/chunks/process-registry-2CHQBXH5.js +157 -0
  239. package/chunks/{processUtils-RT7UNCC2.js → processUtils-COKZAMUP.js} +2 -2
  240. package/chunks/{pt-22Q3FP73.js → pt-EQ33KWEN.js} +6 -1
  241. package/chunks/{qwenContentGenerator-HHCRK4SX.js → qwenContentGenerator-TKWUMR7N.js} +52 -53
  242. package/chunks/{qwenOAuth2-OWLB5AKH.js → qwenOAuth2-7HMU47SF.js} +10 -10
  243. package/chunks/read-file-X6DRC574.js +29 -0
  244. package/chunks/{read-mcp-resource-4DKQWGHD.js → read-mcp-resource-GFTWYXMK.js} +4 -4
  245. package/chunks/{record-artifact-RQKFYO5B.js → record-artifact-XAMSFSW4.js} +3 -3
  246. package/chunks/resumeHistoryUtils-PFPM2GWM.js +90 -0
  247. package/chunks/ripGrep-OWV2IVJC.js +72 -0
  248. package/chunks/{ru-FZCNZHDC.js → ru-7OZAUKGG.js} +6 -1
  249. package/chunks/{run-qwen-serve-FU6HEM4J.js → run-qwen-serve-TSTCO4XE.js} +953 -249
  250. package/chunks/{runtime-XXRRTNP6.js → runtime-DAUPSUKI.js} +56 -56
  251. package/chunks/{scheduler-G2ZS2Z7E.js → scheduler-KMADMT26.js} +46 -47
  252. package/chunks/{sdk-exporters-grpc-AK3LGHNO.js → sdk-exporters-grpc-54L4LS5L.js} +4 -4
  253. package/chunks/{sdk-exporters-http-FYBSUCPD.js → sdk-exporters-http-WO556XNU.js} +7 -7
  254. package/chunks/{sdk-impl-GMVPB7NB.js → sdk-impl-LPAVACSF.js} +14 -14
  255. package/chunks/{send-message-Q6OOR6BR.js → send-message-SAWK4DZX.js} +6 -6
  256. package/chunks/serve-NNRWS6F4.js +88 -0
  257. package/chunks/{server-4UMH7OIZ.js → server-WEH7DVCH.js} +3691 -823
  258. package/chunks/{session-K3O3Q2SV.js → session-WXC56V2I.js} +98 -95
  259. package/chunks/{settings-CR2EWTBA.js → settings-DJDXFDZ3.js} +55 -56
  260. package/chunks/shell-JN5VRQXD.js +82 -0
  261. package/chunks/{skill-I3SDA4MB.js → skill-SGXPKJCS.js} +20 -21
  262. package/chunks/skill-settings-VJ5PDMZI.js +90 -0
  263. package/chunks/spawnChannel-ETMJW7YX.js +81 -0
  264. package/chunks/standalone-update-MK3Z7KBI.js +91 -0
  265. package/chunks/{startInteractiveUI-SLZGHRPH.js → startInteractiveUI-ZCGIXPGT.js} +724 -383
  266. package/chunks/{syntheticOutput-I3757IWH.js → syntheticOutput-355CB6CJ.js} +4 -4
  267. package/chunks/{task-create-N7WQSGYA.js → task-create-INGWNUG4.js} +10 -10
  268. package/chunks/{task-list-FOPULZEP.js → task-list-5XNNGTF4.js} +7 -7
  269. package/chunks/{task-stop-H6RHXFVQ.js → task-stop-4ROAOBXH.js} +3 -3
  270. package/chunks/{task-update-M57TFZJT.js → task-update-CRK5VWWZ.js} +10 -10
  271. package/chunks/{team-create-YJALH5D2.js → team-create-QQGAJG7P.js} +49 -50
  272. package/chunks/{team-delete-QE2UXJL7.js → team-delete-S2RCXA4P.js} +7 -7
  273. package/chunks/{team-plan-approval-34QFYKGN.js → team-plan-approval-RT7Q5R6O.js} +47 -48
  274. package/chunks/theme-manager-EEWIQJ7J.js +76 -0
  275. package/chunks/{todoWrite-VQ7FKOHL.js → todoWrite-7WM3VDMY.js} +7 -7
  276. package/chunks/{tool-search-NF7GB6LE.js → tool-search-Z3Z4AYKP.js} +19 -21
  277. package/chunks/total-session-admission-44JKRWQD.js +84 -0
  278. package/chunks/trustedFolders-X2JEIO57.js +94 -0
  279. package/chunks/{update-relaunch-WBUZJC5O.js → update-relaunch-VWNPYDIP.js} +5 -5
  280. package/chunks/updateCheck-KAQH67DV.js +91 -0
  281. package/chunks/useAutoAcceptIndicator-JH6BCF7S.js +92 -0
  282. package/chunks/{validateNonInterActiveAuth-3R223G3R.js → validateNonInterActiveAuth-GIUJ2UFS.js} +93 -90
  283. package/chunks/{version-HS7YSFHV.js → version-BGLYIJUY.js} +1 -1
  284. package/chunks/{web-fetch-NKCSG7ZE.js → web-fetch-OTDU4VQF.js} +19 -21
  285. package/chunks/{web-search-S62WAP4S.js → web-search-FP6SIHPR.js} +13 -13
  286. package/chunks/{workflow-QAGU5RU4.js → workflow-YCIVBYSB.js} +48 -49
  287. package/chunks/workspace-providers-status-S35YAIUS.js +85 -0
  288. package/chunks/{workspace-registration-store-24JMHDGF.js → workspace-registration-store-OTMS3H4C.js} +1 -1
  289. package/chunks/workspace-registry-O63R6IZ4.js +92 -0
  290. package/chunks/workspace-service-M6LLHKJ5.js +99 -0
  291. package/chunks/workspace-skills-status-C2V7BAIS.js +85 -0
  292. package/chunks/workspace-trust-reconciler-IBUPOUJN.js +345 -0
  293. package/chunks/write-file-3BZC3EAE.js +72 -0
  294. package/chunks/xterm-headless-NTYVIBT3.js +3475 -0
  295. package/chunks/{zh-LUIGBD55.js → zh-H3YDK5QW.js} +9 -1
  296. package/chunks/{zh-TW-F5KG2IYD.js → zh-TW-JYCP7XUA.js} +9 -1
  297. package/chunks/zoom-image-TZ6S2O57.js +351 -0
  298. package/cli.js +13 -13
  299. package/locales/ca.js +7 -2
  300. package/locales/de.js +7 -2
  301. package/locales/en.js +10 -2
  302. package/locales/fr.js +7 -2
  303. package/locales/ja.js +7 -2
  304. package/locales/pt.js +7 -2
  305. package/locales/ru.js +7 -2
  306. package/locales/zh-TW.js +10 -2
  307. package/locales/zh.js +10 -2
  308. package/package.json +5 -4
  309. package/web-shell/assets/{arc-DcbWnB9T.js → arc-75-Wdeo3.js} +1 -1
  310. package/web-shell/assets/{architectureDiagram-3BPJPVTR-kMMF5sud.js → architectureDiagram-3BPJPVTR-FKeXQbyP.js} +1 -1
  311. package/web-shell/assets/{blockDiagram-GPEHLZMM-Htl9vTJS.js → blockDiagram-GPEHLZMM-CY0vc-A3.js} +1 -1
  312. package/web-shell/assets/{c4Diagram-AAUBKEIU-BnZnm0mQ.js → c4Diagram-AAUBKEIU-CNP-A-8u.js} +1 -1
  313. package/web-shell/assets/channel-DPYMT76A.js +1 -0
  314. package/web-shell/assets/{chunk-2J33WTMH-DziB7kDG.js → chunk-2J33WTMH-GybS4Gii.js} +1 -1
  315. package/web-shell/assets/{chunk-4BX2VUAB-CmkD8daw.js → chunk-4BX2VUAB-02H91V8v.js} +1 -1
  316. package/web-shell/assets/{chunk-55IACEB6-CHAd9A_U.js → chunk-55IACEB6-D3M-2VT6.js} +1 -1
  317. package/web-shell/assets/{chunk-727SXJPM-Dqaam3fE.js → chunk-727SXJPM-CCu29u4H.js} +1 -1
  318. package/web-shell/assets/{chunk-AQP2D5EJ-D_-saBYM.js → chunk-AQP2D5EJ-CaFKWgrn.js} +1 -1
  319. package/web-shell/assets/{chunk-FMBD7UC4-B9r_veWD.js → chunk-FMBD7UC4-ZZpPqIwQ.js} +1 -1
  320. package/web-shell/assets/{chunk-ND2GUHAM-B3EaCSpL.js → chunk-ND2GUHAM-D22DqGs8.js} +1 -1
  321. package/web-shell/assets/{chunk-QZHKN3VN-CYq8x9mn.js → chunk-QZHKN3VN-Bu85S0fw.js} +1 -1
  322. package/web-shell/assets/classDiagram-4FO5ZUOK--JstsIgL.js +1 -0
  323. package/web-shell/assets/classDiagram-v2-Q7XG4LA2--JstsIgL.js +1 -0
  324. package/web-shell/assets/{cose-bilkent-S5V4N54A-D0ng4uiB.js → cose-bilkent-S5V4N54A-f1CK1Gwe.js} +1 -1
  325. package/web-shell/assets/{dagre-BM42HDAG-DCZollQv.js → dagre-BM42HDAG-D0Ow8F_n.js} +1 -1
  326. package/web-shell/assets/{diagram-2AECGRRQ-Dfk2pWS0.js → diagram-2AECGRRQ-BPrmTWp8.js} +1 -1
  327. package/web-shell/assets/{diagram-5GNKFQAL-kX38ltWR.js → diagram-5GNKFQAL-HccuFAzy.js} +1 -1
  328. package/web-shell/assets/{diagram-KO2AKTUF-CJz2vsXh.js → diagram-KO2AKTUF-BrS76mbA.js} +1 -1
  329. package/web-shell/assets/{diagram-LMA3HP47-BvMLZm_7.js → diagram-LMA3HP47-V7T9lU-5.js} +1 -1
  330. package/web-shell/assets/{diagram-OG6HWLK6-l7kfStkO.js → diagram-OG6HWLK6-DKidyJMR.js} +1 -1
  331. package/web-shell/assets/{erDiagram-TEJ5UH35-BSVa8GGT.js → erDiagram-TEJ5UH35-DBadZIkp.js} +1 -1
  332. package/web-shell/assets/{flowDiagram-I6XJVG4X-CoawKIXH.js → flowDiagram-I6XJVG4X-BymfqdNJ.js} +1 -1
  333. package/web-shell/assets/{ganttDiagram-6RSMTGT7-DFUDH0zF.js → ganttDiagram-6RSMTGT7-DOw340jf.js} +1 -1
  334. package/web-shell/assets/{gitGraphDiagram-PVQCEYII-Y2pvpT4e.js → gitGraphDiagram-PVQCEYII-_8EiD8sl.js} +1 -1
  335. package/web-shell/assets/{index-D0GX0zZf.js → index-CKIadvET.js} +1 -1
  336. package/web-shell/assets/index-D1eXNRHe.js +1389 -0
  337. package/web-shell/assets/index-DVLD4CQq.css +5 -0
  338. package/web-shell/assets/{infoDiagram-5YYISTIA-CU8_zLiX.js → infoDiagram-5YYISTIA-D61KYQBu.js} +1 -1
  339. package/web-shell/assets/{ishikawaDiagram-YF4QCWOH-AVQiV0DU.js → ishikawaDiagram-YF4QCWOH-CsiXSpNx.js} +1 -1
  340. package/web-shell/assets/{journeyDiagram-JHISSGLW-DQ0VSKa3.js → journeyDiagram-JHISSGLW-Sdfionyh.js} +1 -1
  341. package/web-shell/assets/{kanban-definition-UN3LZRKU-BqnWqsE_.js → kanban-definition-UN3LZRKU-C3WI3Cnl.js} +1 -1
  342. package/web-shell/assets/{linear-BkoihsaA.js → linear-Dpigcc62.js} +1 -1
  343. package/web-shell/assets/{mermaid.core-5RJs-31j.js → mermaid.core-Ct97pqgW.js} +5 -5
  344. package/web-shell/assets/{mindmap-definition-RKZ34NQL-D33Bxnpd.js → mindmap-definition-RKZ34NQL-BzeaN0rB.js} +1 -1
  345. package/web-shell/assets/{pieDiagram-4H26LBE5-BuEAw3BH.js → pieDiagram-4H26LBE5-CvjgcbVD.js} +1 -1
  346. package/web-shell/assets/{quadrantDiagram-W4KKPZXB-Kox_usEq.js → quadrantDiagram-W4KKPZXB-BUzgTNdH.js} +1 -1
  347. package/web-shell/assets/{requirementDiagram-4Y6WPE33-CNjeUif0.js → requirementDiagram-4Y6WPE33-B7zKlgUQ.js} +1 -1
  348. package/web-shell/assets/{sankeyDiagram-5OEKKPKP-BCd2OL_U.js → sankeyDiagram-5OEKKPKP-Bb9CQgrT.js} +1 -1
  349. package/web-shell/assets/{sequenceDiagram-3UESZ5HK-CF2ZTsz0.js → sequenceDiagram-3UESZ5HK-DJ6V7itG.js} +1 -1
  350. package/web-shell/assets/{stateDiagram-AJRCARHV-qenSzHtm.js → stateDiagram-AJRCARHV-IImflERY.js} +1 -1
  351. package/web-shell/assets/stateDiagram-v2-BHNVJYJU-CYI_YoNR.js +1 -0
  352. package/web-shell/assets/{timeline-definition-PNZ67QCA-B5DyWdgs.js → timeline-definition-PNZ67QCA-6Q_uWHKh.js} +1 -1
  353. package/web-shell/assets/{vennDiagram-CIIHVFJN-DqP4I_o_.js → vennDiagram-CIIHVFJN-TmyKyjwv.js} +1 -1
  354. package/web-shell/assets/{wardley-L42UT6IY-CJe2e4mg.js → wardley-L42UT6IY-CRh9uiPv.js} +1 -1
  355. package/web-shell/assets/{wardleyDiagram-YWT4CUSO-BMDSw-Rr.js → wardleyDiagram-YWT4CUSO-59TKAW8w.js} +1 -1
  356. package/web-shell/assets/{xychartDiagram-2RQKCTM6-BTVZYkxD.js → xychartDiagram-2RQKCTM6-GCSUIK2L.js} +1 -1
  357. package/web-shell/index.html +2 -2
  358. package/chunks/MaxSizedBox-5DPPWPGT.js +0 -85
  359. package/chunks/agent-6ODUANDO.js +0 -81
  360. package/chunks/agent-headless-7BYQTMHW.js +0 -75
  361. package/chunks/bridge-ZUB64FAE.js +0 -90
  362. package/chunks/chunk-LEH5C7FV.js +0 -232
  363. package/chunks/chunk-SZRN75WQ.js +0 -29
  364. package/chunks/chunk-UGYMA4EI.js +0 -219
  365. package/chunks/chunk-Z2BC6UJ5.js +0 -8575
  366. package/chunks/contextCommand-JLHYA34Z.js +0 -80
  367. package/chunks/daemon-status-provider-2233Q37D.js +0 -89
  368. package/chunks/earlyInputCapture-A7NDU3PF.js +0 -82
  369. package/chunks/errors-M7CLORXH.js +0 -88
  370. package/chunks/exitPlanMode-GXTBWQAR.js +0 -403
  371. package/chunks/handleAutoUpdate-6DBEZYPV.js +0 -81
  372. package/chunks/i18n-VUJJZIMU.js +0 -97
  373. package/chunks/initializer-UWAK5U5O.js +0 -86
  374. package/chunks/installationInfo-6O2YAA52.js +0 -80
  375. package/chunks/list-GB4ESM3T.js +0 -89
  376. package/chunks/loadedSettingsAdapter-OT6JVQ7U.js +0 -83
  377. package/chunks/mcp-6DBDJPFU.js +0 -83
  378. package/chunks/nonInteractiveCli-MOYCYBBU.js +0 -141
  379. package/chunks/pidfile-TFRZZZIO.js +0 -86
  380. package/chunks/read-file-APMO3PSX.js +0 -31
  381. package/chunks/resumeHistoryUtils-6KRYEAWZ.js +0 -91
  382. package/chunks/ripGrep-BEJDEDXW.js +0 -73
  383. package/chunks/serve-7BSTXJ4T.js +0 -89
  384. package/chunks/shell-HH3PF3A2.js +0 -83
  385. package/chunks/spawnChannel-RWNDBXGA.js +0 -82
  386. package/chunks/src-GE4TTTML.js +0 -3147
  387. package/chunks/standalone-update-Q6WFRZZQ.js +0 -92
  388. package/chunks/theme-manager-SWRILQHI.js +0 -77
  389. package/chunks/total-session-admission-DLHHHLD3.js +0 -84
  390. package/chunks/trustedFolders-KHXHY6PY.js +0 -93
  391. package/chunks/updateCheck-RKL6M5XN.js +0 -92
  392. package/chunks/useAutoAcceptIndicator-CFQ5BUJL.js +0 -93
  393. package/chunks/workspace-providers-status-QSVZUETE.js +0 -86
  394. package/chunks/workspace-registry-UT4RBNBM.js +0 -88
  395. package/chunks/workspace-service-JFWRUS4V.js +0 -98
  396. package/chunks/workspace-skills-status-ZBBKJOI2.js +0 -85
  397. package/chunks/write-file-VHIXW5M7.js +0 -73
  398. package/web-shell/assets/channel-Cq7YKtfC.js +0 -1
  399. package/web-shell/assets/classDiagram-4FO5ZUOK-CQ9aC1Tg.js +0 -1
  400. package/web-shell/assets/classDiagram-v2-Q7XG4LA2-CQ9aC1Tg.js +0 -1
  401. package/web-shell/assets/index-D9haPt0X.css +0 -5
  402. package/web-shell/assets/index-ckX9Pq5k.js +0 -1230
  403. package/web-shell/assets/stateDiagram-v2-BHNVJYJU-B7W4zlCr.js +0 -1
  404. package/chunks/{chunk-TARRHLLG.js → chunk-QUGAUQGJ.js} +25 -25
  405. package/chunks/{chunk-U7ZFW55U.js → chunk-VOQXFAY5.js} +977 -977
  406. /package/chunks/{chunk-LXXMOYPL.js → chunk-VXZBKKQR.js} +0 -0
@@ -0,0 +1,363 @@
1
+ // Force strict mode and setup for ESM
2
+ "use strict";
3
+ import {
4
+ getPlugin
5
+ } from "./chunk-XBYYDKAZ.js";
6
+ import {
7
+ loadSettings,
8
+ saveSettings
9
+ } from "./chunk-EIF3FXTB.js";
10
+ import {
11
+ init_esbuild_shims
12
+ } from "./chunk-5O2XNYP6.js";
13
+ import {
14
+ __name
15
+ } from "./chunk-J2S4EL5Y.js";
16
+
17
+ // packages/cli/src/serve/channel-settings-store.ts
18
+ init_esbuild_shims();
19
+ import { createHash } from "node:crypto";
20
+ import { isDeepStrictEqual } from "node:util";
21
+ var ChannelSettingsError = class extends Error {
22
+ constructor(code, message) {
23
+ super(message);
24
+ this.code = code;
25
+ this.name = "ChannelSettingsError";
26
+ }
27
+ static {
28
+ __name(this, "ChannelSettingsError");
29
+ }
30
+ };
31
+ function revisionOf(channels, startupNames) {
32
+ return createHash("sha256").update(JSON.stringify({ channels, startupNames })).digest("hex");
33
+ }
34
+ __name(revisionOf, "revisionOf");
35
+ function applySecretUpdate(current, update) {
36
+ validateSecretUpdate(update);
37
+ if (update.operation === "preserve") return current;
38
+ if (update.operation === "clear") return void 0;
39
+ if (typeof update.value !== "string" || update.value.length === 0) {
40
+ throw invalidSecret("Secret replacements must be non-empty strings.");
41
+ }
42
+ return update.value;
43
+ }
44
+ __name(applySecretUpdate, "applySecretUpdate");
45
+ function invalidSecret(message) {
46
+ return new ChannelSettingsError("channel_settings_invalid_secret", message);
47
+ }
48
+ __name(invalidSecret, "invalidSecret");
49
+ function invalidConfig(message) {
50
+ return new ChannelSettingsError("channel_settings_invalid_config", message);
51
+ }
52
+ __name(invalidConfig, "invalidConfig");
53
+ var UNSAFE_OBJECT_KEYS = /* @__PURE__ */ new Set(["__proto__", "constructor", "prototype"]);
54
+ function assertSafeChannelName(name) {
55
+ if (UNSAFE_OBJECT_KEYS.has(name)) {
56
+ throw new ChannelSettingsError(
57
+ "channel_settings_invalid_name",
58
+ `Channel name ${JSON.stringify(name)} is not allowed.`
59
+ );
60
+ }
61
+ }
62
+ __name(assertSafeChannelName, "assertSafeChannelName");
63
+ function assertUpsertChannelName(name) {
64
+ assertSafeChannelName(name);
65
+ if (isAllStartupName(name)) {
66
+ throw new ChannelSettingsError(
67
+ "channel_settings_invalid_name",
68
+ `Channel name ${JSON.stringify(name)} is reserved for startup selection.`
69
+ );
70
+ }
71
+ }
72
+ __name(assertUpsertChannelName, "assertUpsertChannelName");
73
+ function isAllStartupName(name) {
74
+ return name.trim() === "all";
75
+ }
76
+ __name(isAllStartupName, "isAllStartupName");
77
+ function isRecord(value) {
78
+ return value !== null && typeof value === "object" && !Array.isArray(value);
79
+ }
80
+ __name(isRecord, "isRecord");
81
+ function isEnvironmentReference(value) {
82
+ return /^\$[A-Za-z_][A-Za-z0-9_]*$/.test(value);
83
+ }
84
+ __name(isEnvironmentReference, "isEnvironmentReference");
85
+ function assertStringRecord(key, value, allowedKeys) {
86
+ if (!isRecord(value)) {
87
+ throw invalidConfig(`Channel field "${key}" must be an object.`);
88
+ }
89
+ for (const [nestedKey, nestedValue] of Object.entries(value)) {
90
+ if (!allowedKeys.has(nestedKey) || typeof nestedValue !== "string") {
91
+ throw invalidConfig(`Channel field "${key}.${nestedKey}" is invalid.`);
92
+ }
93
+ }
94
+ }
95
+ __name(assertStringRecord, "assertStringRecord");
96
+ function assertNumberRecord(key, value, allowedKeys) {
97
+ if (!isRecord(value)) {
98
+ throw invalidConfig(`Channel field "${key}" must be an object.`);
99
+ }
100
+ for (const [nestedKey, nestedValue] of Object.entries(value)) {
101
+ if (!allowedKeys.has(nestedKey) || typeof nestedValue !== "number" || !Number.isFinite(nestedValue)) {
102
+ throw invalidConfig(`Channel field "${key}.${nestedKey}" is invalid.`);
103
+ }
104
+ }
105
+ }
106
+ __name(assertNumberRecord, "assertNumberRecord");
107
+ function assertSharedField(key, value) {
108
+ const enumValues = {
109
+ senderPolicy: /* @__PURE__ */ new Set(["allowlist", "pairing", "open"]),
110
+ dmPolicy: /* @__PURE__ */ new Set(["open", "disabled"]),
111
+ groupPolicy: /* @__PURE__ */ new Set(["disabled", "allowlist", "open"]),
112
+ sessionScope: /* @__PURE__ */ new Set(["user", "thread", "single"]),
113
+ dispatchMode: /* @__PURE__ */ new Set(["steer", "followup", "collect"]),
114
+ blockStreaming: /* @__PURE__ */ new Set(["on", "off"])
115
+ };
116
+ if (Object.hasOwn(enumValues, key)) {
117
+ if (typeof value !== "string" || !enumValues[key].has(value)) {
118
+ throw invalidConfig(`Channel field "${key}" has an invalid value.`);
119
+ }
120
+ return true;
121
+ }
122
+ if (["model", "cwd", "approvalMode", "instructions"].includes(key)) {
123
+ if (typeof value !== "string") {
124
+ throw invalidConfig(`Channel field "${key}" must be a string.`);
125
+ }
126
+ return true;
127
+ }
128
+ if (key === "allowedUsers") {
129
+ if (!Array.isArray(value) || value.some((item) => typeof item !== "string")) {
130
+ throw invalidConfig(`Channel field "${key}" must be a string array.`);
131
+ }
132
+ return true;
133
+ }
134
+ if (key === "groupHistoryLimit") {
135
+ if (typeof value !== "number" || !Number.isFinite(value)) {
136
+ throw invalidConfig(`Channel field "${key}" must be a number.`);
137
+ }
138
+ return true;
139
+ }
140
+ if (key === "identity") {
141
+ assertStringRecord(
142
+ key,
143
+ value,
144
+ /* @__PURE__ */ new Set(["id", "displayName", "description"])
145
+ );
146
+ return true;
147
+ }
148
+ if (key === "blockStreamingChunk") {
149
+ assertNumberRecord(key, value, /* @__PURE__ */ new Set(["minChars", "maxChars"]));
150
+ return true;
151
+ }
152
+ if (key === "blockStreamingCoalesce") {
153
+ assertNumberRecord(key, value, /* @__PURE__ */ new Set(["idleMs"]));
154
+ return true;
155
+ }
156
+ if (key === "memoryScope") {
157
+ if (!isRecord(value)) {
158
+ throw invalidConfig(`Channel field "${key}" must be an object.`);
159
+ }
160
+ for (const [nestedKey, nestedValue] of Object.entries(value)) {
161
+ const valid = nestedKey === "namespace" && typeof nestedValue === "string" || nestedKey === "mode" && nestedValue === "metadata-only";
162
+ if (!valid) {
163
+ throw invalidConfig(`Channel field "${key}.${nestedKey}" is invalid.`);
164
+ }
165
+ }
166
+ return true;
167
+ }
168
+ return false;
169
+ }
170
+ __name(assertSharedField, "assertSharedField");
171
+ function assertDescriptorValue(field, value) {
172
+ const invalidEnvironment = typeof value === "string" && isEnvironmentReference(value) && field.envResolvable !== true;
173
+ if (invalidEnvironment) {
174
+ throw invalidConfig(
175
+ `Channel field "${field.key}" does not support environment references.`
176
+ );
177
+ }
178
+ const valid = (field.kind === "string" || field.kind === "secret") && typeof value === "string" && value.length > 0 || field.kind === "boolean" && typeof value === "boolean" || field.kind === "number" && typeof value === "number" && Number.isFinite(value) || field.kind === "enum" && typeof value === "string" && field.options?.some((option) => option.value === value) === true;
179
+ if (!valid) {
180
+ throw invalidConfig(`Channel field "${field.key}" has an invalid value.`);
181
+ }
182
+ }
183
+ __name(assertDescriptorValue, "assertDescriptorValue");
184
+ function assertManagedConfig(config, previous, fields) {
185
+ const descriptorFields = new Map(fields.map((field) => [field.key, field]));
186
+ for (const [key, value] of Object.entries(config)) {
187
+ if (key === "type") continue;
188
+ const field = descriptorFields.get(key);
189
+ if (field) {
190
+ assertDescriptorValue(field, value);
191
+ continue;
192
+ }
193
+ if (assertSharedField(key, value)) continue;
194
+ if (!Object.hasOwn(previous, key) || !isDeepStrictEqual(previous[key], value)) {
195
+ throw invalidConfig(`Channel field "${key}" is not manageable.`);
196
+ }
197
+ }
198
+ for (const field of fields) {
199
+ if (!field.required) continue;
200
+ const value = config[field.key];
201
+ if (value === void 0 || value === null || value === "") {
202
+ throw invalidConfig(`Channel field "${field.key}" is required.`);
203
+ }
204
+ }
205
+ }
206
+ __name(assertManagedConfig, "assertManagedConfig");
207
+ function validateSecretUpdate(update) {
208
+ if (!isRecord(update)) {
209
+ throw invalidSecret("Secret updates must be objects.");
210
+ }
211
+ const operation = update["operation"];
212
+ const keys = Object.keys(update).sort();
213
+ const valid = (operation === "preserve" || operation === "clear") && keys.length === 1 && keys[0] === "operation" || operation === "replace" && keys.length === 2 && keys[0] === "operation" && keys[1] === "value" && typeof update["value"] === "string" && update["value"].length > 0;
214
+ if (!valid) {
215
+ throw invalidSecret("Secret updates contain an invalid operation.");
216
+ }
217
+ }
218
+ __name(validateSecretUpdate, "validateSecretUpdate");
219
+ function assertValidChannelSecretUpdates(updates) {
220
+ if (!isRecord(updates)) {
221
+ throw invalidSecret("Secret updates must be objects.");
222
+ }
223
+ for (const [key, update] of Object.entries(updates)) {
224
+ if (UNSAFE_OBJECT_KEYS.has(key)) {
225
+ throw invalidSecret(`Secret update ${JSON.stringify(key)} is invalid.`);
226
+ }
227
+ validateSecretUpdate(update);
228
+ }
229
+ }
230
+ __name(assertValidChannelSecretUpdates, "assertValidChannelSecretUpdates");
231
+ function workspaceValues(workspaceCwd) {
232
+ const settings = loadSettings(workspaceCwd, { skipLoadEnvironment: true }).workspace.settings;
233
+ const rawChannels = isRecord(settings.channels) ? settings.channels : {};
234
+ const channels = {};
235
+ for (const [name, config] of Object.entries(rawChannels)) {
236
+ if (isRecord(config)) channels[name] = config;
237
+ }
238
+ const startupNames = Array.isArray(settings.serve?.channels) ? settings.serve.channels.filter(
239
+ (name) => typeof name === "string"
240
+ ) : [];
241
+ return { channels, startupNames };
242
+ }
243
+ __name(workspaceValues, "workspaceValues");
244
+ var WorkspaceChannelSettingsStore = class {
245
+ constructor(workspaceCwd) {
246
+ this.workspaceCwd = workspaceCwd;
247
+ }
248
+ static {
249
+ __name(this, "WorkspaceChannelSettingsStore");
250
+ }
251
+ snapshot() {
252
+ const { channels, startupNames } = workspaceValues(this.workspaceCwd);
253
+ return {
254
+ revision: revisionOf(channels, startupNames),
255
+ channels: { ...channels },
256
+ startupNames: [...startupNames]
257
+ };
258
+ }
259
+ async upsert(name, options) {
260
+ assertUpsertChannelName(name);
261
+ const secretUpdates = options.secrets === void 0 ? {} : options.secrets;
262
+ assertValidChannelSecretUpdates(secretUpdates);
263
+ const plugin = await getPlugin(options.config.type);
264
+ if (!plugin?.management) {
265
+ throw new ChannelSettingsError(
266
+ "channel_settings_unmanageable",
267
+ `Channel type "${options.config.type}" does not provide safe management metadata.`
268
+ );
269
+ }
270
+ const secretKeys = new Set(
271
+ plugin.management.fields.filter((field) => field.kind === "secret").map((field) => field.key)
272
+ );
273
+ for (const key of Object.keys(secretUpdates)) {
274
+ if (!secretKeys.has(key)) {
275
+ throw invalidSecret(
276
+ `Channel type "${options.config.type}" does not declare "${key}" as a secret.`
277
+ );
278
+ }
279
+ }
280
+ for (const key of secretKeys) {
281
+ if (Object.hasOwn(options.config, key)) {
282
+ throw invalidSecret(
283
+ `Secret "${key}" must use an explicit preserve, replace, or clear operation.`
284
+ );
285
+ }
286
+ }
287
+ const current = this.assertRevision(options.expectedRevision);
288
+ const storedPrevious = current.channels[name] ?? {};
289
+ const previous = storedPrevious["type"] === options.config.type ? storedPrevious : {};
290
+ const nextConfig = { ...options.config };
291
+ for (const key of secretKeys) {
292
+ const update = secretUpdates[key] ?? { operation: "preserve" };
293
+ const value = applySecretUpdate(previous[key], update);
294
+ if (value !== void 0) nextConfig[key] = value;
295
+ }
296
+ assertManagedConfig(nextConfig, previous, plugin.management.fields);
297
+ const channels = { ...current.channels, [name]: nextConfig };
298
+ const workspaceFile = loadSettings(this.workspaceCwd, {
299
+ skipLoadEnvironment: true
300
+ }).workspace;
301
+ saveSettings(workspaceFile, { channels }, ["channels"], {
302
+ throwOnWriteFailure: true
303
+ });
304
+ return this.snapshot();
305
+ }
306
+ async remove(name, options) {
307
+ assertSafeChannelName(name);
308
+ const current = this.assertRevision(options.expectedRevision);
309
+ const channels = { ...current.channels };
310
+ delete channels[name];
311
+ const hasAllSentinel = current.startupNames.some(isAllStartupName);
312
+ const startupNames = hasAllSentinel ? Object.keys(channels).some(
313
+ (channelName) => !isAllStartupName(channelName)
314
+ ) ? ["all"] : [] : current.startupNames.filter((startupName) => startupName !== name);
315
+ const workspaceFile = loadSettings(this.workspaceCwd, {
316
+ skipLoadEnvironment: true
317
+ }).workspace;
318
+ saveSettings(
319
+ workspaceFile,
320
+ { channels, serve: { channels: startupNames } },
321
+ ["channels"],
322
+ { throwOnWriteFailure: true }
323
+ );
324
+ return this.snapshot();
325
+ }
326
+ async setStartupNames(names, options) {
327
+ for (const name of names) {
328
+ assertSafeChannelName(name);
329
+ }
330
+ this.assertRevision(options.expectedRevision);
331
+ const workspaceFile = loadSettings(this.workspaceCwd, {
332
+ skipLoadEnvironment: true
333
+ }).workspace;
334
+ saveSettings(
335
+ workspaceFile,
336
+ { serve: { channels: [...names] } },
337
+ ["serve", "channels"],
338
+ { throwOnWriteFailure: true }
339
+ );
340
+ return this.snapshot();
341
+ }
342
+ assertRevision(expectedRevision) {
343
+ const current = this.snapshot();
344
+ if (current.revision !== expectedRevision) {
345
+ throw new ChannelSettingsError(
346
+ "channel_settings_conflict",
347
+ "Channel settings changed; reload before trying again."
348
+ );
349
+ }
350
+ return current;
351
+ }
352
+ };
353
+
354
+ export {
355
+ ChannelSettingsError,
356
+ assertValidChannelSecretUpdates,
357
+ WorkspaceChannelSettingsStore
358
+ };
359
+ /**
360
+ * @license
361
+ * Copyright 2025 Qwen Team
362
+ * SPDX-License-Identifier: Apache-2.0
363
+ */
@@ -2,7 +2,7 @@
2
2
  "use strict";
3
3
  import {
4
4
  getTasksDir
5
- } from "./chunk-PWTZEM3C.js";
5
+ } from "./chunk-2LQTH543.js";
6
6
  import {
7
7
  require_proper_lockfile
8
8
  } from "./chunk-KRXPRVGL.js";
@@ -11,11 +11,11 @@ import {
11
11
  } from "./chunk-VGC4I5JJ.js";
12
12
  import {
13
13
  atomicWriteJSON
14
- } from "./chunk-A5L3JMUA.js";
14
+ } from "./chunk-7XATOOE7.js";
15
15
  import {
16
16
  createDebugLogger,
17
17
  isNodeError
18
- } from "./chunk-NL7LTRLR.js";
18
+ } from "./chunk-UHUSJ6X7.js";
19
19
  import {
20
20
  init_esbuild_shims
21
21
  } from "./chunk-5O2XNYP6.js";
@@ -444,11 +444,6 @@ async function unblockDependents(teamName, completedId, dependentIds) {
444
444
  notifyTasksUpdated(teamName);
445
445
  }
446
446
  __name(unblockDependents, "unblockDependents");
447
- async function blockTask(teamName, fromId, toId) {
448
- await updateTask(teamName, fromId, { addBlocks: [toId] });
449
- await updateTask(teamName, toId, { addBlockedBy: [fromId] });
450
- }
451
- __name(blockTask, "blockTask");
452
447
  async function claimTask(teamName, taskId, agentId, opts) {
453
448
  if (opts?.checkAgentBusy) {
454
449
  return getAgentClaimLock(agentId).runExclusive(
@@ -545,25 +540,6 @@ async function unassignTeammateTasks(teamName, agentId) {
545
540
  return released;
546
541
  }
547
542
  __name(unassignTeammateTasks, "unassignTeammateTasks");
548
- async function getAgentStatuses(teamName) {
549
- const tasks = await listTasks(teamName);
550
- const statuses = /* @__PURE__ */ new Map();
551
- for (const task of tasks) {
552
- if (!task.owner) continue;
553
- const entry = statuses.get(task.owner) ?? {
554
- inProgress: 0,
555
- completed: 0
556
- };
557
- if (task.status === "in_progress") {
558
- entry.inProgress++;
559
- } else if (task.status === "completed") {
560
- entry.completed++;
561
- }
562
- statuses.set(task.owner, entry);
563
- }
564
- return statuses;
565
- }
566
- __name(getAgentStatuses, "getAgentStatuses");
567
543
  async function getNextTaskId(dir) {
568
544
  let entries;
569
545
  try {
@@ -586,9 +562,7 @@ __name(getNextTaskId, "getNextTaskId");
586
562
  export {
587
563
  RECIPROCAL_CALLER,
588
564
  assertValidTaskId,
589
- getTaskPath,
590
565
  onTasksUpdated,
591
- notifyTasksUpdated,
592
566
  createTask,
593
567
  getTask,
594
568
  TaskOwnershipError,
@@ -596,11 +570,8 @@ export {
596
570
  deleteTask,
597
571
  listTasks,
598
572
  resetTaskList,
599
- blockTask,
600
573
  claimTask,
601
- releaseOwnedTask,
602
- unassignTeammateTasks,
603
- getAgentStatuses
574
+ unassignTeammateTasks
604
575
  };
605
576
  /**
606
577
  * @license
@@ -2,13 +2,13 @@
2
2
  "use strict";
3
3
  import {
4
4
  t
5
- } from "./chunk-LKEJ26GS.js";
5
+ } from "./chunk-TCIFAA7K.js";
6
6
  import {
7
7
  writeStderrLine
8
8
  } from "./chunk-OWAK7LMW.js";
9
9
  import {
10
10
  createDebugLogger
11
- } from "./chunk-NL7LTRLR.js";
11
+ } from "./chunk-UHUSJ6X7.js";
12
12
  import {
13
13
  init_esbuild_shims
14
14
  } from "./chunk-5O2XNYP6.js";
@@ -2,25 +2,25 @@
2
2
  "use strict";
3
3
  import {
4
4
  t
5
- } from "./chunk-LKEJ26GS.js";
5
+ } from "./chunk-TCIFAA7K.js";
6
6
  import {
7
7
  computeThresholds,
8
8
  getCoreSystemPrompt,
9
9
  resolveInteractionMode
10
- } from "./chunk-PHOF65IG.js";
10
+ } from "./chunk-X5WNMMIA.js";
11
11
  import {
12
12
  buildSkillLlmContent
13
13
  } from "./chunk-JCW2R7WC.js";
14
14
  import {
15
15
  DiscoveredMCPTool,
16
16
  uiTelemetryService
17
- } from "./chunk-CIKQ7KKO.js";
18
- import {
19
- DEFAULT_TOKEN_LIMIT
20
- } from "./chunk-UW5EOVUN.js";
17
+ } from "./chunk-PT722TDT.js";
21
18
  import {
22
19
  ToolNames
23
- } from "./chunk-PR75REBZ.js";
20
+ } from "./chunk-Y6AXW2OG.js";
21
+ import {
22
+ DEFAULT_TOKEN_LIMIT
23
+ } from "./chunk-ZBVS26BY.js";
24
24
  import {
25
25
  init_esbuild_shims
26
26
  } from "./chunk-5O2XNYP6.js";
@@ -115,6 +115,13 @@ async function collectContextData(config, showDetails) {
115
115
  }
116
116
  const memoryContent = config.getUserMemory();
117
117
  const memoryFiles = parseMemoryFiles(memoryContent);
118
+ const autoMemoryPrompt = config.getAutoMemoryPrompt();
119
+ if (autoMemoryPrompt) {
120
+ memoryFiles.push({
121
+ path: t("auto memory"),
122
+ tokens: estimateTokens(autoMemoryPrompt)
123
+ });
124
+ }
118
125
  const memoryFilesTokens = memoryFiles.reduce((sum, f) => sum + f.tokens, 0);
119
126
  const skillTool = allTools.find((tool) => tool.name === ToolNames.SKILL);
120
127
  const skillToolDefinitionTokens = skillTool ? estimateTokens(JSON.stringify(skillTool.schema)) : 0;
@@ -2,21 +2,22 @@
2
2
  "use strict";
3
3
  import {
4
4
  HistoryReplayer
5
- } from "./chunk-EBJQ6AXW.js";
5
+ } from "./chunk-LO4ROVP4.js";
6
6
  import {
7
7
  ChannelDeliveryError,
8
8
  MAX_CHANNEL_DELIVERY_TEXT_LENGTH
9
- } from "./chunk-LK7CHLVP.js";
9
+ } from "./chunk-U4VTUMMK.js";
10
10
  import {
11
11
  redactLogCredentials
12
12
  } from "./chunk-M5GB774H.js";
13
13
  import {
14
- getResponseText
15
- } from "./chunk-PHOF65IG.js";
14
+ getResponseText,
15
+ parseGoalSnapshotV2
16
+ } from "./chunk-X5WNMMIA.js";
16
17
  import {
17
18
  MAX_CHANNEL_DELIVERY_NAME_LENGTH,
18
19
  MAX_CHANNEL_DELIVERY_TARGET_ID_LENGTH
19
- } from "./chunk-FNQ6T3CV.js";
20
+ } from "./chunk-PONHVBRT.js";
20
21
  import {
21
22
  init_esbuild_shims
22
23
  } from "./chunk-5O2XNYP6.js";
@@ -498,7 +499,16 @@ function parseTranscriptReplayState(replay, logger) {
498
499
  );
499
500
  }
500
501
  const cumulativeUsage = isCumulativeUsage(replay["cumulativeUsage"]) ? { ...replay["cumulativeUsage"] } : createReplayCumulativeUsage();
501
- return { pendingToolCalls, cumulativeUsage };
502
+ const rawGoalState = replay["goalState"];
503
+ const goalState = rawGoalState === void 0 ? void 0 : parseGoalSnapshotV2(rawGoalState);
504
+ if (logger && rawGoalState !== void 0 && !goalState) {
505
+ logger.warn("[transcript] replay state dropped a malformed Goal state");
506
+ }
507
+ return {
508
+ pendingToolCalls,
509
+ cumulativeUsage,
510
+ ...goalState ? { goalState } : {}
511
+ };
502
512
  }
503
513
  __name(parseTranscriptReplayState, "parseTranscriptReplayState");
504
514
  function replayContext(sessionId, updates, cumulativeUsage, config) {
@@ -580,7 +590,8 @@ async function replayTranscriptRecordPage({
580
590
  const replayPageState = await replayer.replayPage(page.records, {
581
591
  pendingToolCalls: page.direction === "backward" ? [] : state.pendingToolCalls,
582
592
  finalizeDangling: page.direction === "backward" || !page.hasMore,
583
- gaps: page.gaps
593
+ gaps: page.gaps,
594
+ ...state.goalState ? { goalState: state.goalState } : {}
584
595
  });
585
596
  replayState = replayPageState.replay;
586
597
  } catch (error) {
@@ -2,7 +2,7 @@
2
2
  "use strict";
3
3
  import {
4
4
  createDebugLogger
5
- } from "./chunk-NL7LTRLR.js";
5
+ } from "./chunk-UHUSJ6X7.js";
6
6
  import {
7
7
  init_esbuild_shims
8
8
  } from "./chunk-5O2XNYP6.js";
@@ -2,13 +2,13 @@
2
2
  "use strict";
3
3
  import {
4
4
  loadSettings
5
- } from "./chunk-TEHGS6UP.js";
5
+ } from "./chunk-EIF3FXTB.js";
6
6
  import {
7
7
  getCurrentLanguage
8
- } from "./chunk-LKEJ26GS.js";
8
+ } from "./chunk-TCIFAA7K.js";
9
9
  import {
10
10
  isWorkspaceTrusted
11
- } from "./chunk-Z2BC6UJ5.js";
11
+ } from "./chunk-Q43KPN7X.js";
12
12
  import {
13
13
  require_strip_json_comments
14
14
  } from "./chunk-ALGGS7UH.js";
@@ -26,14 +26,14 @@ import {
26
26
  hashMcpServerConfig,
27
27
  isGatedMcpScope,
28
28
  normalizeClaudeMcpServer
29
- } from "./chunk-PHOF65IG.js";
29
+ } from "./chunk-X5WNMMIA.js";
30
30
  import {
31
31
  atomicWriteFile
32
- } from "./chunk-A5L3JMUA.js";
32
+ } from "./chunk-7XATOOE7.js";
33
33
  import {
34
34
  Storage,
35
35
  getErrorMessage
36
- } from "./chunk-NL7LTRLR.js";
36
+ } from "./chunk-UHUSJ6X7.js";
37
37
  import {
38
38
  init_esbuild_shims
39
39
  } from "./chunk-5O2XNYP6.js";
@@ -2,7 +2,7 @@
2
2
  "use strict";
3
3
  import {
4
4
  createDebugLogger
5
- } from "./chunk-NL7LTRLR.js";
5
+ } from "./chunk-UHUSJ6X7.js";
6
6
  import {
7
7
  init_esbuild_shims
8
8
  } from "./chunk-5O2XNYP6.js";