@qwen-code/qwen-code 0.22.2 → 0.22.3-nightly.20260831.3a0c4c6108

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 (480) hide show
  1. package/bundled/computer-use/SKILL.md +3 -3
  2. package/bundled/qc-helper/docs/common-workflow.md +32 -0
  3. package/bundled/qc-helper/docs/configuration/auth.md +6 -6
  4. package/bundled/qc-helper/docs/configuration/model-providers.md +4 -2
  5. package/bundled/qc-helper/docs/configuration/settings.md +47 -44
  6. package/bundled/qc-helper/docs/extension/introduction.md +1 -1
  7. package/bundled/qc-helper/docs/features/approval-mode.md +3 -0
  8. package/bundled/qc-helper/docs/features/auto-mode.md +34 -17
  9. package/bundled/qc-helper/docs/features/channels/dws.md +2 -0
  10. package/bundled/qc-helper/docs/features/channels/overview.md +36 -3
  11. package/bundled/qc-helper/docs/features/code-review.md +5 -5
  12. package/bundled/qc-helper/docs/features/commands.md +41 -0
  13. package/bundled/qc-helper/docs/features/computer-use.md +2 -2
  14. package/bundled/qc-helper/docs/features/hooks.md +6 -2
  15. package/bundled/qc-helper/docs/features/memory.md +1 -0
  16. package/bundled/qc-helper/docs/features/tool-use-summaries.md +1 -1
  17. package/bundled/qc-helper/docs/qwen-serve-deploy-local.md +17 -7
  18. package/bundled/qc-helper/docs/qwen-serve.md +59 -55
  19. package/bundled/review/SKILL.md +90 -31
  20. package/bundled/review/references/persistence.md +7 -3
  21. package/bundled/review/references/posting.md +11 -5
  22. package/chunks/MaxSizedBox-IHRTWGSY.js +115 -0
  23. package/chunks/{StandaloneSessionPicker-AVLI6VJP.js → StandaloneSessionPicker-TLVWVTJ7.js} +88 -85
  24. package/chunks/{acp-startup-profiler-GNYAL6LI.js → acp-startup-profiler-M4X5F3VK.js} +2 -2
  25. package/chunks/{acpAgent-MXEAN54C.js → acpAgent-7I5LLPP3.js} +1563 -407
  26. package/chunks/agent-4Z4NTJXD.js +99 -0
  27. package/chunks/agent-headless-TVUJXQWU.js +89 -0
  28. package/chunks/{anthropicContentGenerator-HGMBACVE.js → anthropicContentGenerator-VSSPG7XV.js} +84 -55
  29. package/chunks/{artifact-tool-5YT4QF7Y.js → artifact-tool-TEYW6I4A.js} +11 -3
  30. package/chunks/{askUserQuestion-4SWJY65V.js → askUserQuestion-PYNBWV63.js} +45 -7
  31. package/chunks/bridge-EVURP4NO.js +122 -0
  32. package/chunks/{ca-7HPYOYSZ.js → ca-BNU7YNDE.js} +3 -0
  33. package/chunks/{channel-management-service-X4AZ6IXX.js → channel-management-service-IDBNYSFW.js} +6 -6
  34. package/chunks/channel-settings-store-MZNXRKVI.js +125 -0
  35. package/chunks/{channel-worker-group-27HMGD5S.js → channel-worker-group-ZLP5SJHT.js} +7 -7
  36. package/chunks/{channel-worker-manager-QEGX646Z.js → channel-worker-manager-FG5377T2.js} +7 -7
  37. package/chunks/{channel-worker-supervisor-UEW2WWCC.js → channel-worker-supervisor-HDVE4ADS.js} +4 -4
  38. package/chunks/{chunk-PPKZ7JOE.js → chunk-22UH7VTP.js} +1 -1
  39. package/chunks/chunk-24FVUD5P.js +49 -0
  40. package/chunks/{chunk-CMHFCLBU.js → chunk-26SIKQIC.js} +1 -1
  41. package/chunks/{chunk-5PA6UEYA.js → chunk-3452WXOK.js} +4 -1
  42. package/chunks/{chunk-SFPGAQUL.js → chunk-373DQUVA.js} +72 -31
  43. package/chunks/{chunk-H2WDGQ6D.js → chunk-3AKCBZVW.js} +3 -3
  44. package/chunks/{chunk-LXIBMVRN.js → chunk-3CZGSTZX.js} +15 -9
  45. package/chunks/{chunk-JVPFTDBK.js → chunk-3EGEBDTW.js} +1 -1
  46. package/chunks/{chunk-K2NQPH5D.js → chunk-3NQCZMUB.js} +79 -5
  47. package/chunks/{chunk-E7REAOTN.js → chunk-47ECGEJC.js} +4 -0
  48. package/chunks/{chunk-WKK5BQNP.js → chunk-4P7PPAHN.js} +45 -421
  49. package/chunks/chunk-4VQBQLIZ.js +293 -0
  50. package/chunks/{chunk-4JWNNLPT.js → chunk-5FGWVPCM.js} +4 -4
  51. package/chunks/{chunk-ZFKOCECU.js → chunk-5ICKESC3.js} +2 -2
  52. package/chunks/{chunk-3I6UTTDX.js → chunk-67AY5D3M.js} +20 -20
  53. package/chunks/chunk-6HUXPLB5.js +110 -0
  54. package/chunks/{chunk-BRVWYMKV.js → chunk-6MBXY6WM.js} +1 -1
  55. package/chunks/{chunk-6LFTG244.js → chunk-6NWPR2EB.js} +19 -9
  56. package/chunks/chunk-6OO7QEWV.js +2581 -0
  57. package/chunks/{chunk-TWSKM647.js → chunk-6VHIWUJP.js} +1 -1
  58. package/chunks/{chunk-RJC5EIKY.js → chunk-6YXNJXQW.js} +7 -5
  59. package/chunks/{chunk-TPI7O7HR.js → chunk-7DDTI7Q3.js} +1 -1
  60. package/chunks/{chunk-KGJGEEVR.js → chunk-7FA2II6K.js} +10 -1
  61. package/chunks/chunk-7J6OTNGO.js +424 -0
  62. package/chunks/{chunk-NIFYWDYN.js → chunk-7TBU7PU2.js} +1 -1
  63. package/chunks/{chunk-3FDFA4MZ.js → chunk-7XICSE62.js} +3 -3
  64. package/chunks/{chunk-V2NDP3I4.js → chunk-7XL4WRXM.js} +2 -2
  65. package/chunks/{chunk-F7TNAPZ4.js → chunk-AAX236AR.js} +45 -11
  66. package/chunks/{chunk-T32W2JHI.js → chunk-ACZ4YRYK.js} +6 -6
  67. package/chunks/chunk-ADJD4LZF.js +210 -0
  68. package/chunks/{chunk-JWALNCLT.js → chunk-AF3QB6OL.js} +1 -1
  69. package/chunks/{chunk-P2SU6ZTI.js → chunk-AI35S34R.js} +3 -3
  70. package/chunks/{chunk-OIP7C4FE.js → chunk-AKNQMSL2.js} +5 -5
  71. package/chunks/{chunk-6CGL7E7G.js → chunk-AN3KFCNH.js} +2 -2
  72. package/chunks/{chunk-ABS25QER.js → chunk-ANVG3BVV.js} +1 -1
  73. package/chunks/chunk-AYYKUUKP.js +972 -0
  74. package/chunks/chunk-B2RIIK3K.js +346 -0
  75. package/chunks/{chunk-F5SZP77N.js → chunk-BBYTY46C.js} +153 -112
  76. package/chunks/{chunk-XRSOI3DL.js → chunk-BE5FGT5Z.js} +1 -1
  77. package/chunks/{chunk-BGXZBI5B.js → chunk-BHTYRHJF.js} +3 -2
  78. package/chunks/{chunk-CSMI4FP5.js → chunk-BSJOBW4U.js} +1 -1
  79. package/chunks/{chunk-Z7TGYN5F.js → chunk-BXNKREX7.js} +3 -3
  80. package/chunks/{chunk-4MQEPP3Y.js → chunk-BY24DZ4J.js} +5 -119
  81. package/chunks/{chunk-5XBFCMWD.js → chunk-CAZADEU7.js} +17 -9
  82. package/chunks/chunk-CHEIIBT3.js +40 -0
  83. package/chunks/{chunk-BBWV7ONL.js → chunk-CM4F4JBB.js} +6 -6
  84. package/chunks/{chunk-CAJTKR6W.js → chunk-D7D3HSYQ.js} +6 -5
  85. package/chunks/{chunk-3DXFGHAJ.js → chunk-DBTMP3P4.js} +213 -185
  86. package/chunks/chunk-DJBQCO2E.js +842 -0
  87. package/chunks/{chunk-RXFQM6FQ.js → chunk-DMEUXLSS.js} +16 -1
  88. package/chunks/{chunk-3AFMQUTI.js → chunk-E4JNFXNI.js} +3 -3
  89. package/chunks/{chunk-UHQFIS7N.js → chunk-EAHOJF6V.js} +28 -4
  90. package/chunks/{chunk-OIVXBW3W.js → chunk-ED7DD7MV.js} +3 -3
  91. package/chunks/{chunk-6DIGWMGT.js → chunk-EIJT2PQ6.js} +2 -2
  92. package/chunks/{chunk-XQFT3QUF.js → chunk-ENYUKMFK.js} +1 -1
  93. package/chunks/{chunk-CQH5KTKC.js → chunk-ERHAMGAA.js} +1 -1
  94. package/chunks/{chunk-IOPCFOTF.js → chunk-ERRJA23L.js} +3 -3
  95. package/chunks/{chunk-LDP5OD6N.js → chunk-EU2B4P3D.js} +12 -12
  96. package/chunks/{chunk-W5MJJ2V7.js → chunk-FHPYRXRH.js} +1 -1
  97. package/chunks/{chunk-IZIVM7LZ.js → chunk-FIWZOMBF.js} +3 -3
  98. package/chunks/{chunk-4HV6HH33.js → chunk-FPMQT2YY.js} +9 -9
  99. package/chunks/{chunk-Z7VOMGDC.js → chunk-FTJMWDND.js} +0 -24
  100. package/chunks/{chunk-L2M46FP5.js → chunk-FXUSWLBF.js} +225 -12
  101. package/chunks/{chunk-VVW4ZNFY.js → chunk-GB4UKWY5.js} +16 -8
  102. package/chunks/{chunk-PKAYJDB3.js → chunk-GCUR24KK.js} +22 -4
  103. package/chunks/{chunk-DIMEPKCW.js → chunk-GDXSXL3H.js} +11 -1
  104. package/chunks/{chunk-7JPW6IYH.js → chunk-GN422P4J.js} +1 -1
  105. package/chunks/{chunk-66KDY3LV.js → chunk-GS7XT345.js} +3 -3
  106. package/chunks/{chunk-PFCQ62V4.js → chunk-H2A2GJGL.js} +6 -6
  107. package/chunks/{chunk-Z7FLBQPR.js → chunk-H5GPPDGY.js} +8 -8
  108. package/chunks/{chunk-CPGJJJLU.js → chunk-HDMKCJHI.js} +1 -1
  109. package/chunks/{chunk-6PJOTWAN.js → chunk-HT5S5TRQ.js} +1 -1
  110. package/chunks/{chunk-Z4X5MTRT.js → chunk-HWVUSYSN.js} +5 -12
  111. package/chunks/{chunk-V4QXXQJ2.js → chunk-I75VKFCJ.js} +4 -4
  112. package/chunks/{chunk-NU7RKEZR.js → chunk-IBMUI5EV.js} +3 -3
  113. package/chunks/{chunk-4J657AJR.js → chunk-ID33ZRWH.js} +42 -42
  114. package/chunks/{chunk-R4PMVSR5.js → chunk-IIFL7QDN.js} +30 -192
  115. package/chunks/{chunk-MQM5PJML.js → chunk-IVUWTA2D.js} +1 -1
  116. package/chunks/{chunk-E55H6BZ7.js → chunk-IXEZHTDR.js} +1616 -151
  117. package/chunks/{chunk-XF63PKEN.js → chunk-IXHV5MIC.js} +1 -1
  118. package/chunks/{chunk-JHS74YAB.js → chunk-J4Y3QJHF.js} +3 -1
  119. package/chunks/{chunk-MIIVI25Q.js → chunk-JDIO45X7.js} +3 -3
  120. package/chunks/{chunk-QFCDF5PL.js → chunk-JHN7UIDW.js} +1 -1
  121. package/chunks/{chunk-FDY5RMGH.js → chunk-JLSZT354.js} +2 -2
  122. package/chunks/chunk-JMRE4WJQ.js +1849 -0
  123. package/chunks/{chunk-FY76G3G5.js → chunk-JOTYTYYW.js} +6 -6
  124. package/chunks/{chunk-TRZTNIQ6.js → chunk-JOWQD4LO.js} +3 -3
  125. package/chunks/{chunk-KEKZFOL6.js → chunk-JPKTAQS3.js} +1 -1
  126. package/chunks/chunk-JS73NNWF.js +30 -0
  127. package/chunks/chunk-JX6XHPTX.js +26 -0
  128. package/chunks/{chunk-5JTIYALA.js → chunk-JZWOCUZ3.js} +1 -1
  129. package/chunks/{chunk-3JGZSIDA.js → chunk-KFN2IZYR.js} +3 -3
  130. package/chunks/{chunk-23RFD54N.js → chunk-KHP66DFN.js} +1 -1
  131. package/chunks/{chunk-AGR5UROZ.js → chunk-KUDI54QQ.js} +23 -33
  132. package/chunks/{chunk-3SGB2UHX.js → chunk-L2OKAIUK.js} +28 -16
  133. package/chunks/{chunk-BXDAPVQU.js → chunk-L6CUJZDG.js} +28 -4
  134. package/chunks/chunk-LAUEEBDL.js +277 -0
  135. package/chunks/{chunk-BNMF3K5X.js → chunk-LFAR7CPW.js} +55 -39
  136. package/chunks/{chunk-Y3QL45LS.js → chunk-LKODFJRD.js} +9 -9
  137. package/chunks/{chunk-BWORX6FA.js → chunk-LMMHS3RS.js} +1 -1
  138. package/chunks/{chunk-UTLCH2FK.js → chunk-LYSZVCCD.js} +10 -7
  139. package/chunks/{chunk-F6FV3C5K.js → chunk-MBZ5ORJB.js} +264 -283
  140. package/chunks/{chunk-L6YT5H34.js → chunk-MJBHSZEJ.js} +5 -5
  141. package/chunks/{chunk-B7CDU2SL.js → chunk-MOF6VZN2.js} +18 -21
  142. package/chunks/{chunk-6LFJEACX.js → chunk-MZ5A5PQW.js} +7 -7
  143. package/chunks/chunk-MZYWNU66.js +149 -0
  144. package/chunks/{chunk-2TNL5KPM.js → chunk-N4QWUPDM.js} +7 -0
  145. package/chunks/{chunk-5O72BNDD.js → chunk-ND7TQQPE.js} +9 -9
  146. package/chunks/{chunk-QP4C6WCE.js → chunk-NGKLMNWN.js} +3 -3
  147. package/chunks/{chunk-JSC3H3TD.js → chunk-NT5XIL5H.js} +46 -18
  148. package/chunks/{chunk-KUX5D6DK.js → chunk-NT7LXVV5.js} +11010 -11138
  149. package/chunks/{chunk-PDQGMSZK.js → chunk-ODZF64DM.js} +1 -1
  150. package/chunks/{chunk-FBSSIAAQ.js → chunk-OE5AQVNB.js} +8 -8
  151. package/chunks/chunk-OHU2H5CS.js +130 -0
  152. package/chunks/{chunk-2K6ORIHJ.js → chunk-OKMDOATP.js} +13 -13
  153. package/chunks/{chunk-JB4JIVTJ.js → chunk-OKTNXDVO.js} +1 -1
  154. package/chunks/{chunk-XDLEZ5HX.js → chunk-OQYXJK2V.js} +1 -1
  155. package/chunks/{chunk-EFUM7RVY.js → chunk-OSTQZIOY.js} +944 -18
  156. package/chunks/{chunk-VQUGEVGR.js → chunk-OTTNXUT5.js} +1 -1
  157. package/chunks/{chunk-T3WXYEZ4.js → chunk-PB7JBAHF.js} +53 -54
  158. package/chunks/{chunk-WAOIHTJS.js → chunk-PDAKFU7M.js} +1 -1
  159. package/chunks/{chunk-43GGFFLY.js → chunk-PDXYZBBQ.js} +3 -3
  160. package/chunks/{chunk-4CMJKUND.js → chunk-PNIGAVY6.js} +67 -2
  161. package/chunks/{chunk-SAH4BD2J.js → chunk-PQEISIKS.js} +67 -0
  162. package/chunks/{chunk-4CDSK5AZ.js → chunk-PWR2NQBS.js} +6 -6
  163. package/chunks/{chunk-YTDVNSUQ.js → chunk-QAK5475D.js} +1 -1
  164. package/chunks/{chunk-IJKTMLBE.js → chunk-QE7DTCLX.js} +1 -1
  165. package/chunks/{chunk-SMPR7SPO.js → chunk-QJNDUTOL.js} +45 -239
  166. package/chunks/{chunk-C6K43ZDE.js → chunk-QTMPM6RC.js} +16 -10
  167. package/chunks/{chunk-P5GGM4KS.js → chunk-RAEEQEC5.js} +5 -5
  168. package/chunks/{chunk-XDFHY4R3.js → chunk-RGEV5AUD.js} +242 -14
  169. package/chunks/{chunk-M6FOJXW3.js → chunk-RKW36UWC.js} +1 -1
  170. package/chunks/{chunk-RIEFGNTP.js → chunk-RLSPPTWH.js} +5119 -683
  171. package/chunks/{chunk-PDMJ3KGS.js → chunk-RT4QNQ5P.js} +3 -3
  172. package/chunks/{chunk-SJ3ZUWFK.js → chunk-RVCGAHC7.js} +4 -26
  173. package/chunks/{chunk-77RG5SFQ.js → chunk-RY7DL5IF.js} +11 -6
  174. package/chunks/{chunk-4FTKQNWJ.js → chunk-S2T7H5MI.js} +182 -3
  175. package/chunks/{chunk-EOGELB3H.js → chunk-SDCHI64N.js} +4 -4
  176. package/chunks/{chunk-EKSCLBBF.js → chunk-SMJYTKTB.js} +23 -5
  177. package/chunks/{chunk-MZS7GEC7.js → chunk-SMRDCANI.js} +1 -1
  178. package/chunks/{chunk-43UYNAWX.js → chunk-T3TL6S3B.js} +4 -4
  179. package/chunks/{chunk-4K7NQDCG.js → chunk-T4EFG2P5.js} +18 -9
  180. package/chunks/{chunk-IK5BW3CS.js → chunk-T4RMUTTT.js} +16 -5
  181. package/chunks/{chunk-L6BZRIUL.js → chunk-TBJ3SNS3.js} +183 -5
  182. package/chunks/{chunk-CCBZDVUA.js → chunk-TNMOFNT4.js} +133 -122
  183. package/chunks/{chunk-Y6LSMB6J.js → chunk-TV7BJ7TX.js} +1 -1
  184. package/chunks/{chunk-G34IR3D6.js → chunk-U5RTYI7D.js} +102 -146
  185. package/chunks/{chunk-TTX2JUE6.js → chunk-U6D2PPMN.js} +1 -1
  186. package/chunks/{chunk-D5LUXLUH.js → chunk-UJ4DUYIH.js} +18 -4
  187. package/chunks/{chunk-A7YP63XN.js → chunk-UKB2TZAO.js} +5 -5
  188. package/chunks/{chunk-VTHREBQM.js → chunk-UKYXYWI2.js} +2 -2
  189. package/chunks/{chunk-2NYCN6F2.js → chunk-UVYKCRJZ.js} +46 -29
  190. package/chunks/{chunk-HVEYF6VT.js → chunk-UXEW7TQS.js} +2 -2
  191. package/chunks/{chunk-HVQ3B7FF.js → chunk-V4HN35IF.js} +44 -7
  192. package/chunks/chunk-VGHZT6JR.js +51 -0
  193. package/chunks/{chunk-V5J4J5TP.js → chunk-VYSZUQGU.js} +2 -20
  194. package/chunks/{chunk-6IUNAPLR.js → chunk-W4BDHLRT.js} +3 -3
  195. package/chunks/{chunk-Q26AYA62.js → chunk-W7KWB6AH.js} +7 -4
  196. package/chunks/chunk-WLEYH7CD.js +332 -0
  197. package/chunks/{chunk-RU7BK6B3.js → chunk-X7C7KFWA.js} +2 -2
  198. package/chunks/{chunk-YRLW2MSX.js → chunk-XBVNNDPK.js} +11 -4
  199. package/chunks/{chunk-BFPESSTR.js → chunk-XEAAO654.js} +1 -1
  200. package/chunks/{chunk-JU4EEXC7.js → chunk-XLENZQXH.js} +2 -2
  201. package/chunks/{chunk-JSHHYW6T.js → chunk-XPDKSOVW.js} +69 -64
  202. package/chunks/chunk-YDQ4OCDK.js +1222 -0
  203. package/chunks/{chunk-ZU4UDIWX.js → chunk-YKADANK6.js} +6 -7
  204. package/chunks/{chunk-JCQD3INC.js → chunk-YNG7XAJU.js} +3 -3
  205. package/chunks/{chunk-O2UN57NX.js → chunk-YOFULAHO.js} +19 -2
  206. package/chunks/{chunk-BAJKAAOY.js → chunk-YOMKOM7E.js} +4892 -1504
  207. package/chunks/{chunk-ERFDKH32.js → chunk-YPISTYEI.js} +8 -7
  208. package/chunks/{chunk-TGWAQ5RB.js → chunk-ZBDYI7VM.js} +6900 -6882
  209. package/chunks/{chunk-OZ6KS6KW.js → chunk-ZGCKTAL5.js} +6 -1
  210. package/chunks/chunk-ZHO2CW6D.js +205 -0
  211. package/chunks/{chunk-DZWPESIF.js → chunk-ZQ3FKEWA.js} +3 -3
  212. package/chunks/{chunk-7EQQR46F.js → chunk-ZVP4PWBU.js} +1 -1
  213. package/chunks/{chunk-7UYV53BC.js → chunk-ZYPJ7HVZ.js} +1 -1
  214. package/chunks/config-utils-NNUPVGEC.js +118 -0
  215. package/chunks/contextCommand-S3TPCDM5.js +111 -0
  216. package/chunks/{core-runtime-677KFX6Q.js → core-runtime-NASPCSQX.js} +66 -63
  217. package/chunks/{create-sub-session-23ITIELI.js → create-sub-session-36TNCHCP.js} +3 -3
  218. package/chunks/{create-sub-session-JKZAYZX7.js → create-sub-session-DS4BJLYZ.js} +97 -68
  219. package/chunks/{cron-create-KJ4IY6PP.js → cron-create-QXHTYUTO.js} +4 -4
  220. package/chunks/{cron-delete-MBLQCAYY.js → cron-delete-WV2BM42M.js} +4 -4
  221. package/chunks/{cron-list-DWH2PQ47.js → cron-list-7KVNBLZ7.js} +4 -4
  222. package/chunks/{daemon-MJQUO7RA.js → daemon-UCVUHPJD.js} +723 -90
  223. package/chunks/{daemon-git-worktree-guard-6MVAAZZZ.js → daemon-git-worktree-guard-ATXVQPS3.js} +63 -60
  224. package/chunks/daemon-status-provider-UI3GBTMO.js +121 -0
  225. package/chunks/daemon-trust-policy-SUCBJ2CA.js +117 -0
  226. package/chunks/{daemon-trust-policy-monitor-B5U6TQX5.js → daemon-trust-policy-monitor-3LM5RQNS.js} +71 -68
  227. package/chunks/{de-X6HLSIFE.js → de-T4BLOKEC.js} +3 -0
  228. package/chunks/deferred-core-runtime-SCOJLVYG.js +119 -0
  229. package/chunks/{display-image-BE7I6ZB6.js → display-image-Z4VBQDEJ.js} +5 -5
  230. package/chunks/{dist-TJUDJTCB.js → dist-5423MG3D.js} +411 -91
  231. package/chunks/{dist-ILDBUWDB.js → dist-7WDZYMWV.js} +43 -25
  232. package/chunks/{dist-ZBVOXSKF.js → dist-FLJLHASF.js} +219 -121
  233. package/chunks/{dist-QODVOVWI.js → dist-GPSRNVVP.js} +43 -35
  234. package/chunks/{dist-DJBNNPLN.js → dist-LY66XNUL.js} +10 -3
  235. package/chunks/{dist-7CKN54NL.js → dist-S3BKCTWF.js} +205 -89
  236. package/chunks/{dist-UQUFZDIY.js → dist-SDKHGH5O.js} +41 -20
  237. package/chunks/{dist-4Q7NTUNB.js → dist-WAUO5OMN.js} +46 -22
  238. package/chunks/{dist-SATKXKUR.js → dist-WIVVPE7M.js} +28 -14
  239. package/chunks/earlyInputCapture-INWJ2STR.js +112 -0
  240. package/chunks/{edit-BSV6YRVW.js → edit-B7ZRRGAE.js} +51 -49
  241. package/chunks/{en-YLXBXM4Z.js → en-E4AYTX6H.js} +3 -0
  242. package/chunks/{enter-worktree-MQXFFPKM.js → enter-worktree-SPZHEETQ.js} +7 -7
  243. package/chunks/{enterPlanMode-PKNF35FE.js → enterPlanMode-S554IKJ2.js} +55 -53
  244. package/chunks/environment-25ADH4Y6.js +134 -0
  245. package/chunks/errors-G2I6LFTW.js +118 -0
  246. package/chunks/{exit-worktree-L344UY7K.js → exit-worktree-AWUXAMAM.js} +7 -7
  247. package/chunks/exitPlanMode-ZFH4OYPM.js +87 -0
  248. package/chunks/{fast-path-773PV7PU.js → fast-path-WZHVZ2ER.js} +8 -7
  249. package/chunks/{fast-path-settings-XMFBYFUH.js → fast-path-settings-NILM6QZL.js} +3 -3
  250. package/chunks/{fr-FTZWF462.js → fr-BGHGYX6A.js} +3 -0
  251. package/chunks/{glob-CZHOWUEA.js → glob-UOVDMBUP.js} +50 -48
  252. package/chunks/{goal-tools-YZQJXTGH.js → goal-tools-7TNK5ZHC.js} +5 -4
  253. package/chunks/{grep-5GPICQBU.js → grep-LHYJ5V2N.js} +9 -7
  254. package/chunks/handleAutoUpdate-4MZ45DZY.js +114 -0
  255. package/chunks/i18n-KWUEI4DS.js +129 -0
  256. package/chunks/{image-gen-HAYOEQ4O.js → image-gen-YZDVO5YS.js} +8 -10
  257. package/chunks/initializer-2NBROGMG.js +118 -0
  258. package/chunks/installationInfo-YKUSY3ZB.js +112 -0
  259. package/chunks/{ja-2GL5FKYJ.js → ja-G3FTD5XE.js} +3 -0
  260. package/chunks/{keychain-token-storage-37XPR34V.js → keychain-token-storage-REZVMJA6.js} +2 -2
  261. package/chunks/list-W2WV3COM.js +121 -0
  262. package/chunks/list-agents-PMVMHNY7.js +128 -0
  263. package/chunks/{gemini-IP4FJAP5.js → llm-NPPHLIJI.js} +162 -133
  264. package/chunks/{geminiContentGenerator-PUNEBWJW.js → llm-content-generator-YK3WN6XW.js} +29 -29
  265. package/chunks/loadedSettingsAdapter-2P7DFWUR.js +115 -0
  266. package/chunks/{loggingContentGenerator-2GGZNGLG.js → loggingContentGenerator-QYYYGU6V.js} +318 -35
  267. package/chunks/{loop-wakeup-XJFONSQ7.js → loop-wakeup-EBM4F5MZ.js} +5 -5
  268. package/chunks/{ls-3VAT2J7A.js → ls-F6TRX3DD.js} +4 -4
  269. package/chunks/{lsp-5W7IRUBH.js → lsp-QYTOS2FI.js} +2 -2
  270. package/chunks/{managed-npm-update-5TEV2E3J.js → managed-npm-update-UMC4NBWW.js} +64 -61
  271. package/chunks/mcp-OFI6XDP2.js +115 -0
  272. package/chunks/{monitor-FI7PY36Z.js → monitor-QX3BM3JY.js} +50 -48
  273. package/chunks/nonInteractiveCli-NVRMD5MN.js +193 -0
  274. package/chunks/{notebook-edit-TPGMGBST.js → notebook-edit-AAILDPSV.js} +51 -49
  275. package/chunks/{open-with-auth-4UI3KHUR.js → open-with-auth-D6JD6LDS.js} +4 -4
  276. package/chunks/{openaiContentGenerator-SUCYANUZ.js → openaiContentGenerator-53PB3CMN.js} +27 -29
  277. package/chunks/pidfile-5ACKG2LI.js +116 -0
  278. package/chunks/process-registry-OAEG6WGC.js +662 -0
  279. package/chunks/{processUtils-IQZBYWSB.js → processUtils-2BCDO3DZ.js} +2 -2
  280. package/chunks/prompt-terminal-ledger-3RKW73A2.js +110 -0
  281. package/chunks/{pt-XN2YWJVM.js → pt-D73IFYT7.js} +3 -0
  282. package/chunks/{qwenContentGenerator-J4TXFGJT.js → qwenContentGenerator-N4LLWDPH.js} +56 -54
  283. package/chunks/{qwenOAuth2-RF33DNZW.js → qwenOAuth2-7AOCKSOQ.js} +7 -9
  284. package/chunks/{read-file-QE2B5FTX.js → read-file-DPAKXHYE.js} +13 -13
  285. package/chunks/{read-mcp-resource-XD257PGJ.js → read-mcp-resource-R4NO75DW.js} +2 -2
  286. package/chunks/{record-artifact-RZGZBENU.js → record-artifact-2EAYLAL5.js} +4 -4
  287. package/chunks/{report-findings-Q3SYKKW5.js → report-findings-Y4MSHDS3.js} +9 -5
  288. package/chunks/{request-shutdown-BCLA3JV2.js → request-shutdown-DWRMGTMB.js} +8 -7
  289. package/chunks/resumeHistoryUtils-3JQORXAK.js +123 -0
  290. package/chunks/ripGrep-AHF5QCI7.js +39 -0
  291. package/chunks/{ru-OLTMFJEW.js → ru-QMISLKRH.js} +3 -0
  292. package/chunks/{run-qwen-serve-TPHZMSXJ.js → run-qwen-serve-3LKV7KDC.js} +728 -256
  293. package/chunks/runtime-66F4W3IA.js +153 -0
  294. package/chunks/scheduled-tasks-2NVKS5Q2.js +132 -0
  295. package/chunks/scheduler-JNV7T3ZO.js +127 -0
  296. package/chunks/{sdk-exporters-http-KCJ4ZFG7.js → sdk-exporters-http-MFIWD23D.js} +2 -2
  297. package/chunks/{sdk-impl-HLSEDAEP.js → sdk-impl-2RXJ4Q6X.js} +11 -5
  298. package/chunks/send-message-WPZRCJOB.js +442 -0
  299. package/chunks/serve-GP2UNRP7.js +123 -0
  300. package/chunks/{server-DFUSSSHI.js → server-7W6C3SOW.js} +5233 -3623
  301. package/chunks/{session-3TEHNENZ.js → session-PZLBAQGG.js} +125 -118
  302. package/chunks/session-pr-refresh-OIVL3U3Z.js +367 -0
  303. package/chunks/{settings-VOZYKLTT.js → settings-ZOHIQWYK.js} +70 -67
  304. package/chunks/shell-FWZT6IUR.js +97 -0
  305. package/chunks/{skill-FEOKFX26.js → skill-RTQC2YGA.js} +121 -65
  306. package/chunks/skill-settings-AKMIXFSJ.js +123 -0
  307. package/chunks/spawnChannel-ZP23JL6O.js +116 -0
  308. package/chunks/standalone-update-P2Q5H4ZU.js +123 -0
  309. package/chunks/{startInteractiveUI-WHJPFOGH.js → startInteractiveUI-NSA6QPQZ.js} +2018 -1526
  310. package/chunks/{stdioHelpers-7A2EE64Z.js → stdioHelpers-AY6XCDY2.js} +3 -1
  311. package/chunks/{syntheticOutput-ML43GEFN.js → syntheticOutput-5URSQLIS.js} +3 -3
  312. package/chunks/{task-create-TMSV7RD5.js → task-create-3EXVDG3G.js} +12 -12
  313. package/chunks/{task-list-W55RBFRX.js → task-list-PIBYNSE7.js} +5 -6
  314. package/chunks/{task-stop-CXEH5L2D.js → task-stop-IV3BYWJC.js} +2 -2
  315. package/chunks/{task-update-N536I4GQ.js → task-update-H5BPDS5Y.js} +13 -14
  316. package/chunks/{team-create-QYSWCYCL.js → team-create-53T42W37.js} +56 -55
  317. package/chunks/{team-delete-FJRFX33M.js → team-delete-X3WPELS6.js} +25 -8
  318. package/chunks/{team-plan-approval-P7DAD644.js → team-plan-approval-D45ZC5OE.js} +50 -48
  319. package/chunks/terminal-image-renderer-FCRUWT6C.js +121 -0
  320. package/chunks/theme-manager-MHNPEDP7.js +107 -0
  321. package/chunks/{todoWrite-WDJNQEMW.js → todoWrite-A5IOZZ3P.js} +4 -4
  322. package/chunks/{tool-search-F2EMIAPV.js → tool-search-6RPBGGUX.js} +27 -23
  323. package/chunks/total-session-admission-MGV56XDK.js +117 -0
  324. package/chunks/trustedFolders-QJYEFMTU.js +127 -0
  325. package/chunks/{types-WYCFCEHR.js → types-HKLPXZB3.js} +1 -3
  326. package/chunks/{update-relaunch-4GF3OXMB.js → update-relaunch-ZDMQX63C.js} +6 -6
  327. package/chunks/updateCheck-4QZWCGP6.js +123 -0
  328. package/chunks/useAutoAcceptIndicator-DLIQN256.js +125 -0
  329. package/chunks/{validateNonInterActiveAuth-BPPA563H.js → validateNonInterActiveAuth-HGTG7AEK.js} +114 -107
  330. package/chunks/{version-ANP4TS6O.js → version-CPAZMC4B.js} +1 -1
  331. package/chunks/{web-fetch-QJADSAH3.js → web-fetch-N4K5M3M4.js} +16 -18
  332. package/chunks/{web-search-7TTQKEKM.js → web-search-4VZKM5SF.js} +9 -11
  333. package/chunks/{web-shell-static-A6QMUNNV.js → web-shell-static-PW7OEDQO.js} +3 -2
  334. package/chunks/{workflow-5XN6XSOT.js → workflow-2ALQKTHG.js} +229 -146
  335. package/chunks/workspace-providers-status-5JM4CB6R.js +119 -0
  336. package/chunks/{workspace-registration-store-XKVW2YVH.js → workspace-registration-store-RNMFVCH7.js} +2 -1
  337. package/chunks/workspace-registry-6EULAPZC.js +126 -0
  338. package/chunks/workspace-runtime-coordinator-IRI2DRCJ.js +127 -0
  339. package/chunks/workspace-service-SETHN4WE.js +131 -0
  340. package/chunks/workspace-skills-status-4D4EUEQU.js +118 -0
  341. package/chunks/{workspace-trust-reconciler-KLGOB53D.js → workspace-trust-reconciler-4LR3CDL4.js} +77 -76
  342. package/chunks/write-file-45GWPSOI.js +92 -0
  343. package/chunks/{zh-UNY63FR3.js → zh-2BQ7P6OD.js} +3 -0
  344. package/chunks/{zh-TW-RPTMRTHG.js → zh-TW-UFXRZTXX.js} +3 -0
  345. package/chunks/{zoom-image-6ASG6J4C.js → zoom-image-K6IQUKRC.js} +13 -13
  346. package/cli.js +129 -92
  347. package/locales/ca.js +6 -0
  348. package/locales/de.js +6 -0
  349. package/locales/en.js +6 -0
  350. package/locales/fr.js +6 -0
  351. package/locales/ja.js +6 -0
  352. package/locales/pt.js +6 -0
  353. package/locales/ru.js +6 -0
  354. package/locales/zh-TW.js +6 -0
  355. package/locales/zh.js +6 -0
  356. package/package.json +3 -3
  357. package/web-shell/assets/{abnfDiagram-VCTEODGH-uS-vtfs3.js → abnfDiagram-VCTEODGH-C80OZcPP.js} +1 -1
  358. package/web-shell/assets/{arc-BSTnk5pu.js → arc-AUqStYgf.js} +1 -1
  359. package/web-shell/assets/{architectureDiagram-5GKGNRK7-DCMyiqzy.js → architectureDiagram-5GKGNRK7-CQYOdYla.js} +1 -1
  360. package/web-shell/assets/{blockDiagram-NRAW4CY4-C7_gt0r1.js → blockDiagram-NRAW4CY4-lYKlFysy.js} +1 -1
  361. package/web-shell/assets/{c4Diagram-UCG6FXSJ-BeQg2L8B.js → c4Diagram-UCG6FXSJ-BoS23iIp.js} +1 -1
  362. package/web-shell/assets/channel-B0ovOJeK.js +1 -0
  363. package/web-shell/assets/{chunk-2Q5K7J3B-DnV9bKBe.js → chunk-2Q5K7J3B-DLLooL1E.js} +1 -1
  364. package/web-shell/assets/{chunk-5VM5RSS4-rT1GAcT7.js → chunk-5VM5RSS4-kPfJxScY.js} +1 -1
  365. package/web-shell/assets/{chunk-F27PBJKO-BcgSxqGA.js → chunk-F27PBJKO-CVGFBqkD.js} +1 -1
  366. package/web-shell/assets/{chunk-G27WJ6UU-Bw1ZhyZq.js → chunk-G27WJ6UU-CnM_kOVV.js} +1 -1
  367. package/web-shell/assets/{chunk-JWPE2WC7-D4iDw-96.js → chunk-JWPE2WC7-Cj-ajOkT.js} +1 -1
  368. package/web-shell/assets/{chunk-LCL6LL3I-D3MB3GTZ.js → chunk-LCL6LL3I-8L5c-wFo.js} +1 -1
  369. package/web-shell/assets/{chunk-POPQ4Y6H-Cep2ndrS.js → chunk-POPQ4Y6H-DsXTxpvL.js} +1 -1
  370. package/web-shell/assets/{chunk-SVP7TREG-BuahMHJc.js → chunk-SVP7TREG-DU5GE1_z.js} +1 -1
  371. package/web-shell/assets/{chunk-XXDRQBXY-BdujIvJY.js → chunk-XXDRQBXY-D2IIWZKt.js} +1 -1
  372. package/web-shell/assets/classDiagram-DTDB5LWJ-DMll2-6_.js +1 -0
  373. package/web-shell/assets/classDiagram-v2-JRS7N3AN-DMll2-6_.js +1 -0
  374. package/web-shell/assets/{cose-bilkent-JH36ORCC-CGLLUbF8.js → cose-bilkent-JH36ORCC-CF_txUJr.js} +1 -1
  375. package/web-shell/assets/{cynefin-OW5HDTMX-D6kDsRSh.js → cynefin-OW5HDTMX-DEZ-My-Z.js} +1 -1
  376. package/web-shell/assets/{cynefinDiagram-5FMLGOSQ-CCy78qZx.js → cynefinDiagram-5FMLGOSQ-BV7EKUS6.js} +1 -1
  377. package/web-shell/assets/{dagre-3AP2YEHR-D5gJuJsf.js → dagre-3AP2YEHR-JGIX0G4H.js} +1 -1
  378. package/web-shell/assets/{diagram-S7CK7UJ4-ZwEZ5W__.js → diagram-S7CK7UJ4-DdUY7q6A.js} +1 -1
  379. package/web-shell/assets/{diagram-UQ7AKVKN-B036APjv.js → diagram-UQ7AKVKN-fhzRZ19v.js} +1 -1
  380. package/web-shell/assets/{diagram-VSXAHHWV-BfDJ57Fq.js → diagram-VSXAHHWV-BOgOex6q.js} +1 -1
  381. package/web-shell/assets/{diagram-VX7I27RA-Wha0p5rT.js → diagram-VX7I27RA-C0NknIz6.js} +1 -1
  382. package/web-shell/assets/{diagram-Z3DM3KII-L20bz2K1.js → diagram-Z3DM3KII-C__3mUBX.js} +1 -1
  383. package/web-shell/assets/{ebnfDiagram-PWID7BFC-D1ZM0Cp7.js → ebnfDiagram-PWID7BFC-BvPhqycH.js} +1 -1
  384. package/web-shell/assets/{erDiagram-SSCWMZ5O-CMtA19v8.js → erDiagram-SSCWMZ5O-BqzoNoL9.js} +1 -1
  385. package/web-shell/assets/{flowDiagram-A5DVABFB-D96m326S.js → flowDiagram-A5DVABFB-CJKOre47.js} +1 -1
  386. package/web-shell/assets/{ganttDiagram-EL5Y4UJY-BuHiYG2o.js → ganttDiagram-EL5Y4UJY-C5xZjrp0.js} +1 -1
  387. package/web-shell/assets/{gitGraphDiagram-WWUBYQGX-Ck3NmkSw.js → gitGraphDiagram-WWUBYQGX-C0EjwuPK.js} +1 -1
  388. package/web-shell/assets/index-B_IPzA0h.js +2020 -0
  389. package/web-shell/assets/{index-CBGz4Qjl.js → index-C5M93syE.js} +1 -1
  390. package/web-shell/assets/index-D1OKGQlM.css +36 -0
  391. package/web-shell/assets/{infoDiagram-RXCK75RN-B6DAOyXe.js → infoDiagram-RXCK75RN-BUwzsYOs.js} +1 -1
  392. package/web-shell/assets/{ishikawaDiagram-5VMMS53U-Bpg-joFo.js → ishikawaDiagram-5VMMS53U-EDJ_DH3V.js} +1 -1
  393. package/web-shell/assets/{journeyDiagram-EYS64GPL-BclrHzGa.js → journeyDiagram-EYS64GPL-BnfcOsS0.js} +1 -1
  394. package/web-shell/assets/{kanban-definition-3QL26DDD-5gJzNTYG.js → kanban-definition-3QL26DDD-D_ofTVGu.js} +1 -1
  395. package/web-shell/assets/{layout-CEz_1L8z.js → layout-CBuQFdfZ.js} +1 -1
  396. package/web-shell/assets/{linear-CBjTq9Hc.js → linear-DRIHtmGv.js} +1 -1
  397. package/web-shell/assets/{mermaid.core-Dzhbxx_I.js → mermaid.core-CmR5wZH6.js} +6 -6
  398. package/web-shell/assets/{mindmap-definition-FBJOCRG2-DQdVqlBF.js → mindmap-definition-FBJOCRG2-BV374olC.js} +1 -1
  399. package/web-shell/assets/{pegDiagram-XKGWAZYB-D1JZlYXL.js → pegDiagram-XKGWAZYB-Bpy1SplK.js} +1 -1
  400. package/web-shell/assets/{pieDiagram-E7YTZNPT-BmkpYL0w.js → pieDiagram-E7YTZNPT-CeZx4hR2.js} +1 -1
  401. package/web-shell/assets/{quadrantDiagram-AXDQQJYC-DRvD6co5.js → quadrantDiagram-AXDQQJYC-COYKs14h.js} +1 -1
  402. package/web-shell/assets/{railroadDiagram-O6MQD6OU-CEdjDuoo.js → railroadDiagram-O6MQD6OU-5g2pOeTs.js} +1 -1
  403. package/web-shell/assets/{requirementDiagram-EFPCY7ZU-BCHG-ie8.js → requirementDiagram-EFPCY7ZU-Yn8uPGtF.js} +1 -1
  404. package/web-shell/assets/{sankeyDiagram-P5KCCOFB-C9cZMnye.js → sankeyDiagram-P5KCCOFB-CTayAGq6.js} +1 -1
  405. package/web-shell/assets/{sequenceDiagram-WJ2MYXX4-DYHRV4zL.js → sequenceDiagram-WJ2MYXX4-BFWDKzUU.js} +1 -1
  406. package/web-shell/assets/{sizeCapture-X5ZJPWSS-DlK21aye.js → sizeCapture-X5ZJPWSS-CtErUbj4.js} +1 -1
  407. package/web-shell/assets/{stateDiagram-HBIQ2CUA-BrmZssvk.js → stateDiagram-HBIQ2CUA-Co3HFzOd.js} +1 -1
  408. package/web-shell/assets/stateDiagram-v2-4QOOHH4V-C3gdRjPm.js +1 -0
  409. package/web-shell/assets/{swimlanes-XN3QIQJK-D9xfcayR.js → swimlanes-XN3QIQJK-CDZuxzOj.js} +1 -1
  410. package/web-shell/assets/swimlanesDiagram-VK2B7HYN-C34TGCPZ.js +8 -0
  411. package/web-shell/assets/{timeline-definition-24CTP7MA-D4gdDL_d.js → timeline-definition-24CTP7MA-UcNHj8At.js} +1 -1
  412. package/web-shell/assets/{vennDiagram-4TSXK5OY-DdhIExjI.js → vennDiagram-4TSXK5OY-JKR9pVFG.js} +1 -1
  413. package/web-shell/assets/{wardleyDiagram-VM6X3IG4-C9RS_Zof.js → wardleyDiagram-VM6X3IG4-C4SU-yIW.js} +1 -1
  414. package/web-shell/assets/{xychartDiagram-S5SC5T6Z-orRgmxWk.js → xychartDiagram-S5SC5T6Z-D_yoWGZ4.js} +1 -1
  415. package/web-shell/index.html +197 -3
  416. package/chunks/MaxSizedBox-X5FZSNAJ.js +0 -112
  417. package/chunks/agent-PJIPDWHB.js +0 -97
  418. package/chunks/agent-headless-B4JVD7UK.js +0 -87
  419. package/chunks/bridge-FKZTVIS3.js +0 -121
  420. package/chunks/channel-settings-store-4UFCLBBG.js +0 -117
  421. package/chunks/chunk-7DJCPZE3.js +0 -945
  422. package/chunks/chunk-CPBF7KYF.js +0 -51
  423. package/chunks/chunk-H72BQNM3.js +0 -645
  424. package/chunks/chunk-J2OSJFP3.js +0 -202
  425. package/chunks/chunk-K2OJUPOE.js +0 -78
  426. package/chunks/chunk-P3QQPMQA.js +0 -19
  427. package/chunks/chunk-RUGNCYNO.js +0 -699
  428. package/chunks/chunk-T26EAKDL.js +0 -13
  429. package/chunks/chunk-ZGXYO7DY.js +0 -3416
  430. package/chunks/chunk-ZYNTSXWK.js +0 -32
  431. package/chunks/config-utils-BBOCOGZW.js +0 -113
  432. package/chunks/contextCommand-EET67MQ2.js +0 -108
  433. package/chunks/daemon-status-provider-RFKZOK3S.js +0 -119
  434. package/chunks/daemon-trust-policy-DRZPFB4Q.js +0 -114
  435. package/chunks/deferred-core-runtime-BBVIOP24.js +0 -116
  436. package/chunks/earlyInputCapture-2JOMMNQ4.js +0 -109
  437. package/chunks/environment-MOZMPUHR.js +0 -131
  438. package/chunks/errors-DMPQVYJL.js +0 -115
  439. package/chunks/exitPlanMode-UE4FGCY4.js +0 -85
  440. package/chunks/handleAutoUpdate-SGXKTQM6.js +0 -111
  441. package/chunks/i18n-B42HKHKH.js +0 -126
  442. package/chunks/initializer-FB66WYR3.js +0 -115
  443. package/chunks/installationInfo-Y7AULNMX.js +0 -109
  444. package/chunks/list-2HWGSVRA.js +0 -118
  445. package/chunks/list-agents-DI3YFTDT.js +0 -80
  446. package/chunks/loadedSettingsAdapter-7Y7IEI6T.js +0 -112
  447. package/chunks/mcp-QGG5NMJJ.js +0 -112
  448. package/chunks/nonInteractiveCli-4LO2TL72.js +0 -186
  449. package/chunks/pidfile-JMF2CLMY.js +0 -113
  450. package/chunks/process-registry-PMJOA5CO.js +0 -172
  451. package/chunks/prompt-terminal-ledger-DCZO6S7C.js +0 -107
  452. package/chunks/resumeHistoryUtils-CZ4JRDVW.js +0 -120
  453. package/chunks/ripGrep-R6B6HWPX.js +0 -39
  454. package/chunks/runtime-TTIGSBM4.js +0 -150
  455. package/chunks/scheduled-tasks-QB4ZVUQS.js +0 -129
  456. package/chunks/scheduler-YRUG22M7.js +0 -124
  457. package/chunks/send-message-Y5I6NYAM.js +0 -295
  458. package/chunks/serve-MXXCDAQN.js +0 -120
  459. package/chunks/shell-6RTKZVMI.js +0 -95
  460. package/chunks/skill-settings-VA4XVYVL.js +0 -120
  461. package/chunks/spawnChannel-F6WVP723.js +0 -114
  462. package/chunks/standalone-update-RGILUQVK.js +0 -120
  463. package/chunks/terminal-image-renderer-SMQE46UJ.js +0 -116
  464. package/chunks/theme-manager-RFO5WWFF.js +0 -104
  465. package/chunks/total-session-admission-HTVTP4BS.js +0 -116
  466. package/chunks/trustedFolders-7OCNMUQE.js +0 -124
  467. package/chunks/updateCheck-7QBDXZRT.js +0 -120
  468. package/chunks/useAutoAcceptIndicator-UI4SNL2O.js +0 -122
  469. package/chunks/workspace-providers-status-PDFZWL5Q.js +0 -116
  470. package/chunks/workspace-registry-23R7XRB5.js +0 -125
  471. package/chunks/workspace-service-MUYO2QIC.js +0 -131
  472. package/chunks/workspace-skills-status-IKECTOOQ.js +0 -115
  473. package/chunks/write-file-GGRBB5TZ.js +0 -90
  474. package/web-shell/assets/channel-CENAhErJ.js +0 -1
  475. package/web-shell/assets/classDiagram-DTDB5LWJ-CM6FArGH.js +0 -1
  476. package/web-shell/assets/classDiagram-v2-JRS7N3AN-CM6FArGH.js +0 -1
  477. package/web-shell/assets/index-8hXIpvo4.js +0 -1865
  478. package/web-shell/assets/index-DclEv91i.css +0 -5
  479. package/web-shell/assets/stateDiagram-v2-4QOOHH4V-B2Q7XDaE.js +0 -1
  480. package/web-shell/assets/swimlanesDiagram-VK2B7HYN-DpZPOSbX.js +0 -8
