@qwen-code/qwen-code 0.23.5-preview.0 → 0.24.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 (480) hide show
  1. package/bundled/qc-helper/docs/features/_meta.ts +1 -0
  2. package/bundled/qc-helper/docs/features/goals.md +4 -2
  3. package/bundled/qc-helper/docs/features/omni-fixed-policies-preset.json +242 -0
  4. package/bundled/qc-helper/docs/features/omni-media-policies.md +443 -0
  5. package/bundled/qc-helper/docs/overview.md +1 -1
  6. package/bundled/qc-helper/docs/quickstart.md +2 -3
  7. package/chunks/MaxSizedBox-I5COUCHZ.js +148 -0
  8. package/chunks/{StandaloneSessionPicker-V635V72I.js → StandaloneSessionPicker-KUGOBVEW.js} +114 -90
  9. package/chunks/acp-subagent-executor-PRPMLKVJ.js +164 -0
  10. package/chunks/{acpAgent-3DPWZTNC.js → acpAgent-EHXZXVUB.js} +269 -194
  11. package/chunks/{agent-KIHGINKN.js → agent-FWPNJI6N.js} +59 -49
  12. package/chunks/agent-headless-M5Z7WIDL.js +104 -0
  13. package/chunks/{anthropicContentGenerator-4FGOM5LK.js → anthropicContentGenerator-FLTEUSIQ.js} +30 -27
  14. package/chunks/{artifact-tool-MUTNH4NI.js → artifact-tool-3MWM6SN2.js} +11 -7
  15. package/chunks/{askUserQuestion-AKIRLVB5.js → askUserQuestion-YFFBB4K3.js} +6 -4
  16. package/chunks/bridge-EWCKRGWY.js +156 -0
  17. package/chunks/{build-5KWQBWEQ.js → build-5OQN7CDU.js} +1 -1
  18. package/chunks/caption-audio-UXXLI3JZ.js +443 -0
  19. package/chunks/caption-image-B7O4TUFP.js +247 -0
  20. package/chunks/{channel-management-service-RRILWSXX.js → channel-management-service-GRJG5R46.js} +1 -1
  21. package/chunks/channel-settings-store-NXZNLT5L.js +158 -0
  22. package/chunks/{channel-worker-group-3DUJFZJR.js → channel-worker-group-SCSKCSBJ.js} +4 -4
  23. package/chunks/{channel-worker-manager-E5UW2VLA.js → channel-worker-manager-AHCZCKON.js} +4 -4
  24. package/chunks/{channel-worker-supervisor-VN33GSEC.js → channel-worker-supervisor-BGUAVITB.js} +3 -3
  25. package/chunks/{chunk-3LLEB5CU.js → chunk-24ZB2JNI.js} +2 -2
  26. package/chunks/{chunk-5NUKK2DT.js → chunk-25FMWESU.js} +47 -8
  27. package/chunks/{chunk-3WWPEFMX.js → chunk-2FQM443D.js} +82 -4
  28. package/chunks/{chunk-VEXUA6DX.js → chunk-2FRZ4ZP2.js} +13 -11
  29. package/chunks/{chunk-WBSJ6VPZ.js → chunk-2GNZTJRK.js} +3 -3
  30. package/chunks/{chunk-YP2K3WOS.js → chunk-2VWXODMY.js} +7 -4
  31. package/chunks/{chunk-L2A5VBDL.js → chunk-2ZCLSPE4.js} +9 -9
  32. package/chunks/{chunk-KEM7MWS7.js → chunk-366JNNY7.js} +6 -4
  33. package/chunks/{chunk-TKF4JINY.js → chunk-3FEGERVL.js} +1 -1
  34. package/chunks/{chunk-TDKUXSJO.js → chunk-3MW6PPA5.js} +1 -1
  35. package/chunks/{chunk-4LIPOIXS.js → chunk-3NHJLWOD.js} +1 -1
  36. package/chunks/{chunk-3UGMLA4V.js → chunk-3V7RNGLC.js} +10 -10
  37. package/chunks/{chunk-XICCGDWF.js → chunk-3WIPATJX.js} +2 -2
  38. package/chunks/chunk-43QUA4MC.js +135 -0
  39. package/chunks/{chunk-Q2SAQTEJ.js → chunk-4B7U3KQP.js} +1 -1
  40. package/chunks/{chunk-SFL6U7U7.js → chunk-4JFRCIMW.js} +2 -2
  41. package/chunks/{chunk-TPY6HW55.js → chunk-4OZY6LN2.js} +12 -6
  42. package/chunks/{chunk-IVFTLUZD.js → chunk-4SZ2636R.js} +3 -3
  43. package/chunks/{chunk-7CLLH5TI.js → chunk-4YS7RMCB.js} +6 -4
  44. package/chunks/{chunk-NQ272MQG.js → chunk-5XK2YELE.js} +7 -5
  45. package/chunks/{chunk-HX4WXX3H.js → chunk-65YADOPT.js} +89 -74
  46. package/chunks/chunk-6C3D7BKK.js +153 -0
  47. package/chunks/{chunk-DC4ZNGH4.js → chunk-6DB6UHY3.js} +3 -3
  48. package/chunks/{chunk-WZWTY7SG.js → chunk-6IW6SX75.js} +6 -6
  49. package/chunks/{chunk-HYHSMTRA.js → chunk-6XRR4RYH.js} +4 -4
  50. package/chunks/{chunk-AXPOOQAW.js → chunk-736AZVPL.js} +2 -2
  51. package/chunks/{chunk-UQGRJTDK.js → chunk-7JWD2EML.js} +3 -3
  52. package/chunks/{chunk-BUQN5LTI.js → chunk-7PQ65Z5F.js} +2 -2
  53. package/chunks/{chunk-43Y26NPF.js → chunk-A5EWSUYT.js} +3 -3
  54. package/chunks/{chunk-VQDWCQOE.js → chunk-ANKISCKU.js} +1 -0
  55. package/chunks/{chunk-NXUZFW3G.js → chunk-AUFTA63J.js} +1 -1
  56. package/chunks/{chunk-4QPVZA5J.js → chunk-AVVSSP4R.js} +3 -3
  57. package/chunks/{chunk-36SDZ2Q4.js → chunk-B3HGO6BB.js} +7 -5
  58. package/chunks/{chunk-6USYH3EU.js → chunk-B3XJFEEH.js} +5 -3
  59. package/chunks/{chunk-GSKX53AN.js → chunk-BA6AXQDA.js} +1 -1
  60. package/chunks/{chunk-FBY32737.js → chunk-BHHR5MEI.js} +4 -4
  61. package/chunks/{chunk-FX6PZBOV.js → chunk-BJ2TJY7V.js} +4 -4
  62. package/chunks/chunk-BKVPLSEI.js +133 -0
  63. package/chunks/chunk-BQMSZSG6.js +21 -0
  64. package/chunks/{chunk-BW2SMO6L.js → chunk-BXAU2UKM.js} +1 -1
  65. package/chunks/{chunk-3LMDSCLU.js → chunk-C4FISGDN.js} +2 -2
  66. package/chunks/{chunk-XFFRI3WM.js → chunk-CA63HYHU.js} +4 -2
  67. package/chunks/{chunk-IXO2OCIP.js → chunk-CKNBSVBC.js} +12 -8
  68. package/chunks/{chunk-347O2YZJ.js → chunk-CNG7ILRW.js} +39 -61
  69. package/chunks/chunk-CQULG2GJ.js +1330 -0
  70. package/chunks/{chunk-VVI7MK3V.js → chunk-CTGMXP4A.js} +9 -7
  71. package/chunks/{chunk-QT6Z2IBF.js → chunk-CYFQLCCG.js} +2 -2
  72. package/chunks/chunk-DBDJRURL.js +42 -0
  73. package/chunks/{chunk-X7AYIXC7.js → chunk-DJLCK66M.js} +5 -3
  74. package/chunks/chunk-DJYHML3Y.js +121 -0
  75. package/chunks/{chunk-MO4XID7S.js → chunk-DNDECZXY.js} +3 -3
  76. package/chunks/{chunk-D7JMO2GP.js → chunk-DNHL4S5B.js} +1 -1
  77. package/chunks/{chunk-WL36KHUQ.js → chunk-DTSG4EHA.js} +11 -9
  78. package/chunks/{chunk-M23GFJ5B.js → chunk-EHMLJKF5.js} +1 -1
  79. package/chunks/{chunk-TIGXX4PA.js → chunk-EKBQJ627.js} +2 -2
  80. package/chunks/{chunk-RSWBT7AZ.js → chunk-ERIBG3BX.js} +35 -551
  81. package/chunks/{chunk-PPJSG2PU.js → chunk-EVZT24AF.js} +6 -142
  82. package/chunks/{chunk-E2VSBAFA.js → chunk-FL2EJUOY.js} +5 -5
  83. package/chunks/{chunk-2C5TR6HN.js → chunk-FSNLTHNG.js} +1 -1
  84. package/chunks/chunk-FTKXJMQV.js +255 -0
  85. package/chunks/{chunk-TRZ22SG5.js → chunk-FXPP7VLM.js} +6 -4
  86. package/chunks/{chunk-CDDP4ONL.js → chunk-G3PBYAGM.js} +60 -134
  87. package/chunks/{chunk-AEWCOE64.js → chunk-GACWUBXV.js} +2 -2
  88. package/chunks/{chunk-OWUAZXXN.js → chunk-GHG4PQY2.js} +3 -3
  89. package/chunks/{chunk-VU3XMZ5I.js → chunk-GHZJQCSZ.js} +3 -3
  90. package/chunks/{chunk-FIJODK52.js → chunk-GJHAV2F7.js} +3 -3
  91. package/chunks/{chunk-36NRLIR6.js → chunk-GQZA7EYC.js} +11 -11
  92. package/chunks/{chunk-4JFLRHNE.js → chunk-GVHYY2RS.js} +1 -1
  93. package/chunks/{chunk-H6L4NEAT.js → chunk-GVMXFXQG.js} +1 -1
  94. package/chunks/{chunk-G45B3INR.js → chunk-GVTAFLWB.js} +2 -2
  95. package/chunks/{chunk-GJKP6XOB.js → chunk-GW5SJ3II.js} +16 -19
  96. package/chunks/{chunk-AQP3H22J.js → chunk-GY7FOHQP.js} +1 -1
  97. package/chunks/chunk-GZ5MEGA3.js +44 -0
  98. package/chunks/{chunk-FCPJXKDG.js → chunk-HA6DKD44.js} +9 -9
  99. package/chunks/{chunk-FEDFZBGR.js → chunk-HR4OWLKI.js} +3 -3
  100. package/chunks/{chunk-CXY6BICQ.js → chunk-HWKWZSZY.js} +162 -109
  101. package/chunks/{chunk-K4XMAIRX.js → chunk-I3NKMMHS.js} +12 -12
  102. package/chunks/{chunk-QMENOK5T.js → chunk-IH4TNUVS.js} +9 -7
  103. package/chunks/{chunk-FASYATAZ.js → chunk-IHUOMYBO.js} +1 -1
  104. package/chunks/{chunk-IZ2U57NY.js → chunk-IITTKFWM.js} +4 -2
  105. package/chunks/{chunk-M22WLKLI.js → chunk-IQGEZOGN.js} +7 -7
  106. package/chunks/chunk-IVPSLX4P.js +578 -0
  107. package/chunks/{chunk-BTICBRPL.js → chunk-IWMYX5LB.js} +3 -3
  108. package/chunks/{chunk-V4JJAVHQ.js → chunk-JCIDHFSB.js} +2 -2
  109. package/chunks/{chunk-PF7GAP6K.js → chunk-JENFAGVX.js} +65 -54
  110. package/chunks/{chunk-LO2UWNO5.js → chunk-JFEWKEKG.js} +3 -3
  111. package/chunks/{chunk-BHG3H6OZ.js → chunk-JJVDKHQU.js} +1 -1
  112. package/chunks/chunk-JYGESWZM.js +149 -0
  113. package/chunks/{chunk-KVC7HZWK.js → chunk-JYTJ5FCM.js} +1 -1
  114. package/chunks/{chunk-KVQ3QL4K.js → chunk-KCL6OMCX.js} +3 -3
  115. package/chunks/{chunk-3HTUE6ZR.js → chunk-KCRV4F3G.js} +4 -4
  116. package/chunks/{chunk-3WILPKTJ.js → chunk-KKPIFWTZ.js} +11 -6
  117. package/chunks/{chunk-CXONOVBN.js → chunk-KS6F6LZQ.js} +8 -6
  118. package/chunks/chunk-KSEKRQJO.js +253 -0
  119. package/chunks/{chunk-P42KMMU6.js → chunk-KWTLCPYY.js} +19 -6
  120. package/chunks/{chunk-U4AASWUQ.js → chunk-L4GF4IK2.js} +3 -3
  121. package/chunks/{chunk-5FK4MSHB.js → chunk-LADOQIYQ.js} +6 -4
  122. package/chunks/{chunk-DJXSOEFB.js → chunk-LAE6RY3L.js} +1 -1
  123. package/chunks/{chunk-CQPM66MG.js → chunk-LG475XAV.js} +4 -4
  124. package/chunks/{chunk-3BZI5GDP.js → chunk-M5YIHMXP.js} +6 -4
  125. package/chunks/{chunk-6WXVEDT2.js → chunk-MC2RYJMU.js} +5 -3
  126. package/chunks/chunk-MNU36NGH.js +233 -0
  127. package/chunks/{chunk-M4U2LTD2.js → chunk-MS4SXNJ6.js} +1 -1
  128. package/chunks/{chunk-ZFHKUQZ4.js → chunk-NEVUE35Z.js} +5 -5
  129. package/chunks/{chunk-DRAX5YAI.js → chunk-NFC4WTY2.js} +6 -4
  130. package/chunks/{chunk-SOLRBF7L.js → chunk-NSKNTJHU.js} +10 -10
  131. package/chunks/{chunk-B5TJK7B3.js → chunk-NZRX5WYI.js} +1 -1
  132. package/chunks/{chunk-YM6KUQ2S.js → chunk-O4A2B6V2.js} +3 -3
  133. package/chunks/{chunk-DX6JTDMR.js → chunk-OB57Y2WH.js} +1 -1
  134. package/chunks/{chunk-INN5ORKX.js → chunk-OLFTIODD.js} +1 -1
  135. package/chunks/chunk-PF3RVYRK.js +108 -0
  136. package/chunks/{chunk-WSJI6ODG.js → chunk-PGMF3LSO.js} +29 -27
  137. package/chunks/{chunk-OALXNGUA.js → chunk-PJ3GAHED.js} +10 -10
  138. package/chunks/{chunk-XWJFDJZK.js → chunk-PJSZXERN.js} +1 -1
  139. package/chunks/{chunk-GSAOVDTH.js → chunk-POMFSBEC.js} +4 -4
  140. package/chunks/{chunk-EWNKP4V4.js → chunk-PPVM7YLS.js} +1 -1
  141. package/chunks/{chunk-WK6DEH3Q.js → chunk-PQQV3OBW.js} +6 -4
  142. package/chunks/{chunk-BHVF3R6B.js → chunk-PZT2654P.js} +4 -4
  143. package/chunks/{chunk-ZSTCM3MX.js → chunk-Q5N5NEVT.js} +1 -1
  144. package/chunks/{chunk-KFFCDLKV.js → chunk-QE36VXWP.js} +1 -1
  145. package/chunks/{chunk-V545KI73.js → chunk-QPTE6BKL.js} +1 -1
  146. package/chunks/{chunk-5VQR2DD7.js → chunk-QQPRTJOM.js} +5 -3
  147. package/chunks/{chunk-QIPLWW6Q.js → chunk-QU7T5PKF.js} +1 -1
  148. package/chunks/{chunk-Y2KJC55Y.js → chunk-QYT7J3UM.js} +4 -4
  149. package/chunks/{chunk-SFHX5G2S.js → chunk-R34ALEH5.js} +14 -14
  150. package/chunks/{chunk-TXTCM3TC.js → chunk-R4DAJXOV.js} +18 -14
  151. package/chunks/{chunk-2GP6BQ2J.js → chunk-RA6PKQVM.js} +2 -2
  152. package/chunks/{chunk-HXUI5D4H.js → chunk-RDN5ITXF.js} +1 -1
  153. package/chunks/{chunk-G6UUOCUT.js → chunk-RMI3DKMV.js} +1 -1
  154. package/chunks/chunk-RSFNJ6UU.js +1252 -0
  155. package/chunks/{chunk-EDIDYZBT.js → chunk-RVT5L74D.js} +1 -1
  156. package/chunks/{chunk-GI7SLDOI.js → chunk-RXP5FVC4.js} +6 -6
  157. package/chunks/chunk-S34QJ6IR.js +290 -0
  158. package/chunks/chunk-S5BHLTHK.js +190 -0
  159. package/chunks/{chunk-2XRE4KE4.js → chunk-S7BE3FMA.js} +1 -1
  160. package/chunks/{chunk-7O5PYQ3M.js → chunk-SBP43AO6.js} +1 -1
  161. package/chunks/chunk-SLHYLVRW.js +1377 -0
  162. package/chunks/{chunk-HNFKYKHH.js → chunk-SMAAYU3F.js} +16 -16
  163. package/chunks/{chunk-KAYC5FBN.js → chunk-SNPYTKXI.js} +825 -234
  164. package/chunks/{chunk-IKBEIDOH.js → chunk-SOZJODVX.js} +13 -13
  165. package/chunks/{chunk-Y4NNIGYO.js → chunk-SSFOFDNL.js} +1 -1
  166. package/chunks/{chunk-WNQIJTOP.js → chunk-SSGVTJ2W.js} +243 -17
  167. package/chunks/{chunk-NFXXBWSE.js → chunk-SU64336V.js} +2 -2
  168. package/chunks/chunk-TFDCK56Y.js +154 -0
  169. package/chunks/{chunk-JRHKM3YQ.js → chunk-TS4JJ7NN.js} +2 -2
  170. package/chunks/{chunk-C4HBZQNH.js → chunk-U3MTHCJF.js} +1 -1
  171. package/chunks/{chunk-AUX2FL5T.js → chunk-UBQVV7MX.js} +625 -6
  172. package/chunks/{chunk-B6RMK4ED.js → chunk-UHBYCY7U.js} +9 -7
  173. package/chunks/{chunk-Y53DG2HA.js → chunk-UIWUFHRJ.js} +1 -1
  174. package/chunks/chunk-UQRDQCWF.js +102 -0
  175. package/chunks/{chunk-NKTMUPHJ.js → chunk-UVMU7DDP.js} +5 -3
  176. package/chunks/chunk-UXEI7POA.js +273 -0
  177. package/chunks/chunk-V2XJJTAB.js +228 -0
  178. package/chunks/chunk-VDNCKE2O.js +24 -0
  179. package/chunks/{chunk-YQQ2U7AS.js → chunk-VISF4MEY.js} +1 -1
  180. package/chunks/{chunk-RRI764F7.js → chunk-VPFKSRAB.js} +13 -11
  181. package/chunks/chunk-VPGRGNNH.js +578 -0
  182. package/chunks/{chunk-SYMXYRM5.js → chunk-W7JWIIRC.js} +1 -1
  183. package/chunks/{chunk-AZCTY64Z.js → chunk-WEUQIY3Q.js} +1 -1
  184. package/chunks/{chunk-SSWTA7CH.js → chunk-WIKUMTAB.js} +12 -12
  185. package/chunks/chunk-WL2CTQGT.js +1625 -0
  186. package/chunks/chunk-WL2V7PTE.js +78 -0
  187. package/chunks/{chunk-Q54O3EIA.js → chunk-WSZ6VS24.js} +45 -30
  188. package/chunks/{chunk-UZSB57EV.js → chunk-WX4W3FCV.js} +5 -5
  189. package/chunks/{chunk-OSG23MR3.js → chunk-X3T5IOX6.js} +2 -2
  190. package/chunks/{chunk-EIBECN2J.js → chunk-XGHVF5DC.js} +5 -5
  191. package/chunks/{chunk-D3KVGQUV.js → chunk-XJ52OCCN.js} +4 -4
  192. package/chunks/{chunk-YZXSDPOQ.js → chunk-XMAIUTED.js} +84 -40
  193. package/chunks/{chunk-QGEISOJ2.js → chunk-XQBZZVJA.js} +3 -3
  194. package/chunks/{chunk-OZEV3R3S.js → chunk-XYAB5R6E.js} +3 -3
  195. package/chunks/chunk-XZA32HII.js +19 -0
  196. package/chunks/{chunk-4FLUQWJ4.js → chunk-Y3Q5OK4D.js} +1 -1
  197. package/chunks/chunk-YDERQ7ZV.js +248 -0
  198. package/chunks/{chunk-AKRSSKUT.js → chunk-YFHX6MOF.js} +10 -10
  199. package/chunks/{chunk-ZMYKNKET.js → chunk-YPJZDZMP.js} +3 -3
  200. package/chunks/{chunk-3XBUCOWS.js → chunk-YSD6IY6F.js} +2 -2
  201. package/chunks/{chunk-CH2YDT6X.js → chunk-YVYK3JYU.js} +5 -3
  202. package/chunks/{chunk-YL3UJML3.js → chunk-YWDVNBGE.js} +4 -4
  203. package/chunks/{chunk-C3T6HPNM.js → chunk-ZGADNVME.js} +5 -5
  204. package/chunks/{chunk-M3JGHRMQ.js → chunk-ZJ7KIWG5.js} +1 -1
  205. package/chunks/{chunk-QHSOINX6.js → chunk-ZJBYZN5D.js} +2 -2
  206. package/chunks/{chunk-SYROIHU7.js → chunk-ZRQGTRHA.js} +4 -2
  207. package/chunks/{chunk-NCPFOLM2.js → chunk-ZTBP4SFC.js} +78 -18
  208. package/chunks/{chunk-ZAFYHRVY.js → chunk-ZYDMQCQP.js} +4 -274
  209. package/chunks/clip-audio-SH4L7AEY.js +255 -0
  210. package/chunks/clip-image-BQRPECIS.js +239 -0
  211. package/chunks/clip-video-JIRMV5IH.js +277 -0
  212. package/chunks/{codex-subagent-executor-AEAIQZDC.js → codex-subagent-executor-Y5ILNWG6.js} +92 -68
  213. package/chunks/config-3X4AXU45.js +21 -0
  214. package/chunks/config-T5RO4NJV.js +17 -0
  215. package/chunks/config-utils-3YNEDKT4.js +151 -0
  216. package/chunks/contextCommand-7JVXVYN4.js +144 -0
  217. package/chunks/convert-image-D52K2FFB.js +231 -0
  218. package/chunks/{core-runtime-ZI4RTOJQ.js → core-runtime-6IZNPJUN.js} +92 -67
  219. package/chunks/{create-sub-session-BBWFQARJ.js → create-sub-session-5XHUO2PW.js} +90 -66
  220. package/chunks/{create-sub-session-MSGNIM37.js → create-sub-session-6EDEANCD.js} +7 -5
  221. package/chunks/{cron-create-U2JJ5CCF.js → cron-create-GS7ORRO6.js} +8 -5
  222. package/chunks/{cron-delete-7DM4LJWD.js → cron-delete-3GGDNNXD.js} +8 -5
  223. package/chunks/{cron-list-VCUSZK2Y.js → cron-list-EX27DW4H.js} +8 -5
  224. package/chunks/{daemon-git-worktree-guard-KECEMV6A.js → daemon-git-worktree-guard-BULXRIDA.js} +90 -66
  225. package/chunks/daemon-status-provider-VSVXVY4O.js +155 -0
  226. package/chunks/daemon-trust-policy-WVSDS2WT.js +150 -0
  227. package/chunks/{daemon-trust-policy-monitor-546N5ZVL.js → daemon-trust-policy-monitor-HXQ2GLTX.js} +95 -71
  228. package/chunks/deferred-core-runtime-EXI7LXLE.js +153 -0
  229. package/chunks/{display-image-QTHALY6N.js → display-image-FTWDRBOP.js} +10 -7
  230. package/chunks/{dist-BNW423XT.js → dist-CXDHIHN4.js} +5 -0
  231. package/chunks/downsample-audio-LPDWX6GF.js +217 -0
  232. package/chunks/downsample-image-A5JEYIV5.js +249 -0
  233. package/chunks/downscale-video-4W5BX5KO.js +249 -0
  234. package/chunks/{earlyInputCapture-BXP7V2P3.js → earlyInputCapture-UJ3KFVZQ.js} +3 -2
  235. package/chunks/{edit-CMSQB7NP.js → edit-JJ34NKRC.js} +68 -56
  236. package/chunks/{en-56QLKXS2.js → en-FCK6MBTI.js} +16 -0
  237. package/chunks/{enter-worktree-DA6A4XC5.js → enter-worktree-QK7DR5EF.js} +12 -9
  238. package/chunks/{enterPlanMode-UDPMNESD.js → enterPlanMode-H6FBPVLB.js} +62 -51
  239. package/chunks/environment-7DMLANWW.js +167 -0
  240. package/chunks/errors-OH3DYEDL.js +151 -0
  241. package/chunks/{exec-RPKEY6HP.js → exec-7CFNHYCV.js} +31 -9
  242. package/chunks/{exit-worktree-4H6Z2VQI.js → exit-worktree-62COYIHF.js} +14 -10
  243. package/chunks/exitPlanMode-5YR5VWXS.js +102 -0
  244. package/chunks/extract-audio-GSSZQV6G.js +229 -0
  245. package/chunks/extract-keyframes-Q6DRMQAJ.js +621 -0
  246. package/chunks/{fast-path-F2CYDDZ4.js → fast-path-4DS2GR5O.js} +5 -5
  247. package/chunks/ffmpeg-N4LIIVNR.js +21 -0
  248. package/chunks/{glob-Z2JMJKKN.js → glob-GFID3F3R.js} +63 -51
  249. package/chunks/{goal-tools-HXVVLGCV.js → goal-tools-2OB5WPNH.js} +59 -49
  250. package/chunks/{grep-H2I33VAO.js → grep-JB5DGQ3B.js} +13 -9
  251. package/chunks/handleAutoUpdate-5OQL4YBU.js +147 -0
  252. package/chunks/i18n-TV5G7SXO.js +164 -0
  253. package/chunks/{image-gen-HIAZCB5T.js → image-gen-LX3C4V3R.js} +16 -11
  254. package/chunks/initializer-R2EI4UJ6.js +151 -0
  255. package/chunks/installationInfo-HYOWC3BN.js +145 -0
  256. package/chunks/{keychain-token-storage-NQ5XWIPX.js → keychain-token-storage-ZZNRE6D4.js} +3 -2
  257. package/chunks/list-ORJQQUNR.js +154 -0
  258. package/chunks/{list-agents-EWDCEPIW.js → list-agents-HS6HH4DJ.js} +10 -7
  259. package/chunks/{llm-LSUBOJAR.js → llm-YKBQVN7S.js} +159 -134
  260. package/chunks/{llm-content-generator-MLIONRXE.js → llm-content-generator-QJBXJRKT.js} +11 -9
  261. package/chunks/loadedSettingsAdapter-4FQH6Y3D.js +148 -0
  262. package/chunks/{loggingContentGenerator-TUPEXFMM.js → loggingContentGenerator-DEOANG3F.js} +74 -63
  263. package/chunks/{loop-wakeup-ZBVRI6VH.js → loop-wakeup-4B7OY3TV.js} +9 -6
  264. package/chunks/{ls-6ZB3BEIR.js → ls-EZ5PSWU2.js} +8 -5
  265. package/chunks/{lsp-M54FQARP.js → lsp-DYFFHKB3.js} +6 -3
  266. package/chunks/{managed-npm-update-WEA5XMFZ.js → managed-npm-update-36U25ZEZ.js} +91 -67
  267. package/chunks/mcp-ZI7LXLAQ.js +148 -0
  268. package/chunks/memory-side-query-DRV7FXK4.js +221 -0
  269. package/chunks/model-call-collection-RX7C24YP.js +171 -0
  270. package/chunks/model-configuration-3JIO6IRV.js +161 -0
  271. package/chunks/modelConfigUtils-2BJQI2S4.js +140 -0
  272. package/chunks/{monitor-CI7YE7MT.js → monitor-LXQRI2IF.js} +63 -51
  273. package/chunks/nonInteractiveCli-HRXVUV2H.js +235 -0
  274. package/chunks/nonInteractiveToolExecutor-QPAIKNPL.js +101 -0
  275. package/chunks/{notebook-edit-3WCVRNGL.js → notebook-edit-5CM3VYNK.js} +63 -52
  276. package/chunks/ocr-image-Q4HYJ3U7.js +252 -0
  277. package/chunks/omni-A5XLPNSH.js +147 -0
  278. package/chunks/{openaiContentGenerator-OGILGUZE.js → openaiContentGenerator-O5G3QCHX.js} +36 -31
  279. package/chunks/{openaiResponsesContentGenerator-NXOXUPFM.js → openaiResponsesContentGenerator-W2V7AYVE.js} +12 -10
  280. package/chunks/pidfile-MI5FGYF5.js +151 -0
  281. package/chunks/{processUtils-O4II3RYH.js → processUtils-EWKUPVJH.js} +2 -2
  282. package/chunks/prompt-terminal-ledger-5HEXZMWT.js +143 -0
  283. package/chunks/{qwenContentGenerator-I4LRYADV.js → qwenContentGenerator-HHNDIW2Q.js} +70 -60
  284. package/chunks/{qwenOAuth2-3J66TOT5.js → qwenOAuth2-GD3UIYUP.js} +9 -8
  285. package/chunks/reactive-degrade-KWCJUHXH.js +375 -0
  286. package/chunks/read-file-ZQKBXJSH.js +37 -0
  287. package/chunks/{read-mcp-resource-LPSWXVOD.js → read-mcp-resource-INJIV3UC.js} +8 -4
  288. package/chunks/recall-media-memory-tool-PEE2BWRY.js +198 -0
  289. package/chunks/{record-artifact-L3CFJOMA.js → record-artifact-KKW3AIMJ.js} +6 -4
  290. package/chunks/record-source-2VSQINX6.js +24 -0
  291. package/chunks/{report-findings-LY5HQY4K.js → report-findings-OZSLWYAS.js} +7 -5
  292. package/chunks/{request-shutdown-53SNYGVR.js → request-shutdown-3RUGTWRR.js} +12 -9
  293. package/chunks/resumeHistoryUtils-5V3KISJ6.js +156 -0
  294. package/chunks/ripGrep-F5MM4HGA.js +43 -0
  295. package/chunks/{run-qwen-serve-ZVEKGS7Y.js → run-qwen-serve-3K3D5MSR.js} +70 -70
  296. package/chunks/{runtime-SJCRYNPA.js → runtime-FAWN3GQH.js} +98 -74
  297. package/chunks/sandbox-BPRE7KYF.js +170 -0
  298. package/chunks/sandboxConfig-V3OHETXW.js +138 -0
  299. package/chunks/scheduled-tasks-LB2PINB3.js +167 -0
  300. package/chunks/scheduler-NHAWKARI.js +160 -0
  301. package/chunks/{sdk-exporters-http-DR4G663K.js → sdk-exporters-http-SWXTEEVT.js} +3 -2
  302. package/chunks/{sdk-impl-SJR26MQF.js → sdk-impl-FK4JY6LX.js} +5 -4
  303. package/chunks/{send-message-DN76MXDX.js → send-message-TLF36UW2.js} +16 -13
  304. package/chunks/serve-UQL5X5K7.js +156 -0
  305. package/chunks/{server-UHMKPCAZ.js → server-3HUUEDUC.js} +286 -261
  306. package/chunks/{session-ZLUK7E4P.js → session-XODWSTJ3.js} +151 -127
  307. package/chunks/session-attachments-root-BENUIMZM.js +141 -0
  308. package/chunks/{session-pr-refresh-3OMTQWCZ.js → session-pr-refresh-CSRULMTI.js} +95 -71
  309. package/chunks/{settings-P4DHIIUP.js → settings-42FFX5TK.js} +94 -70
  310. package/chunks/{shell-IMFUVQQ5.js → shell-NLNU2TPF.js} +59 -49
  311. package/chunks/{skill-NB5RJGZW.js → skill-KIRNNJMK.js} +22 -17
  312. package/chunks/skill-settings-MPHPE43F.js +164 -0
  313. package/chunks/spawnChannel-TXNLXP2R.js +152 -0
  314. package/chunks/standalone-update-XAC364AM.js +156 -0
  315. package/chunks/{start-opentui-ui-JKAIWGF7.js → start-opentui-ui-3OLDXRMX.js} +223 -189
  316. package/chunks/{startInteractiveUI-YRPOT6GH.js → startInteractiveUI-UB2HRTV7.js} +339 -295
  317. package/chunks/storage-VZECDJNX.js +17 -0
  318. package/chunks/{syntheticOutput-EX5L5GYI.js → syntheticOutput-SSXJ2NEY.js} +5 -3
  319. package/chunks/task-create-EEMYF6LY.js +30 -0
  320. package/chunks/{task-list-ZLJSMRFA.js → task-list-GA5GOR74.js} +9 -6
  321. package/chunks/{task-stop-MD7P6QGK.js → task-stop-3MXTDL7H.js} +6 -3
  322. package/chunks/{task-update-3LSYQDRW.js → task-update-JSBHKL4L.js} +16 -13
  323. package/chunks/{team-create-2XTBYRJF.js → team-create-VES6TOBA.js} +62 -51
  324. package/chunks/{team-delete-RIDINW6I.js → team-delete-V2CROTI6.js} +9 -6
  325. package/chunks/{team-plan-approval-CFNWW7ZQ.js → team-plan-approval-ZMCHBBUM.js} +61 -50
  326. package/chunks/terminal-image-renderer-73NDY7OJ.js +156 -0
  327. package/chunks/theme-manager-YG3L7BV6.js +140 -0
  328. package/chunks/{todoWrite-XSTG2VT5.js → todoWrite-CMBHPR66.js} +8 -5
  329. package/chunks/tool-result-media-V3LNDB5Q.js +45 -0
  330. package/chunks/{tool-search-ZHTJU2MV.js → tool-search-7XR7RHMB.js} +43 -21
  331. package/chunks/total-session-admission-QUZYGACG.js +151 -0
  332. package/chunks/transcribe-audio-AJQZPNEV.js +30 -0
  333. package/chunks/trustedFolders-QRII2BL7.js +160 -0
  334. package/chunks/understand-video-segments-5TMRDQUB.js +438 -0
  335. package/chunks/{update-relaunch-LI7GRP36.js → update-relaunch-735DXN5P.js} +5 -5
  336. package/chunks/updateCheck-FXXOM4YS.js +156 -0
  337. package/chunks/upload-cache-5YULQVZZ.js +17 -0
  338. package/chunks/upload-config-CKDIXTPK.js +25 -0
  339. package/chunks/useAutoAcceptIndicator-KXXTKOGD.js +158 -0
  340. package/chunks/{validateNonInterActiveAuth-YFPCYYNL.js → validateNonInterActiveAuth-DXCBDHIX.js} +143 -119
  341. package/chunks/{version-4MTL4JVU.js → version-76T4NBMQ.js} +1 -1
  342. package/chunks/{web-fetch-O6RG6ISB.js → web-fetch-UIDZX5RN.js} +27 -20
  343. package/chunks/{web-search-JHAXVEMD.js → web-search-VETWDOUJ.js} +14 -11
  344. package/chunks/{web-shell-static-FFWCUUZS.js → web-shell-static-XSCCMXKQ.js} +3 -3
  345. package/chunks/{workflow-O7L6VDYU.js → workflow-MHYBJHPP.js} +63 -52
  346. package/chunks/workspace-providers-status-WFBT3LS5.js +154 -0
  347. package/chunks/{workspace-registration-store-7G4E7YPY.js → workspace-registration-store-M3WKKBJQ.js} +1 -1
  348. package/chunks/workspace-registry-FIUB7MGD.js +160 -0
  349. package/chunks/workspace-runtime-coordinator-5Z7M36W7.js +163 -0
  350. package/chunks/workspace-service-TP4VRTZF.js +165 -0
  351. package/chunks/workspace-skills-status-CILWVQHU.js +151 -0
  352. package/chunks/{workspace-trust-reconciler-XEBW5FUL.js → workspace-trust-reconciler-2OPSTQNS.js} +98 -74
  353. package/chunks/write-file-N7NBKIYD.js +107 -0
  354. package/chunks/{zh-TW-S3YTQ4DS.js → zh-TW-SRB5QSER.js} +16 -0
  355. package/chunks/{zh-F76MZTL3.js → zh-UBQIFP4A.js} +16 -0
  356. package/chunks/{zoom-image-RDPRTP4B.js → zoom-image-3GHVMYEW.js} +18 -13
  357. package/cli.js +14 -14
  358. package/export-transcript-document.js +3 -3
  359. package/locales/en.js +18 -0
  360. package/locales/zh-TW.js +17 -0
  361. package/locales/zh.js +17 -0
  362. package/package.json +3 -3
  363. package/web-shell/assets/{abnfDiagram-VCTEODGH-RxykUDmi.js → abnfDiagram-VCTEODGH-vfbwxn7H.js} +1 -1
  364. package/web-shell/assets/{arc-CZpgGCJC.js → arc-BT0KMrP5.js} +1 -1
  365. package/web-shell/assets/{architectureDiagram-5GKGNRK7-BHSMzNDT.js → architectureDiagram-5GKGNRK7-B3TlGgP4.js} +1 -1
  366. package/web-shell/assets/{blockDiagram-NRAW4CY4-Bn4mF9SZ.js → blockDiagram-NRAW4CY4-DnwF5xi-.js} +1 -1
  367. package/web-shell/assets/{c4Diagram-UCG6FXSJ-CBM-Bj6t.js → c4Diagram-UCG6FXSJ-8qvMMfFg.js} +1 -1
  368. package/web-shell/assets/channel-CTm0xByY.js +1 -0
  369. package/web-shell/assets/{chunk-2Q5K7J3B-D5Fin58O.js → chunk-2Q5K7J3B-CHM51UX6.js} +1 -1
  370. package/web-shell/assets/{chunk-5VM5RSS4-CY05weF7.js → chunk-5VM5RSS4-BNXaOtyN.js} +1 -1
  371. package/web-shell/assets/{chunk-F27PBJKO-3neZnj5Y.js → chunk-F27PBJKO-DT-vcF3X.js} +1 -1
  372. package/web-shell/assets/{chunk-G27WJ6UU-Cd7EU4BE.js → chunk-G27WJ6UU-BXz8438J.js} +1 -1
  373. package/web-shell/assets/{chunk-JWPE2WC7-DwK1mqFw.js → chunk-JWPE2WC7-CP2ozL3M.js} +1 -1
  374. package/web-shell/assets/{chunk-LCL6LL3I-Sl7vY22C.js → chunk-LCL6LL3I-DTAWXvja.js} +1 -1
  375. package/web-shell/assets/{chunk-POPQ4Y6H-BXNzpbVg.js → chunk-POPQ4Y6H-DZENJpGx.js} +1 -1
  376. package/web-shell/assets/{chunk-SVP7TREG-DjjButcp.js → chunk-SVP7TREG-Dl8djRwv.js} +1 -1
  377. package/web-shell/assets/{chunk-XXDRQBXY-DNOiCjOJ.js → chunk-XXDRQBXY-B3lJllMA.js} +1 -1
  378. package/web-shell/assets/classDiagram-DTDB5LWJ-DhMuMK_E.js +1 -0
  379. package/web-shell/assets/classDiagram-v2-JRS7N3AN-DhMuMK_E.js +1 -0
  380. package/web-shell/assets/{cose-bilkent-JH36ORCC-BUnker7a.js → cose-bilkent-JH36ORCC-DeosJDcB.js} +1 -1
  381. package/web-shell/assets/{cynefin-OW5HDTMX-DcUgdWE5.js → cynefin-OW5HDTMX-BvqcLoHm.js} +1 -1
  382. package/web-shell/assets/{cynefinDiagram-5FMLGOSQ-CvDKsZsL.js → cynefinDiagram-5FMLGOSQ-BYS0pmSs.js} +1 -1
  383. package/web-shell/assets/{dagre-3AP2YEHR-jpCmUbr1.js → dagre-3AP2YEHR-IDScuL-R.js} +1 -1
  384. package/web-shell/assets/{diagram-S7CK7UJ4-DBe_bKE5.js → diagram-S7CK7UJ4-EYNlkkKJ.js} +1 -1
  385. package/web-shell/assets/{diagram-UQ7AKVKN-oXvPpDgs.js → diagram-UQ7AKVKN-D3x9g8Ep.js} +1 -1
  386. package/web-shell/assets/{diagram-VSXAHHWV-BD7-_SGh.js → diagram-VSXAHHWV-C35O1dtR.js} +1 -1
  387. package/web-shell/assets/{diagram-VX7I27RA-DOJL0wub.js → diagram-VX7I27RA-XvMv2aCN.js} +1 -1
  388. package/web-shell/assets/{diagram-Z3DM3KII-DRIiodDD.js → diagram-Z3DM3KII-CeryNvru.js} +1 -1
  389. package/web-shell/assets/{ebnfDiagram-PWID7BFC-Db31Ulmb.js → ebnfDiagram-PWID7BFC-DAmepjvB.js} +1 -1
  390. package/web-shell/assets/{erDiagram-SSCWMZ5O-CVHhwI2_.js → erDiagram-SSCWMZ5O-BkGfBZt_.js} +1 -1
  391. package/web-shell/assets/{flowDiagram-A5DVABFB-DWOFy1FK.js → flowDiagram-A5DVABFB-CzUCgun9.js} +1 -1
  392. package/web-shell/assets/{ganttDiagram-EL5Y4UJY-C0sxQtPd.js → ganttDiagram-EL5Y4UJY-BIFST90r.js} +1 -1
  393. package/web-shell/assets/{gitGraphDiagram-WWUBYQGX-CNituBYC.js → gitGraphDiagram-WWUBYQGX-jVvRSGcu.js} +1 -1
  394. package/web-shell/assets/{index-B15NlwB8.js → index-M1TfOjx2.js} +457 -457
  395. package/web-shell/assets/{index-gm9tLk7h.js → index-krCDFzE6.js} +1 -1
  396. package/web-shell/assets/{infoDiagram-RXCK75RN-CxhJYtIR.js → infoDiagram-RXCK75RN-DsU7vA4Q.js} +1 -1
  397. package/web-shell/assets/{ishikawaDiagram-5VMMS53U-By2mchUy.js → ishikawaDiagram-5VMMS53U-K9mTNAbN.js} +1 -1
  398. package/web-shell/assets/{journeyDiagram-EYS64GPL-CVH-OweI.js → journeyDiagram-EYS64GPL-BKuHLGxv.js} +1 -1
  399. package/web-shell/assets/{kanban-definition-3QL26DDD-Cc9dQXLy.js → kanban-definition-3QL26DDD-CXG9frQ_.js} +1 -1
  400. package/web-shell/assets/{layout-C_60ysHw.js → layout-6G_l7UoH.js} +1 -1
  401. package/web-shell/assets/{linear-BvAVfqwu.js → linear-DYpvB2mh.js} +1 -1
  402. package/web-shell/assets/{mermaid.core-C3CoBKAc.js → mermaid.core-Sj3dJttQ.js} +6 -6
  403. package/web-shell/assets/{mindmap-definition-FBJOCRG2-Cuu8Q8LM.js → mindmap-definition-FBJOCRG2-DNJ1e6qd.js} +1 -1
  404. package/web-shell/assets/{pegDiagram-XKGWAZYB-DmAeyDO2.js → pegDiagram-XKGWAZYB-D-KPklHv.js} +1 -1
  405. package/web-shell/assets/{pieDiagram-E7YTZNPT-B7vbB_xv.js → pieDiagram-E7YTZNPT-BQPm03g2.js} +1 -1
  406. package/web-shell/assets/{quadrantDiagram-AXDQQJYC-BqOBkRR7.js → quadrantDiagram-AXDQQJYC-BubBXSqD.js} +1 -1
  407. package/web-shell/assets/{railroadDiagram-O6MQD6OU-sI06lZIu.js → railroadDiagram-O6MQD6OU-DatD6KIT.js} +1 -1
  408. package/web-shell/assets/{requirementDiagram-EFPCY7ZU-Bg13d10S.js → requirementDiagram-EFPCY7ZU-DiQ6jsZY.js} +1 -1
  409. package/web-shell/assets/{sankeyDiagram-P5KCCOFB-WFOzZHrR.js → sankeyDiagram-P5KCCOFB-C07fyxbH.js} +1 -1
  410. package/web-shell/assets/{sequenceDiagram-WJ2MYXX4-CCdRbA4E.js → sequenceDiagram-WJ2MYXX4-DWXtsWzI.js} +1 -1
  411. package/web-shell/assets/{sizeCapture-X5ZJPWSS-BH5F3bGg.js → sizeCapture-X5ZJPWSS-B0cQ1v0l.js} +1 -1
  412. package/web-shell/assets/{stateDiagram-HBIQ2CUA-NwS2X3QB.js → stateDiagram-HBIQ2CUA-zHgWc00n.js} +1 -1
  413. package/web-shell/assets/stateDiagram-v2-4QOOHH4V-C-3ZC2nf.js +1 -0
  414. package/web-shell/assets/{swimlanes-XN3QIQJK-Bm38pM28.js → swimlanes-XN3QIQJK-Dnrrhu0H.js} +1 -1
  415. package/web-shell/assets/swimlanesDiagram-VK2B7HYN-Ded1L5cw.js +8 -0
  416. package/web-shell/assets/{timeline-definition-24CTP7MA-Do-agLSo.js → timeline-definition-24CTP7MA-8BV7W2Xq.js} +1 -1
  417. package/web-shell/assets/{vennDiagram-4TSXK5OY-aggLfZzl.js → vennDiagram-4TSXK5OY-tmBBtlnj.js} +1 -1
  418. package/web-shell/assets/{wardleyDiagram-VM6X3IG4-D5JR3mXX.js → wardleyDiagram-VM6X3IG4-Cq96T3gb.js} +1 -1
  419. package/web-shell/assets/{xychartDiagram-S5SC5T6Z-DhtLDuXs.js → xychartDiagram-S5SC5T6Z-Dpzx_ZGQ.js} +1 -1
  420. package/web-shell/index.html +1 -1
  421. package/chunks/MaxSizedBox-FCF6M53W.js +0 -124
  422. package/chunks/acp-subagent-executor-TND6W2O5.js +0 -140
  423. package/chunks/agent-headless-EJ4QOUSM.js +0 -94
  424. package/chunks/bridge-MUX5YJZT.js +0 -132
  425. package/chunks/channel-settings-store-7CBIRZER.js +0 -134
  426. package/chunks/config-utils-KX2YS725.js +0 -127
  427. package/chunks/contextCommand-RV6Y5LNJ.js +0 -120
  428. package/chunks/daemon-status-provider-NULJNAEV.js +0 -131
  429. package/chunks/daemon-trust-policy-S4KWGPV3.js +0 -126
  430. package/chunks/deferred-core-runtime-T23ZT443.js +0 -128
  431. package/chunks/environment-TSQJUTPV.js +0 -143
  432. package/chunks/errors-RIVYJS6T.js +0 -127
  433. package/chunks/exitPlanMode-BYBBFN2T.js +0 -92
  434. package/chunks/handleAutoUpdate-FZP45KOR.js +0 -123
  435. package/chunks/i18n-OTB62AKW.js +0 -140
  436. package/chunks/initializer-4JXZEC4B.js +0 -127
  437. package/chunks/installationInfo-2IJV5QKC.js +0 -121
  438. package/chunks/list-KQSQ4A5G.js +0 -130
  439. package/chunks/loadedSettingsAdapter-TZTTNRHI.js +0 -124
  440. package/chunks/mcp-TFDTUPIA.js +0 -124
  441. package/chunks/model-configuration-ZCAKKIOF.js +0 -137
  442. package/chunks/modelConfigUtils-J3ZPW7ZK.js +0 -116
  443. package/chunks/nonInteractiveCli-GPT3TVOK.js +0 -211
  444. package/chunks/pidfile-GBTBIGHF.js +0 -127
  445. package/chunks/prompt-terminal-ledger-ILIXZI3E.js +0 -119
  446. package/chunks/read-file-G4XKW2CS.js +0 -31
  447. package/chunks/record-source-2GSY5JD5.js +0 -22
  448. package/chunks/resumeHistoryUtils-YPJU4XFE.js +0 -132
  449. package/chunks/ripGrep-AAKMALLM.js +0 -39
  450. package/chunks/sandbox-UIXL423Z.js +0 -146
  451. package/chunks/sandboxConfig-CY343YNJ.js +0 -114
  452. package/chunks/scheduled-tasks-5UGBEVNZ.js +0 -143
  453. package/chunks/scheduler-GCZYLZ2P.js +0 -136
  454. package/chunks/serve-2XXQLVK2.js +0 -132
  455. package/chunks/session-attachments-root-DHQM5IEZ.js +0 -117
  456. package/chunks/skill-settings-IXG5CTQO.js +0 -140
  457. package/chunks/spawnChannel-Q3YALTCJ.js +0 -128
  458. package/chunks/standalone-update-H5OJ7MM7.js +0 -132
  459. package/chunks/task-create-75HVPEAH.js +0 -28
  460. package/chunks/terminal-image-renderer-UDPJPGPQ.js +0 -132
  461. package/chunks/theme-manager-SK57EKMO.js +0 -116
  462. package/chunks/total-session-admission-UUZBDQCG.js +0 -127
  463. package/chunks/trustedFolders-4LDBLNTS.js +0 -136
  464. package/chunks/updateCheck-PKSSORPO.js +0 -132
  465. package/chunks/useAutoAcceptIndicator-I32UEQPI.js +0 -134
  466. package/chunks/workspace-providers-status-WRX6CJM4.js +0 -130
  467. package/chunks/workspace-registry-SXIMGT4D.js +0 -136
  468. package/chunks/workspace-runtime-coordinator-7DOEHXYT.js +0 -139
  469. package/chunks/workspace-service-HDXOZMYC.js +0 -141
  470. package/chunks/workspace-skills-status-VN4L37CA.js +0 -127
  471. package/chunks/write-file-LKX4ETIO.js +0 -97
  472. package/web-shell/assets/channel-DFYs_LlK.js +0 -1
  473. package/web-shell/assets/classDiagram-DTDB5LWJ-DnGrKXoM.js +0 -1
  474. package/web-shell/assets/classDiagram-v2-JRS7N3AN-DnGrKXoM.js +0 -1
  475. package/web-shell/assets/stateDiagram-v2-4QOOHH4V-1aU2JZXO.js +0 -1
  476. package/web-shell/assets/swimlanesDiagram-VK2B7HYN-Dp-u6kQG.js +0 -8
  477. package/chunks/{chunk-XAJZFGD2.js → chunk-PXXYQOZO.js} +8 -8
  478. package/chunks/{chunk-WVURIAEE.js → chunk-SVWWF5TZ.js} +3 -3
  479. package/chunks/{dist-G5UMXIGF.js → dist-I6D6XOWV.js} +1 -1
  480. package/chunks/{dist-UXVNLQHG.js → dist-VIKOMAGG.js} +3 -3
