@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.
- package/bundled/qc-helper/docs/features/_meta.ts +1 -0
- package/bundled/qc-helper/docs/features/goals.md +4 -2
- package/bundled/qc-helper/docs/features/omni-fixed-policies-preset.json +242 -0
- package/bundled/qc-helper/docs/features/omni-media-policies.md +443 -0
- package/bundled/qc-helper/docs/overview.md +1 -1
- package/bundled/qc-helper/docs/quickstart.md +2 -3
- package/chunks/MaxSizedBox-I5COUCHZ.js +148 -0
- package/chunks/{StandaloneSessionPicker-V635V72I.js → StandaloneSessionPicker-KUGOBVEW.js} +114 -90
- package/chunks/acp-subagent-executor-PRPMLKVJ.js +164 -0
- package/chunks/{acpAgent-3DPWZTNC.js → acpAgent-EHXZXVUB.js} +269 -194
- package/chunks/{agent-KIHGINKN.js → agent-FWPNJI6N.js} +59 -49
- package/chunks/agent-headless-M5Z7WIDL.js +104 -0
- package/chunks/{anthropicContentGenerator-4FGOM5LK.js → anthropicContentGenerator-FLTEUSIQ.js} +30 -27
- package/chunks/{artifact-tool-MUTNH4NI.js → artifact-tool-3MWM6SN2.js} +11 -7
- package/chunks/{askUserQuestion-AKIRLVB5.js → askUserQuestion-YFFBB4K3.js} +6 -4
- package/chunks/bridge-EWCKRGWY.js +156 -0
- package/chunks/{build-5KWQBWEQ.js → build-5OQN7CDU.js} +1 -1
- package/chunks/caption-audio-UXXLI3JZ.js +443 -0
- package/chunks/caption-image-B7O4TUFP.js +247 -0
- package/chunks/{channel-management-service-RRILWSXX.js → channel-management-service-GRJG5R46.js} +1 -1
- package/chunks/channel-settings-store-NXZNLT5L.js +158 -0
- package/chunks/{channel-worker-group-3DUJFZJR.js → channel-worker-group-SCSKCSBJ.js} +4 -4
- package/chunks/{channel-worker-manager-E5UW2VLA.js → channel-worker-manager-AHCZCKON.js} +4 -4
- package/chunks/{channel-worker-supervisor-VN33GSEC.js → channel-worker-supervisor-BGUAVITB.js} +3 -3
- package/chunks/{chunk-3LLEB5CU.js → chunk-24ZB2JNI.js} +2 -2
- package/chunks/{chunk-5NUKK2DT.js → chunk-25FMWESU.js} +47 -8
- package/chunks/{chunk-3WWPEFMX.js → chunk-2FQM443D.js} +82 -4
- package/chunks/{chunk-VEXUA6DX.js → chunk-2FRZ4ZP2.js} +13 -11
- package/chunks/{chunk-WBSJ6VPZ.js → chunk-2GNZTJRK.js} +3 -3
- package/chunks/{chunk-YP2K3WOS.js → chunk-2VWXODMY.js} +7 -4
- package/chunks/{chunk-L2A5VBDL.js → chunk-2ZCLSPE4.js} +9 -9
- package/chunks/{chunk-KEM7MWS7.js → chunk-366JNNY7.js} +6 -4
- package/chunks/{chunk-TKF4JINY.js → chunk-3FEGERVL.js} +1 -1
- package/chunks/{chunk-TDKUXSJO.js → chunk-3MW6PPA5.js} +1 -1
- package/chunks/{chunk-4LIPOIXS.js → chunk-3NHJLWOD.js} +1 -1
- package/chunks/{chunk-3UGMLA4V.js → chunk-3V7RNGLC.js} +10 -10
- package/chunks/{chunk-XICCGDWF.js → chunk-3WIPATJX.js} +2 -2
- package/chunks/chunk-43QUA4MC.js +135 -0
- package/chunks/{chunk-Q2SAQTEJ.js → chunk-4B7U3KQP.js} +1 -1
- package/chunks/{chunk-SFL6U7U7.js → chunk-4JFRCIMW.js} +2 -2
- package/chunks/{chunk-TPY6HW55.js → chunk-4OZY6LN2.js} +12 -6
- package/chunks/{chunk-IVFTLUZD.js → chunk-4SZ2636R.js} +3 -3
- package/chunks/{chunk-7CLLH5TI.js → chunk-4YS7RMCB.js} +6 -4
- package/chunks/{chunk-NQ272MQG.js → chunk-5XK2YELE.js} +7 -5
- package/chunks/{chunk-HX4WXX3H.js → chunk-65YADOPT.js} +89 -74
- package/chunks/chunk-6C3D7BKK.js +153 -0
- package/chunks/{chunk-DC4ZNGH4.js → chunk-6DB6UHY3.js} +3 -3
- package/chunks/{chunk-WZWTY7SG.js → chunk-6IW6SX75.js} +6 -6
- package/chunks/{chunk-HYHSMTRA.js → chunk-6XRR4RYH.js} +4 -4
- package/chunks/{chunk-AXPOOQAW.js → chunk-736AZVPL.js} +2 -2
- package/chunks/{chunk-UQGRJTDK.js → chunk-7JWD2EML.js} +3 -3
- package/chunks/{chunk-BUQN5LTI.js → chunk-7PQ65Z5F.js} +2 -2
- package/chunks/{chunk-43Y26NPF.js → chunk-A5EWSUYT.js} +3 -3
- package/chunks/{chunk-VQDWCQOE.js → chunk-ANKISCKU.js} +1 -0
- package/chunks/{chunk-NXUZFW3G.js → chunk-AUFTA63J.js} +1 -1
- package/chunks/{chunk-4QPVZA5J.js → chunk-AVVSSP4R.js} +3 -3
- package/chunks/{chunk-36SDZ2Q4.js → chunk-B3HGO6BB.js} +7 -5
- package/chunks/{chunk-6USYH3EU.js → chunk-B3XJFEEH.js} +5 -3
- package/chunks/{chunk-GSKX53AN.js → chunk-BA6AXQDA.js} +1 -1
- package/chunks/{chunk-FBY32737.js → chunk-BHHR5MEI.js} +4 -4
- package/chunks/{chunk-FX6PZBOV.js → chunk-BJ2TJY7V.js} +4 -4
- package/chunks/chunk-BKVPLSEI.js +133 -0
- package/chunks/chunk-BQMSZSG6.js +21 -0
- package/chunks/{chunk-BW2SMO6L.js → chunk-BXAU2UKM.js} +1 -1
- package/chunks/{chunk-3LMDSCLU.js → chunk-C4FISGDN.js} +2 -2
- package/chunks/{chunk-XFFRI3WM.js → chunk-CA63HYHU.js} +4 -2
- package/chunks/{chunk-IXO2OCIP.js → chunk-CKNBSVBC.js} +12 -8
- package/chunks/{chunk-347O2YZJ.js → chunk-CNG7ILRW.js} +39 -61
- package/chunks/chunk-CQULG2GJ.js +1330 -0
- package/chunks/{chunk-VVI7MK3V.js → chunk-CTGMXP4A.js} +9 -7
- package/chunks/{chunk-QT6Z2IBF.js → chunk-CYFQLCCG.js} +2 -2
- package/chunks/chunk-DBDJRURL.js +42 -0
- package/chunks/{chunk-X7AYIXC7.js → chunk-DJLCK66M.js} +5 -3
- package/chunks/chunk-DJYHML3Y.js +121 -0
- package/chunks/{chunk-MO4XID7S.js → chunk-DNDECZXY.js} +3 -3
- package/chunks/{chunk-D7JMO2GP.js → chunk-DNHL4S5B.js} +1 -1
- package/chunks/{chunk-WL36KHUQ.js → chunk-DTSG4EHA.js} +11 -9
- package/chunks/{chunk-M23GFJ5B.js → chunk-EHMLJKF5.js} +1 -1
- package/chunks/{chunk-TIGXX4PA.js → chunk-EKBQJ627.js} +2 -2
- package/chunks/{chunk-RSWBT7AZ.js → chunk-ERIBG3BX.js} +35 -551
- package/chunks/{chunk-PPJSG2PU.js → chunk-EVZT24AF.js} +6 -142
- package/chunks/{chunk-E2VSBAFA.js → chunk-FL2EJUOY.js} +5 -5
- package/chunks/{chunk-2C5TR6HN.js → chunk-FSNLTHNG.js} +1 -1
- package/chunks/chunk-FTKXJMQV.js +255 -0
- package/chunks/{chunk-TRZ22SG5.js → chunk-FXPP7VLM.js} +6 -4
- package/chunks/{chunk-CDDP4ONL.js → chunk-G3PBYAGM.js} +60 -134
- package/chunks/{chunk-AEWCOE64.js → chunk-GACWUBXV.js} +2 -2
- package/chunks/{chunk-OWUAZXXN.js → chunk-GHG4PQY2.js} +3 -3
- package/chunks/{chunk-VU3XMZ5I.js → chunk-GHZJQCSZ.js} +3 -3
- package/chunks/{chunk-FIJODK52.js → chunk-GJHAV2F7.js} +3 -3
- package/chunks/{chunk-36NRLIR6.js → chunk-GQZA7EYC.js} +11 -11
- package/chunks/{chunk-4JFLRHNE.js → chunk-GVHYY2RS.js} +1 -1
- package/chunks/{chunk-H6L4NEAT.js → chunk-GVMXFXQG.js} +1 -1
- package/chunks/{chunk-G45B3INR.js → chunk-GVTAFLWB.js} +2 -2
- package/chunks/{chunk-GJKP6XOB.js → chunk-GW5SJ3II.js} +16 -19
- package/chunks/{chunk-AQP3H22J.js → chunk-GY7FOHQP.js} +1 -1
- package/chunks/chunk-GZ5MEGA3.js +44 -0
- package/chunks/{chunk-FCPJXKDG.js → chunk-HA6DKD44.js} +9 -9
- package/chunks/{chunk-FEDFZBGR.js → chunk-HR4OWLKI.js} +3 -3
- package/chunks/{chunk-CXY6BICQ.js → chunk-HWKWZSZY.js} +162 -109
- package/chunks/{chunk-K4XMAIRX.js → chunk-I3NKMMHS.js} +12 -12
- package/chunks/{chunk-QMENOK5T.js → chunk-IH4TNUVS.js} +9 -7
- package/chunks/{chunk-FASYATAZ.js → chunk-IHUOMYBO.js} +1 -1
- package/chunks/{chunk-IZ2U57NY.js → chunk-IITTKFWM.js} +4 -2
- package/chunks/{chunk-M22WLKLI.js → chunk-IQGEZOGN.js} +7 -7
- package/chunks/chunk-IVPSLX4P.js +578 -0
- package/chunks/{chunk-BTICBRPL.js → chunk-IWMYX5LB.js} +3 -3
- package/chunks/{chunk-V4JJAVHQ.js → chunk-JCIDHFSB.js} +2 -2
- package/chunks/{chunk-PF7GAP6K.js → chunk-JENFAGVX.js} +65 -54
- package/chunks/{chunk-LO2UWNO5.js → chunk-JFEWKEKG.js} +3 -3
- package/chunks/{chunk-BHG3H6OZ.js → chunk-JJVDKHQU.js} +1 -1
- package/chunks/chunk-JYGESWZM.js +149 -0
- package/chunks/{chunk-KVC7HZWK.js → chunk-JYTJ5FCM.js} +1 -1
- package/chunks/{chunk-KVQ3QL4K.js → chunk-KCL6OMCX.js} +3 -3
- package/chunks/{chunk-3HTUE6ZR.js → chunk-KCRV4F3G.js} +4 -4
- package/chunks/{chunk-3WILPKTJ.js → chunk-KKPIFWTZ.js} +11 -6
- package/chunks/{chunk-CXONOVBN.js → chunk-KS6F6LZQ.js} +8 -6
- package/chunks/chunk-KSEKRQJO.js +253 -0
- package/chunks/{chunk-P42KMMU6.js → chunk-KWTLCPYY.js} +19 -6
- package/chunks/{chunk-U4AASWUQ.js → chunk-L4GF4IK2.js} +3 -3
- package/chunks/{chunk-5FK4MSHB.js → chunk-LADOQIYQ.js} +6 -4
- package/chunks/{chunk-DJXSOEFB.js → chunk-LAE6RY3L.js} +1 -1
- package/chunks/{chunk-CQPM66MG.js → chunk-LG475XAV.js} +4 -4
- package/chunks/{chunk-3BZI5GDP.js → chunk-M5YIHMXP.js} +6 -4
- package/chunks/{chunk-6WXVEDT2.js → chunk-MC2RYJMU.js} +5 -3
- package/chunks/chunk-MNU36NGH.js +233 -0
- package/chunks/{chunk-M4U2LTD2.js → chunk-MS4SXNJ6.js} +1 -1
- package/chunks/{chunk-ZFHKUQZ4.js → chunk-NEVUE35Z.js} +5 -5
- package/chunks/{chunk-DRAX5YAI.js → chunk-NFC4WTY2.js} +6 -4
- package/chunks/{chunk-SOLRBF7L.js → chunk-NSKNTJHU.js} +10 -10
- package/chunks/{chunk-B5TJK7B3.js → chunk-NZRX5WYI.js} +1 -1
- package/chunks/{chunk-YM6KUQ2S.js → chunk-O4A2B6V2.js} +3 -3
- package/chunks/{chunk-DX6JTDMR.js → chunk-OB57Y2WH.js} +1 -1
- package/chunks/{chunk-INN5ORKX.js → chunk-OLFTIODD.js} +1 -1
- package/chunks/chunk-PF3RVYRK.js +108 -0
- package/chunks/{chunk-WSJI6ODG.js → chunk-PGMF3LSO.js} +29 -27
- package/chunks/{chunk-OALXNGUA.js → chunk-PJ3GAHED.js} +10 -10
- package/chunks/{chunk-XWJFDJZK.js → chunk-PJSZXERN.js} +1 -1
- package/chunks/{chunk-GSAOVDTH.js → chunk-POMFSBEC.js} +4 -4
- package/chunks/{chunk-EWNKP4V4.js → chunk-PPVM7YLS.js} +1 -1
- package/chunks/{chunk-WK6DEH3Q.js → chunk-PQQV3OBW.js} +6 -4
- package/chunks/{chunk-BHVF3R6B.js → chunk-PZT2654P.js} +4 -4
- package/chunks/{chunk-ZSTCM3MX.js → chunk-Q5N5NEVT.js} +1 -1
- package/chunks/{chunk-KFFCDLKV.js → chunk-QE36VXWP.js} +1 -1
- package/chunks/{chunk-V545KI73.js → chunk-QPTE6BKL.js} +1 -1
- package/chunks/{chunk-5VQR2DD7.js → chunk-QQPRTJOM.js} +5 -3
- package/chunks/{chunk-QIPLWW6Q.js → chunk-QU7T5PKF.js} +1 -1
- package/chunks/{chunk-Y2KJC55Y.js → chunk-QYT7J3UM.js} +4 -4
- package/chunks/{chunk-SFHX5G2S.js → chunk-R34ALEH5.js} +14 -14
- package/chunks/{chunk-TXTCM3TC.js → chunk-R4DAJXOV.js} +18 -14
- package/chunks/{chunk-2GP6BQ2J.js → chunk-RA6PKQVM.js} +2 -2
- package/chunks/{chunk-HXUI5D4H.js → chunk-RDN5ITXF.js} +1 -1
- package/chunks/{chunk-G6UUOCUT.js → chunk-RMI3DKMV.js} +1 -1
- package/chunks/chunk-RSFNJ6UU.js +1252 -0
- package/chunks/{chunk-EDIDYZBT.js → chunk-RVT5L74D.js} +1 -1
- package/chunks/{chunk-GI7SLDOI.js → chunk-RXP5FVC4.js} +6 -6
- package/chunks/chunk-S34QJ6IR.js +290 -0
- package/chunks/chunk-S5BHLTHK.js +190 -0
- package/chunks/{chunk-2XRE4KE4.js → chunk-S7BE3FMA.js} +1 -1
- package/chunks/{chunk-7O5PYQ3M.js → chunk-SBP43AO6.js} +1 -1
- package/chunks/chunk-SLHYLVRW.js +1377 -0
- package/chunks/{chunk-HNFKYKHH.js → chunk-SMAAYU3F.js} +16 -16
- package/chunks/{chunk-KAYC5FBN.js → chunk-SNPYTKXI.js} +825 -234
- package/chunks/{chunk-IKBEIDOH.js → chunk-SOZJODVX.js} +13 -13
- package/chunks/{chunk-Y4NNIGYO.js → chunk-SSFOFDNL.js} +1 -1
- package/chunks/{chunk-WNQIJTOP.js → chunk-SSGVTJ2W.js} +243 -17
- package/chunks/{chunk-NFXXBWSE.js → chunk-SU64336V.js} +2 -2
- package/chunks/chunk-TFDCK56Y.js +154 -0
- package/chunks/{chunk-JRHKM3YQ.js → chunk-TS4JJ7NN.js} +2 -2
- package/chunks/{chunk-C4HBZQNH.js → chunk-U3MTHCJF.js} +1 -1
- package/chunks/{chunk-AUX2FL5T.js → chunk-UBQVV7MX.js} +625 -6
- package/chunks/{chunk-B6RMK4ED.js → chunk-UHBYCY7U.js} +9 -7
- package/chunks/{chunk-Y53DG2HA.js → chunk-UIWUFHRJ.js} +1 -1
- package/chunks/chunk-UQRDQCWF.js +102 -0
- package/chunks/{chunk-NKTMUPHJ.js → chunk-UVMU7DDP.js} +5 -3
- package/chunks/chunk-UXEI7POA.js +273 -0
- package/chunks/chunk-V2XJJTAB.js +228 -0
- package/chunks/chunk-VDNCKE2O.js +24 -0
- package/chunks/{chunk-YQQ2U7AS.js → chunk-VISF4MEY.js} +1 -1
- package/chunks/{chunk-RRI764F7.js → chunk-VPFKSRAB.js} +13 -11
- package/chunks/chunk-VPGRGNNH.js +578 -0
- package/chunks/{chunk-SYMXYRM5.js → chunk-W7JWIIRC.js} +1 -1
- package/chunks/{chunk-AZCTY64Z.js → chunk-WEUQIY3Q.js} +1 -1
- package/chunks/{chunk-SSWTA7CH.js → chunk-WIKUMTAB.js} +12 -12
- package/chunks/chunk-WL2CTQGT.js +1625 -0
- package/chunks/chunk-WL2V7PTE.js +78 -0
- package/chunks/{chunk-Q54O3EIA.js → chunk-WSZ6VS24.js} +45 -30
- package/chunks/{chunk-UZSB57EV.js → chunk-WX4W3FCV.js} +5 -5
- package/chunks/{chunk-OSG23MR3.js → chunk-X3T5IOX6.js} +2 -2
- package/chunks/{chunk-EIBECN2J.js → chunk-XGHVF5DC.js} +5 -5
- package/chunks/{chunk-D3KVGQUV.js → chunk-XJ52OCCN.js} +4 -4
- package/chunks/{chunk-YZXSDPOQ.js → chunk-XMAIUTED.js} +84 -40
- package/chunks/{chunk-QGEISOJ2.js → chunk-XQBZZVJA.js} +3 -3
- package/chunks/{chunk-OZEV3R3S.js → chunk-XYAB5R6E.js} +3 -3
- package/chunks/chunk-XZA32HII.js +19 -0
- package/chunks/{chunk-4FLUQWJ4.js → chunk-Y3Q5OK4D.js} +1 -1
- package/chunks/chunk-YDERQ7ZV.js +248 -0
- package/chunks/{chunk-AKRSSKUT.js → chunk-YFHX6MOF.js} +10 -10
- package/chunks/{chunk-ZMYKNKET.js → chunk-YPJZDZMP.js} +3 -3
- package/chunks/{chunk-3XBUCOWS.js → chunk-YSD6IY6F.js} +2 -2
- package/chunks/{chunk-CH2YDT6X.js → chunk-YVYK3JYU.js} +5 -3
- package/chunks/{chunk-YL3UJML3.js → chunk-YWDVNBGE.js} +4 -4
- package/chunks/{chunk-C3T6HPNM.js → chunk-ZGADNVME.js} +5 -5
- package/chunks/{chunk-M3JGHRMQ.js → chunk-ZJ7KIWG5.js} +1 -1
- package/chunks/{chunk-QHSOINX6.js → chunk-ZJBYZN5D.js} +2 -2
- package/chunks/{chunk-SYROIHU7.js → chunk-ZRQGTRHA.js} +4 -2
- package/chunks/{chunk-NCPFOLM2.js → chunk-ZTBP4SFC.js} +78 -18
- package/chunks/{chunk-ZAFYHRVY.js → chunk-ZYDMQCQP.js} +4 -274
- package/chunks/clip-audio-SH4L7AEY.js +255 -0
- package/chunks/clip-image-BQRPECIS.js +239 -0
- package/chunks/clip-video-JIRMV5IH.js +277 -0
- package/chunks/{codex-subagent-executor-AEAIQZDC.js → codex-subagent-executor-Y5ILNWG6.js} +92 -68
- package/chunks/config-3X4AXU45.js +21 -0
- package/chunks/config-T5RO4NJV.js +17 -0
- package/chunks/config-utils-3YNEDKT4.js +151 -0
- package/chunks/contextCommand-7JVXVYN4.js +144 -0
- package/chunks/convert-image-D52K2FFB.js +231 -0
- package/chunks/{core-runtime-ZI4RTOJQ.js → core-runtime-6IZNPJUN.js} +92 -67
- package/chunks/{create-sub-session-BBWFQARJ.js → create-sub-session-5XHUO2PW.js} +90 -66
- package/chunks/{create-sub-session-MSGNIM37.js → create-sub-session-6EDEANCD.js} +7 -5
- package/chunks/{cron-create-U2JJ5CCF.js → cron-create-GS7ORRO6.js} +8 -5
- package/chunks/{cron-delete-7DM4LJWD.js → cron-delete-3GGDNNXD.js} +8 -5
- package/chunks/{cron-list-VCUSZK2Y.js → cron-list-EX27DW4H.js} +8 -5
- package/chunks/{daemon-git-worktree-guard-KECEMV6A.js → daemon-git-worktree-guard-BULXRIDA.js} +90 -66
- package/chunks/daemon-status-provider-VSVXVY4O.js +155 -0
- package/chunks/daemon-trust-policy-WVSDS2WT.js +150 -0
- package/chunks/{daemon-trust-policy-monitor-546N5ZVL.js → daemon-trust-policy-monitor-HXQ2GLTX.js} +95 -71
- package/chunks/deferred-core-runtime-EXI7LXLE.js +153 -0
- package/chunks/{display-image-QTHALY6N.js → display-image-FTWDRBOP.js} +10 -7
- package/chunks/{dist-BNW423XT.js → dist-CXDHIHN4.js} +5 -0
- package/chunks/downsample-audio-LPDWX6GF.js +217 -0
- package/chunks/downsample-image-A5JEYIV5.js +249 -0
- package/chunks/downscale-video-4W5BX5KO.js +249 -0
- package/chunks/{earlyInputCapture-BXP7V2P3.js → earlyInputCapture-UJ3KFVZQ.js} +3 -2
- package/chunks/{edit-CMSQB7NP.js → edit-JJ34NKRC.js} +68 -56
- package/chunks/{en-56QLKXS2.js → en-FCK6MBTI.js} +16 -0
- package/chunks/{enter-worktree-DA6A4XC5.js → enter-worktree-QK7DR5EF.js} +12 -9
- package/chunks/{enterPlanMode-UDPMNESD.js → enterPlanMode-H6FBPVLB.js} +62 -51
- package/chunks/environment-7DMLANWW.js +167 -0
- package/chunks/errors-OH3DYEDL.js +151 -0
- package/chunks/{exec-RPKEY6HP.js → exec-7CFNHYCV.js} +31 -9
- package/chunks/{exit-worktree-4H6Z2VQI.js → exit-worktree-62COYIHF.js} +14 -10
- package/chunks/exitPlanMode-5YR5VWXS.js +102 -0
- package/chunks/extract-audio-GSSZQV6G.js +229 -0
- package/chunks/extract-keyframes-Q6DRMQAJ.js +621 -0
- package/chunks/{fast-path-F2CYDDZ4.js → fast-path-4DS2GR5O.js} +5 -5
- package/chunks/ffmpeg-N4LIIVNR.js +21 -0
- package/chunks/{glob-Z2JMJKKN.js → glob-GFID3F3R.js} +63 -51
- package/chunks/{goal-tools-HXVVLGCV.js → goal-tools-2OB5WPNH.js} +59 -49
- package/chunks/{grep-H2I33VAO.js → grep-JB5DGQ3B.js} +13 -9
- package/chunks/handleAutoUpdate-5OQL4YBU.js +147 -0
- package/chunks/i18n-TV5G7SXO.js +164 -0
- package/chunks/{image-gen-HIAZCB5T.js → image-gen-LX3C4V3R.js} +16 -11
- package/chunks/initializer-R2EI4UJ6.js +151 -0
- package/chunks/installationInfo-HYOWC3BN.js +145 -0
- package/chunks/{keychain-token-storage-NQ5XWIPX.js → keychain-token-storage-ZZNRE6D4.js} +3 -2
- package/chunks/list-ORJQQUNR.js +154 -0
- package/chunks/{list-agents-EWDCEPIW.js → list-agents-HS6HH4DJ.js} +10 -7
- package/chunks/{llm-LSUBOJAR.js → llm-YKBQVN7S.js} +159 -134
- package/chunks/{llm-content-generator-MLIONRXE.js → llm-content-generator-QJBXJRKT.js} +11 -9
- package/chunks/loadedSettingsAdapter-4FQH6Y3D.js +148 -0
- package/chunks/{loggingContentGenerator-TUPEXFMM.js → loggingContentGenerator-DEOANG3F.js} +74 -63
- package/chunks/{loop-wakeup-ZBVRI6VH.js → loop-wakeup-4B7OY3TV.js} +9 -6
- package/chunks/{ls-6ZB3BEIR.js → ls-EZ5PSWU2.js} +8 -5
- package/chunks/{lsp-M54FQARP.js → lsp-DYFFHKB3.js} +6 -3
- package/chunks/{managed-npm-update-WEA5XMFZ.js → managed-npm-update-36U25ZEZ.js} +91 -67
- package/chunks/mcp-ZI7LXLAQ.js +148 -0
- package/chunks/memory-side-query-DRV7FXK4.js +221 -0
- package/chunks/model-call-collection-RX7C24YP.js +171 -0
- package/chunks/model-configuration-3JIO6IRV.js +161 -0
- package/chunks/modelConfigUtils-2BJQI2S4.js +140 -0
- package/chunks/{monitor-CI7YE7MT.js → monitor-LXQRI2IF.js} +63 -51
- package/chunks/nonInteractiveCli-HRXVUV2H.js +235 -0
- package/chunks/nonInteractiveToolExecutor-QPAIKNPL.js +101 -0
- package/chunks/{notebook-edit-3WCVRNGL.js → notebook-edit-5CM3VYNK.js} +63 -52
- package/chunks/ocr-image-Q4HYJ3U7.js +252 -0
- package/chunks/omni-A5XLPNSH.js +147 -0
- package/chunks/{openaiContentGenerator-OGILGUZE.js → openaiContentGenerator-O5G3QCHX.js} +36 -31
- package/chunks/{openaiResponsesContentGenerator-NXOXUPFM.js → openaiResponsesContentGenerator-W2V7AYVE.js} +12 -10
- package/chunks/pidfile-MI5FGYF5.js +151 -0
- package/chunks/{processUtils-O4II3RYH.js → processUtils-EWKUPVJH.js} +2 -2
- package/chunks/prompt-terminal-ledger-5HEXZMWT.js +143 -0
- package/chunks/{qwenContentGenerator-I4LRYADV.js → qwenContentGenerator-HHNDIW2Q.js} +70 -60
- package/chunks/{qwenOAuth2-3J66TOT5.js → qwenOAuth2-GD3UIYUP.js} +9 -8
- package/chunks/reactive-degrade-KWCJUHXH.js +375 -0
- package/chunks/read-file-ZQKBXJSH.js +37 -0
- package/chunks/{read-mcp-resource-LPSWXVOD.js → read-mcp-resource-INJIV3UC.js} +8 -4
- package/chunks/recall-media-memory-tool-PEE2BWRY.js +198 -0
- package/chunks/{record-artifact-L3CFJOMA.js → record-artifact-KKW3AIMJ.js} +6 -4
- package/chunks/record-source-2VSQINX6.js +24 -0
- package/chunks/{report-findings-LY5HQY4K.js → report-findings-OZSLWYAS.js} +7 -5
- package/chunks/{request-shutdown-53SNYGVR.js → request-shutdown-3RUGTWRR.js} +12 -9
- package/chunks/resumeHistoryUtils-5V3KISJ6.js +156 -0
- package/chunks/ripGrep-F5MM4HGA.js +43 -0
- package/chunks/{run-qwen-serve-ZVEKGS7Y.js → run-qwen-serve-3K3D5MSR.js} +70 -70
- package/chunks/{runtime-SJCRYNPA.js → runtime-FAWN3GQH.js} +98 -74
- package/chunks/sandbox-BPRE7KYF.js +170 -0
- package/chunks/sandboxConfig-V3OHETXW.js +138 -0
- package/chunks/scheduled-tasks-LB2PINB3.js +167 -0
- package/chunks/scheduler-NHAWKARI.js +160 -0
- package/chunks/{sdk-exporters-http-DR4G663K.js → sdk-exporters-http-SWXTEEVT.js} +3 -2
- package/chunks/{sdk-impl-SJR26MQF.js → sdk-impl-FK4JY6LX.js} +5 -4
- package/chunks/{send-message-DN76MXDX.js → send-message-TLF36UW2.js} +16 -13
- package/chunks/serve-UQL5X5K7.js +156 -0
- package/chunks/{server-UHMKPCAZ.js → server-3HUUEDUC.js} +286 -261
- package/chunks/{session-ZLUK7E4P.js → session-XODWSTJ3.js} +151 -127
- package/chunks/session-attachments-root-BENUIMZM.js +141 -0
- package/chunks/{session-pr-refresh-3OMTQWCZ.js → session-pr-refresh-CSRULMTI.js} +95 -71
- package/chunks/{settings-P4DHIIUP.js → settings-42FFX5TK.js} +94 -70
- package/chunks/{shell-IMFUVQQ5.js → shell-NLNU2TPF.js} +59 -49
- package/chunks/{skill-NB5RJGZW.js → skill-KIRNNJMK.js} +22 -17
- package/chunks/skill-settings-MPHPE43F.js +164 -0
- package/chunks/spawnChannel-TXNLXP2R.js +152 -0
- package/chunks/standalone-update-XAC364AM.js +156 -0
- package/chunks/{start-opentui-ui-JKAIWGF7.js → start-opentui-ui-3OLDXRMX.js} +223 -189
- package/chunks/{startInteractiveUI-YRPOT6GH.js → startInteractiveUI-UB2HRTV7.js} +339 -295
- package/chunks/storage-VZECDJNX.js +17 -0
- package/chunks/{syntheticOutput-EX5L5GYI.js → syntheticOutput-SSXJ2NEY.js} +5 -3
- package/chunks/task-create-EEMYF6LY.js +30 -0
- package/chunks/{task-list-ZLJSMRFA.js → task-list-GA5GOR74.js} +9 -6
- package/chunks/{task-stop-MD7P6QGK.js → task-stop-3MXTDL7H.js} +6 -3
- package/chunks/{task-update-3LSYQDRW.js → task-update-JSBHKL4L.js} +16 -13
- package/chunks/{team-create-2XTBYRJF.js → team-create-VES6TOBA.js} +62 -51
- package/chunks/{team-delete-RIDINW6I.js → team-delete-V2CROTI6.js} +9 -6
- package/chunks/{team-plan-approval-CFNWW7ZQ.js → team-plan-approval-ZMCHBBUM.js} +61 -50
- package/chunks/terminal-image-renderer-73NDY7OJ.js +156 -0
- package/chunks/theme-manager-YG3L7BV6.js +140 -0
- package/chunks/{todoWrite-XSTG2VT5.js → todoWrite-CMBHPR66.js} +8 -5
- package/chunks/tool-result-media-V3LNDB5Q.js +45 -0
- package/chunks/{tool-search-ZHTJU2MV.js → tool-search-7XR7RHMB.js} +43 -21
- package/chunks/total-session-admission-QUZYGACG.js +151 -0
- package/chunks/transcribe-audio-AJQZPNEV.js +30 -0
- package/chunks/trustedFolders-QRII2BL7.js +160 -0
- package/chunks/understand-video-segments-5TMRDQUB.js +438 -0
- package/chunks/{update-relaunch-LI7GRP36.js → update-relaunch-735DXN5P.js} +5 -5
- package/chunks/updateCheck-FXXOM4YS.js +156 -0
- package/chunks/upload-cache-5YULQVZZ.js +17 -0
- package/chunks/upload-config-CKDIXTPK.js +25 -0
- package/chunks/useAutoAcceptIndicator-KXXTKOGD.js +158 -0
- package/chunks/{validateNonInterActiveAuth-YFPCYYNL.js → validateNonInterActiveAuth-DXCBDHIX.js} +143 -119
- package/chunks/{version-4MTL4JVU.js → version-76T4NBMQ.js} +1 -1
- package/chunks/{web-fetch-O6RG6ISB.js → web-fetch-UIDZX5RN.js} +27 -20
- package/chunks/{web-search-JHAXVEMD.js → web-search-VETWDOUJ.js} +14 -11
- package/chunks/{web-shell-static-FFWCUUZS.js → web-shell-static-XSCCMXKQ.js} +3 -3
- package/chunks/{workflow-O7L6VDYU.js → workflow-MHYBJHPP.js} +63 -52
- package/chunks/workspace-providers-status-WFBT3LS5.js +154 -0
- package/chunks/{workspace-registration-store-7G4E7YPY.js → workspace-registration-store-M3WKKBJQ.js} +1 -1
- package/chunks/workspace-registry-FIUB7MGD.js +160 -0
- package/chunks/workspace-runtime-coordinator-5Z7M36W7.js +163 -0
- package/chunks/workspace-service-TP4VRTZF.js +165 -0
- package/chunks/workspace-skills-status-CILWVQHU.js +151 -0
- package/chunks/{workspace-trust-reconciler-XEBW5FUL.js → workspace-trust-reconciler-2OPSTQNS.js} +98 -74
- package/chunks/write-file-N7NBKIYD.js +107 -0
- package/chunks/{zh-TW-S3YTQ4DS.js → zh-TW-SRB5QSER.js} +16 -0
- package/chunks/{zh-F76MZTL3.js → zh-UBQIFP4A.js} +16 -0
- package/chunks/{zoom-image-RDPRTP4B.js → zoom-image-3GHVMYEW.js} +18 -13
- package/cli.js +14 -14
- package/export-transcript-document.js +3 -3
- package/locales/en.js +18 -0
- package/locales/zh-TW.js +17 -0
- package/locales/zh.js +17 -0
- package/package.json +3 -3
- package/web-shell/assets/{abnfDiagram-VCTEODGH-RxykUDmi.js → abnfDiagram-VCTEODGH-vfbwxn7H.js} +1 -1
- package/web-shell/assets/{arc-CZpgGCJC.js → arc-BT0KMrP5.js} +1 -1
- package/web-shell/assets/{architectureDiagram-5GKGNRK7-BHSMzNDT.js → architectureDiagram-5GKGNRK7-B3TlGgP4.js} +1 -1
- package/web-shell/assets/{blockDiagram-NRAW4CY4-Bn4mF9SZ.js → blockDiagram-NRAW4CY4-DnwF5xi-.js} +1 -1
- package/web-shell/assets/{c4Diagram-UCG6FXSJ-CBM-Bj6t.js → c4Diagram-UCG6FXSJ-8qvMMfFg.js} +1 -1
- package/web-shell/assets/channel-CTm0xByY.js +1 -0
- package/web-shell/assets/{chunk-2Q5K7J3B-D5Fin58O.js → chunk-2Q5K7J3B-CHM51UX6.js} +1 -1
- package/web-shell/assets/{chunk-5VM5RSS4-CY05weF7.js → chunk-5VM5RSS4-BNXaOtyN.js} +1 -1
- package/web-shell/assets/{chunk-F27PBJKO-3neZnj5Y.js → chunk-F27PBJKO-DT-vcF3X.js} +1 -1
- package/web-shell/assets/{chunk-G27WJ6UU-Cd7EU4BE.js → chunk-G27WJ6UU-BXz8438J.js} +1 -1
- package/web-shell/assets/{chunk-JWPE2WC7-DwK1mqFw.js → chunk-JWPE2WC7-CP2ozL3M.js} +1 -1
- package/web-shell/assets/{chunk-LCL6LL3I-Sl7vY22C.js → chunk-LCL6LL3I-DTAWXvja.js} +1 -1
- package/web-shell/assets/{chunk-POPQ4Y6H-BXNzpbVg.js → chunk-POPQ4Y6H-DZENJpGx.js} +1 -1
- package/web-shell/assets/{chunk-SVP7TREG-DjjButcp.js → chunk-SVP7TREG-Dl8djRwv.js} +1 -1
- package/web-shell/assets/{chunk-XXDRQBXY-DNOiCjOJ.js → chunk-XXDRQBXY-B3lJllMA.js} +1 -1
- package/web-shell/assets/classDiagram-DTDB5LWJ-DhMuMK_E.js +1 -0
- package/web-shell/assets/classDiagram-v2-JRS7N3AN-DhMuMK_E.js +1 -0
- package/web-shell/assets/{cose-bilkent-JH36ORCC-BUnker7a.js → cose-bilkent-JH36ORCC-DeosJDcB.js} +1 -1
- package/web-shell/assets/{cynefin-OW5HDTMX-DcUgdWE5.js → cynefin-OW5HDTMX-BvqcLoHm.js} +1 -1
- package/web-shell/assets/{cynefinDiagram-5FMLGOSQ-CvDKsZsL.js → cynefinDiagram-5FMLGOSQ-BYS0pmSs.js} +1 -1
- package/web-shell/assets/{dagre-3AP2YEHR-jpCmUbr1.js → dagre-3AP2YEHR-IDScuL-R.js} +1 -1
- package/web-shell/assets/{diagram-S7CK7UJ4-DBe_bKE5.js → diagram-S7CK7UJ4-EYNlkkKJ.js} +1 -1
- package/web-shell/assets/{diagram-UQ7AKVKN-oXvPpDgs.js → diagram-UQ7AKVKN-D3x9g8Ep.js} +1 -1
- package/web-shell/assets/{diagram-VSXAHHWV-BD7-_SGh.js → diagram-VSXAHHWV-C35O1dtR.js} +1 -1
- package/web-shell/assets/{diagram-VX7I27RA-DOJL0wub.js → diagram-VX7I27RA-XvMv2aCN.js} +1 -1
- package/web-shell/assets/{diagram-Z3DM3KII-DRIiodDD.js → diagram-Z3DM3KII-CeryNvru.js} +1 -1
- package/web-shell/assets/{ebnfDiagram-PWID7BFC-Db31Ulmb.js → ebnfDiagram-PWID7BFC-DAmepjvB.js} +1 -1
- package/web-shell/assets/{erDiagram-SSCWMZ5O-CVHhwI2_.js → erDiagram-SSCWMZ5O-BkGfBZt_.js} +1 -1
- package/web-shell/assets/{flowDiagram-A5DVABFB-DWOFy1FK.js → flowDiagram-A5DVABFB-CzUCgun9.js} +1 -1
- package/web-shell/assets/{ganttDiagram-EL5Y4UJY-C0sxQtPd.js → ganttDiagram-EL5Y4UJY-BIFST90r.js} +1 -1
- package/web-shell/assets/{gitGraphDiagram-WWUBYQGX-CNituBYC.js → gitGraphDiagram-WWUBYQGX-jVvRSGcu.js} +1 -1
- package/web-shell/assets/{index-B15NlwB8.js → index-M1TfOjx2.js} +457 -457
- package/web-shell/assets/{index-gm9tLk7h.js → index-krCDFzE6.js} +1 -1
- package/web-shell/assets/{infoDiagram-RXCK75RN-CxhJYtIR.js → infoDiagram-RXCK75RN-DsU7vA4Q.js} +1 -1
- package/web-shell/assets/{ishikawaDiagram-5VMMS53U-By2mchUy.js → ishikawaDiagram-5VMMS53U-K9mTNAbN.js} +1 -1
- package/web-shell/assets/{journeyDiagram-EYS64GPL-CVH-OweI.js → journeyDiagram-EYS64GPL-BKuHLGxv.js} +1 -1
- package/web-shell/assets/{kanban-definition-3QL26DDD-Cc9dQXLy.js → kanban-definition-3QL26DDD-CXG9frQ_.js} +1 -1
- package/web-shell/assets/{layout-C_60ysHw.js → layout-6G_l7UoH.js} +1 -1
- package/web-shell/assets/{linear-BvAVfqwu.js → linear-DYpvB2mh.js} +1 -1
- package/web-shell/assets/{mermaid.core-C3CoBKAc.js → mermaid.core-Sj3dJttQ.js} +6 -6
- package/web-shell/assets/{mindmap-definition-FBJOCRG2-Cuu8Q8LM.js → mindmap-definition-FBJOCRG2-DNJ1e6qd.js} +1 -1
- package/web-shell/assets/{pegDiagram-XKGWAZYB-DmAeyDO2.js → pegDiagram-XKGWAZYB-D-KPklHv.js} +1 -1
- package/web-shell/assets/{pieDiagram-E7YTZNPT-B7vbB_xv.js → pieDiagram-E7YTZNPT-BQPm03g2.js} +1 -1
- package/web-shell/assets/{quadrantDiagram-AXDQQJYC-BqOBkRR7.js → quadrantDiagram-AXDQQJYC-BubBXSqD.js} +1 -1
- package/web-shell/assets/{railroadDiagram-O6MQD6OU-sI06lZIu.js → railroadDiagram-O6MQD6OU-DatD6KIT.js} +1 -1
- package/web-shell/assets/{requirementDiagram-EFPCY7ZU-Bg13d10S.js → requirementDiagram-EFPCY7ZU-DiQ6jsZY.js} +1 -1
- package/web-shell/assets/{sankeyDiagram-P5KCCOFB-WFOzZHrR.js → sankeyDiagram-P5KCCOFB-C07fyxbH.js} +1 -1
- package/web-shell/assets/{sequenceDiagram-WJ2MYXX4-CCdRbA4E.js → sequenceDiagram-WJ2MYXX4-DWXtsWzI.js} +1 -1
- package/web-shell/assets/{sizeCapture-X5ZJPWSS-BH5F3bGg.js → sizeCapture-X5ZJPWSS-B0cQ1v0l.js} +1 -1
- package/web-shell/assets/{stateDiagram-HBIQ2CUA-NwS2X3QB.js → stateDiagram-HBIQ2CUA-zHgWc00n.js} +1 -1
- package/web-shell/assets/stateDiagram-v2-4QOOHH4V-C-3ZC2nf.js +1 -0
- package/web-shell/assets/{swimlanes-XN3QIQJK-Bm38pM28.js → swimlanes-XN3QIQJK-Dnrrhu0H.js} +1 -1
- package/web-shell/assets/swimlanesDiagram-VK2B7HYN-Ded1L5cw.js +8 -0
- package/web-shell/assets/{timeline-definition-24CTP7MA-Do-agLSo.js → timeline-definition-24CTP7MA-8BV7W2Xq.js} +1 -1
- package/web-shell/assets/{vennDiagram-4TSXK5OY-aggLfZzl.js → vennDiagram-4TSXK5OY-tmBBtlnj.js} +1 -1
- package/web-shell/assets/{wardleyDiagram-VM6X3IG4-D5JR3mXX.js → wardleyDiagram-VM6X3IG4-Cq96T3gb.js} +1 -1
- package/web-shell/assets/{xychartDiagram-S5SC5T6Z-DhtLDuXs.js → xychartDiagram-S5SC5T6Z-Dpzx_ZGQ.js} +1 -1
- package/web-shell/index.html +1 -1
- package/chunks/MaxSizedBox-FCF6M53W.js +0 -124
- package/chunks/acp-subagent-executor-TND6W2O5.js +0 -140
- package/chunks/agent-headless-EJ4QOUSM.js +0 -94
- package/chunks/bridge-MUX5YJZT.js +0 -132
- package/chunks/channel-settings-store-7CBIRZER.js +0 -134
- package/chunks/config-utils-KX2YS725.js +0 -127
- package/chunks/contextCommand-RV6Y5LNJ.js +0 -120
- package/chunks/daemon-status-provider-NULJNAEV.js +0 -131
- package/chunks/daemon-trust-policy-S4KWGPV3.js +0 -126
- package/chunks/deferred-core-runtime-T23ZT443.js +0 -128
- package/chunks/environment-TSQJUTPV.js +0 -143
- package/chunks/errors-RIVYJS6T.js +0 -127
- package/chunks/exitPlanMode-BYBBFN2T.js +0 -92
- package/chunks/handleAutoUpdate-FZP45KOR.js +0 -123
- package/chunks/i18n-OTB62AKW.js +0 -140
- package/chunks/initializer-4JXZEC4B.js +0 -127
- package/chunks/installationInfo-2IJV5QKC.js +0 -121
- package/chunks/list-KQSQ4A5G.js +0 -130
- package/chunks/loadedSettingsAdapter-TZTTNRHI.js +0 -124
- package/chunks/mcp-TFDTUPIA.js +0 -124
- package/chunks/model-configuration-ZCAKKIOF.js +0 -137
- package/chunks/modelConfigUtils-J3ZPW7ZK.js +0 -116
- package/chunks/nonInteractiveCli-GPT3TVOK.js +0 -211
- package/chunks/pidfile-GBTBIGHF.js +0 -127
- package/chunks/prompt-terminal-ledger-ILIXZI3E.js +0 -119
- package/chunks/read-file-G4XKW2CS.js +0 -31
- package/chunks/record-source-2GSY5JD5.js +0 -22
- package/chunks/resumeHistoryUtils-YPJU4XFE.js +0 -132
- package/chunks/ripGrep-AAKMALLM.js +0 -39
- package/chunks/sandbox-UIXL423Z.js +0 -146
- package/chunks/sandboxConfig-CY343YNJ.js +0 -114
- package/chunks/scheduled-tasks-5UGBEVNZ.js +0 -143
- package/chunks/scheduler-GCZYLZ2P.js +0 -136
- package/chunks/serve-2XXQLVK2.js +0 -132
- package/chunks/session-attachments-root-DHQM5IEZ.js +0 -117
- package/chunks/skill-settings-IXG5CTQO.js +0 -140
- package/chunks/spawnChannel-Q3YALTCJ.js +0 -128
- package/chunks/standalone-update-H5OJ7MM7.js +0 -132
- package/chunks/task-create-75HVPEAH.js +0 -28
- package/chunks/terminal-image-renderer-UDPJPGPQ.js +0 -132
- package/chunks/theme-manager-SK57EKMO.js +0 -116
- package/chunks/total-session-admission-UUZBDQCG.js +0 -127
- package/chunks/trustedFolders-4LDBLNTS.js +0 -136
- package/chunks/updateCheck-PKSSORPO.js +0 -132
- package/chunks/useAutoAcceptIndicator-I32UEQPI.js +0 -134
- package/chunks/workspace-providers-status-WRX6CJM4.js +0 -130
- package/chunks/workspace-registry-SXIMGT4D.js +0 -136
- package/chunks/workspace-runtime-coordinator-7DOEHXYT.js +0 -139
- package/chunks/workspace-service-HDXOZMYC.js +0 -141
- package/chunks/workspace-skills-status-VN4L37CA.js +0 -127
- package/chunks/write-file-LKX4ETIO.js +0 -97
- package/web-shell/assets/channel-DFYs_LlK.js +0 -1
- package/web-shell/assets/classDiagram-DTDB5LWJ-DnGrKXoM.js +0 -1
- package/web-shell/assets/classDiagram-v2-JRS7N3AN-DnGrKXoM.js +0 -1
- package/web-shell/assets/stateDiagram-v2-4QOOHH4V-1aU2JZXO.js +0 -1
- package/web-shell/assets/swimlanesDiagram-VK2B7HYN-Dp-u6kQG.js +0 -8
- package/chunks/{chunk-XAJZFGD2.js → chunk-PXXYQOZO.js} +8 -8
- package/chunks/{chunk-WVURIAEE.js → chunk-SVWWF5TZ.js} +3 -3
- package/chunks/{dist-G5UMXIGF.js → dist-I6D6XOWV.js} +1 -1
- package/chunks/{dist-UXVNLQHG.js → dist-VIKOMAGG.js} +3 -3
|
@@ -0,0 +1,443 @@
|
|
|
1
|
+
# Omni 媒体策略编排
|
|
2
|
+
|
|
3
|
+
> 实验特性:仅在 omni 实验分支可用。媒体临时上传仍使用 DashScope 通道;推理既可使用 DashScope OpenAI 兼容模式,也可通过独立上传配置接入自部署的 OpenAI 兼容 Omni 模型。配置格式可能随实验推进调整,不承诺向后兼容。
|
|
4
|
+
|
|
5
|
+
当你把图片、音频、视频交给多模态模型时,原始文件往往过大(一部 1080p 电影约 1GB)或过长(81 分钟的音轨),直接投递要么超出上传通道限制,要么烧掉整个上下文窗口。**媒体策略编排**让你用配置声明"什么媒体、满足什么条件时、用哪个工具、降质成什么样再投递",整条流水线是:
|
|
6
|
+
|
|
7
|
+
```
|
|
8
|
+
识别媒体 → 匹配固定策略 → 派生降质产物(staging) → 内容寻址入库(objects) → 携带披露投递给模型
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
三条铁律贯穿全程:
|
|
12
|
+
|
|
13
|
+
1. **有损必披露**——任何降质产物送达模型时,紧邻的文本部件必须携带 `【媒体降质】`(或 `【媒体省略】`/`【媒体转写】`)标记,说明丢了什么;
|
|
14
|
+
2. **配置错误启动即失败**——策略引用不存在的工具、条件写错字段、矛盾的组合,一律在启动时报 `OmniPolicyConfigError`,绝不静默降级;
|
|
15
|
+
3. **条件不可判定不等于假**——探测不到的元数据字段产生 `unavailable` 三值结果,按策略声明的 `onConditionUnavailable` 处理,永不悄悄当作 `false`。
|
|
16
|
+
|
|
17
|
+
---
|
|
18
|
+
|
|
19
|
+
## 快速开始
|
|
20
|
+
|
|
21
|
+
在项目 `.qwen/settings.json`(或用户级 `~/.qwen/settings.json`)中:
|
|
22
|
+
|
|
23
|
+
```json
|
|
24
|
+
{
|
|
25
|
+
"omni": {
|
|
26
|
+
"enabled": true,
|
|
27
|
+
"processing": {
|
|
28
|
+
"fixedPolicies": {
|
|
29
|
+
"big-image-downsample": {
|
|
30
|
+
"mediaTypes": ["image"],
|
|
31
|
+
"when": [">", ["field", "resource.width"], 3000],
|
|
32
|
+
"toolName": "omni_downsample_image",
|
|
33
|
+
"arguments": { "maxDimension": 1568, "quality": 75 }
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
之后任何一张宽度超过 3000px 的图片(来自 `@` 引用、工具结果或 URL 摄取)都会先被降采样,再连同一条 `【媒体降质】原 4096×3072/8.2MB → 1568×1176/…` 披露投递给模型;宽度不超标的图片则原样直达。
|
|
42
|
+
|
|
43
|
+
零配置时 `fixedPolicies` 为空,预处理完全不运行——只有强制的传输守卫(见下文)在媒体超出上传通道限制时兜底。
|
|
44
|
+
|
|
45
|
+
### 自定义推理与 DashScope 上传解耦
|
|
46
|
+
|
|
47
|
+
当 Omni 推理走自部署地址、媒体仍需上传到 DashScope 时,配置独立上传通道:
|
|
48
|
+
|
|
49
|
+
```json
|
|
50
|
+
{
|
|
51
|
+
"omni": {
|
|
52
|
+
"enabled": true,
|
|
53
|
+
"delivery": {
|
|
54
|
+
"upload": {
|
|
55
|
+
"baseUrl": "https://dashscope.aliyuncs.com/compatible-mode/v1",
|
|
56
|
+
"apiKeyEnv": "DASHSCOPE_API_KEY",
|
|
57
|
+
"model": "qwen3.5-omni-plus"
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
`apiKeyEnv` 填环境变量名,不填明文 key;启动 Qwen Code 前需确保该变量已有值。三个字段必须同时设置,否则启动失败。上传 endpoint/key/model 只用于 `getPolicy`、文件上传和上传缓存;自部署推理的 endpoint/key 仍按原有模型配置使用,两套凭据不会交叉发送。
|
|
65
|
+
|
|
66
|
+
如果三个字段都不设置,则保留旧行为:当前推理配置本身必须是带静态 API key 的 DashScope 兼容配置,并同时作为上传配置。
|
|
67
|
+
|
|
68
|
+
> **预设模板**:设计文档 4.1–4.9 的 9 条策略(长视频 ASR 链、大图降采样、上下文紧张抽帧、长音频转写、文档图 OCR、大视频降分辨率、三模态 >10MB 超限兜底)有一份开箱即用的预设 [`omni-fixed-policies-preset.json`](./omni-fixed-policies-preset.json)——把其中的 `omni` 对象合并进 settings.json 即可,策略已按 priority 排好执行顺序(链式派生先于条件分支,超限兜底最后),并附带 ASR 链所需的超时与预算放大。该预设由 `packages/core/src/omni/policy/preset-validation.test.ts` 持续验证可正常归一化。
|
|
69
|
+
|
|
70
|
+
---
|
|
71
|
+
|
|
72
|
+
## 配置总览
|
|
73
|
+
|
|
74
|
+
```
|
|
75
|
+
omni.enabled 总开关
|
|
76
|
+
omni.processing.fixedPolicies.<id> 预处理策略(本文主角)
|
|
77
|
+
omni.processing.transportGuard.policies.<id> 传输守卫策略(有系统默认,可覆盖不可删除)
|
|
78
|
+
omni.processing.transportGuard.maxUploadFileBytes 单文件上传上限(≤ 1GiB)
|
|
79
|
+
omni.processing.policyTools.<toolName> 工具级设置 / 超时 / 模型可见性
|
|
80
|
+
omni.processing.limits 每根资源的派生预算
|
|
81
|
+
omni.delivery.upload.baseUrl DashScope 上传 endpoint
|
|
82
|
+
omni.delivery.upload.apiKeyEnv 上传 key 的环境变量名
|
|
83
|
+
omni.delivery.upload.model 获取上传 policy 使用的模型
|
|
84
|
+
omni.delivery.upload.urlTtlHours 上传 URL 缓存时长(≤ 48)
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
---
|
|
88
|
+
|
|
89
|
+
## fixedPolicies:固定策略
|
|
90
|
+
|
|
91
|
+
每条策略是 `策略 id → 配置对象` 的一个键值对。id 需匹配 `^[A-Za-z0-9][A-Za-z0-9._-]*$`;值为 `null` 可删除(墓碑)更低作用域配置合并进来的同名策略。**未知键一律报错**,不会被忽略。
|
|
92
|
+
|
|
93
|
+
| 键 | 类型 / 取值 | 默认 | 说明 |
|
|
94
|
+
| ------------------------ | ------------------------------- | -------------------- | ------------------------------------------------------------------------------------------------------------------------ |
|
|
95
|
+
| `priority` | 有限数字 | `0` | 执行顺序:priority 降序,同分按 id 升序。 |
|
|
96
|
+
| `mediaTypes` | `("image"\|"video"\|"audio")[]` | 必填 | 策略适用的媒体模态,非空。 |
|
|
97
|
+
| `origins` | `("user"\|"tool"\|"policy")[]` | `["user","tool"]` | 接受哪些来源的媒体:用户 `@` 引用 / 工具结果 / 其他策略的派生物。 |
|
|
98
|
+
| `when` | 条件表达式数组 | 不设(总是匹配) | 见下节 DSL。 |
|
|
99
|
+
| `onConditionUnavailable` | `"skip"` \| `"run"` | `"skip"` | 条件字段探测不到时跳过还是照跑(`"abortTurn"` 为设计保留值,当前配置会被拒绝)。 |
|
|
100
|
+
| `toolName` | 字符串 | 必填 | 必须是已注册的媒体策略工具(见工具一览);被 `tools.disabled` 排除的工具视为未注册。 |
|
|
101
|
+
| `arguments` | 对象 | `{}` | 传给工具的固定参数,按工具的 `settingsSchema` 校验;`inputPath`/`outputDir`/`resourceId` 由编排器逐次注入,配置它们会报错。 |
|
|
102
|
+
| `maxRunsPerLineage` | 正整数 | `1` | 同一资源谱系上该策略最多执行几次,防循环。 |
|
|
103
|
+
| `onFailure` | `"continue"` \| `"abort"` | `"continue"` | 工具失败后继续匹配后续策略,还是中止本根资源的处理。 |
|
|
104
|
+
| `output.reprocessMedia` | 布尔 | `false` | 派生物以 `policy` 来源重新进入策略匹配(策略链)。 |
|
|
105
|
+
| `output.source` | `"keep"` \| `"omit"` | `"omit"` | 源媒体是保留在投递集中,还是被派生物替代。 |
|
|
106
|
+
| `output.artifacts` | 选择器映射 | `{ "*": "include" }` | 多产物工具的分流:`include` 进投递集,`retain` 只入库不投递。 |
|
|
107
|
+
|
|
108
|
+
### output.artifacts 选择器
|
|
109
|
+
|
|
110
|
+
选择器有三种形态,匹配优先级 `role:` > `kind:` > `*`;配置了映射但没有任何选择器命中的产物按 `retain` 处理:
|
|
111
|
+
|
|
112
|
+
```json
|
|
113
|
+
"output": {
|
|
114
|
+
"artifacts": {
|
|
115
|
+
"role:transcript": "include",
|
|
116
|
+
"kind:image": "retain",
|
|
117
|
+
"*": "include"
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
```
|
|
121
|
+
|
|
122
|
+
- `kind:<image|video|audio|file>` —— 按产物类别;
|
|
123
|
+
- `role:<token>` —— 按工具声明的产物角色(如转写工具的 `transcript`);
|
|
124
|
+
- `*` —— 兜底。
|
|
125
|
+
|
|
126
|
+
启动校验会核对每个选择器确实是该工具能产出的类别/角色——永远匹配不到的选择器是配置错误,不是静默空操作。
|
|
127
|
+
|
|
128
|
+
---
|
|
129
|
+
|
|
130
|
+
## when 条件 DSL
|
|
131
|
+
|
|
132
|
+
条件是 Mapbox 风格的表达式数组:`[操作符, ...操作数]`。
|
|
133
|
+
|
|
134
|
+
```json
|
|
135
|
+
[
|
|
136
|
+
"all",
|
|
137
|
+
[">", ["field", "resource.durationMs"], 1200000],
|
|
138
|
+
["!", ["<", ["field", "resource.sizeBytes"], 1048576]]
|
|
139
|
+
]
|
|
140
|
+
```
|
|
141
|
+
|
|
142
|
+
- **比较**:`>` `>=` `<` `<=` `==` `!=`,恰好两个操作数,各为 `["field", "<命名空间.字段>"]` 引用或字面量(数字/字符串/布尔);排序类操作符要求数字。
|
|
143
|
+
- **组合**:`["all", …]`(与)、`["any", …]`(或)、`["!", <expr>]`(非),可任意嵌套。
|
|
144
|
+
- 不支持任意代码、JSONPath 或嵌套取值子表达式。
|
|
145
|
+
|
|
146
|
+
### 可用字段
|
|
147
|
+
|
|
148
|
+
| 命名空间 | 字段 | 含义 |
|
|
149
|
+
| ----------- | --------------------------- | ------------------------------------------------------------------------------ |
|
|
150
|
+
| `resource.` | `sizeBytes` | 文件字节数 |
|
|
151
|
+
| | `durationMs` | 时长(毫秒,音/视频) |
|
|
152
|
+
| | `width` / `height` | 像素宽高 |
|
|
153
|
+
| | `maxWidth` / `maxHeight` | `width` / `height` 的同值别名 |
|
|
154
|
+
| | `frameRate` / `frameCount` | 帧率 / 总帧数 |
|
|
155
|
+
| | `bitRate` | 比特率 |
|
|
156
|
+
| | `sampleRateHz` / `channels` | 采样率 / 声道数 |
|
|
157
|
+
| | `estimatedTokenCount` | 该资源的预估 token 消耗 |
|
|
158
|
+
| `request.` | `totalEstimatedMediaTokens` | 当前调度 pass 中该资源及其派生物的预估 token 总量(按资源逐个计算,非跨资源合计) |
|
|
159
|
+
| `session.` | `contextWindowTokens` | 模型上下文窗口 |
|
|
160
|
+
| | `promptTokenCount` | 当前 prompt 已占 token |
|
|
161
|
+
| | `reservedOutputTokens` | 预留输出 token |
|
|
162
|
+
| | `availableContextTokens` | 剩余可用上下文 |
|
|
163
|
+
| `memory.` | `hasTranscript` | 该文件 memory 子图中已有转写产物(1/0) |
|
|
164
|
+
| | `hasOcr` | 已有 OCR 产物(1/0) |
|
|
165
|
+
| | `hasCaption` / `hasSummary` | 已有 caption / 汇总产物(1/0) |
|
|
166
|
+
| | `hasKeyframes` / `hasClip` | 已有关键帧 / 裁剪片段产物(1/0) |
|
|
167
|
+
|
|
168
|
+
`memory.*` 字段回答"这个文件的媒体记忆里**已经处理过什么**"(按产物 role 统计,覆盖派生链——如"抽音轨→转写"的转写产物挂在派生音频版本下,查询视频版本同样可见)。典型用法是 §4.1/4.4 的"memory 中无完整 ASR 结果才转写":`["==", ["field", "memory.hasTranscript"], 0]`。记忆未开启、资源无记忆绑定或存储不可读时,整个命名空间为 `unavailable`(不会静默当假),由 `onConditionUnavailable` 决定行为。
|
|
169
|
+
|
|
170
|
+
### 三值语义
|
|
171
|
+
|
|
172
|
+
字段探测不到(图片没有 `durationMs`、探针失败等)时,比较结果是 `unavailable` 而非 `false`。组合器用强 Kleene 逻辑传播:`all` 里只要有确定的假就是假,`any` 里只要有确定的真就是真,否则 `unavailable` 上浮,最终由该策略的 `onConditionUnavailable` 决定跳过(默认)还是执行,运行记录会写明缺失字段。
|
|
173
|
+
|
|
174
|
+
---
|
|
175
|
+
|
|
176
|
+
## 策略链:reprocessMedia + origins
|
|
177
|
+
|
|
178
|
+
`output.reprocessMedia: true` 让派生物带着 `policy` 来源重新进入匹配,由声明了 `origins: ["policy", …]` 的下游策略接力。典型形态(电影音轨三级流水线):
|
|
179
|
+
|
|
180
|
+
```
|
|
181
|
+
extract-audio (origins:[user], reprocessMedia:true, source:keep)
|
|
182
|
+
└─▶ audio-downsample (origins:[policy], when: >100MB, reprocessMedia:true, source:omit)
|
|
183
|
+
└─▶ transcribe (origins:[policy], when: ≤100MB, source:omit)
|
|
184
|
+
```
|
|
185
|
+
|
|
186
|
+
启动校验会拒绝"惰性 reprocessMedia":某策略声明了 `reprocessMedia`,但同一集合里没有任何策略接受 `policy` 来源——派生物将永远无处可去,这是矛盾配置。
|
|
187
|
+
|
|
188
|
+
防失控的多重护栏:`maxRunsPerLineage`(单策略单谱系次数)、`limits.maxLineageDepth`(谱系深度)、`limits.maxPolicyRunsPerRoot`(单根总次数)。
|
|
189
|
+
|
|
190
|
+
---
|
|
191
|
+
|
|
192
|
+
## policyTools:工具级设置与模型可见性
|
|
193
|
+
|
|
194
|
+
```json
|
|
195
|
+
"policyTools": {
|
|
196
|
+
"omni_transcribe_audio": {
|
|
197
|
+
"settings": { "maxInputBytes": 33554432, "chunkSeconds": 300 },
|
|
198
|
+
"runtime": { "timeoutMs": 1800000 },
|
|
199
|
+
"modelAccess": {
|
|
200
|
+
"enabled": true,
|
|
201
|
+
"defaultArguments": { "chunkSeconds": 180 },
|
|
202
|
+
"lockedArguments": {}
|
|
203
|
+
}
|
|
204
|
+
}
|
|
205
|
+
}
|
|
206
|
+
```
|
|
207
|
+
|
|
208
|
+
- **`settings`** —— 该工具的默认可调参数,按工具 `settingsSchema` 校验(如转写的 `maxInputBytes`、关键帧的 `sceneThreshold`)。
|
|
209
|
+
- **`runtime.timeoutMs`** —— 单次调用的墙钟超时。必须小于 staging 清扫宽限窗(3600000ms = 1 小时),否则崩溃恢复清扫可能删掉仍在运行的调用的暂存目录,启动时直接报错。
|
|
210
|
+
- **`modelAccess`** —— 默认所有策略工具**对模型不可见**,只能由固定策略驱动。逐工具打开:
|
|
211
|
+
- `enabled: true` —— 工具进入模型的工具列表,同时被写进系统提示的媒体引导小节(见"披露与渐进式理解");
|
|
212
|
+
- `defaultArguments` —— 注入每次调用的默认参数,模型可覆盖;
|
|
213
|
+
- `lockedArguments` —— 锁定参数:从模型可见 schema 中剥除,模型执意传入会被硬性拒绝(可重试错误),执行时由 harness 注入。同一键出现在 defaults 和 locked 中是矛盾配置;
|
|
214
|
+
- `parameterSchema` —— 可选的可见 schema 投影,只允许收窄原生 schema,不能引入新属性。
|
|
215
|
+
- 运维专用参数(`baseUrl`、`apiKeyEnv` 等)永远不会出现在模型可见 schema 中。
|
|
216
|
+
|
|
217
|
+
---
|
|
218
|
+
|
|
219
|
+
## 策略工具一览
|
|
220
|
+
|
|
221
|
+
十四个内置媒体策略工具(前八个基于 ffmpeg/sharp,后六个含模型调用),产物均携带强制披露:
|
|
222
|
+
|
|
223
|
+
| 工具 | 输入 → 输出 | 关键参数(默认) | 典型用途 |
|
|
224
|
+
| -------------------------------- | ------------------------ | ------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
|
|
225
|
+
| `omni_downsample_image` | image → JPEG | `maxDimension` 1568、`quality` 75、`tokenBudget`(256/1024/2048 tokens 档位,吸附 28px patch 网格) | 超大截图降采样;`tokenBudget` 直接按计费 token 说话 |
|
|
226
|
+
| `omni_convert_image` | image → JPEG/PNG/WebP | `format` "jpeg"、`quality` 90 | 冷门格式转通用格式 |
|
|
227
|
+
| `omni_clip_image` | image → PNG 区域 | `x`/`y`/`width`/`height`(像素,必填) | 裁剪指定矩形区域(policy 形态,区别于模型直调的 `zoom_image`) |
|
|
228
|
+
| `omni_caption_image` | image → 文本描述 | `prompt`(默认整体描述);运维专用:`model`、`baseUrl`、`apiKeyEnv` | VL 模型把视觉内容转成文本进上下文(role: caption) |
|
|
229
|
+
| `omni_ocr_image` | image → 文本 | `language`(默认自动)、`prompt`(默认提取全部可见文字);运维专用:`model` 等 | OCR 提取图片文字(role: ocr),解锁"文档/文字图片 OCR"固定策略 |
|
|
230
|
+
| `omni_downscale_video` | video → MP4 | `maxHeight` 480、`fps` 10、`crf` 28 | 分辨率/帧率双降 |
|
|
231
|
+
| `omni_clip_video` | video → MP4 片段 | `startSec` 0、`durationSec`(默认到结尾)、`crf` 23 | 截取时间区间 |
|
|
232
|
+
| `omni_extract_keyframes` | video → 多张 JPEG | `maxFrames` 8、`sceneThreshold` 0.2、`maxDimension` 768、`strategy` "scene"/"uniform"、"fps"、"startSec"/`endSec`、`frameTokenBudget` | **全片分桶采样**(默认);`uniform` 为时长自适应动态帧率均匀采样(并行 seek 抽帧),长视频自动降采样率 |
|
|
233
|
+
| `omni_understand_video_segments` | video → 文本理解 | `segmentSeconds` 30(5–60)、`maxParallelSegments` 8、`maxSegmentBytes` 10MiB、`prompt`;运维专用:`model` 等 | **长视频分段并行理解**:固定时长切片重编码(≤10MB)→ 并行 Omni 逐段 caption → 汇总 `[MM:SS-MM:SS]` 文本(role: summary) |
|
|
234
|
+
| `omni_extract_audio` | video → WAV/MP3/M4A | `format` "wav"、`sampleRateHz` 16000、`channels` 1 | 抽出音轨供转写 |
|
|
235
|
+
| `omni_downsample_audio` | audio → M4A | `bitrateKbps` 64、`sampleRateHz` 16000、`channels` 1 | 压音频体积 |
|
|
236
|
+
| `omni_clip_audio` | audio → WAV/MP3/M4A 片段 | `startMs`、`durationMs`(≥1000,默认到结尾)、`format` "m4a" | 音频时间裁剪,与视频裁剪对称 |
|
|
237
|
+
| `omni_transcribe_audio` | audio → 文本转写 | `chunkSeconds` 180、`maxInputBytes` 10MiB;运维专用:`model`、`baseUrl`、`apiKeyEnv` | **长音频分段转写**:超过 `chunkSeconds` 自动切段(并发 3、共享时间预算),按 `[MM:SS-MM:SS]`/`[H:MM:SS-…]` 拼装;单段失败内联标注不整体失败;自动检测并截断 ASR 重复退化 |
|
|
238
|
+
| `omni_caption_audio` | audio → 文本描述 | `prompt`(默认语义描述)、`chunkSeconds` 180;运维专用:`model` 等 | Omni 模型理解音频:语音大意、音色、事件、情绪(非逐字转写;长音频同样分段)(role: caption) |
|
|
239
|
+
|
|
240
|
+
多产物工具(关键帧)在一次调用事务里逐帧提升为独立产物;转写/caption/OCR/汇总产物走文本通道(`【媒体转写】` 形态)而非媒体通道,memory role 分别为 `transcript`/`caption`/`ocr`/`summary`。
|
|
241
|
+
|
|
242
|
+
模型直接调用这些工具时,成功结果会列出每个产物的绝对路径,模型可立即用 `read_file` 读取剪辑、音频、关键帧或转写结果。
|
|
243
|
+
|
|
244
|
+
---
|
|
245
|
+
|
|
246
|
+
## transportGuard:传输守卫
|
|
247
|
+
|
|
248
|
+
预处理是纯实验语义,守卫是**强制安全网**:当最终投递集仍超出传输限制(如 DashScope 单文件 100MB/1GiB 上限)时,守卫策略对超限媒体执行降质重试,并在披露中标注 `(服务端输入超限,第 N 次降质重试)`,最多 `limits.maxTransportPasses` 轮;仍不达标则以 `【媒体省略】` 通知替代媒体本身。
|
|
249
|
+
|
|
250
|
+
系统默认三条守卫(可整条覆盖、**不可删除**):
|
|
251
|
+
|
|
252
|
+
```json
|
|
253
|
+
"transportGuard": {
|
|
254
|
+
"policies": {
|
|
255
|
+
"image-downsample": { "mediaTypes": ["image"], "toolName": "omni_downsample_image" },
|
|
256
|
+
"video-downscale": { "mediaTypes": ["video"], "toolName": "omni_downscale_video" },
|
|
257
|
+
"audio-downsample": { "mediaTypes": ["audio"], "toolName": "omni_downsample_audio" }
|
|
258
|
+
}
|
|
259
|
+
}
|
|
260
|
+
```
|
|
261
|
+
|
|
262
|
+
守卫策略的三条特殊约束(启动校验强制):合并后的守卫集必须覆盖 image/video/audio 三模态;不得声明 `when`(触发时机就是"超限"本身);`output.source` 必须为 `"omit"`(超限源不能留在投递集里)。
|
|
263
|
+
|
|
264
|
+
---
|
|
265
|
+
|
|
266
|
+
## limits:派生预算
|
|
267
|
+
|
|
268
|
+
| 键 | 默认 | 说明 |
|
|
269
|
+
| ------------------------ | ----- | ----------------------------------------- |
|
|
270
|
+
| `maxConcurrentResources` | 1 | 并发处理的根资源数 |
|
|
271
|
+
| `reservedOutputTokens` | 8192 | 为模型输出预留的 token(唯一允许为 0 的键) |
|
|
272
|
+
| `maxLineageDepth` | 8 | 策略链最大深度 |
|
|
273
|
+
| `maxPolicyRunsPerRoot` | 64 | 单根资源的策略执行总次数上限 |
|
|
274
|
+
| `maxArtifactsPerRoot` | 256 | 单根资源的产物总数上限 |
|
|
275
|
+
| `maxDerivedBytesPerRoot` | 1 GiB | 单根资源派生字节预算(电影场景建议调大) |
|
|
276
|
+
| `maxTransportPasses` | 3 | 传输守卫降质重试轮数 |
|
|
277
|
+
|
|
278
|
+
已提交的投递不受预算追溯影响;预算耗尽只阻止新的派生。
|
|
279
|
+
|
|
280
|
+
---
|
|
281
|
+
|
|
282
|
+
## 披露与渐进式理解
|
|
283
|
+
|
|
284
|
+
投递给模型的每个降质产物都紧邻一条披露文本,三种标记:
|
|
285
|
+
|
|
286
|
+
- `【媒体降质】<文件>:原 … → …,<丢失说明>` —— 有损派生物(截取、降采样、抽帧、降码率);
|
|
287
|
+
- `【媒体转写】<文件>:[时间段] 文本…` —— 以文本替代媒体本体的转写;
|
|
288
|
+
- `【媒体省略】<文件>:…` —— 完全无法投递时的占位通知。
|
|
289
|
+
|
|
290
|
+
同时,系统提示会注入 **Media Delivery (Progressive Understanding)** 小节,向模型说明:降质投递是"概览而非全部内容"、禁止在未获取证据的时间段上外推结论,并列出恰好那些 `modelAccess.enabled` 的工具,引导模型在需要更高保真证据时**主动调用工具取证**(裁剪某个片段、对某区间重新抽帧、转写某段音频)。没有任何工具开放时,该小节改为要求模型明确说明证据缺口。
|
|
291
|
+
|
|
292
|
+
## 缓存与存储
|
|
293
|
+
|
|
294
|
+
- **内容寻址库** `.qwen/omni/objects/sha256/<xx>/<hash>.<ext>` —— 所有派生产物按内容哈希入库,同输入同策略永不重复派生(降质缓存键 = 源哈希 + 策略身份);
|
|
295
|
+
- **上传缓存** —— DashScope 临时上传的 `oss://` URL 按文件哈希、上传模型、上传 endpoint/key 隔离,并在 `urlTtlHours`(≤ 48h)内复用;只修改推理地址不会导致重复上传;
|
|
296
|
+
- **隔离区** `quarantine/<invocationId>/` —— 失败派生的暂存残留连同 `reason.json` 移入隔离区,按保留天数和体积预算惰性清扫;崩溃留下的未提交 staging 超过 1 小时宽限窗后被回收。
|
|
297
|
+
|
|
298
|
+
---
|
|
299
|
+
|
|
300
|
+
## 完整案例:81 分钟电影拉片
|
|
301
|
+
|
|
302
|
+
目标:给 Qwen Code 一部 1080p 电影(《Breaking Surface》2020,81 分钟,986MB MKV)和一句"制作拉片网页"的 prompt,让模型在**从未看过全片**的情况下产出覆盖全片的交互式分析页面。
|
|
303
|
+
|
|
304
|
+
### 策略设计
|
|
305
|
+
|
|
306
|
+
一部电影拆成三路证据,全部在预处理阶段自动完成:
|
|
307
|
+
|
|
308
|
+
1. **听觉全覆盖** —— 抽音轨 → 体积超 100MB 就先压码率 → 分段转写成带时间戳的全文台词;
|
|
309
|
+
2. **视觉全覆盖(稀疏)** —— 16 张关键帧按全片分桶采样,每帧披露带绝对时间戳;
|
|
310
|
+
3. **视觉细节(稠密,仅开头)** —— 截取前 10 分钟片段,给模型一段"高保真样本"感受影片质感。
|
|
311
|
+
|
|
312
|
+
### 工作区 `.qwen/settings.json`
|
|
313
|
+
|
|
314
|
+
```json
|
|
315
|
+
{
|
|
316
|
+
"omni": {
|
|
317
|
+
"enabled": true,
|
|
318
|
+
"processing": {
|
|
319
|
+
"fixedPolicies": {
|
|
320
|
+
"movie-extract-audio": {
|
|
321
|
+
"priority": 100,
|
|
322
|
+
"mediaTypes": ["video"],
|
|
323
|
+
"origins": ["user"],
|
|
324
|
+
"toolName": "omni_extract_audio",
|
|
325
|
+
"arguments": {
|
|
326
|
+
"format": "wav",
|
|
327
|
+
"sampleRateHz": 16000,
|
|
328
|
+
"channels": 1
|
|
329
|
+
},
|
|
330
|
+
"output": { "reprocessMedia": true, "source": "keep" }
|
|
331
|
+
},
|
|
332
|
+
"movie-audio-downsample": {
|
|
333
|
+
"priority": 90,
|
|
334
|
+
"mediaTypes": ["audio"],
|
|
335
|
+
"origins": ["policy"],
|
|
336
|
+
"when": [">", ["field", "resource.sizeBytes"], 104857600],
|
|
337
|
+
"toolName": "omni_downsample_audio",
|
|
338
|
+
"arguments": {
|
|
339
|
+
"bitrateKbps": 24,
|
|
340
|
+
"sampleRateHz": 16000,
|
|
341
|
+
"channels": 1
|
|
342
|
+
},
|
|
343
|
+
"output": { "reprocessMedia": true, "source": "omit" }
|
|
344
|
+
},
|
|
345
|
+
"movie-transcribe": {
|
|
346
|
+
"priority": 80,
|
|
347
|
+
"mediaTypes": ["audio"],
|
|
348
|
+
"origins": ["policy"],
|
|
349
|
+
"when": ["<=", ["field", "resource.sizeBytes"], 104857600],
|
|
350
|
+
"toolName": "omni_transcribe_audio",
|
|
351
|
+
"output": { "source": "omit" }
|
|
352
|
+
},
|
|
353
|
+
"movie-clip-opening": {
|
|
354
|
+
"priority": 70,
|
|
355
|
+
"mediaTypes": ["video"],
|
|
356
|
+
"origins": ["user"],
|
|
357
|
+
"when": [">", ["field", "resource.durationMs"], 1200000],
|
|
358
|
+
"toolName": "omni_clip_video",
|
|
359
|
+
"arguments": { "startSec": 0, "durationSec": 600 },
|
|
360
|
+
"output": { "source": "omit" }
|
|
361
|
+
},
|
|
362
|
+
"movie-keyframes": {
|
|
363
|
+
"priority": 60,
|
|
364
|
+
"mediaTypes": ["video"],
|
|
365
|
+
"origins": ["user"],
|
|
366
|
+
"toolName": "omni_extract_keyframes",
|
|
367
|
+
"arguments": { "maxFrames": 16, "maxDimension": 960 },
|
|
368
|
+
"output": { "source": "keep" }
|
|
369
|
+
}
|
|
370
|
+
},
|
|
371
|
+
"policyTools": {
|
|
372
|
+
"omni_extract_audio": {
|
|
373
|
+
"modelAccess": { "enabled": true },
|
|
374
|
+
"runtime": { "timeoutMs": 1800000 }
|
|
375
|
+
},
|
|
376
|
+
"omni_downsample_audio": { "runtime": { "timeoutMs": 1800000 } },
|
|
377
|
+
"omni_transcribe_audio": {
|
|
378
|
+
"settings": { "maxInputBytes": 33554432 },
|
|
379
|
+
"modelAccess": { "enabled": true },
|
|
380
|
+
"runtime": { "timeoutMs": 1800000 }
|
|
381
|
+
},
|
|
382
|
+
"omni_clip_video": {
|
|
383
|
+
"modelAccess": { "enabled": true },
|
|
384
|
+
"runtime": { "timeoutMs": 1800000 }
|
|
385
|
+
},
|
|
386
|
+
"omni_extract_keyframes": {
|
|
387
|
+
"modelAccess": { "enabled": true },
|
|
388
|
+
"runtime": { "timeoutMs": 1800000 }
|
|
389
|
+
},
|
|
390
|
+
"omni_downscale_video": {
|
|
391
|
+
"modelAccess": { "enabled": true },
|
|
392
|
+
"runtime": { "timeoutMs": 1800000 }
|
|
393
|
+
}
|
|
394
|
+
},
|
|
395
|
+
"limits": { "maxDerivedBytesPerRoot": 4294967296 }
|
|
396
|
+
}
|
|
397
|
+
}
|
|
398
|
+
}
|
|
399
|
+
```
|
|
400
|
+
|
|
401
|
+
配置要点逐条对应前文机制:
|
|
402
|
+
|
|
403
|
+
- **优先级排布**(100→60)保证抽音轨先于抽帧,音频链按"抽出→压缩→转写"接力;
|
|
404
|
+
- **策略链**:`movie-extract-audio` 的 WAV 音轨(约 150MB)带 `policy` 来源重新匹配——超 100MB 命中 `movie-audio-downsample` 压成 24kbps M4A(约 14MB),再次匹配命中 `movie-transcribe`;
|
|
405
|
+
- **`source` 取舍**:音轨和中间产物全部 `omit`(模型不需要听原始音频),关键帧 `keep` 源视频让开头片段与关键帧共存;
|
|
406
|
+
- **`when` 双向分流**:`>100MB` 与 `≤100MB` 互斥,压缩前后各走一条路,不会重复转写;
|
|
407
|
+
- **`modelAccess` 全开 + 引导小节**:模型可以对任意区间自行 clip/keyframes/transcribe 补证据;
|
|
408
|
+
- **预算调大**:986MB 源片的派生总量(WAV 音轨 + 片段 + 帧)远超默认 1GiB,`maxDerivedBytesPerRoot` 提到 4GiB;
|
|
409
|
+
- **转写 `maxInputBytes` 提到 32MiB**:容纳压缩后 14MB 的 M4A。
|
|
410
|
+
|
|
411
|
+
### 运行
|
|
412
|
+
|
|
413
|
+
```bash
|
|
414
|
+
qwen "请对 @tt10081762_1080p.mkv 做一次完整拉片,产出 lapian.html:电影简介、海报、主角剪影 SVG、可交互时间轴、关键事件列表及截图……" \
|
|
415
|
+
--approval-mode yolo
|
|
416
|
+
```
|
|
417
|
+
|
|
418
|
+
### 实测结果(qwen3.5-omni-plus,真实 DashScope API)
|
|
419
|
+
|
|
420
|
+
预处理阶段(首轮几分钟,之后全部缓存命中秒回):
|
|
421
|
+
|
|
422
|
+
- 音频链:4882s 视频 → WAV → 24kbps M4A → **28 段转写、17725 字、0 段失败**,时间戳从 `[0:00:00-0:02:54]` 连续覆盖到 `[1:18:28-1:21:22]`;
|
|
423
|
+
- 16 张关键帧时间戳 `@ 152.6s → @ 4729.5s`,均匀铺满全片;
|
|
424
|
+
- 开头 600s 片段一段。
|
|
425
|
+
|
|
426
|
+
首个模型请求实际送达:1 段视频 + 16 张图 + 19 条披露 + 内联全文转写,披露样例:
|
|
427
|
+
|
|
428
|
+
```
|
|
429
|
+
【媒体降质】tt10081762_1080p.mkv:原 4882s → 片段 [0s–600s] 600s,片段外内容全部丢弃
|
|
430
|
+
【媒体降质】tt10081762_1080p.mkv:原视频 4882s/1920×808 → 关键帧 7/16 @ 1830.8s,静态抽帧(全片分桶采样),时间连续性丢失
|
|
431
|
+
【媒体降质】tt10081762_1080p.mkv:原 4882s 音频 → 分 28 段转写文本 17725 字,语气/音色/非语音信息丢失,识别可能有误
|
|
432
|
+
【媒体转写】tt10081762_1080p.mkv:[0:00:00-0:02:54] Nej! Kom hit! …
|
|
433
|
+
```
|
|
434
|
+
|
|
435
|
+
传输守卫也被真实触发:600s 片段(128.8MB)遭服务端拒收后自动两级降质重试(`480p/24.1MB → 360p/13MB`),披露追加 `(服务端输入超限,第 N 次降质重试)`。
|
|
436
|
+
|
|
437
|
+
模型侧行为印证了渐进式理解引导:基于转写和关键帧建立全片骨架后,模型**主动发起了 18 次媒体工具调用**(7 次 clip、5 次 extract_audio、4 次 keyframes、2 次 transcribe,零错误)对关键场景补充取证,最终产出的 `lapian.html` 时间轴覆盖 `00:00 → 81:22` 全片。
|
|
438
|
+
|
|
439
|
+
### 已知边界
|
|
440
|
+
|
|
441
|
+
- 大体量投递对上传通道和 API 速率敏感:上传超时会以 `【媒体省略】`/失败通知降级(模型可靠工具自救),连续多个大请求可能触发 DashScope 速率保护——重试即可,预处理与上传缓存保证重跑近乎零成本;
|
|
442
|
+
- 转写基于 ASR,专有名词与多语言混杂段落可能有误,披露文本已固定声明"识别可能有误";
|
|
443
|
+
- 关键帧是稀疏采样,单帧之间的动态信息永久丢失——这正是给模型开放 `omni_clip_video` 的意义。
|
|
@@ -40,7 +40,7 @@ cd your-project
|
|
|
40
40
|
qwen
|
|
41
41
|
```
|
|
42
42
|
|
|
43
|
-
On first launch you'll be prompted to connect a model provider. The menu offers **Alibaba ModelStudio** (
|
|
43
|
+
On first launch you'll be prompted to connect a model provider. The menu offers **Alibaba ModelStudio** (the official recommended setup), **Third-party Providers** (built-in providers such as DeepSeek, MiniMax, Z.AI, Kimi, and OpenRouter, connected with an API key), and **Custom Provider** (a local server, proxy, or unsupported provider). For the [Alibaba Cloud Token Plan](https://bailian.console.aliyun.com/cn-beijing?tab=doc#/doc/?type=model&url=3028856) ([intl](https://modelstudio.console.alibabacloud.com/ap-southeast-1?tab=doc#/doc/?type=model)), choose **Alibaba ModelStudio → Token Plan**; to use a ModelStudio API key, choose **Alibaba ModelStudio → Standard API Key** and follow the API setup guide ([Beijing](https://bailian.console.aliyun.com/cn-beijing/?tab=doc#/doc/?type=model&url=3023091) / [intl](https://modelstudio.console.alibabacloud.com/ap-southeast-1?tab=doc#/doc/?type=model&url=2974721)). Then let's start with understanding your codebase. Try one of these commands:
|
|
44
44
|
|
|
45
45
|
```
|
|
46
46
|
what does this project do?
|
|
@@ -10,7 +10,7 @@ Make sure you have:
|
|
|
10
10
|
|
|
11
11
|
- A **terminal** or command prompt open
|
|
12
12
|
- A code project to work with
|
|
13
|
-
- An API key from Alibaba Cloud ModelStudio ([Beijing](https://bailian.console.aliyun.com/) / [intl](https://modelstudio.console.alibabacloud.com/)), or an Alibaba Cloud
|
|
13
|
+
- An API key from Alibaba Cloud ModelStudio ([Beijing](https://bailian.console.aliyun.com/) / [intl](https://modelstudio.console.alibabacloud.com/)), or an Alibaba Cloud Token Plan ([Beijing](https://bailian.console.aliyun.com/cn-beijing?tab=doc#/doc/?type=model&url=3028856) / [intl](https://modelstudio.console.alibabacloud.com/ap-southeast-1?tab=doc#/doc/?type=model)) subscription
|
|
14
14
|
|
|
15
15
|
## Step 1: Install Qwen Code
|
|
16
16
|
|
|
@@ -69,8 +69,7 @@ qwen
|
|
|
69
69
|
The first-run menu lets you connect a model provider. Choose one of:
|
|
70
70
|
|
|
71
71
|
- **Alibaba ModelStudio** — the recommended setup. Opens a sub-menu:
|
|
72
|
-
- **
|
|
73
|
-
- **Token Plan**: usage-based billing with a dedicated endpoint, aimed at teams and companies.
|
|
72
|
+
- **Token Plan**: usage-based billing with a dedicated endpoint, aimed at teams and companies. See the [Token Plan guide](https://bailian.console.aliyun.com/cn-beijing?tab=doc#/doc/?type=model&url=3028856) ([intl](https://modelstudio.console.alibabacloud.com/ap-southeast-1?tab=doc#/doc/?type=model)) for setup instructions.
|
|
74
73
|
- **Standard API Key**: connect with an existing API key from Alibaba Cloud ModelStudio ([Beijing](https://bailian.console.aliyun.com/) / [intl](https://modelstudio.console.alibabacloud.com/)). See the API setup guide ([Beijing](https://bailian.console.aliyun.com/cn-beijing/?tab=doc#/doc/?type=model&url=3023091) / [intl](https://modelstudio.console.alibabacloud.com/ap-southeast-1?tab=doc#/doc/?type=model&url=2974721)) for details.
|
|
75
74
|
- **Third-party Providers** — choose a built-in provider (DeepSeek, Grok, MiniMax, Z.AI, Kimi, Idealab, ModelScope, OpenRouter, Requesty, and more) and connect with an API key.
|
|
76
75
|
- **Custom Provider** — manually connect a local server, proxy, or unsupported provider.
|
|
@@ -0,0 +1,148 @@
|
|
|
1
|
+
// Force strict mode and setup for ESM
|
|
2
|
+
"use strict";
|
|
3
|
+
import {
|
|
4
|
+
MINIMUM_MAX_HEIGHT,
|
|
5
|
+
MaxSizedBox,
|
|
6
|
+
setMaxSizedBoxDebugging
|
|
7
|
+
} from "./chunk-XYAB5R6E.js";
|
|
8
|
+
import "./chunk-3NHJLWOD.js";
|
|
9
|
+
import "./chunk-SV5PQVQE.js";
|
|
10
|
+
import "./chunk-ZTBP4SFC.js";
|
|
11
|
+
import "./chunk-5QWWOFGG.js";
|
|
12
|
+
import "./chunk-S7BE3FMA.js";
|
|
13
|
+
import "./chunk-47ECGEJC.js";
|
|
14
|
+
import "./chunk-2MIN6GRR.js";
|
|
15
|
+
import "./chunk-QHTIBUWB.js";
|
|
16
|
+
import "./chunk-RKUWKYED.js";
|
|
17
|
+
import "./chunk-CNG7ILRW.js";
|
|
18
|
+
import "./chunk-GELRJXE2.js";
|
|
19
|
+
import "./chunk-32CM56LO.js";
|
|
20
|
+
import "./chunk-MC2RYJMU.js";
|
|
21
|
+
import "./chunk-LJZSMWOH.js";
|
|
22
|
+
import "./chunk-DJLCK66M.js";
|
|
23
|
+
import "./chunk-M5YIHMXP.js";
|
|
24
|
+
import "./chunk-2FRZ4ZP2.js";
|
|
25
|
+
import "./chunk-CKNBSVBC.js";
|
|
26
|
+
import "./chunk-LAE6RY3L.js";
|
|
27
|
+
import "./chunk-R4DAJXOV.js";
|
|
28
|
+
import "./chunk-FXPP7VLM.js";
|
|
29
|
+
import "./chunk-7PQ65Z5F.js";
|
|
30
|
+
import "./chunk-ZPJWUGCS.js";
|
|
31
|
+
import "./chunk-O4A2B6V2.js";
|
|
32
|
+
import "./chunk-R34ALEH5.js";
|
|
33
|
+
import "./chunk-QQPRTJOM.js";
|
|
34
|
+
import "./chunk-WL2CTQGT.js";
|
|
35
|
+
import "./chunk-DJYHML3Y.js";
|
|
36
|
+
import "./chunk-GZ5MEGA3.js";
|
|
37
|
+
import "./chunk-V2XJJTAB.js";
|
|
38
|
+
import "./chunk-CQULG2GJ.js";
|
|
39
|
+
import "./chunk-UXEI7POA.js";
|
|
40
|
+
import "./chunk-SLHYLVRW.js";
|
|
41
|
+
import "./chunk-YDERQ7ZV.js";
|
|
42
|
+
import "./chunk-JFEWKEKG.js";
|
|
43
|
+
import "./chunk-RSFNJ6UU.js";
|
|
44
|
+
import "./chunk-JYGESWZM.js";
|
|
45
|
+
import "./chunk-TFDCK56Y.js";
|
|
46
|
+
import "./chunk-FTKXJMQV.js";
|
|
47
|
+
import "./chunk-S5BHLTHK.js";
|
|
48
|
+
import "./chunk-KSEKRQJO.js";
|
|
49
|
+
import "./chunk-SNPYTKXI.js";
|
|
50
|
+
import "./chunk-GOFAQQZA.js";
|
|
51
|
+
import "./chunk-65I7S4Z3.js";
|
|
52
|
+
import "./chunk-HEOH7JZY.js";
|
|
53
|
+
import "./chunk-TWPJO254.js";
|
|
54
|
+
import "./chunk-CQ35AJ4Z.js";
|
|
55
|
+
import "./chunk-4YS7RMCB.js";
|
|
56
|
+
import "./chunk-PQQV3OBW.js";
|
|
57
|
+
import "./chunk-ANKISCKU.js";
|
|
58
|
+
import "./chunk-4SZ2636R.js";
|
|
59
|
+
import "./chunk-5EZRLTLQ.js";
|
|
60
|
+
import "./chunk-QHWCP53L.js";
|
|
61
|
+
import "./chunk-C4FISGDN.js";
|
|
62
|
+
import "./chunk-O6GEWCJA.js";
|
|
63
|
+
import "./chunk-KS6F6LZQ.js";
|
|
64
|
+
import "./chunk-6PVPNMXU.js";
|
|
65
|
+
import "./chunk-OB57Y2WH.js";
|
|
66
|
+
import "./chunk-KWTLCPYY.js";
|
|
67
|
+
import "./chunk-IWMYX5LB.js";
|
|
68
|
+
import "./chunk-QJNDUTOL.js";
|
|
69
|
+
import "./chunk-QPTE6BKL.js";
|
|
70
|
+
import "./chunk-U6H3XTFA.js";
|
|
71
|
+
import "./chunk-ACHCT36C.js";
|
|
72
|
+
import "./chunk-CHEIIBT3.js";
|
|
73
|
+
import "./chunk-GHG4PQY2.js";
|
|
74
|
+
import "./chunk-YVYK3JYU.js";
|
|
75
|
+
import "./chunk-Q5N5NEVT.js";
|
|
76
|
+
import "./chunk-ADN5KESB.js";
|
|
77
|
+
import "./chunk-SK3RZOPS.js";
|
|
78
|
+
import "./chunk-EVZT24AF.js";
|
|
79
|
+
import "./chunk-ELRMZTPF.js";
|
|
80
|
+
import "./chunk-GACWUBXV.js";
|
|
81
|
+
import "./chunk-JX6XHPTX.js";
|
|
82
|
+
import "./chunk-6C3D7BKK.js";
|
|
83
|
+
import "./chunk-DBDJRURL.js";
|
|
84
|
+
import "./chunk-MNU36NGH.js";
|
|
85
|
+
import "./chunk-B3HGO6BB.js";
|
|
86
|
+
import "./chunk-AUFTA63J.js";
|
|
87
|
+
import "./chunk-UQRDQCWF.js";
|
|
88
|
+
import "./chunk-MLXTMF7H.js";
|
|
89
|
+
import "./chunk-BQMSZSG6.js";
|
|
90
|
+
import "./chunk-VNOVK4I7.js";
|
|
91
|
+
import "./chunk-WFNEY5G7.js";
|
|
92
|
+
import "./chunk-BXAU2UKM.js";
|
|
93
|
+
import "./chunk-S6LOFUVP.js";
|
|
94
|
+
import "./chunk-BKVPLSEI.js";
|
|
95
|
+
import "./chunk-2VWXODMY.js";
|
|
96
|
+
import "./chunk-S7UQ3V2H.js";
|
|
97
|
+
import "./chunk-QE36VXWP.js";
|
|
98
|
+
import "./chunk-CTGMXP4A.js";
|
|
99
|
+
import "./chunk-2GNZTJRK.js";
|
|
100
|
+
import "./chunk-RMI3DKMV.js";
|
|
101
|
+
import "./chunk-IITTKFWM.js";
|
|
102
|
+
import "./chunk-Z72PLR74.js";
|
|
103
|
+
import "./chunk-NUQ4GK5I.js";
|
|
104
|
+
import "./chunk-KP2FHIFR.js";
|
|
105
|
+
import "./chunk-366JNNY7.js";
|
|
106
|
+
import "./chunk-6DB6UHY3.js";
|
|
107
|
+
import "./chunk-NAVJD2PQ.js";
|
|
108
|
+
import "./chunk-KKPIFWTZ.js";
|
|
109
|
+
import "./chunk-NFC4WTY2.js";
|
|
110
|
+
import "./chunk-YSD6IY6F.js";
|
|
111
|
+
import "./chunk-DJ2GSRLV.js";
|
|
112
|
+
import "./chunk-MS4SXNJ6.js";
|
|
113
|
+
import "./chunk-GVTAFLWB.js";
|
|
114
|
+
import "./chunk-G3PBYAGM.js";
|
|
115
|
+
import "./chunk-5ETULJLP.js";
|
|
116
|
+
import "./chunk-VGC4I5JJ.js";
|
|
117
|
+
import "./chunk-RVT5L74D.js";
|
|
118
|
+
import "./chunk-HD7O6WLV.js";
|
|
119
|
+
import "./chunk-25FMWESU.js";
|
|
120
|
+
import "./chunk-CFMZLE3L.js";
|
|
121
|
+
import "./chunk-43QUA4MC.js";
|
|
122
|
+
import "./chunk-WZAD4ZNJ.js";
|
|
123
|
+
import "./chunk-EKBQJ627.js";
|
|
124
|
+
import "./chunk-GW5SJ3II.js";
|
|
125
|
+
import "./chunk-XZA32HII.js";
|
|
126
|
+
import "./chunk-CA63HYHU.js";
|
|
127
|
+
import "./chunk-SBP43AO6.js";
|
|
128
|
+
import "./chunk-HHJLM3WQ.js";
|
|
129
|
+
import "./chunk-B3XJFEEH.js";
|
|
130
|
+
import "./chunk-74TONY4F.js";
|
|
131
|
+
import "./chunk-ZRQGTRHA.js";
|
|
132
|
+
import "./chunk-VPGRGNNH.js";
|
|
133
|
+
import "./chunk-ERIBG3BX.js";
|
|
134
|
+
import "./chunk-ZYDMQCQP.js";
|
|
135
|
+
import "./chunk-S34QJ6IR.js";
|
|
136
|
+
import "./chunk-TBWQLLFO.js";
|
|
137
|
+
import "./chunk-UKMWZ5NS.js";
|
|
138
|
+
import "./chunk-75DOP5OR.js";
|
|
139
|
+
import "./chunk-DMTGGOSA.js";
|
|
140
|
+
import "./chunk-YQ3U5MUC.js";
|
|
141
|
+
import "./chunk-MATEIJZF.js";
|
|
142
|
+
import "./chunk-5O2XNYP6.js";
|
|
143
|
+
import "./chunk-J2S4EL5Y.js";
|
|
144
|
+
export {
|
|
145
|
+
MINIMUM_MAX_HEIGHT,
|
|
146
|
+
MaxSizedBox,
|
|
147
|
+
setMaxSizedBoxDebugging
|
|
148
|
+
};
|