@qwen-code/qwen-code 0.22.0 → 0.22.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 (449) hide show
  1. package/bundled/computer-use/SKILL.md +229 -0
  2. package/bundled/computer-use/agents/openai.yaml +4 -0
  3. package/bundled/coordinate/SKILL.md +5 -5
  4. package/bundled/qc-helper/docs/configuration/auth.md +7 -7
  5. package/bundled/qc-helper/docs/configuration/model-providers.md +70 -9
  6. package/bundled/qc-helper/docs/configuration/settings.md +40 -40
  7. package/bundled/qc-helper/docs/extension/introduction.md +3 -1
  8. package/bundled/qc-helper/docs/features/channels/_meta.ts +1 -0
  9. package/bundled/qc-helper/docs/features/channels/dingtalk.md +12 -0
  10. package/bundled/qc-helper/docs/features/channels/dws.md +120 -0
  11. package/bundled/qc-helper/docs/features/channels/overview.md +3 -3
  12. package/bundled/qc-helper/docs/features/code-review.md +25 -21
  13. package/bundled/qc-helper/docs/features/commands.md +2 -2
  14. package/bundled/qc-helper/docs/features/computer-use.md +57 -51
  15. package/bundled/qc-helper/docs/features/mcp.md +35 -12
  16. package/bundled/qc-helper/docs/features/sub-agents.md +1 -1
  17. package/bundled/qc-helper/docs/features/worktree.md +1 -1
  18. package/bundled/qc-helper/docs/overview.md +1 -1
  19. package/bundled/qc-helper/docs/quickstart.md +1 -1
  20. package/bundled/qc-helper/docs/qwen-serve.md +29 -6
  21. package/bundled/review/SKILL.md +119 -417
  22. package/bundled/review/references/aone.md +18 -0
  23. package/bundled/review/references/persistence.md +105 -0
  24. package/bundled/review/references/posting.md +270 -0
  25. package/chunks/MaxSizedBox-UUTUE42J.js +112 -0
  26. package/chunks/{StandaloneSessionPicker-KTHPCSR6.js → StandaloneSessionPicker-XF2TVJFK.js} +87 -86
  27. package/chunks/{acp-startup-profiler-T4GEAPLX.js → acp-startup-profiler-GNYAL6LI.js} +2 -2
  28. package/chunks/{acpAgent-CRY3JZ5O.js → acpAgent-GY53MJIW.js} +2216 -1931
  29. package/chunks/agent-7U6CC5KF.js +97 -0
  30. package/chunks/agent-headless-32O4L2CT.js +87 -0
  31. package/chunks/{anthropicContentGenerator-Y2OX6LS4.js → anthropicContentGenerator-U76GTVB6.js} +128 -58
  32. package/chunks/{artifact-tool-SBXMTVCB.js → artifact-tool-XDJCZZCF.js} +2 -2
  33. package/chunks/{askUserQuestion-KEQJRFD6.js → askUserQuestion-ZXXERLEV.js} +2 -2
  34. package/chunks/bridge-DFX2FFH4.js +119 -0
  35. package/chunks/{ca-D3F4S6NG.js → ca-7HPYOYSZ.js} +3 -0
  36. package/chunks/{channel-management-service-IRTT7RNE.js → channel-management-service-HXXS3HOZ.js} +4 -4
  37. package/chunks/channel-settings-store-ELLH2M4M.js +117 -0
  38. package/chunks/{channel-worker-group-BJNMR2MP.js → channel-worker-group-EVDC2P4K.js} +8 -7
  39. package/chunks/{channel-worker-manager-EMA7CQDJ.js → channel-worker-manager-IJJZHGEI.js} +8 -7
  40. package/chunks/{channel-worker-supervisor-F6I6WSWW.js → channel-worker-supervisor-YSKB5GVB.js} +12 -7
  41. package/chunks/{chunk-2TRNCJK4.js → chunk-27ONXAFY.js} +1 -1
  42. package/chunks/{chunk-OVH5Y7KS.js → chunk-2CRNTW2B.js} +19 -3
  43. package/chunks/{read-package-up-UXSW3YPB.js → chunk-2EAZ43JQ.js} +1 -0
  44. package/chunks/{chunk-DB2OKNTU.js → chunk-2FN2HNTI.js} +2 -2
  45. package/chunks/{chunk-KM73TBQ4.js → chunk-2LD5U7Q3.js} +31 -0
  46. package/chunks/{chunk-QJHPWLZC.js → chunk-2MHGD7EE.js} +1 -1
  47. package/chunks/{chunk-BMCSKS37.js → chunk-2NCVUT3C.js} +6 -6
  48. package/chunks/{chunk-A5F2YNO6.js → chunk-2NNTE2ED.js} +245 -10
  49. package/chunks/{chunk-Z3JMO2CH.js → chunk-2SERYG4T.js} +1 -1
  50. package/chunks/{chunk-4J7OPYNS.js → chunk-2YDYDDE2.js} +6 -6
  51. package/chunks/{chunk-PXOJLJ5W.js → chunk-2YEZNBSD.js} +333 -184
  52. package/chunks/{chunk-UU4WC7DK.js → chunk-2ZV3CZKI.js} +82 -12
  53. package/chunks/{chunk-SE55HQGF.js → chunk-3B5DCAQU.js} +74 -52
  54. package/chunks/{chunk-UIRLQ3N7.js → chunk-3BV7TZNQ.js} +3 -3
  55. package/chunks/{chunk-2Z6LSQMF.js → chunk-3FSBMAYD.js} +1 -1
  56. package/chunks/{chunk-DJEHYM4H.js → chunk-3UZCLCXR.js} +3 -3
  57. package/chunks/{chunk-WWUSHZ7M.js → chunk-43C2II2G.js} +5 -5
  58. package/chunks/{chunk-2GXYDNXP.js → chunk-47SIHHPL.js} +8 -8
  59. package/chunks/{chunk-PHJJ3RVO.js → chunk-4DCP3362.js} +7 -15
  60. package/chunks/chunk-4K7NQDCG.js +104 -0
  61. package/chunks/{chunk-UZPYR3EV.js → chunk-4TPAG3O7.js} +1 -1
  62. package/chunks/{chunk-BEGIBJAZ.js → chunk-5CI4AXDD.js} +4 -4
  63. package/chunks/{chunk-7KOFLDEP.js → chunk-5JTIYALA.js} +1 -1
  64. package/chunks/{chunk-7HFULI45.js → chunk-5MK32KJV.js} +3 -3
  65. package/chunks/{chunk-CXJHQVEK.js → chunk-5PA6UEYA.js} +4 -0
  66. package/chunks/{chunk-IBJ5S45N.js → chunk-5T4LWWNX.js} +2 -2
  67. package/chunks/{chunk-VUMLT7E5.js → chunk-5Y2JCJAH.js} +2 -2
  68. package/chunks/{chunk-YZBDKFRQ.js → chunk-5ZYZPDDF.js} +993 -895
  69. package/chunks/{chunk-2A4C2MEG.js → chunk-62PXFOK4.js} +35 -12
  70. package/chunks/{chunk-IIWGSX4L.js → chunk-6E4WHQJV.js} +1 -1
  71. package/chunks/{chunk-6PCOVQO2.js → chunk-6HTMIKXZ.js} +8 -8
  72. package/chunks/{chunk-RDG44S5I.js → chunk-6KS24S3X.js} +2 -2
  73. package/chunks/{chunk-GAHYKJPV.js → chunk-6US7BF3G.js} +7 -59
  74. package/chunks/{chunk-MHG6NDS6.js → chunk-6YAR6ZU3.js} +2 -2
  75. package/chunks/{chunk-3CLIDIVQ.js → chunk-73WFGVIZ.js} +3 -3
  76. package/chunks/{chunk-ZZUVC6RI.js → chunk-76WGY6LW.js} +3 -3
  77. package/chunks/{chunk-XLDFW44M.js → chunk-77TOMRBG.js} +3 -3
  78. package/chunks/{chunk-PDL6LKB5.js → chunk-7AS7QX72.js} +1 -1
  79. package/chunks/{chunk-ND7NOI4P.js → chunk-7CWEZQ6T.js} +0 -15
  80. package/chunks/{chunk-DWCKACFL.js → chunk-7DPKPBOQ.js} +2 -2
  81. package/chunks/{chunk-45NQKMYB.js → chunk-7JPW6IYH.js} +1 -1
  82. package/chunks/{chunk-HDKCKCYO.js → chunk-7QGEJI7M.js} +1 -1
  83. package/chunks/{chunk-S4C4JJKE.js → chunk-A7X32SCT.js} +5 -5
  84. package/chunks/{chunk-O5Z7EB6Y.js → chunk-AYHQZBJ4.js} +170 -207
  85. package/chunks/{chunk-7DYNJFES.js → chunk-AYVIGUUK.js} +6 -1
  86. package/chunks/{chunk-7DMTAQJ6.js → chunk-BDHLBR46.js} +132 -49
  87. package/chunks/{chunk-43T5WDQ7.js → chunk-BFSFJR3D.js} +1 -1
  88. package/chunks/{chunk-AP3B7LKD.js → chunk-BKDAF7ES.js} +2 -2
  89. package/chunks/{chunk-B6UBOIFE.js → chunk-BQBUZDDH.js} +14 -11
  90. package/chunks/{chunk-VLRBJ24J.js → chunk-BVE5EMIG.js} +2 -2
  91. package/chunks/{chunk-P47E4SJC.js → chunk-BX2BZPFJ.js} +3 -3
  92. package/chunks/{chunk-OARZJFZX.js → chunk-C4WBKZJT.js} +4 -4
  93. package/chunks/{chunk-QKBYFU2Q.js → chunk-CFKIH3D3.js} +21 -1
  94. package/chunks/{chunk-URN2JIAQ.js → chunk-CITGRGCM.js} +2 -1
  95. package/chunks/{chunk-WU5E4HMO.js → chunk-CPPYZHBN.js} +1 -1
  96. package/chunks/chunk-DCSAVGDJ.js +20 -0
  97. package/chunks/{chunk-Q54XG7IX.js → chunk-DEYPMJPD.js} +1 -1
  98. package/chunks/{chunk-KSPRQSB4.js → chunk-DIMEPKCW.js} +52 -12
  99. package/chunks/{chunk-I432KXWD.js → chunk-DP7LABIB.js} +1 -1
  100. package/chunks/{chunk-36OF5PRW.js → chunk-E4I5MVBR.js} +7 -3
  101. package/chunks/{chunk-AW27A43Y.js → chunk-E55H6BZ7.js} +93 -1
  102. package/chunks/{chunk-K623ENWT.js → chunk-E6FGMDFQ.js} +4 -0
  103. package/chunks/{chunk-5XUTPXQU.js → chunk-EAV3TENS.js} +6 -9
  104. package/chunks/{chunk-LI4YHTQK.js → chunk-EB4VDXNI.js} +1 -1
  105. package/chunks/{chunk-JOLJTKIG.js → chunk-EC5BONC3.js} +1 -1
  106. package/chunks/{chunk-25NESM4G.js → chunk-EEQYTWGU.js} +29 -5
  107. package/chunks/{chunk-4CWDWDL6.js → chunk-EKP3M4RF.js} +1 -1
  108. package/chunks/{chunk-W4CRPSC5.js → chunk-ELY4QVIB.js} +1 -1
  109. package/chunks/{chunk-BB5IMQCV.js → chunk-EMGAVCBZ.js} +2 -2
  110. package/chunks/chunk-FBX2SDQ4.js +48 -0
  111. package/chunks/{chunk-C72BXMJ5.js → chunk-FJWICLG7.js} +1 -1
  112. package/chunks/{chunk-6FRJEE2S.js → chunk-FK4H3V6S.js} +5 -5
  113. package/chunks/{chunk-LDGWX737.js → chunk-FN5C6C7G.js} +160 -59
  114. package/chunks/{chunk-3ZFJUBTP.js → chunk-FPH6TXD3.js} +1 -1
  115. package/chunks/{chunk-WRT324N6.js → chunk-FVDQ5E67.js} +3 -3
  116. package/chunks/{chunk-VFACN2CE.js → chunk-GNMJNDZE.js} +1 -1
  117. package/chunks/{chunk-FVBVJEBG.js → chunk-GNRVKN76.js} +10 -8
  118. package/chunks/{chunk-PZRUV52H.js → chunk-GTUKW3I6.js} +20 -2
  119. package/chunks/chunk-GYTKQYDB.js +23 -0
  120. package/chunks/{chunk-VMJL7RH6.js → chunk-GZJUCMH4.js} +4 -4
  121. package/chunks/{chunk-MQP3MHWN.js → chunk-HJOWQUE2.js} +21 -15
  122. package/chunks/{chunk-ZS5BHEPD.js → chunk-I32QCIK7.js} +1 -1
  123. package/chunks/{chunk-7IV52LTO.js → chunk-I6VVOZDK.js} +2 -2
  124. package/chunks/{chunk-X7V3N6YH.js → chunk-I6YW3T3W.js} +218 -37
  125. package/chunks/{chunk-2E3V7G6Y.js → chunk-ICWGPK23.js} +55 -50
  126. package/chunks/{chunk-SQS55KR4.js → chunk-IJVDHPKD.js} +2 -2
  127. package/chunks/{chunk-QS4ENGVF.js → chunk-IKN3IUJP.js} +9 -8
  128. package/chunks/{chunk-2UZJWSVD.js → chunk-ILPXSKGQ.js} +2 -2
  129. package/chunks/{chunk-ZRYQMWEP.js → chunk-IPQA4SR5.js} +2 -2
  130. package/chunks/{chunk-XYQHT3AW.js → chunk-IRIX323G.js} +2 -2
  131. package/chunks/{chunk-5HJUPACR.js → chunk-J7MLXFC5.js} +2 -2
  132. package/chunks/{chunk-AZF6SME3.js → chunk-JECO75XD.js} +3 -3
  133. package/chunks/chunk-JLGFGPZJ.js +346 -0
  134. package/chunks/{chunk-WZDM44SB.js → chunk-JUIJ3FXC.js} +7 -7
  135. package/chunks/{chunk-A6NRNRKE.js → chunk-JVPFTDBK.js} +1 -1
  136. package/chunks/{chunk-2J3OJGTL.js → chunk-K2OJUPOE.js} +1 -21
  137. package/chunks/{chunk-GHY5OIYP.js → chunk-K63NK3KL.js} +13 -13
  138. package/chunks/{chunk-7JBHIQS2.js → chunk-KCOXDRQL.js} +7 -13
  139. package/chunks/{chunk-6NFAEG54.js → chunk-KOJ6MHD5.js} +24 -13
  140. package/chunks/{chunk-WS7PAXXR.js → chunk-KWFP3WV6.js} +18 -13
  141. package/chunks/{chunk-A5F63FEW.js → chunk-L436XFLJ.js} +1 -1
  142. package/chunks/{chunk-KIVGVFMM.js → chunk-LI2HEMKO.js} +16 -4
  143. package/chunks/{chunk-GIWB5QLV.js → chunk-LJP2BBMK.js} +4 -4
  144. package/chunks/{create-sub-session-XBCVGNFU.js → chunk-LRKMQPMD.js} +4 -6
  145. package/chunks/{chunk-6UQSU7CQ.js → chunk-MDZO5V2O.js} +58 -107
  146. package/chunks/{chunk-AO4M6NMD.js → chunk-MW5AHWOZ.js} +60 -20
  147. package/chunks/{chunk-FYZMB6DB.js → chunk-MYLXL7F6.js} +11 -11
  148. package/chunks/{chunk-ZLCT4C5A.js → chunk-MZS7GEC7.js} +1 -1
  149. package/chunks/{chunk-VEND4KA4.js → chunk-NER3H7PI.js} +1 -1
  150. package/chunks/{chunk-AVCCKIZ6.js → chunk-NVK4HJYQ.js} +1 -1
  151. package/chunks/{chunk-MPHLIJYL.js → chunk-NY3IJYAV.js} +14 -8
  152. package/chunks/{chunk-XZJKSETB.js → chunk-O3BUXIPM.js} +3 -3
  153. package/chunks/{chunk-4XPSVIED.js → chunk-O5YGAEQS.js} +6 -6
  154. package/chunks/{chunk-NW35NVFN.js → chunk-ODXCSIH5.js} +4 -4
  155. package/chunks/{chunk-5XHAOUWD.js → chunk-OI2DR6QB.js} +3 -3
  156. package/chunks/{chunk-BUGYW6FB.js → chunk-OQ6LTSX3.js} +1 -1
  157. package/chunks/{chunk-J5ZDDUKM.js → chunk-OT26ITEY.js} +4 -4
  158. package/chunks/{chunk-EFB657PR.js → chunk-OX44MOAN.js} +3 -3
  159. package/chunks/{chunk-LURJYO2T.js → chunk-OZ6KS6KW.js} +4 -0
  160. package/chunks/{chunk-4F5WV4RF.js → chunk-PAJGKZAA.js} +281 -10
  161. package/chunks/{chunk-HIK2OF33.js → chunk-PVBT5QPD.js} +1 -1
  162. package/chunks/chunk-QHMLYMMS.js +32 -0
  163. package/chunks/{chunk-U2UYQMM6.js → chunk-R2ZJH3FV.js} +3 -3
  164. package/chunks/{chunk-K52PZNU4.js → chunk-RRKNX553.js} +2 -2
  165. package/chunks/chunk-RXFQM6FQ.js +42 -0
  166. package/chunks/{chunk-SJ4HB27T.js → chunk-SDVF6A42.js} +3 -3
  167. package/chunks/{chunk-TBVSALA3.js → chunk-SKNVVYIJ.js} +3 -3
  168. package/chunks/{chunk-JGUBDRBC.js → chunk-SLEWBQWM.js} +3 -3
  169. package/chunks/{chunk-ZRFUT5VV.js → chunk-SM7ZVKTF.js} +7 -7
  170. package/chunks/{chunk-UUQFJILB.js → chunk-SQPOJ4ZI.js} +15 -3
  171. package/chunks/{chunk-RPJQ3O4M.js → chunk-SRGENTPF.js} +31 -41
  172. package/chunks/{chunk-ISJMN3ML.js → chunk-T2CRBIDJ.js} +1 -1
  173. package/chunks/{chunk-MZKWFWVG.js → chunk-T2HMXHYA.js} +6 -6
  174. package/chunks/{chunk-FEMQ6Y7W.js → chunk-T6OODF2U.js} +47 -126
  175. package/chunks/{chunk-VYC7XFYV.js → chunk-TKO4TLT6.js} +5 -5
  176. package/chunks/{chunk-KVGR4MCF.js → chunk-TOF4UZHH.js} +3 -3
  177. package/chunks/{chunk-LD5VIJ7S.js → chunk-TWSKM647.js} +1 -1
  178. package/chunks/{chunk-7NBVNAJJ.js → chunk-UCSV2IZW.js} +3 -3
  179. package/chunks/{chunk-FDD2IUEL.js → chunk-UX3IFLJM.js} +229 -21
  180. package/chunks/{chunk-YDJRMQU4.js → chunk-V3GINY6K.js} +3 -3
  181. package/chunks/{chunk-XL5K4SVK.js → chunk-VL4YX3FH.js} +1 -1
  182. package/chunks/{chunk-62JOGZL5.js → chunk-VMDURMFY.js} +199 -87
  183. package/chunks/{chunk-OE52YHCZ.js → chunk-W2WRNJKX.js} +11 -11
  184. package/chunks/{chunk-YLFLHKDL.js → chunk-W3N5XAZ6.js} +1 -1
  185. package/chunks/{chunk-IWOWEENB.js → chunk-WBT3STGU.js} +385 -25
  186. package/chunks/{chunk-S3G6YFQC.js → chunk-WEGXPP5E.js} +1 -1
  187. package/chunks/{chunk-RDQ7QB4Y.js → chunk-XJS54K4A.js} +2 -2
  188. package/chunks/{chunk-L4HVF7LM.js → chunk-XNXWEGKB.js} +3 -3
  189. package/chunks/{chunk-T6XLJRQY.js → chunk-XYX474JQ.js} +36509 -5182
  190. package/chunks/{chunk-F6WFNA7U.js → chunk-XZA32HII.js} +3 -6
  191. package/chunks/{chunk-NUGZAFR2.js → chunk-ZEADBZLO.js} +147 -6
  192. package/chunks/chunk-ZELCTN6Y.js +29 -0
  193. package/chunks/{chunk-TQOF5KBL.js → chunk-ZEZKIS2K.js} +0 -31
  194. package/chunks/{chunk-IOSEW6KP.js → chunk-ZJG323IA.js} +5 -4
  195. package/chunks/{chunk-VSNPOSDN.js → chunk-ZKAZP2ZG.js} +107 -12
  196. package/chunks/{chunk-YMVFIYHV.js → chunk-ZLTEQYNC.js} +2 -2
  197. package/chunks/{chunk-O5BDEWBC.js → chunk-ZWKGZB2K.js} +3 -3
  198. package/chunks/{chunk-6QSA4JHL.js → chunk-ZXDM7DYV.js} +2772 -814
  199. package/chunks/chunk-ZYNTSXWK.js +32 -0
  200. package/chunks/config-utils-7M6PCTLT.js +113 -0
  201. package/chunks/contextCommand-G4QG3TW6.js +108 -0
  202. package/chunks/{core-runtime-CES6JSVV.js → core-runtime-PKNQ63VL.js} +63 -58
  203. package/chunks/{create-sub-session-UJTPMVOG.js → create-sub-session-PLGPY6TV.js} +60 -58
  204. package/chunks/create-sub-session-RVHSWVAP.js +17 -0
  205. package/chunks/{cron-create-IKA56DAF.js → cron-create-IJGVR5R2.js} +4 -4
  206. package/chunks/{cron-delete-K5Q62EGH.js → cron-delete-4N5BI6GL.js} +4 -4
  207. package/chunks/{cron-list-QBFGAMP7.js → cron-list-2CATIPUX.js} +4 -4
  208. package/chunks/{daemon-RZZUPGOJ.js → daemon-NAYK4XXU.js} +51 -24
  209. package/chunks/{daemon-git-worktree-guard-3QY2BQYB.js → daemon-git-worktree-guard-LDBJXH2U.js} +338 -92
  210. package/chunks/daemon-status-provider-F5FEHVVG.js +118 -0
  211. package/chunks/daemon-trust-policy-C6YTU5CQ.js +114 -0
  212. package/chunks/{daemon-trust-policy-monitor-TK4K7M63.js → daemon-trust-policy-monitor-IGEJPHQ4.js} +68 -66
  213. package/chunks/{de-RYUHH2C6.js → de-X6HLSIFE.js} +1 -0
  214. package/chunks/deferred-core-runtime-GHT3GDOR.js +116 -0
  215. package/chunks/{display-image-OEJMJV3S.js → display-image-DR55LL6M.js} +5 -5
  216. package/chunks/dist-4Q7NTUNB.js +2512 -0
  217. package/chunks/{dist-ESS34DHC.js → dist-6H6RZ5H6.js} +2 -2
  218. package/chunks/{dist-LZO24N3E.js → dist-7CKN54NL.js} +1 -1
  219. package/chunks/{dist-5EV2G6MC.js → dist-DJBNNPLN.js} +1 -1
  220. package/chunks/{dist-J6P3C52Z.js → dist-FVJZSIO4.js} +28 -7
  221. package/chunks/{dist-K7IQB53U.js → dist-SATKXKUR.js} +1 -1
  222. package/chunks/{dist-ES6HNUW2.js → dist-TJUDJTCB.js} +246 -17
  223. package/chunks/{dist-VVQBOKDH.js → dist-UQUFZDIY.js} +1 -1
  224. package/chunks/{dist-2OG3PGKO.js → dist-ZBVOXSKF.js} +3 -3
  225. package/chunks/earlyInputCapture-HOSJTLWP.js +109 -0
  226. package/chunks/{edit-A2633SLR.js → edit-KSPVUEAS.js} +48 -48
  227. package/chunks/{en-3RHLPITS.js → en-6MDBWMTG.js} +3 -0
  228. package/chunks/{enter-worktree-OIAHE2TB.js → enter-worktree-UOZ6ZTP7.js} +7 -8
  229. package/chunks/{enterPlanMode-SUGIKLR7.js → enterPlanMode-DZTABSKN.js} +47 -47
  230. package/chunks/environment-JXOSW25V.js +131 -0
  231. package/chunks/errors-IOXFDE4J.js +115 -0
  232. package/chunks/{exit-worktree-3UT3SSWT.js → exit-worktree-G2QATUCV.js} +7 -8
  233. package/chunks/exitPlanMode-PZG4FXRB.js +85 -0
  234. package/chunks/{fast-path-3AVP3G35.js → fast-path-EBS7NAVL.js} +28 -7
  235. package/chunks/{fast-path-settings-WHX3J3ZI.js → fast-path-settings-XMFBYFUH.js} +2 -2
  236. package/chunks/{fr-4PL5GHG4.js → fr-FTZWF462.js} +1 -0
  237. package/chunks/{gemini-7PVQWHTH.js → gemini-JELEKOVS.js} +129 -123
  238. package/chunks/{geminiContentGenerator-B2FOJJDJ.js → geminiContentGenerator-I2CKP7XI.js} +16 -13
  239. package/chunks/{glob-7YGXE6OV.js → glob-TDVEVPQZ.js} +47 -47
  240. package/chunks/{goal-tools-TLJCE7YZ.js → goal-tools-CNVXMSZD.js} +72 -28
  241. package/chunks/{grep-6DV6LTON.js → grep-3NLSS32D.js} +6 -6
  242. package/chunks/handleAutoUpdate-AWAGHKOX.js +111 -0
  243. package/chunks/i18n-CYA25C5F.js +126 -0
  244. package/chunks/{image-gen-7CSCJ73T.js → image-gen-63NN2H5N.js} +9 -11
  245. package/chunks/initializer-JD2FLNLO.js +115 -0
  246. package/chunks/installationInfo-N3DCWVWR.js +109 -0
  247. package/chunks/{ja-HZ7X7PQO.js → ja-2GL5FKYJ.js} +1 -0
  248. package/chunks/{keychain-token-storage-MTFTAESK.js → keychain-token-storage-3MGFRYGM.js} +2 -2
  249. package/chunks/list-XDQAUET5.js +118 -0
  250. package/chunks/{list-agents-43XUEXJV.js → list-agents-EXRSHIDJ.js} +2 -2
  251. package/chunks/loadedSettingsAdapter-IK7H5JRK.js +112 -0
  252. package/chunks/{loggingContentGenerator-RNE66CKK.js → loggingContentGenerator-CZWUAHAI.js} +27 -30
  253. package/chunks/{loop-wakeup-E54KDUXC.js → loop-wakeup-XBPB2BRO.js} +5 -5
  254. package/chunks/{ls-CGL2UC3H.js → ls-WFONAND2.js} +4 -4
  255. package/chunks/{lsp-5IKUO5DX.js → lsp-DUKPDUXN.js} +2 -2
  256. package/chunks/{managed-npm-update-Y3SC3GLJ.js → managed-npm-update-54W23SP5.js} +61 -59
  257. package/chunks/mcp-2E7ZLMEE.js +112 -0
  258. package/chunks/{monitor-PXYSGSUN.js → monitor-A4J5QRGJ.js} +47 -47
  259. package/chunks/nonInteractiveCli-ZNDXB62Y.js +185 -0
  260. package/chunks/{notebook-edit-ISIBJVBR.js → notebook-edit-4ANFZON5.js} +48 -48
  261. package/chunks/open-with-auth-4UI3KHUR.js +55 -0
  262. package/chunks/{openaiContentGenerator-6TBOPEGT.js → openaiContentGenerator-JCCJJQZC.js} +29 -30
  263. package/chunks/pidfile-DHV2Y7UD.js +113 -0
  264. package/chunks/{processUtils-YK2TDTTU.js → processUtils-JJAR56SO.js} +2 -2
  265. package/chunks/prompt-terminal-ledger-LDZ6QVYA.js +107 -0
  266. package/chunks/{pt-QT5N2Q6Q.js → pt-XN2YWJVM.js} +1 -0
  267. package/chunks/{qwenContentGenerator-CLDMA2Y4.js → qwenContentGenerator-5JM44ZSA.js} +53 -59
  268. package/chunks/{qwenOAuth2-DLDR6UC5.js → qwenOAuth2-JIYAWXTW.js} +8 -10
  269. package/chunks/{read-file-2HOD2ATO.js → read-file-N3E5DY7N.js} +13 -14
  270. package/chunks/{read-mcp-resource-XYES2B42.js → read-mcp-resource-7A7NFSFL.js} +2 -2
  271. package/chunks/read-package-up-6T6ICKR7.js +13 -0
  272. package/chunks/{record-artifact-W3IBTGL7.js → record-artifact-CPJ4IJSD.js} +4 -5
  273. package/chunks/report-findings-VFM5DENC.js +33 -0
  274. package/chunks/request-shutdown-AXVOFN5C.js +133 -0
  275. package/chunks/resumeHistoryUtils-YQRITQAG.js +120 -0
  276. package/chunks/ripGrep-NEIHKBKB.js +39 -0
  277. package/chunks/{ru-STMG5BPD.js → ru-OLTMFJEW.js} +1 -0
  278. package/chunks/{run-qwen-serve-XJHOW2NY.js → run-qwen-serve-IWGPZADI.js} +622 -79
  279. package/chunks/{runtime-J4SPTJRQ.js → runtime-I76HPFUE.js} +73 -71
  280. package/chunks/{scheduler-VRAEZZ4E.js → scheduler-M6YL4K4I.js} +62 -60
  281. package/chunks/{sdk-exporters-http-RSIOP3G2.js → sdk-exporters-http-XXSKBD2C.js} +5 -5
  282. package/chunks/{sdk-impl-CB3KARSK.js → sdk-impl-VPNBLV7I.js} +7 -7
  283. package/chunks/{send-message-J4VT46OI.js → send-message-A2GXDX3B.js} +10 -31
  284. package/chunks/serve-XY5S63GN.js +120 -0
  285. package/chunks/{server-74ONDK62.js → server-TWXRRREO.js} +965 -405
  286. package/chunks/{session-BO6VBWJP.js → session-IT5ZXU7A.js} +151 -140
  287. package/chunks/{settings-35QZNFDG.js → settings-IX5HOOCG.js} +71 -69
  288. package/chunks/shell-LZ55AAJB.js +95 -0
  289. package/chunks/{skill-DKEMQSNJ.js → skill-WSZ53D2R.js} +108 -25
  290. package/chunks/skill-settings-5U7FTJIK.js +120 -0
  291. package/chunks/spawnChannel-TMC6VXGN.js +113 -0
  292. package/chunks/standalone-update-CUYGWTR4.js +120 -0
  293. package/chunks/{startInteractiveUI-J2QSGWPU.js → startInteractiveUI-O6BI2OSA.js} +381 -293
  294. package/chunks/{syntheticOutput-JAXMIMZP.js → syntheticOutput-5AJ444QT.js} +3 -3
  295. package/chunks/{task-create-I2H322E4.js → task-create-CDJSOEQD.js} +11 -11
  296. package/chunks/{task-list-3OLIWFTQ.js → task-list-BELMPA75.js} +5 -5
  297. package/chunks/{task-stop-JAUY6MSY.js → task-stop-U3S3KZG2.js} +2 -2
  298. package/chunks/{task-update-B3XO4CPI.js → task-update-77VCFDDZ.js} +11 -11
  299. package/chunks/{team-create-W534PMGX.js → team-create-UF4TMQEH.js} +48 -48
  300. package/chunks/{team-delete-Q7GE7RRI.js → team-delete-YWFXX77L.js} +5 -5
  301. package/chunks/{team-plan-approval-WNV6P6NG.js → team-plan-approval-U57NSR6C.js} +47 -47
  302. package/chunks/terminal-image-renderer-DRL3BROJ.js +116 -0
  303. package/chunks/theme-manager-HHJPUDRN.js +104 -0
  304. package/chunks/{todoWrite-FJJTY2TI.js → todoWrite-435EO2CS.js} +4 -4
  305. package/chunks/{tool-search-Y4KL3LRE.js → tool-search-SV35UV72.js} +18 -19
  306. package/chunks/total-session-admission-TQI7TCTL.js +114 -0
  307. package/chunks/trustedFolders-YKK67IP3.js +124 -0
  308. package/chunks/{update-relaunch-OHVFN6KF.js → update-relaunch-DX7LVA4P.js} +6 -6
  309. package/chunks/updateCheck-6JRTKTUF.js +120 -0
  310. package/chunks/useAutoAcceptIndicator-MYXYSKSL.js +122 -0
  311. package/chunks/{validateNonInterActiveAuth-WJXH426F.js → validateNonInterActiveAuth-B26O4YJP.js} +113 -106
  312. package/chunks/{version-QMDRADXM.js → version-K5D7VJ4B.js} +2 -2
  313. package/chunks/{web-fetch-ROS6P4LP.js → web-fetch-VFHZLLNZ.js} +25 -242
  314. package/chunks/{web-search-JS3E76O6.js → web-search-AQE5A4J5.js} +11 -11
  315. package/chunks/{web-shell-static-3NUTRHAH.js → web-shell-static-A6QMUNNV.js} +11 -4
  316. package/chunks/webapi-Z5OM224P.js +4118 -0
  317. package/chunks/{workflow-2FCMBTBZ.js → workflow-XL6AEUZ7.js} +635 -94
  318. package/chunks/workspace-providers-status-H6TG34YV.js +116 -0
  319. package/chunks/{workspace-registration-store-SU4EJKSD.js → workspace-registration-store-I4U3V5LL.js} +1 -1
  320. package/chunks/workspace-registry-2PWNIYNI.js +123 -0
  321. package/chunks/workspace-service-4FGTUJLA.js +131 -0
  322. package/chunks/workspace-skills-status-7VOLUDT6.js +115 -0
  323. package/chunks/{workspace-trust-reconciler-4Y4F7XIX.js → workspace-trust-reconciler-GJ466KCE.js} +74 -73
  324. package/chunks/write-file-PWOYCT2K.js +90 -0
  325. package/chunks/{zh-TW-NX43Z2S2.js → zh-TW-MV4FWFB6.js} +3 -0
  326. package/chunks/{zh-3JQ75KFU.js → zh-X3WGU6SI.js} +3 -0
  327. package/chunks/{zoom-image-DNBKCGGF.js → zoom-image-NYJPC3NI.js} +13 -14
  328. package/cli.js +15 -15
  329. package/locales/ca.js +3 -0
  330. package/locales/de.js +1 -0
  331. package/locales/en.js +3 -0
  332. package/locales/fr.js +1 -0
  333. package/locales/ja.js +1 -0
  334. package/locales/pt.js +1 -0
  335. package/locales/ru.js +1 -0
  336. package/locales/zh-TW.js +3 -0
  337. package/locales/zh.js +3 -0
  338. package/package.json +3 -3
  339. package/web-shell/assets/{abnfDiagram-VCTEODGH-DWHXEVlf.js → abnfDiagram-VCTEODGH-yq7z7Anb.js} +1 -1
  340. package/web-shell/assets/{arc-CXKjm86V.js → arc-CbJO0xnT.js} +1 -1
  341. package/web-shell/assets/{architectureDiagram-5GKGNRK7-B_ynI0cX.js → architectureDiagram-5GKGNRK7-CRh89421.js} +1 -1
  342. package/web-shell/assets/{blockDiagram-NRAW4CY4-DMebd9X0.js → blockDiagram-NRAW4CY4-C75KAhKv.js} +1 -1
  343. package/web-shell/assets/{c4Diagram-UCG6FXSJ-BZ5BlxS-.js → c4Diagram-UCG6FXSJ-BzlMveFB.js} +1 -1
  344. package/web-shell/assets/channel-B3sGR79J.js +1 -0
  345. package/web-shell/assets/{chunk-2Q5K7J3B-CluJKopE.js → chunk-2Q5K7J3B-DA8QDX3a.js} +1 -1
  346. package/web-shell/assets/{chunk-5VM5RSS4-hzDAPFOo.js → chunk-5VM5RSS4-Bgu7gQ7Y.js} +1 -1
  347. package/web-shell/assets/{chunk-F27PBJKO-6vHioKJe.js → chunk-F27PBJKO-BOew7pIK.js} +1 -1
  348. package/web-shell/assets/{chunk-G27WJ6UU-B_5hKTGo.js → chunk-G27WJ6UU-DHx1I-hO.js} +1 -1
  349. package/web-shell/assets/{chunk-JWPE2WC7-CO9VoFCH.js → chunk-JWPE2WC7-SarFW0WU.js} +1 -1
  350. package/web-shell/assets/{chunk-LCL6LL3I-7L5JpxYu.js → chunk-LCL6LL3I-BLzP083Z.js} +1 -1
  351. package/web-shell/assets/{chunk-POPQ4Y6H-DHLJMAqj.js → chunk-POPQ4Y6H-Bmkv_iKm.js} +1 -1
  352. package/web-shell/assets/{chunk-SVP7TREG-Dt-4Cqdl.js → chunk-SVP7TREG-MPx9r1N2.js} +1 -1
  353. package/web-shell/assets/{chunk-XXDRQBXY-QlSQ3ssG.js → chunk-XXDRQBXY-Ck-09rKG.js} +1 -1
  354. package/web-shell/assets/classDiagram-DTDB5LWJ-sTGo0K3v.js +1 -0
  355. package/web-shell/assets/classDiagram-v2-JRS7N3AN-sTGo0K3v.js +1 -0
  356. package/web-shell/assets/{cose-bilkent-JH36ORCC-DMw3EOxl.js → cose-bilkent-JH36ORCC-DWm6lfOG.js} +1 -1
  357. package/web-shell/assets/{cynefin-OW5HDTMX-s6vEA7RQ.js → cynefin-OW5HDTMX-DcBUyr5R.js} +1 -1
  358. package/web-shell/assets/{cynefinDiagram-5FMLGOSQ-AOKsvYLt.js → cynefinDiagram-5FMLGOSQ-Df8qmd_p.js} +1 -1
  359. package/web-shell/assets/{dagre-3AP2YEHR-9QAZn3m7.js → dagre-3AP2YEHR-DDmGspD7.js} +1 -1
  360. package/web-shell/assets/{diagram-S7CK7UJ4-CWpnu4FN.js → diagram-S7CK7UJ4-BK_qFvbi.js} +1 -1
  361. package/web-shell/assets/{diagram-UQ7AKVKN-9l0jXD8q.js → diagram-UQ7AKVKN-Uw3AP_bi.js} +1 -1
  362. package/web-shell/assets/{diagram-VSXAHHWV-BMUHroj4.js → diagram-VSXAHHWV-CJOQKxY7.js} +1 -1
  363. package/web-shell/assets/{diagram-VX7I27RA-Co9x27vm.js → diagram-VX7I27RA-DhdvZna5.js} +1 -1
  364. package/web-shell/assets/{diagram-Z3DM3KII-BKnTeOER.js → diagram-Z3DM3KII-edQU0nlP.js} +1 -1
  365. package/web-shell/assets/{ebnfDiagram-PWID7BFC-QBZD9CKG.js → ebnfDiagram-PWID7BFC-4kugBEsO.js} +1 -1
  366. package/web-shell/assets/{erDiagram-SSCWMZ5O-dKWAEGun.js → erDiagram-SSCWMZ5O-BMkFivWO.js} +1 -1
  367. package/web-shell/assets/{flowDiagram-A5DVABFB-CR_UgVqj.js → flowDiagram-A5DVABFB-BM1ea8g-.js} +1 -1
  368. package/web-shell/assets/{ganttDiagram-EL5Y4UJY-DQUnjWO6.js → ganttDiagram-EL5Y4UJY-CXj_cKRf.js} +1 -1
  369. package/web-shell/assets/{gitGraphDiagram-WWUBYQGX-C4j59wPL.js → gitGraphDiagram-WWUBYQGX-D0nEqwqu.js} +1 -1
  370. package/web-shell/assets/{index-tYXRIPz4.js → index-B6JN54Pd.js} +1 -1
  371. package/web-shell/assets/{index-BN_m_uHJ.css → index-C-XlQn24.css} +1 -1
  372. package/web-shell/assets/index-DLjXM0dn.js +1860 -0
  373. package/web-shell/assets/{infoDiagram-RXCK75RN-mzqbt50w.js → infoDiagram-RXCK75RN-DF7aGGbQ.js} +1 -1
  374. package/web-shell/assets/{ishikawaDiagram-5VMMS53U-ChLOqhGl.js → ishikawaDiagram-5VMMS53U-CZYNX1lL.js} +1 -1
  375. package/web-shell/assets/{journeyDiagram-EYS64GPL-SifZE-R8.js → journeyDiagram-EYS64GPL-CvrqMUz1.js} +1 -1
  376. package/web-shell/assets/{kanban-definition-3QL26DDD-Sft2qlbc.js → kanban-definition-3QL26DDD-BZNJQZBj.js} +1 -1
  377. package/web-shell/assets/{layout-O2uHVkPd.js → layout-Bf83x7D6.js} +1 -1
  378. package/web-shell/assets/{linear-BVqYgjSc.js → linear-Bkc3ES2f.js} +1 -1
  379. package/web-shell/assets/{mermaid.core-CZ9MQaJ6.js → mermaid.core-C6xuovwz.js} +6 -6
  380. package/web-shell/assets/{mindmap-definition-FBJOCRG2-BNQYjBqM.js → mindmap-definition-FBJOCRG2-DzH6gVRg.js} +1 -1
  381. package/web-shell/assets/{pegDiagram-XKGWAZYB-rh1J8uv6.js → pegDiagram-XKGWAZYB-DCvLh2fa.js} +1 -1
  382. package/web-shell/assets/{pieDiagram-E7YTZNPT-BQHR5mn9.js → pieDiagram-E7YTZNPT-BtjVlx_6.js} +1 -1
  383. package/web-shell/assets/{quadrantDiagram-AXDQQJYC-CLCbP7mK.js → quadrantDiagram-AXDQQJYC-IbroqxFe.js} +1 -1
  384. package/web-shell/assets/{railroadDiagram-O6MQD6OU-CDQhrkbm.js → railroadDiagram-O6MQD6OU-BvMykiWW.js} +1 -1
  385. package/web-shell/assets/{requirementDiagram-EFPCY7ZU-BdP9uswg.js → requirementDiagram-EFPCY7ZU-D-HHMyrh.js} +1 -1
  386. package/web-shell/assets/{sankeyDiagram-P5KCCOFB-CFZDFBXF.js → sankeyDiagram-P5KCCOFB-C0XXhB6d.js} +1 -1
  387. package/web-shell/assets/{sequenceDiagram-WJ2MYXX4-BW9WOJXI.js → sequenceDiagram-WJ2MYXX4-DseAXj5d.js} +1 -1
  388. package/web-shell/assets/{sizeCapture-X5ZJPWSS-CPMia32z.js → sizeCapture-X5ZJPWSS-Cek2EweK.js} +1 -1
  389. package/web-shell/assets/{stateDiagram-HBIQ2CUA-BANp9p7F.js → stateDiagram-HBIQ2CUA-yLv8wafW.js} +1 -1
  390. package/web-shell/assets/stateDiagram-v2-4QOOHH4V-DeThXnol.js +1 -0
  391. package/web-shell/assets/{swimlanes-XN3QIQJK-JroXksK-.js → swimlanes-XN3QIQJK-Cwz-opvE.js} +1 -1
  392. package/web-shell/assets/swimlanesDiagram-VK2B7HYN-GW0R1ZSv.js +8 -0
  393. package/web-shell/assets/{timeline-definition-24CTP7MA-DfuVIfYY.js → timeline-definition-24CTP7MA-BJuFD7OG.js} +1 -1
  394. package/web-shell/assets/{vennDiagram-4TSXK5OY-BZXoSjRB.js → vennDiagram-4TSXK5OY-CNAavdoV.js} +1 -1
  395. package/web-shell/assets/{wardleyDiagram-VM6X3IG4-BdiY8avC.js → wardleyDiagram-VM6X3IG4-DaIjAidq.js} +1 -1
  396. package/web-shell/assets/{xychartDiagram-S5SC5T6Z-DcXh_U4H.js → xychartDiagram-S5SC5T6Z-DkcQXjTy.js} +1 -1
  397. package/web-shell/index.html +19 -4
  398. package/chunks/MaxSizedBox-3OZJCC3J.js +0 -110
  399. package/chunks/agent-BFE3DQM3.js +0 -93
  400. package/chunks/agent-headless-LLVKZZ4P.js +0 -87
  401. package/chunks/bridge-EBYO4SYM.js +0 -118
  402. package/chunks/channel-settings-store-5VP2Y2YM.js +0 -115
  403. package/chunks/chunk-AXMWHKXA.js +0 -42
  404. package/chunks/chunk-IO257NUD.js +0 -623
  405. package/chunks/chunk-YHC2EYYG.js +0 -125
  406. package/chunks/computer-use-EGPWFEX6.js +0 -2142
  407. package/chunks/config-utils-WZ43VOBS.js +0 -25
  408. package/chunks/contextCommand-5DSEQI6S.js +0 -106
  409. package/chunks/daemon-status-provider-EYMLPYJU.js +0 -116
  410. package/chunks/daemon-trust-policy-CQYKZ7VO.js +0 -112
  411. package/chunks/deferred-core-runtime-WFEPUXZR.js +0 -114
  412. package/chunks/earlyInputCapture-PN4PP7V5.js +0 -107
  413. package/chunks/environment-WUPHLPKZ.js +0 -127
  414. package/chunks/errors-WPMPVIAT.js +0 -113
  415. package/chunks/exitPlanMode-MLFHYZNB.js +0 -85
  416. package/chunks/handleAutoUpdate-F5OTWUT5.js +0 -109
  417. package/chunks/i18n-C562S6KN.js +0 -124
  418. package/chunks/initializer-7YPGOFP4.js +0 -113
  419. package/chunks/installationInfo-ARU5Q2H7.js +0 -107
  420. package/chunks/list-KTSK275C.js +0 -116
  421. package/chunks/loadedSettingsAdapter-F3T2EQ5J.js +0 -110
  422. package/chunks/mcp-6ONTVPAY.js +0 -110
  423. package/chunks/nonInteractiveCli-KZDWFAN6.js +0 -178
  424. package/chunks/pidfile-IO7ALSZF.js +0 -111
  425. package/chunks/prompt-terminal-ledger-TCE7PMCE.js +0 -105
  426. package/chunks/resumeHistoryUtils-DDSBAQJS.js +0 -118
  427. package/chunks/ripGrep-E7P6K4QR.js +0 -40
  428. package/chunks/serve-KEAWV4TI.js +0 -118
  429. package/chunks/shell-H6K63WG3.js +0 -95
  430. package/chunks/skill-settings-TCKLXIXM.js +0 -118
  431. package/chunks/spawnChannel-2K6NKWM5.js +0 -111
  432. package/chunks/standalone-update-LSCGOEFP.js +0 -118
  433. package/chunks/terminal-image-renderer-UHX3UD66.js +0 -114
  434. package/chunks/theme-manager-6B47ZPIF.js +0 -102
  435. package/chunks/total-session-admission-NSCFWGJH.js +0 -113
  436. package/chunks/trustedFolders-7XMJWGQ3.js +0 -122
  437. package/chunks/updateCheck-EOVLHD4T.js +0 -118
  438. package/chunks/useAutoAcceptIndicator-ZNMIGBTN.js +0 -120
  439. package/chunks/workspace-providers-status-GPGU5YMT.js +0 -113
  440. package/chunks/workspace-registry-BQISXT6Y.js +0 -122
  441. package/chunks/workspace-service-LLY6HCUC.js +0 -129
  442. package/chunks/workspace-skills-status-L5N2Y3ZP.js +0 -113
  443. package/chunks/write-file-EJHU2Z3E.js +0 -90
  444. package/web-shell/assets/channel-Zg3WHgq_.js +0 -1
  445. package/web-shell/assets/classDiagram-DTDB5LWJ-C16l9jQz.js +0 -1
  446. package/web-shell/assets/classDiagram-v2-JRS7N3AN-C16l9jQz.js +0 -1
  447. package/web-shell/assets/index-DrlJu79f.js +0 -1792
  448. package/web-shell/assets/stateDiagram-v2-4QOOHH4V-NZYAoQLU.js +0 -1
  449. package/web-shell/assets/swimlanesDiagram-VK2B7HYN-3YdVX3vj.js +0 -8
