@qwen-code/qwen-code 0.23.3 → 0.23.4-dev.codemode-responses.20260914.87437db784

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 (464) hide show
  1. package/bundled/computer-use/SKILL.md +46 -198
  2. package/bundled/computer-use/references/macos.md +208 -0
  3. package/bundled/computer-use/references/windows-linux.md +247 -0
  4. package/bundled/goal-draft/SKILL.md +10 -10
  5. package/bundled/qc-helper/docs/configuration/settings.md +81 -71
  6. package/bundled/qc-helper/docs/extension/getting-started-extensions.md +2 -0
  7. package/bundled/qc-helper/docs/extension/introduction.md +9 -3
  8. package/bundled/qc-helper/docs/features/_meta.ts +1 -0
  9. package/bundled/qc-helper/docs/features/agent-board.md +89 -0
  10. package/bundled/qc-helper/docs/features/channels/dingtalk.md +3 -21
  11. package/bundled/qc-helper/docs/features/channels/dws.md +5 -1
  12. package/bundled/qc-helper/docs/features/channels/overview.md +5 -6
  13. package/bundled/qc-helper/docs/features/code-review.md +18 -4
  14. package/bundled/qc-helper/docs/features/commands.md +9 -0
  15. package/bundled/qc-helper/docs/features/computer-use.md +26 -8
  16. package/bundled/qc-helper/docs/features/cross-session-protocol.md +23 -5
  17. package/bundled/qc-helper/docs/features/followup-suggestions.md +17 -5
  18. package/bundled/qc-helper/docs/features/goals.md +22 -18
  19. package/bundled/qc-helper/docs/features/hooks.md +48 -37
  20. package/bundled/qc-helper/docs/features/skills.md +33 -3
  21. package/bundled/qc-helper/docs/features/status-line.md +2 -0
  22. package/bundled/qc-helper/docs/features/sub-agents.md +27 -0
  23. package/bundled/qc-helper/docs/qwen-serve.md +7 -3
  24. package/bundled/review/SKILL.md +20 -10
  25. package/bundled/review/references/persistence.md +2 -0
  26. package/bundled/workflow-authoring/SKILL.md +442 -0
  27. package/bundled/workflow-creator/SKILL.md +1 -1
  28. package/chunks/{MaxSizedBox-D4LW7RZZ.js → MaxSizedBox-CSMC6NNQ.js} +59 -55
  29. package/chunks/{StandaloneSessionPicker-ALTTRWUP.js → StandaloneSessionPicker-5G46NROB.js} +83 -79
  30. package/chunks/{acp-startup-profiler-KEU6VAYR.js → acp-startup-profiler-RUQNTNU5.js} +2 -2
  31. package/chunks/acp-subagent-executor-4JLSF7SA.js +141 -0
  32. package/chunks/{acpAgent-BBSW7XZG.js → acpAgent-WJ45JV2S.js} +1026 -355
  33. package/chunks/{agent-SQ6OY3QD.js → agent-KWNOVXAD.js} +43 -39
  34. package/chunks/{agent-headless-RI2THRQ7.js → agent-headless-TU5N3GFF.js} +43 -39
  35. package/chunks/{anthropicContentGenerator-JSKMKS6V.js → anthropicContentGenerator-H5YPXIDE.js} +37 -15
  36. package/chunks/{artifact-tool-PMYZCYNH.js → artifact-tool-MFGORTWZ.js} +59 -109
  37. package/chunks/{askUserQuestion-4M4YYIB4.js → askUserQuestion-WS4GUT7C.js} +3 -3
  38. package/chunks/{bridge-DAFMI72L.js → bridge-PF7UX6MH.js} +63 -58
  39. package/chunks/{build-63BIOYWK.js → build-5KWQBWEQ.js} +1 -1
  40. package/chunks/{ca-KC2AISNS.js → ca-GZ4FDJU2.js} +3 -3
  41. package/chunks/{channel-management-service-OWDXVL7R.js → channel-management-service-AFVIT4VH.js} +8 -8
  42. package/chunks/{channel-settings-store-4I6JONT7.js → channel-settings-store-3OVAGIC2.js} +68 -64
  43. package/chunks/{channel-worker-group-F2ZZMLNS.js → channel-worker-group-JR6JOELM.js} +8 -8
  44. package/chunks/{channel-worker-manager-2SZLJJSJ.js → channel-worker-manager-AVKJEZFL.js} +8 -8
  45. package/chunks/{channel-worker-supervisor-ZFNWMG6D.js → channel-worker-supervisor-OOYY7BAQ.js} +5 -5
  46. package/chunks/{chunk-6JACAGYH.js → chunk-2S2WIGCM.js} +1 -1
  47. package/chunks/{chunk-NRXWJXJ4.js → chunk-2YGR3VN6.js} +15 -15
  48. package/chunks/{chunk-IUVIBDKU.js → chunk-2YMRRI2C.js} +9 -10
  49. package/chunks/{chunk-3BTSSIJO.js → chunk-3DOAKZYD.js} +99 -14
  50. package/chunks/{chunk-F53KKZUD.js → chunk-3LMDSCLU.js} +158 -10
  51. package/chunks/{chunk-2ZN3O5FT.js → chunk-457DR2MC.js} +6 -6
  52. package/chunks/{chunk-WG7BL3FY.js → chunk-473RJLIH.js} +1 -1
  53. package/chunks/{chunk-W5ZQMAEM.js → chunk-4Y2I3CI3.js} +1 -1
  54. package/chunks/{chunk-HGEUHUEV.js → chunk-54B2LTKP.js} +1 -1
  55. package/chunks/{chunk-IRH27ZC2.js → chunk-5EZRLTLQ.js} +4 -4
  56. package/chunks/{chunk-DLH7YIX6.js → chunk-5FK4MSHB.js} +3 -3
  57. package/chunks/{chunk-CUEXOHQH.js → chunk-5ODRE7E5.js} +9 -15
  58. package/chunks/{chunk-532WHF4F.js → chunk-5VQR2DD7.js} +2 -2
  59. package/chunks/{chunk-3KQBQ6FM.js → chunk-63WKMKVD.js} +190 -28
  60. package/chunks/{chunk-YBUMTY7B.js → chunk-66N6C4EH.js} +1 -1
  61. package/chunks/{chunk-MLQNSPRZ.js → chunk-6MLDTOHU.js} +15 -5
  62. package/chunks/{chunk-SBRX4BDI.js → chunk-6NKDU7YL.js} +2 -2
  63. package/chunks/{chunk-3UXUOFO6.js → chunk-6TMXX4Z4.js} +9 -10
  64. package/chunks/{chunk-Y2MYW47X.js → chunk-6WXVEDT2.js} +9 -2
  65. package/chunks/{chunk-ZHKTKHMO.js → chunk-7MIBD3LG.js} +1 -1
  66. package/chunks/{chunk-EVTNACMT.js → chunk-A6QMKS5S.js} +12 -12
  67. package/chunks/{chunk-NOAG7N22.js → chunk-A6YU6R5N.js} +2 -2
  68. package/chunks/{chunk-76RGWKLS.js → chunk-ABNX6E6K.js} +1 -1
  69. package/chunks/chunk-ACHCT36C.js +28 -0
  70. package/chunks/{chunk-NE624IVP.js → chunk-ADQUK6WA.js} +1 -1
  71. package/chunks/{chunk-PLLIWEM3.js → chunk-AEWCOE64.js} +2 -2
  72. package/chunks/{chunk-3FPYT6QC.js → chunk-ARDHE6MM.js} +23 -0
  73. package/chunks/{chunk-LILGKQ4B.js → chunk-AXZMWAJV.js} +156 -26
  74. package/chunks/{chunk-SYLECP23.js → chunk-B776VKDA.js} +4 -4
  75. package/chunks/{chunk-AC6KDLH3.js → chunk-BNYQHLPR.js} +1 -1
  76. package/chunks/{chunk-BZM5U74J.js → chunk-BS7ON54G.js} +724 -468
  77. package/chunks/{chunk-TPKQIA7G.js → chunk-BSIOCNDK.js} +1 -1
  78. package/chunks/{chunk-U7O65WKL.js → chunk-BW2SMO6L.js} +1 -1
  79. package/chunks/{chunk-POC3YMHG.js → chunk-BY6CE34S.js} +4 -4
  80. package/chunks/{chunk-RLLRJJDR.js → chunk-C3VNHDWJ.js} +2 -2
  81. package/chunks/{chunk-WBCPROWX.js → chunk-C4HBZQNH.js} +1 -1
  82. package/chunks/{chunk-MSNHNAQZ.js → chunk-C5ABXOC2.js} +3 -3
  83. package/chunks/{chunk-NOO4QFXM.js → chunk-C75BXMPM.js} +1 -3
  84. package/chunks/chunk-CCWWPFZJ.js +191 -0
  85. package/chunks/chunk-CFMZLE3L.js +75 -0
  86. package/chunks/{chunk-N7VWZDWW.js → chunk-CFSBWJBB.js} +4462 -3840
  87. package/chunks/{chunk-KOKPXIAN.js → chunk-CL7JONZN.js} +3 -3
  88. package/chunks/{chunk-AXTFYDXT.js → chunk-CXXAZ2LZ.js} +1 -1
  89. package/chunks/{chunk-JYKWOREU.js → chunk-DBUOMHLZ.js} +13 -3
  90. package/chunks/{chunk-R4Q2PEFV.js → chunk-DLJBYORJ.js} +1 -1
  91. package/chunks/{chunk-DT75RKNH.js → chunk-DNVA2MQ2.js} +3 -3
  92. package/chunks/{chunk-J3TJH52D.js → chunk-DOTF2PF2.js} +1 -1
  93. package/chunks/{chunk-HGAELO7B.js → chunk-DQMBQCTY.js} +2 -2
  94. package/chunks/{chunk-2ALXPGB4.js → chunk-E6IR653O.js} +1 -1
  95. package/chunks/{chunk-ZKYR7QS4.js → chunk-EDB556X7.js} +2 -2
  96. package/chunks/chunk-EKJXDLDD.js +32 -0
  97. package/chunks/{chunk-NUQVB25K.js → chunk-EKMJR7M3.js} +2 -2
  98. package/chunks/{chunk-7QYWGTHB.js → chunk-EPVEPTI3.js} +44 -151
  99. package/chunks/{chunk-GCDXVPFK.js → chunk-EZSSJSKR.js} +31 -7
  100. package/chunks/{chunk-S6Q6Q4P2.js → chunk-FBDHP23D.js} +1 -1
  101. package/chunks/{chunk-UKZ45TJL.js → chunk-FFBP5POK.js} +420 -219
  102. package/chunks/{chunk-3I7W2POO.js → chunk-FGROOEKM.js} +5 -40
  103. package/chunks/{chunk-HNLMYDQE.js → chunk-FMLBBXHB.js} +13 -9
  104. package/chunks/{chunk-SSGAAWLY.js → chunk-GCV4NOHV.js} +95 -73
  105. package/chunks/{chunk-ALMR3E6Q.js → chunk-GDWE23OR.js} +3 -3
  106. package/chunks/{chunk-XBZTAGB7.js → chunk-GMN73IMT.js} +1 -1
  107. package/chunks/{chunk-IAEXTMED.js → chunk-GNV2SFO7.js} +173 -7
  108. package/chunks/{chunk-CXTPVBFA.js → chunk-GSS4SZNG.js} +100 -17
  109. package/chunks/chunk-GXN7DWZZ.js +154 -0
  110. package/chunks/{chunk-SODMFNAR.js → chunk-H23UWPF7.js} +5 -5
  111. package/chunks/{chunk-6HUXPLB5.js → chunk-HEOH7JZY.js} +5 -5
  112. package/chunks/{chunk-DTNV6UZY.js → chunk-HFJSQ4GL.js} +10 -24
  113. package/chunks/{chunk-GOXQL4YH.js → chunk-HWRXJQ6B.js} +2 -2
  114. package/chunks/{chunk-VZUCTJ2P.js → chunk-I6YJZGHS.js} +10 -10
  115. package/chunks/{chunk-RZHU3K6M.js → chunk-IAS753HG.js} +2 -20
  116. package/chunks/{chunk-EDMXGXAK.js → chunk-IBRQG2MP.js} +10 -13
  117. package/chunks/chunk-INGBUYL6.js +230 -0
  118. package/chunks/{chunk-7BXXIQG4.js → chunk-J73WJIMT.js} +36 -72
  119. package/chunks/{chunk-XGYHNWL3.js → chunk-J7LBAKDH.js} +3 -3
  120. package/chunks/{chunk-Z3GF56ME.js → chunk-JAYWZWZF.js} +3 -3
  121. package/chunks/{chunk-DYFOSJHU.js → chunk-JBFC2644.js} +2756 -1153
  122. package/chunks/{chunk-Q5BD56BW.js → chunk-JPCYCFYG.js} +7 -7
  123. package/chunks/{chunk-LG5Y4OWO.js → chunk-JRHKM3YQ.js} +2 -2
  124. package/chunks/{chunk-NHCZJQE4.js → chunk-JZKBMADP.js} +6 -6
  125. package/chunks/{chunk-MF6E7FSA.js → chunk-K7CQWBLT.js} +8 -201
  126. package/chunks/{chunk-K2OJUPOE.js → chunk-KP2FHIFR.js} +12 -0
  127. package/chunks/{chunk-ZU47FBOC.js → chunk-KSIOXYVX.js} +126 -12
  128. package/chunks/{chunk-IV7GDNKC.js → chunk-KZCK5JUN.js} +4 -4
  129. package/chunks/{chunk-3XLK2QMY.js → chunk-L3S2Y2FF.js} +59 -16
  130. package/chunks/{chunk-ZW2EUO2A.js → chunk-L6DIANLD.js} +1 -1
  131. package/chunks/{chunk-6W4HBUA2.js → chunk-LATAUG2M.js} +1 -1
  132. package/chunks/{chunk-RWVD5RRY.js → chunk-LBDASOPR.js} +3 -3
  133. package/chunks/{chunk-OX7IZ2G5.js → chunk-LF5AD7PY.js} +4 -4
  134. package/chunks/{chunk-NMRCXKQ5.js → chunk-LKCNETDW.js} +3 -3
  135. package/chunks/chunk-LMJSPC55.js +260 -0
  136. package/chunks/{chunk-X6K77VHC.js → chunk-LWWRJRCD.js} +1 -1
  137. package/chunks/{chunk-UXEO7E3V.js → chunk-LYD3T3H7.js} +1 -0
  138. package/chunks/{chunk-KFZYGSJN.js → chunk-M3YNPR56.js} +3 -3
  139. package/chunks/{chunk-HBQ2NXOU.js → chunk-MDG6GKSE.js} +2 -2
  140. package/chunks/{chunk-E4UEO3XM.js → chunk-ME4JBHSB.js} +324 -2
  141. package/chunks/{chunk-BV6Q5HMY.js → chunk-MJHLKWGJ.js} +8 -7
  142. package/chunks/{chunk-NFYEQRLG.js → chunk-MQRLLBMQ.js} +1 -1
  143. package/chunks/{chunk-O4KNCAX4.js → chunk-NCPFOLM2.js} +11 -0
  144. package/chunks/{chunk-2SZH22YO.js → chunk-NJ2OFVUX.js} +115 -97
  145. package/chunks/{chunk-DAWWT2ID.js → chunk-NN4EC2WO.js} +1374 -2164
  146. package/chunks/{chunk-6MBXY6WM.js → chunk-NRQI3PGS.js} +1 -1
  147. package/chunks/{chunk-HBU7EKY4.js → chunk-NRUKL236.js} +45 -15
  148. package/chunks/{chunk-53GWJOLP.js → chunk-NTCFKGQF.js} +3 -1
  149. package/chunks/{chunk-3CZ2BQV6.js → chunk-NXUZFW3G.js} +49 -19
  150. package/chunks/{chunk-X7UJKOHZ.js → chunk-OMDXAHCT.js} +4 -6
  151. package/chunks/{chunk-5GLDOLNQ.js → chunk-OWUAZXXN.js} +4 -3
  152. package/chunks/{chunk-2UWQX4FP.js → chunk-OZEV3R3S.js} +1 -1
  153. package/chunks/{acp-subagent-executor-LEUN3N7N.js → chunk-PAPBT3WP.js} +11 -110
  154. package/chunks/{chunk-7ICHPMBQ.js → chunk-PHSQVB6D.js} +4 -4
  155. package/chunks/{chunk-FCQJLMA2.js → chunk-Q3TFRP5G.js} +178 -8
  156. package/chunks/{chunk-YQHLFCPU.js → chunk-Q5CCYZD3.js} +32 -24
  157. package/chunks/chunk-QQL5BFOL.js +1416 -0
  158. package/chunks/{chunk-ZKZHSB5W.js → chunk-QR4Q425T.js} +9 -9
  159. package/chunks/{chunk-J6MB5ZHZ.js → chunk-QZW6WRB7.js} +2 -1
  160. package/chunks/{chunk-TP6FYVQT.js → chunk-RSWBT7AZ.js} +33 -1
  161. package/chunks/{chunk-2PJRI3EH.js → chunk-RVOD66ID.js} +218 -43
  162. package/chunks/{chunk-W5FIP7FC.js → chunk-S3PU3CNW.js} +5 -5
  163. package/chunks/chunk-S7UQ3V2H.js +87 -0
  164. package/chunks/{chunk-N6VQ37ZZ.js → chunk-SFL6U7U7.js} +1 -1
  165. package/chunks/{chunk-MOS5OAOG.js → chunk-SROLVJFY.js} +6 -6
  166. package/chunks/{chunk-HUXPEUFL.js → chunk-SYROIHU7.js} +1 -1
  167. package/chunks/{chunk-E7LB57MB.js → chunk-T3LUMYFP.js} +6 -6
  168. package/chunks/{chunk-PSPAM24S.js → chunk-TBSCTWKF.js} +6 -0
  169. package/chunks/{chunk-5KI7ZDTB.js → chunk-TV5WDW7R.js} +24 -12
  170. package/chunks/{chunk-NMCDMLHL.js → chunk-TXUJOKVR.js} +50 -35
  171. package/chunks/{chunk-NHJKAR6E.js → chunk-TYWLBEL2.js} +972 -18
  172. package/chunks/chunk-U6H3XTFA.js +95 -0
  173. package/chunks/{chunk-GSILBZLN.js → chunk-U7RWQBGZ.js} +2 -2
  174. package/chunks/{chunk-7APZIRH3.js → chunk-V3CMBOQ6.js} +5 -5
  175. package/chunks/{chunk-JXNIF2O5.js → chunk-V545KI73.js} +1 -1
  176. package/chunks/chunk-VGY2RGXL.js +100 -0
  177. package/chunks/{chunk-TBEXLLAO.js → chunk-VRQZESKP.js} +1 -1
  178. package/chunks/{chunk-FN3JNDRU.js → chunk-VVI7MK3V.js} +3 -3
  179. package/chunks/{chunk-EUURTIV6.js → chunk-WBSJ6VPZ.js} +10 -2
  180. package/chunks/{chunk-NLNQNBZ2.js → chunk-WD6YQI5M.js} +1 -1
  181. package/chunks/chunk-WFNEY5G7.js +347 -0
  182. package/chunks/{chunk-XKBFYTCD.js → chunk-WK6DEH3Q.js} +46 -0
  183. package/chunks/{chunk-36HCNKDS.js → chunk-WKVZES7O.js} +65 -14
  184. package/chunks/{chunk-BWAMMKIS.js → chunk-WLLRNQVT.js} +135 -6
  185. package/chunks/{chunk-MHAADZOZ.js → chunk-WMSP3XZK.js} +3 -3
  186. package/chunks/{chunk-IL5M5NYD.js → chunk-WUTXSXPP.js} +11 -9
  187. package/chunks/{chunk-NJQTG2G3.js → chunk-XE5ZFBVD.js} +11 -11
  188. package/chunks/{chunk-OLTN767L.js → chunk-XO3Z27IL.js} +2 -2
  189. package/chunks/{chunk-VX63RJXE.js → chunk-XX5HQLCZ.js} +7 -0
  190. package/chunks/{chunk-2Z3T52OC.js → chunk-Y5TM7SBV.js} +7 -2
  191. package/chunks/{chunk-V2P3DOQR.js → chunk-YDFOHRS5.js} +1 -1
  192. package/chunks/{chunk-QMUYLYT5.js → chunk-YGFJ6BRT.js} +1 -1
  193. package/chunks/{chunk-LK2WUCDQ.js → chunk-YM6KUQ2S.js} +1 -1
  194. package/chunks/{chunk-F42YYSCK.js → chunk-YVF4PKCV.js} +8 -8
  195. package/chunks/{chunk-LDVNJZGH.js → chunk-Z2H5HQS3.js} +17 -8
  196. package/chunks/chunk-Z72PLR74.js +36 -0
  197. package/chunks/{chunk-BWQLXU37.js → chunk-ZDHXRKRG.js} +381 -86
  198. package/chunks/{chunk-BHTYRHJF.js → chunk-ZJ7JQUGY.js} +4 -1
  199. package/chunks/{chunk-4ALNJDHL.js → chunk-ZKIAGIGH.js} +87 -4
  200. package/chunks/{chunk-VG3Q2NC4.js → chunk-ZNI3YJHS.js} +32 -12
  201. package/chunks/chunk-ZRZZLM37.js +2780 -0
  202. package/chunks/{chunk-Q2LVVIKF.js → chunk-ZZUXUBEB.js} +29 -12
  203. package/chunks/codex-subagent-executor-SM3TUSBA.js +586 -0
  204. package/chunks/{config-utils-L6KLDYIV.js → config-utils-JHKHFOG6.js} +60 -56
  205. package/chunks/{contextCommand-UYEH7NIU.js → contextCommand-XE4NDYQW.js} +58 -54
  206. package/chunks/{core-runtime-NVHT3Z3V.js → core-runtime-PNCWH3RE.js} +58 -55
  207. package/chunks/{create-sub-session-TIGCFGCS.js → create-sub-session-MSGNIM37.js} +5 -2
  208. package/chunks/{create-sub-session-YWASE5VH.js → create-sub-session-P7E5Y3HY.js} +169 -89
  209. package/chunks/{cron-create-AKWX67FO.js → cron-create-U2JJ5CCF.js} +3 -3
  210. package/chunks/{cron-delete-XPB6IYZJ.js → cron-delete-7DM4LJWD.js} +2 -2
  211. package/chunks/{cron-list-XBKO4WU5.js → cron-list-VCUSZK2Y.js} +2 -2
  212. package/chunks/{daemon-G5TYKZD6.js → daemon-NJB4PWZ7.js} +3 -1
  213. package/chunks/{daemon-git-worktree-guard-FOW4RQSK.js → daemon-git-worktree-guard-JFD5VZRN.js} +58 -54
  214. package/chunks/{daemon-status-provider-O5KQZYMP.js → daemon-status-provider-A3VFVFWW.js} +68 -63
  215. package/chunks/{daemon-trust-policy-3ATXEON7.js → daemon-trust-policy-NPZ47MZH.js} +64 -60
  216. package/chunks/{daemon-trust-policy-monitor-7MCNDNEC.js → daemon-trust-policy-monitor-XG2CHL3Z.js} +64 -60
  217. package/chunks/{de-UU2YTO37.js → de-VGY3VNBU.js} +3 -3
  218. package/chunks/{deferred-core-runtime-JK5IXL5K.js → deferred-core-runtime-V42EMU27.js} +56 -52
  219. package/chunks/{discovery-XP4RMDUM.js → discovery-5KUEPR65.js} +2 -2
  220. package/chunks/{display-image-NAH3AZ63.js → display-image-QTHALY6N.js} +3 -3
  221. package/chunks/{dist-KLZ7XGEQ.js → dist-2QYIVNS6.js} +1 -4
  222. package/chunks/{dist-AHJYPSJL.js → dist-GUB7QRYA.js} +2 -5
  223. package/chunks/{dist-ZXTZTE54.js → dist-MPUZZOG5.js} +4 -17
  224. package/chunks/{dist-F2DVGTL3.js → dist-NIOJXMGY.js} +111 -101
  225. package/chunks/{dist-KJGRVIGJ.js → dist-PA7WPFVE.js} +5 -36
  226. package/chunks/{dist-AIKC5E5P.js → dist-SE4J6Z4O.js} +43 -669
  227. package/chunks/{dist-H6G3K26N.js → dist-T6DDPDLQ.js} +14 -34
  228. package/chunks/{dist-GWNQVPZT.js → dist-TFGETXFN.js} +10 -33
  229. package/chunks/{dist-ZA52JXAS.js → dist-VDLSBCLM.js} +1 -5
  230. package/chunks/{edit-SY35KYIE.js → edit-E2ZGJDBJ.js} +46 -42
  231. package/chunks/{en-CAJHTIQT.js → en-E5ZO5TZW.js} +5 -3
  232. package/chunks/{enter-worktree-54L5QJ3N.js → enter-worktree-CAARFWBI.js} +6 -5
  233. package/chunks/{enterPlanMode-HXX6KQJR.js → enterPlanMode-442YAAZB.js} +43 -39
  234. package/chunks/{environment-DKXHG4HB.js → environment-DCJ5FVHM.js} +59 -55
  235. package/chunks/{errors-ADY7LQJJ.js → errors-ZWTDW2NJ.js} +58 -54
  236. package/chunks/exec-RPKEY6HP.js +505 -0
  237. package/chunks/{exit-worktree-EORJDKDS.js → exit-worktree-JXGGUOBP.js} +6 -5
  238. package/chunks/{exitPlanMode-HSK2CQI6.js → exitPlanMode-4PLQOFOO.js} +43 -39
  239. package/chunks/{fast-path-U636VWN2.js → fast-path-DBSGDGB3.js} +10 -10
  240. package/chunks/{fast-path-settings-V7MI7EZJ.js → fast-path-settings-XDYX7X5Z.js} +2 -2
  241. package/chunks/{fr-HKNWVXRJ.js → fr-UAZJJH5N.js} +3 -3
  242. package/chunks/{glob-GUGGTH5L.js → glob-VWOE4W7K.js} +43 -39
  243. package/chunks/{goal-tools-PXYRSQGX.js → goal-tools-K6SIBXMB.js} +49 -41
  244. package/chunks/{grep-3PKFKLCA.js → grep-H2I33VAO.js} +8 -3
  245. package/chunks/{handleAutoUpdate-5KHS4HIN.js → handleAutoUpdate-NCC3XELY.js} +61 -57
  246. package/chunks/{i18n-KSGKMUPT.js → i18n-GO7JI4PT.js} +57 -53
  247. package/chunks/{image-gen-OCCR2WWU.js → image-gen-5G2TQ3DY.js} +6 -5
  248. package/chunks/{initializer-YYT5XEZF.js → initializer-BXKAW5A6.js} +64 -60
  249. package/chunks/{installationInfo-UNSBPYW2.js → installationInfo-5JONIX62.js} +57 -53
  250. package/chunks/{ja-GJS5RZGU.js → ja-2RITCMAJ.js} +3 -3
  251. package/chunks/list-QW74LCLS.js +133 -0
  252. package/chunks/{list-agents-QLDXS5OD.js → list-agents-EWDCEPIW.js} +3 -3
  253. package/chunks/{llm-XGGLBGPH.js → llm-FJHSMJTM.js} +161 -125
  254. package/chunks/{llm-content-generator-ZHQQT5W7.js → llm-content-generator-3VLLPQS4.js} +14 -7
  255. package/chunks/{loadedSettingsAdapter-3DXLASK7.js → loadedSettingsAdapter-OLMQSKVC.js} +64 -60
  256. package/chunks/{loggingContentGenerator-V72OCCJO.js → loggingContentGenerator-IMLIJULY.js} +47 -43
  257. package/chunks/{loop-wakeup-HHMYIC7Z.js → loop-wakeup-VG6CGBQA.js} +4 -4
  258. package/chunks/{ls-N7ABR6HI.js → ls-6ZB3BEIR.js} +1 -1
  259. package/chunks/{lsp-LTOFWG5P.js → lsp-M54FQARP.js} +5 -1
  260. package/chunks/{managed-npm-update-HV5LPZH2.js → managed-npm-update-LXLBWCNA.js} +57 -53
  261. package/chunks/mcp-FOXA3372.js +127 -0
  262. package/chunks/model-configuration-SCOI2KPF.js +140 -0
  263. package/chunks/modelConfigUtils-EA44S64C.js +119 -0
  264. package/chunks/{monitor-TLBNM4MV.js → monitor-TJAHYCCY.js} +43 -39
  265. package/chunks/{nonInteractiveCli-LSJSQ2W4.js → nonInteractiveCli-QH2HABWC.js} +112 -107
  266. package/chunks/{notebook-edit-OSPOLZP6.js → notebook-edit-WEMSBUBS.js} +45 -41
  267. package/chunks/{openaiContentGenerator-BE4S5TRD.js → openaiContentGenerator-WD5DWYOA.js} +24 -19
  268. package/chunks/{openaiResponsesContentGenerator-RTCAJ5V5.js → openaiResponsesContentGenerator-AWRYZLJU.js} +110 -19
  269. package/chunks/{pidfile-H32FEPWA.js → pidfile-TQL2LCEG.js} +56 -52
  270. package/chunks/{processUtils-SSLIPDEA.js → processUtils-6ZU56DCI.js} +2 -2
  271. package/chunks/{prompt-terminal-ledger-I5SLL6UF.js → prompt-terminal-ledger-3HAKHXFV.js} +57 -53
  272. package/chunks/{pt-FXMYXEUV.js → pt-5ZF7ZQUV.js} +3 -3
  273. package/chunks/{qwenContentGenerator-TMQC623Z.js → qwenContentGenerator-3OIZQZLC.js} +47 -43
  274. package/chunks/{qwenOAuth2-3ZRQHHTC.js → qwenOAuth2-WIEUEFEY.js} +5 -4
  275. package/chunks/{read-file-T2QAIZE2.js → read-file-2PWWL6J2.js} +9 -8
  276. package/chunks/{read-mcp-resource-B37WANAQ.js → read-mcp-resource-LPSWXVOD.js} +1 -1
  277. package/chunks/{record-artifact-OAXWXZ5D.js → record-artifact-PXMNP7GZ.js} +3 -3
  278. package/chunks/{record-source-D7R7X3GT.js → record-source-2GSY5JD5.js} +6 -6
  279. package/chunks/{report-findings-AR3VC6EQ.js → report-findings-W6GR7SYZ.js} +4 -4
  280. package/chunks/{request-shutdown-IKNWTX5M.js → request-shutdown-53SNYGVR.js} +5 -5
  281. package/chunks/{resumeHistoryUtils-QLKDH5GY.js → resumeHistoryUtils-S4TEUTKE.js} +63 -59
  282. package/chunks/{ripGrep-YGWL7KCV.js → ripGrep-5NMGLMLX.js} +13 -11
  283. package/chunks/{ru-RMHURE5U.js → ru-7BNZFQKG.js} +3 -3
  284. package/chunks/{run-qwen-serve-26KZDECC.js → run-qwen-serve-6MGYRK4V.js} +314 -127
  285. package/chunks/{runtime-BMEIVDDG.js → runtime-ZJYUQCPP.js} +69 -65
  286. package/chunks/{scheduled-tasks-NCFPP6VQ.js → scheduled-tasks-5MKF4EV3.js} +66 -60
  287. package/chunks/{scheduler-47TVMUVN.js → scheduler-72DZWRH5.js} +58 -54
  288. package/chunks/{sdk-exporters-http-VWTF4W6K.js → sdk-exporters-http-3R2TRQHE.js} +2 -1
  289. package/chunks/{sdk-impl-G6FVTBQZ.js → sdk-impl-4WF3VZ2F.js} +3 -3
  290. package/chunks/{send-message-TWOGWCBG.js → send-message-UMJKN27Q.js} +7 -7
  291. package/chunks/{serve-KL3G6LQQ.js → serve-7ZDMMA7I.js} +66 -62
  292. package/chunks/{server-LBPYXZ5G.js → server-ONK5RTEV.js} +783 -350
  293. package/chunks/{session-YG6742LO.js → session-XQW2LM4S.js} +117 -112
  294. package/chunks/{session-attachments-root-OUBQDYC4.js → session-attachments-root-Q5IUCMQV.js} +56 -52
  295. package/chunks/{session-pr-refresh-EKGMYNAW.js → session-pr-refresh-MVECWT3W.js} +66 -60
  296. package/chunks/{settings-DDNHJX2L.js → settings-DL6K2HQ3.js} +67 -63
  297. package/chunks/{shell-KUCXWITU.js → shell-BLP25QJU.js} +43 -39
  298. package/chunks/{skill-JQLKPNWZ.js → skill-7KURUNLD.js} +128 -23
  299. package/chunks/{skill-settings-XERQCUXZ.js → skill-settings-MY76LM46.js} +72 -60
  300. package/chunks/{spawnChannel-GQ45QFGB.js → spawnChannel-IJLH3Z74.js} +60 -55
  301. package/chunks/{standalone-update-PRF3ILGZ.js → standalone-update-YQKN7VNO.js} +58 -54
  302. package/chunks/{start-opentui-ui-JDSOZE3N.js → start-opentui-ui-ORNGKZTG.js} +2693 -2160
  303. package/chunks/{startInteractiveUI-RRW3JVHN.js → startInteractiveUI-PRLIKB4U.js} +1610 -1773
  304. package/chunks/{syntheticOutput-F6F27JMK.js → syntheticOutput-EX5L5GYI.js} +2 -2
  305. package/chunks/{task-create-Y623TBHB.js → task-create-75HVPEAH.js} +7 -7
  306. package/chunks/{task-list-FCPEEGWL.js → task-list-ZLJSMRFA.js} +2 -2
  307. package/chunks/{task-stop-QTKZXLPH.js → task-stop-MD7P6QGK.js} +1 -1
  308. package/chunks/{task-update-YLSXF25N.js → task-update-RI7QNVDP.js} +20 -13
  309. package/chunks/{team-create-5DRLOLOE.js → team-create-ANLKOQ44.js} +43 -39
  310. package/chunks/{team-delete-S7TLHZCF.js → team-delete-RIDINW6I.js} +1 -1
  311. package/chunks/{team-plan-approval-MWSGAL5T.js → team-plan-approval-EFUENI6Y.js} +43 -39
  312. package/chunks/{terminal-image-renderer-H7PD4FQW.js → terminal-image-renderer-CXMFIWKC.js} +58 -54
  313. package/chunks/{theme-manager-7AV73D6R.js → theme-manager-JUFYQDQQ.js} +56 -52
  314. package/chunks/{todoWrite-5QI2H2FW.js → todoWrite-XSTG2VT5.js} +6 -3
  315. package/chunks/{tool-search-UGYTBLUV.js → tool-search-SNCEA4VA.js} +17 -12
  316. package/chunks/{total-session-admission-JIHSTJ5S.js → total-session-admission-UHYNUO3L.js} +63 -58
  317. package/chunks/{tree-sitter-4D7QS7F6.js → tree-sitter-NZ3QACD7.js} +1 -1
  318. package/chunks/{tree-sitter-bash-VEJGF5XF.js → tree-sitter-bash-WXHLMORC.js} +1 -1
  319. package/chunks/{trustedFolders-5VCBXFOP.js → trustedFolders-YBR5URPG.js} +57 -53
  320. package/chunks/{update-relaunch-4LF3APCV.js → update-relaunch-L6MTSN76.js} +5 -5
  321. package/chunks/{updateCheck-4T3WUE5F.js → updateCheck-Z3SPZXHC.js} +60 -56
  322. package/chunks/{useAutoAcceptIndicator-UMGB64Z6.js → useAutoAcceptIndicator-PR5XGMO6.js} +68 -64
  323. package/chunks/{validateNonInterActiveAuth-GFJ72U2C.js → validateNonInterActiveAuth-KFLTWEYW.js} +109 -104
  324. package/chunks/{version-EAAZN4T2.js → version-NGAKFVUF.js} +1 -1
  325. package/chunks/{web-fetch-VRU3A2NI.js → web-fetch-WPGTHGU5.js} +15 -13
  326. package/chunks/web-search-JT63IJJV.js +39 -0
  327. package/chunks/{web-shell-static-CCN4JZEE.js → web-shell-static-T7UGLVE4.js} +2 -7
  328. package/chunks/{workflow-UHPFALVZ.js → workflow-EB63BAL4.js} +179 -79
  329. package/chunks/workspace-providers-status-NEPR67D2.js +133 -0
  330. package/chunks/{workspace-registration-store-A7RGKW62.js → workspace-registration-store-CFWXOMGH.js} +2 -2
  331. package/chunks/{workspace-registry-C2NGE6SD.js → workspace-registry-6KRZXOGB.js} +63 -58
  332. package/chunks/{workspace-runtime-coordinator-QKMZ24YF.js → workspace-runtime-coordinator-SP4X3UVH.js} +66 -59
  333. package/chunks/{workspace-service-RQTTAGGC.js → workspace-service-PRMYJTTV.js} +70 -65
  334. package/chunks/workspace-skills-status-VYTZJ5MB.js +130 -0
  335. package/chunks/{workspace-trust-reconciler-KFWATZUU.js → workspace-trust-reconciler-B4QMGDMI.js} +73 -68
  336. package/chunks/{write-file-DPVB2SBQ.js → write-file-EGBMW7TS.js} +45 -41
  337. package/chunks/{zh-TW-2K2WRFPY.js → zh-TW-7PRVUGLW.js} +5 -3
  338. package/chunks/{zh-S5V3Z5CR.js → zh-V2EYTYJP.js} +5 -3
  339. package/chunks/{zoom-image-S7AWLAPC.js → zoom-image-UR6K2LDR.js} +11 -10
  340. package/cli.js +18 -17
  341. package/codeModeHost.js +4425 -0
  342. package/export-transcript-document.css +1 -1
  343. package/export-transcript-document.js +151 -151
  344. package/locales/ca.js +5 -6
  345. package/locales/de.js +5 -6
  346. package/locales/en.js +7 -6
  347. package/locales/fr.js +6 -6
  348. package/locales/ja.js +5 -6
  349. package/locales/pt.js +5 -6
  350. package/locales/ru.js +6 -6
  351. package/locales/zh-TW.js +7 -6
  352. package/locales/zh.js +7 -6
  353. package/package.json +4 -3
  354. package/web-shell/assets/{abnfDiagram-VCTEODGH-nU24rpIE.js → abnfDiagram-VCTEODGH-S_JCiANq.js} +1 -1
  355. package/web-shell/assets/{arc-D1hTu8QI.js → arc-DP-839Xn.js} +1 -1
  356. package/web-shell/assets/architectureDiagram-5GKGNRK7-C8rCd2KK.js +36 -0
  357. package/web-shell/assets/blockDiagram-NRAW4CY4-DQR82jwr.js +129 -0
  358. package/web-shell/assets/{c4Diagram-UCG6FXSJ-kEFoC1ei.js → c4Diagram-UCG6FXSJ-D21PNMRP.js} +4 -4
  359. package/web-shell/assets/channel-BgGrpX_z.js +1 -0
  360. package/web-shell/assets/{chunk-2Q5K7J3B-DbT9wS7j.js → chunk-2Q5K7J3B-KdDInGLi.js} +1 -1
  361. package/web-shell/assets/{chunk-5VM5RSS4-CNbULt6O.js → chunk-5VM5RSS4-ltb7zRmH.js} +1 -1
  362. package/web-shell/assets/{chunk-F27PBJKO-CbQRy4Tb.js → chunk-F27PBJKO-DcpQA0Ng.js} +1 -1
  363. package/web-shell/assets/chunk-G27WJ6UU-C8NDZxcy.js +231 -0
  364. package/web-shell/assets/chunk-JWPE2WC7-hXhhHTs1.js +1 -0
  365. package/web-shell/assets/chunk-LCL6LL3I-CLaOR-Hl.js +206 -0
  366. package/web-shell/assets/chunk-POPQ4Y6H-Y5_qlB1N.js +1 -0
  367. package/web-shell/assets/{chunk-SVP7TREG-DyBb2Axj.js → chunk-SVP7TREG-BWX2Voh7.js} +4 -4
  368. package/web-shell/assets/{chunk-XXDRQBXY-BIA0eb5B.js → chunk-XXDRQBXY-1wmj_kXI.js} +1 -1
  369. package/web-shell/assets/classDiagram-DTDB5LWJ-jUH7ADYs.js +1 -0
  370. package/web-shell/assets/classDiagram-v2-JRS7N3AN-jUH7ADYs.js +1 -0
  371. package/web-shell/assets/cose-bilkent-JH36ORCC-DpLc-cdd.js +1 -0
  372. package/web-shell/assets/cynefin-OW5HDTMX-DhxGiPZW.js +178 -0
  373. package/web-shell/assets/{cynefinDiagram-5FMLGOSQ-LENf_IUy.js → cynefinDiagram-5FMLGOSQ-Dl3jfBry.js} +1 -1
  374. package/web-shell/assets/{cytoscape.esm-CUqq0XTU.js → cytoscape.esm-DJK6lGiH.js} +3 -3
  375. package/web-shell/assets/dagre-3AP2YEHR-C8FA8vJk.js +4 -0
  376. package/web-shell/assets/diagram-S7CK7UJ4-D-quIUtW.js +30 -0
  377. package/web-shell/assets/diagram-UQ7AKVKN-Bjo09Uts.js +41 -0
  378. package/web-shell/assets/diagram-VSXAHHWV-IoI3ttq4.js +3 -0
  379. package/web-shell/assets/diagram-VX7I27RA-BKyOZ5SO.js +24 -0
  380. package/web-shell/assets/diagram-Z3DM3KII-Cu_OHEhw.js +24 -0
  381. package/web-shell/assets/{ebnfDiagram-PWID7BFC-BGpiquRm.js → ebnfDiagram-PWID7BFC-UVB-bbPg.js} +1 -1
  382. package/web-shell/assets/{erDiagram-SSCWMZ5O-D0besu_U.js → erDiagram-SSCWMZ5O-l8drddto.js} +13 -13
  383. package/web-shell/assets/flowDiagram-A5DVABFB-DU1I_VAI.js +168 -0
  384. package/web-shell/assets/{ganttDiagram-EL5Y4UJY-CNlsAeNr.js → ganttDiagram-EL5Y4UJY-BLRH05uB.js} +1 -1
  385. package/web-shell/assets/gitGraphDiagram-WWUBYQGX-Czg_BkRE.js +106 -0
  386. package/web-shell/assets/index-CmMV8Jla.js +3 -0
  387. package/web-shell/assets/{index-CGT341lL.js → index-DohPy72Z.js} +1 -1
  388. package/web-shell/assets/index-DyMtNYuu.js +2207 -0
  389. package/web-shell/assets/index-n6N-2a3v.css +36 -0
  390. package/web-shell/assets/{infoDiagram-RXCK75RN-Bpai64Ll.js → infoDiagram-RXCK75RN-BpBvjkro.js} +1 -1
  391. package/web-shell/assets/ishikawaDiagram-5VMMS53U-phy1l3jm.js +70 -0
  392. package/web-shell/assets/{journeyDiagram-EYS64GPL-iz_DKgFX.js → journeyDiagram-EYS64GPL-oY-9LgVS.js} +1 -1
  393. package/web-shell/assets/kanban-definition-3QL26DDD-slZoy-sc.js +89 -0
  394. package/web-shell/assets/{layout-qEvKgnvU.js → layout-0hnn_P9l.js} +1 -1
  395. package/web-shell/assets/{linear-C6lklGdq.js → linear-7Wqe8DRy.js} +1 -1
  396. package/web-shell/assets/mermaid.core-BaK8n0bq.js +312 -0
  397. package/web-shell/assets/mindmap-definition-FBJOCRG2-BedUdy_E.js +96 -0
  398. package/web-shell/assets/{pegDiagram-XKGWAZYB-BhD0q0i6.js → pegDiagram-XKGWAZYB-DQLRdmxq.js} +1 -1
  399. package/web-shell/assets/pieDiagram-E7YTZNPT-UC20w9-5.js +39 -0
  400. package/web-shell/assets/quadrantDiagram-AXDQQJYC-CQx2Hmk3.js +7 -0
  401. package/web-shell/assets/qwen-code-notification-BRVagufF.png +0 -0
  402. package/web-shell/assets/{railroadDiagram-O6MQD6OU-E1g2KIFK.js → railroadDiagram-O6MQD6OU-2UEJe_y-.js} +1 -1
  403. package/web-shell/assets/{requirementDiagram-EFPCY7ZU-CuerYJOe.js → requirementDiagram-EFPCY7ZU-DOAJggB4.js} +13 -13
  404. package/web-shell/assets/{sankeyDiagram-P5KCCOFB-CqWyCZGA.js → sankeyDiagram-P5KCCOFB-DnQ_qJo7.js} +7 -7
  405. package/web-shell/assets/{sequenceDiagram-WJ2MYXX4-B-YWb8x4.js → sequenceDiagram-WJ2MYXX4-DZrZUoCo.js} +16 -16
  406. package/web-shell/assets/sizeCapture-X5ZJPWSS-B5G4GDQB.js +1 -0
  407. package/web-shell/assets/{stateDiagram-HBIQ2CUA-C8LDpNHS.js → stateDiagram-HBIQ2CUA-Bn1cT0qF.js} +1 -1
  408. package/web-shell/assets/stateDiagram-v2-4QOOHH4V-BF3xtNvJ.js +1 -0
  409. package/web-shell/assets/swimlanes-XN3QIQJK-Bzhcdn87.js +1 -0
  410. package/web-shell/assets/swimlanesDiagram-VK2B7HYN-B753mA3E.js +8 -0
  411. package/web-shell/assets/timeline-definition-24CTP7MA-BqZ_3D10.js +120 -0
  412. package/web-shell/assets/vennDiagram-4TSXK5OY-z9kw1kmm.js +34 -0
  413. package/web-shell/assets/wardleyDiagram-VM6X3IG4-Cydp1zJW.js +78 -0
  414. package/web-shell/assets/{xychartDiagram-S5SC5T6Z-ruD2Wjhg.js → xychartDiagram-S5SC5T6Z-j4X1lQKo.js} +1 -1
  415. package/web-shell/index.html +2 -2
  416. package/chunks/chunk-7Q2AXRDJ.js +0 -114
  417. package/chunks/chunk-AEY27Z35.js +0 -1411
  418. package/chunks/chunk-CFKIH3D3.js +0 -50
  419. package/chunks/chunk-HWVUSYSN.js +0 -126
  420. package/chunks/chunk-QHMLYMMS.js +0 -32
  421. package/chunks/chunk-SAH4BD2J.js +0 -92
  422. package/chunks/chunk-TWUKBNWM.js +0 -86
  423. package/chunks/chunk-ZTTC7T4X.js +0 -126
  424. package/chunks/list-YL6LDQKQ.js +0 -129
  425. package/chunks/mcp-IYVSIW6O.js +0 -123
  426. package/chunks/web-search-NEGYQNDJ.js +0 -912
  427. package/chunks/workspace-providers-status-AEYISSU2.js +0 -127
  428. package/chunks/workspace-skills-status-5HWZU3HX.js +0 -126
  429. package/web-shell/assets/architectureDiagram-5GKGNRK7-B_fgkKe7.js +0 -36
  430. package/web-shell/assets/blockDiagram-NRAW4CY4-C3pddUNg.js +0 -129
  431. package/web-shell/assets/channel-Blod4z1X.js +0 -1
  432. package/web-shell/assets/chunk-G27WJ6UU-CVbXTxYk.js +0 -231
  433. package/web-shell/assets/chunk-JWPE2WC7-D89c_BXy.js +0 -1
  434. package/web-shell/assets/chunk-LCL6LL3I-B7-I_9KB.js +0 -206
  435. package/web-shell/assets/chunk-POPQ4Y6H-DcLQFzS4.js +0 -1
  436. package/web-shell/assets/classDiagram-DTDB5LWJ-D6hFDMqb.js +0 -1
  437. package/web-shell/assets/classDiagram-v2-JRS7N3AN-D6hFDMqb.js +0 -1
  438. package/web-shell/assets/cose-bilkent-JH36ORCC-Db2FYN85.js +0 -1
  439. package/web-shell/assets/cynefin-OW5HDTMX-i4GwmBVy.js +0 -178
  440. package/web-shell/assets/dagre-3AP2YEHR-CF9XVrD9.js +0 -4
  441. package/web-shell/assets/diagram-S7CK7UJ4-DD5PJfSm.js +0 -30
  442. package/web-shell/assets/diagram-UQ7AKVKN-CjD_sBMj.js +0 -41
  443. package/web-shell/assets/diagram-VSXAHHWV-U5WwMqyA.js +0 -3
  444. package/web-shell/assets/diagram-VX7I27RA-BujpHJJf.js +0 -24
  445. package/web-shell/assets/diagram-Z3DM3KII-3ZLtKEXo.js +0 -24
  446. package/web-shell/assets/flowDiagram-A5DVABFB-9DwDuIyr.js +0 -168
  447. package/web-shell/assets/gitGraphDiagram-WWUBYQGX-C_pPFiTR.js +0 -106
  448. package/web-shell/assets/index-BYWs4JWq.js +0 -3
  449. package/web-shell/assets/index-D3YS6KuJ.js +0 -2173
  450. package/web-shell/assets/index-eBxK3rs2.css +0 -36
  451. package/web-shell/assets/ishikawaDiagram-5VMMS53U-ktpJFq4r.js +0 -70
  452. package/web-shell/assets/kanban-definition-3QL26DDD-m_gG00Yt.js +0 -89
  453. package/web-shell/assets/mermaid.core-DSCYB_2P.js +0 -312
  454. package/web-shell/assets/mindmap-definition-FBJOCRG2-DRQbT8w-.js +0 -96
  455. package/web-shell/assets/pieDiagram-E7YTZNPT-BvIGQCSd.js +0 -39
  456. package/web-shell/assets/quadrantDiagram-AXDQQJYC-BDQtfpU-.js +0 -7
  457. package/web-shell/assets/sizeCapture-X5ZJPWSS-BB7YY4Tl.js +0 -1
  458. package/web-shell/assets/stateDiagram-v2-4QOOHH4V-C4CbdvGa.js +0 -1
  459. package/web-shell/assets/swimlanes-XN3QIQJK-D94vOoxZ.js +0 -1
  460. package/web-shell/assets/swimlanesDiagram-VK2B7HYN--QNSIOC8.js +0 -8
  461. package/web-shell/assets/timeline-definition-24CTP7MA-C9C8uEYm.js +0 -120
  462. package/web-shell/assets/vennDiagram-4TSXK5OY-CYzMHbVW.js +0 -34
  463. package/web-shell/assets/wardleyDiagram-VM6X3IG4-G9nhtLES.js +0 -78
  464. package/chunks/{open-with-auth-6MVIHMXB.js → open-with-auth-XFCCJOO6.js} +3 -3
