@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
@@ -0,0 +1,239 @@
1
+ // Force strict mode and setup for ESM
2
+ "use strict";
3
+ import {
4
+ loadSharp
5
+ } from "./chunk-VDNCKE2O.js";
6
+ import {
7
+ BaseMediaPolicyTool,
8
+ BaseMediaPolicyToolInvocation,
9
+ MEDIA_POLICY_IO_SCHEMA_PROPERTIES,
10
+ assertMediaPolicyIo,
11
+ formatBytesShort,
12
+ mediaPolicyToolError,
13
+ mediaPolicyToolFailure,
14
+ mediaPolicyToolSuccess,
15
+ policyOutputFileName,
16
+ resolvePolicyToolTimeoutMs,
17
+ sharpTimeoutSeconds
18
+ } from "./chunk-UXEI7POA.js";
19
+ import {
20
+ probeMediaMetadata
21
+ } from "./chunk-KSEKRQJO.js";
22
+ import "./chunk-MNU36NGH.js";
23
+ import "./chunk-BQMSZSG6.js";
24
+ import "./chunk-VPGRGNNH.js";
25
+ import {
26
+ ToolNames
27
+ } from "./chunk-ERIBG3BX.js";
28
+ import "./chunk-ZYDMQCQP.js";
29
+ import "./chunk-S34QJ6IR.js";
30
+ import "./chunk-TBWQLLFO.js";
31
+ import {
32
+ init_esbuild_shims
33
+ } from "./chunk-5O2XNYP6.js";
34
+ import {
35
+ __name
36
+ } from "./chunk-J2S4EL5Y.js";
37
+
38
+ // packages/core/src/omni/policy/tools/clip-image.ts
39
+ init_esbuild_shims();
40
+ import path from "node:path";
41
+ var OMNI_CLIP_IMAGE_TOOL_NAME = ToolNames.OMNI_CLIP_IMAGE;
42
+ var TUNABLE_SCHEMA_PROPERTIES = {
43
+ x: {
44
+ type: "number",
45
+ description: "Left edge of the crop rectangle, in pixels (\u2265 0).",
46
+ minimum: 0
47
+ },
48
+ y: {
49
+ type: "number",
50
+ description: "Top edge of the crop rectangle, in pixels (\u2265 0).",
51
+ minimum: 0
52
+ },
53
+ width: {
54
+ type: "number",
55
+ description: "Crop rectangle width in pixels (\u2265 1).",
56
+ minimum: 1
57
+ },
58
+ height: {
59
+ type: "number",
60
+ description: "Crop rectangle height in pixels (\u2265 1).",
61
+ minimum: 1
62
+ }
63
+ };
64
+ var DESCRIPTOR = {
65
+ kind: "media_policy",
66
+ version: "1",
67
+ inputMediaTypes: ["image"],
68
+ outputs: [
69
+ {
70
+ kind: "media",
71
+ // PNG output: the crop itself is the loss (everything outside the
72
+ // rectangle is discarded); the surviving pixels are NOT additionally
73
+ // damaged by a lossy re-encode.
74
+ mimeTypes: ["image/png"],
75
+ required: true,
76
+ lossy: true
77
+ },
78
+ { kind: "text", role: "disclosure", required: true }
79
+ ],
80
+ settingsSchema: {
81
+ type: "object",
82
+ properties: TUNABLE_SCHEMA_PROPERTIES,
83
+ additionalProperties: false
84
+ }
85
+ };
86
+ var ClipImageInvocation = class extends BaseMediaPolicyToolInvocation {
87
+ constructor(params, timeoutMs) {
88
+ super(params);
89
+ this.timeoutMs = timeoutMs;
90
+ }
91
+ static {
92
+ __name(this, "ClipImageInvocation");
93
+ }
94
+ getDescription() {
95
+ const { x, y, width, height } = this.params;
96
+ return `Clip ${path.basename(this.params.inputPath)} to ${width}\xD7${height} @ (${x},${y})`;
97
+ }
98
+ async execute(signal) {
99
+ const { x, y, width, height } = this.params;
100
+ try {
101
+ const { inputSizeBytes } = await assertMediaPolicyIo(this.params);
102
+ const probe = await probeMediaMetadata(
103
+ this.params.inputPath,
104
+ "image",
105
+ signal
106
+ );
107
+ if ((probe.frameCount ?? 1) > 1) {
108
+ return mediaPolicyToolError(
109
+ `animated image (${probe.frameCount} frames) is not supported by ${OMNI_CLIP_IMAGE_TOOL_NAME}`
110
+ );
111
+ }
112
+ let sharp;
113
+ try {
114
+ sharp = await loadSharp();
115
+ } catch {
116
+ return mediaPolicyToolError(
117
+ 'the "sharp" image module could not be loaded; image clipping is unavailable'
118
+ );
119
+ }
120
+ if (signal.aborted) {
121
+ return mediaPolicyToolError("image clipping aborted");
122
+ }
123
+ const inputMetadata = await sharp(this.params.inputPath).metadata();
124
+ const pages = inputMetadata.pages;
125
+ if (pages !== void 0 && pages > 1) {
126
+ return mediaPolicyToolError(
127
+ `animated image (${pages} frames) is not supported by ${OMNI_CLIP_IMAGE_TOOL_NAME}`
128
+ );
129
+ }
130
+ const rawWidth = inputMetadata.width ?? probe.width;
131
+ const rawHeight = inputMetadata.height ?? probe.height;
132
+ const swapsAxes = inputMetadata.orientation !== void 0 && inputMetadata.orientation >= 5;
133
+ const displayedWidth = swapsAxes ? rawHeight : rawWidth;
134
+ const displayedHeight = swapsAxes ? rawWidth : rawHeight;
135
+ if (displayedWidth !== void 0 && displayedHeight !== void 0) {
136
+ if (x + width > displayedWidth || y + height > displayedHeight) {
137
+ return mediaPolicyToolError(
138
+ `crop rectangle (${x},${y} ${width}\xD7${height}) exceeds the image bounds (${displayedWidth}\xD7${displayedHeight})`
139
+ );
140
+ }
141
+ if (x === 0 && y === 0 && width === displayedWidth && height === displayedHeight) {
142
+ return mediaPolicyToolError(
143
+ "the requested rectangle covers the entire image \u2014 a no-op clip that would only re-encode (and damage) the input"
144
+ );
145
+ }
146
+ }
147
+ const outputFileName = policyOutputFileName({
148
+ inputPath: this.params.inputPath,
149
+ operation: "clip",
150
+ variant: `${x}x${y}+${width}x${height}`,
151
+ extension: ".png"
152
+ });
153
+ const outputPath = path.join(this.params.outputDir, outputFileName);
154
+ const info = await sharp(this.params.inputPath, {
155
+ failOn: "error",
156
+ limitInputPixels: true
157
+ }).timeout({ seconds: sharpTimeoutSeconds(this.timeoutMs) }).rotate().extract({
158
+ left: Math.round(x),
159
+ top: Math.round(y),
160
+ width: Math.round(width),
161
+ height: Math.round(height)
162
+ }).png().toFile(outputPath);
163
+ if (signal.aborted) {
164
+ return mediaPolicyToolError("image clipping aborted");
165
+ }
166
+ const original = displayedWidth !== void 0 && displayedHeight !== void 0 ? `${displayedWidth}\xD7${displayedHeight}/${formatBytesShort(inputSizeBytes)}` : formatBytesShort(inputSizeBytes);
167
+ const disclosure = `\u539F ${original} \u2192 \u88C1\u526A\u533A\u57DF (${x},${y}) ${width}\xD7${height}/${formatBytesShort(info.size)}\uFF0C\u533A\u57DF\u5916\u5185\u5BB9\u5168\u90E8\u4E22\u5F03`;
168
+ return mediaPolicyToolSuccess({
169
+ outputDir: this.params.outputDir,
170
+ outputFileName,
171
+ artifactKind: "image",
172
+ title: "Clipped image",
173
+ mimeType: "image/png",
174
+ sizeBytes: info.size,
175
+ disclosure,
176
+ // Marks the artifact as a spatial excerpt for downstream role
177
+ // consumers (output routing selectors, memory coverage — 'clip'
178
+ // maps to partial coverage).
179
+ role: "clip"
180
+ });
181
+ } catch (error) {
182
+ return mediaPolicyToolFailure(error);
183
+ }
184
+ }
185
+ };
186
+ var OmniClipImageTool = class extends BaseMediaPolicyTool {
187
+ static {
188
+ __name(this, "OmniClipImageTool");
189
+ }
190
+ constructor(config = {}) {
191
+ super(
192
+ OMNI_CLIP_IMAGE_TOOL_NAME,
193
+ "ClipImage",
194
+ "Crops a pixel rectangle (x, y, width, height) out of an image into a new PNG, discarding everything outside the rectangle, with a disclosure of the cut.",
195
+ "other" /* Other */,
196
+ {
197
+ type: "object",
198
+ properties: {
199
+ ...MEDIA_POLICY_IO_SCHEMA_PROPERTIES,
200
+ ...TUNABLE_SCHEMA_PROPERTIES
201
+ },
202
+ required: ["outputDir", "x", "y", "width", "height"],
203
+ additionalProperties: false
204
+ },
205
+ config
206
+ );
207
+ }
208
+ get mediaPolicyDescriptor() {
209
+ return DESCRIPTOR;
210
+ }
211
+ validateToolParamValues(params) {
212
+ const ioError = super.validateToolParamValues(params);
213
+ if (ioError) return ioError;
214
+ for (const key of ["x", "y", "width", "height"]) {
215
+ if (!Number.isInteger(params[key]) || params[key] < 0) {
216
+ return `${key} must be a non-negative integer (got ${params[key]})`;
217
+ }
218
+ }
219
+ if (params.width < 1 || params.height < 1) {
220
+ return "width and height must be at least 1 pixel";
221
+ }
222
+ return null;
223
+ }
224
+ createInvocation(params) {
225
+ return new ClipImageInvocation(
226
+ params,
227
+ resolvePolicyToolTimeoutMs(this.configView, this.name)
228
+ );
229
+ }
230
+ };
231
+ export {
232
+ OMNI_CLIP_IMAGE_TOOL_NAME,
233
+ OmniClipImageTool
234
+ };
235
+ /**
236
+ * @license
237
+ * Copyright 2025 Google LLC
238
+ * SPDX-License-Identifier: Apache-2.0
239
+ */
@@ -0,0 +1,277 @@
1
+ // Force strict mode and setup for ESM
2
+ "use strict";
3
+ import {
4
+ BaseMediaPolicyTool,
5
+ BaseMediaPolicyToolInvocation,
6
+ MEDIA_POLICY_IO_SCHEMA_PROPERTIES,
7
+ assertMediaPolicyIo,
8
+ ffmpegFailureMessage,
9
+ mediaPolicyToolError,
10
+ mediaPolicyToolFailure,
11
+ mediaPolicyToolSuccess,
12
+ policyOutputFileName,
13
+ policyOutputStem,
14
+ resolvePolicyToolTimeoutMs
15
+ } from "./chunk-UXEI7POA.js";
16
+ import {
17
+ probeMediaMetadata,
18
+ runFfmpeg
19
+ } from "./chunk-KSEKRQJO.js";
20
+ import "./chunk-MNU36NGH.js";
21
+ import "./chunk-BQMSZSG6.js";
22
+ import "./chunk-VPGRGNNH.js";
23
+ import {
24
+ ToolNames
25
+ } from "./chunk-ERIBG3BX.js";
26
+ import "./chunk-ZYDMQCQP.js";
27
+ import "./chunk-S34QJ6IR.js";
28
+ import "./chunk-TBWQLLFO.js";
29
+ import {
30
+ init_esbuild_shims
31
+ } from "./chunk-5O2XNYP6.js";
32
+ import {
33
+ __name
34
+ } from "./chunk-J2S4EL5Y.js";
35
+
36
+ // packages/core/src/omni/policy/tools/clip-video.ts
37
+ init_esbuild_shims();
38
+ import fs from "node:fs/promises";
39
+ import path from "node:path";
40
+ var OMNI_CLIP_VIDEO_TOOL_NAME = ToolNames.OMNI_CLIP_VIDEO;
41
+ var DEFAULT_CLIP_SOFT_BUDGET = 3;
42
+ var CLIP_VIDEO_DEFAULTS = {
43
+ crf: 23,
44
+ preset: "veryfast"
45
+ };
46
+ var TUNABLE_SCHEMA_PROPERTIES = {
47
+ startSec: {
48
+ type: "number",
49
+ description: "Clip start position in seconds. Default 0.",
50
+ minimum: 0
51
+ },
52
+ durationSec: {
53
+ type: "number",
54
+ description: "Clip duration in seconds. Default: from startSec to the end.",
55
+ exclusiveMinimum: 0
56
+ },
57
+ softClipBudget: {
58
+ type: "number",
59
+ description: "Positive integer clip count that triggers the soft stop reminder. Default 3.",
60
+ minimum: 1,
61
+ multipleOf: 1
62
+ }
63
+ };
64
+ var DESCRIPTOR = {
65
+ kind: "media_policy",
66
+ // '3': clips retain their source audio. Pre-'3' cached clips are
67
+ // video-only and cannot be reused under the new media contract.
68
+ version: "3",
69
+ inputMediaTypes: ["video"],
70
+ outputs: [
71
+ {
72
+ kind: "media",
73
+ mimeTypes: ["video/mp4"],
74
+ required: true,
75
+ lossy: true
76
+ },
77
+ { kind: "text", role: "disclosure", required: true }
78
+ ],
79
+ settingsSchema: {
80
+ type: "object",
81
+ properties: TUNABLE_SCHEMA_PROPERTIES,
82
+ additionalProperties: false
83
+ },
84
+ operatorOnlyParams: ["softClipBudget"]
85
+ };
86
+ function formatSeconds(seconds) {
87
+ return `${Math.round(seconds * 10) / 10}s`;
88
+ }
89
+ __name(formatSeconds, "formatSeconds");
90
+ var ClipVideoInvocation = class extends BaseMediaPolicyToolInvocation {
91
+ constructor(params, timeoutMs, softBudget) {
92
+ super(params);
93
+ this.timeoutMs = timeoutMs;
94
+ this.softBudget = softBudget;
95
+ }
96
+ static {
97
+ __name(this, "ClipVideoInvocation");
98
+ }
99
+ getDescription() {
100
+ const start = this.params.startSec ?? 0;
101
+ const span = this.params.durationSec !== void 0 ? `${formatSeconds(start)}\u2013${formatSeconds(start + this.params.durationSec)}` : `${formatSeconds(start)}\u2013end`;
102
+ return `Clip ${path.basename(this.params.inputPath)} to [${span}]`;
103
+ }
104
+ async execute(signal) {
105
+ const startSec = this.params.startSec ?? 0;
106
+ const durationSec = this.params.durationSec;
107
+ try {
108
+ await assertMediaPolicyIo(this.params);
109
+ const probe = await probeMediaMetadata(
110
+ this.params.inputPath,
111
+ "video",
112
+ signal
113
+ );
114
+ const totalSeconds = probe.durationMs !== void 0 ? probe.durationMs / 1e3 : void 0;
115
+ if (totalSeconds !== void 0 && startSec >= totalSeconds) {
116
+ return mediaPolicyToolError(
117
+ `startSec (${formatSeconds(startSec)}) is at or beyond the end of the video (${formatSeconds(totalSeconds)})`
118
+ );
119
+ }
120
+ if (totalSeconds !== void 0 && startSec === 0 && durationSec !== void 0 && durationSec >= totalSeconds) {
121
+ return mediaPolicyToolError(
122
+ `the requested span [0\u2013${formatSeconds(durationSec)}] covers the entire video (${formatSeconds(totalSeconds)}) \u2014 a no-op clip that would only re-encode (and damage) the input`
123
+ );
124
+ }
125
+ const outputFileName = policyOutputFileName({
126
+ inputPath: this.params.inputPath,
127
+ operation: "clip",
128
+ variant: durationSec !== void 0 ? `${Math.round(startSec)}s+${Math.round(durationSec)}s` : `${Math.round(startSec)}s-end`,
129
+ extension: ".mp4"
130
+ });
131
+ const outputPath = path.join(this.params.outputDir, outputFileName);
132
+ const run = await runFfmpeg(
133
+ [
134
+ "-y",
135
+ "-ss",
136
+ String(startSec),
137
+ ...durationSec !== void 0 ? ["-t", String(durationSec)] : [],
138
+ "-i",
139
+ this.params.inputPath,
140
+ "-vf",
141
+ "scale=trunc(iw/2)*2:trunc(ih/2)*2",
142
+ "-c:v",
143
+ "libx264",
144
+ "-crf",
145
+ String(CLIP_VIDEO_DEFAULTS.crf),
146
+ "-preset",
147
+ CLIP_VIDEO_DEFAULTS.preset,
148
+ "-c:a",
149
+ "aac",
150
+ "-b:a",
151
+ "128k",
152
+ "-movflags",
153
+ "+faststart",
154
+ outputPath
155
+ ],
156
+ { signal, timeoutMs: this.timeoutMs }
157
+ );
158
+ if (signal.aborted) {
159
+ return mediaPolicyToolError("video clipping aborted");
160
+ }
161
+ if (run.code !== 0) {
162
+ return mediaPolicyToolError(
163
+ ffmpegFailureMessage(run, "clipping", this.params.inputPath)
164
+ );
165
+ }
166
+ const outputSizeBytes = (await fs.stat(outputPath)).size;
167
+ const endSec = durationSec !== void 0 ? totalSeconds !== void 0 ? Math.min(startSec + durationSec, totalSeconds) : startSec + durationSec : totalSeconds;
168
+ const original = totalSeconds !== void 0 ? formatSeconds(totalSeconds) : "\u672A\u77E5\u65F6\u957F";
169
+ const endText = endSec !== void 0 ? formatSeconds(endSec) : "\u7ED3\u5C3E";
170
+ const spanText = endSec !== void 0 ? ` ${formatSeconds(endSec - startSec)}` : "";
171
+ const disclosure = `\u539F ${original} \u2192 \u7247\u6BB5 [${formatSeconds(startSec)}\u2013${endText}]${spanText}\uFF0C\u4FDD\u7559\u753B\u9762\uFF0C\u6E90\u97F3\u8F68\u5982\u5B58\u5728\u5219\u4E00\u5E76\u4FDD\u7559\uFF0C\u7247\u6BB5\u5916\u5185\u5BB9\u5168\u90E8\u4E22\u5F03`;
172
+ const success = mediaPolicyToolSuccess({
173
+ outputDir: this.params.outputDir,
174
+ outputFileName,
175
+ artifactKind: "video",
176
+ title: "Clipped video",
177
+ mimeType: "video/mp4",
178
+ sizeBytes: outputSizeBytes,
179
+ disclosure,
180
+ // Marks the artifact as a temporal excerpt for downstream role
181
+ // consumers (output routing selectors, memory coverage).
182
+ role: "clip"
183
+ });
184
+ let clipBrake = "";
185
+ try {
186
+ const prefix = `${policyOutputStem(this.params.inputPath)}-clip-`;
187
+ const clipCount = (await fs.readdir(this.params.outputDir)).filter(
188
+ (f) => f.startsWith(prefix) && f.endsWith(".mp4")
189
+ ).length;
190
+ if (clipCount >= this.softBudget) {
191
+ clipBrake = `\u3002\u5DF2\u5BF9\u8BE5\u89C6\u9891\u5207\u4E86 ${clipCount} \u6BB5\uFF1A\u7EE7\u7EED\u9010\u6BB5\u76F2\u626B\u901A\u5E38\u4E0D\u518D\u63D0\u5347\u5224\u65AD\u3001\u53EA\u589E\u5F00\u9500\u3002\u8BF7\u57FA\u4E8E\u5DF2\u770B\u7247\u6BB5\u4F5C\u7B54\uFF1B\u82E5\u4ECD\u9700\u5B9A\u4F4D\u67D0\u4E2A\u753B\u9762\uFF0C\u5148\u7528 omni_extract_keyframes\uFF08strategy='uniform'\u3001startSec\u3001endSec\uFF09\u5728\u7591\u4F3C\u533A\u95F4\u52A0\u5BC6\u62BD\u5E27\u9501\u5B9A\uFF0C\u518D\u7CBE\u51C6\u5207 1 \u6BB5\uFF0C\u4E0D\u8981\u7EE7\u7EED\u8BD5\u5207`;
192
+ }
193
+ } catch {
194
+ }
195
+ return {
196
+ ...success,
197
+ llmContent: `${success.llmContent}\u3002\u7528 read_file \u6253\u5F00 ${outputPath} \u67E5\u770B\u8BE5\u7247\u6BB5${clipBrake}`
198
+ };
199
+ } catch (error) {
200
+ return mediaPolicyToolFailure(error);
201
+ }
202
+ }
203
+ };
204
+ var OmniClipVideoTool = class extends BaseMediaPolicyTool {
205
+ static {
206
+ __name(this, "OmniClipVideoTool");
207
+ }
208
+ constructor(config) {
209
+ super(
210
+ OMNI_CLIP_VIDEO_TOOL_NAME,
211
+ "ClipVideo",
212
+ "Cuts a time span out of a video (frame-accurate re-encode), discarding everything outside the span, with a disclosure of the cut.",
213
+ "other" /* Other */,
214
+ {
215
+ type: "object",
216
+ properties: {
217
+ ...MEDIA_POLICY_IO_SCHEMA_PROPERTIES,
218
+ // outputDir is optional for clip: when omitted it defaults to the
219
+ // source video's own directory (see validateToolParamValues). The
220
+ // model was otherwise guessing a path — a wrong guess like
221
+ // `<dir>/clips` failed the call with "output directory not found"
222
+ // and burned a turn.
223
+ outputDir: {
224
+ type: "string",
225
+ description: "Optional absolute directory to write the clip into; when provided it must already exist (it is not created automatically). Defaults to the source video's own directory when omitted."
226
+ },
227
+ ...TUNABLE_SCHEMA_PROPERTIES
228
+ },
229
+ additionalProperties: false
230
+ },
231
+ config
232
+ );
233
+ }
234
+ get mediaPolicyDescriptor() {
235
+ return DESCRIPTOR;
236
+ }
237
+ validateToolParamValues(params) {
238
+ if (params.outputDir === void 0 && typeof params.inputPath === "string" && params.inputPath.length > 0) {
239
+ params.outputDir = path.dirname(params.inputPath);
240
+ }
241
+ const ioError = super.validateToolParamValues(params);
242
+ if (ioError) return ioError;
243
+ if (params.startSec === void 0 && params.durationSec === void 0) {
244
+ return "at least one of startSec / durationSec must be provided";
245
+ }
246
+ if (params.startSec === 0 && params.durationSec === void 0) {
247
+ return "startSec: 0 without durationSec selects the whole video \u2014 a no-op clip that would only re-encode (and damage) the input";
248
+ }
249
+ return null;
250
+ }
251
+ createInvocation(params) {
252
+ return new ClipVideoInvocation(
253
+ params,
254
+ resolvePolicyToolTimeoutMs(this.configView, this.name),
255
+ params.softClipBudget ?? this.resolveSoftBudget()
256
+ );
257
+ }
258
+ /** `policyTools.omni_clip_video.settings.softClipBudget` (positive int),
259
+ * else {@link DEFAULT_CLIP_SOFT_BUDGET}. */
260
+ resolveSoftBudget() {
261
+ const entry = this.configView.getOmniPolicyToolsSettings?.()?.[this.name];
262
+ const settings = entry && typeof entry === "object" ? entry["settings"] : void 0;
263
+ const raw = settings && typeof settings === "object" ? settings["softClipBudget"] : void 0;
264
+ return typeof raw === "number" && Number.isInteger(raw) && raw > 0 ? raw : DEFAULT_CLIP_SOFT_BUDGET;
265
+ }
266
+ };
267
+ export {
268
+ CLIP_VIDEO_DEFAULTS,
269
+ DEFAULT_CLIP_SOFT_BUDGET,
270
+ OMNI_CLIP_VIDEO_TOOL_NAME,
271
+ OmniClipVideoTool
272
+ };
273
+ /**
274
+ * @license
275
+ * Copyright 2025 Google LLC
276
+ * SPDX-License-Identifier: Apache-2.0
277
+ */