@@ -12,10 +12,8 @@ import {
12
12
  revokeChannelWorkerPromptAuthorization
13
13
  } from "./chunk-Z7B6SRPM.js";
14
14
  import {
15
- CHANNEL_DAEMON_WORKER_SENTINEL,
16
15
  CHANNEL_DELIVERY_IPC_TIMEOUT_MS,
17
16
  CHANNEL_WEBHOOK_TASK_IPC_TIMEOUT_MS,
18
- CHANNEL_WORKER_HEARTBEAT_INTERVAL_MS,
19
17
  ChannelDeliveryError,
20
18
  ChannelWebhookEnqueueError,
21
19
  MAX_CHANNEL_DELIVERIES_IN_FLIGHT,
@@ -23,10 +21,6 @@ import {
23
21
  MAX_CHANNEL_STARTUP_FAILURE_CHANNEL_LENGTH,
24
22
  MAX_CHANNEL_STARTUP_FAILURE_CODE_LENGTH,
25
23
  MAX_CHANNEL_STARTUP_FAILURE_MESSAGE_LENGTH,
26
- QWEN_DAEMON_TOKEN_ENV,
27
- QWEN_DAEMON_URL_ENV,
28
- QWEN_DAEMON_WORKSPACE_ENV,
29
- QWEN_SERVER_TOKEN_ENV,
30
24
  createChannelDeliveryMessage,
31
25
  createChannelWebhookTaskMessage,
32
26
  isChannelDeliveryResultMessage,
@@ -34,12 +28,20 @@ import {
34
28
  isChannelStartupReportType,
35
29
  isChannelWebhookEnqueueErrorCode,
36
30
  isChannelWebhookTaskResultMessage
37
- } from "./chunk-ND7NOI4P.js";
31
+ } from "./chunk-7CWEZQ6T.js";
38
32
  import {
39
33
  createWorkerDiagnosticRedactor,
40
34
  normalizeWorkerDiagnostic,
41
35
  sanitizeWorkerDiagnostic
42
- } from "./chunk-A6NRNRKE.js";
36
+ } from "./chunk-JVPFTDBK.js";
37
+ import {
38
+ CHANNEL_DAEMON_WORKER_SENTINEL,
39
+ CHANNEL_WORKER_HEARTBEAT_INTERVAL_MS,
40
+ QWEN_DAEMON_TOKEN_ENV,
41
+ QWEN_DAEMON_URL_ENV,
42
+ QWEN_DAEMON_WORKSPACE_ENV,
43
+ QWEN_SERVER_TOKEN_ENV
44
+ } from "./chunk-GYTKQYDB.js";
43
45
  import {
44
46
  channelSelectionNames
45
47
  } from "./chunk-ALMR3E6Q.js";