@@ -1,945 +0,0 @@
1
- // Force strict mode and setup for ESM
2
- "use strict";
3
- import {
4
- stringifyGenAiJson
5
- } from "./chunk-Y3QL45LS.js";
6
- import {
7
- DEFAULT_SENSITIVE_SPAN_ATTRIBUTE_MAX_LENGTH,
8
- SENSITIVE_SPAN_ATTRIBUTE_MAX_LENGTH_LIMIT,
9
- SERVICE_NAME,
10
- getMeter,
11
- isTelemetrySdkInitialized,
12
- isValidSensitiveSpanAttributeMaxLength
13
- } from "./chunk-L6BZRIUL.js";
14
- import {
15
- FatalConfigError,
16
- createDebugLogger
17
- } from "./chunk-UHQFIS7N.js";
18
- import {
19
- ValueType,
20
- diag,
21
- init_esm
22
- } from "./chunk-TBWQLLFO.js";
23
- import {
24
- init_esbuild_shims
25
- } from "./chunk-5O2XNYP6.js";
26
- import {
27
- __name
28
- } from "./chunk-J2S4EL5Y.js";
29
-
30
- // packages/core/src/telemetry/config.ts
31
- init_esbuild_shims();
32
-
33
- // packages/core/src/telemetry/index.ts
34
- init_esbuild_shims();
35
-
36
- // packages/core/src/telemetry/daemon-metrics.ts
37
- init_esbuild_shims();
38
- init_esm();
39
- var DAEMON_HTTP_REQUEST_COUNT = `${SERVICE_NAME}.daemon.http.request.count`;
40
- var DAEMON_HTTP_REQUEST_DURATION = `${SERVICE_NAME}.daemon.http.request.duration`;
41
- var DAEMON_SESSION_ACTIVE = `${SERVICE_NAME}.daemon.session.active`;
42
- var DAEMON_SESSION_LIFECYCLE = `${SERVICE_NAME}.daemon.session.lifecycle`;
43
- var DAEMON_CHANNEL_LIFECYCLE = `${SERVICE_NAME}.daemon.channel.lifecycle`;
44
- var DAEMON_PROMPT_QUEUE_WAIT = `${SERVICE_NAME}.daemon.prompt.queue_wait`;
45
- var DAEMON_PROMPT_DURATION = `${SERVICE_NAME}.daemon.prompt.duration`;
46
- var DAEMON_BRIDGE_ERROR_COUNT = `${SERVICE_NAME}.daemon.bridge.error.count`;
47
- var DAEMON_CANCEL_COUNT = `${SERVICE_NAME}.daemon.cancel.count`;
48
- var DAEMON_PIPE_MESSAGE_BYTES = `${SERVICE_NAME}.daemon.pipe.message_bytes`;
49
- var DAEMON_SSE_ACTIVE = `${SERVICE_NAME}.daemon.sse.active`;
50
- var DAEMON_PROCESS_HEAP_USED = `${SERVICE_NAME}.daemon.process.heap_used`;
51
- var KNOWN_ERROR_TYPES = /* @__PURE__ */ new Set([
52
- "SessionNotFoundError",
53
- "WorkspaceMismatchError",
54
- "InvalidClientIdError",
55
- "SessionLimitExceededError",
56
- "RestoreInProgressError",
57
- "InvalidSessionScopeError",
58
- "TrustGateError",
59
- "WorkspaceInitConflictError",
60
- "WorkspaceInitPathEscapeError",
61
- "WorkspaceInitSymlinkError",
62
- "WorkspaceInitRaceError",
63
- "McpServerNotFoundError",
64
- "McpServerRestartFailedError",
65
- "PromptDeadlineExceededError",
66
- "InvalidSessionMetadataError",
67
- "SubscriberLimitExceededError",
68
- "BridgeChannelClosedError",
69
- "BridgeTimeoutError",
70
- "SessionRestoreTimeoutError",
71
- "BridgeChannelQuarantinedError",
72
- "PermissionForbiddenError"
73
- ]);
74
- var initialized = false;
75
- var httpRequestCounter;
76
- var httpRequestDurationHistogram;
77
- var sessionLifecycleCounter;
78
- var channelLifecycleCounter;
79
- var promptQueueWaitHistogram;
80
- var promptDurationHistogram;
81
- var bridgeErrorCounter;
82
- var cancelCounter;
83
- var pipeMessageBytesHistogram;
84
- function normalizeErrorType(err) {
85
- const name = err instanceof Error ? err.name : typeof err;
86
- return KNOWN_ERROR_TYPES.has(name) ? name : "unknown";
87
- }
88
- __name(normalizeErrorType, "normalizeErrorType");
89
- function initializeDaemonMetrics() {
90
- if (initialized) return;
91
- const meter = getMeter();
92
- if (!meter) return;
93
- httpRequestCounter = meter.createCounter(DAEMON_HTTP_REQUEST_COUNT, {
94
- description: "Daemon HTTP request count by route and status class.",
95
- valueType: ValueType.INT
96
- });
97
- httpRequestDurationHistogram = meter.createHistogram(
98
- DAEMON_HTTP_REQUEST_DURATION,
99
- {
100
- description: "Daemon HTTP request duration in milliseconds.",
101
- unit: "ms",
102
- valueType: ValueType.DOUBLE,
103
- advice: {
104
- explicitBucketBoundaries: [
105
- 1,
106
- 2,
107
- 5,
108
- 10,
109
- 25,
110
- 50,
111
- 100,
112
- 250,
113
- 500,
114
- 1e3,
115
- 2500,
116
- 5e3,
117
- 1e4,
118
- 3e4
119
- ]
120
- }
121
- }
122
- );
123
- sessionLifecycleCounter = meter.createCounter(DAEMON_SESSION_LIFECYCLE, {
124
- description: "Daemon session lifecycle events (spawn, close, die).",
125
- valueType: ValueType.INT
126
- });
127
- channelLifecycleCounter = meter.createCounter(DAEMON_CHANNEL_LIFECYCLE, {
128
- description: "Daemon ACP channel lifecycle events (spawn, exit).",
129
- valueType: ValueType.INT
130
- });
131
- promptQueueWaitHistogram = meter.createHistogram(DAEMON_PROMPT_QUEUE_WAIT, {
132
- description: "Time a prompt waited in the per-session FIFO queue.",
133
- unit: "ms",
134
- valueType: ValueType.DOUBLE,
135
- advice: {
136
- explicitBucketBoundaries: [
137
- 1,
138
- 5,
139
- 10,
140
- 50,
141
- 100,
142
- 500,
143
- 1e3,
144
- 5e3,
145
- 1e4,
146
- 3e4,
147
- 6e4
148
- ]
149
- }
150
- });
151
- promptDurationHistogram = meter.createHistogram(DAEMON_PROMPT_DURATION, {
152
- description: "End-to-end prompt duration from dispatch to completion.",
153
- unit: "ms",
154
- valueType: ValueType.DOUBLE,
155
- advice: {
156
- explicitBucketBoundaries: [
157
- 100,
158
- 500,
159
- 1e3,
160
- 2500,
161
- 5e3,
162
- 1e4,
163
- 3e4,
164
- 6e4,
165
- 12e4,
166
- 3e5,
167
- 6e5
168
- ]
169
- }
170
- });
171
- bridgeErrorCounter = meter.createCounter(DAEMON_BRIDGE_ERROR_COUNT, {
172
- description: "Daemon bridge error count by normalized error type.",
173
- valueType: ValueType.INT
174
- });
175
- cancelCounter = meter.createCounter(DAEMON_CANCEL_COUNT, {
176
- description: "Daemon cancel request count.",
177
- valueType: ValueType.INT
178
- });
179
- pipeMessageBytesHistogram = meter.createHistogram(DAEMON_PIPE_MESSAGE_BYTES, {
180
- description: "Daemon ACP child pipe message payload size in bytes.",
181
- unit: "By",
182
- valueType: ValueType.INT,
183
- advice: {
184
- explicitBucketBoundaries: [
185
- 256,
186
- 1024,
187
- 4096,
188
- 16384,
189
- 65536,
190
- 262144,
191
- 1048576,
192
- 4194304,
193
- 16777216
194
- ]
195
- }
196
- });
197
- initialized = true;
198
- }
199
- __name(initializeDaemonMetrics, "initializeDaemonMetrics");
200
- var gaugesRegistered = false;
201
- function registerDaemonGaugeCallbacks(callbacks) {
202
- if (gaugesRegistered) return;
203
- const meter = getMeter();
204
- if (!meter) return;
205
- meter.createObservableGauge(DAEMON_SESSION_ACTIVE, {
206
- description: "Current number of active daemon sessions.",
207
- valueType: ValueType.INT
208
- }).addCallback((result) => {
209
- try {
210
- result.observe(callbacks.sessionCount());
211
- } catch {
212
- }
213
- });
214
- meter.createObservableGauge(DAEMON_SSE_ACTIVE, {
215
- description: "Current number of active SSE connections.",
216
- valueType: ValueType.INT
217
- }).addCallback((result) => {
218
- try {
219
- result.observe(callbacks.sseCount());
220
- } catch {
221
- }
222
- });
223
- meter.createObservableGauge(DAEMON_PROCESS_HEAP_USED, {
224
- description: "Daemon process heap memory usage in bytes.",
225
- unit: "bytes",
226
- valueType: ValueType.INT
227
- }).addCallback((result) => {
228
- try {
229
- result.observe(callbacks.heapUsed());
230
- } catch {
231
- }
232
- });
233
- gaugesRegistered = true;
234
- }
235
- __name(registerDaemonGaugeCallbacks, "registerDaemonGaugeCallbacks");
236
- function recordDaemonHttpRequest(durationMs, route, statusCode, deferredRuntimePath) {
237
- if (!initialized) return;
238
- const statusClass = `${Math.floor(statusCode / 100)}xx`;
239
- httpRequestCounter?.add(1, { route, status_class: statusClass });
240
- httpRequestDurationHistogram?.record(durationMs, {
241
- route,
242
- runtime_path: deferredRuntimePath ?? "none"
243
- });
244
- }
245
- __name(recordDaemonHttpRequest, "recordDaemonHttpRequest");
246
- function recordDaemonSessionLifecycle(action) {
247
- if (!initialized) return;
248
- sessionLifecycleCounter?.add(1, { action });
249
- }
250
- __name(recordDaemonSessionLifecycle, "recordDaemonSessionLifecycle");
251
- function recordDaemonChannelLifecycle(action, expected) {
252
- if (!initialized) return;
253
- channelLifecycleCounter?.add(1, {
254
- action,
255
- ...expected != null ? { expected } : {}
256
- });
257
- }
258
- __name(recordDaemonChannelLifecycle, "recordDaemonChannelLifecycle");
259
- function recordDaemonPromptQueueWait(durationMs) {
260
- if (!initialized) return;
261
- promptQueueWaitHistogram?.record(durationMs);
262
- }
263
- __name(recordDaemonPromptQueueWait, "recordDaemonPromptQueueWait");
264
- function recordDaemonPromptDuration(durationMs) {
265
- if (!initialized) return;
266
- promptDurationHistogram?.record(durationMs);
267
- }
268
- __name(recordDaemonPromptDuration, "recordDaemonPromptDuration");
269
- function recordDaemonBridgeError(err) {
270
- if (!initialized) return;
271
- bridgeErrorCounter?.add(1, { error_type: normalizeErrorType(err) });
272
- }
273
- __name(recordDaemonBridgeError, "recordDaemonBridgeError");
274
- function recordDaemonCancel() {
275
- if (!initialized) return;
276
- cancelCounter?.add(1);
277
- }
278
- __name(recordDaemonCancel, "recordDaemonCancel");
279
- function recordDaemonPipeMessage(direction, bytes) {
280
- if (!initialized) return;
281
- pipeMessageBytesHistogram?.record(bytes, { direction });
282
- }
283
- __name(recordDaemonPipeMessage, "recordDaemonPipeMessage");
284
-
285
- // packages/core/src/telemetry/event-loop-lag.ts
286
- init_esbuild_shims();
287
- import { monitorEventLoopDelay } from "node:perf_hooks";
288
- var DEFAULT_RESOLUTION_MS = 20;
289
- var DEFAULT_STALL_THRESHOLD_MS = 1e3;
290
- var DEFAULT_EVENT_LOOP_SUSPEND_THRESHOLD_MS = 5 * 60 * 1e3;
291
- var DEFAULT_SUSPEND_CPU_RATIO = 0.01;
292
- var NS_PER_MS = 1e6;
293
- function startEventLoopLagMonitor(options = {}) {
294
- const resolutionMs = positiveFiniteOrDefault(
295
- options.resolutionMs,
296
- DEFAULT_RESOLUTION_MS
297
- );
298
- const stallThresholdMs = positiveFiniteOrDefault(
299
- options.stallThresholdMs,
300
- DEFAULT_STALL_THRESHOLD_MS
301
- );
302
- const suspendThresholdMs = positiveFiniteOrDefault(
303
- options.suspendThresholdMs,
304
- DEFAULT_EVENT_LOOP_SUSPEND_THRESHOLD_MS
305
- );
306
- const suspendCpuRatio = fractionOrDefault(
307
- options.suspendCpuRatio,
308
- DEFAULT_SUSPEND_CPU_RATIO
309
- );
310
- const histogram = monitorEventLoopDelay({ resolution: resolutionMs });
311
- histogram.enable();
312
- let disposed = false;
313
- let lastReportedMaxMs = 0;
314
- let lastObservedMaxMs = 0;
315
- let lastCheckTimeMs = Date.now();
316
- let lastCpuUsage = safeCpuUsage();
317
- let pendingSuspendGapMs = 0;
318
- const readMaxMs = /* @__PURE__ */ __name(() => nsToMs(histogram.max), "readMaxMs");
319
- const checkHistogram = /* @__PURE__ */ __name(() => {
320
- if (disposed) return;
321
- const nowMs = Date.now();
322
- const cpuUsage = safeCpuUsage();
323
- const elapsedMs = Math.max(0, nowMs - lastCheckTimeMs);
324
- const maxMs = readMaxMs();
325
- const newMaxMs = maxMs > lastObservedMaxMs ? maxMs : 0;
326
- const cpuRatio = calculateCpuRatio(lastCpuUsage, cpuUsage, elapsedMs);
327
- lastCheckTimeMs = nowMs;
328
- if (cpuUsage) lastCpuUsage = cpuUsage;
329
- lastObservedMaxMs = maxMs;
330
- const isLowCpuGap = elapsedMs >= suspendThresholdMs && cpuRatio !== void 0 && cpuRatio <= suspendCpuRatio;
331
- const suspendGapMs = isLowCpuGap ? elapsedMs : pendingSuspendGapMs;
332
- pendingSuspendGapMs = isLowCpuGap ? elapsedMs : 0;
333
- if (newMaxMs >= suspendThresholdMs && suspendGapMs >= suspendThresholdMs && newMaxMs <= suspendGapMs * 1.5) {
334
- histogram.reset();
335
- lastObservedMaxMs = 0;
336
- lastReportedMaxMs = 0;
337
- pendingSuspendGapMs = 0;
338
- return;
339
- }
340
- if (options.onNewMaxStall && maxMs >= stallThresholdMs && maxMs > lastReportedMaxMs) {
341
- lastReportedMaxMs = maxMs;
342
- try {
343
- options.onNewMaxStall(maxMs);
344
- } catch {
345
- }
346
- }
347
- }, "checkHistogram");
348
- const interval = setInterval(checkHistogram, resolutionMs);
349
- interval.unref();
350
- return {
351
- snapshot() {
352
- return {
353
- meanMs: nsToMs(histogram.mean),
354
- p50Ms: nsToMs(histogram.percentile(50)),
355
- p99Ms: nsToMs(histogram.percentile(99)),
356
- maxMs: readMaxMs()
357
- };
358
- },
359
- dispose() {
360
- if (disposed) return;
361
- disposed = true;
362
- clearInterval(interval);
363
- histogram.disable();
364
- }
365
- };
366
- }
367
- __name(startEventLoopLagMonitor, "startEventLoopLagMonitor");
368
- function safeCpuUsage() {
369
- try {
370
- return process.cpuUsage();
371
- } catch {
372
- return void 0;
373
- }
374
- }
375
- __name(safeCpuUsage, "safeCpuUsage");
376
- function calculateCpuRatio(previous, current, elapsedMs) {
377
- if (!previous || !current || elapsedMs <= 0) return void 0;
378
- const cpuMicroseconds = current.user - previous.user + (current.system - previous.system);
379
- return Math.max(0, cpuMicroseconds / (elapsedMs * 1e3));
380
- }
381
- __name(calculateCpuRatio, "calculateCpuRatio");
382
- function nsToMs(value) {
383
- return Number.isFinite(value) ? value / NS_PER_MS : 0;
384
- }
385
- __name(nsToMs, "nsToMs");
386
- function positiveFiniteOrDefault(value, fallback) {
387
- return value !== void 0 && Number.isFinite(value) && value > 0 ? value : fallback;
388
- }
389
- __name(positiveFiniteOrDefault, "positiveFiniteOrDefault");
390
- function fractionOrDefault(value, fallback) {
391
- return value !== void 0 && Number.isFinite(value) && value >= 0 && value <= 1 ? value : fallback;
392
- }
393
- __name(fractionOrDefault, "fractionOrDefault");
394
-
395
- // packages/core/src/telemetry/event-loop-lag-metrics.ts
396
- init_esbuild_shims();
397
- init_esm();
398
- var DAEMON_EVENT_LOOP_LAG = `${SERVICE_NAME}.daemon.event_loop.lag`;
399
- var ACP_EVENT_LOOP_LAG = `${SERVICE_NAME}.acp.event_loop.lag`;
400
- var daemonGaugeRegistered = false;
401
- var acpGaugeRegistered = false;
402
- function registerDaemonEventLoopLagGauge(read) {
403
- if (daemonGaugeRegistered) return;
404
- daemonGaugeRegistered = registerEventLoopLagGauge(
405
- DAEMON_EVENT_LOOP_LAG,
406
- read
407
- );
408
- }
409
- __name(registerDaemonEventLoopLagGauge, "registerDaemonEventLoopLagGauge");
410
- function registerAcpEventLoopLagGauge(read) {
411
- if (acpGaugeRegistered) return;
412
- acpGaugeRegistered = registerEventLoopLagGauge(ACP_EVENT_LOOP_LAG, read);
413
- }
414
- __name(registerAcpEventLoopLagGauge, "registerAcpEventLoopLagGauge");
415
- function registerEventLoopLagGauge(name, read) {
416
- const meter = getMeter();
417
- if (!meter) return false;
418
- meter.createObservableGauge(name, {
419
- description: "Event loop lag in milliseconds.",
420
- unit: "ms",
421
- valueType: ValueType.DOUBLE
422
- }).addCallback((result) => {
423
- try {
424
- const snapshot = read();
425
- result.observe(snapshot.meanMs, { stat: "mean" });
426
- result.observe(snapshot.p50Ms, { stat: "p50" });
427
- result.observe(snapshot.p99Ms, { stat: "p99" });
428
- result.observe(snapshot.maxMs, { stat: "max" });
429
- } catch {
430
- }
431
- });
432
- return true;
433
- }
434
- __name(registerEventLoopLagGauge, "registerEventLoopLagGauge");
435
-
436
- // packages/core/src/telemetry/detailed-span-attributes.ts
437
- init_esbuild_shims();
438
- var SHORT_TRUNCATION_SUFFIX = "...[TRUNCATED]";
439
- var debugLogger = createDebugLogger("GEN_AI_CONTENT");
440
- function areSensitiveSpanAttributesEnabled(config) {
441
- return isTelemetrySdkInitialized() && config.getTelemetryIncludeSensitiveSpanAttributes();
442
- }
443
- __name(areSensitiveSpanAttributesEnabled, "areSensitiveSpanAttributesEnabled");
444
- function truncateContent(content, maxSize = DEFAULT_SENSITIVE_SPAN_ATTRIBUTE_MAX_LENGTH, originalLength = content.length) {
445
- if (!Number.isSafeInteger(maxSize) || maxSize < 1) {
446
- throw new TypeError(
447
- `maxSize must be a positive safe integer, got ${String(maxSize)}`
448
- );
449
- }
450
- if (!Number.isSafeInteger(originalLength) || originalLength < 0) {
451
- throw new TypeError(
452
- `originalLength must be a non-negative safe integer, got ${String(
453
- originalLength
454
- )}`
455
- );
456
- }
457
- if (originalLength < content.length) {
458
- throw new TypeError(
459
- `originalLength must be greater than or equal to content length, got ${originalLength} for content length ${content.length}`
460
- );
461
- }
462
- if (originalLength <= maxSize && content.length <= maxSize) {
463
- return { content, truncated: false };
464
- }
465
- if (originalLength > content.length && content.length <= maxSize) {
466
- return { content, truncated: true };
467
- }
468
- const suffix = `
469
-
470
- [TRUNCATED - Content exceeds configured limit of ${maxSize} characters]`;
471
- if (suffix.length >= maxSize) {
472
- if (SHORT_TRUNCATION_SUFFIX.length >= maxSize) {
473
- return {
474
- content: SHORT_TRUNCATION_SUFFIX.slice(0, maxSize),
475
- truncated: true
476
- };
477
- }
478
- return {
479
- content: content.slice(0, maxSize - SHORT_TRUNCATION_SUFFIX.length) + SHORT_TRUNCATION_SUFFIX,
480
- truncated: true
481
- };
482
- }
483
- return {
484
- content: content.slice(0, maxSize - suffix.length) + suffix,
485
- truncated: true
486
- };
487
- }
488
- __name(truncateContent, "truncateContent");
489
- function getMaxContentSize(config) {
490
- return config.getTelemetrySensitiveSpanAttributeMaxLength();
491
- }
492
- __name(getMaxContentSize, "getMaxContentSize");
493
- function truncatePrefixedContent(prefix, content, maxSize) {
494
- const prefixedContent = `${prefix}${content}`;
495
- const result = truncateContent(prefixedContent, maxSize);
496
- return {
497
- ...result,
498
- originalLength: content.length
499
- };
500
- }
501
- __name(truncatePrefixedContent, "truncatePrefixedContent");
502
- function addAgentInputMessageAttributes(config, span, promptText) {
503
- if (!areSensitiveSpanAttributesEnabled(config) || promptText.trim().length === 0) {
504
- return;
505
- }
506
- writeJsonAttribute(config, span, "gen_ai.input.messages", [
507
- {
508
- role: "user",
509
- parts: [{ type: "text", content: promptText }]
510
- }
511
- ]);
512
- }
513
- __name(addAgentInputMessageAttributes, "addAgentInputMessageAttributes");
514
- function addAgentOutputMessageAttributes(config, span, responseText, finishReason) {
515
- if (!areSensitiveSpanAttributesEnabled(config) || responseText.trim().length === 0) {
516
- return;
517
- }
518
- const reason = normalizeAgentFinishReason(finishReason);
519
- if (!reason) return;
520
- writeJsonAttribute(config, span, "gen_ai.output.messages", [
521
- {
522
- role: "assistant",
523
- parts: [{ type: "text", content: responseText }],
524
- finish_reason: reason
525
- }
526
- ]);
527
- }
528
- __name(addAgentOutputMessageAttributes, "addAgentOutputMessageAttributes");
529
- function normalizeAgentFinishReason(finishReason) {
530
- const reason = finishReason?.trim().toLowerCase();
531
- if (!reason || reason === "finish_reason_unspecified") return void 0;
532
- if (reason === "stop") return "stop";
533
- if (reason === "max_tokens") return "length";
534
- if (reason === "tool_calls" || reason === "function_call" || reason === "tool_call") {
535
- return "tool_call";
536
- }
537
- if (reason === "safety" || reason === "recitation" || reason === "language" || reason === "blocklist" || reason === "prohibited_content" || reason === "spii" || reason === "image_safety" || reason === "image_prohibited_content" || reason === "image_recitation" || reason === "image_other") {
538
- return "content_filter";
539
- }
540
- return reason;
541
- }
542
- __name(normalizeAgentFinishReason, "normalizeAgentFinishReason");
543
- var AgentOutputMessageCapture = class {
544
- constructor(config) {
545
- this.config = config;
546
- this.enabled = areSensitiveSpanAttributesEnabled(config);
547
- this.maxLength = this.enabled ? config.getTelemetrySensitiveSpanAttributeMaxLength() : 0;
548
- }
549
- static {
550
- __name(this, "AgentOutputMessageCapture");
551
- }
552
- enabled;
553
- maxLength;
554
- responseText = "";
555
- finishReason;
556
- overflow = false;
557
- committed;
558
- beginResponse() {
559
- if (!this.enabled) return;
560
- this.clearResponse();
561
- this.committed = void 0;
562
- }
563
- appendText(text) {
564
- if (!this.enabled || !text || this.overflow) return;
565
- const remaining = this.maxLength - this.responseText.length;
566
- if (text.length > remaining) {
567
- this.responseText = "";
568
- this.overflow = true;
569
- this.committed = void 0;
570
- return;
571
- }
572
- this.responseText += text;
573
- }
574
- observeFinishReason(finishReason) {
575
- if (!this.enabled) return;
576
- const normalized = normalizeAgentFinishReason(finishReason);
577
- if (normalized) this.finishReason = normalized;
578
- }
579
- restartAttempt(preserveText) {
580
- if (!this.enabled) return;
581
- if (!preserveText) {
582
- this.clearResponse();
583
- } else {
584
- this.finishReason = void 0;
585
- }
586
- this.committed = void 0;
587
- }
588
- commitResponse(hasToolCalls) {
589
- if (!this.enabled || hasToolCalls || this.overflow || this.responseText.trim().length === 0 || !this.finishReason) {
590
- this.committed = void 0;
591
- return;
592
- }
593
- this.committed = {
594
- responseText: this.responseText,
595
- finishReason: this.finishReason
596
- };
597
- }
598
- writeToSpan(span) {
599
- if (!span || !this.committed) return;
600
- addAgentOutputMessageAttributes(
601
- this.config,
602
- span,
603
- this.committed.responseText,
604
- this.committed.finishReason
605
- );
606
- }
607
- clearResponse() {
608
- this.responseText = "";
609
- this.finishReason = void 0;
610
- this.overflow = false;
611
- }
612
- };
613
- function addUserPromptAttributes(config, span, promptText) {
614
- if (!areSensitiveSpanAttributesEnabled(config) || !promptText) return;
615
- const { content, truncated, originalLength } = truncatePrefixedContent(
616
- `[USER PROMPT]
617
- `,
618
- promptText,
619
- getMaxContentSize(config)
620
- );
621
- span.setAttributes({
622
- new_context: content,
623
- ...truncated && {
624
- new_context_truncated: true,
625
- new_context_original_length: originalLength
626
- }
627
- });
628
- }
629
- __name(addUserPromptAttributes, "addUserPromptAttributes");
630
- function addToolArgumentsAttributes(config, span, argumentsValue) {
631
- if (!areSensitiveSpanAttributesEnabled(config)) return;
632
- writeJsonAttribute(
633
- config,
634
- span,
635
- "gen_ai.tool.call.arguments",
636
- argumentsValue,
637
- true
638
- );
639
- }
640
- __name(addToolArgumentsAttributes, "addToolArgumentsAttributes");
641
- function addToolCallResultAttributes(config, span, result) {
642
- if (!areSensitiveSpanAttributesEnabled(config)) return;
643
- writeJsonAttribute(config, span, "gen_ai.tool.call.result", result, true);
644
- }
645
- __name(addToolCallResultAttributes, "addToolCallResultAttributes");
646
- function writeJsonAttribute(config, span, key, value, requireObject = false) {
647
- let serialized;
648
- try {
649
- serialized = stringifyGenAiJson(
650
- value,
651
- getMaxContentSize(config),
652
- requireObject
653
- );
654
- } catch {
655
- debugLogger.debug(`Failed to serialize ${key} span attribute`);
656
- return;
657
- }
658
- if (serialized === void 0) return;
659
- try {
660
- span.setAttribute(key, serialized);
661
- } catch {
662
- debugLogger.debug(`Failed to set ${key} span attribute`);
663
- }
664
- }
665
- __name(writeJsonAttribute, "writeJsonAttribute");
666
-
667
- // packages/core/src/telemetry/index.ts
668
- var DEFAULT_TELEMETRY_TARGET = "local" /* LOCAL */;
669
- var DEFAULT_OTLP_ENDPOINT = "http://localhost:4317";
670
-
671
- // packages/core/src/telemetry/resource-attributes.ts
672
- init_esbuild_shims();
673
- init_esm();
674
- var RESERVED_RESOURCE_ATTRIBUTE_KEYS = /* @__PURE__ */ new Set([
675
- "service.version",
676
- "session.id"
677
- ]);
678
- function warn(msg, warnings) {
679
- diag.warn(msg);
680
- warnings?.push(msg);
681
- }
682
- __name(warn, "warn");
683
- function parseOtelResourceAttributes(raw, warnings) {
684
- if (!raw) return {};
685
- const out = {};
686
- for (const pair of raw.split(",")) {
687
- const trimmed = pair.trim();
688
- if (!trimmed) continue;
689
- const idx = trimmed.indexOf("=");
690
- if (idx < 0) {
691
- warn(
692
- `Skipping malformed OTEL_RESOURCE_ATTRIBUTES entry: "${trimmed}" (hint: percent-encode literal commas as %2C)`,
693
- warnings
694
- );
695
- continue;
696
- }
697
- const rawKey = trimmed.slice(0, idx).trim();
698
- if (!rawKey) continue;
699
- const valueRaw = trimmed.slice(idx + 1).trim();
700
- let key;
701
- try {
702
- key = decodeURIComponent(rawKey);
703
- } catch {
704
- warn(
705
- `Invalid percent-encoding in OTEL_RESOURCE_ATTRIBUTES key "${rawKey}", using raw key`,
706
- warnings
707
- );
708
- key = rawKey;
709
- }
710
- let value;
711
- try {
712
- value = decodeURIComponent(valueRaw);
713
- } catch {
714
- warn(
715
- `Invalid percent-encoding in OTEL_RESOURCE_ATTRIBUTES for key "${key}", using raw value`,
716
- warnings
717
- );
718
- value = valueRaw;
719
- }
720
- out[key] = value;
721
- }
722
- return out;
723
- }
724
- __name(parseOtelResourceAttributes, "parseOtelResourceAttributes");
725
- function stripReservedResourceAttributes(attrs, source, warnings) {
726
- for (const k of RESERVED_RESOURCE_ATTRIBUTE_KEYS) {
727
- if (k in attrs) {
728
- warn(`${source} cannot override reserved key "${k}"; ignoring`, warnings);
729
- delete attrs[k];
730
- }
731
- }
732
- return attrs;
733
- }
734
- __name(stripReservedResourceAttributes, "stripReservedResourceAttributes");
735
- function coerceStringResourceAttributes(raw, warnings) {
736
- if (raw === null || raw === void 0) return {};
737
- if (typeof raw !== "object" || Array.isArray(raw)) {
738
- warn(
739
- "settings.telemetry.resourceAttributes must be an object; ignoring",
740
- warnings
741
- );
742
- return {};
743
- }
744
- const out = {};
745
- for (const [k, v] of Object.entries(raw)) {
746
- const key = k.trim();
747
- if (!key) {
748
- warn(
749
- "settings.telemetry.resourceAttributes has an empty or whitespace-only key; ignoring",
750
- warnings
751
- );
752
- continue;
753
- }
754
- if (typeof v === "string") {
755
- out[key] = v;
756
- } else {
757
- warn(
758
- `settings.telemetry.resourceAttributes value for "${key}" must be a string (got ${typeof v}); ignoring`,
759
- warnings
760
- );
761
- }
762
- }
763
- return out;
764
- }
765
- __name(coerceStringResourceAttributes, "coerceStringResourceAttributes");
766
-
767
- // packages/core/src/telemetry/config.ts
768
- function parseBooleanEnvFlag(value) {
769
- if (value === void 0) return void 0;
770
- return value === "true" || value === "1";
771
- }
772
- __name(parseBooleanEnvFlag, "parseBooleanEnvFlag");
773
- function parseTelemetryTargetValue(value) {
774
- if (value === void 0) return void 0;
775
- if (value === "local" /* LOCAL */ || value === "local") {
776
- return "local" /* LOCAL */;
777
- }
778
- if (value === "gcp" /* GCP */ || value === "gcp") {
779
- return "gcp" /* GCP */;
780
- }
781
- return void 0;
782
- }
783
- __name(parseTelemetryTargetValue, "parseTelemetryTargetValue");
784
- function parseSensitiveSpanAttributeMaxLengthEnvValue(envName, value) {
785
- if (value === void 0) return void 0;
786
- const trimmed = value.trim();
787
- const parsed = Number(trimmed);
788
- if (!/^\d+$/.test(trimmed) || !isValidSensitiveSpanAttributeMaxLength(parsed)) {
789
- throw new FatalConfigError(
790
- `Invalid ${envName}: must be a positive integer no greater than ${SENSITIVE_SPAN_ATTRIBUTE_MAX_LENGTH_LIMIT}, got '${value}'`
791
- );
792
- }
793
- return parsed;
794
- }
795
- __name(parseSensitiveSpanAttributeMaxLengthEnvValue, "parseSensitiveSpanAttributeMaxLengthEnvValue");
796
- function parseSensitiveSpanAttributeMaxLengthSetting(settingName, value) {
797
- if (value === void 0) return void 0;
798
- if (typeof value !== "number" || !isValidSensitiveSpanAttributeMaxLength(value)) {
799
- throw new FatalConfigError(
800
- `Invalid ${settingName}: must be a positive integer no greater than ${SENSITIVE_SPAN_ATTRIBUTE_MAX_LENGTH_LIMIT}, got ${String(
801
- value
802
- )}`
803
- );
804
- }
805
- return value;
806
- }
807
- __name(parseSensitiveSpanAttributeMaxLengthSetting, "parseSensitiveSpanAttributeMaxLengthSetting");
808
- function parseTelemetryUserId(source, value) {
809
- if (value === void 0) return void 0;
810
- if (typeof value !== "string") {
811
- throw new FatalConfigError(
812
- `Invalid ${source}: must be a string, got ${typeof value}`
813
- );
814
- }
815
- return value.trim() || void 0;
816
- }
817
- __name(parseTelemetryUserId, "parseTelemetryUserId");
818
- async function resolveTelemetrySettings(options) {
819
- const argv = options.argv ?? {};
820
- const env = options.env ?? {};
821
- const settings = options.settings ?? {};
822
- const enabled = argv.telemetry ?? parseBooleanEnvFlag(env["QWEN_TELEMETRY_ENABLED"]) ?? settings.enabled;
823
- const rawTarget = argv.telemetryTarget ?? env["QWEN_TELEMETRY_TARGET"] ?? settings.target;
824
- const target = parseTelemetryTargetValue(rawTarget);
825
- if (rawTarget !== void 0 && target === void 0) {
826
- throw new FatalConfigError(
827
- `Invalid telemetry target: ${String(
828
- rawTarget
829
- )}. Valid values are: local, gcp`
830
- );
831
- }
832
- const otlpEndpoint = argv.telemetryOtlpEndpoint ?? env["QWEN_TELEMETRY_OTLP_ENDPOINT"] ?? env["OTEL_EXPORTER_OTLP_ENDPOINT"] ?? settings.otlpEndpoint;
833
- const rawProtocol = argv.telemetryOtlpProtocol ?? env["QWEN_TELEMETRY_OTLP_PROTOCOL"] ?? settings.otlpProtocol;
834
- const otlpProtocol = ["grpc", "http"].find(
835
- (p) => p === rawProtocol
836
- );
837
- if (rawProtocol !== void 0 && otlpProtocol === void 0) {
838
- throw new FatalConfigError(
839
- `Invalid telemetry OTLP protocol: ${String(
840
- rawProtocol
841
- )}. Valid values are: grpc, http`
842
- );
843
- }
844
- const logPrompts = argv.telemetryLogPrompts ?? parseBooleanEnvFlag(env["QWEN_TELEMETRY_LOG_PROMPTS"]) ?? settings.logPrompts;
845
- const userId = parseTelemetryUserId(
846
- "QWEN_TELEMETRY_USER_ID",
847
- env["QWEN_TELEMETRY_USER_ID"]
848
- ) ?? parseTelemetryUserId("telemetry.userId", settings.userId);
849
- const includeSensitiveSpanAttributes = parseBooleanEnvFlag(
850
- env["QWEN_TELEMETRY_INCLUDE_SENSITIVE_SPAN_ATTRIBUTES"]
851
- ) ?? settings.includeSensitiveSpanAttributes ?? false;
852
- const sensitiveSpanAttributeMaxLength = parseSensitiveSpanAttributeMaxLengthEnvValue(
853
- "QWEN_TELEMETRY_SENSITIVE_SPAN_ATTRIBUTE_MAX_LENGTH",
854
- env["QWEN_TELEMETRY_SENSITIVE_SPAN_ATTRIBUTE_MAX_LENGTH"]
855
- ) ?? parseSensitiveSpanAttributeMaxLengthSetting(
856
- "telemetry.sensitiveSpanAttributeMaxLength",
857
- settings.sensitiveSpanAttributeMaxLength
858
- ) ?? DEFAULT_SENSITIVE_SPAN_ATTRIBUTE_MAX_LENGTH;
859
- const outfile = argv.telemetryOutfile ?? env["QWEN_TELEMETRY_OUTFILE"] ?? settings.outfile;
860
- const otlpTracesEndpoint = env["QWEN_TELEMETRY_OTLP_TRACES_ENDPOINT"] ?? env["OTEL_EXPORTER_OTLP_TRACES_ENDPOINT"] ?? settings.otlpTracesEndpoint;
861
- const otlpLogsEndpoint = env["QWEN_TELEMETRY_OTLP_LOGS_ENDPOINT"] ?? env["OTEL_EXPORTER_OTLP_LOGS_ENDPOINT"] ?? settings.otlpLogsEndpoint;
862
- const otlpMetricsEndpoint = env["QWEN_TELEMETRY_OTLP_METRICS_ENDPOINT"] ?? env["OTEL_EXPORTER_OTLP_METRICS_ENDPOINT"] ?? settings.otlpMetricsEndpoint;
863
- const resourceAttributeWarnings = [];
864
- const envResourceAttrs = stripReservedResourceAttributes(
865
- parseOtelResourceAttributes(
866
- env["OTEL_RESOURCE_ATTRIBUTES"],
867
- resourceAttributeWarnings
868
- ),
869
- "OTEL_RESOURCE_ATTRIBUTES",
870
- resourceAttributeWarnings
871
- );
872
- const settingsResourceAttrs = stripReservedResourceAttributes(
873
- coerceStringResourceAttributes(
874
- settings.resourceAttributes,
875
- resourceAttributeWarnings
876
- ),
877
- "settings.telemetry.resourceAttributes",
878
- resourceAttributeWarnings
879
- );
880
- const mergedResourceAttrs = {
881
- ...envResourceAttrs,
882
- ...settingsResourceAttrs
883
- };
884
- const otelServiceName = env["OTEL_SERVICE_NAME"]?.trim();
885
- if (otelServiceName) {
886
- mergedResourceAttrs["service.name"] = otelServiceName;
887
- }
888
- const resourceAttributes = Object.keys(mergedResourceAttrs).length ? mergedResourceAttrs : void 0;
889
- const metricsIncludeSessionId = parseBooleanEnvFlag(env["QWEN_TELEMETRY_METRICS_INCLUDE_SESSION_ID"]) ?? settings.metrics?.includeSessionId ?? false;
890
- return {
891
- enabled,
892
- target,
893
- otlpEndpoint,
894
- otlpProtocol,
895
- otlpTracesEndpoint,
896
- otlpLogsEndpoint,
897
- otlpMetricsEndpoint,
898
- logPrompts,
899
- userId,
900
- includeSensitiveSpanAttributes,
901
- sensitiveSpanAttributeMaxLength,
902
- outfile,
903
- resourceAttributes,
904
- metrics: { includeSessionId: metricsIncludeSessionId },
905
- resourceAttributeWarnings: resourceAttributeWarnings.length ? resourceAttributeWarnings : void 0
906
- };
907
- }
908
- __name(resolveTelemetrySettings, "resolveTelemetrySettings");
909
-
910
- export {
911
- parseBooleanEnvFlag,
912
- resolveTelemetrySettings,
913
- initializeDaemonMetrics,
914
- registerDaemonGaugeCallbacks,
915
- recordDaemonHttpRequest,
916
- recordDaemonSessionLifecycle,
917
- recordDaemonChannelLifecycle,
918
- recordDaemonPromptQueueWait,
919
- recordDaemonPromptDuration,
920
- recordDaemonBridgeError,
921
- recordDaemonCancel,
922
- recordDaemonPipeMessage,
923
- startEventLoopLagMonitor,
924
- registerDaemonEventLoopLagGauge,
925
- registerAcpEventLoopLagGauge,
926
- areSensitiveSpanAttributesEnabled,
927
- addAgentInputMessageAttributes,
928
- addAgentOutputMessageAttributes,
929
- AgentOutputMessageCapture,
930
- addUserPromptAttributes,
931
- addToolArgumentsAttributes,
932
- addToolCallResultAttributes,
933
- DEFAULT_TELEMETRY_TARGET,
934
- DEFAULT_OTLP_ENDPOINT
935
- };
936
- /**
937
- * @license
938
- * Copyright 2026 Qwen Team
939
- * SPDX-License-Identifier: Apache-2.0
940
- */
941
- /**
942
- * @license
943
- * Copyright 2025 Google LLC
944
- * SPDX-License-Identifier: Apache-2.0
945
- */