@@ -45,12 +45,6 @@ import {
45
45
  unknown,
46
46
  url
47
47
  } from "./chunk-CQ35AJ4Z.js";
48
- import {
49
- CronScheduler,
50
- DEFAULT_RECURRING_MAX_AGE_DAYS,
51
- closeFileWatcher,
52
- normalizeRecurringMaxAge
53
- } from "./chunk-IVFTLUZD.js";
54
48
  import {
55
49
  consumeUnread,
56
50
  forwardApproval,
@@ -59,20 +53,13 @@ import {
59
53
  sendStructuredMessage,
60
54
  wrapConfirmWithBadge,
61
55
  writeMessage
62
- } from "./chunk-7CLLH5TI.js";
56
+ } from "./chunk-4YS7RMCB.js";
63
57
  import {
64
58
  claimTask,
65
59
  listTasks,
66
60
  onTasksUpdated,
67
61
  unassignTeammateTasks
68
- } from "./chunk-WK6DEH3Q.js";
69
- import {
70
- parsePositiveIntegerEnv
71
- } from "./chunk-6PVPNMXU.js";
72
- import {
73
- buildModelIdContext,
74
- resolveModelId
75
- } from "./chunk-DX6JTDMR.js";
62
+ } from "./chunk-PQQV3OBW.js";
76
63
  import {
77
64
  SessionArtifactSnapshotAccumulator,
78
65
  aggregateTranscriptRecordFragments,
@@ -92,11 +79,13 @@ import {
92
79
  validateTranscriptRecord,
93
80
  walkTranscriptUuidChain,
94
81
  wrapUserPromptSubmitContext
95
- } from "./chunk-VQDWCQOE.js";
82
+ } from "./chunk-ANKISCKU.js";
96
83
  import {
97
- glob,
98
- globSync
99
- } from "./chunk-QJNDUTOL.js";
84
+ CronScheduler,
85
+ DEFAULT_RECURRING_MAX_AGE_DAYS,
86
+ closeFileWatcher,
87
+ normalizeRecurringMaxAge
88
+ } from "./chunk-4SZ2636R.js";
100
89
  import {
101
90
  promptIdContext,
102
91
  todoWorkChainContext
@@ -111,26 +100,14 @@ import {
111
100
  worktreeBranchForSlug,
112
101
  writeRuntimeStatus,
113
102
  writeWorktreeSessionMarker
114
- } from "./chunk-CXONOVBN.js";
103
+ } from "./chunk-KS6F6LZQ.js";
115
104
  import {
116
- SHARED_RECORD_SLOT,
117
- deriveSessionName,
118
- patchSessionRecord,
119
- unregisterSession
120
- } from "./chunk-OWUAZXXN.js";
105
+ parsePositiveIntegerEnv
106
+ } from "./chunk-6PVPNMXU.js";
121
107
  import {
122
- LEADER_NAME,
123
- MAX_TEAMMATES,
124
- assignTeammateColor,
125
- classifyShutdownResponse,
126
- findMemberByName,
127
- formatAgentId,
128
- generateUniqueTeammateName,
129
- readLocalBootId,
130
- readPidNamespaceId,
131
- sanitizeName,
132
- writeTeamFile
133
- } from "./chunk-CH2YDT6X.js";
108
+ buildModelIdContext,
109
+ resolveModelId
110
+ } from "./chunk-OB57Y2WH.js";
134
111
  import {
135
112
  AgentOutputMessageCapture,
136
113
  DEFAULT_OTLP_ENDPOINT,
@@ -193,6 +170,7 @@ import {
193
170
  parseUserInvocableField,
194
171
  qualifySkillName,
195
172
  reduceGoalControl,
173
+ reduceGoalSpend,
196
174
  reduceGoalTurnFinished,
197
175
  require_dist as require_dist2,
198
176
  skillRestrictionNames,
@@ -202,10 +180,14 @@ import {
202
180
  truncateNotificationLabel,
203
181
  validateGoalProposalReason,
204
182
  validateSkillName
205
- } from "./chunk-P42KMMU6.js";
183
+ } from "./chunk-KWTLCPYY.js";
206
184
  import {
207
185
  canUseRipgrep
208
- } from "./chunk-BTICBRPL.js";
186
+ } from "./chunk-IWMYX5LB.js";
187
+ import {
188
+ glob,
189
+ globSync
190
+ } from "./chunk-QJNDUTOL.js";
209
191
  import {
210
192
  SHELL_SELF_KILL_REJECTION,
211
193
  buildShellExecWarnings,
@@ -224,17 +206,7 @@ import {
224
206
  shouldDefaultToNodePty,
225
207
  splitCommands,
226
208
  stripShellWrapper
227
- } from "./chunk-V545KI73.js";
228
- import {
229
- isSafeModeEnv
230
- } from "./chunk-ADN5KESB.js";
231
- import {
232
- normalizeImageGenerationBaseUrl,
233
- resolveNetworkTarget
234
- } from "./chunk-PPJSG2PU.js";
235
- import {
236
- restoreSessionSources
237
- } from "./chunk-ELRMZTPF.js";
209
+ } from "./chunk-QPTE6BKL.js";
238
210
  import {
239
211
  CODE_MODE_MAX_MEDIA_BYTES,
240
212
  CODE_MODE_MAX_MEDIA_ITEMS
@@ -246,6 +218,38 @@ import {
246
218
  escapeJsonTagCharacters,
247
219
  formatMemoryUsage
248
220
  } from "./chunk-CHEIIBT3.js";
221
+ import {
222
+ SHARED_RECORD_SLOT,
223
+ deriveSessionName,
224
+ patchSessionRecord,
225
+ unregisterSession
226
+ } from "./chunk-GHG4PQY2.js";
227
+ import {
228
+ LEADER_NAME,
229
+ MAX_TEAMMATES,
230
+ assignTeammateColor,
231
+ classifyShutdownResponse,
232
+ findMemberByName,
233
+ formatAgentId,
234
+ generateUniqueTeammateName,
235
+ readLocalBootId,
236
+ readPidNamespaceId,
237
+ sanitizeName,
238
+ writeTeamFile
239
+ } from "./chunk-YVYK3JYU.js";
240
+ import {
241
+ BaseTokenStorage,
242
+ KeychainTokenStorage
243
+ } from "./chunk-Q5N5NEVT.js";
244
+ import {
245
+ isSafeModeEnv
246
+ } from "./chunk-ADN5KESB.js";
247
+ import {
248
+ normalizeImageGenerationBaseUrl
249
+ } from "./chunk-EVZT24AF.js";
250
+ import {
251
+ restoreSessionSources
252
+ } from "./chunk-ELRMZTPF.js";
249
253
  import {
250
254
  READ_ONLY_INSPECTION_TOOLS,
251
255
  SUBAGENT_PLAN_LIFECYCLE_TOOLS,
@@ -260,17 +264,22 @@ import {
260
264
  isPlanRequiredTeammatePreApprovalAllowedTool,
261
265
  isSubagentLikeExecutionContext,
262
266
  shouldUsePlanOnlyReminderInSubagentContext
263
- } from "./chunk-AEWCOE64.js";
267
+ } from "./chunk-GACWUBXV.js";
264
268
  import {
265
269
  APPROVAL_MODES
266
270
  } from "./chunk-JX6XHPTX.js";
267
271
  import {
268
- BaseTokenStorage,
269
- KeychainTokenStorage
270
- } from "./chunk-ZSTCM3MX.js";
272
+ resolveNetworkTarget
273
+ } from "./chunk-6C3D7BKK.js";
271
274
  import {
272
- require_proper_lockfile
273
- } from "./chunk-MLXTMF7H.js";
275
+ isOmniDeliveryActive
276
+ } from "./chunk-DBDJRURL.js";
277
+ import {
278
+ MediaResourceRegistry,
279
+ evaluateMediaPolicyToolCall,
280
+ isMediaPolicyToolHiddenFromModel,
281
+ resolveMediaPolicyModelAccess
282
+ } from "./chunk-MNU36NGH.js";
274
283
  import {
275
284
  AskUserQuestionTool,
276
285
  TrustedUserAnswers,
@@ -285,7 +294,7 @@ import {
285
294
  resolveEffectiveOutputStyle,
286
295
  resolveInteractionMode,
287
296
  resolveMainSessionOutputStyle
288
- } from "./chunk-36SDZ2Q4.js";
297
+ } from "./chunk-B3HGO6BB.js";
289
298
  import {
290
299
  NO_EXEC_CONFIG,
291
300
  findGitRoot,
@@ -294,7 +303,10 @@ import {
294
303
  getRecentGitStatus,
295
304
  isGitRepository,
296
305
  readFirstLineNoFollow
297
- } from "./chunk-NXUZFW3G.js";
306
+ } from "./chunk-AUFTA63J.js";
307
+ import {
308
+ require_proper_lockfile
309
+ } from "./chunk-MLXTMF7H.js";
298
310
  import {
299
311
  InMemoryImagePayloadStore,
300
312
  buildReattachParts,
@@ -303,10 +315,6 @@ import {
303
315
  replaceImagePayloadsInPlace,
304
316
  supportsOpenAIPrefixCaching
305
317
  } from "./chunk-WFNEY5G7.js";
306
- import {
307
- DashScopeOpenAICompatibleProvider,
308
- selectDashScopeThinkingKnob
309
- } from "./chunk-YP2K3WOS.js";
310
318
  import {
311
319
  childLaunchDepth,
312
320
  getCurrentAgentDepth,
@@ -317,12 +325,31 @@ import {
317
325
  runWithAgentContext,
318
326
  runWithRuntimeContentGenerator,
319
327
  spawnBlockReason
320
- } from "./chunk-BW2SMO6L.js";
328
+ } from "./chunk-BXAU2UKM.js";
321
329
  import {
322
330
  getTeammateContext,
323
331
  isTeammate,
324
332
  runWithTeammateIdentity
325
333
  } from "./chunk-S6LOFUVP.js";
334
+ import {
335
+ OMNI_DISCLOSURE_TEXT_PREFIX,
336
+ OMNI_OMISSION_TEXT_PREFIX,
337
+ OMNI_RESOURCE_HANDLE_TEXT_PREFIX,
338
+ OMNI_RESOURCE_PATH_TEXT_PREFIX,
339
+ OMNI_TRANSCRIPT_TEXT_PREFIX
340
+ } from "./chunk-BKVPLSEI.js";
341
+ import {
342
+ DashScopeOpenAICompatibleProvider,
343
+ selectDashScopeThinkingKnob
344
+ } from "./chunk-2VWXODMY.js";
345
+ import {
346
+ InvalidStreamError,
347
+ getToolCallPreparations,
348
+ isFlushedToolCallPark,
349
+ isRetryableStatuslessUpstreamError,
350
+ isRetryableStreamTransportError,
351
+ setToolCallPreparations
352
+ } from "./chunk-S7UQ3V2H.js";
326
353
  import {
327
354
  BUBBLE_APPROVAL_MODE,
328
355
  FORK_AGENT,
@@ -357,12 +384,12 @@ import {
357
384
  stripSystemReminderBlocks,
358
385
  validateForkToolList,
359
386
  wrapSystemReminder
360
- } from "./chunk-VVI7MK3V.js";
387
+ } from "./chunk-CTGMXP4A.js";
361
388
  import {
362
389
  clearLoadedSkillTracking,
363
390
  collectAvailableSkillEntries,
364
391
  renderAvailableSkillsBlock
365
- } from "./chunk-WBSJ6VPZ.js";
392
+ } from "./chunk-2GNZTJRK.js";
366
393
  import {
367
394
  DefaultHookOutput,
368
395
  HOOKS_CONFIG_FIELDS,
@@ -380,7 +407,7 @@ import {
380
407
  escapeXmlElementText,
381
408
  getHookKey,
382
409
  isToolArtifactLike
383
- } from "./chunk-G6UUOCUT.js";
410
+ } from "./chunk-RMI3DKMV.js";
384
411
  import {
385
412
  DEFAULT_QWEN_CUSTOM_IGNORE_FILE_NAMES,
386
413
  QwenIgnoreParser,
@@ -388,7 +415,7 @@ import {
388
415
  formatQwenIgnoreFileNames,
389
416
  isPathWithinRoot,
390
417
  require_ignore
391
- } from "./chunk-IZ2U57NY.js";
418
+ } from "./chunk-IITTKFWM.js";
392
419
  import {
393
420
  getResponsesMessage,
394
421
  sameResponsesMessage
@@ -403,6 +430,20 @@ import {
403
430
  sanitizeMimeForPlaceholder,
404
431
  slimCompactionInput
405
432
  } from "./chunk-NUQ4GK5I.js";
433
+ import {
434
+ getThoughtSummary
435
+ } from "./chunk-KP2FHIFR.js";
436
+ import {
437
+ DEFAULT_STREAM_MAX_LIFETIME_MS,
438
+ ModelsConfig,
439
+ captureReasoningSnapshot,
440
+ isImageGenerationCapable,
441
+ resolveProviderProtocol,
442
+ resolveReasoningCapabilities,
443
+ resolveReasoningForModel,
444
+ stripRuntimeSnapshotPrefix,
445
+ validateReasoningCapabilities
446
+ } from "./chunk-366JNNY7.js";
406
447
  import {
407
448
  openBrowserSecurely,
408
449
  shouldAttemptBrowserLaunch
@@ -411,20 +452,7 @@ import {
411
452
  delay,
412
453
  isUnattendedMode,
413
454
  retryWithBackoff
414
- } from "./chunk-DRAX5YAI.js";
415
- import {
416
- InvalidStreamError,
417
- getToolCallPreparations,
418
- isFlushedToolCallPark,
419
- isRetryableStatuslessUpstreamError,
420
- isRetryableStreamTransportError,
421
- setToolCallPreparations
422
- } from "./chunk-S7UQ3V2H.js";
423
- import {
424
- combineAbortSignals,
425
- createAbortController,
426
- createChildAbortController
427
- } from "./chunk-DJ2GSRLV.js";
455
+ } from "./chunk-NFC4WTY2.js";
428
456
  import {
429
457
  QUOTA_EXHAUSTED_PREFIX,
430
458
  classifyRetryError,
@@ -437,27 +465,18 @@ import {
437
465
  isRateLimitError,
438
466
  isRetryableUpstreamError,
439
467
  isStructuredError
440
- } from "./chunk-3XBUCOWS.js";
441
- import {
442
- ResponsesHttpError
443
- } from "./chunk-M4U2LTD2.js";
468
+ } from "./chunk-YSD6IY6F.js";
444
469
  import {
445
- getThoughtSummary
446
- } from "./chunk-KP2FHIFR.js";
470
+ combineAbortSignals,
471
+ createAbortController,
472
+ createChildAbortController
473
+ } from "./chunk-DJ2GSRLV.js";
447
474
  import {
448
- DEFAULT_STREAM_MAX_LIFETIME_MS,
449
- ModelsConfig,
450
- captureReasoningSnapshot,
451
- isImageGenerationCapable,
452
- resolveProviderProtocol,
453
- resolveReasoningCapabilities,
454
- resolveReasoningForModel,
455
- stripRuntimeSnapshotPrefix,
456
- validateReasoningCapabilities
457
- } from "./chunk-KEM7MWS7.js";
475
+ ResponsesHttpError
476
+ } from "./chunk-MS4SXNJ6.js";
458
477
  import {
459
478
  addDaemonRequestAttribute
460
- } from "./chunk-G45B3INR.js";
479
+ } from "./chunk-GVTAFLWB.js";
461
480
  import {
462
481
  ApiRetryEvent,
463
482
  COMBINED_PASS_TOLERANCE_FACTOR,
@@ -538,7 +557,6 @@ import {
538
557
  readLinesWithIntegrity,
539
558
  recordMCPServerLastError,
540
559
  removeMCPServerStatus,
541
- runSideQuery,
542
560
  runVisionBridge,
543
561
  runWithChatRecordingSuppressed,
544
562
  selectVisionBridgeModel,
@@ -551,7 +569,7 @@ import {
551
569
  updateMCPServerStatus,
552
570
  writeLine,
553
571
  writeLineSync
554
- } from "./chunk-CDDP4ONL.js";
572
+ } from "./chunk-G3PBYAGM.js";
555
573
  import {
556
574
  getInvocationContext,
557
575
  runWithInvocationContext
@@ -559,19 +577,6 @@ import {
559
577
  import {
560
578
  Mutex
561
579
  } from "./chunk-VGC4I5JJ.js";
562
- import {
563
- FileExclusions,
564
- LOCAL_CONTEXT_FILENAME,
565
- getAllMemoryFilenames,
566
- getCachedEncodingForBuffer,
567
- getSystemEncoding,
568
- isUtf8CompatibleEncoding,
569
- loadIconvLite,
570
- readFileWithLineAndLimit,
571
- readTextCursorWindowFromHandle,
572
- readTextRangeFromHandle,
573
- setMemoryFilename
574
- } from "./chunk-5NUKK2DT.js";
575
580
  import {
576
581
  AUTO_MEMORY_INDEX_FILENAME,
577
582
  AUTO_MEMORY_PINNED_DIRNAME,
@@ -591,7 +596,20 @@ import {
591
596
  isManagedMemoryPath,
592
597
  isTeamAutoMemPath,
593
598
  isUserAutoMemPath
594
- } from "./chunk-EDIDYZBT.js";
599
+ } from "./chunk-RVT5L74D.js";
600
+ import {
601
+ FileExclusions,
602
+ LOCAL_CONTEXT_FILENAME,
603
+ getAllMemoryFilenames,
604
+ getCachedEncodingForBuffer,
605
+ getSystemEncoding,
606
+ isUtf8CompatibleEncoding,
607
+ loadIconvLite,
608
+ readFileWithLineAndLimit,
609
+ readTextCursorWindowFromHandle,
610
+ readTextRangeFromHandle,
611
+ setMemoryFilename
612
+ } from "./chunk-25FMWESU.js";
595
613
  import {
596
614
  extractCodeModeImageContent,
597
615
  getCurrentToolCallSource,
@@ -599,21 +617,17 @@ import {
599
617
  runWithToolCallSource,
600
618
  runWithoutToolCallRuntime
601
619
  } from "./chunk-CFMZLE3L.js";
620
+ import {
621
+ runSideQuery
622
+ } from "./chunk-43QUA4MC.js";
602
623
  import {
603
624
  normalizeMcpToolName,
604
625
  sanitizeToolNameForProvider
605
626
  } from "./chunk-WZAD4ZNJ.js";
606
- import {
607
- atomicWriteFile,
608
- atomicWriteFileSync,
609
- atomicWriteJSON,
610
- renameWithRetry
611
- } from "./chunk-XFFRI3WM.js";
612
627
  import {
613
628
  AUTH_ENV_MAPPINGS,
614
629
  DEFAULT_MODELS,
615
630
  DEFAULT_QWEN_EMBEDDING_MODEL,
616
- DEFAULT_QWEN_MODEL,
617
631
  DEFAULT_TOKEN_LIMIT,
618
632
  MODEL_GENERATION_CONFIG_FIELDS,
619
633
  OUTPUT_TOKEN_CEILING,
@@ -634,14 +648,23 @@ import {
634
648
  resolveContentGeneratorConfigWithSources,
635
649
  setGeneratorReasoningEffort,
636
650
  tokenLimit
637
- } from "./chunk-GJKP6XOB.js";
651
+ } from "./chunk-GW5SJ3II.js";
652
+ import {
653
+ DEFAULT_QWEN_MODEL
654
+ } from "./chunk-XZA32HII.js";
655
+ import {
656
+ atomicWriteFile,
657
+ atomicWriteFileSync,
658
+ atomicWriteJSON,
659
+ renameWithRetry
660
+ } from "./chunk-CA63HYHU.js";
638
661
  import {
639
662
  getOrCreateMcpDispatcher,
640
663
  loadUndici,
641
664
  preloadRuntimeFetchModule,
642
665
  redactProxyError,
643
666
  setResolvedProxyUrlForRuntimeFetch
644
- } from "./chunk-7O5PYQ3M.js";
667
+ } from "./chunk-SBP43AO6.js";
645
668
  import {
646
669
  safeJsonStringify
647
670
  } from "./chunk-HHJLM3WQ.js";
@@ -692,49 +715,44 @@ import {
692
715
  stripAnsiAndControl,
693
716
  stripHtmlComments,
694
717
  truncateSpanError
695
- } from "./chunk-6USYH3EU.js";
718
+ } from "./chunk-B3XJFEEH.js";
696
719
  import {
697
720
  STRUCTURED_OUTPUT_REDACTED_ARGS
698
- } from "./chunk-SYROIHU7.js";
721
+ } from "./chunk-ZRQGTRHA.js";
699
722
  import {
700
723
  AgentStatistics,
701
724
  BaseDeclarativeTool,
702
725
  BaseToolInvocation,
703
726
  CONCURRENCY_SAFE_KINDS,
704
727
  StructuredToolError,
728
+ hasCycleInSchema,
729
+ isShellProgressData
730
+ } from "./chunk-VPGRGNNH.js";
731
+ import {
705
732
  ToolDisplayNames,
706
733
  ToolDisplayNamesMigration,
707
734
  ToolNames,
708
735
  ToolNamesMigration,
709
736
  canonicalToolName,
710
- hasCycleInSchema,
711
- isShellProgressData,
712
737
  require_dist,
713
738
  require_fast_deep_equal,
714
739
  require_fast_uri,
715
740
  resolveBuiltinToolName
716
- } from "./chunk-RSWBT7AZ.js";
741
+ } from "./chunk-ERIBG3BX.js";
717
742
  import {
718
- FatalConfigError,
719
743
  PATH_ARG_KEYS,
720
744
  QWEN_DIR,
721
745
  SKILL_PROVIDER_CONFIG_DIRS,
722
746
  Storage,
723
- UnauthorizedError,
724
747
  createDebugLogger,
725
748
  expandHomeDir,
726
749
  formatTraceparent,
727
- getErrorMessage,
728
- getErrorStatus,
729
- getErrorType,
730
750
  getProjectHash,
731
751
  getSessionModel,
732
752
  getSessionModelIdentity,
733
753
  getSessionProjectDir,
734
754
  getTraceContext,
735
- isAbortError,
736
755
  isDebugLogFileEnabled,
737
- isNodeError,
738
756
  isShellTracePropagationEnabled,
739
757
  isSubpath,
740
758
  isSubpaths,
@@ -745,11 +763,20 @@ import {
745
763
  setDebugLogSession,
746
764
  shortenPath,
747
765
  tildeifyPath,
748
- toFriendlyError,
749
766
  unescapePath,
750
767
  unregisterSessionModel,
751
768
  unregisterSessionProjectDir
752
- } from "./chunk-ZAFYHRVY.js";
769
+ } from "./chunk-ZYDMQCQP.js";
770
+ import {
771
+ FatalConfigError,
772
+ UnauthorizedError,
773
+ getErrorMessage,
774
+ getErrorStatus,
775
+ getErrorType,
776
+ isAbortError,
777
+ isNodeError,
778
+ toFriendlyError
779
+ } from "./chunk-S34QJ6IR.js";
753
780
  import {
754
781
  SpanStatusCode,
755
782
  context,
@@ -20456,7 +20483,7 @@ var InvalidGoalCheckpointError = class extends Error {
20456
20483
  }
20457
20484
  };