@@ -53,7 +55,7 @@ import {
53
55
  } from "./chunk-5HBA2Z7V.js";
54
56
  import {
55
57
  sanitizeLogText
56
- } from "./chunk-AW27A43Y.js";
58
+ } from "./chunk-E55H6BZ7.js";
57
59
  import {
58
60
  init_esbuild_shims
59
61
  } from "./chunk-5O2XNYP6.js";
@@ -65,6 +67,124 @@ import {
65
67
  init_esbuild_shims();
66
68
  import { fork } from "node:child_process";
67
69
  import { randomUUID } from "node:crypto";
70
+ import * as fs from "node:fs";
71
+ import * as os from "node:os";
72
+ import * as path from "node:path";
73
+
74
+ // packages/cli/src/serve/pem-certificate-blocks.ts
75
+ init_esbuild_shims();
76
+ import { spawnSync } from "node:child_process";
77
+ import { X509Certificate } from "node:crypto";
78
+ import { mkdtempSync, rmSync, writeFileSync } from "node:fs";
79
+ import { tmpdir } from "node:os";
80
+ import { join } from "node:path";
81
+ var NODE_EXTRA_CA_CERTS_ENV = "NODE_EXTRA_CA_CERTS";
82
+ var ORACLE_TIMEOUT_MS = 1e4;
83
+ var ORACLE_MAX_BUFFER_BYTES = 16 * 1024 * 1024;
84
+ var ORACLE_SOURCE = `
85
+ const tls = require('node:tls');
86
+ if (typeof tls.getCACertificates === 'function') {
87
+ process.stdout.write(JSON.stringify({
88
+ certificates: tls.getCACertificates('extra'),
89
+ }));
90
+ } else {
91
+ tls.createSecureContext();
92
+ process.stdout.write(JSON.stringify({ legacy: true }));
93
+ }
94
+ `;
95
+ var ExtraCaInspectionError = class extends Error {
96
+ static {
97
+ __name(this, "ExtraCaInspectionError");
98
+ }
99
+ };
100
+ var LegacyExtraCaInspectionError = class extends ExtraCaInspectionError {
101
+ static {
102
+ __name(this, "LegacyExtraCaInspectionError");
103
+ }
104
+ constructor() {
105
+ super("Inspecting NODE_EXTRA_CA_CERTS requires Node.js 22.15.0 or newer.");
106
+ }
107
+ };
108
+ var FailedExtraCaInspectionError = class extends ExtraCaInspectionError {
109
+ static {
110
+ __name(this, "FailedExtraCaInspectionError");
111
+ }
112
+ constructor() {
113
+ super(
114
+ "Inspecting NODE_EXTRA_CA_CERTS failed before its contents could be judged."
115
+ );
116
+ }
117
+ };
118
+ function scanCertificateBlocks(contents, sourcePath) {
119
+ let dir;
120
+ try {
121
+ dir = sourcePath ? void 0 : mkdtempSync(join(tmpdir(), "qwen-ca-oracle-"));
122
+ const certPath = sourcePath ?? join(dir, "extra-ca.pem");
123
+ if (dir) writeFileSync(certPath, contents, { mode: 384 });
124
+ const oracleEnv = {
125
+ ...process.env,
126
+ [NODE_EXTRA_CA_CERTS_ENV]: certPath
127
+ };
128
+ for (const key of Object.keys(oracleEnv)) {
129
+ if (key.toUpperCase() === "NODE_OPTIONS") delete oracleEnv[key];
130
+ }
131
+ const result = spawnSync(
132
+ process.execPath,
133
+ ["--no-deprecation", "--input-type=commonjs", "-e", ORACLE_SOURCE],
134
+ {
135
+ encoding: "utf8",
136
+ env: oracleEnv,
137
+ maxBuffer: ORACLE_MAX_BUFFER_BYTES,
138
+ timeout: ORACLE_TIMEOUT_MS,
139
+ windowsHide: true
140
+ }
141
+ );
142
+ if (result.error || result.status !== 0) {
143
+ throw new FailedExtraCaInspectionError();
144
+ }
145
+ const parsed = JSON.parse(result.stdout);
146
+ if (typeof parsed !== "object" || parsed === null) {
147
+ throw new FailedExtraCaInspectionError();
148
+ }
149
+ const certificates = Reflect.get(parsed, "certificates");
150
+ if (certificates !== void 0) {
151
+ if (!Array.isArray(certificates) || !certificates.every((item) => typeof item === "string")) {
152
+ throw new FailedExtraCaInspectionError();
153
+ }
154
+ return certificates.map((block) => ({
155
+ block: block.trimEnd(),
156
+ certificate: new X509Certificate(block)
157
+ }));
158
+ }
159
+ if (Reflect.get(parsed, "legacy") !== true) {
160
+ throw new FailedExtraCaInspectionError();
161
+ }
162
+ throw new LegacyExtraCaInspectionError();
163
+ } catch (error) {
164
+ if (error instanceof ExtraCaInspectionError) throw error;
165
+ throw new FailedExtraCaInspectionError();
166
+ } finally {
167
+ if (dir) {
168
+ try {
169
+ rmSync(dir, { recursive: true, force: true });
170
+ } catch {
171
+ }
172
+ }
173
+ }
174
+ }
175
+ __name(scanCertificateBlocks, "scanCertificateBlocks");
176
+ function extractCertificateBlocks(contents, sourcePath) {
177
+ const scanned = scanCertificateBlocks(contents, sourcePath);
178
+ return scanned.length > 0 ? scanned.map((entry) => entry.block) : void 0;
179
+ }
180
+ __name(extractCertificateBlocks, "extractCertificateBlocks");
181
+ function loadableCertificates(contents, sourcePath) {
182
+ const scanned = scanCertificateBlocks(contents, sourcePath);
183
+ return scanned.length > 0 ? scanned.map((entry) => entry.certificate) : void 0;
184
+ }
185
+ __name(loadableCertificates, "loadableCertificates");
186
+
187
+ // packages/cli/src/serve/channel-worker-supervisor.ts
68
188
  var DEFAULT_CHANNEL_WORKER_HEARTBEAT_TIMEOUT_MS = 45e3;
69
189
  var MAX_WORKER_LOG_LINE_LENGTH = 4096;
70
190
  var MAX_WORKER_LOG_BUFFER_LENGTH = 64 * 1024;
@@ -181,10 +301,151 @@ function hasObservedExit(snapshot) {
181
301
  return snapshot.exitCode !== void 0 || snapshot.signal !== void 0;
182
302
  }
183
303
  __name(hasObservedExit, "hasObservedExit");
304
+ var NODE_EXTRA_CA_CERTS_ENV2 = "NODE_EXTRA_CA_CERTS";
305
+ var mergedWorkerCaBundles = /* @__PURE__ */ new Map();
306
+ function sourceStamp(filePath) {
307
+ const stat = fs.statSync(filePath);
308
+ return `${stat.mtimeMs}:${stat.size}`;
309
+ }
310
+ __name(sourceStamp, "sourceStamp");
311
+ var warnedWorkerCaMergeFallbacks = /* @__PURE__ */ new Set();
312
+ var WORKER_CA_MERGE_FALLBACK_FAMILIES = [
313
+ "read-error",
314
+ "inspection-failed",
315
+ "no-operator-blocks",
316
+ "no-daemon-blocks"
317
+ ];
318
+ function workerCaMergeFallbackKey(operatorCaPath, daemonCertPath, family) {
319
+ return `${operatorCaPath}\0${daemonCertPath}\0${family}`;
320
+ }
321
+ __name(workerCaMergeFallbackKey, "workerCaMergeFallbackKey");
322
+ function warnWorkerCaMergeFallback(operatorCaPath, daemonCertPath, family, reason) {
323
+ const key = workerCaMergeFallbackKey(operatorCaPath, daemonCertPath, family);
324
+ if (warnedWorkerCaMergeFallbacks.has(key)) return;
325
+ warnedWorkerCaMergeFallbacks.add(key);
326
+ process.emitWarning(
327
+ `qwen: failed to merge ${NODE_EXTRA_CA_CERTS_ENV2} "${operatorCaPath}" with the daemon cert "${daemonCertPath}": ${reason}; channel workers will trust only the daemon cert`
328
+ );
329
+ }
330
+ __name(warnWorkerCaMergeFallback, "warnWorkerCaMergeFallback");
331
+ var mintedWorkerCaBundleDirs = /* @__PURE__ */ new Set();
332
+ var workerCaBundleExitHookRegistered = false;
333
+ function cleanupWorkerCaBundleDir(dir) {
334
+ try {
335
+ fs.rmSync(dir, { recursive: true, force: true });
336
+ } catch {
337
+ }
338
+ }
339
+ __name(cleanupWorkerCaBundleDir, "cleanupWorkerCaBundleDir");
340
+ function writeMergedWorkerCaBundle(contents) {
341
+ const dir = fs.mkdtempSync(path.join(os.tmpdir(), "qwen-worker-ca-"));
342
+ mintedWorkerCaBundleDirs.add(dir);
343
+ if (!workerCaBundleExitHookRegistered) {
344
+ workerCaBundleExitHookRegistered = true;
345
+ process.once("exit", cleanupMintedWorkerCaBundleDirs);
346
+ }
347
+ const bundlePath = path.join(dir, "ca-bundle.pem");
348
+ fs.writeFileSync(bundlePath, contents, { mode: 384 });
349
+ return bundlePath;
350
+ }
351
+ __name(writeMergedWorkerCaBundle, "writeMergedWorkerCaBundle");
352
+ function cleanupMintedWorkerCaBundleDirs() {
353
+ const swept = [...mintedWorkerCaBundleDirs];
354
+ for (const minted of swept) {
355
+ cleanupWorkerCaBundleDir(minted);
356
+ }
357
+ mintedWorkerCaBundleDirs.clear();
358
+ return swept;
359
+ }
360
+ __name(cleanupMintedWorkerCaBundleDirs, "cleanupMintedWorkerCaBundleDirs");
361
+ function resolveWorkerCaCertPath(daemonCertPath, existing) {
362
+ if (!existing || existing === daemonCertPath) return daemonCertPath;
363
+ const cacheKey = `${existing}\0${daemonCertPath}`;
364
+ const sources = [existing, daemonCertPath];
365
+ const cached = mergedWorkerCaBundles.get(cacheKey);
366
+ if (cached) {
367
+ try {
368
+ fs.statSync(cached.bundlePath);
369
+ if (sources.every((src, i) => sourceStamp(src) === cached.sourceStamps[i])) {
370
+ return cached.bundlePath;
371
+ }
372
+ } catch {
373
+ }
374
+ }
375
+ try {
376
+ const sourceStamps = sources.map(sourceStamp);
377
+ const operatorBlocks = extractCertificateBlocks(
378
+ fs.readFileSync(existing, "utf8"),
379
+ existing
380
+ );
381
+ if (!operatorBlocks) {
382
+ warnWorkerCaMergeFallback(
383
+ existing,
384
+ daemonCertPath,
385
+ "no-operator-blocks",
386
+ // Three causes reject a file, not one: markers, decoding, and DER.
387
+ // Blaming markers alone tells an operator whose CA is truncated or
388
+ // hand-edited to fix lines that are already correct — and after boot
389
+ // this warning is the only diagnostic they get, so it has to name the
390
+ // same three the boot-time check does.
391
+ "it holds no PEM certificate block Node can load (every -----BEGIN/END CERTIFICATE----- marker must sit alone on its own line and every block must decode, and a DER file is never read at all)"
392
+ );
393
+ return daemonCertPath;
394
+ }
395
+ const daemonBlocks = extractCertificateBlocks(
396
+ fs.readFileSync(daemonCertPath, "utf8"),
397
+ daemonCertPath
398
+ );
399
+ if (!daemonBlocks) {
400
+ warnWorkerCaMergeFallback(
401
+ existing,
402
+ daemonCertPath,
403
+ "no-daemon-blocks",
404
+ "the daemon cert holds no PEM certificate block to merge into"
405
+ );
406
+ return daemonCertPath;
407
+ }
408
+ const bundlePath = writeMergedWorkerCaBundle(
409
+ `${[...operatorBlocks, ...daemonBlocks].join("\n")}
410
+ `
411
+ );
412
+ const superseded = mergedWorkerCaBundles.get(cacheKey);
413
+ mergedWorkerCaBundles.set(cacheKey, { bundlePath, sourceStamps });
414
+ if (superseded) {
415
+ const dir = path.dirname(superseded.bundlePath);
416
+ mintedWorkerCaBundleDirs.delete(dir);
417
+ cleanupWorkerCaBundleDir(dir);
418
+ }
419
+ for (const family of WORKER_CA_MERGE_FALLBACK_FAMILIES) {
420
+ warnedWorkerCaMergeFallbacks.delete(
421
+ workerCaMergeFallbackKey(existing, daemonCertPath, family)
422
+ );
423
+ }
424
+ return bundlePath;
425
+ } catch (err) {
426
+ warnWorkerCaMergeFallback(
427
+ existing,
428
+ daemonCertPath,
429
+ // An inspection that could not run blames nothing about the file's
430
+ // contents; sharing the read-error family would let a first ENOENT
431
+ // silence the later, now-accurate inspection-failure diagnosis.
432
+ err instanceof ExtraCaInspectionError ? "inspection-failed" : "read-error",
433
+ err instanceof Error ? err.message : String(err)
434
+ );
435
+ return daemonCertPath;
436
+ }
437
+ }
438
+ __name(resolveWorkerCaCertPath, "resolveWorkerCaCertPath");
184
439
  function createWorkerEnv(opts) {
185
440
  const env = { ...opts.baseEnv ?? process.env };
186
441
  env["QWEN_CODE_NO_RELAUNCH"] = "true";
187
442
  env["QWEN_CODE_SERVE"] = "1";
443
+ if (opts.tlsCaCertPath) {
444
+ env[NODE_EXTRA_CA_CERTS_ENV2] = resolveWorkerCaCertPath(
445
+ opts.tlsCaCertPath,
446
+ env[NODE_EXTRA_CA_CERTS_ENV2]
447
+ );
448
+ }
188
449
  env[CHANNEL_DAEMON_WORKER_SENTINEL] = randomUUID();
189
450
  env[QWEN_DAEMON_URL_ENV] = opts.daemonUrl;
190
451
  env[QWEN_DAEMON_WORKSPACE_ENV] = opts.workspace;
@@ -505,7 +766,8 @@ function createChannelWorkerSupervisor(opts) {
505
766
  daemonUrl: opts.daemonUrl,
506
767
  workspace: opts.workspace,
507
768
  ...opts.daemonToken ? { daemonToken: opts.daemonToken } : {},
508
- ...opts.workerBaseEnv ? { baseEnv: opts.workerBaseEnv } : {}
769
+ ...opts.workerBaseEnv ? { baseEnv: opts.workerBaseEnv } : {},
770
+ ...opts.tlsCaCertPath ? { tlsCaCertPath: opts.tlsCaCertPath } : {}
509
771
  });
510
772
  const promptAuthorization = env[CHANNEL_DAEMON_WORKER_SENTINEL];
511
773
  registerChannelWorkerPromptAuthorization(
@@ -1205,7 +1467,16 @@ function createChannelWorkerSupervisor(opts) {
1205
1467
  __name(createChannelWorkerSupervisor, "createChannelWorkerSupervisor");
1206
1468
 
1207
1469
  export {
1470
+ ExtraCaInspectionError,
1471
+ loadableCertificates,
1208
1472
  ChannelWorkerStopError,
1209
1473
  ChannelWorkerStartupError,
1474
+ cleanupMintedWorkerCaBundleDirs,
1475
+ resolveWorkerCaCertPath,
1210
1476
  createChannelWorkerSupervisor
1211
1477
  };
1478
+ /**
1479
+ * @license
1480
+ * Copyright 2026 Qwen Team
1481
+ * SPDX-License-Identifier: Apache-2.0
1482
+ */
@@ -6,7 +6,7 @@ import {
6
6
  realpathNearestExisting,
7
7
  resolvePath,
8
8
  sanitizeCwd
9
- } from "./chunk-A5F2YNO6.js";
9
+ } from "./chunk-2NNTE2ED.js";
10
10
  import {
11
11
  init_esbuild_shims
12
12
  } from "./chunk-5O2XNYP6.js";
@@ -0,0 +1,32 @@
1
+ // Force strict mode and setup for ESM
2
+ "use strict";
3
+ import {
4
+ init_esbuild_shims
5
+ } from "./chunk-5O2XNYP6.js";
6
+ import {
7
+ __name
8
+ } from "./chunk-J2S4EL5Y.js";
9
+
10
+ // packages/core/src/core/stream-transport-retry.ts
11
+ init_esbuild_shims();
12
+ var RETRYABLE_STREAM_TRANSPORT_CODES = /* @__PURE__ */ new Set([
13
+ "ECONNRESET",
14
+ "ETIMEDOUT",
15
+ "UND_ERR_BODY_TIMEOUT",
16
+ "UND_ERR_CONNECT_TIMEOUT",
17
+ "UND_ERR_HEADERS_TIMEOUT",
18
+ "UND_ERR_SOCKET"
19
+ ]);
20
+ function isRetryableStreamTransportError(classification) {
21
+ return classification.kind === "transport" && classification.transportCode !== void 0 && RETRYABLE_STREAM_TRANSPORT_CODES.has(classification.transportCode);
22
+ }
23
+ __name(isRetryableStreamTransportError, "isRetryableStreamTransportError");
24
+
25
+ export {
26
+ isRetryableStreamTransportError
27
+ };
28
+ /**
29
+ * @license
30
+ * Copyright 2026 Google LLC
31
+ * SPDX-License-Identifier: Apache-2.0
32
+ */
@@ -2,14 +2,14 @@
2
2
  "use strict";
3
3
  import {
4
4
  STATUS_SCHEMA_VERSION
5
- } from "./chunk-URN2JIAQ.js";
5
+ } from "./chunk-CITGRGCM.js";
6
6
  import {
7
7
  formatMemoryUsage
8
- } from "./chunk-T6XLJRQY.js";
8
+ } from "./chunk-XYX474JQ.js";
9
9
  import {
10
10
  detectRuntime,
11
11
  redactProxyCredentials
12
- } from "./chunk-PZRUV52H.js";
12
+ } from "./chunk-GTUKW3I6.js";
13
13
  import {
14
14
  init_esbuild_shims
15
15
  } from "./chunk-5O2XNYP6.js";
