@qwen-code/qwen-code 0.23.5-dev.codemode-responses.20260915.f024b37689 → 0.23.5-preview.0

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 (377) hide show
  1. package/bundled/computer-use/SKILL.md +24 -3
  2. package/bundled/qc-helper/docs/configuration/model-providers.md +43 -0
  3. package/bundled/qc-helper/docs/configuration/settings.md +10 -9
  4. package/bundled/qc-helper/docs/extension/agent-plugins.md +1 -0
  5. package/bundled/qc-helper/docs/extension/introduction.md +49 -0
  6. package/bundled/qc-helper/docs/features/channels/dingtalk.md +39 -4
  7. package/bundled/qc-helper/docs/features/channels/overview.md +12 -0
  8. package/bundled/qc-helper/docs/features/commands.md +57 -52
  9. package/bundled/qc-helper/docs/features/computer-use.md +1 -1
  10. package/bundled/qc-helper/docs/features/goals.md +8 -0
  11. package/bundled/qc-helper/docs/features/hooks.md +16 -0
  12. package/bundled/qc-helper/docs/qwen-serve.md +3 -1
  13. package/bundled/workflow-authoring/SKILL.md +48 -22
  14. package/chunks/{MaxSizedBox-BFMIFJWT.js → MaxSizedBox-FCF6M53W.js} +40 -43
  15. package/chunks/{StandaloneSessionPicker-4ZH7MOVG.js → StandaloneSessionPicker-V635V72I.js} +60 -63
  16. package/chunks/{acp-startup-profiler-RUQNTNU5.js → acp-startup-profiler-MOOU37VM.js} +2 -2
  17. package/chunks/{acp-subagent-executor-AHMVA4P3.js → acp-subagent-executor-TND6W2O5.js} +46 -47
  18. package/chunks/{acpAgent-UMAJ3XR3.js → acpAgent-3DPWZTNC.js} +954 -322
  19. package/chunks/{agent-CXB2CCQN.js → agent-KIHGINKN.js} +27 -30
  20. package/chunks/{agent-headless-7D5ZC736.js → agent-headless-EJ4QOUSM.js} +27 -30
  21. package/chunks/{anthropicContentGenerator-H5YPXIDE.js → anthropicContentGenerator-4FGOM5LK.js} +46 -64
  22. package/chunks/{artifact-tool-MFGORTWZ.js → artifact-tool-MUTNH4NI.js} +1 -1
  23. package/chunks/{askUserQuestion-WS4GUT7C.js → askUserQuestion-AKIRLVB5.js} +1 -1
  24. package/chunks/bareMode-QWKZPLPX.js +14 -0
  25. package/chunks/{bridge-A2WKX6IK.js → bridge-MUX5YJZT.js} +46 -49
  26. package/chunks/{ca-GZ4FDJU2.js → ca-WC3A5B3Q.js} +12 -1
  27. package/chunks/{channel-management-service-AFVIT4VH.js → channel-management-service-RRILWSXX.js} +4 -4
  28. package/chunks/{channel-settings-store-AXJIN7HG.js → channel-settings-store-7CBIRZER.js} +51 -54
  29. package/chunks/{channel-worker-group-JR6JOELM.js → channel-worker-group-3DUJFZJR.js} +8 -8
  30. package/chunks/{channel-worker-manager-AVKJEZFL.js → channel-worker-manager-E5UW2VLA.js} +8 -8
  31. package/chunks/{channel-worker-supervisor-OOYY7BAQ.js → channel-worker-supervisor-VN33GSEC.js} +5 -5
  32. package/chunks/{chunk-2YMRRI2C.js → chunk-2C5TR6HN.js} +82 -9
  33. package/chunks/{chunk-YDFOHRS5.js → chunk-2GP6BQ2J.js} +1 -1
  34. package/chunks/{chunk-RN6BU77T.js → chunk-347O2YZJ.js} +158 -290
  35. package/chunks/{chunk-LTINUI3O.js → chunk-36NRLIR6.js} +10 -8
  36. package/chunks/{chunk-AXZMWAJV.js → chunk-36SDZ2Q4.js} +8 -0
  37. package/chunks/{chunk-QR4Q425T.js → chunk-3BZI5GDP.js} +1 -1
  38. package/chunks/{chunk-C3YMBSLR.js → chunk-3HTUE6ZR.js} +3 -3
  39. package/chunks/{chunk-QS5Q5F42.js → chunk-3LLEB5CU.js} +2 -2
  40. package/chunks/{chunk-FPPG5Y3W.js → chunk-3UGMLA4V.js} +10 -8
  41. package/chunks/{chunk-66N6C4EH.js → chunk-3WILPKTJ.js} +2 -2
  42. package/chunks/{chunk-SROLVJFY.js → chunk-3WWPEFMX.js} +1 -1
  43. package/chunks/{chunk-ZKIAGIGH.js → chunk-3XBUCOWS.js} +1 -1
  44. package/chunks/{chunk-6RQFMGN2.js → chunk-43Y26NPF.js} +3 -3
  45. package/chunks/{chunk-INGBUYL6.js → chunk-4FLUQWJ4.js} +1 -1
  46. package/chunks/{chunk-S77FFY67.js → chunk-4JFLRHNE.js} +1 -1
  47. package/chunks/{chunk-MJHLKWGJ.js → chunk-4QPVZA5J.js} +70 -23
  48. package/chunks/{chunk-XX5HQLCZ.js → chunk-6OTF7TTE.js} +32 -1
  49. package/chunks/{chunk-4Y2I3CI3.js → chunk-6USYH3EU.js} +99 -6
  50. package/chunks/{chunk-Q3TFRP5G.js → chunk-7D4CV7JH.js} +102 -9
  51. package/chunks/{chunk-EWJTAP3Y.js → chunk-7O5PYQ3M.js} +20 -1
  52. package/chunks/chunk-ADN5KESB.js +28 -0
  53. package/chunks/chunk-AKRSSKUT.js +229 -0
  54. package/chunks/{chunk-54YUXX7X.js → chunk-AQP3H22J.js} +1 -1
  55. package/chunks/{chunk-EQWKIA72.js → chunk-AUX2FL5T.js} +24 -7
  56. package/chunks/{chunk-YGFJ6BRT.js → chunk-AZCTY64Z.js} +1 -1
  57. package/chunks/{chunk-QLX4D55R.js → chunk-B5TJK7B3.js} +1 -1
  58. package/chunks/{chunk-HXMDDII6.js → chunk-B6RMK4ED.js} +4 -4
  59. package/chunks/{chunk-UCKM6KCJ.js → chunk-BHG3H6OZ.js} +1 -1
  60. package/chunks/{chunk-JLF2AQAL.js → chunk-BHVF3R6B.js} +7 -5
  61. package/chunks/{chunk-HFJSQ4GL.js → chunk-BTICBRPL.js} +1 -1
  62. package/chunks/{chunk-KZCK5JUN.js → chunk-C3T6HPNM.js} +1 -1
  63. package/chunks/{chunk-FCLMJS6N.js → chunk-CDDP4ONL.js} +164 -27
  64. package/chunks/{chunk-Y3ZXDBUL.js → chunk-CQPM66MG.js} +4 -4
  65. package/chunks/{chunk-WKVZES7O.js → chunk-CXONOVBN.js} +1 -1
  66. package/chunks/{chunk-TYBRGFYL.js → chunk-CXY6BICQ.js} +501 -479
  67. package/chunks/{chunk-W23HOFDK.js → chunk-D3KVGQUV.js} +1 -1
  68. package/chunks/{chunk-LMJSPC55.js → chunk-D7JMO2GP.js} +3 -7
  69. package/chunks/{chunk-CXXAZ2LZ.js → chunk-DC4ZNGH4.js} +1 -1
  70. package/chunks/{chunk-FMLBBXHB.js → chunk-DRAX5YAI.js} +2 -2
  71. package/chunks/{chunk-DOTF2PF2.js → chunk-DRD6VBNH.js} +1 -1
  72. package/chunks/chunk-DX6JTDMR.js +105 -0
  73. package/chunks/{chunk-MNRK6MIH.js → chunk-E2VSBAFA.js} +53 -11
  74. package/chunks/{chunk-QJKR2P2K.js → chunk-EIBECN2J.js} +3 -3
  75. package/chunks/{chunk-LWWRJRCD.js → chunk-ESBYWATJ.js} +1 -1
  76. package/chunks/{chunk-3544ZEGZ.js → chunk-FASYATAZ.js} +5 -7
  77. package/chunks/{chunk-6YUS5JCV.js → chunk-FBY32737.js} +4 -4
  78. package/chunks/{chunk-LBWIJ5T7.js → chunk-FCPJXKDG.js} +10 -7
  79. package/chunks/{chunk-FX6GJIPZ.js → chunk-FEDFZBGR.js} +3 -3
  80. package/chunks/{chunk-DQ4LBRZN.js → chunk-FIJODK52.js} +3 -3
  81. package/chunks/{chunk-HVSRWLOW.js → chunk-FX6PZBOV.js} +3 -3
  82. package/chunks/{chunk-L6DIANLD.js → chunk-G45B3INR.js} +1 -1
  83. package/chunks/{chunk-EYLUKEYW.js → chunk-GI7SLDOI.js} +2 -2
  84. package/chunks/chunk-GJKP6XOB.js +1092 -0
  85. package/chunks/{chunk-I6YJZGHS.js → chunk-GSAOVDTH.js} +9 -9
  86. package/chunks/{chunk-XK4UQSIR.js → chunk-H6L4NEAT.js} +1 -1
  87. package/chunks/{chunk-GMCEFKNR.js → chunk-HNFKYKHH.js} +103 -22
  88. package/chunks/{chunk-6XDB3FR4.js → chunk-HX4WXX3H.js} +301 -138
  89. package/chunks/{chunk-HG46TTAG.js → chunk-HXUI5D4H.js} +1 -1
  90. package/chunks/{chunk-QI4WBHPF.js → chunk-HYHSMTRA.js} +4 -4
  91. package/chunks/{chunk-ZUKC5J6Q.js → chunk-IKBEIDOH.js} +14 -14
  92. package/chunks/{chunk-LCAJ63TF.js → chunk-INN5ORKX.js} +1 -1
  93. package/chunks/{chunk-GNV2SFO7.js → chunk-IVFTLUZD.js} +26 -1
  94. package/chunks/{chunk-GNKSR3FU.js → chunk-IXO2OCIP.js} +2 -2
  95. package/chunks/{chunk-SNT634Q6.js → chunk-K4XMAIRX.js} +30 -33
  96. package/chunks/{chunk-WBP64MZR.js → chunk-KAYC5FBN.js} +5269 -2785
  97. package/chunks/chunk-KEM7MWS7.js +3541 -0
  98. package/chunks/{chunk-ADQUK6WA.js → chunk-KVC7HZWK.js} +1 -1
  99. package/chunks/{chunk-UQXURNLM.js → chunk-KVQ3QL4K.js} +3 -3
  100. package/chunks/{chunk-7U5G6JXI.js → chunk-KWYTSSTJ.js} +105 -6
  101. package/chunks/{chunk-Q4G2YPI4.js → chunk-L2A5VBDL.js} +3019 -2352
  102. package/chunks/{chunk-WD6YQI5M.js → chunk-L3SNMEDW.js} +1 -1
  103. package/chunks/{chunk-BYUAT5OC.js → chunk-L7TJUPNR.js} +19 -3
  104. package/chunks/{chunk-ABNX6E6K.js → chunk-LFKXIOGC.js} +1 -1
  105. package/chunks/{chunk-GFAK6DYU.js → chunk-LO2UWNO5.js} +2 -2
  106. package/chunks/{chunk-67ZDP7UX.js → chunk-M22WLKLI.js} +5 -5
  107. package/chunks/{chunk-54B2LTKP.js → chunk-M23GFJ5B.js} +24 -5
  108. package/chunks/{chunk-VGY2RGXL.js → chunk-M4U2LTD2.js} +1 -1
  109. package/chunks/{chunk-ZNI3YJHS.js → chunk-MFDKHGTD.js} +1 -1
  110. package/chunks/{chunk-R7OO56VZ.js → chunk-MMRGG6R4.js} +1 -1
  111. package/chunks/{chunk-E6IR653O.js → chunk-MO4XID7S.js} +1 -1
  112. package/chunks/{chunk-NJ4ZNDVP.js → chunk-NKTMUPHJ.js} +3 -6
  113. package/chunks/{chunk-4DTFTPTU.js → chunk-NQ272MQG.js} +1 -1
  114. package/chunks/{chunk-DWKFTUGI.js → chunk-OALXNGUA.js} +6 -6
  115. package/chunks/{chunk-FBDHP23D.js → chunk-OSG23MR3.js} +1 -1
  116. package/chunks/{chunk-NJ2OFVUX.js → chunk-P42KMMU6.js} +860 -1
  117. package/chunks/{chunk-5KJ54DY3.js → chunk-PF7GAP6K.js} +60 -58
  118. package/chunks/{chunk-MQRLLBMQ.js → chunk-PPJSG2PU.js} +2 -2
  119. package/chunks/{chunk-EPVEPTI3.js → chunk-PZRXWQUA.js} +753 -18
  120. package/chunks/{chunk-VI5UVPOB.js → chunk-Q54O3EIA.js} +30 -28
  121. package/chunks/{chunk-QTUQV33C.js → chunk-QGEISOJ2.js} +4 -4
  122. package/chunks/{chunk-XKRYQOHS.js → chunk-QHSOINX6.js} +2 -2
  123. package/chunks/{chunk-Z6Q7I37O.js → chunk-QIPLWW6Q.js} +1 -1
  124. package/chunks/chunk-QMENOK5T.js +1246 -0
  125. package/chunks/chunk-QT6Z2IBF.js +347 -0
  126. package/chunks/{chunk-TBSCTWKF.js → chunk-RN6A53UJ.js} +25 -0
  127. package/chunks/{chunk-E7ZTAOJZ.js → chunk-RRI764F7.js} +21 -19
  128. package/chunks/{chunk-YI2YCNSP.js → chunk-SENYKRII.js} +1 -1
  129. package/chunks/chunk-SFHX5G2S.js +2796 -0
  130. package/chunks/chunk-SK3RZOPS.js +34 -0
  131. package/chunks/{chunk-SKYOAH4Z.js → chunk-SOLRBF7L.js} +13 -9
  132. package/chunks/{chunk-5WLF44DS.js → chunk-SSWTA7CH.js} +12 -12
  133. package/chunks/{chunk-IAS753HG.js → chunk-SYMXYRM5.js} +11 -2
  134. package/chunks/{chunk-FGROOEKM.js → chunk-TDKUXSJO.js} +34 -6
  135. package/chunks/{chunk-ZJ7JQUGY.js → chunk-TKF4JINY.js} +1 -1
  136. package/chunks/{chunk-ZOQ6HC7U.js → chunk-TPY6HW55.js} +4 -4
  137. package/chunks/{chunk-EDB556X7.js → chunk-TRZ22SG5.js} +1 -1
  138. package/chunks/{chunk-FHSOZSBO.js → chunk-TXTCM3TC.js} +4 -4
  139. package/chunks/{chunk-5ODRE7E5.js → chunk-U4AASWUQ.js} +28 -12
  140. package/chunks/{chunk-PPE7VUMD.js → chunk-UQGRJTDK.js} +2 -2
  141. package/chunks/{chunk-JO67LVXW.js → chunk-UZSB57EV.js} +6 -8
  142. package/chunks/{chunk-UY4OCBX4.js → chunk-V4JJAVHQ.js} +2 -2
  143. package/chunks/chunk-VEXUA6DX.js +1026 -0
  144. package/chunks/{chunk-ME4JBHSB.js → chunk-VQDWCQOE.js} +2 -0
  145. package/chunks/{chunk-ZC75SULX.js → chunk-VU3XMZ5I.js} +23 -4
  146. package/chunks/{chunk-A2UYI473.js → chunk-WL36KHUQ.js} +6 -6
  147. package/chunks/{chunk-IWOJ2FHG.js → chunk-WNQIJTOP.js} +8 -8
  148. package/chunks/{chunk-IANIY25T.js → chunk-WSJI6ODG.js} +99 -30
  149. package/chunks/{chunk-3CKAOJ4L.js → chunk-WZWTY7SG.js} +6 -6
  150. package/chunks/{chunk-EKMJR7M3.js → chunk-X7AYIXC7.js} +1 -1
  151. package/chunks/{chunk-IBRQG2MP.js → chunk-XAJZFGD2.js} +11 -11
  152. package/chunks/{chunk-VRQZESKP.js → chunk-XICCGDWF.js} +2 -2
  153. package/chunks/{chunk-L5R4D5T4.js → chunk-Y2KJC55Y.js} +12 -7
  154. package/chunks/{chunk-2S2WIGCM.js → chunk-Y4NNIGYO.js} +1 -1
  155. package/chunks/{chunk-J7LBAKDH.js → chunk-YL3UJML3.js} +7 -7
  156. package/chunks/{chunk-GSS4SZNG.js → chunk-YP2K3WOS.js} +40 -56
  157. package/chunks/{chunk-ZZUXUBEB.js → chunk-YQQ2U7AS.js} +8 -5
  158. package/chunks/{chunk-FAWTMDX7.js → chunk-YXHY6BKS.js} +15 -0
  159. package/chunks/{chunk-FIP5QS2U.js → chunk-YZXSDPOQ.js} +140 -39
  160. package/chunks/{chunk-WATHOB6X.js → chunk-ZFHKUQZ4.js} +3 -3
  161. package/chunks/{chunk-R5OA3ONY.js → chunk-ZMYKNKET.js} +6 -6
  162. package/chunks/{codex-subagent-executor-LANZAZPH.js → codex-subagent-executor-AEAIQZDC.js} +48 -49
  163. package/chunks/{config-utils-CRK2LQPA.js → config-utils-KX2YS725.js} +43 -46
  164. package/chunks/{contextCommand-GY5X3LIY.js → contextCommand-RV6Y5LNJ.js} +41 -44
  165. package/chunks/{core-runtime-IJIV2LHP.js → core-runtime-ZI4RTOJQ.js} +45 -48
  166. package/chunks/{create-sub-session-MNIVRHGB.js → create-sub-session-BBWFQARJ.js} +46 -48
  167. package/chunks/{daemon-NJB4PWZ7.js → daemon-INCM4VBX.js} +3 -1
  168. package/chunks/{daemon-git-worktree-guard-W6Z2BGDH.js → daemon-git-worktree-guard-KECEMV6A.js} +39 -42
  169. package/chunks/{daemon-status-provider-TJF3APU3.js → daemon-status-provider-NULJNAEV.js} +53 -56
  170. package/chunks/{daemon-trust-policy-6INCISDU.js → daemon-trust-policy-S4KWGPV3.js} +47 -50
  171. package/chunks/{daemon-trust-policy-monitor-JRTAQG54.js → daemon-trust-policy-monitor-546N5ZVL.js} +47 -50
  172. package/chunks/{de-VGY3VNBU.js → de-6AVKPTXQ.js} +11 -0
  173. package/chunks/{deferred-core-runtime-2JRTPTNM.js → deferred-core-runtime-T23ZT443.js} +39 -42
  174. package/chunks/{dist-NIOJXMGY.js → dist-4P3ZJYGI.js} +1 -1
  175. package/chunks/{dist-VDLSBCLM.js → dist-7MGRENQ5.js} +1 -1
  176. package/chunks/{dist-SE4J6Z4O.js → dist-BNW423XT.js} +326 -77
  177. package/chunks/{dist-TFGETXFN.js → dist-CESMUYGN.js} +4 -4
  178. package/chunks/{dist-MPUZZOG5.js → dist-DBBOFWSC.js} +1 -1
  179. package/chunks/{dist-T6DDPDLQ.js → dist-G5UMXIGF.js} +1 -1
  180. package/chunks/{dist-PA7WPFVE.js → dist-UXVNLQHG.js} +3 -3
  181. package/chunks/{dist-GUB7QRYA.js → dist-VA4LREAQ.js} +2 -2
  182. package/chunks/{dist-2QYIVNS6.js → dist-XDRTR4QP.js} +1 -1
  183. package/chunks/{edit-JDIXXCYB.js → edit-CMSQB7NP.js} +27 -30
  184. package/chunks/{en-E5ZO5TZW.js → en-56QLKXS2.js} +23 -1
  185. package/chunks/{enter-worktree-CAARFWBI.js → enter-worktree-DA6A4XC5.js} +3 -3
  186. package/chunks/{enterPlanMode-YTNTBZBN.js → enterPlanMode-UDPMNESD.js} +27 -30
  187. package/chunks/{environment-UAI5L52V.js → environment-TSQJUTPV.js} +42 -45
  188. package/chunks/{errors-J4UCDCW5.js → errors-RIVYJS6T.js} +41 -44
  189. package/chunks/{exit-worktree-JXGGUOBP.js → exit-worktree-4H6Z2VQI.js} +3 -3
  190. package/chunks/{exitPlanMode-YMWJ2EO7.js → exitPlanMode-BYBBFN2T.js} +27 -30
  191. package/chunks/{fast-path-MBAN7TK3.js → fast-path-F2CYDDZ4.js} +4 -4
  192. package/chunks/{fast-path-settings-XDYX7X5Z.js → fast-path-settings-N2VGRGDJ.js} +2 -2
  193. package/chunks/{fr-UAZJJH5N.js → fr-EBUDHJL3.js} +11 -0
  194. package/chunks/{glob-YEM24E3Z.js → glob-Z2JMJKKN.js} +27 -30
  195. package/chunks/{goal-tools-LJIVH5T6.js → goal-tools-HXVVLGCV.js} +27 -30
  196. package/chunks/{handleAutoUpdate-DYCSYDYL.js → handleAutoUpdate-FZP45KOR.js} +43 -46
  197. package/chunks/{i18n-PTAV7SN3.js → i18n-OTB62AKW.js} +40 -43
  198. package/chunks/{image-gen-5G2TQ3DY.js → image-gen-HIAZCB5T.js} +6 -7
  199. package/chunks/{initializer-MPXTKQA4.js → initializer-4JXZEC4B.js} +47 -50
  200. package/chunks/{installationInfo-U5EFA3OL.js → installationInfo-2IJV5QKC.js} +39 -42
  201. package/chunks/{ja-2RITCMAJ.js → ja-NCDT4CGV.js} +11 -0
  202. package/chunks/{list-YOE25QUI.js → list-KQSQ4A5G.js} +50 -53
  203. package/chunks/{llm-ZZ2WNQMC.js → llm-LSUBOJAR.js} +154 -974
  204. package/chunks/{llm-content-generator-CG2HRJZC.js → llm-content-generator-MLIONRXE.js} +17 -12
  205. package/chunks/{loadedSettingsAdapter-NPGWGURF.js → loadedSettingsAdapter-TZTTNRHI.js} +47 -50
  206. package/chunks/{loggingContentGenerator-TUL6SJVL.js → loggingContentGenerator-TUPEXFMM.js} +31 -34
  207. package/chunks/{loop-wakeup-VG6CGBQA.js → loop-wakeup-ZBVRI6VH.js} +1 -1
  208. package/chunks/{managed-npm-update-YUDSCJP3.js → managed-npm-update-WEA5XMFZ.js} +40 -43
  209. package/chunks/{mcp-EX3GDQVO.js → mcp-TFDTUPIA.js} +47 -50
  210. package/chunks/{model-configuration-6DEKTXJI.js → model-configuration-ZCAKKIOF.js} +48 -51
  211. package/chunks/{modelConfigUtils-4NA2MHEE.js → modelConfigUtils-J3ZPW7ZK.js} +41 -44
  212. package/chunks/{monitor-PPUGNAWR.js → monitor-CI7YE7MT.js} +29 -32
  213. package/chunks/{nonInteractiveCli-6TW2XYP5.js → nonInteractiveCli-GPT3TVOK.js} +96 -98
  214. package/chunks/{notebook-edit-4MUXHZHT.js → notebook-edit-3WCVRNGL.js} +27 -30
  215. package/chunks/{openaiContentGenerator-5J73W5XZ.js → openaiContentGenerator-OGILGUZE.js} +12 -17
  216. package/chunks/{openaiResponsesContentGenerator-AWRYZLJU.js → openaiResponsesContentGenerator-NXOXUPFM.js} +45 -13
  217. package/chunks/{pidfile-M7WELKBB.js → pidfile-GBTBIGHF.js} +39 -42
  218. package/chunks/{process-registry-X6ZCASEN.js → process-registry-7LAPI3ZB.js} +1 -1
  219. package/chunks/{processUtils-SPRINFNY.js → processUtils-O4II3RYH.js} +2 -2
  220. package/chunks/{prompt-terminal-ledger-25BRD7FX.js → prompt-terminal-ledger-ILIXZI3E.js} +40 -43
  221. package/chunks/{pt-5ZF7ZQUV.js → pt-FYYFWYUC.js} +11 -0
  222. package/chunks/{qwenContentGenerator-H5AAKXPC.js → qwenContentGenerator-I4LRYADV.js} +33 -36
  223. package/chunks/{qwenOAuth2-WIEUEFEY.js → qwenOAuth2-3J66TOT5.js} +6 -7
  224. package/chunks/{read-file-ILGEFPB3.js → read-file-G4XKW2CS.js} +5 -9
  225. package/chunks/{record-artifact-PXMNP7GZ.js → record-artifact-L3CFJOMA.js} +2 -2
  226. package/chunks/{report-findings-W6GR7SYZ.js → report-findings-LY5HQY4K.js} +3 -3
  227. package/chunks/{resumeHistoryUtils-RB52QOCH.js → resumeHistoryUtils-YPJU4XFE.js} +44 -47
  228. package/chunks/{ripGrep-O6QAFHQK.js → ripGrep-AAKMALLM.js} +7 -11
  229. package/chunks/{ru-7BNZFQKG.js → ru-RHEB3RNS.js} +11 -0
  230. package/chunks/{run-qwen-serve-5NO3TKUL.js → run-qwen-serve-ZVEKGS7Y.js} +177 -98
  231. package/chunks/{runtime-G2YUYMSZ.js → runtime-SJCRYNPA.js} +52 -55
  232. package/chunks/safe-mode-KLGUG54M.js +11 -0
  233. package/chunks/sandbox-UIXL423Z.js +146 -0
  234. package/chunks/sandboxConfig-CY343YNJ.js +114 -0
  235. package/chunks/{scheduled-tasks-HDHV3URA.js → scheduled-tasks-5UGBEVNZ.js} +50 -53
  236. package/chunks/{scheduler-6MDJX2ZK.js → scheduler-GCZYLZ2P.js} +41 -44
  237. package/chunks/{sdk-exporters-http-3R2TRQHE.js → sdk-exporters-http-DR4G663K.js} +1 -1
  238. package/chunks/{sdk-impl-4WF3VZ2F.js → sdk-impl-SJR26MQF.js} +3 -3
  239. package/chunks/{send-message-UMJKN27Q.js → send-message-DN76MXDX.js} +6 -6
  240. package/chunks/{serve-Z2EJQYKB.js → serve-2XXQLVK2.js} +48 -51
  241. package/chunks/{server-JTNBK3LH.js → server-UHMKPCAZ.js} +408 -211
  242. package/chunks/{session-5YK2BXH4.js → session-ZLUK7E4P.js} +108 -108
  243. package/chunks/{session-attachments-root-QO3VFJS6.js → session-attachments-root-DHQM5IEZ.js} +39 -42
  244. package/chunks/{session-pr-refresh-OTK3HCJZ.js → session-pr-refresh-3OMTQWCZ.js} +48 -51
  245. package/chunks/{settings-2VKLACYV.js → settings-P4DHIIUP.js} +50 -53
  246. package/chunks/{shell-64NAVGMS.js → shell-IMFUVQQ5.js} +27 -30
  247. package/chunks/{skill-R3ALMLLM.js → skill-NB5RJGZW.js} +7 -11
  248. package/chunks/{skill-settings-HZ34TUMP.js → skill-settings-IXG5CTQO.js} +47 -50
  249. package/chunks/{spawnChannel-XGFWHEIK.js → spawnChannel-Q3YALTCJ.js} +44 -45
  250. package/chunks/{standalone-update-R32Y3XRR.js → standalone-update-H5OJ7MM7.js} +41 -44
  251. package/chunks/{start-opentui-ui-YGJOUE2H.js → start-opentui-ui-JKAIWGF7.js} +733 -386
  252. package/chunks/{startInteractiveUI-5ZEVKSFF.js → startInteractiveUI-YRPOT6GH.js} +370 -337
  253. package/chunks/task-create-75HVPEAH.js +1 -1
  254. package/chunks/{team-create-GCVUXJLE.js → team-create-2XTBYRJF.js} +31 -34
  255. package/chunks/{team-plan-approval-NOL62FJD.js → team-plan-approval-CFNWW7ZQ.js} +27 -30
  256. package/chunks/{terminal-image-renderer-WG5TLPGC.js → terminal-image-renderer-UDPJPGPQ.js} +39 -42
  257. package/chunks/{theme-manager-HDS4YFPW.js → theme-manager-SK57EKMO.js} +39 -42
  258. package/chunks/{tool-search-HMT5GYUR.js → tool-search-ZHTJU2MV.js} +5 -9
  259. package/chunks/{total-session-admission-Y5RCHEXO.js → total-session-admission-UUZBDQCG.js} +47 -50
  260. package/chunks/{tree-sitter-LSORDVZ3.js → tree-sitter-4D7QS7F6.js} +1 -1
  261. package/chunks/{tree-sitter-bash-UARELQ6C.js → tree-sitter-bash-VEJGF5XF.js} +1 -1
  262. package/chunks/{trustedFolders-3Y2WCXMR.js → trustedFolders-4LDBLNTS.js} +40 -43
  263. package/chunks/{update-relaunch-MTJ32SLF.js → update-relaunch-LI7GRP36.js} +5 -5
  264. package/chunks/{updateCheck-YFX3VY6O.js → updateCheck-PKSSORPO.js} +43 -46
  265. package/chunks/{useAutoAcceptIndicator-FCHNQPMD.js → useAutoAcceptIndicator-I32UEQPI.js} +50 -53
  266. package/chunks/{validateNonInterActiveAuth-HUFQKCGG.js → validateNonInterActiveAuth-YFPCYYNL.js} +93 -95
  267. package/chunks/{version-S5TGWCA3.js → version-4MTL4JVU.js} +1 -1
  268. package/chunks/{web-fetch-23M7BYHB.js → web-fetch-O6RG6ISB.js} +9 -13
  269. package/chunks/{web-search-F5PNIQUA.js → web-search-JHAXVEMD.js} +9 -14
  270. package/chunks/{web-shell-static-T7UGLVE4.js → web-shell-static-FFWCUUZS.js} +8 -4
  271. package/chunks/{workflow-BLJLID2C.js → workflow-O7L6VDYU.js} +396 -113
  272. package/chunks/{workspace-providers-status-UH7KLZDT.js → workspace-providers-status-WRX6CJM4.js} +53 -56
  273. package/chunks/{workspace-registration-store-3SA3V7BA.js → workspace-registration-store-7G4E7YPY.js} +1 -1
  274. package/chunks/{workspace-registry-C6C6EKQ5.js → workspace-registry-SXIMGT4D.js} +47 -50
  275. package/chunks/{workspace-runtime-coordinator-RAI6XDJB.js → workspace-runtime-coordinator-7DOEHXYT.js} +47 -50
  276. package/chunks/{workspace-service-H7UTJYJU.js → workspace-service-HDXOZMYC.js} +53 -56
  277. package/chunks/{workspace-skills-status-FPVC7XXK.js → workspace-skills-status-VN4L37CA.js} +50 -53
  278. package/chunks/{workspace-trust-reconciler-JS7A6UIF.js → workspace-trust-reconciler-XEBW5FUL.js} +57 -60
  279. package/chunks/{write-file-GQGG7NBQ.js → write-file-LKX4ETIO.js} +29 -32
  280. package/chunks/{zh-V2EYTYJP.js → zh-F76MZTL3.js} +23 -1
  281. package/chunks/{zh-TW-7PRVUGLW.js → zh-TW-S3YTQ4DS.js} +23 -1
  282. package/chunks/{zoom-image-EC43KL4H.js → zoom-image-RDPRTP4B.js} +5 -9
  283. package/cli.js +19 -15
  284. package/export-transcript-document.css +1 -1
  285. package/export-transcript-document.js +151 -150
  286. package/locales/ca.js +19 -2
  287. package/locales/de.js +18 -0
  288. package/locales/en.js +33 -2
  289. package/locales/fr.js +18 -0
  290. package/locales/ja.js +18 -0
  291. package/locales/pt.js +18 -0
  292. package/locales/ru.js +18 -0
  293. package/locales/zh-TW.js +33 -2
  294. package/locales/zh.js +33 -2
  295. package/package.json +3 -3
  296. package/web-shell/assets/{abnfDiagram-VCTEODGH-BtpzKw3A.js → abnfDiagram-VCTEODGH-RxykUDmi.js} +1 -1
  297. package/web-shell/assets/{arc-CQiVKZJP.js → arc-CZpgGCJC.js} +1 -1
  298. package/web-shell/assets/{architectureDiagram-5GKGNRK7-ekIPBb2d.js → architectureDiagram-5GKGNRK7-BHSMzNDT.js} +1 -1
  299. package/web-shell/assets/{blockDiagram-NRAW4CY4-BrRWkWri.js → blockDiagram-NRAW4CY4-Bn4mF9SZ.js} +1 -1
  300. package/web-shell/assets/{c4Diagram-UCG6FXSJ-qYS8CYZ3.js → c4Diagram-UCG6FXSJ-CBM-Bj6t.js} +1 -1
  301. package/web-shell/assets/channel-DFYs_LlK.js +1 -0
  302. package/web-shell/assets/{chunk-2Q5K7J3B-ZasyyEZm.js → chunk-2Q5K7J3B-D5Fin58O.js} +1 -1
  303. package/web-shell/assets/{chunk-5VM5RSS4-C_IzCGeA.js → chunk-5VM5RSS4-CY05weF7.js} +1 -1
  304. package/web-shell/assets/{chunk-F27PBJKO-C25NZOyD.js → chunk-F27PBJKO-3neZnj5Y.js} +1 -1
  305. package/web-shell/assets/{chunk-G27WJ6UU-XPOHNSGX.js → chunk-G27WJ6UU-Cd7EU4BE.js} +1 -1
  306. package/web-shell/assets/{chunk-JWPE2WC7-BQBh0Xni.js → chunk-JWPE2WC7-DwK1mqFw.js} +1 -1
  307. package/web-shell/assets/{chunk-LCL6LL3I-CoShjpX7.js → chunk-LCL6LL3I-Sl7vY22C.js} +1 -1
  308. package/web-shell/assets/{chunk-POPQ4Y6H-BwRmCDSz.js → chunk-POPQ4Y6H-BXNzpbVg.js} +1 -1
  309. package/web-shell/assets/{chunk-SVP7TREG-DSzE5-Mw.js → chunk-SVP7TREG-DjjButcp.js} +1 -1
  310. package/web-shell/assets/{chunk-XXDRQBXY-BQSQv30h.js → chunk-XXDRQBXY-DNOiCjOJ.js} +1 -1
  311. package/web-shell/assets/classDiagram-DTDB5LWJ-DnGrKXoM.js +1 -0
  312. package/web-shell/assets/classDiagram-v2-JRS7N3AN-DnGrKXoM.js +1 -0
  313. package/web-shell/assets/{cose-bilkent-JH36ORCC-XVUVTHVo.js → cose-bilkent-JH36ORCC-BUnker7a.js} +1 -1
  314. package/web-shell/assets/{cynefin-OW5HDTMX-CrsKx4lQ.js → cynefin-OW5HDTMX-DcUgdWE5.js} +1 -1
  315. package/web-shell/assets/{cynefinDiagram-5FMLGOSQ-BPeZEuHw.js → cynefinDiagram-5FMLGOSQ-CvDKsZsL.js} +1 -1
  316. package/web-shell/assets/{dagre-3AP2YEHR-D31cQ2Qs.js → dagre-3AP2YEHR-jpCmUbr1.js} +1 -1
  317. package/web-shell/assets/{diagram-S7CK7UJ4-zyiG097Q.js → diagram-S7CK7UJ4-DBe_bKE5.js} +1 -1
  318. package/web-shell/assets/{diagram-UQ7AKVKN-Br3vtfsy.js → diagram-UQ7AKVKN-oXvPpDgs.js} +1 -1
  319. package/web-shell/assets/{diagram-VSXAHHWV-Bxkhjx4u.js → diagram-VSXAHHWV-BD7-_SGh.js} +1 -1
  320. package/web-shell/assets/{diagram-VX7I27RA-BQH8QiDk.js → diagram-VX7I27RA-DOJL0wub.js} +1 -1
  321. package/web-shell/assets/{diagram-Z3DM3KII-B_aQ1cw0.js → diagram-Z3DM3KII-DRIiodDD.js} +1 -1
  322. package/web-shell/assets/{ebnfDiagram-PWID7BFC-B9N7BRQE.js → ebnfDiagram-PWID7BFC-Db31Ulmb.js} +1 -1
  323. package/web-shell/assets/{erDiagram-SSCWMZ5O-Cx6Hb1Re.js → erDiagram-SSCWMZ5O-CVHhwI2_.js} +1 -1
  324. package/web-shell/assets/{flowDiagram-A5DVABFB-DTuLP7GU.js → flowDiagram-A5DVABFB-DWOFy1FK.js} +1 -1
  325. package/web-shell/assets/{ganttDiagram-EL5Y4UJY-DYS3d-sL.js → ganttDiagram-EL5Y4UJY-C0sxQtPd.js} +1 -1
  326. package/web-shell/assets/{gitGraphDiagram-WWUBYQGX-Cp0EGx04.js → gitGraphDiagram-WWUBYQGX-CNituBYC.js} +1 -1
  327. package/web-shell/assets/index-B15NlwB8.js +2213 -0
  328. package/web-shell/assets/index-BSrS0tQ6.css +36 -0
  329. package/web-shell/assets/{index-45-LkPDB.js → index-gm9tLk7h.js} +1 -1
  330. package/web-shell/assets/{infoDiagram-RXCK75RN-9--kukiT.js → infoDiagram-RXCK75RN-CxhJYtIR.js} +1 -1
  331. package/web-shell/assets/{ishikawaDiagram-5VMMS53U-CGBdsDLD.js → ishikawaDiagram-5VMMS53U-By2mchUy.js} +1 -1
  332. package/web-shell/assets/{journeyDiagram-EYS64GPL-DeXhcscd.js → journeyDiagram-EYS64GPL-CVH-OweI.js} +1 -1
  333. package/web-shell/assets/{kanban-definition-3QL26DDD-CFdvsU3b.js → kanban-definition-3QL26DDD-Cc9dQXLy.js} +1 -1
  334. package/web-shell/assets/knowledge-Dg9788h4.svg +1 -0
  335. package/web-shell/assets/{layout-DAnwQ3KB.js → layout-C_60ysHw.js} +1 -1
  336. package/web-shell/assets/{linear-CTo7v7Nh.js → linear-BvAVfqwu.js} +1 -1
  337. package/web-shell/assets/{mermaid.core-jggSxF1i.js → mermaid.core-C3CoBKAc.js} +6 -6
  338. package/web-shell/assets/{mindmap-definition-FBJOCRG2-DzIepvlJ.js → mindmap-definition-FBJOCRG2-Cuu8Q8LM.js} +1 -1
  339. package/web-shell/assets/{pegDiagram-XKGWAZYB-BFGS9GJv.js → pegDiagram-XKGWAZYB-DmAeyDO2.js} +1 -1
  340. package/web-shell/assets/{pieDiagram-E7YTZNPT-B2UUcNIT.js → pieDiagram-E7YTZNPT-B7vbB_xv.js} +1 -1
  341. package/web-shell/assets/{quadrantDiagram-AXDQQJYC-BgM6htrX.js → quadrantDiagram-AXDQQJYC-BqOBkRR7.js} +1 -1
  342. package/web-shell/assets/{railroadDiagram-O6MQD6OU-Dk9cS7N-.js → railroadDiagram-O6MQD6OU-sI06lZIu.js} +1 -1
  343. package/web-shell/assets/{requirementDiagram-EFPCY7ZU-C9oRg7xi.js → requirementDiagram-EFPCY7ZU-Bg13d10S.js} +1 -1
  344. package/web-shell/assets/{sankeyDiagram-P5KCCOFB-B-_c7GzI.js → sankeyDiagram-P5KCCOFB-WFOzZHrR.js} +1 -1
  345. package/web-shell/assets/{sequenceDiagram-WJ2MYXX4-R0M-347u.js → sequenceDiagram-WJ2MYXX4-CCdRbA4E.js} +1 -1
  346. package/web-shell/assets/{sizeCapture-X5ZJPWSS-Df0f8UAW.js → sizeCapture-X5ZJPWSS-BH5F3bGg.js} +1 -1
  347. package/web-shell/assets/{stateDiagram-HBIQ2CUA-CsUEfAA-.js → stateDiagram-HBIQ2CUA-NwS2X3QB.js} +1 -1
  348. package/web-shell/assets/stateDiagram-v2-4QOOHH4V-1aU2JZXO.js +1 -0
  349. package/web-shell/assets/{swimlanes-XN3QIQJK-9OGHVSrx.js → swimlanes-XN3QIQJK-Bm38pM28.js} +1 -1
  350. package/web-shell/assets/swimlanesDiagram-VK2B7HYN-Dp-u6kQG.js +8 -0
  351. package/web-shell/assets/{timeline-definition-24CTP7MA-DAfGqS2B.js → timeline-definition-24CTP7MA-Do-agLSo.js} +1 -1
  352. package/web-shell/assets/{vennDiagram-4TSXK5OY-CKATpwHi.js → vennDiagram-4TSXK5OY-aggLfZzl.js} +1 -1
  353. package/web-shell/assets/{wardleyDiagram-VM6X3IG4-CQHdhTrm.js → wardleyDiagram-VM6X3IG4-D5JR3mXX.js} +1 -1
  354. package/web-shell/assets/{xychartDiagram-S5SC5T6Z-5k9NLqlY.js → xychartDiagram-S5SC5T6Z-DhtLDuXs.js} +1 -1
  355. package/web-shell/index.html +2 -2
  356. package/chunks/chunk-4OQSG35W.js +0 -1416
  357. package/chunks/chunk-7MIBD3LG.js +0 -137
  358. package/chunks/chunk-ARDHE6MM.js +0 -235
  359. package/chunks/chunk-C75BXMPM.js +0 -169
  360. package/chunks/chunk-ERU3SDXT.js +0 -27
  361. package/chunks/chunk-FPGTNKCP.js +0 -251
  362. package/chunks/chunk-JIJ65YKA.js +0 -2812
  363. package/chunks/chunk-JL6APGBX.js +0 -43
  364. package/chunks/chunk-SGXJQP5Q.js +0 -4172
  365. package/chunks/chunk-TPEV2QHG.js +0 -514
  366. package/chunks/chunk-YVWS4SLL.js +0 -137
  367. package/web-shell/assets/channel-DSQQnOZj.js +0 -1
  368. package/web-shell/assets/classDiagram-DTDB5LWJ-V94ta08R.js +0 -1
  369. package/web-shell/assets/classDiagram-v2-JRS7N3AN-V94ta08R.js +0 -1
  370. package/web-shell/assets/index-H8um-iEl.js +0 -2207
  371. package/web-shell/assets/index-n6N-2a3v.css +0 -36
  372. package/web-shell/assets/stateDiagram-v2-4QOOHH4V-CnSuTPJ2.js +0 -1
  373. package/web-shell/assets/swimlanesDiagram-VK2B7HYN-Bb7TcWQw.js +0 -8
  374. package/chunks/{chunk-QZW6WRB7.js → chunk-5NUKK2DT.js} +2 -2
  375. package/chunks/{chunk-JS73NNWF.js → chunk-FUSEMYFX.js} +0 -0
  376. package/chunks/{chunk-SVWWF5TZ.js → chunk-WVURIAEE.js} +3 -3
  377. package/chunks/{task-update-RI7QNVDP.js → task-update-3LSYQDRW.js} +4 -4
