@qwen-code/qwen-code 0.19.7 → 0.19.8-nightly.20260711.0ef3a76bd

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 (434) hide show
  1. package/bundled/qc-helper/SKILL.md +1 -0
  2. package/bundled/qc-helper/docs/configuration/auth.md +40 -55
  3. package/bundled/qc-helper/docs/configuration/model-providers.md +224 -218
  4. package/bundled/qc-helper/docs/configuration/settings.md +60 -51
  5. package/bundled/qc-helper/docs/features/_meta.ts +1 -0
  6. package/bundled/qc-helper/docs/features/channels/dingtalk.md +12 -2
  7. package/bundled/qc-helper/docs/features/channels/overview.md +86 -12
  8. package/bundled/qc-helper/docs/features/channels/plugins.md +1 -0
  9. package/bundled/qc-helper/docs/features/channels/wecom.md +6 -0
  10. package/bundled/qc-helper/docs/features/code-review.md +29 -5
  11. package/bundled/qc-helper/docs/features/commands.md +39 -38
  12. package/bundled/qc-helper/docs/features/computer-use.md +77 -0
  13. package/bundled/qc-helper/docs/features/hooks.md +36 -34
  14. package/bundled/qc-helper/docs/features/memory.md +1 -1
  15. package/bundled/qc-helper/docs/features/tool-use-summaries.md +19 -23
  16. package/bundled/qc-helper/docs/integration-vscode.md +2 -2
  17. package/bundled/qc-helper/docs/qwen-serve.md +40 -16
  18. package/bundled/qc-helper/docs/reference/keyboard-shortcuts.md +1 -1
  19. package/bundled/review/DESIGN.md +93 -22
  20. package/bundled/review/SKILL.md +300 -87
  21. package/chunks/MaxSizedBox-4CX4IQWE.js +70 -0
  22. package/chunks/{StandaloneSessionPicker-APISIRJZ.js → StandaloneSessionPicker-TYUSSNJ6.js} +79 -77
  23. package/chunks/{acpAgent-MMOSC2YA.js → acpAgent-5HJEXOPR.js} +978 -205
  24. package/chunks/agent-PZF5IUUB.js +68 -0
  25. package/chunks/agent-headless-L4N7V2SG.js +62 -0
  26. package/chunks/{anthropicContentGenerator-AKYPSZIV.js → anthropicContentGenerator-L73TO3DB.js} +214 -31
  27. package/chunks/{artifact-tool-D233YJFH.js → artifact-tool-U7IRTLIV.js} +5 -5
  28. package/chunks/{askUserQuestion-MKL5ZTMC.js → askUserQuestion-2DLUUZZG.js} +6 -6
  29. package/chunks/bridge-OJL6LD42.js +78 -0
  30. package/chunks/{ca-HCMB2I54.js → ca-WTQOU43B.js} +91 -6
  31. package/chunks/{channel-worker-supervisor-CRCVYQIE.js → channel-worker-supervisor-LF66HCVT.js} +137 -13
  32. package/chunks/{chunk-QQDPRDVW.js → chunk-2HRYPZT5.js} +1 -1
  33. package/chunks/{chunk-JD33UY7E.js → chunk-2K56LTWA.js} +18 -12
  34. package/chunks/{chunk-XISQIIT7.js → chunk-2LV4JUNO.js} +4 -4
  35. package/chunks/chunk-2UU6DW5P.js +296 -0
  36. package/chunks/{chunk-2PSWA5ID.js → chunk-2X56YUSZ.js} +1 -1
  37. package/chunks/chunk-2ZQOQZIS.js +71 -0
  38. package/chunks/{chunk-Q6OEPOOC.js → chunk-3AMVHPEQ.js} +2 -2
  39. package/chunks/{chunk-4RQIB5UZ.js → chunk-3BTRNWWD.js} +1 -35
  40. package/chunks/{chunk-SD4N3QJ2.js → chunk-3QZ6GY6A.js} +66 -22
  41. package/chunks/{chunk-DNV4FSN5.js → chunk-3SJSQXNS.js} +24 -7
  42. package/chunks/{chunk-VQWAZSXN.js → chunk-3XATDZNP.js} +64 -42
  43. package/chunks/{chunk-LEIJKM7Q.js → chunk-3ZAIGBCP.js} +2 -2
  44. package/chunks/{chunk-2NPS2UDH.js → chunk-43JB7OF4.js} +905 -139
  45. package/chunks/chunk-43XJTCHT.js +444 -0
  46. package/chunks/{chunk-CNSF3WO5.js → chunk-47HXCVGG.js} +6 -6
  47. package/chunks/{chunk-VEB3NYSO.js → chunk-4GORAUCN.js} +8 -3
  48. package/chunks/{chunk-55ZMG67I.js → chunk-4LD5APFL.js} +4 -4
  49. package/chunks/{chunk-TLWA7TPR.js → chunk-4QLQE5WJ.js} +2 -2
  50. package/chunks/{chunk-UIDXQNMV.js → chunk-4WGODMVR.js} +1 -1
  51. package/chunks/{chunk-E6US47KI.js → chunk-4WKAA4KS.js} +1 -1
  52. package/chunks/{chunk-H6EMK6QK.js → chunk-4ZVWQHEQ.js} +11913 -5207
  53. package/chunks/{chunk-HW4N45EE.js → chunk-524RQP4Q.js} +29 -8
  54. package/chunks/{chunk-3GONHQOA.js → chunk-57OAHC2Y.js} +1 -1
  55. package/chunks/{chunk-B4U2M63D.js → chunk-5DOUQHL3.js} +2104 -14
  56. package/chunks/{chunk-JZSY4WP3.js → chunk-5DTTYNB7.js} +1 -1
  57. package/chunks/{chunk-A4BMJM77.js → chunk-5O2XNYP6.js} +1 -0
  58. package/chunks/{chunk-P7I3D7FM.js → chunk-5OIXALQ5.js} +2 -2
  59. package/chunks/chunk-5SFOMFG4.js +61 -0
  60. package/chunks/{chunk-QYNNN7BK.js → chunk-5XUCZNSY.js} +2 -2
  61. package/chunks/{chunk-FRFFNYUY.js → chunk-65F3I3PM.js} +5 -5
  62. package/chunks/{chunk-GO6LNQXT.js → chunk-6AM5D4ME.js} +1 -1
  63. package/chunks/{chunk-BWVQN2HV.js → chunk-6CR73ZIK.js} +7 -7
  64. package/chunks/{chunk-BJBWRCSK.js → chunk-6H67XLET.js} +1 -1
  65. package/chunks/{chunk-G7ZG7CA6.js → chunk-6RLROE6G.js} +9 -8
  66. package/chunks/{chunk-TBAZMRW3.js → chunk-6WH2WCSW.js} +2 -2
  67. package/chunks/{chunk-ZERZSAZL.js → chunk-75DOP5OR.js} +2 -2
  68. package/chunks/{chunk-FTFXDZYI.js → chunk-7KZNLIAI.js} +47 -31
  69. package/chunks/{chunk-HJ3GX3Y3.js → chunk-7PW5CTVR.js} +32 -18
  70. package/chunks/{chunk-NQKLOAVJ.js → chunk-7R3CZA3Q.js} +2 -2
  71. package/chunks/{chunk-SAIILPQ3.js → chunk-7X7TEQNX.js} +5 -3
  72. package/chunks/{chunk-IRJWHZWU.js → chunk-A4UCTEB5.js} +2 -2
  73. package/chunks/{chunk-XSAFNANZ.js → chunk-AHUEU3BP.js} +14 -14
  74. package/chunks/{chunk-X3YGAX7V.js → chunk-B5ORX3FG.js} +4 -2
  75. package/chunks/{chunk-ZN5T4BHI.js → chunk-BPZALHVR.js} +2 -2
  76. package/chunks/{chunk-IJRL2S3D.js → chunk-BZIFY5TF.js} +6 -6
  77. package/chunks/{chunk-AJBEAUIS.js → chunk-BZP7HZTK.js} +7 -6
  78. package/chunks/{chunk-OFEVLU4C.js → chunk-CARU2RR2.js} +1 -1
  79. package/chunks/{chunk-MIG5SQNL.js → chunk-CBKR4Q5K.js} +8 -8
  80. package/chunks/chunk-CC2ITGCF.js +176 -0
  81. package/chunks/{chunk-FV7425LN.js → chunk-CEA3E3JB.js} +18 -5
  82. package/chunks/{chunk-GD236YPV.js → chunk-CNOF2IZT.js} +3 -3
  83. package/chunks/chunk-COH43MRJ.js +34 -0
  84. package/chunks/{chunk-E5A7LHNN.js → chunk-CPBF7KYF.js} +1 -1
  85. package/chunks/{chunk-UWCTAVOD.js → chunk-CR3C7WXL.js} +1 -1
  86. package/chunks/{chunk-5P5XGNYH.js → chunk-CU3L64TP.js} +1 -1
  87. package/chunks/{chunk-IWKSG2AR.js → chunk-CXAOG665.js} +1 -1
  88. package/chunks/{chunk-MZ7BABX3.js → chunk-DC5Z3DU6.js} +2 -2
  89. package/chunks/{chunk-64WXLC72.js → chunk-DJ2GSRLV.js} +1 -1
  90. package/chunks/{chunk-4ZJIPVPB.js → chunk-DMN532MJ.js} +11 -11
  91. package/chunks/{chunk-QN5NZ3UQ.js → chunk-DMTGGOSA.js} +2 -2
  92. package/chunks/{chunk-KHDZHZMH.js → chunk-E5Z2AVNV.js} +1 -1
  93. package/chunks/chunk-F4PFZ7WP.js +239 -0
  94. package/chunks/{chunk-ME3YSROJ.js → chunk-FBSBT7JS.js} +25 -13
  95. package/chunks/{chunk-5IFG2VC4.js → chunk-FCMNKVXT.js} +1 -1
  96. package/chunks/{chunk-YDSYD7UI.js → chunk-FD3DA3B4.js} +3 -3
  97. package/chunks/{chunk-GL5TV7B5.js → chunk-GL22M2DU.js} +23 -7
  98. package/chunks/{chunk-AFOLR6YL.js → chunk-GQ4ZEYMI.js} +102 -16
  99. package/chunks/chunk-GRC5HGPI.js +13 -0
  100. package/chunks/{chunk-WMPVYQ4P.js → chunk-GWHYEOV2.js} +2 -2
  101. package/chunks/chunk-GZRTYZ2R.js +292 -0
  102. package/chunks/{chunk-A2X3KLC3.js → chunk-GZXCZHCT.js} +3 -3
  103. package/chunks/{chunk-K5PGHDBN.js → chunk-H6XPXXMH.js} +1 -1
  104. package/chunks/{chunk-24XYI5EI.js → chunk-HACY3IUM.js} +6 -6
  105. package/chunks/{chunk-DGHJTO2K.js → chunk-HIHQ3TWC.js} +38 -9
  106. package/chunks/{chunk-KYMBIKIW.js → chunk-HTHUX2T5.js} +1 -1
  107. package/chunks/{chunk-LQ7TMOCE.js → chunk-HTO4JFDZ.js} +1 -1
  108. package/chunks/{chunk-B34OV7K2.js → chunk-IAVB3HM3.js} +15 -2
  109. package/chunks/{chunk-4UCTWSTP.js → chunk-IDJEZU7C.js} +2 -2
  110. package/chunks/chunk-IEBIKN6A.js +38 -0
  111. package/chunks/{chunk-PRDFOIZF.js → chunk-IJEO2QSK.js} +73 -30
  112. package/chunks/{chunk-MJI36HER.js → chunk-IT6LIIVK.js} +2 -2
  113. package/chunks/{chunk-FEJ2FZ3U.js → chunk-J3JA76CF.js} +2 -2
  114. package/chunks/{chunk-4CGOWHKM.js → chunk-J4MOFEOK.js} +2 -2
  115. package/chunks/{chunk-22MNNNXE.js → chunk-J4TSQ5EQ.js} +3 -2
  116. package/chunks/{chunk-22IFUCVR.js → chunk-JESCGQM3.js} +1 -1
  117. package/chunks/{chunk-CCGOFQV3.js → chunk-JSG7ZSBC.js} +8 -7
  118. package/chunks/{chunk-X265R5C6.js → chunk-K434OPES.js} +5 -5
  119. package/chunks/{chunk-RFIL6REB.js → chunk-KHUQZZJ6.js} +185 -45
  120. package/chunks/{chunk-X2XNQQJI.js → chunk-KKNMOEZH.js} +4 -4
  121. package/chunks/{chunk-6BN7NZ5Z.js → chunk-KL23O5Z5.js} +7 -9
  122. package/chunks/{chunk-MRO43B25.js → chunk-KW7NOTN6.js} +1 -1
  123. package/chunks/{chunk-6IAWPIQ6.js → chunk-L36P3NBD.js} +3 -3
  124. package/chunks/{chunk-54YZOP7P.js → chunk-L573Z2QZ.js} +11894 -5190
  125. package/chunks/{chunk-STAZRKOT.js → chunk-L6GPKRH7.js} +132 -464
  126. package/chunks/{chunk-QAKFYMJI.js → chunk-LD5OWZ5E.js} +155 -19
  127. package/chunks/{chunk-E7KNELIZ.js → chunk-LK7KUE55.js} +2 -2
  128. package/chunks/{chunk-W7EEOR7D.js → chunk-LUODI7WD.js} +5 -5
  129. package/chunks/{chunk-CSOTA7KX.js → chunk-LXNEJD34.js} +2 -2
  130. package/chunks/{chunk-HLKG6CZN.js → chunk-M5GB774H.js} +1 -1
  131. package/chunks/{chunk-3B26UVCX.js → chunk-MC23XKFE.js} +39 -10
  132. package/chunks/{chunk-XPJH4PKR.js → chunk-MPEMTBUZ.js} +2 -2
  133. package/chunks/{chunk-GMOWQOQQ.js → chunk-MUCWGT7O.js} +248 -55
  134. package/chunks/{chunk-PC4ZXHU2.js → chunk-MXL5UP4X.js} +3 -3
  135. package/chunks/{chunk-PUQLHSQ2.js → chunk-N2FGNKOE.js} +10 -12
  136. package/chunks/{chunk-332PWN27.js → chunk-NHDKSOEY.js} +1 -1
  137. package/chunks/{chunk-65CFHNSE.js → chunk-NKHV3OHY.js} +62 -62
  138. package/chunks/{chunk-P7M4GA57.js → chunk-OCPBI7J5.js} +1 -1
  139. package/chunks/{chunk-42XGFRJS.js → chunk-ORBGV7NJ.js} +5 -5
  140. package/chunks/{chunk-ALZ75L2X.js → chunk-OZJLTZKP.js} +415 -379
  141. package/chunks/chunk-P3X7RYUQ.js +468 -0
  142. package/chunks/{chunk-AGHU5VRK.js → chunk-PZL23GTM.js} +1 -1
  143. package/chunks/{chunk-FXGLL2HL.js → chunk-Q7YDKOGY.js} +1 -1
  144. package/chunks/{chunk-LGFAYIKX.js → chunk-QHTIBUWB.js} +1 -1
  145. package/chunks/{chunk-AIY5UTFI.js → chunk-QK2JET6S.js} +934 -2881
  146. package/chunks/{chunk-P3MYAZBY.js → chunk-QMGX2KO2.js} +1 -1
  147. package/chunks/{chunk-QZF5U5KA.js → chunk-QNTUV3PP.js} +11 -11
  148. package/chunks/chunk-QRUIS3DN.js +47 -0
  149. package/chunks/{chunk-ITOGNELQ.js → chunk-QSWDGAIC.js} +2 -2
  150. package/chunks/{chunk-7JGISHHZ.js → chunk-QUJIDGIW.js} +15 -157
  151. package/chunks/{chunk-GHOTR7HL.js → chunk-QUPXZXLV.js} +1 -1
  152. package/chunks/{chunk-TDGF35EN.js → chunk-QYMQSECS.js} +3 -3
  153. package/chunks/{chunk-QYUE6W3T.js → chunk-RDJSGHZE.js} +1 -1
  154. package/chunks/{chunk-TLRYABYP.js → chunk-RKUWKYED.js} +1 -1
  155. package/chunks/{chunk-ADZG46HR.js → chunk-RRNR5U2U.js} +2 -2
  156. package/chunks/{chunk-4O344UEE.js → chunk-RW7CXRUM.js} +39 -19
  157. package/chunks/{chunk-RNBYOUGV.js → chunk-RXFQM6FQ.js} +1 -1
  158. package/chunks/{chunk-QXPI7FEC.js → chunk-S3TWXGKA.js} +4 -4
  159. package/chunks/{chunk-44NROQYV.js → chunk-SJHDYNHF.js} +4 -4
  160. package/chunks/{chunk-MLZQVCF3.js → chunk-SZRN75WQ.js} +1 -1
  161. package/chunks/{chunk-7RYW5LQV.js → chunk-T2NCM2ET.js} +2 -2
  162. package/chunks/{chunk-Z2Z3GUXZ.js → chunk-TB6UDU4T.js} +1 -1
  163. package/chunks/{chunk-SUAKHHK7.js → chunk-TDEXZKMT.js} +3 -3
  164. package/chunks/{chunk-EXPMGZZV.js → chunk-TEGEBB2I.js} +1 -1
  165. package/chunks/{chunk-JF7DFPQ5.js → chunk-TJCEUA3S.js} +15 -3
  166. package/chunks/{chunk-MX2YXRER.js → chunk-TJTKSVIV.js} +1 -1
  167. package/chunks/{chunk-H6BD2ELD.js → chunk-TYAMGABM.js} +2 -2
  168. package/chunks/{chunk-CISB3IQF.js → chunk-U3VSCGEJ.js} +100 -15
  169. package/chunks/{chunk-VRDMOSQS.js → chunk-UDXSXLER.js} +2 -2
  170. package/chunks/{chunk-AHNJGLFV.js → chunk-UOZWKTQG.js} +3 -3
  171. package/chunks/{chunk-CJCKDMWO.js → chunk-URK542T4.js} +1 -1
  172. package/chunks/{chunk-YEGT55NW.js → chunk-UUVCHN62.js} +5697 -2983
  173. package/chunks/{chunk-AHNXYU4O.js → chunk-V6WHFGST.js} +1 -1
  174. package/chunks/{chunk-U4FRHCLA.js → chunk-VAUPLGDZ.js} +2370 -364
  175. package/chunks/{chunk-ZTQ26VBE.js → chunk-VDDGDZMA.js} +1 -1
  176. package/chunks/{chunk-OMX7CUOE.js → chunk-VGC4I5JJ.js} +1 -1
  177. package/chunks/{chunk-IUE7YWC3.js → chunk-VIUKEWUL.js} +8 -8
  178. package/chunks/{chunk-43W4YSO6.js → chunk-VJNBRRZG.js} +2 -2
  179. package/chunks/{chunk-I4A4K72C.js → chunk-VL7GBUQA.js} +1309 -703
  180. package/chunks/{chunk-VZ7HY3YU.js → chunk-W2UIXQDL.js} +3 -3
  181. package/chunks/{chunk-ER3BKOLB.js → chunk-W7FJ3N32.js} +1 -1
  182. package/chunks/{chunk-3HX5LZ6R.js → chunk-WBL3FJEU.js} +2 -2
  183. package/chunks/{chunk-RYFZCUJO.js → chunk-WCUK2QXK.js} +17 -9
  184. package/chunks/{chunk-OWVIH4HY.js → chunk-WFHJDT4S.js} +421 -114
  185. package/chunks/{chunk-BMFMJINR.js → chunk-WL4L7EZH.js} +1 -1
  186. package/chunks/{chunk-NZEGNV4V.js → chunk-WPHYXKFL.js} +8 -51
  187. package/chunks/chunk-X4NKFGFJ.js +81 -0
  188. package/chunks/{chunk-3RW4AZJV.js → chunk-XFSFZCM5.js} +1 -1
  189. package/chunks/{chunk-2MPVVENX.js → chunk-XU457J4V.js} +2 -2
  190. package/chunks/{chunk-SIUQ3YYX.js → chunk-XVNQMZ2I.js} +1 -1
  191. package/chunks/{chunk-SYCJMSIJ.js → chunk-XWRJCPHC.js} +1 -1
  192. package/chunks/chunk-YAF2MQZ6.js +19 -0
  193. package/chunks/chunk-YF4RZPJP.js +168 -0
  194. package/chunks/{chunk-4KJ2BPIT.js → chunk-YLV3XXFB.js} +4 -40
  195. package/chunks/{chunk-BR4QREVK.js → chunk-YQ3U5MUC.js} +1 -1
  196. package/chunks/{chunk-Y6Z2O3WR.js → chunk-YUZI3WAC.js} +1 -1
  197. package/chunks/{chunk-II73RK2S.js → chunk-YVEDCAUE.js} +1 -1
  198. package/chunks/{chunk-SKAZWEV5.js → chunk-ZJE7NSL3.js} +1 -1
  199. package/chunks/{chunk-7LTB54MK.js → chunk-ZLXQN2QS.js} +2 -2
  200. package/chunks/cli-entry-path-4VJ3Y6T2.js +10 -0
  201. package/chunks/{computer-use-X4KUU3NM.js → computer-use-2ZTYDNN4.js} +50 -50
  202. package/chunks/config-utils-ZITWCFBY.js +23 -0
  203. package/chunks/contextCommand-6L4XCZZT.js +68 -0
  204. package/chunks/create-sub-session-INX7TXJI.js +207 -0
  205. package/chunks/create-sub-session-VZIOFS6N.js +375 -0
  206. package/chunks/{cron-create-JSXEIPVS.js → cron-create-AMBKGZX6.js} +9 -9
  207. package/chunks/{cron-delete-OIFVEPGU.js → cron-delete-LRU4OJYG.js} +7 -7
  208. package/chunks/{cron-list-D4ZX4IOE.js → cron-list-WVP2JXER.js} +14 -10
  209. package/chunks/{daemon-F3I2RXP6.js → daemon-QEDXW7ER.js} +554 -4
  210. package/chunks/daemon-status-provider-7XJZ3HPS.js +76 -0
  211. package/chunks/{de-PLLFDERI.js → de-XHBEYUMG.js} +91 -6
  212. package/chunks/{devtools-FM6GJPYG.js → devtools-4QFYJT6U.js} +3 -3
  213. package/chunks/{dist-573HNSVO.js → dist-EFXT7A3G.js} +12 -11
  214. package/chunks/{dist-PKFTNUHO.js → dist-KCRX7TGL.js} +529 -79
  215. package/chunks/{dist-OT7G2WNM.js → dist-MFEAEUV4.js} +1011 -197
  216. package/chunks/{dist-63IS3ZMI.js → dist-PZV5RKM6.js} +4 -4
  217. package/chunks/{dist-FQ5WRJPL.js → dist-QY3THJM5.js} +5 -5
  218. package/chunks/{dist-IMFFBMAT.js → dist-UJOR6KEQ.js} +32 -15
  219. package/chunks/{dist-YTRKAVUB.js → dist-ZWZB4CCN.js} +10 -10
  220. package/chunks/earlyInputCapture-TTWXFIWO.js +69 -0
  221. package/chunks/{edit-WZTZDGCI.js → edit-6UWFRZKY.js} +51 -51
  222. package/chunks/{en-GA2RMXY5.js → en-TKHUFIK7.js} +100 -6
  223. package/chunks/{enter-worktree-DEPXBJEL.js → enter-worktree-LS7SGAII.js} +50 -50
  224. package/chunks/{enterPlanMode-JFGXZHHJ.js → enterPlanMode-TSZYLEEP.js} +66 -51
  225. package/chunks/environment-XCVLHOXG.js +88 -0
  226. package/chunks/errors-KIANLUTC.js +75 -0
  227. package/chunks/{exit-worktree-Y7XBK3VV.js → exit-worktree-2QV6UJSW.js} +50 -50
  228. package/chunks/{exitPlanMode-WQQER65F.js → exitPlanMode-GVZG3F6S.js} +51 -51
  229. package/chunks/{fast-path-W2U6XDNO.js → fast-path-GNFZAMQK.js} +16 -7
  230. package/chunks/{fast-path-settings-RCRXH2JG.js → fast-path-settings-5QZE64HR.js} +6 -5
  231. package/chunks/{fileFromPath-IBEHA3CO.js → fileFromPath-UDALK7FM.js} +3 -3
  232. package/chunks/{fr-GWNQG4XH.js → fr-TBF6JZNE.js} +91 -6
  233. package/chunks/{gemini-T4WX6SRW.js → gemini-N3H6OLHR.js} +501 -197
  234. package/chunks/{geminiContentGenerator-MKQACXEJ.js → geminiContentGenerator-4C257R2N.js} +9 -9
  235. package/chunks/{getMachineId-bsd-4CASPIU4.js → getMachineId-bsd-EXV7SWPA.js} +3 -3
  236. package/chunks/{getMachineId-darwin-HPQPEMZR.js → getMachineId-darwin-IUOMFXU3.js} +3 -3
  237. package/chunks/{getMachineId-linux-AUARKYHL.js → getMachineId-linux-K7XJYFHL.js} +2 -2
  238. package/chunks/{getMachineId-unsupported-S32ZDA2T.js → getMachineId-unsupported-EA5FDRJ6.js} +2 -2
  239. package/chunks/{getMachineId-win-4EFLHYIJ.js → getMachineId-win-KBA6RAI5.js} +3 -3
  240. package/chunks/{glob-4KKSHZDF.js → glob-QTUI5I3Y.js} +95 -74
  241. package/chunks/{grep-GHRYXSLZ.js → grep-Z5MGLRCG.js} +50 -50
  242. package/chunks/handleAutoUpdate-FFF3CZGP.js +69 -0
  243. package/chunks/i18n-QQAJT7A2.js +84 -0
  244. package/chunks/initializer-LGQGC7ZT.js +71 -0
  245. package/chunks/installationInfo-4FEZGXIN.js +65 -0
  246. package/chunks/{ja-2HOTA47X.js → ja-CDXUA2H3.js} +92 -7
  247. package/chunks/{keychain-token-storage-UJV5XP4Z.js → keychain-token-storage-VKUBNCP4.js} +4 -4
  248. package/chunks/{kittyProtocolDetector-OJRCJLIU.js → kittyProtocolDetector-HCNNKJTI.js} +2 -2
  249. package/chunks/list-KIVFF3BB.js +74 -0
  250. package/chunks/loadedSettingsAdapter-EOD3RVZS.js +68 -0
  251. package/chunks/{loop-wakeup-OHWEMFP5.js → loop-wakeup-WX7BLWWP.js} +10 -10
  252. package/chunks/{lowlight-FYAAUU5J.js → lowlight-J2OZNPCA.js} +1 -1
  253. package/chunks/{ls-L654WOAT.js → ls-ZB2BDP6T.js} +6 -6
  254. package/chunks/{lsp-M35KE54Y.js → lsp-V5DN4YUJ.js} +6 -8
  255. package/chunks/mcp-D2P46DB4.js +68 -0
  256. package/chunks/{monitor-464OY2UE.js → monitor-4ZWVOL6J.js} +50 -50
  257. package/chunks/{multipart-parser-AJ4WASWR.js → multipart-parser-AWZKXSQN.js} +3 -3
  258. package/chunks/nonInteractiveCli-NAHUR2X6.js +124 -0
  259. package/chunks/{notebook-edit-BLJYCNDO.js → notebook-edit-RCQ2D2IE.js} +51 -51
  260. package/chunks/openaiContentGenerator-U655T5QC.js +56 -0
  261. package/chunks/pidfile-O3OO2TCP.js +73 -0
  262. package/chunks/{pt-2THT3YHA.js → pt-6IR2VRQY.js} +91 -6
  263. package/chunks/{qwenContentGenerator-SUUHZ6CR.js → qwenContentGenerator-ABGWCRS6.js} +52 -52
  264. package/chunks/{qwenOAuth2-ZV7YLMND.js → qwenOAuth2-PJQ27GSO.js} +9 -9
  265. package/chunks/read-file-X7M4GUPY.js +30 -0
  266. package/chunks/{read-mcp-resource-CNQHBSJM.js → read-mcp-resource-SM5DA4RG.js} +5 -5
  267. package/chunks/{read-package-up-ER5OJUGP.js → read-package-up-TCM6I7S2.js} +2 -2
  268. package/chunks/{record-artifact-PP3LKHTS.js → record-artifact-4XKZX3UW.js} +7 -7
  269. package/chunks/ripGrep-KMPJJK5J.js +60 -0
  270. package/chunks/{ru-Z67YJHBG.js → ru-DBTHQA3F.js} +91 -6
  271. package/chunks/{run-qwen-serve-5OKADVLE.js → run-qwen-serve-O6CMPURG.js} +958 -184
  272. package/chunks/runtime-THE2YO27.js +94 -0
  273. package/chunks/{scheduler-ZRW3AIDU.js → scheduler-XXEA6EFC.js} +51 -51
  274. package/chunks/{send-message-OA6MV4EU.js → send-message-F36YD6KQ.js} +7 -7
  275. package/chunks/serve-W6F44JQQ.js +74 -0
  276. package/chunks/{server-M372UENX.js → server-SAEKMY52.js} +4340 -829
  277. package/chunks/{session-F5KSNP2N.js → session-4GGYGOWY.js} +162 -117
  278. package/chunks/settings-PYEU5HVD.js +118 -0
  279. package/chunks/shell-JGQECKTH.js +68 -0
  280. package/chunks/{skill-A2TL2NPC.js → skill-XPP3C2DS.js} +24 -24
  281. package/chunks/spawnChannel-62QKQBQN.js +70 -0
  282. package/chunks/{src-XKZMNHXS.js → src-2656Q6SN.js} +126 -52
  283. package/chunks/{src-7XL4G4DC.js → src-VLI3TKEY.js} +4 -4
  284. package/chunks/standalone-update-X7AZVG5R.js +79 -0
  285. package/chunks/{startInteractiveUI-REKSTOHU.js → startInteractiveUI-DXR4K6T5.js} +2277 -1834
  286. package/chunks/stdioHelpers-UMY72QRP.js +14 -0
  287. package/chunks/{syntheticOutput-F7LSDCAR.js → syntheticOutput-34H7LGA7.js} +5 -5
  288. package/chunks/task-create-FRGOEIKY.js +22 -0
  289. package/chunks/{task-list-TGGJX7EA.js → task-list-OW766BXZ.js} +10 -10
  290. package/chunks/{task-stop-W7NGTMYQ.js → task-stop-SIR5SNBN.js} +4 -4
  291. package/chunks/{task-update-5WUG5MVQ.js → task-update-YRA532MT.js} +12 -12
  292. package/chunks/{team-create-TBQVWAG7.js → team-create-3EHCUCKA.js} +50 -50
  293. package/chunks/{team-delete-UHQQ2QQX.js → team-delete-6OSECUZC.js} +10 -10
  294. package/chunks/{team-plan-approval-FZPGUSHJ.js → team-plan-approval-KZ7NZIMX.js} +50 -50
  295. package/chunks/theme-manager-J7ANV4JR.js +64 -0
  296. package/chunks/{todoWrite-C4ZAMSR3.js → todoWrite-YDMFEV4G.js} +6 -6
  297. package/chunks/{tool-search-FDQ3SLNJ.js → tool-search-2XLGWG4H.js} +24 -24
  298. package/chunks/total-session-admission-EQIHUOL6.js +72 -0
  299. package/chunks/trustedFolders-BEX5334Z.js +79 -0
  300. package/chunks/{types-QX5C3CHJ.js → types-JNKGKUJT.js} +2 -2
  301. package/chunks/updateCheck-NKPJGJCR.js +69 -0
  302. package/chunks/updateEventEmitter-5MKC7BLQ.js +10 -0
  303. package/chunks/validateNonInterActiveAuth-6DGGGE4A.js +190 -0
  304. package/chunks/{version-CEDD6ZZR.js → version-FRVWU5ZU.js} +3 -3
  305. package/chunks/{web-fetch-UYGMOHW4.js → web-fetch-PAAEQKBW.js} +8 -8
  306. package/chunks/{workflow-CQQ4J4I6.js → workflow-LWFMECLD.js} +51 -51
  307. package/chunks/workspace-providers-status-NE7QWEYS.js +71 -0
  308. package/chunks/workspace-registry-RCWAP57G.js +76 -0
  309. package/chunks/workspace-service-4QUMVGBX.js +80 -0
  310. package/chunks/workspace-skills-status-L34BYRSY.js +70 -0
  311. package/chunks/{write-file-VWGY7AJP.js → write-file-WXO4M5FN.js} +51 -51
  312. package/chunks/{yargs-B64EYTCF.js → yargs-6H2AUULL.js} +2 -2
  313. package/chunks/{zh-7XVVRTDH.js → zh-LJP47LX7.js} +101 -7
  314. package/chunks/{zh-TW-DPH554OG.js → zh-TW-5ISMO3VJ.js} +101 -7
  315. package/cli.js +18 -17
  316. package/locales/ca.js +117 -7
  317. package/locales/de.js +116 -7
  318. package/locales/en.js +133 -7
  319. package/locales/fr.js +117 -7
  320. package/locales/ja.js +119 -7
  321. package/locales/pt.js +116 -7
  322. package/locales/ru.js +116 -7
  323. package/locales/zh-TW.js +130 -7
  324. package/locales/zh.js +130 -7
  325. package/package.json +3 -6
  326. package/web-shell/assets/{arc-C7hjaa7g.js → arc-BRDEF7h6.js} +1 -1
  327. package/web-shell/assets/{architectureDiagram-3BPJPVTR-pm9KtMZY.js → architectureDiagram-3BPJPVTR-Cxnk4Ygq.js} +1 -1
  328. package/web-shell/assets/{blockDiagram-GPEHLZMM-CApElKsU.js → blockDiagram-GPEHLZMM-BZrtayqw.js} +1 -1
  329. package/web-shell/assets/{c4Diagram-AAUBKEIU-BeDe0-9N.js → c4Diagram-AAUBKEIU-Djmbi1yB.js} +1 -1
  330. package/web-shell/assets/channel-C9zfQCn-.js +1 -0
  331. package/web-shell/assets/{chunk-2J33WTMH-DJEkmLdl.js → chunk-2J33WTMH-Cdokj-0U.js} +1 -1
  332. package/web-shell/assets/{chunk-4BX2VUAB-DXX8gdpe.js → chunk-4BX2VUAB-BI9Hx57o.js} +1 -1
  333. package/web-shell/assets/{chunk-55IACEB6-DORmk1kQ.js → chunk-55IACEB6-Cb17cEzj.js} +1 -1
  334. package/web-shell/assets/{chunk-727SXJPM-DWmO4mCZ.js → chunk-727SXJPM-DY1Fc0h_.js} +1 -1
  335. package/web-shell/assets/{chunk-AQP2D5EJ-C7LRaYw2.js → chunk-AQP2D5EJ-B10G71Hd.js} +1 -1
  336. package/web-shell/assets/{chunk-FMBD7UC4-CCdXgyC5.js → chunk-FMBD7UC4-BP6OoB6Z.js} +1 -1
  337. package/web-shell/assets/{chunk-ND2GUHAM-SyL_xvWc.js → chunk-ND2GUHAM-CWIIwUFC.js} +1 -1
  338. package/web-shell/assets/{chunk-QZHKN3VN-BzOuCKxa.js → chunk-QZHKN3VN-DMrqCfGO.js} +1 -1
  339. package/web-shell/assets/classDiagram-4FO5ZUOK-BVNaf5JM.js +1 -0
  340. package/web-shell/assets/classDiagram-v2-Q7XG4LA2-BVNaf5JM.js +1 -0
  341. package/web-shell/assets/{cose-bilkent-S5V4N54A-BMPWyDKc.js → cose-bilkent-S5V4N54A-CF-mpkgI.js} +1 -1
  342. package/web-shell/assets/{dagre-BM42HDAG-B_GnPWik.js → dagre-BM42HDAG-DfsRFsg7.js} +1 -1
  343. package/web-shell/assets/{diagram-2AECGRRQ-fJqMc3S_.js → diagram-2AECGRRQ-DBNwf6Dy.js} +1 -1
  344. package/web-shell/assets/{diagram-5GNKFQAL-ximV3O9D.js → diagram-5GNKFQAL-CD1TqV1j.js} +1 -1
  345. package/web-shell/assets/{diagram-KO2AKTUF-2vVyjzqw.js → diagram-KO2AKTUF-DkWlaLI2.js} +1 -1
  346. package/web-shell/assets/{diagram-LMA3HP47-Dckcx1sT.js → diagram-LMA3HP47-ClrAcxwF.js} +1 -1
  347. package/web-shell/assets/{diagram-OG6HWLK6-BAVv47ga.js → diagram-OG6HWLK6-Dr6dnPLw.js} +1 -1
  348. package/web-shell/assets/{erDiagram-TEJ5UH35-Bn3nf5J0.js → erDiagram-TEJ5UH35-Dm_vj18R.js} +1 -1
  349. package/web-shell/assets/{flowDiagram-I6XJVG4X-BIbGF9JT.js → flowDiagram-I6XJVG4X-lp3cMdZu.js} +1 -1
  350. package/web-shell/assets/{ganttDiagram-6RSMTGT7-CDbhb3AH.js → ganttDiagram-6RSMTGT7-AtdCWZya.js} +3 -3
  351. package/web-shell/assets/{gitGraphDiagram-PVQCEYII-CbKG1a_w.js → gitGraphDiagram-PVQCEYII-BARTJafF.js} +1 -1
  352. package/web-shell/assets/index-BkNgyfu7.js +3 -0
  353. package/web-shell/assets/index-CihmnZZR.js +784 -0
  354. package/web-shell/assets/index-zfdXhnwH.css +5 -0
  355. package/web-shell/assets/{infoDiagram-5YYISTIA-DUFxTy8m.js → infoDiagram-5YYISTIA-CxbJ54_f.js} +1 -1
  356. package/web-shell/assets/{ishikawaDiagram-YF4QCWOH-D69hrBG8.js → ishikawaDiagram-YF4QCWOH-hFoO0HQA.js} +1 -1
  357. package/web-shell/assets/{journeyDiagram-JHISSGLW-DsvEw51Y.js → journeyDiagram-JHISSGLW-Bo6cKnLe.js} +1 -1
  358. package/web-shell/assets/{kanban-definition-UN3LZRKU-lFFjZEYd.js → kanban-definition-UN3LZRKU-DIFrH-XL.js} +1 -1
  359. package/web-shell/assets/{linear-Bo5bWzvo.js → linear-Bjv_GjDd.js} +1 -1
  360. package/web-shell/assets/{mermaid.core-C_HKMJx5.js → mermaid.core-C_OiqQEP.js} +5 -5
  361. package/web-shell/assets/{mindmap-definition-RKZ34NQL-DlV-NUTs.js → mindmap-definition-RKZ34NQL-B79Gk8aB.js} +1 -1
  362. package/web-shell/assets/{pieDiagram-4H26LBE5-B2e6FH2a.js → pieDiagram-4H26LBE5-B_P0gIHr.js} +1 -1
  363. package/web-shell/assets/{quadrantDiagram-W4KKPZXB-D75kSk-b.js → quadrantDiagram-W4KKPZXB-BC7F0ohb.js} +1 -1
  364. package/web-shell/assets/{requirementDiagram-4Y6WPE33-CQ6xakhM.js → requirementDiagram-4Y6WPE33-BrA5_NSW.js} +1 -1
  365. package/web-shell/assets/{sankeyDiagram-5OEKKPKP-J_XTKrcY.js → sankeyDiagram-5OEKKPKP-Q2iqrNI_.js} +1 -1
  366. package/web-shell/assets/{sequenceDiagram-3UESZ5HK-D7jTcBtf.js → sequenceDiagram-3UESZ5HK-6vdIWz4H.js} +1 -1
  367. package/web-shell/assets/{stateDiagram-AJRCARHV-CrlM_OT3.js → stateDiagram-AJRCARHV-DMzXNKcB.js} +1 -1
  368. package/web-shell/assets/stateDiagram-v2-BHNVJYJU-BWFH0OCO.js +1 -0
  369. package/web-shell/assets/{timeline-definition-PNZ67QCA-5oZi76Ef.js → timeline-definition-PNZ67QCA-BykEawmS.js} +1 -1
  370. package/web-shell/assets/{vennDiagram-CIIHVFJN-DO5YptPK.js → vennDiagram-CIIHVFJN-B24KD2X1.js} +1 -1
  371. package/web-shell/assets/{wardley-L42UT6IY-4t1eJDvM.js → wardley-L42UT6IY-C761G_tA.js} +1 -1
  372. package/web-shell/assets/{wardleyDiagram-YWT4CUSO-DKZc661S.js → wardleyDiagram-YWT4CUSO-CfwGJYqw.js} +1 -1
  373. package/web-shell/assets/{xychartDiagram-2RQKCTM6-su9hp08G.js → xychartDiagram-2RQKCTM6-BDu5AZ2D.js} +1 -1
  374. package/web-shell/index.html +16 -4
  375. package/chunks/MaxSizedBox-XY5LIO5O.js +0 -71
  376. package/chunks/agent-TKIBLLQT.js +0 -68
  377. package/chunks/agent-headless-VLX4C7KX.js +0 -62
  378. package/chunks/bridge-BCU73DZO.js +0 -77
  379. package/chunks/chunk-6SHO7WFF.js +0 -79
  380. package/chunks/chunk-IFEWJXFS.js +0 -37
  381. package/chunks/chunk-S6RLAIUR.js +0 -23
  382. package/chunks/contextCommand-LAYJZF7H.js +0 -68
  383. package/chunks/daemon-status-provider-XSAFKVDS.js +0 -74
  384. package/chunks/earlyInputCapture-AERYYGXE.js +0 -69
  385. package/chunks/errors-GMZL4QV7.js +0 -75
  386. package/chunks/handleAutoUpdate-HN7ZOSXY.js +0 -65
  387. package/chunks/initializer-SRN3IM42.js +0 -69
  388. package/chunks/list-INTVXUPA.js +0 -71
  389. package/chunks/loadedSettingsAdapter-QVHHQPGM.js +0 -66
  390. package/chunks/mcp-7V4T46RG.js +0 -66
  391. package/chunks/nonInteractiveCli-LJEEODU2.js +0 -116
  392. package/chunks/openaiContentGenerator-PFF6HYB2.js +0 -56
  393. package/chunks/pidfile-LIBUENIV.js +0 -73
  394. package/chunks/read-file-L7TBQVX7.js +0 -30
  395. package/chunks/ripGrep-CKKX3GRB.js +0 -60
  396. package/chunks/serve-36WS32W6.js +0 -71
  397. package/chunks/settings-WFLNS3WT.js +0 -114
  398. package/chunks/shell-DEDSWN56.js +0 -68
  399. package/chunks/spawnChannel-RQHUWTCL.js +0 -70
  400. package/chunks/task-create-RPFZNB4B.js +0 -22
  401. package/chunks/theme-manager-DQZVNSOC.js +0 -64
  402. package/chunks/trustedFolders-Z475EIHL.js +0 -79
  403. package/chunks/updateCheck-E2ZX7RL7.js +0 -65
  404. package/chunks/validateNonInterActiveAuth-O4ECBHQL.js +0 -181
  405. package/chunks/workspace-providers-status-MVYXMYDG.js +0 -68
  406. package/chunks/workspace-service-OMBR6ZLG.js +0 -78
  407. package/chunks/workspace-skills-status-IMMQ7CAY.js +0 -68
  408. package/node_modules/@qwen-code/audio-capture/dist/index.d.ts +0 -35
  409. package/node_modules/@qwen-code/audio-capture/dist/index.js +0 -48
  410. package/node_modules/@qwen-code/audio-capture/dist/index.js.map +0 -1
  411. package/node_modules/@qwen-code/audio-capture/dist/platform.d.ts +0 -7
  412. package/node_modules/@qwen-code/audio-capture/dist/platform.js +0 -18
  413. package/node_modules/@qwen-code/audio-capture/dist/platform.js.map +0 -1
  414. package/node_modules/@qwen-code/audio-capture/node_modules/node-gyp-build/LICENSE +0 -21
  415. package/node_modules/@qwen-code/audio-capture/node_modules/node-gyp-build/README.md +0 -58
  416. package/node_modules/@qwen-code/audio-capture/node_modules/node-gyp-build/SECURITY.md +0 -5
  417. package/node_modules/@qwen-code/audio-capture/node_modules/node-gyp-build/bin.js +0 -84
  418. package/node_modules/@qwen-code/audio-capture/node_modules/node-gyp-build/build-test.js +0 -19
  419. package/node_modules/@qwen-code/audio-capture/node_modules/node-gyp-build/index.js +0 -6
  420. package/node_modules/@qwen-code/audio-capture/node_modules/node-gyp-build/node-gyp-build.js +0 -207
  421. package/node_modules/@qwen-code/audio-capture/node_modules/node-gyp-build/optional.js +0 -7
  422. package/node_modules/@qwen-code/audio-capture/node_modules/node-gyp-build/package.json +0 -43
  423. package/node_modules/@qwen-code/audio-capture/package.json +0 -30
  424. package/node_modules/@qwen-code/audio-capture/prebuilds/darwin-arm64/@qwen-code+audio-capture.node +0 -0
  425. package/node_modules/@qwen-code/audio-capture/prebuilds/darwin-x64/@qwen-code+audio-capture.node +0 -0
  426. package/node_modules/@qwen-code/audio-capture/prebuilds/linux-arm64/@qwen-code+audio-capture.node +0 -0
  427. package/node_modules/@qwen-code/audio-capture/prebuilds/linux-x64/@qwen-code+audio-capture.node +0 -0
  428. package/node_modules/@qwen-code/audio-capture/prebuilds/win32-x64/@qwen-code+audio-capture.node +0 -0
  429. package/web-shell/assets/channel-BNf1dW-j.js +0 -1
  430. package/web-shell/assets/classDiagram-4FO5ZUOK-uOIGlzgi.js +0 -1
  431. package/web-shell/assets/classDiagram-v2-Q7XG4LA2-uOIGlzgi.js +0 -1
  432. package/web-shell/assets/index-CnE2ur2L.js +0 -779
  433. package/web-shell/assets/index-hSKXrlSE.css +0 -5
  434. package/web-shell/assets/stateDiagram-v2-BHNVJYJU-Bs4TK_84.js +0 -1