@@ -3,7 +3,7 @@
3
3
  import {
4
4
  createDebugLogger,
5
5
  isNodeError
6
- } from "./chunk-A5F2YNO6.js";
6
+ } from "./chunk-2NNTE2ED.js";
7
7
  import {
8
8
  init_esbuild_shims
9
9
  } from "./chunk-5O2XNYP6.js";
@@ -907,7 +907,7 @@ var QwenIgnoreParser = class {
907
907
  }
908
908
  };
909
909
 
910
- // packages/core/src/config/constants.ts
910
+ // packages/core/src/utils/file-filtering-options.ts
911
911
  init_esbuild_shims();
912
912
  var DEFAULT_MEMORY_FILE_FILTERING_OPTIONS = {
913
913
  respectGitIgnore: false,
@@ -0,0 +1,42 @@
1
+ // Force strict mode and setup for ESM
2
+ "use strict";
3
+ import {
4
+ init_esbuild_shims
5
+ } from "./chunk-5O2XNYP6.js";
6
+ import {
7
+ __name
8
+ } from "./chunk-J2S4EL5Y.js";
9
+
10
+ // packages/cli/src/serve/loopback-binds.ts
11
+ init_esbuild_shims();
12
+ var LOOPBACK_BINDS = /* @__PURE__ */ new Set([
13
+ "127.0.0.1",
14
+ "localhost",
15
+ "::1",
16
+ "[::1]"
17
+ ]);
18
+ function isIpv4Loopback(hostname) {
19
+ const octets = hostname.split(".");
20
+ if (octets.length !== 4) return false;
21
+ const [first, ...rest] = octets;
22
+ return first === "127" && rest.every((octet) => {
23
+ if (!/^\d+$/.test(octet)) return false;
24
+ const value = Number(octet);
25
+ return value >= 0 && value <= 255;
26
+ });
27
+ }
28
+ __name(isIpv4Loopback, "isIpv4Loopback");
29
+ function isLoopbackBind(hostname) {
30
+ const normalized = hostname.toLowerCase();
31
+ return LOOPBACK_BINDS.has(normalized) || isIpv4Loopback(normalized);
32
+ }
33
+ __name(isLoopbackBind, "isLoopbackBind");
34
+
35
+ export {
36
+ isLoopbackBind
37
+ };
38
+ /**
39
+ * @license
40
+ * Copyright 2025 Qwen Team
41
+ * SPDX-License-Identifier: Apache-2.0
42
+ */
@@ -2,7 +2,7 @@
2
2
  "use strict";
3
3
  import {
4
4
  stringifyGenAiJson
5
- } from "./chunk-C72BXMJ5.js";
5
+ } from "./chunk-FJWICLG7.js";
6
6
  import {
7
7
  DEFAULT_SENSITIVE_SPAN_ATTRIBUTE_MAX_LENGTH,
8
8
  SENSITIVE_SPAN_ATTRIBUTE_MAX_LENGTH_LIMIT,
@@ -10,11 +10,11 @@ import {
10
10
  getMeter,
11
11
  isTelemetrySdkInitialized,
12
12
  isValidSensitiveSpanAttributeMaxLength
13
- } from "./chunk-GAHYKJPV.js";
13
+ } from "./chunk-6US7BF3G.js";
14
14
  import {
15
15
  FatalConfigError,
16
16
  createDebugLogger
17
- } from "./chunk-A5F2YNO6.js";
17
+ } from "./chunk-2NNTE2ED.js";
18
18
  import {
19
19
  ValueType,
20
20
  diag,
@@ -2,16 +2,16 @@
2
2
  "use strict";
3
3
  import {
4
4
  isWithinRoot
5
- } from "./chunk-IWOWEENB.js";
5
+ } from "./chunk-WBT3STGU.js";
6
6
  import {
7
7
  BaseDeclarativeTool,
8
8
  BaseToolInvocation,
9
9
  ToolDisplayNames,
10
10
  ToolNames
11
- } from "./chunk-6NFAEG54.js";
11
+ } from "./chunk-KOJ6MHD5.js";
12
12
  import {
13
13
  isNodeError
14
- } from "./chunk-A5F2YNO6.js";
14
+ } from "./chunk-2NNTE2ED.js";
15
15
  import {
16
16
  init_esbuild_shims
17
17
  } from "./chunk-5O2XNYP6.js";