@@ -449,6 +449,23 @@ var MAX_PERSISTED_MIME_CHARS = 120;
449
449
  var MAX_PERSISTED_FIELD_CHARS = 200;
450
450
  var MAX_PERSISTED_TIMESTAMP_CHARS = 64;
451
451
  var SECRET_TOKEN_VALUE_PATTERN = /(?:^|\s)(?:bearer\s+\S{8,}|sk-[A-Za-z0-9_-]{12,}|(?:gh[pousr]|github_pat)_[A-Za-z0-9_/-]{12,}|[a-f0-9]{40,}|[A-Za-z0-9+/]{48,}={0,2})(?:$|\s)/i;
452
+ function getWebPreviewSnapshotId(artifact) {
453
+ const id = /^preview-([0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12})$/.exec(
454
+ artifact.managedId ?? ""
455
+ )?.[1];
456
+ const sha256 = artifact.metadata?.[PUBLISHED_CONTENT_SHA256_METADATA_KEY];
457
+ if (!id || artifact.kind !== "html" || artifact.storage !== "published" || artifact.metadata?.["artifactType"] !== "web_preview_snapshot" || typeof sha256 !== "string" || !/^[0-9a-f]{64}$/.test(sha256) || artifact.source !== void 0 && (artifact.source !== "tool" || artifact.toolName?.toLowerCase() !== "artifact") || artifact.toolName !== void 0 && artifact.toolName.toLowerCase() !== "artifact")
458
+ return void 0;
459
+ try {
460
+ const url = new URL(artifact.url ?? "");
461
+ if (url.protocol === "file:" && !url.host && !url.search && !url.hash && url.pathname.endsWith(`/artifacts/snapshots/${id}/index.html`))
462
+ return id;
463
+ } catch {
464
+ return void 0;
465
+ }
466
+ return void 0;
467
+ }
468
+ __name(getWebPreviewSnapshotId, "getWebPreviewSnapshotId");
452
469
  function isSessionArtifactRecord(record) {
453
470
  return isTranscriptArtifactRecord(record);
454
471
  }