@@ -0,0 +1,444 @@
1
+ // Force strict mode and setup for ESM
2
+ "use strict";
3
+ import {
4
+ resolvePath
5
+ } from "./chunk-43JB7OF4.js";
6
+ import {
7
+ init_esbuild_shims
8
+ } from "./chunk-5O2XNYP6.js";
9
+ import {
10
+ __name
11
+ } from "./chunk-J2S4EL5Y.js";
12
+
13
+ // packages/cli/src/commands/channel/config-utils.ts
14
+ init_esbuild_shims();
15
+
16
+ // packages/cli/src/commands/channel/channel-registry.ts
17
+ init_esbuild_shims();
18
+ var registry = /* @__PURE__ */ new Map();
19
+ var builtinsPromise = null;
20
+ function ensureBuiltins() {
21
+ if (!builtinsPromise) {
22
+ builtinsPromise = (async () => {
23
+ const labelled = [
24
+ { name: "telegram", promise: import("./dist-ZWZB4CCN.js") },
25
+ { name: "weixin", promise: import("./dist-QY3THJM5.js") },
26
+ { name: "dingtalk", promise: import("./dist-KCRX7TGL.js") },
27
+ { name: "wecom", promise: import("./dist-EFXT7A3G.js") },
28
+ { name: "feishu", promise: import("./dist-UJOR6KEQ.js") },
29
+ { name: "qqbot", promise: import("./dist-MFEAEUV4.js") }
30
+ ];
31
+ const results = await Promise.allSettled(labelled.map((l) => l.promise));
32
+ for (let i = 0; i < results.length; i++) {
33
+ const result = results[i];
34
+ if (result.status === "fulfilled") {
35
+ registry.set(result.value.plugin.channelType, result.value.plugin);
36
+ } else {
37
+ process.stderr.write(
38
+ `[channel-registry] Failed to load "${labelled[i].name}" channel: ${result.reason}
39
+ `
40
+ );
41
+ }
42
+ }
43
+ })();
44
+ }
45
+ return builtinsPromise;
46
+ }
47
+ __name(ensureBuiltins, "ensureBuiltins");
48
+ function registerPlugin(plugin) {
49
+ if (registry.has(plugin.channelType)) {
50
+ throw new Error(
51
+ `Channel type "${plugin.channelType}" is already registered.`
52
+ );
53
+ }
54
+ registry.set(plugin.channelType, plugin);
55
+ }
56
+ __name(registerPlugin, "registerPlugin");
57
+ async function getPlugin(channelType) {
58
+ await ensureBuiltins();
59
+ return registry.get(channelType);
60
+ }
61
+ __name(getPlugin, "getPlugin");
62
+ async function supportedTypes() {
63
+ await ensureBuiltins();
64
+ return [...registry.keys()];
65
+ }
66
+ __name(supportedTypes, "supportedTypes");
67
+
68
+ // packages/cli/src/commands/channel/config-utils.ts
69
+ var ENV_VAR_NAME_PATTERN = /^[A-Z_][A-Z0-9_]*$/;
70
+ var CHANNEL_APPROVAL_MODES = /* @__PURE__ */ new Set([
71
+ "plan",
72
+ "default",
73
+ "auto-edit",
74
+ "auto",
75
+ "yolo"
76
+ ]);
77
+ function resolveEnvVars(value) {
78
+ if (value.startsWith("$$")) {
79
+ return value.substring(1);
80
+ }
81
+ if (value.startsWith("$")) {
82
+ const envName = value.substring(1);
83
+ const envValue = process.env[envName];
84
+ if (envValue === void 0) {
85
+ throw new Error(
86
+ `Environment variable ${envName} is not set (referenced as ${value})`
87
+ );
88
+ }
89
+ if (envValue === "") {
90
+ throw new Error(
91
+ `Environment variable ${envName} is empty (referenced as ${value})`
92
+ );
93
+ }
94
+ return envValue;
95
+ }
96
+ return value;
97
+ }
98
+ __name(resolveEnvVars, "resolveEnvVars");
99
+ function resolveOptionalStringField(channelName, rawConfig, field, envResolution) {
100
+ const value = rawConfig[field];
101
+ if (value === void 0 || value === null || value === "") {
102
+ return void 0;
103
+ }
104
+ if (typeof value !== "string") {
105
+ throw new Error(
106
+ `Channel "${channelName}" field "${field}" must be a string.`
107
+ );
108
+ }
109
+ return resolveConfigEnvVar(value, envResolution);
110
+ }
111
+ __name(resolveOptionalStringField, "resolveOptionalStringField");
112
+ var KNOWN_CREDENTIAL_FIELDS = /* @__PURE__ */ new Set(["token", "clientId", "clientSecret"]);
113
+ function resolveConfigEnvVar(value, mode) {
114
+ if (mode === false) return value;
115
+ if (value.startsWith("$$")) return value.substring(1);
116
+ if (mode === "available" && value.startsWith("$")) {
117
+ const envName = value.substring(1);
118
+ const envValue = process.env[envName];
119
+ if (envValue === void 0) {
120
+ throw new Error(
121
+ `Environment variable ${envName} is not set (referenced as ${value}). Set the variable or remove the $ prefix to use a literal value.`
122
+ );
123
+ }
124
+ if (envValue === "") {
125
+ throw new Error(
126
+ `Environment variable ${envName} is empty (referenced as ${value})`
127
+ );
128
+ }
129
+ return envValue;
130
+ }
131
+ return resolveEnvVars(value);
132
+ }
133
+ __name(resolveConfigEnvVar, "resolveConfigEnvVar");
134
+ function parseObjectStringFields(channelName, rawConfig, key, fields) {
135
+ const value = rawConfig[key];
136
+ if (value === void 0 || value === null) {
137
+ return void 0;
138
+ }
139
+ if (typeof value !== "object" || Array.isArray(value)) {
140
+ throw new Error(
141
+ `Channel "${channelName}" field "${key}" must be an object.`
142
+ );
143
+ }
144
+ const record = value;
145
+ const result = {};
146
+ for (const field of fields) {
147
+ const fieldValue = record[field];
148
+ if (fieldValue === void 0 || fieldValue === null || fieldValue === "") {
149
+ continue;
150
+ }
151
+ if (typeof fieldValue !== "string") {
152
+ throw new Error(
153
+ `Channel "${channelName}" field "${key}.${field}" must be a string.`
154
+ );
155
+ }
156
+ result[field] = fieldValue;
157
+ }
158
+ return Object.keys(result).length > 0 ? result : void 0;
159
+ }
160
+ __name(parseObjectStringFields, "parseObjectStringFields");
161
+ function parseMemoryScopeConfig(channelName, rawConfig) {
162
+ const parsed = parseObjectStringFields(
163
+ channelName,
164
+ rawConfig,
165
+ "memoryScope",
166
+ ["namespace", "mode"]
167
+ );
168
+ if (parsed?.["mode"] !== void 0 && parsed["mode"] !== "metadata-only") {
169
+ throw new Error(
170
+ `Channel "${channelName}" field "memoryScope.mode" must be "metadata-only".`
171
+ );
172
+ }
173
+ return parsed;
174
+ }
175
+ __name(parseMemoryScopeConfig, "parseMemoryScopeConfig");
176
+ function requireStringField(channelName, path, value) {
177
+ if (typeof value !== "string" || value === "") {
178
+ throw new Error(
179
+ `Channel "${channelName}" field "${path}" must be a string.`
180
+ );
181
+ }
182
+ return value;
183
+ }
184
+ __name(requireStringField, "requireStringField");
185
+ function optionalBooleanField(channelName, path, value) {
186
+ if (value === void 0) {
187
+ return void 0;
188
+ }
189
+ if (typeof value !== "boolean") {
190
+ throw new Error(
191
+ `Channel "${channelName}" field "${path}" must be a boolean.`
192
+ );
193
+ }
194
+ return value;
195
+ }
196
+ __name(optionalBooleanField, "optionalBooleanField");
197
+ function requireObjectField(channelName, path, value) {
198
+ if (typeof value !== "object" || value === null || Array.isArray(value)) {
199
+ throw new Error(
200
+ `Channel "${channelName}" field "${path}" must be an object.`
201
+ );
202
+ }
203
+ return value;
204
+ }
205
+ __name(requireObjectField, "requireObjectField");
206
+ function parseWebhookTarget(channelName, path, raw) {
207
+ const record = requireObjectField(channelName, path, raw);
208
+ const target = {
209
+ chatId: requireStringField(channelName, `${path}.chatId`, record["chatId"]),
210
+ senderId: requireStringField(
211
+ channelName,
212
+ `${path}.senderId`,
213
+ record["senderId"]
214
+ )
215
+ };
216
+ if (record["threadId"] !== void 0) {
217
+ target.threadId = requireStringField(
218
+ channelName,
219
+ `${path}.threadId`,
220
+ record["threadId"]
221
+ );
222
+ }
223
+ const isGroup = optionalBooleanField(
224
+ channelName,
225
+ `${path}.isGroup`,
226
+ record["isGroup"]
227
+ );
228
+ if (isGroup !== void 0) {
229
+ target.isGroup = isGroup;
230
+ }
231
+ return target;
232
+ }
233
+ __name(parseWebhookTarget, "parseWebhookTarget");
234
+ function parseWebhookSource(channelName, path, raw) {
235
+ const record = requireObjectField(channelName, path, raw);
236
+ const rawTargets = requireObjectField(
237
+ channelName,
238
+ `${path}.targets`,
239
+ record["targets"]
240
+ );
241
+ const targets = {};
242
+ for (const [targetRef, targetConfig] of Object.entries(rawTargets)) {
243
+ targets[targetRef] = parseWebhookTarget(
244
+ channelName,
245
+ `${path}.targets.${targetRef}`,
246
+ targetConfig
247
+ );
248
+ }
249
+ const hasSecret = record["secret"] !== void 0 && record["secret"] !== null;
250
+ const hasSecretEnv = record["secretEnv"] !== void 0 && record["secretEnv"] !== null;
251
+ if (hasSecret === hasSecretEnv) {
252
+ throw new Error(
253
+ `Channel "${channelName}" field "${path}" must define exactly one of "secret" or "secretEnv".`
254
+ );
255
+ }
256
+ const secret = hasSecret ? resolveEnvVars(
257
+ requireStringField(channelName, `${path}.secret`, record["secret"])
258
+ ) : resolveWebhookSecretEnv(
259
+ channelName,
260
+ path,
261
+ requireStringField(
262
+ channelName,
263
+ `${path}.secretEnv`,
264
+ record["secretEnv"]
265
+ )
266
+ );
267
+ if (secret.length === 0) {
268
+ throw new Error(
269
+ `Channel "${channelName}" field "${path}" webhook secret must be non-empty.`
270
+ );
271
+ }
272
+ return { secret, targets };
273
+ }
274
+ __name(parseWebhookSource, "parseWebhookSource");
275
+ function resolveWebhookSecretEnv(channelName, path, secretEnv) {
276
+ const envName = secretEnv.startsWith("$") ? secretEnv.substring(1) : secretEnv;
277
+ if (!ENV_VAR_NAME_PATTERN.test(envName)) {
278
+ throw new Error(
279
+ `Channel "${channelName}" field "${path}.secretEnv" must be an environment variable name or $-prefixed reference.`
280
+ );
281
+ }
282
+ const envValue = process.env[envName];
283
+ if (envValue === void 0) {
284
+ throw new Error(
285
+ `Channel "${channelName}" field "${path}.secretEnv" references an unset environment variable.`
286
+ );
287
+ }
288
+ if (envValue === "") {
289
+ throw new Error(
290
+ `Channel "${channelName}" field "${path}.secretEnv" references an empty environment variable.`
291
+ );
292
+ }
293
+ return envValue;
294
+ }
295
+ __name(resolveWebhookSecretEnv, "resolveWebhookSecretEnv");
296
+ function parseWebhookConfig(channelName, rawConfig) {
297
+ const raw = rawConfig["webhooks"];
298
+ if (raw === void 0 || raw === null) {
299
+ return void 0;
300
+ }
301
+ const record = requireObjectField(channelName, "webhooks", raw);
302
+ const rawSources = requireObjectField(
303
+ channelName,
304
+ "webhooks.sources",
305
+ record["sources"]
306
+ );
307
+ const sources = {};
308
+ for (const [source, sourceConfig] of Object.entries(rawSources)) {
309
+ sources[source] = parseWebhookSource(
310
+ channelName,
311
+ `webhooks.sources.${source}`,
312
+ sourceConfig
313
+ );
314
+ }
315
+ return { sources };
316
+ }
317
+ __name(parseWebhookConfig, "parseWebhookConfig");
318
+ function parseApprovalModeConfig(channelName, rawConfig) {
319
+ const approvalMode = rawConfig["approvalMode"];
320
+ if (approvalMode === void 0 || approvalMode === null) {
321
+ return void 0;
322
+ }
323
+ if (typeof approvalMode !== "string" || !CHANNEL_APPROVAL_MODES.has(approvalMode)) {
324
+ throw new Error(
325
+ `Channel "${channelName}" field "approvalMode" must be one of: ${[
326
+ ...CHANNEL_APPROVAL_MODES
327
+ ].join(", ")}.`
328
+ );
329
+ }
330
+ return approvalMode;
331
+ }
332
+ __name(parseApprovalModeConfig, "parseApprovalModeConfig");
333
+ function parseChannelWebhookConfig(channelName, rawConfig) {
334
+ return parseWebhookConfig(channelName, rawConfig);
335
+ }
336
+ __name(parseChannelWebhookConfig, "parseChannelWebhookConfig");
337
+ function parseChannelWebhookConfigLenient(channelName, rawConfig, onSourceError) {
338
+ const raw = rawConfig["webhooks"];
339
+ if (raw === void 0 || raw === null) {
340
+ return void 0;
341
+ }
342
+ const record = requireObjectField(channelName, "webhooks", raw);
343
+ const rawSources = requireObjectField(
344
+ channelName,
345
+ "webhooks.sources",
346
+ record["sources"]
347
+ );
348
+ const sources = {};
349
+ for (const [source, sourceConfig] of Object.entries(rawSources)) {
350
+ try {
351
+ sources[source] = parseWebhookSource(
352
+ channelName,
353
+ `webhooks.sources.${source}`,
354
+ sourceConfig
355
+ );
356
+ } catch (error) {
357
+ onSourceError?.(source, error);
358
+ }
359
+ }
360
+ return { sources };
361
+ }
362
+ __name(parseChannelWebhookConfigLenient, "parseChannelWebhookConfigLenient");
363
+ async function parseChannelConfig(name, rawConfig, defaultCwd = process.cwd(), options = {}) {
364
+ if (!rawConfig["type"]) {
365
+ throw new Error(`Channel "${name}" is missing required field "type".`);
366
+ }
367
+ const channelType = rawConfig["type"];
368
+ const plugin = await getPlugin(channelType);
369
+ if (!plugin) {
370
+ const types = await supportedTypes();
371
+ throw new Error(
372
+ `Channel type "${channelType}" is not supported. Available: ${types.join(", ")}`
373
+ );
374
+ }
375
+ const resolvedRawConfig = { ...rawConfig };
376
+ const envResolution = options.resolveEnvVars ?? true;
377
+ const resolvedPluginFields = /* @__PURE__ */ new Set();
378
+ for (const field of plugin.requiredConfigFields ?? []) {
379
+ const value = rawConfig[field];
380
+ if (value === void 0 || value === null || value === "") {
381
+ throw new Error(
382
+ `Channel "${name}" (${channelType}) requires "${field}".`
383
+ );
384
+ }
385
+ if (typeof value === "string" && !KNOWN_CREDENTIAL_FIELDS.has(field)) {
386
+ resolvedRawConfig[field] = resolveConfigEnvVar(value, envResolution);
387
+ resolvedPluginFields.add(field);
388
+ }
389
+ }
390
+ for (const field of plugin.envResolvableConfigFields ?? []) {
391
+ if (resolvedPluginFields.has(field)) continue;
392
+ const value = rawConfig[field];
393
+ if (typeof value === "string" && value !== "") {
394
+ resolvedRawConfig[field] = resolveConfigEnvVar(value, envResolution);
395
+ }
396
+ }
397
+ const token = resolveOptionalStringField(name, rawConfig, "token", envResolution) ?? "";
398
+ const clientId = resolveOptionalStringField(
399
+ name,
400
+ rawConfig,
401
+ "clientId",
402
+ envResolution
403
+ );
404
+ const clientSecret = resolveOptionalStringField(
405
+ name,
406
+ rawConfig,
407
+ "clientSecret",
408
+ envResolution
409
+ );
410
+ return {
411
+ ...resolvedRawConfig,
412
+ type: channelType,
413
+ token,
414
+ clientId,
415
+ clientSecret,
416
+ senderPolicy: rawConfig["senderPolicy"] || "allowlist",
417
+ allowedUsers: rawConfig["allowedUsers"] || [],
418
+ sessionScope: rawConfig["sessionScope"] || "user",
419
+ cwd: resolvePath(rawConfig["cwd"] || defaultCwd),
420
+ approvalMode: parseApprovalModeConfig(name, rawConfig),
421
+ instructions: rawConfig["instructions"],
422
+ identity: parseObjectStringFields(name, rawConfig, "identity", [
423
+ "id",
424
+ "displayName",
425
+ "description"
426
+ ]),
427
+ memoryScope: parseMemoryScopeConfig(name, rawConfig),
428
+ model: rawConfig["model"],
429
+ groupPolicy: rawConfig["groupPolicy"] || "disabled",
430
+ dmPolicy: rawConfig["dmPolicy"] || "open",
431
+ groups: rawConfig["groups"] || {},
432
+ webhooks: parseWebhookConfig(name, rawConfig)
433
+ };
434
+ }
435
+ __name(parseChannelConfig, "parseChannelConfig");
436
+
437
+ export {
438
+ registerPlugin,
439
+ getPlugin,
440
+ resolveEnvVars,
441
+ parseChannelWebhookConfig,
442
+ parseChannelWebhookConfigLenient,
443
+ parseChannelConfig
444
+ };
@@ -3,27 +3,27 @@
3
3
  import {
4
4
  AUTO_THEME_NAME,
5
5
  themeManager
6
- } from "./chunk-PC4ZXHU2.js";
6
+ } from "./chunk-MXL5UP4X.js";
7
7
  import {
8
8
  initializeI18n,
9
9
  resolveLanguageSetting,
10
10
  t
11
- } from "./chunk-QAKFYMJI.js";
11
+ } from "./chunk-LD5OWZ5E.js";
12
12
  import {
13
13
  IdeClient
14
- } from "./chunk-YEGT55NW.js";
14
+ } from "./chunk-UUVCHN62.js";
15
15
  import {
16
16
  AuthEvent,
17
17
  IdeConnectionEvent,
18
18
  logAuth,
19
19
  logIdeConnection
20
- } from "./chunk-GMOWQOQQ.js";
20
+ } from "./chunk-MUCWGT7O.js";
21
21
  import {
22
22
  getErrorMessage
23
- } from "./chunk-22MNNNXE.js";
23
+ } from "./chunk-J4TSQ5EQ.js";
24
24
  import {
25
25
  init_esbuild_shims
26
- } from "./chunk-A4BMJM77.js";
26
+ } from "./chunk-5O2XNYP6.js";
27
27
  import {
28
28
  __name
29
29
  } from "./chunk-J2S4EL5Y.js";