@@ -2,11 +2,11 @@
2
2
  "use strict";
3
3
  import {
4
4
  atomicWriteFileSync
5
- } from "./chunk-HDKCKCYO.js";
5
+ } from "./chunk-7QGEJI7M.js";
6
6
  import {
7
7
  Storage,
8
8
  createDebugLogger
9
- } from "./chunk-A5F2YNO6.js";
9
+ } from "./chunk-2NNTE2ED.js";
10
10
  import {
11
11
  init_esbuild_shims
12
12
  } from "./chunk-5O2XNYP6.js";
@@ -14,7 +14,7 @@ import {
14
14
  __name
15
15
  } from "./chunk-J2S4EL5Y.js";
16
16
 
17
- // packages/core/src/utils/installationManager.ts
17
+ // packages/core/src/config/installationManager.ts
18
18
  init_esbuild_shims();
19
19
  import * as fs from "node:fs";
20
20
  import { randomUUID } from "node:crypto";
@@ -2,26 +2,26 @@
2
2
  "use strict";
3
3
  import {
4
4
  getExtensionManager
5
- } from "./chunk-S4C4JJKE.js";
5
+ } from "./chunk-A7X32SCT.js";
6
6
  import {
7
7
  parseChannelConfig
8
- } from "./chunk-5XUTPXQU.js";
8
+ } from "./chunk-EAV3TENS.js";
9
9
  import {
10
10
  getPlugin,
11
11
  registerPlugin
12
- } from "./chunk-QS4ENGVF.js";
12
+ } from "./chunk-IKN3IUJP.js";
13
13
  import {
14
14
  sanitizeLogText
15
- } from "./chunk-AW27A43Y.js";
15
+ } from "./chunk-E55H6BZ7.js";
16
16
  import {
17
17
  loadSettings
18
- } from "./chunk-6UQSU7CQ.js";
18
+ } from "./chunk-MDZO5V2O.js";
19
19
  import {
20
20
  hashDaemonWorkspace
21
- } from "./chunk-2UZJWSVD.js";
21
+ } from "./chunk-ILPXSKGQ.js";
22
22
  import {
23
23
  Storage
24
- } from "./chunk-A5F2YNO6.js";
24
+ } from "./chunk-2NNTE2ED.js";
25
25
  import {
26
26
  writeStderrLine,
27
27
  writeStdoutLine
@@ -4,9 +4,11 @@ import {
4
4
  parseToolWriteOriginMeta
5
5
  } from "./chunk-VGHZT6JR.js";
6
6
  import {
7
- isLoopbackBind,
8
7
  normalizeSessionIdForLookup
9
- } from "./chunk-TQOF5KBL.js";
8
+ } from "./chunk-ZEZKIS2K.js";
9
+ import {
10
+ isLoopbackBind
11
+ } from "./chunk-RXFQM6FQ.js";
10
12
  import {
11
13
  MAX_CHILD_HEAP_MB,
12
14
  MIN_CHILD_HEAP_MB,
@@ -17,7 +19,7 @@ import {
17
19
  } from "./chunk-NYWWQ437.js";
18
20
  import {
19
21
  CLIENT_MCP_OVER_WS_CONFIG_FLAG
20
- } from "./chunk-LURJYO2T.js";
22
+ } from "./chunk-OZ6KS6KW.js";
21
23
  import {
22
24
  MAX_WORKSPACE_PATH_LENGTH,
23
25
  translateAndCheckAbsoluteWorkspacePath
@@ -1509,6 +1511,7 @@ var SERVE_CAPABILITY_REGISTRY = {
1509
1511
  session_status: { since: "v1" },
1510
1512
  session_close: { since: "v1" },
1511
1513
  session_archive: { since: "v1" },
1514
+ session_storage_conflict_repair: { since: "v1" },
1512
1515
  session_metadata: { since: "v1" },
1513
1516
  session_organization: { since: "v1" },
1514
1517
  session_export: { since: "v1" },
@@ -2027,6 +2030,10 @@ function validateRootStats(stats) {
2027
2030
  }
2028
2031
  }
2029
2032
  __name(validateRootStats, "validateRootStats");
2033
+ function hasVerifiableInode(ino) {
2034
+ return Number(ino) !== 0;
2035
+ }
2036
+ __name(hasVerifiableInode, "hasVerifiableInode");
2030
2037
  function prepareManagedScratchRoot(root, startupWorkspaceCwds) {
2031
2038
  mkdirSync(root, { recursive: true, mode: 448 });
2032
2039
  const before = lstatSync(root);
@@ -2034,6 +2041,11 @@ function prepareManagedScratchRoot(root, startupWorkspaceCwds) {
2034
2041
  const canonicalRoot = realpathSync.native(resolve(root));
2035
2042
  const after = lstatSync(canonicalRoot);
2036
2043
  validateRootStats(after);
2044
+ if (!hasVerifiableInode(after.ino)) {
2045
+ throw new Error(
2046
+ "Managed scratch root identity cannot be verified on this volume"
2047
+ );
2048
+ }
2037
2049
  if (before.dev !== after.dev || before.ino !== after.ino) {
2038
2050
  throw new Error("Managed scratch root identity changed during validation");
2039
2051
  }