@@ -2,7 +2,7 @@
2
2
  "use strict";
3
3
  import {
4
4
  formatDuration
5
- } from "./chunk-YGFJ6BRT.js";
5
+ } from "./chunk-AZCTY64Z.js";
6
6
  import {
7
7
  theme
8
8
  } from "./chunk-4LIPOIXS.js";
@@ -24,7 +24,7 @@ import {
24
24
  import {
25
25
  formatHistoryGapNotice,
26
26
  indexGapsByChild
27
- } from "./chunk-2S2WIGCM.js";
27
+ } from "./chunk-Y4NNIGYO.js";
28
28
  import {
29
29
  stringWidth
30
30
  } from "./chunk-2MIN6GRR.js";
@@ -33,21 +33,23 @@ import {
33
33
  } from "./chunk-QHTIBUWB.js";
34
34
  import {
35
35
  t
36
- } from "./chunk-I6YJZGHS.js";
36
+ } from "./chunk-GSAOVDTH.js";
37
37
  import {
38
38
  isGoalCheckpointBookkeepingRecord
39
- } from "./chunk-RN6BU77T.js";
39
+ } from "./chunk-347O2YZJ.js";
40
40
  import {
41
41
  GoalPersistenceUnavailableError,
42
- getToolResponseDisplayText,
43
- parseGoalStateRecordPayloadV2
44
- } from "./chunk-WBP64MZR.js";
42
+ getToolResponseDisplayText
43
+ } from "./chunk-KAYC5FBN.js";
45
44
  import {
46
45
  stripAnsi
47
46
  } from "./chunk-TWPJO254.js";