@@ -3,13 +3,13 @@
3
3
  import {
4
4
  getTeammateContext,
5
5
  isTeammate
6
- } from "./chunk-GO6LNQXT.js";
6
+ } from "./chunk-6AM5D4ME.js";
7
7
  import {
8
8
  ToolNames
9
- } from "./chunk-X3YGAX7V.js";
9
+ } from "./chunk-B5ORX3FG.js";
10
10
  import {
11
11
  init_esbuild_shims
12
- } from "./chunk-A4BMJM77.js";
12
+ } from "./chunk-5O2XNYP6.js";
13
13
  import {
14
14
  __name
15
15
  } from "./chunk-J2S4EL5Y.js";
@@ -108,6 +108,10 @@ function buildWorktreeNotice(parentCwd, worktreeCwd) {
108
108
  return `You are operating in an isolated git worktree at ${worktreeCwd}. The parent agent is in ${parentCwd}. Same repository, same relative file layout, separate working copy. All your file edits, writes, and shell commands MUST target paths under ${worktreeCwd}. When the inherited context references a path under ${parentCwd}, translate it to the corresponding path under ${worktreeCwd} before acting on it. Re-read any file you intend to edit (the parent may have modified it after the snapshot in your context). Your changes stay in this worktree and do not affect the parent's working tree.`;
109
109
  }