@@ -797,7 +814,7 @@ function isForkSafeArtifact(artifact) {
797
814
  if (artifact.metadata && hasRestoreUnsafeMetadata(artifact.metadata)) {
798
815
  return false;
799
816
  }
800
- if (artifact.url && hasRestoreUnsafeUrl(artifact.url)) {
817
+ if (artifact.url && hasRestoreUnsafeUrl(artifact.url) && !getWebPreviewSnapshotId(artifact)) {
801
818
  return false;
802
819
  }
803
820
  return true;
@@ -1233,6 +1250,296 @@ function getNonNegativeInteger(record, key) {
1233
1250
  }
1234
1251
  __name(getNonNegativeInteger, "getNonNegativeInteger");
1235
1252
 
1253
+ // packages/core/src/tools/artifact/html.ts
1254
+ init_esbuild_shims();
1255
+ var MAX_ARTIFACT_BYTES = 16 * 1024 * 1024;
1256
+ var CSS_RESET = `*,*::before,*::after{box-sizing:border-box}
1257
+ html{-webkit-text-size-adjust:100%}
1258
+ body{margin:0;padding:1.5rem;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;line-height:1.5;color:#1a1a1a;background:#fff}
1259
+ img,svg,video,canvas{max-width:100%;height:auto}
1260
+ pre,table{max-width:100%;overflow-x:auto}
1261
+ :where(a){color:#0969da}`;
1262
+ var DEFAULT_TITLE = "Artifact";
1263
+ function sanitizeArtifactTitle(raw) {
1264
+ const cleaned = (raw ?? "").replace(/\s+/g, " ").trim().slice(0, 120);
1265
+ return cleaned || DEFAULT_TITLE;
1266
+ }
1267
+ __name(sanitizeArtifactTitle, "sanitizeArtifactTitle");
1268
+ function escapeForTitle(s) {
1269
+ return s.replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/>/g, "&gt;");
1270
+ }
1271
+ __name(escapeForTitle, "escapeForTitle");
1272
+ function validateSelfContained(fragment) {
1273
+ if (!fragment.trim()) {
1274
+ return "Artifact file is empty \u2014 write the page content (a body-only HTML fragment) first.";
1275
+ }
1276
+ const scan = normalizeAttributeQuotes(fragment);
1277
+ const head = fragment.replace(/^\s+/, "").replace(/^(?:<!--[\s\S]*?-->\s*)+/, "");
1278
+ const wrapperTag = /^(?:<!doctype\b|<html[\s>]|<head[\s>]|<body[\s>])/i.exec(
1279
+ head
1280
+ );
1281
+ if (wrapperTag) {
1282
+ return `Write a body-only fragment \u2014 it starts with a full-document tag (${wrapperTag[0].trim()}). Omit <!doctype>, <html>, <head>, and <body>; they are added at publish time.`;
1283
+ }
1284
+ const extResource = /\b(?:src|srcset|poster)\s*=\s*["']?\s*(?:https?:)?\/\//i.exec(scan) ?? /<link\b[^>]*\bhref\s*=\s*["']?\s*(?:https?:)?\/\//i.exec(scan);
1285
+ if (extResource) {
1286
+ return `Artifact must be self-contained \u2014 found an external reference (${truncate(extResource[0])}). Inline scripts/styles and embed assets as data: URIs.`;
1287
+ }
1288
+ const jsUri = /\b(?:href|src)\s*=\s*["']?\s*javascript\s*:/i.exec(scan);
1289
+ if (jsUri) {
1290
+ return `Artifact must be self-contained \u2014 found a javascript: URI (${truncate(jsUri[0])}). Use inline <script> blocks instead.`;
1291
+ }
1292
+ const extScript = /\b(?:fetch|WebSocket|XMLHttpRequest)\s*\(\s*["']\s*(?:https?|wss?):\/\//i.exec(
1293
+ scan
1294
+ ) ?? /\bimport\s*\(\s*["'](?:https?:)?\/\//i.exec(scan) ?? /\bwindow\.open\s*\(/i.exec(scan) ?? /\blocation\.\w+\s*[=(]/i.exec(scan) ?? /\bnavigator\.sendBeacon\s*\(\s*["']\s*(?:https?:)?\/\//i.exec(scan);
1295
+ if (extScript) {
1296
+ return `Artifact must be self-contained \u2014 found browser network egress (${truncate(extScript[0])}). Embed data in the artifact instead of fetching it at runtime.`;
1297
+ }
1298
+ const metaRefresh = /<meta\b[^>]*http-equiv\s*=\s*["']?refresh["']?[^>]*\burl\s*=\s*(?:https?:)?\/\//i.exec(
1299
+ scan
1300
+ );
1301
+ if (metaRefresh) {
1302
+ return `Artifact must be self-contained \u2014 found a meta refresh redirect (${truncate(metaRefresh[0])}).`;
1303
+ }
1304
+ const extCss = /(?:@import\s+(?:url\()?|url\()\s*["']?\s*(?:https?:)?\/\//i.exec(scan);
1305
+ if (extCss) {
1306
+ return `Artifact must be self-contained \u2014 found an external CSS reference (${truncate(extCss[0])}). Inline CSS and embed fonts/images as data: URIs.`;
1307
+ }
1308
+ return null;
1309
+ }
1310
+ __name(validateSelfContained, "validateSelfContained");
1311
+ function normalizeAttributeQuotes(s) {
1312
+ return s.replace(/&quot;|&#34;|&#x22;/gi, '"').replace(/&apos;|&#39;|&#x27;/gi, "'");
1313
+ }
1314
+ __name(normalizeAttributeQuotes, "normalizeAttributeQuotes");
1315
+ function truncate(s, max = 60) {
1316
+ const t = s.replace(/\s+/g, " ").trim();
1317
+ return t.length > max ? `${t.slice(0, max)}\u2026` : t;
1318
+ }
1319
+ __name(truncate, "truncate");
1320
+ function wrapArtifactHtml(bodyFragment, title) {
1321
+ const safeTitle = escapeForTitle(sanitizeArtifactTitle(title));
1322
+ return `<!doctype html>
1323
+ <html lang="en">
1324
+ <head>
1325
+ <meta charset="utf-8">
1326
+ <meta name="viewport" content="width=device-width, initial-scale=1">
1327
+ <meta http-equiv="Content-Security-Policy" content="default-src 'none'; script-src 'unsafe-inline'; style-src 'unsafe-inline'; img-src data:; font-src data:; media-src data:; connect-src 'none'; form-action 'none'; base-uri 'none'; frame-ancestors 'none'; sandbox allow-scripts;">
1328
+ <title>${safeTitle}</title>
1329
+ <style>${CSS_RESET}</style>
1330
+ </head>
1331
+ <body>
1332
+ ${bodyFragment}
1333
+ </body>
1334
+ </html>
1335
+ `;
1336
+ }
1337
+ __name(wrapArtifactHtml, "wrapArtifactHtml");
1338
+ function byteLength(s) {
1339
+ return Buffer.byteLength(s, "utf8");
1340
+ }
1341
+ __name(byteLength, "byteLength");
1342
+
1343
+ // packages/core/src/tools/artifact/artifact-snapshots.ts
1344
+ init_esbuild_shims();
1345
+ import { createHash as createHash2, randomUUID } from "node:crypto";
1346
+ import { constants, promises as fs } from "node:fs";
1347
+ import path from "node:path";
1348
+ import { pathToFileURL } from "node:url";
1349
+ var SNAPSHOT_REFERENCES_METADATA_KEY = "qwen.snapshot.references";
1350
+ async function saveArtifactSnapshot(html, title, publishedUrl, sessionId, runtimeBaseDir) {
1351
+ const id = randomUUID();
1352
+ const root = path.join(runtimeBaseDir, "artifacts", "snapshots");
1353
+ await fs.mkdir(root, { recursive: true });
1354
+ const dir = path.join(root, id);
1355
+ await fs.mkdir(dir);
1356
+ const file = path.join(dir, "index.html");
1357
+ try {
1358
+ const references = path.join(dir, "references");
1359
+ await fs.mkdir(references);
1360
+ await fs.writeFile(
1361
+ path.join(references, snapshotReference(sessionId)),
1362
+ "",
1363
+ {
1364
+ flag: "wx",
1365
+ mode: 384,
1366
+ flush: true
1367
+ }
1368
+ );
1369
+ await fs.writeFile(file, html, {
1370
+ encoding: "utf8",
1371
+ flag: "wx",
1372
+ mode: 384,
1373
+ flush: true
1374
+ });
1375
+ await syncSnapshotDirectory(references);
1376
+ await syncSnapshotDirectory(dir);
1377
+ await syncSnapshotDirectory(root);
1378
+ } catch (error) {
1379
+ await fs.rm(dir, { recursive: true, force: true }).catch(() => void 0);
1380
+ throw error;
1381
+ }
1382
+ return {
1383
+ kind: "html",
1384
+ storage: "published",
1385
+ title,
1386
+ url: pathToFileURL(file).href,
1387
+ managedId: `preview-${id}`,
1388
+ mimeType: "text/html",
1389
+ sizeBytes: Buffer.byteLength(html, "utf8"),
1390
+ metadata: {
1391
+ artifactType: "web_preview_snapshot",
1392
+ [SNAPSHOT_REFERENCES_METADATA_KEY]: 1,
1393
+ publishedUrl,
1394
+ [PUBLISHED_CONTENT_SHA256_METADATA_KEY]: createHash2("sha256").update(html).digest("hex")
1395
+ }
1396
+ };
1397
+ }
1398
+ __name(saveArtifactSnapshot, "saveArtifactSnapshot");
1399
+ async function readArtifactSnapshot(artifact, runtimeBaseDir) {
1400
+ const id = getWebPreviewSnapshotId(artifact);
1401
+ const sha256 = artifact.metadata?.[PUBLISHED_CONTENT_SHA256_METADATA_KEY];
1402
+ const unavailable = /* @__PURE__ */ __name(() => new Error("Saved webpage version is unavailable."), "unavailable");
1403
+ if (!id) throw unavailable();
1404
+ const root = path.join(runtimeBaseDir, "artifacts", "snapshots");
1405
+ const file = path.join(root, id, "index.html");
1406
+ if (artifact.url !== pathToFileURL(file).href) throw unavailable();
1407
+ const realRoot = await fs.realpath(root);
1408
+ if (await fs.realpath(file) !== path.join(realRoot, id, "index.html")) {
1409
+ throw unavailable();
1410
+ }
1411
+ const handle = await fs.open(
1412
+ file,
1413
+ // O_NOFOLLOW refuses a symlink swapped in after the realpath check, and
1414
+ // O_NONBLOCK keeps a FIFO swapped into the same window from blocking the
1415
+ // open: the path is only proven to be a regular file by the fstat below.
1416
+ constants.O_RDONLY | constants.O_NOFOLLOW | constants.O_NONBLOCK
1417
+ );
1418
+ try {
1419
+ const stat = await handle.stat();
1420
+ if (!stat.isFile() || stat.size > MAX_ARTIFACT_BYTES) throw unavailable();
1421
+ const bytes = Buffer.alloc(stat.size + 1);
1422
+ let length = 0;
1423
+ while (length < bytes.length) {
1424
+ const { bytesRead } = await handle.read(
1425
+ bytes,
1426
+ length,
1427
+ bytes.length - length
1428
+ );
1429
+ if (bytesRead === 0) break;
1430
+ length += bytesRead;
1431
+ }
1432
+ const content = bytes.subarray(0, length);
1433
+ if (length !== stat.size || createHash2("sha256").update(content).digest("hex") !== sha256) {
1434
+ throw unavailable();
1435
+ }
1436
+ return content.toString("utf8");
1437
+ } finally {
1438
+ await handle.close();
1439
+ }
1440
+ }
1441
+ __name(readArtifactSnapshot, "readArtifactSnapshot");
1442
+ function snapshotReference(sessionId, operationId) {
1443
+ const owner = createHash2("sha256").update(sessionId).digest("hex");
1444
+ return operationId ? `${owner}-${createHash2("sha256").update(operationId).digest("hex")}` : owner;
1445
+ }
1446
+ __name(snapshotReference, "snapshotReference");
1447
+ async function syncSnapshotDirectory(directory) {
1448
+ try {
1449
+ const handle = await fs.open(directory, "r");
1450
+ try {
1451
+ await handle.sync();
1452
+ } finally {
1453
+ await handle.close();
1454
+ }
1455
+ } catch (error) {
1456
+ if (process.platform !== "win32") throw error;
1457
+ }
1458
+ }
1459
+ __name(syncSnapshotDirectory, "syncSnapshotDirectory");
1460
+ async function snapshotDirectory(artifact, runtimeBaseDir) {
1461
+ const id = getWebPreviewSnapshotId(artifact);
1462
+ if (!id) return void 0;
1463
+ const root = path.join(runtimeBaseDir, "artifacts", "snapshots");
1464
+ const dir = path.join(root, id);
1465
+ if (artifact.url !== pathToFileURL(path.join(dir, "index.html")).href) {
1466
+ return void 0;
1467
+ }
1468
+ if (artifact.metadata?.[SNAPSHOT_REFERENCES_METADATA_KEY] !== 1)
1469
+ return void 0;
1470
+ const realRoot = await fs.realpath(root);
1471
+ if (await fs.realpath(dir) !== path.join(realRoot, id)) return void 0;
1472
+ if (await fs.realpath(path.join(dir, "index.html")) !== path.join(realRoot, id, "index.html"))
1473
+ return void 0;
1474
+ if (await fs.realpath(path.join(dir, "references")) !== path.join(realRoot, id, "references")) {
1475
+ return void 0;
1476
+ }
1477
+ return dir;
1478
+ }
1479
+ __name(snapshotDirectory, "snapshotDirectory");
1480
+ async function retainArtifactSnapshot(artifact, runtimeBaseDir, sessionId, operationId) {
1481
+ try {
1482
+ const dir = await snapshotDirectory(artifact, runtimeBaseDir);
1483
+ if (!dir) return;
1484
+ const references = path.join(dir, "references");
1485
+ const owner = snapshotReference(sessionId);
1486
+ const entries = await fs.readdir(references);
1487
+ if (!operationId && entries.some((entry) => entry === owner || entry.startsWith(`${owner}-`)))
1488
+ return;
1489
+ await fs.writeFile(
1490
+ path.join(references, snapshotReference(sessionId, operationId)),
1491
+ "",
1492
+ { flag: "wx", mode: 384, flush: true }
1493
+ );
1494
+ await syncSnapshotDirectory(references);
1495
+ } catch (error) {
1496
+ const code = error.code;
1497
+ if (code !== "EEXIST" && !(code === "ENOENT" && !operationId)) throw error;
1498
+ }
1499
+ }
1500
+ __name(retainArtifactSnapshot, "retainArtifactSnapshot");
1501
+ async function deleteArtifactSnapshot(artifact, runtimeBaseDir, sessionId, operationId, assertCleanupOwned) {
1502
+ try {
1503
+ const dir = await snapshotDirectory(artifact, runtimeBaseDir);
1504
+ if (!dir) return;
1505
+ await releaseSnapshotDirectory(
1506
+ dir,
1507
+ sessionId,
1508
+ operationId,
1509
+ assertCleanupOwned
1510
+ );
1511
+ } catch {
1512
+ assertCleanupOwned?.();
1513
+ }
1514
+ }
1515
+ __name(deleteArtifactSnapshot, "deleteArtifactSnapshot");
1516
+ async function releaseSnapshotDirectory(dir, sessionId, operationId, assertCleanupOwned) {
1517
+ const references = path.join(dir, "references");
1518
+ const owner = snapshotReference(sessionId, operationId);
1519
+ let released = false;
1520
+ for (const reference of await fs.readdir(references)) {
1521
+ if (reference === owner || !operationId && reference.startsWith(`${owner}-`)) {
1522
+ assertCleanupOwned?.();
1523
+ await fs.unlink(path.join(references, reference));
1524
+ released = true;
1525
+ }
1526
+ }
1527
+ if (!released) return;
1528
+ try {
1529
+ assertCleanupOwned?.();
1530
+ await fs.rmdir(references);
1531
+ } catch (error) {
1532
+ if (error.code === "ENOTEMPTY") return;
1533
+ throw error;
1534
+ }
1535
+ const file = path.join(dir, "index.html");
1536
+ assertCleanupOwned?.();
1537
+ await fs.unlink(file);
1538
+ assertCleanupOwned?.();
1539
+ await fs.rmdir(dir);
1540
+ }
1541
+ __name(releaseSnapshotDirectory, "releaseSnapshotDirectory");
1542
+
1236
1543
  export {
1237
1544
  TranscriptRecordPreparationError,
1238
1545
  stripGeneratedAttachmentTokens,
@@ -1250,6 +1557,7 @@ export {
1250
1557
  WORKSPACE_CONTENT_MTIME_MS_METADATA_KEY,
1251
1558
  WORKSPACE_CONTENT_SIZE_BYTES_METADATA_KEY,
1252
1559
  PUBLISHED_CONTENT_SHA256_METADATA_KEY,
1560
+ getWebPreviewSnapshotId,
1253
1561
  isSessionArtifactRecord,
1254
1562
  selectActiveSideArtifactRecordUuids,
1255
1563
  stableSessionArtifactId,
@@ -1261,7 +1569,16 @@ export {
1261
1569
  isPrototypeMetadataKey,
1262
1570
  isReservedWorkspaceMetadataKey,
1263
1571
  isAdoptableContentFingerprintKey,
1264
- metadataBudgetBytes
1572
+ metadataBudgetBytes,
1573
+ MAX_ARTIFACT_BYTES,
1574
+ sanitizeArtifactTitle,
1575
+ validateSelfContained,
1576
+ wrapArtifactHtml,
1577
+ byteLength,
1578
+ saveArtifactSnapshot,
1579
+ readArtifactSnapshot,
1580
+ retainArtifactSnapshot,
1581
+ deleteArtifactSnapshot
1265
1582
  };
1266
1583
  /**
1267
1584
  * @license
@@ -1273,3 +1590,8 @@ export {
1273
1590
  * Copyright 2026 Qwen Team
1274
1591
  * SPDX-License-Identifier: Apache-2.0
1275
1592
  */
1593
+ /**
1594
+ * @license
1595
+ * Copyright 2025 Google LLC
1596
+ * SPDX-License-Identifier: Apache-2.0
1597
+ */
@@ -2,17 +2,18 @@
2
2
  "use strict";
3
3
  import {
4
4
  ACP_ROUTE_ID_PREFIX
5
- } from "./chunk-MF6E7FSA.js";
5
+ } from "./chunk-INGBUYL6.js";
6
6
  import {
7
7
  isOpenRouterHostname
8
- } from "./chunk-CXTPVBFA.js";
8
+ } from "./chunk-GSS4SZNG.js";
9
9
  import {
10
10
  REASONING_EFFORT_TIERS,
11
11
  clampReasoningEffort,
12
12
  getGptReasoningCapabilities,
13
13
  isReasoningEffortPlaceholder,
14
- parseModelReasoningCapabilities
15
- } from "./chunk-3FPYT6QC.js";
14
+ parseModelReasoningCapabilities,
15
+ reasoningEffortsForCapability
16
+ } from "./chunk-ARDHE6MM.js";
16
17
  import {
17
18
  init_esbuild_shims
18
19
  } from "./chunk-5O2XNYP6.js";
@@ -185,9 +186,9 @@ function getConfiguredModelReasoning(config, modelId = config.getModel?.(), fall
185
186
  __name(getConfiguredModelReasoning, "getConfiguredModelReasoning");
186
187
  function getReasoningEffortsForConfig(config) {
187
188
  const modelId = config.getModel?.();
188
- const reasoning = getConfiguredModelReasoning(config, modelId, false);
189
- if (reasoning) return reasoning.toggleOnly ? [] : reasoning.efforts;
190
- return REASONING_EFFORT_TIERS;
189
+ return reasoningEffortsForCapability(
190
+ getConfiguredModelReasoning(config, modelId, false)
191
+ );
191
192
  }
192
193
  __name(getReasoningEffortsForConfig, "getReasoningEffortsForConfig");
193
194
  function parseReasoningSelection(value) {
@@ -2,7 +2,7 @@
2
2
  "use strict";
3
3
  import {
4
4
  isPrivateHost
5
- } from "./chunk-YBUMTY7B.js";
5
+ } from "./chunk-66N6C4EH.js";
6
6
  import {
7
7
  loadUndici
8
8
  } from "./chunk-EWJTAP3Y.js";
@@ -19583,8 +19583,19 @@ var findRootNode = /* @__PURE__ */ __name((node) => {
19583
19583
  var useBoxMetrics = /* @__PURE__ */ __name((ref) => {
19584
19584
  const [metrics, setMetrics] = (0, import_react33.useState)(emptyMetrics);
19585
19585
  const [hasMeasured, setHasMeasured] = (0, import_react33.useState)(false);
19586
+ const guardRef = (0, import_react33.useRef)({ count: 0, windowStart: 0 });
19586
19587
  const { stdout } = use_stdout_default();
19587
19588
  const updateMetrics = (0, import_react33.useCallback)(() => {
19589
+ const guard = guardRef.current;
19590
+ const now = performance.now();
19591
+ if (now - guard.windowStart >= 16) {
19592
+ guard.count = 0;
19593
+ guard.windowStart = now;
19594
+ }
19595
+ if (guard.count >= 32) {
19596
+ return;
19597
+ }
19598
+ guard.count += 1;
19588
19599
  const layout = ref.current?.yogaNode?.getComputedLayout() ?? emptyMetrics;
19589
19600
  setMetrics((previousMetrics) => {
19590
19601
  const hasChanged = previousMetrics.width !== layout.width || previousMetrics.height !== layout.height || previousMetrics.left !== layout.left || previousMetrics.top !== layout.top;
@@ -16,7 +16,7 @@ import {
16
16
  getMeter,
17
17
  isTelemetrySdkInitialized,
18
18
  isValidSensitiveSpanAttributeMaxLength
19
- } from "./chunk-W5ZQMAEM.js";
19
+ } from "./chunk-4Y2I3CI3.js";
20
20
  import {
21
21
  FatalConfigError,
22
22
  QWEN_DIR,
@@ -8489,6 +8489,117 @@ async function resolveTelemetrySettings(options) {
8489
8489
  }
8490
8490
  __name(resolveTelemetrySettings, "resolveTelemetrySettings");
8491
8491
 
8492
+ // packages/core/src/skills/types.ts
8493
+ init_esbuild_shims();
8494
+ function parseModelField(frontmatter) {
8495
+ const raw = frontmatter["model"];
8496
+ if (raw === void 0) {
8497
+ return void 0;
8498
+ }
8499
+ if (typeof raw !== "string") {
8500
+ throw new Error('"model" must be a string');
8501
+ }
8502
+ const trimmed = raw.trim();
8503
+ if (trimmed === "" || trimmed === "inherit") {
8504
+ return void 0;
8505
+ }
8506
+ return trimmed;
8507
+ }
8508
+ __name(parseModelField, "parseModelField");
8509
+ function parseUserInvocableField(frontmatter) {
8510
+ const raw = frontmatter["user-invocable"];
8511
+ if (raw === void 0) {
8512
+ return void 0;
8513
+ }
8514
+ if (raw === true || raw === "true") {
8515
+ return true;
8516
+ }
8517
+ if (raw === false || raw === "false") {
8518
+ return false;
8519
+ }
8520
+ return void 0;
8521
+ }
8522
+ __name(parseUserInvocableField, "parseUserInvocableField");
8523
+ function parsePathsField(frontmatter) {
8524
+ const raw = frontmatter["paths"];
8525
+ if (raw === void 0 || raw === null) {
8526
+ return void 0;
8527
+ }
8528
+ if (!Array.isArray(raw)) {
8529
+ throw new Error('"paths" must be an array of glob patterns');
8530
+ }
8531
+ const cleaned = raw.map((p) => String(p).trim()).filter((p) => p.length > 0);
8532
+ for (const pattern of cleaned) {
8533
+ const normalized = pattern.replace(/\\/g, "/");
8534
+ if (normalized.startsWith("/") || /^[A-Za-z]:/.test(normalized)) {
8535
+ throw new Error(
8536
+ `"paths" entry "${pattern}" looks absolute; patterns are project-root-relative \u2014 drop the leading slash / drive letter`
8537
+ );
8538
+ }
8539
+ const segments = normalized.split("/");
8540
+ if (segments.some((seg) => seg === "..")) {
8541
+ throw new Error(
8542
+ `"paths" entry "${pattern}" contains a ".." segment that escapes the project root; patterns must stay within the project`
8543
+ );
8544
+ }
8545
+ }
8546
+ return cleaned.length > 0 ? cleaned : void 0;
8547
+ }
8548
+ __name(parsePathsField, "parsePathsField");
8549
+ var SKILL_NAME_PATTERN = /^[\p{L}\p{N}_:.-]+$/u;
8550
+ function parseAllowedToolsField(frontmatter) {
8551
+ const raw = frontmatter["allowedTools"];
8552
+ if (raw == null) {
8553
+ return void 0;
8554
+ }
8555
+ if (!Array.isArray(raw)) {
8556
+ throw new Error('"allowedTools" must be an array');
8557
+ }
8558
+ return raw.map(String);
8559
+ }
8560
+ __name(parseAllowedToolsField, "parseAllowedToolsField");
8561
+ function validateSkillName(name) {
8562
+ if (!SKILL_NAME_PATTERN.test(name)) {
8563
+ throw new Error(
8564
+ `"name" must match ${SKILL_NAME_PATTERN} (letters, digits, _, :, ., -); got "${name}"`
8565
+ );
8566
+ }
8567
+ }
8568
+ __name(validateSkillName, "validateSkillName");
8569
+ function qualifySkillName(extensionName, authoredName) {
8570
+ return `${extensionName}:${authoredName}`;
8571
+ }
8572
+ __name(qualifySkillName, "qualifySkillName");
8573
+ function skillRestrictionNames(skill) {
8574
+ const { name, authoredName } = skill;
8575
+ const canonical = name.trim().toLowerCase();
8576
+ const authored = authoredName?.trim().toLowerCase();
8577
+ return authored && authored !== canonical ? [canonical, authored] : [canonical];
8578
+ }
8579
+ __name(skillRestrictionNames, "skillRestrictionNames");
8580
+ function authoredSkillName(skill) {
8581
+ return skill.authoredName ?? skill.name;
8582
+ }
8583
+ __name(authoredSkillName, "authoredSkillName");
8584
+ var SkillError = class extends Error {
8585
+ constructor(message, code, skillName) {
8586
+ super(message);
8587
+ this.code = code;
8588
+ this.skillName = skillName;
8589
+ this.name = "SkillError";
8590
+ }
8591
+ static {
8592
+ __name(this, "SkillError");
8593
+ }
8594
+ };
8595
+ var SkillErrorCode = {
8596
+ NOT_FOUND: "NOT_FOUND",
8597
+ INVALID_CONFIG: "INVALID_CONFIG",
8598
+ INVALID_NAME: "INVALID_NAME",
8599
+ FILE_ERROR: "FILE_ERROR",
8600
+ PARSE_ERROR: "PARSE_ERROR"
8601
+ };
8602
+
8492
8603
  // packages/core/src/skills/skill-curator.ts
8493
8604
  init_esbuild_shims();
8494
8605
  var import_proper_lockfile = __toESM(require_proper_lockfile(), 1);
@@ -8733,102 +8844,6 @@ async function assertRealProjectSkillPath(targetPath, projectRoot) {
8733
8844
  }
8734
8845
  __name(assertRealProjectSkillPath, "assertRealProjectSkillPath");
8735
8846
 
8736
- // packages/core/src/skills/types.ts
8737
- init_esbuild_shims();
8738
- function parseModelField(frontmatter) {
8739
- const raw = frontmatter["model"];
8740
- if (raw === void 0) {
8741
- return void 0;
8742
- }
8743
- if (typeof raw !== "string") {
8744
- throw new Error('"model" must be a string');
8745
- }
8746
- const trimmed = raw.trim();
8747
- if (trimmed === "" || trimmed === "inherit") {
8748
- return void 0;
8749
- }
8750
- return trimmed;
8751
- }
8752
- __name(parseModelField, "parseModelField");
8753
- function parseUserInvocableField(frontmatter) {
8754
- const raw = frontmatter["user-invocable"];
8755
- if (raw === void 0) {
8756
- return void 0;
8757
- }
8758
- if (raw === true || raw === "true") {
8759
- return true;
8760
- }
8761
- if (raw === false || raw === "false") {
8762
- return false;
8763
- }
8764
- return void 0;
8765
- }
8766
- __name(parseUserInvocableField, "parseUserInvocableField");
8767
- function parsePathsField(frontmatter) {
8768
- const raw = frontmatter["paths"];
8769
- if (raw === void 0 || raw === null) {
8770
- return void 0;
8771
- }
8772
- if (!Array.isArray(raw)) {
8773
- throw new Error('"paths" must be an array of glob patterns');
8774
- }
8775
- const cleaned = raw.map((p) => String(p).trim()).filter((p) => p.length > 0);
8776
- for (const pattern of cleaned) {
8777
- const normalized = pattern.replace(/\\/g, "/");
8778
- if (normalized.startsWith("/") || /^[A-Za-z]:/.test(normalized)) {
8779
- throw new Error(
8780
- `"paths" entry "${pattern}" looks absolute; patterns are project-root-relative \u2014 drop the leading slash / drive letter`
8781
- );
8782
- }
8783
- const segments = normalized.split("/");
8784
- if (segments.some((seg) => seg === "..")) {
8785
- throw new Error(
8786
- `"paths" entry "${pattern}" contains a ".." segment that escapes the project root; patterns must stay within the project`
8787
- );
8788
- }
8789
- }
8790
- return cleaned.length > 0 ? cleaned : void 0;
8791
- }
8792
- __name(parsePathsField, "parsePathsField");
8793
- var SKILL_NAME_PATTERN = /^[\p{L}\p{N}_:.-]+$/u;
8794
- function parseAllowedToolsField(frontmatter) {
8795
- const raw = frontmatter["allowedTools"];
8796
- if (raw == null) {
8797
- return void 0;
8798
- }
8799
- if (!Array.isArray(raw)) {
8800
- throw new Error('"allowedTools" must be an array');
8801
- }
8802
- return raw.map(String);
8803
- }
8804
- __name(parseAllowedToolsField, "parseAllowedToolsField");
8805
- function validateSkillName(name) {
8806
- if (!SKILL_NAME_PATTERN.test(name)) {
8807
- throw new Error(
8808
- `"name" must match ${SKILL_NAME_PATTERN} (letters, digits, _, :, ., -); got "${name}"`
8809
- );
8810
- }
8811
- }
8812
- __name(validateSkillName, "validateSkillName");
8813
- var SkillError = class extends Error {
8814
- constructor(message, code, skillName) {
8815
- super(message);
8816
- this.code = code;
8817
- this.skillName = skillName;
8818
- this.name = "SkillError";
8819
- }
8820
- static {
8821
- __name(this, "SkillError");
8822
- }
8823
- };
8824
- var SkillErrorCode = {
8825
- NOT_FOUND: "NOT_FOUND",
8826
- INVALID_CONFIG: "INVALID_CONFIG",
8827
- INVALID_NAME: "INVALID_NAME",
8828
- FILE_ERROR: "FILE_ERROR",
8829
- PARSE_ERROR: "PARSE_ERROR"
8830
- };
8831
-
8832
8847
  // packages/core/src/skills/skill-curator.ts
8833
8848
  var AUTO_SKILL_CURATOR_INTERVAL_MS = 7 * 24 * 60 * 60 * 1e3;
8834
8849
  var AUTO_SKILL_STALE_AFTER_MS = 30 * 24 * 60 * 60 * 1e3;
@@ -9588,6 +9603,9 @@ export {
9588
9603
  SKILL_NAME_PATTERN,
9589
9604
  parseAllowedToolsField,
9590
9605
  validateSkillName,
9606
+ qualifySkillName,
9607
+ skillRestrictionNames,
9608
+ authoredSkillName,
9591
9609
  SkillError,
9592
9610
  SkillErrorCode,
9593
9611
  parse2 as parse,