20458
20485
  function materializeGoalEvidenceCheckpoint(input) {
20459
- if (!isRecord2(input.result) || !hasOnlyKeys2(input.result, ["claims"])) {
20486
+ if (!isRecord2(input.result) || !hasOnlyKeys2(input.result, ["claims", "usage"])) {
20460
20487
  throw new InvalidGoalCheckpointError(
20461
20488
  "Goal checkpoint verifier returned an invalid result"
20462
20489
  );
@@ -20923,6 +20950,7 @@ function createGoalCheckpointVerifier(config3, options2 = {}) {
20923
20950
  const sources = checkpointSources(input);
20924
20951
  let retry;
20925
20952
  let retryCause;
20953
+ let totalTokens = 0;
20926
20954
  for (; ; ) {
20927
20955
  const contents = retryContents(input, retry?.note, retryCause);
20928
20956
  const result = await runSideQuery(config3, {
@@ -20949,8 +20977,13 @@ function createGoalCheckpointVerifier(config3, options2 = {}) {
20949
20977
  // failures into plain Errors, erasing the InvalidGoalCheckpointError
20950
20978
  // class and message the verifier's own tests assert on.
20951
20979
  });
20980
+ const tokens = result.usage?.totalTokenCount ?? 0;
20981
+ if (Number.isFinite(tokens) && tokens > 0) totalTokens += tokens;
20952
20982
  try {
20953
- return parseGoalCheckpointVerifierText(result.text, sources);
20983
+ return {
20984
+ ...parseGoalCheckpointVerifierText(result.text, sources),
20985
+ ...totalTokens > 0 ? { usage: { totalTokenCount: totalTokens } } : {}
20986
+ };
20954
20987
  } catch (error3) {
20955
20988
  const corrective = retry === void 0 ? correctiveRetryFor(error3) : void 0;
20956
20989
  if (!corrective) throw error3;
@@ -21579,9 +21612,14 @@ function createGoalRuntime(options2) {
21579
21612
  const recordVerificationOutcome = /* @__PURE__ */ __name(async (attempt, outcome) => enqueue(async () => {
21580
21613
  if (!isCurrentVerificationAttempt(attempt) || !snapshot.goal) return;
21581
21614
  const now = Date.now();
21615
+ const meteredGoal = reduceGoalSpend(
21616
+ snapshot.goal,
21617
+ outcome.kind === "decision" ? outcome.result.usage?.totalTokenCount ?? 0 : 0,
21618
+ now
21619
+ );
21582
21620
  if (outcome.kind === "decision" && outcome.result.decision === "accept") {
21583
21621
  const acceptedGoal = {
21584
- ...snapshot.goal,
21622
+ ...meteredGoal,
21585
21623
  activeTimeMs: elapsedActiveTime(snapshot.goal, now),
21586
21624
  updatedAt: now,
21587
21625
  lastReason: attempt.proposal.blockerKind === "infeasible" ? `${outcome.result.reason} ${GOAL_INFEASIBLE_NEXT_STEP}` : outcome.result.reason
@@ -21641,7 +21679,7 @@ function createGoalRuntime(options2) {
21641
21679
  const rejectedSnapshot = {
21642
21680
  v: GOAL_STATE_VERSION,
21643
21681
  goal: {
21644
- ...snapshot.goal,
21682
+ ...meteredGoal,
21645
21683
  activeTimeMs: elapsedActiveTime(snapshot.goal, now),
21646
21684
  updatedAt: now,
21647
21685
  lastReason: outcome.result.reason
@@ -21818,15 +21856,16 @@ function createGoalRuntime(options2) {
21818
21856
  );
21819
21857
  });
21820
21858
  }, "recordCheckpointFailure");
21821
- const recordCheckpoint = /* @__PURE__ */ __name(async (attempt, checkpoint, stalled, replay) => {
21859
+ const recordCheckpoint = /* @__PURE__ */ __name(async (attempt, checkpoint, stalled, replay, tokens) => {
21822
21860
  if (!checkpoint) return;
21823
21861
  await enqueue(async () => {
21824
21862
  if (!isCurrentCheckpointAttempt(attempt) || !snapshot.goal) return;
21863
+ const meteredGoal = reduceGoalSpend(snapshot.goal, tokens, Date.now());
21825
21864
  const checkpointStalls = stalled ? (snapshot.goal.checkpointStalls ?? 0) + (replay ? 0 : 1) : 0;
21826
21865
  const health = stalled ? FULL_CLAIM_LIST_FAILURE : "clear";
21827
21866
  if (await settleIfCheckpointStalled(
21828
21867
  attempt,
21829
- snapshot.goal,
21868
+ meteredGoal,
21830
21869
  checkpointStalls,
21831
21870
  health
21832
21871
  )) {
@@ -21837,7 +21876,7 @@ function createGoalRuntime(options2) {
21837
21876
  const checkpointSnapshot = {
21838
21877
  v: GOAL_STATE_VERSION,
21839
21878
  goal: {
21840
- ...withCheckpointHealth(snapshot.goal, checkpointStalls, health),
21879
+ ...withCheckpointHealth(meteredGoal, checkpointStalls, health),
21841
21880
  evidenceCursor: { recordId: attempt.recordUuid },
21842
21881
  evidenceCheckpoint: checkpoint,
21843
21882
  activeTimeMs: elapsedActiveTime(snapshot.goal, now),
@@ -21902,6 +21941,7 @@ function createGoalRuntime(options2) {
21902
21941
  );
21903
21942
  let checkpoint;
21904
21943
  let batchIndex = 0;
21944
+ let checkpointTokens = 0;
21905
21945
  try {
21906
21946
  let previousClaims = window2.previousClaims;
21907
21947
  for (; batchIndex < batches.length; batchIndex++) {
@@ -21919,6 +21959,8 @@ function createGoalRuntime(options2) {
21919
21959
  attempt.controller.signal
21920
21960
  );
21921
21961
  if (attempt.controller.signal.aborted) return;
21962
+ const tokens = result.usage?.totalTokenCount ?? 0;
21963
+ if (Number.isFinite(tokens) && tokens > 0) checkpointTokens += tokens;
21922
21964
  checkpoint = materializeGoalEvidenceCheckpoint({
21923
21965
  // An intermediate batch gets its own id segment, so the claim ids
21924
21966
  // the next batch cites cannot collide with the kept checkpoint's
@@ -21962,7 +22004,8 @@ function createGoalRuntime(options2) {
21962
22004
  attempt,
21963
22005
  checkpoint,
21964
22006
  isGoalCheckpointStalled(window2, checkpoint),
21965
- replay
22007
+ replay,
22008
+ checkpointTokens
21966
22009
  );
21967
22010
  } catch (error3) {
21968
22011
  if (attempt.controller.signal.aborted) return;
@@ -40362,7 +40405,9 @@ var ChatRecordingService = class {
40362
40405
  */
40363
40406
  goalTurnSpend;
40364
40407
  accumulateGoalTurnTokens(turnId, usage) {
40365
- const total = usage.totalTokenCount;
40408
+ this.billGoalTurnTokens(turnId, usage.totalTokenCount ?? 0);
40409
+ }
40410
+ billGoalTurnTokens(turnId, total) {
40366
40411
  if (typeof total !== "number" || !Number.isFinite(total) || total <= 0) {
40367
40412
  return;
40368
40413
  }
@@ -40628,6 +40673,26 @@ var ChatRecordingService = class {
40628
40673
  debugLogger19.error("Error saving slash command record:", error3);
40629
40674
  }
40630
40675
  }
40676
+ /**
40677
+ * Records the omni passive media-memory recall payload injected into the
40678
+ * model-bound request (memory design M §9.3, D10 sideQuery mode). The
40679
+ * reminder is assembled AFTER the user record is persisted, so without
40680
+ * this record the transcript would never show what memory the model was
40681
+ * given — the trajectory exporter reads it back as `turn.recall`.
40682
+ */
40683
+ recordOmniRecallReminder(payload) {
40684
+ try {
40685
+ const record4 = {
40686
+ ...this.createBaseRecord("system"),
40687
+ type: "system",
40688
+ subtype: "omni_recall",
40689
+ systemPayload: payload
40690
+ };
40691
+ this.appendRecord(record4);
40692
+ } catch (error3) {
40693
+ debugLogger19.error("Error saving omni recall record:", error3);
40694
+ }
40695
+ }
40631
40696
  /**
40632
40697
  * Records a chat compression checkpoint as a system record. This keeps the UI
40633
40698
  * history immutable while allowing resume/continue flows to reconstruct the
@@ -42962,6 +43027,14 @@ function parseTokenCounts(text) {
42962
43027
  limitTokens: parseInteger(inputExceedsMatch[2])
42963
43028
  };
42964
43029
  }
43030
+ const rangeMatch = text.match(
43031
+ /range of input length should be\s*\[\s*\d[\d,]*\s*,\s*(\d[\d,]*)\s*\]/i
43032
+ );
43033
+ if (rangeMatch) {
43034
+ return {
43035
+ limitTokens: parseInteger(rangeMatch[1])
43036
+ };
43037
+ }
42965
43038
  return {};
42966
43039
  }
42967
43040
  __name(parseTokenCounts, "parseTokenCounts");
@@ -44884,6 +44957,7 @@ var LlmChat = class {
44884
44957
  let transportAttemptParts = [];
44885
44958
  let transportContinuationPrefix = [];
44886
44959
  let reactiveCompressionAttempted = false;
44960
+ let omniMediaDegradeAttempts = 0;
44887
44961
  let suppressNextRetryEvent = false;
44888
44962
  let streamYieldedAnyChunk = false;
44889
44963
  const cgConfig = exactRoute?.contentGeneratorConfig ?? self2.config.getContentGeneratorConfig();
@@ -45172,6 +45246,46 @@ var LlmChat = class {
45172
45246
  );
45173
45247
  }
45174
45248
  if (contextOverflow.isExceeded || requestPayloadOverflow.isTooLarge) {
45249
+ const omniDegradeMaxAttempts = self2.config.getOmniProcessingConfig?.()?.limits.maxTransportPasses ?? 0;
45250
+ if (contextOverflow.isExceeded && !exactRoute && omniMediaDegradeAttempts < omniDegradeMaxAttempts) {
45251
+ const degradeAttempt = omniMediaDegradeAttempts++;
45252
+ let degradeOutcome;
45253
+ try {
45254
+ const { degradeOmniMediaAfterServerReject } = await import("./reactive-degrade-KWCJUHXH.js");
45255
+ degradeOutcome = await degradeOmniMediaAfterServerReject(
45256
+ self2.config,
45257
+ self2.history,
45258
+ degradeAttempt,
45259
+ {
45260
+ signal: params.config?.abortSignal,
45261
+ observedLimitTokens: contextOverflow.limitTokens
45262
+ }
45263
+ );
45264
+ } catch (degradeError) {
45265
+ if (params.config?.abortSignal?.aborted || isAbortError(degradeError)) {
45266
+ throw degradeError;
45267
+ }
45268
+ debugLogger23.warn(
45269
+ "Omni media degradation fallback failed.",
45270
+ degradeError
45271
+ );
45272
+ }
45273
+ if (degradeOutcome && degradeOutcome.replacedParts > 0) {
45274
+ self2.popPendingPartialAssistantTurn();
45275
+ requestContents = self2.getRequestHistoryForRoute(
45276
+ currentUserContent,
45277
+ requestModalities
45278
+ );
45279
+ debugLogger23.warn(
45280
+ `Server input limit exceeded; degraded ${degradeOutcome.degradedResources} omni media resource(s) in place (attempt ${degradeAttempt + 1}/${omniDegradeMaxAttempts}); retrying.`
45281
+ );
45282
+ resetTransportContinuation();
45283
+ yield { type: "retry" /* RETRY */ };
45284
+ suppressNextRetryEvent = true;
45285
+ rearmQuietAcceptanceIfBudgetSpent();
45286
+ continue;
45287
+ }
45288
+ }
45175
45289
  let attemptedPayloadRecovery = false;
45176
45290
  let payloadRecoveryNoop = false;
45177
45291
  let payloadRecoveryThrew = false;
@@ -46775,6 +46889,102 @@ function lastHistoryContentFromRecords(records) {
46775
46889
  }
46776
46890
  __name(lastHistoryContentFromRecords, "lastHistoryContentFromRecords");
46777
46891
 
46892
+ // packages/core/src/omni/media-guidance.ts
46893
+ init_esbuild_shims();
46894
+ var MEDIA_TOOL_CAPABILITIES = [
46895
+ [
46896
+ ToolNames.OMNI_CLIP_VIDEO,
46897
+ "cut a specific time range out of a video (startSec/durationSec) \u2014 the primary way to inspect parts of a long video that were not delivered"
46898
+ ],
46899
+ [
46900
+ ToolNames.OMNI_UNDERSTAND_VIDEO_SEGMENTS,
46901
+ "understand a long video end to end: fixed-length segments described in parallel by an omni model, assembled into a time-labeled text summary"
46902
+ ],
46903
+ [
46904
+ ToolNames.OMNI_EXTRACT_KEYFRAMES,
46905
+ "extract still frames from a video (clip a range first to sample frames from a specific segment)"
46906
+ ],
46907
+ [
46908
+ ToolNames.OMNI_DOWNSCALE_VIDEO,
46909
+ "re-encode a video at lower resolution / frame rate to fit transport limits"
46910
+ ],
46911
+ [
46912
+ ToolNames.OMNI_EXTRACT_AUDIO,
46913
+ "extract the audio track from a video for listening or transcription"
46914
+ ],
46915
+ [
46916
+ ToolNames.OMNI_TRANSCRIBE_AUDIO,
46917
+ "transcribe speech in an audio file to text"
46918
+ ],
46919
+ [
46920
+ ToolNames.OMNI_CAPTION_AUDIO,
46921
+ "describe an audio file semantically (speech gist, timbre, sound events, mood) \u2014 understanding, not verbatim transcription"
46922
+ ],
46923
+ [
46924
+ ToolNames.OMNI_CLIP_AUDIO,
46925
+ "cut a specific time range out of an audio file (startMs/durationMs)"
46926
+ ],
46927
+ [
46928
+ ToolNames.OMNI_DOWNSAMPLE_AUDIO,
46929
+ "re-encode audio at a lower bitrate/sample rate"
46930
+ ],
46931
+ [ToolNames.OMNI_DOWNSAMPLE_IMAGE, "shrink an image to a smaller resolution"],
46932
+ [ToolNames.OMNI_CONVERT_IMAGE, "convert an image to another format"],
46933
+ [
46934
+ ToolNames.OMNI_CLIP_IMAGE,
46935
+ "crop a pixel rectangle (x/y/width/height) out of an image"
46936
+ ],
46937
+ [
46938
+ ToolNames.OMNI_CAPTION_IMAGE,
46939
+ "describe an image with a VL model under a custom prompt, turning visual content into text"
46940
+ ],
46941
+ [
46942
+ ToolNames.OMNI_OCR_IMAGE,
46943
+ "extract the text visible in an image (OCR), with automatic language detection"
46944
+ ]
46945
+ ];
46946
+ function collectPolicyDescriptions(config3) {
46947
+ const policies = config3.getOmniProcessingConfig?.()?.fixedPolicies;
46948
+ if (!policies) return [];
46949
+ return [...policies].sort((a, b2) => b2.priority - a.priority || a.id.localeCompare(b2.id)).map((p2) => p2.description).filter((d) => typeof d === "string" && d.length > 0);
46950
+ }
46951
+ __name(collectPolicyDescriptions, "collectPolicyDescriptions");
46952
+ function buildOmniMediaGuidanceSection(config3) {
46953
+ if (!isOmniDeliveryActive(config3)) return null;
46954
+ const enabledTools = MEDIA_TOOL_CAPABILITIES.filter(
46955
+ ([name]) => resolveMediaPolicyModelAccess(config3, name).enabled
46956
+ );
46957
+ const referenceGuidance = `
46958
+ - ${OMNI_RESOURCE_PATH_TEXT_PREFIX}<absolute path>: how a local file you read is referenced. The path is shown VERBATIM \u2014 byte-for-byte the real on-disk path \u2014 so you can re-read it or point the media tools at it directly.
46959
+ - ${OMNI_RESOURCE_HANDLE_TEXT_PREFIX}<name>\uFF1A<handle>: how media with no path you can see (tool results, URLs, recalled memory) is referenced \u2014 <handle> is an opaque session handle.
46960
+ - Pass whichever reference you were shown to the media tools below: an absolute path as \`inputPath\`, an opaque session handle as \`resourceId\`.`;
46961
+ const recallGuidance = config3.getOmniMemoryConfig?.()?.recall.mode === "active" ? `
46962
+ - BEFORE reprocessing media (extracting frames, transcribing, clipping), call \`${ToolNames.OMNI_RECALL_MEDIA_MEMORY}\` with that <ref>: earlier sessions may already have produced the transcript, keyframes or excerpt you need, and it returns instantly. It also reports honest gaps \u2014 which channels were never processed \u2014 and can suggest which tool closes them.` : "";
46963
+ const policyDescriptions = collectPolicyDescriptions(config3);
46964
+ const policyGuidance = policyDescriptions.length > 0 ? `
46965
+
46966
+ The media reaching you is shaped by these automatic preprocessing policies (they run in this order):
46967
+ ${policyDescriptions.map((d) => `- ${d}`).join("\n")}` : "";
46968
+ const toolGuidance = enabledTools.length > 0 ? `- When the task needs evidence beyond what was delivered \u2014 later time ranges, finer visual detail, more frames, a fuller transcript \u2014 do not stop at the delivered subset: fetch the evidence yourself with the media tools below, then read the produced file(s) to bring them into context. Work in targeted excerpts (a specific time range or region at a time) so each request stays within limits, and iterate until you have seen enough to complete the task.
46969
+ - Available media tools:
46970
+ ${enabledTools.map(([name, capability]) => ` - ${name}: ${capability}`).join("\n")}` : `- No media tools are enabled in this session. When the delivered evidence does not cover what the task needs, say explicitly which part of the media you could not observe instead of extrapolating from the delivered subset.`;
46971
+ return `# Media Delivery (Progressive Understanding)
46972
+
46973
+ Media files in this session reach you through a preprocessing pipeline that must fit them into transport and context-window limits. Large or long media is therefore delivered in reduced form on purpose: this is a progressive-understanding strategy \u2014 you first get an affordable overview, then fetch the specific higher-fidelity evidence the task needs. Every transformation is disclosed in a text part placed immediately BEFORE the media it describes:
46974
+
46975
+ - ${OMNI_DISCLOSURE_TEXT_PREFIX}<file>: the adjacent media is a degraded derivative (clipped, downscaled, resampled, or keyframes); the marker states exactly what was reduced.
46976
+ - ${OMNI_OMISSION_TEXT_PREFIX}<file>: the media could not be delivered at all; the notice stands in its place.
46977
+ - ${OMNI_TRANSCRIPT_TEXT_PREFIX}<file>: text derived from the media (e.g. a speech transcript), possibly delivered instead of the media itself.
46978
+ ${referenceGuidance}${recallGuidance}
46979
+
46980
+ Interpret delivered media under this contract:
46981
+
46982
+ - A degraded delivery is an OVERVIEW or entry point, not the complete content. The original file on disk is untouched and remains fully available for further processing.
46983
+ - Never conclude that content outside the delivered portion does not exist, and never present conclusions drawn from a partial delivery as covering the whole file. Read each disclosure quantitatively: a clip marker covering [0s\u2013600s] of a 4882s video means 4282s exist that you have NOT seen; a keyframe marker tells you which timestamps you actually saw.${policyGuidance}
46984
+ ${toolGuidance}`;
46985
+ }
46986
+ __name(buildOmniMediaGuidanceSection, "buildOmniMediaGuidanceSection");
46987
+
46778
46988
  // packages/core/src/services/loopDetectionService.ts
46779
46989
  init_esbuild_shims();
46780
46990
  import { createHash as createHash4 } from "node:crypto";
@@ -48593,6 +48803,13 @@ init_esbuild_shims();
48593
48803
 
48594
48804
  // packages/core/src/tools/agent/agent.ts
48595
48805
  init_esbuild_shims();
48806
+
48807
+ // packages/core/src/goals/goal-turn-context.ts
48808
+ init_esbuild_shims();
48809
+ import { AsyncLocalStorage as AsyncLocalStorage2 } from "node:async_hooks";
48810
+ var goalTurnContext = new AsyncLocalStorage2();
48811
+
48812
+ // packages/core/src/tools/agent/agent.ts
48596
48813
  import { randomUUID as randomUUID8 } from "node:crypto";
48597
48814
 
48598
48815
  // packages/core/src/agents/runtime/agent-core.ts
@@ -48914,6 +49131,23 @@ function appendAdditionalContext(content, additionalContext) {
48914
49131
  if (typeof content === "string") {
48915
49132
  return content + "\n\n" + additionalContext;
48916
49133
  }
49134
+ const single = Array.isArray(content) && content.length === 1 ? content[0] : content;
49135
+ if (typeof single === "object" && !Array.isArray(single) && single.functionResponse) {
49136
+ const response = single.functionResponse;
49137
+ const updated = {
49138
+ ...single,
49139
+ functionResponse: {
49140
+ ...response,
49141
+ response: {
49142
+ ...response.response,
49143
+ output: `${response.response?.["output"] ?? ""}
49144
+
49145
+ ${additionalContext}`
49146
+ }
49147
+ }
49148
+ };
49149
+ return Array.isArray(content) ? [updated] : updated;
49150
+ }
48917
49151
  if (Array.isArray(content)) {
48918
49152
  return [...content, { text: additionalContext }];
48919
49153
  }
@@ -49097,6 +49331,37 @@ var TOOL_NAME_ALIASES = {
49097
49331
  image_gen: "image_gen",
49098
49332
  ImageGen: "image_gen",
49099
49333
  ImageGenTool: "image_gen",
49334
+ // Omni media tools
49335
+ omni_downsample_image: "omni_downsample_image",
49336
+ DownsampleImage: "omni_downsample_image",
49337
+ omni_downscale_video: "omni_downscale_video",
49338
+ DownscaleVideo: "omni_downscale_video",
49339
+ omni_downsample_audio: "omni_downsample_audio",
49340
+ DownsampleAudio: "omni_downsample_audio",
49341
+ omni_extract_keyframes: "omni_extract_keyframes",
49342
+ ExtractKeyframes: "omni_extract_keyframes",
49343
+ omni_extract_audio: "omni_extract_audio",
49344
+ ExtractAudio: "omni_extract_audio",
49345
+ omni_clip_video: "omni_clip_video",
49346
+ ClipVideo: "omni_clip_video",
49347
+ omni_convert_image: "omni_convert_image",
49348
+ ConvertImage: "omni_convert_image",
49349
+ omni_transcribe_audio: "omni_transcribe_audio",
49350
+ TranscribeAudio: "omni_transcribe_audio",
49351
+ omni_clip_image: "omni_clip_image",
49352
+ ClipImage: "omni_clip_image",
49353
+ omni_clip_audio: "omni_clip_audio",
49354
+ ClipAudio: "omni_clip_audio",
49355
+ omni_caption_image: "omni_caption_image",
49356
+ CaptionImage: "omni_caption_image",
49357
+ omni_caption_audio: "omni_caption_audio",
49358
+ CaptionAudio: "omni_caption_audio",
49359
+ omni_ocr_image: "omni_ocr_image",
49360
+ OcrImage: "omni_ocr_image",
49361
+ omni_understand_video_segments: "omni_understand_video_segments",
49362
+ UnderstandVideoSegments: "omni_understand_video_segments",
49363
+ omni_recall_media_memory: "omni_recall_media_memory",
49364
+ RecallMediaMemory: "omni_recall_media_memory",
49100
49365
  // Tool search tool
49101
49366
  tool_search: "tool_search",
49102
49367
  ToolSearch: "tool_search",
@@ -68131,11 +68396,6 @@ async function evaluateToolInvocationGuard(guard, context2) {
68131
68396
  }
68132
68397
  __name(evaluateToolInvocationGuard, "evaluateToolInvocationGuard");
68133
68398
 
68134
- // packages/core/src/goals/goal-turn-context.ts
68135
- init_esbuild_shims();
68136
- import { AsyncLocalStorage as AsyncLocalStorage2 } from "node:async_hooks";
68137
- var goalTurnContext = new AsyncLocalStorage2();
68138
-
68139
68399
  // packages/core/src/goals/goal-tool-result-provenance.ts
68140
68400
  init_esbuild_shims();
68141
68401
  function goalToolResultProvenance(request) {
@@ -68301,13 +68561,13 @@ function buildExecDescription(plan) {
68301
68561
 
68302
68562
  Use async/await and call registered tools through tools.<name>(args). Calls use the same validation, permissions, approvals, hooks, telemetry, cancellation, concurrency, and output limits as direct tool calls. Tool calls can be composed with Promise.all. Await every tool promise; unawaited calls are cancelled when the script finishes. The exec tool, direct control tools, tool_search, and tool_call are not callable through tools.
68303
68563
 
68304
- Results from skill, update_goal, and capture_screen_context are automatically retained in the exec response; text() is not required to preserve their context. Read loaded skill instructions before taking dependent actions in a later exec call. A terminal update_goal result ends the script and prevents further tool calls.
68564
+ Results from skill, update_goal, and capture_screen_context are automatically retained in the exec response; text() is not required to preserve their context. Read loaded skill instructions before taking dependent actions in a later exec call. A terminal update_goal result ends the script and prevents further tool calls. When Omni is enabled, uploaded media and its resource metadata are also automatically retained; a result without content needs no image() call.
68305
68565
 
68306
68566
  Available globals:
68307
68567
  - tools: the code-mode-callable tool functions declared below.
68308
68568
  - ALL_TOOLS: frozen metadata for every function in tools.
68309
68569
  - text(value): append bounded text output. Non-string values are JSON-stringified when possible.
68310
- - image(imageUrlOrItem: string | ImageContent): append an image from a base64 data URL or Qwen MCP ImageContent. To return a nested MCP image, pass an item such as image(result.content[0]).
68570
+ - image(imageUrlOrItem: string | ImageContent): append an image from a base64 data URL or Qwen MCP ImageContent. To return a nested MCP image, emit available items with result.content?.forEach(image).
68311
68571
  - audio(dataUrl: string): append audio from a base64 data URL with an audio MIME type.
68312
68572
  - generatedImage(result: CodeModeToolResult): append the image and saved-path hint returned by Qwen's built-in image_gen tool, for example generatedImage(await tools.image_gen({ prompt: '...' })).
68313
68573
  - setTimeout(callback: () => void, delayMs?: number): schedule a callback to run later and return a timeout id. Pending timeouts do not keep exec alive by themselves; await an explicit promise if you need to wait for one.
@@ -69231,12 +69491,24 @@ var CoreToolScheduler = class _CoreToolScheduler {
69231
69491
  compactResultDisplayForInteractiveHistory(resultDisplay) {
69232
69492
  return typeof this.config.isInteractive === "function" && this.config.isInteractive() ? compactToolResultDisplayForHistory(resultDisplay) : resultDisplay;
69233
69493
  }
69234
- async processToolResultImages(responseParts, signal) {
69494
+ async processToolResultImages(responseParts, signal, executionOrigin) {
69495
+ if (executionOrigin?.kind === "fixed_policy") {
69496
+ return { responseParts };
69497
+ }
69235
69498
  let modelOverride;
69236
69499
  const notices = [];
69500
+ let omniProcessed = responseParts;
69501
+ if (this.config.isOmniEnabled?.()) {
69502
+ const { processToolResultOmniMedia } = await import("./tool-result-media-V3LNDB5Q.js");
69503
+ omniProcessed = await processToolResultOmniMedia(
69504
+ responseParts,
69505
+ this.config,
69506
+ signal
69507
+ );
69508
+ }
69237
69509
  const processedParts = await bridgeToolResultImages({
69238
69510
  config: this.config,
69239
- responseParts,
69511
+ responseParts: omniProcessed,
69240
69512
  signal,
69241
69513
  onFullTurnModel: /* @__PURE__ */ __name((model) => {
69242
69514
  if (!this.onToolResultFullTurnModel?.(model)) return false;
@@ -69924,7 +70196,7 @@ var CoreToolScheduler = class _CoreToolScheduler {
69924
70196
  continue;
69925
70197
  }
69926
70198
  const canonicalName = canonicalToolName(reqInfo.name);
69927
- if (this.config.getToolMode?.() === ToolMode.CodeModeOnly && !isCodeModeToolCallAllowed(canonicalName, reqInfo.source ?? "model")) {
70199
+ if (this.config.getToolMode?.() === ToolMode.CodeModeOnly && reqInfo.executionOrigin?.kind !== "fixed_policy" && !isCodeModeToolCallAllowed(canonicalName, reqInfo.source ?? "model")) {
69928
70200
  newToolCalls.push({
69929
70201
  status: "error",
69930
70202
  request: reqInfo,
@@ -70052,11 +70324,32 @@ var CoreToolScheduler = class _CoreToolScheduler {
70052
70324
  });
70053
70325
  continue;
70054
70326
  }
70327
+ const policyGate = evaluateMediaPolicyToolCall({
70328
+ config: this.config,
70329
+ tool: toolInstance,
70330
+ args: reqInfo.args,
70331
+ executionOrigin: reqInfo.executionOrigin
70332
+ });
70333
+ if (policyGate.outcome === "reject") {
70334
+ newToolCalls.push({
70335
+ status: "error",
70336
+ request: reqInfo,
70337
+ tool: toolInstance,
70338
+ response: createErrorResponse(
70339
+ reqInfo,
70340
+ new Error(policyGate.message),
70341
+ policyGate.reason === "invalid_params" ? "invalid_tool_params" /* INVALID_TOOL_PARAMS */ : "execution_denied" /* EXECUTION_DENIED */,
70342
+ "not_started"
70343
+ ),
70344
+ durationMs: 0
70345
+ });
70346
+ continue;
70347
+ }
70055
70348
  const invocationOrError = runInRequestGoalContext(
70056
70349
  reqInfo,
70057
70350
  () => this.buildInvocation(
70058
70351
  toolInstance,
70059
- reqInfo.args,
70352
+ policyGate.args,
70060
70353
  reqInfo.callId,
70061
70354
  reqInfo.prompt_id
70062
70355
  )
@@ -70171,6 +70464,14 @@ var CoreToolScheduler = class _CoreToolScheduler {
70171
70464
  if (this.cancelPreExecutionIfAborted(reqInfo.callId, signal, toolSpan)) {
70172
70465
  continue;
70173
70466
  }
70467
+ if (reqInfo.executionOrigin?.kind === "fixed_policy") {
70468
+ this.setToolCallOutcome(
70469
+ reqInfo.callId,
70470
+ "proceed_always" /* ProceedAlways */
70471
+ );
70472
+ this.setStatusInternal(reqInfo.callId, "scheduled");
70473
+ continue;
70474
+ }
70174
70475
  let toolParams = invocation.params;
70175
70476
  const flowResult = await runInRequestGoalContext(
70176
70477
  reqInfo,
@@ -71555,7 +71856,7 @@ var CoreToolScheduler = class _CoreToolScheduler {
71555
71856
  }
71556
71857
  );
71557
71858
  if (!signal.aborted && !preHookResult.shouldProceed) {
71558
- if (preHookResult.blockType === "ask" && !signal.aborted && this.canPromptForAskBounce()) {
71859
+ if (preHookResult.blockType === "ask" && !signal.aborted && scheduledCall.request.executionOrigin?.kind !== "fixed_policy" && this.canPromptForAskBounce()) {
71559
71860
  this.bouncedToolUseId.set(callId, toolUseId);
71560
71861
  await this.bounceToAwaitingApprovalForAsk(
71561
71862
  scheduledCall,
@@ -72194,7 +72495,8 @@ ${body}
72194
72495
  );
72195
72496
  const processedImages = await this.processToolResultImages(
72196
72497
  convertedResponse,
72197
- signal
72498
+ signal,
72499
+ scheduledCall.request.executionOrigin
72198
72500
  );
72199
72501
  const response = processedImages.responseParts;
72200
72502
  if (response !== convertedResponse) {
@@ -72207,6 +72509,28 @@ ${body}
72207
72509
  ...toolResult.artifacts ?? [],
72208
72510
  ...postToolUseArtifacts ?? []
72209
72511
  ];
72512
+ const policyArtifacts = scheduledCall.tool.mediaPolicyDescriptor && toolResult.artifacts && toolResult.artifacts.length > 0 ? {
72513
+ toolName: canonicalName,
72514
+ invocationId: callId,
72515
+ executionOrigin: scheduledCall.request.executionOrigin ?? {
72516
+ kind: "model"
72517
+ },
72518
+ artifacts: toolResult.artifacts
72519
+ } : void 0;
72520
+ if (policyArtifacts && policyArtifacts.executionOrigin.kind !== "fixed_policy" && scheduledCall.tool.mediaPolicyDescriptor) {
72521
+ const { collectModelPolicyCall } = await import("./model-call-collection-RX7C24YP.js");
72522
+ await collectModelPolicyCall({
72523
+ config: this.config,
72524
+ batch: policyArtifacts,
72525
+ descriptor: scheduledCall.tool.mediaPolicyDescriptor,
72526
+ args: scheduledCall.invocation.params,
72527
+ // The REAL execution window (approval wait excluded). Without
72528
+ // it the record would hold the collection window instead, and
72529
+ // a 98-minute audio extraction reads as 0.6s.
72530
+ ..."executionStartTime" in scheduledCall && typeof scheduledCall.executionStartTime === "number" ? { startedAt: scheduledCall.executionStartTime } : {},
72531
+ signal
72532
+ });
72533
+ }
72210
72534
  const successResponse = {
72211
72535
  callId,
72212
72536
  responseParts: response,
@@ -72223,7 +72547,8 @@ ${body}
72223
72547
  ...processedImages.modelOverride !== void 0 ? { modelOverride: processedImages.modelOverride } : "modelOverride" in toolResult ? { modelOverride: toolResult.modelOverride } : {},
72224
72548
  ...toolResult.terminateTurn ? { terminateTurn: true } : {},
72225
72549
  ...processedImages.visionBridgeNotice !== void 0 ? { visionBridgeNotice: processedImages.visionBridgeNotice } : {},
72226
- ...artifacts.length > 0 ? { artifacts } : {}
72550
+ ...artifacts.length > 0 ? { artifacts } : {},
72551
+ ...policyArtifacts ? { policyArtifacts } : {}
72227
72552
  };
72228
72553
  if (canonicalName === ToolNames.EXIT_PLAN_MODE && typeof toolResult.llmContent === "string" && PLAN_EXIT_APPROVED_LLM_CONTENT_PREFIXES.some(
72229
72554
  (prefix) => toolResult.llmContent.startsWith(prefix)
@@ -72356,7 +72681,8 @@ ${failureHookResult.additionalContext}`;
72356
72681
  }
72357
72682
  const processedImages = await this.processToolResultImages(
72358
72683
  responseParts,
72359
- signal
72684
+ signal,
72685
+ scheduledCall.request.executionOrigin
72360
72686
  );
72361
72687
  responseParts = processedImages.responseParts;
72362
72688
  const contentLength = responseParts.reduce((total, part) => {
@@ -72456,7 +72782,8 @@ ${failureHookResult.additionalContext}`;
72456
72782
  ] : errorResponse.responseParts;
72457
72783
  const processedImages = await this.processToolResultImages(
72458
72784
  imageErrorParts,
72459
- signal
72785
+ signal,
72786
+ scheduledCall.request.executionOrigin
72460
72787
  );
72461
72788
  const bridgedErrorParts = processedImages.responseParts;
72462
72789
  if (bridgedErrorParts !== imageErrorParts || this.config.getEffectiveInputModalities?.()?.image === true) {
@@ -78989,6 +79316,7 @@ output_file: ${jsonlPath} (for review after the completion notification, not for
78989
79316
  signal?.addEventListener("abort", onParentAbort, { once: true });
78990
79317
  }
78991
79318
  const fgHookOpts = { ...hookOpts, signal: fgAbortController.signal };
79319
+ const goalPermit = getCurrentAgentId() ? void 0 : goalTurnContext.getStore();
78992
79320
  const runFramed = /* @__PURE__ */ __name(() => this.runWithSubagentSpan(
78993
79321
  this.buildSubagentSpanSpec(hookOpts, subagentConfig, "foreground"),
78994
79322
  fgAbortController.signal,
@@ -79158,6 +79486,12 @@ ${partial3}${wtSuffix}`
79158
79486
  returnDisplay: this.currentDisplay
79159
79487
  };
79160
79488
  } finally {
79489
+ if (goalPermit && subagentConfig.executor === void 0) {
79490
+ this.config.getChatRecordingService()?.billGoalTurnTokens(
79491
+ goalPermit.turnId,
79492
+ subagent.getExecutionSummary().totalTokens
79493
+ );
79494
+ }
79161
79495
  try {
79162
79496
  await cleanupWorktreeIsolation();
79163
79497
  } catch {
@@ -91804,6 +92138,11 @@ var LlmClient = class _LlmClient {
91804
92138
  const base = getMainSessionBaseSystemPrompt(this.config);
91805
92139
  const stableLayers = {
91806
92140
  base,
92141
+ // Progressive media understanding contract: WHY deliveries carry
92142
+ // 【媒体降质】/【媒体省略】/【媒体转写】 markers and how to fetch
92143
+ // fuller evidence. Stable — omni config/provider don't change
92144
+ // in-session — so it belongs inside the cached static prefix.
92145
+ mediaGuidance: buildOmniMediaGuidanceSection(this.config),
91807
92146
  contextFiles: this.config.getUserMemory(),
91808
92147
  appendPrompt: this.config.getAppendSystemPrompt()
91809
92148
  };
@@ -93459,6 +93798,25 @@ The current date is: ${today}. Note: This is the authoritative current date \u20
93459
93798
  if (userQueryMemory?.prompt) {
93460
93799
  systemReminders.unshift(userQueryMemory.prompt);
93461
93800
  }
93801
+ if (this.config.isOmniEnabled?.()) {
93802
+ const { runOmniMemorySideQuery, formatOmniMemorySideQueryReminder } = await import("./memory-side-query-DRV7FXK4.js");
93803
+ const omniRecall = await runOmniMemorySideQuery({
93804
+ config: this.config,
93805
+ requestParts: requestToSend,
93806
+ promptId: prompt_id,
93807
+ ...signal !== void 0 ? { signal } : {}
93808
+ });
93809
+ if (omniRecall?.result) {
93810
+ systemReminders.push(
93811
+ formatOmniMemorySideQueryReminder(omniRecall.result)
93812
+ );
93813
+ this.config.getChatRecordingService()?.recordOmniRecallReminder(omniRecall.result);
93814
+ } else if (omniRecall?.reason) {
93815
+ debugLogger63.debug(
93816
+ `omni passive media-memory recall degraded (${omniRecall.reason}) for ${omniRecall.resourceIds.length} resource(s)`
93817
+ );
93818
+ }
93819
+ }
93462
93820
  requestToSend = [...systemReminders, ...requestToSend];
93463
93821
  }
93464
93822
  if (messageType === "retry" /* Retry */ || messageType === "cron" /* Cron */ || messageType === "notification" /* Notification */ || messageType === "teammate" /* Teammate */) {
@@ -125896,7 +126254,7 @@ var HybridTokenStorage = class extends BaseTokenStorage {
125896
126254
  const forceFileStorage = process.env[FORCE_FILE_STORAGE_ENV_VAR] === "true";
125897
126255
  if (!forceFileStorage) {
125898
126256
  try {
125899
- const { KeychainTokenStorage: KeychainTokenStorage2 } = await import("./keychain-token-storage-NQ5XWIPX.js");
126257
+ const { KeychainTokenStorage: KeychainTokenStorage2 } = await import("./keychain-token-storage-ZZNRE6D4.js");
125900
126258
  const keychainStorage = new KeychainTokenStorage2(this.serviceName);
125901
126259
  const isAvailable = await keychainStorage.isAvailable();
125902
126260
  if (isAvailable) {
@@ -131483,6 +131841,10 @@ var ToolRegistry = class _ToolRegistry {
131483
131841
  return declarations;
131484
131842
  }
131485
131843
  isToolDeclared(name) {
131844
+ const tool = this.tools.get(name);
131845
+ if (tool && isMediaPolicyToolHiddenFromModel(this.config, tool)) {
131846
+ return false;
131847
+ }
131486
131848
  return name !== ToolNames.PROPOSE_GOAL || this.config.isGoalProposalAvailable();
131487
131849
  }
131488
131850
  /**
@@ -159820,7 +160182,10 @@ function createGoalVerifier(config3, options2 = {}) {
159820
160182
  },
159821
160183
  validate: validateGoalVerifierText
159822
160184
  });
159823
- return parseGoalVerifierText(result.text);
160185
+ return {
160186
+ ...parseGoalVerifierText(result.text),
160187
+ ...result.usage?.totalTokenCount !== void 0 ? { usage: { totalTokenCount: result.usage.totalTokenCount } } : {}
160188
+ };
159824
160189
  } finally {
159825
160190
  clearTimeout(timer);
159826
160191
  }
@@ -164303,6 +164668,35 @@ var Config = class _Config {
164303
164668
  artifactPublisher = "local";
164304
164669
  artifactHost;
164305
164670
  artifactOss;
164671
+ omniEnabled = false;
164672
+ omniMaxUploadFileBytes;
164673
+ omniMaxEstimatedTokens;
164674
+ omniMaxDurationSeconds;
164675
+ omniUrlDownloadMaxFileBytes;
164676
+ omniUploadUrlTtlHours;
164677
+ omniUploadBaseUrl;
164678
+ omniUploadApiKeyEnv;
164679
+ omniUploadModel;
164680
+ omniUploadConfig;
164681
+ omniPolicyTools;
164682
+ omniFixedPolicies;
164683
+ omniTransportGuardPolicies;
164684
+ omniProcessingLimits;
164685
+ omniQuarantineRetentionDays;
164686
+ omniStorageRetentionDays;
164687
+ omniStorageMaxTotalBytes;
164688
+ omniQuarantineMaxBytes;
164689
+ omniMemory;
164690
+ /** Normalized `omni.processing` view; set once during initialize()
164691
+ * (after the tool registry exists) when omni is enabled. */
164692
+ omniProcessingConfig;
164693
+ /** Normalized `omni.memory` view; set once during initialize() when
164694
+ * omni is enabled. */
164695
+ omniMemoryConfig;
164696
+ /** Session-lifetime binder between persistent media-memory identities
164697
+ * and the opaque resource handles the model sees (M §5.2); created
164698
+ * lazily on first use, never persisted. */
164699
+ omniMediaResourceRegistry;
164306
164700
  workflowsEnabled;
164307
164701
  sessionWorkflowEnabled;
164308
164702
  sessionWorkflowEnabledProvider;
@@ -164618,6 +165012,24 @@ var Config = class _Config {
164618
165012
  this.artifactPublisher = params.artifactPublisher ?? "local";
164619
165013
  this.artifactHost = params.artifactHost;
164620
165014
  this.artifactOss = params.artifactOss;
165015
+ this.omniEnabled = params.omniEnabled ?? false;
165016
+ this.omniMaxUploadFileBytes = params.omniMaxUploadFileBytes;
165017
+ this.omniMaxEstimatedTokens = params.omniMaxEstimatedTokens;
165018
+ this.omniMaxDurationSeconds = params.omniMaxDurationSeconds;
165019
+ this.omniUrlDownloadMaxFileBytes = params.omniUrlDownloadMaxFileBytes;
165020
+ this.omniUploadUrlTtlHours = params.omniUploadUrlTtlHours;
165021
+ this.omniUploadBaseUrl = params.omniUploadBaseUrl;
165022
+ this.omniUploadApiKeyEnv = params.omniUploadApiKeyEnv;
165023
+ this.omniUploadModel = params.omniUploadModel;
165024
+ this.omniPolicyTools = params.omniPolicyTools;
165025
+ this.omniFixedPolicies = params.omniFixedPolicies;
165026
+ this.omniTransportGuardPolicies = params.omniTransportGuardPolicies;
165027
+ this.omniProcessingLimits = params.omniProcessingLimits;
165028
+ this.omniQuarantineRetentionDays = params.omniQuarantineRetentionDays;
165029
+ this.omniQuarantineMaxBytes = params.omniQuarantineMaxBytes;
165030
+ this.omniStorageRetentionDays = params.omniStorageRetentionDays;
165031
+ this.omniStorageMaxTotalBytes = params.omniStorageMaxTotalBytes;
165032
+ this.omniMemory = params.omniMemory;
164621
165033
  this.workflowsEnabled = params.workflowsEnabled;
164622
165034
  this.sessionWorkflowEnabled = params.sessionWorkflowEnabled ?? false;
164623
165035
  this.modelProposedGoals = params.modelProposedGoals ?? "alwaysAsk";
@@ -164842,12 +165254,31 @@ var Config = class _Config {
164842
165254
  this.getFileService();
164843
165255
  await this.llmClient.initialize();
164844
165256
  await this.toolRegistry.warmAll({ strict: true });
165257
+ await this.initializeOmniPolicies();
164845
165258
  logStartSession(this, new StartSessionEvent(this));
164846
165259
  this.provisionalWorkspaceActivated = true;
164847
165260
  })();
164848
165261
  this.provisionalWorkspaceActivation = activation;
164849
165262
  return activation;
164850
165263
  }
165264
+ async initializeOmniPolicies() {
165265
+ if (this.isOmniEnabled()) {
165266
+ const { normalizeOmniProcessingConfig } = await import("./config-3X4AXU45.js");
165267
+ this.omniProcessingConfig = normalizeOmniProcessingConfig(
165268
+ {
165269
+ fixedPolicies: this.omniFixedPolicies,
165270
+ transportGuardPolicies: this.omniTransportGuardPolicies,
165271
+ limits: this.omniProcessingLimits,
165272
+ policyTools: this.omniPolicyTools,
165273
+ maxUploadFileBytes: this.omniMaxUploadFileBytes,
165274
+ maxEstimatedTokens: this.omniMaxEstimatedTokens,
165275
+ urlTtlHours: this.omniUploadUrlTtlHours
165276
+ },
165277
+ this.toolRegistry
165278
+ );
165279
+ await this.ensureOmniMemoryConfig();
165280
+ }
165281
+ }
164851
165282
  isProvisionalWorkspace() {
164852
165283
  return this.provisionalWorkspace;
164853
165284
  }
@@ -164899,6 +165330,16 @@ var Config = class _Config {
164899
165330
  this.debugLogger.info("Config initialization started");
164900
165331
  await this.proxyDispatcherReady;
164901
165332
  options2?.signal?.throwIfAborted();
165333
+ if (this.isOmniEnabled()) {
165334
+ const { normalizeDedicatedOmniUploadConfig } = await import("./upload-config-CKDIXTPK.js");
165335
+ this.omniUploadConfig = normalizeDedicatedOmniUploadConfig({
165336
+ baseUrl: this.omniUploadBaseUrl,
165337
+ apiKeyEnv: this.omniUploadApiKeyEnv,
165338
+ model: this.omniUploadModel
165339
+ });
165340
+ const { assertOmniRuntimeDependencies } = await import("./ffmpeg-N4LIIVNR.js");
165341
+ await assertOmniRuntimeDependencies();
165342
+ }
164902
165343
  if (options2?.skipFileCheckpointing === true) {
164903
165344
  this.fileCheckpointingEnabled = false;
164904
165345
  this.fileHistoryService = void 0;
@@ -165327,6 +165768,10 @@ var Config = class _Config {
165327
165768
  options2?.signal?.throwIfAborted();
165328
165769
  recordStartupEvent("config_initialize_tool_warmup_end");
165329
165770
  }
165771
+ if (!this.provisionalWorkspace) {
165772
+ await this.initializeOmniPolicies();
165773
+ options2?.signal?.throwIfAborted();
165774
+ }
165330
165775
  const hasMcpServers = Object.keys(this.getMcpServers() ?? {}).length > 0;
165331
165776
  if (skipInlineMcpDiscovery && (!(this.getBareMode() || this.isSafeMode()) || hasMcpServers) && !this.provisionalWorkspace && !options2?.skipMcpDiscovery) {
165332
165777
  this.startMcpDiscoveryInBackground();
@@ -168713,6 +169158,82 @@ var Config = class _Config {
168713
169158
  getArtifactOssConfig() {
168714
169159
  return this.artifactOss;
168715
169160
  }
169161
+ isOmniEnabled() {
169162
+ if (this.bareMode) return false;
169163
+ if (process8.env["QWEN_CODE_ENABLE_OMNI"] === "1") return true;
169164
+ return this.omniEnabled;
169165
+ }
169166
+ getOmniMaxUploadFileBytes() {
169167
+ return this.omniMaxUploadFileBytes;
169168
+ }
169169
+ getOmniMaxEstimatedTokens() {
169170
+ return this.omniMaxEstimatedTokens;
169171
+ }
169172
+ getOmniMaxDurationSeconds() {
169173
+ return this.omniMaxDurationSeconds;
169174
+ }
169175
+ getOmniUrlDownloadMaxFileBytes() {
169176
+ return this.omniUrlDownloadMaxFileBytes;
169177
+ }
169178
+ getOmniUploadUrlTtlHours() {
169179
+ return this.omniUploadUrlTtlHours;
169180
+ }
169181
+ getOmniUploadConfig() {
169182
+ return this.omniUploadConfig;
169183
+ }
169184
+ getOmniPolicyToolsSettings() {
169185
+ return this.omniPolicyTools;
169186
+ }
169187
+ async loadOmniMediaReader() {
169188
+ return import("./omni-A5XLPNSH.js");
169189
+ }
169190
+ /** Normalized `omni.processing` view. Undefined until tool warmup
169191
+ * completes (or when omni is disabled). */
169192
+ getOmniProcessingConfig() {
169193
+ return this.omniProcessingConfig;
169194
+ }
169195
+ /** Normalized `omni.memory` view. Undefined until initialize()
169196
+ * completes (or when omni is disabled). */
169197
+ getOmniMemoryConfig() {
169198
+ return this.omniMemoryConfig;
169199
+ }
169200
+ /** Normalize `omni.memory` on first use (idempotent). Called from
169201
+ * createToolRegistry — which runs BEFORE initialize()'s omni
169202
+ * normalization block and needs `recall.mode` to gate the recall
169203
+ * tool's registration (D10) — and again from initialize() as a
169204
+ * no-op backstop. Invalid settings throw OmniMemoryConfigError:
169205
+ * startup-fatal on both paths. */
169206
+ async ensureOmniMemoryConfig() {
169207
+ if (!this.omniMemoryConfig) {
169208
+ const { normalizeOmniMemoryConfig } = await import("./config-T5RO4NJV.js");
169209
+ this.omniMemoryConfig = normalizeOmniMemoryConfig(this.omniMemory);
169210
+ }
169211
+ return this.omniMemoryConfig;
169212
+ }
169213
+ /** Session registry binding persistent media-memory identities to the
169214
+ * opaque `resourceId` handles the model references (M §5.2). One
169215
+ * instance per session; a handle is only meaningful in the session
169216
+ * that minted it. */
169217
+ getOmniMediaResourceRegistry() {
169218
+ this.omniMediaResourceRegistry ??= new MediaResourceRegistry();
169219
+ return this.omniMediaResourceRegistry;
169220
+ }
169221
+ getOmniQuarantineRetentionDays() {
169222
+ const days = this.omniQuarantineRetentionDays;
169223
+ return typeof days === "number" && Number.isFinite(days) && days > 0 ? days : 7;
169224
+ }
169225
+ getOmniQuarantineMaxBytes() {
169226
+ const bytes = this.omniQuarantineMaxBytes;
169227
+ return typeof bytes === "number" && Number.isFinite(bytes) && bytes > 0 ? bytes : 5 * 1024 * 1024 * 1024;
169228
+ }
169229
+ getOmniStorageRetentionDays() {
169230
+ const days = this.omniStorageRetentionDays;
169231
+ return typeof days === "number" && Number.isFinite(days) && days >= 1 ? days : 14;
169232
+ }
169233
+ getOmniStorageMaxTotalBytes() {
169234
+ const bytes = this.omniStorageMaxTotalBytes;
169235
+ return typeof bytes === "number" && Number.isFinite(bytes) && bytes > 0 ? bytes : 20 * 1024 * 1024 * 1024;
169236
+ }
168716
169237
  resolveImageGenerationModel(setting) {
168717
169238
  const parsedSetting = parseVisionModelSetting(setting);
168718
169239
  if (!parsedSetting) return void 0;
@@ -170057,7 +170578,7 @@ var Config = class _Config {
170057
170578
  async registerWorkflowTool(registry3) {
170058
170579
  if (registry3.getAllToolNames().includes(ToolNames.WORKFLOW)) return true;
170059
170580
  await this.registerLazyTool(registry3, ToolNames.WORKFLOW, async () => {
170060
- const { WorkflowTool } = await import("./workflow-O7L6VDYU.js");
170581
+ const { WorkflowTool } = await import("./workflow-MHYBJHPP.js");
170061
170582
  return new WorkflowTool(this);
170062
170583
  });
170063
170584
  return registry3.getAllToolNames().includes(ToolNames.WORKFLOW);
@@ -170079,7 +170600,7 @@ var Config = class _Config {
170079
170600
  }
170080
170601
  if (status === "disabled") return;
170081
170602
  const factory = /* @__PURE__ */ __name(async () => {
170082
- const { ImageGenTool } = await import("./image-gen-HIAZCB5T.js");
170603
+ const { ImageGenTool } = await import("./image-gen-LX3C4V3R.js");
170083
170604
  return new ImageGenTool(this);
170084
170605
  }, "factory");
170085
170606
  if (status === "deferred") {
@@ -170106,7 +170627,7 @@ var Config = class _Config {
170106
170627
  return;
170107
170628
  }
170108
170629
  const factory = /* @__PURE__ */ __name(async () => {
170109
- const { RecordSourceTool } = await import("./record-source-2GSY5JD5.js");
170630
+ const { RecordSourceTool } = await import("./record-source-2VSQINX6.js");
170110
170631
  return new RecordSourceTool(this);
170111
170632
  }, "factory");
170112
170633
  if (status === "deferred") {
@@ -170130,23 +170651,23 @@ var Config = class _Config {
170130
170651
  if (options2?.forSubAgent) return;
170131
170652
  const schema = this.jsonSchema;
170132
170653
  await registerLazy(ToolNames.STRUCTURED_OUTPUT, async () => {
170133
- const { SyntheticOutputTool } = await import("./syntheticOutput-EX5L5GYI.js");
170654
+ const { SyntheticOutputTool } = await import("./syntheticOutput-SSXJ2NEY.js");
170134
170655
  return new SyntheticOutputTool(schema);
170135
170656
  });
170136
170657
  }, "registerStructuredOutputIfRequested");
170137
170658
  const registerGoalWorkerTools = /* @__PURE__ */ __name(async () => {
170138
170659
  if (options2?.forSubAgent) return;
170139
170660
  await registerLazy(ToolNames.GET_GOAL, async () => {
170140
- const { GetGoalTool: GetGoalTool2 } = await import("./goal-tools-HXVVLGCV.js");
170661
+ const { GetGoalTool: GetGoalTool2 } = await import("./goal-tools-2OB5WPNH.js");
170141
170662
  return new GetGoalTool2(this);
170142
170663
  });
170143
170664
  await registerLazy(ToolNames.UPDATE_GOAL, async () => {
170144
- const { UpdateGoalTool: UpdateGoalTool2 } = await import("./goal-tools-HXVVLGCV.js");
170665
+ const { UpdateGoalTool: UpdateGoalTool2 } = await import("./goal-tools-2OB5WPNH.js");
170145
170666
  return new UpdateGoalTool2(this);
170146
170667
  });
170147
170668
  if (this.getModelProposedGoals() !== "disabled" && (resolveInteractionMode(this) === "interactive" || this.goalProposalHostSupported)) {
170148
170669
  await registerLazy(ToolNames.PROPOSE_GOAL, async () => {
170149
- const { ProposeGoalTool: ProposeGoalTool2 } = await import("./goal-tools-HXVVLGCV.js");
170670
+ const { ProposeGoalTool: ProposeGoalTool2 } = await import("./goal-tools-2OB5WPNH.js");
170150
170671
  return new ProposeGoalTool2(this);
170151
170672
  });
170152
170673
  }
@@ -170154,25 +170675,25 @@ var Config = class _Config {
170154
170675
  const registerExecIfEnabled = /* @__PURE__ */ __name(async () => {
170155
170676
  if (this.getToolMode() !== ToolMode.CodeModeOnly) return;
170156
170677
  await registerLazy(ToolNames.EXEC, async () => {
170157
- const { ExecTool } = await import("./exec-RPKEY6HP.js");
170678
+ const { ExecTool } = await import("./exec-7CFNHYCV.js");
170158
170679
  return new ExecTool(this);
170159
170680
  });
170160
170681
  }, "registerExecIfEnabled");
170161
170682
  if (this.getBareMode()) {
170162
170683
  await registerLazy(ToolNames.READ_FILE, async () => {
170163
- const { ReadFileTool } = await import("./read-file-G4XKW2CS.js");
170684
+ const { ReadFileTool } = await import("./read-file-ZQKBXJSH.js");
170164
170685
  return new ReadFileTool(this);
170165
170686
  });
170166
170687
  await registerLazy(ToolNames.EDIT, async () => {
170167
- const { EditTool } = await import("./edit-CMSQB7NP.js");
170688
+ const { EditTool } = await import("./edit-JJ34NKRC.js");
170168
170689
  return new EditTool(this);
170169
170690
  });
170170
170691
  await registerLazy(ToolNames.NOTEBOOK_EDIT, async () => {
170171
- const { NotebookEditTool } = await import("./notebook-edit-3WCVRNGL.js");
170692
+ const { NotebookEditTool } = await import("./notebook-edit-5CM3VYNK.js");
170172
170693
  return new NotebookEditTool(this);
170173
170694
  });
170174
170695
  await registerLazy(ToolNames.SHELL, async () => {
170175
- const { ShellTool: ShellTool2 } = await import("./shell-IMFUVQQ5.js");
170696
+ const { ShellTool: ShellTool2 } = await import("./shell-NLNU2TPF.js");
170176
170697
  return new ShellTool2(this);
170177
170698
  });
170178
170699
  await registerGoalWorkerTools();
@@ -170186,45 +170707,45 @@ var Config = class _Config {
170186
170707
  await registerExecIfEnabled();
170187
170708
  await registerGoalWorkerTools();
170188
170709
  await registerLazy(ToolNames.TOOL_SEARCH, async () => {
170189
- const { ToolSearchTool } = await import("./tool-search-ZHTJU2MV.js");
170710
+ const { ToolSearchTool } = await import("./tool-search-7XR7RHMB.js");
170190
170711
  return new ToolSearchTool(this);
170191
170712
  });
170192
170713
  await registerLazy(ToolNames.READ_MCP_RESOURCE, async () => {
170193
- const { ReadMcpResourceTool } = await import("./read-mcp-resource-LPSWXVOD.js");
170714
+ const { ReadMcpResourceTool } = await import("./read-mcp-resource-INJIV3UC.js");
170194
170715
  return new ReadMcpResourceTool(this);
170195
170716
  });
170196
170717
  await registerLazy(ToolNames.AGENT, async () => {
170197
- const { AgentTool: AgentTool2 } = await import("./agent-KIHGINKN.js");
170718
+ const { AgentTool: AgentTool2 } = await import("./agent-FWPNJI6N.js");
170198
170719
  return new AgentTool2(this);
170199
170720
  });
170200
170721
  await registerLazy(ToolNames.LIST_AGENTS, async () => {
170201
- const { ListAgentsTool } = await import("./list-agents-EWDCEPIW.js");
170722
+ const { ListAgentsTool } = await import("./list-agents-HS6HH4DJ.js");
170202
170723
  return new ListAgentsTool(this);
170203
170724
  });
170204
170725
  await registerLazy(ToolNames.TASK_STOP, async () => {
170205
- const { TaskStopTool } = await import("./task-stop-MD7P6QGK.js");
170726
+ const { TaskStopTool } = await import("./task-stop-3MXTDL7H.js");
170206
170727
  return new TaskStopTool(this);
170207
170728
  });
170208
170729
  await registerLazy(ToolNames.SEND_MESSAGE, async () => {
170209
- const { SendMessageTool } = await import("./send-message-DN76MXDX.js");
170730
+ const { SendMessageTool } = await import("./send-message-TLF36UW2.js");
170210
170731
  return new SendMessageTool(this);
170211
170732
  });
170212
170733
  await registerLazy(ToolNames.SKILL, async () => {
170213
- const { SkillTool } = await import("./skill-NB5RJGZW.js");
170734
+ const { SkillTool } = await import("./skill-KIRNNJMK.js");
170214
170735
  return new SkillTool(this);
170215
170736
  });
170216
170737
  if (this.isLsToolEnabled()) {
170217
170738
  await registerLazy(ToolNames.LS, async () => {
170218
- const { LSTool } = await import("./ls-6ZB3BEIR.js");
170739
+ const { LSTool } = await import("./ls-EZ5PSWU2.js");
170219
170740
  return new LSTool(this);
170220
170741
  });
170221
170742
  }
170222
170743
  await registerLazy(ToolNames.READ_FILE, async () => {
170223
- const { ReadFileTool } = await import("./read-file-G4XKW2CS.js");
170744
+ const { ReadFileTool } = await import("./read-file-ZQKBXJSH.js");
170224
170745
  return new ReadFileTool(this);
170225
170746
  });
170226
170747
  await registerLazy(ToolNames.ZOOM_IMAGE, async () => {
170227
- const { ZoomImageTool } = await import("./zoom-image-RDPRTP4B.js");
170748
+ const { ZoomImageTool } = await import("./zoom-image-3GHVMYEW.js");
170228
170749
  return new ZoomImageTool(this);
170229
170750
  });
170230
170751
  if (this.getUseRipgrep()) {
@@ -170239,7 +170760,7 @@ var Config = class _Config {
170239
170760
  recordStartupEvent("config_initialize_ripgrep_probe_end");
170240
170761
  if (useRipgrep) {
170241
170762
  await registerLazy(ToolNames.GREP, async () => {
170242
- const { RipGrepTool } = await import("./ripGrep-AAKMALLM.js");
170763
+ const { RipGrepTool } = await import("./ripGrep-F5MM4HGA.js");
170243
170764
  return new RipGrepTool(this);
170244
170765
  });
170245
170766
  } else {
@@ -170252,7 +170773,7 @@ var Config = class _Config {
170252
170773
  )
170253
170774
  );
170254
170775
  await registerLazy(ToolNames.GREP, async () => {
170255
- const { GrepTool } = await import("./grep-H2I33VAO.js");
170776
+ const { GrepTool } = await import("./grep-JB5DGQ3B.js");
170256
170777
  return new GrepTool(this);
170257
170778
  });
170258
170779
  }
@@ -170260,84 +170781,84 @@ var Config = class _Config {
170260
170781
  recordStartupEvent("config_initialize_ripgrep_probe_start");
170261
170782
  recordStartupEvent("config_initialize_ripgrep_probe_end");
170262
170783
  await registerLazy(ToolNames.GREP, async () => {
170263
- const { GrepTool } = await import("./grep-H2I33VAO.js");
170784
+ const { GrepTool } = await import("./grep-JB5DGQ3B.js");
170264
170785
  return new GrepTool(this);
170265
170786
  });
170266
170787
  }
170267
170788
  await registerLazy(ToolNames.GLOB, async () => {
170268
- const { GlobTool } = await import("./glob-Z2JMJKKN.js");
170789
+ const { GlobTool } = await import("./glob-GFID3F3R.js");
170269
170790
  return new GlobTool(this);
170270
170791
  });
170271
170792
  await registerLazy(ToolNames.EDIT, async () => {
170272
- const { EditTool } = await import("./edit-CMSQB7NP.js");
170793
+ const { EditTool } = await import("./edit-JJ34NKRC.js");
170273
170794
  return new EditTool(this);
170274
170795
  });
170275
170796
  await registerLazy(ToolNames.NOTEBOOK_EDIT, async () => {
170276
- const { NotebookEditTool } = await import("./notebook-edit-3WCVRNGL.js");
170797
+ const { NotebookEditTool } = await import("./notebook-edit-5CM3VYNK.js");
170277
170798
  return new NotebookEditTool(this);
170278
170799
  });
170279
170800
  await registerLazy(ToolNames.WRITE_FILE, async () => {
170280
- const { WriteFileTool } = await import("./write-file-LKX4ETIO.js");
170801
+ const { WriteFileTool } = await import("./write-file-N7NBKIYD.js");
170281
170802
  return new WriteFileTool(this);
170282
170803
  });
170283
170804
  await registerLazy(ToolNames.SHELL, async () => {
170284
- const { ShellTool: ShellTool2 } = await import("./shell-IMFUVQQ5.js");
170805
+ const { ShellTool: ShellTool2 } = await import("./shell-NLNU2TPF.js");
170285
170806
  return new ShellTool2(this);
170286
170807
  });
170287
170808
  if (this.isTodoWriteEnabled()) {
170288
170809
  await registerLazy(ToolNames.TODO_WRITE, async () => {
170289
- const { TodoWriteTool } = await import("./todoWrite-XSTG2VT5.js");
170810
+ const { TodoWriteTool } = await import("./todoWrite-CMBHPR66.js");
170290
170811
  return new TodoWriteTool(this);
170291
170812
  });
170292
170813
  }
170293
170814
  await registerLazy(ToolNames.REPORT_FINDINGS, async () => {
170294
- const { ReportFindingsTool } = await import("./report-findings-LY5HQY4K.js");
170815
+ const { ReportFindingsTool } = await import("./report-findings-OZSLWYAS.js");
170295
170816
  return new ReportFindingsTool();
170296
170817
  });
170297
170818
  const supportsUserInteraction = resolveInteractionMode(this) !== "headless";
170298
170819
  if (supportsUserInteraction) {
170299
170820
  await registerLazy(ToolNames.ASK_USER_QUESTION, async () => {
170300
- const { AskUserQuestionTool: AskUserQuestionTool2 } = await import("./askUserQuestion-AKIRLVB5.js");
170821
+ const { AskUserQuestionTool: AskUserQuestionTool2 } = await import("./askUserQuestion-YFFBB4K3.js");
170301
170822
  return new AskUserQuestionTool2(this);
170302
170823
  });
170303
170824
  }
170304
170825
  if (!this.sdkMode && (supportsUserInteraction || options2?.forSubAgent)) {
170305
170826
  await registerLazy(ToolNames.EXIT_PLAN_MODE, async () => {
170306
- const { ExitPlanModeTool: ExitPlanModeTool2 } = await import("./exitPlanMode-BYBBFN2T.js");
170827
+ const { ExitPlanModeTool: ExitPlanModeTool2 } = await import("./exitPlanMode-5YR5VWXS.js");
170307
170828
  return new ExitPlanModeTool2(this);
170308
170829
  });
170309
170830
  }
170310
170831
  if (!this.sdkMode && supportsUserInteraction) {
170311
170832
  await registerLazy(ToolNames.ENTER_PLAN_MODE, async () => {
170312
- const { EnterPlanModeTool } = await import("./enterPlanMode-UDPMNESD.js");
170833
+ const { EnterPlanModeTool } = await import("./enterPlanMode-H6FBPVLB.js");
170313
170834
  return new EnterPlanModeTool(this);
170314
170835
  });
170315
170836
  }
170316
170837
  await registerLazy(ToolNames.ENTER_WORKTREE, async () => {
170317
- const { EnterWorktreeTool } = await import("./enter-worktree-DA6A4XC5.js");
170838
+ const { EnterWorktreeTool } = await import("./enter-worktree-QK7DR5EF.js");
170318
170839
  return new EnterWorktreeTool(this);
170319
170840
  });
170320
170841
  await registerLazy(ToolNames.EXIT_WORKTREE, async () => {
170321
- const { ExitWorktreeTool } = await import("./exit-worktree-4H6Z2VQI.js");
170842
+ const { ExitWorktreeTool } = await import("./exit-worktree-62COYIHF.js");
170322
170843
  return new ExitWorktreeTool(this);
170323
170844
  });
170324
170845
  await registerLazy(ToolNames.WEB_FETCH, async () => {
170325
- const { WebFetchTool } = await import("./web-fetch-O6RG6ISB.js");
170846
+ const { WebFetchTool } = await import("./web-fetch-UIDZX5RN.js");
170326
170847
  return new WebFetchTool(this);
170327
170848
  });
170328
170849
  if (resolveInteractionMode(this) === "interactive" && !this.sdkMode && !this.getScreenReader() && !options2?.forSubAgent) {
170329
170850
  await registerLazy(ToolNames.DISPLAY_IMAGE, async () => {
170330
- const { DisplayImageTool } = await import("./display-image-QTHALY6N.js");
170851
+ const { DisplayImageTool } = await import("./display-image-FTWDRBOP.js");
170331
170852
  return new DisplayImageTool(this);
170332
170853
  });
170333
170854
  }
170334
170855
  const hasExplicitWebSearchBackend = !!this.webSearchSettings?.model?.trim() || !!this.webSearchSettings?.baseUrl;
170335
170856
  if (!this.getBareMode() && !this.isSafeMode() && this.webSearchSettings?.enabled !== false && (this.webSearchSettings?.enabled === true || !hasExplicitWebSearchBackend)) {
170336
- const { evaluateWebSearchGate } = await import("./web-search-JHAXVEMD.js");
170857
+ const { evaluateWebSearchGate } = await import("./web-search-VETWDOUJ.js");
170337
170858
  const gate = evaluateWebSearchGate(this);
170338
170859
  if (gate.ok) {
170339
170860
  await registerLazy(ToolNames.WEB_SEARCH, async () => {
170340
- const { WebSearchTool } = await import("./web-search-JHAXVEMD.js");
170861
+ const { WebSearchTool } = await import("./web-search-VETWDOUJ.js");
170341
170862
  return new WebSearchTool(this);
170342
170863
  });
170343
170864
  } else if (!gate.silent && !this.webSearchNoticeEmitted && !options2?.forSubAgent) {
@@ -170348,7 +170869,7 @@ var Config = class _Config {
170348
170869
  await this.registerImageGenerationTool(registry3);
170349
170870
  if (this.isArtifactEnabled()) {
170350
170871
  await registerLazy(ToolNames.ARTIFACT, async () => {
170351
- const { ArtifactTool } = await import("./artifact-tool-MUTNH4NI.js");
170872
+ const { ArtifactTool } = await import("./artifact-tool-3MWM6SN2.js");
170352
170873
  return new ArtifactTool(this);
170353
170874
  });
170354
170875
  }
@@ -170357,78 +170878,148 @@ var Config = class _Config {
170357
170878
  }
170358
170879
  if (this.isRecordArtifactEnabled()) {
170359
170880
  await registerLazy(ToolNames.RECORD_ARTIFACT, async () => {
170360
- const { RecordArtifactTool } = await import("./record-artifact-L3CFJOMA.js");
170881
+ const { RecordArtifactTool } = await import("./record-artifact-KKW3AIMJ.js");
170361
170882
  return new RecordArtifactTool(this);
170362
170883
  });
170363
170884
  }
170364
170885
  if (this.isLspEnabled() && this.getLspClient()) {
170365
170886
  await registerLazy(ToolNames.LSP, async () => {
170366
- const { LspTool } = await import("./lsp-M54FQARP.js");
170887
+ const { LspTool } = await import("./lsp-DYFFHKB3.js");
170367
170888
  return new LspTool(this);
170368
170889
  });
170369
170890
  }
170370
170891
  await registerStructuredOutputIfRequested();
170371
170892
  if (this.isCronEnabled()) {
170372
170893
  await registerLazy(ToolNames.CRON_CREATE, async () => {
170373
- const { CronCreateTool } = await import("./cron-create-U2JJ5CCF.js");
170894
+ const { CronCreateTool } = await import("./cron-create-GS7ORRO6.js");
170374
170895
  return new CronCreateTool(this);
170375
170896
  });
170376
170897
  await registerLazy(ToolNames.CRON_LIST, async () => {
170377
- const { CronListTool } = await import("./cron-list-VCUSZK2Y.js");
170898
+ const { CronListTool } = await import("./cron-list-EX27DW4H.js");
170378
170899
  return new CronListTool(this);
170379
170900
  });
170380
170901
  await registerLazy(ToolNames.CRON_DELETE, async () => {
170381
- const { CronDeleteTool } = await import("./cron-delete-7DM4LJWD.js");
170902
+ const { CronDeleteTool } = await import("./cron-delete-3GGDNNXD.js");
170382
170903
  return new CronDeleteTool(this);
170383
170904
  });
170384
170905
  await registerLazy(ToolNames.LOOP_WAKEUP, async () => {
170385
- const { LoopWakeupTool } = await import("./loop-wakeup-ZBVRI6VH.js");
170906
+ const { LoopWakeupTool } = await import("./loop-wakeup-4B7OY3TV.js");
170386
170907
  return new LoopWakeupTool(this);
170387
170908
  });
170388
170909
  }
170389
170910
  if (this.getSubSessionSpawner()) {
170390
170911
  await registerLazy(ToolNames.CREATE_SUB_SESSION, async () => {
170391
- const { CreateSubSessionTool } = await import("./create-sub-session-MSGNIM37.js");
170912
+ const { CreateSubSessionTool } = await import("./create-sub-session-6EDEANCD.js");
170392
170913
  return new CreateSubSessionTool(this);
170393
170914
  });
170394
170915
  }
170395
170916
  if (this.isAgentTeamEnabled()) {
170396
170917
  await registerLazy(ToolNames.TEAM_CREATE, async () => {
170397
- const { TeamCreateTool } = await import("./team-create-2XTBYRJF.js");
170918
+ const { TeamCreateTool } = await import("./team-create-VES6TOBA.js");
170398
170919
  return new TeamCreateTool(this);
170399
170920
  });
170400
170921
  await registerLazy(ToolNames.TEAM_DELETE, async () => {
170401
- const { TeamDeleteTool } = await import("./team-delete-RIDINW6I.js");
170922
+ const { TeamDeleteTool } = await import("./team-delete-V2CROTI6.js");
170402
170923
  return new TeamDeleteTool(this);
170403
170924
  });
170404
170925
  await registerLazy(ToolNames.TEAM_PLAN_APPROVAL, async () => {
170405
- const { TeamPlanApprovalTool } = await import("./team-plan-approval-CFNWW7ZQ.js");
170926
+ const { TeamPlanApprovalTool } = await import("./team-plan-approval-ZMCHBBUM.js");
170406
170927
  return new TeamPlanApprovalTool(this);
170407
170928
  });
170408
170929
  if (!options2?.forSubAgent) {
170409
170930
  await registerLazy(ToolNames.REQUEST_SHUTDOWN, async () => {
170410
- const { RequestShutdownTool } = await import("./request-shutdown-53SNYGVR.js");
170931
+ const { RequestShutdownTool } = await import("./request-shutdown-3RUGTWRR.js");
170411
170932
  return new RequestShutdownTool(this);
170412
170933
  });
170413
170934
  }
170414
170935
  await registerLazy(ToolNames.TASK_CREATE, async () => {
170415
- const { TaskCreateTool } = await import("./task-create-75HVPEAH.js");
170936
+ const { TaskCreateTool } = await import("./task-create-EEMYF6LY.js");
170416
170937
  return new TaskCreateTool(this);
170417
170938
  });
170418
170939
  await registerLazy(ToolNames.TASK_UPDATE, async () => {
170419
- const { TaskUpdateTool } = await import("./task-update-3LSYQDRW.js");
170940
+ const { TaskUpdateTool } = await import("./task-update-JSBHKL4L.js");
170420
170941
  return new TaskUpdateTool(this);
170421
170942
  });
170422
170943
  await registerLazy(ToolNames.TASK_LIST, async () => {
170423
- const { TaskListTool } = await import("./task-list-ZLJSMRFA.js");
170944
+ const { TaskListTool } = await import("./task-list-GA5GOR74.js");
170424
170945
  return new TaskListTool(this);
170425
170946
  });
170426
170947
  }
170427
170948
  if (this.isWorkflowsEnabled()) {
170428
170949
  await this.registerWorkflowTool(registry3);
170429
170950
  }
170951
+ if (this.isOmniEnabled()) {
170952
+ const omniPolicyToolFactories = [
170953
+ [
170954
+ ToolNames.OMNI_DOWNSAMPLE_IMAGE,
170955
+ async () => new (await import("./downsample-image-A5JEYIV5.js")).OmniDownsampleImageTool(this)
170956
+ ],
170957
+ [
170958
+ ToolNames.OMNI_DOWNSCALE_VIDEO,
170959
+ async () => new (await import("./downscale-video-4W5BX5KO.js")).OmniDownscaleVideoTool(this)
170960
+ ],
170961
+ [
170962
+ ToolNames.OMNI_DOWNSAMPLE_AUDIO,
170963
+ async () => new (await import("./downsample-audio-LPDWX6GF.js")).OmniDownsampleAudioTool(this)
170964
+ ],
170965
+ [
170966
+ ToolNames.OMNI_EXTRACT_KEYFRAMES,
170967
+ async () => new (await import("./extract-keyframes-Q6DRMQAJ.js")).OmniExtractKeyframesTool(this)
170968
+ ],
170969
+ [
170970
+ ToolNames.OMNI_EXTRACT_AUDIO,
170971
+ async () => new (await import("./extract-audio-GSSZQV6G.js")).OmniExtractAudioTool(this)
170972
+ ],
170973
+ [
170974
+ ToolNames.OMNI_CLIP_VIDEO,
170975
+ async () => new (await import("./clip-video-JIRMV5IH.js")).OmniClipVideoTool(this)
170976
+ ],
170977
+ [
170978
+ ToolNames.OMNI_CONVERT_IMAGE,
170979
+ async () => new (await import("./convert-image-D52K2FFB.js")).OmniConvertImageTool(this)
170980
+ ],
170981
+ [
170982
+ ToolNames.OMNI_TRANSCRIBE_AUDIO,
170983
+ async () => new (await import("./transcribe-audio-AJQZPNEV.js")).OmniTranscribeAudioTool(this)
170984
+ ],
170985
+ [
170986
+ ToolNames.OMNI_CLIP_IMAGE,
170987
+ async () => new (await import("./clip-image-BQRPECIS.js")).OmniClipImageTool(this)
170988
+ ],
170989
+ [
170990
+ ToolNames.OMNI_CLIP_AUDIO,
170991
+ async () => new (await import("./clip-audio-SH4L7AEY.js")).OmniClipAudioTool(this)
170992
+ ],
170993
+ [
170994
+ ToolNames.OMNI_CAPTION_IMAGE,
170995
+ async () => new (await import("./caption-image-B7O4TUFP.js")).OmniCaptionImageTool(this)
170996
+ ],
170997
+ [
170998
+ ToolNames.OMNI_CAPTION_AUDIO,
170999
+ async () => new (await import("./caption-audio-UXXLI3JZ.js")).OmniCaptionAudioTool(this)
171000
+ ],
171001
+ [
171002
+ ToolNames.OMNI_OCR_IMAGE,
171003
+ async () => new (await import("./ocr-image-Q4HYJ3U7.js")).OmniOcrImageTool(this)
171004
+ ],
171005
+ [
171006
+ ToolNames.OMNI_UNDERSTAND_VIDEO_SEGMENTS,
171007
+ async () => new (await import("./understand-video-segments-5TMRDQUB.js")).OmniUnderstandVideoSegmentsTool(this)
171008
+ ]
171009
+ ];
171010
+ for (const [name, factory] of omniPolicyToolFactories) {
171011
+ await registerLazy(name, factory);
171012
+ }
171013
+ const memoryConfig = await this.ensureOmniMemoryConfig();
171014
+ if (memoryConfig.recall.mode === "active") {
171015
+ await registerLazy(ToolNames.OMNI_RECALL_MEDIA_MEMORY, async () => {
171016
+ const { OmniRecallMediaMemoryTool } = await import("./recall-media-memory-tool-PEE2BWRY.js");
171017
+ return new OmniRecallMediaMemoryTool(this);
171018
+ });
171019
+ }
171020
+ }
170430
171021
  await registerLazy(ToolNames.MONITOR, async () => {
170431
- const { MonitorTool } = await import("./monitor-CI7YE7MT.js");
171022
+ const { MonitorTool } = await import("./monitor-LXQRI2IF.js");
170432
171023
  return new MonitorTool(this);
170433
171024
  });
170434
171025
  if (this.pendingMcpBudgetCallback) {
@@ -171329,19 +171920,6 @@ export {
171329
171920
  isTurnResultRecordPayload,
171330
171921
  sleepInhibitor,
171331
171922
  acquireSleepInhibitor,
171332
- ORPHAN_TOOL_USE_REPAIR_REASON,
171333
- repairOrphanedToolUseTurns,
171334
- findRestorableAskUserQuestion,
171335
- restorableAskUserQuestionCallIds,
171336
- lastHistoryContentFromRecords,
171337
- GLOBAL_DUPLICATE_THRESHOLD,
171338
- DEFAULT_MAX_TOOL_CALLS_PER_TURN,
171339
- shouldHaltOnTurnToolCallCap,
171340
- CommitAttributionService,
171341
- ensureAutoMemoryScaffold,
171342
- readAutoMemoryIndex,
171343
- ensureUserAutoMemoryScaffold,
171344
- readUserAutoMemoryIndex,
171345
171923
  generateToolUseId,
171346
171924
  firePreToolUseHook,
171347
171925
  firePostToolUseHook,
@@ -171393,6 +171971,7 @@ export {
171393
171971
  isEditorAvailable,
171394
171972
  createPatchSmart,
171395
171973
  getDiffStat,
171974
+ CommitAttributionService,
171396
171975
  loadPty,
171397
171976
  loadXtermHeadless,
171398
171977
  isUnusableScriptEntry,
@@ -171435,6 +172014,18 @@ export {
171435
172014
  isToolCallConcurrencySafe,
171436
172015
  partitionByConcurrencySafety,
171437
172016
  CoreToolScheduler,
172017
+ ORPHAN_TOOL_USE_REPAIR_REASON,
172018
+ repairOrphanedToolUseTurns,
172019
+ findRestorableAskUserQuestion,
172020
+ restorableAskUserQuestionCallIds,
172021
+ lastHistoryContentFromRecords,
172022
+ GLOBAL_DUPLICATE_THRESHOLD,
172023
+ DEFAULT_MAX_TOOL_CALLS_PER_TURN,
172024
+ shouldHaltOnTurnToolCallCap,
172025
+ ensureAutoMemoryScaffold,
172026
+ readAutoMemoryIndex,
172027
+ ensureUserAutoMemoryScaffold,
172028
+ readUserAutoMemoryIndex,
171438
172029
  AgentEventEmitter,
171439
172030
  ContextState,
171440
172031
  templateString,