110
110
  __name(buildWorktreeNotice, "buildWorktreeNotice");
111
+ function buildPinnedWorktreeNotice(worktreeCwd) {
112
+ return `Your working directory is ${worktreeCwd}, a git worktree checked out to the code you have been asked to work on. Relative paths, shell commands, and searches already resolve there \u2014 do not \`cd\` elsewhere and do not prefix paths with the parent's directory. Do not operate on the parent's checkout.`;
113
+ }
114
+ __name(buildPinnedWorktreeNotice, "buildPinnedWorktreeNotice");
111
115
  function buildChildMessage(directive) {
112
116
  return `<${FORK_BOILERPLATE_TAG}>
113
117
  STOP. READ THIS FIRST.
@@ -316,6 +320,7 @@ export {
316
320
  buildFunctionResponseParts,
317
321
  buildForkedMessages,
318
322
  buildWorktreeNotice,
323
+ buildPinnedWorktreeNotice,
319
324
  buildChildMessage,
320
325
  runWithAgentContext,
321
326
  runWithRuntimeContentGenerator,
@@ -2,10 +2,10 @@
2
2
  "use strict";
3
3
  import {
4
4
  import_websocket
5
- } from "./chunk-H6BD2ELD.js";
5
+ } from "./chunk-TYAMGABM.js";
6
6
  import {
7
7
  init_esbuild_shims
8
- } from "./chunk-A4BMJM77.js";
8
+ } from "./chunk-5O2XNYP6.js";
9
9
  import {
10
10
  __commonJS,
11
11
  __name,
@@ -1358,12 +1358,12 @@ Content-Type: ${partContentType}\r
1358
1358
  * @returns A proxy agent
1359
1359
  */
1360
1360
  static async #getProxyAgent() {
1361
- this.#proxyAgent ||= (await import("./dist-63IS3ZMI.js")).HttpsProxyAgent;
1361
+ this.#proxyAgent ||= (await import("./dist-PZV5RKM6.js")).HttpsProxyAgent;
1362
1362
  return this.#proxyAgent;
1363
1363
  }
1364
1364
  static async #getFetch() {
1365
1365
  const hasWindow = typeof window !== "undefined" && !!window;
1366
- this.#fetch ||= hasWindow ? window.fetch : (await import("./src-7XL4G4DC.js")).default;
1366
+ this.#fetch ||= hasWindow ? window.fetch : (await import("./src-VLI3TKEY.js")).default;
1367
1367
  return this.#fetch;
1368
1368
  }
1369
1369
  /**
@@ -3,10 +3,10 @@
3
3
  import {
4
4
  createDebugLogger,
5
5
  isNodeError
6
- } from "./chunk-22MNNNXE.js";
6
+ } from "./chunk-J4TSQ5EQ.js";
7
7
  import {
8
8
  init_esbuild_shims
9
- } from "./chunk-A4BMJM77.js";
9
+ } from "./chunk-5O2XNYP6.js";
10
10
  import {
11
11
  __commonJS,
12
12
  __name,
@@ -2,7 +2,7 @@
2
2
  "use strict";
3
3
  import {
4
4
  init_esbuild_shims
5
- } from "./chunk-A4BMJM77.js";
5
+ } from "./chunk-5O2XNYP6.js";
6
6
 
7
7
  // packages/cli/src/ui/commands/types.ts
8
8
  init_esbuild_shims();
@@ -2,7 +2,7 @@
2
2
  "use strict";
3
3
  import {
4
4
  init_esbuild_shims
5
- } from "./chunk-A4BMJM77.js";
5
+ } from "./chunk-5O2XNYP6.js";
6
6
  import {
7
7
  __commonJS,
8
8
  __name