48
47
  import {
49
48
  projectUserTranscriptForDisplay
50
- } from "./chunk-ME4JBHSB.js";
49
+ } from "./chunk-VQDWCQOE.js";
50
+ import {
51
+ parseGoalStateRecordPayloadV2
52
+ } from "./chunk-P42KMMU6.js";
51
53
  import {
52
54
  ToolDisplayNames
53
55
  } from "./chunk-RSWBT7AZ.js";
@@ -413,11 +413,19 @@ ${toolGuidance}
413
413
 
414
414
  ${function() {
415
415
  const isSandboxExec = process.env["SANDBOX"] === "sandbox-exec";
416
+ const isKernelSandbox = process.env["SANDBOX"] === "bwrap";
416
417
  const isGenericSandbox = !!process.env["SANDBOX"];
417
418
  if (isSandboxExec) {
418
419
  return `
419
420
  # macOS Seatbelt
420
421
  You are running under macos seatbelt with limited access to files outside the project directory or system temp directory, and with limited access to host system resources such as ports. If you encounter failures that could be due to MacOS Seatbelt (e.g. if a command fails with 'Operation not permitted' or similar error), as you report the error to the user, also explain why you think it could be due to MacOS Seatbelt, and how the user may need to adjust their Seatbelt profile.
422
+ `;
423
+ } else if (isKernelSandbox) {
424
+ const backend = process.env["SANDBOX"];
425
+ return `
426
+ # Kernel Sandbox (${backend})
427
+ You are running under a kernel-level sandbox (${backend}). The host filesystem is mounted READ-ONLY outside the writable roots configured at startup; /dev is the exception \u2014 a minimal synthetic device tree replaces it, so host device nodes (/dev/shm, /dev/kvm, /dev/dri, /dev/snd) are absent rather than read-only, and no writable root restores them. You cannot inspect the writable set from in here: 'QWEN_SANDBOX=bwrap qwen sandbox' explicitly selects this backend and only reports from outside, so tell the user to run it from this project directory on the host \u2014 the report reflects that directory's settings, and a session started elsewhere or with '--include-directories' may bind a different set. A write refused by a read-only mount fails with 'Read-only file system' (EROFS). 'Permission denied' (EACCES) can instead come from ordinary file permissions, even inside a writable root. Host services reached through Unix sockets remain outside this filesystem boundary, including in closed network mode. Proxied mode supplies proxy settings without preventing direct connections. Granted repository Git metadata, including config and hooks, remains writable and can affect later unconfined Git commands.
428
+ When a write fails with EROFS, report it to the user, name the refused path, and explain that changing the writable roots requires restarting with the appropriate sandbox configuration. Do NOT work around a refusal by writing somewhere else, by escalating privileges, or by retrying the same write.
421
429
  `;
422
430
  } else if (isGenericSandbox) {
423
431
  return `
@@ -2,7 +2,7 @@
2
2
  "use strict";
3
3
  import {
4
4
  readRuntimeStatus
5
- } from "./chunk-WKVZES7O.js";
5
+ } from "./chunk-CXONOVBN.js";
6
6
  import {
7
7
  atomicWriteJSON
8
8
  } from "./chunk-XFFRI3WM.js";
@@ -5,14 +5,14 @@ import {
5
5
  } from "./chunk-KW7NOTN6.js";
6
6
  import {
7
7
  DEFAULT_OPENAI_LOG_RETENTION_DAYS
8
- } from "./chunk-EQWKIA72.js";
8
+ } from "./chunk-AUX2FL5T.js";
9
9
  import {
10
10
  resolveOpenAILogDir
11
- } from "./chunk-GFAK6DYU.js";
11
+ } from "./chunk-LO2UWNO5.js";
12
12
  import {
13
13
  FILE_HISTORY_DIR,
14
14
  getSubagentsRootDir
15
- } from "./chunk-WBP64MZR.js";
15
+ } from "./chunk-KAYC5FBN.js";
16
16
  import {
17
17
  Storage,
18
18
  createDebugLogger,
@@ -6,8 +6,8 @@ import {
6
6
 
7
7
  // packages/cli/src/generated/git-commit.ts
8
8
  init_esbuild_shims();
9
- var GIT_COMMIT_INFO = "f024b37689";
10
- var CLI_VERSION = "0.23.5-dev.codemode-responses.20260915.f024b37689";
9
+ var GIT_COMMIT_INFO = "038350ef3f";
10
+ var CLI_VERSION = "0.23.5-preview.0";
11
11
 
12
12
  export {
13
13
  GIT_COMMIT_INFO,
@@ -5,22 +5,22 @@ import {
5
5
  parseChannelDelivery,
6
6
  scheduledTaskRunSessionName,
7
7
  scheduledTaskRunSourceId
8
- } from "./chunk-QTUQV33C.js";
8
+ } from "./chunk-QGEISOJ2.js";
9
9
  import {
10
10
  parseCallerSuppliedSessionId
11
11
  } from "./chunk-ZEZKIS2K.js";
12
12
  import {
13
13
  createSessionOrganizationService
14
- } from "./chunk-S77FFY67.js";
14
+ } from "./chunk-4JFLRHNE.js";
15
15
  import {
16
16
  isInternalWorkspaceRuntime
17
17
  } from "./chunk-NYWWQ437.js";
18
18
  import {
19
19
  SCHEDULED_TASK_RUN_SOURCE_TYPE
20
- } from "./chunk-Q4G2YPI4.js";
20
+ } from "./chunk-L2A5VBDL.js";
21
21
  import {
22
22
  SessionNotFoundError
23
- } from "./chunk-FAWTMDX7.js";
23
+ } from "./chunk-YXHY6BKS.js";
24
24
  import {
25
25
  canonicalizeWorkspace
26
26
  } from "./chunk-6PLDPT2C.js";
@@ -31,13 +31,12 @@ import {
31
31
  isWithinRoot
32
32
  } from "./chunk-MR3PXB6E.js";
33
33
  import {
34
- SessionService,
35
- stripTerminalControlSequences
36
- } from "./chunk-WBP64MZR.js";
34
+ SessionService
35
+ } from "./chunk-KAYC5FBN.js";
37
36
  import {
38
37
  MAX_JOBS,
39
38
  nextDurableFireMs
40
- } from "./chunk-GNV2SFO7.js";
39
+ } from "./chunk-IVFTLUZD.js";
41
40
  import {
42
41
  nextFireTime,
43
42
  parseCron
@@ -54,6 +53,9 @@ import {
54
53
  taskHasLegacyCondition,
55
54
  updateCronTasks
56
55
  } from "./chunk-3LMDSCLU.js";
56
+ import {
57
+ stripTerminalControlSequences
58
+ } from "./chunk-P42KMMU6.js";
57
59
  import {
58
60
  Storage
59
61
  } from "./chunk-ZAFYHRVY.js";
@@ -2,10 +2,10 @@
2
2
  "use strict";
3
3
  import {
4
4
  delay
5
- } from "./chunk-FMLBBXHB.js";
5
+ } from "./chunk-DRAX5YAI.js";
6
6
  import {
7
7
  isTlsVerificationDisabled
8
- } from "./chunk-EWJTAP3Y.js";
8
+ } from "./chunk-7O5PYQ3M.js";
9
9
  import {
10
10
  getErrorMessage
11
11
  } from "./chunk-ZAFYHRVY.js";
@@ -19,7 +19,7 @@ import {
19
19
  TOKEN_ESTIMATE_UNITS_PER_TOKEN,
20
20
  estimateTextTokenUnits,
21
21
  estimateTextTokens
22
- } from "./chunk-QZW6WRB7.js";
22
+ } from "./chunk-5NUKK2DT.js";
23
23
  import {
24
24
  normalizeMcpToolName
25
25
  } from "./chunk-WZAD4ZNJ.js";
@@ -2,7 +2,7 @@
2
2
  "use strict";
3
3
  import {
4
4
  ResponsesHttpError
5
- } from "./chunk-VGY2RGXL.js";
5
+ } from "./chunk-M4U2LTD2.js";
6
6
  import {
7
7
  getErrorStatus,
8
8
  isAbortError
@@ -3,7 +3,7 @@
3
3
  import {
4
4
  getUserSettingsPath,
5
5
  v1ToV2Migration
6
- } from "./chunk-E7ZTAOJZ.js";
6
+ } from "./chunk-RRI764F7.js";
7
7
  import {
8
8
  getSystemDefaultsPath,
9
9
  getSystemSettingsPath
@@ -13,7 +13,7 @@ import {
13
13
  TrustLevel,
14
14
  getExplicitTrustLevel,
15
15
  getTrustedFoldersPath
16
- } from "./chunk-4DTFTPTU.js";
16
+ } from "./chunk-NQ272MQG.js";
17
17
  import {
18
18
  require_strip_json_comments
19
19
  } from "./chunk-NPQ5ZKRP.js";
@@ -22,7 +22,7 @@ import {
22
22
  } from "./chunk-MR3PXB6E.js";
23
23
  import {
24
24
  ideContextStore
25
- } from "./chunk-WBP64MZR.js";
25
+ } from "./chunk-KAYC5FBN.js";
26
26
  import {
27
27
  init_esbuild_shims
28
28
  } from "./chunk-5O2XNYP6.js";
@@ -5,7 +5,7 @@ import {
5
5
  } from "./chunk-CQ35AJ4Z.js";
6
6
  import {
7
7
  AuthType
8
- } from "./chunk-ERU3SDXT.js";
8
+ } from "./chunk-7O5PYQ3M.js";
9
9
  import {
10
10
  init_esbuild_shims
11
11
  } from "./chunk-5O2XNYP6.js";
@@ -2,7 +2,7 @@
2
2
  "use strict";
3
3
  import {
4
4
  SessionOrganizationService
5
- } from "./chunk-WBP64MZR.js";
5
+ } from "./chunk-KAYC5FBN.js";
6
6
  import {
7
7
  writeStderrLine
8
8
  } from "./chunk-7FA2II6K.js";
@@ -2,10 +2,12 @@
2
2
  "use strict";
3
3
  import {
4
4
  ACP_ROUTE_ID_PREFIX
5
- } from "./chunk-INGBUYL6.js";
5
+ } from "./chunk-4FLUQWJ4.js";
6
6
  import {
7
- isOpenRouterHostname
8
- } from "./chunk-GSS4SZNG.js";
7
+ getEffectiveReasoning,
8
+ isOpenRouterHostname,
9
+ resolveReasoningForModel
10
+ } from "./chunk-KEM7MWS7.js";
9
11
  import {
10
12
  REASONING_EFFORT_TIERS,
11
13
  clampReasoningEffort,
@@ -13,7 +15,7 @@ import {
13
15
  isReasoningEffortPlaceholder,
14
16
  parseModelReasoningCapabilities,
15
17
  reasoningEffortsForCapability
16
- } from "./chunk-ARDHE6MM.js";
18
+ } from "./chunk-GJKP6XOB.js";
17
19
  import {
18
20
  init_esbuild_shims
19
21
  } from "./chunk-5O2XNYP6.js";
@@ -86,18 +88,24 @@ function getDefaultReasoningConfig(config, settings) {
86
88
  __name(getDefaultReasoningConfig, "getDefaultReasoningConfig");
87
89
  function getGptReasoningOverrideState(generation, configuredReasoning) {
88
90
  const capabilities = getGptReasoningCapabilities(generation.model);
89
- if (!capabilities || generation.reasoning === false) return void 0;
91
+ const profile = configuredReasoning?.profile;
92
+ if (!capabilities && !profile || generation.reasoning === false) {
93
+ return void 0;
94
+ }
95
+ if (profile && profile !== "openai-effort" && profile !== "openai-reasoning") {
96
+ return void 0;
97
+ }
90
98
  const reasoning = getModelConfiguration(
91
99
  generation.model,
92
100
  configuredReasoning
93
101
  )?.reasoning;
94
102
  const defaultEnabled = !reasoning || reasoning.toggleOnly || reasoning.defaultEnabled !== false;
95
- const efforts = reasoning && !reasoning.toggleOnly ? reasoning.efforts : capabilities.efforts;
103
+ const efforts = reasoning && !reasoning.toggleOnly ? reasoning.efforts : capabilities?.efforts ?? REASONING_EFFORT_TIERS;
96
104
  const raw = { ...generation.samplingParams, ...generation.extra_body };
97
105
  const flat = raw["reasoning_effort"];
98
106
  const nested = raw["reasoning"];
99
- const openRouter = isOpenRouterHostname(generation);
100
- const removedFlatNone = (generation.thinkingMandatory === true || reasoning?.canDisable === false || capabilities.thinkingMandatory) && flat === REASONING_EFFORT_NONE;
107
+ const openRouter = profile === "openai-reasoning" || isOpenRouterHostname(generation);
108
+ const removedFlatNone = (generation.thinkingMandatory === true || reasoning?.canDisable === false || capabilities?.thinkingMandatory) && flat === REASONING_EFFORT_NONE;
101
109
  if (!openRouter && !isReasoningEffortPlaceholder(flat) && !removedFlatNone) {
102
110
  const effort2 = efforts.find((tier) => tier === flat);
103
111
  return {
@@ -140,8 +148,11 @@ function resolvePersistedReasoningConfigState(modelId, value, thinkingMandatory
140
148
  const gptReasoning = getGptReasoningCapabilities(modelId);
141
149
  thinkingMandatory ||= getModelConfiguration(modelId, reasoning)?.reasoning?.canDisable === false;
142
150
  let selection = parseReasoningSelection(value);
143
- if (gptReasoning && !parseModelReasoningCapabilities(reasoning) && selection && selection !== REASONING_EFFORT_NONE && selection !== REASONING_EFFORT_DEFAULT) {
144
- selection = clampReasoningEffort(selection, gptReasoning.efforts);
151
+ if ((reasoning?.profile && !reasoning.toggleOnly || gptReasoning && !parseModelReasoningCapabilities(reasoning)) && selection && selection !== REASONING_EFFORT_NONE && selection !== REASONING_EFFORT_DEFAULT) {
152
+ selection = clampReasoningEffort(
153
+ selection,
154
+ reasoning && !reasoning.toggleOnly ? reasoning.efforts : gptReasoning.efforts
155
+ );
145
156
  }
146
157
  if (!selection || selection === REASONING_EFFORT_DEFAULT || !isReasoningSelectionSupported(
147
158
  modelId,
@@ -158,7 +169,7 @@ function getModelConfiguration(modelId, reasoning) {
158
169
  const configured = parseModelReasoningCapabilities(reasoning);
159
170
  const gpt = getGptReasoningCapabilities(modelId);
160
171
  return configured ? {
161
- reasoning: gpt?.thinkingMandatory ? { ...configured, canDisable: false } : configured
172
+ reasoning: !reasoning?.profile && gpt?.thinkingMandatory ? { ...configured, canDisable: false } : configured
162
173
  } : gpt ? {
163
174
  reasoning: {
164
175
  thinking: true,
@@ -171,16 +182,17 @@ function getModelConfiguration(modelId, reasoning) {
171
182
  }
172
183
  __name(getModelConfiguration, "getModelConfiguration");
173
184
  function getConfiguredModelReasoning(config, modelId = config.getModel?.(), fallbackToManifest = true) {
174
- if (config.getActiveRuntimeModelSnapshot?.() || config.getModel?.().startsWith(ACP_ROUTE_ID_PREFIX)) {
185
+ if (!modelId || config.getActiveRuntimeModelSnapshot?.() || config.getModel?.().startsWith(ACP_ROUTE_ID_PREFIX)) {
175
186
  return void 0;
176
187
  }
177
- const generation = config.getContentGeneratorConfig?.();
178
- const authType = generation?.authType ?? config.getAuthType?.();
179
- const baseUrl = generation?.baseUrl ?? config.getCurrentModelRegistryBaseUrl?.() ?? void 0;
180
- const configured = authType ? config.getResolvedModelConfig?.(authType, modelId, baseUrl) : void 0;
181
- const reasoning = parseModelReasoningCapabilities(
182
- configured?.capabilities?.reasoning
183
- );
188
+ const active = config.getContentGeneratorConfig?.();
189
+ const generation = {
190
+ ...active,
191
+ model: active?.model ?? modelId,
192
+ authType: active?.authType ?? config.getAuthType?.(),
193
+ baseUrl: active?.baseUrl ?? config.getCurrentModelRegistryBaseUrl?.() ?? void 0
194
+ };
195
+ const reasoning = resolveReasoningForModel(config, generation, modelId);
184
196
  return reasoning ?? (fallbackToManifest ? getModelConfiguration(modelId)?.reasoning : void 0);
185
197
  }
186
198
  __name(getConfiguredModelReasoning, "getConfiguredModelReasoning");
@@ -217,7 +229,11 @@ function isReasoningSelectionSupported(modelId, selection, thinkingMandatory = f
217
229
  }
218
230
  __name(isReasoningSelectionSupported, "isReasoningSelectionSupported");
219
231
  function clearReasoningRequestOverrides(generation) {
220
- if (getGptReasoningCapabilities(generation.model)) return;
232
+ if (getGptReasoningCapabilities(generation.model) || getGptReasoningOverrideState(
233
+ generation,
234
+ resolveReasoningForModel(void 0, generation)
235
+ )?.blocksTierChange)
236
+ return;
221
237
  for (const source of ["extra_body", "samplingParams"]) {
222
238
  const layer = generation[source];
223
239
  if (!layer) continue;
@@ -270,7 +286,7 @@ function buildModelReasoningConfigOption(modelId, state = {}, configuredReasonin
270
286
  if (!reasoning?.thinking) return void 0;
271
287
  const canDisable = reasoning.canDisable !== false && state.thinkingMandatory !== true;
272
288
  const enabled = state.enabled ?? (state.effort !== void 0 || reasoning.toggleOnly || reasoning.defaultEnabled !== false);
273
- const effort = state.effort && !reasoning.toggleOnly && getGptReasoningCapabilities(modelId) && !parseModelReasoningCapabilities(configuredReasoning) ? clampReasoningEffort(state.effort, reasoning.efforts) : state.effort;
289
+ const effort = state.effort && !reasoning.toggleOnly && (configuredReasoning?.profile || getGptReasoningCapabilities(modelId) && !parseModelReasoningCapabilities(configuredReasoning)) ? clampReasoningEffort(state.effort, reasoning.efforts) : state.effort;
274
290
  const currentValue = !enabled && canDisable ? REASONING_EFFORT_NONE : reasoning.toggleOnly ? REASONING_EFFORT_DEFAULT : reasoning.efforts.find((candidate) => candidate === effort) ?? reasoning.defaultEffort ?? REASONING_EFFORT_DEFAULT;
275
291
  return {
276
292
  id: "reasoning_effort",
@@ -337,6 +353,9 @@ function buildModelReasoningConfigPreview(modelId, state = {}, configuredReasoni
337
353
  },
338
354
  configuredReasoning
339
355
  );
356
+ if (configuredReasoning?.profile && override?.enabled && override.useDefaultEffort) {
357
+ return void 0;
358
+ }
340
359
  const enableOverride = generation && getGptReasoningOverrideState(
341
360
  { ...generation, reasoning: void 0 },
342
361
  configuredReasoning
@@ -359,6 +378,34 @@ function buildModelReasoningConfigPreview(modelId, state = {}, configuredReasoni
359
378
  return option ? [option] : void 0;
360
379
  }
361
380
  __name(buildModelReasoningConfigPreview, "buildModelReasoningConfigPreview");
381
+ function buildModelReasoningRoutePreview(generation, reasoning, selection, opaqueRoute = false) {
382
+ if (opaqueRoute && !reasoning?.profile) return void 0;
383
+ return buildModelReasoningConfigPreview(
384
+ generation.model,
385
+ {
386
+ enabled: generation.reasoning === false ? false : void 0,
387
+ effort: generation.reasoning ? generation.reasoning.effort : void 0,
388
+ ...resolvePersistedReasoningConfigState(
389
+ generation.model,
390
+ selection,
391
+ generation.thinkingMandatory === true,
392
+ reasoning
393
+ )
394
+ },
395
+ reasoning,
396
+ generation
397
+ );
398
+ }
399
+ __name(buildModelReasoningRoutePreview, "buildModelReasoningRoutePreview");
400
+ function getReasoningForDisplay(config, generation) {
401
+ const resolved = resolveReasoningForModel(config, generation);
402
+ if (!resolved) return generation.reasoning;
403
+ const override = getGptReasoningOverrideState(generation, resolved);
404
+ if (override) return override.enabled ? { effort: override.effort } : false;
405
+ if (config.getReasoningEffortOverride?.()) return generation.reasoning;
406
+ return getEffectiveReasoning(generation, resolved);
407
+ }
408
+ __name(getReasoningForDisplay, "getReasoningForDisplay");
362
409
 
363
410
  export {
364
411
  REASONING_EFFORT_DEFAULT,
@@ -368,7 +415,6 @@ export {
368
415
  REASONING_EFFORT_NAMES,
369
416
  getDefaultReasoningConfig,
370
417
  getGptReasoningOverrideState,
371
- resolvePersistedReasoningConfigState,
372
418
  getConfiguredModelReasoning,
373
419
  getReasoningEffortsForConfig,
374
420
  parseReasoningSelection,
@@ -376,7 +422,8 @@ export {
376
422
  clearReasoningRequestOverrides,
377
423
  applyReasoningSelection,
378
424
  buildModelReasoningConfigOption,
379
- buildModelReasoningConfigPreview
425
+ buildModelReasoningRoutePreview,
426
+ getReasoningForDisplay
380
427
  };
381
428
  /**
382
429
  * @license
@@ -170,6 +170,35 @@ var PROJECT_ENV_HARDCODED_EXCLUSIONS = [
170
170
  "XDG_CONFIG_HOME",
171
171
  "GIT_CONFIG_COUNT",
172
172
  "GIT_CONFIG_PARAMETERS",
173
+ // The sandbox backend selection and network mode are confinement decisions.
174
+ // QWEN_SANDBOX decides whether confinement runs at all and which backend
175
+ // (an untrusted repo could cancel it with `QWEN_SANDBOX=false`, or force a
176
+ // backend over the operator's choice), and QWEN_SANDBOX_IMAGE selects the
177
+ // container image the agent runs inside. `resolveSandboxNetworkMode` flips
178
+ // to `proxied` purely on the presence of QWEN_SANDBOX_PROXY_COMMAND, and
179
+ // the bwrap branch then executes that value through `bash -c` on the host,
180
+ // outside the confinement, before the agent starts. A project `.env` or
181
+ // settings.env supplying any of them is repository content deciding the
182
+ // confinement — the same class as GIT_PROXY_COMMAND. The operator's launch
183
+ // environment or a home `.env` remains the only trusted source.
184
+ "QWEN_SANDBOX",
185
+ "QWEN_SANDBOX_IMAGE",
186
+ "QWEN_SANDBOX_PROXY_COMMAND",
187
+ "QWEN_SANDBOX_NET",
188
+ // Runtime markers come from the launcher, never from configuration files.
189
+ // They also belong to the all-scope provenance gate below.
190
+ "SANDBOX",
191
+ "SANDBOX_ENFORCEMENT",
192
+ // The bwrap writable-root derivation reads XDG_CACHE_HOME and, via
193
+ // os.tmpdir(), TMPDIR/TMP/TEMP (its POSIX fallback order). A project `.env`
194
+ // pointing one inside the home directory ($HOME/.ssh, $HOME/.aws, …) would
195
+ // make the confinement bind that directory read-write. Values from the
196
+ // launch environment or a home `.env` are the operator's own choice and
197
+ // stay honored.
198
+ "XDG_CACHE_HOME",
199
+ "TMPDIR",
200
+ "TMP",
201
+ "TEMP",
173
202
  // git falls back to executing $SSH_ASKPASS for passphrase prompts (its
174
203
  // askpass order is GIT_ASKPASS > core.askPass > SSH_ASKPASS, and ssh runs
175
204
  // it whenever SSH_ASKPASS_REQUIRE=force or no terminal is available), so a
@@ -269,7 +298,9 @@ function isHardcodedProjectEnvExclusion(key) {
269
298
  }
270
299
  __name(isHardcodedProjectEnvExclusion, "isHardcodedProjectEnvExclusion");
271
300
  var PRIVATE_PROVENANCE_ENV_KEYS = /* @__PURE__ */ new Set([
272
- PRIVATE_CONVERSATIONS_RUNTIME_ENV.toLowerCase()
301
+ PRIVATE_CONVERSATIONS_RUNTIME_ENV.toLowerCase(),
302
+ "sandbox",
303
+ "sandbox_enforcement"
273
304
  ]);
274
305
  function isPrivateProvenanceEnvKey(key) {
275
306
  return PRIVATE_PROVENANCE_ENV_KEYS.has(key.toLowerCase());
@@ -67,6 +67,7 @@ var EVENT_CONVERSATION_FINISHED = "qwen-code.conversation_finished";
67
67
  var EVENT_FILE_OPERATION = "qwen-code.file_operation";
68
68
  var EVENT_MODEL_SLASH_COMMAND = "qwen-code.slash_command.model";
69
69
  var EVENT_SUBAGENT_EXECUTION = "qwen-code.subagent_execution";
70
+ var EVENT_GOAL_STATE = "qwen-code.goal_state";
70
71
  var EVENT_SKILL_LAUNCH = "qwen-code.skill_launch";
71
72
  var EVENT_AUTH = "qwen-code.auth";
72
73
  var EVENT_USER_FEEDBACK = "qwen-code.user_feedback";
@@ -81,6 +82,7 @@ var EVENT_PROMPT_SUGGESTION = "qwen-code.prompt_suggestion";
81
82
  var EVENT_SPECULATION = "qwen-code.speculation";
82
83
  var EVENT_WORKFLOW_KEYWORD = "qwen-code.workflow_keyword";
83
84
  var EVENT_WORKFLOW_RUN = "qwen-code.workflow_run";
85
+ var EVENT_WORKFLOW_SIZE_WARNING = "qwen-code.workflow_size_warning";
84
86
  var EVENT_ARENA_SESSION_STARTED = "qwen-code.arena_session_started";
85
87
  var EVENT_ARENA_AGENT_COMPLETED = "qwen-code.arena_agent_completed";
86
88
  var EVENT_ARENA_SESSION_ENDED = "qwen-code.arena_session_ended";
@@ -127,6 +129,13 @@ var CONTENT_RETRY_FAILURE_COUNT = `${SERVICE_NAME}.chat.content_retry_failure.co
127
129
  var API_RETRY_COUNT = `${SERVICE_NAME}.api.retry.count`;
128
130
  var MODEL_SLASH_COMMAND_CALL_COUNT = `${SERVICE_NAME}.slash_command.model.call_count`;
129
131
  var SUBAGENT_EXECUTION_COUNT = `${SERVICE_NAME}.subagent.execution.count`;
132
+ var GOAL_TRANSITION_COUNT = `${SERVICE_NAME}.goal.transition.count`;
133
+ var GOAL_TOKENS_USED = `${SERVICE_NAME}.goal.tokens_used`;
134
+ var GOAL_TURN_COUNT = `${SERVICE_NAME}.goal.turn_count`;
135
+ function isGoalOutcomeCause(cause) {
136
+ return cause === "complete" || cause === "blocked" || cause === "usage_limited";
137
+ }
138
+ __name(isGoalOutcomeCause, "isGoalOutcomeCause");
130
139
  var ARENA_SESSION_COUNT = `${SERVICE_NAME}.arena.session.count`;
131
140
  var ARENA_SESSION_DURATION = `${SERVICE_NAME}.arena.session.duration`;
132
141
  var ARENA_AGENT_COUNT = `${SERVICE_NAME}.arena.agent.count`;
@@ -248,6 +257,12 @@ var COUNTER_DEFINITIONS = {
248
257
  valueType: ValueType.INT,
249
258
  assign: /* @__PURE__ */ __name((c) => chatCompressionCounter = c, "assign"),
250
259
  attributes: {}
260
+ },
261
+ [GOAL_TRANSITION_COUNT]: {
262
+ description: "Counts Goal state transitions, tagged by cause, resulting status, and limit kind.",
263
+ valueType: ValueType.INT,
264
+ assign: /* @__PURE__ */ __name((c) => goalTransitionCounter = c, "assign"),
265
+ attributes: {}
251
266
  }
252
267
  };
253
268
  var HISTOGRAM_DEFINITIONS = {
@@ -264,6 +279,52 @@ var HISTOGRAM_DEFINITIONS = {
264
279
  valueType: ValueType.INT,
265
280
  assign: /* @__PURE__ */ __name((h) => apiRequestLatencyHistogram = h, "assign"),
266
281
  attributes: {}
282
+ },
283
+ [GOAL_TOKENS_USED]: {
284
+ description: "Tokens a Goal had spent when it completed, was blocked, or reached a usage limit.",
285
+ unit: "{token}",
286
+ valueType: ValueType.INT,
287
+ advice: {
288
+ explicitBucketBoundaries: [
289
+ 1e3,
290
+ 1e4,
291
+ 1e5,
292
+ 5e5,
293
+ 1e6,
294
+ 5e6,
295
+ 1e7,
296
+ 3e7,
297
+ 1e8,
298
+ 3e8,
299
+ 6e8
300
+ ]
301
+ },
302
+ assign: /* @__PURE__ */ __name((h) => goalTokensUsedHistogram = h, "assign"),
303
+ attributes: {}
304
+ },
305
+ [GOAL_TURN_COUNT]: {
306
+ description: "Turns a Goal had finished when it completed, was blocked, or reached a usage limit.",
307
+ unit: "{turn}",
308
+ valueType: ValueType.INT,
309
+ advice: {
310
+ explicitBucketBoundaries: [
311
+ 1,
312
+ 5,
313
+ 10,
314
+ 25,
315
+ 50,
316
+ 100,
317
+ 250,
318
+ 500,
319
+ 1e3,
320
+ 5e3,
321
+ 1e4,
322
+ 25e3,
323
+ 5e4
324
+ ]
325
+ },
326
+ assign: /* @__PURE__ */ __name((h) => goalTurnCountHistogram = h, "assign"),
327
+ attributes: {}
267
328
  }
268
329
  };
269
330
  var PERFORMANCE_COUNTER_DEFINITIONS = {
@@ -362,6 +423,9 @@ var contentRetryCounter;
362
423
  var contentRetryFailureCounter;
363
424
  var apiRetryCounter;
364
425
  var subagentExecutionCounter;
426
+ var goalTransitionCounter;
427
+ var goalTokensUsedHistogram;
428
+ var goalTurnCountHistogram;
365
429
  var modelSlashCommandCallCounter;
366
430
  var startupTimeHistogram;
367
431
  var memoryUsageGauge;
@@ -442,11 +506,17 @@ function initializeMetrics(config) {
442
506
  description: "Counts arena result selections by model.",
443
507
  valueType: ValueType.INT
444
508
  });
445
- Object.entries(HISTOGRAM_DEFINITIONS).forEach(
446
- ([name, { description, unit, valueType, assign }]) => {
447
- assign(meter.createHistogram(name, { description, unit, valueType }));
448
- }
449
- );
509
+ Object.entries(HISTOGRAM_DEFINITIONS).forEach(([name, definition]) => {
510
+ const { description, unit, valueType, assign } = definition;
511
+ assign(
512
+ meter.createHistogram(name, {
513
+ description,
514
+ unit,
515
+ valueType,
516
+ ..."advice" in definition ? { advice: definition.advice } : {}
517
+ })
518
+ );
519
+ });
450
520
  sessionCounter?.add(1, baseMetricDefinition.getCommonAttributes(config));
451
521
  memoryExtractCounter = meter.createCounter(MEMORY_EXTRACT_COUNT, {
452
522
  description: "Counts auto-memory extraction runs, tagged by trigger and status.",
@@ -525,6 +595,26 @@ function initializeMetrics(config) {
525
595
  isMetricsInitialized = true;
526
596
  }
527
597
  __name(initializeMetrics, "initializeMetrics");
598
+ function recordGoalStateMetrics(config, event) {
599
+ if (!goalTransitionCounter || !isMetricsInitialized) return;
600
+ const common = baseMetricDefinition.getCommonAttributes(config);
601
+ const limitKind = event.limit_kind ? { limit_kind: event.limit_kind } : {};
602
+ goalTransitionCounter.add(1, {
603
+ ...common,
604
+ cause: event.cause,
605
+ ...event.status ? { status: event.status } : {},
606
+ ...limitKind
607
+ });
608
+ if (!isGoalOutcomeCause(event.cause)) return;
609
+ const outcome = { ...common, cause: event.cause, ...limitKind };
610
+ if (event.tokens_used !== void 0) {
611
+ goalTokensUsedHistogram?.record(event.tokens_used, outcome);
612
+ }
613
+ if (event.turn_count !== void 0) {
614
+ goalTurnCountHistogram?.record(event.turn_count, outcome);
615
+ }
616
+ }
617
+ __name(recordGoalStateMetrics, "recordGoalStateMetrics");
528
618
  function recordChatCompressionMetrics(config, attributes) {
529
619
  if (!chatCompressionCounter || !isMetricsInitialized) return;
530
620
  chatCompressionCounter.add(1, {
@@ -1226,7 +1316,7 @@ function initializeTelemetry(config) {
1226
1316
  telemetryInitPromise ??= (async () => {
1227
1317
  const debugLogger3 = createDebugLogger("OTEL");
1228
1318
  try {
1229
- const { startTelemetrySdk } = await import("./sdk-impl-4WF3VZ2F.js");
1319
+ const { startTelemetrySdk } = await import("./sdk-impl-SJR26MQF.js");
1230
1320
  if (telemetryInitialized) return;
1231
1321
  const started = await startTelemetrySdk(config);
1232
1322
  if (!started) return;
@@ -2500,6 +2590,7 @@ export {
2500
2590
  EVENT_FILE_OPERATION,
2501
2591
  EVENT_MODEL_SLASH_COMMAND,
2502
2592
  EVENT_SUBAGENT_EXECUTION,
2593
+ EVENT_GOAL_STATE,
2503
2594
  EVENT_SKILL_LAUNCH,
2504
2595
  EVENT_AUTH,
2505
2596
  EVENT_USER_FEEDBACK,
@@ -2511,6 +2602,7 @@ export {
2511
2602
  EVENT_SPECULATION,
2512
2603
  EVENT_WORKFLOW_KEYWORD,
2513
2604
  EVENT_WORKFLOW_RUN,
2605
+ EVENT_WORKFLOW_SIZE_WARNING,
2514
2606
  EVENT_ARENA_SESSION_STARTED,
2515
2607
  EVENT_ARENA_AGENT_COMPLETED,
2516
2608
  EVENT_ARENA_SESSION_ENDED,
@@ -2532,6 +2624,7 @@ export {
2532
2624
  TOOL_FAILURE_KIND_BACKGROUND_AGENT_DENIED,
2533
2625
  TOOL_FAILURE_KIND_TIMEOUT,
2534
2626
  getMeter,
2627
+ recordGoalStateMetrics,
2535
2628
  recordChatCompressionMetrics,
2536
2629
  recordToolCallMetrics,
2537
2630
  recordToolExecutionMetrics,