thursday-agent 0.4.0 → 0.6.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/.next/BUILD_ID +1 -1
- package/.next/app-path-routes-manifest.json +3 -2
- package/.next/build-manifest.json +3 -3
- package/.next/prerender-manifest.json +3 -3
- package/.next/required-server-files.json +8 -1
- package/.next/routes-manifest.json +18 -6
- package/.next/server/app/_global-error/page.js.nft.json +1 -1
- package/.next/server/app/_global-error.html +1 -1
- package/.next/server/app/_global-error.rsc +1 -1
- package/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
- package/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/.next/server/app/_not-found/page.js.nft.json +1 -1
- package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/.next/server/app/_not-found.html +1 -1
- package/.next/server/app/_not-found.rsc +13 -13
- package/.next/server/app/_not-found.segments/_full.segment.rsc +13 -13
- package/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +12 -12
- package/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/api/artifact/route.js +10 -6
- package/.next/server/app/api/artifact/route.js.nft.json +1 -1
- package/.next/server/app/api/bot/memory/files/route.js +6 -5
- package/.next/server/app/api/bot/memory/files/route.js.nft.json +1 -1
- package/.next/server/app/api/bot/memory/route.js +8 -8
- package/.next/server/app/api/bot/memory/route.js.nft.json +1 -1
- package/.next/server/app/api/bot/route.js +8 -8
- package/.next/server/app/api/bot/route.js.nft.json +1 -1
- package/.next/server/app/api/bot/thread/[id]/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/bot/thread/[id]/route.js +15 -0
- package/.next/server/app/api/bot/thread/[id]/route.js.nft.json +1 -0
- package/.next/server/app/api/bot/thread/[id]/route_client-reference-manifest.js +3 -0
- package/.next/server/app/api/bot/thread/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/bot/thread/route.js +15 -0
- package/.next/server/app/api/bot/thread/route.js.nft.json +1 -0
- package/.next/server/app/api/bot/thread/route_client-reference-manifest.js +3 -0
- package/.next/server/app/api/config/route.js +7 -7
- package/.next/server/app/api/config/route.js.nft.json +1 -1
- package/.next/server/app/api/events/route.js +3 -3
- package/.next/server/app/api/events/route.js.nft.json +1 -1
- package/.next/server/app/api/file/[...path]/route.js +5 -5
- package/.next/server/app/api/file/[...path]/route.js.nft.json +1 -1
- package/.next/server/app/api/llm-model/catalog/route.js +8 -8
- package/.next/server/app/api/llm-model/catalog/route.js.nft.json +1 -1
- package/.next/server/app/api/llm-model/credits/route.js +8 -8
- package/.next/server/app/api/llm-model/credits/route.js.nft.json +1 -1
- package/.next/server/app/api/llm-model/route.js +8 -8
- package/.next/server/app/api/llm-model/route.js.nft.json +1 -1
- package/.next/server/app/api/llm-model/subscription/route.js +8 -8
- package/.next/server/app/api/llm-model/subscription/route.js.nft.json +1 -1
- package/.next/server/app/api/mcp/[name]/route.js +6 -6
- package/.next/server/app/api/mcp/[name]/route.js.nft.json +1 -1
- package/.next/server/app/api/mcp/oauth/callback/route.js +4 -4
- package/.next/server/app/api/mcp/oauth/callback/route.js.nft.json +1 -1
- package/.next/server/app/api/mcp/route.js +6 -6
- package/.next/server/app/api/mcp/route.js.nft.json +1 -1
- package/.next/server/app/api/mcp/tools/route.js +6 -6
- package/.next/server/app/api/mcp/tools/route.js.nft.json +1 -1
- package/.next/server/app/api/memory/edit/route.js +13 -13
- package/.next/server/app/api/memory/edit/route.js.nft.json +1 -1
- package/.next/server/app/api/memory/route.js +7 -6
- package/.next/server/app/api/memory/route.js.nft.json +1 -1
- package/.next/server/app/api/skills/[source]/[name]/route.js +6 -6
- package/.next/server/app/api/skills/[source]/[name]/route.js.nft.json +1 -1
- package/.next/server/app/api/skills/route.js +6 -6
- package/.next/server/app/api/skills/route.js.nft.json +1 -1
- package/.next/server/app/api/thursday/call/route.js +10 -11
- package/.next/server/app/api/thursday/call/route.js.nft.json +1 -1
- package/.next/server/app/api/thursday/skills/route.js +10 -11
- package/.next/server/app/api/thursday/skills/route.js.nft.json +1 -1
- package/.next/server/app/api/thursday/tool-call/route.js +15 -15
- package/.next/server/app/api/thursday/tool-call/route.js.nft.json +1 -1
- package/.next/server/app/api/workspace/missing/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/workspace/missing/route/build-manifest.json +12 -0
- package/.next/server/app/api/workspace/missing/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/workspace/missing/route.js +12 -0
- package/.next/server/app/api/workspace/missing/route.js.map +5 -0
- package/.next/server/app/api/workspace/missing/route.js.nft.json +1 -0
- package/.next/server/app/api/workspace/missing/route_client-reference-manifest.js +3 -0
- package/.next/server/app/api/workspace/route.js +5 -4
- package/.next/server/app/api/workspace/route.js.nft.json +1 -1
- package/.next/server/app/artifact/[...path]/page/server-reference-manifest.json +1 -1
- package/.next/server/app/artifact/[...path]/page.js +4 -3
- package/.next/server/app/artifact/[...path]/page.js.nft.json +1 -1
- package/.next/server/app/artifact/[...path]/page_client-reference-manifest.js +1 -1
- package/.next/server/app/favicon.ico/route.js.nft.json +1 -1
- package/.next/server/app/page/server-reference-manifest.json +67 -45
- package/.next/server/app/page.js +10 -9
- package/.next/server/app/page.js.nft.json +1 -1
- package/.next/server/app/page_client-reference-manifest.js +1 -1
- package/.next/server/app-paths-manifest.json +3 -2
- package/.next/server/chunks/[root-of-the-server]__02846fb._.js +8 -0
- package/.next/server/chunks/[root-of-the-server]__049f521._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__05luceg._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__06--3q3._.js +8 -0
- package/.next/server/chunks/[root-of-the-server]__07bnah_._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__08eae20._.js +8 -0
- package/.next/server/chunks/[root-of-the-server]__0_ue8oe._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__0c9fgca._.js +5 -0
- package/.next/server/chunks/[root-of-the-server]__0g-ueei._.js +8 -0
- package/.next/server/chunks/[root-of-the-server]__0h_x6q6._.js +5 -0
- package/.next/server/chunks/{[root-of-the-server]__0pa2n68._.js → [root-of-the-server]__0kxrvxf._.js} +2 -2
- package/.next/server/chunks/{[root-of-the-server]__0q0vvt2._.js → [root-of-the-server]__0ov3iir._.js} +2 -2
- package/.next/server/chunks/[root-of-the-server]__0qwtlmx._.js +8 -0
- package/.next/server/chunks/[root-of-the-server]__0sm5xvm._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__0ye3da2._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__0zp35ul._.js +5 -0
- package/.next/server/chunks/[root-of-the-server]__144u9d_._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__18-2tsq._.js +5 -0
- package/.next/server/chunks/[root-of-the-server]__1e-ci13._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__1e2365e._.js +8 -0
- package/.next/server/chunks/[root-of-the-server]__1fix932._.js +8 -0
- package/.next/server/chunks/{[root-of-the-server]__0ce8nf8._.js → [root-of-the-server]__1g3t7vn._.js} +3 -3
- package/.next/server/chunks/[root-of-the-server]__1kp-83u._.js +5 -0
- package/.next/server/chunks/[root-of-the-server]__1kv8p3e._.js +5 -0
- package/.next/server/chunks/[root-of-the-server]__1orn-5b._.js +2 -3
- package/.next/server/chunks/_02szwk8._.js +5 -0
- package/.next/server/chunks/_05h2cii._.js +1 -1
- package/.next/server/chunks/_06c9kie._.js +216 -0
- package/.next/server/chunks/{_1x6kd1r._.js → _07y2gj-._.js} +1 -1
- package/.next/server/chunks/_0a43a-0._.js +3 -0
- package/.next/server/chunks/_0bujjey._.js +5 -0
- package/.next/server/chunks/_0c9j6rb._.js +1 -1
- package/.next/server/chunks/_0dkd549._.js +3 -0
- package/.next/server/chunks/_0ej1kvv._.js +3 -0
- package/.next/server/chunks/_0f6ts7z._.js +3 -0
- package/.next/server/chunks/_0gm9hyv._.js +55 -0
- package/.next/server/chunks/_0i55en5._.js +25 -0
- package/.next/server/chunks/_0k50n27._.js +18 -0
- package/.next/server/chunks/_0khihjk._.js +3 -3
- package/.next/server/chunks/_0n74zsf._.js +5 -5
- package/.next/server/chunks/_0nvm9ef._.js +3 -0
- package/.next/server/chunks/_0p56fn0._.js +3 -0
- package/.next/server/chunks/_0recufk._.js +1 -1
- package/.next/server/chunks/_0xbkz10._.js +3 -0
- package/.next/server/chunks/_10tkr26._.js +3 -0
- package/.next/server/chunks/{_0ioz3nd._.js → _11u2kp7._.js} +1 -1
- package/.next/server/chunks/_11ujpya._.js +3 -0
- package/.next/server/chunks/_127nx_p._.js +5 -0
- package/.next/server/chunks/_17l5ygt._.js +1 -1
- package/.next/server/chunks/_19uauj6._.js +3 -0
- package/.next/server/chunks/_1_5mnq4._.js +5 -5
- package/.next/server/chunks/_1abl6t9._.js +55 -0
- package/.next/server/chunks/_1d0j961._.js +3 -3
- package/.next/server/chunks/_1dbixxz._.js +3 -0
- package/.next/server/chunks/_1dc_d1q._.js +98 -0
- package/.next/server/chunks/_1drgfx4._.js +5 -5
- package/.next/server/chunks/_1e48czp._.js +3 -3
- package/.next/server/chunks/_1f31u5x._.js +5 -0
- package/.next/server/chunks/_1kg70wc._.js +3 -3
- package/.next/server/chunks/_1klbcft._.js +5 -0
- package/.next/server/chunks/_1krd9rf._.js +4 -1
- package/.next/server/chunks/_1kwmzab._.js +3 -0
- package/.next/server/chunks/{_1pf4qe-._.js → _1oxj9fa._.js} +1 -1
- package/.next/server/chunks/{_1f46eie._.js → _1pcmdbb._.js} +1 -1
- package/.next/server/chunks/_1qgix-j._.js +3 -0
- package/.next/server/chunks/{lib_logger_ts_1exwjut._.js → _1rpchta._.js} +5 -5
- package/.next/server/chunks/_1vsej-s._.js +5 -0
- package/.next/server/chunks/_1yx0p_s._.js +5 -0
- package/.next/server/chunks/{_0rnf-6n._.js → _20fsr_z._.js} +6 -6
- package/.next/server/chunks/_2128hkj._.js +5 -0
- package/.next/server/chunks/_next-internal_server_app_api_bot_thread_[id]_route_actions_1fstjn2.js +3 -0
- package/.next/server/chunks/_next-internal_server_app_api_bot_thread_route_actions_003ccso.js +3 -0
- package/.next/server/chunks/_next-internal_server_app_api_workspace_missing_route_actions_1fidi6p.js +3 -0
- package/.next/server/chunks/config_ts_1g4sz5o._.js +1 -1
- package/.next/server/chunks/features_0-cnt0l._.js +4 -0
- package/.next/server/chunks/features_0hdaci0._.js +4 -0
- package/.next/server/chunks/features_1e39j7-._.js +8 -0
- package/.next/server/chunks/features_bot_bot_query_ts_12mgkl2._.js +1 -1
- package/.next/server/chunks/features_memory_1uqvksn._.js +1 -1
- package/.next/server/chunks/{node_modules_consola_dist_chunks_prompt_mjs_0r28-sm._.js → node_modules_consola_dist_chunks_prompt_mjs_0a7-pbw._.js} +1 -1
- package/.next/server/chunks/{node_modules_consola_dist_chunks_prompt_mjs_0v_7drq._.js → node_modules_consola_dist_chunks_prompt_mjs_0gzvgfv._.js} +1 -1
- package/.next/server/chunks/{node_modules_consola_dist_chunks_prompt_mjs_0i7cvml._.js → node_modules_consola_dist_chunks_prompt_mjs_107pxfn._.js} +1 -1
- package/.next/server/chunks/{node_modules_consola_dist_chunks_prompt_mjs_0icqaqw._.js → node_modules_consola_dist_chunks_prompt_mjs_15hbel8._.js} +1 -1
- package/.next/server/chunks/node_modules_consola_dist_chunks_prompt_mjs_18i-23e._.js +3 -0
- package/.next/server/chunks/node_modules_consola_dist_chunks_prompt_mjs_1bewgf3._.js +3 -0
- package/.next/server/chunks/node_modules_consola_dist_chunks_prompt_mjs_1kipdeo._.js +3 -0
- package/.next/server/chunks/node_modules_consola_dist_chunks_prompt_mjs_1nlww1m._.js +3 -0
- package/.next/server/chunks/node_modules_consola_dist_chunks_prompt_mjs_1q77nfx._.js +3 -0
- package/.next/server/chunks/node_modules_consola_dist_chunks_prompt_mjs_1xqdzx_._.js +3 -0
- package/.next/server/chunks/{node_modules_zod_v4_1801ax7._.js → node_modules_zod_v4_0lkux5-._.js} +2 -2
- package/.next/server/chunks/{node_modules_zod_v4_1cha_bw._.js → node_modules_zod_v4_1jmr9cq._.js} +2 -2
- package/.next/server/chunks/{node_modules_zod_v4_0ubdflj._.js → node_modules_zod_v4_1yrxmek._.js} +2 -2
- package/.next/server/chunks/node_modules_zod_v4_classic_errors_0tp0y-q.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__09q9med._.js +1 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__0bxsfyn._.js +101 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__0lyi8i2._.js +1 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__16jc196._.js +1 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__172cq4x._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__18dthbp._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__18e68w8._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__1fll8dc._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__1mzi-ju._.js +1 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__1nygfik._.js +5 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__1sdphb0._.js +8 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__1waa3rc._.js +100 -0
- package/.next/server/chunks/ssr/_00rehl_._.js +3 -0
- package/.next/server/chunks/ssr/{_1lz_cq2._.js → _02oc_h5._.js} +76 -89
- package/.next/server/chunks/ssr/_03_928f._.js +3 -0
- package/.next/server/chunks/ssr/_05yghx6._.js +3 -0
- package/.next/server/chunks/ssr/_08c4z-9._.js +3 -0
- package/.next/server/chunks/ssr/_0_qfdlw._.js +4 -0
- package/.next/server/chunks/ssr/_0c9e5w6._.js +9 -0
- package/.next/server/chunks/ssr/{_0s99bgb._.js → _0dh2e1j._.js} +9 -3
- package/.next/server/chunks/ssr/_0dr-ddg._.js +3 -0
- package/.next/server/chunks/ssr/_0eaog6_._.js +3 -0
- package/.next/server/chunks/ssr/_0evkpto._.js +3 -0
- package/.next/server/chunks/ssr/_0g_rlog._.js +3 -0
- package/.next/server/chunks/ssr/_0geg212._.js +3 -0
- package/.next/server/chunks/ssr/{_1gd8q8l._.js → _0hxt2ul._.js} +2 -2
- package/.next/server/chunks/ssr/_0i_6q1w._.js +2 -2
- package/.next/server/chunks/ssr/_0lu1n_x._.js +1 -1
- package/.next/server/chunks/ssr/{_15j2_8f._.js → _0wzaht-._.js} +2 -2
- package/.next/server/chunks/ssr/_0z-g0uy._.js +3 -0
- package/.next/server/chunks/ssr/_123ttsf._.js +3 -0
- package/.next/server/chunks/ssr/_123y-ah._.js +3 -0
- package/.next/server/chunks/ssr/_12w42gi._.js +3 -0
- package/.next/server/chunks/ssr/_161kqav._.js +3 -0
- package/.next/server/chunks/ssr/{_0ap2fzn._.js → _16c6_xm._.js} +2 -2
- package/.next/server/chunks/ssr/_18opah7._.js +3 -0
- package/.next/server/chunks/ssr/_18xqmny._.js +3 -0
- package/.next/server/chunks/ssr/_1_krfph._.js +3 -0
- package/.next/server/chunks/ssr/{_1-_etts._.js → _1anqots._.js} +2 -2
- package/.next/server/chunks/ssr/_1ey7qn-._.js +70 -0
- package/.next/server/chunks/ssr/_1g9vs7q._.js +3 -0
- package/.next/server/chunks/ssr/_1jmz33w._.js +3 -0
- package/.next/server/chunks/ssr/{_0n3toaw._.js → _1k0spz7._.js} +2 -2
- package/.next/server/chunks/ssr/_1rgtxhr._.js +5 -0
- package/.next/server/chunks/ssr/_1slp25y._.js +3 -0
- package/.next/server/chunks/ssr/{_1fojd41._.js → _1x9pskj._.js} +3 -3
- package/.next/server/chunks/ssr/_1y6b5mr._.js +101 -0
- package/.next/server/chunks/ssr/_1ztk7p6._.js +7 -0
- package/.next/server/chunks/ssr/components_ui_tabs_tsx_0ej40b4._.js +3 -0
- package/.next/server/chunks/ssr/features_bot_thread_query_ts_023eklt._.js +4 -0
- package/.next/server/chunks/ssr/features_config_components_config-setting_tsx_0xfwqdg._.js +1 -1
- package/.next/server/chunks/ssr/features_connectors_components_mcp-setting_tsx_0jmbgvp._.js +1 -1
- package/.next/server/chunks/ssr/{_1-teee5._.js → lib_logger_ts_0-olsze._.js} +2 -7
- package/.next/server/chunks/ssr/{node_modules_0cxaxk9._.js → node_modules_00_51_v._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_04jf_m8._.js → node_modules_022sipm._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_0g7fzk3._.js → node_modules_0332gw4._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_1cx_ql6._.js → node_modules_04vxchl._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_1vh5ntv._.js → node_modules_0746rzi._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_0yugy6m._.js → node_modules_0d5uzof._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_09q35v_._.js → node_modules_0exkwcm._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_08dhkiq._.js → node_modules_0fr-ml8._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_14q6g4n._.js → node_modules_0mxvg8h._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_0arus10._.js → node_modules_0qapgjr._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_1eg7m6c._.js → node_modules_0qbfyjh._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_1cz2hle._.js → node_modules_0t-9nup._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_17bwo43._.js → node_modules_0tusx4d._.js} +3 -3
- package/.next/server/chunks/ssr/{node_modules_1efrqxi._.js → node_modules_0vsxbzp._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_0_-_a--._.js → node_modules_0vv0-fg._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_1gdh31p._.js → node_modules_0wsvp00._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_1hpopmo._.js → node_modules_1-urho9._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_1_pc9kq._.js → node_modules_16pi_dd._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_00etblx._.js → node_modules_1d53yiq._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_1aaxuef._.js → node_modules_1g1eihe._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_198nmll._.js → node_modules_1gpednh._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_0pvd7q-._.js → node_modules_1gu1pph._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_0b__sgl._.js → node_modules_1he1w8_._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_1qpjvy5._.js → node_modules_1lnjapm._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_0940ns5._.js → node_modules_1lynj9m._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_0x3-ply._.js → node_modules_1seuurl._.js} +2 -2
- package/.next/server/chunks/ssr/{node_modules_14om4ar._.js → node_modules_1u6w1pb._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_0had7xd._.js → node_modules_1xn6saw._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_@mermaid-js_parser_dist_chunks_mermaid-parser_core_1b748ic._.js → node_modules_@mermaid-js_parser_dist_chunks_mermaid-parser_core_067_exa._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_@mermaid-js_parser_dist_chunks_mermaid-parser_core_1z4hm5e._.js → node_modules_@mermaid-js_parser_dist_chunks_mermaid-parser_core_0nrrdaq._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_@vercel_oidc_dist_06mk8id._.js → node_modules_@vercel_oidc_dist_21a5haa._.js} +1 -1
- package/.next/server/chunks/ssr/node_modules_lucide-react_dist_esm_icons_trash_mjs_0px2gzr._.js +3 -0
- package/.next/server/middleware-build-manifest.js +3 -3
- package/.next/server/pages/404.html +1 -1
- package/.next/server/pages/500.html +1 -1
- package/.next/server/server-reference-manifest.js +1 -1
- package/.next/server/server-reference-manifest.json +68 -46
- package/.next/static/chunks/0dr16v67vj4n7.js +2 -0
- package/.next/static/chunks/0g4b348l0pve7.js +1 -0
- package/.next/static/chunks/0joan-69kbspd.js +1 -0
- package/.next/static/chunks/0vlgzqo9ka90v.js +1 -0
- package/.next/static/chunks/0zrupxgci5gqc.js +1 -0
- package/.next/static/chunks/10k2xvap03z20.css +1 -0
- package/.next/static/chunks/18mkhstgiqcbt.js +1 -0
- package/.next/static/chunks/{15m575979un5f.js → 1i-u2wzub_to1.js} +2 -2
- package/.next/static/chunks/1kp5nfp06nj9h.js +5 -0
- package/.next/static/chunks/1ohslk4568tm3.js +1 -0
- package/.next/static/chunks/1sbmwswc9k2-1.js +1 -0
- package/.next/static/chunks/1t9qms5pwwa3n.js +1 -0
- package/.next/static/chunks/1vj_5bnbxx84e.js +1 -0
- package/.next/static/chunks/1vqezbhjm3goq.js +1 -0
- package/.next/static/chunks/{3akmqm77muj4-.js → 1wlo979mx-y3w.js} +1 -1
- package/.next/static/chunks/26ql4y-43xwhp.js +1 -0
- package/.next/static/chunks/{0fl3gwe4-l6tz.js → 2_pnccjp6j1ca.js} +1 -1
- package/.next/static/chunks/2a51-ywz9b2a3.js +1 -0
- package/.next/static/chunks/2fvdgxih7x7hr.js +1 -0
- package/.next/static/chunks/2jlz8zp4jax_m.js +18 -0
- package/.next/static/chunks/2nvepds1fu2ux.js +1 -0
- package/.next/static/chunks/3addj3i4-izma.js +1 -0
- package/.next/static/chunks/3bfwpww3m3x4u.js +1 -0
- package/.next/static/chunks/3gfh7nxwusbt0.js +1 -0
- package/.next/static/chunks/3gwa44cvz4qoi.js +1 -0
- package/.next/static/chunks/{38gweqdo4jpfj.js → 3izg0a3k87q1-.js} +5 -5
- package/.next/static/chunks/3zk6q3-3f9swq.js +99 -0
- package/.next/static/chunks/3zkg5iup3v4a2.js +12 -0
- package/.next/static/chunks/405m0bqtoihev.js +1 -0
- package/.next/static/chunks/42wcg3wfg_m_p.js +1 -0
- package/README.md +27 -216
- package/app/api/events/app-event.ts +6 -4
- package/app/api/query-key.ts +25 -16
- package/bin/database.mjs +37 -0
- package/bin/thursday.mjs +44 -28
- package/components/ui/custom-icon.tsx +0 -60
- package/components/ui/radio-group.tsx +37 -0
- package/components/ui/shiny-text.tsx +33 -6
- package/database/migrations/{20260910173049_numerous_spirit → 20260916145701_clever_multiple_man}/migration.sql +80 -24
- package/database/migrations/{20260910173049_numerous_spirit → 20260916145701_clever_multiple_man}/snapshot.json +689 -110
- package/database/migrations/20260916160713_thread_cancelled/migration.sql +2 -0
- package/database/migrations/{20260911030320_opposite_jack_power → 20260916160713_thread_cancelled}/snapshot.json +706 -84
- package/docs/how-it-works.md +39 -36
- package/docs/images/keeps-going.png +0 -0
- package/docs/images/two-minds.png +0 -0
- package/docs/live-calls.md +231 -0
- package/docs/thread-rooms.md +71 -0
- package/features/ai/chatgpt.ts +1 -2
- package/features/ai/live.schema.ts +128 -0
- package/features/ai/load-tools.ts +148 -77
- package/features/ai/model.schema.ts +2 -120
- package/features/ai/model.ts +52 -88
- package/features/ai/prompts/bot.prompt.ts +91 -214
- package/features/ai/prompts/live.prompt.ts +265 -0
- package/features/ai/prompts/prompt-helper.ts +91 -32
- package/features/ai/prompts/thursday.prompt.ts +125 -172
- package/features/ai/tools/bot.tool.ts +38 -145
- package/features/ai/tools/call.tool.ts +1 -1
- package/features/ai/tools/connected.ts +5 -3
- package/features/ai/tools/mcp.tool.ts +7 -4
- package/features/ai/tools/memory.tool.ts +35 -31
- package/features/ai/tools/skills.tool.ts +36 -14
- package/features/ai/tools/studio.tool.ts +26 -21
- package/features/ai/tools/tool-name.ts +2 -5
- package/features/ai/tools/workspace.tool.ts +33 -10
- package/features/artifact/artifact.action.ts +2 -2
- package/features/artifact/artifact.query.ts +112 -61
- package/features/artifact/artifact.schema.ts +8 -6
- package/features/artifact/components/artifact-setting.tsx +83 -33
- package/features/bot/bot.action.ts +43 -36
- package/features/bot/bot.memory.ts +137 -20
- package/features/bot/bot.query.ts +28 -11
- package/features/bot/bot.run.ts +299 -636
- package/features/bot/bot.runner.ts +468 -844
- package/features/bot/bot.schema.ts +93 -82
- package/features/bot/bot.seed.ts +141 -64
- package/features/bot/components/bot-mark.tsx +324 -232
- package/features/bot/components/bot-room.tsx +1613 -697
- package/features/bot/components/bot-roster.tsx +8 -13
- package/features/bot/components/bot-setting.tsx +58 -42
- package/features/bot/components/bot-tool.tsx +55 -87
- package/features/bot/components/mark-palette.tsx +35 -32
- package/features/bot/components/path-chips.tsx +33 -3
- package/features/bot/components/thread-badge.tsx +34 -0
- package/features/bot/components/thread-reply.tsx +639 -0
- package/features/bot/components/thread-setting.tsx +674 -0
- package/features/bot/mark.const.ts +79 -31
- package/features/bot/room.query.ts +889 -0
- package/features/bot/room.schema.ts +64 -0
- package/features/bot/seed-bots.ts +2 -1
- package/features/bot/thread.query.ts +971 -0
- package/features/bot/thread.store.ts +587 -0
- package/features/config/components/voice-key.tsx +113 -88
- package/features/config/config.const.ts +5 -9
- package/features/connectors/mcp.schema.ts +0 -2
- package/features/intro/components/intro.tsx +169 -139
- package/features/memory/components/memory-setting.tsx +2 -7
- package/features/memory/memory.schema.ts +14 -23
- package/features/settings/components/setting-ui.tsx +0 -44
- package/features/settings/components/settings.tsx +12 -12
- package/features/settings/settings.alert.ts +3 -3
- package/features/settings/settings.store.ts +1 -1
- package/features/skills/skills.schema.ts +0 -2
- package/features/thursday/components/ascii-field.tsx +24 -44
- package/features/thursday/components/ascii-orb.tsx +359 -358
- package/features/thursday/components/call-log.tsx +46 -44
- package/features/thursday/components/face.tsx +35 -10
- package/features/thursday/components/tab-state.tsx +3 -3
- package/features/thursday/components/thursday-mark.tsx +1 -0
- package/features/thursday/components/thursday-setting.tsx +631 -332
- package/features/thursday/components/thursday.tsx +106 -41
- package/features/thursday/components/voice-picker.tsx +255 -0
- package/features/thursday/thursday.action.ts +94 -68
- package/features/thursday/thursday.query.ts +49 -30
- package/features/thursday/thursday.schema.ts +27 -30
- package/features/thursday/thursday.store.ts +11 -7
- package/features/thursday/tool-call.ts +3 -3
- package/features/thursday/tool-line.ts +5 -3
- package/features/thursday/use-thursday.ts +725 -450
- package/features/workspace/workspace.query.ts +17 -0
- package/features/workspace/workspace.ts +103 -50
- package/lib/live/live.schema.ts +47 -0
- package/lib/live/live.server.ts +155 -0
- package/lib/live/live.session.ts +574 -0
- package/lib/{realtime/realtime.tap.ts → live/live.tap.ts} +41 -12
- package/lib/live/live.transport.ts +152 -0
- package/lib/protocol/use-server-pages.ts +9 -5
- package/lib/utils.ts +21 -20
- package/package.json +2 -2
- package/public/voices/alloy.ogg +0 -0
- package/public/voices/ash.ogg +0 -0
- package/public/voices/ballad.ogg +0 -0
- package/public/voices/beacon.ogg +0 -0
- package/public/voices/bossa.ogg +0 -0
- package/public/voices/cedar.ogg +0 -0
- package/public/voices/cinder.ogg +0 -0
- package/public/voices/coral.ogg +0 -0
- package/public/voices/delta.ogg +0 -0
- package/public/voices/echo.ogg +0 -0
- package/public/voices/gleam.ogg +0 -0
- package/public/voices/marin.ogg +0 -0
- package/public/voices/meridian.ogg +0 -0
- package/public/voices/quartz.ogg +0 -0
- package/public/voices/ripple.ogg +0 -0
- package/public/voices/sage.ogg +0 -0
- package/public/voices/shimmer.ogg +0 -0
- package/public/voices/stone.ogg +0 -0
- package/public/voices/tempo.ogg +0 -0
- package/public/voices/verse.ogg +0 -0
- package/public/voices/vesper.ogg +0 -0
- package/public/voices/willow.ogg +0 -0
- package/scripts/artifact-paths.test.mts +25 -0
- package/scripts/bot-context.test.mts +1408 -0
- package/scripts/live-history.test.mts +115 -0
- package/scripts/live-session.test.mts +948 -0
- package/server.js +1 -1
- package/skills/browser/SKILL.md +17 -6
- package/skills/computer/SKILL.md +1 -1
- package/skills/find-skills/SKILL.md +3 -8
- package/skills/interactive-page/SKILL.md +12 -7
- package/skills/interactive-page/references/diagram.md +89 -0
- package/skills/interactive-page/scripts/archify/LICENSE +22 -0
- package/skills/interactive-page/scripts/archify/README.md +25 -0
- package/skills/interactive-page/scripts/archify/assets/JetBrainsMono-OFL.txt +93 -0
- package/skills/interactive-page/scripts/archify/assets/template.html +14934 -0
- package/skills/interactive-page/scripts/archify/bin/archify.mjs +2126 -0
- package/skills/interactive-page/scripts/archify/bin/open-artifact.mjs +86 -0
- package/skills/interactive-page/scripts/archify/bin/preview.mjs +653 -0
- package/skills/interactive-page/scripts/archify/bin/visual-check.mjs +829 -0
- package/skills/interactive-page/scripts/archify/delta/architecture-delta.mjs +1223 -0
- package/skills/interactive-page/scripts/archify/examples/agent-run.lifecycle.json +60 -0
- package/skills/interactive-page/scripts/archify/examples/agent-tool-call.workflow.json +94 -0
- package/skills/interactive-page/scripts/archify/examples/async-job-roundtrip.sequence.json +61 -0
- package/skills/interactive-page/scripts/archify/examples/cache-miss-request.sequence.json +82 -0
- package/skills/interactive-page/scripts/archify/examples/checkout-platform.base.architecture.json +31 -0
- package/skills/interactive-page/scripts/archify/examples/checkout-platform.head.architecture.json +31 -0
- package/skills/interactive-page/scripts/archify/examples/deployment-release.lifecycle.json +49 -0
- package/skills/interactive-page/scripts/archify/examples/event-stream.dataflow.json +57 -0
- package/skills/interactive-page/scripts/archify/examples/incident-response.workflow.json +64 -0
- package/skills/interactive-page/scripts/archify/examples/product-analytics.dataflow.json +76 -0
- package/skills/interactive-page/scripts/archify/examples/production-deployment.architecture.json +71 -0
- package/skills/interactive-page/scripts/archify/examples/release-delivery.workflow.json +62 -0
- package/skills/interactive-page/scripts/archify/examples/web-app.architecture.json +46 -0
- package/skills/interactive-page/scripts/archify/migrations/workflow-v2.mjs +279 -0
- package/skills/interactive-page/scripts/archify/recipes/scenarios.mjs +284 -0
- package/skills/interactive-page/scripts/archify/references/authoring-contract.md +243 -0
- package/skills/interactive-page/scripts/archify/references/delivery-contract.md +120 -0
- package/skills/interactive-page/scripts/archify/references/viewer-runtime.md +45 -0
- package/skills/interactive-page/scripts/archify/renderers/architecture/grid.mjs +62 -0
- package/skills/interactive-page/scripts/archify/renderers/architecture/render-architecture.mjs +1078 -0
- package/skills/interactive-page/scripts/archify/renderers/dataflow/README.md +104 -0
- package/skills/interactive-page/scripts/archify/renderers/dataflow/render-dataflow.mjs +483 -0
- package/skills/interactive-page/scripts/archify/renderers/lifecycle/README.md +115 -0
- package/skills/interactive-page/scripts/archify/renderers/lifecycle/render-lifecycle.mjs +561 -0
- package/skills/interactive-page/scripts/archify/renderers/sequence/README.md +114 -0
- package/skills/interactive-page/scripts/archify/renderers/sequence/render-sequence.mjs +464 -0
- package/skills/interactive-page/scripts/archify/renderers/shared/brand-marks.mjs +563 -0
- package/skills/interactive-page/scripts/archify/renderers/shared/cli.mjs +218 -0
- package/skills/interactive-page/scripts/archify/renderers/shared/desktop-readability.mjs +26 -0
- package/skills/interactive-page/scripts/archify/renderers/shared/diagnostics.mjs +127 -0
- package/skills/interactive-page/scripts/archify/renderers/shared/engineering-profiles.mjs +157 -0
- package/skills/interactive-page/scripts/archify/renderers/shared/generated-brand-marks.mjs +3 -0
- package/skills/interactive-page/scripts/archify/renderers/shared/generated-validators.mjs +13 -0
- package/skills/interactive-page/scripts/archify/renderers/shared/geometry.mjs +1423 -0
- package/skills/interactive-page/scripts/archify/renderers/shared/i18n.mjs +595 -0
- package/skills/interactive-page/scripts/archify/renderers/shared/layout-report.mjs +40 -0
- package/skills/interactive-page/scripts/archify/renderers/shared/legend.mjs +217 -0
- package/skills/interactive-page/scripts/archify/renderers/shared/output-path.mjs +340 -0
- package/skills/interactive-page/scripts/archify/renderers/shared/repository-evidence.mjs +238 -0
- package/skills/interactive-page/scripts/archify/renderers/shared/repository-location.mjs +58 -0
- package/skills/interactive-page/scripts/archify/renderers/shared/text-fit.mjs +49 -0
- package/skills/interactive-page/scripts/archify/renderers/shared/utils.mjs +232 -0
- package/skills/interactive-page/scripts/archify/renderers/shared/validator.mjs +86 -0
- package/skills/interactive-page/scripts/archify/renderers/workflow/README.md +223 -0
- package/skills/interactive-page/scripts/archify/renderers/workflow/render-workflow.mjs +35 -0
- package/skills/interactive-page/scripts/archify/renderers/workflow/workflow-compiler.mjs +4400 -0
- package/skills/interactive-page/scripts/archify/renderers/workflow/workflow-migration-geometry.mjs +144 -0
- package/skills/interactive-page/scripts/archify/schemas/README.md +211 -0
- package/skills/interactive-page/scripts/archify/schemas/architecture.schema.json +178 -0
- package/skills/interactive-page/scripts/archify/schemas/common.schema.json +115 -0
- package/skills/interactive-page/scripts/archify/schemas/dataflow.schema.json +243 -0
- package/skills/interactive-page/scripts/archify/schemas/lifecycle.schema.json +266 -0
- package/skills/interactive-page/scripts/archify/schemas/sequence.schema.json +223 -0
- package/skills/interactive-page/scripts/archify/schemas/workflow.schema.json +428 -0
- package/skills/interactive-page/scripts/archify/scripts/check-render-output.mjs +916 -0
- package/skills/interactive-page/scripts/archify/scripts/render-examples.mjs +26 -0
- package/skills/interactive-page/scripts/bundle-artifact.sh +9 -8
- package/skills/skill-creator/SKILL.md +4 -5
- package/.next/server/app/api/bot/task/[id]/route/app-paths-manifest.json +0 -3
- package/.next/server/app/api/bot/task/[id]/route.js +0 -16
- package/.next/server/app/api/bot/task/[id]/route.js.nft.json +0 -1
- package/.next/server/app/api/bot/task/[id]/route_client-reference-manifest.js +0 -3
- package/.next/server/app/api/bot/task/route/app-paths-manifest.json +0 -3
- package/.next/server/app/api/bot/task/route.js +0 -16
- package/.next/server/app/api/bot/task/route.js.nft.json +0 -1
- package/.next/server/app/api/bot/task/route_client-reference-manifest.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__01dkp4a._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__02va5wz._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__02xjoto._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__04q--0f._.js +0 -8
- package/.next/server/chunks/[root-of-the-server]__0bl-e63._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__0ffbg85._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__0jq4ohy._.js +0 -8
- package/.next/server/chunks/[root-of-the-server]__0ls6_8y._.js +0 -8
- package/.next/server/chunks/[root-of-the-server]__0ncs9uu._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__1-ga0kh._.js +0 -5
- package/.next/server/chunks/[root-of-the-server]__11n256_._.js +0 -5
- package/.next/server/chunks/[root-of-the-server]__12cabg9._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__1339jnv._.js +0 -8
- package/.next/server/chunks/[root-of-the-server]__18_teo8._.js +0 -8
- package/.next/server/chunks/[root-of-the-server]__1_04mcf._.js +0 -5
- package/.next/server/chunks/[root-of-the-server]__1anc1p9._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__1ccon1w._.js +0 -10
- package/.next/server/chunks/[root-of-the-server]__1fizn31._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__1llj3-b._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__1p8m3f4._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__1wa1k7r._.js +0 -8
- package/.next/server/chunks/_0-73of8._.js +0 -55
- package/.next/server/chunks/_0-fjql4._.js +0 -26
- package/.next/server/chunks/_00xh_q0._.js +0 -25
- package/.next/server/chunks/_03a0897._.js +0 -3
- package/.next/server/chunks/_051qh8u._.js +0 -3
- package/.next/server/chunks/_05sovvj._.js +0 -3
- package/.next/server/chunks/_0fzqt2y._.js +0 -134
- package/.next/server/chunks/_0mecv0f._.js +0 -26
- package/.next/server/chunks/_0mh8j4m._.js +0 -3
- package/.next/server/chunks/_0obojvv._.js +0 -3
- package/.next/server/chunks/_0sb7tlz._.js +0 -3
- package/.next/server/chunks/_0sbynis._.js +0 -3
- package/.next/server/chunks/_0u10wmw._.js +0 -55
- package/.next/server/chunks/_0u4aiy2._.js +0 -3
- package/.next/server/chunks/_0wp4le3._.js +0 -3
- package/.next/server/chunks/_0y5fg-x._.js +0 -3
- package/.next/server/chunks/_1230wbx._.js +0 -10
- package/.next/server/chunks/_12nheja._.js +0 -3
- package/.next/server/chunks/_13510xh._.js +0 -3
- package/.next/server/chunks/_15hq89o._.js +0 -3
- package/.next/server/chunks/_18-1wcc._.js +0 -55
- package/.next/server/chunks/_1_9mjx-._.js +0 -3
- package/.next/server/chunks/_1c78vw5._.js +0 -229
- package/.next/server/chunks/_1h5_8sk._.js +0 -3
- package/.next/server/chunks/_1hdnxb7._.js +0 -3
- package/.next/server/chunks/_1j8k_j5._.js +0 -3
- package/.next/server/chunks/_1nula3v._.js +0 -3
- package/.next/server/chunks/_1php4eq._.js +0 -3
- package/.next/server/chunks/_1yuv4vp._.js +0 -3
- package/.next/server/chunks/_1zjrdag._.js +0 -3
- package/.next/server/chunks/_next-internal_server_app_api_bot_task_[id]_route_actions_1_k_8u3.js +0 -3
- package/.next/server/chunks/_next-internal_server_app_api_bot_task_route_actions_0xln6ra.js +0 -3
- package/.next/server/chunks/features_0rpfxbk._.js +0 -3
- package/.next/server/chunks/features_1qf3cei._.js +0 -3
- package/.next/server/chunks/features_bot_0zt92oh._.js +0 -3
- package/.next/server/chunks/node_modules_consola_dist_chunks_prompt_mjs_1xoq2rl._.js +0 -3
- package/.next/server/chunks/ssr/[externals]__0dizgek._.js +0 -3
- package/.next/server/chunks/ssr/[root-of-the-server]__092knlj._.js +0 -3
- package/.next/server/chunks/ssr/[root-of-the-server]__0mz33a7._.js +0 -3
- package/.next/server/chunks/ssr/[root-of-the-server]__0s9dq5u._.js +0 -3
- package/.next/server/chunks/ssr/[root-of-the-server]__0s9l2sv._.js +0 -3
- package/.next/server/chunks/ssr/[root-of-the-server]__0vnmv-s._.js +0 -3
- package/.next/server/chunks/ssr/[root-of-the-server]__0xsog8n._.js +0 -3
- package/.next/server/chunks/ssr/[root-of-the-server]__10-dz5o._.js +0 -61
- package/.next/server/chunks/ssr/[root-of-the-server]__1gtlw6v._.js +0 -43
- package/.next/server/chunks/ssr/[root-of-the-server]__1ox7hbk._.js +0 -4
- package/.next/server/chunks/ssr/[root-of-the-server]__202p40z._.js +0 -3
- package/.next/server/chunks/ssr/_001_ms1._.js +0 -28
- package/.next/server/chunks/ssr/_01n3o0m._.js +0 -3
- package/.next/server/chunks/ssr/_0fz4mf_._.js +0 -3
- package/.next/server/chunks/ssr/_0gb4gmf._.js +0 -3
- package/.next/server/chunks/ssr/_0h42fze._.js +0 -3
- package/.next/server/chunks/ssr/_0h7zdni._.js +0 -3
- package/.next/server/chunks/ssr/_0ilna52._.js +0 -42
- package/.next/server/chunks/ssr/_0q0zan6._.js +0 -70
- package/.next/server/chunks/ssr/_0zcjrbg._.js +0 -3
- package/.next/server/chunks/ssr/_0zhoc3r._.js +0 -3
- package/.next/server/chunks/ssr/_13fke0x._.js +0 -3
- package/.next/server/chunks/ssr/_18cymkq._.js +0 -3
- package/.next/server/chunks/ssr/_1b2mjwr._.js +0 -3
- package/.next/server/chunks/ssr/_1f-dg-6._.js +0 -3
- package/.next/server/chunks/ssr/_1h0rw11._.js +0 -3
- package/.next/server/chunks/ssr/_1jhd09t._.js +0 -3
- package/.next/server/chunks/ssr/_1nnsk7z._.js +0 -3
- package/.next/server/chunks/ssr/_1ov37if._.js +0 -3
- package/.next/server/chunks/ssr/_1sji22n._.js +0 -3
- package/.next/server/chunks/ssr/_1vi_uo7._.js +0 -3
- package/.next/server/chunks/ssr/_1vyd1ji._.js +0 -3
- package/.next/server/chunks/ssr/_1xx4zlb._.js +0 -3
- package/.next/server/chunks/ssr/components_ui_1y1l7yj._.js +0 -3
- package/.next/server/chunks/ssr/features_bot_1s_-2vj._.js +0 -3
- package/.next/server/chunks/ssr/lib_realtime_12wg_dd._.js +0 -27
- package/.next/server/chunks/ssr/lib_realtime_15h_v1v._.js +0 -27
- package/.next/server/chunks/ssr/node_modules_lucide-react_dist_esm_icons_0npjf8-._.js +0 -3
- package/.next/static/chunks/00rd4-v8r7axp.js +0 -1
- package/.next/static/chunks/08qe4as2q428z.js +0 -3
- package/.next/static/chunks/0gnqdjn2lvdad.js +0 -2
- package/.next/static/chunks/0hwap1-p0m5sa.js +0 -1
- package/.next/static/chunks/0r5qcctujhxli.js +0 -1
- package/.next/static/chunks/0w52rrrmuj9r9.js +0 -1
- package/.next/static/chunks/0wcprt5ot5she.js +0 -1
- package/.next/static/chunks/10teww7wt-f6h.js +0 -1
- package/.next/static/chunks/17p6tk6k88dq6.js +0 -1
- package/.next/static/chunks/18a96rkhi4_yd.js +0 -1
- package/.next/static/chunks/1dkjg87pxk0n9.js +0 -28
- package/.next/static/chunks/1jd09sxcjddu1.js +0 -1
- package/.next/static/chunks/1w73ece_6bheu.js +0 -18
- package/.next/static/chunks/214ya3n5gxeih.js +0 -1
- package/.next/static/chunks/22_zkas21rpna.js +0 -1
- package/.next/static/chunks/2fh4-3z_q8b_w.js +0 -1
- package/.next/static/chunks/2h0sd2vumhb15.js +0 -1
- package/.next/static/chunks/2t4vhi3m8ahya.js +0 -1
- package/.next/static/chunks/2tigdtz3dpcy8.js +0 -1
- package/.next/static/chunks/2u7xt6mxg44lf.js +0 -1
- package/.next/static/chunks/3786h5vayt80-.js +0 -28
- package/.next/static/chunks/39j0fvpybzabl.js +0 -40
- package/.next/static/chunks/3cq5g494yuke8.css +0 -1
- package/.next/static/chunks/3hibbjnt85-k6.js +0 -1
- package/.next/static/chunks/3woj-xd7ki5_i.js +0 -1
- package/.next/static/chunks/3xk7yqgomx7yq.js +0 -1
- package/.next/static/chunks/3zmcsnuo25zvq.js +0 -1
- package/database/migrations/20260911030320_opposite_jack_power/migration.sql +0 -1
- package/docs/images/task-thread.png +0 -0
- package/features/bot/components/task-badge.tsx +0 -42
- package/features/bot/components/task-reply.tsx +0 -328
- package/features/bot/components/task-setting.tsx +0 -524
- package/features/bot/task.query.ts +0 -976
- package/features/bot/task.store.ts +0 -489
- package/lib/realtime/client-secret.ts +0 -86
- package/lib/realtime/open-session.ts +0 -31
- package/lib/realtime/openai.ts +0 -35
- package/lib/realtime/realtime.audio.ts +0 -196
- package/lib/realtime/realtime.driver.ts +0 -489
- package/lib/realtime/realtime.protocol.ts +0 -393
- package/lib/realtime/realtime.schema.ts +0 -37
- package/lib/realtime/realtime.session.ts +0 -106
- package/lib/realtime/realtime.transport.ts +0 -384
- package/lib/realtime/xai.ts +0 -39
- /package/.next/server/app/api/bot/{task → thread}/[id]/route/build-manifest.json +0 -0
- /package/.next/server/app/api/bot/{task → thread}/[id]/route/server-reference-manifest.json +0 -0
- /package/.next/server/app/api/bot/{task → thread}/[id]/route.js.map +0 -0
- /package/.next/server/app/api/bot/{task → thread}/route/build-manifest.json +0 -0
- /package/.next/server/app/api/bot/{task → thread}/route/server-reference-manifest.json +0 -0
- /package/.next/server/app/api/bot/{task → thread}/route.js.map +0 -0
- /package/.next/static/{kaTO0UHqF1bMnWgCDik2f → 0qzGoKn2wTERVZtblX1tp}/_buildManifest.js +0 -0
- /package/.next/static/{kaTO0UHqF1bMnWgCDik2f → 0qzGoKn2wTERVZtblX1tp}/_clientMiddlewareManifest.js +0 -0
- /package/.next/static/{kaTO0UHqF1bMnWgCDik2f → 0qzGoKn2wTERVZtblX1tp}/_ssgManifest.js +0 -0
|
@@ -0,0 +1,216 @@
|
|
|
1
|
+
module.exports=[396217,e=>e.a(async(t,o)=>{try{var r=e.i(666680);e.i(347299);var n=e.i(970354),a=e.i(734732),i=e.i(588762),l=e.i(853205);e.i(232347);var s=e.i(333925),u=e.i(724185),d=e.i(938281),c=e.i(212389),p=e.i(991243),h=e.i(64774),m=e.i(864328),g=t([u]);[u]=g.then?(await g)():g;let{apiKeyName:z,label:x}=m.TEXT_MODEL_PROVIDERS.chatgpt,T=`${x} is not signed in — sign in from Config.`,k=l.z.object({access:l.z.string().min(1),refresh:l.z.string().min(1),expires:l.z.number(),accountId:l.z.string().min(1),plan:l.z.string().nullable()}),I=globalThis,S=I.__chatgptRenewal??=(0,p.createKeyedLock)();async function f(e){let t=await fetch("https://auth.openai.com/oauth/token",{method:"POST",headers:{accept:"application/json","content-type":"application/x-www-form-urlencoded"},body:new URLSearchParams({client_id:"app_EMoamEEZ73f0CkXaXp7hrann",...e})}).catch(e=>{d.logger.warn({cause:e},"chatgpt token endpoint unreachable"),(0,c.publicError)("Could not reach ChatGPT's sign-in")}),o=await t.json().catch(()=>null),r=o?.access_token;if(!t.ok||!r){let e=o?.error,r="string"==typeof e?[e,o?.error_description].filter(Boolean).join(": "):e?.message??e?.code??"";(0,c.publicError)(`ChatGPT's sign-in answered ${t.status}${r?`: ${r}`:""}`)}let n=function(e){try{let t=JSON.parse(Buffer.from(e.split(".")[1]??"","base64url").toString("utf8")),o=t["https://api.openai.com/auth"]??{};return{accountId:"string"==typeof o.chatgpt_account_id?o.chatgpt_account_id:null,plan:"string"==typeof o.chatgpt_plan_type?o.chatgpt_plan_type:null,expires:"number"==typeof t.exp?1e3*t.exp:null}}catch{return{accountId:null,plan:null,expires:null}}}(r),a=o?.refresh_token??e.refresh_token;n.accountId&&a||(0,c.publicError)("ChatGPT's sign-in came back without an account");let i=o?.expires_in;return{access:r,refresh:a,expires:"number"==typeof i?Date.now()+1e3*i:n.expires??Date.now(),accountId:n.accountId,plan:n.plan}}async function y(){let e=await (0,u.readConfig)(z);if(!e)return null;try{return k.parse(JSON.parse(e))}catch{return null}}let C=e=>e.expires-s.CHATGPT_SIGN_IN.renewBeforeMs<=Date.now();async function v(){let e=await y();return(e||(0,c.publicError)(T),C(e))?S(z,async()=>{let e=await y();if(e||(0,c.publicError)(T),!C(e))return e;try{let t=await f({grant_type:"refresh_token",refresh_token:e.refresh});return await (0,u.writeConfig)(z,JSON.stringify(t)),t}catch(e){(0,c.publicError)(`Could not renew the ${x} sign-in (${(0,h.errorToString)(e)}). If it keeps failing, sign in again from Config.`)}}):e}async function b(e,t){let o=await v(),r=new Headers(t?.headers);if(r.set("authorization",`Bearer ${o.access}`),r.set("chatgpt-account-id",o.accountId),r.set("originator","thursday"),t?.method!=="POST"||"string"!=typeof t.body||!String(e).endsWith("/responses"))return fetch(e,{...t,headers:r});let n=JSON.parse(t.body),a=!0===n.stream,i=[];n.input=(n.input??[]).filter(e=>"system"!==e.role&&"developer"!==e.role||(i.push("string"==typeof e.content?e.content:(e.content??[]).map(e=>e.text??"").join("\n")),!1)),n.instructions=[n.instructions,...i].filter(Boolean).join("\n\n")||"You are a helpful assistant.",n.store=!1,n.stream=!0,n.max_output_tokens=void 0,r.set("accept","text/event-stream");let l=await fetch(e,{...t,headers:r,body:JSON.stringify(n)});return 429===l.status?_(l):a||!l.ok?l:w(l)}async function _(e){let t=await e.text(),o={};try{o=JSON.parse(t).error??{}}catch{}if(!/usage_limit_reached|usage_not_included/.test(`${o.code} ${o.type}`)){let o=e.headers.get("retry-after");return new Response(t,{status:429,headers:{"content-type":"application/json",...o?{"retry-after":o}:{}}})}let r=o.resets_at?1e3*o.resets_at:o.resets_in_seconds?Date.now()+1e3*o.resets_in_seconds:null,n=o.plan_type?` on the ${o.plan_type} plan`:"",a=r?` It resets in ${(0,i.formatDistanceToNowStrict)(r)}.`:"";return Response.json({error:{message:`${x} usage limit reached${n}.${a}`,code:o.code??o.type}},{status:402})}async function w(e){let t=[],o=null,r=null;for(let n of(await e.text()).replaceAll("\r\n","\n").split("\n\n")){let e,a=n.split("\n").filter(e=>e.startsWith("data:")).map(e=>e.slice(5).trimStart()).join("\n");if(a&&"[DONE]"!==a){try{e=JSON.parse(a)}catch{continue}"response.output_item.done"===e.type?t.push(e.item):"response.completed"===e.type||"response.incomplete"===e.type?o=e.response??{}:"response.failed"===e.type?r=e.response?.error??{message:"The response failed"}:"error"===e.type&&(r={code:e.code,message:e.message})}}return r||!o?Response.json({error:{message:r?.message??"The stream ended before the response finished",code:r?.code}},{status:r?.code==="context_length_exceeded"?400:500}):Response.json({...o,output:o.output?.length?o.output:t})}e.s(["chatGptModel",0,function(e){let t=(0,n.createOpenAI)({baseURL:"https://chatgpt.com/backend-api/codex",apiKey:"signed-in",headers:{"OpenAI-Beta":"responses=experimental"},fetch:b}),o=(0,r.randomUUID)();return(0,a.wrapLanguageModel)({model:t.responses(e),middleware:{transformParams:async({params:e})=>({...e,providerOptions:{...e.providerOptions,openai:{promptCacheKey:o,...e.providerOptions?.openai,store:!1}}})}})}]),o()}catch(e){o(e)}},!1),986507,e=>e.a(async(t,o)=>{try{var r=e.i(128278),n=e.i(19698),a=e.i(970354),i=e.i(853421),l=e.i(296194),s=e.i(736756),u=e.i(734732);e.i(333925);var d=e.i(656719),c=e.i(724185),p=e.i(938281),h=e.i(212389),m=e.i(64774),g=e.i(396217),f=e.i(864328),y=t([c,g]);[c,g]=y.then?(await y)():y;let C=/context[ _-]?(length|window)|maximum context|prompt is too long|too many (input )?tokens|input token count|exceeds? the (maximum|model'?s?) (context|input|prompt|number of tokens)|maximum prompt length|request (entity )?too large/i;function v(e){return b(e).some(e=>{let{statusCode:t,message:o,error:r}=e;if(void 0!==t&&400!==t&&413!==t)return!1;let n=l.APICallError.isInstance(e)?e.responseBody:null;return[o,r,n].some(e=>"string"==typeof e&&C.test(e))})}let E=new Set([408,409,429]);function b(e){let t=[],o=[e];for(;o.length&&t.length<12;){let e=o.shift();!("object"!=typeof e||null===e||t.includes(e))&&(t.push(e),u.RetryError.isInstance(e)&&o.push(...e.errors),"cause"in e&&o.push(e.cause))}return t}let A=null;function _(e){if(null==e||""===e)return null;let t=Number(e);return Number.isFinite(t)?Math.round(1e6*t*1e4)/1e4:null}async function w(){if(A&&Date.now()-A.at<6e5)return A.models;let e=await fetch("https://ai-gateway.vercel.sh/v1/models",{headers:{accept:"application/json"}}).catch(e=>{p.logger.warn({cause:e},"gateway catalog unreachable"),(0,h.publicError)("Could not reach the gateway")});e.ok||(0,h.publicError)(`The gateway answered ${e.status}`);let t=((await e.json()).data??[]).filter(e=>!!e.id).map(e=>({id:e.id,label:e.name||e.id,owner:e.owned_by||e.id.slice(0,e.id.indexOf("/")),type:e.type??null,tags:e.tags??[],price:function(e){let t=e.pricing??{},o=_(t.input),r=_(t.output);if((e.tags??[]).includes("free")||0===o)return{in:0,out:0,note:null,free:!0};let n=t.transcription_duration_cost_per_second??t.realtime_session_duration_cost_per_second;if(n)return{in:null,out:null,note:`$${n}/s`,free:!1};if(t.speech_input_character_cost)return{in:null,out:null,note:"per character",free:!1};let a=Array.isArray(t.video_duration_pricing)?t.video_duration_pricing[0]:null;if(a)return{in:null,out:null,note:`$${a.cost_per_second}/s ${a.resolution}`,free:!1};let i=t.image?`$${t.image}/image`:t.image_dimension_quality_pricing?"per image, by size":null;return null===o&&null===r?{in:null,out:null,note:i,free:!1}:{in:o,out:r,note:t.input_tiers?"tiered":t.varies_by_provider?"varies":i&&"+ per image",free:!1}}(e),retiring:!!e.deprecated_at,contextWindow:"number"==typeof e.context_window&&e.context_window>0?e.context_window:null})).sort((e,t)=>e.id.localeCompare(t.id));return A={at:Date.now(),models:t},t}async function z(e,t){if(t&&t>0)return t;let o="vercel-ai-gateway"===e.provider?await w().catch(()=>[]):[];return(0,f.compactAtFor)((0,f.contextWindowOf)(e.provider,e.model,o))}async function x(){return await w().then(e=>new Set(e.map(e=>e.id))).catch(()=>null)}async function T(e,t){if("vercel-ai-gateway"!==e)return t;let o=await x();if(!o)return t;let r=t.filter(e=>o.has(e.id));return r.length>0?r:t}async function k(e){let{label:t,apiKeyName:o,signIn:l}=f.TEXT_MODEL_PROVIDERS[e.provider],u=await (0,c.readConfig)(o);return u||(0,h.publicError)(l?`${t} is not signed in — sign in from Config.`:`No ${t} key — add one in Config.`),function(e,t){switch(e.provider){case"openai":{let o=(0,a.createOpenAI)({apiKey:t});return{ref:e,model:o(e.model),searchTools:{search:o.tools.webSearch()}}}case"chatgpt":return{ref:e,model:(0,g.chatGptModel)(e.model),searchTools:null};case"anthropic":{let o=(0,r.createAnthropic)({apiKey:t});return{ref:e,model:o(e.model),searchTools:{search:o.tools.webSearch_20260209()}}}case"google":{let o=(0,n.createGoogleGenerativeAI)({apiKey:t});return{ref:e,model:o(e.model),searchTools:{search:o.tools.googleSearch({})}}}case"xai":{let o=(0,i.createXai)({apiKey:t});return{ref:e,model:o(e.model),searchTools:{search:o.tools.webSearch()}}}case"vercel-ai-gateway":{let o=(0,s.createGateway)({apiKey:t});return{ref:e,model:o(e.model),searchTools:null}}default:(0,h.publicError)(`Not supported provider: ${String(e.provider)}`)}}(e,u)}async function I(e){let t=async e=>(0,f.defaultModelOf)({suggestModels:await T(e.id,e.suggestModels)}),o=e?f.TEXT_MODEL_PROVIDER_LIST.find(t=>t.id===e):void 0,r=["openai","xai"].map(e=>({...f.TEXT_MODEL_PROVIDERS[e],id:e}));if(o){let e=await t(o);if(e)return{provider:o.id,model:e}}let n=(0,f.parseTextModel)(await (0,c.readConfig)(d.DEFAULT_MODEL_KEY)??void 0);if(n&&await (0,c.readConfig)(f.TEXT_MODEL_PROVIDERS[n.provider].apiKeyName))return n;for(let e of[...r,...f.TEXT_MODEL_PROVIDER_LIST]){if(!await (0,c.readConfig)(e.apiKeyName))continue;let o=await t(e);if(o)return p.logger.info(`no model set, falling back to ${e.id}/${o}`),{provider:e.id,model:o}}(0,h.publicError)("No model key is set — add one in Config")}async function S(e){let t=(0,f.parseMediaModel)(await (0,c.readConfig)(d.MEDIA_MODEL_KEYS[e]));if(!t||!(0,f.canMakeKind)(t.provider,e))return null;let o=await (0,c.readConfig)(f.MEDIA_MODEL_PROVIDERS[t.provider].apiKeyName);return o?{ref:t,apiKey:o}:null}e.s(["buildImageModel",0,function(e,t){switch(e.provider){case"openai":return(0,a.createOpenAI)({apiKey:t}).image(e.model);case"google":return(0,n.createGoogleGenerativeAI)({apiKey:t}).image(e.model);case"xai":return(0,i.createXai)({apiKey:t}).image(e.model);case"vercel-ai-gateway":return(0,s.createGateway)({apiKey:t}).image(e.model);default:(0,h.publicError)(`Not supported image provider: ${String(e.provider)}`)}},"buildSpeechModel",0,function(e,t){switch(e.provider){case"openai":return(0,a.createOpenAI)({apiKey:t}).speech(e.model);case"google":return(0,n.createGoogleGenerativeAI)({apiKey:t}).speech(e.model);case"xai":return(0,i.createXai)({apiKey:t}).speech();case"vercel-ai-gateway":return(0,s.createGateway)({apiKey:t}).speech(e.model);default:(0,h.publicError)(`Not supported speech provider: ${String(e.provider)}`)}},"buildTranscriptionModel",0,function(e,t){switch(e.provider){case"openai":return(0,a.createOpenAI)({apiKey:t}).transcription(e.model);case"google":return(0,n.createGoogleGenerativeAI)({apiKey:t}).transcription(e.model);case"xai":return(0,i.createXai)({apiKey:t}).transcription();case"vercel-ai-gateway":return(0,s.createGateway)({apiKey:t}).transcription(e.model);default:(0,h.publicError)(`Not supported transcription provider: ${String(e.provider)}`)}},"buildVideoModel",0,function(e,t){switch(e.provider){case"google":return(0,n.createGoogleGenerativeAI)({apiKey:t}).video(e.model);case"xai":return(0,i.createXai)({apiKey:t}).video(e.model);case"vercel-ai-gateway":return(0,s.createGateway)({apiKey:t}).video(e.model);default:(0,h.publicError)(`${e.provider} has no video model`)}},"compactBudget",0,z,"getTextModel",0,k,"isContextOverflow",0,v,"isProviderRefusal",0,function(e){return!v(e)&&b(e).some(e=>{let{statusCode:t}=e;return"number"==typeof t&&t>=400&&t<500&&!E.has(t)})},"modelErrorToString",0,function(e){if(!l.APICallError.isInstance(e))return(0,m.errorToString)(e);let t=e.statusCode?` (${e.statusCode})`:"",o=e.responseBody?.trim(),r=o&&!o.includes(e.message)?` ${(0,m.clip)(o,300)}`:"";return`${e.message}${t}${r}`},"resolveDefaultModel",0,I,"resolveMediaRef",0,S]),o()}catch(e){o(e)}},!1),489938,e=>{"use strict";var t=e.i(729135),o=e.i(287119),r=e.i(47392),n=e.i(246251),a=e.i(647365),i=e.i(970650);function l(e,t){let o=(0,i.toDate)(e,t?.in);return o.setHours(0,0,0,0),o}function s(e,t){let r=(0,o.getDefaultOptions)(),n=t?.weekStartsOn??t?.locale?.options?.weekStartsOn??r.weekStartsOn??r.locale?.options?.weekStartsOn??0,a=(0,i.toDate)(e,t?.in),l=a.getDay();return a.setDate(a.getDate()-(7*(l<n)+l-n)),a.setHours(0,0,0,0),a}function u(e,t){return s(e,{...t,weekStartsOn:1})}var d=e.i(65553);function c(e,t){let o=(0,i.toDate)(e,t?.in),r=o.getFullYear(),n=(0,d.constructFrom)(o,0);n.setFullYear(r+1,0,4),n.setHours(0,0,0,0);let a=u(n),l=(0,d.constructFrom)(o,0);l.setFullYear(r,0,4),l.setHours(0,0,0,0);let s=u(l);return o.getTime()>=a.getTime()?r+1:o.getTime()>=s.getTime()?r:r-1}function p(e,t){let r=(0,i.toDate)(e,t?.in),n=r.getFullYear(),a=(0,o.getDefaultOptions)(),l=t?.firstWeekContainsDate??t?.locale?.options?.firstWeekContainsDate??a.firstWeekContainsDate??a.locale?.options?.firstWeekContainsDate??1,u=(0,d.constructFrom)(t?.in||e,0);u.setFullYear(n+1,0,l),u.setHours(0,0,0,0);let c=s(u,t),p=(0,d.constructFrom)(t?.in||e,0);p.setFullYear(n,0,l),p.setHours(0,0,0,0);let h=s(p,t);return+r>=+c?n+1:+r>=+h?n:n-1}function h(e,t){let o=Math.abs(e).toString().padStart(t,"0");return(e<0?"-":"")+o}let m={y(e,t){let o=e.getFullYear(),r=o>0?o:1-o;return h("yy"===t?r%100:r,t.length)},M(e,t){let o=e.getMonth();return"M"===t?String(o+1):h(o+1,2)},d:(e,t)=>h(e.getDate(),t.length),a(e,t){let o=e.getHours()/12>=1?"pm":"am";switch(t){case"a":case"aa":return o.toUpperCase();case"aaa":return o;case"aaaaa":return o[0];default:return"am"===o?"a.m.":"p.m."}},h:(e,t)=>h(e.getHours()%12||12,t.length),H:(e,t)=>h(e.getHours(),t.length),m:(e,t)=>h(e.getMinutes(),t.length),s:(e,t)=>h(e.getSeconds(),t.length),S(e,t){let o=t.length;return h(Math.trunc(e.getMilliseconds()*Math.pow(10,o-3)),t.length)}},g={G:function(e,t,o){let r=+(e.getFullYear()>0);switch(t){case"G":case"GG":case"GGG":return o.era(r,{width:"abbreviated"});case"GGGGG":return o.era(r,{width:"narrow"});default:return o.era(r,{width:"wide"})}},y:function(e,t,o){if("yo"===t){let t=e.getFullYear();return o.ordinalNumber(t>0?t:1-t,{unit:"year"})}return m.y(e,t)},Y:function(e,t,o,r){let n=p(e,r),a=n>0?n:1-n;return"YY"===t?h(a%100,2):"Yo"===t?o.ordinalNumber(a,{unit:"year"}):h(a,t.length)},R:function(e,t){return h(c(e),t.length)},u:function(e,t){return h(e.getFullYear(),t.length)},Q:function(e,t,o){let r=Math.ceil((e.getMonth()+1)/3);switch(t){case"Q":return String(r);case"QQ":return h(r,2);case"Qo":return o.ordinalNumber(r,{unit:"quarter"});case"QQQ":return o.quarter(r,{width:"abbreviated",context:"formatting"});case"QQQQQ":return o.quarter(r,{width:"narrow",context:"formatting"});default:return o.quarter(r,{width:"wide",context:"formatting"})}},q:function(e,t,o){let r=Math.ceil((e.getMonth()+1)/3);switch(t){case"q":return String(r);case"qq":return h(r,2);case"qo":return o.ordinalNumber(r,{unit:"quarter"});case"qqq":return o.quarter(r,{width:"abbreviated",context:"standalone"});case"qqqqq":return o.quarter(r,{width:"narrow",context:"standalone"});default:return o.quarter(r,{width:"wide",context:"standalone"})}},M:function(e,t,o){let r=e.getMonth();switch(t){case"M":case"MM":return m.M(e,t);case"Mo":return o.ordinalNumber(r+1,{unit:"month"});case"MMM":return o.month(r,{width:"abbreviated",context:"formatting"});case"MMMMM":return o.month(r,{width:"narrow",context:"formatting"});default:return o.month(r,{width:"wide",context:"formatting"})}},L:function(e,t,o){let r=e.getMonth();switch(t){case"L":return String(r+1);case"LL":return h(r+1,2);case"Lo":return o.ordinalNumber(r+1,{unit:"month"});case"LLL":return o.month(r,{width:"abbreviated",context:"standalone"});case"LLLLL":return o.month(r,{width:"narrow",context:"standalone"});default:return o.month(r,{width:"wide",context:"standalone"})}},w:function(e,t,r,n){let l,u,c,m,g,f=Math.round((s(l=(0,i.toDate)(e,n?.in),n)-(u=(0,o.getDefaultOptions)(),c=n?.firstWeekContainsDate??n?.locale?.options?.firstWeekContainsDate??u.firstWeekContainsDate??u.locale?.options?.firstWeekContainsDate??1,m=p(l,n),(g=(0,d.constructFrom)(n?.in||l,0)).setFullYear(m,0,c),g.setHours(0,0,0,0),s(g,n)))/a.millisecondsInWeek)+1;return"wo"===t?r.ordinalNumber(f,{unit:"week"}):h(f,t.length)},I:function(e,t,o){let r,n,l,s=Math.round((u(r=(0,i.toDate)(e,void 0))-(n=c(r,void 0),(l=(0,d.constructFrom)(r,0)).setFullYear(n,0,4),l.setHours(0,0,0,0),u(l)))/a.millisecondsInWeek)+1;return"Io"===t?o.ordinalNumber(s,{unit:"week"}):h(s,t.length)},d:function(e,t,o){return"do"===t?o.ordinalNumber(e.getDate(),{unit:"date"}):m.d(e,t)},D:function(e,t,o){let s,u,d=function(e,t){let[o,i]=(0,n.normalizeDates)(void 0,e,t),s=l(o),u=l(i);return Math.round((s-(0,r.getTimezoneOffsetInMilliseconds)(s)-(u-(0,r.getTimezoneOffsetInMilliseconds)(u)))/a.millisecondsInDay)}(s=(0,i.toDate)(e,void 0),((u=(0,i.toDate)(s,void 0)).setFullYear(u.getFullYear(),0,1),u.setHours(0,0,0,0),u))+1;return"Do"===t?o.ordinalNumber(d,{unit:"dayOfYear"}):h(d,t.length)},E:function(e,t,o){let r=e.getDay();switch(t){case"E":case"EE":case"EEE":return o.day(r,{width:"abbreviated",context:"formatting"});case"EEEEE":return o.day(r,{width:"narrow",context:"formatting"});case"EEEEEE":return o.day(r,{width:"short",context:"formatting"});default:return o.day(r,{width:"wide",context:"formatting"})}},e:function(e,t,o,r){let n=e.getDay(),a=(n-r.weekStartsOn+8)%7||7;switch(t){case"e":return String(a);case"ee":return h(a,2);case"eo":return o.ordinalNumber(a,{unit:"day"});case"eee":return o.day(n,{width:"abbreviated",context:"formatting"});case"eeeee":return o.day(n,{width:"narrow",context:"formatting"});case"eeeeee":return o.day(n,{width:"short",context:"formatting"});default:return o.day(n,{width:"wide",context:"formatting"})}},c:function(e,t,o,r){let n=e.getDay(),a=(n-r.weekStartsOn+8)%7||7;switch(t){case"c":return String(a);case"cc":return h(a,t.length);case"co":return o.ordinalNumber(a,{unit:"day"});case"ccc":return o.day(n,{width:"abbreviated",context:"standalone"});case"ccccc":return o.day(n,{width:"narrow",context:"standalone"});case"cccccc":return o.day(n,{width:"short",context:"standalone"});default:return o.day(n,{width:"wide",context:"standalone"})}},i:function(e,t,o){let r=e.getDay(),n=0===r?7:r;switch(t){case"i":return String(n);case"ii":return h(n,t.length);case"io":return o.ordinalNumber(n,{unit:"day"});case"iii":return o.day(r,{width:"abbreviated",context:"formatting"});case"iiiii":return o.day(r,{width:"narrow",context:"formatting"});case"iiiiii":return o.day(r,{width:"short",context:"formatting"});default:return o.day(r,{width:"wide",context:"formatting"})}},a:function(e,t,o){let r=e.getHours()/12>=1?"pm":"am";switch(t){case"a":case"aa":return o.dayPeriod(r,{width:"abbreviated",context:"formatting"});case"aaa":return o.dayPeriod(r,{width:"abbreviated",context:"formatting"}).toLowerCase();case"aaaaa":return o.dayPeriod(r,{width:"narrow",context:"formatting"});default:return o.dayPeriod(r,{width:"wide",context:"formatting"})}},b:function(e,t,o){let r,n=e.getHours();switch(r=12===n?"noon":0===n?"midnight":n/12>=1?"pm":"am",t){case"b":case"bb":return o.dayPeriod(r,{width:"abbreviated",context:"formatting"});case"bbb":return o.dayPeriod(r,{width:"abbreviated",context:"formatting"}).toLowerCase();case"bbbbb":return o.dayPeriod(r,{width:"narrow",context:"formatting"});default:return o.dayPeriod(r,{width:"wide",context:"formatting"})}},B:function(e,t,o){let r,n=e.getHours();switch(r=n>=17?"evening":n>=12?"afternoon":n>=4?"morning":"night",t){case"B":case"BB":case"BBB":return o.dayPeriod(r,{width:"abbreviated",context:"formatting"});case"BBBBB":return o.dayPeriod(r,{width:"narrow",context:"formatting"});default:return o.dayPeriod(r,{width:"wide",context:"formatting"})}},h:function(e,t,o){if("ho"===t){let t=e.getHours()%12;return 0===t&&(t=12),o.ordinalNumber(t,{unit:"hour"})}return m.h(e,t)},H:function(e,t,o){return"Ho"===t?o.ordinalNumber(e.getHours(),{unit:"hour"}):m.H(e,t)},K:function(e,t,o){let r=e.getHours()%12;return"Ko"===t?o.ordinalNumber(r,{unit:"hour"}):h(r,t.length)},k:function(e,t,o){let r=e.getHours();return(0===r&&(r=24),"ko"===t)?o.ordinalNumber(r,{unit:"hour"}):h(r,t.length)},m:function(e,t,o){return"mo"===t?o.ordinalNumber(e.getMinutes(),{unit:"minute"}):m.m(e,t)},s:function(e,t,o){return"so"===t?o.ordinalNumber(e.getSeconds(),{unit:"second"}):m.s(e,t)},S:function(e,t){return m.S(e,t)},X:function(e,t,o){let r=e.getTimezoneOffset();if(0===r)return"Z";switch(t){case"X":return y(r);case"XXXX":case"XX":return v(r);default:return v(r,":")}},x:function(e,t,o){let r=e.getTimezoneOffset();switch(t){case"x":return y(r);case"xxxx":case"xx":return v(r);default:return v(r,":")}},O:function(e,t,o){let r=e.getTimezoneOffset();switch(t){case"O":case"OO":case"OOO":return"GMT"+f(r,":");default:return"GMT"+v(r,":")}},z:function(e,t,o){let r=e.getTimezoneOffset();switch(t){case"z":case"zz":case"zzz":return"GMT"+f(r,":");default:return"GMT"+v(r,":")}},t:function(e,t,o){return h(Math.trunc(e/1e3),t.length)},T:function(e,t,o){return h(+e,t.length)}};function f(e,t=""){let o=e>0?"-":"+",r=Math.abs(e),n=Math.trunc(r/60),a=r%60;return 0===a?o+String(n):o+String(n)+t+h(a,2)}function y(e,t){return e%60==0?(e>0?"-":"+")+h(Math.abs(e)/60,2):v(e,t)}function v(e,t=""){let o=Math.abs(e);return(e>0?"-":"+")+h(Math.trunc(o/60),2)+t+h(o%60,2)}let b=(e,t)=>{switch(e){case"P":return t.date({width:"short"});case"PP":return t.date({width:"medium"});case"PPP":return t.date({width:"long"});default:return t.date({width:"full"})}},_=(e,t)=>{switch(e){case"p":return t.time({width:"short"});case"pp":return t.time({width:"medium"});case"ppp":return t.time({width:"long"});default:return t.time({width:"full"})}},w={p:_,P:(e,t)=>{let o,r=e.match(/(P+)(p+)?/)||[],n=r[1],a=r[2];if(!a)return b(e,t);switch(n){case"P":o=t.dateTime({width:"short"});break;case"PP":o=t.dateTime({width:"medium"});break;case"PPP":o=t.dateTime({width:"long"});break;default:o=t.dateTime({width:"full"})}return o.replace("{{date}}",b(n,t)).replace("{{time}}",_(a,t))}},z=/^D+$/,x=/^Y+$/,T=["D","DD","YY","YYYY"],k=/[yYQqMLwIdDecihHKkms]o|(\w)\1*|''|'(''|[^'])+('|$)|./g,I=/P+p+|P+|p+|''|'(''|[^'])+('|$)|./g,S=/^'([^]*?)'?$/,C=/''/g,E=/[a-zA-Z]/;e.s(["format",0,function(e,r,n){let a=(0,o.getDefaultOptions)(),l=n?.locale??a.locale??t.defaultLocale,s=n?.firstWeekContainsDate??n?.locale?.options?.firstWeekContainsDate??a.firstWeekContainsDate??a.locale?.options?.firstWeekContainsDate??1,u=n?.weekStartsOn??n?.locale?.options?.weekStartsOn??a.weekStartsOn??a.locale?.options?.weekStartsOn??0,d=(0,i.toDate)(e,n?.in);if(!(d instanceof Date||"object"==typeof d&&"[object Date]"===Object.prototype.toString.call(d))&&"number"!=typeof d||isNaN(+(0,i.toDate)(d)))throw RangeError("Invalid time value");let c=r.match(I).map(e=>{let t=e[0];return"p"===t||"P"===t?(0,w[t])(e,l.formatLong):e}).join("").match(k).map(e=>{if("''"===e)return{isToken:!1,value:"'"};let t=e[0];if("'"===t){var o;let t;return{isToken:!1,value:(t=(o=e).match(S))?t[1].replace(C,"'"):o}}if(g[t])return{isToken:!0,value:e};if(t.match(E))throw RangeError("Format string contains an unescaped latin alphabet character `"+t+"`");return{isToken:!1,value:e}});l.localize.preprocessor&&(c=l.localize.preprocessor(d,c));let p={firstWeekContainsDate:s,weekStartsOn:u,locale:l};return c.map(t=>{if(!t.isToken)return t.value;let o=t.value;return(!n?.useAdditionalWeekYearTokens&&x.test(o)||!n?.useAdditionalDayOfYearTokens&&z.test(o))&&function(e,t,o){var r,n,a;let i,l=(r=e,n=t,a=o,i="Y"===r[0]?"years":"days of the month",`Use \`${r.toLowerCase()}\` instead of \`${r}\` (in \`${n}\`) for formatting ${i} to the input \`${a}\`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md`);if(console.warn(l),T.includes(e))throw RangeError(l)}(o,r,String(e)),(0,g[o[0]])(d,o,l.localize,p)}).join("")}],489938)},113022,e=>e.a(async(t,o)=>{try{var r=e.i(691296),n=e.i(588762),a=e.i(333925),i=e.i(636608),l=e.i(423620),s=e.i(330436),u=e.i(759118),d=e.i(391830),c=e.i(308070),p=e.i(594537),h=e.i(51083),m=e.i(859727),g=e.i(951056),f=e.i(343229),y=e.i(520401),v=e.i(871096),b=e.i(900533),_=e.i(938281),w=e.i(212389),z=e.i(610150),x=e.i(64774),T=t([u,d,c,y]);async function k(t){let{listThreadOverview:o}=await e.A(193435),r=await o();if(!r.length)return"No jobs have been handed over yet.";let n=r.map(e=>`"${e.label}" (${e.bot}, ${e.status})`).join(", ");return`There is no job called "${t}". The latest are: ${n}. Call again with one of those names.`}async function I(e,t){let o=[];for(let[e,n]of Object.entries(t)){let t=await (0,r.asSchema)(n.inputSchema).jsonSchema,a="string"==typeof n.description?n.description:"";o.push({name:e,tokens:(0,z.estimateTokens)(a)+(0,z.estimateTokens)(JSON.stringify(t))})}o.sort((e,t)=>t.tokens-e.tokens);let n=o.reduce((e,t)=>e+t.tokens,0);_.logger.debug(`${e} tools ${n} tokens over ${o.length} — ${o.map(e=>`${e.name} ${e.tokens}`).join(", ")}`)}async function S(e){let t=await C(e);return a.IS_DEV&&await I(e.target,t),t}async function C(t){if("memory-edit"===t.target){let e=(0,d.createMemoryTools)("user",null,{countReads:!1});return{[h.TOOL_NAMES.memory_recall]:e[h.TOOL_NAMES.memory_recall],[h.TOOL_NAMES.memory_remember]:e[h.TOOL_NAMES.memory_remember],[h.TOOL_NAMES.memory_forget]:e[h.TOOL_NAMES.memory_forget]}}let{[h.TOOL_NAMES.memory_conversation]:o,..._}=(0,d.createMemoryTools)("call","thursday"===t.target?t.callId??null:null),z={[h.TOOL_NAMES.memory_conversation]:o},T=await (0,v.openWorkspace)();if("thursday"===t.target){var I;let o=await (0,y.readCallSkillsOn)()?(0,p.createSkillTools)({sandbox:T,skills:await (0,f.loadSkills)(T)}):{};return{..._,...z,...o,...(0,m.createWorkspaceTools)(T,{write:!1,timeoutMs:a.CALL_EXEC_TIMEOUT_MS}),...(I=t.callId,{[h.TOOL_NAMES.delegate]:(0,r.tool)({description:l.delegateSpec.description,inputSchema:l.delegateSpec.parameters,execute:async({bot:t,request:o,label:r})=>{let{findJobBot:n,listJobBots:a}=await e.A(242792),i=await n(t);if(!i||i.disabled){let e=(await a()).map(e=>e.name);return`There is no bot called "${t}". The bots are: ${e.join(", ")}. Nothing was handed over — call again with one of those.`}let{startThread:l}=await e.A(327784);return{threadId:await l({bot:i.name,request:o,label:r,callId:I,from:"thursday"}),note:`${i.name} has "${r}". Its updates reach the conversation on their own. Anything further about this work — an answer, a correction, the next step once it finishes — is \`${h.TOOL_NAMES.thread}\` with "${r}".`}}}),[h.TOOL_NAMES.thread]:(0,r.tool)({description:l.threadSpec.description,inputSchema:l.threadSpec.parameters,execute:async({action:t,thread:o,answer:r,recipient:a,replyTo:l})=>{let s,{listThreadOverview:u,resolveThread:d}=await e.A(193435);if("status"===t){let t=r?.trim()?{note:"The text in `answer` was not passed on — `status` only reads. Send it again as `answer` if the bot is meant to hear it."}:{},a={now:(0,i.clockNow)()};if(o){let r=await d(o);if(!r)return await k(o);let{findThreadView:i}=await e.A(193435),l=(await i(r.id))?.room;return{...a,...t,label:r.label,id:r.id,bot:r.bot,participants:l?.participants??[],questions:l?.questions??[],status:r.status,since:(0,n.formatDistanceToNowStrict)((0,b.toDate)(r.updatedAt),{addSuffix:!0}),outcome:r.outcome,..."waiting"===r.status&&r.pending?.options.length?{options:r.pending.options}:{}}}let l=await u();return{...a,...t,threads:l.map(e=>({id:e.id,label:e.label,bot:e.bot,status:e.status,participants:e.room.participants,questions:e.room.questions.map(e=>({...e,text:(0,x.clip)(e.text,200)})),since:(0,n.formatDistanceToNowStrict)((0,b.toDate)(e.updatedAt),{addSuffix:!0}),...e.ask?{asking:e.ask.question,options:e.ask.options}:{},..."running"===e.status?{now:(0,g.threadActivity)(e.lines)}:{},...e.outcome&&"waiting"!==e.status?{outcome:(0,x.clip)(e.outcome,200)}:{}}))}}let{listInboxThreads:c,markSeen:p}=await e.A(193435),m=!o&&("answer"===t||"open"===t),f=m?await c():[],y="answer"===t?f.filter(e=>e.room.questions.length):[];if(y.length>1)return`Questions are waiting in more than one job: ${y.map(e=>`"${e.label}" (${e.room.questions.map(e=>e.bot).join(", ")})`).join(", ")}. Name the job.`;let v=o?await d(o):"answer"===t?y[0]??null:m?f[0]??null:null;if(!v)return o?await k(o):"answer"===t?`No question is waiting. Name the job this is for; \`${h.TOOL_NAMES.thread}\` \`status\` lists them.`:m?"No job has moved yet — say which one, or check `status` first.":"Say which job — by its label. Call `status` with no job named to see them.";if("open"===t){if(!(m?f:await c()).some(e=>e.id===v.id))return`"${v.label}" is older than the call screen keeps; it is under Settings › Threads.`;let{appEvents:t}=await e.A(102473);return t.emit({type:"showThread",threadId:v.id}),{label:v.label,open:!0}}if("seen"===t)return await p([v.id]),{label:v.label,seen:!0};let{answerThread:_,cancelThread:z}=await e.A(327784);if("cancel"===t)return await z(v.id),{label:v.label,status:"cancelled"};if(!r?.trim())return"Say what to pass on.";try{s=await _(v.id,r.trim(),"thursday",a??void 0,l??void 0)}catch(e){if((0,w.isPublicError)(e))return e.message;throw e}return s?.answered?{label:v.label,answered:s.answered,note:`${s.answered.bot} has the answer to its question and goes on from it.`}:{label:v.label,bot:s?.to??v.bot,status:"running",note:"running"===v.status?"The bot reads it before its next step.":"The bot picks the job back up from there."}}})}),...s.CALL_TOOLS}}let S=await (0,f.loadSkills)(T);return{[h.TOOL_NAMES.memory_recall]:_[h.TOOL_NAMES.memory_recall],...z,...await (0,c.createSearchTool)(t.model,T),...(0,m.createWorkspaceTools)(T,{write:!0,env:{...(0,v.jobShellEnv)(t.session),...(0,v.botShellEnv)(t.bot)},guide:!0,bot:t.bot}),...await (0,u.createMcpTools)(t.bot,T),...(0,p.createSkillTools)({sandbox:T,skills:S})}}[u,d,c,y]=T.then?(await T)():T,e.s(["loadTools",0,S]),o()}catch(e){o(e)}},!1),423620,e=>{"use strict";var t=e.i(749906),o=e.i(333925),r=e.i(51083),n=e.i(951056),a=e.i(600690);let i={name:r.TOOL_NAMES.delegate,description:"Hand a job to a bot. Returns a receipt at once; the job runs in the background and its updates reach the conversation on their own.",parameters:t.object({bot:t.string().describe("A name from the bot list."),request:t.string().describe("The whole job. The bot cannot hear the call, so everything it needs goes here — names, paths, what the user actually asked for — in their own language and their own words: it is the only language the bot has, and whatever it writes comes back to them. **Their request, never your reading of it**: a condition, a caution or a smaller goal they did not say is how a job comes back as the wrong thing. When their words leave a real choice open, ask them on the call and put the answer here."),label:t.string().describe("Two or three words naming the job, in the user's language. Used on screen and said out loud.")})},l={description:"Send a message to a participant or Thursday and receive a delivery receipt immediately. Mark a question for Thursday to request user input; ordinary messages to Thursday are notifications and need no answer.",parameters:a.RoomMessageSchema.extend({kind:a.RoomMessageSchema.shape.kind.describe("Use question only when Thursday must obtain an answer from the user: it ends your turn, and you continue when the answer arrives. Use message for bot collaboration, progress updates and reports."),options:a.RoomMessageSchema.shape.options.describe("With a question, offer concise answer choices when useful. Omit for an open-ended question; the user can always type their own answer."),to:t.string().trim().min(1).describe("Choose a bot from the roster, or Thursday to reach the user."),text:t.string().trim().min(1).describe("Write the message and include the context the recipient needs."),replyTo:t.string().nullish().describe("Use an incoming message ID to send an explicit reply; omit to start a new exchange. Your ordinary final text already replies to your current correspondent.")})},s={name:r.TOOL_NAMES.thread,description:`List up to ${o.THREAD_STATUS_LIMIT} jobs, prioritizing running and waiting work before recent endings; inspect one job, answer it, cancel it, open it on the user's screen, or mark it seen — the same as the user opening it, which takes it off the work waiting on them.`,parameters:t.object({action:t.enum(["status","answer","cancel","open","seen"]),recipient:t.string().nullish().describe("With answer, name the participant to receive it. Words to a participant waiting on its question answer that question; omit to reach the only open question, or the coordinator when none is open."),replyTo:t.string().nullish().describe("With answer, use the message ID of the question being answered when several questions are open."),thread:t.string().nullish().describe(`Identify the job by label or ID. With status, omit or use null to list up to ${o.THREAD_STATUS_LIMIT} jobs, prioritizing open work and filling remaining places with recent endings; name one to read its full result and pending questions. With open, omit to show the job that moved last. With answer, omit only to answer the one question waiting.`),answer:t.string().nullish().describe(`With \`answer\`: what to tell the bot — the answer to its question, a course correction for a job still running, or what to do next on one that finished. \`${n.THREAD_CONTINUE}\` carries on a job that stopped before finishing, from where it was.`)})};e.s(["delegateSpec",0,i,"sendMessageSpec",0,l,"threadSpec",0,s])},330436,e=>{"use strict";var t=e.i(691296),o=e.i(749906),r=e.i(51083);let n={name:r.TOOL_NAMES.end_call,description:`End the call.
|
|
2
|
+
|
|
3
|
+
The line stays open until this runs, and drops once the goodbye being said is over.`,parameters:o.object({})},a=(0,t.tool)({description:n.description,inputSchema:n.parameters}),i={[r.TOOL_NAMES.end_call]:a};e.s(["CALL_TOOLS",0,i])},759118,e=>e.a(async(t,o)=>{try{var r=e.i(691296),n=e.i(749906),a=e.i(51083),i=e.i(993195),l=e.i(871096),s=e.i(340697),u=t([i,s]);[i,s]=u.then?(await u)():u;let p={[a.TOOL_NAMES.tool_search]:{name:a.TOOL_NAMES.tool_search,description:`Return the description and exact inputSchema of tools on a connected server, so they can be called with \`${a.TOOL_NAMES.tool_call}\`.`,parameters:n.object({server:n.string().describe("A server name, exactly as the Connected tools section writes it."),tools:n.string().array().describe("Tool names listed under that server. Only the ones you may actually call — schemas are large, and at most 8 come back.")})},[a.TOOL_NAMES.tool_call]:{name:a.TOOL_NAMES.tool_call,description:`Run one tool whose definition came back from \`${a.TOOL_NAMES.tool_search}\`.`,parameters:n.object({server:n.string().describe("The server the tool lives on."),tool:n.string().describe("Its name, as search returned it."),args:n.record(n.string(),n.unknown()).nullish().describe("Arguments matching the inputSchema search returned — do not guess. Null when it takes none."),description:n.string().nullish().describe("One short line for the user: what this call is for. Shown on their screen while it runs.")})}},h=(e,t)=>`${e.replace(/[^a-zA-Z0-9]+/g,"_")}__${t.replace(/[^a-zA-Z0-9_-]+/g,"_")}`.slice(0,64);async function d(e,t){let[o,n]=await Promise.all([(0,s.listConnectedToolNames)(),(0,i.findPinnedTools)(e)]),a={},u=(0,l.botArtifacts)(e);for(let e of n){let o=h(e.server,e.name);a[o]||(a[o]=(0,r.tool)({description:e.description??`${e.name} on the ${e.server} server.`,inputSchema:(0,r.jsonSchema)(e.inputSchema??{type:"object",properties:{}}),execute:(o,{abortSignal:r})=>(0,s.callConnectedTool)(t,e.server,e.name,o??void 0,{artifacts:u,abortSignal:r})}))}return o.length>n.length&&Object.assign(a,m(t,u)),a}async function c(e){let t=(await (0,s.listConnectedToolNames)(e)).map(e=>e.name);if(t.length)return`Tools on "${e}": ${t.join(", ")}.`;let o=await (0,s.listConnectedServerNames)();return o.length?`There is no server called "${e}". Connected: ${o.join(", ")}.`:"Nothing is connected."}let m=(e,t)=>({[a.TOOL_NAMES.tool_search]:(0,r.tool)({description:p[a.TOOL_NAMES.tool_search].description,inputSchema:p[a.TOOL_NAMES.tool_search].parameters,execute:async({server:e,tools:t})=>{let o=[...new Set(t.map(e=>e.trim()).filter(Boolean))],r=o.slice(0,8),n=await (0,s.findConnectedSchemas)(e.trim(),r);if(!n.length)return{tools:[],note:await c(e)};let a=r.filter(e=>!n.some(t=>t.name===e)),i=o.slice(8),l=[a.length?`Not on "${e}": ${a.join(", ")}.`:"",i.length?`Only 8 at a time — ask again for: ${i.join(", ")}.`:""].filter(Boolean);return{tools:n,...l.length?{note:l.join(" ")}:{}}}}),[a.TOOL_NAMES.tool_call]:(0,r.tool)({description:p[a.TOOL_NAMES.tool_call].description,inputSchema:p[a.TOOL_NAMES.tool_call].parameters,execute:async({server:o,tool:r,args:n},{abortSignal:a})=>(await (0,s.listConnectedToolNames)(o.trim())).some(e=>e.name===r.trim())?(0,s.callConnectedTool)(e,o.trim(),r.trim(),n??void 0,{artifacts:t,abortSignal:a}):{status:"error",text:await c(o)}})});e.s(["createMcpTools",0,d]),o()}catch(e){o(e)}},!1),391830,e=>e.a(async(t,o)=>{try{var r=e.i(691296),n=e.i(749906),a=e.i(333925),i=e.i(636608),l=e.i(51083),s=e.i(1363),u=e.i(232549),d=e.i(520401),c=t([s,d]);[s,d]=c.then?(await c)():c;let p=u.MEMORY_PATHS.map(e=>e.path.endsWith("/")?`${e.path}<name>`:e.path).join(", "),h=e=>({...e,facts:e.facts.map(({saidAt:e,...t})=>e?{...t,said:(0,i.saidStamp)(e)}:t),factCount:e.facts.length}),m=e=>"user"===e?"Typed on the screen — there is no conversation behind it.":"bot"===e?"Saved by a bot during a job — there is no conversation behind it.":"The conversation it was saved in is not kept.",g=e=>e>a.MEMORY_LIMITS.factsPerNote?` This note now holds ${e} facts, past the ${a.MEMORY_LIMITS.factsPerNote} one note holds well. Ask the user which of it is no longer true and delete what they name.`:"";e.s(["createMemoryTools",0,(e,t=null,{countReads:o=!0}={})=>({[l.TOOL_NAMES.memory_recall]:(0,r.tool)({description:"Open one note from the listing, whole.",inputSchema:n.object({path:n.string().describe("Exactly as the listing writes it — the path, or one of the names in quotes after it.")}),execute:async({path:e})=>{let{notes:t}=await (0,s.readNotes)([e],{touch:o}),r=t[0];if(!r)return{note:`Nothing on the listing called ${e.trim()}.`};let n=g(r.facts.length);return n?{...h(r),note:n.trim()}:h(r)}}),[l.TOOL_NAMES.memory_remember]:(0,r.tool)({description:"Write to one note: facts, and the line the listing shows for it. The path is the key — a path not on the listing is created (with at least one fact), one that is gets amended.",inputSchema:n.object({path:n.string().describe("The group this note is found by — the person, project or topic its facts are about. Exactly as the listing writes it, or a new path following the same convention. A fact goes under the one note it is about; other notes name it rather than repeat it."),facts:n.object({text:n.string().describe('One statement that stands on its own later — a date as a date, never "next week".'),replaces:n.number().int().nullish().describe(`The id of the fact this replaces — from this note as handed back here or by \`${l.TOOL_NAMES.memory_recall}\`. Null if this is new. A fact that stopped being true is replaced rather than deleted, and so is a note saying the same thing twice: replacing keeps what changed on the record, deleting does not.`),alwaysLoad:n.boolean().nullish().describe(`True carries this line into every call's instructions without opening its note — for what every call needs before any note is opened: what to call them, their language and register. At most ${a.MEMORY_LIMITS.carried}. Null leaves it; false makes a carried line an ordinary fact.`)}).array().nullish().describe("What to write under this note. Send everything that came up at once: one call is one pause in the conversation, three calls are three. Null when only naming it."),description:n.string().nullish().describe(`One line saying what this note holds, so the listing alone tells which facts are inside. Give it for a new note, and again with new facts: rewritten from the current line and the new facts together, so it covers the whole note rather than only what was added. Null leaves it; ${u.MEMORY_ALWAYS_LISTED.join(", ")} keep their own line.`),aliases:n.string().array().nullish().describe('What the user calls this note out loud, in the language they say it — the words they would use to ask for it, not the facts inside. A note at people/partner might be "my partner" and their first name. Replaces the set it has, so send the whole set. Null leaves it.')}),execute:async o=>{let r=o.path.trim(),n=await (0,s.resolveNotePath)(r),i=o.aliases??null,l=n??r,d=(0,u.isAlwaysListed)(l)?(0,u.appNoteLine)(l):o.description?.trim()||null,c=o.facts??[];if(!c.length&&!d&&!i)return{note:"Nothing to write: send facts, a line, names, or any of them."};if(!n&&!(0,u.isMemoryPath)(r))return{note:`Nothing was saved: "${r}" is not a path this listing can carry. Write it again under one of ${p}.`};if(!n&&!c.length)return{note:`Nothing on the listing called ${r}. A note comes into being with a fact — send at least one.`};let m=await (0,s.writeNotes)([{path:l,description:d,aliases:i,facts:c}],e,t),f=m.unnamed.length?` ${m.unnamed[0]} is new and has no line yet — the listing shows its first fact instead. Call again with \`description\` (one line about what it is) and \`aliases\` (the names they say for it).`:"",y=m.notLoaded.length?` All ${a.MEMORY_LIMITS.carried} carried lines are taken, so ${m.notLoaded.map(e=>`"${e}"`).join(", ")} saved as an ordinary fact. Say which carried line you would drop for it and let them choose.`:"",v=h(m.notes[0]),b=n&&c.length&&!d?` Its line still reads "${v.description}"; if that no longer says what the note holds, send \`description\`.`:"";return{...v,note:`Saved. The listing in your instructions is from when this session opened and will not show this until the next one — the note below is current.${f}${y}${b}${g(v.factCount)}`}}}),[l.TOOL_NAMES.memory_conversation]:(0,r.tool)({description:"Open the conversation a fact was saved in, whole: what each side said, and which tools were used.",inputSchema:n.object({factId:n.number().int().describe("The id that came with the fact when its note was opened."),page:n.number().int().min(1).nullish().describe(`${a.MEMORY_CONVERSATION_PAGE} turns a page, oldest first. Null for the first.`)}),execute:async({factId:e,page:o})=>{let r=await (0,s.findFactCall)(e);if(!r)return{note:`No fact with id ${e}.`};if(!r.callId)return{note:m(r.source)};if(r.callId===t)return{note:"Said in this call — it is the conversation you are in."};let n=o??1,l=await (0,d.readCallConversation)(r.callId,n,a.MEMORY_CONVERSATION_PAGE);if(!l)return{note:m(r.source)};let u=Math.max(1,Math.ceil(l.total/a.MEMORY_CONVERSATION_PAGE));return n>u?{note:`That conversation has ${u} page${u>1?"s":""}.`}:{when:(0,i.callStamp)(l.startedAt),page:n,pages:u,conversation:(0,i.conversationLines)(l.turns)}}}),[l.TOOL_NAMES.memory_forget]:(0,r.tool)({description:"Delete facts for good.",inputSchema:n.object({factIds:n.number().int().array().min(1).describe("The ids that came with the facts when their notes were opened — every one to delete, in one call.")}),execute:async({factIds:e})=>{let t=[],o=[],r=new Set;for(let n of new Set(e)){let e=await (0,s.forgetFactById)(n);if(!e){t.push(n);continue}e.noteGone?(r.delete(e.path),o.push(e.path)):r.add(e.path)}if(!o.length&&!r.size)return{note:`No fact with id ${t.join(", ")}. Nothing was deleted.`};let n=["Deleted for good. The listing in your instructions is from when this session opened and still shows it that way until the next one.",1===o.length?`That was the last fact under ${o[0]}, so the note went with it.`:o.length?`That was the last of ${o.join(", ")}, so those notes went with them.`:"",t.length?`No fact with id ${t.join(", ")}, so those were skipped.`:""].filter(Boolean).join(" ");if(!r.size)return{note:n};let{notes:a}=await (0,s.readNotes)([...r],{touch:!1});return{notes:a.map(h),note:n}}})})]),o()}catch(e){o(e)}},!1),308070,e=>e.a(async(t,o)=>{try{var r=e.i(734732),n=e.i(691296),a=e.i(517435),i=e.i(333925),l=e.i(51083),s=e.i(656719),u=e.i(724185),d=e.i(64774),c=t([u]);[u]=c.then?(await c)():c;let m=`Answer the question from the web. Lead with the answer, then
|
|
4
|
+
what supports it. Say plainly what you could not find or confirm — do not fill
|
|
5
|
+
the gap with a guess. Every number carries the date you saw it. Be brief: this
|
|
6
|
+
is read by another model, not by a person.`,g=a.default.string().describe("What you want to know, as one full question. Put the place and the time in when they matter — the searcher sees nothing but this line.");async function p(e,t,o){let r=await fetch("https://api.exa.ai/search",{method:"POST",signal:o,headers:{"content-type":"application/json","x-api-key":e},body:JSON.stringify({query:t,type:"auto",numResults:i.SEARCH.sources,contents:{text:{maxCharacters:i.SEARCH.excerptChars},livecrawl:"fallback",livecrawlTimeout:5e3}})});if(!r.ok)return`Exa answered ${r.status}: ${(0,d.clip)((await r.text()).trim(),200)}`;let n=(await r.json()).results??[];return n.length?n.map(e=>{let t=[e.title?.trim(),e.url?.trim()].filter(Boolean).join(" — "),o=e.publishedDate?.slice(0,10);return[o?`${t} \xb7 ${o}`:t,e.text?.trim()].filter(Boolean).join("\n")}).join("\n\n"):"Nothing came back for that. Try other words, or open a page in the browser."}async function h(e,t,o){let{text:n,sources:a}=await (0,r.generateText)({model:e.model,tools:e.tools,system:m,prompt:t,abortSignal:o}),l=[...new Set(a.flatMap(e=>"url"===e.sourceType?[e.title?`${e.title} — ${e.url}`:e.url]:[]))].slice(0,i.SEARCH.sources);return[n.trim(),l.length?`Sources:
|
|
7
|
+
${l.join("\n")}`:""].filter(Boolean).join("\n\n")}let f=async(e,t)=>{let o=await (0,u.readConfig)(s.EXA_API_KEY),r=e?.searchTools?{model:e.model,tools:e.searchTools}:null,c=o?(e,t)=>p(o,e,t):r?(e,t)=>h(r,e,t):null;return c?{[l.TOOL_NAMES.web_search]:(0,n.tool)({description:"Search the web and get back what the pages say, with their links. For a fact, a price, a date, what a page says. Not for a page that has to be clicked, filled, or signed into — that is the browser.",inputSchema:a.default.object({query:g}),execute:async({query:e},{abortSignal:o})=>{let r=AbortSignal.timeout(i.SEARCH.timeoutMs),n=o?AbortSignal.any([o,r]):r,a=await c(e,n).catch(e=>{if(o?.aborted)throw e;return r.aborted?`The search did not come back in ${i.SEARCH.timeoutMs/1e3}s. Ask something narrower, or open the page in the browser.`:`Search failed: ${(0,d.errorToString)(e)}. The browser is the other way in.`});return t.fold(a,"web-search")}})}:{}};e.s(["createSearchTool",0,f]),o()}catch(e){o(e)}},!1),594537,e=>{"use strict";var t=e.i(691296),o=e.i(517435),r=e.i(51083),n=e.i(343229),a=e.i(202837);e.s(["createSkillTools",0,({skills:e,sandbox:i})=>({[r.TOOL_NAMES.load_skill]:(0,t.tool)({description:"Load one skill: its instructions, and the files that ship with it.",inputSchema:o.default.object({name:o.default.string().describe("Exact name from the Skills list, or of a skill installed during this job. Do not guess names.")}),execute:async({name:t},{messages:o})=>{let l=e=>e.find(e=>e.name.toLowerCase()===t.toLowerCase()),s=l(e)?e:await (0,n.loadSkills)(i),u=l(s);if(!u)return{error:`No skill named '${t}'.`,available:s.map(e=>e.name)};let d=`${u.path}/SKILL.md`;if(o.some(e=>Array.isArray(e.content)&&e.content.some(e=>{if("tool-result"!==e.type||e.toolName!==r.TOOL_NAMES.load_skill||"json"!==e.output.type)return!1;let t=e.output.value;return t?.skillDirectory===u.path&&"string"==typeof t.content})))return{skillDirectory:u.path,note:`Use the full '${u.name}' instructions already in your conversation. To check for changes on disk, read ${d} with the shell.`};let c=await i.readFile(d,"utf-8"),{body:p}=(0,a.splitFrontmatter)(c),h=await i.glob("**/*",{path:u.path,limit:50});return{skillDirectory:u.path,files:h,content:p}}})})])},859727,e=>{"use strict";var t=e.i(750227),o=e.i(691296),r=e.i(517435),n=e.i(333925),a=e.i(51083),i=e.i(75752),l=e.i(871096);let s=`## The shell here
|
|
8
|
+
|
|
9
|
+
Every command is a new shell: \`cd\`, exported variables and an activated venv are gone by the next one — chain what depends on the last step into a single command.
|
|
10
|
+
|
|
11
|
+
Nothing is watching it. A command that stops to ask never gets an answer and is killed after ${n.EXEC_TIMEOUT_MS/1e3}s, so pass the flag that skips the question (\`-y\`, \`--yes\`, \`--no-input\`), and send anything genuinely long to the background with its output redirected to a file.
|
|
12
|
+
|
|
13
|
+
Keys are not in the environment: every variable named like a key, a token or a secret is removed before the shell starts. An empty one is not an unset one — say which it was, and ask for what a command needs.`;e.s(["createWorkspaceTools",0,(e,n)=>{let u=!0===n.guide,d=async e=>{let t=n.bot;if(!t)return{result:await e(),memory:null};let o=await (0,i.holdBotMemory)(t);return{result:await e(),memory:await (0,i.keepBotMemory)(t,o)}},c=(0,o.tool)({description:"Run a bash command.",inputSchema:r.default.object({command:r.default.string(),description:r.default.string().nullish().describe("One short line for the user: what this command does and why. Shown on their screen while it runs — not a restatement of the command.")}),execute:async({command:t},{abortSignal:o})=>{let{result:r,memory:a}=await d(()=>e.exec(t,{signal:o,env:n.env,timeoutMs:n.timeoutMs})),i=a?{...r,memory:a}:r;return u?(u=!1,{...i,guide:s}):i}});if(!n.write)return{[a.TOOL_NAMES.bash]:c};let p=(0,o.tool)({description:"Write a whole file — what was there is gone. Parent directories are created.",inputSchema:r.default.object({path:r.default.string().describe("Relative to the working directory — under one of its folders — or absolute"),content:r.default.string(),description:r.default.string().nullish().describe("One short line for the user: what this file is. Shown on their screen next to the path.")}),execute:async({path:o,content:r})=>{let a,i=e.resolve(o),s=(0,l.writeRefusal)(i,n.bot);if(s)return s;let{memory:u}=await d(()=>e.writeFile(o,r));return u??`Wrote ${(a=(0,t.relative)(e.cwd,i))&&!a.startsWith("..")?a:i} (${r.split("\n").length} lines)`}});return{[a.TOOL_NAMES.bash]:c,[a.TOOL_NAMES.write_file]:p}}])},75752,e=>{"use strict";var t=e.i(912714),o=e.i(750227),r=e.i(333925),n=e.i(871096);let a=e=>`${(0,n.botFolder)(e)}/memory`;async function i(e,t=r.BOT_MEMORY_LIMITS.files){let s=a(e),u=(0,o.join)(n.WORKSPACE,s),d=(await l(u)).sort((e,t)=>t.info.mtimeMs-e.info.mtimeMs),p=await Promise.all(d.slice(0,t).map(async({name:e,info:t})=>({file:e,path:`${s}/${e}`,line:await c((0,o.join)(u,e)),at:new Date(t.mtimeMs),bytes:t.size})));return{folder:s,entries:p,total:d.length}}async function l(e){let r=await (0,t.readdir)(e).catch(()=>[]);return(await Promise.all(r.filter(e=>!e.startsWith(".")).map(async r=>{let n=await (0,t.stat)((0,o.join)(e,r)).catch(()=>null);return n?.isFile()?{name:r,info:n}:null}))).filter(e=>null!==e)}async function s(e){let i=(0,o.join)(n.WORKSPACE,a(e)),s=new Map;return await Promise.all((await l(i)).map(async({name:e,info:n})=>{let a=n.size>4*r.BOT_MEMORY_LIMITS.chars?null:await (0,t.readFile)((0,o.join)(i,e),"utf8").catch(()=>null);s.set(e,{text:null!==a&&d(a)<=r.BOT_MEMORY_LIMITS.chars?a:null,size:n.size,mtimeMs:n.mtimeMs,atime:n.atime,mtime:n.mtime})})),s}async function u(e,i){let s=a(e),u=(0,o.join)(n.WORKSPACE,s),{files:c,chars:p}=r.BOT_MEMORY_LIMITS,h=[],m=[],g=0;for(let{name:e,info:r}of(await l(u))){g+=1;let n=i.get(e);if(n&&n.size===r.size&&n.mtimeMs===r.mtimeMs)continue;let a=(0,o.join)(u,e),l=d(await (0,t.readFile)(a,"utf8").catch(()=>""));if(l<=p){n||m.push(e);continue}let c=`${l.toLocaleString("en-US")} characters, past the ${p.toLocaleString("en-US")} a memory file holds`;n?null!==n.text?(await (0,t.writeFile)(a,n.text),await (0,t.utimes)(a,n.atime,n.mtime),h.push(`Not kept: \`${s}/${e}\` came to ${c}, so it is back as it was. Write it again shorter.`)):h.push(`\`${s}/${e}\` is ${c}. Shorten it.`):(await (0,t.rm)(a,{force:!0}),g-=1,h.push(`Not kept: \`${s}/${e}\` came to ${c}, so it was removed. Write it again shorter.`))}if(g>c&&m.length){await Promise.all(m.map(e=>(0,t.rm)((0,o.join)(u,e),{force:!0})));let e=m.map(e=>`\`${s}/${e}\``).join(", ");h.push(`Not kept: your memory holds ${c} files at most and this made ${g}, so ${e} ${1===m.length?"was":"were"} removed. Delete or merge files no longer worth keeping, then write it again.`)}return h.length?h.join("\n"):null}let d=e=>[...e.trim()].length;async function c(e){let o=await (0,t.open)(e,"r").catch(()=>null);if(!o)return"";try{let e=Buffer.alloc(1024),{bytesRead:t}=await o.read(e,0,1024,0),r=e.toString("utf8",0,t).split("\n").map(e=>e.trim()).filter(Boolean);if("---"===r[0]){let e=r.find(e=>e.startsWith("description:"));if(e)return e.slice(12).trim().replace(/^["']|["']$/g,"");let t=r.indexOf("---",1);return t>0?(r[t+1]??"").replace(/^#+\s*/,""):""}return(r[0]??"").replace(/^#+\s*/,"")}finally{await o.close()}}e.s(["botMemoryFolder",0,a,"holdBotMemory",0,s,"keepBotMemory",0,u,"listBotMemory",0,i])},277259,e=>e.a(async(t,o)=>{try{var r=e.i(734732),n=e.i(691296),a=e.i(333925),i=e.i(113022),l=e.i(986507),s=e.i(475235),u=e.i(423620),d=e.i(51083),c=e.i(951056),p=e.i(871096),h=e.i(938281),m=e.i(610150),g=e.i(799791),f=e.i(5509),y=t([i,l,s,g,f]);[i,l,s,g,f]=y.then?(await y)():y;let z=a.BOT_RUN.steps;async function v(e,t){var o,y;let v,w,T,k,I,S,C,E,A,O=t.parent??null,M=await (0,g.findJobBot)(e.bot.trim()),j=M?.name??e.bot.trim(),R=e=>t.emit({...e,bot:j,parent:O});if(!M)return void await R({type:"error",message:`No bot named "${e.bot}". Use a name from the list.`,retry:!1});let N=e.messages,P=await ((o=M).provider&&o.model?(0,l.getTextModel)({provider:o.provider,model:o.model}):(0,l.resolveDefaultModel)().then(l.getTextModel)),$=t.threadId?await (0,f.findThread)(t.threadId):null,[q,{own:L,artifacts:D}]=await Promise.all([t.threadId?(0,p.openJobScratch)(t.threadId,$?.label??"job"):null,(0,p.openBotFolders)(j)]),[U,F]=await Promise.all([(0,s.loadBotPrompt)(j,M.systemPrompt,{owner:t.owner,caller:t.caller,messageId:O},{scratch:q,own:L,artifacts:D}),(0,i.loadTools)({target:"bot",bot:j,session:t.session??(t.threadId?(0,p.botBrowserSession)(t.threadId,j):null),model:P})]),B=Math.min(await (0,l.compactBudget)(P.ref,M.compactAt),t.contextBudget||1/0),H=!1,W={...F,[d.TOOL_NAMES.send_message]:(0,n.tool)({description:u.sendMessageSpec.description,inputSchema:u.sendMessageSpec.parameters,execute:async(e,o)=>{let r=await t.send({...e,id:o.toolCallId});return"question"===e.kind&&(H=!0),r}})},V=new Set,J=(y=a.BOT_RUN.silenceMs,w=new AbortController,T=0,k=!1,I=()=>{clearTimeout(v),v=void 0,k||T>0||(v=setTimeout(()=>{w.abort(new DOMException(`The model sent nothing for ${Math.round(y/6e4)} minutes.`,"TimeoutError"))},y))},{signal:w.signal,touch:I,hold:()=>{T+=1,I()},release:()=>{T=Math.max(0,T-1),I()},end:()=>{k=!0,I()}});for(let[e,o]of Object.entries(W)){let r=o.execute;r&&(o.execute=(o,n)=>{let a=(async()=>{t.signal?.throwIfAborted(),await R({type:"tool",id:n.toolCallId,name:e,input:o}),J.hold();try{t.signal?.throwIfAborted();let a=await r(o,n);if(a&&"object"==typeof a&&Symbol.asyncIterator in a){let e;for await(let t of a)e=t;a=e}return await R({type:"tool-result",id:n.toolCallId,name:e,output:a}),a}catch(t){throw await R({type:"tool-result",id:n.toolCallId,name:e,output:(0,l.modelErrorToString)(t),error:!0}),t}finally{J.release()}})();return V.add(a),a.finally(()=>V.delete(a)).catch(()=>{}),a})}let K=Promise.resolve(),G=()=>{},Y=0,Z=new r.ToolLoopAgent({model:P.model,instructions:U.text,tools:W,stopWhen:[(0,r.stepCountIs)(z),()=>H],prepareStep:async({stepNumber:e,steps:o,messages:r})=>{await K,t.signal?.throwIfAborted();let n={},a=o.at(-1)?.usage.inputTokens??0,i=Math.max(a,r.reduce((e,t)=>e+(0,m.estimateTokens)("string"==typeof t.content?t.content:JSON.stringify(t.content))+4,0));Y=i;let l=r;if(i>B&&r.length>2){J.hold();let e=await _(P.model,W,r,{signal:t.signal,budget:B,instructions:U.text}).finally(J.release);h.logger.debug(`compacted ${r.length} messages at ${i} tokens (budget ${B})`);let o=`${e.text}${await b($?.id??null,r,q)}`;await R({type:"compact",text:o,usage:e.usage,messages:r.length,tokens:i}),l=[r[0],{role:"user",content:o}]}let s=e>0?await t.notes?.()??[]:[];return(s.length&&(l=[...l,...s.map(e=>({role:"user",content:e}))]),l===r)?n:{...n,messages:l}}}),X=(S=[],C=[],E=!1,{push(e){let t=C.shift();t?t(e):S.push(e)},take(){let e=S.shift();return e?Promise.resolve(e):E?Promise.resolve(null):new Promise(e=>C.push(e))},end(){for(let e of(E=!0,C.splice(0)))e(null)}}),Q=t.signal?AbortSignal.any([t.signal,J.signal]):J.signal;J.touch();let ee=new AbortController,et=AbortSignal.any([Q,ee.signal]);try{A=await Z.stream({messages:N,abortSignal:et,onStepEnd:e=>{K=new Promise(e=>{G=e}),X.push({messages:e.response.messages,usage:x(e.usage)})}})}catch(e){throw J.end(),ee.abort(),await Promise.allSettled([...V]),e}let eo="",er="",en=null,ea=e=>{h.logger.error(`${j}: the model run broke`,e);let t=(0,l.modelErrorToString)(e),o=!(0,l.isProviderRefusal)(e);if(!(0,l.isContextOverflow)(e))return{type:"error",message:t,retry:o};let r=Math.floor(Math.min(B,Y||B)*a.BOT_RUN.overflowShrink);return{type:"error",message:t,budget:Math.max(c.COMPACT_AT_MIN,r),retry:o}};Q.addEventListener("abort",()=>{X.end(),G()},{once:!0});try{for await(let e of A.fullStream)switch(J.touch(),e.type){case"start-step":er="",eo="";break;case"text-delta":eo+=e.text;break;case"text-end":{let e=eo.trim();if(eo="",!e)break;er=[er,e].filter(Boolean).join("\n\n"),await R({type:"text",text:e});break}case"tool-call":await R({type:"tool",id:e.toolCallId,name:e.toolName,input:e.input,providerExecuted:e.providerExecuted,providerOptions:e.providerMetadata});break;case"tool-result":await R({type:"tool-result",id:e.toolCallId,name:e.toolName,output:e.output});break;case"tool-error":await R({type:"tool-result",id:e.toolCallId,name:e.toolName,output:(0,l.modelErrorToString)(e.error),error:!0});break;case"finish-step":{en=e.finishReason;let t=await X.take();t&&await R({type:"step",...t,budget:B}),G();break}case"abort":if(t.signal?.aborted)return;await R(ea(e.reason??"The model stopped sending."));return;case"error":await R(ea(e.error));return}}finally{ee.abort(),X.end(),J.end(),G(),await Promise.allSettled([...V])}try{await A.response}catch(e){if(t.signal?.aborted)return;await R(ea(e));return}"content-filter"===en?await R({type:"error",message:"The provider's content filter stopped the response.",retry:!1}):await R({type:"turn-end",text:er,stopped:!H&&("length"===en||"error"===en||"tool-calls"===en)})}async function b(e,t,o){try{let r=e?await (0,f.listWrittenPaths)(e):(0,f.writtenPathsIn)(t.map(e=>e.content)),n=await (0,p.filesOnDisk)(r,o);if(!n.length)return"";let i=n.slice(-a.BOT_RUN.compactFiles),l=n.length-i.length,s=i.map(e=>`- ${e}`);return l&&s.unshift(`- …and ${l} older ones`),`
|
|
14
|
+
|
|
15
|
+
Files this job has on disk now — open one rather than fetching again what is in it:
|
|
16
|
+
${s.join("\n")}`}catch(e){return h.logger.warn("files under the summary could not be listed",e),""}}async function _(e,t,o,n){let a;try{return await w(e,t,o,n)}catch(e){if(n.signal?.aborted)throw e;a=e}if((0,l.isContextOverflow)(a)){let i=(0,r.pruneMessages)({messages:o,toolCalls:"before-last-4-messages",emptyMessages:"remove"});try{return await w(e,t,i,n)}catch(e){if(n.signal?.aborted)throw e;a=e}}throw Error(`Could not compact the context (${(0,l.modelErrorToString)(a)}).`,{cause:a})}async function w(e,t,o,n){let i,{text:l,usage:s}=await (0,r.generateText)({model:e,system:n.instructions,tools:t,toolChoice:"none",messages:[...o,{role:"user",content:(i=(e=>{let{min:t,max:o,perTokens:r}=a.BOT_RUN.summaryWords;return Math.min(o,Math.max(t,Math.round(e/r)))})(n.budget),`Compact your context. The first message above — who handed you the job, and the job — stays exactly as it is. Everything after it is replaced by what you write now, and you carry on from that first message and this alone; nothing else above can be read again. Write it for a fresh copy of you that has your tools, your instructions and that first message, but has seen none of the rest.
|
|
17
|
+
|
|
18
|
+
Cover all of it, and prefer a fact over a description of a fact:
|
|
19
|
+
|
|
20
|
+
- **Where the job stands against that first message.** Do not restate the job; say what has changed since — a choice made, a detail settled, an answer that came back, a correction, anything you are still waiting on.
|
|
21
|
+
- **What is already true.** Every value you have — numbers, names, dates, ids, urls, prices, times — written out, not referred to. A value you leave out is one the next steps go and fetch again.
|
|
22
|
+
- **Where you are.** Which page the browser is on by url, whether you are signed in and to what, what is running, what you were in the middle of. Element refs do not survive this: name what to look for, never a ref.
|
|
23
|
+
- **Files.** Every path you wrote or read, and one line on what each holds.
|
|
24
|
+
- **What did not work**, and why: the url that 404s, the endpoint that needs POST not GET, the selector that is not there, the site that refuses a headless browser, the argument a tool rejected. This is the part that stops the next steps repeating an hour of yours.
|
|
25
|
+
- **What is left**, in the order you would do it.
|
|
26
|
+
|
|
27
|
+
Plain text, under ${i} words. No preamble, no headings about the summary itself, no account of how you have been going.`)}],abortSignal:n.signal,timeout:a.BOT_RUN.silenceMs}),u=l.trim();if(!u)throw Object.assign(Error("The summary of the context came back empty, so there is nothing to carry on from."),{isRetryable:!0});return{text:`Everything between the first message and here was compacted. Below is your own summary of it; carry on from the first message and this.
|
|
28
|
+
|
|
29
|
+
${u}`,usage:x(s)}}let x=e=>({input:e.inputTokens??0,output:e.outputTokens??0});e.s(["resumeTranscript",0,function(e,t=new Map){let o=new Map,r=new Set;for(let t of e)if(("tool"===t.role||"assistant"===t.role)&&Array.isArray(t.content))for(let e of t.content)"tool-result"===e.type&&(o.has(e.toolCallId)||o.set(e.toolCallId,e),"assistant"===t.role&&r.add(e.toolCallId));let n=[],a=new Set;for(let i of e){if("tool"===i.role){let e=i.content.filter(e=>"tool-result"!==e.type);e.length&&n.push({...i,content:e});continue}if("assistant"!==i.role||"string"==typeof i.content){n.push(i);continue}let e=[],l=[];for(let n of i.content){if("tool-call"!==n.type){l.push(n);continue}if(a.has(n.toolCallId))continue;let i=n.input;if("string"==typeof i)try{i=JSON.parse(i)}catch{i=void 0}if(!n.toolCallId||void 0===i){l.push({type:"text",text:"A tool argument stream was interrupted before a complete call was recorded. Inspect the saved work before continuing."});continue}let s=n.toolName===d.TOOL_NAMES.send_message?t.get(n.toolCallId):void 0,u=o.get(n.toolCallId)??(s?{type:"tool-result",toolCallId:n.toolCallId,toolName:n.toolName,output:{type:"json",value:s}}:void 0);if(n.providerExecuted&&(!u||!r.has(n.toolCallId))){l.push({type:"text",text:u?`The provider operation ${n.toolName} returned this data before its native continuation was interrupted: ${JSON.stringify(u.output)}`:`The provider operation ${n.toolName} was interrupted without a recorded result. Its remote execution state is unknown.`});continue}a.add(n.toolCallId),l.push({...n,input:i}),r.has(n.toolCallId)||e.push(u??{type:"tool-result",toolCallId:n.toolCallId,toolName:n.toolName,output:{type:"text",value:"No result: execution was interrupted before a result was recorded. The outcome is unknown. Inspect the current state before repeating the action."}})}l.length&&n.push({...i,content:l}),e.length&&n.push({role:"tool",content:e})}return n},"runBot",0,v]),o()}catch(e){o(e)}},!1),950262,e=>{"use strict";var t=e.i(853205),o=e.i(900533);let r=t.z.object({url:t.z.url(),headers:t.z.record(t.z.string(),t.z.string()).optional(),oauthClient:t.z.object({clientId:t.z.string().min(1),clientSecret:t.z.string().optional()}).optional()}),n=t.z.object({command:t.z.string().min(1),args:t.z.array(t.z.string()).optional(),env:t.z.record(t.z.string(),t.z.string()).optional()}),a=t.z.union([r,n]),i=t.z.object({name:t.z.string(),description:t.z.string().optional(),inputSchema:t.z.looseObject({}).optional(),outputSchema:t.z.looseObject({}).optional()});t.z.object({clientInformation:t.z.looseObject({}).optional(),tokens:t.z.looseObject({}).optional(),authorizationServer:t.z.looseObject({}).optional(),codeVerifier:t.z.string().optional(),state:t.z.string().optional()});let l=t.z.object({name:t.z.string().min(1).max(40),config:a,toolCount:t.z.number().int(),lastError:t.z.string().nullish()}),s=i.extend({id:t.z.number().int(),description:t.z.string().nullish()});l.omit({toolCount:!0}).extend({tools:s.array().default([]),toolsSyncedAt:o.DateLikeSchema}),t.z.object({name:t.z.string().min(1,"Name is required").max(40).regex(/^[a-zA-Z0-9_-]+$/,"Only letters, numbers, - and _ are allowed"),config:a}),t.z.union([t.z.object({mcpServers:t.z.record(t.z.string(),a)}),t.z.record(t.z.string(),a)]),e.s(["isRemoteConfig",0,function(e){return"url"in e}])},993195,e=>e.a(async(t,o)=>{try{var r=e.i(336763),n=e.i(533102),a=e.i(232347),i=e.i(876393),l=e.i(220376);e.i(950262);var s=t([i]);async function u(e){let[t]=await i.database.select().from(l.mcpServerTable).where((0,r.eq)(l.mcpServerTable.name,e));return t??null}[i]=s.then?(await s)():s;let g=()=>a.appEvents.emit({type:"mcp"});async function d(e,t){await i.database.transaction(async o=>{t.length&&await o.insert(l.mcpToolTable).values(t.map(t=>({...t,serverName:e}))).onConflictDoUpdate({target:[l.mcpToolTable.serverName,l.mcpToolTable.name],set:{description:c(l.mcpToolTable.description),inputSchema:c(l.mcpToolTable.inputSchema),outputSchema:c(l.mcpToolTable.outputSchema)}}),await o.delete(l.mcpToolTable).where(t.length?(0,r.and)((0,r.eq)(l.mcpToolTable.serverName,e),(0,r.notInArray)(l.mcpToolTable.name,t.map(e=>e.name))):(0,r.eq)(l.mcpToolTable.serverName,e)),await o.update(l.mcpServerTable).set({lastError:null,toolsSyncedAt:new Date}).where((0,r.eq)(l.mcpServerTable.name,e))}),g()}function c(e){return n.sql.raw(`excluded."${e.name}"`)}async function p(e,t){await i.database.update(l.mcpServerTable).set({lastError:t}).where((0,r.eq)(l.mcpServerTable.name,e)),g()}async function h(e,t){await i.database.update(l.mcpServerTable).set({oauth:t}).where((0,r.eq)(l.mcpServerTable.name,e)),g()}async function m(e){let[t]=await i.database.select().from(l.mcpServerTable).where(n.sql`json_extract(${l.mcpServerTable.oauth}, '$.state') = ${e}`);return t??null}e.s(["findPinnedTools",0,function(e){return i.database.select({server:l.mcpToolTable.serverName,name:l.mcpToolTable.name,description:l.mcpToolTable.description,inputSchema:l.mcpToolTable.inputSchema}).from(l.botMcpToolTable).innerJoin(l.mcpToolTable,(0,r.eq)(l.botMcpToolTable.toolId,l.mcpToolTable.id)).where((0,r.eq)(l.botMcpToolTable.botName,e)).orderBy(l.mcpToolTable.serverName,l.mcpToolTable.name)},"findServer",0,u,"findServerByOAuthState",0,m,"findToolSchemas",0,function(e,t){return t.length?i.database.select({name:l.mcpToolTable.name,description:l.mcpToolTable.description,inputSchema:l.mcpToolTable.inputSchema}).from(l.mcpToolTable).where((0,r.and)((0,r.eq)(l.mcpToolTable.serverName,e),(0,r.inArray)(l.mcpToolTable.name,t))).orderBy(l.mcpToolTable.name):Promise.resolve([])},"listServerNames",0,function(){return i.database.select({name:l.mcpServerTable.name}).from(l.mcpServerTable).orderBy(l.mcpServerTable.name)},"listToolNames",0,function(e){let t=i.database.select({server:l.mcpToolTable.serverName,name:l.mcpToolTable.name}).from(l.mcpToolTable);return e?t.where((0,r.eq)(l.mcpToolTable.serverName,e)).orderBy(l.mcpToolTable.name):t.orderBy(l.mcpToolTable.serverName,l.mcpToolTable.name)},"saveConnectionError",0,p,"saveOAuthData",0,h,"syncServerTools",0,d]),o()}catch(e){o(e)}},!1),375814,e=>{"use strict";var t=e.i(333925);let o=e=>`text/${e}; charset=utf-8`,r=Object.entries({md:{kind:"markdown",mime:o("markdown")},markdown:{kind:"markdown",mime:o("markdown")},csv:{kind:"csv",mime:o("csv")},json:{kind:"json",mime:"application/json; charset=utf-8"},txt:{kind:"text",mime:o("plain")},log:{kind:"text",mime:o("plain")},html:{kind:"frame",mime:o("html")},htm:{kind:"frame",mime:o("html")},pdf:{kind:"frame",mime:"application/pdf"},png:{kind:"image",mime:"image/png"},jpg:{kind:"image",mime:"image/jpeg"},jpeg:{kind:"image",mime:"image/jpeg"},gif:{kind:"image",mime:"image/gif"},webp:{kind:"image",mime:"image/webp"},svg:{kind:"image",mime:"image/svg+xml"},mp3:{kind:"audio",mime:"audio/mpeg"},wav:{kind:"audio",mime:"audio/wav"},mp4:{kind:"video",mime:"video/mp4"},webm:{kind:"video",mime:"video/webm"},css:{kind:"none",mime:o("css")},js:{kind:"none",mime:o("javascript")},woff2:{kind:"none",mime:"font/woff2"}}).filter(([,e])=>"none"!==e.kind).map(([e])=>e),n=RegExp(String.raw`(?<![\p{L}\p{N}_/:@%-])(?:[\p{L}\p{N}_.@%-]+/)*[\p{L}\p{N}_@%-]+(?:\.[\p{L}\p{N}_-]+)*\.(?:${r.join("|")})\b`,"giu"),a=`${t.PATHS.workspace}/`;e.s(["pathsIn",0,function(e){let t=e.replace(/\b[a-z][\w+.-]*:\/\/\S+/gi," "),o=new Set;for(let e of t.match(n)??[]){let t=function(e){let t,o,r=(o=(t=e.trim()).indexOf(a))>=0?t.slice(o+a.length)||null:t.startsWith("/")||/^[A-Za-z]:/.test(t)||t.split("/").includes("..")?null:t||null;if(!r)return null;let[n,...i]=r.split("/");return i.length&&n.includes(".")?null:r}(e);t&&o.add(t)}return[...o].slice(0,6)}])},528803,e=>{"use strict";var t=e.i(874533),o=e.i(333925);let r=`on run argv
|
|
30
|
+
display notification (item 2 of argv) with title (item 1 of argv)
|
|
31
|
+
end run`,n=`
|
|
32
|
+
$ErrorActionPreference = 'Stop'
|
|
33
|
+
[void][Windows.UI.Notifications.ToastNotificationManager, Windows.UI.Notifications, ContentType = WindowsRuntime]
|
|
34
|
+
$xml = [Windows.UI.Notifications.ToastNotificationManager]::GetTemplateContent([Windows.UI.Notifications.ToastTemplateType]::ToastText02)
|
|
35
|
+
$text = $xml.GetElementsByTagName('text')
|
|
36
|
+
[void]$text.Item(0).AppendChild($xml.CreateTextNode($env:NOTIFY_TITLE))
|
|
37
|
+
[void]$text.Item(1).AppendChild($xml.CreateTextNode($env:NOTIFY_BODY))
|
|
38
|
+
$id = '{1AC14E77-02E7-4E5D-B744-2EB1AE5198B7}\\WindowsPowerShell\\v1.0\\powershell.exe'
|
|
39
|
+
[Windows.UI.Notifications.ToastNotificationManager]::CreateToastNotifier($id).Show([Windows.UI.Notifications.ToastNotification]::new($xml))
|
|
40
|
+
`,a={darwin:(e,t)=>["osascript",["-e",r,"--",e,t]],win32:()=>["powershell.exe",["-NoProfile","-NonInteractive","-Command",n]],linux:(e,t)=>["notify-send",["--app-name",o.APP_NAME,"--",e,t]]};e.s(["desktopNotify",0,function(e,o){let r=e.slice(0,80),n=o.slice(0,200),i=a[process.platform]?.(r,n);if(!i)return;let[l,s]=i;(0,t.execFile)(l,s,{env:{...process.env,NOTIFY_TITLE:r,NOTIFY_BODY:n},timeout:1e4,windowsHide:!0},()=>{})}])},212389,e=>{"use strict";class t extends Error{message;constructor(e){super(e),this.message=e}}e.s(["isPublicError",0,e=>e instanceof t,"publicError",0,function(e){throw new t(e)}])},128278,e=>{"use strict";var t=e.i(296194),o=e.i(691296),r=e.i(853205),n=e.i(548874),a=(0,o.lazySchema)(()=>(0,o.zodSchema)(r.z.object({type:r.z.literal("error"),error:r.z.object({type:r.z.string(),message:r.z.string()})}))),i=(0,o.createJsonErrorResponseHandler)({errorSchema:a,errorToMessage:e=>e.error.message}),l=(0,o.lazySchema)(()=>(0,o.zodSchema)(r.z.object({id:r.z.string(),type:r.z.literal("file"),filename:r.z.string(),mime_type:r.z.string(),size_bytes:r.z.number(),created_at:r.z.string(),downloadable:r.z.boolean().nullish()}))),s=class{constructor(e){this.config=e,this.specificationVersion="v4"}get provider(){return this.config.provider}async uploadFile({data:e,mediaType:t,filename:r,abortSignal:n,headers:a}){var s,u;let d=new Blob([(0,o.convertInlineFileDataToUint8Array)(e)],{type:t}),c=new FormData;null!=r?c.append("file",d,r):c.append("file",d);let{value:p}=await (0,o.postFormDataToApi)({url:`${this.config.baseURL}/files`,headers:(0,o.combineHeaders)(this.config.headers(),{"anthropic-beta":"files-api-2025-04-14"},a),formData:c,failedResponseHandler:i,successfulResponseHandler:(0,o.createJsonResponseHandler)(l),abortSignal:n,fetch:this.config.fetch});return{warnings:[],providerReference:{anthropic:p.id},mediaType:null!=(s=p.mime_type)?s:t,filename:null!=(u=p.filename)?u:r,providerMetadata:{anthropic:{filename:p.filename,mimeType:p.mime_type,sizeBytes:p.size_bytes,createdAt:p.created_at,...null!=p.downloadable?{downloadable:p.downloadable}:{}}}}}},u=r.z.object({type:r.z.string(),category:r.z.string().nullish(),explanation:r.z.string().nullish(),recommended_model:r.z.string().nullish()}),d=r.z.union([r.z.object({type:r.z.literal("code_execution_20250825"),tool_id:r.z.string()}),r.z.object({type:r.z.literal("code_execution_20260120"),tool_id:r.z.string()}),r.z.object({type:r.z.literal("direct")})]),c=r.z.discriminatedUnion("type",[r.z.object({type:r.z.literal("web_search_result_location"),cited_text:r.z.string(),url:r.z.string(),title:r.z.string().nullable(),encrypted_index:r.z.string()}),r.z.object({type:r.z.literal("page_location"),cited_text:r.z.string(),document_index:r.z.number(),document_title:r.z.string().nullable(),start_page_number:r.z.number(),end_page_number:r.z.number(),file_id:r.z.string().nullish()}),r.z.object({type:r.z.literal("char_location"),cited_text:r.z.string(),document_index:r.z.number(),document_title:r.z.string().nullable(),start_char_index:r.z.number(),end_char_index:r.z.number(),file_id:r.z.string().nullish()}),r.z.object({type:r.z.literal("content_block_location"),cited_text:r.z.string(),document_index:r.z.number(),document_title:r.z.string().nullable(),start_block_index:r.z.number(),end_block_index:r.z.number(),file_id:r.z.string().nullable()}),r.z.object({type:r.z.literal("search_result_location"),cited_text:r.z.string(),search_result_index:r.z.number(),source:r.z.string(),title:r.z.string().nullable(),start_block_index:r.z.number(),end_block_index:r.z.number()})]),p=r.z.union([r.z.string(),r.z.array(r.z.union([r.z.string(),r.z.object({type:r.z.literal("text"),text:r.z.string(),citations:r.z.array(r.z.json()).nullable().optional()})]))]),h=(0,o.lazySchema)(()=>(0,o.zodSchema)(r.z.object({type:r.z.literal("message"),id:r.z.string().nullish(),model:r.z.string().nullish(),content:r.z.array(r.z.discriminatedUnion("type",[r.z.object({type:r.z.literal("text"),text:r.z.string(),citations:r.z.array(c).nullable().optional()}),r.z.object({type:r.z.literal("thinking"),thinking:r.z.string(),signature:r.z.string()}),r.z.object({type:r.z.literal("redacted_thinking"),data:r.z.string()}),r.z.object({type:r.z.literal("compaction"),content:r.z.string()}),r.z.object({type:r.z.literal("tool_use"),id:r.z.string(),name:r.z.string(),input:r.z.unknown(),caller:d.optional()}),r.z.object({type:r.z.literal("server_tool_use"),id:r.z.string(),name:r.z.string(),input:r.z.record(r.z.string(),r.z.unknown()).nullish(),caller:d.optional()}),r.z.object({type:r.z.literal("mcp_tool_use"),id:r.z.string(),name:r.z.string(),input:r.z.unknown(),server_name:r.z.string()}),r.z.object({type:r.z.literal("mcp_tool_result"),tool_use_id:r.z.string(),is_error:r.z.boolean(),content:p}),r.z.object({type:r.z.literal("web_fetch_tool_result"),tool_use_id:r.z.string(),caller:d.optional(),content:r.z.union([r.z.object({type:r.z.literal("web_fetch_result"),url:r.z.string(),retrieved_at:r.z.string().nullable(),content:r.z.object({type:r.z.literal("document"),title:r.z.string().nullable(),citations:r.z.object({enabled:r.z.boolean()}).optional(),source:r.z.union([r.z.object({type:r.z.literal("base64"),media_type:r.z.literal("application/pdf"),data:r.z.string()}),r.z.object({type:r.z.literal("text"),media_type:r.z.literal("text/plain"),data:r.z.string()})])})}),r.z.object({type:r.z.literal("web_fetch_tool_result_error"),error_code:r.z.string()})])}),r.z.object({type:r.z.literal("web_search_tool_result"),tool_use_id:r.z.string(),caller:d.optional(),content:r.z.union([r.z.array(r.z.object({type:r.z.literal("web_search_result"),url:r.z.string(),title:r.z.string().nullable(),encrypted_content:r.z.string(),page_age:r.z.string().nullish()})),r.z.object({type:r.z.literal("web_search_tool_result_error"),error_code:r.z.string()})])}),r.z.object({type:r.z.literal("code_execution_tool_result"),tool_use_id:r.z.string(),content:r.z.union([r.z.object({type:r.z.literal("code_execution_result"),stdout:r.z.string(),stderr:r.z.string(),return_code:r.z.number(),content:r.z.array(r.z.object({type:r.z.literal("code_execution_output"),file_id:r.z.string()})).optional().default([])}),r.z.object({type:r.z.literal("encrypted_code_execution_result"),encrypted_stdout:r.z.string(),stderr:r.z.string(),return_code:r.z.number(),content:r.z.array(r.z.object({type:r.z.literal("code_execution_output"),file_id:r.z.string()})).optional().default([])}),r.z.object({type:r.z.literal("code_execution_tool_result_error"),error_code:r.z.string()})])}),r.z.object({type:r.z.literal("bash_code_execution_tool_result"),tool_use_id:r.z.string(),content:r.z.discriminatedUnion("type",[r.z.object({type:r.z.literal("bash_code_execution_result"),content:r.z.array(r.z.object({type:r.z.literal("bash_code_execution_output"),file_id:r.z.string()})),stdout:r.z.string(),stderr:r.z.string(),return_code:r.z.number()}),r.z.object({type:r.z.literal("bash_code_execution_tool_result_error"),error_code:r.z.string()})])}),r.z.object({type:r.z.literal("text_editor_code_execution_tool_result"),tool_use_id:r.z.string(),content:r.z.discriminatedUnion("type",[r.z.object({type:r.z.literal("text_editor_code_execution_tool_result_error"),error_code:r.z.string()}),r.z.object({type:r.z.literal("text_editor_code_execution_view_result"),content:r.z.string(),file_type:r.z.string(),num_lines:r.z.number().nullable(),start_line:r.z.number().nullable(),total_lines:r.z.number().nullable()}),r.z.object({type:r.z.literal("text_editor_code_execution_create_result"),is_file_update:r.z.boolean()}),r.z.object({type:r.z.literal("text_editor_code_execution_str_replace_result"),lines:r.z.array(r.z.string()).nullable(),new_lines:r.z.number().nullable(),new_start:r.z.number().nullable(),old_lines:r.z.number().nullable(),old_start:r.z.number().nullable()})])}),r.z.object({type:r.z.literal("tool_search_tool_result"),tool_use_id:r.z.string(),content:r.z.union([r.z.object({type:r.z.literal("tool_search_tool_search_result"),tool_references:r.z.array(r.z.object({type:r.z.literal("tool_reference"),tool_name:r.z.string()}))}),r.z.object({type:r.z.literal("tool_search_tool_result_error"),error_code:r.z.string()})])}),r.z.object({type:r.z.literal("container_upload"),file_id:r.z.string()}),r.z.object({type:r.z.literal("advisor_tool_result"),tool_use_id:r.z.string(),content:r.z.discriminatedUnion("type",[r.z.object({type:r.z.literal("advisor_result"),text:r.z.string(),stop_reason:r.z.string().nullish()}),r.z.object({type:r.z.literal("advisor_redacted_result"),encrypted_content:r.z.string(),stop_reason:r.z.string().nullish()}),r.z.object({type:r.z.literal("advisor_tool_result_error"),error_code:r.z.string()})])}),r.z.object({type:r.z.literal("fallback")})])),stop_reason:r.z.string().nullish(),stop_sequence:r.z.string().nullish(),stop_details:u.nullish(),usage:r.z.looseObject({input_tokens:r.z.number(),output_tokens:r.z.number(),output_tokens_details:r.z.object({thinking_tokens:r.z.number().nullish()}).nullish(),cache_creation_input_tokens:r.z.number().nullish(),cache_read_input_tokens:r.z.number().nullish(),iterations:r.z.array(r.z.object({type:r.z.union([r.z.literal("compaction"),r.z.literal("message"),r.z.literal("advisor_message"),r.z.literal("fallback_message")]),model:r.z.string().nullish(),input_tokens:r.z.number(),output_tokens:r.z.number(),cache_creation_input_tokens:r.z.number().nullish(),cache_read_input_tokens:r.z.number().nullish()})).nullish()}),container:r.z.object({expires_at:r.z.string(),id:r.z.string(),skills:r.z.array(r.z.object({type:r.z.union([r.z.literal("anthropic"),r.z.literal("custom")]),skill_id:r.z.string(),version:r.z.string()})).nullish()}).nullish(),context_management:r.z.object({applied_edits:r.z.array(r.z.union([r.z.object({type:r.z.literal("clear_tool_uses_20250919"),cleared_tool_uses:r.z.number(),cleared_input_tokens:r.z.number()}),r.z.object({type:r.z.literal("clear_thinking_20251015"),cleared_thinking_turns:r.z.number(),cleared_input_tokens:r.z.number()}),r.z.object({type:r.z.literal("compact_20260112")})]))}).nullish()}))),m=(0,o.lazySchema)(()=>(0,o.zodSchema)(r.z.discriminatedUnion("type",[r.z.object({type:r.z.literal("message_start"),message:r.z.object({id:r.z.string().nullish(),model:r.z.string().nullish(),role:r.z.string().nullish(),usage:r.z.looseObject({input_tokens:r.z.number(),cache_creation_input_tokens:r.z.number().nullish(),cache_read_input_tokens:r.z.number().nullish()}),content:r.z.array(r.z.discriminatedUnion("type",[r.z.object({type:r.z.literal("tool_use"),id:r.z.string(),name:r.z.string(),input:r.z.unknown(),caller:d.optional()})])).nullish(),stop_reason:r.z.string().nullish(),container:r.z.object({expires_at:r.z.string(),id:r.z.string()}).nullish()})}),r.z.object({type:r.z.literal("content_block_start"),index:r.z.number(),content_block:r.z.discriminatedUnion("type",[r.z.object({type:r.z.literal("text"),text:r.z.string()}),r.z.object({type:r.z.literal("thinking"),thinking:r.z.string()}),r.z.object({type:r.z.literal("tool_use"),id:r.z.string(),name:r.z.string(),input:r.z.record(r.z.string(),r.z.unknown()).optional(),caller:d.optional()}),r.z.object({type:r.z.literal("redacted_thinking"),data:r.z.string()}),r.z.object({type:r.z.literal("compaction"),content:r.z.string().nullish()}),r.z.object({type:r.z.literal("server_tool_use"),id:r.z.string(),name:r.z.string(),input:r.z.record(r.z.string(),r.z.unknown()).nullish(),caller:d.optional()}),r.z.object({type:r.z.literal("mcp_tool_use"),id:r.z.string(),name:r.z.string(),input:r.z.unknown(),server_name:r.z.string()}),r.z.object({type:r.z.literal("mcp_tool_result"),tool_use_id:r.z.string(),is_error:r.z.boolean(),content:p}),r.z.object({type:r.z.literal("web_fetch_tool_result"),tool_use_id:r.z.string(),caller:d.optional(),content:r.z.union([r.z.object({type:r.z.literal("web_fetch_result"),url:r.z.string(),retrieved_at:r.z.string().nullable(),content:r.z.object({type:r.z.literal("document"),title:r.z.string().nullable(),citations:r.z.object({enabled:r.z.boolean()}).optional(),source:r.z.union([r.z.object({type:r.z.literal("base64"),media_type:r.z.literal("application/pdf"),data:r.z.string()}),r.z.object({type:r.z.literal("text"),media_type:r.z.literal("text/plain"),data:r.z.string()})])})}),r.z.object({type:r.z.literal("web_fetch_tool_result_error"),error_code:r.z.string()})])}),r.z.object({type:r.z.literal("web_search_tool_result"),tool_use_id:r.z.string(),caller:d.optional(),content:r.z.union([r.z.array(r.z.object({type:r.z.literal("web_search_result"),url:r.z.string(),title:r.z.string().nullable(),encrypted_content:r.z.string(),page_age:r.z.string().nullish()})),r.z.object({type:r.z.literal("web_search_tool_result_error"),error_code:r.z.string()})])}),r.z.object({type:r.z.literal("code_execution_tool_result"),tool_use_id:r.z.string(),content:r.z.union([r.z.object({type:r.z.literal("code_execution_result"),stdout:r.z.string(),stderr:r.z.string(),return_code:r.z.number(),content:r.z.array(r.z.object({type:r.z.literal("code_execution_output"),file_id:r.z.string()})).optional().default([])}),r.z.object({type:r.z.literal("encrypted_code_execution_result"),encrypted_stdout:r.z.string(),stderr:r.z.string(),return_code:r.z.number(),content:r.z.array(r.z.object({type:r.z.literal("code_execution_output"),file_id:r.z.string()})).optional().default([])}),r.z.object({type:r.z.literal("code_execution_tool_result_error"),error_code:r.z.string()})])}),r.z.object({type:r.z.literal("bash_code_execution_tool_result"),tool_use_id:r.z.string(),content:r.z.discriminatedUnion("type",[r.z.object({type:r.z.literal("bash_code_execution_result"),content:r.z.array(r.z.object({type:r.z.literal("bash_code_execution_output"),file_id:r.z.string()})),stdout:r.z.string(),stderr:r.z.string(),return_code:r.z.number()}),r.z.object({type:r.z.literal("bash_code_execution_tool_result_error"),error_code:r.z.string()})])}),r.z.object({type:r.z.literal("text_editor_code_execution_tool_result"),tool_use_id:r.z.string(),content:r.z.discriminatedUnion("type",[r.z.object({type:r.z.literal("text_editor_code_execution_tool_result_error"),error_code:r.z.string()}),r.z.object({type:r.z.literal("text_editor_code_execution_view_result"),content:r.z.string(),file_type:r.z.string(),num_lines:r.z.number().nullable(),start_line:r.z.number().nullable(),total_lines:r.z.number().nullable()}),r.z.object({type:r.z.literal("text_editor_code_execution_create_result"),is_file_update:r.z.boolean()}),r.z.object({type:r.z.literal("text_editor_code_execution_str_replace_result"),lines:r.z.array(r.z.string()).nullable(),new_lines:r.z.number().nullable(),new_start:r.z.number().nullable(),old_lines:r.z.number().nullable(),old_start:r.z.number().nullable()})])}),r.z.object({type:r.z.literal("tool_search_tool_result"),tool_use_id:r.z.string(),content:r.z.union([r.z.object({type:r.z.literal("tool_search_tool_search_result"),tool_references:r.z.array(r.z.object({type:r.z.literal("tool_reference"),tool_name:r.z.string()}))}),r.z.object({type:r.z.literal("tool_search_tool_result_error"),error_code:r.z.string()})])}),r.z.object({type:r.z.literal("advisor_tool_result"),tool_use_id:r.z.string(),content:r.z.discriminatedUnion("type",[r.z.object({type:r.z.literal("advisor_result"),text:r.z.string(),stop_reason:r.z.string().nullish()}),r.z.object({type:r.z.literal("advisor_redacted_result"),encrypted_content:r.z.string(),stop_reason:r.z.string().nullish()}),r.z.object({type:r.z.literal("advisor_tool_result_error"),error_code:r.z.string()})])}),r.z.object({type:r.z.literal("fallback")})])}),r.z.object({type:r.z.literal("content_block_delta"),index:r.z.number(),delta:r.z.discriminatedUnion("type",[r.z.object({type:r.z.literal("input_json_delta"),partial_json:r.z.string()}),r.z.object({type:r.z.literal("text_delta"),text:r.z.string()}),r.z.object({type:r.z.literal("thinking_delta"),thinking:r.z.string()}),r.z.object({type:r.z.literal("signature_delta"),signature:r.z.string()}),r.z.object({type:r.z.literal("compaction_delta"),content:r.z.string().nullish()}),r.z.object({type:r.z.literal("citations_delta"),citation:c})])}),r.z.object({type:r.z.literal("content_block_stop"),index:r.z.number()}),r.z.object({type:r.z.literal("error"),error:r.z.object({type:r.z.string(),message:r.z.string(),code:r.z.union([r.z.string(),r.z.number()]).nullish(),statusCode:r.z.number().nullish(),isRetryable:r.z.boolean().nullish(),data:r.z.unknown().nullish()})}),r.z.object({type:r.z.literal("message_delta"),delta:r.z.object({stop_reason:r.z.string().nullish(),stop_sequence:r.z.string().nullish(),stop_details:u.nullish(),container:r.z.object({expires_at:r.z.string(),id:r.z.string(),skills:r.z.array(r.z.object({type:r.z.union([r.z.literal("anthropic"),r.z.literal("custom")]),skill_id:r.z.string(),version:r.z.string()})).nullish()}).nullish()}),usage:r.z.looseObject({input_tokens:r.z.number().nullish(),output_tokens:r.z.number(),output_tokens_details:r.z.object({thinking_tokens:r.z.number().nullish()}).nullish(),cache_creation_input_tokens:r.z.number().nullish(),cache_read_input_tokens:r.z.number().nullish(),iterations:r.z.array(r.z.object({type:r.z.union([r.z.literal("compaction"),r.z.literal("message"),r.z.literal("advisor_message"),r.z.literal("fallback_message")]),model:r.z.string().nullish(),input_tokens:r.z.number(),output_tokens:r.z.number(),cache_creation_input_tokens:r.z.number().nullish(),cache_read_input_tokens:r.z.number().nullish()})).nullish()}),context_management:r.z.object({applied_edits:r.z.array(r.z.union([r.z.object({type:r.z.literal("clear_tool_uses_20250919"),cleared_tool_uses:r.z.number(),cleared_input_tokens:r.z.number()}),r.z.object({type:r.z.literal("clear_thinking_20251015"),cleared_thinking_turns:r.z.number(),cleared_input_tokens:r.z.number()}),r.z.object({type:r.z.literal("compact_20260112")})]))}).nullish()}),r.z.object({type:r.z.literal("message_stop")}),r.z.object({type:r.z.literal("ping")})]))),g=(0,o.lazySchema)(()=>(0,o.zodSchema)(r.z.object({signature:r.z.string().optional(),redactedData:r.z.string().optional()}))),f=r.z.object({containerUpload:r.z.boolean().optional(),citations:r.z.object({enabled:r.z.boolean()}).optional(),title:r.z.string().optional(),context:r.z.string().optional()}),y=r.z.object({clearAt:r.z.literal("next_user_message").optional(),effort:r.z.enum(["low","medium","high","xhigh","max"]).optional(),toolChanges:r.z.array(r.z.discriminatedUnion("type",[r.z.object({type:r.z.literal("tool_addition"),toolName:r.z.string()}),r.z.object({type:r.z.literal("tool_removal"),toolName:r.z.string()})])).optional()}),v=r.z.object({sendReasoning:r.z.boolean().optional(),structuredOutputMode:r.z.enum(["outputFormat","jsonTool","auto"]).optional(),thinking:r.z.union([r.z.discriminatedUnion("type",[r.z.object({type:r.z.literal("adaptive"),display:r.z.enum(["omitted","summarized","updates"]).optional(),blockBinding:r.z.object({prefixMismatchBehavior:r.z.literal("drop_block")}).optional()}),r.z.object({type:r.z.literal("enabled"),budgetTokens:r.z.number().optional()}),r.z.object({type:r.z.literal("disabled")})]),r.z.object({type:r.z.never().optional(),blockBinding:r.z.object({prefixMismatchBehavior:r.z.literal("drop_block")})})]).optional(),disableParallelToolUse:r.z.boolean().optional(),cacheControl:r.z.object({type:r.z.literal("ephemeral"),ttl:r.z.union([r.z.literal("5m"),r.z.literal("1h")]).optional()}).optional(),metadata:r.z.object({userId:r.z.string().optional()}).optional(),mcpServers:r.z.array(r.z.object({type:r.z.literal("url"),name:r.z.string(),url:r.z.string(),authorizationToken:r.z.string().nullish(),toolConfiguration:r.z.object({enabled:r.z.boolean().nullish(),allowedTools:r.z.array(r.z.string()).nullish()}).nullish()})).optional(),container:r.z.object({id:r.z.string().optional(),skills:r.z.array(r.z.discriminatedUnion("type",[r.z.object({type:r.z.literal("anthropic"),skillId:r.z.string(),version:r.z.string().optional()}),r.z.object({type:r.z.literal("custom"),providerReference:r.z.record(r.z.string(),r.z.string()),version:r.z.string().optional()})])).optional()}).optional(),toolStreaming:r.z.boolean().optional(),effort:r.z.enum(["low","medium","high","xhigh","max"]).optional(),taskBudget:r.z.object({type:r.z.literal("tokens"),total:r.z.number().int().min(2e4),remaining:r.z.number().int().min(0).optional()}).optional(),speed:r.z.enum(["fast","standard"]).optional(),serviceTier:r.z.enum(["auto","standard_only"]).optional(),inferenceGeo:r.z.enum(["us","global"]).optional(),fallbacks:r.z.union([r.z.literal("default"),r.z.array(r.z.object({model:r.z.string(),max_tokens:r.z.number().int().optional(),thinking:r.z.record(r.z.string(),r.z.unknown()).optional(),output_config:r.z.record(r.z.string(),r.z.unknown()).optional(),speed:r.z.enum(["fast","standard"]).optional()}))]).optional(),anthropicBeta:r.z.array(r.z.string()).optional(),contextManagement:r.z.object({edits:r.z.array(r.z.discriminatedUnion("type",[r.z.object({type:r.z.literal("clear_tool_uses_20250919"),trigger:r.z.discriminatedUnion("type",[r.z.object({type:r.z.literal("input_tokens"),value:r.z.number()}),r.z.object({type:r.z.literal("tool_uses"),value:r.z.number()})]).optional(),keep:r.z.object({type:r.z.literal("tool_uses"),value:r.z.number()}).optional(),clearAtLeast:r.z.object({type:r.z.literal("input_tokens"),value:r.z.number()}).optional(),clearToolInputs:r.z.boolean().optional(),excludeTools:r.z.array(r.z.string()).optional()}),r.z.object({type:r.z.literal("clear_thinking_20251015"),keep:r.z.union([r.z.literal("all"),r.z.object({type:r.z.literal("thinking_turns"),value:r.z.number()})]).optional()}),r.z.object({type:r.z.literal("compact_20260112"),trigger:r.z.object({type:r.z.literal("input_tokens"),value:r.z.number()}).optional(),pauseAfterCompaction:r.z.boolean().optional(),instructions:r.z.string().optional()})]))}).optional()}),b=class{constructor(){this.breakpointCount=0,this.warnings=[]}getCacheControl(e,t){var o;let r,n=null!=(o=null==(r=null==e?void 0:e.anthropic)?void 0:r.cacheControl)?o:null==r?void 0:r.cache_control;if(n)return t.canCache?(this.breakpointCount++,this.breakpointCount>4)?void this.warnings.push({type:"unsupported",feature:"cacheControl breakpoint limit",details:`Maximum 4 cache breakpoints exceeded (found ${this.breakpointCount}). This breakpoint will be ignored.`}):n:void this.warnings.push({type:"unsupported",feature:"cache_control on non-cacheable context",details:`cache_control cannot be set on ${t.type}. It will be ignored.`})}getWarnings(){return this.warnings}},_=(0,o.lazySchema)(()=>(0,o.zodSchema)(r.z.object({model:r.z.string(),maxUses:r.z.number().optional(),maxTokens:r.z.number().int().min(1024).optional(),caching:r.z.object({type:r.z.literal("ephemeral"),ttl:r.z.union([r.z.literal("5m"),r.z.literal("1h")])}).optional()}))),w=(0,o.lazySchema)(()=>(0,o.zodSchema)(r.z.discriminatedUnion("type",[r.z.object({type:r.z.literal("advisor_result"),text:r.z.string(),stopReason:r.z.string().optional()}),r.z.object({type:r.z.literal("advisor_redacted_result"),encryptedContent:r.z.string(),stopReason:r.z.string().optional()}),r.z.object({type:r.z.literal("advisor_tool_result_error"),errorCode:r.z.string()})]))),z=(0,o.lazySchema)(()=>(0,o.zodSchema)(r.z.object({}).strict())),x=(0,o.createProviderExecutedToolFactory)({id:"anthropic.advisor_20260301",inputSchema:z,outputSchema:w,supportsDeferredResults:!0}),T=(0,o.lazySchema)(()=>(0,o.zodSchema)(r.z.object({maxCharacters:r.z.number().optional()}))),k=(0,o.lazySchema)(()=>(0,o.zodSchema)(r.z.object({command:r.z.enum(["view","create","str_replace","insert"]),path:r.z.string(),file_text:r.z.string().optional(),insert_line:r.z.number().int().optional(),new_str:r.z.string().optional(),insert_text:r.z.string().optional(),old_str:r.z.string().optional(),view_range:r.z.array(r.z.number().int()).optional()}))),I=(0,o.createProviderDefinedToolFactory)({id:"anthropic.text_editor_20250728",inputSchema:k}),S=(0,o.lazySchema)(()=>(0,o.zodSchema)(r.z.object({maxUses:r.z.number().optional(),allowedDomains:r.z.array(r.z.string()).optional(),blockedDomains:r.z.array(r.z.string()).optional(),userLocation:r.z.object({type:r.z.literal("approximate"),city:r.z.string().optional(),region:r.z.string().optional(),country:r.z.string().optional(),timezone:r.z.string().optional()}).optional()}))),C=(0,o.lazySchema)(()=>(0,o.zodSchema)(r.z.array(r.z.object({url:r.z.string(),title:r.z.string().nullable(),pageAge:r.z.string().nullable(),encryptedContent:r.z.string(),type:r.z.literal("web_search_result")})))),E=(0,o.lazySchema)(()=>(0,o.zodSchema)(r.z.object({query:r.z.string()}))),A=(0,o.createProviderExecutedToolFactory)({id:"anthropic.web_search_20260209",inputSchema:E,outputSchema:C,supportsDeferredResults:!0}),O=(0,o.lazySchema)(()=>(0,o.zodSchema)(r.z.object({maxUses:r.z.number().optional(),allowedDomains:r.z.array(r.z.string()).optional(),blockedDomains:r.z.array(r.z.string()).optional(),userLocation:r.z.object({type:r.z.literal("approximate"),city:r.z.string().optional(),region:r.z.string().optional(),country:r.z.string().optional(),timezone:r.z.string().optional()}).optional()}))),M=(0,o.lazySchema)(()=>(0,o.zodSchema)(r.z.array(r.z.object({url:r.z.string(),title:r.z.string().nullable(),pageAge:r.z.string().nullable(),encryptedContent:r.z.string(),type:r.z.literal("web_search_result")})))),j=(0,o.lazySchema)(()=>(0,o.zodSchema)(r.z.object({query:r.z.string()}))),R=(0,o.createProviderExecutedToolFactory)({id:"anthropic.web_search_20250305",inputSchema:j,outputSchema:M,supportsDeferredResults:!0}),N=(0,o.lazySchema)(()=>(0,o.zodSchema)(r.z.object({maxUses:r.z.number().optional(),allowedDomains:r.z.array(r.z.string()).optional(),blockedDomains:r.z.array(r.z.string()).optional(),citations:r.z.object({enabled:r.z.boolean()}).optional(),maxContentTokens:r.z.number().optional()}))),P=(0,o.lazySchema)(()=>(0,o.zodSchema)(r.z.object({type:r.z.literal("web_fetch_result"),url:r.z.string(),content:r.z.object({type:r.z.literal("document"),title:r.z.string().nullable(),citations:r.z.object({enabled:r.z.boolean()}).optional(),source:r.z.union([r.z.object({type:r.z.literal("base64"),mediaType:r.z.literal("application/pdf"),data:r.z.string()}),r.z.object({type:r.z.literal("text"),mediaType:r.z.literal("text/plain"),data:r.z.string()})])}),retrievedAt:r.z.string().nullable()}))),$=(0,o.lazySchema)(()=>(0,o.zodSchema)(r.z.object({url:r.z.string()}))),q=(0,o.createProviderExecutedToolFactory)({id:"anthropic.web_fetch_20260209",inputSchema:$,outputSchema:P,supportsDeferredResults:!0}),L=(0,o.lazySchema)(()=>(0,o.zodSchema)(r.z.object({maxUses:r.z.number().optional(),allowedDomains:r.z.array(r.z.string()).optional(),blockedDomains:r.z.array(r.z.string()).optional(),citations:r.z.object({enabled:r.z.boolean()}).optional(),maxContentTokens:r.z.number().optional()}))),D=(0,o.lazySchema)(()=>(0,o.zodSchema)(r.z.object({type:r.z.literal("web_fetch_result"),url:r.z.string(),content:r.z.object({type:r.z.literal("document"),title:r.z.string().nullable(),citations:r.z.object({enabled:r.z.boolean()}).optional(),source:r.z.union([r.z.object({type:r.z.literal("base64"),mediaType:r.z.literal("application/pdf"),data:r.z.string()}),r.z.object({type:r.z.literal("text"),mediaType:r.z.literal("text/plain"),data:r.z.string()})])}),retrievedAt:r.z.string().nullable()}))),U=(0,o.lazySchema)(()=>(0,o.zodSchema)(r.z.object({url:r.z.string()}))),F=(0,o.createProviderExecutedToolFactory)({id:"anthropic.web_fetch_20250910",inputSchema:U,outputSchema:D,supportsDeferredResults:!0});async function B({tools:e,toolChoice:r,disableParallelToolUse:n,cacheControlValidator:a,supportsStructuredOutput:i,supportsStrictTools:l,defaultEagerInputStreaming:s=!1}){var u,d;e=(null==e?void 0:e.length)?e:void 0;let c=[],p=new Set,h=a||new b;if(null==e)return{tools:void 0,toolChoice:void 0,toolWarnings:c,betas:p};let m=[];for(let t of e)switch(t.type){case"function":{let e=h.getCacheControl(t.providerOptions,{type:"tool definition",canCache:!0}),o=null==(u=t.providerOptions)?void 0:u.anthropic,r=null!=(d=null==o?void 0:o.eagerInputStreaming)?d:s,n=null==o?void 0:o.deferLoading,a=null==o?void 0:o.allowedCallers;l||null==t.strict||c.push({type:"unsupported",feature:"strict",details:`Tool '${t.name}' has strict: ${t.strict}, but strict mode is not supported by this provider. The strict property will be ignored.`}),m.push({name:t.name,description:t.description,input_schema:t.inputSchema,cache_control:e,...r?{eager_input_streaming:!0}:{},...!0===l&&null!=t.strict?{strict:t.strict}:{},...null!=n?{defer_loading:n}:{},...null!=a?{allowed_callers:a}:{},...null!=t.inputExamples?{input_examples:t.inputExamples.map(e=>e.input)}:{}}),!0===i&&p.add("structured-outputs-2025-11-13"),(null!=t.inputExamples||null!=a)&&p.add("advanced-tool-use-2025-11-20");break}case"provider":switch(t.id){case"anthropic.code_execution_20250522":p.add("code-execution-2025-05-22"),m.push({type:"code_execution_20250522",name:"code_execution",cache_control:void 0});break;case"anthropic.code_execution_20250825":p.add("code-execution-2025-08-25"),m.push({type:"code_execution_20250825",name:"code_execution"});break;case"anthropic.code_execution_20260120":m.push({type:"code_execution_20260120",name:"code_execution"});break;case"anthropic.computer_20250124":p.add("computer-use-2025-01-24"),m.push({name:"computer",type:"computer_20250124",display_width_px:t.args.displayWidthPx,display_height_px:t.args.displayHeightPx,display_number:t.args.displayNumber,cache_control:void 0});break;case"anthropic.computer_20251124":p.add("computer-use-2025-11-24"),m.push({name:"computer",type:"computer_20251124",display_width_px:t.args.displayWidthPx,display_height_px:t.args.displayHeightPx,display_number:t.args.displayNumber,enable_zoom:t.args.enableZoom,cache_control:void 0});break;case"anthropic.computer_20241022":p.add("computer-use-2024-10-22"),m.push({name:"computer",type:"computer_20241022",display_width_px:t.args.displayWidthPx,display_height_px:t.args.displayHeightPx,display_number:t.args.displayNumber,cache_control:void 0});break;case"anthropic.text_editor_20250124":p.add("computer-use-2025-01-24"),m.push({name:"str_replace_editor",type:"text_editor_20250124",cache_control:void 0});break;case"anthropic.text_editor_20241022":p.add("computer-use-2024-10-22"),m.push({name:"str_replace_editor",type:"text_editor_20241022",cache_control:void 0});break;case"anthropic.text_editor_20250429":p.add("computer-use-2025-01-24"),m.push({name:"str_replace_based_edit_tool",type:"text_editor_20250429",cache_control:void 0});break;case"anthropic.text_editor_20250728":{let e=await (0,o.validateTypes)({value:t.args,schema:T});m.push({name:"str_replace_based_edit_tool",type:"text_editor_20250728",max_characters:e.maxCharacters,cache_control:void 0});break}case"anthropic.bash_20250124":p.add("computer-use-2025-01-24"),m.push({name:"bash",type:"bash_20250124",cache_control:void 0});break;case"anthropic.bash_20241022":p.add("computer-use-2024-10-22"),m.push({name:"bash",type:"bash_20241022",cache_control:void 0});break;case"anthropic.memory_20250818":p.add("context-management-2025-06-27"),m.push({name:"memory",type:"memory_20250818"});break;case"anthropic.web_fetch_20250910":{p.add("web-fetch-2025-09-10");let e=await (0,o.validateTypes)({value:t.args,schema:L});m.push({type:"web_fetch_20250910",name:"web_fetch",max_uses:e.maxUses,allowed_domains:e.allowedDomains,blocked_domains:e.blockedDomains,citations:e.citations,max_content_tokens:e.maxContentTokens,cache_control:void 0});break}case"anthropic.web_fetch_20260209":{p.add("code-execution-web-tools-2026-02-09");let e=await (0,o.validateTypes)({value:t.args,schema:N});m.push({type:"web_fetch_20260209",name:"web_fetch",max_uses:e.maxUses,allowed_domains:e.allowedDomains,blocked_domains:e.blockedDomains,citations:e.citations,max_content_tokens:e.maxContentTokens,cache_control:void 0});break}case"anthropic.web_search_20250305":{let e=await (0,o.validateTypes)({value:t.args,schema:O});m.push({type:"web_search_20250305",name:"web_search",max_uses:e.maxUses,allowed_domains:e.allowedDomains,blocked_domains:e.blockedDomains,user_location:e.userLocation,cache_control:void 0});break}case"anthropic.web_search_20260209":{p.add("code-execution-web-tools-2026-02-09");let e=await (0,o.validateTypes)({value:t.args,schema:S});m.push({type:"web_search_20260209",name:"web_search",max_uses:e.maxUses,allowed_domains:e.allowedDomains,blocked_domains:e.blockedDomains,user_location:e.userLocation,cache_control:void 0});break}case"anthropic.tool_search_regex_20251119":m.push({type:"tool_search_tool_regex_20251119",name:"tool_search_tool_regex"});break;case"anthropic.tool_search_bm25_20251119":m.push({type:"tool_search_tool_bm25_20251119",name:"tool_search_tool_bm25"});break;case"anthropic.advisor_20260301":{p.add("advisor-tool-2026-03-01");let e=await (0,o.validateTypes)({value:t.args,schema:_});m.push({type:"advisor_20260301",name:"advisor",model:e.model,...void 0!==e.maxUses&&{max_uses:e.maxUses},...void 0!==e.maxTokens&&{max_tokens:e.maxTokens},...void 0!==e.caching&&{caching:e.caching}});break}default:c.push({type:"unsupported",feature:`provider-defined tool ${t.id}`})}break;default:c.push({type:"unsupported",feature:`tool ${t}`})}if(null==r)return{tools:m,toolChoice:n?{type:"auto",disable_parallel_tool_use:n}:void 0,toolWarnings:c,betas:p};let g=r.type;switch(g){case"auto":return{tools:m,toolChoice:{type:"auto",disable_parallel_tool_use:n},toolWarnings:c,betas:p};case"required":return{tools:m,toolChoice:{type:"any",disable_parallel_tool_use:n},toolWarnings:c,betas:p};case"none":return{tools:void 0,toolChoice:void 0,toolWarnings:c,betas:p};case"tool":return{tools:m,toolChoice:{type:"tool",name:r.toolName,disable_parallel_tool_use:n},toolWarnings:c,betas:p};default:throw new t.UnsupportedFunctionalityError({functionality:`tool choice type: ${g}`})}}function H({usage:e,rawUsage:t}){var o,r,n,a,i;let l,s,u=null!=(o=e.cache_creation_input_tokens)?o:0,d=null!=(r=e.cache_read_input_tokens)?r:0,c=null!=(a=null==(n=e.output_tokens_details)?void 0:n.thinking_tokens)?a:void 0,p=null==(i=e.iterations)?void 0:i.some(e=>"fallback_message"===e.type);if(e.iterations&&e.iterations.length>0&&!p){let t=e.iterations.filter(e=>"compaction"===e.type||"message"===e.type);if(t.length>0){let e=t.reduce((e,t)=>({input:e.input+t.input_tokens,output:e.output+t.output_tokens}),{input:0,output:0});l=e.input,s=e.output}else l=e.input_tokens,s=e.output_tokens}else l=e.input_tokens,s=e.output_tokens;return{inputTokens:{total:l+u+d,noCache:l,cacheRead:d,cacheWrite:u},outputTokens:{total:s,text:null==c?void 0:s-c,reasoning:c},raw:null!=t?t:e}}var W=(0,o.lazySchema)(()=>(0,o.zodSchema)(r.z.object({type:r.z.literal("code_execution_result"),stdout:r.z.string(),stderr:r.z.string(),return_code:r.z.number(),content:r.z.array(r.z.object({type:r.z.literal("code_execution_output"),file_id:r.z.string()})).optional().default([])}))),V=(0,o.lazySchema)(()=>(0,o.zodSchema)(r.z.object({code:r.z.string()}))),J=(0,o.createProviderExecutedToolFactory)({id:"anthropic.code_execution_20250522",inputSchema:V,outputSchema:W}),K=(0,o.lazySchema)(()=>(0,o.zodSchema)(r.z.discriminatedUnion("type",[r.z.object({type:r.z.literal("code_execution_result"),stdout:r.z.string(),stderr:r.z.string(),return_code:r.z.number(),content:r.z.array(r.z.object({type:r.z.literal("code_execution_output"),file_id:r.z.string()})).optional().default([])}),r.z.object({type:r.z.literal("bash_code_execution_result"),content:r.z.array(r.z.object({type:r.z.literal("bash_code_execution_output"),file_id:r.z.string()})),stdout:r.z.string(),stderr:r.z.string(),return_code:r.z.number()}),r.z.object({type:r.z.literal("bash_code_execution_tool_result_error"),error_code:r.z.string()}),r.z.object({type:r.z.literal("text_editor_code_execution_tool_result_error"),error_code:r.z.string()}),r.z.object({type:r.z.literal("text_editor_code_execution_view_result"),content:r.z.string(),file_type:r.z.string(),num_lines:r.z.number().nullable(),start_line:r.z.number().nullable(),total_lines:r.z.number().nullable()}),r.z.object({type:r.z.literal("text_editor_code_execution_create_result"),is_file_update:r.z.boolean()}),r.z.object({type:r.z.literal("text_editor_code_execution_str_replace_result"),lines:r.z.array(r.z.string()).nullable(),new_lines:r.z.number().nullable(),new_start:r.z.number().nullable(),old_lines:r.z.number().nullable(),old_start:r.z.number().nullable()})]))),G=(0,o.lazySchema)(()=>(0,o.zodSchema)(r.z.discriminatedUnion("type",[r.z.object({type:r.z.literal("programmatic-tool-call"),code:r.z.string()}),r.z.object({type:r.z.literal("bash_code_execution"),command:r.z.string()}),r.z.discriminatedUnion("command",[r.z.object({type:r.z.literal("text_editor_code_execution"),command:r.z.literal("view"),path:r.z.string()}),r.z.object({type:r.z.literal("text_editor_code_execution"),command:r.z.literal("create"),path:r.z.string(),file_text:r.z.string().nullish()}),r.z.object({type:r.z.literal("text_editor_code_execution"),command:r.z.literal("str_replace"),path:r.z.string(),old_str:r.z.string(),new_str:r.z.string()})])]))),Y=(0,o.createProviderExecutedToolFactory)({id:"anthropic.code_execution_20250825",inputSchema:G,outputSchema:K,supportsDeferredResults:!0}),Z=(0,o.lazySchema)(()=>(0,o.zodSchema)(r.z.discriminatedUnion("type",[r.z.object({type:r.z.literal("code_execution_result"),stdout:r.z.string(),stderr:r.z.string(),return_code:r.z.number(),content:r.z.array(r.z.object({type:r.z.literal("code_execution_output"),file_id:r.z.string()})).optional().default([])}),r.z.object({type:r.z.literal("encrypted_code_execution_result"),encrypted_stdout:r.z.string(),stderr:r.z.string(),return_code:r.z.number(),content:r.z.array(r.z.object({type:r.z.literal("code_execution_output"),file_id:r.z.string()})).optional().default([])}),r.z.object({type:r.z.literal("bash_code_execution_result"),content:r.z.array(r.z.object({type:r.z.literal("bash_code_execution_output"),file_id:r.z.string()})),stdout:r.z.string(),stderr:r.z.string(),return_code:r.z.number()}),r.z.object({type:r.z.literal("bash_code_execution_tool_result_error"),error_code:r.z.string()}),r.z.object({type:r.z.literal("text_editor_code_execution_tool_result_error"),error_code:r.z.string()}),r.z.object({type:r.z.literal("text_editor_code_execution_view_result"),content:r.z.string(),file_type:r.z.string(),num_lines:r.z.number().nullable(),start_line:r.z.number().nullable(),total_lines:r.z.number().nullable()}),r.z.object({type:r.z.literal("text_editor_code_execution_create_result"),is_file_update:r.z.boolean()}),r.z.object({type:r.z.literal("text_editor_code_execution_str_replace_result"),lines:r.z.array(r.z.string()).nullable(),new_lines:r.z.number().nullable(),new_start:r.z.number().nullable(),old_lines:r.z.number().nullable(),old_start:r.z.number().nullable()})]))),X=(0,o.lazySchema)(()=>(0,o.zodSchema)(r.z.discriminatedUnion("type",[r.z.object({type:r.z.literal("programmatic-tool-call"),code:r.z.string()}),r.z.object({type:r.z.literal("bash_code_execution"),command:r.z.string()}),r.z.discriminatedUnion("command",[r.z.object({type:r.z.literal("text_editor_code_execution"),command:r.z.literal("view"),path:r.z.string()}),r.z.object({type:r.z.literal("text_editor_code_execution"),command:r.z.literal("create"),path:r.z.string(),file_text:r.z.string().nullish()}),r.z.object({type:r.z.literal("text_editor_code_execution"),command:r.z.literal("str_replace"),path:r.z.string(),old_str:r.z.string(),new_str:r.z.string()})])]))),Q=(0,o.createProviderExecutedToolFactory)({id:"anthropic.code_execution_20260120",inputSchema:X,outputSchema:Z,supportsDeferredResults:!0}),ee=(0,o.lazySchema)(()=>(0,o.zodSchema)(r.z.array(r.z.object({type:r.z.literal("tool_reference"),toolName:r.z.string()})))),et=(0,o.lazySchema)(()=>(0,o.zodSchema)(r.z.object({pattern:r.z.string(),limit:r.z.number().optional()}))),eo=(0,o.createProviderExecutedToolFactory)({id:"anthropic.tool_search_regex_20251119",inputSchema:et,outputSchema:ee,supportsDeferredResults:!0});function er(e){try{if("string"==typeof e)return(0,o.secureJsonParse)(e);if("object"==typeof e&&null!==e)return e}catch(o){let t=null==e?void 0:e.errorCode;return{errorCode:"string"==typeof t?t:"unavailable"}}return{}}async function en({prompt:e,sendReasoning:r,warnings:n,cacheControlValidator:a,toolNameMapping:i}){var l,s,u,d,c,p,h,m,v,_,z,x,T,k,I,S,C,E,A,O,j,R,N,P;let $,q=new Set,L=function(e){let t,o=[];for(let r of e){let{role:e}=r;switch(e){case"system":(null==t?void 0:t.type)!=="system"&&(t={type:"system",messages:[]},o.push(t)),t.messages.push(r);break;case"assistant":(null==t?void 0:t.type)!=="assistant"&&(t={type:"assistant",messages:[]},o.push(t)),t.messages.push(r);break;case"user":case"tool":(null==t?void 0:t.type)!=="user"&&(t={type:"user",messages:[]},o.push(t)),t.messages.push(r);break;default:throw Error(`Unsupported role: ${e}`)}}return o}(e),U=a||new b,F=[];async function B(e){var t,r;let n=await (0,o.parseProviderOptions)({provider:"anthropic",providerOptions:e,schema:f});return null!=(r=null==(t=null==n?void 0:n.citations)?void 0:t.enabled)&&r}async function H(e){var t;let r=await (0,o.parseProviderOptions)({provider:"anthropic",providerOptions:e,schema:f});return null!=(t=null==r?void 0:r.containerUpload)&&t}async function V(e){let t=await (0,o.parseProviderOptions)({provider:"anthropic",providerOptions:e,schema:f});return{title:null==t?void 0:t.title,context:null==t?void 0:t.context}}for(let e=0;e<L.length;e++){let a=L[e],f=e===L.length-1,b=a.type;switch(b){case"system":{let t=[];for(let{content:e,providerOptions:r}of a.messages){let n=await (0,o.parseProviderOptions)({provider:"anthropic",providerOptions:r,schema:y}),a=null!=(l=null==n?void 0:n.toolChanges)?l:[],s=[];for(let t of((""!==e||0===a.length&&(null==n?void 0:n.clearAt)==null&&(null==n?void 0:n.effort)==null)&&s.push({type:"text",text:e,cache_control:U.getCacheControl(r,{type:"system message",canCache:!0})}),a))s.push({type:t.type,tool:{type:"tool_reference",name:i.toProviderToolName(t.toolName)}});t.push({content:s,clearAt:null==n?void 0:n.clearAt,effort:null==n?void 0:n.effort,toolChangeCount:a.length})}let r=t.reduce((e,t)=>e+t.toolChangeCount,0),s=t.some(e=>null!=e.clearAt||null!=e.effort);if(0!==e&&(null!=$||0!==r||s))for(let e of(q.add("mid-conversation-system-2026-04-07"),t))F.push({role:"system",content:e.content,...null!=e.clearAt&&{clear_at:e.clearAt},...null!=e.effort&&{output_config:{effort:e.effort}}}),e.toolChangeCount>0&&q.add("mid-conversation-tool-changes-2026-07-01"),null!=e.clearAt&&q.add("mid-conversation-system-clear-at-2026-08-21"),null!=e.effort&&q.add("mid-conversation-effort-2026-08-01");else{for(let e of(r>0&&n.push({type:"other",message:"tool changes on the initial system message are not supported by Anthropic. Configure the initial tool set via the tools option instead. The tool changes have been ignored."}),t))(null!=e.clearAt||null!=e.effort)&&n.push({type:"other",message:"clearAt and effort on the initial system message are not supported by Anthropic. These options have been ignored."});$=t.flatMap(e=>e.content.filter(e=>"text"===e.type))}break}case"user":{let e=[];for(let r of a.messages){let{role:a,content:i}=r;switch(a){case"user":for(let n=0;n<i.length;n++){let a=i[n],l=n===i.length-1,p=null!=(s=U.getCacheControl(a.providerOptions,{type:"user message part",canCache:!0}))?s:l?U.getCacheControl(r.providerOptions,{type:"user message",canCache:!0}):void 0;switch(a.type){case"text":e.push({type:"text",text:a.text,cache_control:p});break;case"file":switch(a.data.type){case"reference":{let t=(0,o.resolveProviderReference)({reference:a.data.reference,provider:"anthropic"});q.add("files-api-2025-04-14"),await H(a.providerOptions)?e.push({type:"container_upload",file_id:t}):"image"===(0,o.getTopLevelMediaType)(a.mediaType)?e.push({type:"image",source:{type:"file",file_id:t},cache_control:p}):e.push({type:"document",source:{type:"file",file_id:t},cache_control:p});break}case"text":{let t=await B(a.providerOptions),o=await V(a.providerOptions);e.push({type:"document",source:{type:"text",media_type:"text/plain",data:a.data.text},title:null!=(u=o.title)?u:a.filename,...o.context&&{context:o.context},...t&&{citations:{enabled:!0}},cache_control:p});break}case"url":case"data":{let r=(0,o.getTopLevelMediaType)(a.mediaType);if("image"===r)e.push({type:"image",source:"url"===a.data.type?{type:"url",url:a.data.url.toString()}:{type:"base64",media_type:(0,o.resolveFullMediaType)({part:a}),data:(0,o.convertToBase64)(a.data.data)},cache_control:p});else if("application"===r&&("url"===a.data.type?"application/pdf"===a.mediaType:"application/pdf"===(0,o.resolveFullMediaType)({part:a}))){q.add("pdfs-2024-09-25");let t=await B(a.providerOptions),r=await V(a.providerOptions);e.push({type:"document",source:"url"===a.data.type?{type:"url",url:a.data.url.toString()}:{type:"base64",media_type:"application/pdf",data:(0,o.convertToBase64)(a.data.data)},title:null!=(d=r.title)?d:a.filename,...r.context&&{context:r.context},...t&&{citations:{enabled:!0}},cache_control:p})}else if("text/plain"===a.mediaType){let t=await B(a.providerOptions),r=await V(a.providerOptions);e.push({type:"document",source:"url"===a.data.type?{type:"url",url:a.data.url.toString()}:{type:"text",media_type:"text/plain",data:"string"==typeof(N=a.data.data)?new TextDecoder().decode((0,o.convertBase64ToUint8Array)(N)):new TextDecoder().decode(N)},title:null!=(c=r.title)?c:a.filename,...r.context&&{context:r.context},...t&&{citations:{enabled:!0}},cache_control:p})}else throw new t.UnsupportedFunctionalityError({functionality:`media type: ${a.mediaType}`})}}}}break;case"tool":for(let t=0;t<i.length;t++){let a,l=i[t];if("tool-approval-response"===l.type)continue;let s=l.output,u="providerOptions"in s?s.providerOptions:"content"===s.type?null==(p=s.value.find(e=>null!=e.providerOptions))?void 0:p.providerOptions:void 0,d=t===i.length-1,c=null!=(m=null!=(h=U.getCacheControl(l.providerOptions,{type:"tool result part",canCache:!0}))?h:U.getCacheControl(u,{type:"tool result output",canCache:!0}))?m:d?U.getCacheControl(r.providerOptions,{type:"tool result message",canCache:!0}):void 0;switch(s.type){case"content":a=s.value.map(e=>{var t;switch(e.type){case"text":return{type:"text",text:e.text};case"file":{let t=(0,o.getTopLevelMediaType)(e.mediaType);if("url"===e.data.type){if("image"===t)return{type:"image",source:{type:"url",url:e.data.url.toString()}};return{type:"document",source:{type:"url",url:e.data.url.toString()}}}if("data"===e.data.type){if("image"===t)return{type:"image",source:{type:"base64",media_type:(0,o.resolveFullMediaType)({part:e}),data:(0,o.convertToBase64)(e.data.data)}};if("application/pdf"===(0,o.resolveFullMediaType)({part:e}))return q.add("pdfs-2024-09-25"),{type:"document",source:{type:"base64",media_type:"application/pdf",data:(0,o.convertToBase64)(e.data.data)}};n.push({type:"other",message:`unsupported tool content part type: ${e.type} with media type: ${e.mediaType}`});return}n.push({type:"other",message:`unsupported tool content part type: ${e.type} with data type: ${e.data.type}`});return}case"custom":{let o=null==(t=e.providerOptions)?void 0:t.anthropic;if((null==o?void 0:o.type)==="tool-reference")return{type:"tool_reference",tool_name:o.toolName};n.push({type:"other",message:"unsupported custom tool content part"});return}default:return void n.push({type:"other",message:`unsupported tool content part type: ${e.type}`})}}).filter(o.isNonNullable);break;case"text":case"error-text":a=s.value;break;case"execution-denied":a=null!=(v=s.reason)?v:"Tool call execution denied.";break;default:a=JSON.stringify(s.value)}e.push({type:"tool_result",tool_use_id:l.toolCallId,content:a,is_error:"error-text"===s.type||"error-json"===s.type||void 0,cache_control:c})}break;default:throw Error(`Unsupported role: ${a}`)}}F.push({role:"user",content:e});break}case"assistant":{let e=[],t=new Set;for(let l=0;l<a.messages.length;l++){let s=a.messages[l],u=l===a.messages.length-1,{content:d}=s;for(let a=0;a<d.length;a++){let l=d[a],c=a===d.length-1,p=null!=(_=U.getCacheControl(l.providerOptions,{type:"assistant message part",canCache:!0}))?_:c?U.getCacheControl(s.providerOptions,{type:"assistant message",canCache:!0}):void 0;switch(l.type){case"text":{let t=null==(z=l.providerOptions)?void 0:z.anthropic;(null==t?void 0:t.type)==="compaction"?e.push({type:"compaction",content:l.text,cache_control:p}):e.push({type:"text",text:f&&u&&c?l.text.trim():l.text,...(null==t?void 0:t.citations)!=null&&{citations:t.citations},cache_control:p});break}case"reasoning":if(r){let t=await (0,o.parseProviderOptions)({provider:"anthropic",providerOptions:l.providerOptions,schema:g});null!=t?null!=t.signature?(U.getCacheControl(l.providerOptions,{type:"thinking block",canCache:!1}),e.push({type:"thinking",thinking:l.text,signature:t.signature})):null!=t.redactedData?(U.getCacheControl(l.providerOptions,{type:"redacted thinking block",canCache:!1}),e.push({type:"redacted_thinking",data:t.redactedData})):n.push({type:"other",message:"unsupported reasoning metadata"}):n.push({type:"other",message:"unsupported reasoning metadata"})}else n.push({type:"other",message:"sending reasoning content is disabled for this model"});break;case"tool-call":{let o=ea(l.providerOptions);if(l.providerExecuted){let r=i.toProviderToolName(l.toolName);if((null==(T=null==(x=l.providerOptions)?void 0:x.anthropic)?void 0:T.type)==="mcp-tool-use"){t.add(l.toolCallId);let o=null==(I=null==(k=l.providerOptions)?void 0:k.anthropic)?void 0:I.serverName;if(null==o||"string"!=typeof o){n.push({type:"other",message:"mcp tool use server name is required and must be a string"});break}e.push({type:"mcp_tool_use",id:l.toolCallId,name:l.toolName,input:l.input,server_name:o,cache_control:p})}else if("code_execution"===r&&null!=l.input&&"object"==typeof l.input&&"type"in l.input&&"string"==typeof l.input.type&&("bash_code_execution"===l.input.type||"text_editor_code_execution"===l.input.type)){let{type:t,...r}=l.input;e.push({type:"server_tool_use",id:l.toolCallId,name:t,input:r,...o&&{caller:o},cache_control:p})}else if("code_execution"===r&&null!=l.input&&"object"==typeof l.input&&"type"in l.input&&"programmatic-tool-call"===l.input.type){let{type:t,...r}=l.input;e.push({type:"server_tool_use",id:l.toolCallId,name:"code_execution",input:r,...o&&{caller:o},cache_control:p})}else"code_execution"===r||"web_fetch"===r||"web_search"===r||"tool_search_tool_regex"===r||"tool_search_tool_bm25"===r?e.push({type:"server_tool_use",id:l.toolCallId,name:r,input:l.input,...o&&{caller:o},cache_control:p}):"advisor"===r?e.push({type:"server_tool_use",id:l.toolCallId,name:"advisor",input:{},...o&&{caller:o},cache_control:p}):n.push({type:"other",message:`provider executed tool call for tool ${l.toolName} is not supported`});break}e.push({type:"tool_use",id:l.toolCallId,name:l.toolName,input:"object"!=typeof(P=l.input)||null===P||Array.isArray(P)?{rawInvalidInput:P}:P,...o&&{caller:o},cache_control:p});break}case"tool-result":{let r=i.toProviderToolName(l.toolName),a=ea(l.providerOptions);if(t.has(l.toolCallId)){let t=l.output;if("json"!==t.type&&"error-json"!==t.type){n.push({type:"other",message:`provider executed tool result output type ${t.type} for tool ${l.toolName} is not supported`});break}e.push({type:"mcp_tool_result",tool_use_id:l.toolCallId,is_error:"error-json"===t.type,content:t.value,cache_control:p})}else if("code_execution"===r){let t=l.output;if("error-text"===t.type||"error-json"===t.type){let r={};try{"string"==typeof t.value?r=(0,o.secureJsonParse)(t.value):"object"==typeof t.value&&null!==t.value&&(r=t.value)}catch(e){}"code_execution_tool_result_error"===r.type?e.push({type:"code_execution_tool_result",tool_use_id:l.toolCallId,content:{type:"code_execution_tool_result_error",error_code:null!=(S=r.errorCode)?S:"unknown"},cache_control:p}):e.push({type:"bash_code_execution_tool_result",tool_use_id:l.toolCallId,cache_control:p,content:{type:"bash_code_execution_tool_result_error",error_code:null!=(C=r.errorCode)?C:"unknown"}});break}if("json"!==t.type){n.push({type:"other",message:`provider executed tool result output type ${t.type} for tool ${l.toolName} is not supported`});break}if(null==t.value||"object"!=typeof t.value||!("type"in t.value)||"string"!=typeof t.value.type){n.push({type:"other",message:`provider executed tool result output value is not a valid code execution result for tool ${l.toolName}`});break}if("code_execution_result"===t.value.type){let r=await (0,o.validateTypes)({value:t.value,schema:W});e.push({type:"code_execution_tool_result",tool_use_id:l.toolCallId,content:{type:r.type,stdout:r.stdout,stderr:r.stderr,return_code:r.return_code,content:null!=(E=r.content)?E:[]},cache_control:p})}else if("encrypted_code_execution_result"===t.value.type){let r=await (0,o.validateTypes)({value:t.value,schema:Z});"encrypted_code_execution_result"===r.type&&e.push({type:"code_execution_tool_result",tool_use_id:l.toolCallId,content:{type:r.type,encrypted_stdout:r.encrypted_stdout,stderr:r.stderr,return_code:r.return_code,content:null!=(A=r.content)?A:[]},cache_control:p})}else{let r=await (0,o.validateTypes)({value:t.value,schema:K});"code_execution_result"===r.type?e.push({type:"code_execution_tool_result",tool_use_id:l.toolCallId,content:{type:r.type,stdout:r.stdout,stderr:r.stderr,return_code:r.return_code,content:null!=(O=r.content)?O:[]},cache_control:p}):"bash_code_execution_result"===r.type||"bash_code_execution_tool_result_error"===r.type?e.push({type:"bash_code_execution_tool_result",tool_use_id:l.toolCallId,cache_control:p,content:"bash_code_execution_result"===r.type?{type:r.type,stdout:r.stdout,stderr:r.stderr,return_code:r.return_code,content:r.content}:r}):e.push({type:"text_editor_code_execution_tool_result",tool_use_id:l.toolCallId,cache_control:p,content:r})}break}if("web_fetch"===r){let t=l.output;if("error-json"===t.type){e.push({type:"web_fetch_tool_result",tool_use_id:l.toolCallId,content:{type:"web_fetch_tool_result_error",error_code:null!=(j=er(t.value).errorCode)?j:"unavailable"},...a&&{caller:a},cache_control:p});break}if("json"!==t.type){n.push({type:"other",message:`provider executed tool result output type ${t.type} for tool ${l.toolName} is not supported`});break}let r=await (0,o.validateTypes)({value:t.value,schema:D});e.push({type:"web_fetch_tool_result",tool_use_id:l.toolCallId,content:{type:"web_fetch_result",url:r.url,retrieved_at:r.retrievedAt,content:{type:"document",title:r.content.title,citations:r.content.citations,source:{type:r.content.source.type,media_type:r.content.source.mediaType,data:r.content.source.data}}},...a&&{caller:a},cache_control:p});break}if("web_search"===r){let t=l.output;if("error-json"===t.type){e.push({type:"web_search_tool_result",tool_use_id:l.toolCallId,content:{type:"web_search_tool_result_error",error_code:null!=(R=er(t.value).errorCode)?R:"unavailable"},...a&&{caller:a},cache_control:p});break}if("json"!==t.type){n.push({type:"other",message:`provider executed tool result output type ${t.type} for tool ${l.toolName} is not supported`});break}let r=await (0,o.validateTypes)({value:t.value,schema:M});e.push({type:"web_search_tool_result",tool_use_id:l.toolCallId,content:r.map(e=>({url:e.url,title:e.title,page_age:e.pageAge,encrypted_content:e.encryptedContent,type:e.type})),...a&&{caller:a},cache_control:p});break}if("tool_search_tool_regex"===r||"tool_search_tool_bm25"===r){let t=l.output;if("json"!==t.type){n.push({type:"other",message:`provider executed tool result output type ${t.type} for tool ${l.toolName} is not supported`});break}let r=(await (0,o.validateTypes)({value:t.value,schema:ee})).map(e=>({type:"tool_reference",tool_name:e.toolName}));e.push({type:"tool_search_tool_result",tool_use_id:l.toolCallId,content:{type:"tool_search_tool_search_result",tool_references:r},cache_control:p});break}if("advisor"===r){let t=l.output;if("json"!==t.type&&"error-json"!==t.type){n.push({type:"other",message:`provider executed tool result output type ${t.type} for tool ${l.toolName} is not supported`});break}let r=await (0,o.validateTypes)({value:t.value,schema:w});"advisor_result"===r.type?e.push({type:"advisor_tool_result",tool_use_id:l.toolCallId,content:{type:"advisor_result",text:r.text,...void 0!==r.stopReason&&{stop_reason:r.stopReason}},cache_control:p}):"advisor_redacted_result"===r.type?e.push({type:"advisor_tool_result",tool_use_id:l.toolCallId,content:{type:"advisor_redacted_result",encrypted_content:r.encryptedContent,...void 0!==r.stopReason&&{stop_reason:r.stopReason}},cache_control:p}):e.push({type:"advisor_tool_result",tool_use_id:l.toolCallId,content:{type:"advisor_tool_result_error",error_code:r.errorCode},cache_control:p});break}n.push({type:"other",message:`provider executed tool result for tool ${l.toolName} is not supported`})}}}}F.push({role:"assistant",content:function(e){let t=[],o=[];function r(){t.push(...o.filter(e=>"tool_use"!==e.type),...o.filter(e=>"tool_use"===e.type)),o=[]}for(let n of e)"thinking"===n.type||"redacted_thinking"===n.type?(r(),t.push(n)):o.push(n);return r(),t}(e)});break}default:throw Error(`content type: ${b}`)}}return{prompt:{system:$,messages:F},betas:q}}function ea(e){var t;let o=null==(t=null==e?void 0:e.anthropic)?void 0:t.caller;return((null==o?void 0:o.type)==="code_execution_20250825"||(null==o?void 0:o.type)==="code_execution_20260120")&&o.toolId?{type:o.type,tool_id:o.toolId}:(null==o?void 0:o.type)==="direct"?{type:"direct"}:void 0}function ei({finishReason:e,isJsonResponseFromTool:t}){switch(e){case"pause_turn":case"end_turn":case"stop_sequence":return"stop";case"refusal":return"content-filter";case"tool_use":return t?"stop":"tool-calls";case"max_tokens":case"model_context_window_exceeded":return"length";default:return"other"}}var el=new Set(["date-time","time","date","duration","email","hostname","uri","ipv4","ipv6","uuid"]),es=["minimum","maximum","exclusiveMinimum","exclusiveMaximum","multipleOf","minLength","maxLength","pattern","minItems","maxItems","uniqueItems","minProperties","maxProperties","not"];function eu(e){return"boolean"!=typeof e&&(0,o.isRecord)(e)?ed(e):e}function ed(e){var t;let o,r={};if(null!=e.$ref)return{$ref:e.$ref};null!=e.$schema&&(r.$schema=e.$schema),null!=e.$id&&(r.$id=e.$id),null!=e.title&&(r.title=e.title),null!=e.description&&(r.description=e.description),void 0!==e.default&&(r.default=e.default),void 0!==e.const&&(r.const=e.const),null!=e.enum&&(r.enum=e.enum),null!=e.type&&(r.type=e.type),null!=e.anyOf?r.anyOf=e.anyOf.map(eu):null!=e.oneOf&&(r.anyOf=e.oneOf.map(eu)),null!=e.allOf&&(r.allOf=e.allOf.map(eu)),null!=e.definitions&&(r.definitions=Object.fromEntries(Object.entries(e.definitions).map(([e,t])=>[e,eu(t)]))),null!=e.$defs&&(r.$defs=Object.fromEntries(Object.entries(e.$defs).map(([e,t])=>[e,eu(t)]))),("object"===e.type||null!=e.properties)&&(null!=e.properties&&(r.properties=Object.fromEntries(Object.entries(e.properties).map(([e,t])=>[e,eu(t)]))),r.additionalProperties=!1,null!=e.required&&(r.required=e.required)),null!=e.items&&(r.items=Array.isArray(e.items)?e.items.map(eu):eu(e.items)),"string"==typeof e.format&&el.has(e.format)&&(r.format=e.format);let n=(t=e,o=es.flatMap(e=>{var o;let r=t[e];return null==r||!1===r?[]:`${e.replace(/[A-Z]/g,e=>` ${e.toLowerCase()}`)}: ${"string"==typeof(o=r)?o:JSON.stringify(o)}`}),"string"!=typeof t.format||el.has(t.format)||o.push(`format: ${t.format}`),0===o.length?void 0:`${o.join("; ")}.`);return null!=n&&(r.description=null==r.description?n:`${r.description}
|
|
41
|
+
${n}`),r}function ec(e,t,o){var r,n;if("web_search_result_location"===e.type)return{type:"source",sourceType:"url",id:o(),url:e.url,title:null!=(r=e.title)?r:void 0,providerMetadata:{anthropic:{citedText:e.cited_text,encryptedIndex:e.encrypted_index}}};if("page_location"!==e.type&&"char_location"!==e.type)return;let a=t[e.document_index];if(a)return{type:"source",sourceType:"document",id:o(),mediaType:a.mediaType,title:null!=(n=e.document_title)?n:a.title,filename:a.filename,providerMetadata:{anthropic:"page_location"===e.type?{citedText:e.cited_text,startPageNumber:e.start_page_number,endPageNumber:e.end_page_number}:{citedText:e.cited_text,startCharIndex:e.start_char_index,endCharIndex:e.end_char_index}}}}function ep(e){return null==e?void 0:{type:e.type,toolId:"tool_id"in e?e.tool_id:void 0}}function eh(e){let t=ep(e);return null==t?{}:{providerMetadata:{anthropic:{caller:t}}}}var em=class e{constructor(e,t){var r;this.specificationVersion="v4",this.modelId=e,this.config=t,this.generateId=null!=(r=t.generateId)?r:o.generateId}static[n.WORKFLOW_SERIALIZE](e){return(0,o.serializeModelOptions)({modelId:e.modelId,config:e.config})}static[n.WORKFLOW_DESERIALIZE](t){return new e(t.modelId,t.config)}supportsUrl(e){return"https:"===e.protocol}get provider(){return this.config.provider}get providerOptionsName(){let e=this.config.provider,t=e.indexOf(".");return -1===t?e:e.substring(0,t)}get supportedUrls(){var e,t,o;return null!=(o=null==(t=(e=this.config).supportedUrls)?void 0:t.call(e))?o:{}}async getArgs({userSuppliedBetas:e,prompt:t,maxOutputTokens:r,temperature:n,topP:a,topK:i,frequencyPenalty:l,presencePenalty:s,stopSequences:u,responseFormat:d,seed:c,tools:p,toolChoice:h,reasoning:m,providerOptions:g,stream:f}){var y,_,w,z,x,T,k,I,S,C,E,A;let O=[];null!=l&&O.push({type:"unsupported",feature:"frequencyPenalty"}),null!=s&&O.push({type:"unsupported",feature:"presencePenalty"}),null!=c&&O.push({type:"unsupported",feature:"seed"}),null!=n&&n>1?(O.push({type:"unsupported",feature:"temperature",details:`${n} exceeds anthropic maximum of 1.0. clamped to 1.0`}),n=1):null!=n&&n<0&&(O.push({type:"unsupported",feature:"temperature",details:`${n} is below anthropic minimum of 0. clamped to 0`}),n=0),(null==d?void 0:d.type)==="json"&&null==d.schema&&O.push({type:"unsupported",feature:"responseFormat",details:"JSON response format requires a schema. The response format is ignored."});let M=this.providerOptionsName,j=await (0,o.parseProviderOptions)({provider:"anthropic",providerOptions:g,schema:v}),R="anthropic"!==M?await (0,o.parseProviderOptions)({provider:M,providerOptions:g,schema:v}):null,N=null!=R,P=Object.assign({},null!=j?j:{},null!=R?R:{}),{maxOutputTokens:$,supportsStructuredOutput:q,supportsAdaptiveThinking:L,rejectsSamplingParameters:D,supportsXhighEffort:U,rejectsThinkingDisabledAboveHighEffort:F,isKnownModel:H}=function(e){if(e.includes("claude-opus-5"))return{maxOutputTokens:128e3,supportsStructuredOutput:!0,supportsAdaptiveThinking:!0,rejectsSamplingParameters:!0,supportsXhighEffort:!0,rejectsThinkingDisabledAboveHighEffort:!0,isKnownModel:!0};if(e.includes("claude-opus-4-8")||e.includes("claude-opus-4-7")||e.includes("claude-fable-5")||e.includes("claude-sonnet-5"))return{maxOutputTokens:128e3,supportsStructuredOutput:!0,supportsAdaptiveThinking:!0,rejectsSamplingParameters:!0,supportsXhighEffort:!0,rejectsThinkingDisabledAboveHighEffort:!1,isKnownModel:!0};if(e.includes("claude-sonnet-4-6")||e.includes("claude-opus-4-6"))return{maxOutputTokens:128e3,supportsStructuredOutput:!0,supportsAdaptiveThinking:!0,rejectsSamplingParameters:!1,supportsXhighEffort:!1,rejectsThinkingDisabledAboveHighEffort:!1,isKnownModel:!0};if(e.includes("claude-sonnet-4-5")||e.includes("claude-opus-4-5")||e.includes("claude-haiku-4-5"))return{maxOutputTokens:64e3,supportsStructuredOutput:!0,supportsAdaptiveThinking:!1,rejectsSamplingParameters:!1,supportsXhighEffort:!1,rejectsThinkingDisabledAboveHighEffort:!1,isKnownModel:!0};if(e.includes("claude-opus-4-1"))return{maxOutputTokens:32e3,supportsStructuredOutput:!0,supportsAdaptiveThinking:!1,rejectsSamplingParameters:!1,supportsXhighEffort:!1,rejectsThinkingDisabledAboveHighEffort:!1,isKnownModel:!0};else if(/claude-sonnet-4(?:-|@)/.test(e))return{maxOutputTokens:64e3,supportsStructuredOutput:!1,supportsAdaptiveThinking:!1,rejectsSamplingParameters:!1,supportsXhighEffort:!1,rejectsThinkingDisabledAboveHighEffort:!1,isKnownModel:!0};else if(/claude-opus-4(?:-|@)/.test(e))return{maxOutputTokens:32e3,supportsStructuredOutput:!1,supportsAdaptiveThinking:!1,rejectsSamplingParameters:!1,supportsXhighEffort:!1,rejectsThinkingDisabledAboveHighEffort:!1,isKnownModel:!0};else if(e.includes("claude-3-haiku"))return{maxOutputTokens:4096,supportsStructuredOutput:!1,supportsAdaptiveThinking:!1,rejectsSamplingParameters:!1,supportsXhighEffort:!1,rejectsThinkingDisabledAboveHighEffort:!1,isKnownModel:!0};else if(/claude-(?:instant(?:-|$)|v?2(?=$|[-.:])|3(?=$|[-.]))/.test(e))return{maxOutputTokens:4096,supportsStructuredOutput:!1,supportsAdaptiveThinking:!1,rejectsSamplingParameters:!1,supportsXhighEffort:!1,rejectsThinkingDisabledAboveHighEffort:!1,isKnownModel:!1};else if(e.includes("claude-"))return{maxOutputTokens:128e3,supportsStructuredOutput:!0,supportsAdaptiveThinking:!0,rejectsSamplingParameters:!0,supportsXhighEffort:!0,rejectsThinkingDisabledAboveHighEffort:!0,isKnownModel:!1};else return{maxOutputTokens:4096,supportsStructuredOutput:!1,supportsAdaptiveThinking:!1,rejectsSamplingParameters:!1,supportsXhighEffort:!1,rejectsThinkingDisabledAboveHighEffort:!1,isKnownModel:!1}}(this.modelId);H||null!=r||O.push({type:"compatibility",feature:"maxOutputTokens",details:`The model "${this.modelId}" is unknown. The max output tokens have been limited to ${$}. Set maxOutputTokens explicitly to override this limit.`}),D&&(null!=n&&(O.push({type:"unsupported",feature:"temperature",details:`temperature is not supported by ${this.modelId} and will be ignored`}),n=void 0),null!=i&&(O.push({type:"unsupported",feature:"topK",details:`topK is not supported by ${this.modelId} and will be ignored`}),i=void 0),null!=a&&(O.push({type:"unsupported",feature:"topP",details:`topP is not supported by ${this.modelId} and will be ignored`}),a=void 0));let W=H||this.modelId.includes("claude-"),V=(null==(y=this.config.supportsNativeStructuredOutput)||y)&&q,J=(null==(_=this.config.supportsStrictTools)||_)&&q,K=null!=(w=null==P?void 0:P.structuredOutputMode)?w:"auto",G="outputFormat"===K||"auto"===K&&V,Y=(null==d?void 0:d.type)!=="json"||null==d.schema||G?void 0:{type:"function",name:"json",description:"Respond with a JSON object.",inputSchema:d.schema};null!=Y&&(null==P?void 0:P.disableParallelToolUse)===!1&&O.push({type:"unsupported",feature:"providerOptions.anthropic.disableParallelToolUse",details:"`disableParallelToolUse: false` is ignored when using the JSON response tool. Parallel tool use is disabled to ensure a single coherent JSON tool call."});let Z=null==P?void 0:P.contextManagement,X=new b,Q=(0,o.createToolNameMapping)({tools:p,providerToolNames:{"anthropic.code_execution_20250522":"code_execution","anthropic.code_execution_20250825":"code_execution","anthropic.code_execution_20260120":"code_execution","anthropic.computer_20241022":"computer","anthropic.computer_20250124":"computer","anthropic.text_editor_20241022":"str_replace_editor","anthropic.text_editor_20250124":"str_replace_editor","anthropic.text_editor_20250429":"str_replace_based_edit_tool","anthropic.text_editor_20250728":"str_replace_based_edit_tool","anthropic.bash_20241022":"bash","anthropic.bash_20250124":"bash","anthropic.memory_20250818":"memory","anthropic.web_search_20250305":"web_search","anthropic.web_search_20260209":"web_search","anthropic.web_fetch_20250910":"web_fetch","anthropic.web_fetch_20260209":"web_fetch","anthropic.tool_search_regex_20251119":"tool_search_tool_regex","anthropic.tool_search_bm25_20251119":"tool_search_tool_bm25","anthropic.advisor_20260301":"advisor"}}),{prompt:ee,betas:et}=await en({prompt:t,sendReasoning:null==(z=null==P?void 0:P.sendReasoning)||z,warnings:O,cacheControlValidator:X,toolNameMapping:Q});if((0,o.isCustomReasoning)(m)&&(null==P?void 0:P.effort)==null){let e=function({reasoning:e,supportsAdaptiveThinking:t,supportsXhighEffort:r,maxOutputTokensForModel:n,warnings:a}){if(!(0,o.isCustomReasoning)(e))return;if("none"===e)return{thinking:{type:"disabled"}};if(t)return{thinking:{type:"adaptive",display:"summarized"},effort:(0,o.mapReasoningToProviderEffort)({reasoning:e,effortMap:{minimal:"low",low:"low",medium:"medium",high:"high",xhigh:r?"xhigh":"max"},warnings:a})};let i=(0,o.mapReasoningToProviderBudget)({reasoning:e,maxOutputTokens:n,maxReasoningBudget:n,warnings:a});if(null!=i)return{thinking:{type:"enabled",budgetTokens:i}}}({reasoning:m,supportsAdaptiveThinking:L,supportsXhighEffort:U,maxOutputTokensForModel:$,warnings:O});null!=e&&(null==P.thinking&&(P.thinking=e.thinking),null!=e.effort&&(null==(x=P.thinking)?void 0:x.type)!=="disabled"&&(P.effort=e.effort))}F&&(null==(T=null==P?void 0:P.thinking)?void 0:T.type)==="disabled"&&("xhigh"===P.effort||"max"===P.effort)&&(O.push({type:"unsupported",feature:"providerOptions.anthropic.effort",details:`effort '${P.effort}' is not supported by ${this.modelId} when thinking is disabled. The effort has been lowered to 'high'.`}),P.effort="high");let eo=null==(k=null==P?void 0:P.thinking)?void 0:k.type,er="enabled"===eo||"adaptive"===eo,ea=(null==P?void 0:P.thinking)!=null&&"blockBinding"in P.thinking?P.thinking.blockBinding:void 0,ei=er||"disabled"===eo||null!=ea,el="enabled"===eo?null==(I=null==P?void 0:P.thinking)?void 0:I.budgetTokens:void 0,es="adaptive"===eo?null==(S=null==P?void 0:P.thinking)?void 0:S.display:void 0,eu=null!=r?r:$,ec={model:this.modelId,max_tokens:eu,temperature:n,top_k:i,top_p:a,stop_sequences:u,...ei&&{thinking:{...null!=eo&&{type:eo},...null!=el&&{budget_tokens:el},...null!=es&&{display:es},...null!=ea&&{block_binding:{prefix_mismatch_behavior:ea.prefixMismatchBehavior}}}},...((null==P?void 0:P.effort)||(null==P?void 0:P.taskBudget)||G&&(null==d?void 0:d.type)==="json"&&null!=d.schema)&&{output_config:{...(null==P?void 0:P.effort)&&{effort:P.effort},...(null==P?void 0:P.taskBudget)&&{task_budget:{type:P.taskBudget.type,total:P.taskBudget.total,...null!=P.taskBudget.remaining&&{remaining:P.taskBudget.remaining}}},...G&&(null==d?void 0:d.type)==="json"&&null!=d.schema&&{format:{type:"json_schema",schema:ed(d.schema)}}}},...(null==P?void 0:P.speed)&&{speed:P.speed},...(null==P?void 0:P.serviceTier)&&{service_tier:P.serviceTier},...(null==P?void 0:P.inferenceGeo)&&{inference_geo:P.inferenceGeo},...(null==P?void 0:P.fallbacks)!=null&&("default"===P.fallbacks||P.fallbacks.length>0)&&{fallbacks:P.fallbacks},...(null==P?void 0:P.cacheControl)&&{cache_control:P.cacheControl},...(null==(C=null==P?void 0:P.metadata)?void 0:C.userId)!=null&&{metadata:{user_id:P.metadata.userId}},...(null==P?void 0:P.mcpServers)&&P.mcpServers.length>0&&{mcp_servers:P.mcpServers.map(e=>({type:e.type,name:e.name,url:e.url,authorization_token:e.authorizationToken,tool_configuration:e.toolConfiguration?{allowed_tools:e.toolConfiguration.allowedTools,enabled:e.toolConfiguration.enabled}:void 0}))},...(null==P?void 0:P.container)&&{container:P.container.skills&&P.container.skills.length>0?{id:P.container.id,skills:P.container.skills.map(e=>({type:e.type,skill_id:"custom"===e.type?(0,o.resolveProviderReference)({reference:e.providerReference,provider:"anthropic"}):e.skillId,version:e.version}))}:P.container.id},system:ee.system,messages:ee.messages,...Z&&{context_management:{edits:Z.edits.map(e=>{let t=e.type;switch(t){case"clear_tool_uses_20250919":return{type:e.type,...void 0!==e.trigger&&{trigger:e.trigger},...void 0!==e.keep&&{keep:e.keep},...void 0!==e.clearAtLeast&&{clear_at_least:e.clearAtLeast},...void 0!==e.clearToolInputs&&{clear_tool_inputs:e.clearToolInputs},...void 0!==e.excludeTools&&{exclude_tools:e.excludeTools}};case"clear_thinking_20251015":return{type:e.type,...void 0!==e.keep&&{keep:e.keep}};case"compact_20260112":return{type:e.type,...void 0!==e.trigger&&{trigger:e.trigger},...void 0!==e.pauseAfterCompaction&&{pause_after_compaction:e.pauseAfterCompaction},...void 0!==e.instructions&&{instructions:e.instructions}};default:O.push({type:"other",message:`Unknown context management strategy: ${t}`});return}}).filter(e=>void 0!==e)}}};er?("enabled"===eo&&null==el&&(O.push({type:"compatibility",feature:"extended thinking",details:"thinking budget is required when thinking is enabled. using default budget of 1024 tokens."}),ec.thinking={type:"enabled",budget_tokens:1024},el=1024),null!=ec.temperature&&(ec.temperature=void 0,O.push({type:"unsupported",feature:"temperature",details:"temperature is not supported when thinking is enabled"})),null!=i&&(ec.top_k=void 0,O.push({type:"unsupported",feature:"topK",details:"topK is not supported when thinking is enabled"})),null!=a&&(ec.top_p=void 0,O.push({type:"unsupported",feature:"topP",details:"topP is not supported when thinking is enabled"})),ec.max_tokens=eu+(null!=el?el:0)):W&&null!=a&&null!=n&&(O.push({type:"unsupported",feature:"topP",details:"topP is not supported when temperature is set. topP is ignored."}),ec.top_p=void 0),H&&ec.max_tokens>$&&(null!=r&&O.push({type:"unsupported",feature:"maxOutputTokens",details:`${ec.max_tokens} (maxOutputTokens + thinkingBudget) is greater than ${this.modelId} ${$} max output tokens. The max output tokens have been limited to ${$}.`}),ec.max_tokens=$),(null==P?void 0:P.mcpServers)&&P.mcpServers.length>0&&et.add("mcp-client-2025-04-04"),Z&&(et.add("context-management-2025-06-27"),Z.edits.some(e=>"compact_20260112"===e.type)&&et.add("compact-2026-01-12")),(null==P?void 0:P.container)&&P.container.skills&&P.container.skills.length>0&&(et.add("code-execution-2025-08-25"),et.add("skills-2025-10-02"),et.add("files-api-2025-04-14"),(null==p?void 0:p.some(e=>"provider"===e.type&&("anthropic.code_execution_20250825"===e.id||"anthropic.code_execution_20260120"===e.id)))||O.push({type:"other",message:"code execution tool is required when using skills"})),(null==P?void 0:P.taskBudget)&&et.add("task-budgets-2026-03-13"),(null==P?void 0:P.speed)==="fast"&&et.add("fast-mode-2026-02-01"),"updates"===es&&et.add("thinking-display-updates-2026-08-18"),null!=ea&&et.add("thinking-binding-controls-2026-08-01"),(null==P?void 0:P.fallbacks)==="default"?et.add("server-side-fallback-2026-07-01"):(null==P?void 0:P.fallbacks)&&P.fallbacks.length>0&&et.add("server-side-fallback-2026-06-01");let ep=f&&(null==(E=null==P?void 0:P.toolStreaming)||E),{tools:eh,toolChoice:em,toolWarnings:eg,betas:ef}=await B(null!=Y?{tools:[...null!=p?p:[],Y],toolChoice:{type:"required"},disableParallelToolUse:!0,cacheControlValidator:X,supportsStructuredOutput:!1,supportsStrictTools:J,defaultEagerInputStreaming:ep}:{tools:null!=p?p:[],toolChoice:h,disableParallelToolUse:null==P?void 0:P.disableParallelToolUse,cacheControlValidator:X,supportsStructuredOutput:V,supportsStrictTools:J,defaultEagerInputStreaming:ep}),ey=X.getWarnings();return{args:{...ec,tools:eh,tool_choice:em,stream:!0===f||void 0},warnings:[...O,...eg,...ey],betas:new Set([...et,...ef,...e,...null!=(A=null==P?void 0:P.anthropicBeta)?A:[]]),usesJsonResponseTool:null!=Y,toolNameMapping:Q,providerOptionsName:M,usedCustomProviderKey:N}}async getHeaders({betas:e,headers:t}){return(0,o.combineHeaders)(this.config.headers?await (0,o.resolve)(this.config.headers):void 0,t,e.size>0?{"anthropic-beta":Array.from(e).join(",")}:{})}async getBetasFromHeaders(e){var t,r;let n=this.config.headers?await (0,o.resolve)(this.config.headers):void 0,a=null!=(t=null==n?void 0:n["anthropic-beta"])?t:"",i=null!=(r=null==e?void 0:e["anthropic-beta"])?r:"";return new Set([...a.toLowerCase().split(","),...i.toLowerCase().split(",")].map(e=>e.trim()).filter(e=>""!==e))}buildRequestUrl(e){var t,o,r;return null!=(r=null==(o=(t=this.config).buildRequestUrl)?void 0:o.call(t,this.config.baseURL,e))?r:`${this.config.baseURL}/messages`}transformRequestBody(e,t){var o,r,n;return null!=(n=null==(r=(o=this.config).transformRequestBody)?void 0:r.call(o,e,t))?n:e}extractCitationDocuments(e){return e.filter(e=>"user"===e.role).flatMap(e=>e.content).filter(e=>{var t,o;if("file"!==e.type||"application/pdf"!==e.mediaType&&"text/plain"!==e.mediaType)return!1;let r=null==(t=e.providerOptions)?void 0:t.anthropic,n=null==r?void 0:r.citations;return null!=(o=null==n?void 0:n.enabled)&&o}).map(e=>{var t;return{title:null!=(t=e.filename)?t:"Untitled Document",filename:e.filename,mediaType:e.mediaType}})}async doGenerate(e){var t,r,n,a,l,s,u,d,c,p,m,g;let f,y,v,{args:b,warnings:_,betas:w,usesJsonResponseTool:z,toolNameMapping:x,providerOptionsName:T,usedCustomProviderKey:k}=await this.getArgs({...e,stream:!1,userSuppliedBetas:await this.getBetasFromHeaders(e.headers)}),I=[...this.extractCitationDocuments(e.prompt)],S=eg(b.tools),{responseHeaders:C,value:E,rawValue:A}=await (0,o.postJsonToApi)({url:this.buildRequestUrl(!1),headers:await this.getHeaders({betas:w,headers:e.headers}),body:this.transformRequestBody(b,w),failedResponseHandler:i,successfulResponseHandler:(0,o.createJsonResponseHandler)(h),abortSignal:e.abortSignal,fetch:this.config.fetch}),O=[],M={},j={},R=!1;for(let e of E.content)switch(e.type){case"text":if(!z){let o=null==(t=e.citations)?void 0:t.filter(e=>"web_search_result_location"===e.type);if(O.push({type:"text",text:e.text,...null!=o&&o.length>0&&{providerMetadata:{anthropic:{citations:o}}}}),e.citations)for(let t of e.citations){let e=ec(t,I,this.generateId);e&&O.push(e)}}break;case"thinking":O.push({type:"reasoning",text:e.thinking,providerMetadata:{anthropic:{signature:e.signature}}});break;case"redacted_thinking":O.push({type:"reasoning",text:"",providerMetadata:{anthropic:{redactedData:e.data}}});break;case"container_upload":O.push({type:"custom",kind:"anthropic.container_upload",providerMetadata:{anthropic:{fileId:e.file_id}}});break;case"compaction":O.push({type:"text",text:e.content,providerMetadata:{anthropic:{type:"compaction"}}});break;case"tool_use":z&&"json"===e.name?(R=!0,O.push({type:"text",text:JSON.stringify(e.input)})):O.push({type:"tool-call",toolCallId:e.id,toolName:e.name,input:JSON.stringify(e.input),...eh(e.caller)});break;case"server_tool_use":if("text_editor_code_execution"===e.name||"bash_code_execution"===e.name)O.push({type:"tool-call",toolCallId:e.id,toolName:x.toCustomToolName("code_execution"),input:JSON.stringify({type:e.name,...e.input}),providerExecuted:!0,...S&&1?{dynamic:!0}:{},...eh(e.caller)});else if("web_search"===e.name||"code_execution"===e.name||"web_fetch"===e.name){let t="code_execution"===e.name&&null!=e.input&&"object"==typeof e.input&&"code"in e.input&&!("type"in e.input)?{type:"programmatic-tool-call",...e.input}:e.input;O.push({type:"tool-call",toolCallId:e.id,toolName:x.toCustomToolName(e.name),input:JSON.stringify(t),providerExecuted:!0,...S&&"code_execution"===e.name?{dynamic:!0}:{},...eh(e.caller)})}else"tool_search_tool_regex"===e.name||"tool_search_tool_bm25"===e.name?(j[e.id]=e.name,O.push({type:"tool-call",toolCallId:e.id,toolName:x.toCustomToolName(e.name),input:JSON.stringify(e.input),providerExecuted:!0,...eh(e.caller)})):"advisor"===e.name&&O.push({type:"tool-call",toolCallId:e.id,toolName:x.toCustomToolName("advisor"),input:JSON.stringify(e.input),providerExecuted:!0,...eh(e.caller)});break;case"mcp_tool_use":M[e.id]={type:"tool-call",toolCallId:e.id,toolName:e.name,input:JSON.stringify(e.input),providerExecuted:!0,dynamic:!0,providerMetadata:{anthropic:{type:"mcp-tool-use",serverName:e.server_name}}},O.push(M[e.id]);break;case"mcp_tool_result":O.push({type:"tool-result",toolCallId:e.tool_use_id,toolName:M[e.tool_use_id].toolName,isError:e.is_error,result:e.content,dynamic:!0,providerMetadata:M[e.tool_use_id].providerMetadata});break;case"web_fetch_tool_result":"web_fetch_result"===e.content.type?(I.push({title:null!=(r=e.content.content.title)?r:e.content.url,mediaType:e.content.content.source.media_type}),O.push({type:"tool-result",toolCallId:e.tool_use_id,toolName:x.toCustomToolName("web_fetch"),result:{type:"web_fetch_result",url:e.content.url,retrievedAt:e.content.retrieved_at,content:{type:e.content.content.type,title:e.content.content.title,citations:e.content.content.citations,source:{type:e.content.content.source.type,mediaType:e.content.content.source.media_type,data:e.content.content.source.data}}},...eh(e.caller)})):"web_fetch_tool_result_error"===e.content.type&&O.push({type:"tool-result",toolCallId:e.tool_use_id,toolName:x.toCustomToolName("web_fetch"),isError:!0,result:{type:"web_fetch_tool_result_error",errorCode:e.content.error_code},...eh(e.caller)});break;case"web_search_tool_result":if(Array.isArray(e.content))for(let t of(O.push({type:"tool-result",toolCallId:e.tool_use_id,toolName:x.toCustomToolName("web_search"),result:e.content.map(e=>{var t;return{url:e.url,...null!=e.title?{title:e.title}:{},pageAge:null!=(t=e.page_age)?t:null,encryptedContent:e.encrypted_content,type:e.type}}),...eh(e.caller)}),e.content))O.push({type:"source",sourceType:"url",id:this.generateId(),url:t.url,...null!=t.title?{title:t.title}:{},providerMetadata:{anthropic:{pageAge:null!=(n=t.page_age)?n:null}}});else O.push({type:"tool-result",toolCallId:e.tool_use_id,toolName:x.toCustomToolName("web_search"),isError:!0,result:{type:"web_search_tool_result_error",errorCode:e.content.error_code},...eh(e.caller)});break;case"code_execution_tool_result":"code_execution_result"===e.content.type?O.push({type:"tool-result",toolCallId:e.tool_use_id,toolName:x.toCustomToolName("code_execution"),result:{type:e.content.type,stdout:e.content.stdout,stderr:e.content.stderr,return_code:e.content.return_code,content:null!=(a=e.content.content)?a:[]}}):"encrypted_code_execution_result"===e.content.type?O.push({type:"tool-result",toolCallId:e.tool_use_id,toolName:x.toCustomToolName("code_execution"),result:{type:e.content.type,encrypted_stdout:e.content.encrypted_stdout,stderr:e.content.stderr,return_code:e.content.return_code,content:null!=(l=e.content.content)?l:[]}}):"code_execution_tool_result_error"===e.content.type&&O.push({type:"tool-result",toolCallId:e.tool_use_id,toolName:x.toCustomToolName("code_execution"),isError:!0,result:{type:"code_execution_tool_result_error",errorCode:e.content.error_code}});break;case"bash_code_execution_tool_result":case"text_editor_code_execution_tool_result":O.push({type:"tool-result",toolCallId:e.tool_use_id,toolName:x.toCustomToolName("code_execution"),result:e.content});break;case"tool_search_tool_result":{let t=j[e.tool_use_id];if(null==t){let e=x.toCustomToolName("tool_search_tool_bm25");x.toCustomToolName("tool_search_tool_regex"),t="tool_search_tool_bm25"!==e?"tool_search_tool_bm25":"tool_search_tool_regex"}"tool_search_tool_search_result"===e.content.type?O.push({type:"tool-result",toolCallId:e.tool_use_id,toolName:x.toCustomToolName(t),result:e.content.tool_references.map(e=>({type:e.type,toolName:e.tool_name}))}):O.push({type:"tool-result",toolCallId:e.tool_use_id,toolName:x.toCustomToolName(t),isError:!0,result:{type:"tool_search_tool_result_error",errorCode:e.content.error_code}});break}case"advisor_tool_result":{let t=x.toCustomToolName("advisor");"advisor_result"===e.content.type?O.push({type:"tool-result",toolCallId:e.tool_use_id,toolName:t,result:{type:"advisor_result",text:e.content.text,...null!=e.content.stop_reason&&{stopReason:e.content.stop_reason}}}):"advisor_redacted_result"===e.content.type?O.push({type:"tool-result",toolCallId:e.tool_use_id,toolName:t,result:{type:"advisor_redacted_result",encryptedContent:e.content.encrypted_content,...null!=e.content.stop_reason&&{stopReason:e.content.stop_reason}}}):O.push({type:"tool-result",toolCallId:e.tool_use_id,toolName:t,isError:!0,result:{type:"advisor_tool_result_error",errorCode:e.content.error_code}})}}return{content:O,finishReason:{unified:ei({finishReason:E.stop_reason,isJsonResponseFromTool:R}),raw:null!=(s=E.stop_reason)?s:void 0},usage:H({usage:E.usage}),request:{body:b},response:{id:null!=(u=E.id)?u:void 0,modelId:null!=(d=E.model)?d:void 0,headers:C,body:A},warnings:_,providerMetadata:(f=ey(E.stop_details),v={anthropic:y={usage:E.usage,stopSequence:null!=(c=E.stop_sequence)?c:null,...null!=f?{stopDetails:f}:{},iterations:E.usage.iterations?E.usage.iterations.map(e=>({type:e.type,...null!=e.model?{model:e.model}:{},inputTokens:e.input_tokens,outputTokens:e.output_tokens,...e.cache_creation_input_tokens?{cacheCreationInputTokens:e.cache_creation_input_tokens}:{},...e.cache_read_input_tokens?{cacheReadInputTokens:e.cache_read_input_tokens}:{}})):null,container:E.container?{expiresAt:E.container.expires_at,id:E.container.id,skills:null!=(m=null==(p=E.container.skills)?void 0:p.map(e=>({type:e.type,skillId:e.skill_id,version:e.version})))?m:null}:null,contextManagement:null!=(g=ef(E.context_management))?g:null}},k&&"anthropic"!==T&&(v[T]=y),v)}}async doStream(e){var r,n,a,l;let s,u,d,c,{args:p,warnings:h,betas:g,usesJsonResponseTool:f,toolNameMapping:y,providerOptionsName:v,usedCustomProviderKey:b}=await this.getArgs({...e,stream:!0,userSuppliedBetas:await this.getBetasFromHeaders(e.headers)}),_=[...this.extractCitationDocuments(e.prompt)],w=eg(p.tools),z=this.buildRequestUrl(!0),{responseHeaders:x,value:T}=await (0,o.postJsonToApi)({url:z,headers:await this.getHeaders({betas:g,headers:e.headers}),body:this.transformRequestBody(p,g),failedResponseHandler:i,successfulResponseHandler:(0,o.createEventSourceResponseHandler)(m),abortSignal:e.abortSignal,fetch:this.config.fetch}),k={unified:"other",raw:void 0},I={input_tokens:0,output_tokens:0,cache_creation_input_tokens:0,cache_read_input_tokens:0,iterations:null},S={},C={},E={},A=null,O=null,M=null,j=!1,R=!1,N=!1,P=this.generateId,[$,q]=T.pipeThrough(new TransformStream({start(e){e.enqueue({type:"stream-start",warnings:h})},transform(r,n){var a,i,l,p,h,m,g,z,x,T,$,q,L,D,U,F,B;if(N)return;if(e.includeRawChunks&&n.enqueue({type:"raw",rawValue:r.rawValue}),!r.success)return void n.enqueue({type:"error",error:r.error});let W=r.value;switch(W.type){case"ping":return;case"content_block_start":{let e=W.content_block,t=e.type;if("fallback"===t)return;switch(c=t,t){case"text":if(f)return;S[W.index]={type:"text",citations:[]},n.enqueue({type:"text-start",id:String(W.index)});return;case"thinking":S[W.index]={type:"reasoning"},n.enqueue({type:"reasoning-start",id:String(W.index)});return;case"redacted_thinking":S[W.index]={type:"reasoning"},n.enqueue({type:"reasoning-start",id:String(W.index),providerMetadata:{anthropic:{redactedData:e.data}}});return;case"compaction":S[W.index]={type:"text",citations:[]},n.enqueue({type:"text-start",id:String(W.index),providerMetadata:{anthropic:{type:"compaction"}}});return;case"tool_use":if(f&&"json"===e.name)j=!0,S[W.index]={type:"text",citations:[]},n.enqueue({type:"text-start",id:String(W.index)});else{let t=ep(e.caller),o=e.input&&Object.keys(e.input).length>0?JSON.stringify(e.input):"";S[W.index]={type:"tool-call",toolCallId:e.id,toolName:e.name,input:o,firstDelta:0===o.length,...t&&{caller:t}},n.enqueue({type:"tool-input-start",id:e.id,toolName:e.name})}return;case"server_tool_use":{let t=ep(e.caller);if(["web_fetch","web_search","code_execution","text_editor_code_execution","bash_code_execution"].includes(e.name)){let o="text_editor_code_execution"===e.name||"bash_code_execution"===e.name?"code_execution":e.name,r="text_editor_code_execution"===e.name||"bash_code_execution"===e.name?e.name:"code_execution"===e.name?"programmatic-tool-call":void 0,a=y.toCustomToolName(o),i=null!=e.input&&"object"==typeof e.input&&Object.keys(e.input).length>0?JSON.stringify(e.input):"";S[W.index]={type:"tool-call",toolCallId:e.id,toolName:a,input:i,providerExecuted:!0,...w&&"code_execution"===o?{dynamic:!0}:{},firstDelta:0===i.length,providerToolName:o,providerToolInputType:r,...t&&{caller:t}},n.enqueue({type:"tool-input-start",id:e.id,toolName:a,providerExecuted:!0,...w&&"code_execution"===o?{dynamic:!0}:{}})}else if("tool_search_tool_regex"===e.name||"tool_search_tool_bm25"===e.name){E[e.id]=e.name;let o=y.toCustomToolName(e.name);S[W.index]={type:"tool-call",toolCallId:e.id,toolName:o,input:"",providerExecuted:!0,firstDelta:!0,providerToolName:e.name,...t&&{caller:t}},n.enqueue({type:"tool-input-start",id:e.id,toolName:o,providerExecuted:!0})}else if("advisor"===e.name){let o=y.toCustomToolName("advisor");S[W.index]={type:"tool-call",toolCallId:e.id,toolName:o,input:"{}",providerExecuted:!0,firstDelta:!0,providerToolName:e.name,...t&&{caller:t}},n.enqueue({type:"tool-input-start",id:e.id,toolName:o,providerExecuted:!0})}return}case"web_fetch_tool_result":"web_fetch_result"===e.content.type?(_.push({title:null!=(a=e.content.content.title)?a:e.content.url,mediaType:e.content.content.source.media_type}),n.enqueue({type:"tool-result",toolCallId:e.tool_use_id,toolName:y.toCustomToolName("web_fetch"),result:{type:"web_fetch_result",url:e.content.url,retrievedAt:e.content.retrieved_at,content:{type:e.content.content.type,title:e.content.content.title,citations:e.content.content.citations,source:{type:e.content.content.source.type,mediaType:e.content.content.source.media_type,data:e.content.content.source.data}}},...eh(e.caller)})):"web_fetch_tool_result_error"===e.content.type&&n.enqueue({type:"tool-result",toolCallId:e.tool_use_id,toolName:y.toCustomToolName("web_fetch"),isError:!0,result:{type:"web_fetch_tool_result_error",errorCode:e.content.error_code},...eh(e.caller)});return;case"web_search_tool_result":if(Array.isArray(e.content))for(let t of(n.enqueue({type:"tool-result",toolCallId:e.tool_use_id,toolName:y.toCustomToolName("web_search"),result:e.content.map(e=>{var t;return{url:e.url,...null!=e.title?{title:e.title}:{},pageAge:null!=(t=e.page_age)?t:null,encryptedContent:e.encrypted_content,type:e.type}}),...eh(e.caller)}),e.content))n.enqueue({type:"source",sourceType:"url",id:P(),url:t.url,...null!=t.title?{title:t.title}:{},providerMetadata:{anthropic:{pageAge:null!=(i=t.page_age)?i:null}}});else n.enqueue({type:"tool-result",toolCallId:e.tool_use_id,toolName:y.toCustomToolName("web_search"),isError:!0,result:{type:"web_search_tool_result_error",errorCode:e.content.error_code},...eh(e.caller)});return;case"code_execution_tool_result":"code_execution_result"===e.content.type?n.enqueue({type:"tool-result",toolCallId:e.tool_use_id,toolName:y.toCustomToolName("code_execution"),result:{type:e.content.type,stdout:e.content.stdout,stderr:e.content.stderr,return_code:e.content.return_code,content:null!=(l=e.content.content)?l:[]}}):"encrypted_code_execution_result"===e.content.type?n.enqueue({type:"tool-result",toolCallId:e.tool_use_id,toolName:y.toCustomToolName("code_execution"),result:{type:e.content.type,encrypted_stdout:e.content.encrypted_stdout,stderr:e.content.stderr,return_code:e.content.return_code,content:null!=(p=e.content.content)?p:[]}}):"code_execution_tool_result_error"===e.content.type&&n.enqueue({type:"tool-result",toolCallId:e.tool_use_id,toolName:y.toCustomToolName("code_execution"),isError:!0,result:{type:"code_execution_tool_result_error",errorCode:e.content.error_code}});return;case"bash_code_execution_tool_result":case"text_editor_code_execution_tool_result":return void n.enqueue({type:"tool-result",toolCallId:e.tool_use_id,toolName:y.toCustomToolName("code_execution"),result:e.content});case"tool_search_tool_result":{let t=E[e.tool_use_id];if(null==t){let e=y.toCustomToolName("tool_search_tool_bm25");y.toCustomToolName("tool_search_tool_regex"),t="tool_search_tool_bm25"!==e?"tool_search_tool_bm25":"tool_search_tool_regex"}"tool_search_tool_search_result"===e.content.type?n.enqueue({type:"tool-result",toolCallId:e.tool_use_id,toolName:y.toCustomToolName(t),result:e.content.tool_references.map(e=>({type:e.type,toolName:e.tool_name}))}):n.enqueue({type:"tool-result",toolCallId:e.tool_use_id,toolName:y.toCustomToolName(t),isError:!0,result:{type:"tool_search_tool_result_error",errorCode:e.content.error_code}});return}case"advisor_tool_result":{let t=y.toCustomToolName("advisor");"advisor_result"===e.content.type?n.enqueue({type:"tool-result",toolCallId:e.tool_use_id,toolName:t,result:{type:"advisor_result",text:e.content.text,...null!=e.content.stop_reason&&{stopReason:e.content.stop_reason}}}):"advisor_redacted_result"===e.content.type?n.enqueue({type:"tool-result",toolCallId:e.tool_use_id,toolName:t,result:{type:"advisor_redacted_result",encryptedContent:e.content.encrypted_content,...null!=e.content.stop_reason&&{stopReason:e.content.stop_reason}}}):n.enqueue({type:"tool-result",toolCallId:e.tool_use_id,toolName:t,isError:!0,result:{type:"advisor_tool_result_error",errorCode:e.content.error_code}});return}case"mcp_tool_use":C[e.id]={type:"tool-call",toolCallId:e.id,toolName:e.name,input:JSON.stringify(e.input),providerExecuted:!0,dynamic:!0,providerMetadata:{anthropic:{type:"mcp-tool-use",serverName:e.server_name}}},n.enqueue(C[e.id]);return;case"mcp_tool_result":return void n.enqueue({type:"tool-result",toolCallId:e.tool_use_id,toolName:C[e.tool_use_id].toolName,isError:e.is_error,result:e.content,dynamic:!0,providerMetadata:C[e.tool_use_id].providerMetadata});default:throw Error(`Unsupported content block type: ${t}`)}}case"content_block_stop":if(null!=S[W.index]){let e=S[W.index];switch(e.type){case"text":n.enqueue({type:"text-end",id:String(W.index),...e.citations.length>0&&{providerMetadata:{anthropic:{citations:e.citations}}}});break;case"reasoning":n.enqueue({type:"reasoning-end",id:String(W.index)});break;case"tool-call":if(!(f&&"json"===e.toolName)){n.enqueue({type:"tool-input-end",id:e.toolCallId});let t=""===e.input?"{}":e.input;if("code_execution"===e.providerToolName)try{let e=(0,o.secureJsonParse)(t);null!=e&&"object"==typeof e&&"code"in e&&!("type"in e)&&(t=JSON.stringify({type:"programmatic-tool-call",...e}))}catch(e){}n.enqueue({type:"tool-call",toolCallId:e.toolCallId,toolName:e.toolName,input:t,providerExecuted:e.providerExecuted,...w&&"code_execution"===e.providerToolName?{dynamic:!0}:{},...e.caller&&{providerMetadata:{anthropic:{caller:e.caller}}}})}}delete S[W.index]}c=void 0;return;case"content_block_delta":{let e=W.delta.type;switch(e){case"text_delta":if(f)return;n.enqueue({type:"text-delta",id:String(W.index),delta:W.delta.text});return;case"thinking_delta":return void n.enqueue({type:"reasoning-delta",id:String(W.index),delta:W.delta.thinking});case"signature_delta":"thinking"===c&&n.enqueue({type:"reasoning-delta",id:String(W.index),delta:"",providerMetadata:{anthropic:{signature:W.delta.signature}}});return;case"compaction_delta":null!=W.delta.content&&n.enqueue({type:"text-delta",id:String(W.index),delta:W.delta.content});return;case"input_json_delta":{let e=S[W.index],t=W.delta.partial_json;if(0===t.length)return;if(j){if((null==e?void 0:e.type)!=="text")return;n.enqueue({type:"text-delta",id:String(W.index),delta:t})}else{if((null==e?void 0:e.type)!=="tool-call")return;e.firstDelta&&null!=e.providerToolInputType&&(t=`{"type": "${e.providerToolInputType}",${t.substring(1)}`),n.enqueue({type:"tool-input-delta",id:e.toolCallId,delta:t}),e.input+=t,e.firstDelta=!1}return}case"citations_delta":{let e=W.delta.citation,t=S[W.index];(null==t?void 0:t.type)==="text"&&"web_search_result_location"===e.type&&t.citations.push(e);let o=ec(e,_,P);o&&n.enqueue(o);return}default:throw Error(`Unsupported delta type: ${e}`)}}case"message_start":if(R){if(s===W.message.id)return;N=!0,n.enqueue({type:"error",error:new t.InvalidResponseDataError({data:W,message:`Received message_start for message ${JSON.stringify(W.message.id)} while message ${JSON.stringify(s)} is still open.`})});return}if(R=!0,s=W.message.id,I.input_tokens=W.message.usage.input_tokens,I.cache_read_input_tokens=null!=(h=W.message.usage.cache_read_input_tokens)?h:0,I.cache_creation_input_tokens=null!=(m=W.message.usage.cache_creation_input_tokens)?m:0,u={...W.message.usage},null!=W.message.container&&(M={expiresAt:W.message.container.expires_at,id:W.message.container.id,skills:null}),null!=W.message.stop_reason&&(k={unified:ei({finishReason:W.message.stop_reason,isJsonResponseFromTool:j}),raw:W.message.stop_reason}),n.enqueue({type:"response-metadata",id:null!=(g=W.message.id)?g:void 0,modelId:null!=(z=W.message.model)?z:void 0}),null!=W.message.content)for(let e=0;e<W.message.content.length;e++){let t=W.message.content[e];if("tool_use"===t.type){let e=ep(t.caller);n.enqueue({type:"tool-input-start",id:t.id,toolName:t.name});let o=JSON.stringify(null!=(x=t.input)?x:{});n.enqueue({type:"tool-input-delta",id:t.id,delta:o}),n.enqueue({type:"tool-input-end",id:t.id}),n.enqueue({type:"tool-call",toolCallId:t.id,toolName:t.name,input:o,...e&&{providerMetadata:{anthropic:{caller:e}}}})}}return;case"message_delta":null!=W.usage.input_tokens&&I.input_tokens!==W.usage.input_tokens&&(I.input_tokens=W.usage.input_tokens),I.output_tokens=W.usage.output_tokens,null!=W.usage.output_tokens_details&&(I.output_tokens_details=W.usage.output_tokens_details),null!=W.usage.cache_read_input_tokens&&(I.cache_read_input_tokens=W.usage.cache_read_input_tokens),null!=W.usage.cache_creation_input_tokens&&(I.cache_creation_input_tokens=W.usage.cache_creation_input_tokens),null!=W.usage.iterations&&(I.iterations=W.usage.iterations),k={unified:ei({finishReason:W.delta.stop_reason,isJsonResponseFromTool:j}),raw:null!=(T=W.delta.stop_reason)?T:void 0},O=null!=($=W.delta.stop_sequence)?$:null,d=ey(W.delta.stop_details),M=null!=W.delta.container?{expiresAt:W.delta.container.expires_at,id:W.delta.container.id,skills:null!=(L=null==(q=W.delta.container.skills)?void 0:q.map(e=>({type:e.type,skillId:e.skill_id,version:e.version})))?L:null}:null,W.context_management&&(A=ef(W.context_management)),u={...u,...W.usage};return;case"message_stop":{R=!1,s=void 0;let e={usage:null!=u?u:null,stopSequence:O,...null!=d?{stopDetails:d}:{},iterations:I.iterations?I.iterations.map(e=>({type:e.type,...null!=e.model?{model:e.model}:{},inputTokens:e.input_tokens,outputTokens:e.output_tokens,...e.cache_creation_input_tokens?{cacheCreationInputTokens:e.cache_creation_input_tokens}:{},...e.cache_read_input_tokens?{cacheReadInputTokens:e.cache_read_input_tokens}:{}})):null,container:M,contextManagement:A},t={anthropic:e};b&&"anthropic"!==v&&(t[v]=e),n.enqueue({type:"finish",finishReason:k,usage:H({usage:I,rawUsage:u}),providerMetadata:t});return}case"error":let V;return void n.enqueue({type:"error",error:(V=function(e){switch(e){case"api_error":return{statusCode:500,isRetryable:!0};case"overloaded_error":return{statusCode:529,isRetryable:!0};case"rate_limit_error":return{statusCode:429,isRetryable:!0};case"request_too_large":return{statusCode:413,isRetryable:!1};case"authentication_error":return{statusCode:401,isRetryable:!1};case"permission_error":return{statusCode:403,isRetryable:!1};case"not_found_error":return{statusCode:404,isRetryable:!1};case"billing_error":case"invalid_request_error":return{statusCode:400,isRetryable:!1};default:return{}}}((D=W.error).type),(0,o.createProviderStreamError)({message:D.message,type:D.type,code:null!=(U=D.code)?U:void 0,statusCode:null!=(F=D.statusCode)?F:V.statusCode,isRetryable:null!=(B=D.isRetryable)?B:V.isRetryable,data:"data"in D?D.data:D}))});default:throw Error(`Unsupported chunk type: ${W}`)}}})).tee(),L=$.getReader();try{await L.read();let e=await L.read();if((null==(r=e.value)?void 0:r.type)==="raw"&&(e=await L.read()),(null==(n=e.value)?void 0:n.type)==="error"){let r=e.value.error;if(!(0,o.isProviderStreamError)(r))throw Error("Expected a normalized Anthropic stream error");throw new t.APICallError({message:r.message,url:z,requestBodyValues:p,statusCode:null!=(a=r.statusCode)?a:500,responseHeaders:x,responseBody:JSON.stringify(r.data),isRetryable:null!=(l=r.isRetryable)&&l})}}finally{L.cancel().catch(()=>{}),L.releaseLock()}return{stream:q,request:{body:p},response:{headers:x}}}};function eg(e){if(!e)return!1;let t=!1,o=!1;for(let r of e){if("type"in r&&("web_fetch_20260209"===r.type||"web_search_20260209"===r.type)){t=!0;continue}if("type"in r&&("code_execution_20250522"===r.type||"code_execution_20250825"===r.type||"code_execution_20260120"===r.type)){o=!0;break}}return t&&!o}function ef(e){return e?{appliedEdits:e.applied_edits.map(e=>{switch(e.type){case"clear_tool_uses_20250919":return{type:e.type,clearedToolUses:e.cleared_tool_uses,clearedInputTokens:e.cleared_input_tokens};case"clear_thinking_20251015":return{type:e.type,clearedThinkingTurns:e.cleared_thinking_turns,clearedInputTokens:e.cleared_input_tokens};case"compact_20260112":return{type:e.type}}}).filter(e=>void 0!==e)}:null}function ey(e){if(null!=e)return{type:e.type,...null!=e.category?{category:e.category}:{},...null!=e.explanation?{explanation:e.explanation}:{},...null!=e.recommended_model?{recommendedModel:e.recommended_model}:{}}}var ev=/^[A-Za-z0-9_-]{1,64}$/,eb=v.pick({anthropicBeta:!0}),e_=(0,o.lazySchema)(()=>(0,o.zodSchema)(r.z.object({id:r.z.string(),type:r.z.literal("message_batch"),processing_status:r.z.string(),request_counts:r.z.object({processing:r.z.number(),succeeded:r.z.number(),errored:r.z.number(),canceled:r.z.number(),expired:r.z.number()}),created_at:r.z.string(),expires_at:r.z.string(),archived_at:r.z.string().nullish(),cancel_initiated_at:r.z.string().nullish(),ended_at:r.z.string().nullish(),results_url:r.z.string().nullish()}))),ew=new Set(["advisor_tool_result","bash_code_execution_tool_result","code_execution_tool_result","compaction","container_upload","fallback","mcp_tool_result","mcp_tool_use","redacted_thinking","server_tool_use","text","text_editor_code_execution_tool_result","thinking","tool_search_tool_result","tool_use","web_fetch_tool_result","web_search_tool_result"]),ez=(0,o.lazySchema)(()=>(0,o.zodSchema)(r.z.discriminatedUnion("type",[r.z.object({type:r.z.literal("succeeded"),message:r.z.unknown()}),r.z.object({type:r.z.literal("errored"),error:r.z.object({type:r.z.literal("error"),error:r.z.object({type:r.z.string(),message:r.z.string()}),request_id:r.z.string().nullish()})}),r.z.object({type:r.z.literal("canceled")}),r.z.object({type:r.z.literal("expired")})]))),ex=(0,o.lazySchema)(()=>(0,o.zodSchema)(r.z.object({custom_id:r.z.string(),result:r.z.unknown()}))),eT=class e extends em{static[n.WORKFLOW_SERIALIZE](e){return em[n.WORKFLOW_SERIALIZE](e)}static[n.WORKFLOW_DESERIALIZE](t){return new e(t.modelId,t.config)}constructor(e,t){super(e,t)}async experimental_doStartBatch({requests:e,providerOptions:r,headers:n,abortSignal:a,webhookUrl:l}){var s,u=e;let d=new Set;for(let e of u){if(!ev.test(e.id))throw new t.InvalidArgumentError({argument:"requests",message:`Anthropic batch request ID "${e.id}" must match ^[A-Za-z0-9_-]{1,64}$.`});if(d.has(e.id))throw new t.InvalidArgumentError({argument:"requests",message:`Anthropic batch request IDs must be unique; duplicate ID "${e.id}".`});d.add(e.id)}let c=new Set(await ek({provider:this.config.provider,providerOptions:r})),p=new Set(c),h=[],m=null==l?[]:[{warning:{type:"unsupported",feature:"webhookUrl",details:"The Anthropic Message Batches API does not support completion webhooks."}}];for(let o of e){if((await ek({provider:this.config.provider,providerOptions:o.options.providerOptions})).length>0)throw new t.UnsupportedFunctionalityError({functionality:"per-request providerOptions.anthropic.anthropicBeta",message:`Anthropic Message Batches do not support per-request betas (request "${o.id}"). Set providerOptions.anthropic.anthropicBeta on startTextBatch instead.`});let e=await this.getArgs({...o.options,stream:!1,userSuppliedBetas:new Set(c)});if(e.usesJsonResponseTool)throw new t.UnsupportedFunctionalityError({functionality:"batch responseFormat JSON-tool fallback",message:`Anthropic Message Batches cannot decode the JSON-tool structured-output fallback (request "${o.id}") because batch results are retrieved independently of the start call. Use a model that supports native output_format structured outputs.`});let r=null==(s=o.options.tools)?void 0:s.find(t=>"provider"===t.type&&e.toolNameMapping.toProviderToolName(t.name)!==t.name);if(null!=r)throw new t.UnsupportedFunctionalityError({functionality:"aliased provider tool names in batches",message:`Anthropic Message Batches cannot restore the custom provider-tool name "${r.name}" when results are retrieved independently of the start call (request "${o.id}"). Use the provider's canonical tool name.`});let n=this.transformRequestBody(e.args,e.betas);for(let r of(function({body:e,requestId:o}){if(null!=e.speed)throw new t.UnsupportedFunctionalityError({functionality:"providerOptions.anthropic.speed",message:`Anthropic Message Batches do not support speed (request "${o}").`});if(Array.isArray(e.fallbacks)&&e.fallbacks.some(e=>null!=e&&"object"==typeof e&&"speed"in e&&null!=e.speed))throw new t.UnsupportedFunctionalityError({functionality:"providerOptions.anthropic.fallbacks[].speed",message:`Anthropic Message Batches do not support fallback speed (request "${o}").`})}({body:n,requestId:o.id}),h.push({custom_id:o.id,params:n}),e.betas))p.add(r);for(let t of e.warnings)m.push({requestId:o.id,warning:t})}let{value:g}=await (0,o.postJsonToApi)({url:this.getBatchUrl(""),headers:await this.getStartBatchHeaders({betas:p,headers:n}),body:{requests:h},failedResponseHandler:i,successfulResponseHandler:(0,o.createJsonResponseHandler)(e_),abortSignal:a,fetch:this.config.fetch});return{batchId:g.id,...eI(g),warnings:m}}async experimental_doGetBatchStatus(e){return eI(await this.retrieveBatch(e))}async experimental_doGetBatchResults(e){let r=await this.retrieveBatch(e);if("pending"===eI(r).status)throw new t.InvalidArgumentError({argument:"batchId",message:`Anthropic batch "${e.batchId}" is not complete.`});if(null!=r.archived_at)throw new t.InvalidArgumentError({argument:"batchId",message:`Anthropic batch "${e.batchId}" results are no longer available.`});if(null==r.results_url)throw new t.InvalidResponseDataError({data:r,message:`Anthropic batch "${e.batchId}" completed without batch output.`});let{value:n}=await (0,o.getFromApi)({url:r.results_url,validateUrl:!0,credentialedOrigin:this.config.baseURL,trustedOrigin:this.config.baseURL,headers:await this.getBatchHeaders(e.headers),failedResponseHandler:i,successfulResponseHandler:(0,o.createJsonLinesResponseHandler)(ex),abortSignal:e.abortSignal,fetch:this.config.fetch});return(0,o.convertAsyncIteratorToReadableStream)(this.iterateBatchResults(n))}async retrieveBatch(e){let{value:t}=await (0,o.getFromApi)({url:this.getBatchUrl(`/${encodeURIComponent(e.batchId)}`),validateUrl:!1,headers:await this.getBatchHeaders(e.headers),failedResponseHandler:i,successfulResponseHandler:(0,o.createJsonResponseHandler)(e_),abortSignal:e.abortSignal,fetch:this.config.fetch});return t}async *iterateBatchResults(e){for await(let t of e)yield await eS(t,this.generateId)}getBatchUrl(e){return`${this.config.baseURL}/messages/batches${e}`}async getStartBatchHeaders({betas:e,headers:t}){return(0,o.combineHeaders)((0,o.normalizeHeaders)(await this.getBatchHeaders(t)),{"anthropic-beta":e.size>0?Array.from(e).join(","):void 0})}async getBatchHeaders(e){return(0,o.combineHeaders)(this.config.headers?await (0,o.resolve)(this.config.headers):void 0,e)}};async function ek({provider:e,providerOptions:t}){var r;let n=e.split(".")[0],a=await (0,o.parseProviderOptions)({provider:"anthropic",providerOptions:t,schema:eb}),i="anthropic"!==n?await (0,o.parseProviderOptions)({provider:n,providerOptions:t,schema:eb}):void 0;return null!=(r=Object.assign({},null!=a?a:{},null!=i?i:{}).anthropicBeta)?r:[]}function eI(e){var t,r,n,a,i;let l=(i=e.request_counts,(0,o.normalizeBatchRequestCounts)({total:i.processing+i.succeeded+i.errored+i.canceled+i.expired,pending:i.processing,completed:i.succeeded,failed:i.errored+i.canceled+i.expired}));return{status:"ended"===e.processing_status?"completed":"pending",rawStatus:e.processing_status,...null!=l?{requestCounts:l}:{},createdAt:e.created_at,expiresAt:e.expires_at,providerMetadata:{anthropic:{archivedAt:null!=(t=e.archived_at)?t:null,cancelInitiatedAt:null!=(r=e.cancel_initiated_at)?r:null,endedAt:null!=(n=e.ended_at)?n:null,requestCounts:e.request_counts,resultsUrl:null!=(a=e.results_url)?a:null}}}}async function eS(e,t){let r=await (0,o.safeValidateTypes)({value:e.result,schema:ez});if(!r.success)return eC(e.custom_id);let n=r.value;switch(n.type){case"canceled":return{id:e.custom_id,status:"cancelled"};case"expired":return{id:e.custom_id,status:"expired"};case"errored":{let t=n.error.request_id;return{id:e.custom_id,status:"failed",error:{message:n.error.error.message,type:n.error.error.type},...null!=t?{providerMetadata:{anthropic:{requestId:t}}}:{}}}case"succeeded":{let o=await eE(n.message);if(null==o)return eC(e.custom_id);return{id:e.custom_id,status:"succeeded",result:function(e,t){var o,r,n,a,i,l,s,u,d,c,p,h,m;let g,f=[],y={},v={};for(let l of e.content)switch(l.type){case"text":let e=l.citations;for(let r of(f.push({type:"text",text:l.text,...null!=e&&e.length>0&&{providerMetadata:{anthropic:{citations:e}}}}),null!=(o=l.citations)?o:[])){let e=ec(r,[],t);null!=e&&f.push(e)}break;case"thinking":f.push({type:"reasoning",text:l.thinking,providerMetadata:{anthropic:{signature:l.signature}}});break;case"redacted_thinking":f.push({type:"reasoning",text:"",providerMetadata:{anthropic:{redactedData:l.data}}});break;case"container_upload":f.push({type:"custom",kind:"anthropic.container_upload",providerMetadata:{anthropic:{fileId:l.file_id}}});break;case"compaction":f.push({type:"text",text:l.content,providerMetadata:{anthropic:{type:"compaction"}}});break;case"tool_use":f.push({type:"tool-call",toolCallId:l.id,toolName:l.name,input:JSON.stringify(l.input),...eA(l.caller)});break;case"server_tool_use":{let e="bash_code_execution"===l.name||"text_editor_code_execution"===l.name,t=e||"code_execution"===l.name,o=e?"code_execution":l.name;("tool_search_tool_bm25"===l.name||"tool_search_tool_regex"===l.name)&&(v[l.id]=l.name),f.push({type:"tool-call",toolCallId:l.id,toolName:o,input:JSON.stringify(e?{type:l.name,...null!=(r=l.input)?r:{}}:"code_execution"===l.name&&null!=l.input&&"code"in l.input&&!("type"in l.input)?{type:"programmatic-tool-call",...l.input}:l.input),providerExecuted:!0,...t?{dynamic:!0}:{},...eA(l.caller)});break}case"mcp_tool_use":{let e={type:"tool-call",toolCallId:l.id,toolName:l.name,input:JSON.stringify(l.input),providerExecuted:!0,dynamic:!0,providerMetadata:{anthropic:{serverName:l.server_name,type:"mcp-tool-use"}}};y[l.id]=e,f.push(e);break}case"mcp_tool_result":{let e=y[l.tool_use_id];f.push({type:"tool-result",toolCallId:l.tool_use_id,toolName:null!=(n=null==e?void 0:e.toolName)?n:"mcp",isError:l.is_error,result:l.content,dynamic:!0,...(null==e?void 0:e.providerMetadata)!=null&&{providerMetadata:e.providerMetadata}});break}case"web_fetch_tool_result":f.push({type:"tool-result",toolCallId:l.tool_use_id,toolName:"web_fetch",..."web_fetch_tool_result_error"===l.content.type?{isError:!0,result:{errorCode:l.content.error_code,type:l.content.type}}:{result:{content:{citations:l.content.content.citations,source:{data:l.content.content.source.data,mediaType:l.content.content.source.media_type,type:l.content.content.source.type},title:l.content.content.title,type:l.content.content.type},retrievedAt:l.content.retrieved_at,type:l.content.type,url:l.content.url}},...eA(l.caller)});break;case"web_search_tool_result":if(f.push({type:"tool-result",toolCallId:l.tool_use_id,toolName:"web_search",...Array.isArray(l.content)?{result:l.content.map(e=>{var t;return{encryptedContent:e.encrypted_content,pageAge:null!=(t=e.page_age)?t:null,...null!=e.title?{title:e.title}:{},type:e.type,url:e.url}})}:{isError:!0,result:{errorCode:l.content.error_code,type:l.content.type}},...eA(l.caller)}),Array.isArray(l.content))for(let e of l.content)f.push({type:"source",sourceType:"url",id:t(),url:e.url,...null!=e.title?{title:e.title}:{},providerMetadata:{anthropic:{pageAge:null!=(a=e.page_age)?a:null}}});break;case"code_execution_tool_result":f.push({type:"tool-result",toolCallId:l.tool_use_id,toolName:"code_execution",..."code_execution_tool_result_error"===l.content.type?{isError:!0,result:{errorCode:l.content.error_code,type:l.content.type}}:{result:l.content}});break;case"bash_code_execution_tool_result":case"text_editor_code_execution_tool_result":f.push({type:"tool-result",toolCallId:l.tool_use_id,toolName:"code_execution",result:l.content});break;case"tool_search_tool_result":{let e=null!=(i=v[l.tool_use_id])?i:"tool_search_tool_regex";f.push({type:"tool-result",toolCallId:l.tool_use_id,toolName:e,..."tool_search_tool_result_error"===l.content.type?{isError:!0,result:{errorCode:l.content.error_code,type:l.content.type}}:{result:l.content.tool_references.map(e=>({toolName:e.tool_name,type:e.type}))}});break}case"advisor_tool_result":"advisor_result"===l.content.type?f.push({type:"tool-result",toolCallId:l.tool_use_id,toolName:"advisor",result:{type:l.content.type,text:l.content.text,...null!=l.content.stop_reason?{stopReason:l.content.stop_reason}:{}}}):"advisor_redacted_result"===l.content.type?f.push({type:"tool-result",toolCallId:l.tool_use_id,toolName:"advisor",result:{type:l.content.type,encryptedContent:l.content.encrypted_content,...null!=l.content.stop_reason?{stopReason:l.content.stop_reason}:{}}}):f.push({type:"tool-result",toolCallId:l.tool_use_id,toolName:"advisor",isError:!0,result:{errorCode:l.content.error_code,type:l.content.type}})}return{content:f,finishReason:{unified:ei({finishReason:e.stop_reason}),raw:null!=(l=e.stop_reason)?l:void 0},usage:H({usage:e.usage}),response:{id:null!=(s=e.id)?s:void 0,modelId:null!=(u=e.model)?u:void 0},warnings:[],providerMetadata:{anthropic:(g=function(e){if(null!=e)return{type:e.type,...null!=e.category?{category:e.category}:{},...null!=e.explanation?{explanation:e.explanation}:{},...null!=e.recommended_model?{recommendedModel:e.recommended_model}:{}}}((d=e).stop_details),{usage:d.usage,stopSequence:null!=(c=d.stop_sequence)?c:null,...null!=g?{stopDetails:g}:{},iterations:d.usage.iterations?d.usage.iterations.map(e=>({type:e.type,...null!=e.model?{model:e.model}:{},inputTokens:e.input_tokens,outputTokens:e.output_tokens,...e.cache_creation_input_tokens?{cacheCreationInputTokens:e.cache_creation_input_tokens}:{},...e.cache_read_input_tokens?{cacheReadInputTokens:e.cache_read_input_tokens}:{}})):null,container:d.container?{expiresAt:d.container.expires_at,id:d.container.id,skills:null!=(h=null==(p=d.container.skills)?void 0:p.map(e=>({type:e.type,skillId:e.skill_id,version:e.version})))?h:null}:null,contextManagement:(m=d.context_management)?{appliedEdits:m.applied_edits.map(e=>{switch(e.type){case"clear_tool_uses_20250919":return{type:e.type,clearedToolUses:e.cleared_tool_uses,clearedInputTokens:e.cleared_input_tokens};case"clear_thinking_20251015":return{type:e.type,clearedThinkingTurns:e.cleared_thinking_turns,clearedInputTokens:e.cleared_input_tokens};case"compact_20260112":return{type:e.type}}})}:null})}}}(o,t)}}}}function eC(e){return{id:e,status:"failed",error:{message:"Anthropic returned an invalid Message batch result.",code:"invalid_response"}}}async function eE(e){let t=await (0,o.safeValidateTypes)({value:e,schema:h});if(t.success)return t.value;if(!(0,o.isRecord)(e)||!Array.isArray(e.content))return;let r=[];for(let t of e.content){let n=await (0,o.safeValidateTypes)({value:{...e,content:[t]},schema:h});if(n.success){let[e]=n.value.content;null!=e&&r.push(e)}else if(!(0,o.isRecord)(t)||"string"!=typeof t.type||ew.has(t.type))return}let n=await (0,o.safeValidateTypes)({value:{...e,content:r},schema:h});return n.success?n.value:void 0}function eA(e){return null==e?{}:{providerMetadata:{anthropic:{caller:{type:e.type,toolId:e.tool_id}}}}}var eO=(0,o.lazySchema)(()=>(0,o.zodSchema)(r.z.object({command:r.z.string(),restart:r.z.boolean().optional()}))),eM=(0,o.createProviderDefinedToolFactory)({id:"anthropic.bash_20241022",inputSchema:eO}),ej=(0,o.lazySchema)(()=>(0,o.zodSchema)(r.z.object({command:r.z.string(),restart:r.z.boolean().optional()}))),eR=(0,o.createProviderDefinedToolFactory)({id:"anthropic.bash_20250124",inputSchema:ej}),eN=(0,o.lazySchema)(()=>(0,o.zodSchema)(r.z.object({action:r.z.enum(["key","type","mouse_move","left_click","left_click_drag","right_click","middle_click","double_click","screenshot","cursor_position"]),coordinate:r.z.array(r.z.number().int()).optional(),text:r.z.string().optional()}))),eP=(0,o.createProviderDefinedToolFactory)({id:"anthropic.computer_20241022",inputSchema:eN}),e$=(0,o.lazySchema)(()=>(0,o.zodSchema)(r.z.object({action:r.z.enum(["key","hold_key","type","cursor_position","mouse_move","left_mouse_down","left_mouse_up","left_click","left_click_drag","right_click","middle_click","double_click","triple_click","scroll","wait","screenshot"]),coordinate:r.z.tuple([r.z.number().int(),r.z.number().int()]).optional(),duration:r.z.number().optional(),scroll_amount:r.z.number().optional(),scroll_direction:r.z.enum(["up","down","left","right"]).optional(),start_coordinate:r.z.tuple([r.z.number().int(),r.z.number().int()]).optional(),text:r.z.string().optional()}))),eq=(0,o.createProviderDefinedToolFactory)({id:"anthropic.computer_20250124",inputSchema:e$}),eL=(0,o.lazySchema)(()=>(0,o.zodSchema)(r.z.object({action:r.z.enum(["key","hold_key","type","cursor_position","mouse_move","left_mouse_down","left_mouse_up","left_click","left_click_drag","right_click","middle_click","double_click","triple_click","scroll","wait","screenshot","zoom"]),coordinate:r.z.tuple([r.z.number().int(),r.z.number().int()]).optional(),duration:r.z.number().optional(),region:r.z.tuple([r.z.number().int(),r.z.number().int(),r.z.number().int(),r.z.number().int()]).optional(),scroll_amount:r.z.number().optional(),scroll_direction:r.z.enum(["up","down","left","right"]).optional(),start_coordinate:r.z.tuple([r.z.number().int(),r.z.number().int()]).optional(),text:r.z.string().optional()}))),eD=(0,o.createProviderDefinedToolFactory)({id:"anthropic.computer_20251124",inputSchema:eL}),eU=(0,o.lazySchema)(()=>(0,o.zodSchema)(r.z.discriminatedUnion("command",[r.z.object({command:r.z.literal("view"),path:r.z.string(),view_range:r.z.tuple([r.z.number(),r.z.number()]).optional()}),r.z.object({command:r.z.literal("create"),path:r.z.string(),file_text:r.z.string()}),r.z.object({command:r.z.literal("str_replace"),path:r.z.string(),old_str:r.z.string(),new_str:r.z.string()}),r.z.object({command:r.z.literal("insert"),path:r.z.string(),insert_line:r.z.number(),insert_text:r.z.string()}),r.z.object({command:r.z.literal("delete"),path:r.z.string()}),r.z.object({command:r.z.literal("rename"),old_path:r.z.string(),new_path:r.z.string()})]))),eF=(0,o.createProviderDefinedToolFactory)({id:"anthropic.memory_20250818",inputSchema:eU}),eB=(0,o.lazySchema)(()=>(0,o.zodSchema)(r.z.object({command:r.z.enum(["view","create","str_replace","insert","undo_edit"]),path:r.z.string(),file_text:r.z.string().optional(),insert_line:r.z.number().int().optional(),new_str:r.z.string().optional(),insert_text:r.z.string().optional(),old_str:r.z.string().optional(),view_range:r.z.array(r.z.number().int()).optional()}))),eH=(0,o.createProviderDefinedToolFactory)({id:"anthropic.text_editor_20241022",inputSchema:eB}),eW=(0,o.lazySchema)(()=>(0,o.zodSchema)(r.z.object({command:r.z.enum(["view","create","str_replace","insert","undo_edit"]),path:r.z.string(),file_text:r.z.string().optional(),insert_line:r.z.number().int().optional(),new_str:r.z.string().optional(),insert_text:r.z.string().optional(),old_str:r.z.string().optional(),view_range:r.z.array(r.z.number().int()).optional()}))),eV=(0,o.createProviderDefinedToolFactory)({id:"anthropic.text_editor_20250124",inputSchema:eW}),eJ=(0,o.lazySchema)(()=>(0,o.zodSchema)(r.z.object({command:r.z.enum(["view","create","str_replace","insert"]),path:r.z.string(),file_text:r.z.string().optional(),insert_line:r.z.number().int().optional(),new_str:r.z.string().optional(),insert_text:r.z.string().optional(),old_str:r.z.string().optional(),view_range:r.z.array(r.z.number().int()).optional()}))),eK=(0,o.createProviderDefinedToolFactory)({id:"anthropic.text_editor_20250429",inputSchema:eJ}),eG=(0,o.lazySchema)(()=>(0,o.zodSchema)(r.z.array(r.z.object({type:r.z.literal("tool_reference"),toolName:r.z.string()})))),eY=(0,o.lazySchema)(()=>(0,o.zodSchema)(r.z.object({query:r.z.string(),limit:r.z.number().optional()}))),eZ=(0,o.createProviderExecutedToolFactory)({id:"anthropic.tool_search_bm25_20251119",inputSchema:eY,outputSchema:eG,supportsDeferredResults:!0}),eX={advisor_20260301:e=>x(e),bash_20241022:function(e={}){let{execute:t,...o}=e;return void 0===t?eM({...o,execute:async({command:e},{abortSignal:t,experimental_sandbox:o})=>{if(!o)throw Error("Sandbox session is not available");return await o.run({command:e,abortSignal:t})}}):eM({...o,...null===t?{}:{execute:t}})},bash_20250124:function(e={}){let{execute:t,...o}=e;return void 0===t?eR({...o,execute:async({command:e},{abortSignal:t,experimental_sandbox:o})=>{if(!o)throw Error("Sandbox session is not available");return await o.run({command:e,abortSignal:t})}}):eR({...o,...null===t?{}:{execute:t}})},codeExecution_20250522:(e={})=>J(e),codeExecution_20250825:(e={})=>(0,o.experimental_toolCaller)(Y(e),{type:"provider",prepareProviderOptions:e=>{var t;let o=null==e?void 0:e.anthropic;return{...e,anthropic:{...o,allowedCallers:[...new Set([...null!=(t=null==o?void 0:o.allowedCallers)?t:[],"code_execution_20250825"])]}}}}),codeExecution_20260120:(e={})=>(0,o.experimental_toolCaller)(Q(e),{type:"provider",prepareProviderOptions:e=>{var t;let o=null==e?void 0:e.anthropic;return{...e,anthropic:{...o,allowedCallers:[...new Set([...null!=(t=null==o?void 0:o.allowedCallers)?t:[],"code_execution_20260120"])]}}}}),computer_20241022:eP,computer_20250124:eq,computer_20251124:eD,memory_20250818:eF,textEditor_20241022:eH,textEditor_20250124:eV,textEditor_20250429:eK,textEditor_20250728:(e={})=>I(e),webFetch_20250910:(e={})=>F(e),webFetch_20260209:(e={})=>q(e),webSearch_20250305:(e={})=>R(e),webSearch_20260209:(e={})=>A(e),toolSearchRegex_20251119:(e={})=>eo(e),toolSearchBm25_20251119:(e={})=>eZ(e)},eQ=(0,o.lazySchema)(()=>(0,o.zodSchema)(r.z.object({id:r.z.string(),display_title:r.z.string().nullish(),name:r.z.string().nullish(),description:r.z.string().nullish(),latest_version:r.z.string().nullish(),source:r.z.string(),created_at:r.z.string(),updated_at:r.z.string()})));(0,o.lazySchema)(()=>(0,o.zodSchema)(r.z.object({data:r.z.array(r.z.object({version:r.z.string()}))})));var e0=(0,o.lazySchema)(()=>(0,o.zodSchema)(r.z.object({type:r.z.string(),skill_id:r.z.string(),name:r.z.string().nullish(),description:r.z.string().nullish()})));function e1(e){let t=encodeURIComponent(e);return"."===t?"%252E":".."===t?"%252E%252E":t}var e2=class{constructor(e){this.config=e,this.specificationVersion="v4"}get provider(){return this.config.provider}async getHeaders(){return(0,o.combineHeaders)(await (0,o.resolve)(this.config.headers),{"anthropic-beta":"skills-2025-10-02"})}async fetchVersionMetadata({skillId:e,version:t,headers:r}){let{value:n}=await (0,o.getFromApi)({url:`${this.config.baseURL}/skills/${e1(e)}/versions/${e1(t)}`,validateUrl:!1,headers:r,failedResponseHandler:i,successfulResponseHandler:(0,o.createJsonResponseHandler)(e0),fetch:this.config.fetch});return{...null!=n.name?{name:n.name}:{},...null!=n.description?{description:n.description}:{}}}async uploadSkill(e){var t,r;let n=new FormData;for(let t of(null!=e.displayTitle&&n.append("display_title",e.displayTitle),e.files)){let e=(0,o.convertInlineFileDataToUint8Array)(t.data);n.append("files[]",new Blob([e]),t.path)}let a=await this.getHeaders(),{value:l}=await (0,o.postFormDataToApi)({url:`${this.config.baseURL}/skills`,headers:a,formData:n,failedResponseHandler:i,successfulResponseHandler:(0,o.createJsonResponseHandler)(eQ),fetch:this.config.fetch}),s=null!=l.latest_version?await this.fetchVersionMetadata({skillId:l.id,version:l.latest_version,headers:a}):{},u=null!=(t=s.name)?t:l.name,d=null!=(r=s.description)?r:l.description;return{providerReference:{anthropic:l.id},...null!=l.display_title?{displayTitle:l.display_title}:{},...null!=u?{name:u}:{},...null!=d?{description:d}:{},...null!=l.latest_version?{latestVersion:l.latest_version}:{},providerMetadata:{anthropic:{...null!=l.source?{source:l.source}:{},...null!=l.created_at?{createdAt:l.created_at}:{},...null!=l.updated_at?{updatedAt:l.updated_at}:{}}},warnings:[]}}},e4="https://api.anthropic.com",e3=`${e4}/v1`;function e5(e={}){var r,n,a;let i,l=null!=(a=(0,o.loadOptionalSetting)({settingValue:e.baseURL,environmentVariableName:"ANTHROPIC_BASE_URL"}),r=(i=(0,o.withoutTrailingSlash)((0,o.validateBaseURL)(a)))===e4?e3:i)?r:e3,u=null!=(n=e.name)?n:"anthropic.messages";if(e.apiKey&&e.authToken)throw new t.InvalidArgumentError({argument:"apiKey/authToken",message:"Both apiKey and authToken were provided. Please use only one authentication method."});let d=()=>{let t=e.authToken?{Authorization:`Bearer ${e.authToken}`}:{"x-api-key":(0,o.loadApiKey)({apiKey:e.apiKey,environmentVariableName:"ANTHROPIC_API_KEY",description:"Anthropic"})};return(0,o.withUserAgentSuffix)({"anthropic-version":"2023-06-01",...t,...e.headers},"ai-sdk/anthropic/4.0.49")},c=t=>{var r;return new eT(t,{provider:u,baseURL:l,headers:d,fetch:e.fetch,generateId:null!=(r=e.generateId)?r:o.generateId,supportedUrls:()=>({"image/*":[/^https?:\/\/.*$/],"application/pdf":[/^https?:\/\/.*$/]})})},p=function(e){if(new.target)throw Error("The Anthropic model function cannot be called with the new keyword.");return c(e)};return p.specificationVersion="v4",p.languageModel=c,p.chat=c,p.messages=c,p.embeddingModel=e=>{throw new t.NoSuchModelError({modelId:e,modelType:"embeddingModel"})},p.textEmbeddingModel=p.embeddingModel,p.imageModel=e=>{throw new t.NoSuchModelError({modelId:e,modelType:"imageModel"})},p.files=()=>new s({provider:u,baseURL:l,headers:d,fetch:e.fetch}),p.skills=()=>new e2({provider:`${u.replace(".messages","")}.skills`,baseURL:l,headers:d,fetch:e.fetch}),p.tools=eX,p}e5(),e.s(["createAnthropic",0,e5])},19698,e=>{"use strict";var t=e.i(691296),o=e.i(296194),r=e.i(548874),n=e.i(853205),a=(0,t.lazySchema)(()=>(0,t.zodSchema)(n.z.object({error:n.z.object({code:n.z.number().nullable(),message:n.z.string(),status:n.z.string(),details:n.z.array(n.z.unknown()).nullish()})}))),i=(0,t.createJsonErrorResponseHandler)({errorSchema:a,errorToMessage:e=>e.error.message}),l=n.z.union([n.z.object({text:n.z.string()}),n.z.object({inlineData:n.z.object({mimeType:n.z.string(),data:n.z.string()})}),n.z.object({fileData:n.z.object({fileUri:n.z.string(),mimeType:n.z.string()})})]),s=(0,t.lazySchema)(()=>(0,t.zodSchema)(n.z.object({outputDimensionality:n.z.number().optional(),taskType:n.z.enum(["SEMANTIC_SIMILARITY","CLASSIFICATION","CLUSTERING","RETRIEVAL_DOCUMENT","RETRIEVAL_QUERY","QUESTION_ANSWERING","FACT_VERIFICATION","CODE_RETRIEVAL_QUERY"]).optional(),content:n.z.array(n.z.array(l).min(1).nullable()).optional()}))),u=class e{constructor(e,t){this.specificationVersion="v4",this.maxEmbeddingsPerCall=100,this.supportsParallelCalls=!0,this.modelId=e,this.config=t}static[r.WORKFLOW_SERIALIZE](e){return(0,t.serializeModelOptions)({modelId:e.modelId,config:e.config})}static[r.WORKFLOW_DESERIALIZE](t){return new e(t.modelId,t.config)}get provider(){return this.config.provider}async doEmbed({values:e,headers:r,abortSignal:n,providerOptions:a}){let l=await (0,t.parseProviderOptions)({provider:"google",providerOptions:a,schema:s});if(e.length>this.maxEmbeddingsPerCall)throw new o.TooManyEmbeddingValuesForCallError({provider:this.provider,modelId:this.modelId,maxEmbeddingsPerCall:this.maxEmbeddingsPerCall,values:e});let u=(0,t.combineHeaders)(this.config.headers?await (0,t.resolve)(this.config.headers):void 0,r),p=null==l?void 0:l.content;if(null!=p&&p.length!==e.length)throw Error(`The number of multimodal content entries (${p.length}) must match the number of values (${e.length}).`);if(1===e.length){let o=null==p?void 0:p[0],r=e[0]?[{text:e[0]}]:[],a=null!=o?[...r,...o]:[{text:e[0]}],{responseHeaders:s,value:d,rawValue:h}=await (0,t.postJsonToApi)({url:`${this.config.baseURL}/models/${this.modelId}:embedContent`,headers:u,body:{model:`models/${this.modelId}`,content:{parts:a},outputDimensionality:null==l?void 0:l.outputDimensionality,taskType:null==l?void 0:l.taskType},failedResponseHandler:i,successfulResponseHandler:(0,t.createJsonResponseHandler)(c),abortSignal:n,fetch:this.config.fetch});return{warnings:[],embeddings:[d.embedding.values],usage:void 0,response:{headers:s,body:h}}}let{responseHeaders:h,value:m,rawValue:g}=await (0,t.postJsonToApi)({url:`${this.config.baseURL}/models/${this.modelId}:batchEmbedContents`,headers:u,body:{requests:e.map((e,t)=>{let o=null==p?void 0:p[t];return{model:`models/${this.modelId}`,content:{role:"user",parts:null!=o?[...e?[{text:e}]:[],...o]:[{text:e}]},outputDimensionality:null==l?void 0:l.outputDimensionality,taskType:null==l?void 0:l.taskType}})},failedResponseHandler:i,successfulResponseHandler:(0,t.createJsonResponseHandler)(d),abortSignal:n,fetch:this.config.fetch});return{warnings:[],embeddings:m.embeddings.map(e=>e.values),usage:void 0,response:{headers:h,body:g}}}},d=(0,t.lazySchema)(()=>(0,t.zodSchema)(n.z.object({embeddings:n.z.array(n.z.object({values:n.z.array(n.z.number())}))}))),c=(0,t.lazySchema)(()=>(0,t.zodSchema)(n.z.object({embedding:n.z.object({values:n.z.array(n.z.number())})})));function p(e){return e.includes("/")?e:`models/${e}`}function h(e){var o,r,n,a;if(null==e)return(0,t.createNullLanguageModelUsage)();let i=null!=(o=e.promptTokenCount)?o:0,l=null!=(r=e.candidatesTokenCount)?r:0,s=null!=(n=e.cachedContentTokenCount)?n:0,u=null!=(a=e.thoughtsTokenCount)?a:0;return{inputTokens:{total:i,noCache:i-s,cacheRead:s,cacheWrite:void 0},outputTokens:{total:l+u,text:l,reasoning:u},raw:e}}var m="recursive JSON Schema reference:";function g(e,t=!0){let r="object"==typeof e?e:void 0;return function e(t,r,n){var a;if(null==t)return;if("boolean"==typeof t)return{type:"boolean",properties:{}};if(null!=t.$ref)return function({jsonSchema:t,reference:r,isRoot:n,referenceContext:a}){let{definition:i,referenceKey:l}=function(e,t){let o,r=[{prefix:"#/$defs/",definitions:t.dollarDefinitions},{prefix:"#/definitions/",definitions:t.definitions}].find(({prefix:t})=>e.startsWith(t)),n=r?e.slice(r.prefix.length):void 0;(null==r||null==n||0===n.length||n.includes("/"))&&f(e);try{o=decodeURIComponent(n)}catch(t){f(e)}(o.includes("/")||/~(?![01])/u.test(o)||null==r.definitions)&&f(e);let a=o.replace(/~[01]/g,e=>"~1"===e?"/":"~");return Object.prototype.hasOwnProperty.call(r.definitions,a)||f(e),{definition:r.definitions[a],referenceKey:`${r.prefix}${a}`}}(r,a);if(a.resolvingReferences.has(l))throw new o.UnsupportedFunctionalityError({functionality:`${m} ${r}`,message:"Google schema conversion does not support recursive JSON Schema references."});let s=new Set(a.resolvingReferences);s.add(l);let{$ref:u,...d}=t;return e("boolean"==typeof i?!!i&&d:{...i,...d},n,{...a,resolvingReferences:s})}({jsonSchema:t,reference:t.$ref,isRoot:r,referenceContext:n});if(null!=(a=t)&&"object"==typeof a&&"object"===a.type&&(null==a.properties||0===Object.keys(a.properties).length)&&!a.additionalProperties)return r?void 0:t.description?{type:"object",description:t.description}:{type:"object"};let{type:i,description:l,required:s,properties:u,items:d,allOf:c,anyOf:p,oneOf:h,format:g,const:y,minLength:v,minItems:b,maxItems:_,enum:w}=t,z={};if(l&&(z.description=l),s&&(z.required=s),g&&(z.format=g),i)if(Array.isArray(i)){let e=i.includes("null"),t=i.filter(e=>"null"!==e);0===t.length?z.type="null":(z.anyOf=t.map(e=>({type:e})),e&&(z.nullable=!0))}else z.type=i;let x=null!=w?w:void 0!==y?[y]:void 0;if(void 0!==x&&function({values:e,type:t,result:r}){let n=Array.isArray(t)&&t.includes("null")||void 0===t&&e.includes(null),a=n?e.filter(e=>null!==e):e;if(e.length>0&&e.every(e=>null===e)&&(void 0===t||"null"===t||Array.isArray(t)&&t.includes("null"))){r.type="null",Array.isArray(t)&&delete r.anyOf;return}let i=function({values:e,type:t}){if(0===e.length)return;let o=e=>void 0===t||t===e||Array.isArray(t)&&t.includes(e);if(o("string")&&e.every(e=>"string"==typeof e))return"string";if((o("number")||o("integer"))&&e.every(e=>"number"==typeof e&&Number.isFinite(e))){if(o("number"))return"number";if(e.every(e=>Number.isInteger(e)))return"integer"}if(o("boolean")&&e.every(e=>"boolean"==typeof e))return"boolean"}({values:a,type:t});if(void 0===i)throw new o.UnsupportedFunctionalityError({functionality:"JSON Schema enum with mixed or unsupported values",message:"Google does not support this JSON Schema enum. Enum values must share one supported primitive type and match the schema type."});r.type=i,Array.isArray(t)&&delete r.anyOf,n&&(r.nullable=!0),"string"===i?r.enum=a:(r.format="enum",r.enum=a.map(String))}({values:x,type:i,result:z}),null!=u&&(z.properties=Object.entries(u).reduce((t,[o,r])=>(t[o]=e(r,!1,n),t),{})),d&&(z.items=Array.isArray(d)?d.map(t=>e(t,!1,n)):e(d,!1,n)),c&&(z.allOf=c.map(t=>e(t,!1,n))),p)if(p.some(e=>"object"==typeof e&&(null==e?void 0:e.type)==="null")){let t=p.filter(e=>"object"!=typeof e||(null==e?void 0:e.type)!=="null");if(1===t.length){let o=e(t[0],!1,n);"object"==typeof o&&(z.nullable=!0,Object.assign(z,o))}else z.anyOf=t.map(t=>e(t,!1,n)),z.nullable=!0}else z.anyOf=p.map(t=>e(t,!1,n));return h&&(z.oneOf=h.map(t=>e(t,!1,n))),void 0!==v&&(z.minLength=v),void 0!==b&&(z.minItems=b),void 0!==_&&(z.maxItems=_),z}(e,t,{definitions:null==r?void 0:r.definitions,dollarDefinitions:null==r?void 0:r.$defs,resolvingReferences:new Set})}function f(e){throw new o.UnsupportedFunctionalityError({functionality:`JSON Schema reference: ${e}`,message:"Google schema conversion only supports references to direct children of root-level $defs or definitions."})}var y=/^data:([^;,]+);base64,(.+)$/s,v=(0,t.lazySchema)(()=>(0,t.zodSchema)(n.z.object({responseModalities:n.z.array(n.z.enum(["TEXT","IMAGE"])).optional(),thinkingConfig:n.z.object({thinkingBudget:n.z.number().optional(),includeThoughts:n.z.boolean().optional(),thinkingLevel:n.z.enum(["minimal","low","medium","high"]).optional()}).optional(),cachedContent:n.z.string().optional(),structuredOutputs:n.z.boolean().optional(),safetySettings:n.z.array(n.z.object({category:n.z.enum(["HARM_CATEGORY_UNSPECIFIED","HARM_CATEGORY_HATE_SPEECH","HARM_CATEGORY_DANGEROUS_CONTENT","HARM_CATEGORY_HARASSMENT","HARM_CATEGORY_SEXUALLY_EXPLICIT","HARM_CATEGORY_CIVIC_INTEGRITY"]),threshold:n.z.enum(["HARM_BLOCK_THRESHOLD_UNSPECIFIED","BLOCK_LOW_AND_ABOVE","BLOCK_MEDIUM_AND_ABOVE","BLOCK_ONLY_HIGH","BLOCK_NONE","OFF"])})).optional(),threshold:n.z.enum(["HARM_BLOCK_THRESHOLD_UNSPECIFIED","BLOCK_LOW_AND_ABOVE","BLOCK_MEDIUM_AND_ABOVE","BLOCK_ONLY_HIGH","BLOCK_NONE","OFF"]).optional(),audioTimestamp:n.z.boolean().optional(),labels:n.z.record(n.z.string(),n.z.string()).optional(),mediaResolution:n.z.enum(["MEDIA_RESOLUTION_UNSPECIFIED","MEDIA_RESOLUTION_LOW","MEDIA_RESOLUTION_MEDIUM","MEDIA_RESOLUTION_HIGH"]).optional(),imageConfig:n.z.object({aspectRatio:n.z.enum(["1:1","2:3","3:2","3:4","4:3","4:5","5:4","9:16","16:9","21:9","1:8","8:1","1:4","4:1"]).optional(),imageSize:n.z.enum(["1K","2K","4K","512"]).optional(),personGeneration:n.z.enum(["PERSON_GENERATION_UNSPECIFIED","ALLOW_ALL","ALLOW_ADULT","ALLOW_NONE"]).optional(),prominentPeople:n.z.enum(["PROMINENT_PEOPLE_UNSPECIFIED","ALLOW_PROMINENT_PEOPLE","BLOCK_PROMINENT_PEOPLE"]).optional(),imageOutputOptions:n.z.object({mimeType:n.z.enum(["image/jpeg","image/png"]).optional(),compressionQuality:n.z.number().optional()}).optional()}).optional(),retrievalConfig:n.z.object({latLng:n.z.object({latitude:n.z.number(),longitude:n.z.number()}).optional()}).optional(),streamFunctionCallArguments:n.z.boolean().optional(),serviceTier:n.z.enum(["standard","flex","priority"]).optional(),sharedRequestType:n.z.enum(["priority","flex","standard"]).optional(),requestType:n.z.enum(["shared"]).optional()}))),b=/(^|\/)gemini-1(?:[.-]|$)/i,_=/(^|\/)gemini-2(?:[.-]|$)/i,w=/(^|\/)gemini-2\.5(?:[.-]|$)/i,z=/(^|\/)gemini-/i;function x(e){let t=z.test(e),o=_.test(e),r=b.test(e)||/(^|\/)gemini-pro(?:-vision)?$/i.test(e)||/(^|\/)gemini-robotics-er-1\.5(?:[.-]|$)/i.test(e),n=t&&!(r||o);return{supportsGemini2Tools:t&&!r||e.toLowerCase().includes("nano-banana"),supportsFileSearch:w.test(e)||n,usesGemini3Features:n}}function T(e){var t;let r={name:e.name,description:null!=(t=e.description)?t:""};try{return{...r,parameters:g(e.inputSchema)}}catch(t){if(!(o.UnsupportedFunctionalityError.isInstance(t)&&t.functionality.startsWith(m)))throw t;return{...r,parametersJsonSchema:e.inputSchema}}}var k=class{constructor(){this.accumulatedArgs={},this.jsonText="",this.pathStack=[],this.stringOpen=!1}processPartialArgs(e){let t="";for(let o of e){let e=o.jsonPath.replace(/^\$\./,"");if(!e)continue;let r=function(e){let t=[];for(let o of e.split(".")){let e=o.indexOf("[");if(-1===e)t.push(o);else for(let r of(e>0&&t.push(o.slice(0,e)),o.matchAll(/\[(\d+)\]/g)))t.push(parseInt(r[1],10))}return t}(e),n=function(e,t){let o=e;for(let e of t){if(null==o||"object"!=typeof o)return;let t=o;if(!I.call(t,e))return;o=t[e]}return o}(this.accumulatedArgs,r);if(null!=o.stringValue&&void 0!==n){let e=JSON.stringify(o.stringValue).slice(1,-1);C(this.accumulatedArgs,r,n+o.stringValue),t+=e;continue}let a=function(e){var t,o;let r=null!=(o=null!=(t=e.stringValue)?t:e.numberValue)?o:e.boolValue;return null!=r?{value:r,json:JSON.stringify(r)}:"nullValue"in e?{value:null,json:"null"}:void 0}(o);null!=a&&(C(this.accumulatedArgs,r,a.value),t+=this.emitNavigationTo(r,o,a.json))}return this.jsonText+=t,{currentJSON:this.accumulatedArgs,textDelta:t}}finalize(){let e=JSON.stringify(this.accumulatedArgs),t=e.slice(this.jsonText.length);return{finalJSON:e,closingDelta:t}}ensureRoot(){return 0===this.pathStack.length?(this.pathStack.push({segment:"",isArray:!1,childCount:0}),"{"):""}emitNavigationTo(e,t,o){let r="";this.stringOpen&&(r+='"',this.stringOpen=!1),r+=this.ensureRoot();let n=e.slice(0,-1),a=e[e.length-1],i=this.findCommonStackDepth(n);return r+=this.closeDownTo(i),r+=this.openDownTo(n,a),r+=this.emitLeaf(a,t,o)}findCommonStackDepth(e){let t=Math.min(this.pathStack.length-1,e.length),o=0;for(let r=0;r<t;r++)if(this.pathStack[r+1].segment===e[r])o++;else break;return o+1}closeDownTo(e){let t="";for(;this.pathStack.length>e;)t+=this.pathStack.pop().isArray?"]":"}";return t}openDownTo(e,t){let o="",r=this.pathStack.length-1;for(let n=r;n<e.length;n++){let r=e[n],a=this.pathStack[this.pathStack.length-1];a.childCount>0&&(o+=","),a.childCount++,"string"==typeof r&&(o+=`${JSON.stringify(r)}:`);let i="number"==typeof(n+1<e.length?e[n+1]:t);o+=i?"[":"{",this.pathStack.push({segment:r,isArray:i,childCount:0})}return o}emitLeaf(e,t,o){let r="",n=this.pathStack[this.pathStack.length-1];return n.childCount>0&&(r+=","),n.childCount++,"string"==typeof e&&(r+=`${JSON.stringify(e)}:`),null!=t.stringValue&&t.willContinue?(r+=o.slice(0,-1),this.stringOpen=!0):r+=o,r}},I=Object.prototype.hasOwnProperty;function S(e,t,o){Object.defineProperty(e,t,{value:o,enumerable:!0,configurable:!0,writable:!0})}function C(e,t,o){let r=e;for(let e=0;e<t.length-1;e++){var n;let o=t[e],a=t[e+1];n=r,I.call(n,o)&&null!=r[o]||S(r,o,"number"==typeof a?[]:{}),r=r[o]}S(r,t[t.length-1],o)}function E({finishReason:e,hasToolCalls:t}){switch(e){case"STOP":return t?"tool-calls":"stop";case"MAX_TOKENS":return"length";case"IMAGE_SAFETY":case"RECITATION":case"SAFETY":case"BLOCKLIST":case"PROHIBITED_CONTENT":case"SPII":return"content-filter";case"MALFORMED_FUNCTION_CALL":return"error";default:return"other"}}var A=["HARM_CATEGORY_HATE_SPEECH","HARM_CATEGORY_DANGEROUS_CONTENT","HARM_CATEGORY_HARASSMENT","HARM_CATEGORY_SEXUALLY_EXPLICIT"],O=/(^|\/)gemini-2\.5(?:[.-]|$)/i,M=class e{constructor(e,o){var r;this.specificationVersion="v4",this.modelId=e,this.config=o,this.generateId=null!=(r=o.generateId)?r:t.generateId}static[r.WORKFLOW_SERIALIZE](e){return(0,t.serializeModelOptions)({modelId:e.modelId,config:e.config})}static[r.WORKFLOW_DESERIALIZE](t){return new e(t.modelId,t.config)}get provider(){return this.config.provider}get supportedUrls(){var e,t,o;return null!=(o=null==(t=(e=this.config).supportedUrls)?void 0:t.call(e))?o:{}}async getArgs({prompt:e,maxOutputTokens:r,temperature:n,topP:a,topK:i,frequencyPenalty:l,presencePenalty:s,stopSequences:u,responseFormat:d,seed:c,tools:p,toolChoice:h,reasoning:m,providerOptions:f},{isStreaming:b=!1}={}){var _,w,z;let k,I=[],S=this.config.provider.includes("vertex")?["googleVertex","vertex"]:["google"];for(let e of S)if(null!=(k=await (0,t.parseProviderOptions)({provider:e,providerOptions:f,schema:v})))break;null!=k||S.includes("google")||(k=await (0,t.parseProviderOptions)({provider:"google",providerOptions:f,schema:v}));let C=this.config.provider.startsWith("google.vertex.");(null==p?void 0:p.some(e=>"provider"===e.type&&"google.vertex_rag_store"===e.id))&&!C&&I.push({type:"other",message:`The 'vertex_rag_store' tool is only supported with the Google Vertex provider and might not be supported or could behave unexpectedly with the current Google provider (${this.config.provider}).`}),(null==k?void 0:k.streamFunctionCallArguments)&&!C&&I.push({type:"other",message:`'streamFunctionCallArguments' is only supported on the Vertex AI API and will be ignored with the current Google provider (${this.config.provider}). See https://docs.cloud.google.com/vertex-ai/generative-ai/docs/multimodal/function-calling#streaming-fc`}),(null==k?void 0:k.serviceTier)&&C&&I.push({type:"other",message:"'serviceTier' is a Gemini API option and is not supported on Vertex AI. Use 'sharedRequestType' (and optionally 'requestType') instead. See https://docs.cloud.google.com/vertex-ai/generative-ai/docs/priority-paygo"}),((null==k?void 0:k.sharedRequestType)||(null==k?void 0:k.requestType))&&!C&&I.push({type:"other",message:`'sharedRequestType' and 'requestType' are Vertex AI options and are ignored with the current Google provider (${this.config.provider}).`});let E=C&&((null==k?void 0:k.sharedRequestType)||(null==k?void 0:k.requestType))?{...k.sharedRequestType&&{"X-Vertex-AI-LLM-Shared-Request-Type":k.sharedRequestType},...k.requestType&&{"X-Vertex-AI-LLM-Request-Type":k.requestType}}:void 0,M=C||null==k?void 0:k.serviceTier,j=null==k?void 0:k.imageConfig;if(null!=j&&!C){let{personGeneration:e,prominentPeople:t,imageOutputOptions:o,...r}=j,n=Object.entries({personGeneration:e,prominentPeople:t,imageOutputOptions:o}).filter(([,e])=>null!=e).map(([e])=>`'imageConfig.${e}'`);n.length>0&&(I.push({type:"other",message:`${n.join(", ")} ${1===n.length?"is a Vertex AI option and is":"are Vertex AI options and are"} ignored with the current Google provider (${this.config.provider}).`}),j=r)}let R=this.modelId.toLowerCase().startsWith("gemma-"),N=!C&&O.test(this.modelId);N&&null!=l&&I.push({type:"unsupported",feature:"frequencyPenalty"}),N&&null!=s&&I.push({type:"unsupported",feature:"presencePenalty"});let{usesGemini3Features:P}=x(this.modelId),{contents:$,systemInstruction:q}=function(e,r){var n,a,i,l,s,u;let d=[],c=[],p=!0,h=null!=(n=null==r?void 0:r.isGemmaModel)&&n,m=null!=(a=null==r?void 0:r.isGemini3Model)&&a,g=null==r?void 0:r.onWarning,f=null!=(i=null==r?void 0:r.providerOptionsNames)?i:["google"],v=!f.includes("google"),b=null==(l=null==r?void 0:r.supportsFunctionResponseParts)||l,_=null==(s=null==r?void 0:r.includeFunctionCallIds)||s,w=!1,z=[],x=e=>(z.push(e),w=!0,"skip_thought_signature_validator"),T=e=>{var t,o,r,n,a;for(let o of f){let r=null==(t=e.providerOptions)?void 0:t[o];if(null!=r)return r}return v?null==(o=e.providerOptions)?void 0:o.google:null!=(a=null==(r=e.providerOptions)?void 0:r.googleVertex)?a:null==(n=e.providerOptions)?void 0:n.vertex};for(let{role:r,content:n}of e)switch(r){case"system":if(!p)throw new o.UnsupportedFunctionalityError({functionality:"system messages are only supported at the beginning of the conversation"});d.push({text:n});break;case"user":{p=!1;let e=[];for(let r of n)switch(r.type){case"text":e.push({text:r.text});break;case"file":switch(r.data.type){case"url":e.push({fileData:{mimeType:(0,t.resolveFullMediaType)({part:r}),fileUri:r.data.url.toString()}});break;case"reference":if(v)throw new o.UnsupportedFunctionalityError({functionality:"file parts with provider references"});e.push({fileData:{mimeType:(0,t.resolveFullMediaType)({part:r}),fileUri:(0,t.resolveProviderReference)({reference:r.data.reference,provider:"google"})}});break;case"text":e.push({inlineData:{mimeType:(0,t.isFullMediaType)(r.mediaType)?r.mediaType:"text/plain",data:(0,t.convertToBase64)(new TextEncoder().encode(r.data.text))}});break;case"data":e.push({inlineData:{mimeType:(0,t.resolveFullMediaType)({part:r}),data:(0,t.convertToBase64)(r.data.data)}})}}c.push({role:"user",parts:e});break}case"assistant":{p=!1;let e=!1;c.push({role:"model",parts:n.map(r=>{let n=T(r),a=(null==n?void 0:n.thoughtSignature)!=null?String(n.thoughtSignature):void 0;switch(r.type){case"text":return 0===r.text.length?void 0:{text:r.text,thoughtSignature:a};case"reasoning":return 0===r.text.length?void 0:{text:r.text,thought:!0,thoughtSignature:a};case"reasoning-file":switch(r.data.type){case"url":throw new o.UnsupportedFunctionalityError({functionality:"File data URLs in assistant messages are not supported"});case"data":return{inlineData:{mimeType:r.mediaType,data:(0,t.convertToBase64)(r.data.data)},thought:!0,thoughtSignature:a}}break;case"file":switch(r.data.type){case"url":throw new o.UnsupportedFunctionalityError({functionality:"File data URLs in assistant messages are not supported"});case"reference":if(v)throw new o.UnsupportedFunctionalityError({functionality:"file parts with provider references"});return{fileData:{mimeType:r.mediaType,fileUri:(0,t.resolveProviderReference)({reference:r.data.reference,provider:"google"})},...(null==n?void 0:n.thought)===!0?{thought:!0}:{},thoughtSignature:a};case"text":return{inlineData:{mimeType:(0,t.isFullMediaType)(r.mediaType)?r.mediaType:"text/plain",data:(0,t.convertToBase64)(new TextEncoder().encode(r.data.text))},...(null==n?void 0:n.thought)===!0?{thought:!0}:{},thoughtSignature:a};case"data":return{inlineData:{mimeType:r.mediaType,data:(0,t.convertToBase64)(r.data.data)},...(null==n?void 0:n.thought)===!0?{thought:!0}:{},thoughtSignature:a}}break;case"tool-call":{let o=(null==n?void 0:n.serverToolCallId)!=null?String(n.serverToolCallId):void 0,i=(null==n?void 0:n.serverToolType)!=null?String(n.serverToolType):void 0,l=null!=o&&null!=i,s=!l&&null==a&&e,u=null!=a?a:m&&!s?x(r.toolName):void 0;if(l||null==a||(e=!0),l)return{toolCall:{toolType:i,args:"string"==typeof r.input?(0,t.secureJsonParse)(r.input):r.input,id:o},thoughtSignature:u};return{functionCall:{..._&&null!=r.toolCallId?{id:r.toolCallId}:{},name:r.toolName,args:r.input},thoughtSignature:u}}case"tool-result":{let e=(null==n?void 0:n.serverToolCallId)!=null?String(n.serverToolCallId):void 0,t=(null==n?void 0:n.serverToolType)!=null?String(n.serverToolType):void 0;if(e&&t)return{toolResponse:{toolType:t,response:"json"===r.output.type?r.output.value:{},id:e},thoughtSignature:a};return}}}).filter(e=>void 0!==e)});break}case"tool":{p=!1;let e=[];for(let o of n){if("tool-approval-response"===o.type)continue;let r=T(o),n=(null==r?void 0:r.serverToolCallId)!=null?String(r.serverToolCallId):void 0,a=(null==r?void 0:r.serverToolType)!=null?String(r.serverToolType):void 0;if(n&&a){let e=(null==r?void 0:r.thoughtSignature)!=null?String(r.thoughtSignature):void 0;if(c.length>0){let t=c[c.length-1];if("model"===t.role){t.parts.push({toolResponse:{toolType:a,response:"json"===o.output.type?o.output.value:{},id:n},thoughtSignature:e});continue}}}let i=o.output;"content"===i.type?b?function(e,o,r,n,a=!0){let i=[],l=[];for(let e of r)switch(e.type){case"text":l.push(e.text);break;case"file":if("data"===e.data.type)i.push({inlineData:{mimeType:(0,t.resolveFullMediaType)({part:e}),data:(0,t.convertToBase64)(e.data.data)}});else if("url"===e.data.type){let t=function(e){let t=function(e){let t=y.exec(e);if(null!=t)return{mediaType:t[1],data:t[2]}}(e);if(null!=t)return{inlineData:{mimeType:t.mediaType,data:t.data}}}(e.data.url.toString());null!=t?i.push(t):l.push(JSON.stringify(e))}else l.push(JSON.stringify(e));break;default:l.push(JSON.stringify(e))}e.push({functionResponse:{...a&&null!=n?{id:n}:{},name:o,response:{name:o,content:l.length>0?l.join("\n"):"Tool executed successfully."},...i.length>0?{parts:i}:{}}})}(e,o.toolName,i.value,o.toolCallId,_):function(e,o,r,n,a=!0){for(let i of r)switch(i.type){case"text":e.push({functionResponse:{...a&&null!=n?{id:n}:{},name:o,response:{name:o,content:i.text}}});break;case"file":if("data"===i.data.type){let o=(0,t.getTopLevelMediaType)(i.mediaType);e.push({inlineData:{mimeType:(0,t.resolveFullMediaType)({part:i}),data:(0,t.convertToBase64)(i.data.data)}},{text:`Tool executed successfully and returned this ${"image"===o?"image":"file"} as a response`})}else e.push({text:JSON.stringify(i)});break;default:e.push({text:JSON.stringify(i)})}}(e,o.toolName,i.value,o.toolCallId,_):e.push({functionResponse:{..._&&null!=o.toolCallId?{id:o.toolCallId}:{},name:o.toolName,response:{name:o.toolName,content:"execution-denied"===i.type?null!=(u=i.reason)?u:"Tool call execution denied.":i.value}}})}c.push({role:"user",parts:e})}}if(h&&d.length>0&&c.length>0&&"user"===c[0].role){let e=d.map(e=>e.text).join("\n\n");c[0].parts.unshift({text:e+"\n\n"})}if(w&&null!=g){let e=Array.from(new Set(z));g({type:"other",message:`Replayed ${z.length} \`functionCall\` part(s) for a Gemini 3 model without a \`thoughtSignature\` (tools: ${e.map(e=>`\`${e}\``).join(", ")}). Injected the documented \`skip_thought_signature_validator\` sentinel to keep the request from failing with HTTP 400. The likely cause is application code that drops \`providerOptions.google.thoughtSignature\` when persisting or serializing assistant tool-call messages. See https://ai.google.dev/gemini-api/docs/thought-signatures.`})}return{systemInstruction:d.length>0&&!h?{parts:d}:void 0,contents:c}}(e,{isGemmaModel:R,isGemini3Model:P,onWarning:e=>I.push(e),providerOptionsNames:S,supportsFunctionResponseParts:P,includeFunctionCallIds:!C}),{tools:L,toolConfig:D,toolWarnings:U}=function({tools:e,toolChoice:t,modelId:r,isVertexProvider:n=!1}){e=(null==e?void 0:e.length)?e:void 0;let a=[],{supportsGemini2Tools:i,supportsFileSearch:l,usesGemini3Features:s}=x(r);if(null==e)return{tools:void 0,toolConfig:void 0,toolWarnings:a};let u=e.some(e=>"function"===e.type),d=e.some(e=>"provider"===e.type);if(u&&d&&!s&&a.push({type:"unsupported",feature:"combination of function and provider-defined tools"}),d){let o=[];if(e.filter(e=>"provider"===e.type).forEach(e=>{switch(e.id){case"google.google_search":i?o.push({googleSearch:{...e.args}}):a.push({type:"unsupported",feature:`provider-defined tool ${e.id}`,details:"Google Search requires Gemini 2.0 or newer."});break;case"google.enterprise_web_search":i?o.push({enterpriseWebSearch:{}}):a.push({type:"unsupported",feature:`provider-defined tool ${e.id}`,details:"Enterprise Web Search requires Gemini 2.0 or newer."});break;case"google.url_context":i?o.push({urlContext:{}}):a.push({type:"unsupported",feature:`provider-defined tool ${e.id}`,details:"The URL context tool is not supported with other Gemini models than Gemini 2."});break;case"google.code_execution":i?o.push({codeExecution:{}}):a.push({type:"unsupported",feature:`provider-defined tool ${e.id}`,details:"The code execution tool is not supported with other Gemini models than Gemini 2."});break;case"google.file_search":l?o.push({fileSearch:{...e.args}}):a.push({type:"unsupported",feature:`provider-defined tool ${e.id}`,details:"The file search tool is only supported with Gemini 2.5 models and Gemini 3 models."});break;case"google.vertex_rag_store":i?o.push({retrieval:{vertex_rag_store:{rag_resources:{rag_corpus:e.args.ragCorpus},similarity_top_k:e.args.topK}}}):a.push({type:"unsupported",feature:`provider-defined tool ${e.id}`,details:"The RAG store tool is not supported with other Gemini models than Gemini 2."});break;case"google.google_maps":i?o.push({googleMaps:{}}):a.push({type:"unsupported",feature:`provider-defined tool ${e.id}`,details:"The Google Maps grounding tool is not supported with Gemini models other than Gemini 2 or newer."});break;default:a.push({type:"unsupported",feature:`provider-defined tool ${e.id}`})}}),u&&s&&o.length>0){let r=[];for(let t of e)"function"===t.type&&r.push(T(t));let i={functionCallingConfig:{mode:"VALIDATED"},...!n&&{includeServerSideToolInvocations:!0}};if(null!=t)switch(t.type){case"auto":break;case"none":i.functionCallingConfig={mode:"NONE"};break;case"required":i.functionCallingConfig={mode:"ANY"};break;case"tool":i.functionCallingConfig={mode:"ANY",allowedFunctionNames:[t.toolName]}}return{tools:[...o,{functionDeclarations:r}],toolConfig:i,toolWarnings:a}}return{tools:o.length>0?o:void 0,toolConfig:void 0,toolWarnings:a}}let c=[],p=!1;for(let t of e)"function"===t.type?(c.push(T(t)),!0===t.strict&&(p=!0)):a.push({type:"unsupported",feature:`function tool ${t.name}`});if(null==t)return{tools:[{functionDeclarations:c}],toolConfig:p?{functionCallingConfig:{mode:"VALIDATED"}}:void 0,toolWarnings:a};let h=t.type;switch(h){case"auto":return{tools:[{functionDeclarations:c}],toolConfig:{functionCallingConfig:{mode:p?"VALIDATED":"AUTO"}},toolWarnings:a};case"none":return{tools:[{functionDeclarations:c}],toolConfig:{functionCallingConfig:{mode:"NONE"}},toolWarnings:a};case"required":return{tools:[{functionDeclarations:c}],toolConfig:{functionCallingConfig:{mode:"ANY"}},toolWarnings:a};case"tool":return{tools:[{functionDeclarations:c}],toolConfig:{functionCallingConfig:{mode:"ANY",allowedFunctionNames:[t.toolName]}},toolWarnings:a};default:throw new o.UnsupportedFunctionalityError({functionality:`tool choice type: ${h}`})}}({tools:p,toolChoice:h,modelId:this.modelId,isVertexProvider:C}),F=(0,t.createToolNameMapping)({tools:p,providerToolNames:{"google.code_execution":"code_execution"}}),B=function({reasoning:e,modelId:o,warnings:r}){if((0,t.isCustomReasoning)(e))return x(o).usesGemini3Features&&!o.includes("gemini-3-pro-image")?function({reasoning:e,modelId:o,warnings:r}){let n=function(e){var t;let o=null==(t=e.split("/").at(-1))?void 0:t.toLowerCase();if("gemini-flash-latest"===o)return"low";let r=/^gemini-(\d+)\.(\d+)-flash(?:$|-(?!lite(?:-|$)))/.exec(null!=o?o:"");if(null==r)return"minimal";let n=Number(r[1]),a=Number(r[2]);return n>3||3===n&&a>=7?"low":"minimal"}(o);if("none"===e)return{thinkingLevel:n};let a=(0,t.mapReasoningToProviderEffort)({reasoning:e,effortMap:{minimal:n,low:"low",medium:"medium",high:"high",xhigh:"high"},warnings:r});if(null!=a)return{thinkingLevel:a}}({reasoning:e,modelId:o,warnings:r}):function({reasoning:e,modelId:o,warnings:r}){let n;if("none"===e)return{thinkingBudget:0};let a=(0,t.mapReasoningToProviderBudget)({reasoning:e,maxOutputTokens:65536,maxReasoningBudget:(n=o.toLowerCase()).includes("2.5-pro")||n.includes("gemini-3-pro-image")?32768:24576,minReasoningBudget:0,warnings:r});if(null!=a)return{thinkingBudget:a}}({reasoning:e,modelId:o,warnings:r})}({reasoning:m,modelId:this.modelId,warnings:I}),H=(null==k?void 0:k.thinkingConfig)||B?{...B,...null==k?void 0:k.thinkingConfig}:void 0,W=b&&C?null!=(_=null==k?void 0:k.streamFunctionCallArguments)&&_:void 0,V=null==k?void 0:k.threshold,J=null!=(w=null==k?void 0:k.safetySettings)?w:null!=V?A.map(e=>({category:e,threshold:V})):void 0,K=D||W||(null==k?void 0:k.retrievalConfig)?{...D,...W&&{functionCallingConfig:{...null==D?void 0:D.functionCallingConfig,streamFunctionCallArguments:!0}},...(null==k?void 0:k.retrievalConfig)&&{retrievalConfig:k.retrievalConfig}}:void 0;return{args:{generationConfig:{maxOutputTokens:r,temperature:n,topK:i,topP:a,frequencyPenalty:N?void 0:l,presencePenalty:N?void 0:s,stopSequences:u,seed:c,responseMimeType:(null==d?void 0:d.type)==="json"?"application/json":void 0,responseSchema:(null==d?void 0:d.type)==="json"&&null!=d.schema&&(null==(z=null==k?void 0:k.structuredOutputs)||z)?g(d.schema):void 0,...(null==k?void 0:k.audioTimestamp)&&{audioTimestamp:k.audioTimestamp},responseModalities:null==k?void 0:k.responseModalities,thinkingConfig:H,...(null==k?void 0:k.mediaResolution)&&{mediaResolution:k.mediaResolution},...j&&{imageConfig:j}},contents:$,systemInstruction:R?void 0:q,safetySettings:J,tools:L,toolConfig:K,cachedContent:null==k?void 0:k.cachedContent,labels:null==k?void 0:k.labels,serviceTier:M},warnings:[...I,...U],providerOptionsNames:S,extraHeaders:E,toolNameMapping:F}}convertGenerateContentResponse({response:e,warnings:t,providerOptionsNames:o,toolNameMapping:r}){var n,a,i,l,s,u,d,c,p,m,g,f,y,v,b,_,w,z,x,T,k;let I,S,C=e=>Object.fromEntries(o.map(t=>[t,e])),A=null==(n=e.candidates)?void 0:n[0],O=null==(a=e.promptFeedback)?void 0:a.blockReason,M=(null==A?void 0:A.finishReason)==null&&null!=O,R=null!=(l=null!=(i=null==A?void 0:A.finishReason)?i:O)?l:void 0,N=[],P=null!=(u=null==(s=null==A?void 0:A.content)?void 0:s.parts)?u:[],$=e.usageMetadata;for(let e of P)if("executableCode"in e&&(null==(d=e.executableCode)?void 0:d.code)){let t=this.config.generateId();I=t,N.push({type:"tool-call",toolCallId:t,toolName:null!=(c=null==r?void 0:r.toCustomToolName("code_execution"))?c:"code_execution",input:JSON.stringify(e.executableCode),providerExecuted:!0})}else if("codeExecutionResult"in e&&e.codeExecutionResult)N.push({type:"tool-result",toolCallId:I,toolName:null!=(p=null==r?void 0:r.toCustomToolName("code_execution"))?p:"code_execution",result:{outcome:e.codeExecutionResult.outcome,output:null!=(m=e.codeExecutionResult.output)?m:""}});else if("text"in e&&null!=e.text){let t=e.thoughtSignature?C({thoughtSignature:e.thoughtSignature}):void 0;0===e.text.length?null!=t&&N.length>0&&(N[N.length-1].providerMetadata=t):N.push({type:!0===e.thought?"reasoning":"text",text:e.text,providerMetadata:t})}else if("functionCall"in e&&null!=e.functionCall.name)N.push({type:"tool-call",toolCallId:e.functionCall.id||this.config.generateId(),toolName:e.functionCall.name,input:JSON.stringify(null!=(g=e.functionCall.args)?g:{}),providerMetadata:e.thoughtSignature?C({thoughtSignature:e.thoughtSignature}):void 0});else if("inlineData"in e){let t=!0===e.thought,o=!!e.thoughtSignature;N.push({type:t?"reasoning-file":"file",data:{type:"data",data:e.inlineData.data},mediaType:e.inlineData.mimeType,providerMetadata:o?C({thoughtSignature:e.thoughtSignature}):void 0})}else if("toolCall"in e&&e.toolCall){let t=e.toolCall.id||this.config.generateId();S=t,N.push({type:"tool-call",toolCallId:t,toolName:`server:${e.toolCall.toolType}`,input:JSON.stringify(null!=(f=e.toolCall.args)?f:{}),providerExecuted:!0,dynamic:!0,providerMetadata:C(e.thoughtSignature?{thoughtSignature:e.thoughtSignature,serverToolCallId:t,serverToolType:e.toolCall.toolType}:{serverToolCallId:t,serverToolType:e.toolCall.toolType})})}else if("toolResponse"in e&&e.toolResponse){let t=S||e.toolResponse.id||this.config.generateId();N.push({type:"tool-result",toolCallId:t,toolName:`server:${e.toolResponse.toolType}`,result:null!=(y=e.toolResponse.response)?y:{},providerMetadata:C(e.thoughtSignature?{thoughtSignature:e.thoughtSignature,serverToolCallId:t,serverToolType:e.toolResponse.toolType}:{serverToolCallId:t,serverToolType:e.toolResponse.toolType})}),S=void 0}for(let e of null!=(v=j({groundingMetadata:null==A?void 0:A.groundingMetadata,generateId:this.config.generateId}))?v:[])N.push(e);return{content:N,finishReason:{unified:M?"content-filter":E({finishReason:R,hasToolCalls:N.some(e=>"tool-call"===e.type&&!e.providerExecuted)}),raw:R},usage:h($),warnings:t,providerMetadata:C({promptFeedback:null!=(b=e.promptFeedback)?b:null,groundingMetadata:null!=(_=null==A?void 0:A.groundingMetadata)?_:null,urlContextMetadata:null!=(w=null==A?void 0:A.urlContextMetadata)?w:null,safetyRatings:null!=(z=null==A?void 0:A.safetyRatings)?z:null,usageMetadata:null!=$?$:null,finishMessage:null!=(x=null==A?void 0:A.finishMessage)?x:null,serviceTier:null!=(T=null==$?void 0:$.serviceTier)?T:null}),response:{id:null!=(k=e.responseId)?k:void 0}}}async doGenerate(e){let{args:o,warnings:r,providerOptionsNames:n,extraHeaders:a,toolNameMapping:l}=await this.getArgs(e),s=(0,t.combineHeaders)(this.config.headers?await (0,t.resolve)(this.config.headers):void 0,e.headers,a),{responseHeaders:u,value:d,rawValue:c}=await (0,t.postJsonToApi)({url:`${this.config.baseURL}/${p(this.modelId)}:generateContent`,headers:s,body:o,failedResponseHandler:i,successfulResponseHandler:(0,t.createJsonResponseHandler)(U),abortSignal:e.abortSignal,fetch:this.config.fetch}),h=this.convertGenerateContentResponse({response:d,warnings:r,providerOptionsNames:n,toolNameMapping:l});return{...h,request:{body:o},response:{...h.response,headers:u,body:c}}}async doStream(e){let o,r,n,a,{args:l,warnings:s,providerOptionsNames:u,extraHeaders:d,toolNameMapping:c}=await this.getArgs(e,{isStreaming:!0}),m=e=>Object.fromEntries(u.map(t=>[t,e])),g=(0,t.combineHeaders)(this.config.headers?await (0,t.resolve)(this.config.headers):void 0,e.headers,d),{responseHeaders:f,value:y}=await (0,t.postJsonToApi)({url:`${this.config.baseURL}/${p(this.modelId)}:streamGenerateContent?alt=sse`,headers:g,body:l,failedResponseHandler:i,successfulResponseHandler:(0,t.createEventSourceResponseHandler)(F),abortSignal:e.abortSignal,fetch:this.config.fetch}),v={unified:"other",raw:void 0},b=null,_=null,w=this.config.generateId,z=!1,x=!1,T=null,I=null,S=0,C=new Set,A=[],O=e=>{let t=A.pop();if(null==t)return;let{finalJSON:o,closingDelta:r}=t.accumulator.finalize();r.length>0&&e.enqueue({type:"tool-input-delta",id:t.toolCallId,delta:r,providerMetadata:t.providerMetadata}),e.enqueue({type:"tool-input-end",id:t.toolCallId,providerMetadata:t.providerMetadata}),e.enqueue({type:"tool-call",toolCallId:t.toolCallId,toolName:t.toolName,input:o,providerMetadata:t.providerMetadata}),z=!0};return{stream:y.pipeThrough(new TransformStream({start(e){e.enqueue({type:"stream-start",warnings:s})},transform(t,i){var l,s,u,d,p,h,g,f,y,M,R,N,P,$,q,L,D;if(e.includeRawChunks&&i.enqueue({type:"raw",rawValue:t.rawValue}),!t.success)return void i.enqueue({type:"error",error:t.error});let U=t.value;x||null==U.responseId||(x=!0,i.enqueue({type:"response-metadata",id:U.responseId}));let F=U.usageMetadata;null!=F&&(n=F);let B=null==(l=U.candidates)?void 0:l[0];if(null==B){let e=null==(s=U.promptFeedback)?void 0:s.blockReason;null!=e&&(v={unified:"content-filter",raw:e},a=m({promptFeedback:null!=(u=U.promptFeedback)?u:null,groundingMetadata:b,urlContextMetadata:_,safetyRatings:null,usageMetadata:null!=F?F:null,finishMessage:null,serviceTier:null!=(d=null==n?void 0:n.serviceTier)?d:null}));return}let H=B.content;null!=B.groundingMetadata&&(b=B.groundingMetadata),null!=B.urlContextMetadata&&(_=B.urlContextMetadata);let W=j({groundingMetadata:B.groundingMetadata,generateId:w});if(null!=W)for(let e of W)"url"!==e.sourceType||C.has(e.url)||(C.add(e.url),i.enqueue(e));if(null!=H){let e=null!=(p=H.parts)?p:[];for(let t of e)if("executableCode"in t&&(null==(h=t.executableCode)?void 0:h.code)){let e=w();o=e,i.enqueue({type:"tool-call",toolCallId:e,toolName:c.toCustomToolName("code_execution"),input:JSON.stringify(t.executableCode),providerExecuted:!0})}else if("codeExecutionResult"in t&&t.codeExecutionResult){let e=o;e&&i.enqueue({type:"tool-result",toolCallId:e,toolName:c.toCustomToolName("code_execution"),result:{outcome:t.codeExecutionResult.outcome,output:null!=(g=t.codeExecutionResult.output)?g:""}})}else if("text"in t&&null!=t.text){let e=t.thoughtSignature?m({thoughtSignature:t.thoughtSignature}):void 0;0===t.text.length?null!=e&&null!==T&&i.enqueue({type:"text-delta",id:T,delta:"",providerMetadata:e}):!0===t.thought?(null!==T&&(i.enqueue({type:"text-end",id:T}),T=null),null===I&&(I=String(S++),i.enqueue({type:"reasoning-start",id:I,providerMetadata:e})),i.enqueue({type:"reasoning-delta",id:I,delta:t.text,providerMetadata:e})):(null!==I&&(i.enqueue({type:"reasoning-end",id:I}),I=null),null===T&&(T=String(S++),i.enqueue({type:"text-start",id:T,providerMetadata:e})),i.enqueue({type:"text-delta",id:T,delta:t.text,providerMetadata:e}))}else if("inlineData"in t){null!==T&&(i.enqueue({type:"text-end",id:T}),T=null),null!==I&&(i.enqueue({type:"reasoning-end",id:I}),I=null);let e=!0===t.thought,o=t.thoughtSignature?m({thoughtSignature:t.thoughtSignature}):void 0;i.enqueue({type:e?"reasoning-file":"file",mediaType:t.inlineData.mimeType,data:{type:"data",data:t.inlineData.data},providerMetadata:o})}else if("toolCall"in t&&t.toolCall){let e=t.toolCall.id||w();r=e;let o=m({...t.thoughtSignature?{thoughtSignature:t.thoughtSignature}:{},serverToolCallId:e,serverToolType:t.toolCall.toolType});i.enqueue({type:"tool-call",toolCallId:e,toolName:`server:${t.toolCall.toolType}`,input:JSON.stringify(null!=(f=t.toolCall.args)?f:{}),providerExecuted:!0,dynamic:!0,providerMetadata:o})}else if("toolResponse"in t&&t.toolResponse){let e=r||t.toolResponse.id||w(),o=m({...t.thoughtSignature?{thoughtSignature:t.thoughtSignature}:{},serverToolCallId:e,serverToolType:t.toolResponse.toolType});i.enqueue({type:"tool-result",toolCallId:e,toolName:`server:${t.toolResponse.toolType}`,result:null!=(y=t.toolResponse.response)?y:{},providerMetadata:o}),r=void 0}for(let t of e){if(!("functionCall"in t))continue;let e=t.thoughtSignature?m({thoughtSignature:t.thoughtSignature}):void 0,o=null!=t.functionCall.partialArgs||null!=t.functionCall.name&&!0===t.functionCall.willContinue,r=null==t.functionCall.name&&null==t.functionCall.args&&null==t.functionCall.partialArgs&&null==t.functionCall.willContinue,n=null!=t.functionCall.name&&null!=t.functionCall.args&&null==t.functionCall.partialArgs,a=null!=t.functionCall.name&&null==t.functionCall.args&&null==t.functionCall.partialArgs&&!0!==t.functionCall.willContinue;if(o){if(null!=t.functionCall.name){let o=t.functionCall.id||w(),r=new k;if(A.push({toolCallId:o,toolName:t.functionCall.name,accumulator:r,providerMetadata:e}),i.enqueue({type:"tool-input-start",id:o,toolName:t.functionCall.name,providerMetadata:e}),null!=t.functionCall.partialArgs){let n=t.functionCall.partialArgs,{textDelta:a}=r.processPartialArgs(n);a.length>0&&i.enqueue({type:"tool-input-delta",id:o,delta:a,providerMetadata:e}),!0!==t.functionCall.willContinue&&n.every(e=>!0!==e.willContinue)&&O(i)}}else if(null!=t.functionCall.partialArgs&&A.length>0){let o=A[A.length-1],r=t.functionCall.partialArgs,{textDelta:n}=o.accumulator.processPartialArgs(r);n.length>0&&i.enqueue({type:"tool-input-delta",id:o.toolCallId,delta:n,providerMetadata:e}),!0!==t.functionCall.willContinue&&r.every(e=>!0!==e.willContinue)&&O(i)}}else if(r&&A.length>0)O(i);else if(n){let o=t.functionCall.id||w(),r=t.functionCall.name,n="string"==typeof t.functionCall.args?t.functionCall.args:JSON.stringify(null!=(M=t.functionCall.args)?M:{});i.enqueue({type:"tool-input-start",id:o,toolName:r,providerMetadata:e}),i.enqueue({type:"tool-input-delta",id:o,delta:n,providerMetadata:e}),i.enqueue({type:"tool-input-end",id:o,providerMetadata:e}),i.enqueue({type:"tool-call",toolCallId:o,toolName:r,input:n,providerMetadata:e}),z=!0}else if(a){let o=t.functionCall.id||w(),r=t.functionCall.name;i.enqueue({type:"tool-input-start",id:o,toolName:r,providerMetadata:e}),i.enqueue({type:"tool-input-end",id:o,providerMetadata:e}),i.enqueue({type:"tool-call",toolCallId:o,toolName:r,input:"{}",providerMetadata:e}),z=!0}}}let V=null==(R=U.promptFeedback)?void 0:R.blockReason,J=null==B.finishReason&&null!=V,K=null!=(P=null!=(N=B.finishReason)?N:V)?P:void 0;null!=K&&(v={unified:J?"content-filter":E({finishReason:K,hasToolCalls:z}),raw:K},a=m({promptFeedback:null!=($=U.promptFeedback)?$:null,groundingMetadata:b,urlContextMetadata:_,safetyRatings:null!=(q=B.safetyRatings)?q:null,usageMetadata:null!=F?F:null,finishMessage:null!=(L=B.finishMessage)?L:null,serviceTier:null!=(D=null==n?void 0:n.serviceTier)?D:null}))},flush(e){null!==T&&e.enqueue({type:"text-end",id:T}),null!==I&&e.enqueue({type:"reasoning-end",id:I}),e.enqueue({type:"finish",finishReason:v,usage:h(n),providerMetadata:a})}})),response:{headers:f},request:{body:l}}}};function j({groundingMetadata:e,generateId:t}){var o,r,n,a,i,l;if(!(null==e?void 0:e.groundingChunks))return;let s=[];for(let u of e.groundingChunks)if(null!=u.web)s.push({type:"source",sourceType:"url",id:t(),url:u.web.uri,title:null!=(o=u.web.title)?o:void 0});else if(null!=u.image)s.push({type:"source",sourceType:"url",id:t(),url:u.image.sourceUri,title:null!=(r=u.image.title)?r:void 0});else if(null!=u.retrievedContext){let e=u.retrievedContext.uri,o=u.retrievedContext.fileSearchStore;if(e&&(e.startsWith("http://")||e.startsWith("https://")))s.push({type:"source",sourceType:"url",id:t(),url:e,title:null!=(n=u.retrievedContext.title)?n:void 0});else if(e){let o,r=null!=(a=u.retrievedContext.title)?a:"Unknown Document",n="application/octet-stream";e.endsWith(".pdf")?n="application/pdf":e.endsWith(".txt")?n="text/plain":e.endsWith(".docx")?n="application/vnd.openxmlformats-officedocument.wordprocessingml.document":e.endsWith(".doc")?n="application/msword":e.match(/\.(md|markdown)$/)&&(n="text/markdown"),o=e.split("/").pop(),s.push({type:"source",sourceType:"document",id:t(),mediaType:n,title:r,filename:o})}else if(o){let e=null!=(i=u.retrievedContext.title)?i:"Unknown Document";s.push({type:"source",sourceType:"document",id:t(),mediaType:"application/octet-stream",title:e,filename:o.split("/").pop()})}}else null!=u.maps&&u.maps.uri&&s.push({type:"source",sourceType:"url",id:t(),url:u.maps.uri,title:null!=(l=u.maps.title)?l:void 0});return s.length>0?s:void 0}var R=()=>n.z.object({webSearchQueries:n.z.array(n.z.string()).nullish(),imageSearchQueries:n.z.array(n.z.string()).nullish(),retrievalQueries:n.z.array(n.z.string()).nullish(),searchEntryPoint:n.z.object({renderedContent:n.z.string()}).nullish(),groundingChunks:n.z.array(n.z.object({web:n.z.object({uri:n.z.string(),title:n.z.string().nullish()}).nullish(),image:n.z.object({sourceUri:n.z.string(),imageUri:n.z.string(),title:n.z.string().nullish(),domain:n.z.string().nullish()}).nullish(),retrievedContext:n.z.object({uri:n.z.string().nullish(),title:n.z.string().nullish(),text:n.z.string().nullish(),fileSearchStore:n.z.string().nullish()}).nullish(),maps:n.z.object({uri:n.z.string().nullish(),title:n.z.string().nullish(),text:n.z.string().nullish(),placeId:n.z.string().nullish()}).nullish()})).nullish(),groundingSupports:n.z.array(n.z.object({segment:n.z.object({startIndex:n.z.number().nullish(),endIndex:n.z.number().nullish(),text:n.z.string().nullish()}).nullish(),segment_text:n.z.string().nullish(),groundingChunkIndices:n.z.array(n.z.number()).nullish(),supportChunkIndices:n.z.array(n.z.number()).nullish(),confidenceScores:n.z.array(n.z.number()).nullish(),confidenceScore:n.z.array(n.z.number()).nullish()})).nullish(),retrievalMetadata:n.z.union([n.z.object({webDynamicRetrievalScore:n.z.number()}),n.z.object({})]).nullish()}),N=n.z.object({jsonPath:n.z.string(),stringValue:n.z.string().nullish(),numberValue:n.z.number().nullish(),boolValue:n.z.boolean().nullish(),nullValue:n.z.unknown().nullish(),willContinue:n.z.boolean().nullish()}),P=()=>n.z.object({parts:n.z.array(n.z.union([n.z.object({functionCall:n.z.object({id:n.z.string().nullish(),name:n.z.string().nullish(),args:n.z.unknown().nullish(),partialArgs:n.z.array(N).nullish(),willContinue:n.z.boolean().nullish()}),thoughtSignature:n.z.string().nullish()}),n.z.object({inlineData:n.z.object({mimeType:n.z.string(),data:n.z.string()}),thought:n.z.boolean().nullish(),thoughtSignature:n.z.string().nullish()}),n.z.object({toolCall:n.z.object({toolType:n.z.string(),args:n.z.unknown().nullish(),id:n.z.string()}),thoughtSignature:n.z.string().nullish()}),n.z.object({toolResponse:n.z.object({toolType:n.z.string(),response:n.z.unknown().nullish(),id:n.z.string()}),thoughtSignature:n.z.string().nullish()}),n.z.object({executableCode:n.z.object({language:n.z.string(),code:n.z.string()}).nullish(),codeExecutionResult:n.z.object({outcome:n.z.string(),output:n.z.string().nullish()}).nullish(),text:n.z.string().nullish(),thought:n.z.boolean().nullish(),thoughtSignature:n.z.string().nullish()})])).nullish()}),$=()=>n.z.object({category:n.z.string().nullish(),probability:n.z.string().nullish(),probabilityScore:n.z.number().nullish(),severity:n.z.string().nullish(),severityScore:n.z.number().nullish(),blocked:n.z.boolean().nullish()}),q=n.z.array(n.z.object({modality:n.z.string(),tokenCount:n.z.number()}).loose()).nullish(),L=n.z.object({cachedContentTokenCount:n.z.number().nullish(),thoughtsTokenCount:n.z.number().nullish(),promptTokenCount:n.z.number().nullish(),candidatesTokenCount:n.z.number().nullish(),toolUsePromptTokenCount:n.z.number().nullish(),totalTokenCount:n.z.number().nullish(),trafficType:n.z.string().nullish(),serviceTier:n.z.string().nullish(),promptTokensDetails:q,cacheTokensDetails:q,candidatesTokensDetails:q,toolUsePromptTokensDetails:q}).loose(),D=()=>n.z.object({urlMetadata:n.z.array(n.z.object({retrievedUrl:n.z.string(),urlRetrievalStatus:n.z.string()})).nullish()}),U=(0,t.lazySchema)(()=>(0,t.zodSchema)(n.z.object({responseId:n.z.string().nullish(),candidates:n.z.array(n.z.object({content:P().nullish().or(n.z.object({}).strict()),finishReason:n.z.string().nullish(),finishMessage:n.z.string().nullish(),safetyRatings:n.z.array($()).nullish(),groundingMetadata:R().nullish(),urlContextMetadata:D().nullish()})).nullish(),usageMetadata:L.nullish(),promptFeedback:n.z.object({blockReason:n.z.string().nullish(),safetyRatings:n.z.array($()).nullish()}).nullish()}))),F=(0,t.lazySchema)(()=>(0,t.zodSchema)(n.z.object({responseId:n.z.string().nullish(),candidates:n.z.array(n.z.object({content:P().nullish(),finishReason:n.z.string().nullish(),finishMessage:n.z.string().nullish(),safetyRatings:n.z.array($()).nullish(),groundingMetadata:R().nullish(),urlContextMetadata:D().nullish()})).nullish(),usageMetadata:L.nullish(),promptFeedback:n.z.object({blockReason:n.z.string().nullish(),safetyRatings:n.z.array($()).nullish()}).nullish()}))),B=new Set(["text","reasoning","source","tool-call","tool-result"]),H=n.z.object({code:n.z.union([n.z.number(),n.z.string()]).nullish(),message:n.z.string().nullish(),status:n.z.string().nullish()}),W=n.z.object({requestCount:n.z.union([n.z.string(),n.z.number()]).nullish(),successfulRequestCount:n.z.union([n.z.string(),n.z.number()]).nullish(),failedRequestCount:n.z.union([n.z.string(),n.z.number()]).nullish(),pendingRequestCount:n.z.union([n.z.string(),n.z.number()]).nullish()}),V=n.z.object({responsesFile:n.z.string().nullish(),inlinedResponses:n.z.object({inlinedResponses:n.z.array(n.z.object({metadata:n.z.object({key:n.z.string()}),response:n.z.unknown().nullish(),error:H.nullish()}))}).nullish()}),J=(0,t.lazySchema)(()=>(0,t.zodSchema)(n.z.object({name:n.z.string(),metadata:n.z.object({state:n.z.string().nullish(),createTime:n.z.string().nullish(),batchStats:W.nullish(),output:V.nullish()}).nullish(),done:n.z.boolean().nullish(),error:H.nullish(),response:V.nullish()}))),K=(0,t.lazySchema)(()=>(0,t.zodSchema)(n.z.object({file:n.z.object({name:n.z.string(),expirationTime:n.z.string().nullish()})}))),G=(0,t.lazySchema)(()=>(0,t.zodSchema)(n.z.object({key:n.z.string(),response:n.z.unknown().nullish(),error:H.nullish()}))),Y=(0,t.lazySchema)(()=>(0,t.zodSchema)(n.z.object({candidates:n.z.array(n.z.unknown()).nullish(),promptFeedback:n.z.object({blockReason:n.z.string().nullish()}).nullish()}))),Z=class e extends M{static[r.WORKFLOW_SERIALIZE](e){return M[r.WORKFLOW_SERIALIZE](e)}static[r.WORKFLOW_DESERIALIZE](t){return new e(t.modelId,t.config)}constructor(e,o){var r;super(e,o),this.batchConfig=o,this.batchGenerateId=null!=(r=o.generateId)?r:t.generateId}async experimental_doStartBatch(e){let r,n=[],a=`ai-sdk-batch-${this.batchGenerateId()}`,l=[],s={batch:{displayName:a,...null!=e.webhookUrl&&{webhookConfig:{uris:[e.webhookUrl]}},inputConfig:{requests:{requests:l}}}},u=new TextEncoder,d=u.encode(JSON.stringify(s)).byteLength;for(let t of e.requests){let e=await this.getArgs(t.options),o={request:e.args,metadata:{key:t.id}};if(null==r){let n=d+u.encode(JSON.stringify(o)).byteLength+ +(l.length>0);if(n<2e7)l.push(o),d=n;else{for(let e of(r=[],l))r.push(JSON.stringify({key:e.metadata.key,request:e.request}),"\n");l.length=0,r.push(JSON.stringify({key:t.id,request:e.args}),"\n")}}else r.push(JSON.stringify({key:t.id,request:e.args}),"\n");for(let o of e.warnings)n.push({requestId:t.id,warning:o})}let c=await this.getHeaders(e.headers),h=`${this.batchConfig.baseURL}/${p(this.modelId)}:batchGenerateContent`;if(null==r){let{value:o}=await (0,t.postJsonToApi)({url:h,headers:c,body:s,failedResponseHandler:i,successfulResponseHandler:(0,t.createJsonResponseHandler)(J),abortSignal:e.abortSignal,fetch:this.batchConfig.fetch});return{batchId:o.name,...X(o),warnings:n}}let m=new Blob(r,{type:"application/jsonl"});if(r.length=0,m.size>0x80000000)throw new o.InvalidArgumentError({argument:"requests",message:"Google batch input files must not exceed 2 GB."});let{value:g}=await (0,t.postJsonToApi)({url:`${this.getBaseOrigin()}/upload/v1beta/files`,headers:(0,t.combineHeaders)(c,{"X-Goog-Upload-Protocol":"resumable","X-Goog-Upload-Command":"start","X-Goog-Upload-Header-Content-Length":String(m.size),"X-Goog-Upload-Header-Content-Type":"application/jsonl"}),body:{file:{display_name:`${a}-input`}},failedResponseHandler:i,successfulResponseHandler:et,abortSignal:e.abortSignal,fetch:this.batchConfig.fetch}),{value:f}=await (0,t.postToApi)({url:g,headers:{"X-Goog-Upload-Offset":"0","X-Goog-Upload-Command":"upload, finalize","Content-Type":"application/jsonl"},body:{content:m,values:{byteLength:m.size,mediaType:"application/jsonl"}},failedResponseHandler:i,successfulResponseHandler:(0,t.createJsonResponseHandler)(K),abortSignal:e.abortSignal,fetch:this.batchConfig.fetch}),{value:y}=await (0,t.postJsonToApi)({url:h,headers:c,body:{batch:{displayName:a,...null!=e.webhookUrl&&{webhookConfig:{uris:[e.webhookUrl]}},inputConfig:{fileName:f.file.name}}},failedResponseHandler:i,successfulResponseHandler:(0,t.createJsonResponseHandler)(J),abortSignal:e.abortSignal,fetch:this.batchConfig.fetch});return{batchId:y.name,...X(y),providerMetadata:{google:{inputFileId:f.file.name,...null!=f.file.expirationTime?{inputFileExpiresAt:f.file.expirationTime}:{}}},warnings:n}}async experimental_doGetBatchStatus(e){return X(await this.retrieveBatch(e))}async experimental_doGetBatchResults(e){var r,n,a,l,s,u,d,c,p,h;let m=await this.retrieveBatch(e),g=X(m);if("pending"===g.status)throw new o.InvalidArgumentError({argument:"batchId",message:`Google batch "${e.batchId}" is not complete.`});let f=null!=(u=null==(a=null==(n=null==(r=m.metadata)?void 0:r.output)?void 0:n.inlinedResponses)?void 0:a.inlinedResponses)?u:null==(s=null==(l=m.response)?void 0:l.inlinedResponses)?void 0:s.inlinedResponses;if(null!=f)return(0,t.convertAsyncIteratorToReadableStream)(this.iterateBatchResults(f.map(e=>({key:e.metadata.key,response:e.response,error:e.error}))));let y=null!=(h=null==(c=null==(d=m.metadata)?void 0:d.output)?void 0:c.responsesFile)?h:null==(p=m.response)?void 0:p.responsesFile;if(null==y){if("completed"===g.status)throw new o.InvalidResponseDataError({data:m,message:`Google batch "${e.batchId}" completed without batch output.`});return new ReadableStream({start(e){e.close()}})}let v=y.split("/").map(e=>encodeURIComponent(e)).join("/"),{value:b}=await (0,t.getFromApi)({url:`${this.getBaseOrigin()}/download/v1beta/${v}:download?alt=media`,headers:await this.getHeaders(e.headers),failedResponseHandler:i,successfulResponseHandler:(0,t.createJsonLinesResponseHandler)(G),abortSignal:e.abortSignal,fetch:this.batchConfig.fetch,validateUrl:!1});return(0,t.convertAsyncIteratorToReadableStream)(this.iterateBatchResults(b))}async retrieveBatch(e){let{value:o}=await (0,t.getFromApi)({url:`${this.batchConfig.baseURL}/${e.batchId}`,headers:await this.getHeaders(e.headers),failedResponseHandler:i,successfulResponseHandler:(0,t.createJsonResponseHandler)(J),abortSignal:e.abortSignal,fetch:this.batchConfig.fetch,validateUrl:!1});return o}async *iterateBatchResults(e){var o,r,n;for await(let a of e){if(null!=a.error){let e=ee(a.error,"Google batch request failed."),t="CANCELLED"===a.error.status||"1"===String(a.error.code)?"cancelled":"failed";yield{id:a.key,status:t,error:e};continue}if(null==a.response){yield{id:a.key,status:"failed",error:{message:"Google returned a batch result without a response or error.",code:"invalid_batch_result"}};continue}let e=await (0,t.safeValidateTypes)({value:a.response,schema:Y});if(e.success&&(null==e.value.candidates||0===e.value.candidates.length)){let t=null!=(o=e.value.promptFeedback)?o:void 0,i=null!=(r=null==t?void 0:t.blockReason)?r:void 0;yield{id:a.key,status:"failed",error:{message:null==i?"Google returned a batch response without any candidates.":`Google blocked the batch request (${i}).`,code:null==i?"invalid_response":"prompt_blocked",...null!=i?{type:i}:{}},...null!=t?{providerMetadata:{google:{promptFeedback:{blockReason:null!=(n=t.blockReason)?n:null}}}}:{}};continue}let i=await (0,t.safeValidateTypes)({value:a.response,schema:U});if(!i.success){yield{id:a.key,status:"failed",error:{message:"Google returned an invalid GenerateContent batch result.",code:"invalid_response"}};continue}let l=this.convertGenerateContentResponse({response:i.value,warnings:[],providerOptionsNames:["google"]}),s=l.content.find(e=>!B.has(e.type));if(null!=s){yield{id:a.key,status:"failed",error:{message:`Google returned a "${s.type}" content block, but that content is not supported in AI SDK text batches.`,code:"unsupported_content"}};continue}yield{id:a.key,status:"succeeded",result:l}}}async getHeaders(e){return(0,t.combineHeaders)(this.batchConfig.headers?await (0,t.resolve)(this.batchConfig.headers):void 0,e)}getBaseOrigin(){return this.batchConfig.baseURL.replace(/\/v1beta$/,"")}};function X(e){var o,r,n,a,i,l,s,u,d,c;let p,h,m,g,f=null!=(r=null==(o=e.metadata)?void 0:o.state)?r:void 0,y=(p=Q(null==(s=null==(n=e.metadata)?void 0:n.batchStats)?void 0:s.requestCount),h=Q(null!=(u=null==s?void 0:s.successfulRequestCount)?u:0),m=Q(null!=(d=null==s?void 0:s.failedRequestCount)?d:0),g=Q(null!=(c=null==s?void 0:s.pendingRequestCount)?c:0),(0,t.normalizeBatchRequestCounts)({total:p,pending:g,completed:h,failed:m})),v=null!=(i=null==(a=e.metadata)?void 0:a.createTime)?i:void 0,b=null!=e.error?ee(e.error,"Google batch failed."):void 0;return{status:function({rawStatus:e,done:t,hasError:o}){if(o)return"failed";if(null==e)return t?"completed":"pending";switch(e.replace(/^(?:BATCH|JOB)_STATE_/,"")){case"SUCCEEDED":return"completed";case"FAILED":case"CANCELLED":case"EXPIRED":return"failed";default:return"pending"}}({rawStatus:f,done:null!=(l=e.done)?l:void 0,hasError:null!=b}),...null!=f?{rawStatus:f}:{},...null!=y?{requestCounts:y}:{},...null!=b?{error:b}:{},...null!=v?{createdAt:v}:{}}}function Q(e){let t="string"==typeof e&&/^\d+$/.test(e)?Number(e):e;return"number"==typeof t&&Number.isSafeInteger(t)&&t>=0?t:void 0}function ee(e,t){var o;return{message:null!=(o=e.message)?o:t,...null!=e.status?{type:e.status}:{},...null!=e.code?{code:String(e.code)}:{}}}var et=async({response:e})=>{let t=e.headers.get("x-goog-upload-url");if(null==t)throw new o.InvalidResponseDataError({data:e.headers,message:"Google did not return a resumable upload URL."});return{value:t}},eo=(0,t.createProviderExecutedToolFactory)({id:"google.code_execution",inputSchema:n.z.object({language:n.z.string().describe("The programming language of the code."),code:n.z.string().describe("The code to be executed.")}),outputSchema:n.z.object({outcome:n.z.string().describe('The outcome of the execution (e.g., "OUTCOME_OK").'),output:n.z.string().describe("The output from the code execution.")})}),er=(0,t.createProviderExecutedToolFactory)({id:"google.enterprise_web_search",inputSchema:(0,t.lazySchema)(()=>(0,t.zodSchema)(n.z.object({}))),outputSchema:(0,t.lazySchema)(()=>(0,t.zodSchema)(n.z.object({})))});n.z.looseObject({fileSearchStoreNames:n.z.array(n.z.string()).describe("The names of the file_search_stores to retrieve from. Example: `fileSearchStores/my-file-search-store-123`"),topK:n.z.number().int().positive().describe("The number of file search retrieval chunks to retrieve.").optional(),metadataFilter:n.z.string().describe("Metadata filter to apply to the file search retrieval documents. See https://google.aip.dev/160 for the syntax of the filter expression.").optional()});var en=(0,t.createProviderExecutedToolFactory)({id:"google.file_search",inputSchema:(0,t.lazySchema)(()=>(0,t.zodSchema)(n.z.object({}))),outputSchema:(0,t.lazySchema)(()=>(0,t.zodSchema)(n.z.object({})))}),ea=(0,t.createProviderExecutedToolFactory)({id:"google.google_maps",inputSchema:(0,t.lazySchema)(()=>(0,t.zodSchema)(n.z.object({}))),outputSchema:(0,t.lazySchema)(()=>(0,t.zodSchema)(n.z.object({})))}),ei=n.z.looseObject({searchTypes:n.z.object({webSearch:n.z.object({}).optional(),imageSearch:n.z.object({}).optional()}).optional(),timeRangeFilter:n.z.object({startTime:n.z.string(),endTime:n.z.string()}).optional()}),el=(0,t.createProviderExecutedToolFactory)({id:"google.google_search",inputSchema:(0,t.lazySchema)(()=>(0,t.zodSchema)(n.z.object({}))),outputSchema:(0,t.lazySchema)(()=>(0,t.zodSchema)(n.z.object({})))}),es={googleSearch:el,enterpriseWebSearch:er,googleMaps:ea,urlContext:(0,t.createProviderExecutedToolFactory)({id:"google.url_context",inputSchema:(0,t.lazySchema)(()=>(0,t.zodSchema)(n.z.object({}))),outputSchema:(0,t.lazySchema)(()=>(0,t.zodSchema)(n.z.object({})))}),fileSearch:en,codeExecution:eo,vertexRagStore:(0,t.createProviderExecutedToolFactory)({id:"google.vertex_rag_store",inputSchema:(0,t.lazySchema)(()=>(0,t.zodSchema)(n.z.object({}))),outputSchema:(0,t.lazySchema)(()=>(0,t.zodSchema)(n.z.object({})))})},eu=(0,t.lazySchema)(()=>(0,t.zodSchema)(n.z.object({googleSearch:ei.optional()}))),ed=class e{constructor(e,t,o){this.modelId=e,this.settings=t,this.config=o,this.specificationVersion="v4"}static[r.WORKFLOW_SERIALIZE](e){return(0,t.serializeModelOptions)({modelId:e.modelId,config:e.config})}static[r.WORKFLOW_DESERIALIZE](t){return new e(t.modelId,{},t.config)}get maxImagesPerCall(){return null!=this.settings.maxImagesPerCall?this.settings.maxImagesPerCall:10}get provider(){return this.config.provider}async doGenerate(e){var o,r,n,a,i,l,s,u,d,c,p;if(!this.modelId.startsWith("gemini-"))throw Error("Google image models other than Gemini are no longer supported. Use a model ID that starts with `gemini-`.");let{prompt:h,n:m,size:g,aspectRatio:f,seed:y,providerOptions:v,headers:b,abortSignal:_,files:w,mask:z}=e,x=[];if(null!=z)throw Error("Gemini image models do not support mask-based image editing.");if(null!=m&&m>1)throw Error("Gemini image models do not support generating a set number of images per call. Use n=1 or omit the n parameter.");null!=g&&x.push({type:"unsupported",feature:"size",details:"This model does not support the `size` option. Use `aspectRatio` instead."});let T=[];if(null!=h&&T.push({type:"text",text:h}),null!=w&&w.length>0)for(let e of w)"url"===e.type?T.push({type:"file",data:{type:"url",url:new URL(e.url)},mediaType:"image/*"}):T.push({type:"file",data:{type:"data",data:"string"==typeof e.data?e.data:new Uint8Array(e.data)},mediaType:e.mediaType});let k=[{role:"user",content:T}],I=await (0,t.parseProviderOptions)({provider:"google",providerOptions:v,schema:eu}),{googleSearch:S,responseModalities:C,imageConfig:E,...A}=null!=(o=null==v?void 0:v.google)?o:{},O=new M(this.modelId,{provider:this.config.provider,baseURL:this.config.baseURL,headers:null!=(r=this.config.headers)?r:{},fetch:this.config.fetch,generateId:null!=(n=this.config.generateId)?n:t.generateId}),j=await O.doGenerate({prompt:k,seed:y,providerOptions:{google:{...A,responseModalities:["IMAGE"],imageConfig:null!=f||null!=E?{...E,...null!=f?{aspectRatio:f}:{}}:void 0}},tools:(null==I?void 0:I.googleSearch)!=null?[{type:"provider",id:"google.google_search",name:"google_search",args:I.googleSearch}]:void 0,headers:b,abortSignal:_}),R=null!=(l=null==(i=null==(a=this.config._internal)?void 0:a.currentDate)?void 0:i.call(a))?l:new Date,N=[];for(let e of j.content)"file"===e.type&&e.mediaType.startsWith("image/")&&"data"===e.data.type&&N.push((0,t.convertToBase64)(e.data.data));return{images:N,warnings:x,providerMetadata:{google:{...null!=(u=null==(s=j.providerMetadata)?void 0:s.google)?u:{},images:N.map(()=>({}))}},response:{timestamp:R,modelId:this.modelId,headers:null==(d=j.response)?void 0:d.headers},usage:j.usage?{inputTokens:j.usage.inputTokens.total,outputTokens:j.usage.outputTokens.total,totalTokens:(null!=(c=j.usage.inputTokens.total)?c:0)+(null!=(p=j.usage.outputTokens.total)?p:0)}:void 0}}};function ec(e){let t=encodeURIComponent(e);return"."===t?"%252E":".."===t?"%252E%252E":t}var ep=class{constructor(e){this.config=e,this.specificationVersion="v4"}get provider(){return this.config.provider}async uploadFile(e){var r,n,a,l,s;let u=await (0,t.parseProviderOptions)({provider:"google",providerOptions:e.providerOptions,schema:em}),d=(0,t.combineHeaders)(this.config.headers(),e.headers),c=null!=(r=this.config.fetch)?r:globalThis.fetch,p=[];null!=e.filename&&p.push({type:"unsupported",feature:"filename"});let h=(0,t.convertInlineFileDataToUint8Array)(e.data),m=e.mediaType,g=null==u?void 0:u.displayName,f=this.config.baseURL.replace(/\/v1beta$/,""),y=await c(`${f}/upload/v1beta/files`,{method:"POST",headers:{...d,"X-Goog-Upload-Protocol":"resumable","X-Goog-Upload-Command":"start","X-Goog-Upload-Header-Content-Length":String(h.length),"X-Goog-Upload-Header-Content-Type":m,"Content-Type":"application/json"},body:JSON.stringify({file:{...null!=g?{display_name:g}:{}}}),signal:e.abortSignal});if(!y.ok){let e=await y.text();throw new o.AISDKError({name:"GOOGLE_FILES_UPLOAD_ERROR",message:`Failed to initiate resumable upload: ${y.status} ${e}`})}let v=y.headers.get("x-goog-upload-url");if(!v)throw new o.AISDKError({name:"GOOGLE_FILES_UPLOAD_ERROR",message:"No upload URL returned from initiation request"});let b=await c(v,{method:"POST",headers:{"X-Goog-Upload-Offset":"0","X-Goog-Upload-Command":"upload, finalize"},body:(s=h).buffer instanceof ArrayBuffer?s:new Uint8Array(s),signal:e.abortSignal});if(!b.ok){let e=await b.text();throw new o.AISDKError({name:"GOOGLE_FILES_UPLOAD_ERROR",message:`Failed to upload file data: ${b.status} ${e}`})}let _=(await b.json()).file,w=null!=(n=null==u?void 0:u.pollIntervalMs)?n:2e3,z=null!=(a=null==u?void 0:u.pollTimeoutMs)?a:3e5,x=Date.now();for(;"PROCESSING"===_.state;){if(Date.now()-x>z)throw new o.AISDKError({name:"GOOGLE_FILES_UPLOAD_TIMEOUT",message:`File processing timed out after ${z}ms`});await (0,t.delay)(w,{abortSignal:e.abortSignal});let r=/^files\/([^/]+)$/.exec(_.name),n=null!=r?`files/${ec(r[1])}`:ec(_.name),{value:a}=await (0,t.getFromApi)({url:`${this.config.baseURL}/${n}`,validateUrl:!1,headers:(0,t.combineHeaders)(d),successfulResponseHandler:(0,t.createJsonResponseHandler)(eh),failedResponseHandler:i,abortSignal:e.abortSignal,fetch:this.config.fetch});_=a}if("FAILED"===_.state)throw new o.AISDKError({name:"GOOGLE_FILES_UPLOAD_FAILED",message:`File processing failed for ${_.name}`});return{warnings:p,providerReference:{google:_.uri},mediaType:null!=(l=_.mimeType)?l:e.mediaType,providerMetadata:{google:{name:_.name,displayName:_.displayName,mimeType:_.mimeType,sizeBytes:_.sizeBytes,state:_.state,uri:_.uri,...null!=_.createTime?{createTime:_.createTime}:{},...null!=_.updateTime?{updateTime:_.updateTime}:{},...null!=_.expirationTime?{expirationTime:_.expirationTime}:{},...null!=_.sha256Hash?{sha256Hash:_.sha256Hash}:{}}}}}},eh=(0,t.lazySchema)(()=>(0,t.zodSchema)(n.z.object({name:n.z.string(),displayName:n.z.string().nullish(),mimeType:n.z.string(),sizeBytes:n.z.string().nullish(),createTime:n.z.string().nullish(),updateTime:n.z.string().nullish(),expirationTime:n.z.string().nullish(),sha256Hash:n.z.string().nullish(),uri:n.z.string(),state:n.z.string()}))),em=(0,t.lazySchema)(()=>(0,t.zodSchema)(n.z.looseObject({displayName:n.z.string().nullish(),pollIntervalMs:n.z.number().positive().nullish(),pollTimeoutMs:n.z.number().positive().nullish()}))),eg=(0,t.lazySchema)(()=>(0,t.zodSchema)(n.z.looseObject({pollIntervalMs:n.z.number().positive().nullish(),pollTimeoutMs:n.z.number().positive().nullish(),personGeneration:n.z.enum(["dont_allow","allow_adult","allow_all"]).nullish(),negativePrompt:n.z.string().nullish(),referenceImages:n.z.array(n.z.object({bytesBase64Encoded:n.z.string().nullish(),gcsUri:n.z.string().nullish()})).nullish()})));function ef(e,o){return"url"===e.type?e.url.startsWith("gs://")?{gcsUri:e.url,mimeType:"image/png"}:void o.push({type:"unsupported",feature:"URL-based image input",details:"Google Generative AI video models require base64-encoded images or GCS URIs. URL will be ignored."}):{bytesBase64Encoded:"string"==typeof e.data?e.data:(0,t.convertUint8ArrayToBase64)(e.data),mimeType:e.mediaType||"image/png"}}var ey=class{constructor(e,t){this.modelId=e,this.config=t,this.specificationVersion="v4"}get provider(){return this.config.provider}get maxVideosPerCall(){return 4}async buildRequest(e){var o,r,n,a,i,l;let s=[],u=await (0,t.parseProviderOptions)({provider:"google",providerOptions:e.providerOptions,schema:eg}),d=[{}],c=d[0];null!=e.prompt&&(c.prompt=e.prompt);let p=null!=(a=null==(l=null==(i=(n=e).frameImages)?void 0:i.find(e=>"first_frame"===e.frameType))?void 0:l.image)?a:n.image;if(null!=p){let e=ef(p,s);null!=e&&(c.image=e)}let h=null==(r=null==(o=e.frameImages)?void 0:o.find(e=>"last_frame"===e.frameType))?void 0:r.image;if(null!=h){let e=ef(h,s);null!=e&&(c.lastFrame=e)}let m=function(e){if(null==e.frameImages||!(e.frameImages.length>0))return null!=e.inputReferences&&e.inputReferences.length>0?e.inputReferences:void 0}(e);null!=m?c.referenceImages=m.flatMap(e=>{let t,o=null!=(t=ef(e,s))?{image:t,referenceType:"asset"}:void 0;return null!=o?[o]:[]}):(null==u?void 0:u.referenceImages)!=null&&(c.referenceImages=u.referenceImages.map(e=>e.bytesBase64Encoded?{image:{bytesBase64Encoded:e.bytesBase64Encoded,mimeType:"image/png"},referenceType:"asset"}:e.gcsUri?{image:{gcsUri:e.gcsUri,mimeType:"image/png"},referenceType:"asset"}:e));let g={sampleCount:e.n};if(e.aspectRatio&&(g.aspectRatio=e.aspectRatio),e.resolution&&(g.resolution=({"1280x720":"720p","1920x1080":"1080p","3840x2160":"4k"})[e.resolution]||e.resolution),e.duration&&(g.durationSeconds=e.duration),e.seed&&(g.seed=e.seed),null!=u)for(let[e,t]of(void 0!==u.personGeneration&&null!==u.personGeneration&&(g.personGeneration=u.personGeneration),void 0!==u.negativePrompt&&null!==u.negativePrompt&&(g.negativePrompt=u.negativePrompt),Object.entries(u)))["pollIntervalMs","pollTimeoutMs","personGeneration","negativePrompt","referenceImages"].includes(e)||(g[e]=t);return{instances:d,parameters:g,warnings:s,googleOptions:u}}async buildCompletedResult(e,r,n,a){var i,l;let s=e.response;if(!(null==(i=null==s?void 0:s.generateVideoResponse)?void 0:i.generatedSamples)||0===s.generateVideoResponse.generatedSamples.length)throw new o.AISDKError({name:"GOOGLE_VIDEO_GENERATION_ERROR",message:`No videos in response. Response: ${JSON.stringify(e)}`});let u=[],d=[],c=await (0,t.resolve)(this.config.headers),p=null==c?void 0:c["x-goog-api-key"];for(let e of s.generateVideoResponse.generatedSamples)if(null==(l=e.video)?void 0:l.uri){let o=p&&(0,t.isSameOrigin)(e.video.uri,this.config.baseURL)?`${e.video.uri}${e.video.uri.includes("?")?"&":"?"}key=${p}`:e.video.uri;u.push({type:"url",url:o,mediaType:"video/mp4"}),d.push({uri:e.video.uri})}if(0===u.length)throw new o.AISDKError({name:"GOOGLE_VIDEO_GENERATION_ERROR",message:"No valid videos in response"});return{status:"completed",videos:u,warnings:n,response:{timestamp:a,modelId:this.modelId,headers:r},providerMetadata:{google:{videos:d}}}}async doStart(e){var r,n,a;let l=null!=(a=null==(n=null==(r=this.config._internal)?void 0:r.currentDate)?void 0:n.call(r))?a:new Date,{instances:s,parameters:u,warnings:d}=await this.buildRequest(e),{value:c,responseHeaders:p}=await (0,t.postJsonToApi)({url:`${this.config.baseURL}/models/${this.modelId}:predictLongRunning`,headers:(0,t.combineHeaders)(await (0,t.resolve)(this.config.headers),e.headers),body:{instances:s,parameters:u},successfulResponseHandler:(0,t.createJsonResponseHandler)(ev),failedResponseHandler:i,abortSignal:e.abortSignal,fetch:this.config.fetch}),h=c.name;if(!h)throw new o.AISDKError({name:"GOOGLE_VIDEO_GENERATION_ERROR",message:"No operation name returned from API"});return{operation:{operationName:h},warnings:d,response:{timestamp:l,modelId:this.modelId,headers:p}}}async doStatus(e){var o,r,n;let a=null!=(n=null==(r=null==(o=this.config._internal)?void 0:o.currentDate)?void 0:r.call(o))?n:new Date,{operationName:l}=e.operation,{value:s,responseHeaders:u}=await (0,t.getFromApi)({url:`${this.config.baseURL}/${l}`,validateUrl:!1,headers:(0,t.combineHeaders)(await (0,t.resolve)(this.config.headers),e.headers),successfulResponseHandler:(0,t.createJsonResponseHandler)(ev),failedResponseHandler:i,abortSignal:e.abortSignal,fetch:this.config.fetch});return s.done?s.error?{status:"error",error:`Video generation failed: ${s.error.message}`,response:{timestamp:a,modelId:this.modelId,headers:u}}:this.buildCompletedResult(s,u,[],a):{status:"pending",response:{timestamp:a,modelId:this.modelId,headers:u}}}},ev=n.z.object({name:n.z.string().nullish(),done:n.z.boolean().nullish(),error:n.z.object({code:n.z.number().nullish(),message:n.z.string(),status:n.z.string().nullish()}).nullish(),response:n.z.object({generateVideoResponse:n.z.object({generatedSamples:n.z.array(n.z.object({video:n.z.object({uri:n.z.string().nullish()}).nullish()})).nullish()}).nullish()}).nullish()}),eb=(0,t.lazySchema)(()=>(0,t.zodSchema)(n.z.object({candidates:n.z.array(n.z.object({content:n.z.object({parts:n.z.array(n.z.object({inlineData:n.z.object({mimeType:n.z.string().nullish(),data:n.z.string().nullish()}).nullish()})).nullish()}).nullish()})).nullish()}))),e_=n.z.object({voiceName:n.z.string()}),ew=n.z.object({prebuiltVoiceConfig:e_}),ez=(0,t.lazySchema)(()=>(0,t.zodSchema)(n.z.object({multiSpeakerVoiceConfig:n.z.object({speakerVoiceConfigs:n.z.array(n.z.object({speaker:n.z.string(),voiceConfig:ew}))}).optional()}))),ex="Kore",eT=class e{constructor(e,t){this.modelId=e,this.config=t,this.specificationVersion="v4"}static[r.WORKFLOW_SERIALIZE](e){return(0,t.serializeModelOptions)({modelId:e.modelId,config:e.config})}static[r.WORKFLOW_DESERIALIZE](t){return new e(t.modelId,t.config)}get provider(){return this.config.provider}async getArgs({text:e,voice:o=ex,outputFormat:r,instructions:n,speed:a,language:i,providerOptions:l}){let s,u=[],d=this.config.provider.includes("vertex")?["googleVertex","vertex"]:["google"];for(let e of d)if(null!=(s=await (0,t.parseProviderOptions)({provider:e,providerOptions:l,schema:ez})))break;null!=s||d.includes("google")||(s=await (0,t.parseProviderOptions)({provider:"google",providerOptions:l,schema:ez}));let c=null==s?void 0:s.multiSpeakerVoiceConfig,p=e;null!=n&&(c?u.push({type:"unsupported",feature:"instructions",details:"Google Gemini TTS ignores `instructions` when `multiSpeakerVoiceConfig` is set, because prepending them would break multi-speaker transcript parsing."}):p=`${n}: ${e}`),null!=a&&u.push({type:"unsupported",feature:"speed",details:"Google Gemini TTS models do not support the `speed` option. It was ignored."}),null!=i&&u.push({type:"unsupported",feature:"language",details:"Google Gemini TTS models do not support the `language` option. Language is detected automatically from the input text."});let h="wav";return"pcm"===r?h="pcm":null!=r&&"wav"!==r&&u.push({type:"unsupported",feature:"outputFormat",details:`Unsupported output format: ${r}. Using wav instead.`}),{requestBody:{contents:[{role:"user",parts:[{text:p}]}],generationConfig:{responseModalities:["AUDIO"],speechConfig:c?{multiSpeakerVoiceConfig:c}:{voiceConfig:{prebuiltVoiceConfig:{voiceName:o}}}}},warnings:u,outputFormat:h}}async doGenerate(e){var o,r,n,a,l,s,u,d,c,p,h;let m,g,f,y,v,b,_=null!=(n=null==(r=null==(o=this.config._internal)?void 0:o.currentDate)?void 0:r.call(o))?n:new Date,{requestBody:w,warnings:z,outputFormat:x}=await this.getArgs(e),{value:T,responseHeaders:k,rawValue:I}=await (0,t.postJsonToApi)({url:`${this.config.baseURL}/models/${this.modelId}:generateContent`,headers:(0,t.combineHeaders)(this.config.headers?await (0,t.resolve)(this.config.headers):void 0,e.headers),body:w,failedResponseHandler:i,successfulResponseHandler:(0,t.createJsonResponseHandler)(eb),abortSignal:e.abortSignal,fetch:this.config.fetch});for(let e of null!=(a=T.candidates)?a:[]){for(let t of null!=(s=null==(l=e.content)?void 0:l.parts)?s:[])if(null==(u=t.inlineData)?void 0:u.data){v=t.inlineData.data,b=null!=(d=t.inlineData.mimeType)?d:void 0;break}if(null!=v)break}let S=null!=(c=function(e){if(null==e)return;let t=/rate=(\d+)/.exec(e);return t?Number.parseInt(t[1],10):void 0}(b))?c:24e3,C=null!=v?(0,t.convertBase64ToUint8Array)(v):new Uint8Array(0),E="pcm"===x||0===C.length?C:(p=C,h=S,ek(f=new DataView(g=new ArrayBuffer(44+(m=p.length))),0,"RIFF"),f.setUint32(4,36+m,!0),ek(f,8,"WAVE"),ek(f,12,"fmt "),f.setUint32(16,16,!0),f.setUint16(20,1,!0),f.setUint16(22,1,!0),f.setUint32(24,h,!0),f.setUint32(28,2*h,!0),f.setUint16(32,2,!0),f.setUint16(34,16,!0),ek(f,36,"data"),f.setUint32(40,m,!0),(y=new Uint8Array(g)).set(p,44),y);return"pcm"===x&&C.length>0&&z.push({type:"unsupported",feature:"outputFormat",details:`Returning raw PCM audio (signed 16-bit little-endian, mono, ${S} Hz). These bytes have no container header and are not directly playable; see providerMetadata.google for the sample rate and mime type.`}),{audio:E,warnings:z,request:{body:JSON.stringify(w)},response:{timestamp:_,modelId:this.modelId,headers:k,body:I},providerMetadata:{google:{sampleRate:S,mimeType:null!=b?b:null}}}}};function ek(e,t,o){for(let r=0;r<o.length;r++)e.setUint8(t+r,o.charCodeAt(r))}function eI(e){var o,r,n,a,i,l,s,u;if(null==e)return(0,t.createNullLanguageModelUsage)();let d=null!=(o=e.total_input_tokens)?o:0,c=null!=(r=e.total_output_tokens)?r:0,p=null!=(n=e.total_thought_tokens)?n:0,h=null!=(a=e.total_cached_tokens)?a:0;return{inputTokens:{total:null!=(i=e.total_input_tokens)?i:void 0,noCache:null==e.total_input_tokens?void 0:d-h,cacheRead:null!=(l=e.total_cached_tokens)?l:void 0,cacheWrite:void 0},outputTokens:{total:null==e.total_output_tokens&&null==e.total_thought_tokens?void 0:c+p,text:null!=(s=e.total_output_tokens)?s:void 0,reasoning:null!=(u=e.total_thought_tokens)?u:void 0},raw:e}}function eS(e){let t=null==e?void 0:e.output_tokens_by_modality;if(null==t)return;let o={};for(let e of t)(null==e?void 0:e.modality)!=null&&null!=e.tokens&&(o[e.modality]=e.tokens);return Object.keys(o).length>0?o:void 0}var eC={pdf:"application/pdf",txt:"text/plain",md:"text/markdown",markdown:"text/markdown",doc:"application/msword",docx:"application/vnd.openxmlformats-officedocument.wordprocessingml.document"};function eE(e){let t=e.toLowerCase();for(let[e,o]of Object.entries(eC))if(t.endsWith(`.${e}`))return o;return"application/octet-stream"}function eA(e){let t=e.split("/"),o=t[t.length-1];return o&&o.length>0?o:void 0}function eO({block:e,generateId:t}){var o,r,n,a,i,l,s,u,d,c,p;let h=[];switch(e.type){case"url_context_result":for(let r of null!=(o=e.result)?o:[])(null==r?void 0:r.url)!=null&&0!==r.url.length&&(null==r.status||"success"===r.status)&&h.push({type:"source",sourceType:"url",id:t(),url:r.url});break;case"google_search_result":for(let o of null!=(r=e.result)?r:[]){let e=null==o?void 0:o.url;null!=e&&0!==e.length&&h.push({type:"source",sourceType:"url",id:t(),url:e,...null!=o.title?{title:o.title}:{}})}break;case"google_maps_result":for(let o of null!=(n=e.result)?n:[])for(let e of null!=(a=o.places)?a:[])null!=e.url&&0!==e.url.length&&h.push({type:"source",sourceType:"url",id:t(),url:e.url,...null!=e.name?{title:e.name}:{}});break;case"file_search_result":for(let o of null!=(i=e.result)?i:[]){if(null==o||"object"!=typeof o)continue;let e=null!=(s=null!=(l=o.url)?l:o.document_uri)?s:o.file_name;if(null==e||0===e.length)continue;if(e.startsWith("http://")||e.startsWith("https://")){h.push({type:"source",sourceType:"url",id:t(),url:e,...null!=o.title?{title:o.title}:{}});continue}let r=null!=(u=o.file_name)?u:eA(e),n=eE(e);h.push({type:"source",sourceType:"document",id:t(),mediaType:n,title:null!=(p=null!=(c=null!=(d=o.title)?d:o.file_name)?c:r)?p:e,...null!=r?{filename:r}:{}})}}return h}function eM({annotations:e,generateId:t}){var o;if(null==e)return[];let r=new Set,n=[];for(let a of e){let e=function({annotation:e,generateId:t}){var o,r,n,a,i;switch(e.type){case"url_citation":if(null==e.url||0===e.url.length)return;return{type:"source",sourceType:"url",id:t(),url:e.url,...null!=e.title?{title:e.title}:{}};case"file_citation":{let l=null!=(r=null!=(o=e.url)?o:e.document_uri)?r:e.file_name;if(null==l||0===l.length)return;if(l.startsWith("http://")||l.startsWith("https://"))return{type:"source",sourceType:"url",id:t(),url:l,...null!=e.file_name?{title:e.file_name}:{}};let s=null!=(n=e.file_name)?n:eA(l),u=eE(l);return{type:"source",sourceType:"document",id:t(),mediaType:u,title:null!=(i=null!=(a=e.file_name)?a:s)?i:l,...null!=s?{filename:s}:{}}}case"place_citation":if(null==e.url||0===e.url.length)return;return{type:"source",sourceType:"url",id:t(),url:e.url,...null!=e.name?{title:e.name}:{}};default:return}}({annotation:a,generateId:t});if(null==e)continue;let i="url"===e.sourceType?`url:${e.url}`:`doc:${null!=(o=e.filename)?o:e.title}`;r.has(i)||(r.add(i),n.push(e))}return n}function ej({status:e,hasFunctionCall:t}){switch(e){case"completed":return t?"tool-calls":"stop";case"requires_action":return"tool-calls";case"failed":return"error";case"incomplete":return"length";default:return"other"}}var eR=new Set(["google_search_call","code_execution_call","url_context_call","file_search_call","google_maps_call","mcp_server_tool_call"]),eN=new Set(["google_search_result","code_execution_result","url_context_result","file_search_result","google_maps_result","mcp_server_tool_result"]);function eP({warnings:e,generateId:o,includeRawChunks:r,serviceTier:n}){let a,i,l,s=n,u=!1,d=new Map,c=new Set;function p(e){var t;return"url"===e.sourceType?`url:${e.url}`:`doc:${null!=(t=e.filename)?t:e.title}`}return new TransformStream({start(t){t.enqueue({type:"stream-start",warnings:e})},transform(e,n){var h,m,g,f,y,v,b,_,w,z,x,T,k,I,S,C,E,A,O,M;if(r&&n.enqueue({type:"raw",rawValue:e.rawValue}),!e.success){l="failed",n.enqueue({type:"error",error:e.error});return}let j=e.value,R=j.event_type;switch(R){case"interaction.created":{let e,t=j.interaction;a=(null==t?void 0:t.id)!=null&&t.id.length>0?t.id:void 0;let o=null==t?void 0:t.created;if("string"==typeof o){let t=new Date(o);Number.isNaN(t.getTime())||(e=t)}n.enqueue({type:"response-metadata",...null!=a?{id:a}:{},modelId:null==t?void 0:t.model,...e?{timestamp:e}:{}});break}case"step.start":{let e=j.step,t=j.index,r=`${null!=a?a:"interaction"}:${t}`,i=null==e?void 0:e.type;if("model_output"===i){let a=null==(h=null==e?void 0:e.content)?void 0:h[0];if((null==a?void 0:a.type)==="text")for(let e of(d.set(t,{kind:"text",id:r,emittedSourceKeys:new Set}),n.enqueue({type:"text-start",id:r}),eM({annotations:a.annotations,generateId:o}))){let t=p(e);c.has(t)||(c.add(t),n.enqueue(e))}else(null==a?void 0:a.type)==="image"?d.set(t,{kind:"image",id:r,...null!=a.data?{data:a.data}:{},...null!=a.mime_type?{mimeType:a.mime_type}:{},...null!=a.uri?{uri:a.uri}:{}}):d.set(t,{kind:"pending_model_output",id:r})}else if("thought"===i){let o=null==e?void 0:e.signature;if(d.set(t,{kind:"reasoning",id:r,...null!=o?{signature:o}:{}}),n.enqueue({type:"reasoning-start",id:r}),Array.isArray(null==e?void 0:e.summary))for(let t of e.summary)(null==t?void 0:t.type)==="text"&&"string"==typeof t.text&&n.enqueue({type:"reasoning-delta",id:r,delta:t.text})}else if("processing_call"===i||"processing_result"===i){let o={};(null==e?void 0:e.signature)!=null&&(o.signature=e.signature),null!=a&&(o.interactionId=a),"processing_call"===i?o.processingId=(null==e?void 0:e.id)||r:o.processingCallId=(null==e?void 0:e.call_id)||r,d.set(t,{kind:"custom",id:r,customKind:`google.${i}`,google:o})}else if("function_call"===i){let o=(null==e?void 0:e.id)||r,a=null!=(m=null==e?void 0:e.name)?m:"unknown";u=!0;let i={kind:"function_call",id:r,toolCallId:o,toolName:a,argumentsAccum:"",...(null==e?void 0:e.signature)!=null?{signature:e.signature}:{}};d.set(t,i),n.enqueue({type:"tool-input-start",id:o,toolName:a})}else if(null!=i&&eR.has(i)){let o="mcp_server_tool_call"===i?null!=(g=null==e?void 0:e.name)?g:"mcp_server_tool":i.replace(/_call$/,""),n=(null==e?void 0:e.id)||r,a={kind:"builtin_tool_call",id:r,blockType:i,toolCallId:n,toolName:o,arguments:null!=(f=null==e?void 0:e.arguments)?f:{},callEmitted:!1};d.set(t,a)}else if(null!=i&&eN.has(i)){let o="mcp_server_tool_result"===i?null!=(y=null==e?void 0:e.name)?y:"mcp_server_tool":i.replace(/_result$/,""),n=(null==e?void 0:e.call_id)||r,a={kind:"builtin_tool_result",id:r,blockType:i,callId:n,toolName:o,result:null!=(v=null==e?void 0:e.result)?v:null,...(null==e?void 0:e.is_error)!=null?{isError:e.is_error}:{},resultEmitted:!1};d.set(t,a)}else d.set(t,{kind:"unknown",id:r});break}case"step.delta":{let e=d.get(j.index);if(null==e)break;let t=null==(b=j.delta)?void 0:b.type;if("pending_model_output"===e.kind&&("text"===t||"text_annotation"===t||"text_annotation_delta"===t)){let t={kind:"text",id:e.id,emittedSourceKeys:new Set};d.set(j.index,t),e=t,n.enqueue({type:"text-start",id:t.id})}if("image"===t&&("pending_model_output"===e.kind||"text"===e.kind||"image"===e.kind)){let t=j.delta,o={};null!=a&&(o.interactionId=a);let r=Object.keys(o).length>0?{google:o}:void 0;(null==t?void 0:t.data)!=null&&t.data.length>0?n.enqueue({type:"file",mediaType:null!=(_=t.mime_type)?_:"image/png",data:{type:"data",data:t.data},...r?{providerMetadata:r}:{}}):(null==t?void 0:t.uri)!=null&&t.uri.length>0&&n.enqueue({type:"file",mediaType:null!=(w=t.mime_type)?w:"image/png",data:{type:"url",url:new URL(t.uri)},...r?{providerMetadata:r}:{}}),"image"===e.kind&&(e.data=void 0,e.uri=void 0);break}if("video"===t&&("pending_model_output"===e.kind||"text"===e.kind)){let e=j.delta,t={};null!=a&&(t.interactionId=a);let o=Object.keys(t).length>0?{google:t}:void 0;(null==e?void 0:e.data)!=null&&e.data.length>0?n.enqueue({type:"file",mediaType:null!=(z=e.mime_type)?z:"video/mp4",data:{type:"data",data:e.data},...o?{providerMetadata:o}:{}}):(null==e?void 0:e.uri)!=null&&e.uri.length>0&&n.enqueue({type:"file",mediaType:null!=(x=e.mime_type)?x:"video/mp4",data:{type:"url",url:new URL(e.uri)},...o?{providerMetadata:o}:{}});break}let r=j.delta;if("custom"===e.kind&&((null==r?void 0:r.type)==="processing_call"||(null==r?void 0:r.type)==="processing_result"))null!=r.signature&&(e.google.signature=r.signature),"processing_call"===r.type&&null!=r.id&&r.id.length>0&&(e.google.processingId=r.id),"processing_result"===r.type&&null!=r.call_id&&r.call_id.length>0&&(e.google.processingCallId=r.call_id);else if("text"===e.kind&&(null==r?void 0:r.type)==="text"){let t=null!=(T=r.text)?T:"";t.length>0&&n.enqueue({type:"text-delta",id:e.id,delta:t})}else if("text"===e.kind&&((null==r?void 0:r.type)==="text_annotation"||(null==r?void 0:r.type)==="text_annotation_delta"))for(let t of eM({annotations:r.annotations,generateId:o})){let o=p(t);c.has(o)||(c.add(o),e.emittedSourceKeys.add(o),n.enqueue(t))}else if("image"===e.kind&&(null==r?void 0:r.type)==="image")null!=r.data&&(e.data=r.data),null!=r.mime_type&&(e.mimeType=r.mime_type),null!=r.uri&&(e.uri=r.uri);else if("reasoning"===e.kind){if((null==r?void 0:r.type)==="thought_summary"){let t=r.content;(null==t?void 0:t.type)==="text"&&"string"==typeof t.text&&n.enqueue({type:"reasoning-delta",id:e.id,delta:t.text})}else if((null==r?void 0:r.type)==="thought_signature"){let t=r.signature;null!=t&&(e.signature=t)}}else if("function_call"===e.kind&&(null==r?void 0:r.type)==="arguments_delta"){let t="string"==typeof r.arguments?r.arguments:"";t.length>0&&(e.argumentsAccum+=t,n.enqueue({type:"tool-input-delta",id:e.toolCallId,delta:t})),null!=r.id&&r.id.length>0&&(e.toolCallId=r.id),null!=r.signature&&(e.signature=r.signature),u=!0}else"builtin_tool_call"===e.kind&&(null==r?void 0:r.type)===e.blockType?(null!=r.id&&r.id.length>0&&(e.toolCallId=r.id),null!=r.arguments&&"object"==typeof r.arguments&&(e.arguments=r.arguments),null!=r.name&&"mcp_server_tool_call"===e.blockType&&(e.toolName=r.name)):"builtin_tool_result"===e.kind&&(null==r?void 0:r.type)===e.blockType&&(null!=r.call_id&&r.call_id.length>0&&(e.callId=r.call_id),void 0!==r.result&&(e.result=r.result),null!=r.is_error&&(e.isError=r.is_error),null!=r.name&&"mcp_server_tool_result"===e.blockType&&(e.toolName=r.name));break}case"step.stop":{let e=d.get(j.index);if(null==e)break;if("text"===e.kind){let t=null!=a?{google:{interactionId:a}}:void 0;n.enqueue({type:"text-end",id:e.id,...t?{providerMetadata:t}:{}})}else if("reasoning"===e.kind){let t={};null!=e.signature&&(t.signature=e.signature),null!=a&&(t.interactionId=a);let o=Object.keys(t).length>0?{google:t}:void 0;n.enqueue({type:"reasoning-end",id:e.id,...o?{providerMetadata:o}:{}})}else if("image"===e.kind){let t={};null!=a&&(t.interactionId=a);let o=Object.keys(t).length>0?{google:t}:void 0;null!=e.data&&e.data.length>0?n.enqueue({type:"file",mediaType:null!=(k=e.mimeType)?k:"image/png",data:{type:"data",data:e.data},...o?{providerMetadata:o}:{}}):null!=e.uri&&e.uri.length>0&&n.enqueue({type:"file",mediaType:null!=(I=e.mimeType)?I:"image/png",data:{type:"url",url:new URL(e.uri)},...o?{providerMetadata:o}:{}})}else if("function_call"===e.kind){let t=e.argumentsAccum.length>0?e.argumentsAccum:"{}";n.enqueue({type:"tool-input-end",id:e.toolCallId});let o={};null!=e.signature&&(o.signature=e.signature),null!=a&&(o.interactionId=a);let r=Object.keys(o).length>0?{google:o}:void 0;n.enqueue({type:"tool-call",toolCallId:e.toolCallId,toolName:e.toolName,input:t,...r?{providerMetadata:r}:{}})}else if("custom"===e.kind)n.enqueue({type:"custom",kind:e.customKind,providerMetadata:{google:e.google}});else if("builtin_tool_call"!==e.kind||e.callEmitted){if("builtin_tool_result"===e.kind&&!e.resultEmitted)for(let t of(n.enqueue({type:"tool-result",toolCallId:e.callId,toolName:e.toolName,result:null!=(C=e.result)?C:null}),e.resultEmitted=!0,eO({block:{type:e.blockType,call_id:e.callId,result:e.result},generateId:o}))){let e=p(t);c.has(e)||(c.add(e),n.enqueue(t))}}else n.enqueue({type:"tool-call",toolCallId:e.toolCallId,toolName:e.toolName,input:JSON.stringify(null!=(S=e.arguments)?S:{}),providerExecuted:!0}),e.callEmitted=!0;d.delete(j.index);break}case"interaction.status_update":case"interaction.in_progress":case"interaction.requires_action":l=null!=j.status?j.status:"interaction.requires_action"===R?"requires_action":"in_progress";break;case"interaction.completed":{let e=j.interaction;(null==e?void 0:e.id)!=null&&e.id.length>0&&(a=e.id),(null==e?void 0:e.status)!=null&&(l=e.status),(null==e?void 0:e.usage)!=null&&(i=e.usage),(null==e?void 0:e.service_tier)!=null&&(s=e.service_tier);break}case"error":l="failed",n.enqueue({type:"error",error:(0,t.createProviderStreamError)({message:null!=(A=null==(E=j.error)?void 0:E.message)?A:"Unknown interaction error",type:j.event_type,code:null!=(M=null==(O=j.error)?void 0:O.code)?M:void 0,data:j})})}},flush(e){let t={unified:ej({status:l,hasFunctionCall:u}),raw:l},o=eS(i),r={google:{...null!=a?{interactionId:a}:{},...null!=s?{serviceTier:s}:{},...null!=o?{outputTokensByModality:o}:{}}};e.enqueue({type:"finish",finishReason:t,usage:eI(i),providerMetadata:r})}})}function e$({part:e,warnings:o,mediaResolution:r}){let n;if("text"===e.data.type)return{type:"text",text:e.data.text};switch((0,t.getTopLevelMediaType)(e.mediaType)){case"image":n="image";break;case"audio":n="audio";break;case"video":n="video";break;case"application":case"text":n="document";break;default:n=void 0}if(null==n)return void o.push({type:"other",message:`google.interactions: unsupported file media type "${e.mediaType}"; part dropped.`});let a=null!=r&&("image"===n||"video"===n)?{resolution:r}:{},i="video"===n?function({part:e,warnings:t}){var o,r;let n=null==(r=null==(o=e.providerOptions)?void 0:o.google)?void 0:r.processing;return null==n?{}:"agentic"===n||"static"===n?{processing:n}:"object"!=typeof n||Array.isArray(n)||"static"!==n.type?(t.push({type:"other",message:'google.interactions: invalid providerOptions.google.processing on video file part; expected "agentic", "static", or a static processing configuration. Option dropped.'}),{}):{processing:{type:"static",..."number"==typeof n.startOffset?{start_offset:n.startOffset}:{},..."number"==typeof n.endOffset?{end_offset:n.endOffset}:{},..."number"==typeof n.fps?{fps:n.fps}:{}}}}({part:e,warnings:o}):{};switch(e.data.type){case"data":{let o=(0,t.resolveFullMediaType)({part:e});return{type:n,data:(0,t.convertToBase64)(e.data.data),mime_type:o,...a,...i}}case"url":return{type:n,uri:e.data.url.toString(),...(0,t.isFullMediaType)(e.mediaType)?{mime_type:e.mediaType}:{},...a,...i};case"reference":return{type:n,uri:(0,t.resolveProviderReference)({reference:e.data.reference,provider:"google"}),...(0,t.isFullMediaType)(e.mediaType)?{mime_type:e.mediaType}:{},...a,...i}}}var eq=()=>n.z.object({modality:n.z.string().nullish(),tokens:n.z.number().nullish()}).loose(),eL=()=>n.z.object({total_input_tokens:n.z.number().nullish(),total_output_tokens:n.z.number().nullish(),total_thought_tokens:n.z.number().nullish(),total_cached_tokens:n.z.number().nullish(),total_tool_use_tokens:n.z.number().nullish(),total_tokens:n.z.number().nullish(),input_tokens_by_modality:n.z.array(eq()).nullish(),output_tokens_by_modality:n.z.array(eq()).nullish(),cached_tokens_by_modality:n.z.array(eq()).nullish(),tool_use_tokens_by_modality:n.z.array(eq()).nullish(),grounding_tool_count:n.z.array(n.z.object({type:n.z.string().nullish(),count:n.z.number().nullish()}).loose()).nullish()}).loose(),eD=()=>n.z.enum(["in_progress","requires_action","completed","failed","cancelled","incomplete"]),eU=()=>{let e=n.z.object({type:n.z.literal("url_citation"),url:n.z.string().nullish(),title:n.z.string().nullish(),start_index:n.z.number().nullish(),end_index:n.z.number().nullish()}).loose(),t=n.z.object({type:n.z.literal("file_citation"),file_name:n.z.string().nullish(),document_uri:n.z.string().nullish(),url:n.z.string().nullish(),page_number:n.z.number().nullish(),media_id:n.z.string().nullish(),start_index:n.z.number().nullish(),end_index:n.z.number().nullish(),custom_metadata:n.z.record(n.z.string(),n.z.unknown()).nullish()}).loose(),o=n.z.object({type:n.z.literal("place_citation"),name:n.z.string().nullish(),url:n.z.string().nullish(),place_id:n.z.string().nullish(),start_index:n.z.number().nullish(),end_index:n.z.number().nullish()}).loose();return n.z.union([e,t,o,n.z.object({type:n.z.string()}).loose()])},eF=()=>n.z.object({type:n.z.string(),text:n.z.string().nullish(),data:n.z.string().nullish(),mime_type:n.z.string().nullish()}).loose(),eB=()=>{let e=n.z.object({type:n.z.literal("text"),text:n.z.string(),annotations:n.z.array(eU()).nullish()}).loose(),t=n.z.object({type:n.z.literal("image"),data:n.z.string().nullish(),mime_type:n.z.string().nullish(),resolution:n.z.enum(["low","medium","high","ultra_high"]).nullish(),uri:n.z.string().nullish()}).loose(),o=n.z.object({type:n.z.literal("video"),data:n.z.string().nullish(),mime_type:n.z.string().nullish(),uri:n.z.string().nullish()}).loose();return n.z.union([e,t,o,n.z.object({type:n.z.string()}).loose()])},eH=["google_search_call","code_execution_call","url_context_call","file_search_call","google_maps_call","mcp_server_tool_call"],eW=["google_search_result","code_execution_result","url_context_result","file_search_result","google_maps_result","mcp_server_tool_result"],eV=()=>{let e=n.z.object({type:n.z.literal("user_input"),content:n.z.array(eB()).nullish()}).loose(),t=n.z.object({type:n.z.literal("model_output"),content:n.z.array(eB()).nullish()}).loose(),o=n.z.object({type:n.z.literal("function_call"),id:n.z.string(),name:n.z.string(),arguments:n.z.record(n.z.string(),n.z.unknown()).nullish(),signature:n.z.string().nullish()}).loose(),r=n.z.object({type:n.z.literal("thought"),signature:n.z.string().nullish(),summary:n.z.array(eF()).nullish()}).loose(),a=n.z.object({type:n.z.literal("processing_call"),id:n.z.string(),signature:n.z.string().nullish()}).loose(),i=n.z.object({type:n.z.literal("processing_result"),call_id:n.z.string(),signature:n.z.string().nullish()}).loose(),l=n.z.object({type:n.z.enum(eH),id:n.z.string(),arguments:n.z.record(n.z.string(),n.z.unknown()).nullish(),name:n.z.string().nullish(),server_name:n.z.string().nullish(),search_type:n.z.string().nullish(),signature:n.z.string().nullish()}).loose(),s=n.z.object({type:n.z.enum(eW),call_id:n.z.string(),result:n.z.unknown().nullish(),is_error:n.z.boolean().nullish(),name:n.z.string().nullish(),server_name:n.z.string().nullish(),signature:n.z.string().nullish()}).loose();return n.z.union([e,t,o,r,a,i,l,s,n.z.object({type:n.z.string()}).loose()])},eJ=(0,t.lazySchema)(()=>(0,t.zodSchema)(n.z.object({id:n.z.string().nullish(),created:n.z.string().nullish(),updated:n.z.string().nullish(),status:eD(),model:n.z.string().nullish(),agent:n.z.string().nullish(),steps:n.z.array(eV()).nullish(),usage:eL().nullish(),service_tier:n.z.string().nullish(),previous_interaction_id:n.z.string().nullish(),response_modalities:n.z.array(n.z.string()).nullish()}).loose())),eK=(0,t.lazySchema)(()=>{let e,o,r,a,i,l,s,u,d,c,p,h,m,g,f,y,v,b,_,w,z,x,T,k;return(0,t.zodSchema)((e=eD(),o=eU(),r=eF(),a=n.z.object({event_type:n.z.literal("interaction.created"),event_id:n.z.string().nullish(),interaction:n.z.object({id:n.z.string().nullish(),created:n.z.string().nullish(),model:n.z.string().nullish(),agent:n.z.string().nullish(),status:e.nullish()}).loose()}).loose(),i=n.z.object({event_type:n.z.literal("step.start"),event_id:n.z.string().nullish(),index:n.z.number(),step:eV()}).loose(),l=n.z.object({type:n.z.literal("text"),text:n.z.string()}).loose(),s=n.z.object({type:n.z.literal("thought_summary"),content:r.nullish()}).loose(),u=n.z.object({type:n.z.literal("thought_signature"),signature:n.z.string().nullish()}).loose(),d=n.z.object({type:n.z.literal("arguments_delta"),arguments:n.z.string().nullish(),id:n.z.string().nullish(),signature:n.z.string().nullish()}).loose(),c=n.z.object({type:n.z.enum(["text_annotation_delta","text_annotation"]),annotations:n.z.array(o).nullish()}).loose(),p=n.z.object({type:n.z.literal("image"),data:n.z.string().nullish(),mime_type:n.z.string().nullish(),resolution:n.z.enum(["low","medium","high","ultra_high"]).nullish(),uri:n.z.string().nullish()}).loose(),h=n.z.object({type:n.z.literal("video"),data:n.z.string().nullish(),mime_type:n.z.string().nullish(),uri:n.z.string().nullish()}).loose(),m=n.z.object({type:n.z.enum(eH),id:n.z.string().nullish(),arguments:n.z.record(n.z.string(),n.z.unknown()).nullish(),name:n.z.string().nullish(),server_name:n.z.string().nullish(),search_type:n.z.string().nullish(),signature:n.z.string().nullish()}).loose(),g=n.z.object({type:n.z.enum(eW),call_id:n.z.string().nullish(),result:n.z.unknown().nullish(),is_error:n.z.boolean().nullish(),name:n.z.string().nullish(),server_name:n.z.string().nullish(),signature:n.z.string().nullish()}).loose(),f=n.z.object({type:n.z.string()}).loose(),y=n.z.union([l,p,h,s,u,d,c,m,g,f]),v=n.z.object({event_type:n.z.literal("step.delta"),event_id:n.z.string().nullish(),index:n.z.number(),delta:y}).loose(),b=n.z.object({event_type:n.z.literal("step.stop"),event_id:n.z.string().nullish(),index:n.z.number()}).loose(),_=n.z.object({event_type:n.z.literal("interaction.status_update"),event_id:n.z.string().nullish(),interaction_id:n.z.string().nullish(),status:e.nullish()}).loose(),w=n.z.object({event_type:n.z.literal("interaction.in_progress"),event_id:n.z.string().nullish(),interaction_id:n.z.string().nullish(),status:e.nullish()}).loose(),z=n.z.object({event_type:n.z.literal("interaction.requires_action"),event_id:n.z.string().nullish(),interaction_id:n.z.string().nullish(),status:e.nullish()}).loose(),x=n.z.object({event_type:n.z.literal("interaction.completed"),event_id:n.z.string().nullish(),interaction:n.z.object({id:n.z.string().nullish(),status:e.nullish(),usage:eL().nullish(),service_tier:n.z.string().nullish()}).loose()}).loose(),T=n.z.object({event_type:n.z.literal("error"),event_id:n.z.string().nullish(),error:n.z.object({code:n.z.string().nullish(),message:n.z.string().nullish()}).loose().nullish()}).loose(),k=n.z.object({event_type:n.z.string()}).loose(),n.z.union([a,i,v,b,_,w,z,x,T,k])))}),eG=(0,t.lazySchema)(()=>(0,t.zodSchema)(n.z.object({previousInteractionId:n.z.string().nullish(),store:n.z.boolean().nullish(),agent:n.z.string().nullish(),agentConfig:n.z.union([n.z.object({type:n.z.literal("dynamic")}).loose(),n.z.object({type:n.z.literal("deep-research"),thinkingSummaries:n.z.enum(["auto","none"]).nullish(),visualization:n.z.enum(["off","auto"]).nullish(),collaborativePlanning:n.z.boolean().nullish()})]).nullish(),thinkingLevel:n.z.enum(["minimal","low","medium","high"]).nullish(),thinkingSummaries:n.z.enum(["auto","none"]).nullish(),responseFormat:n.z.array(n.z.union([n.z.object({type:n.z.literal("text"),mimeType:n.z.string().nullish(),schema:n.z.unknown().nullish()}).loose(),n.z.object({type:n.z.literal("image"),mimeType:n.z.string().nullish(),aspectRatio:n.z.enum(["1:1","2:3","3:2","3:4","4:3","4:5","5:4","9:16","16:9","21:9","1:8","8:1","1:4","4:1"]).nullish(),imageSize:n.z.enum(["1K","2K","4K","512"]).nullish()}).loose(),n.z.object({type:n.z.literal("audio"),mimeType:n.z.string().nullish()}).loose(),n.z.object({type:n.z.literal("video"),aspectRatio:n.z.enum(["16:9","9:16"]).nullish(),resolution:n.z.enum(["360p","720p","1080p","4k"]).nullish(),duration:n.z.string().nullish(),delivery:n.z.enum(["inline","uri"]).nullish(),gcsUri:n.z.string().nullish()}).loose()])).nullish(),imageConfig:n.z.object({aspectRatio:n.z.enum(["1:1","2:3","3:2","3:4","4:3","4:5","5:4","9:16","16:9","21:9","1:8","8:1","1:4","4:1"]).nullish(),imageSize:n.z.enum(["1K","2K","4K","512"]).nullish()}).nullish(),mediaResolution:n.z.enum(["low","medium","high","ultra_high"]).nullish(),responseModalities:n.z.array(n.z.enum(["text","image","audio","video","document"])).nullish(),serviceTier:n.z.enum(["flex","standard","priority"]).nullish(),systemInstruction:n.z.string().nullish(),signature:n.z.string().nullish(),interactionId:n.z.string().nullish(),pollingTimeoutMs:n.z.number().int().positive().nullish(),background:n.z.boolean().nullish(),environment:n.z.union([n.z.string(),n.z.object({type:n.z.literal("remote"),sources:n.z.array(n.z.union([n.z.object({type:n.z.literal("gcs"),source:n.z.string(),target:n.z.string().nullish()}),n.z.object({type:n.z.literal("repository"),source:n.z.string(),target:n.z.string().nullish()}),n.z.object({type:n.z.literal("inline"),content:n.z.string(),target:n.z.string()})])).nullish(),network:n.z.union([n.z.literal("disabled"),n.z.object({allowlist:n.z.array(n.z.object({domain:n.z.string(),transform:n.z.array(n.z.record(n.z.string(),n.z.string())).nullish()}))})]).nullish()})]).nullish()})));function eY({signature:e,interactionId:t,processingId:o,processingCallId:r}){let n={};return null!=e&&(n.signature=e),null!=t&&(n.interactionId=t),null!=o&&(n.processingId=o),null!=r&&(n.processingCallId=r),Object.keys(n).length>0?{providerMetadata:{google:n}}:{}}var eZ=new Set(["google_search_call","code_execution_call","url_context_call","file_search_call","google_maps_call","mcp_server_tool_call"]),eX=new Set(["google_search_result","code_execution_result","url_context_result","file_search_result","google_maps_result","mcp_server_tool_result"]);function eQ({steps:e,generateId:t,interactionId:o}){var r,n,a,i,l,s,u,d,c,p,h;let m=[],g=!1;if(null==e)return{content:m,hasFunctionCall:g};for(let f of e){if(null==f||"object"!=typeof f)continue;let e=f.type;if("string"==typeof e)switch(e){case"user_input":break;case"model_output":for(let e of null!=(r=f.content)?r:[]){if(null==e||"object"!=typeof e)continue;let r=e.type;if("text"===r){let r=null!=(n=e.text)?n:"",a=e.annotations;for(let e of(m.push({type:"text",text:r,...eY({interactionId:o})}),eM({annotations:a,generateId:t})))m.push(e)}else"image"===r?null!=e.data&&e.data.length>0?m.push({type:"file",mediaType:null!=(a=e.mime_type)?a:"image/png",data:{type:"data",data:e.data},...eY({interactionId:o})}):null!=e.uri&&e.uri.length>0&&m.push({type:"file",mediaType:null!=(i=e.mime_type)?i:"image/png",data:{type:"url",url:new URL(e.uri)},...eY({interactionId:o})}):"video"===r&&(null!=e.data&&e.data.length>0?m.push({type:"file",mediaType:null!=(l=e.mime_type)?l:"video/mp4",data:{type:"data",data:e.data},...eY({interactionId:o})}):null!=e.uri&&e.uri.length>0&&m.push({type:"file",mediaType:null!=(s=e.mime_type)?s:"video/mp4",data:{type:"url",url:new URL(e.uri)},...eY({interactionId:o})}))}break;case"thought":{let e=(Array.isArray(f.summary)?f.summary:[]).filter(e=>(null==e?void 0:e.type)==="text"&&"string"==typeof e.text).map(e=>e.text).join("\n");m.push({type:"reasoning",text:e,...eY({signature:f.signature,interactionId:o})});break}case"processing_call":{let e=f.id||t();m.push({type:"custom",kind:"google.processing_call",...eY({signature:f.signature,interactionId:o,processingId:e})});break}case"processing_result":{let e=f.call_id||t();m.push({type:"custom",kind:"google.processing_result",...eY({signature:f.signature,interactionId:o,processingCallId:e})});break}case"function_call":g=!0,m.push({type:"tool-call",toolCallId:f.id,toolName:f.name,input:JSON.stringify(null!=(u=f.arguments)?u:{}),...eY({signature:f.signature,interactionId:o})});break;default:if(eZ.has(e)){let o="mcp_server_tool_call"===e?null!=(d=f.name)?d:"mcp_server_tool":e.replace(/_call$/,""),r=JSON.stringify(null!=(c=f.arguments)?c:{});m.push({type:"tool-call",toolCallId:f.id||t(),toolName:o,input:r,providerExecuted:!0})}else if(eX.has(e)){let o="mcp_server_tool_result"===e?null!=(p=f.name)?p:"mcp_server_tool":e.replace(/_result$/,"");for(let e of(m.push({type:"tool-result",toolCallId:f.call_id||t(),toolName:o,result:null!=(h=f.result)?h:null}),eO({block:f,generateId:t})))m.push(e)}}}return{content:m,hasFunctionCall:g}}async function e0({baseURL:e,interactionId:o,headers:r,fetch:n=globalThis.fetch}){if(null==o||0===o.length)return;let a=`${e}/interactions/${encodeURIComponent(o)}/cancel`;try{let e=await n(a,{method:"POST",headers:(0,t.withUserAgentSuffix)((0,t.combineHeaders)({"Content-Type":"application/json"},r),(0,t.getRuntimeEnvironmentUserAgent)()),body:"{}"});try{await e.text()}catch(e){}}catch(e){}}var e1=new Set(["completed","failed","cancelled","incomplete"]);function e2(e){return null!=e&&e1.has(e)}async function e4({baseURL:e,interactionId:o,headers:r,fetch:n,abortSignal:a,initialDelayMs:l=1e3,maxDelayMs:s=1e4,timeoutMs:u=18e5}){if(null==o||0===o.length)throw Error("google.interactions: cannot poll a background interaction without an id. The POST response did not include an interaction id.");let d=Date.now(),c=l,p=`${e}/interactions/${encodeURIComponent(o)}`,h=()=>e0({baseURL:e,interactionId:o,headers:r,fetch:n});try{for(;;){if(null==a?void 0:a.aborted)throw await h(),new DOMException("Polling was aborted","AbortError");if(Date.now()-d>u)throw Error(`google.interactions: timed out polling interaction ${o} after ${u}ms.`);await (0,t.delay)(c,{abortSignal:a});let{value:e,rawValue:l,responseHeaders:m}=await (0,t.getFromApi)({url:p,validateUrl:!1,headers:r,failedResponseHandler:i,successfulResponseHandler:(0,t.createJsonResponseHandler)(eJ),abortSignal:a,fetch:n});if(e2(e.status))return{response:e,rawResponse:l,responseHeaders:m};c=Math.min(2*c,s)}}catch(e){throw(0,t.isAbortError)(e)&&await h(),e}}var e3=class e{constructor(e,t){this.specificationVersion="v4","string"==typeof e?(this.modelId=e,this.agent=void 0):"managedAgent"in e?(this.modelId=e.managedAgent,this.agent=e.managedAgent):(this.modelId=e.agent,this.agent=e.agent),this.config=t}static[r.WORKFLOW_SERIALIZE](e){return{...(0,t.serializeModelOptions)({modelId:e.modelId,config:e.config}),agent:e.agent}}static[r.WORKFLOW_DESERIALIZE](t){return new e(null!=t.agent?{agent:t.agent}:t.modelId,t.config)}get provider(){return this.config.provider}get supportedUrls(){return this.config.supportedUrls?this.config.supportedUrls():{"image/*":[/^https?:\/\/.+/],"application/pdf":[/^https?:\/\/.+/],"audio/*":[/^https?:\/\/.+/],"video/*":[/^https?:\/\/(www\.)?youtube\.com\/watch\?v=.+/,/^https?:\/\/youtu\.be\/.+/,/^gs:\/\/.+/]}}async getArgs(e){var o,r,n,a,i,l,s,u,d,c,p,h,m,g,f,y,v,b,_,w,z,x,T,k,I,S,C,E,A,O,M,j;let R,N,P,$,q,L=[],D=await (0,t.parseProviderOptions)({provider:"google",providerOptions:e.providerOptions,schema:eG}),U=null!=this.agent;if(U||(null!=e.frequencyPenalty&&L.push({type:"unsupported",feature:"frequencyPenalty"}),null!=e.presencePenalty&&L.push({type:"unsupported",feature:"presencePenalty"})),null!=e.tools&&e.tools.length>0){let t=function({tools:e,toolChoice:t}){var o,r,n,a;let i,l=[],s=(null==e?void 0:e.length)?e:void 0;if(null==s)return{tools:void 0,toolChoice:void 0,toolWarnings:l};let u=[];for(let e of s){if("function"===e.type){u.push({type:"function",name:e.name,description:null!=(o=e.description)?o:"",parameters:e.inputSchema});continue}if("provider"===e.type){let t=null!=(r=e.args)?r:{};switch(e.id){case"google.google_search":{let e,o=t.searchTypes;if(null!=o&&"object"==typeof o){let t=[];null!=o.webSearch&&t.push("web_search"),null!=o.imageSearch&&t.push("image_search"),t.length>0&&(e=t)}u.push({type:"google_search",...null!=e?{search_types:e}:{}});break}case"google.code_execution":u.push({type:"code_execution"});break;case"google.url_context":u.push({type:"url_context"});break;case"google.file_search":u.push({type:"file_search",...null!=t.fileSearchStoreNames?{file_search_store_names:t.fileSearchStoreNames}:{},...null!=t.topK?{top_k:t.topK}:{},...null!=t.metadataFilter?{metadata_filter:t.metadataFilter}:{}});break;case"google.google_maps":u.push({type:"google_maps",...null!=t.latitude?{latitude:t.latitude}:{},...null!=t.longitude?{longitude:t.longitude}:{},...null!=t.enableWidget?{enable_widget:t.enableWidget}:{}});break;case"google.computer_use":u.push({type:"computer_use",environment:null!=(n=t.environment)?n:"browser",...null!=t.excludedPredefinedFunctions?{excludedPredefinedFunctions:t.excludedPredefinedFunctions}:{}});break;case"google.mcp_server":u.push({type:"mcp_server",...null!=t.name?{name:t.name}:{},...null!=t.url?{url:t.url}:{},...null!=t.headers?{headers:t.headers}:{},...null!=t.allowedTools?{allowed_tools:t.allowedTools}:{}});break;case"google.retrieval":{let e=null!=(a=t.vertexAiSearchConfig)?a:void 0;u.push({type:"retrieval",...null!=t.retrievalTypes?{retrieval_types:t.retrievalTypes}:{retrieval_types:["vertex_ai_search"]},...null!=e?{vertex_ai_search_config:e}:{}});break}default:l.push({type:"unsupported",feature:`provider-defined tool ${e.id}`,details:`provider-defined tool ${e.id} is not supported by google.interactions; tool dropped.`})}continue}l.push({type:"unsupported",feature:`tool of type ${e.type}`,details:"Only function tools and google.* provider-defined tools are supported by google.interactions; tool dropped."})}let d=u.some(e=>"function"===e.type);if(null!=t&&d)switch(t.type){case"auto":i="auto";break;case"required":i="any";break;case"none":i="none";break;case"tool":i={allowed_tools:{mode:"validated",tools:[t.toolName]}}}return{tools:u.length>0?u:void 0,toolChoice:i,toolWarnings:l}}({tools:e.tools,toolChoice:e.toolChoice});R=t.tools,N=t.toolChoice,L.push(...t.toolWarnings)}let F=[];if((null==(o=e.responseFormat)?void 0:o.type)==="json")if(U)L.push({type:"other",message:"google.interactions: structured output (responseFormat) is not supported when an agent is set; responseFormat will be ignored."});else{let t={type:"text",mime_type:"application/json",...null!=e.responseFormat.schema?{schema:e.responseFormat.schema}:{}};F.push(t)}if((null==D?void 0:D.responseFormat)!=null)for(let e of D.responseFormat)"text"===e.type?F.push(e5({type:"text",mime_type:null!=(r=e.mimeType)?r:void 0,schema:null!=(n=e.schema)?n:void 0})):"image"===e.type?F.push(e5({type:"image",mime_type:null!=(a=e.mimeType)?a:void 0,aspect_ratio:null!=(i=e.aspectRatio)?i:void 0,image_size:null!=(l=e.imageSize)?l:void 0})):"audio"===e.type?F.push(e5({type:"audio",mime_type:null!=(s=e.mimeType)?s:void 0})):"video"===e.type&&F.push(e5({type:"video",aspect_ratio:null!=(u=e.aspectRatio)?u:void 0,resolution:null!=(d=e.resolution)?d:void 0,duration:null!=(c=e.duration)?c:void 0,delivery:null!=(p=e.delivery)?p:void 0,gcs_uri:null!=(h=e.gcsUri)?h:void 0}));let{input:B,systemInstruction:H,warnings:W}=function({prompt:e,previousInteractionId:o,store:r,mediaResolution:n}){var a,i,l,s,u,d,c,p;let h=[],m=null!=o&&!1===r,g=null!=o&&!1!==r;m&&h.push({type:"other",message:"google.interactions: providerOptions.google.previousInteractionId was set together with store: false. These are incoherent (the prior interaction cannot be referenced when nothing was stored on the server); the full history will be sent and previous_interaction_id will still be emitted."});let f=g?function({prompt:e,previousInteractionId:t}){let o=[],r=new Set;for(let n of e){if("assistant"===n.role){if(n.content.some(e=>{var o,r;return(null==(r=null==(o=e.providerOptions)?void 0:o.google)?void 0:r.interactionId)===t})){for(let e of n.content)"tool-call"===e.type&&r.add(e.toolCallId);continue}o.push(n);continue}if("tool"===n.role){let e=n.content.filter(e=>"tool-result"!==e.type||!r.has(e.toolCallId));if(0===e.length)continue;o.push({...n,content:e});continue}o.push(n)}return o}({prompt:e,previousInteractionId:o}):e,y=[],v=[];for(let e of f)switch(e.role){case"system":y.push(e.content);break;case"user":{let t=[];for(let o of e.content)if("text"===o.type)t.push({type:"text",text:o.text});else if("file"===o.type){let e=e$({part:o,warnings:h,mediaResolution:n});null!=e&&t.push(e)}let o=function(e){if(e.length<2)return e;let t=[];for(let o of e){let e=t[t.length-1];if("text"===o.type&&null!=e&&"text"===e.type&&null==e.annotations&&null==o.annotations){let r={type:"text",text:`${e.text}
|
|
42
|
+
|
|
43
|
+
${o.text}`};t[t.length-1]=r;continue}t.push(o)}return t}(t);o.length>0&&v.push({type:"user_input",content:o});break}case"assistant":{let o=[],r=()=>{o.length>0&&(v.push({type:"model_output",content:o}),o=[])};for(let c of e.content)if("text"===c.type)o.push({type:"text",text:c.text});else if("reasoning"===c.type){r();let e=null==(i=null==(a=c.providerOptions)?void 0:a.google)?void 0:i.signature;v.push({type:"thought",...null!=e?{signature:e}:{},summary:c.text.length>0?[{type:"text",text:c.text}]:void 0})}else if("file"===c.type){let e=e$({part:c,warnings:h,mediaResolution:n});null!=e&&o.push(e)}else if("custom"===c.type){r();let e=null==(l=c.providerOptions)?void 0:l.google,t="string"==typeof(null==e?void 0:e.signature)?e.signature:void 0;"google.processing_call"===c.kind&&"string"==typeof(null==e?void 0:e.processingId)?v.push({type:"processing_call",id:e.processingId,...null!=t?{signature:t}:{}}):"google.processing_result"===c.kind&&"string"==typeof(null==e?void 0:e.processingCallId)?v.push({type:"processing_result",call_id:e.processingCallId,...null!=t?{signature:t}:{}}):h.push({type:"other",message:`google.interactions: unsupported or invalid custom assistant content part "${c.kind}"; part dropped.`})}else if("tool-call"===c.type){r();let e=null==(u=null==(s=c.providerOptions)?void 0:s.google)?void 0:u.signature,o="string"==typeof c.input?function(e){try{let o=(0,t.secureJsonParse)(e);if(null!=o&&"object"==typeof o&&!Array.isArray(o))return o;return{value:o}}catch(t){return{value:e}}}(c.input):null!=(d=c.input)?d:{};v.push({type:"function_call",id:c.toolCallId,name:c.toolName,arguments:o,...null!=e?{signature:e}:{}})}else h.push({type:"other",message:`google.interactions: unsupported assistant content part type "${c.type}"; part dropped.`});r();break}case"tool":{let o=[];for(let r of e.content){if("tool-result"!==r.type){h.push({type:"other",message:`google.interactions: unsupported tool message part type "${r.type}"; part dropped.`});continue}let e=function({toolCallId:e,toolName:o,output:r,signature:n,warnings:a}){var i;let l={type:"function_result",call_id:e,name:o,...null!=n?{signature:n}:{}};switch(r.type){case"text":return{...l,result:r.value};case"json":return{...l,result:JSON.stringify(r.value)};case"error-text":return{...l,is_error:!0,result:r.value};case"error-json":return{...l,is_error:!0,result:JSON.stringify(r.value)};case"execution-denied":return{...l,is_error:!0,result:null!=(i=r.reason)?i:"Tool execution denied by user."};case"content":{let e=[];for(let o of r.value)if("text"===o.type)e.push({type:"text",text:o.text});else if("file"===o.type){if("image"!==(0,t.getTopLevelMediaType)(o.mediaType)){a.push({type:"other",message:`google.interactions: tool-result file with mediaType "${o.mediaType}" is not supported (Interactions \`function_result.result\` accepts only text and image content); part dropped.`});continue}let r=function({part:e,warnings:o}){switch(e.data.type){case"data":{let o=(0,t.isFullMediaType)(e.mediaType)?e.mediaType:(0,t.resolveFullMediaType)({part:{type:"file",mediaType:e.mediaType,data:e.data}});return{type:"image",data:(0,t.convertToBase64)(e.data.data),mime_type:o}}case"url":return{type:"image",uri:e.data.url.toString(),...(0,t.isFullMediaType)(e.mediaType)?{mime_type:e.mediaType}:{}};case"reference":return{type:"image",uri:(0,t.resolveProviderReference)({reference:e.data.reference,provider:"google"}),...(0,t.isFullMediaType)(e.mediaType)?{mime_type:e.mediaType}:{}};case"text":return void o.push({type:"other",message:'google.interactions: tool-result image part with `data.type === "text"` is not representable as an image; part dropped.'})}}({part:o,warnings:a});null!=r&&e.push(r)}else a.push({type:"other",message:`google.interactions: tool-result content part type "${o.type}" is not supported; part dropped.`});return{...l,result:e}}}}({toolCallId:r.toolCallId,toolName:r.toolName,output:r.output,signature:null==(p=null==(c=r.providerOptions)?void 0:c.google)?void 0:p.signature,warnings:h});o.push(e)}o.length>0&&v.push({type:"user_input",content:o})}}return{input:v,systemInstruction:y.length>0?y.join("\n\n"):void 0,warnings:h}}({prompt:e.prompt,previousInteractionId:null!=(m=null==D?void 0:D.previousInteractionId)?m:void 0,store:null!=(g=null==D?void 0:D.store)?g:void 0,mediaResolution:null!=(f=null==D?void 0:D.mediaResolution)?f:void 0});L.push(...W);let V=H,J=null!=(y=null==D?void 0:D.systemInstruction)?y:void 0;if(null!=V&&null!=J?L.push({type:"other",message:"google.interactions: both AI SDK system message and providerOptions.google.systemInstruction were set; using the AI SDK system message."}):null==V&&null!=J&&(V=J),U){let t=[];null!=e.temperature&&t.push("temperature"),null!=e.topP&&t.push("topP"),null!=e.topK&&t.push("topK"),null!=e.frequencyPenalty&&t.push("frequencyPenalty"),null!=e.presencePenalty&&t.push("presencePenalty"),null!=e.seed&&t.push("seed"),null!=e.stopSequences&&e.stopSequences.length>0&&t.push("stopSequences"),null!=e.maxOutputTokens&&t.push("maxOutputTokens"),(null==D?void 0:D.thinkingLevel)!=null&&t.push("thinkingLevel"),(null==D?void 0:D.thinkingSummaries)!=null&&t.push("thinkingSummaries"),(null==D?void 0:D.imageConfig)!=null&&t.push("imageConfig"),t.length>0&&L.push({type:"other",message:`google.interactions: ${t.join(", ")} ${1===t.length?"is":"are"} not supported when an agent is set; use providerOptions.google.agentConfig instead. Dropped from the request body.`}),P=void 0}else if(P=e5({temperature:null!=(v=e.temperature)?v:void 0,top_p:null!=(b=e.topP)?b:void 0,top_k:null!=(_=e.topK)?_:void 0,seed:null!=(w=e.seed)?w:void 0,stop_sequences:null!=e.stopSequences&&e.stopSequences.length>0?e.stopSequences:void 0,max_output_tokens:null!=(z=e.maxOutputTokens)?z:void 0,thinking_level:null!=(x=null==D?void 0:D.thinkingLevel)?x:void 0,thinking_summaries:null!=(T=null==D?void 0:D.thinkingSummaries)?T:void 0,tool_choice:N}),(null==D?void 0:D.imageConfig)!=null){let e=F.some(e=>"image"===e.type);L.push({type:"other",message:e?"google.interactions: providerOptions.google.imageConfig is deprecated and was ignored because providerOptions.google.responseFormat already supplies an image entry. Use responseFormat exclusively.":'google.interactions: providerOptions.google.imageConfig is deprecated. Use providerOptions.google.responseFormat with a { type: "image", ... } entry instead.'}),e||F.push({type:"image",mime_type:"image/png",...null!=D.imageConfig.aspectRatio?{aspect_ratio:D.imageConfig.aspectRatio}:{},...null!=D.imageConfig.imageSize?{image_size:D.imageConfig.imageSize}:{}})}if(U&&(null==D?void 0:D.agentConfig)!=null){let e=D.agentConfig;"deep-research"===e.type?$=e5({type:"deep-research",thinking_summaries:null!=(k=e.thinkingSummaries)?k:void 0,visualization:null!=(I=e.visualization)?I:void 0,collaborative_planning:null!=(S=e.collaborativePlanning)?S:void 0}):"dynamic"===e.type&&($={type:"dynamic"})}if((null==D?void 0:D.environment)!=null)if(U)if("string"==typeof D.environment)q=D.environment;else{let e,t=D.environment,o=null==(C=t.sources)?void 0:C.map(e=>{var t;return"inline"===e.type?{type:"inline",content:e.content,target:e.target}:e5({type:e.type,source:e.source,target:null!=(t=e.target)?t:void 0})});"disabled"===t.network?e="disabled":null!=t.network&&(e={allowlist:t.network.allowlist.map(e=>{var t;return e5({domain:e.domain,transform:null!=(t=e.transform)?t:void 0})})}),q=e5({type:"remote",sources:null!=o&&o.length>0?o:void 0,network:e})}else L.push({type:"other",message:"google.interactions: environment is only supported when an agent is set; environment will be omitted from the request body."});return{args:e5({...U?{agent:this.agent}:{model:this.modelId},input:B,system_instruction:V,tools:R,response_format:F.length>0?F:void 0,response_modalities:(null==D?void 0:D.responseModalities)!=null?D.responseModalities:void 0,previous_interaction_id:null!=(E=null==D?void 0:D.previousInteractionId)?E:void 0,service_tier:null!=(A=null==D?void 0:D.serviceTier)?A:void 0,store:null!=(O=null==D?void 0:D.store)?O:void 0,generation_config:null!=P&&Object.keys(P).length>0?P:void 0,agent_config:$,environment:q,background:null!=(M=null==D?void 0:D.background)?M:void 0}),warnings:L,isAgent:U,isBackground:(null==D?void 0:D.background)===!0,pollingTimeoutMs:null!=(j=null==D?void 0:D.pollingTimeoutMs)?j:void 0}}async doGenerate(e){var o,r,n,a,l,s;let u,{args:d,warnings:c,isAgent:p,pollingTimeoutMs:h}=await this.getArgs(e),m=`${this.config.baseURL}/interactions`,g=(0,t.combineHeaders)(this.config.headers?await (0,t.resolve)(this.config.headers):void 0,e.headers),{responseHeaders:f,value:y,rawValue:v}=await (0,t.postJsonToApi)({url:m,headers:g,body:d,failedResponseHandler:i,successfulResponseHandler:(0,t.createJsonResponseHandler)(eJ),abortSignal:e.abortSignal,fetch:this.config.fetch});if(p&&!e2(y.status)){let t=await e4({baseURL:this.config.baseURL,interactionId:y.id,headers:g,fetch:this.config.fetch,abortSignal:e.abortSignal,timeoutMs:h});y=t.response,v=t.rawResponse,f=null!=(o=t.responseHeaders)?o:f}let b="string"==typeof y.id&&y.id.length>0?y.id:void 0,{content:_,hasFunctionCall:w}=eQ({steps:null!=(r=y.steps)?r:null,generateId:null!=(n=this.config.generateId)?n:t.generateId,interactionId:b}),z={unified:ej({status:y.status,hasFunctionCall:w}),raw:y.status},x=null!=(l=null!=(a=y.service_tier)?a:null==f?void 0:f["x-gemini-service-tier"])?l:void 0,T=eS(y.usage),k={google:{...null!=b?{interactionId:b}:{},...null!=x?{serviceTier:x}:{},...null!=T?{outputTokensByModality:T}:{}}};if("string"==typeof y.created){let e=new Date(y.created);Number.isNaN(e.getTime())||(u=e)}return{content:_,finishReason:z,usage:eI(y.usage),warnings:c,providerMetadata:k,request:{body:d},response:{headers:f,body:v,...null!=b?{id:b}:{},...u?{timestamp:u}:{},modelId:null!=(s=y.model)?s:void 0}}}async doStream(e){var o;let{args:r,warnings:n,isBackground:a,pollingTimeoutMs:l}=await this.getArgs(e),s=`${this.config.baseURL}/interactions`,u=(0,t.combineHeaders)(this.config.headers?await (0,t.resolve)(this.config.headers):void 0,e.headers);if(a)return this.doStreamBackground({args:r,warnings:n,url:s,mergedHeaders:u,options:e,pollingTimeoutMs:l});let d={...r,stream:!0},{responseHeaders:c,value:p}=await (0,t.postJsonToApi)({url:s,headers:u,body:d,failedResponseHandler:i,successfulResponseHandler:(0,t.createEventSourceResponseHandler)(eK),abortSignal:e.abortSignal,fetch:this.config.fetch}),h=null==c?void 0:c["x-gemini-service-tier"],m=eP({warnings:n,generateId:null!=(o=this.config.generateId)?o:t.generateId,includeRawChunks:e.includeRawChunks,serviceTier:h});return{stream:p.pipeThrough(m),request:{body:d},response:{headers:c}}}async doStreamBackground({args:e,warnings:o,url:r,mergedHeaders:n,options:a,pollingTimeoutMs:l}){var s,u;let{responseHeaders:d,value:c}=await (0,t.postJsonToApi)({url:r,headers:n,body:e,failedResponseHandler:i,successfulResponseHandler:(0,t.createJsonResponseHandler)(eJ),abortSignal:a.abortSignal,fetch:this.config.fetch}),p=c.id;if(null==p||0===p.length)throw Error("google.interactions: background POST response did not include an interaction id; cannot stream the result.");let h=null==d?void 0:d["x-gemini-service-tier"];if(e2(c.status))return{stream:function({response:e,warnings:t,generateId:o,includeRawChunks:r,headerServiceTier:n}){return new ReadableStream({start(a){var i,l,s;let u;a.enqueue({type:"stream-start",warnings:t});let d="string"==typeof e.id&&e.id.length>0?e.id:void 0,c=e.created;if("string"==typeof c){let e=new Date(c);Number.isNaN(e.getTime())||(u=e)}a.enqueue({type:"response-metadata",...null!=d?{id:d}:{},modelId:null!=(i=e.model)?i:void 0,...u?{timestamp:u}:{}}),r&&a.enqueue({type:"raw",rawValue:e});let{content:p,hasFunctionCall:h}=eQ({steps:null!=(l=e.steps)?l:null,generateId:o,interactionId:d}),m=0,g=()=>`${null!=d?d:"agent"}:${m++}`;for(let e of p)switch(e.type){case"text":{let t=g(),o=e.providerMetadata;a.enqueue({type:"text-start",id:t}),e.text.length>0&&a.enqueue({type:"text-delta",id:t,delta:e.text}),a.enqueue({type:"text-end",id:t,...o?{providerMetadata:o}:{}});break}case"reasoning":{let t=g(),o=e.providerMetadata;a.enqueue({type:"reasoning-start",id:t}),e.text.length>0&&a.enqueue({type:"reasoning-delta",id:t,delta:e.text}),a.enqueue({type:"reasoning-end",id:t,...o?{providerMetadata:o}:{}});break}case"tool-call":{let t=e.providerMetadata;a.enqueue({type:"tool-input-start",id:e.toolCallId,toolName:e.toolName,...e.providerExecuted?{providerExecuted:e.providerExecuted}:{}}),a.enqueue({type:"tool-input-delta",id:e.toolCallId,delta:e.input}),a.enqueue({type:"tool-input-end",id:e.toolCallId}),a.enqueue({type:"tool-call",toolCallId:e.toolCallId,toolName:e.toolName,input:e.input,...e.providerExecuted?{providerExecuted:e.providerExecuted}:{},...t?{providerMetadata:t}:{}});break}case"tool-result":a.enqueue({type:"tool-result",toolCallId:e.toolCallId,toolName:e.toolName,result:e.result});break;case"source":case"file":a.enqueue(e)}let f=null!=(s=e.service_tier)?s:n,y={unified:ej({status:e.status,hasFunctionCall:h}),raw:e.status},v={google:{...null!=d?{interactionId:d}:{},...null!=f?{serviceTier:f}:{}}};a.enqueue({type:"finish",finishReason:y,usage:eI(e.usage),providerMetadata:v}),a.close()}})}({response:c,warnings:o,generateId:null!=(s=this.config.generateId)?s:t.generateId,includeRawChunks:a.includeRawChunks,headerServiceTier:h}),request:{body:e},response:{headers:d}};let m=function({baseURL:e,interactionId:o,headers:r,fetch:n,abortSignal:a,maxRetries:l=3,retryDelayMs:s=500}){let u,d;if(0===o.length)throw Error("google.interactions: cannot stream a background interaction without an id.");let c={...r,accept:"text/event-stream"},p=!1,h=0,m=!1,g=new AbortController,f=()=>g.abort();null!=a&&(a.aborted?g.abort():a.addEventListener("abort",f,{once:!0}));let y=g.signal;async function v(){let r,a,{value:l}=await (0,t.getFromApi)({url:(r=`${e}/interactions/${encodeURIComponent(o)}`,a=new URLSearchParams({stream:"true"}),null!=u&&a.set("last_event_id",u),`${r}?${a.toString()}`),validateUrl:!1,headers:c,failedResponseHandler:i,successfulResponseHandler:(0,t.createEventSourceResponseHandler)(eK),abortSignal:y,fetch:n});return l.getReader()}return new ReadableStream({async start(i){try{for(;!p&&!y.aborted;){if(null==d)try{d=await v(),m=!1}catch(e){if((0,t.isAbortError)(e)||y.aborted||++h>=l)return void i.error(e);await (0,t.delay)(s*h,{abortSignal:y});continue}try{let{done:e,value:o}=await d.read();if(e){if(d=void 0,p)break;if(m)h=0;else{if(++h>=l)return void i.error(Error("google.interactions: SSE stream closed without producing any events."));await (0,t.delay)(s*h,{abortSignal:y})}continue}if(m=!0,o.success){let e=o.value;"string"==typeof e.event_id&&e.event_id.length>0&&(u=e.event_id),("interaction.completed"===e.event_type||"error"===e.event_type)&&(p=!0)}i.enqueue(o)}catch(e){if((0,t.isAbortError)(e)||y.aborted||(d=void 0,++h>=l))return void i.error(e);await (0,t.delay)(s*h,{abortSignal:y})}}i.close()}catch(e){i.error(e)}finally{null!=a&&a.removeEventListener("abort",f),null==d||d.cancel().catch(()=>{}),d=void 0,y.aborted&&!p&&await e0({baseURL:e,interactionId:o,headers:r,fetch:n})}},cancel(){g.abort(),null==d||d.cancel().catch(()=>{}),d=void 0}})}({baseURL:this.config.baseURL,interactionId:p,headers:n,fetch:this.config.fetch,abortSignal:a.abortSignal}),g=eP({warnings:o,generateId:null!=(u=this.config.generateId)?u:t.generateId,includeRawChunks:a.includeRawChunks,serviceTier:h});return{stream:m.pipeThrough(g),request:{body:e},response:{headers:d}}}};function e5(e){let t={};for(let[o,r]of Object.entries(e))void 0!==r&&(t[o]=r);return t}function e6(e){let t=new URL(e),o=t.pathname.split("/"),r=o.at(-1);return("v1beta"===r||"v1alpha"===r)&&(o.pop(),t.pathname=o.join("/")||"/"),t}function e9(e,t){let o=e6(e);return o.protocol="https:"===o.protocol?"wss:":"ws:",o.pathname=`${o.pathname.replace(/\/$/,"")}/ws/${t}`,o}var e8=class{constructor(){this.turnCounter=0,this.hasAudio=!1,this.hasText=!1,this.hasTranscript=!1,this.turnClosed=!1,this.inputAudioRate=16e3}get responseId(){return`google-resp-${this.turnCounter}`}get itemId(){return`google-item-${this.turnCounter}`}beginTurnIfClosed(){this.turnClosed&&(this.turnCounter++,this.hasAudio=!1,this.hasText=!1,this.hasTranscript=!1,this.turnClosed=!1)}parseServerEvent(e){var t,o;return null!=e.setupComplete?{type:"session-created",raw:e}:null!=e.toolCall?(this.beginTurnIfClosed(),(null!=(t=e.toolCall.functionCalls)?t:[]).flatMap(t=>{var o;let r=JSON.stringify(null!=(o=t.args)?o:{});return[{type:"function-call-arguments-delta",responseId:this.responseId,itemId:this.itemId,callId:t.id,delta:r,raw:e},{type:"function-call-arguments-done",responseId:this.responseId,itemId:this.itemId,callId:t.id,name:t.name,arguments:r,raw:e}]})):null!=e.toolCallCancellation?{type:"custom",rawType:"toolCallCancellation",raw:e}:null!=e.goAway?{type:"custom",rawType:"goAway",raw:e}:null!=e.sessionResumptionUpdate?{type:"custom",rawType:"sessionResumptionUpdate",raw:e}:null!=e.serverContent?this.parseServerContent(e.serverContent,e):(null==(o=e.inputTranscription)?void 0:o.text)!=null?{type:"input-transcription-completed",itemId:`google-input-${this.turnCounter}`,transcript:e.inputTranscription.text,raw:e}:{type:"custom",rawType:String(Object.keys(e)[0]),raw:e}}parseServerContent(e,t){var o,r,n,a;let i=[];if(e.interrupted&&i.push({type:"speech-started",raw:t}),null==(o=e.modelTurn)?void 0:o.parts)for(let o of(this.beginTurnIfClosed(),e.modelTurn.parts))(null==(r=o.inlineData)?void 0:r.data)&&(this.hasAudio=!0,i.push({type:"audio-delta",responseId:this.responseId,itemId:this.itemId,delta:o.inlineData.data,raw:t})),o.text&&(this.hasText=!0,i.push({type:"text-delta",responseId:this.responseId,itemId:this.itemId,delta:o.text,raw:t}));return((null==(n=e.outputTranscription)?void 0:n.text)&&(this.hasTranscript=!0,i.push({type:"audio-transcript-delta",responseId:this.responseId,itemId:this.itemId,delta:e.outputTranscription.text,raw:t})),(null==(a=e.inputTranscription)?void 0:a.text)&&i.push({type:"input-transcription-completed",itemId:`google-input-${this.turnCounter}`,transcript:e.inputTranscription.text,raw:t}),e.generationComplete&&i.push({type:"custom",rawType:"generationComplete",raw:t}),e.turnComplete&&(this.hasAudio&&i.push({type:"audio-done",responseId:this.responseId,itemId:this.itemId,raw:t}),this.hasText&&i.push({type:"text-done",responseId:this.responseId,itemId:this.itemId,raw:t}),this.hasTranscript&&i.push({type:"audio-transcript-done",responseId:this.responseId,itemId:this.itemId,raw:t}),i.push({type:"response-done",responseId:this.responseId,status:"completed",raw:t}),this.turnClosed=!0),0===i.length)?{type:"custom",rawType:"serverContent",raw:t}:1===i.length?i[0]:i}serializeClientEvent(e,t){var o;switch(e.type){case"session-update":return(null==(o=e.config.inputAudioFormat)?void 0:o.rate)!=null&&(this.inputAudioRate=e.config.inputAudioFormat.rate),{setup:te(e.config,t)};case"input-audio-append":return{realtimeInput:{audio:{data:e.audio,mimeType:`audio/pcm;rate=${this.inputAudioRate}`}}};case"input-audio-commit":return{realtimeInput:{audioStreamEnd:!0}};case"input-audio-clear":case"response-create":case"response-cancel":case"conversation-item-truncate":break;case"conversation-item-create":{let t=e.item;switch(t.type){case"text-message":return{realtimeInput:{text:t.text}};case"function-call-output":return e7(t);case"audio-message":return null}}}return null}};async function e7(e){let o=await (0,t.safeParseJSON)({text:e.output}),r=o.success?o.value:{};return{toolResponse:{functionResponses:[{id:e.callId,name:e.name,response:r}]}}}function te(e,o){let r={model:p(o)},n={};if((null==e?void 0:e.outputModalities)!=null?n.responseModalities=e.outputModalities.map(e=>e.toUpperCase()):n.responseModalities=["AUDIO"],(null==e?void 0:e.voice)!=null&&(n.speechConfig={voiceConfig:{prebuiltVoiceConfig:{voiceName:e.voice}}}),r.generationConfig=n,(null==e?void 0:e.instructions)!=null&&(r.systemInstruction={parts:[{text:e.instructions}]}),(null==e?void 0:e.tools)!=null&&e.tools.length>0&&(r.tools=[{functionDeclarations:e.tools.map(e=>({name:e.name,description:e.description,parameters:g(e.parameters)}))}]),(null==e?void 0:e.inputAudioTranscription)!=null&&(r.inputAudioTranscription={}),(null==e?void 0:e.outputAudioTranscription)!=null&&(r.outputAudioTranscription={}),(null==e?void 0:e.providerOptions)==null)return r;let{google:a,...i}=e.providerOptions;Object.assign(r,i);let l=(0,t.isRecord)(a)?a:void 0;if((null==l?void 0:l.translationConfig)!=null){let e=(0,t.isRecord)(r.generationConfig)?r.generationConfig:n;r.generationConfig={...e,translationConfig:l.translationConfig}}return r}var tt=class{constructor(e,t){this.specificationVersion="v4",this.mapper=new e8,this.modelId=e,this.provider=t.provider,this.config=t}async doCreateClientSecret(e){var t,o;let r,n=null!=(t=this.config.fetch)?t:fetch,a=this.config.headers()["x-goog-api-key"];if(!a)throw Error("Google Generative AI API key is required for realtime token creation.");let i=Date.now(),l=(null!=(o=e.expiresAfterSeconds)?o:60)*1e3,s=new Date(i+l).toISOString(),u=new Date(i+l+18e5).toISOString(),d=te(e.sessionConfig,this.modelId),c=await n(`${((r=e6(this.config.baseURL)).pathname=`${r.pathname.replace(/\/$/,"")}/v1alpha/auth_tokens`,r.toString())}?key=${encodeURIComponent(a)}`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({uses:0,expireTime:u,newSessionExpireTime:s,bidiGenerateContentSetup:d})});if(!c.ok){let e=await c.text();throw Error(`Google realtime auth token request failed: ${c.status} ${e}`)}let p=await c.json();return{token:p.name,url:e9(this.config.baseURL,"google.ai.generativelanguage.v1alpha.GenerativeService.BidiGenerateContentConstrained").toString(),expiresAt:p.expireTime?Math.floor(new Date(p.expireTime).getTime()/1e3):void 0}}getWebSocketConfig(e){return{url:`${e.url}?access_token=${encodeURIComponent(e.token)}`}}parseServerEvent(e){return this.mapper.parseServerEvent(e)}serializeClientEvent(e){return this.mapper.serializeClientEvent(e,this.modelId)}buildSessionConfig(e){return te(e,this.modelId)}},to=n.z.object({languageCodes:n.z.array(n.z.string()).optional(),customVocabulary:n.z.array(n.z.string()).optional(),wordTimestamp:n.z.boolean().optional(),diarization:n.z.boolean().optional(),mode:n.z.enum(["SMART","VERBATIM"]).optional()});function tr(e){return e.includes("-live")}var tn=class e{constructor(e,t){this.modelId=e,this.config=t,this.specificationVersion="v4"}static[r.WORKFLOW_SERIALIZE](e){return(0,t.serializeModelOptions)({modelId:e.modelId,config:e.config})}static[r.WORKFLOW_DESERIALIZE](t){return new e(t.modelId,t.config)}get provider(){return this.config.provider}async parseOptions(e){return(0,t.parseProviderOptions)({provider:"google",providerOptions:e,schema:to})}async doGenerate(e){var r,n,a,l,s,u;if(tr(this.modelId))throw new o.InvalidArgumentError({argument:"modelId",message:`Model '${this.modelId}' only supports streaming transcription. Use experimental_streamTranscribe, or a unary model such as 'gemini-3.5-transcribe'.`});let d=null!=(a=null==(n=null==(r=this.config._internal)?void 0:r.currentDate)?void 0:n.call(r))?a:new Date,c=function(e){var t;if(null==e)return;let o={};return null!=e.languageCodes&&(o.language_codes=e.languageCodes),null!=e.customVocabulary&&(o.custom_vocabulary=e.customVocabulary),(null!=e.mode||!0===e.diarization||!0===e.wordTimestamp)&&(o.mode={type:(null!=(t=e.mode)?t:"VERBATIM").toLowerCase(),...!0===e.diarization?{diarization_mode:"speaker"}:{},...!0===e.wordTimestamp?{timestamp_granularities:["word"]}:{}}),Object.keys(o).length>0?o:void 0}(await this.parseOptions(e.providerOptions)),p={model:this.modelId,input:[{type:"audio",data:(0,t.convertToBase64)(e.audio),mime_type:e.mediaType}],...null!=c?{generation_config:{transcription_config:c}}:{}},{value:h,responseHeaders:m,rawValue:g}=await (0,t.postJsonToApi)({url:`${this.config.baseURL}/interactions`,headers:(0,t.combineHeaders)(this.config.headers?await (0,t.resolve)(this.config.headers):void 0,e.headers),body:p,failedResponseHandler:i,successfulResponseHandler:(0,t.createJsonResponseHandler)(tl),abortSignal:e.abortSignal,fetch:this.config.fetch}),f="",y=[];for(let e of null!=(l=h.steps)?l:[])for(let t of null!=(s=e.content)?s:[])if("text"===t.type&&null!=t.text)for(let e of(f+=t.text,null!=(u=t.annotations)?u:[])){if("word_info"!==e.type)continue;let t=ta(e.start_offset),o=ta(e.end_offset);null!=e.text&&null!=t&&null!=o&&y.push({text:e.text,startSecond:t,endSecond:o})}return{text:f,segments:y,language:void 0,durationInSeconds:void 0,warnings:[],response:{timestamp:d,modelId:this.modelId,headers:m,body:g},...null!=h.usage?{providerMetadata:{google:{usage:h.usage}}}:{}}}async doStream(e){let r,n;if(!tr(this.modelId))throw new o.InvalidArgumentError({argument:"modelId",message:`Model '${this.modelId}' does not support streaming transcription. Use a live model such as 'gemini-3.5-transcribe-live'.`});let a=null!=(u=null==(s=null==(l=this.config._internal)?void 0:l.currentDate)?void 0:s.call(l))?u:new Date,i=await this.parseOptions(e.providerOptions);var l,s,u,d,c,h,m,g,f,y=e.inputAudioFormat;if("audio/pcm"!==y.type||null!=y.rate&&16e3!==y.rate)throw new o.InvalidArgumentError({argument:"inputAudioFormat",message:"The Gemini Live transcription API only supports 16kHz 16-bit PCM input audio."});let v=(0,t.combineHeaders)(this.config.headers?await (0,t.resolve)(this.config.headers):void 0,e.headers);for(let[e,t]of Object.entries(v))"x-goog-api-key"===e.toLowerCase()&&null!=t&&(r=t);if(null==r)throw Error("Google Generative AI API key is required for streaming transcription.");let b=Object.fromEntries(Object.entries(v).filter(([e])=>"x-goog-api-key"!==e.toLowerCase())),_={model:p(this.modelId),inputAudioTranscription:null!=(d=function(e){if(null==e)return;let t={};return null!=e.languageCodes&&(t.languageCodes=e.languageCodes),null!=e.customVocabulary&&(t.customVocabulary=e.customVocabulary),null!=e.wordTimestamp&&(t.wordTimestamp=e.wordTimestamp),null!=e.diarization&&(t.diarization=e.diarization),null!=e.mode&&(t.mode=e.mode),Object.keys(t).length>0?t:void 0}(i))?d:{}};return{request:{body:_},response:{timestamp:a,modelId:this.modelId},stream:function({webSocket:e,url:o,headers:r,setup:n,inputAudioRate:a,finishGraceMs:i,warnings:l,audio:s,abortSignal:u,includeRawChunks:d}){let c=!1,p=()=>{};return new ReadableStream({start:h=>{let m,g,f,y,v,b,_=new Promise(e=>{f=e}),w=0,z="",x="",T="",k=!1,I=()=>`google-segment-${w}`,S=()=>{null!=b&&(clearTimeout(b),b=void 0)},C=()=>{!c&&k&&(S(),b=setTimeout(()=>{b=void 0,O()},i))};p=e=>{S(),null!=m?m.cancel().catch(()=>{}):s.cancel().catch(()=>{}),null==g||g.close(e)};let E=e=>{c||(c=!0,p(),h.error(e))},A=()=>{if(""===z){if(""===T)return;z=T}T="",h.enqueue({type:"transcript-final",id:I(),text:z}),x+=""===x?z:` ${z}`,z="",w++},O=()=>{c||(A(),c=!0,h.enqueue({type:"finish",text:x,segments:[],language:y,durationInSeconds:void 0,...null!=v?{providerMetadata:{google:{usageMetadata:v}}}:{}}),h.close(),p(1e3))},M=async e=>{m=s.getReader();try{for(;;){let{done:o,value:r}=await m.read();if(o||c)break;e.send(JSON.stringify({realtimeInput:{audio:{data:(0,t.convertToBase64)(r),mimeType:`audio/pcm;rate=${a}`}}})),await (0,t.waitForWebSocketBufferDrain)(e)}}finally{m.releaseLock(),m=void 0}c||(e.send(JSON.stringify({realtimeInput:{audioStreamEnd:!0}})),k=!0,C())};g=(0,t.connectToWebSocket)({url:o,headers:r,webSocket:e,abortSignal:u,onAbort:E,onProcessingError:E,onOpen:e=>{h.enqueue({type:"stream-start",warnings:l}),e.send(JSON.stringify({setup:n})),_.then(()=>c?void 0:M(e)).catch(E)},onMessageText:async e=>{var o,r;if(c)return;let n=await (0,t.safeParseJSON)({text:e});if(!n.success)return;let a=n.value;if(d&&h.enqueue({type:"raw",rawValue:a}),null!=a.setupComplete&&f(),null!=a.usageMetadata&&(v=a.usageMetadata),null!=a.error)return void E(Error(null!=(o=a.error.message)?o:"Google Live API error"));let i=a.serverContent,l=null==i?void 0:i.interimInputTranscription;(null==l?void 0:l.text)&&(C(),T=l.text,h.enqueue({type:"transcript-partial",id:I(),text:l.text}));let s=null!=(r=null==i?void 0:i.inputTranscription)?r:a.inputTranscription;null!=s&&(null!=s.languageCode&&(y=s.languageCode),s.text&&(C(),T="",z+=s.text,h.enqueue({type:"transcript-delta",id:I(),delta:s.text})),!0===s.finished&&A()),(null==i?void 0:i.turnComplete)&&A();let u=null==i?void 0:i.interactionStatus;k&&("IDLE"===u||"REQUIRES_ACTION"===u||(null==i?void 0:i.turnComplete)===!0&&null==u)&&O()},onSocketError:()=>{E(Error("Google Live transcription error"))},onClose:({code:e,reason:t})=>{if(!c){if(k)return void O();E(Error(`Google Live transcription WebSocket closed unexpectedly before finishing (code ${null!=e?e:"unknown"}${t?`, reason: ${t}`:""}).`))}}})},cancel:()=>{c||(c=!0,p())}})}({webSocket:this.config.webSocket,url:(g=this.config.baseURL,f=r,(n=e9(g,"google.ai.generativelanguage.v1beta.GenerativeService.BidiGenerateContent")).searchParams.set("key",f),n),headers:b,setup:_,inputAudioRate:null!=(c=e.inputAudioFormat.rate)?c:16e3,finishGraceMs:null!=(m=null==(h=this.config._internal)?void 0:h.finishGraceMs)?m:3e3,warnings:[],audio:e.audio,abortSignal:e.abortSignal,includeRawChunks:e.includeRawChunks})}}};function ta(e){if(null==e)return;let t=Number.parseFloat(e);return Number.isFinite(t)?t:void 0}var ti=n.z.object({type:n.z.string().nullish(),text:n.z.string().nullish(),speaker:n.z.string().nullish(),start_offset:n.z.string().nullish(),end_offset:n.z.string().nullish()}),tl=n.z.object({status:n.z.string().nullish(),steps:n.z.array(n.z.object({type:n.z.string().nullish(),content:n.z.array(n.z.object({type:n.z.string().nullish(),text:n.z.string().nullish(),annotations:n.z.array(ti).nullish()})).nullish()})).nullish(),usage:n.z.record(n.z.string(),n.z.unknown()).nullish()}),ts=(0,t.lazySchema)(()=>(0,t.zodSchema)(n.z.object({echoTargetLanguage:n.z.boolean().optional()}))),tu=class e{constructor(e,t){this.specificationVersion="v4",this.modelId=e,this.config=t}static[r.WORKFLOW_SERIALIZE](e){return(0,t.serializeModelOptions)({modelId:e.modelId,config:e.config})}static[r.WORKFLOW_DESERIALIZE](t){return new e(t.modelId,t.config)}get provider(){return this.config.provider}async doStream(e){var r,n,a,i,l,s,u,d;let c,h;if(null==e.targetLanguage)throw new o.InvalidArgumentError({argument:"targetLanguage",message:`targetLanguage is required for translation model '${this.modelId}'.`});let m=null!=(a=null==(n=null==(r=this.config._internal)?void 0:r.currentDate)?void 0:n.call(r))?a:new Date,g=await (0,t.parseProviderOptions)({provider:"google",providerOptions:e.providerOptions,schema:ts}),f=[];(function(e){if("audio/pcm"!==e.type||null!=e.rate&&16e3!==e.rate)throw new o.InvalidArgumentError({argument:"inputAudioFormat",message:"The Gemini Live translation API only supports 16kHz 16-bit PCM input audio."})})(e.inputAudioFormat),null!=e.sourceLanguage&&f.push({type:"unsupported",feature:"sourceLanguage",details:"The Gemini Live translation API auto-detects the source language and does not accept a source language."}),null!=e.outputAudioFormat&&f.push({type:"unsupported",feature:"outputAudioFormat",details:"The Gemini Live API always outputs 24kHz 16-bit PCM audio and does not accept an output audio format."});let y=(0,t.combineHeaders)(this.config.headers(),e.headers);for(let[e,t]of Object.entries(y))"x-goog-api-key"===e.toLowerCase()&&null!=t&&(c=t);if(null==c)throw Error("Google Generative AI API key is required for streaming translation.");let v=Object.fromEntries(Object.entries(y).filter(([e])=>"x-goog-api-key"!==e.toLowerCase())),b=function({modelId:e,targetLanguage:t,providerOptions:o}){return{model:p(e),generationConfig:{responseModalities:["AUDIO"],translationConfig:{targetLanguageCode:t,...(null==o?void 0:o.echoTargetLanguage)!=null?{echoTargetLanguage:o.echoTargetLanguage}:{}}},inputAudioTranscription:{},outputAudioTranscription:{}}}({modelId:this.modelId,targetLanguage:e.targetLanguage,providerOptions:g});return{request:{body:b},response:{timestamp:m,modelId:this.modelId},stream:function({webSocket:e,url:o,headers:r,setup:n,inputAudioRate:a,finishGraceMs:i,warnings:l,audio:s,abortSignal:u,includeRawChunks:d}){let c=!1,p=()=>{};return new ReadableStream({start:h=>{let m,g,f,y,v,b=new Promise(e=>{f=e}),_=0,w="",z="",x="",T="",k=!1,I=!1,S=!1,C=0,E=()=>`google-item-${_}`,A=()=>{null!=v&&(clearTimeout(v),v=void 0)},O=()=>{c||null!=v||(v=setTimeout(()=>{v=void 0,R()},i))},M=()=>{I=!0,C=0,A()};p=e=>{A(),null!=m?m.cancel().catch(()=>{}):s.cancel().catch(()=>{}),null==g||g.close(e)};let j=e=>{c||(c=!0,p(),h.error(e))},R=()=>{c||((""!==z||""!==T)&&N(),c=!0,h.enqueue({type:"finish",sourceText:w,outputText:x,usage:y}),h.close(),p(1e3))},N=()=>{""!==z&&(h.enqueue({type:"source-transcript-final",id:E(),text:z}),w+=z,z=""),""!==T&&(h.enqueue({type:"output-text-final",id:E(),text:T}),x+=T,T=""),_++},P=async e=>{m=s.getReader();try{for(;;){let{done:o,value:r}=await m.read();if(o||c)break;e.send(JSON.stringify({realtimeInput:{audio:{data:(0,t.convertToBase64)(r),mimeType:`audio/pcm;rate=${a}`}}})),await (0,t.waitForWebSocketBufferDrain)(e)}}finally{m.releaseLock(),m=void 0}c||(e.send(JSON.stringify({realtimeInput:{audioStreamEnd:!0}})),k=!0,S&&!I&&O())};g=(0,t.connectToWebSocket)({url:o,headers:r,webSocket:e,abortSignal:u,onAbort:j,onProcessingError:j,onOpen:e=>{h.enqueue({type:"stream-start",warnings:l}),e.send(JSON.stringify({setup:n})),b.then(()=>c?void 0:P(e)).catch(j)},onMessageText:async e=>{var o,r,n,a,l,s,u,p,m;if(c)return;let g=await (0,t.safeParseJSON)({text:e});if(!g.success)return;let v=g.value;if(d&&h.enqueue({type:"raw",rawValue:v}),null!=v.setupComplete&&f(),null!=v.usageMetadata&&(y=function(e,t){var o,r;let n=null==e?void 0:e.inputAudioTokens,a=null==e?void 0:e.outputAudioTokens;for(let e of null!=(o=t.promptTokensDetails)?o:[])"AUDIO"===e.modality&&null!=e.tokenCount&&(n=(null!=n?n:0)+e.tokenCount);for(let e of null!=(r=t.responseTokensDetails)?r:[])"AUDIO"===e.modality&&null!=e.tokenCount&&(a=(null!=a?a:0)+e.tokenCount);return null==n&&null==a?e:{...e,...null!=n?{inputAudioTokens:n}:{},...null!=a?{outputAudioTokens:a}:{}}}(y,v.usageMetadata)),null!=v.error)return void j(Error(null!=(o=v.error.message)?o:"Google Live API error"));let b=null!=(l=null==(n=null==(r=v.serverContent)?void 0:r.inputTranscription)?void 0:n.text)?l:null==(a=v.inputTranscription)?void 0:a.text;b&&(M(),z+=b,h.enqueue({type:"source-transcript-delta",id:E(),delta:b}));let _=v.serverContent;if(null!=_){for(let e of null!=(u=null==(s=_.modelTurn)?void 0:s.parts)?u:[])if(null==(p=e.inlineData)?void 0:p.data){h.enqueue({type:"audio",id:E(),audio:e.inlineData.data});let o=function(e){let o;try{o=(0,t.convertBase64ToUint8Array)(e)}catch(e){return}if(o.byteLength<2)return;let r=new DataView(o.buffer,o.byteOffset,o.byteLength),n=Math.floor(o.byteLength/2);for(let e=0;e<n;e++)if(Math.abs(r.getInt16(2*e,!0))>128)return;return n/24e3*1e3}(e.inlineData.data);if(k&&null!=o){if((C+=o)>=i)return void R()}else M()}(null==(m=_.outputTranscription)?void 0:m.text)&&(M(),T+=_.outputTranscription.text,h.enqueue({type:"output-text-delta",id:E(),delta:_.outputTranscription.text})),_.turnComplete&&(N(),I=!1,S=!0,k&&O())}},onSocketError:()=>{j(Error("Google Live translation error"))},onClose:({code:e,reason:t})=>{if(!c){if(null!=v)return void R();j(Error(`Google Live translation WebSocket closed unexpectedly before finishing (code ${null!=e?e:"unknown"}${t?`, reason: ${t}`:""}).`))}}})},cancel:()=>{c||(c=!0,p())}})}({webSocket:this.config.webSocket,url:(u=this.config.baseURL,d=c,(h=e9(u,"google.ai.generativelanguage.v1beta.GenerativeService.BidiGenerateContent")).searchParams.set("key",d),h),headers:v,setup:b,inputAudioRate:null!=(i=e.inputAudioFormat.rate)?i:16e3,finishGraceMs:null!=(s=null==(l=this.config._internal)?void 0:l.finishGraceMs)?s:1e3,warnings:f,audio:e.audio,abortSignal:e.abortSignal,includeRawChunks:e.includeRawChunks})}}},td=/^https:\/\/generativelanguage\.googleapis\.com\/v1beta\/files\/.*$/,tc=["text/html","text/css","text/plain","text/xml","text/csv","text/rtf","text/javascript","application/json","application/pdf","image/bmp","image/jpeg","image/png","image/webp","video/mp4","video/mpeg","video/quicktime","video/avi","video/x-flv","video/mpg","video/webm","video/wmv","video/3gpp"],tp=/^https:\/\/.*$/;function th(e={}){var o,r;let n=null!=(o=(0,t.withoutTrailingSlash)(e.baseURL))?o:"https://generativelanguage.googleapis.com/v1beta",a=null!=(r=e.name)?r:"google.generative-ai",i=()=>(0,t.withUserAgentSuffix)({"x-goog-api-key":(0,t.loadApiKey)({apiKey:e.apiKey,environmentVariableName:"GOOGLE_GENERATIVE_AI_API_KEY",description:"Google Generative AI"}),...e.headers},"ai-sdk/google/4.0.64"),l=o=>{var r;return new Z(o,{provider:a,baseURL:n,headers:i,generateId:null!=(r=e.generateId)?r:t.generateId,supportedUrls:()=>({"*":[td,RegExp(`^${n}/files/.*$`),RegExp("^https://(?:www\\.)?youtube\\.com/watch\\?v=[\\w-]+(?:&[\\w=&.-]*)?$"),RegExp("^https://youtu\\.be/[\\w-]+(?:\\?[\\w=&.-]*)?$")],.../(^|\/)gemini-/.test(o)&&!/(^|\/)gemini-2\.0/.test(o)?Object.fromEntries(tc.map(e=>[e,[tp]])):{}}),fetch:e.fetch})},s=t=>new u(t,{provider:a,baseURL:n,headers:i,fetch:e.fetch}),d=(t,o={})=>new ed(t,o,{provider:a,baseURL:n,headers:i,fetch:e.fetch}),c=o=>{var r;return new ey(o,{provider:a,baseURL:n,headers:i,fetch:e.fetch,generateId:null!=(r=e.generateId)?r:t.generateId})},p=t=>new tt(t,{provider:`${a}.realtime`,baseURL:n,headers:i,fetch:e.fetch}),h=t=>new tu(t,{provider:`${a}.speech-translation`,baseURL:n,headers:i,webSocket:e.webSocket}),m=t=>new eT(t,{provider:`${a}.speech`,baseURL:n,headers:i,fetch:e.fetch}),g=t=>new tn(t,{provider:`${a}.transcription`,baseURL:n,headers:i,fetch:e.fetch,webSocket:e.webSocket}),f=Object.assign(e=>p(e),{getToken:async e=>{let t=p(e.model),o=await t.doCreateClientSecret({sessionConfig:e.sessionConfig,expiresAfterSeconds:e.expiresAfterSeconds});return{token:o.token,url:o.url,expiresAt:o.expiresAt}}}),y=function(e){if(new.target)throw Error("The Google Generative AI model function cannot be called with the new keyword.");return l(e)};return y.specificationVersion="v4",y.languageModel=l,y.chat=l,y.generativeAI=l,y.embedding=s,y.embeddingModel=s,y.textEmbedding=s,y.textEmbeddingModel=s,y.image=d,y.imageModel=d,y.video=c,y.videoModel=c,y.experimental_realtime=f,y.files=()=>new ep({provider:a,baseURL:n,headers:i,fetch:e.fetch}),y.speech=m,y.speechModel=m,y.transcription=g,y.transcriptionModel=g,y.translation=h,y.speechTranslationModel=h,y.interactions=o=>{var r;return new e3(o,{provider:`${a}.interactions`,baseURL:n,headers:i,generateId:null!=(r=e.generateId)?r:t.generateId,fetch:e.fetch})},y.tools=es,y}th(),e.s(["createGoogleGenerativeAI",0,th])},970354,e=>{"use strict";var t,o=e.i(691296),r=e.i(548874),n=e.i(853205),a=e.i(296194),i=n.z.object({error:n.z.object({message:n.z.string(),type:n.z.string().nullish(),param:n.z.any().nullish(),code:n.z.union([n.z.string(),n.z.number()]).nullish()})}),l=(0,o.createJsonErrorResponseHandler)({errorSchema:i,errorToMessage:e=>e.error.message});function s(e){var t,o,r,n,a,i;let l,s=(i=e,null==(l=/^o(\d+)(?:-|$)/.exec(i))?void 0:Number(l[1])),u=function(e){let t=/^gpt-(\d+)(?:\.(\d+))?(?:-(.+))?$/.exec(e);if(null!=t)return{major:Number(t[1]),minor:null==t[2]?void 0:Number(t[2]),variant:t[3]}}(e),d=(null==u?void 0:u.minor)==null&&null!=(o=null==(t=null==u?void 0:u.variant)?void 0:t.startsWith("chat"))&&o,c=null!=(n=null==(r=null==u?void 0:u.variant)?void 0:r.startsWith("nano"))&&n,p=null!=u&&u.major>=6,h=null!=s&&s>=3||null!=u&&u.major>=5&&!d,m=e.startsWith("gpt-4")||null!=u&&u.major>=5&&!c&&!d||null!=s&&s>=3,g=null!=s||null!=u&&u.major>=5&&!d,f=!p&&null!=u&&(u.major>5||5===u.major&&(null!=(a=u.minor)?a:0)>=1);return{supportsFlexProcessing:h,supportsPriorityProcessing:m,supportsConfigurationUpdate:p,supportedReasoningEfforts:p?["low","medium","high","xhigh","max"]:void 0,isReasoningModel:g,systemMessageMode:g?"developer":"system",supportsNonReasoningParameters:f}}function u(e){var t,r;let n=function(e){var t;let o=h(e);if(null==o)return;if("response.failed"===o.type){let e=h(o.response),t=h(null==e?void 0:e.error);return"string"==typeof(null==t?void 0:t.message)?{message:t.message,code:m(t.code),type:"response.failed"}:void 0}let r=null!=(t=h(o.error))?t:o;return"string"==typeof r.message&&(null!=h(o.error)||"string"==typeof r.type||"code"in r||"param"in r)?{message:r.message,code:m(r.code),type:"string"==typeof r.type?r.type:void 0}:void 0}(e);if(null==n)return;let a=function(e){var t,o;let r,n="number"==typeof(r="string"==typeof(t=e.code)&&/^\d{3}$/.test(t)?Number(t):t)&&Number.isInteger(o=r)&&o>=400&&o<=599?r:void 0;if(null!=n)return n;let a=[e.code,e.type].filter(e=>"string"==typeof e||"number"==typeof e).join(" ").toLowerCase();return["insufficient_quota","rate_limit"].some(e=>a.includes(e))?429:a.includes("authentication")?401:a.includes("permission")?403:a.includes("not_found")?404:["invalid","bad_request","context_length"].some(e=>a.includes(e))?400:a.includes("overload")?503:a.includes("timeout")?504:500}(n);return(0,o.createProviderStreamError)({message:n.message,type:null!=(t=n.type)?t:void 0,code:null!=(r=n.code)?r:void 0,statusCode:a,isRetryable:function(e,t){return"insufficient_quota"!==e.code&&"insufficient_quota"!==e.type&&(408===t||409===t||429===t||t>=500)}(n,a),data:e})}async function d({stream:e,getError:t,isOutputChunk:o,isAcceptedChunk:r,acceptedGraceMs:n=50,url:i,requestBodyValues:l,responseHeaders:s}){let[h,m]=e.tee(),g=h.getReader(),f=!1;try{let e=!1;for(;;){let d;if(e){let e=await p(g.read(),n);if(e.timedOut)return m;d=e.value}else d=await g.read();if(d.done)return m;let h=d.value;if(!h.success)return m;let y=t(h.value);if(null!=y)throw f=!0,c(g).catch(()=>{}),c(m.getReader()).catch(()=>{}),function({frame:e,url:t,requestBodyValues:o,responseHeaders:r}){var n,i;let l=u(e);return new a.APICallError({message:null!=(n=null==l?void 0:l.message)?n:"OpenAI stream failed before any output was generated",url:t,requestBodyValues:o,statusCode:null!=(i=null==l?void 0:l.statusCode)?i:500,responseHeaders:r,responseBody:JSON.stringify(e),data:e,isRetryable:null==l?void 0:l.isRetryable})}({frame:y,url:i,requestBodyValues:l,responseHeaders:s});if(o(h.value))return m;e||(null==r?void 0:r(h.value))!==!0||(e=!0)}}finally{f||(g.cancel().catch(()=>{}),g.releaseLock())}}async function c(e){try{for(;!(await e.read()).done;);}catch(e){}finally{e.releaseLock()}}async function p(e,t){let o,r=e.then(e=>({timedOut:!1,value:e}));try{let e=await Promise.race([r,new Promise(e=>{o=setTimeout(()=>e({timedOut:!0}),t)})]);return e.timedOut&&r.catch(()=>{}),e}finally{clearTimeout(o)}}function h(e){return"object"==typeof e&&null!=e?e:void 0}function m(e){return"string"==typeof e||"number"==typeof e?e:void 0}function g(e){var t,r,n,a,i,l,s,u;if(null==e)return(0,o.createNullLanguageModelUsage)();let d=null!=(t=e.prompt_tokens)?t:0,c=null!=(r=e.completion_tokens)?r:0,p=null!=(a=null==(n=e.prompt_tokens_details)?void 0:n.cached_tokens)?a:0,h=null!=(l=null==(i=e.prompt_tokens_details)?void 0:i.cache_write_tokens)?l:void 0,m=null!=(u=null==(s=e.completion_tokens_details)?void 0:s.reasoning_tokens)?u:0;return{inputTokens:{total:d,noCache:d-p-(null!=h?h:0),cacheRead:p,cacheWrite:h},outputTokens:{total:c,text:Math.max(0,c-m),reasoning:m},raw:e}}function f(e){var t;return null==(t=null==e?void 0:e.openai)?void 0:t.promptCacheBreakpoint}function y({id:e,model:t,created:r}){return(0,o.createLanguageModelResponseMetadata)({id:e,model:t,created:r||void 0})}function v(e){switch(e){case"stop":return"stop";case"length":return"length";case"content_filter":return"content-filter";case"function_call":case"tool_calls":return"tool-calls";default:return"other"}}var b=(0,o.lazySchema)(()=>(0,o.zodSchema)(n.z.object({id:n.z.string().nullish(),created:n.z.number().nullish(),model:n.z.string().nullish(),choices:n.z.array(n.z.object({message:n.z.object({role:n.z.literal("assistant").nullish(),content:n.z.string().nullish(),tool_calls:n.z.array(n.z.object({id:n.z.string().nullish(),type:n.z.literal("function"),function:n.z.object({name:n.z.string(),arguments:n.z.string()})})).nullish(),annotations:n.z.array(n.z.object({type:n.z.literal("url_citation"),url_citation:n.z.object({start_index:n.z.number(),end_index:n.z.number(),url:n.z.string(),title:n.z.string()})})).nullish()}),index:n.z.number(),logprobs:n.z.object({content:n.z.array(n.z.object({token:n.z.string(),logprob:n.z.number(),top_logprobs:n.z.array(n.z.object({token:n.z.string(),logprob:n.z.number()}))})).nullish()}).nullish(),finish_reason:n.z.string().nullish()})),usage:n.z.object({prompt_tokens:n.z.number().nullish(),completion_tokens:n.z.number().nullish(),total_tokens:n.z.number().nullish(),prompt_tokens_details:n.z.object({cached_tokens:n.z.number().nullish(),cache_write_tokens:n.z.number().nullish()}).nullish(),completion_tokens_details:n.z.object({reasoning_tokens:n.z.number().nullish(),accepted_prediction_tokens:n.z.number().nullish(),rejected_prediction_tokens:n.z.number().nullish()}).nullish()}).nullish()}))),_=(0,o.lazySchema)(()=>(0,o.zodSchema)(n.z.union([n.z.object({id:n.z.string().nullish(),created:n.z.number().nullish(),model:n.z.string().nullish(),choices:n.z.array(n.z.object({delta:n.z.object({role:n.z.enum(["assistant"]).nullish(),content:n.z.string().nullish(),tool_calls:n.z.array(n.z.object({index:n.z.number(),id:n.z.string().nullish(),type:n.z.literal("function").nullish(),function:n.z.object({name:n.z.string().nullish(),arguments:n.z.string().nullish()})})).nullish(),annotations:n.z.array(n.z.object({type:n.z.literal("url_citation"),url_citation:n.z.object({start_index:n.z.number(),end_index:n.z.number(),url:n.z.string(),title:n.z.string()})})).nullish()}).nullish(),logprobs:n.z.object({content:n.z.array(n.z.object({token:n.z.string(),logprob:n.z.number(),top_logprobs:n.z.array(n.z.object({token:n.z.string(),logprob:n.z.number()}))})).nullish()}).nullish(),finish_reason:n.z.string().nullish(),index:n.z.number()})),usage:n.z.object({prompt_tokens:n.z.number().nullish(),completion_tokens:n.z.number().nullish(),total_tokens:n.z.number().nullish(),prompt_tokens_details:n.z.object({cached_tokens:n.z.number().nullish(),cache_write_tokens:n.z.number().nullish()}).nullish(),completion_tokens_details:n.z.object({reasoning_tokens:n.z.number().nullish(),accepted_prediction_tokens:n.z.number().nullish(),rejected_prediction_tokens:n.z.number().nullish()}).nullish()}).nullish()}),i]))),w=(0,o.lazySchema)(()=>(0,o.zodSchema)(n.z.object({logitBias:n.z.record(n.z.coerce.number(),n.z.number()).optional(),logprobs:n.z.union([n.z.boolean(),n.z.number()]).optional(),parallelToolCalls:n.z.boolean().optional(),user:n.z.string().optional(),reasoningEffort:n.z.enum(["none","minimal","low","medium","high","xhigh","max"]).optional(),maxCompletionTokens:n.z.number().optional(),store:n.z.boolean().optional(),metadata:n.z.record(n.z.string().max(64),n.z.string().max(512)).optional(),prediction:n.z.record(n.z.string(),n.z.any()).optional(),serviceTier:n.z.enum(["auto","flex","priority","fast","ultrafast","default"]).optional(),strictJsonSchema:n.z.boolean().optional(),textVerbosity:n.z.enum(["low","medium","high"]).optional(),promptCacheKey:n.z.string().optional(),promptCacheOptions:n.z.object({mode:n.z.enum(["implicit","explicit"]).optional(),ttl:n.z.literal("30m").optional()}).optional(),promptCacheRetention:n.z.enum(["in_memory","24h"]).optional(),safetyIdentifier:n.z.string().optional(),systemMessageMode:n.z.enum(["system","developer","remove"]).optional(),forceReasoning:n.z.boolean().optional()}))),z=class e{constructor(e,t){this.specificationVersion="v4",this.supportedUrls={"image/*":[/^https?:\/\/.*$/]},this.modelId=e,this.config=t}static[r.WORKFLOW_SERIALIZE](e){return(0,o.serializeModelOptions)({modelId:e.modelId,config:e.config})}static[r.WORKFLOW_DESERIALIZE](t){return new e(t.modelId,t.config)}get provider(){return this.config.provider}async getArgs({prompt:e,maxOutputTokens:t,temperature:r,topP:n,topK:i,frequencyPenalty:l,presencePenalty:u,stopSequences:d,responseFormat:c,seed:p,tools:h,toolChoice:m,reasoning:g,providerOptions:y}){var v,b,_,z,x,T;let k=[],I=null!=(v=await (0,o.parseProviderOptions)({provider:"openai",providerOptions:y,schema:w}))?v:{},S=s(this.modelId),C=null!=(b=I.reasoningEffort)?b:(0,o.isCustomReasoning)(g)?g:void 0;null==C||null==S.supportedReasoningEfforts||S.supportedReasoningEfforts.includes(C)||(k.push({type:"unsupported",feature:"reasoningEffort",details:`${this.modelId} only supports the following reasoning efforts: ${S.supportedReasoningEfforts.join(", ")}`}),C=void 0);let E=null!=(_=I.forceReasoning)?_:S.isReasoningModel;null!=i&&k.push({type:"unsupported",feature:"topK"});let{messages:A,warnings:O}=function({prompt:e,systemMessageMode:t="system"}){var r,n,i;let l=[],s=[];for(let{role:u,content:d,providerOptions:c}of e)switch(u){case"system":switch(t){case"system":{let e=f(c);l.push({role:"system",content:null==e?d:[{type:"text",text:d,prompt_cache_breakpoint:e}]});break}case"developer":{let e=f(c);l.push({role:"developer",content:null==e?d:[{type:"text",text:d,prompt_cache_breakpoint:e}]});break}case"remove":s.push({type:"other",message:"system messages are removed for this model"});break;default:throw Error(`Unsupported system message mode: ${t}`)}break;case"user":if(1===d.length&&"text"===d[0].type&&null==f(d[0].providerOptions)){l.push({role:"user",content:d[0].text});break}l.push({role:"user",content:d.map((e,t)=>{var r,n,i;switch(e.type){case"text":{let t=f(e.providerOptions);return{type:"text",text:e.text,...null!=t&&{prompt_cache_breakpoint:t}}}case"file":{let l=f(e.providerOptions);switch(e.data.type){case"reference":return{type:"file",file:{file_id:(0,o.resolveProviderReference)({reference:e.data.reference,provider:"openai"})},...null!=l&&{prompt_cache_breakpoint:l}};case"text":throw new a.UnsupportedFunctionalityError({functionality:"text file parts"});case"url":case"data":{let s=(0,o.getTopLevelMediaType)(e.mediaType);if("image"===s)return{type:"image_url",image_url:{url:"url"===e.data.type?e.data.url.toString():`data:${(0,o.resolveFullMediaType)({part:e})};base64,${(0,o.convertToBase64)(e.data.data)}`,detail:null==(n=null==(r=e.providerOptions)?void 0:r.openai)?void 0:n.imageDetail},...null!=l&&{prompt_cache_breakpoint:l}};if("audio"===s){if("url"===e.data.type)throw new a.UnsupportedFunctionalityError({functionality:"audio file parts with URLs"});let t=(0,o.resolveFullMediaType)({part:e});switch(t){case"audio/wav":return{type:"input_audio",input_audio:{data:(0,o.convertToBase64)(e.data.data),format:"wav"},...null!=l&&{prompt_cache_breakpoint:l}};case"audio/mp3":case"audio/mpeg":return{type:"input_audio",input_audio:{data:(0,o.convertToBase64)(e.data.data),format:"mp3"},...null!=l&&{prompt_cache_breakpoint:l}};default:throw new a.UnsupportedFunctionalityError({functionality:`audio content parts with media type ${t}`})}}{let r=(0,o.resolveFullMediaType)({part:e});if("application/pdf"!==r)throw new a.UnsupportedFunctionalityError({functionality:`file part media type ${r}`});if("url"===e.data.type)throw new a.UnsupportedFunctionalityError({functionality:"PDF file parts with URLs"});return{type:"file",file:{filename:null!=(i=e.filename)?i:`part-${t}.pdf`,file_data:`data:application/pdf;base64,${(0,o.convertToBase64)(e.data.data)}`},...null!=l&&{prompt_cache_breakpoint:l}}}}}}}})});break;case"assistant":{let e="",t=[],o=!1,r=[];for(let n of d)switch(n.type){case"text":{let r=f(n.providerOptions);e+=n.text,t.push({type:"text",text:n.text,...null!=r&&{prompt_cache_breakpoint:r}}),o||(o=null!=r);break}case"tool-call":r.push({id:n.toolCallId,type:"function",function:{name:n.toolName,arguments:JSON.stringify("object"!=typeof(i=n.input)||null===i||Array.isArray(i)?{}:i)}})}l.push({role:"assistant",content:o?t:r.length>0?e||null:e,tool_calls:r.length>0?r:void 0});break}case"tool":for(let e of d){let t;if("tool-approval-response"===e.type)continue;let o=e.output,a=null!=(r="content"===o.type?o.value.map(e=>f(e.providerOptions)).find(e=>null!=e):f(o.providerOptions))?r:f(e.providerOptions);switch(o.type){case"text":case"error-text":t=o.value;break;case"execution-denied":t=null!=(n=o.reason)?n:"Tool call execution denied.";break;case"content":case"json":case"error-json":t=JSON.stringify(o.value)}l.push({role:"tool",tool_call_id:e.toolCallId,content:null==a?t:[{type:"text",text:t,prompt_cache_breakpoint:a}]})}break;default:throw Error(`Unsupported role: ${u}`)}return{messages:l,warnings:s}}({prompt:e,systemMessageMode:null!=(z=I.systemMessageMode)?z:E?"developer":S.systemMessageMode});k.push(...O);let M=null==(x=I.strictJsonSchema)||x,j={model:this.modelId,logit_bias:I.logitBias,logprobs:!0===I.logprobs||"number"==typeof I.logprobs||void 0,top_logprobs:"number"==typeof I.logprobs?I.logprobs:"boolean"==typeof I.logprobs&&I.logprobs?0:void 0,user:I.user,parallel_tool_calls:I.parallelToolCalls,max_tokens:t,temperature:r,top_p:n,frequency_penalty:l,presence_penalty:u,response_format:(null==c?void 0:c.type)==="json"?null!=c.schema?{type:"json_schema",json_schema:{schema:c.schema,strict:M,name:null!=(T=c.name)?T:"response",description:c.description}}:{type:"json_object"}:void 0,stop:d,seed:p,verbosity:I.textVerbosity,max_completion_tokens:I.maxCompletionTokens,store:I.store,metadata:I.metadata,prediction:I.prediction,reasoning_effort:C,service_tier:I.serviceTier,prompt_cache_key:I.promptCacheKey,prompt_cache_options:I.promptCacheOptions,prompt_cache_retention:I.promptCacheRetention,safety_identifier:I.safetyIdentifier,messages:A};null!=S.supportedReasoningEfforts&&null!=j.prompt_cache_retention&&(j.prompt_cache_retention=void 0,k.push({type:"unsupported",feature:"promptCacheRetention",details:"promptCacheRetention is not supported by GPT-6 and later models; use promptCacheOptions instead"})),E?("none"===C&&S.supportsNonReasoningParameters||(null!=j.temperature&&(j.temperature=void 0,k.push({type:"unsupported",feature:"temperature",details:"temperature is not supported for reasoning models"})),null!=j.top_p&&(j.top_p=void 0,k.push({type:"unsupported",feature:"topP",details:"topP is not supported for reasoning models"})),null!=j.logprobs&&(j.logprobs=void 0,k.push({type:"other",message:"logprobs is not supported for reasoning models"}))),null!=j.frequency_penalty&&(j.frequency_penalty=void 0,k.push({type:"unsupported",feature:"frequencyPenalty",details:"frequencyPenalty is not supported for reasoning models"})),null!=j.presence_penalty&&(j.presence_penalty=void 0,k.push({type:"unsupported",feature:"presencePenalty",details:"presencePenalty is not supported for reasoning models"})),null!=j.logit_bias&&(j.logit_bias=void 0,k.push({type:"other",message:"logitBias is not supported for reasoning models"})),null!=j.top_logprobs&&(j.top_logprobs=void 0,k.push({type:"other",message:"topLogprobs is not supported for reasoning models"})),null!=j.max_tokens&&(null==j.max_completion_tokens&&(j.max_completion_tokens=j.max_tokens),j.max_tokens=void 0)):(this.modelId.startsWith("gpt-4o-search-preview")||this.modelId.startsWith("gpt-4o-mini-search-preview"))&&null!=j.temperature&&(j.temperature=void 0,k.push({type:"unsupported",feature:"temperature",details:"temperature is not supported for the search preview models and has been removed."})),"flex"!==I.serviceTier||S.supportsFlexProcessing||(k.push({type:"unsupported",feature:"serviceTier",details:"flex processing is only available for o3, o4-mini, and gpt-5 models"}),j.service_tier=void 0),"priority"!==I.serviceTier&&"fast"!==I.serviceTier||S.supportsPriorityProcessing||(k.push({type:"unsupported",feature:"serviceTier",details:"priority processing is only available for supported models (gpt-4, gpt-5, gpt-5-mini, o3, o4-mini) and requires Enterprise access. gpt-5-nano is not supported"}),j.service_tier=void 0);let{tools:R,toolChoice:N,toolWarnings:P}=function({tools:e,toolChoice:t}){e=(null==e?void 0:e.length)?e:void 0;let o=[];if(null==e)return{tools:void 0,toolChoice:void 0,toolWarnings:o};let r=[];for(let t of e)"function"===t.type?r.push({type:"function",function:{name:t.name,description:t.description,parameters:t.inputSchema,...null!=t.strict?{strict:t.strict}:{}}}):o.push({type:"unsupported",feature:`tool type: ${t.type}`});if(null==t)return{tools:r,toolChoice:void 0,toolWarnings:o};let n=t.type;switch(n){case"auto":case"none":case"required":return{tools:r,toolChoice:n,toolWarnings:o};case"tool":return{tools:r,toolChoice:{type:"function",function:{name:t.toolName}},toolWarnings:o};default:throw new a.UnsupportedFunctionalityError({functionality:`tool choice type: ${n}`})}}({tools:h,toolChoice:m});return{args:{...j,tools:R,tool_choice:N},warnings:[...k,...P]}}async doGenerate(e){var t,r,n,a,i,s,u;let{args:d,warnings:c}=await this.getArgs(e),{responseHeaders:p,value:h,rawValue:m}=await (0,o.postJsonToApi)({url:this.config.url({path:"/chat/completions",modelId:this.modelId}),headers:(0,o.combineHeaders)(null==(r=(t=this.config).headers)?void 0:r.call(t),e.headers),body:d,failedResponseHandler:l,successfulResponseHandler:(0,o.createJsonResponseHandler)(b),abortSignal:e.abortSignal,fetch:this.config.fetch}),f=h.choices[0],_=[],w=f.message.content;for(let e of(null!=w&&w.length>0&&_.push({type:"text",text:w}),null!=(n=f.message.tool_calls)?n:[]))_.push({type:"tool-call",toolCallId:e.id||(0,o.generateId)(),toolName:e.function.name,input:e.function.arguments});for(let e of null!=(a=f.message.annotations)?a:[])_.push({type:"source",sourceType:"url",id:(0,o.generateId)(),url:e.url_citation.url,title:e.url_citation.title});let z=null==(i=h.usage)?void 0:i.completion_tokens_details,x={openai:{}};return(null==z?void 0:z.accepted_prediction_tokens)!=null&&(x.openai.acceptedPredictionTokens=null==z?void 0:z.accepted_prediction_tokens),(null==z?void 0:z.rejected_prediction_tokens)!=null&&(x.openai.rejectedPredictionTokens=null==z?void 0:z.rejected_prediction_tokens),(null==(s=f.logprobs)?void 0:s.content)!=null&&(x.openai.logprobs=f.logprobs.content),{content:_,finishReason:{unified:v(f.finish_reason),raw:null!=(u=f.finish_reason)?u:void 0},usage:g(h.usage),request:{body:d},response:{...y(h),headers:p,body:m},warnings:c,providerMetadata:x}}async doStream(e){var t,r;let n,a,{args:i,warnings:s}=await this.getArgs(e),c={...i,stream:!0,stream_options:{include_usage:!0}},p=this.config.url({path:"/chat/completions",modelId:this.modelId}),{responseHeaders:h,value:m}=await (0,o.postJsonToApi)({url:p,headers:(0,o.combineHeaders)(null==(r=(t=this.config).headers)?void 0:r.call(t),e.headers),body:c,failedResponseHandler:l,successfulResponseHandler:(0,o.createEventSourceResponseHandler)(_),abortSignal:e.abortSignal,fetch:this.config.fetch}),f=await d({stream:m,getError:e=>"error"in e?e.error:void 0,isOutputChunk:x,url:p,requestBodyValues:c,responseHeaders:h}),b={unified:"other",raw:void 0},w=!1,z=!1,T={openai:{}};return{stream:f.pipeThrough(new TransformStream({start(e){n=new o.StreamingToolCallTracker(e,{generateId:o.generateId,typeValidation:"if-present"}),e.enqueue({type:"stream-start",warnings:s})},transform(t,r){var i,l,s,d,c,p;if(e.includeRawChunks&&r.enqueue({type:"raw",rawValue:t.rawValue}),!t.success){b={unified:"error",raw:void 0},r.enqueue({type:"error",error:t.error});return}let h=t.value;if("error"in h){b={unified:"error",raw:void 0},r.enqueue({type:"error",error:null!=(i=u(h.error))?i:h.error});return}!w&&Object.values(y(h)).some(Boolean)&&(w=!0,r.enqueue({type:"response-metadata",...y(h)})),null!=h.usage&&(a=h.usage,(null==(l=h.usage.completion_tokens_details)?void 0:l.accepted_prediction_tokens)!=null&&(T.openai.acceptedPredictionTokens=null==(s=h.usage.completion_tokens_details)?void 0:s.accepted_prediction_tokens),(null==(d=h.usage.completion_tokens_details)?void 0:d.rejected_prediction_tokens)!=null&&(T.openai.rejectedPredictionTokens=null==(c=h.usage.completion_tokens_details)?void 0:c.rejected_prediction_tokens));let m=h.choices[0];if((null==m?void 0:m.finish_reason)!=null&&(b={unified:v(m.finish_reason),raw:m.finish_reason}),(null==(p=null==m?void 0:m.logprobs)?void 0:p.content)!=null&&(T.openai.logprobs=m.logprobs.content),(null==m?void 0:m.delta)==null)return;let g=m.delta;if(null!=g.content&&(z||(r.enqueue({type:"text-start",id:"0"}),z=!0),r.enqueue({type:"text-delta",id:"0",delta:g.content})),null!=g.tool_calls)for(let e of g.tool_calls)n.processDelta(e);if(null!=g.annotations)for(let e of g.annotations)r.enqueue({type:"source",sourceType:"url",id:(0,o.generateId)(),url:e.url_citation.url,title:e.url_citation.title})},flush(e){z&&e.enqueue({type:"text-end",id:"0"}),n.flush(),e.enqueue({type:"finish",finishReason:b,usage:g(a),...null!=T?{providerMetadata:T}:{}})}})),request:{body:c},response:{headers:h}}}};function x(e){return!("error"in e)&&e.choices.some(e=>{let t=e.delta;return(null==t?void 0:t.content)!=null&&t.content.length>0||(null==t?void 0:t.tool_calls)!=null&&t.tool_calls.length>0||(null==t?void 0:t.annotations)!=null&&t.annotations.length>0})}function T(e){var t,r,n,a;if(null==e)return(0,o.createNullLanguageModelUsage)();let i=null!=(t=e.prompt_tokens)?t:0,l=null!=(r=e.completion_tokens)?r:0;return{inputTokens:{total:null!=(n=e.prompt_tokens)?n:void 0,noCache:i,cacheRead:void 0,cacheWrite:void 0},outputTokens:{total:null!=(a=e.completion_tokens)?a:void 0,text:l,reasoning:void 0},raw:e}}function k(e){switch(e){case"stop":return"stop";case"length":return"length";case"content_filter":return"content-filter";case"function_call":case"tool_calls":return"tool-calls";default:return"other"}}var I=(0,o.lazySchema)(()=>(0,o.zodSchema)(n.z.object({id:n.z.string().nullish(),created:n.z.number().nullish(),model:n.z.string().nullish(),choices:n.z.array(n.z.object({text:n.z.string(),finish_reason:n.z.string(),logprobs:n.z.object({tokens:n.z.array(n.z.string()),token_logprobs:n.z.array(n.z.number()),top_logprobs:n.z.array(n.z.record(n.z.string(),n.z.number())).nullish()}).nullish()})),usage:n.z.object({prompt_tokens:n.z.number(),completion_tokens:n.z.number(),total_tokens:n.z.number()}).nullish()}))),S=(0,o.lazySchema)(()=>(0,o.zodSchema)(n.z.union([n.z.object({id:n.z.string().nullish(),created:n.z.number().nullish(),model:n.z.string().nullish(),choices:n.z.array(n.z.object({text:n.z.string(),finish_reason:n.z.string().nullish(),index:n.z.number(),logprobs:n.z.object({tokens:n.z.array(n.z.string()),token_logprobs:n.z.array(n.z.number()),top_logprobs:n.z.array(n.z.record(n.z.string(),n.z.number())).nullish()}).nullish()})),usage:n.z.object({prompt_tokens:n.z.number(),completion_tokens:n.z.number(),total_tokens:n.z.number()}).nullish()}),i]))),C=(0,o.lazySchema)(()=>(0,o.zodSchema)(n.z.object({echo:n.z.boolean().optional(),logitBias:n.z.record(n.z.string(),n.z.number()).optional(),suffix:n.z.string().optional(),user:n.z.string().optional(),logprobs:n.z.union([n.z.boolean(),n.z.number()]).optional()}))),E=class e{constructor(e,t){this.specificationVersion="v4",this.supportedUrls={},this.modelId=e,this.config=t}get providerOptionsName(){return this.config.provider.split(".")[0].trim()}static[r.WORKFLOW_SERIALIZE](e){return(0,o.serializeModelOptions)({modelId:e.modelId,config:e.config})}static[r.WORKFLOW_DESERIALIZE](t){return new e(t.modelId,t.config)}get provider(){return this.config.provider}async getArgs({prompt:e,maxOutputTokens:t,temperature:r,topP:n,topK:i,frequencyPenalty:l,presencePenalty:s,stopSequences:u,responseFormat:d,tools:c,toolChoice:p,seed:h,providerOptions:m}){let g=[],f={...await (0,o.parseProviderOptions)({provider:"openai",providerOptions:m,schema:C}),...await (0,o.parseProviderOptions)({provider:this.providerOptionsName,providerOptions:m,schema:C})};null!=i&&g.push({type:"unsupported",feature:"topK"}),(null==c?void 0:c.length)&&g.push({type:"unsupported",feature:"tools"}),null!=p&&g.push({type:"unsupported",feature:"toolChoice"}),null!=d&&"text"!==d.type&&g.push({type:"unsupported",feature:"responseFormat",details:"JSON response format is not supported."});let{prompt:y,stopSequences:v}=function({prompt:e,user:t="user",assistant:o="assistant"}){let r="";for(let{role:n,content:i}of("system"===e[0].role&&(r+=`${e[0].content}
|
|
44
|
+
|
|
45
|
+
`,e=e.slice(1)),e))switch(n){case"system":throw new a.InvalidPromptError({message:"Unexpected system message in prompt: ${content}",prompt:e});case"user":{let e=i.map(e=>{if("text"===e.type)return e.text}).filter(Boolean).join("");r+=`${t}:
|
|
46
|
+
${e}
|
|
47
|
+
|
|
48
|
+
`;break}case"assistant":{let e=i.map(e=>{switch(e.type){case"text":return e.text;case"tool-call":throw new a.UnsupportedFunctionalityError({functionality:"tool-call messages"})}}).join("");r+=`${o}:
|
|
49
|
+
${e}
|
|
50
|
+
|
|
51
|
+
`;break}case"tool":throw new a.UnsupportedFunctionalityError({functionality:"tool messages"});default:throw Error(`Unsupported role: ${n}`)}return{prompt:r+=`${o}:
|
|
52
|
+
`,stopSequences:[`
|
|
53
|
+
${t}:`]}}({prompt:e}),b=[...null!=v?v:[],...null!=u?u:[]];return{args:{model:this.modelId,echo:f.echo,logit_bias:f.logitBias,logprobs:(null==f?void 0:f.logprobs)===!0?0:(null==f?void 0:f.logprobs)===!1||null==f?void 0:f.logprobs,suffix:f.suffix,user:f.user,max_tokens:t,temperature:r,top_p:n,frequency_penalty:l,presence_penalty:s,seed:h,prompt:y,stop:b.length>0?b:void 0},warnings:g}}async doGenerate(e){var t,r,n;let{args:a,warnings:i}=await this.getArgs(e),{responseHeaders:s,value:u,rawValue:d}=await (0,o.postJsonToApi)({url:this.config.url({path:"/completions",modelId:this.modelId}),headers:(0,o.combineHeaders)(null==(r=(t=this.config).headers)?void 0:r.call(t),e.headers),body:a,failedResponseHandler:l,successfulResponseHandler:(0,o.createJsonResponseHandler)(I),abortSignal:e.abortSignal,fetch:this.config.fetch}),c=u.choices[0],p={openai:{}};return null!=c.logprobs&&(p.openai.logprobs=c.logprobs),{content:[{type:"text",text:c.text}],usage:T(u.usage),finishReason:{unified:k(c.finish_reason),raw:null!=(n=c.finish_reason)?n:void 0},request:{body:a},response:{...(0,o.createLanguageModelResponseMetadata)(u),headers:s,body:d},providerMetadata:p,warnings:i}}async doStream(e){var t,r;let n,{args:a,warnings:i}=await this.getArgs(e),s={...a,stream:!0,stream_options:{include_usage:!0}},c=this.config.url({path:"/completions",modelId:this.modelId}),{responseHeaders:p,value:h}=await (0,o.postJsonToApi)({url:c,headers:(0,o.combineHeaders)(null==(r=(t=this.config).headers)?void 0:r.call(t),e.headers),body:s,failedResponseHandler:l,successfulResponseHandler:(0,o.createEventSourceResponseHandler)(S),abortSignal:e.abortSignal,fetch:this.config.fetch}),m=await d({stream:h,getError:e=>"error"in e?e.error:void 0,isOutputChunk:A,url:c,requestBodyValues:s,responseHeaders:p}),g={unified:"other",raw:void 0},f={openai:{}},y=!0;return{stream:m.pipeThrough(new TransformStream({start(e){e.enqueue({type:"stream-start",warnings:i})},transform(t,r){var a;if(e.includeRawChunks&&r.enqueue({type:"raw",rawValue:t.rawValue}),!t.success){g={unified:"error",raw:void 0},r.enqueue({type:"error",error:t.error});return}let i=t.value;if("error"in i){g={unified:"error",raw:void 0},r.enqueue({type:"error",error:null!=(a=u(i.error))?a:i.error});return}y&&(y=!1,r.enqueue({type:"response-metadata",...(0,o.createLanguageModelResponseMetadata)(i)}),r.enqueue({type:"text-start",id:"0"})),null!=i.usage&&(n=i.usage);let l=i.choices[0];(null==l?void 0:l.finish_reason)!=null&&(g={unified:k(l.finish_reason),raw:l.finish_reason}),(null==l?void 0:l.logprobs)!=null&&(f.openai.logprobs=l.logprobs),(null==l?void 0:l.text)!=null&&l.text.length>0&&r.enqueue({type:"text-delta",id:"0",delta:l.text})},flush(e){y||e.enqueue({type:"text-end",id:"0"}),e.enqueue({type:"finish",finishReason:g,providerMetadata:f,usage:T(n)})}})),request:{body:s},response:{headers:p}}}};function A(e){return!("error"in e)&&e.choices.some(e=>e.text.length>0)}var O=(0,o.lazySchema)(()=>(0,o.zodSchema)(n.z.object({dimensions:n.z.number().optional(),user:n.z.string().optional()}))),M=(0,o.lazySchema)(()=>(0,o.zodSchema)(n.z.object({data:n.z.array(n.z.object({embedding:n.z.array(n.z.number())})),usage:n.z.object({prompt_tokens:n.z.number()}).nullish()}))),j=class e{constructor(e,o){this.specificationVersion="v4",this.maxEmbeddingsPerCall=2048,this[t]=3e5,this.supportsParallelCalls=!0,this.modelId=e,this.config=o}static[(t=o.EXPERIMENTAL_EMBEDDING_MODEL_MAX_INPUT_BYTES_PER_CALL,r.WORKFLOW_SERIALIZE)](e){return(0,o.serializeModelOptions)({modelId:e.modelId,config:e.config})}static[r.WORKFLOW_DESERIALIZE](t){return new e(t.modelId,t.config)}get provider(){return this.config.provider}async doEmbed({values:e,headers:t,abortSignal:r,providerOptions:n}){var i,s,u;if(e.length>this.maxEmbeddingsPerCall)throw new a.TooManyEmbeddingValuesForCallError({provider:this.provider,modelId:this.modelId,maxEmbeddingsPerCall:this.maxEmbeddingsPerCall,values:e});let d=null!=(i=await (0,o.parseProviderOptions)({provider:"openai",providerOptions:n,schema:O}))?i:{},{responseHeaders:c,value:p,rawValue:h}=await (0,o.postJsonToApi)({url:this.config.url({path:"/embeddings",modelId:this.modelId}),headers:(0,o.combineHeaders)(null==(u=(s=this.config).headers)?void 0:u.call(s),t),body:{model:this.modelId,input:e,encoding_format:"float",dimensions:d.dimensions,user:d.user},failedResponseHandler:l,successfulResponseHandler:(0,o.createJsonResponseHandler)(M),abortSignal:r,fetch:this.config.fetch});return{warnings:[],embeddings:p.data.map(e=>e.embedding),usage:p.usage?{tokens:p.usage.prompt_tokens}:void 0,response:{headers:c,body:h}}}},R=(0,o.lazySchema)(()=>(0,o.zodSchema)(n.z.object({id:n.z.string(),object:n.z.string().nullish(),bytes:n.z.number().nullish(),created_at:n.z.number().nullish(),filename:n.z.string().nullish(),purpose:n.z.string().nullish(),status:n.z.string().nullish(),expires_at:n.z.number().nullish()}))),N=(0,o.lazySchema)(()=>(0,o.zodSchema)(n.z.object({id:n.z.string(),object:n.z.string().nullish(),deleted:n.z.boolean()}))),P=(0,o.lazySchema)(()=>(0,o.zodSchema)(n.z.object({purpose:n.z.string().optional(),expiresAfter:n.z.number().optional()})));function $(e){let t=encodeURIComponent(e);return"."===t?"%252E":".."===t?"%252E%252E":t}var q=class{constructor(e){this.config=e,this.specificationVersion="v4"}get provider(){return this.config.provider}getFileId(e){let t=e.openai;if(null==t||""===t.trim())throw new a.InvalidArgumentError({argument:"file",message:"file reference is missing an 'openai' file id."});return t}getHeaders(e){return(0,o.combineHeaders)(this.config.headers(),e)}async uploadFile({data:e,mediaType:t,filename:r,abortSignal:n,headers:a,providerOptions:i}){var s,u,d;let c,p;try{c=await (0,o.parseProviderOptions)({provider:"openai",providerOptions:i,schema:P})}catch(t){throw"stream"===e.type&&await e.stream.cancel(t).catch(()=>{}),t}let h=null!=(s=null==c?void 0:c.purpose)?s:"assistants",m=this.getHeaders(a),g=`${this.config.baseURL}/files`;if("stream"===e.type){let a=[{type:"field",name:"purpose",value:h}];(null==c?void 0:c.expiresAfter)!=null&&a.push({type:"field",name:"expires_after[anchor]",value:"created_at"},{type:"field",name:"expires_after[seconds]",value:String(c.expiresAfter)}),a.push({type:"file",name:"file",filename:r,mediaType:t,content:e.stream}),{value:p}=await (0,o.postMultipartStreamToApi)({url:g,headers:m,parts:a,failedResponseHandler:l,successfulResponseHandler:(0,o.createJsonResponseHandler)(R),abortSignal:n,fetch:this.config.fetch})}else{let a=new Blob([(0,o.convertInlineFileDataToUint8Array)(e)],{type:t}),i=new FormData;null!=r?i.append("file",a,r):i.append("file",a),i.append("purpose",h),(null==c?void 0:c.expiresAfter)!=null&&(i.append("expires_after[anchor]","created_at"),i.append("expires_after[seconds]",String(c.expiresAfter))),{value:p}=await (0,o.postFormDataToApi)({url:g,headers:m,formData:i,failedResponseHandler:l,successfulResponseHandler:(0,o.createJsonResponseHandler)(R),abortSignal:n,fetch:this.config.fetch})}return{warnings:[],providerReference:{openai:p.id},...(null!=(u=p.filename)?u:r)?{filename:null!=(d=p.filename)?d:r}:{},...null!=t?{mediaType:t}:{},...null!=p.bytes?{byteSize:p.bytes}:{},...null!=p.created_at?{createdAt:new Date(1e3*p.created_at)}:{},...null!=p.expires_at?{expiresAt:new Date(1e3*p.expires_at)}:{},providerMetadata:{openai:this.toFileMetadata(p)}}}async getFileMetadata({file:e,abortSignal:t,headers:r}){let n=this.getFileId(e),{value:a}=await (0,o.getFromApi)({url:`${this.config.baseURL}/files/${$(n)}`,headers:this.getHeaders(r),failedResponseHandler:l,successfulResponseHandler:(0,o.createJsonResponseHandler)(R),abortSignal:t,fetch:this.config.fetch,validateUrl:!1});return{warnings:[],providerReference:{openai:a.id},...null!=a.filename?{filename:a.filename}:{},...null!=a.bytes?{byteSize:a.bytes}:{},...null!=a.created_at?{createdAt:new Date(1e3*a.created_at)}:{},...null!=a.expires_at?{expiresAt:new Date(1e3*a.expires_at)}:{},providerMetadata:{openai:this.toFileMetadata(a)}}}async downloadFile({file:e,abortSignal:t,headers:r}){var n;let a=this.getFileId(e),{value:i,responseHeaders:s}=await (0,o.getFromApi)({url:`${this.config.baseURL}/files/${$(a)}/content`,headers:this.getHeaders(r),failedResponseHandler:l,successfulResponseHandler:(0,o.createBinaryStreamResponseHandler)(),abortSignal:t,fetch:this.config.fetch,validateUrl:!1}),u=null==(n=null==s?void 0:s["content-type"])?void 0:n.split(";")[0].trim();return{warnings:[],content:i,...u?{mediaType:u}:{}}}async deleteFile({file:e,abortSignal:t,headers:r}){let n=this.getFileId(e),{value:a}=await (0,o.deleteFromApi)({url:`${this.config.baseURL}/files/${$(n)}`,headers:this.getHeaders(r),failedResponseHandler:l,successfulResponseHandler:(0,o.createJsonResponseHandler)(N),abortSignal:t,fetch:this.config.fetch});return{warnings:[],providerReference:{openai:a.id},deleted:a.deleted}}toFileMetadata(e){return{...null!=e.filename?{filename:e.filename}:{},...null!=e.purpose?{purpose:e.purpose}:{},...null!=e.bytes?{bytes:e.bytes}:{},...null!=e.created_at?{createdAt:e.created_at}:{},...null!=e.status?{status:e.status}:{},...null!=e.expires_at?{expiresAt:e.expires_at}:{}}}},L=(0,o.lazySchema)(()=>(0,o.zodSchema)(n.z.object({created:n.z.number().nullish(),data:n.z.array(n.z.object({b64_json:n.z.string(),revised_prompt:n.z.string().nullish()})),background:n.z.string().nullish(),output_format:n.z.string().nullish(),size:n.z.string().nullish(),quality:n.z.string().nullish(),usage:n.z.object({input_tokens:n.z.number().nullish(),output_tokens:n.z.number().nullish(),total_tokens:n.z.number().nullish(),input_tokens_details:n.z.object({image_tokens:n.z.number().nullish(),text_tokens:n.z.number().nullish()}).nullish()}).nullish()}))),D={"dall-e-3":1,"dall-e-2":10,"gpt-image-1":10,"gpt-image-1-mini":10,"gpt-image-1.5":10,"gpt-image-2":10,"chatgpt-image-latest":10},U=["chatgpt-image-","gpt-image-"],F=n.z.object({quality:n.z.enum(["standard","hd","low","medium","high","auto"]).optional(),background:n.z.enum(["transparent","opaque","auto"]).optional(),outputFormat:n.z.enum(["png","jpeg","webp"]).optional(),outputCompression:n.z.number().int().min(0).max(100).optional(),user:n.z.string().optional()});(0,o.lazySchema)(()=>(0,o.zodSchema)(F));var B=(0,o.lazySchema)(()=>(0,o.zodSchema)(F.extend({style:n.z.enum(["vivid","natural"]).optional(),moderation:n.z.enum(["auto","low"]).optional()}))),H=(0,o.lazySchema)(()=>(0,o.zodSchema)(F.extend({inputFidelity:n.z.enum(["high","low"]).optional()}))),W=class e{constructor(e,t){this.modelId=e,this.config=t,this.specificationVersion="v4"}static[r.WORKFLOW_SERIALIZE](e){return(0,o.serializeModelOptions)({modelId:e.modelId,config:e.config})}static[r.WORKFLOW_DESERIALIZE](t){return new e(t.modelId,t.config)}get maxImagesPerCall(){var e,t;return null!=(t=D[e=this.modelId])?t:e.startsWith("gpt-image-")?10:1}get provider(){return this.config.provider}async doGenerate({prompt:e,files:t,mask:r,n,size:a,aspectRatio:i,seed:s,providerOptions:u,headers:d,abortSignal:c}){var p,h,m,g,f,y,v,b,_,w,z,x,T,k,I,S;let C=[];null!=i&&C.push({type:"unsupported",feature:"aspectRatio",details:"This model does not support aspect ratio. Use `size` instead."}),null!=s&&C.push({type:"unsupported",feature:"seed"});let E=null!=(m=null==(h=null==(p=this.config._internal)?void 0:p.currentDate)?void 0:h.call(p))?m:new Date;if(null!=t){let i=null!=(g=await (0,o.parseProviderOptions)({provider:"openai",providerOptions:u,schema:H}))?g:{},{value:s,responseHeaders:p}=await (0,o.postFormDataToApi)({url:this.config.url({path:"/images/edits",modelId:this.modelId}),headers:(0,o.combineHeaders)(null==(y=(f=this.config).headers)?void 0:y.call(f),d),formData:(0,o.convertToFormData)({model:this.modelId,prompt:e,image:await Promise.all(t.map(e=>"file"===e.type?new Blob([e.data instanceof Uint8Array?new Blob([e.data],{type:e.mediaType}):new Blob([(0,o.convertBase64ToUint8Array)(e.data)],{type:e.mediaType})],{type:e.mediaType}):(0,o.downloadBlob)(e.url))),mask:null!=r?await J(r):void 0,n,size:a,quality:i.quality,background:i.background,output_format:i.outputFormat,output_compression:i.outputCompression,input_fidelity:i.inputFidelity,user:i.user}),failedResponseHandler:l,successfulResponseHandler:(0,o.createJsonResponseHandler)(L),abortSignal:c,fetch:this.config.fetch});return{images:s.data.map(e=>e.b64_json),warnings:C,usage:null!=s.usage?{inputTokens:null!=(v=s.usage.input_tokens)?v:void 0,outputTokens:null!=(b=s.usage.output_tokens)?b:void 0,totalTokens:null!=(_=s.usage.total_tokens)?_:void 0}:void 0,response:{timestamp:E,modelId:this.modelId,headers:p},providerMetadata:{openai:{images:s.data.map((e,t)=>{var o,r,n,a,i,l;return{...e.revised_prompt?{revisedPrompt:e.revised_prompt}:{},created:null!=(o=s.created)?o:void 0,size:null!=(r=s.size)?r:void 0,quality:null!=(n=s.quality)?n:void 0,background:null!=(a=s.background)?a:void 0,outputFormat:null!=(i=s.output_format)?i:void 0,...V(null==(l=s.usage)?void 0:l.input_tokens_details,t,s.data.length)}})}}}}let A=null!=(w=await (0,o.parseProviderOptions)({provider:"openai",providerOptions:u,schema:B}))?w:{},{value:O,responseHeaders:M}=await (0,o.postJsonToApi)({url:this.config.url({path:"/images/generations",modelId:this.modelId}),headers:(0,o.combineHeaders)(null==(x=(z=this.config).headers)?void 0:x.call(z),d),body:{model:this.modelId,prompt:e,n,size:a,quality:A.quality,style:A.style,background:A.background,moderation:A.moderation,output_format:A.outputFormat,output_compression:A.outputCompression,user:A.user,...(S=this.modelId,!U.some(e=>S.startsWith(e)))?{response_format:"b64_json"}:{}},failedResponseHandler:l,successfulResponseHandler:(0,o.createJsonResponseHandler)(L),abortSignal:c,fetch:this.config.fetch});return{images:O.data.map(e=>e.b64_json),warnings:C,usage:null!=O.usage?{inputTokens:null!=(T=O.usage.input_tokens)?T:void 0,outputTokens:null!=(k=O.usage.output_tokens)?k:void 0,totalTokens:null!=(I=O.usage.total_tokens)?I:void 0}:void 0,response:{timestamp:E,modelId:this.modelId,headers:M},providerMetadata:{openai:{images:O.data.map((e,t)=>{var o,r,n,a,i,l;return{...e.revised_prompt?{revisedPrompt:e.revised_prompt}:{},created:null!=(o=O.created)?o:void 0,size:null!=(r=O.size)?r:void 0,quality:null!=(n=O.quality)?n:void 0,background:null!=(a=O.background)?a:void 0,outputFormat:null!=(i=O.output_format)?i:void 0,...V(null==(l=O.usage)?void 0:l.input_tokens_details,t,O.data.length)}})}}}}};function V(e,t,o){if(null==e)return{};let r={};if(null!=e.image_tokens){let n=Math.floor(e.image_tokens/o),a=e.image_tokens-n*(o-1);r.imageTokens=t===o-1?a:n}if(null!=e.text_tokens){let n=Math.floor(e.text_tokens/o),a=e.text_tokens-n*(o-1);r.textTokens=t===o-1?a:n}return r}async function J(e){return e?"url"===e.type?(0,o.downloadBlob)(e.url):new Blob([e.data instanceof Uint8Array?e.data:(0,o.convertBase64ToUint8Array)(e.data)],{type:e.mediaType}):void 0}var K=(0,o.lazySchema)(()=>(0,o.zodSchema)(n.z.object({callId:n.z.string(),operation:n.z.discriminatedUnion("type",[n.z.object({type:n.z.literal("create_file"),path:n.z.string(),diff:n.z.string()}),n.z.object({type:n.z.literal("delete_file"),path:n.z.string()}),n.z.object({type:n.z.literal("update_file"),path:n.z.string(),diff:n.z.string()})])}))),G=(0,o.lazySchema)(()=>(0,o.zodSchema)(n.z.object({status:n.z.enum(["completed","failed"]),output:n.z.string().optional()})));(0,o.lazySchema)(()=>(0,o.zodSchema)(n.z.object({})));var Y=(0,o.createProviderDefinedToolFactoryWithOutputSchema)({id:"openai.apply_patch",inputSchema:K,outputSchema:G}),Z=(0,o.lazySchema)(()=>(0,o.zodSchema)(n.z.object({code:n.z.string().nullish(),containerId:n.z.string()}))),X=(0,o.lazySchema)(()=>(0,o.zodSchema)(n.z.object({outputs:n.z.array(n.z.discriminatedUnion("type",[n.z.object({type:n.z.literal("logs"),logs:n.z.string()}),n.z.object({type:n.z.literal("image"),url:n.z.string()})])).nullish()}))),Q=(0,o.lazySchema)(()=>(0,o.zodSchema)(n.z.object({container:n.z.union([n.z.string(),n.z.object({fileIds:n.z.array(n.z.string()).optional()})]).optional()}))),ee=(0,o.createProviderExecutedToolFactory)({id:"openai.code_interpreter",inputSchema:Z,outputSchema:X}),et=n.z.object({id:n.z.string(),code:n.z.string().optional(),message:n.z.string().optional()}),eo=n.z.discriminatedUnion("type",[n.z.object({type:n.z.literal("click"),button:n.z.enum(["left","right","wheel","back","forward"]),x:n.z.number(),y:n.z.number(),keys:n.z.array(n.z.string()).optional()}),n.z.object({type:n.z.literal("double_click"),x:n.z.number(),y:n.z.number(),keys:n.z.array(n.z.string()).optional()}),n.z.object({type:n.z.literal("drag"),path:n.z.array(n.z.object({x:n.z.number(),y:n.z.number()})),keys:n.z.array(n.z.string()).optional()}),n.z.object({type:n.z.literal("keypress"),keys:n.z.array(n.z.string())}),n.z.object({type:n.z.literal("move"),x:n.z.number(),y:n.z.number(),keys:n.z.array(n.z.string()).optional()}),n.z.object({type:n.z.literal("screenshot")}),n.z.object({type:n.z.literal("scroll"),x:n.z.number(),y:n.z.number(),scrollX:n.z.number(),scrollY:n.z.number(),keys:n.z.array(n.z.string()).optional()}),n.z.object({type:n.z.literal("type"),text:n.z.string()}),n.z.object({type:n.z.literal("wait")})]),er=(0,o.lazySchema)(()=>(0,o.zodSchema)(n.z.object({actions:n.z.array(eo),pendingSafetyChecks:n.z.array(et),status:n.z.enum(["in_progress","completed","incomplete"])}))),en=(0,o.lazySchema)(()=>(0,o.zodSchema)(n.z.object({output:n.z.union([n.z.object({type:n.z.literal("computer_screenshot"),imageUrl:n.z.string(),fileId:n.z.string().optional(),detail:n.z.enum(["auto","low","high","original"]).optional()}),n.z.object({type:n.z.literal("computer_screenshot"),fileId:n.z.string(),imageUrl:n.z.string().optional(),detail:n.z.enum(["auto","low","high","original"]).optional()})]),acknowledgedSafetyChecks:n.z.array(et).optional()}))),ea=(0,o.createProviderDefinedToolFactoryWithOutputSchema)({id:"openai.computer",inputSchema:er,outputSchema:en}),ei=(0,o.lazySchema)(()=>(0,o.zodSchema)(n.z.object({description:n.z.string().optional(),format:n.z.union([n.z.object({type:n.z.literal("grammar"),syntax:n.z.enum(["regex","lark"]),definition:n.z.string()}),n.z.object({type:n.z.literal("text")})]).optional()}))),el=(0,o.lazySchema)(()=>(0,o.zodSchema)(n.z.string())),es=(0,o.createProviderDefinedToolFactory)({id:"openai.custom",inputSchema:el}),eu=n.z.object({key:n.z.string(),type:n.z.enum(["eq","ne","gt","gte","lt","lte","in","nin"]),value:n.z.union([n.z.string(),n.z.number(),n.z.boolean(),n.z.array(n.z.string())])}),ed=n.z.object({type:n.z.enum(["and","or"]),filters:n.z.array(n.z.union([eu,n.z.lazy(()=>ed)]))}),ec=(0,o.lazySchema)(()=>(0,o.zodSchema)(n.z.object({vectorStoreIds:n.z.array(n.z.string()),maxNumResults:n.z.number().optional(),ranking:n.z.object({ranker:n.z.string().optional(),scoreThreshold:n.z.number().optional()}).optional(),filters:n.z.union([eu,ed]).optional()}))),ep=(0,o.lazySchema)(()=>(0,o.zodSchema)(n.z.object({queries:n.z.array(n.z.string()),results:n.z.array(n.z.object({attributes:n.z.record(n.z.string(),n.z.unknown()),fileId:n.z.string(),filename:n.z.string(),score:n.z.number(),text:n.z.string()})).nullable()}))),eh=(0,o.createProviderExecutedToolFactory)({id:"openai.file_search",inputSchema:n.z.object({}),outputSchema:ep}),em=(0,o.lazySchema)(()=>(0,o.zodSchema)(n.z.object({action:n.z.enum(["generate","edit","auto"]).optional(),background:n.z.enum(["auto","opaque","transparent"]).optional(),inputFidelity:n.z.enum(["low","high"]).optional(),inputImageMask:n.z.object({fileId:n.z.string().optional(),imageUrl:n.z.string().optional()}).optional(),model:n.z.string().optional(),moderation:n.z.enum(["auto","low"]).optional(),outputCompression:n.z.number().int().min(0).max(100).optional(),outputFormat:n.z.enum(["png","jpeg","webp"]).optional(),partialImages:n.z.number().int().min(0).max(3).optional(),quality:n.z.enum(["auto","low","medium","high"]).optional(),size:n.z.union([n.z.enum(["1024x1024","1024x1536","1536x1024","auto"]),n.z.string().regex(/^\d+x\d+$/)]).optional()}).strict())),eg=(0,o.lazySchema)(()=>(0,o.zodSchema)(n.z.object({}))),ef=(0,o.lazySchema)(()=>(0,o.zodSchema)(n.z.object({result:n.z.string()}))),ey=(0,o.createProviderExecutedToolFactory)({id:"openai.image_generation",inputSchema:eg,outputSchema:ef}),ev=(0,o.lazySchema)(()=>(0,o.zodSchema)(n.z.object({action:n.z.object({type:n.z.literal("exec"),command:n.z.array(n.z.string()),timeoutMs:n.z.number().optional(),user:n.z.string().optional(),workingDirectory:n.z.string().optional(),env:n.z.record(n.z.string(),n.z.string()).optional()})}))),eb=(0,o.lazySchema)(()=>(0,o.zodSchema)(n.z.object({output:n.z.string()}))),e_=(0,o.createProviderDefinedToolFactoryWithOutputSchema)({id:"openai.local_shell",inputSchema:ev,outputSchema:eb}),ew=(0,o.lazySchema)(()=>(0,o.zodSchema)(n.z.object({action:n.z.object({commands:n.z.array(n.z.string()),timeoutMs:n.z.number().optional(),maxOutputLength:n.z.number().optional()})}))),ez=(0,o.lazySchema)(()=>(0,o.zodSchema)(n.z.object({output:n.z.array(n.z.object({stdout:n.z.string(),stderr:n.z.string(),outcome:n.z.discriminatedUnion("type",[n.z.object({type:n.z.literal("timeout")}),n.z.object({type:n.z.literal("exit"),exitCode:n.z.number()})])}))}))),ex=n.z.array(n.z.discriminatedUnion("type",[n.z.object({type:n.z.literal("skillReference"),providerReference:n.z.record(n.z.string(),n.z.string()),version:n.z.string().optional()}),n.z.object({type:n.z.literal("inline"),name:n.z.string(),description:n.z.string(),source:n.z.object({type:n.z.literal("base64"),mediaType:n.z.literal("application/zip"),data:n.z.string()})})])).optional(),eT=(0,o.lazySchema)(()=>(0,o.zodSchema)(n.z.object({environment:n.z.union([n.z.object({type:n.z.literal("containerAuto"),fileIds:n.z.array(n.z.string()).optional(),memoryLimit:n.z.enum(["1g","4g","16g","64g"]).optional(),networkPolicy:n.z.discriminatedUnion("type",[n.z.object({type:n.z.literal("disabled")}),n.z.object({type:n.z.literal("allowlist"),allowedDomains:n.z.array(n.z.string()),domainSecrets:n.z.array(n.z.object({domain:n.z.string(),name:n.z.string(),value:n.z.string()})).optional()})]).optional(),skills:ex}),n.z.object({type:n.z.literal("containerReference"),containerId:n.z.string()}),n.z.object({type:n.z.literal("local").optional(),skills:n.z.array(n.z.object({name:n.z.string(),description:n.z.string(),path:n.z.string()})).optional()})]).optional()}))),ek=(0,o.createProviderDefinedToolFactoryWithOutputSchema)({id:"openai.shell",inputSchema:ew,outputSchema:ez}),eI=(0,o.lazySchema)(()=>(0,o.zodSchema)(n.z.object({execution:n.z.enum(["server","client"]).optional(),description:n.z.string().optional(),parameters:n.z.record(n.z.string(),n.z.unknown()).optional()}))),eS=(0,o.lazySchema)(()=>(0,o.zodSchema)(n.z.object({arguments:n.z.unknown().optional(),call_id:n.z.string().nullish()}))),eC=(0,o.lazySchema)(()=>(0,o.zodSchema)(n.z.object({tools:n.z.array(n.z.record(n.z.string(),n.z.unknown()))}))),eE=(0,o.createProviderDefinedToolFactoryWithOutputSchema)({id:"openai.tool_search",inputSchema:eS,outputSchema:eC}),eA=(0,o.lazySchema)(()=>(0,o.zodSchema)(n.z.object({externalWebAccess:n.z.boolean().optional(),filters:n.z.object({allowedDomains:n.z.array(n.z.string()).optional(),blockedDomains:n.z.array(n.z.string()).optional()}).optional(),searchContextSize:n.z.enum(["low","medium","high"]).optional(),userLocation:n.z.object({type:n.z.literal("approximate"),country:n.z.string().optional(),city:n.z.string().optional(),region:n.z.string().optional(),timezone:n.z.string().optional()}).optional()}))),eO=(0,o.lazySchema)(()=>(0,o.zodSchema)(n.z.object({}))),eM=(0,o.lazySchema)(()=>(0,o.zodSchema)(n.z.object({action:n.z.discriminatedUnion("type",[n.z.object({type:n.z.literal("search"),query:n.z.string().optional(),queries:n.z.array(n.z.string()).optional()}),n.z.object({type:n.z.literal("openPage"),url:n.z.string().nullish()}),n.z.object({type:n.z.literal("findInPage"),url:n.z.string().nullish(),pattern:n.z.string().nullish()})]).optional(),sources:n.z.array(n.z.discriminatedUnion("type",[n.z.object({type:n.z.literal("url"),url:n.z.string()}),n.z.object({type:n.z.literal("api"),name:n.z.string()})])).optional()}))),ej=(0,o.createProviderExecutedToolFactory)({id:"openai.web_search",inputSchema:eO,outputSchema:eM}),eR=(0,o.lazySchema)(()=>(0,o.zodSchema)(n.z.object({searchContextSize:n.z.enum(["low","medium","high"]).optional(),userLocation:n.z.object({type:n.z.literal("approximate"),country:n.z.string().optional(),city:n.z.string().optional(),region:n.z.string().optional(),timezone:n.z.string().optional()}).optional()}))),eN=(0,o.lazySchema)(()=>(0,o.zodSchema)(n.z.object({}))),eP=(0,o.lazySchema)(()=>(0,o.zodSchema)(n.z.object({action:n.z.discriminatedUnion("type",[n.z.object({type:n.z.literal("search"),query:n.z.string().optional()}),n.z.object({type:n.z.literal("openPage"),url:n.z.string().nullish()}),n.z.object({type:n.z.literal("findInPage"),url:n.z.string().nullish(),pattern:n.z.string().nullish()})]).optional()}))),e$=(0,o.createProviderExecutedToolFactory)({id:"openai.web_search_preview",inputSchema:eN,outputSchema:eP}),eq=n.z.lazy(()=>n.z.union([n.z.string(),n.z.number(),n.z.boolean(),n.z.null(),n.z.array(eq),n.z.record(n.z.string(),eq)])),eL=(0,o.lazySchema)(()=>(0,o.zodSchema)(n.z.object({serverLabel:n.z.string(),allowedTools:n.z.union([n.z.array(n.z.string()),n.z.object({readOnly:n.z.boolean().optional(),toolNames:n.z.array(n.z.string()).optional()})]).optional(),authorization:n.z.string().optional(),connectorId:n.z.string().optional(),headers:n.z.record(n.z.string(),n.z.string()).optional(),requireApproval:n.z.union([n.z.enum(["always","never"]),n.z.object({never:n.z.object({toolNames:n.z.array(n.z.string()).optional()}).optional()})]).optional(),serverDescription:n.z.string().optional(),serverUrl:n.z.string().optional()}).refine(e=>null!=e.serverUrl||null!=e.connectorId,"One of serverUrl or connectorId must be provided."))),eD=(0,o.lazySchema)(()=>(0,o.zodSchema)(n.z.object({}))),eU=(0,o.lazySchema)(()=>(0,o.zodSchema)(n.z.object({type:n.z.literal("call"),serverLabel:n.z.string(),name:n.z.string(),arguments:n.z.string(),output:n.z.string().nullish(),error:n.z.union([n.z.string(),eq]).optional()}))),eF=(0,o.createProviderExecutedToolFactory)({id:"openai.mcp",inputSchema:eD,outputSchema:eU}),eB=(0,o.lazySchema)(()=>(0,o.zodSchema)(n.z.object({code:n.z.string(),fingerprint:n.z.string()}))),eH=(0,o.lazySchema)(()=>(0,o.zodSchema)(n.z.object({result:n.z.string(),status:n.z.enum(["completed","incomplete"])}))),eW=(0,o.createProviderExecutedToolFactory)({id:"openai.programmatic_tool_calling",inputSchema:eB,outputSchema:eH,supportsDeferredResults:!0}),eV={applyPatch:Y,customTool:e=>es(e),codeInterpreter:(e={})=>ee(e),computer:(e={})=>ea(e),fileSearch:eh,imageGeneration:(e={})=>ey(e),localShell:e_,shell:ek,webSearchPreview:e$,webSearch:(e={})=>ej(e),mcp:e=>eF(e),programmaticToolCalling:()=>(0,o.experimental_toolCaller)(eW({}),{type:"provider",prepareProviderOptions:e=>{var t;let o=null==e?void 0:e.openai;return{...e,openai:{...o,allowedCallers:[...new Set([...null!=(t=null==o?void 0:o.allowedCallers)?t:[],"programmatic"])]}}}}),toolSearch:(e={})=>eE(e)};function eJ(e){if(null==e.provider)throw Error("OpenAI model is missing provider after workflow deserialization.");return{...e,provider:e.provider,url:"function"==typeof e.url?e.url:({path:t})=>{if(null==e.baseURL)throw Error("OpenAI model is missing baseURL after workflow deserialization.");return`${e.baseURL}${t}`},headers:"function"==typeof e.headers?e.headers:null==e.headers?void 0:()=>e.headers}}function eK(e){var t,r,n,a,i,l;if(null==e)return(0,o.createNullLanguageModelUsage)();let s=e.input_tokens,u=e.output_tokens,d=null!=(r=null==(t=e.input_tokens_details)?void 0:t.cached_tokens)?r:0,c=null!=(a=null==(n=e.input_tokens_details)?void 0:n.cache_write_tokens)?a:void 0,p=null!=(l=null==(i=e.output_tokens_details)?void 0:i.reasoning_tokens)?l:0;return{inputTokens:{total:s,noCache:s-d-(null!=c?c:0),cacheRead:d,cacheWrite:c},outputTokens:{total:u,text:u-p,reasoning:p},raw:e}}function eG({finishReason:e,hasFunctionCall:t}){switch(e){case void 0:case null:return t?"tool-calls":"stop";case"max_output_tokens":return"length";case"content_filter":return"content-filter";default:return t?"tool-calls":"other"}}var eY=n.z.lazy(()=>n.z.union([n.z.string(),n.z.number(),n.z.boolean(),n.z.null(),n.z.array(eY),n.z.record(n.z.string(),eY.optional())])),eZ=n.z.record(n.z.string(),eY.optional()),eX=n.z.intersection(eZ,n.z.object({input_tokens:n.z.number(),input_tokens_details:n.z.intersection(eZ,n.z.object({cached_tokens:n.z.number().nullish(),cache_write_tokens:n.z.number().nullish(),orchestration_input_tokens:n.z.number().nullish(),orchestration_input_cached_tokens:n.z.number().nullish()})).nullish(),output_tokens:n.z.number(),output_tokens_details:n.z.intersection(eZ,n.z.object({reasoning_tokens:n.z.number().nullish(),orchestration_output_tokens:n.z.number().nullish()})).nullish(),total_tokens:n.z.number().optional()})),eQ=n.z.object({id:n.z.string(),code:n.z.string().nullish(),message:n.z.string().nullish()}),e0=n.z.discriminatedUnion("type",[n.z.object({type:n.z.literal("click"),button:n.z.enum(["left","right","wheel","back","forward"]),x:n.z.number(),y:n.z.number(),keys:n.z.array(n.z.string()).nullish()}),n.z.object({type:n.z.literal("double_click"),x:n.z.number(),y:n.z.number(),keys:n.z.array(n.z.string()).nullish()}),n.z.object({type:n.z.literal("drag"),path:n.z.array(n.z.object({x:n.z.number(),y:n.z.number()})),keys:n.z.array(n.z.string()).nullish()}),n.z.object({type:n.z.literal("keypress"),keys:n.z.array(n.z.string())}),n.z.object({type:n.z.literal("move"),x:n.z.number(),y:n.z.number(),keys:n.z.array(n.z.string()).nullish()}),n.z.object({type:n.z.literal("screenshot")}),n.z.object({type:n.z.literal("scroll"),x:n.z.number(),y:n.z.number(),scroll_x:n.z.number(),scroll_y:n.z.number(),keys:n.z.array(n.z.string()).nullish()}),n.z.object({type:n.z.literal("type"),text:n.z.string()}),n.z.object({type:n.z.literal("wait")})]),e1=n.z.object({type:n.z.literal("computer_call"),id:n.z.string(),call_id:n.z.string().nullish(),status:n.z.enum(["in_progress","completed","incomplete"]),action:e0.nullish(),actions:n.z.array(e0).nullish(),pending_safety_checks:n.z.array(eQ).nullish()}),e2=n.z.discriminatedUnion("type",[n.z.object({type:n.z.literal("direct")}),n.z.object({type:n.z.literal("program"),caller_id:n.z.string()})]),e4=n.z.object({type:n.z.literal("program"),id:n.z.string(),call_id:n.z.string(),code:n.z.string(),fingerprint:n.z.string()}),e3=n.z.object({type:n.z.literal("program_output"),id:n.z.string(),call_id:n.z.string(),result:n.z.string(),status:n.z.enum(["completed","incomplete"])}),e5=n.z.object({type:n.z.literal("local_shell_call"),id:n.z.string(),call_id:n.z.string(),action:n.z.object({type:n.z.literal("exec"),command:n.z.array(n.z.string()),timeout_ms:n.z.number().optional(),user:n.z.string().optional(),working_directory:n.z.string().optional(),env:n.z.record(n.z.string(),n.z.string()).optional()})}),e6=n.z.object({type:n.z.literal("error"),sequence_number:n.z.number(),error:n.z.object({type:n.z.string(),code:n.z.string(),message:n.z.string(),param:n.z.string().nullish()})}),e9=n.z.object({type:n.z.literal("error"),sequence_number:n.z.number(),code:n.z.string().nullish(),message:n.z.string(),param:n.z.string().nullish()}),e8=new Set(["error","response.apply_patch_call_operation_diff.delta","response.apply_patch_call_operation_diff.done","response.code_interpreter_call_code.delta","response.code_interpreter_call_code.done","response.completed","response.created","response.custom_tool_call_input.delta","response.failed","response.function_call_arguments.delta","response.function_call_arguments.done","response.image_generation_call.partial_image","response.in_progress","response.incomplete","response.output_item.added","response.output_item.done","response.output_text.annotation.added","response.output_text.delta","response.reasoning_summary_part.added","response.reasoning_summary_part.done","response.reasoning_summary_text.delta"]),e7=new Set(["apply_patch_call","code_interpreter_call","compaction","computer_call","custom_tool_call","file_search_call","function_call","image_generation_call","local_shell_call","mcp_approval_request","mcp_call","mcp_list_tools","message","program","program_output","reasoning","shell_call","shell_call_output","tool_search_call","tool_search_output","web_search_call"]),te=(0,o.lazySchema)(()=>(0,o.zodSchema)(n.z.union([n.z.object({type:n.z.literal("response.output_text.delta"),item_id:n.z.string(),output_index:n.z.number().nullish(),delta:n.z.string(),logprobs:n.z.array(n.z.object({token:n.z.string(),logprob:n.z.number(),top_logprobs:n.z.array(n.z.object({token:n.z.string(),logprob:n.z.number()}))})).nullish()}),n.z.object({type:n.z.enum(["response.completed","response.incomplete"]),response:n.z.object({incomplete_details:n.z.object({reason:n.z.string()}).nullish(),usage:eX.nullish(),reasoning:n.z.object({context:n.z.string().nullish()}).nullish(),service_tier:n.z.string().nullish()})}),n.z.object({type:n.z.literal("response.failed"),sequence_number:n.z.number(),response:n.z.object({error:n.z.object({code:n.z.string().nullish(),message:n.z.string()}).nullish(),incomplete_details:n.z.object({reason:n.z.string()}).nullish(),usage:eX.nullish(),reasoning:n.z.object({context:n.z.string().nullish()}).nullish(),service_tier:n.z.string().nullish()})}),n.z.object({type:n.z.literal("response.created"),response:n.z.object({id:n.z.string(),created_at:n.z.number(),model:n.z.string(),service_tier:n.z.string().nullish()})}),n.z.object({type:n.z.literal("response.in_progress"),response:n.z.object({id:n.z.string(),created_at:n.z.number(),model:n.z.string(),service_tier:n.z.string().nullish()})}),n.z.object({type:n.z.literal("response.output_item.added"),output_index:n.z.number(),item:n.z.discriminatedUnion("type",[n.z.object({type:n.z.literal("message"),id:n.z.string(),phase:n.z.enum(["commentary","final_answer"]).nullish()}),n.z.object({type:n.z.literal("reasoning"),id:n.z.string(),encrypted_content:n.z.string().nullish()}),n.z.object({type:n.z.literal("function_call"),id:n.z.string(),call_id:n.z.string(),name:n.z.string(),arguments:n.z.string(),namespace:n.z.string().nullish(),caller:e2.nullish()}),e4,e3,n.z.object({type:n.z.literal("web_search_call"),id:n.z.string(),status:n.z.string()}),e1,n.z.object({type:n.z.literal("file_search_call"),id:n.z.string()}),e5,n.z.object({type:n.z.literal("image_generation_call"),id:n.z.string()}),n.z.object({type:n.z.literal("code_interpreter_call"),id:n.z.string(),container_id:n.z.string(),code:n.z.string().nullable(),outputs:n.z.array(n.z.discriminatedUnion("type",[n.z.object({type:n.z.literal("logs"),logs:n.z.string()}),n.z.object({type:n.z.literal("image"),url:n.z.string()})])).nullable(),status:n.z.string()}),n.z.object({type:n.z.literal("mcp_call"),id:n.z.string(),status:n.z.string(),approval_request_id:n.z.string().nullish()}),n.z.object({type:n.z.literal("mcp_list_tools"),id:n.z.string()}),n.z.object({type:n.z.literal("mcp_approval_request"),id:n.z.string()}),n.z.object({type:n.z.literal("apply_patch_call"),id:n.z.string(),call_id:n.z.string(),status:n.z.enum(["in_progress","completed"]),operation:n.z.discriminatedUnion("type",[n.z.object({type:n.z.literal("create_file"),path:n.z.string(),diff:n.z.string()}),n.z.object({type:n.z.literal("delete_file"),path:n.z.string()}),n.z.object({type:n.z.literal("update_file"),path:n.z.string(),diff:n.z.string()})])}),n.z.object({type:n.z.literal("custom_tool_call"),id:n.z.string(),call_id:n.z.string(),name:n.z.string(),input:n.z.string()}),n.z.object({type:n.z.literal("shell_call"),id:n.z.string(),call_id:n.z.string(),status:n.z.enum(["in_progress","completed","incomplete"]),action:n.z.object({commands:n.z.array(n.z.string())})}),n.z.object({type:n.z.literal("compaction"),id:n.z.string(),encrypted_content:n.z.string().nullish()}),n.z.object({type:n.z.literal("shell_call_output"),id:n.z.string(),call_id:n.z.string(),status:n.z.enum(["in_progress","completed","incomplete"]),output:n.z.array(n.z.object({stdout:n.z.string(),stderr:n.z.string(),outcome:n.z.discriminatedUnion("type",[n.z.object({type:n.z.literal("timeout")}),n.z.object({type:n.z.literal("exit"),exit_code:n.z.number()})])}))}),n.z.object({type:n.z.literal("tool_search_call"),id:n.z.string(),execution:n.z.enum(["server","client"]),call_id:n.z.string().nullable(),status:n.z.enum(["in_progress","completed","incomplete"]),arguments:n.z.unknown()}),n.z.object({type:n.z.literal("tool_search_output"),id:n.z.string(),execution:n.z.enum(["server","client"]),call_id:n.z.string().nullable(),status:n.z.enum(["in_progress","completed","incomplete"]),tools:n.z.array(n.z.record(n.z.string(),eY.optional()))})])}),n.z.object({type:n.z.literal("response.output_item.done"),output_index:n.z.number(),item:n.z.discriminatedUnion("type",[n.z.object({type:n.z.literal("message"),id:n.z.string(),phase:n.z.enum(["commentary","final_answer"]).nullish()}),n.z.object({type:n.z.literal("reasoning"),id:n.z.string(),encrypted_content:n.z.string().nullish()}),n.z.object({type:n.z.literal("function_call"),id:n.z.string(),call_id:n.z.string(),name:n.z.string(),arguments:n.z.string(),status:n.z.enum(["in_progress","completed","incomplete"]),namespace:n.z.string().nullish(),caller:e2.nullish()}),e4,e3,n.z.object({type:n.z.literal("custom_tool_call"),id:n.z.string(),call_id:n.z.string(),name:n.z.string(),input:n.z.string(),status:n.z.literal("completed")}),n.z.object({type:n.z.literal("code_interpreter_call"),id:n.z.string(),code:n.z.string().nullable(),container_id:n.z.string(),outputs:n.z.array(n.z.discriminatedUnion("type",[n.z.object({type:n.z.literal("logs"),logs:n.z.string()}),n.z.object({type:n.z.literal("image"),url:n.z.string()})])).nullable()}),n.z.object({type:n.z.literal("image_generation_call"),id:n.z.string(),result:n.z.string()}),n.z.object({type:n.z.literal("web_search_call"),id:n.z.string(),status:n.z.string(),action:n.z.discriminatedUnion("type",[n.z.object({type:n.z.literal("search"),query:n.z.string().nullish(),queries:n.z.array(n.z.string()).nullish(),sources:n.z.array(n.z.discriminatedUnion("type",[n.z.object({type:n.z.literal("url"),url:n.z.string()}),n.z.object({type:n.z.literal("api"),name:n.z.string()})])).nullish()}),n.z.object({type:n.z.literal("open_page"),url:n.z.string().nullish()}),n.z.object({type:n.z.literal("find_in_page"),url:n.z.string().nullish(),pattern:n.z.string().nullish()})]).nullish()}),n.z.object({type:n.z.literal("file_search_call"),id:n.z.string(),queries:n.z.array(n.z.string()),results:n.z.array(n.z.object({attributes:n.z.record(n.z.string(),n.z.union([n.z.string(),n.z.number(),n.z.boolean()])),file_id:n.z.string(),filename:n.z.string(),score:n.z.number(),text:n.z.string()})).nullish()}),e5,e1,n.z.object({type:n.z.literal("mcp_call"),id:n.z.string(),status:n.z.string(),arguments:n.z.string(),name:n.z.string(),server_label:n.z.string(),output:n.z.string().nullish(),error:n.z.union([n.z.string(),n.z.object({type:n.z.string().optional(),code:n.z.union([n.z.number(),n.z.string()]).optional(),message:n.z.string().optional()}).loose()]).nullish(),approval_request_id:n.z.string().nullish()}),n.z.object({type:n.z.literal("mcp_list_tools"),id:n.z.string(),server_label:n.z.string(),tools:n.z.array(n.z.object({name:n.z.string(),description:n.z.string().optional(),input_schema:n.z.any(),annotations:n.z.record(n.z.string(),n.z.unknown()).optional()})),error:n.z.union([n.z.string(),n.z.object({type:n.z.string().optional(),code:n.z.union([n.z.number(),n.z.string()]).optional(),message:n.z.string().optional()}).loose()]).optional()}),n.z.object({type:n.z.literal("mcp_approval_request"),id:n.z.string(),server_label:n.z.string(),name:n.z.string(),arguments:n.z.string(),approval_request_id:n.z.string().optional()}),n.z.object({type:n.z.literal("apply_patch_call"),id:n.z.string(),call_id:n.z.string(),status:n.z.enum(["in_progress","completed"]),operation:n.z.discriminatedUnion("type",[n.z.object({type:n.z.literal("create_file"),path:n.z.string(),diff:n.z.string()}),n.z.object({type:n.z.literal("delete_file"),path:n.z.string()}),n.z.object({type:n.z.literal("update_file"),path:n.z.string(),diff:n.z.string()})])}),n.z.object({type:n.z.literal("shell_call"),id:n.z.string(),call_id:n.z.string(),status:n.z.enum(["in_progress","completed","incomplete"]),action:n.z.object({commands:n.z.array(n.z.string())})}),n.z.object({type:n.z.literal("compaction"),id:n.z.string(),encrypted_content:n.z.string()}),n.z.object({type:n.z.literal("shell_call_output"),id:n.z.string(),call_id:n.z.string(),status:n.z.enum(["in_progress","completed","incomplete"]),output:n.z.array(n.z.object({stdout:n.z.string(),stderr:n.z.string(),outcome:n.z.discriminatedUnion("type",[n.z.object({type:n.z.literal("timeout")}),n.z.object({type:n.z.literal("exit"),exit_code:n.z.number()})])}))}),n.z.object({type:n.z.literal("tool_search_call"),id:n.z.string(),execution:n.z.enum(["server","client"]),call_id:n.z.string().nullable(),status:n.z.enum(["in_progress","completed","incomplete"]),arguments:n.z.unknown()}),n.z.object({type:n.z.literal("tool_search_output"),id:n.z.string(),execution:n.z.enum(["server","client"]),call_id:n.z.string().nullable(),status:n.z.enum(["in_progress","completed","incomplete"]),tools:n.z.array(n.z.record(n.z.string(),eY.optional()))})])}),n.z.object({type:n.z.literal("response.function_call_arguments.delta"),item_id:n.z.string(),output_index:n.z.number(),delta:n.z.string()}),n.z.object({type:n.z.literal("response.function_call_arguments.done"),item_id:n.z.string(),output_index:n.z.number(),arguments:n.z.string()}),n.z.object({type:n.z.literal("response.custom_tool_call_input.delta"),item_id:n.z.string(),output_index:n.z.number(),delta:n.z.string()}),n.z.object({type:n.z.literal("response.image_generation_call.partial_image"),item_id:n.z.string(),output_index:n.z.number(),partial_image_b64:n.z.string()}),n.z.object({type:n.z.literal("response.code_interpreter_call_code.delta"),item_id:n.z.string(),output_index:n.z.number(),delta:n.z.string()}),n.z.object({type:n.z.literal("response.code_interpreter_call_code.done"),item_id:n.z.string(),output_index:n.z.number(),code:n.z.string()}),n.z.object({type:n.z.literal("response.output_text.annotation.added"),annotation:n.z.discriminatedUnion("type",[n.z.object({type:n.z.literal("url_citation"),start_index:n.z.number(),end_index:n.z.number(),url:n.z.string(),title:n.z.string()}),n.z.object({type:n.z.literal("file_citation"),file_id:n.z.string(),filename:n.z.string(),index:n.z.number()}),n.z.object({type:n.z.literal("container_file_citation"),container_id:n.z.string(),file_id:n.z.string(),filename:n.z.string(),start_index:n.z.number(),end_index:n.z.number()}),n.z.object({type:n.z.literal("file_path"),file_id:n.z.string(),index:n.z.number()})])}),n.z.object({type:n.z.literal("response.reasoning_summary_part.added"),item_id:n.z.string(),output_index:n.z.number().nullish(),summary_index:n.z.number()}),n.z.object({type:n.z.literal("response.reasoning_summary_text.delta"),item_id:n.z.string(),output_index:n.z.number().nullish(),summary_index:n.z.number(),delta:n.z.string()}),n.z.object({type:n.z.literal("response.reasoning_summary_part.done"),item_id:n.z.string(),output_index:n.z.number().nullish(),summary_index:n.z.number()}),n.z.object({type:n.z.literal("response.apply_patch_call_operation_diff.delta"),item_id:n.z.string(),output_index:n.z.number(),delta:n.z.string(),obfuscation:n.z.string().nullish()}),n.z.object({type:n.z.literal("response.apply_patch_call_operation_diff.done"),item_id:n.z.string(),output_index:n.z.number(),diff:n.z.string()}),e6,e9,n.z.object({type:n.z.string()}).loose().refine(e=>!("string"==typeof e.type&&e8.has(e.type)&&(!(("response.output_item.added"===e.type||"response.output_item.done"===e.type)&&(0,o.isRecord)(e.item)&&"string"==typeof e.item.type)||e7.has(e.item.type))),{message:"Known response chunk failed schema validation"}).transform(e=>({type:"unknown_chunk",message:e.type}))]))),tt=(0,o.lazySchema)(()=>(0,o.zodSchema)(n.z.object({id:n.z.string().optional(),created_at:n.z.number().optional(),error:n.z.object({message:n.z.string(),type:n.z.string(),param:n.z.string().nullish(),code:n.z.string()}).nullish(),model:n.z.string().optional(),output:n.z.array(n.z.discriminatedUnion("type",[n.z.object({type:n.z.literal("message"),role:n.z.literal("assistant"),id:n.z.string(),phase:n.z.enum(["commentary","final_answer"]).nullish(),content:n.z.array(n.z.object({type:n.z.literal("output_text"),text:n.z.string(),logprobs:n.z.array(n.z.object({token:n.z.string(),logprob:n.z.number(),top_logprobs:n.z.array(n.z.object({token:n.z.string(),logprob:n.z.number()}))})).nullish(),annotations:n.z.array(n.z.discriminatedUnion("type",[n.z.object({type:n.z.literal("url_citation"),start_index:n.z.number(),end_index:n.z.number(),url:n.z.string(),title:n.z.string()}),n.z.object({type:n.z.literal("file_citation"),file_id:n.z.string(),filename:n.z.string(),index:n.z.number()}),n.z.object({type:n.z.literal("container_file_citation"),container_id:n.z.string(),file_id:n.z.string(),filename:n.z.string(),start_index:n.z.number(),end_index:n.z.number()}),n.z.object({type:n.z.literal("file_path"),file_id:n.z.string(),index:n.z.number()})]))}))}),n.z.object({type:n.z.literal("web_search_call"),id:n.z.string(),status:n.z.string(),action:n.z.discriminatedUnion("type",[n.z.object({type:n.z.literal("search"),query:n.z.string().nullish(),queries:n.z.array(n.z.string()).nullish(),sources:n.z.array(n.z.discriminatedUnion("type",[n.z.object({type:n.z.literal("url"),url:n.z.string()}),n.z.object({type:n.z.literal("api"),name:n.z.string()})])).nullish()}),n.z.object({type:n.z.literal("open_page"),url:n.z.string().nullish()}),n.z.object({type:n.z.literal("find_in_page"),url:n.z.string().nullish(),pattern:n.z.string().nullish()})]).nullish()}),n.z.object({type:n.z.literal("file_search_call"),id:n.z.string(),queries:n.z.array(n.z.string()),results:n.z.array(n.z.object({attributes:n.z.record(n.z.string(),n.z.union([n.z.string(),n.z.number(),n.z.boolean()])),file_id:n.z.string(),filename:n.z.string(),score:n.z.number(),text:n.z.string()})).nullish()}),n.z.object({type:n.z.literal("code_interpreter_call"),id:n.z.string(),code:n.z.string().nullable(),container_id:n.z.string(),outputs:n.z.array(n.z.discriminatedUnion("type",[n.z.object({type:n.z.literal("logs"),logs:n.z.string()}),n.z.object({type:n.z.literal("image"),url:n.z.string()})])).nullable()}),n.z.object({type:n.z.literal("image_generation_call"),id:n.z.string(),result:n.z.string()}),e5,n.z.object({type:n.z.literal("function_call"),call_id:n.z.string(),name:n.z.string(),arguments:n.z.string(),id:n.z.string(),namespace:n.z.string().nullish(),caller:e2.nullish()}),e4,e3,n.z.object({type:n.z.literal("custom_tool_call"),call_id:n.z.string(),name:n.z.string(),input:n.z.string(),id:n.z.string()}),e1,n.z.object({type:n.z.literal("reasoning"),id:n.z.string(),encrypted_content:n.z.string().nullish(),summary:n.z.array(n.z.object({type:n.z.literal("summary_text"),text:n.z.string()}))}),n.z.object({type:n.z.literal("mcp_call"),id:n.z.string(),status:n.z.string(),arguments:n.z.string(),name:n.z.string(),server_label:n.z.string(),output:n.z.string().nullish(),error:n.z.union([n.z.string(),n.z.object({type:n.z.string().optional(),code:n.z.union([n.z.number(),n.z.string()]).optional(),message:n.z.string().optional()}).loose()]).nullish(),approval_request_id:n.z.string().nullish()}),n.z.object({type:n.z.literal("mcp_list_tools"),id:n.z.string(),server_label:n.z.string(),tools:n.z.array(n.z.object({name:n.z.string(),description:n.z.string().optional(),input_schema:n.z.any(),annotations:n.z.record(n.z.string(),n.z.unknown()).optional()})),error:n.z.union([n.z.string(),n.z.object({type:n.z.string().optional(),code:n.z.union([n.z.number(),n.z.string()]).optional(),message:n.z.string().optional()}).loose()]).optional()}),n.z.object({type:n.z.literal("mcp_approval_request"),id:n.z.string(),server_label:n.z.string(),name:n.z.string(),arguments:n.z.string(),approval_request_id:n.z.string().optional()}),n.z.object({type:n.z.literal("apply_patch_call"),id:n.z.string(),call_id:n.z.string(),status:n.z.enum(["in_progress","completed"]),operation:n.z.discriminatedUnion("type",[n.z.object({type:n.z.literal("create_file"),path:n.z.string(),diff:n.z.string()}),n.z.object({type:n.z.literal("delete_file"),path:n.z.string()}),n.z.object({type:n.z.literal("update_file"),path:n.z.string(),diff:n.z.string()})])}),n.z.object({type:n.z.literal("shell_call"),id:n.z.string(),call_id:n.z.string(),status:n.z.enum(["in_progress","completed","incomplete"]),action:n.z.object({commands:n.z.array(n.z.string())})}),n.z.object({type:n.z.literal("compaction"),id:n.z.string(),encrypted_content:n.z.string()}),n.z.object({type:n.z.literal("shell_call_output"),id:n.z.string(),call_id:n.z.string(),status:n.z.enum(["in_progress","completed","incomplete"]),output:n.z.array(n.z.object({stdout:n.z.string(),stderr:n.z.string(),outcome:n.z.discriminatedUnion("type",[n.z.object({type:n.z.literal("timeout")}),n.z.object({type:n.z.literal("exit"),exit_code:n.z.number()})])}))}),n.z.object({type:n.z.literal("tool_search_call"),id:n.z.string(),execution:n.z.enum(["server","client"]),call_id:n.z.string().nullable(),status:n.z.enum(["in_progress","completed","incomplete"]),arguments:n.z.unknown()}),n.z.object({type:n.z.literal("tool_search_output"),id:n.z.string(),execution:n.z.enum(["server","client"]),call_id:n.z.string().nullable(),status:n.z.enum(["in_progress","completed","incomplete"]),tools:n.z.array(n.z.record(n.z.string(),eY.optional()))})])).optional(),service_tier:n.z.string().nullish(),reasoning:n.z.object({context:n.z.string().nullish()}).nullish(),incomplete_details:n.z.object({reason:n.z.string()}).nullish(),usage:eX.nullish()}))),to="parallel",tr="functions.";function tn({providerOptions:e,providerOptionsName:t}){var o;let r=null==(o=null==e?void 0:e[t])?void 0:o.parallelToolCall;if((0,a.isJSONObject)(r)&&"string"==typeof r.itemId&&"string"==typeof r.toolCallId&&"string"==typeof r.toolName&&"string"==typeof r.input&&"number"==typeof r.index&&Number.isInteger(r.index)&&"number"==typeof r.count&&Number.isInteger(r.count)&&!(r.index<0)&&!(r.count<=r.index))return r}function ta({toolName:e,tools:t}){return e===to&&!t.some(e=>e.name===to)}async function ti({toolCall:e,tools:t,providerOptionsName:r,itemId:n}){if(!ta({toolName:e.toolName,tools:t}))return;let i=await (0,o.safeParseJSON)({text:e.input});if(!i.success||!(0,a.isJSONObject)(i.value))return;let l=i.value.tool_uses;if(!Array.isArray(l)||0===l.length)return;let s=new Set(t.map(e=>e.name)),u=[];for(let[t,o]of l.entries()){if(!(0,a.isJSONObject)(o))return;let i=o.recipient_name,d=o.parameters;if("string"!=typeof i||!i.startsWith(tr)||!(0,a.isJSONObject)(d))return;let c=i.slice(tr.length);if(0===c.length||!s.has(c))return;u.push({type:"tool-call",toolCallId:`${e.toolCallId}_${t}`,toolName:c,input:JSON.stringify(d),providerMetadata:{[r]:{parallelToolCall:{itemId:n,toolCallId:e.toolCallId,toolName:e.toolName,input:e.input,index:t,count:l.length}}}})}return u}function tl(e){return null==e?void 0:"program"===e.type?{type:"program",caller_id:e.callerId}:e}async function ts({output:e,toolName:t,outputSchemaToolNames:r,promptCacheBreakpoint:n,providerOptionsName:a,warnings:i}){var l;let s=null==r?void 0:r.has(t),u=e=>null==n?e:[{type:"input_text",text:e,prompt_cache_breakpoint:n}];switch(e.type){case"text":case"error-text":return u(s?JSON.stringify(e.value):e.value);case"execution-denied":{let t=null!=(l=e.reason)?l:"Tool call execution denied.";return u(s?JSON.stringify(t):t)}case"json":case"error-json":return u(JSON.stringify(e.value));case"content":return e.value.map(e=>{var t,r,n;let l=td(e.providerOptions,a);switch(e.type){case"text":return{type:"input_text",text:e.text,...null!=l&&{prompt_cache_breakpoint:l}};case"file":{let s=(0,o.getTopLevelMediaType)(e.mediaType),u=null==(r=null==(t=e.providerOptions)?void 0:t[a])?void 0:r.imageDetail;if("data"===e.data.type){let t=(0,o.resolveFullMediaType)({part:e});if("image"===s)return{type:"input_image",image_url:`data:${t};base64,${(0,o.convertToBase64)(e.data.data)}`,detail:u,...null!=l&&{prompt_cache_breakpoint:l}};return{type:"input_file",filename:null!=(n=e.filename)?n:"data",file_data:`data:${t};base64,${(0,o.convertToBase64)(e.data.data)}`,...null!=l&&{prompt_cache_breakpoint:l}}}if("url"===e.data.type){if("image"===s)return{type:"input_image",image_url:e.data.url.toString(),detail:u,...null!=l&&{prompt_cache_breakpoint:l}};return{type:"input_file",file_url:e.data.url.toString(),...null!=l&&{prompt_cache_breakpoint:l}}}i.push({type:"other",message:`unsupported tool content part type: ${e.type} with data type: ${e.data.type}`});return}default:return void i.push({type:"other",message:`unsupported tool content part type: ${e.type}`})}}).filter(o.isNonNullable)}}function tu(e,t){return e.itemId===t.itemId&&e.toolCallId===t.toolCallId&&e.toolName===t.toolName&&e.input===t.input&&e.count===t.count}function td(e,t){var o;return null==(o=null==e?void 0:e[t])?void 0:o.promptCacheBreakpoint}function tc({output:e,toolResultProviderOptions:t,providerOptionsName:o}){var r;return"content"===e.type?void 0:null!=(r=td(e.providerOptions,o))?r:td(t,o)}function tp(e,t){return!!t&&t.some(t=>e.startsWith(t))}async function th({prompt:e,toolNameMapping:t,systemMessageMode:r,providerOptionsName:n,fileIdPrefixes:i,passThroughUnsupportedFiles:l=!1,store:s,hasConversation:u=!1,hasPreviousResponseId:d=!1,hasLocalShellTool:c=!1,hasShellTool:p=!1,hasApplyPatchTool:h=!1,hasComputerTool:m=!1,toolSearchToolName:g,customProviderToolNames:f,outputSchemaToolNames:y}){var v,b,_,w,z,x,T,k,I,S,C,E,A,O,M,j,R,N,P,$,q,L,D,U,F,B,H,W,V,J,Y,Z,X,Q,ee,et,eo,ea;let ei=[],el=[],es=new Set,eu=u||d?function({prompt:e,providerOptionsName:t}){let r=new Map;for(let o of e)if("tool"===o.role)for(let e of o.content){if("tool-result"!==e.type)continue;let o=tn({providerOptions:e.providerOptions,providerOptionsName:t});if(null==o)continue;let n=r.get(o.toolCallId);if(null==n){r.set(o.toolCallId,{metadata:o,results:new Map([[o.index,e]]),invalid:!1});continue}if(!tu(n.metadata,o)||n.results.has(o.index)){n.invalid=!0;continue}n.results.set(o.index,e)}let n=new Map;for(let[e,t]of r){if(t.invalid||t.results.size!==t.metadata.count)continue;let r=Array.from({length:t.metadata.count},(e,o)=>t.results.get(o));r.every(o.isNonNullable)&&n.set(e,{metadata:t.metadata,results:r})}return n}({prompt:e,providerOptionsName:n}):new Map,ed=new Set,ec=new Set;for(let{role:ep,content:eh,providerOptions:em}of e)switch(ep){case"system":switch(r){case"system":{let e=td(em,n);ei.push({role:"system",content:null==e?eh:[{type:"input_text",text:eh,prompt_cache_breakpoint:e}]});break}case"developer":{let e=td(em,n);ei.push({role:"developer",content:null==e?eh:[{type:"input_text",text:eh,prompt_cache_breakpoint:e}]});break}case"remove":el.push({type:"other",message:"system messages are removed for this model"});break;default:throw Error(`Unsupported system message mode: ${r}`)}break;case"user":ei.push({role:"user",content:eh.map((e,t)=>{var r,s,u,d,c;switch(e.type){case"text":{let t=td(e.providerOptions,n);return{type:"input_text",text:e.text,...null!=t&&{prompt_cache_breakpoint:t}}}case"file":{let p=td(e.providerOptions,n);switch(e.data.type){case"reference":{let t=(0,o.resolveProviderReference)({reference:e.data.reference,provider:n});if("image"===(0,o.getTopLevelMediaType)(e.mediaType))return{type:"input_image",file_id:t,detail:null==(s=null==(r=e.providerOptions)?void 0:r[n])?void 0:s.imageDetail,...null!=p&&{prompt_cache_breakpoint:p}};return{type:"input_file",file_id:t,...null!=p&&{prompt_cache_breakpoint:p}}}case"text":throw new a.UnsupportedFunctionalityError({functionality:"text file parts"});case"url":case"data":if("image"===(0,o.getTopLevelMediaType)(e.mediaType))return{type:"input_image",..."url"===e.data.type?{image_url:e.data.url.toString()}:"string"==typeof e.data.data&&tp(e.data.data,i)?{file_id:e.data.data}:{image_url:`data:${(0,o.resolveFullMediaType)({part:e})};base64,${(0,o.convertToBase64)(e.data.data)}`},detail:null==(d=null==(u=e.providerOptions)?void 0:u[n])?void 0:d.imageDetail,...null!=p&&{prompt_cache_breakpoint:p}};{if("url"===e.data.type)return{type:"input_file",file_url:e.data.url.toString(),...null!=p&&{prompt_cache_breakpoint:p}};let r=(0,o.resolveFullMediaType)({part:e});if("application/pdf"!==r&&!l)throw new a.UnsupportedFunctionalityError({functionality:`file part media type ${r}`});return{type:"input_file",..."string"==typeof e.data.data&&tp(e.data.data,i)?{file_id:e.data.data}:{filename:null!=(c=e.filename)?c:"application/pdf"===r?`part-${t}.pdf`:`part-${t}`,file_data:`data:${r};base64,${(0,o.convertToBase64)(e.data.data)}`},...null!=p&&{prompt_cache_breakpoint:p}}}}}}})});break;case"assistant":{let e={};for(let r of eh)switch(r.type){case"text":{let e=null==(v=r.providerOptions)?void 0:v[n],t=null==e?void 0:e.itemId,o=null==e?void 0:e.phase;if(u&&null!=t)break;if(s&&null!=t){ei.push({type:"item_reference",id:t});break}ei.push({role:"assistant",content:[{type:"output_text",text:r.text}],id:t,...null!=o&&{phase:o}});break}case"tool-call":{let e=tn({providerOptions:r.providerOptions,providerOptionsName:n}),a=null==e?void 0:eu.get(e.toolCallId);if(null!=e&&null!=a&&tu(a.metadata,e)){!ed.has(a.metadata.toolCallId)&&(ed.add(a.metadata.toolCallId),u||ei.push({type:"function_call",call_id:a.metadata.toolCallId,name:a.metadata.toolName,arguments:a.metadata.input}));break}let i=null!=(x=null==(_=null==(b=r.providerOptions)?void 0:b[n])?void 0:_.itemId)?x:null==(z=null==(w=r.providerMetadata)?void 0:w[n])?void 0:z.itemId,l=null!=(C=null==(k=null==(T=r.providerOptions)?void 0:T[n])?void 0:k.namespace)?C:null==(S=null==(I=r.providerMetadata)?void 0:I[n])?void 0:S.namespace,y=null==(A=null==(E=r.providerOptions)?void 0:E[n])?void 0:A.caller;if(u&&null!=i)break;let v=t.toProviderToolName(r.toolName);if(r.toolName===g){if(s&&null!=i){ei.push({type:"item_reference",id:i});break}let e="string"==typeof r.input?await (0,o.parseJSON)({text:r.input,schema:eS}):await (0,o.validateTypes)({value:r.input,schema:eS}),t=null!=e.call_id?"client":"server";ei.push({type:"tool_search_call",id:null!=i?i:r.toolCallId,execution:t,call_id:null!=(O=e.call_id)?O:null,status:"completed",arguments:e.arguments});break}if("programmatic_tool_calling"===v){if(s&&null!=i){ei.push({type:"item_reference",id:i});break}let e=await (0,o.validateTypes)({value:r.input,schema:eB});ei.push({type:"program",id:null!=i?i:r.toolCallId,call_id:r.toolCallId,code:e.code,fingerprint:e.fingerprint});break}if(r.providerExecuted&&(s&&null!=i&&ei.push({type:"item_reference",id:i}),s||!p||"shell"!==v))break;let j=c&&"local_shell"===v||p&&"shell"===v||h&&"apply_patch"===v||m&&"computer"===v||null!=(M=null==f?void 0:f.has(v))&&M;if(d&&s&&null!=i&&j)break;if(s&&null!=i&&j){ei.push({type:"item_reference",id:i});break}if(c&&"local_shell"===v){let e=await (0,o.validateTypes)({value:r.input,schema:ev});ei.push({type:"local_shell_call",call_id:r.toolCallId,id:i,action:{type:"exec",command:e.action.command,timeout_ms:e.action.timeoutMs,user:e.action.user,working_directory:e.action.workingDirectory,env:e.action.env}});break}if(p&&"shell"===v){let e=await (0,o.validateTypes)({value:r.input,schema:ew});ei.push({type:"shell_call",call_id:r.toolCallId,id:i,status:"completed",action:{commands:e.action.commands,timeout_ms:e.action.timeoutMs,max_output_length:e.action.maxOutputLength}});break}if(h&&"apply_patch"===v){let e=await (0,o.validateTypes)({value:r.input,schema:K});ei.push({type:"apply_patch_call",call_id:e.callId,id:i,status:"completed",operation:e.operation});break}if(m&&"computer"===v){let e=await (0,o.validateTypes)({value:r.input,schema:er});ei.push({type:"computer_call",call_id:r.toolCallId,id:i,status:e.status,actions:e.actions.map(e=>{switch(e.type){case"click":case"double_click":case"move":case"drag":return{...e,keys:e.keys};case"scroll":return{type:"scroll",x:e.x,y:e.y,scroll_x:e.scrollX,scroll_y:e.scrollY,keys:e.keys};default:return e}}),pending_safety_checks:e.pendingSafetyChecks.map(e=>({id:e.id,code:e.code,message:e.message}))});break}if(null==f?void 0:f.has(v)){ei.push({type:"custom_tool_call",call_id:r.toolCallId,name:v,input:"string"==typeof r.input?r.input:JSON.stringify(r.input),id:i});break}ei.push({type:"function_call",call_id:r.toolCallId,name:v,arguments:JSON.stringify(void 0===(ea=r.input)?{}:ea),...null!=l&&{namespace:l},...null!=y&&{caller:tl(y)}});break}case"tool-result":{if("execution-denied"===r.output.type||"json"===r.output.type&&"object"==typeof r.output.value&&null!=r.output.value&&"type"in r.output.value&&"execution-denied"===r.output.value.type||u)break;let e=t.toProviderToolName(r.toolName);if(r.toolName===g){let e=null!=(q=null!=($=null==(R=null==(j=r.providerOptions)?void 0:j[n])?void 0:R.itemId)?$:null==(P=null==(N=r.providerMetadata)?void 0:N[n])?void 0:P.itemId)?q:r.toolCallId;if(s)ei.push({type:"item_reference",id:e});else if("json"===r.output.type){let t=await (0,o.validateTypes)({value:r.output.value,schema:eC});ei.push({type:"tool_search_output",id:e,execution:"server",call_id:null,status:"completed",tools:t.tools})}break}if("programmatic_tool_calling"===e){let e=null!=(H=null!=(B=null==(D=null==(L=r.providerOptions)?void 0:L[n])?void 0:D.itemId)?B:null==(F=null==(U=r.providerMetadata)?void 0:U[n])?void 0:F.itemId)?H:r.toolCallId;if(s)ei.push({type:"item_reference",id:e});else if("json"===r.output.type){let t=await (0,o.validateTypes)({value:r.output.value,schema:eH});ei.push({type:"program_output",id:e,call_id:r.toolCallId,result:t.result,status:t.status})}break}if(p&&"shell"===e){if("json"===r.output.type){let e=await (0,o.validateTypes)({value:r.output.value,schema:ez});ei.push({type:"shell_call_output",call_id:r.toolCallId,output:e.output.map(e=>({stdout:e.stdout,stderr:e.stderr,outcome:"timeout"===e.outcome.type?{type:"timeout"}:{type:"exit",exit_code:e.outcome.exitCode}}))})}break}if(s){let e=null!=(J=null==(V=null==(W=r.providerOptions)?void 0:W[n])?void 0:V.itemId)?J:r.toolCallId;ei.push({type:"item_reference",id:e})}else el.push({type:"other",message:`Results for OpenAI tool ${r.toolName} are not sent to the API when store is false`});break}case"reasoning":{let t=await (0,o.parseProviderOptions)({provider:n,providerOptions:r.providerOptions,schema:tm}),a=null==t?void 0:t.itemId;if((u||d)&&null!=a)break;if(null!=a){let o=e[a];if(s)void 0===o&&(ei.push({type:"item_reference",id:a}),e[a]={type:"reasoning",id:a,summary:[]});else{let n=[];r.text.length>0?n.push({type:"summary_text",text:r.text}):void 0!==o&&el.push({type:"other",message:`Cannot append empty reasoning part to existing reasoning sequence. Skipping reasoning part: ${JSON.stringify(r)}.`}),void 0===o?(e[a]={type:"reasoning",id:a,encrypted_content:null==t?void 0:t.reasoningEncryptedContent,summary:n},ei.push(e[a])):(o.summary.push(...n),(null==t?void 0:t.reasoningEncryptedContent)!=null&&(o.encrypted_content=t.reasoningEncryptedContent))}}else{let e=null==t?void 0:t.reasoningEncryptedContent;if(null!=e){let t=[];r.text.length>0&&t.push({type:"summary_text",text:r.text}),ei.push({type:"reasoning",encrypted_content:e,summary:t})}else el.push({type:"other",message:`Non-OpenAI reasoning parts are not supported. Skipping reasoning part: ${JSON.stringify(r)}.`})}break}case"custom":if("openai.compaction"===r.kind){let e=null==(Y=r.providerOptions)?void 0:Y[n],t=null==e?void 0:e.itemId;if(u&&null!=t)break;if(s&&null!=t){ei.push({type:"item_reference",id:t});break}let o=null==e?void 0:e.encryptedContent;null!=t&&ei.push({type:"compaction",id:t,encrypted_content:o})}}break}case"tool":for(let e of eh){if("tool-approval-response"===e.type){if(es.has(e.approvalId))continue;es.add(e.approvalId),!s||u||d||ei.push({type:"item_reference",id:e.approvalId}),ei.push({type:"mcp_approval_response",approval_request_id:e.approvalId,approve:e.approved});continue}let r=tn({providerOptions:e.providerOptions,providerOptionsName:n}),a=null==r?void 0:eu.get(r.toolCallId);if(null!=r&&null!=a&&tu(a.metadata,r)){if(!ec.has(a.metadata.toolCallId)){ec.add(a.metadata.toolCallId);let e=await Promise.all(a.results.map(async e=>{let t=tc({output:e.output,toolResultProviderOptions:e.providerOptions,providerOptionsName:n});return{output:await ts({output:e.output,toolName:e.toolName,outputSchemaToolNames:y,providerOptionsName:n,warnings:el}),promptCacheBreakpoint:t}})),t=e.map(({output:e})=>"string"==typeof e?e:JSON.stringify(e)),o=e.some(({promptCacheBreakpoint:e})=>null!=e);ei.push({type:"function_call_output",call_id:a.metadata.toolCallId,output:o?t.map((t,o)=>({type:"input_text",text:0===o?t:`
|
|
54
|
+
${t}`,...null!=e[o].promptCacheBreakpoint&&{prompt_cache_breakpoint:e[o].promptCacheBreakpoint}})):t.join("\n")})}continue}let i=e.output;if("execution-denied"===i.type&&(null==(X=null==(Z=i.providerOptions)?void 0:Z.openai)?void 0:X.approvalId))continue;let l=t.toProviderToolName(e.toolName);if(e.toolName===g&&"json"===i.type){let t=await (0,o.validateTypes)({value:i.value,schema:eC});ei.push({type:"tool_search_output",execution:"client",call_id:e.toolCallId,status:"completed",tools:t.tools});continue}if(c&&"local_shell"===l&&"json"===i.type){let t=await (0,o.validateTypes)({value:i.value,schema:eb});ei.push({type:"local_shell_call_output",call_id:e.toolCallId,output:t.output});continue}if(p&&"shell"===l&&"json"===i.type){let t=await (0,o.validateTypes)({value:i.value,schema:ez});ei.push({type:"shell_call_output",call_id:e.toolCallId,output:t.output.map(e=>({stdout:e.stdout,stderr:e.stderr,outcome:"timeout"===e.outcome.type?{type:"timeout"}:{type:"exit",exit_code:e.outcome.exitCode}}))});continue}if(h&&"apply_patch"===e.toolName&&"json"===i.type){let t=await (0,o.validateTypes)({value:i.value,schema:G});ei.push({type:"apply_patch_call_output",call_id:e.toolCallId,status:t.status,output:t.output});continue}if(m&&"computer"===l&&"json"===i.type){let t=await (0,o.validateTypes)({value:i.value,schema:en});ei.push({type:"computer_call_output",call_id:e.toolCallId,output:{type:"computer_screenshot",image_url:t.output.imageUrl,file_id:t.output.fileId,detail:t.output.detail},acknowledged_safety_checks:null==(Q=t.acknowledgedSafetyChecks)?void 0:Q.map(e=>({id:e.id,code:e.code,message:e.message}))});continue}if(null==f?void 0:f.has(l)){let t,r=tc({output:i,toolResultProviderOptions:e.providerOptions,providerOptionsName:n}),a=e=>null==r?e:[{type:"input_text",text:e,prompt_cache_breakpoint:r}];switch(i.type){case"text":case"error-text":t=a(i.value);break;case"execution-denied":t=a(null!=(ee=i.reason)?ee:"Tool call execution denied.");break;case"json":case"error-json":t=a(JSON.stringify(i.value));break;case"content":t=i.value.map(e=>{var t,r,a;let i=td(e.providerOptions,n);switch(e.type){case"text":return{type:"input_text",text:e.text,...null!=i&&{prompt_cache_breakpoint:i}};case"file":{let l=(0,o.getTopLevelMediaType)(e.mediaType),s=null==(r=null==(t=e.providerOptions)?void 0:t[n])?void 0:r.imageDetail;if("data"===e.data.type){let t=(0,o.resolveFullMediaType)({part:e});if("image"===l)return{type:"input_image",image_url:`data:${t};base64,${(0,o.convertToBase64)(e.data.data)}`,detail:s,...null!=i&&{prompt_cache_breakpoint:i}};return{type:"input_file",filename:null!=(a=e.filename)?a:"data",file_data:`data:${t};base64,${(0,o.convertToBase64)(e.data.data)}`,...null!=i&&{prompt_cache_breakpoint:i}}}if("url"===e.data.type){if("image"===l)return{type:"input_image",image_url:e.data.url.toString(),detail:s,...null!=i&&{prompt_cache_breakpoint:i}};return{type:"input_file",file_url:e.data.url.toString(),...null!=i&&{prompt_cache_breakpoint:i}}}el.push({type:"other",message:`unsupported custom tool content part type: ${e.type} with data type: ${e.data.type}`});return}default:el.push({type:"other",message:`unsupported custom tool content part type: ${e.type}`});return}}).filter(o.isNonNullable);break;default:t=""}ei.push({type:"custom_tool_call_output",call_id:e.toolCallId,output:t});continue}let v=await ts({output:i,toolName:e.toolName,outputSchemaToolNames:y,promptCacheBreakpoint:tc({output:i,toolResultProviderOptions:e.providerOptions,providerOptionsName:n}),providerOptionsName:n,warnings:el}),b=tl(null==(eo=null==(et=e.providerOptions)?void 0:et[n])?void 0:eo.caller);ei.push({type:"function_call_output",call_id:e.toolCallId,output:v,...null!=b&&{caller:b}})}break;default:throw Error(`Unsupported role: ${ep}`)}return!s&&ei.some(e=>"type"in e&&"reasoning"===e.type&&null==e.encrypted_content)&&(el.push({type:"other",message:"Reasoning parts without encrypted content are not supported when store is false. Skipping reasoning parts."}),ei=ei.filter(e=>!("type"in e)||"reasoning"!==e.type||null!=e.encrypted_content)),{input:ei,warnings:el}}var tm=n.z.object({itemId:n.z.string().nullish(),reasoningEncryptedContent:n.z.string().nullish()}),tg=(0,o.lazySchema)(()=>(0,o.zodSchema)(n.z.object({conversation:n.z.string().nullish(),include:n.z.array(n.z.enum(["reasoning.encrypted_content","file_search_call.results","web_search_call.results","message.output_text.logprobs"])).nullish(),instructions:n.z.string().nullish(),logprobs:n.z.union([n.z.boolean(),n.z.number().min(1).max(20)]).optional(),maxToolCalls:n.z.number().nullish(),metadata:n.z.any().nullish(),parallelToolCalls:n.z.boolean().nullish(),previousResponseId:n.z.string().nullish(),promptCacheKey:n.z.string().nullish(),promptCacheOptions:n.z.object({mode:n.z.enum(["implicit","explicit"]).optional(),ttl:n.z.literal("30m").optional()}).optional(),promptCacheRetention:n.z.enum(["in_memory","24h"]).nullish(),reasoningEffort:n.z.string().nullish(),reasoningEffortUpdate:n.z.enum(["low","medium","high","xhigh","max"]).optional(),reasoningMode:n.z.enum(["standard","pro"]).optional(),reasoningContext:n.z.enum(["auto","current_turn","all_turns"]).optional(),reasoningSummary:n.z.string().nullish(),safetyIdentifier:n.z.string().nullish(),serviceTier:n.z.enum(["auto","flex","priority","fast","ultrafast","default"]).nullish(),store:n.z.boolean().nullish(),passThroughUnsupportedFiles:n.z.boolean().optional(),strictJsonSchema:n.z.boolean().nullish(),textVerbosity:n.z.enum(["low","medium","high"]).nullish(),truncation:n.z.enum(["auto","disabled"]).nullish(),user:n.z.string().nullish(),systemMessageMode:n.z.enum(["system","developer","remove"]).optional(),forceReasoning:n.z.boolean().optional(),contextManagement:n.z.array(n.z.object({type:n.z.literal("compaction"),compactThreshold:n.z.number()})).nullish(),compactionTrigger:n.z.boolean().optional(),allowedTools:n.z.object({toolNames:n.z.array(n.z.string()).min(1),mode:n.z.enum(["auto","required"]).optional()}).optional()})));async function tf({tools:e,toolChoice:t,allowedTools:r,toolNameMapping:n,customProviderToolNames:i,outputSchemaToolNames:l}){var s,u,d,c;e=(null==e?void 0:e.length)?e:void 0;let p=[];if(null==e)return{tools:void 0,toolChoice:void 0,toolWarnings:p};let h=[],m=new Map,g=null!=i?i:new Set,f=new Map,y=new Map,v=(e,t,o)=>{var r,n;if(f.set(e,t),null==o||o===e)return;let a=y.get(o);null==a?y.set(o,t):"ambiguous"===a||(r=a,n=t,r.supported&&n.supported?ty(r.entry)===ty(n.entry):!r.supported&&!n.supported&&r.reason===n.reason)||y.set(o,"ambiguous")};for(let t of e)switch(t.type){case"function":{let e=null==(s=t.providerOptions)?void 0:s.openai;(null==e?void 0:e.outputSchema)!=null&&(null==l||l.add(t.name));let o=function({tool:e,options:t}){let o=null==t?void 0:t.deferLoading;return{type:"function",name:e.name,description:e.description,parameters:e.inputSchema,...null!=e.strict?{strict:e.strict}:{},...null!=o?{defer_loading:o}:{},...(null==t?void 0:t.allowedCallers)!=null?{allowed_callers:t.allowedCallers}:{},...(null==t?void 0:t.outputSchema)!=null?{output_schema:t.outputSchema}:{}}}({tool:t,options:e}),r=null==e?void 0:e.namespace;if(null==r)h.push(o);else{let e=m.get(r.name);if(null==e)e={type:"namespace",name:r.name,description:r.description,tools:[]},m.set(r.name,e),h.push(e);else if(e.description!==r.description)throw new a.UnsupportedFunctionalityError({functionality:`conflicting descriptions for OpenAI tool namespace "${r.name}"`});e.tools.push(o)}v(t.name,null!=r?{supported:!1,reason:"tools inside an OpenAI tool namespace are not visible to tool_choice.allowed_tools"}:(null==e?void 0:e.deferLoading)===!0?{supported:!1,reason:"deferred tools are not visible to tool_choice.allowed_tools"}:{supported:!0,entry:{type:"function",name:t.name}},void 0);break}case"provider":{let e=h.length;switch(t.id){case"openai.file_search":{let e=await (0,o.validateTypes)({value:t.args,schema:ec});h.push({type:"file_search",vector_store_ids:e.vectorStoreIds,max_num_results:e.maxNumResults,ranking_options:e.ranking?{ranker:e.ranking.ranker,score_threshold:e.ranking.scoreThreshold}:void 0,filters:e.filters});break}case"openai.local_shell":h.push({type:"local_shell"});break;case"openai.shell":{let e=await (0,o.validateTypes)({value:t.args,schema:eT});h.push({type:"shell",...e.environment&&{environment:function(e){var t;return"containerReference"===e.type?{type:"container_reference",container_id:e.containerId}:"containerAuto"===e.type?{type:"container_auto",file_ids:e.fileIds,memory_limit:e.memoryLimit,network_policy:null==e.networkPolicy?void 0:"disabled"===e.networkPolicy.type?{type:"disabled"}:{type:"allowlist",allowed_domains:e.networkPolicy.allowedDomains,domain_secrets:e.networkPolicy.domainSecrets},skills:null==(t=e.skills)?void 0:t.map(e=>{var t,r;return"skillReference"===e.type?{type:"skill_reference",skill_id:(0,o.resolveProviderReference)({reference:null!=(t=e.providerReference)?t:{},provider:"openai"}),version:null!=(r=e.version)?r:"latest"}:{type:"inline",name:e.name,description:e.description,source:{type:"base64",media_type:e.source.mediaType,data:e.source.data}}})}:{type:"local",skills:e.skills}}(e.environment)}});break}case"openai.apply_patch":h.push({type:"apply_patch"});break;case"openai.computer":h.push({type:"computer"});break;case"openai.web_search_preview":{let e=await (0,o.validateTypes)({value:t.args,schema:eR});h.push({type:"web_search_preview",search_context_size:e.searchContextSize,user_location:e.userLocation});break}case"openai.web_search":{let e=await (0,o.validateTypes)({value:t.args,schema:eA});h.push({type:"web_search",filters:null!=e.filters?{allowed_domains:e.filters.allowedDomains,blocked_domains:e.filters.blockedDomains}:void 0,external_web_access:e.externalWebAccess,search_context_size:e.searchContextSize,user_location:e.userLocation});break}case"openai.code_interpreter":{let e=await (0,o.validateTypes)({value:t.args,schema:Q});h.push({type:"code_interpreter",container:null==e.container?{type:"auto",file_ids:void 0}:"string"==typeof e.container?e.container:{type:"auto",file_ids:e.container.fileIds}});break}case"openai.image_generation":{let e=await (0,o.validateTypes)({value:t.args,schema:em});h.push({type:"image_generation",action:e.action,background:e.background,input_fidelity:e.inputFidelity,input_image_mask:e.inputImageMask?{file_id:e.inputImageMask.fileId,image_url:e.inputImageMask.imageUrl}:void 0,model:e.model,moderation:e.moderation,partial_images:e.partialImages,quality:e.quality,output_compression:e.outputCompression,output_format:e.outputFormat,size:e.size});break}case"openai.mcp":{let e=await (0,o.validateTypes)({value:t.args,schema:eL}),r=e=>({tool_names:e.toolNames}),n=e.requireApproval,a=null==n?void 0:"string"==typeof n?n:null!=n.never?{never:r(n.never)}:void 0;h.push({type:"mcp",server_label:e.serverLabel,allowed_tools:Array.isArray(e.allowedTools)?e.allowedTools:e.allowedTools?{read_only:e.allowedTools.readOnly,tool_names:e.allowedTools.toolNames}:void 0,authorization:e.authorization,connector_id:e.connectorId,headers:e.headers,require_approval:null!=a?a:"never",server_description:e.serverDescription,server_url:e.serverUrl});break}case"openai.custom":{let e=await (0,o.validateTypes)({value:t.args,schema:ei});h.push({type:"custom",name:t.name,description:e.description,format:e.format}),g.add(t.name);break}case"openai.programmatic_tool_calling":h.push({type:"programmatic_tool_calling"});break;case"openai.tool_search":{let e=await (0,o.validateTypes)({value:t.args,schema:eI});h.push({type:"tool_search",...null!=e.execution?{execution:e.execution}:{},...null!=e.description?{description:e.description}:{},...null!=e.parameters?{parameters:e.parameters}:{}})}}if(h.length>e){let o=h[e];v(t.name,function(e){switch(e.type){case"custom":return{supported:!0,entry:{type:"custom",name:e.name}};case"mcp":return{supported:!0,entry:{type:"mcp",server_label:e.server_label}};case"file_search":case"web_search":case"web_search_preview":case"image_generation":case"code_interpreter":case"computer":case"apply_patch":case"shell":case"local_shell":case"programmatic_tool_calling":return{supported:!0,entry:{type:e.type}};default:return{supported:!1,reason:`OpenAI does not support ${e.type} tools in tool_choice.allowed_tools`}}}(o),null==n?void 0:n.toProviderToolName(t.name))}break}default:p.push({type:"unsupported",feature:`function tool ${t}`})}if(null!=r){let e=[],t=[];for(let o of r.toolNames){let r=f.get(o),a=null!=r?r:y.get(o);if(null!=r&&y.has(o)&&p.push({type:"unsupported",feature:`allowedTools entry "${o}"`,details:"this name is both a tool name and the provider tool name of another tool in this request; the tool with this name is allowed"}),"ambiguous"===a){p.push({type:"unsupported",feature:`allowedTools entry "${o}"`,details:"several tools in this request share this provider tool name; use the tool name from the tools for this request instead"}),t.push(o);continue}if(null==a){p.push({type:"unsupported",feature:`allowedTools entry "${o}"`,details:"the tool is not part of the tools for this request and is sent as a function tool"}),e.push({type:"function",name:null!=(u=null==n?void 0:n.toProviderToolName(o))?u:o});continue}if(!a.supported){p.push({type:"unsupported",feature:`allowedTools entry "${o}"`,details:`${a.reason}; the tool is removed from the allowed tools`}),t.push(o);continue}e.push(a.entry)}if(0===e.length)throw new a.UnsupportedFunctionalityError({functionality:`allowedTools with only tools that cannot be allow-listed (${t.join(", ")})`});return{tools:h,toolChoice:{type:"allowed_tools",mode:null!=(d=r.mode)?d:"auto",tools:e},toolWarnings:p}}if(null==t)return{tools:h,toolChoice:void 0,toolWarnings:p};let b=t.type;switch(b){case"auto":case"none":case"required":return{tools:h,toolChoice:b,toolWarnings:p};case"tool":{let e=null!=(c=null==n?void 0:n.toProviderToolName(t.toolName))?c:t.toolName;return{tools:h,toolChoice:"code_interpreter"===e||"file_search"===e||"image_generation"===e||"web_search_preview"===e||"web_search"===e||"mcp"===e||"apply_patch"===e||"computer"===e||"programmatic_tool_calling"===e?{type:e}:g.has(e)?{type:"custom",name:e}:{type:"function",name:e},toolWarnings:p}}default:throw new a.UnsupportedFunctionalityError({functionality:`tool choice type: ${b}`})}}function ty(e){switch(e.type){case"mcp":return`mcp:${e.server_label}`;case"function":case"custom":return`${e.type}:${e.name}`;default:return e.type}}function tv(e){var t,o;let r={};for(let n of e)if("assistant"===n.role)for(let e of n.content){if("tool-call"!==e.type)continue;let n=null==(o=null==(t=e.providerOptions)?void 0:t.openai)?void 0:o.approvalRequestId;null!=n&&(r[n]=e.toolCallId)}return r}function tb(e){switch(e.type){case"click":return{type:"click",button:e.button,x:e.x,y:e.y,...null!=e.keys&&{keys:e.keys}};case"double_click":return{type:"double_click",x:e.x,y:e.y,...null!=e.keys&&{keys:e.keys}};case"drag":return{type:"drag",path:e.path,...null!=e.keys&&{keys:e.keys}};case"keypress":case"screenshot":case"type":case"wait":return e;case"move":return{type:"move",x:e.x,y:e.y,...null!=e.keys&&{keys:e.keys}};case"scroll":return{type:"scroll",x:e.x,y:e.y,scrollX:e.scroll_x,scrollY:e.scroll_y,...null!=e.keys&&{keys:e.keys}}}}function t_({action:e,actions:t,pending_safety_checks:o,status:r}){var n;return{actions:(null!=t?t:null!=e?[e]:[]).map(tb),pendingSafetyChecks:null!=(n=null==o?void 0:o.map(e=>({id:e.id,...null!=e.code&&{code:e.code},...null!=e.message&&{message:e.message}})))?n:[],status:r}}var tw=class e{constructor(e,t){this.specificationVersion="v4",this.supportedUrls={"image/*":[/^https?:\/\/.*$/],"application/pdf":[/^https?:\/\/.*$/]},this.modelId=e,this.config=t}static[r.WORKFLOW_SERIALIZE](e){return(0,o.serializeModelOptions)({modelId:e.modelId,config:e.config})}static[r.WORKFLOW_DESERIALIZE](t){return new e(t.modelId,eJ(t.config))}get provider(){return this.config.provider}async getArgs({maxOutputTokens:e,temperature:t,stopSequences:r,topP:n,topK:a,presencePenalty:i,frequencyPenalty:l,seed:u,prompt:d,reasoning:c,providerOptions:p,tools:h,toolChoice:m,responseFormat:g}){var f,y,v,b,_,w,z,x,T,k,I,S,C,E;let A=[],O=s(this.modelId);null!=a&&A.push({type:"unsupported",feature:"topK"}),null!=u&&A.push({type:"unsupported",feature:"seed"}),null!=i&&A.push({type:"unsupported",feature:"presencePenalty"}),null!=l&&A.push({type:"unsupported",feature:"frequencyPenalty"}),null!=r&&A.push({type:"unsupported",feature:"stopSequences"});let M=this.config.provider.includes("azure")?"azure":"openai",j=await (0,o.parseProviderOptions)({provider:M,providerOptions:p,schema:tg});null==j&&"openai"!==M&&(j=await (0,o.parseProviderOptions)({provider:"openai",providerOptions:p,schema:tg}));let R=null!=(f=null==j?void 0:j.reasoningEffort)?f:(0,o.isCustomReasoning)(c)?c:void 0;null==R||null==O.supportedReasoningEfforts||O.supportedReasoningEfforts.includes(R)||(A.push({type:"unsupported",feature:"reasoningEffort",details:`${this.modelId} only supports the following reasoning efforts: ${O.supportedReasoningEfforts.join(", ")}`}),R=void 0);let N=(null==j?void 0:j.reasoningSummary)!==void 0?j.reasoningSummary:null!=R&&"none"!==R?"detailed":void 0,P=null!=(y=null==j?void 0:j.forceReasoning)?y:O.isReasoningModel;(null==j?void 0:j.conversation)&&(null==j?void 0:j.previousResponseId)&&A.push({type:"unsupported",feature:"conversation",details:"conversation and previousResponseId cannot be used together"});let $=(0,o.createToolNameMapping)({tools:h,providerToolNames:{"openai.code_interpreter":"code_interpreter","openai.computer":"computer","openai.file_search":"file_search","openai.image_generation":"image_generation","openai.local_shell":"local_shell","openai.shell":"shell","openai.web_search":"web_search","openai.web_search_preview":"web_search_preview","openai.mcp":"mcp","openai.apply_patch":"apply_patch","openai.tool_search":"tool_search","openai.programmatic_tool_calling":"programmatic_tool_calling"}}),q=new Set,L=new Set,{tools:D,toolChoice:U,toolWarnings:F}=await tf({tools:h,toolChoice:m,allowedTools:null!=(v=null==j?void 0:j.allowedTools)?v:void 0,toolNameMapping:$,customProviderToolNames:q,outputSchemaToolNames:L}),{input:B,warnings:H}=await th({prompt:d,toolNameMapping:$,systemMessageMode:null!=(b=null==j?void 0:j.systemMessageMode)?b:P?"developer":O.systemMessageMode,providerOptionsName:M,fileIdPrefixes:this.config.fileIdPrefixes,passThroughUnsupportedFiles:null!=(_=null==j?void 0:j.passThroughUnsupportedFiles)&&_,store:null==(w=null==j?void 0:j.store)||w,hasConversation:(null==j?void 0:j.conversation)!=null,hasPreviousResponseId:(null==j?void 0:j.previousResponseId)!=null,hasLocalShellTool:Z("openai.local_shell"),hasShellTool:Z("openai.shell"),hasApplyPatchTool:Z("openai.apply_patch"),hasComputerTool:Z("openai.computer"),toolSearchToolName:Y("openai.tool_search"),customProviderToolNames:q.size>0?q:void 0,outputSchemaToolNames:L.size>0?L:void 0});A.push(...H);let W=null==j?void 0:j.reasoningEffortUpdate,V=null==W||O.supportsConfigurationUpdate&&(null==j?void 0:j.reasoningMode)!=="pro"&&(null==j?void 0:j.contextManagement)==null&&(null==j?void 0:j.truncation)!=="auto";null==W||V?null!=W&&B.unshift({type:"configuration_update",reasoning:{effort:W}}):A.push({type:"unsupported",feature:"reasoningEffortUpdate",details:O.supportsConfigurationUpdate?"reasoningEffortUpdate requires standard reasoning mode without automatic compaction or automatic truncation":"reasoningEffortUpdate is only supported by GPT-6 and later models"}),(null==j?void 0:j.compactionTrigger)&&B.push({type:"compaction_trigger"});let J=null==(z=null==j?void 0:j.strictJsonSchema)||z,K=null==j?void 0:j.include;function G(e){null==K?K=[e]:K.includes(e)||(K=[...K,e])}function Y(e){var t;return null==(t=null==h?void 0:h.find(t=>"provider"===t.type&&t.id===e))?void 0:t.name}function Z(e){return null!=Y(e)}let X="number"==typeof(null==j?void 0:j.logprobs)?null==j?void 0:j.logprobs:(null==j?void 0:j.logprobs)===!0?20:void 0;X&&G("message.output_text.logprobs");let Q=null==(x=null==h?void 0:h.find(e=>"provider"===e.type&&("openai.web_search"===e.id||"openai.web_search_preview"===e.id)))?void 0:x.name;Q&&G("web_search_call.action.sources"),Z("openai.code_interpreter")&&G("code_interpreter_call.outputs");let ee=null==j?void 0:j.store;!1===ee&&P&&G("reasoning.encrypted_content");let et={model:this.modelId,input:B,temperature:t,top_p:n,max_output_tokens:e,...((null==g?void 0:g.type)==="json"||(null==j?void 0:j.textVerbosity))&&{text:{...(null==g?void 0:g.type)==="json"&&{format:null!=g.schema?{type:"json_schema",strict:J,name:null!=(T=g.name)?T:"response",description:g.description,schema:g.schema}:{type:"json_object"}},...(null==j?void 0:j.textVerbosity)&&{verbosity:j.textVerbosity}}},conversation:null==j?void 0:j.conversation,max_tool_calls:null==j?void 0:j.maxToolCalls,metadata:null==j?void 0:j.metadata,parallel_tool_calls:null==j?void 0:j.parallelToolCalls,previous_response_id:null==j?void 0:j.previousResponseId,store:ee,user:null==j?void 0:j.user,instructions:null==j?void 0:j.instructions,service_tier:null==j?void 0:j.serviceTier,include:K,prompt_cache_key:null==j?void 0:j.promptCacheKey,prompt_cache_options:null==j?void 0:j.promptCacheOptions,prompt_cache_retention:null==j?void 0:j.promptCacheRetention,safety_identifier:null==j?void 0:j.safetyIdentifier,top_logprobs:X,truncation:null==j?void 0:j.truncation,...(null==j?void 0:j.contextManagement)&&{context_management:j.contextManagement.map(e=>({type:e.type,compact_threshold:e.compactThreshold}))},...P&&(null!=R||null!=N||(null==j?void 0:j.reasoningMode)!=null||(null==j?void 0:j.reasoningContext)!=null)&&{reasoning:{...null!=R&&{effort:R},...null!=N&&{summary:N},...(null==j?void 0:j.reasoningMode)!=null&&{mode:j.reasoningMode},...(null==j?void 0:j.reasoningContext)!=null&&{context:j.reasoningContext}}}};if(O.supportsConfigurationUpdate&&null!=et.prompt_cache_retention&&(et.prompt_cache_retention=void 0,A.push({type:"unsupported",feature:"promptCacheRetention",details:"promptCacheRetention is not supported by GPT-6 and later models; use promptCacheOptions instead"})),P){if(!("none"===R&&O.supportsNonReasoningParameters)&&(null!=et.temperature&&(et.temperature=void 0,A.push({type:"unsupported",feature:"temperature",details:"temperature is not supported for reasoning models"})),null!=et.top_p&&(et.top_p=void 0,A.push({type:"unsupported",feature:"topP",details:"topP is not supported for reasoning models"})),null!=O.supportedReasoningEfforts&&(null!=et.top_logprobs||(null==(k=et.include)?void 0:k.includes("message.output_text.logprobs"))))){et.top_logprobs=void 0;let e=null==(I=et.include)?void 0:I.filter(e=>"message.output_text.logprobs"!==e);et.include=null!=e&&e.length>0?e:void 0,A.push({type:"unsupported",feature:"logprobs",details:"logprobs is not supported for reasoning models"})}}else(null==j?void 0:j.reasoningEffort)!=null&&A.push({type:"unsupported",feature:"reasoningEffort",details:"reasoningEffort is not supported for non-reasoning models"}),(null==j?void 0:j.reasoningSummary)!=null&&A.push({type:"unsupported",feature:"reasoningSummary",details:"reasoningSummary is not supported for non-reasoning models"}),(null==j?void 0:j.reasoningMode)!=null&&A.push({type:"unsupported",feature:"reasoningMode",details:"reasoningMode is not supported for non-reasoning models"}),(null==j?void 0:j.reasoningContext)!=null&&A.push({type:"unsupported",feature:"reasoningContext",details:"reasoningContext is not supported for non-reasoning models"});(null==j?void 0:j.serviceTier)!=="flex"||O.supportsFlexProcessing||(A.push({type:"unsupported",feature:"serviceTier",details:"flex processing is only available for o3, o4-mini, and gpt-5 models"}),delete et.service_tier),(null==j?void 0:j.serviceTier)!=="priority"&&(null==j?void 0:j.serviceTier)!=="fast"||O.supportsPriorityProcessing||(A.push({type:"unsupported",feature:"serviceTier",details:"priority processing is only available for supported models (gpt-4, gpt-5, gpt-5-mini, o3, o4-mini) and requires Enterprise access. gpt-5-nano is not supported"}),delete et.service_tier);let eo=null==(E=null==(C=null==(S=null==h?void 0:h.find(e=>"provider"===e.type&&"openai.shell"===e.id))?void 0:S.args)?void 0:C.environment)?void 0:E.type;return{webSearchToolName:Q,args:{...et,tools:D,tool_choice:U},warnings:[...A,...F],store:ee,toolNameMapping:$,providerOptionsName:M,isShellProviderExecuted:"containerAuto"===eo||"containerReference"===eo}}async doGenerate(e){var t,r,n,i,s,u,d,c,p,h,m,g,f,y,v,b,_,w,z,x,T,k,I,S,C,E,A,O,M,j,R,N,P,$;let{args:q,warnings:L,webSearchToolName:D,toolNameMapping:U,providerOptionsName:F,isShellProviderExecuted:B}=await this.getArgs(e),H=this.config.url({path:"/responses",modelId:this.modelId}),W=tv(e.prompt),{responseHeaders:V,value:J,rawValue:K}=await (0,o.postJsonToApi)({url:H,headers:(0,o.combineHeaders)(null==(r=(t=this.config).headers)?void 0:r.call(t),e.headers),body:q,failedResponseHandler:l,successfulResponseHandler:(0,o.createJsonResponseHandler)(tt),abortSignal:e.abortSignal,fetch:this.config.fetch});if(J.error)throw new a.APICallError({message:J.error.message,url:H,requestBodyValues:q,statusCode:400,responseHeaders:V,responseBody:K,isRetryable:!1});if(null==J.output){let e=null==(n=J.incomplete_details)?void 0:n.reason;throw new a.APICallError({message:e?`Responses API returned no output (${e})`:"Responses API returned no output",url:H,requestBodyValues:q,statusCode:500,responseHeaders:V,responseBody:K,isRetryable:!1})}let G=[],Y=[],Z=null!=(s=null==(i=e.tools)?void 0:i.filter(e=>"function"===e.type))?s:[],X=!1,Q=[];for(let t of J.output)switch(t.type){case"reasoning":for(let e of(0===t.summary.length&&t.summary.push({type:"summary_text",text:""}),t.summary))G.push({type:"reasoning",text:e.text,providerMetadata:{[F]:{itemId:t.id,reasoningEncryptedContent:null!=(u=t.encrypted_content)?u:null}}});break;case"image_generation_call":G.push({type:"tool-call",toolCallId:t.id,toolName:U.toCustomToolName("image_generation"),input:"{}",providerExecuted:!0}),G.push({type:"tool-result",toolCallId:t.id,toolName:U.toCustomToolName("image_generation"),result:{result:t.result}});break;case"tool_search_call":{let e=null!=(d=t.call_id)?d:t.id,o="server"===t.execution;o&&Q.push(e),G.push({type:"tool-call",toolCallId:e,toolName:U.toCustomToolName("tool_search"),input:JSON.stringify({arguments:t.arguments,call_id:t.call_id}),...o?{providerExecuted:!0}:{},providerMetadata:{[F]:{itemId:t.id}}});break}case"tool_search_output":{let e=null!=(p=null!=(c=t.call_id)?c:Q.shift())?p:t.id;G.push({type:"tool-result",toolCallId:e,toolName:U.toCustomToolName("tool_search"),result:{tools:t.tools},providerMetadata:{[F]:{itemId:t.id}}});break}case"local_shell_call":G.push({type:"tool-call",toolCallId:t.call_id,toolName:U.toCustomToolName("local_shell"),input:JSON.stringify({action:t.action}),providerMetadata:{[F]:{itemId:t.id}}});break;case"shell_call":G.push({type:"tool-call",toolCallId:t.call_id,toolName:U.toCustomToolName("shell"),input:JSON.stringify({action:{commands:t.action.commands}}),...B&&{providerExecuted:!0},providerMetadata:{[F]:{itemId:t.id}}});break;case"shell_call_output":G.push({type:"tool-result",toolCallId:t.call_id,toolName:U.toCustomToolName("shell"),result:{output:t.output.map(e=>({stdout:e.stdout,stderr:e.stderr,outcome:"exit"===e.outcome.type?{type:"exit",exitCode:e.outcome.exit_code}:{type:"timeout"}}))}});break;case"message":for(let r of t.content){(null==(m=null==(h=e.providerOptions)?void 0:h[F])?void 0:m.logprobs)&&r.logprobs&&Y.push(r.logprobs);let n={itemId:t.id,...null!=t.phase&&{phase:t.phase},...r.annotations.length>0&&{annotations:r.annotations}};for(let e of(G.push({type:"text",text:r.text,providerMetadata:{[F]:n}}),r.annotations))"url_citation"===e.type?G.push({type:"source",sourceType:"url",id:null!=(y=null==(f=(g=this.config).generateId)?void 0:f.call(g))?y:(0,o.generateId)(),url:e.url,title:e.title}):"file_citation"===e.type?G.push({type:"source",sourceType:"document",id:null!=(_=null==(b=(v=this.config).generateId)?void 0:b.call(v))?_:(0,o.generateId)(),mediaType:"text/plain",title:e.filename,filename:e.filename,providerMetadata:{[F]:{type:e.type,fileId:e.file_id,index:e.index}}}):"container_file_citation"===e.type?G.push({type:"source",sourceType:"document",id:null!=(x=null==(z=(w=this.config).generateId)?void 0:z.call(w))?x:(0,o.generateId)(),mediaType:"text/plain",title:e.filename,filename:e.filename,providerMetadata:{[F]:{type:e.type,fileId:e.file_id,containerId:e.container_id}}}):"file_path"===e.type&&G.push({type:"source",sourceType:"document",id:null!=(I=null==(k=(T=this.config).generateId)?void 0:k.call(T))?I:(0,o.generateId)(),mediaType:"application/octet-stream",title:e.file_id,filename:e.file_id,providerMetadata:{[F]:{type:e.type,fileId:e.file_id,index:e.index}}})}break;case"function_call":{X=!0;let e=await ti({toolCall:{toolCallId:t.call_id,toolName:t.name,input:t.arguments},tools:Z,providerOptionsName:F,itemId:t.id});if(null!=e){G.push(...e);break}G.push({type:"tool-call",toolCallId:t.call_id,toolName:t.name,input:t.arguments,providerMetadata:{[F]:{itemId:t.id,...null!=t.namespace&&{namespace:t.namespace},...null!=t.caller&&{caller:"program"===t.caller.type?{type:"program",callerId:t.caller.caller_id}:t.caller}}}});break}case"program":G.push({type:"tool-call",toolCallId:t.call_id,toolName:U.toCustomToolName("programmatic_tool_calling"),input:JSON.stringify({code:t.code,fingerprint:t.fingerprint}),providerExecuted:!0,providerMetadata:{[F]:{itemId:t.id}}});break;case"program_output":G.push({type:"tool-result",toolCallId:t.call_id,toolName:U.toCustomToolName("programmatic_tool_calling"),result:{result:t.result,status:t.status},providerMetadata:{[F]:{itemId:t.id}}});break;case"custom_tool_call":{X=!0;let e=U.toCustomToolName(t.name);G.push({type:"tool-call",toolCallId:t.call_id,toolName:e,input:JSON.stringify(t.input),providerMetadata:{[F]:{itemId:t.id}}});break}case"web_search_call":G.push({type:"tool-call",toolCallId:t.id,toolName:U.toCustomToolName(null!=D?D:"web_search"),input:JSON.stringify({}),providerExecuted:!0}),G.push({type:"tool-result",toolCallId:t.id,toolName:U.toCustomToolName(null!=D?D:"web_search"),result:tS(t.action)});break;case"mcp_call":{let e=null!=t.approval_request_id&&null!=(S=W[t.approval_request_id])?S:t.id,o=`mcp.${t.name}`;G.push({type:"tool-call",toolCallId:e,toolName:o,input:t.arguments,providerExecuted:!0,dynamic:!0}),G.push({type:"tool-result",toolCallId:e,toolName:o,result:{type:"call",serverLabel:t.server_label,name:t.name,arguments:t.arguments,...null!=t.output?{output:t.output}:{},...null!=t.error?{error:t.error}:{}},providerMetadata:{[F]:{itemId:t.id}}});break}case"mcp_list_tools":break;case"mcp_approval_request":{let e=null!=(C=t.approval_request_id)?C:t.id,r=null!=(O=null==(A=(E=this.config).generateId)?void 0:A.call(E))?O:(0,o.generateId)(),n=`mcp.${t.name}`;G.push({type:"tool-call",toolCallId:r,toolName:n,input:t.arguments,providerExecuted:!0,dynamic:!0}),G.push({type:"tool-approval-request",approvalId:e,toolCallId:r});break}case"computer_call":{if(null==t.call_id){G.push({type:"tool-call",toolCallId:t.id,toolName:U.toCustomToolName("computer_use"),input:"",providerExecuted:!0}),G.push({type:"tool-result",toolCallId:t.id,toolName:U.toCustomToolName("computer_use"),result:{type:"computer_use_tool_result",status:t.status}});break}X=!0;let e=U.toCustomToolName("computer");G.push({type:"tool-call",toolCallId:t.call_id,toolName:e,input:JSON.stringify(t_(t)),providerMetadata:{[F]:{itemId:t.id}}});break}case"file_search_call":G.push({type:"tool-call",toolCallId:t.id,toolName:U.toCustomToolName("file_search"),input:"{}",providerExecuted:!0}),G.push({type:"tool-result",toolCallId:t.id,toolName:U.toCustomToolName("file_search"),result:{queries:t.queries,results:null!=(j=null==(M=t.results)?void 0:M.map(e=>({attributes:e.attributes,fileId:e.file_id,filename:e.filename,score:e.score,text:e.text})))?j:null}});break;case"code_interpreter_call":G.push({type:"tool-call",toolCallId:t.id,toolName:U.toCustomToolName("code_interpreter"),input:JSON.stringify({code:t.code,containerId:t.container_id}),providerExecuted:!0}),G.push({type:"tool-result",toolCallId:t.id,toolName:U.toCustomToolName("code_interpreter"),result:{outputs:t.outputs}});break;case"apply_patch_call":G.push({type:"tool-call",toolCallId:t.call_id,toolName:U.toCustomToolName("apply_patch"),input:JSON.stringify({callId:t.call_id,operation:t.operation}),providerMetadata:{[F]:{itemId:t.id}}});break;case"compaction":G.push({type:"custom",kind:"openai.compaction",providerMetadata:{[F]:{type:"compaction",itemId:t.id,encryptedContent:t.encrypted_content}}})}let ee={[F]:{responseId:J.id,...Y.length>0?{logprobs:Y}:{},..."string"==typeof J.service_tier?{serviceTier:J.service_tier}:{},...(null==(R=J.reasoning)?void 0:R.context)!=null?{reasoningContext:J.reasoning.context}:{}}},et=J.usage;return{content:G,finishReason:{unified:eG({finishReason:null==(N=J.incomplete_details)?void 0:N.reason,hasFunctionCall:X}),raw:null!=($=null==(P=J.incomplete_details)?void 0:P.reason)?$:void 0},usage:eK(et),request:{body:q},response:{id:J.id,timestamp:new Date(1e3*J.created_at),modelId:J.model,headers:V,body:K},providerMetadata:ee,warnings:L}}async doStream(e){var t,r,n,i;let s,c,p,h,{args:m,warnings:g,webSearchToolName:f,toolNameMapping:y,store:v,providerOptionsName:b,isShellProviderExecuted:_}=await this.getArgs(e),w=this.config.url({path:"/responses",modelId:this.modelId}),{responseHeaders:z,value:x}=await (0,o.postJsonToApi)({url:w,headers:(0,o.combineHeaders)(null==(r=(t=this.config).headers)?void 0:r.call(t),e.headers),body:{...m,stream:!0},failedResponseHandler:l,successfulResponseHandler:(0,o.createEventSourceResponseHandler)(te),abortSignal:e.abortSignal,fetch:this.config.fetch}),T=await d({stream:x,getError:e=>tT(e)||tz(e)&&null!=e.response.error?e:void 0,isOutputChunk:tI,isAcceptedChunk:tk,url:w,requestBodyValues:m,responseHeaders:z}),k=this,I=tv(e.prompt),S=null!=(i=null==(n=e.tools)?void 0:n.filter(e=>"function"===e.type))?i:[],C=new Map,E={unified:"other",raw:void 0},A=[],O=null,M={},j=[],R=!1,N={},P={},$=({itemId:e,outputIndex:t})=>{var o;return null==t?e:null!=(o=P[t])?o:e},q=[],L=!1;return{stream:T.pipeThrough(new TransformStream({start(e){e.enqueue({type:"stream-start",warnings:g})},transform(t,r){var n,i,l,d,g,x,T,D,U,F,B,H,W,V,J,K,G,Y,Z,X,Q,ee,et,eo,er,en,ea,ei,el,es,eu,ed,ec,ep,eh,em,eg,ef,ey,ev,eb,e_,ew,ez,ex,eT,ek;if(e.includeRawChunks&&r.enqueue({type:"raw",rawValue:t.rawValue}),!t.success){let e,o=null!=(e="object"==typeof(eT=t.rawValue)&&null!=eT?eT:void 0)&&Array.isArray(e.choices)&&"string"!=typeof e.type?function({value:e,cause:t,url:o,requestBodyValues:r,responseHeaders:n}){return new a.APICallError({message:"Received a Chat Completions stream while using the OpenAI Responses API. The default OpenAI provider model uses the Responses API. If your custom baseURL targets a Chat Completions-compatible endpoint, use openai.chat('model-id') or createOpenAI(...).chat('model-id') instead. You can also use @ai-sdk/openai-compatible for OpenAI-compatible providers.",url:o,requestBodyValues:r,responseHeaders:n,responseBody:JSON.stringify(e),cause:t,data:e,isRetryable:!1})}({value:t.rawValue,cause:t.error,url:w,requestBodyValues:m,responseHeaders:z}):t.error;L=!0,E={unified:"error",raw:void 0},r.enqueue({type:"error",error:o});return}let eI=t.value;if(tx(eI))if("function_call"===eI.item.type){let e=ta({toolName:eI.item.name,tools:S});M[eI.output_index]={toolName:eI.item.name,toolCallId:eI.item.call_id,suppressInputStreaming:e,bufferedInputDeltas:e?[]:void 0},e||r.enqueue({type:"tool-input-start",id:eI.item.call_id,toolName:eI.item.name})}else if("custom_tool_call"===eI.item.type){let e=y.toCustomToolName(eI.item.name);M[eI.output_index]={toolName:e,toolCallId:eI.item.call_id},r.enqueue({type:"tool-input-start",id:eI.item.call_id,toolName:e})}else if("web_search_call"===eI.item.type)M[eI.output_index]={toolName:y.toCustomToolName(null!=f?f:"web_search"),toolCallId:eI.item.id},r.enqueue({type:"tool-input-start",id:eI.item.id,toolName:y.toCustomToolName(null!=f?f:"web_search"),providerExecuted:!0}),r.enqueue({type:"tool-input-end",id:eI.item.id}),r.enqueue({type:"tool-call",toolCallId:eI.item.id,toolName:y.toCustomToolName(null!=f?f:"web_search"),input:JSON.stringify({}),providerExecuted:!0});else if("computer_call"===eI.item.type){let e=null!=(n=eI.item.call_id)?n:eI.item.id;M[eI.output_index]={toolName:y.toCustomToolName("computer"),toolCallId:e},r.enqueue({type:"tool-input-start",id:e,toolName:y.toCustomToolName("computer")})}else if("code_interpreter_call"===eI.item.type)M[eI.output_index]={toolName:y.toCustomToolName("code_interpreter"),toolCallId:eI.item.id,codeInterpreter:{containerId:eI.item.container_id}},r.enqueue({type:"tool-input-start",id:eI.item.id,toolName:y.toCustomToolName("code_interpreter"),providerExecuted:!0}),r.enqueue({type:"tool-input-delta",id:eI.item.id,delta:`{"containerId":"${eI.item.container_id}","code":"`});else if("file_search_call"===eI.item.type)r.enqueue({type:"tool-call",toolCallId:eI.item.id,toolName:y.toCustomToolName("file_search"),input:"{}",providerExecuted:!0});else if("image_generation_call"===eI.item.type)r.enqueue({type:"tool-call",toolCallId:eI.item.id,toolName:y.toCustomToolName("image_generation"),input:"{}",providerExecuted:!0});else if("tool_search_call"===eI.item.type){let e=eI.item.id,t=y.toCustomToolName("tool_search"),o="server"===eI.item.execution;M[eI.output_index]={toolName:t,toolCallId:e,toolSearchExecution:null!=(i=eI.item.execution)?i:"server"},o&&r.enqueue({type:"tool-input-start",id:e,toolName:t,providerExecuted:!0})}else if("tool_search_output"===eI.item.type);else if("mcp_call"===eI.item.type||"mcp_list_tools"===eI.item.type||"mcp_approval_request"===eI.item.type);else if("apply_patch_call"===eI.item.type){let{call_id:e,operation:t}=eI.item;if(M[eI.output_index]={toolName:y.toCustomToolName("apply_patch"),toolCallId:e,applyPatch:{hasDiff:"delete_file"===t.type,endEmitted:"delete_file"===t.type}},r.enqueue({type:"tool-input-start",id:e,toolName:y.toCustomToolName("apply_patch")}),"delete_file"===t.type){let o=JSON.stringify({callId:e,operation:t});r.enqueue({type:"tool-input-delta",id:e,delta:o}),r.enqueue({type:"tool-input-end",id:e})}else r.enqueue({type:"tool-input-delta",id:e,delta:`{"callId":"${tC(e)}","operation":{"type":"${tC(t.type)}","path":"${tC(t.path)}","diff":"`})}else"shell_call"===eI.item.type?M[eI.output_index]={toolName:y.toCustomToolName("shell"),toolCallId:eI.item.call_id}:"shell_call_output"===eI.item.type||("message"===eI.item.type?(P[eI.output_index]=eI.item.id,j.splice(0,j.length),s=null!=(l=eI.item.phase)?l:void 0,r.enqueue({type:"text-start",id:eI.item.id,providerMetadata:{[b]:{itemId:eI.item.id,...null!=eI.item.phase&&{phase:eI.item.phase}}}})):tx(eI)&&"reasoning"===eI.item.type&&(P[eI.output_index]=eI.item.id,N[eI.item.id]={encryptedContent:eI.item.encrypted_content,summaryParts:{0:"active"}},r.enqueue({type:"reasoning-start",id:`${eI.item.id}:0`,providerMetadata:{[b]:{itemId:eI.item.id,reasoningEncryptedContent:null!=(d=eI.item.encrypted_content)?d:null}}})));else if("response.output_item.done"===eI.type)if("message"===eI.item.type){let e=$({itemId:eI.item.id,outputIndex:eI.output_index}),t=null!=(g=eI.item.phase)?g:s;s=void 0,r.enqueue({type:"text-end",id:e,providerMetadata:{[b]:{itemId:e,...null!=t&&{phase:t},...j.length>0&&{annotations:j}}}}),P[eI.output_index]=void 0}else if("function_call"===eI.item.type){let e=eI.item,t=M[eI.output_index];M[eI.output_index]=void 0,R=!0;let o=null!=(x=null==t?void 0:t.suppressInputStreaming)?x:ta({toolName:e.name,tools:S}),n=()=>{var n;if(o){r.enqueue({type:"tool-input-start",id:e.call_id,toolName:e.name});let o=null!=(n=null==t?void 0:t.bufferedInputDeltas)?n:[];if(o.length>0)for(let t of o)r.enqueue({type:"tool-input-delta",id:e.call_id,delta:t});else e.arguments.length>0&&r.enqueue({type:"tool-input-delta",id:e.call_id,delta:e.arguments})}r.enqueue({type:"tool-input-end",id:e.call_id,...null!=e.namespace&&{providerMetadata:{[b]:{namespace:e.namespace}}}}),r.enqueue({type:"tool-call",toolCallId:e.call_id,toolName:e.name,input:e.arguments,providerMetadata:{[b]:{itemId:e.id,...null!=e.namespace&&{namespace:e.namespace},...null!=e.caller&&{caller:"program"===e.caller.type?{type:"program",callerId:e.caller.caller_id}:e.caller}}}})};return o?ti({toolCall:{toolCallId:e.call_id,toolName:e.name,input:e.arguments},tools:S,providerOptionsName:b,itemId:e.id}).then(e=>{if(null==e)return void n();for(let t of e)r.enqueue({type:"tool-input-start",id:t.toolCallId,toolName:t.toolName}),r.enqueue({type:"tool-input-delta",id:t.toolCallId,delta:t.input}),r.enqueue({type:"tool-input-end",id:t.toolCallId}),r.enqueue(t)}):void n()}else if("program"===eI.item.type)r.enqueue({type:"tool-call",toolCallId:eI.item.call_id,toolName:y.toCustomToolName("programmatic_tool_calling"),input:JSON.stringify({code:eI.item.code,fingerprint:eI.item.fingerprint}),providerExecuted:!0,providerMetadata:{[b]:{itemId:eI.item.id}}});else if("program_output"===eI.item.type)r.enqueue({type:"tool-result",toolCallId:eI.item.call_id,toolName:y.toCustomToolName("programmatic_tool_calling"),result:{result:eI.item.result,status:eI.item.status},providerMetadata:{[b]:{itemId:eI.item.id}}});else if("custom_tool_call"===eI.item.type){M[eI.output_index]=void 0,R=!0;let e=y.toCustomToolName(eI.item.name);r.enqueue({type:"tool-input-end",id:eI.item.call_id}),r.enqueue({type:"tool-call",toolCallId:eI.item.call_id,toolName:e,input:JSON.stringify(eI.item.input),providerMetadata:{[b]:{itemId:eI.item.id}}})}else if("web_search_call"===eI.item.type)M[eI.output_index]=void 0,r.enqueue({type:"tool-result",toolCallId:eI.item.id,toolName:y.toCustomToolName(null!=f?f:"web_search"),result:tS(eI.item.action)});else if("computer_call"===eI.item.type){if(M[eI.output_index]=void 0,null==eI.item.call_id){r.enqueue({type:"tool-input-end",id:eI.item.id}),r.enqueue({type:"tool-call",toolCallId:eI.item.id,toolName:y.toCustomToolName("computer_use"),input:"",providerExecuted:!0}),r.enqueue({type:"tool-result",toolCallId:eI.item.id,toolName:y.toCustomToolName("computer_use"),result:{type:"computer_use_tool_result",status:eI.item.status}});return}R=!0;let e=y.toCustomToolName("computer"),t=JSON.stringify(t_(eI.item));r.enqueue({type:"tool-input-delta",id:eI.item.call_id,delta:t}),r.enqueue({type:"tool-input-end",id:eI.item.call_id}),r.enqueue({type:"tool-call",toolCallId:eI.item.call_id,toolName:e,input:t,providerMetadata:{[b]:{itemId:eI.item.id}}})}else if("file_search_call"===eI.item.type)M[eI.output_index]=void 0,r.enqueue({type:"tool-result",toolCallId:eI.item.id,toolName:y.toCustomToolName("file_search"),result:{queries:eI.item.queries,results:null!=(D=null==(T=eI.item.results)?void 0:T.map(e=>({attributes:e.attributes,fileId:e.file_id,filename:e.filename,score:e.score,text:e.text})))?D:null}});else if("code_interpreter_call"===eI.item.type)M[eI.output_index]=void 0,r.enqueue({type:"tool-result",toolCallId:eI.item.id,toolName:y.toCustomToolName("code_interpreter"),result:{outputs:eI.item.outputs}});else if("image_generation_call"===eI.item.type)r.enqueue({type:"tool-result",toolCallId:eI.item.id,toolName:y.toCustomToolName("image_generation"),result:{result:eI.item.result}});else if("tool_search_call"===eI.item.type){let e=M[eI.output_index],t="server"===eI.item.execution;if(null!=e){let o=t?e.toolCallId:null!=(U=eI.item.call_id)?U:eI.item.id;t?q.push(o):r.enqueue({type:"tool-input-start",id:o,toolName:e.toolName}),r.enqueue({type:"tool-input-end",id:o}),r.enqueue({type:"tool-call",toolCallId:o,toolName:e.toolName,input:JSON.stringify({arguments:eI.item.arguments,call_id:t?null:o}),...t?{providerExecuted:!0}:{},providerMetadata:{[b]:{itemId:eI.item.id}}})}M[eI.output_index]=void 0}else if("tool_search_output"===eI.item.type){let e=null!=(B=null!=(F=eI.item.call_id)?F:q.shift())?B:eI.item.id;r.enqueue({type:"tool-result",toolCallId:e,toolName:y.toCustomToolName("tool_search"),result:{tools:eI.item.tools},providerMetadata:{[b]:{itemId:eI.item.id}}})}else if("mcp_call"===eI.item.type){M[eI.output_index]=void 0;let e=null!=(H=eI.item.approval_request_id)?H:void 0,t=null!=e&&null!=(V=null!=(W=C.get(e))?W:I[e])?V:eI.item.id,o=`mcp.${eI.item.name}`;r.enqueue({type:"tool-call",toolCallId:t,toolName:o,input:eI.item.arguments,providerExecuted:!0,dynamic:!0}),r.enqueue({type:"tool-result",toolCallId:t,toolName:o,result:{type:"call",serverLabel:eI.item.server_label,name:eI.item.name,arguments:eI.item.arguments,...null!=eI.item.output?{output:eI.item.output}:{},...null!=eI.item.error?{error:eI.item.error}:{}},providerMetadata:{[b]:{itemId:eI.item.id}}})}else if("mcp_list_tools"===eI.item.type)M[eI.output_index]=void 0;else if("apply_patch_call"===eI.item.type){let e=M[eI.output_index];(null==e?void 0:e.applyPatch)&&!e.applyPatch.endEmitted&&"delete_file"!==eI.item.operation.type&&(e.applyPatch.hasDiff||r.enqueue({type:"tool-input-delta",id:e.toolCallId,delta:tC(eI.item.operation.diff)}),r.enqueue({type:"tool-input-delta",id:e.toolCallId,delta:'"}}'}),r.enqueue({type:"tool-input-end",id:e.toolCallId}),e.applyPatch.endEmitted=!0),e&&"completed"===eI.item.status&&r.enqueue({type:"tool-call",toolCallId:e.toolCallId,toolName:y.toCustomToolName("apply_patch"),input:JSON.stringify({callId:eI.item.call_id,operation:eI.item.operation}),providerMetadata:{[b]:{itemId:eI.item.id}}}),M[eI.output_index]=void 0}else if("mcp_approval_request"===eI.item.type){M[eI.output_index]=void 0;let e=null!=(G=null==(K=(J=k.config).generateId)?void 0:K.call(J))?G:(0,o.generateId)(),t=null!=(Y=eI.item.approval_request_id)?Y:eI.item.id;C.set(t,e);let n=`mcp.${eI.item.name}`;r.enqueue({type:"tool-call",toolCallId:e,toolName:n,input:eI.item.arguments,providerExecuted:!0,dynamic:!0}),r.enqueue({type:"tool-approval-request",approvalId:t,toolCallId:e})}else if("local_shell_call"===eI.item.type)M[eI.output_index]=void 0,r.enqueue({type:"tool-call",toolCallId:eI.item.call_id,toolName:y.toCustomToolName("local_shell"),input:JSON.stringify({action:{type:"exec",command:eI.item.action.command,timeoutMs:eI.item.action.timeout_ms,user:eI.item.action.user,workingDirectory:eI.item.action.working_directory,env:eI.item.action.env}}),providerMetadata:{[b]:{itemId:eI.item.id}}});else if("shell_call"===eI.item.type)M[eI.output_index]=void 0,r.enqueue({type:"tool-call",toolCallId:eI.item.call_id,toolName:y.toCustomToolName("shell"),input:JSON.stringify({action:{commands:eI.item.action.commands}}),..._&&{providerExecuted:!0},providerMetadata:{[b]:{itemId:eI.item.id}}});else if("shell_call_output"===eI.item.type)r.enqueue({type:"tool-result",toolCallId:eI.item.call_id,toolName:y.toCustomToolName("shell"),result:{output:eI.item.output.map(e=>({stdout:e.stdout,stderr:e.stderr,outcome:"exit"===e.outcome.type?{type:"exit",exitCode:e.outcome.exit_code}:{type:"timeout"}}))}});else if("reasoning"===eI.item.type){let e=$({itemId:eI.item.id,outputIndex:eI.output_index}),t=N[e];if(null!=t){for(let o of Object.entries(t.summaryParts).filter(([e,t])=>"active"===t||"can-conclude"===t).map(([e])=>e))r.enqueue({type:"reasoning-end",id:`${e}:${o}`,providerMetadata:{[b]:{itemId:e,reasoningEncryptedContent:null!=(Z=eI.item.encrypted_content)?Z:null}}});delete N[e]}P[eI.output_index]=void 0}else"compaction"===eI.item.type&&r.enqueue({type:"custom",kind:"openai.compaction",providerMetadata:{[b]:{type:"compaction",itemId:eI.item.id,encryptedContent:eI.item.encrypted_content}}});else if("response.function_call_arguments.delta"===eI.type){let e=M[eI.output_index];null!=e&&(e.suppressInputStreaming?null==(X=e.bufferedInputDeltas)||X.push(eI.delta):r.enqueue({type:"tool-input-delta",id:e.toolCallId,delta:eI.delta}))}else if("response.custom_tool_call_input.delta"===eI.type){let e=M[eI.output_index];null!=e&&r.enqueue({type:"tool-input-delta",id:e.toolCallId,delta:eI.delta})}else if("response.apply_patch_call_operation_diff.delta"===eI.type){let e=M[eI.output_index];(null==e?void 0:e.applyPatch)&&(r.enqueue({type:"tool-input-delta",id:e.toolCallId,delta:tC(eI.delta)}),e.applyPatch.hasDiff=!0)}else if("response.apply_patch_call_operation_diff.done"===eI.type){let e=M[eI.output_index];(null==e?void 0:e.applyPatch)&&!e.applyPatch.endEmitted&&(e.applyPatch.hasDiff||(r.enqueue({type:"tool-input-delta",id:e.toolCallId,delta:tC(eI.diff)}),e.applyPatch.hasDiff=!0),r.enqueue({type:"tool-input-delta",id:e.toolCallId,delta:'"}}'}),r.enqueue({type:"tool-input-end",id:e.toolCallId}),e.applyPatch.endEmitted=!0)}else if("response.image_generation_call.partial_image"===eI.type)r.enqueue({type:"tool-result",toolCallId:eI.item_id,toolName:y.toCustomToolName("image_generation"),result:{result:eI.partial_image_b64},preliminary:!0});else if("response.code_interpreter_call_code.delta"===eI.type){let e=M[eI.output_index];null!=e&&r.enqueue({type:"tool-input-delta",id:e.toolCallId,delta:tC(eI.delta)})}else if("response.code_interpreter_call_code.done"===eI.type){let e=M[eI.output_index];null!=e&&(r.enqueue({type:"tool-input-delta",id:e.toolCallId,delta:'"}'}),r.enqueue({type:"tool-input-end",id:e.toolCallId}),r.enqueue({type:"tool-call",toolCallId:e.toolCallId,toolName:y.toCustomToolName("code_interpreter"),input:JSON.stringify({code:eI.code,containerId:e.codeInterpreter.containerId}),providerExecuted:!0}))}else if("response.created"===eI.type)O=eI.response.id,r.enqueue({type:"response-metadata",id:eI.response.id,timestamp:new Date(1e3*eI.response.created_at),modelId:eI.response.model});else if("response.output_text.delta"===eI.type){let t=$({itemId:eI.item_id,outputIndex:eI.output_index});r.enqueue({type:"text-delta",id:t,delta:eI.delta}),(null==(ee=null==(Q=e.providerOptions)?void 0:Q[b])?void 0:ee.logprobs)&&eI.logprobs&&A.push(eI.logprobs)}else if("response.reasoning_summary_part.added"===eI.type){let e=$({itemId:eI.item_id,outputIndex:eI.output_index});if(eI.summary_index>0){let t=N[e];if(null!=t){for(let o of(t.summaryParts[eI.summary_index]="active",Object.keys(t.summaryParts)))"can-conclude"===t.summaryParts[o]&&(r.enqueue({type:"reasoning-end",id:`${e}:${o}`,providerMetadata:{[b]:{itemId:e}}}),t.summaryParts[o]="concluded");r.enqueue({type:"reasoning-start",id:`${e}:${eI.summary_index}`,providerMetadata:{[b]:{itemId:e,reasoningEncryptedContent:null!=(et=t.encryptedContent)?et:null}}})}}}else if("response.reasoning_summary_text.delta"===eI.type){let e=$({itemId:eI.item_id,outputIndex:eI.output_index});r.enqueue({type:"reasoning-delta",id:`${e}:${eI.summary_index}`,delta:eI.delta,providerMetadata:{[b]:{itemId:e}}})}else if("response.reasoning_summary_part.done"===eI.type){let e=$({itemId:eI.item_id,outputIndex:eI.output_index}),t=N[e];null!=t&&(v?(r.enqueue({type:"reasoning-end",id:`${e}:${eI.summary_index}`,providerMetadata:{[b]:{itemId:e}}}),t.summaryParts[eI.summary_index]="concluded"):t.summaryParts[eI.summary_index]="can-conclude")}else{if("response.completed"===(ek=eI).type||"response.incomplete"===ek.type)L||(E={unified:eG({finishReason:null==(eo=eI.response.incomplete_details)?void 0:eo.reason,hasFunctionCall:R}),raw:null!=(en=null==(er=eI.response.incomplete_details)?void 0:er.reason)?en:void 0}),h=null!=(ea=eI.response.usage)?ea:void 0,"string"==typeof eI.response.service_tier&&(c=eI.response.service_tier),(null==(ei=eI.response.reasoning)?void 0:ei.context)!=null&&(p=eI.response.reasoning.context);else if(tz(eI)){let e=null==(el=eI.response.incomplete_details)?void 0:el.reason;if(E={unified:e?eG({finishReason:e,hasFunctionCall:R}):"error",raw:null!=e?e:"error"},h=null!=(es=eI.response.usage)?es:void 0,(null==(eu=eI.response.reasoning)?void 0:eu.context)!=null&&(p=eI.response.reasoning.context),!L&&null!=eI.response.error){L=!0;let e={type:"response.failed",sequence_number:eI.sequence_number,response:{error:eI.response.error,incomplete_details:eI.response.incomplete_details,service_tier:eI.response.service_tier}};r.enqueue({type:"error",error:null!=(ed=u(e))?ed:e})}}else"response.output_text.annotation.added"===eI.type?(j.push(eI.annotation),"url_citation"===eI.annotation.type?r.enqueue({type:"source",sourceType:"url",id:null!=(eh=null==(ep=(ec=k.config).generateId)?void 0:ep.call(ec))?eh:(0,o.generateId)(),url:eI.annotation.url,title:eI.annotation.title}):"file_citation"===eI.annotation.type?r.enqueue({type:"source",sourceType:"document",id:null!=(ef=null==(eg=(em=k.config).generateId)?void 0:eg.call(em))?ef:(0,o.generateId)(),mediaType:"text/plain",title:eI.annotation.filename,filename:eI.annotation.filename,providerMetadata:{[b]:{type:eI.annotation.type,fileId:eI.annotation.file_id,index:eI.annotation.index}}}):"container_file_citation"===eI.annotation.type?r.enqueue({type:"source",sourceType:"document",id:null!=(eb=null==(ev=(ey=k.config).generateId)?void 0:ev.call(ey))?eb:(0,o.generateId)(),mediaType:"text/plain",title:eI.annotation.filename,filename:eI.annotation.filename,providerMetadata:{[b]:{type:eI.annotation.type,fileId:eI.annotation.file_id,containerId:eI.annotation.container_id}}}):"file_path"===eI.annotation.type&&r.enqueue({type:"source",sourceType:"document",id:null!=(ez=null==(ew=(e_=k.config).generateId)?void 0:ew.call(e_))?ez:(0,o.generateId)(),mediaType:"application/octet-stream",title:eI.annotation.file_id,filename:eI.annotation.file_id,providerMetadata:{[b]:{type:eI.annotation.type,fileId:eI.annotation.file_id,index:eI.annotation.index}}})):tT(eI)&&(L=!0,E={unified:"error",raw:"error"},r.enqueue({type:"error",error:null!=(ex=u(eI))?ex:eI}))}},flush(e){var t;for(let o of Object.values(M))if(null==o?void 0:o.suppressInputStreaming)for(let r of(e.enqueue({type:"tool-input-start",id:o.toolCallId,toolName:o.toolName}),null!=(t=o.bufferedInputDeltas)?t:[]))e.enqueue({type:"tool-input-delta",id:o.toolCallId,delta:r});let o={[b]:{responseId:O,...A.length>0?{logprobs:A}:{},...void 0!==c?{serviceTier:c}:{},...void 0!==p?{reasoningContext:p}:{}}};e.enqueue({type:"finish",finishReason:E,usage:eK(h),providerMetadata:o})}})),request:{body:m},response:{headers:z}}}};function tz(e){return"response.failed"===e.type}function tx(e){return"response.output_item.added"===e.type}function tT(e){return"error"===e.type}function tk(e){return"response.in_progress"===e.type}function tI(e){return"response.created"!==e.type&&"response.in_progress"!==e.type&&"response.failed"!==e.type&&"error"!==e.type&&"unknown_chunk"!==e.type}function tS(e){var t;if(null==e)return{};switch(e.type){case"search":return{action:{type:"search",query:null!=(t=e.query)?t:void 0,...null!=e.queries&&{queries:e.queries}},...null!=e.sources&&{sources:e.sources}};case"open_page":return{action:{type:"openPage",url:e.url}};case"find_in_page":return{action:{type:"findInPage",url:e.url,pattern:e.pattern}}}}function tC(e){return JSON.stringify(e).slice(1,-1)}var tE="/v1/responses",tA=(0,o.lazySchema)(()=>(0,o.zodSchema)(n.z.object({inputFileExpiresAfter:n.z.number().int().min(3600).max(2592e3).optional()}))),tO=(0,o.lazySchema)(()=>(0,o.zodSchema)(n.z.object({id:n.z.string(),status:n.z.string(),output_file_id:n.z.string().nullish(),error_file_id:n.z.string().nullish(),created_at:n.z.number().nullish(),expires_at:n.z.number().nullish(),request_counts:n.z.object({total:n.z.number().nullish(),completed:n.z.number().nullish(),failed:n.z.number().nullish()}).nullish(),errors:n.z.object({data:n.z.array(n.z.object({code:n.z.string().nullish(),message:n.z.string().nullish()})).nullish()}).nullish()}))),tM=(0,o.lazySchema)(()=>(0,o.zodSchema)(n.z.object({custom_id:n.z.string(),response:n.z.object({status_code:n.z.number(),request_id:n.z.string().nullish(),body:n.z.unknown()}).nullish(),error:n.z.object({code:n.z.string(),message:n.z.string()}).nullish()}))),tj=class{constructor(e){this.options=e}async startBatch(e){var t,r,n,a,i,s;let u=[],d=null==e.webhookUrl?[]:[{warning:{type:"unsupported",feature:"webhookUrl",details:"The OpenAI Batch API does not support per-batch webhook URLs."}}],c=await this.parseBatchProviderOptions(e.providerOptions),p=null!=(t=null==c?void 0:c.inputFileExpiresAfter)?t:172800;for(let t of e.requests){let e=await this.options.prepareRequest(t);for(let o of(u.push(JSON.stringify({custom_id:t.id,method:"POST",url:tE,body:e.body}),"\n"),e.warnings))d.push({requestId:t.id,warning:o});for(let e of null!=(r=t.options.tools)?r:[])"provider"!==e.type||tR.has(e.id)||d.push({requestId:t.id,warning:{type:"unsupported",feature:`batch result conversion for tool "${e.name}"`,details:"OpenAI may return output for this tool that AI SDK text batches cannot currently convert."}})}let h="batch.jsonl",m=new Blob(u,{type:"application/jsonl"});u.length=0;let g=new FormData;g.append("file",m,h),g.append("purpose","batch"),g.append("expires_after[anchor]","created_at"),g.append("expires_after[seconds]",String(p));let{value:f}=await (0,o.postToApi)({url:this.getUrl("/files"),headers:(0,o.combineHeaders)(null==(a=(n=this.options.config).headers)?void 0:a.call(n),e.headers),body:{content:g,values:{purpose:"batch","expires_after[anchor]":"created_at","expires_after[seconds]":String(p),file:{name:h,type:m.type,size:m.size}}},failedResponseHandler:l,successfulResponseHandler:(0,o.createJsonResponseHandler)(R),abortSignal:e.abortSignal,fetch:this.options.config.fetch}),{value:y}=await (0,o.postJsonToApi)({url:this.getUrl("/batches"),headers:(0,o.combineHeaders)(null==(s=(i=this.options.config).headers)?void 0:s.call(i),e.headers),body:{input_file_id:f.id,endpoint:tE,completion_window:"24h"},failedResponseHandler:l,successfulResponseHandler:(0,o.createJsonResponseHandler)(tO),abortSignal:e.abortSignal,fetch:this.options.config.fetch}),v=t$(f.expires_at);return{batchId:y.id,...tP(y),providerMetadata:{openai:{inputFileId:f.id,...null!=v?{inputFileExpiresAt:v}:{}}},warnings:d}}async parseBatchProviderOptions(e){let t=this.options.config.provider.includes("azure")?"azure":"openai",r=await (0,o.parseProviderOptions)({provider:t,providerOptions:e,schema:tA});return null==r&&"openai"!==t&&(r=await (0,o.parseProviderOptions)({provider:"openai",providerOptions:e,schema:tA})),r}async getBatchStatus(e){return tP(await this.retrieveBatch(e))}async getBatchResults(e){let t=await this.retrieveBatch(e),r=tP(t);if("pending"===r.status)throw new a.InvalidArgumentError({argument:"batchId",message:`OpenAI batch "${e.batchId}" is not complete.`});let n=[t.output_file_id,t.error_file_id].filter(e=>null!=e);if("completed"===r.status&&0===n.length)throw new a.InvalidResponseDataError({data:t,message:`OpenAI batch "${e.batchId}" completed without batch output.`});let i=this.iterateBatchResults({fileIds:n,options:e});return(0,o.convertAsyncIteratorToReadableStream)(i)}async retrieveBatch(e){var t,r;let{value:n}=await (0,o.getFromApi)({url:this.getUrl(`/batches/${encodeURIComponent(e.batchId)}`),headers:(0,o.combineHeaders)(null==(r=(t=this.options.config).headers)?void 0:r.call(t),e.headers),failedResponseHandler:l,successfulResponseHandler:(0,o.createJsonResponseHandler)(tO),abortSignal:e.abortSignal,fetch:this.options.config.fetch,validateUrl:!1});return n}async *iterateBatchResults({fileIds:e,options:t}){var r,n;for(let a of e){let{value:e}=await (0,o.getFromApi)({url:this.getUrl(`/files/${encodeURIComponent(a)}/content`),headers:(0,o.combineHeaders)(null==(n=(r=this.options.config).headers)?void 0:n.call(r),t.headers),failedResponseHandler:l,successfulResponseHandler:(0,o.createJsonLinesResponseHandler)(tM),abortSignal:t.abortSignal,fetch:this.options.config.fetch,validateUrl:!1});for await(let t of e)yield await this.convertResultLine(t)}}async convertResultLine(e){if(null!=e.error){let t={message:e.error.message,code:e.error.code};return"batch_cancelled"===e.error.code?{id:e.custom_id,status:"cancelled",error:t}:"batch_expired"===e.error.code?{id:e.custom_id,status:"expired",error:t}:{id:e.custom_id,status:"failed",error:t}}if(null==e.response)return{id:e.custom_id,status:"failed",error:{message:"OpenAI returned a batch result without a response or error.",code:"invalid_batch_result"}};if(e.response.status_code<200||e.response.status_code>=300)return{id:e.custom_id,status:"failed",error:await tq({body:e.response.body,statusCode:e.response.status_code})};let t=await tL(e.response.body);return t.success?{id:e.custom_id,status:"succeeded",result:t.result}:{id:e.custom_id,status:"failed",error:t.error}}getUrl(e){return this.options.config.url({modelId:this.options.modelId,path:e})}},tR=new Set(["openai.code_interpreter","openai.custom","openai.file_search","openai.web_search","openai.web_search_preview"]),tN=class e extends tw{static[r.WORKFLOW_SERIALIZE](e){return tw[r.WORKFLOW_SERIALIZE](e)}static[r.WORKFLOW_DESERIALIZE](t){return new e(t.modelId,eJ(t.config))}constructor(e,t){super(e,t),this.batch=new tj({modelId:e,config:t,prepareRequest:async e=>{let{args:t,warnings:o}=await this.getArgs(e.options);return{body:t,warnings:o}}})}experimental_doStartBatch(e){return this.batch.startBatch(e)}experimental_doGetBatchStatus(e){return this.batch.getBatchStatus(e)}experimental_doGetBatchResults(e){return this.batch.getBatchResults(e)}};function tP(e){var t,r,n,a;let i,l,s,u=function(e){switch(e){case"completed":return"completed";case"failed":case"expired":case"cancelled":return"failed";default:return"pending"}}(e.status),d=null==(r=null==(t=e.errors)?void 0:t.data)?void 0:r[0],c=(i=null==(a=e.request_counts)?void 0:a.total,l=null==a?void 0:a.completed,s=null==a?void 0:a.failed,(0,o.normalizeBatchRequestCounts)({total:i,pending:null!=i&&null!=l&&null!=s?i-l-s:void 0,completed:l,failed:s})),p=t$(e.created_at),h=t$(e.expires_at);return{status:u,rawStatus:e.status,...null!=c?{requestCounts:c}:{},...null!=d?{error:{message:null!=(n=d.message)?n:"OpenAI batch failed.",...null!=d.code?{code:d.code}:{}}}:{},...null!=p?{createdAt:p}:{},...null!=h?{expiresAt:h}:{}}}function t$(e){if(null==e||!Number.isFinite(e))return;let t=new Date(1e3*e);return Number.isNaN(t.getTime())?void 0:t.toISOString()}async function tq({body:e,statusCode:t}){var r;let n=await (0,o.safeValidateTypes)({value:e,schema:i});return n.success?{message:n.value.error.message,type:null!=(r=n.value.error.type)?r:void 0,code:null!=n.value.error.code?String(n.value.error.code):void 0,statusCode:t}:{message:`OpenAI batch request failed with status code ${t}.`,statusCode:t}}async function tL(e){var t,r,n,a,i,l,s,u;let d=await (0,o.safeValidateTypes)({value:e,schema:tt});if(!d.success)return{success:!1,error:{message:"OpenAI returned an invalid Responses batch result.",code:"invalid_response"}};let c=d.value;if(null!=c.error)return{success:!1,error:{message:c.error.message,type:c.error.type,code:c.error.code}};if(null==c.output){let e=null==(t=c.incomplete_details)?void 0:t.reason;return{success:!1,error:{message:null!=e?`OpenAI Responses returned no output (${e}).`:"OpenAI Responses returned no output.",code:"invalid_response"}}}let p=[],h=[],m=!1;for(let e of c.output)switch(e.type){case"reasoning":for(let t of e.summary.length>0?e.summary:[{type:"summary_text",text:""}])p.push({type:"reasoning",text:t.text,providerMetadata:{openai:{itemId:e.id,reasoningEncryptedContent:null!=(r=e.encrypted_content)?r:null}}});break;case"message":for(let t of e.content)p.push({type:"text",text:t.text}),null!=t.logprobs&&h.push(t.logprobs);break;case"function_call":m=!0,p.push({type:"tool-call",toolCallId:e.call_id,toolName:e.name,input:e.arguments,providerMetadata:{openai:{itemId:e.id,...null!=e.namespace&&{namespace:e.namespace},...null!=e.caller&&{caller:"program"===e.caller.type?{type:"program",callerId:e.caller.caller_id}:e.caller}}}});break;case"custom_tool_call":m=!0,p.push({type:"tool-call",toolCallId:e.call_id,toolName:e.name,input:JSON.stringify(e.input),providerMetadata:{openai:{itemId:e.id}}});break;case"web_search_call":p.push({type:"tool-call",toolCallId:e.id,toolName:"web_search",input:"{}",providerExecuted:!0,dynamic:!0}),p.push({type:"tool-result",toolCallId:e.id,toolName:"web_search",result:tS(e.action),dynamic:!0});break;case"file_search_call":p.push({type:"tool-call",toolCallId:e.id,toolName:"file_search",input:"{}",providerExecuted:!0,dynamic:!0}),p.push({type:"tool-result",toolCallId:e.id,toolName:"file_search",result:{queries:e.queries,results:null!=(a=null==(n=e.results)?void 0:n.map(e=>({attributes:e.attributes,fileId:e.file_id,filename:e.filename,score:e.score,text:e.text})))?a:null},dynamic:!0});break;case"code_interpreter_call":p.push({type:"tool-call",toolCallId:e.id,toolName:"code_interpreter",input:JSON.stringify({code:e.code,containerId:e.container_id}),providerExecuted:!0,dynamic:!0}),p.push({type:"tool-result",toolCallId:e.id,toolName:"code_interpreter",result:{outputs:e.outputs},dynamic:!0});break;default:return{success:!1,error:{message:`OpenAI returned an unsupported "${e.type}" output item in an AI SDK text batch.`,code:"unsupported_content"}}}let g={openai:{responseId:c.id,...h.length>0?{logprobs:h}:{},..."string"==typeof c.service_tier?{serviceTier:c.service_tier}:{},...(null==(i=c.reasoning)?void 0:i.context)!=null?{reasoningContext:c.reasoning.context}:{}}};return{success:!0,result:{content:p,finishReason:{unified:eG({finishReason:null==(l=c.incomplete_details)?void 0:l.reason,hasFunctionCall:m}),raw:null!=(u=null==(s=c.incomplete_details)?void 0:s.reason)?u:void 0},usage:eK(c.usage),response:{id:c.id,timestamp:null!=c.created_at?new Date(1e3*c.created_at):void 0,modelId:c.model},providerMetadata:g,warnings:[]}}}function tD(e,t){var o;let r={type:"realtime",model:t};null!=e.instructions&&(r.instructions=e.instructions),null!=e.outputModalities&&(r.output_modalities=e.outputModalities);let n={};if(null!=e.inputAudioFormat||null!=e.inputAudioTranscription||null!=e.turnDetection){let t={};if(null!=e.inputAudioFormat&&(t.format={type:e.inputAudioFormat.type,...null!=e.inputAudioFormat.rate?{rate:e.inputAudioFormat.rate}:{}}),null!=e.turnDetection)if("disabled"===e.turnDetection.type)t.turn_detection=null;else{let o={type:"server-vad"===e.turnDetection.type?"server_vad":"semantic_vad"};null!=e.turnDetection.threshold&&(o.threshold=e.turnDetection.threshold),null!=e.turnDetection.silenceDurationMs&&(o.silence_duration_ms=e.turnDetection.silenceDurationMs),null!=e.turnDetection.prefixPaddingMs&&(o.prefix_padding_ms=e.turnDetection.prefixPaddingMs),t.turn_detection=o}null!=e.inputAudioTranscription&&(t.transcription={model:null!=(o=e.inputAudioTranscription.model)?o:"gpt-realtime-whisper",...null!=e.inputAudioTranscription.language?{language:e.inputAudioTranscription.language}:{},...null!=e.inputAudioTranscription.prompt?{prompt:e.inputAudioTranscription.prompt}:{}}),n.input=t}if(null!=e.outputAudioFormat||null!=e.voice){let t={};null!=e.outputAudioFormat&&(t.format={type:e.outputAudioFormat.type,...null!=e.outputAudioFormat.rate?{rate:e.outputAudioFormat.rate}:{}}),null!=e.voice&&(t.voice=e.voice),n.output=t}return Object.keys(n).length>0&&(r.audio=n),null!=e.tools&&e.tools.length>0&&(r.tools=e.tools.map(e=>({type:e.type,name:e.name,description:e.description,parameters:e.parameters})),r.tool_choice="auto"),null!=e.providerOptions&&Object.assign(r,e.providerOptions),r}var tU=class{constructor(e,t){this.specificationVersion="v4",this.modelId=e,this.provider=t.provider,this.config=t}async doCreateClientSecret(e){var t;let o=null!=(t=this.config.fetch)?t:fetch,r=`${this.config.baseURL}/realtime/client_secrets`,n=null!=e.sessionConfig?tD(e.sessionConfig,this.modelId):{type:"realtime",model:this.modelId},a=await o(r,{method:"POST",headers:{...this.config.headers(),"Content-Type":"application/json"},body:JSON.stringify({session:n,...null!=e.expiresAfterSeconds?{expires_after:{anchor:"created_at",seconds:e.expiresAfterSeconds}}:{}})});if(!a.ok){let e=await a.text();throw Error(`OpenAI realtime client secret request failed: ${a.status} ${e}`)}let i=await a.json();return{token:i.value,url:`wss://${new URL(this.config.baseURL).host}/v1/realtime?model=${encodeURIComponent(this.modelId)}`,expiresAt:i.expires_at}}getWebSocketConfig(e){return{url:e.url,protocols:["realtime",`openai-insecure-api-key.${e.token}`]}}parseServerEvent(e){return function(e){var t,o,r,n,a,i,l,s,u,d,c,p,h,m,g,f,y,v,b;let _=e.type;switch(_){case"session.created":return{type:"session-created",sessionId:null==(t=e.session)?void 0:t.id,raw:e};case"session.updated":return{type:"session-updated",raw:e};case"input_audio_buffer.speech_started":return{type:"speech-started",itemId:e.item_id,raw:e};case"input_audio_buffer.speech_stopped":return{type:"speech-stopped",itemId:e.item_id,raw:e};case"input_audio_buffer.committed":return{type:"audio-committed",itemId:e.item_id,previousItemId:e.previous_item_id,raw:e};case"conversation.item.added":return{type:"conversation-item-added",itemId:null!=(r=null==(o=e.item)?void 0:o.id)?r:e.item_id,item:e.item,raw:e};case"conversation.item.input_audio_transcription.completed":return{type:"input-transcription-completed",itemId:e.item_id,transcript:null!=(n=e.transcript)?n:"",raw:e};case"response.created":return{type:"response-created",responseId:null!=(i=null==(a=e.response)?void 0:a.id)?i:e.response_id,raw:e};case"response.done":return{type:"response-done",responseId:null!=(s=null==(l=e.response)?void 0:l.id)?s:e.response_id,status:null!=(d=null==(u=e.response)?void 0:u.status)?d:"completed",raw:e};case"response.output_item.added":return{type:"output-item-added",responseId:e.response_id,itemId:null!=(p=null==(c=e.item)?void 0:c.id)?p:e.item_id,raw:e};case"response.output_item.done":return{type:"output-item-done",responseId:e.response_id,itemId:null!=(m=null==(h=e.item)?void 0:h.id)?m:e.item_id,raw:e};case"response.content_part.added":return{type:"content-part-added",responseId:e.response_id,itemId:e.item_id,raw:e};case"response.content_part.done":return{type:"content-part-done",responseId:e.response_id,itemId:e.item_id,raw:e};case"response.output_audio.delta":return{type:"audio-delta",responseId:e.response_id,itemId:e.item_id,delta:e.delta,raw:e};case"response.output_audio.done":return{type:"audio-done",responseId:e.response_id,itemId:e.item_id,raw:e};case"response.output_audio_transcript.delta":return{type:"audio-transcript-delta",responseId:e.response_id,itemId:e.item_id,delta:e.delta,raw:e};case"response.output_audio_transcript.done":return{type:"audio-transcript-done",responseId:e.response_id,itemId:e.item_id,transcript:e.transcript,raw:e};case"response.output_text.delta":return{type:"text-delta",responseId:e.response_id,itemId:e.item_id,delta:e.delta,raw:e};case"response.output_text.done":return{type:"text-done",responseId:e.response_id,itemId:e.item_id,text:e.text,raw:e};case"response.function_call_arguments.delta":return{type:"function-call-arguments-delta",responseId:e.response_id,itemId:e.item_id,callId:e.call_id,delta:e.delta,raw:e};case"response.function_call_arguments.done":return{type:"function-call-arguments-done",responseId:e.response_id,itemId:e.item_id,callId:e.call_id,name:e.name,arguments:e.arguments,raw:e};case"error":return{type:"error",message:null!=(y=null!=(f=null==(g=e.error)?void 0:g.message)?f:e.message)?y:"Unknown error",code:null!=(b=null==(v=e.error)?void 0:v.code)?b:e.code,raw:e};default:return{type:"custom",rawType:_,raw:e}}}(e)}serializeClientEvent(e){var t=this.modelId;switch(e.type){case"session-update":return{type:"session.update",session:tD(e.config,t)};case"input-audio-append":return{type:"input_audio_buffer.append",audio:e.audio};case"input-audio-commit":return{type:"input_audio_buffer.commit"};case"input-audio-clear":return{type:"input_audio_buffer.clear"};case"conversation-item-create":{let t=e.item;switch(t.type){case"text-message":return{type:"conversation.item.create",item:{type:"message",role:t.role,content:[{type:"input_text",text:t.text}]}};case"audio-message":return{type:"conversation.item.create",item:{type:"message",role:t.role,content:[{type:"input_audio",audio:t.audio}]}};case"function-call-output":return{type:"conversation.item.create",item:{type:"function_call_output",call_id:t.callId,output:t.output}}}break}case"conversation-item-truncate":return{type:"conversation.item.truncate",item_id:e.itemId,content_index:e.contentIndex,audio_end_ms:e.audioEndMs};case"response-create":return{type:"response.create",...null!=e.options?{response:{...null!=e.options.modalities?{output_modalities:e.options.modalities}:{},...null!=e.options.instructions?{instructions:e.options.instructions}:{},...null!=e.options.metadata?{metadata:e.options.metadata}:{}}}:{}};case"response-cancel":return{type:"response.cancel"}}}buildSessionConfig(e){return tD(e,this.modelId)}},tF=(0,o.lazySchema)(()=>(0,o.zodSchema)(n.z.object({instructions:n.z.string().nullish(),speed:n.z.number().min(.25).max(4).default(1).nullish()}))),tB=class e{constructor(e,t){this.modelId=e,this.config=t,this.specificationVersion="v4"}static[r.WORKFLOW_SERIALIZE](e){return(0,o.serializeModelOptions)({modelId:e.modelId,config:e.config})}static[r.WORKFLOW_DESERIALIZE](t){return new e(t.modelId,t.config)}get provider(){return this.config.provider}async getArgs({text:e,voice:t="alloy",outputFormat:r="mp3",speed:n,instructions:a,language:i,providerOptions:l}){let s=[],u=await (0,o.parseProviderOptions)({provider:"openai",providerOptions:l,schema:tF}),d={model:this.modelId,input:e,voice:t,response_format:"mp3",speed:n,instructions:a};if(r&&(["mp3","opus","aac","flac","wav","pcm"].includes(r)?d.response_format=r:s.push({type:"unsupported",feature:"outputFormat",details:`Unsupported output format: ${r}. Using mp3 instead.`})),u){let e={};for(let t in e){let o=e[t];void 0!==o&&(d[t]=o)}}return i&&s.push({type:"unsupported",feature:"language",details:`OpenAI speech models do not support language selection. Language parameter "${i}" was ignored.`}),{requestBody:d,warnings:s}}async doGenerate(e){var t,r,n,a,i;let s=null!=(n=null==(r=null==(t=this.config._internal)?void 0:t.currentDate)?void 0:r.call(t))?n:new Date,{requestBody:u,warnings:d}=await this.getArgs(e),{value:c,responseHeaders:p,rawValue:h}=await (0,o.postJsonToApi)({url:this.config.url({path:"/audio/speech",modelId:this.modelId}),headers:(0,o.combineHeaders)(null==(i=(a=this.config).headers)?void 0:i.call(a),e.headers),body:u,failedResponseHandler:l,successfulResponseHandler:(0,o.createBinaryResponseHandler)(),abortSignal:e.abortSignal,fetch:this.config.fetch});return{audio:c,warnings:d,request:{body:JSON.stringify(u)},response:{timestamp:s,modelId:this.modelId,headers:p,body:h}}}},tH=(0,o.lazySchema)(()=>(0,o.zodSchema)(n.z.object({text:n.z.string(),language:n.z.string().nullish(),duration:n.z.number().nullish(),words:n.z.array(n.z.object({word:n.z.string(),start:n.z.number(),end:n.z.number()})).nullish(),segments:n.z.array(n.z.union([n.z.object({id:n.z.number(),seek:n.z.number(),start:n.z.number(),end:n.z.number(),text:n.z.string(),tokens:n.z.array(n.z.number()),temperature:n.z.number(),avg_logprob:n.z.number(),compression_ratio:n.z.number(),no_speech_prob:n.z.number()}),n.z.object({type:n.z.literal("transcript.text.segment"),id:n.z.string(),start:n.z.number(),end:n.z.number(),text:n.z.string(),speaker:n.z.string()})])).nullish()}))),tW=(0,o.lazySchema)(()=>(0,o.zodSchema)(n.z.object({include:n.z.array(n.z.string()).optional(),language:n.z.string().optional(),prompt:n.z.string().optional(),temperature:n.z.number().min(0).max(1).default(0).optional(),timestampGranularities:n.z.array(n.z.enum(["word","segment"])).default(["segment"]).optional(),responseFormat:n.z.enum(["json","verbose_json","diarized_json"]).optional(),chunkingStrategy:n.z.union([n.z.literal("auto"),n.z.object({type:n.z.literal("server_vad"),threshold:n.z.number().min(0).max(1).optional(),prefixPaddingMs:n.z.number().int().min(0).optional(),silenceDurationMs:n.z.number().int().min(0).optional()})]).optional(),streaming:n.z.object({delay:n.z.enum(["minimal","low","medium","high","xhigh"]).optional(),include:n.z.array(n.z.string()).optional()}).optional()})));function tV(e){return"gpt-realtime-whisper"===e||e.startsWith("gpt-realtime-whisper-")}var tJ={afrikaans:"af",arabic:"ar",armenian:"hy",azerbaijani:"az",belarusian:"be",bosnian:"bs",bulgarian:"bg",catalan:"ca",chinese:"zh",croatian:"hr",czech:"cs",danish:"da",dutch:"nl",english:"en",estonian:"et",finnish:"fi",french:"fr",galician:"gl",german:"de",greek:"el",hebrew:"he",hindi:"hi",hungarian:"hu",icelandic:"is",indonesian:"id",italian:"it",japanese:"ja",kannada:"kn",kazakh:"kk",korean:"ko",latvian:"lv",lithuanian:"lt",macedonian:"mk",malay:"ms",marathi:"mr",maori:"mi",nepali:"ne",norwegian:"no",persian:"fa",polish:"pl",portuguese:"pt",romanian:"ro",russian:"ru",serbian:"sr",slovak:"sk",slovenian:"sl",spanish:"es",swahili:"sw",swedish:"sv",tagalog:"tl",tamil:"ta",thai:"th",turkish:"tr",ukrainian:"uk",urdu:"ur",vietnamese:"vi",welsh:"cy"},tK=class e{constructor(e,t){this.modelId=e,this.config=t,this.specificationVersion="v4"}static[r.WORKFLOW_SERIALIZE](e){return(0,o.serializeModelOptions)({modelId:e.modelId,config:e.config})}static[r.WORKFLOW_DESERIALIZE](t){return new e(t.modelId,t.config)}get provider(){return this.config.provider}async getArgs({audio:e,mediaType:t,providerOptions:r}){var n,a;let i=await (0,o.parseProviderOptions)({provider:"openai",providerOptions:r,schema:tW}),l=new FormData,s=e instanceof Uint8Array?new Blob([e]):new Blob([(0,o.convertBase64ToUint8Array)(e)]);l.append("model",this.modelId);let u=(0,o.mediaTypeToExtension)(t);l.append("file",new File([s],"audio",{type:t}),`audio.${u}`),"whisper-1"===this.modelId&&l.append("response_format","verbose_json");let d="gpt-4o-transcribe-diarize"===this.modelId,c=null!=(n=null==i?void 0:i.chunkingStrategy)?n:d?"auto":void 0;if(i){let e=["gpt-4o-transcribe","gpt-4o-mini-transcribe"].includes(this.modelId);for(let[t,o]of Object.entries({include:i.include,language:i.language,prompt:i.prompt,..."whisper-1"!==this.modelId&&{response_format:null!=(a=i.responseFormat)?a:d?"diarized_json":e?"json":"verbose_json"},temperature:i.temperature,timestamp_granularities:i.timestampGranularities}))if(null!=o)if(Array.isArray(o))for(let e of o)l.append(`${t}[]`,String(e));else l.append(t,String(o))}else d&&l.append("response_format","diarized_json");return null!=c&&l.append("chunking_strategy","string"==typeof c?c:JSON.stringify({type:c.type,...null!=c.threshold&&{threshold:c.threshold},...null!=c.prefixPaddingMs&&{prefix_padding_ms:c.prefixPaddingMs},...null!=c.silenceDurationMs&&{silence_duration_ms:c.silenceDurationMs}})),{formData:l,warnings:[]}}async doGenerate(e){var t,r,n,i,s,u,d,c,p,h,m;if(tV(this.modelId))throw new a.UnsupportedFunctionalityError({functionality:`non-streaming transcription with ${this.modelId}`});let g=null!=(n=null==(r=null==(t=this.config._internal)?void 0:t.currentDate)?void 0:r.call(t))?n:new Date,{formData:f,warnings:y}=await this.getArgs(e),{value:v,responseHeaders:b,rawValue:_}=await (0,o.postFormDataToApi)({url:this.config.url({path:"/audio/transcriptions",modelId:this.modelId}),headers:(0,o.combineHeaders)(null==(s=(i=this.config).headers)?void 0:s.call(i),e.headers),formData:f,failedResponseHandler:l,successfulResponseHandler:(0,o.createJsonResponseHandler)(tH),abortSignal:e.abortSignal,fetch:this.config.fetch}),w=null!=v.language&&v.language in tJ?tJ[v.language]:void 0,z=null==(u=v.segments)?void 0:u.flatMap(e=>"speaker"in e?[{text:e.text,startSecond:e.start,endSecond:e.end,speaker:e.speaker}]:[]);return{text:v.text,segments:null!=(h=null!=(p=null==(d=v.segments)?void 0:d.map(e=>({text:e.text,startSecond:e.start,endSecond:e.end})))?p:null==(c=v.words)?void 0:c.map(e=>({text:e.word,startSecond:e.start,endSecond:e.end})))?h:[],language:w,durationInSeconds:null!=(m=v.duration)?m:void 0,warnings:y,response:{timestamp:g,modelId:this.modelId,headers:b,body:_},...null!=z&&z.length>0&&{providerMetadata:{openai:{segments:z}}}}}async doStream(e){var t,r,n,i,l,s,u;if(!tV(this.modelId))throw new a.UnsupportedFunctionalityError({functionality:`streaming transcription with ${this.modelId}`});let d=null!=(n=null==(r=null==(t=this.config._internal)?void 0:t.currentDate)?void 0:r.call(t))?n:new Date,c=await (0,o.parseProviderOptions)({provider:"openai",providerOptions:e.providerOptions,schema:tW}),p=[],h=null!=(l=null==(i=e.providerOptions)?void 0:i.openai)?l:{};for(let e of["include","prompt","temperature","timestampGranularities"])null!=h[e]&&p.push({type:"unsupported",feature:`providerOptions.openai.${e}`,details:`OpenAI streaming transcription does not support ${e}.`});let m=(0,o.combineHeaders)(null==(u=(s=this.config).headers)?void 0:u.call(s),e.headers),g=function({modelId:e,inputAudioFormat:t,providerOptions:o}){var r,n;return{type:"session.update",session:{type:"transcription",audio:{input:{format:{type:t.type,...null!=t.rate?{rate:t.rate}:{}},transcription:{model:e,...(null==o?void 0:o.language)!=null?{language:o.language}:{},...(null==(r=null==o?void 0:o.streaming)?void 0:r.delay)!=null?{delay:o.streaming.delay}:{}},turn_detection:null}},...(null==(n=null==o?void 0:o.streaming)?void 0:n.include)!=null?{include:o.streaming.include}:{}}}}({modelId:this.modelId,inputAudioFormat:e.inputAudioFormat,providerOptions:c});return{request:{body:g},response:{timestamp:d,modelId:this.modelId},stream:function({webSocket:e,url:t,headers:r,sessionUpdate:n,language:a,warnings:i,audio:l,abortSignal:s,includeRawChunks:u}){let d=!1,c=()=>{};return new ReadableStream({start:p=>{let h,m,g=function(e){var t;let o;for(let[t,r]of Object.entries(e))"authorization"===t.toLowerCase()&&null!=r&&(o=r);let r=null==(t=null==o?void 0:o.match(/^bearer\s+(.+)$/i))?void 0:t[1];return null==r?{protocols:["realtime"],headers:e}:{protocols:["realtime",`openai-insecure-api-key.${r}`],headers:Object.fromEntries(Object.entries(e).filter(([e])=>"authorization"!==e.toLowerCase()))}}(r);c=e=>{null!=h?h.cancel().catch(()=>{}):l.cancel().catch(()=>{}),null==m||m.close(e)};let f=e=>{d||(d=!0,c(),p.error(e))},y=async e=>{h=l.getReader();try{for(;;){let{done:t,value:r}=await h.read();if(t||d)break;e.send(JSON.stringify({type:"input_audio_buffer.append",audio:(0,o.convertToBase64)(r)})),await (0,o.waitForWebSocketBufferDrain)(e)}}finally{h.releaseLock(),h=void 0}d||e.send(JSON.stringify({type:"input_audio_buffer.commit"}))};m=(0,o.connectToWebSocket)({url:t,protocols:g.protocols,headers:g.headers,webSocket:e,abortSignal:s,onAbort:f,onProcessingError:f,onOpen:e=>{p.enqueue({type:"stream-start",warnings:i}),e.send(JSON.stringify(n)),y(e).catch(f)},onMessageText:async e=>{var t,r,n,i,l,s;let h=await (0,o.safeParseJSON)({text:e});if(!h.success)return;let m=h.value;switch(u&&p.enqueue({type:"raw",rawValue:m}),m.type){case"conversation.item.input_audio_transcription.delta":p.enqueue({type:"transcript-delta",id:m.item_id,delta:null!=(t=m.delta)?t:""});break;case"conversation.item.input_audio_transcription.completed":l=null!=(r=m.transcript)?r:"",s=m.item_id,d||(d=!0,null!=s&&p.enqueue({type:"transcript-final",id:s,text:l}),p.enqueue({type:"finish",text:l,segments:[],language:a}),p.close(),c(1e3));break;case"error":f(Error(null!=(i=null==(n=m.error)?void 0:n.message)?i:"OpenAI realtime error"))}},onSocketError:()=>{f(Error("OpenAI realtime transcription error"))},onClose:()=>{d||(d=!0,c(),p.close())}})},cancel:()=>{d||(d=!0,c())}})}({webSocket:this.config.webSocket,url:(0,o.toWebSocketUrl)(this.config.url({path:"/realtime?intent=transcription",modelId:this.modelId})),headers:m,sessionUpdate:g,language:null==c?void 0:c.language,warnings:p,audio:e.audio,abortSignal:e.abortSignal,includeRawChunks:e.includeRawChunks})}}},tG=(0,o.lazySchema)(()=>(0,o.zodSchema)(n.z.object({}))),tY=class e{constructor(e,t){this.modelId=e,this.config=t,this.specificationVersion="v4"}static[r.WORKFLOW_SERIALIZE](e){return(0,o.serializeModelOptions)({modelId:e.modelId,config:e.config})}static[r.WORKFLOW_DESERIALIZE](t){return new e(t.modelId,t.config)}get provider(){return this.config.provider}async doStream(e){var t,r,n,i,l;if(null==e.targetLanguage)throw new a.InvalidArgumentError({argument:"targetLanguage",message:`targetLanguage is required for translation model '${this.modelId}'.`});let s=null!=(n=null==(r=null==(t=this.config._internal)?void 0:t.currentDate)?void 0:r.call(t))?n:new Date;await (0,o.parseProviderOptions)({provider:"openai",providerOptions:e.providerOptions,schema:tG});let u=[];(function(e){if("audio/pcm"!==e.type||null!=e.rate&&24e3!==e.rate)throw new a.InvalidArgumentError({argument:"inputAudioFormat",message:"The OpenAI Realtime translation API only supports 24kHz 16-bit PCM input audio."})})(e.inputAudioFormat),null!=e.sourceLanguage&&u.push({type:"unsupported",feature:"sourceLanguage",details:"The OpenAI Realtime translation API auto-detects the source language and does not accept a source language."}),null!=e.outputAudioFormat&&u.push({type:"unsupported",feature:"outputAudioFormat",details:"The OpenAI Realtime translation API always outputs 24kHz 16-bit PCM audio and does not accept an output audio format."});let d=(0,o.combineHeaders)(null==(l=(i=this.config).headers)?void 0:l.call(i),e.headers),c=function({targetLanguage:e}){return{type:"session.update",session:{audio:{input:{transcription:{model:"gpt-realtime-whisper"},noise_reduction:null},output:{language:e}}}}}({targetLanguage:e.targetLanguage});return{request:{body:c},response:{timestamp:s,modelId:this.modelId},stream:function({webSocket:e,url:t,headers:r,sessionUpdate:n,warnings:a,audio:i,abortSignal:l,includeRawChunks:s}){let u=!1,d=()=>{};return new ReadableStream({start:c=>{let p,h,m=function(e){var t;let o;for(let[t,r]of Object.entries(e))"authorization"===t.toLowerCase()&&null!=r&&(o=r);let r=null==(t=null==o?void 0:o.match(/^bearer\s+(.+)$/i))?void 0:t[1];return null==r?{protocols:["realtime"],headers:e}:{protocols:["realtime",`openai-insecure-api-key.${r}`],headers:Object.fromEntries(Object.entries(e).filter(([e])=>"authorization"!==e.toLowerCase()))}}(r),g="",f="";d=e=>{null!=p?p.cancel().catch(()=>{}):i.cancel().catch(()=>{}),null==h||h.close(e)};let y=e=>{u||(u=!0,d(),c.error(e))},v=async e=>{p=i.getReader();try{for(;;){let{done:t,value:r}=await p.read();if(t||u)break;e.send(JSON.stringify({type:"session.input_audio_buffer.append",audio:(0,o.convertToBase64)(r)})),await (0,o.waitForWebSocketBufferDrain)(e)}}finally{p.releaseLock(),p=void 0}u||e.send(JSON.stringify({type:"session.close"}))};h=(0,o.connectToWebSocket)({url:t,protocols:m.protocols,headers:m.headers,webSocket:e,abortSignal:l,onAbort:y,onProcessingError:y,onOpen:e=>{c.enqueue({type:"stream-start",warnings:a}),e.send(JSON.stringify(n)),v(e).catch(y)},onMessageText:async e=>{var t,r,n,a,i,l;if(u)return;let p=await (0,o.safeParseJSON)({text:e});if(!p.success)return;let h=p.value;switch(s&&c.enqueue({type:"raw",rawValue:h}),h.type){case"session.output_audio.delta":h.delta&&c.enqueue({type:"audio",audio:h.delta});break;case"session.output_transcript.delta":f+=null!=(t=h.delta)?t:"",c.enqueue({type:"output-text-delta",delta:null!=(r=h.delta)?r:""});break;case"session.input_transcript.delta":g+=null!=(n=h.delta)?n:"",c.enqueue({type:"source-transcript-delta",delta:null!=(a=h.delta)?a:""});break;case"session.closed":u||(u=!0,""!==g&&c.enqueue({type:"source-transcript-final",text:g}),""!==f&&c.enqueue({type:"output-text-final",text:f}),c.enqueue({type:"finish",sourceText:g,outputText:f,usage:void 0}),c.close(),d(1e3));break;case"error":c.enqueue({type:"error",error:Error(null!=(l=null==(i=h.error)?void 0:i.message)?l:"OpenAI realtime error")})}},onSocketError:()=>{y(Error("OpenAI realtime translation error"))},onClose:({code:e,reason:t})=>{u||y(Error(`OpenAI realtime translation WebSocket closed unexpectedly before finishing (code ${null!=e?e:"unknown"}${t?`, reason: ${t}`:""}).`))}})},cancel:()=>{u||(u=!0,d())}})}({webSocket:this.config.webSocket,url:(0,o.toWebSocketUrl)(this.config.url({path:`/realtime/translations?model=${encodeURIComponent(this.modelId)}`,modelId:this.modelId})),headers:d,sessionUpdate:c,warnings:u,audio:e.audio,abortSignal:e.abortSignal,includeRawChunks:e.includeRawChunks})}}},tZ=(0,o.lazySchema)(()=>(0,o.zodSchema)(n.z.object({id:n.z.string(),name:n.z.string().nullish(),description:n.z.string().nullish(),default_version:n.z.string().nullish(),latest_version:n.z.string().nullish(),created_at:n.z.number(),updated_at:n.z.number().nullish()})));(0,o.lazySchema)(()=>(0,o.zodSchema)(n.z.object({id:n.z.string(),version:n.z.string().nullish(),name:n.z.string().nullish(),description:n.z.string().nullish()})));var tX=class{constructor(e){this.config=e,this.specificationVersion="v4"}get provider(){return this.config.provider}async uploadSkill(e){let t=[];null!=e.displayTitle&&t.push({type:"unsupported",feature:"displayTitle"});let r=new FormData;for(let t of e.files){let e=(0,o.convertInlineFileDataToUint8Array)(t.data);r.append("files[]",new Blob([e]),t.path)}let{value:n}=await (0,o.postFormDataToApi)({url:this.config.url({path:"/skills"}),headers:(0,o.combineHeaders)(this.config.headers()),formData:r,failedResponseHandler:l,successfulResponseHandler:(0,o.createJsonResponseHandler)(tZ),fetch:this.config.fetch});return{providerReference:{openai:n.id},...null!=n.name?{name:n.name}:{},...null!=n.description?{description:n.description}:{},...null!=n.latest_version?{latestVersion:n.latest_version}:{},providerMetadata:{openai:{...null!=n.default_version?{defaultVersion:n.default_version}:{},...null!=n.created_at?{createdAt:n.created_at}:{},...null!=n.updated_at?{updatedAt:n.updated_at}:{}}},warnings:t}}};function tQ(e={}){var t,r;let n=null!=(t=(0,o.withoutTrailingSlash)((0,o.validateBaseURL)((0,o.loadOptionalSetting)({settingValue:e.baseURL,environmentVariableName:"OPENAI_BASE_URL"}))))?t:"https://api.openai.com/v1",a=null!=(r=e.name)?r:"openai",i=()=>(0,o.withUserAgentSuffix)({Authorization:`Bearer ${(0,o.loadApiKey)({apiKey:e.apiKey,environmentVariableName:"OPENAI_API_KEY",description:"OpenAI"})}`,"OpenAI-Organization":e.organization,"OpenAI-Project":e.project,...e.headers},"ai-sdk/openai/4.0.60"),l=t=>new j(t,{provider:`${a}.embedding`,url:({path:e})=>`${n}${e}`,headers:i,fetch:e.fetch}),s=t=>new W(t,{provider:`${a}.image`,url:({path:e})=>`${n}${e}`,headers:i,fetch:e.fetch}),u=t=>new tK(t,{provider:`${a}.transcription`,url:({path:e})=>`${n}${e}`,headers:i,fetch:e.fetch,webSocket:e.webSocket}),d=t=>new tY(t,{provider:`${a}.speech-translation`,url:({path:e})=>`${n}${e}`,headers:i,fetch:e.fetch,webSocket:e.webSocket}),c=t=>new tB(t,{provider:`${a}.speech`,url:({path:e})=>`${n}${e}`,headers:i,fetch:e.fetch}),p=e=>{if(new.target)throw Error("The OpenAI model function cannot be called with the new keyword.");return h(e)},h=t=>new tN(t,{provider:`${a}.responses`,baseURL:n,url:({path:e})=>`${n}${e}`,headers:i,fetch:e.fetch,fileIdPrefixes:["file-"]}),m=t=>new tU(t,{provider:`${a}.realtime`,baseURL:n,headers:i,fetch:e.fetch}),g=Object.assign(e=>m(e),{getToken:async e=>{let t=m(e.model),o=await t.doCreateClientSecret({sessionConfig:e.sessionConfig,expiresAfterSeconds:e.expiresAfterSeconds});return{token:o.token,url:o.url,expiresAt:o.expiresAt}}}),f=function(e){return p(e)};return f.specificationVersion="v4",f.languageModel=p,f.chat=t=>new z(t,{provider:`${a}.chat`,url:({path:e})=>`${n}${e}`,headers:i,fetch:e.fetch}),f.completion=t=>new E(t,{provider:`${a}.completion`,url:({path:e})=>`${n}${e}`,headers:i,fetch:e.fetch}),f.responses=h,f.embedding=l,f.embeddingModel=l,f.textEmbedding=l,f.textEmbeddingModel=l,f.image=s,f.imageModel=s,f.transcription=u,f.transcriptionModel=u,f.translation=d,f.speechTranslationModel=d,f.speech=c,f.speechModel=c,f.files=()=>new q({provider:`${a}.files`,baseURL:n,headers:i,fetch:e.fetch}),f.skills=()=>new tX({provider:`${a}.skills`,url:({path:e})=>`${n}${e}`,headers:i,fetch:e.fetch}),f.experimental_realtime=g,f.tools=eV,f}tQ(),e.s(["createOpenAI",0,tQ])},853421,e=>{"use strict";var t=e.i(296194),o=e.i(691296),r=e.i(548874),n=e.i(853205),a=n.z.object({imageDetail:n.z.enum(["low","high","auto"]).optional()});async function i(e){var r;let n=[];for(let{role:i,content:l}of e)switch(i){case"system":n.push({role:"system",content:l});break;case"user":{if(1===l.length&&"text"===l[0].type){n.push({role:"user",content:l[0].text});break}let e=[];for(let r of l)switch(r.type){case"text":e.push({type:"text",text:r.text});break;case"file":switch(r.data.type){case"reference":e.push({type:"file",file:{file_id:(0,o.resolveProviderReference)({reference:r.data.reference,provider:"xai"})}});break;case"text":throw new t.UnsupportedFunctionalityError({functionality:"text file parts"});case"url":case"data":if("image"===(0,o.getTopLevelMediaType)(r.mediaType)){let t=await (0,o.parseProviderOptions)({provider:"xai",providerOptions:r.providerOptions,schema:a});e.push({type:"image_url",image_url:{url:"url"===r.data.type?r.data.url.toString():`data:${(0,o.resolveFullMediaType)({part:r})};base64,${(0,o.convertToBase64)(r.data.data)}`,...(null==t?void 0:t.imageDetail)!=null&&{detail:t.imageDetail}}})}else throw new t.UnsupportedFunctionalityError({functionality:`file part media type ${r.mediaType}`})}}n.push({role:"user",content:e});break}case"assistant":{let e="",t=[];for(let o of l)switch(o.type){case"text":e+=o.text;break;case"tool-call":t.push({id:o.toolCallId,type:"function",function:{name:o.toolName,arguments:JSON.stringify(o.input)}})}n.push({role:"assistant",content:e,tool_calls:t.length>0?t:void 0});break}case"tool":for(let e of l){let t;if("tool-approval-response"===e.type)continue;let o=e.output;switch(o.type){case"text":case"error-text":t=o.value;break;case"execution-denied":t=null!=(r=o.reason)?r:"Tool call execution denied.";break;case"content":case"json":case"error-json":t=JSON.stringify(o.value)}n.push({role:"tool",tool_call_id:e.toolCallId,content:t})}break;default:throw Error(`Unsupported role: ${i}`)}return{messages:n,warnings:[]}}function l(e){var t,o,r,n;let a=null!=(o=null==(t=e.prompt_tokens_details)?void 0:t.cached_tokens)?o:0,i=null!=(n=null==(r=e.completion_tokens_details)?void 0:r.reasoning_tokens)?n:0,l=a<=e.prompt_tokens;return{inputTokens:{total:l?e.prompt_tokens:e.prompt_tokens+a,noCache:l?e.prompt_tokens-a:e.prompt_tokens,cacheRead:a,cacheWrite:void 0},outputTokens:{total:e.completion_tokens+i,text:e.completion_tokens,reasoning:i},raw:e}}function s({id:e,model:t,created:r,created_at:n}){return(0,o.createLanguageModelResponseMetadata)({id:e,model:t,created:null!=r?r:n})}function u(e){switch(e){case"stop":return"stop";case"length":return"length";case"tool_calls":case"function_call":return"tool-calls";case"content_filter":return"content-filter";default:return"other"}}var d=/^grok-4\.20(-\d{4})?-(non-)?reasoning$/,c=n.z.object({type:n.z.literal("web"),country:n.z.string().length(2).optional(),excludedWebsites:n.z.array(n.z.string()).max(5).optional(),allowedWebsites:n.z.array(n.z.string()).max(5).optional(),safeSearch:n.z.boolean().optional()}),p=n.z.object({type:n.z.literal("x"),excludedXHandles:n.z.array(n.z.string()).optional(),includedXHandles:n.z.array(n.z.string()).optional(),postFavoriteCount:n.z.number().int().optional(),postViewCount:n.z.number().int().optional(),xHandles:n.z.array(n.z.string()).optional()}),h=n.z.object({type:n.z.literal("news"),country:n.z.string().length(2).optional(),excludedWebsites:n.z.array(n.z.string()).max(5).optional(),safeSearch:n.z.boolean().optional()}),m=n.z.object({type:n.z.literal("rss"),links:n.z.array(n.z.string().url()).max(1)}),g=n.z.discriminatedUnion("type",[c,p,h,m]),f=n.z.object({reasoningEffort:n.z.enum(["none","low","medium","high","xhigh"]).optional(),logprobs:n.z.boolean().optional(),topLogprobs:n.z.number().int().min(0).max(8).optional(),serviceTier:n.z.enum(["default","priority"]).optional(),parallel_function_calling:n.z.boolean().optional(),searchParameters:n.z.object({mode:n.z.enum(["off","auto","on"]),returnCitations:n.z.boolean().optional(),fromDate:n.z.string().optional(),toDate:n.z.string().optional(),maxSearchResults:n.z.number().min(1).max(50).optional(),sources:n.z.array(g).optional()}).optional()}),y=n.z.object({error:n.z.object({message:n.z.string(),type:n.z.string().nullish(),param:n.z.any().nullish(),code:n.z.union([n.z.string(),n.z.number()]).nullish()})}),v=n.z.object({code:n.z.string(),error:n.z.string()}),b=n.z.object({error:n.z.string()}),_=n.z.union([y,v,b]),w=(0,o.createJsonErrorResponseHandler)({errorSchema:_,errorToMessage:e=>"string"==typeof e.error?"code"in e?`${e.code}: ${e.error}`:e.error:e.error.message});function z(e){if(Array.isArray(e))return e.map(z);if(null==e||"object"!=typeof e)return e;let t={};for(let[o,r]of Object.entries(e))("additionalProperties"!==o||!1!==r)&&(t[o]=z(r));return t}var x=class e{constructor(e,t){this.specificationVersion="v4",this.supportedUrls={"image/*":[/^https?:\/\/.*$/]},this.modelId=e,this.config=t}static[r.WORKFLOW_SERIALIZE](e){return(0,o.serializeModelOptions)({modelId:e.modelId,config:e.config})}static[r.WORKFLOW_DESERIALIZE](t){return new e(t.modelId,t.config)}get provider(){return this.config.provider}async getArgs({prompt:e,maxOutputTokens:r,temperature:n,topP:a,topK:l,frequencyPenalty:s,presencePenalty:u,stopSequences:c,seed:p,reasoning:h,responseFormat:m,providerOptions:g,tools:y,toolChoice:v}){var b,_,w,x;let T=[],k=null!=(b=await (0,o.parseProviderOptions)({provider:"xai",providerOptions:g,schema:f}))?b:{};null!=l&&T.push({type:"unsupported",feature:"topK"}),null!=s&&T.push({type:"unsupported",feature:"frequencyPenalty"}),null!=u&&T.push({type:"unsupported",feature:"presencePenalty"}),null!=c&&T.push({type:"unsupported",feature:"stopSequences"});let{messages:I,warnings:S}=await i(e);T.push(...S);let{tools:C,toolChoice:E,toolWarnings:A}=function({tools:e,toolChoice:o}){e=(null==e?void 0:e.length)?e:void 0;let r=[];if(null==e)return{tools:void 0,toolChoice:void 0,toolWarnings:r};let n=[];for(let t of e)"provider"===t.type?r.push({type:"unsupported",feature:`provider-defined tool ${t.name}`}):n.push({type:"function",function:{name:t.name,description:t.description,parameters:z(t.inputSchema),...null!=t.strict?{strict:t.strict}:{}}});if(null==o)return{tools:n,toolChoice:void 0,toolWarnings:r};let a=o.type;switch(a){case"auto":case"none":return{tools:n,toolChoice:a,toolWarnings:r};case"required":return{tools:n,toolChoice:"required",toolWarnings:r};case"tool":return{tools:n,toolChoice:{type:"function",function:{name:o.toolName}},toolWarnings:r};default:throw new t.UnsupportedFunctionalityError({functionality:`tool choice type: ${a}`})}}({tools:y,toolChoice:v});T.push(...A);let O=k.reasoningEffort;return null==O&&(0,o.isCustomReasoning)(h)&&((x=this.modelId,d.test(x))?T.push({type:"unsupported",feature:"reasoning",details:`reasoning "${h}" is not supported by this model.`}):O="none"===h?"none":(0,o.mapReasoningToProviderEffort)({reasoning:h,effortMap:{minimal:"low",low:"low",medium:"medium",high:"high",xhigh:"grok-4.6"===this.modelId?"xhigh":"high"},warnings:T})),{args:{model:this.modelId,logprobs:!0===k.logprobs||null!=k.topLogprobs||void 0,top_logprobs:k.topLogprobs,max_completion_tokens:r,temperature:n,top_p:a,seed:p,reasoning_effort:O,service_tier:k.serviceTier,parallel_function_calling:k.parallel_function_calling,response_format:(null==m?void 0:m.type)==="json"?null!=m.schema?{type:"json_schema",json_schema:{name:null!=(_=m.name)?_:"response",schema:m.schema,strict:!0}}:{type:"json_object"}:void 0,search_parameters:k.searchParameters?{mode:k.searchParameters.mode,return_citations:k.searchParameters.returnCitations,from_date:k.searchParameters.fromDate,to_date:k.searchParameters.toDate,max_search_results:k.searchParameters.maxSearchResults,sources:null==(w=k.searchParameters.sources)?void 0:w.map(e=>{var t;return{type:e.type,..."web"===e.type&&{country:e.country,excluded_websites:e.excludedWebsites,allowed_websites:e.allowedWebsites,safe_search:e.safeSearch},..."x"===e.type&&{excluded_x_handles:e.excludedXHandles,included_x_handles:null!=(t=e.includedXHandles)?t:e.xHandles,post_favorite_count:e.postFavoriteCount,post_view_count:e.postViewCount},..."news"===e.type&&{country:e.country,excluded_websites:e.excludedWebsites,safe_search:e.safeSearch},..."rss"===e.type&&{links:e.links}}})}:void 0,messages:I,tools:C,tool_choice:E},warnings:T}}async doGenerate(e){var r,n,a,i;let{args:d,warnings:c}=await this.getArgs(e),p=`${null!=(r=this.config.baseURL)?r:"https://api.x.ai/v1"}/chat/completions`,{responseHeaders:h,value:m,rawValue:g}=await (0,o.postJsonToApi)({url:p,headers:(0,o.combineHeaders)(null==(a=(n=this.config).headers)?void 0:a.call(n),e.headers),body:d,failedResponseHandler:w,successfulResponseHandler:(0,o.createJsonResponseHandler)(k),abortSignal:e.abortSignal,fetch:this.config.fetch});if(null!=m.error)throw new t.APICallError({message:m.error,url:p,requestBodyValues:d,statusCode:200,responseHeaders:h,responseBody:JSON.stringify(g),isRetryable:"The service is currently unavailable"===m.code});let f=m.choices[0],y=[];if(null!=f.message.content&&f.message.content.length>0){let e=f.message.content,t=d.messages[d.messages.length-1];(null==t?void 0:t.role)==="assistant"&&e===t.content&&(e=""),e.length>0&&y.push({type:"text",text:e})}if(null!=f.message.reasoning_content&&f.message.reasoning_content.length>0&&y.push({type:"reasoning",text:f.message.reasoning_content}),null!=f.message.tool_calls)for(let e of f.message.tool_calls)y.push({type:"tool-call",toolCallId:e.id,toolName:e.function.name,input:e.function.arguments});if(null!=m.citations)for(let e of m.citations)y.push({type:"source",sourceType:"url",id:this.config.generateId(),url:e});return{content:y,finishReason:{unified:u(f.finish_reason),raw:null!=(i=f.finish_reason)?i:void 0},usage:m.usage?l(m.usage):{inputTokens:{total:0,noCache:0,cacheRead:0,cacheWrite:0},outputTokens:{total:0,text:0,reasoning:0}},...null!=m.service_tier&&{providerMetadata:{xai:{serviceTier:m.service_tier}}},request:{body:d},response:{...s(m),headers:h,body:g},warnings:c}}async doStream(e){var r,n,a;let i,d,c,{args:p,warnings:h}=await this.getArgs(e),m={...p,stream:!0,stream_options:{include_usage:!0}},g=`${null!=(r=this.config.baseURL)?r:"https://api.x.ai/v1"}/chat/completions`,{responseHeaders:f,value:y}=await (0,o.postJsonToApi)({url:g,headers:(0,o.combineHeaders)(null==(a=(n=this.config).headers)?void 0:a.call(n),e.headers),body:m,failedResponseHandler:w,successfulResponseHandler:async({response:e})=>{let r=(0,o.extractResponseHeaders)(e),n=e.headers.get("content-type");if(null==n?void 0:n.includes("application/json")){let n=await e.text(),a=await (0,o.safeParseJSON)({text:n,schema:S});if(a.success)throw new t.APICallError({message:a.value.error,url:g,requestBodyValues:m,statusCode:200,responseHeaders:r,responseBody:n,isRetryable:"The service is currently unavailable"===a.value.code});throw new t.APICallError({message:"Invalid JSON response",url:g,requestBodyValues:m,statusCode:200,responseHeaders:r,responseBody:n})}return(0,o.createEventSourceResponseHandler)(I)({response:e,url:g,requestBodyValues:m})},abortSignal:e.abortSignal,fetch:this.config.fetch}),v={unified:"other",raw:void 0},b=!0,_={},z={},x=this;return{stream:y.pipeThrough(new TransformStream({start(e){e.enqueue({type:"stream-start",warnings:h})},transform(t,o){if(e.includeRawChunks&&o.enqueue({type:"raw",rawValue:t.rawValue}),!t.success)return void o.enqueue({type:"error",error:t.error});let r=t.value;if(b&&(o.enqueue({type:"response-metadata",...s(r)}),b=!1),null!=r.citations)for(let e of r.citations)o.enqueue({type:"source",sourceType:"url",id:x.config.generateId(),url:e});null!=r.usage&&(i=l(r.usage)),null!=r.service_tier&&(d=r.service_tier);let n=r.choices[0];if((null==n?void 0:n.finish_reason)!=null&&(v={unified:u(n.finish_reason),raw:n.finish_reason}),(null==n?void 0:n.delta)==null)return;let a=n.delta,p=n.index;if(null!=a.content&&a.content.length>0){let e=a.content;null==c||_[c].ended||(o.enqueue({type:"reasoning-end",id:c}),_[c].ended=!0,c=void 0);let t=m.messages[m.messages.length-1];if((null==t?void 0:t.role)==="assistant"&&e===t.content)return;let n=`text-${r.id||p}`;null==_[n]&&(_[n]={type:"text",ended:!1},o.enqueue({type:"text-start",id:n})),o.enqueue({type:"text-delta",id:n,delta:e})}if(null!=a.reasoning_content&&a.reasoning_content.length>0){let e=`reasoning-${r.id||p}`;if(z[e]===a.reasoning_content)return;z[e]=a.reasoning_content,null==_[e]&&(_[e]={type:"reasoning",ended:!1},c=e,o.enqueue({type:"reasoning-start",id:e})),o.enqueue({type:"reasoning-delta",id:e,delta:a.reasoning_content})}if(null!=a.tool_calls)for(let e of(null==c||_[c].ended||(o.enqueue({type:"reasoning-end",id:c}),_[c].ended=!0,c=void 0),a.tool_calls)){let t=e.id;o.enqueue({type:"tool-input-start",id:t,toolName:e.function.name}),o.enqueue({type:"tool-input-delta",id:t,delta:e.function.arguments}),o.enqueue({type:"tool-input-end",id:t}),o.enqueue({type:"tool-call",toolCallId:t,toolName:e.function.name,input:e.function.arguments})}},flush(e){for(let[t,o]of Object.entries(_))o.ended||e.enqueue({type:"text"===o.type?"text-end":"reasoning-end",id:t});e.enqueue({type:"finish",finishReason:v,usage:null!=i?i:{inputTokens:{total:0,noCache:0,cacheRead:0,cacheWrite:0},outputTokens:{total:0,text:0,reasoning:0}},...null!=d&&{providerMetadata:{xai:{serviceTier:d}}}})}})),request:{body:m},response:{headers:f}}}},T=n.z.object({prompt_tokens:n.z.number(),completion_tokens:n.z.number(),total_tokens:n.z.number(),cost_in_usd_ticks:n.z.number().nullish(),prompt_tokens_details:n.z.object({text_tokens:n.z.number().nullish(),audio_tokens:n.z.number().nullish(),image_tokens:n.z.number().nullish(),cached_tokens:n.z.number().nullish()}).catchall(n.z.json()).nullish(),completion_tokens_details:n.z.object({reasoning_tokens:n.z.number().nullish(),audio_tokens:n.z.number().nullish(),accepted_prediction_tokens:n.z.number().nullish(),rejected_prediction_tokens:n.z.number().nullish()}).catchall(n.z.json()).nullish()}).catchall(n.z.json()),k=n.z.object({id:n.z.string().nullish(),created:n.z.number().nullish(),model:n.z.string().nullish(),choices:n.z.array(n.z.object({message:n.z.object({role:n.z.enum(["assistant","tool"]),content:n.z.string().nullish(),reasoning_content:n.z.string().nullish(),tool_calls:n.z.array(n.z.object({id:n.z.string(),type:n.z.literal("function"),function:n.z.object({name:n.z.string(),arguments:n.z.string()})})).nullish()}),index:n.z.number(),finish_reason:n.z.string().nullish()})).nullish(),object:n.z.literal("chat.completion").nullish(),usage:T.nullish(),citations:n.z.array(n.z.string().url()).nullish(),service_tier:n.z.string().nullish(),code:n.z.string().nullish(),error:n.z.string().nullish()}),I=n.z.object({id:n.z.string().nullish(),created:n.z.number().nullish(),model:n.z.string().nullish(),choices:n.z.array(n.z.object({delta:n.z.object({role:n.z.enum(["assistant"]).optional(),content:n.z.string().nullish(),reasoning_content:n.z.string().nullish(),tool_calls:n.z.array(n.z.object({id:n.z.string(),type:n.z.literal("function"),function:n.z.object({name:n.z.string(),arguments:n.z.string()})})).nullish()}),finish_reason:n.z.string().nullish(),index:n.z.number()})),usage:T.nullish(),citations:n.z.array(n.z.string().url()).nullish(),service_tier:n.z.string().nullish()}),S=n.z.object({code:n.z.string(),error:n.z.string()}),C=n.z.object({aspect_ratio:n.z.string().optional(),output_format:n.z.string().optional(),sync_mode:n.z.boolean().optional(),resolution:n.z.enum(["1k","2k"]).optional(),quality:n.z.enum(["low","medium","high"]).optional(),user:n.z.string().optional()}),E=class e{constructor(e,t){this.modelId=e,this.config=t,this.specificationVersion="v4",this.maxImagesPerCall=3}get provider(){return this.config.provider}static[r.WORKFLOW_SERIALIZE](e){return(0,o.serializeModelOptions)({modelId:e.modelId,config:e.config})}static[r.WORKFLOW_DESERIALIZE](t){return new e(t.modelId,t.config)}async doGenerate({prompt:e,n:t,size:r,aspectRatio:n,seed:a,providerOptions:i,headers:l,abortSignal:s,files:u,mask:d}){var c,p,h,m,g,f,y;let v=[];null!=r&&v.push({type:"unsupported",feature:"size",details:"This model does not support the `size` option. Use `aspectRatio` instead."}),null!=a&&v.push({type:"unsupported",feature:"seed"}),null!=d&&v.push({type:"unsupported",feature:"mask"});let b=await (0,o.parseProviderOptions)({provider:"xai",providerOptions:i,schema:C}),_=null!=u&&u.length>0,z=_?u.map(e=>(0,o.convertImageModelFileToDataUri)(e)):[],x={model:this.modelId,prompt:e,n:t,response_format:"b64_json"};null!=n&&(x.aspect_ratio=n),(null==b?void 0:b.output_format)!=null&&(x.output_format=b.output_format),(null==b?void 0:b.sync_mode)!=null&&(x.sync_mode=b.sync_mode),(null==b?void 0:b.aspect_ratio)!=null&&null==n&&(x.aspect_ratio=b.aspect_ratio),(null==b?void 0:b.resolution)!=null&&(x.resolution=b.resolution),(null==b?void 0:b.quality)!=null&&(x.quality=b.quality),(null==b?void 0:b.user)!=null&&(x.user=b.user),1===z.length?x.image={url:z[0],type:"image_url"}:z.length>1&&(x.images=z.map(e=>({url:e,type:"image_url"})));let T=null!=(c=this.config.baseURL)?c:"https://api.x.ai/v1",k=null!=(m=null==(h=null==(p=this.config._internal)?void 0:p.currentDate)?void 0:h.call(p))?m:new Date,{value:I,responseHeaders:S}=await (0,o.postJsonToApi)({url:`${T}${_?"/images/edits":"/images/generations"}`,headers:(0,o.combineHeaders)(null==(f=(g=this.config).headers)?void 0:f.call(g),l),body:x,failedResponseHandler:w,successfulResponseHandler:(0,o.createJsonResponseHandler)(A),abortSignal:s,fetch:this.config.fetch});if(I.data.some(e=>!1===e.respect_moderation))throw Error("Image generation was blocked due to a content policy violation.");return{images:I.data.every(e=>null!=e.b64_json)?I.data.map(e=>e.b64_json):await Promise.all(I.data.map(e=>this.downloadImage(e.url,s))),warnings:v,response:{timestamp:k,modelId:this.modelId,headers:S},providerMetadata:{xai:{images:I.data.map(e=>({...e.revised_prompt?{revisedPrompt:e.revised_prompt}:{}})),...(null==(y=I.usage)?void 0:y.cost_in_usd_ticks)!=null?{costInUsdTicks:I.usage.cost_in_usd_ticks}:{}}}}}async downloadImage(e,t){let{value:r}=await (0,o.getFromApi)({url:e,validateUrl:!0,trustedOrigin:this.config.baseURL,abortSignal:t,failedResponseHandler:(0,o.createStatusCodeErrorResponseHandler)(),successfulResponseHandler:(0,o.createBinaryResponseHandler)(),fetch:this.config.fetch});return r}},A=n.z.object({data:n.z.array(n.z.object({url:n.z.string().nullish(),b64_json:n.z.string().nullish(),revised_prompt:n.z.string().nullish(),respect_moderation:n.z.boolean().nullish()})),usage:n.z.object({cost_in_usd_ticks:n.z.number().nullish()}).nullish()}),O=(0,o.lazySchema)(()=>(0,o.zodSchema)(n.z.object({id:n.z.string(),object:n.z.string().nullish(),bytes:n.z.number().nullish(),created_at:n.z.number().nullish(),expires_at:n.z.number().nullish(),filename:n.z.string().nullish(),purpose:n.z.string().nullish(),status:n.z.string().nullish()}))),M=(0,o.lazySchema)(()=>(0,o.zodSchema)(n.z.object({id:n.z.string(),object:n.z.string().nullish(),deleted:n.z.boolean()})));async function j({prompt:e}){var r,n,i,l,s,u,d,c,p;let h=[],m=[];for(let g of e)switch(g.role){case"system":h.push({role:"system",content:g.content});break;case"user":{let e=[];for(let r of g.content)switch(r.type){case"text":e.push({type:"input_text",text:r.text});break;case"file":switch(r.data.type){case"reference":e.push({type:"input_file",file_id:(0,o.resolveProviderReference)({reference:r.data.reference,provider:"xai"})});break;case"text":throw new t.UnsupportedFunctionalityError({functionality:"text file parts"});case"url":case"data":if("image"===(0,o.getTopLevelMediaType)(r.mediaType)){let t="url"===r.data.type?r.data.url.toString():`data:${(0,o.resolveFullMediaType)({part:r})};base64,${(0,o.convertToBase64)(r.data.data)}`,n=await (0,o.parseProviderOptions)({provider:"xai",providerOptions:r.providerOptions,schema:a});e.push({type:"input_image",image_url:t,...(null==n?void 0:n.imageDetail)!=null&&{detail:n.imageDetail}})}else if("url"===r.data.type)e.push({type:"input_file",file_url:r.data.url.toString()});else throw new t.UnsupportedFunctionalityError({functionality:`file part media type ${r.mediaType} as inline data (xAI Responses requires a URL or a Files API reference for non-image files)`})}break;default:m.push({type:"other",message:"xAI Responses API does not support this content type in user messages"})}h.push({role:"user",content:e});break}case"assistant":for(let e of g.content)switch(e.type){case"text":{let t="string"==typeof(null==(n=null==(r=e.providerOptions)?void 0:r.xai)?void 0:n.itemId)?e.providerOptions.xai.itemId:void 0;h.push({role:"assistant",content:e.text,id:t});break}case"tool-call":{if(e.providerExecuted)break;let t="string"==typeof(null==(l=null==(i=e.providerOptions)?void 0:i.xai)?void 0:l.itemId)?e.providerOptions.xai.itemId:void 0;h.push({type:"function_call",id:null!=t?t:e.toolCallId,call_id:e.toolCallId,name:e.toolName,arguments:JSON.stringify(e.input),status:"completed"});break}case"tool-result":break;case"reasoning":{let t="string"==typeof(null==(u=null==(s=e.providerOptions)?void 0:s.xai)?void 0:u.itemId)?e.providerOptions.xai.itemId:void 0,o="string"==typeof(null==(c=null==(d=e.providerOptions)?void 0:d.xai)?void 0:c.reasoningEncryptedContent)?e.providerOptions.xai.reasoningEncryptedContent:void 0;if(null!=t||null!=o){let r=[];e.text.length>0&&r.push({type:"summary_text",text:e.text}),h.push({type:"reasoning",id:null!=t?t:"",summary:r,status:"completed",...null!=o&&{encrypted_content:o}})}else m.push({type:"other",message:"Reasoning parts without itemId or encrypted content cannot be sent back to xAI. Skipping."});break}case"reasoning-file":case"custom":case"file":m.push({type:"other",message:`xAI Responses API does not support ${e.type} in assistant messages`});break;default:m.push({type:"other",message:"xAI Responses API does not support this content type in assistant messages"})}break;case"tool":for(let e of g.content){let t;if("tool-approval-response"===e.type)continue;let r=e.output;switch(r.type){case"text":case"error-text":t=r.value;break;case"execution-denied":t=null!=(p=r.reason)?p:"tool execution denied";break;case"json":case"error-json":t=JSON.stringify(r.value);break;case"content":for(let e of(t=[],r.value))switch(e.type){case"text":t.push({type:"input_text",text:e.text});break;case"file":"image"===(0,o.getTopLevelMediaType)(e.mediaType)&&("data"===e.data.type||"url"===e.data.type)&&t.push({type:"input_image",image_url:"url"===e.data.type?e.data.url.toString():`data:${(0,o.resolveFullMediaType)({part:e})};base64,${(0,o.convertToBase64)(e.data.data)}`})}break;default:t=""}h.push({type:"function_call_output",call_id:e.toolCallId,output:t})}break;default:m.push({type:"other",message:"unsupported message role"})}return{input:h,inputWarnings:m}}function R(e){var t,o,r,n;let a=null!=(o=null==(t=e.input_tokens_details)?void 0:t.cached_tokens)?o:0,i=null!=(n=null==(r=e.output_tokens_details)?void 0:r.reasoning_tokens)?n:0,l=a<=e.input_tokens;return{inputTokens:{total:l?e.input_tokens:e.input_tokens+a,noCache:l?e.input_tokens-a:e.input_tokens,cacheRead:a,cacheWrite:void 0},outputTokens:{total:e.output_tokens,text:e.output_tokens-i,reasoning:i},raw:e}}function N(e){switch(e){case"stop":case"completed":return"stop";case"length":case"max_output_tokens":return"length";case"tool_calls":case"function_call":return"tool-calls";case"content_filter":return"content-filter";default:return"other"}}var P=n.z.union([n.z.object({type:n.z.literal("url_citation"),url:n.z.string(),title:n.z.string().optional()}),n.z.object({type:n.z.string()})]),$=n.z.object({type:n.z.string(),text:n.z.string().optional(),logprobs:n.z.array(n.z.any()).optional(),annotations:n.z.array(P).optional()}),q=n.z.object({type:n.z.string(),text:n.z.string()}),L=n.z.object({name:n.z.string().optional(),arguments:n.z.string().optional(),input:n.z.string().optional(),call_id:n.z.string().optional(),id:n.z.string(),status:n.z.string(),action:n.z.any().optional()}),D=n.z.object({type:n.z.literal("url"),url:n.z.string()}),U=n.z.discriminatedUnion("type",[n.z.object({type:n.z.literal("search"),query:n.z.string().nullish(),queries:n.z.array(n.z.string()).nullish(),sources:n.z.array(n.z.unknown()).nullish()}),n.z.object({type:n.z.literal("open_page"),url:n.z.string().nullish(),sources:n.z.array(n.z.unknown()).nullish()}),n.z.object({type:n.z.literal("find_in_page"),url:n.z.string().nullish(),pattern:n.z.string().nullish(),sources:n.z.array(n.z.unknown()).nullish()})]),F=n.z.object({name:n.z.string().optional(),arguments:n.z.string().optional(),output:n.z.string().optional(),error:n.z.string().optional(),id:n.z.string(),status:n.z.string(),server_label:n.z.string().optional()}),B=n.z.discriminatedUnion("type",[n.z.object({type:n.z.literal("web_search_call"),...L.shape}),n.z.object({type:n.z.literal("x_search_call"),...L.shape}),n.z.object({type:n.z.literal("code_interpreter_call"),...L.shape}),n.z.object({type:n.z.literal("code_execution_call"),...L.shape}),n.z.object({type:n.z.literal("view_image_call"),...L.shape}),n.z.object({type:n.z.literal("view_x_video_call"),...L.shape}),n.z.object({type:n.z.literal("file_search_call"),id:n.z.string(),status:n.z.string(),queries:n.z.array(n.z.string()).optional(),results:n.z.array(n.z.object({file_id:n.z.string(),filename:n.z.string(),score:n.z.number(),text:n.z.string()})).nullish()}),n.z.object({type:n.z.literal("image_generation_call"),id:n.z.string(),status:n.z.string(),prompt:n.z.string().nullish(),result:n.z.string().nullish()}),n.z.object({type:n.z.literal("custom_tool_call"),...L.shape}),n.z.object({type:n.z.literal("mcp_call"),...F.shape}),n.z.object({type:n.z.literal("message"),role:n.z.string(),content:n.z.array($),id:n.z.string(),status:n.z.string()}),n.z.object({type:n.z.literal("function_call"),name:n.z.string(),arguments:n.z.string(),call_id:n.z.string(),id:n.z.string()}),n.z.object({type:n.z.literal("reasoning"),id:n.z.string(),summary:n.z.array(q),content:n.z.array(n.z.object({type:n.z.string(),text:n.z.string()})).nullish(),status:n.z.string(),encrypted_content:n.z.string().nullish()})]),H=n.z.object({input_tokens:n.z.number(),output_tokens:n.z.number(),total_tokens:n.z.number().optional(),input_tokens_details:n.z.object({cached_tokens:n.z.number().optional()}).catchall(n.z.json()).optional(),output_tokens_details:n.z.object({reasoning_tokens:n.z.number().optional()}).catchall(n.z.json()).optional(),num_sources_used:n.z.number().optional(),num_server_side_tools_used:n.z.number().optional(),cost_in_usd_ticks:n.z.number().nullish()}).catchall(n.z.json()),W=n.z.object({id:n.z.string().nullish(),created_at:n.z.number().nullish(),model:n.z.string().nullish(),object:n.z.literal("response"),output:n.z.array(B),usage:H.nullish(),status:n.z.string(),service_tier:n.z.string().nullish()}),V=n.z.union([n.z.object({type:n.z.literal("response.created"),response:W.partial({usage:!0,status:!0})}),n.z.object({type:n.z.literal("response.in_progress"),response:W.partial({usage:!0,status:!0})}),n.z.object({type:n.z.literal("response.output_item.added"),item:B,output_index:n.z.number()}),n.z.object({type:n.z.literal("response.output_item.done"),item:B,output_index:n.z.number()}),n.z.object({type:n.z.literal("response.content_part.added"),item_id:n.z.string(),output_index:n.z.number(),content_index:n.z.number(),part:$}),n.z.object({type:n.z.literal("response.content_part.done"),item_id:n.z.string(),output_index:n.z.number(),content_index:n.z.number(),part:$}),n.z.object({type:n.z.literal("response.output_text.delta"),item_id:n.z.string(),output_index:n.z.number(),content_index:n.z.number(),delta:n.z.string(),logprobs:n.z.array(n.z.any()).optional()}),n.z.object({type:n.z.literal("response.output_text.done"),item_id:n.z.string(),output_index:n.z.number(),content_index:n.z.number(),text:n.z.string(),logprobs:n.z.array(n.z.any()).optional(),annotations:n.z.array(P).optional()}),n.z.object({type:n.z.literal("response.output_text.annotation.added"),item_id:n.z.string(),output_index:n.z.number(),content_index:n.z.number(),annotation_index:n.z.number(),annotation:P}),n.z.object({type:n.z.literal("response.reasoning_summary_part.added"),item_id:n.z.string(),output_index:n.z.number(),summary_index:n.z.number(),part:q}),n.z.object({type:n.z.literal("response.reasoning_summary_part.done"),item_id:n.z.string(),output_index:n.z.number(),summary_index:n.z.number(),part:q}),n.z.object({type:n.z.literal("response.reasoning_summary_text.delta"),item_id:n.z.string(),output_index:n.z.number(),summary_index:n.z.number(),delta:n.z.string()}),n.z.object({type:n.z.literal("response.reasoning_summary_text.done"),item_id:n.z.string(),output_index:n.z.number(),summary_index:n.z.number(),text:n.z.string()}),n.z.object({type:n.z.literal("response.reasoning_text.delta"),item_id:n.z.string(),output_index:n.z.number(),content_index:n.z.number(),delta:n.z.string()}),n.z.object({type:n.z.literal("response.reasoning_text.done"),item_id:n.z.string(),output_index:n.z.number(),content_index:n.z.number(),text:n.z.string()}),n.z.object({type:n.z.literal("response.web_search_call.in_progress"),item_id:n.z.string(),output_index:n.z.number()}),n.z.object({type:n.z.literal("response.web_search_call.searching"),item_id:n.z.string(),output_index:n.z.number()}),n.z.object({type:n.z.literal("response.web_search_call.completed"),item_id:n.z.string(),output_index:n.z.number()}),n.z.object({type:n.z.literal("response.x_search_call.in_progress"),item_id:n.z.string(),output_index:n.z.number()}),n.z.object({type:n.z.literal("response.x_search_call.searching"),item_id:n.z.string(),output_index:n.z.number()}),n.z.object({type:n.z.literal("response.x_search_call.completed"),item_id:n.z.string(),output_index:n.z.number()}),n.z.object({type:n.z.literal("response.file_search_call.in_progress"),item_id:n.z.string(),output_index:n.z.number()}),n.z.object({type:n.z.literal("response.file_search_call.searching"),item_id:n.z.string(),output_index:n.z.number()}),n.z.object({type:n.z.literal("response.file_search_call.completed"),item_id:n.z.string(),output_index:n.z.number()}),n.z.object({type:n.z.literal("response.image_generation_call.in_progress"),item_id:n.z.string(),output_index:n.z.number()}),n.z.object({type:n.z.literal("response.image_generation_call.generating"),item_id:n.z.string(),output_index:n.z.number()}),n.z.object({type:n.z.literal("response.image_generation_call.completed"),item_id:n.z.string(),output_index:n.z.number()}),n.z.object({type:n.z.literal("response.code_execution_call.in_progress"),item_id:n.z.string(),output_index:n.z.number()}),n.z.object({type:n.z.literal("response.code_execution_call.executing"),item_id:n.z.string(),output_index:n.z.number()}),n.z.object({type:n.z.literal("response.code_execution_call.completed"),item_id:n.z.string(),output_index:n.z.number()}),n.z.object({type:n.z.literal("response.code_interpreter_call.in_progress"),item_id:n.z.string(),output_index:n.z.number()}),n.z.object({type:n.z.literal("response.code_interpreter_call.executing"),item_id:n.z.string(),output_index:n.z.number()}),n.z.object({type:n.z.literal("response.code_interpreter_call.interpreting"),item_id:n.z.string(),output_index:n.z.number()}),n.z.object({type:n.z.literal("response.code_interpreter_call.completed"),item_id:n.z.string(),output_index:n.z.number()}),n.z.object({type:n.z.literal("response.code_interpreter_call_code.delta"),item_id:n.z.string(),output_index:n.z.number(),delta:n.z.string()}),n.z.object({type:n.z.literal("response.code_interpreter_call_code.done"),item_id:n.z.string(),output_index:n.z.number(),code:n.z.string()}),n.z.object({type:n.z.literal("response.custom_tool_call_input.delta"),item_id:n.z.string(),output_index:n.z.number(),delta:n.z.string()}),n.z.object({type:n.z.literal("response.custom_tool_call_input.done"),item_id:n.z.string(),output_index:n.z.number(),input:n.z.string()}),n.z.object({type:n.z.literal("response.function_call_arguments.delta"),item_id:n.z.string(),output_index:n.z.number(),delta:n.z.string()}),n.z.object({type:n.z.literal("response.function_call_arguments.done"),item_id:n.z.string(),output_index:n.z.number(),arguments:n.z.string()}),n.z.object({type:n.z.literal("response.mcp_call.in_progress"),item_id:n.z.string(),output_index:n.z.number()}),n.z.object({type:n.z.literal("response.mcp_call.executing"),item_id:n.z.string(),output_index:n.z.number()}),n.z.object({type:n.z.literal("response.mcp_call.completed"),item_id:n.z.string(),output_index:n.z.number()}),n.z.object({type:n.z.literal("response.mcp_call.failed"),item_id:n.z.string(),output_index:n.z.number()}),n.z.object({type:n.z.literal("response.mcp_call_arguments.delta"),item_id:n.z.string(),output_index:n.z.number(),delta:n.z.string()}),n.z.object({type:n.z.literal("response.mcp_call_arguments.done"),item_id:n.z.string(),output_index:n.z.number(),arguments:n.z.string().optional()}),n.z.object({type:n.z.literal("response.mcp_call_output.delta"),item_id:n.z.string(),output_index:n.z.number(),delta:n.z.string()}),n.z.object({type:n.z.literal("response.mcp_call_output.done"),item_id:n.z.string(),output_index:n.z.number(),output:n.z.string().optional()}),n.z.object({type:n.z.literal("response.incomplete"),response:n.z.object({incomplete_details:n.z.object({reason:n.z.string()}).nullish(),usage:H.nullish(),service_tier:n.z.string().nullish()})}),n.z.object({type:n.z.literal("response.failed"),response:n.z.object({error:n.z.object({code:n.z.string().nullish(),message:n.z.string()}).nullish(),incomplete_details:n.z.object({reason:n.z.string()}).nullish(),usage:H.nullish()})}),n.z.object({type:n.z.literal("error"),code:n.z.string().nullish(),message:n.z.string(),param:n.z.string().nullish()}),n.z.object({type:n.z.literal("response.done"),response:W}),n.z.object({type:n.z.literal("response.completed"),response:W})]),J=n.z.object({reasoningEffort:n.z.enum(["none","low","medium","high","xhigh"]).optional(),reasoningSummary:n.z.enum(["auto","concise","detailed"]).optional(),logprobs:n.z.boolean().optional(),topLogprobs:n.z.number().int().min(0).max(8).optional(),serviceTier:n.z.enum(["default","priority"]).optional(),store:n.z.boolean().optional(),previousResponseId:n.z.string().optional(),include:n.z.array(n.z.enum(["file_search_call.results"])).nullish()}),K=(0,o.lazySchema)(()=>(0,o.zodSchema)(n.z.object({vectorStoreIds:n.z.array(n.z.string()),maxNumResults:n.z.number().optional()}))),G=(0,o.lazySchema)(()=>(0,o.zodSchema)(n.z.object({queries:n.z.array(n.z.string()),results:n.z.array(n.z.object({fileId:n.z.string(),filename:n.z.string(),score:n.z.number().min(0).max(1),text:n.z.string()})).nullable()}))),Y=(0,o.createProviderExecutedToolFactory)({id:"xai.file_search",inputSchema:(0,o.lazySchema)(()=>(0,o.zodSchema)(n.z.object({}))),outputSchema:G}),Z=(0,o.lazySchema)(()=>(0,o.zodSchema)(n.z.object({action:n.z.enum(["auto","generate","edit"]).optional()}))),X=(0,o.lazySchema)(()=>(0,o.zodSchema)(n.z.object({}))),Q=(0,o.lazySchema)(()=>(0,o.zodSchema)(n.z.object({result:n.z.string(),prompt:n.z.string().optional()}))),ee=(0,o.createProviderExecutedToolFactory)({id:"xai.image_generation",inputSchema:X,outputSchema:Q}),et=(0,o.lazySchema)(()=>(0,o.zodSchema)(n.z.object({serverUrl:n.z.string().describe("The URL of the MCP server"),serverLabel:n.z.string().optional().describe("A label for the MCP server"),serverDescription:n.z.string().optional().describe("Description of the MCP server"),allowedTools:n.z.array(n.z.string()).optional().describe("List of allowed tool names"),headers:n.z.record(n.z.string(),n.z.string()).optional().describe("Custom headers to send"),authorization:n.z.string().optional().describe("Authorization header value")}))),eo=(0,o.lazySchema)(()=>(0,o.zodSchema)(n.z.object({name:n.z.string(),arguments:n.z.string(),result:n.z.unknown()}))),er=(0,o.createProviderExecutedToolFactory)({id:"xai.mcp",inputSchema:(0,o.lazySchema)(()=>(0,o.zodSchema)(n.z.object({}))),outputSchema:eo}),en=(0,o.lazySchema)(()=>(0,o.zodSchema)(n.z.object({allowedDomains:n.z.array(n.z.string()).max(5).optional(),excludedDomains:n.z.array(n.z.string()).max(5).optional(),enableImageSearch:n.z.boolean().optional(),enableImageUnderstanding:n.z.boolean().optional()}))),ea=(0,o.lazySchema)(()=>(0,o.zodSchema)(n.z.object({action:n.z.discriminatedUnion("type",[n.z.object({type:n.z.literal("search"),query:n.z.string().optional(),queries:n.z.array(n.z.string()).optional()}),n.z.object({type:n.z.literal("openPage"),url:n.z.string().nullish()}),n.z.object({type:n.z.literal("findInPage"),url:n.z.string().nullish(),pattern:n.z.string().nullish()})]).optional(),sources:n.z.array(n.z.object({type:n.z.literal("url"),url:n.z.string()})).optional()}))),ei=(0,o.createProviderExecutedToolFactory)({id:"xai.web_search",inputSchema:(0,o.lazySchema)(()=>(0,o.zodSchema)(n.z.object({}))),outputSchema:ea}),el=(0,o.lazySchema)(()=>(0,o.zodSchema)(n.z.object({allowedXHandles:n.z.array(n.z.string()).max(10).optional(),excludedXHandles:n.z.array(n.z.string()).max(10).optional(),fromDate:n.z.string().optional(),toDate:n.z.string().optional(),enableImageUnderstanding:n.z.boolean().optional(),enableVideoUnderstanding:n.z.boolean().optional()}))),es=(0,o.lazySchema)(()=>(0,o.zodSchema)(n.z.object({query:n.z.string(),posts:n.z.array(n.z.object({author:n.z.string(),text:n.z.string(),url:n.z.string(),likes:n.z.number()}))}))),eu=(0,o.createProviderExecutedToolFactory)({id:"xai.x_search",inputSchema:(0,o.lazySchema)(()=>(0,o.zodSchema)(n.z.object({}))),outputSchema:es});async function ed({tools:e,toolChoice:r}){let n=(null==e?void 0:e.length)?e:void 0,a=[];if(null==n)return{tools:void 0,toolChoice:void 0,toolWarnings:a};let i=[],l=new Map;for(let e of n)if(l.set(e.name,e),"provider"===e.type)switch(e.id){case"xai.web_search":{let t=await (0,o.validateTypes)({value:e.args,schema:en});i.push({type:"web_search",allowed_domains:t.allowedDomains,excluded_domains:t.excludedDomains,enable_image_search:t.enableImageSearch,enable_image_understanding:t.enableImageUnderstanding});break}case"xai.x_search":{let t=await (0,o.validateTypes)({value:e.args,schema:el});i.push({type:"x_search",allowed_x_handles:t.allowedXHandles,excluded_x_handles:t.excludedXHandles,from_date:t.fromDate,to_date:t.toDate,enable_image_understanding:t.enableImageUnderstanding,enable_video_understanding:t.enableVideoUnderstanding});break}case"xai.code_execution":i.push({type:"code_interpreter"});break;case"xai.view_image":i.push({type:"view_image"});break;case"xai.view_x_video":i.push({type:"view_x_video"});break;case"xai.image_generation":{let t=await (0,o.validateTypes)({value:e.args,schema:Z});i.push({type:"image_generation",action:t.action});break}case"xai.file_search":{let t=await (0,o.validateTypes)({value:e.args,schema:K});i.push({type:"file_search",vector_store_ids:t.vectorStoreIds,max_num_results:t.maxNumResults});break}case"xai.mcp":{let t=await (0,o.validateTypes)({value:e.args,schema:et});i.push({type:"mcp",server_url:t.serverUrl,server_label:t.serverLabel,server_description:t.serverDescription,allowed_tools:t.allowedTools,headers:t.headers,authorization:t.authorization});break}default:a.push({type:"unsupported",feature:`provider-defined tool ${e.name}`})}else i.push({type:"function",name:e.name,description:e.description,parameters:z(e.inputSchema),...null!=e.strict?{strict:e.strict}:{}});if(null==r)return{tools:i,toolChoice:void 0,toolWarnings:a};let s=r.type;switch(s){case"auto":case"none":return{tools:i,toolChoice:s,toolWarnings:a};case"required":return{tools:i,toolChoice:"required",toolWarnings:a};case"tool":{let e=l.get(r.toolName);if(null==e)return{tools:i,toolChoice:void 0,toolWarnings:a};if("provider"===e.type)return a.push({type:"unsupported",feature:`toolChoice for server-side tool "${e.name}"`}),{tools:i,toolChoice:void 0,toolWarnings:a};return{tools:i,toolChoice:{type:"function",name:e.name},toolWarnings:a}}default:throw new t.UnsupportedFunctionalityError({functionality:`tool choice type: ${s}`})}}function ec({message:e,code:t,eventType:r,data:n}){var a,i;let l,s="number"==typeof(l="string"==typeof(a=t)&&/^\d{3}$/.test(a)?Number(a):a)&&Number.isInteger(l)&&l>=400&&l<=599?l:void 0;return(0,o.createProviderStreamError)({message:e,type:r,code:null!=t?t:void 0,...null!=s?{statusCode:s,isRetryable:408===(i=s)||409===i||429===i||i>=500}:function(e){switch(e){case"rate_limit_exceeded":case"rate_limit_error":return{statusCode:429,isRetryable:!0};case"insufficient_quota":return{statusCode:429,isRetryable:!1};case"api_error":case"internal_server_error":case"server_error":return{statusCode:500,isRetryable:!0};case"overloaded_error":case"service_unavailable":return{statusCode:503,isRetryable:!0};case"timeout":case"timeout_error":return{statusCode:504,isRetryable:!0};case"authentication_error":case"invalid_api_key":return{statusCode:401,isRetryable:!1};case"permission_error":return{statusCode:403,isRetryable:!1};case"not_found_error":case"model_not_found":return{statusCode:404,isRetryable:!1};case"bad_request":case"context_length_exceeded":case"invalid_request_error":return{statusCode:400,isRetryable:!1};default:return{}}}(t),data:n})}var ep=class e{constructor(e,t){this.specificationVersion="v4",this.supportedUrls={"image/*":[/^https?:\/\/.*$/],"application/pdf":[/^https?:\/\/.*$/],"text/*":[/^https?:\/\/.*$/]},this.modelId=e,this.config=t}static[r.WORKFLOW_SERIALIZE](e){return(0,o.serializeModelOptions)({modelId:e.modelId,config:e.config})}static[r.WORKFLOW_DESERIALIZE](t){return new e(t.modelId,t.config)}get provider(){return this.config.provider}async getArgs({prompt:e,maxOutputTokens:t,temperature:r,topP:n,topK:a,frequencyPenalty:i,presencePenalty:l,stopSequences:s,seed:u,responseFormat:c,providerOptions:p,tools:h,toolChoice:m,reasoning:g}){var f,y,v,b,_,w,z,x,T,k;let I=[],S=null!=(f=await (0,o.parseProviderOptions)({provider:"xai",providerOptions:p,schema:J}))?f:{};null!=a&&I.push({type:"unsupported",feature:"topK"}),null!=i&&I.push({type:"unsupported",feature:"frequencyPenalty"}),null!=l&&I.push({type:"unsupported",feature:"presencePenalty"}),null!=s&&I.push({type:"unsupported",feature:"stopSequences"});let C=null==(y=null==h?void 0:h.find(e=>"provider"===e.type&&"xai.web_search"===e.id))?void 0:y.name,E=null==(v=null==h?void 0:h.find(e=>"provider"===e.type&&"xai.x_search"===e.id))?void 0:v.name,A=null==(b=null==h?void 0:h.find(e=>"provider"===e.type&&"xai.code_execution"===e.id))?void 0:b.name,O=null==(_=null==h?void 0:h.find(e=>"provider"===e.type&&"xai.mcp"===e.id))?void 0:_.name,M=null==(w=null==h?void 0:h.find(e=>"provider"===e.type&&"xai.file_search"===e.id))?void 0:w.name,R=null==(z=null==h?void 0:h.find(e=>"provider"===e.type&&"xai.image_generation"===e.id))?void 0:z.name,{input:N,inputWarnings:P}=await j({prompt:e,store:null==(x=S.store)||x});I.push(...P);let{tools:$,toolChoice:q,toolWarnings:L}=await ed({tools:h,toolChoice:m});I.push(...L);let D=S.include?[...S.include]:void 0;!1===S.store&&(D=null==D?["reasoning.encrypted_content"]:[...D,"reasoning.encrypted_content"]);let U=S.reasoningEffort;null==U&&(0,o.isCustomReasoning)(g)&&((k=this.modelId,d.test(k))?I.push({type:"unsupported",feature:"reasoning",details:`reasoning "${g}" is not supported by this model.`}):U="none"===g?"none":(0,o.mapReasoningToProviderEffort)({reasoning:g,effortMap:{minimal:"low",low:"low",medium:"medium",high:"high",xhigh:"grok-4.6"===this.modelId?"xhigh":"high"},warnings:I}));let F={model:this.modelId,input:N,logprobs:!0===S.logprobs||null!=S.topLogprobs||void 0,top_logprobs:S.topLogprobs,max_output_tokens:t,temperature:r,top_p:n,seed:u,...(null==c?void 0:c.type)==="json"&&{text:{format:null!=c.schema?{type:"json_schema",strict:!0,name:null!=(T=c.name)?T:"response",description:c.description,schema:c.schema}:{type:"json_object"}}},...(null!=U||null!=S.reasoningSummary)&&{reasoning:{...null!=U&&{effort:U},...null!=S.reasoningSummary&&{summary:S.reasoningSummary}}},...!1===S.store&&{store:S.store},...null!=D&&{include:D},...null!=S.previousResponseId&&{previous_response_id:S.previousResponseId},...null!=S.serviceTier&&{service_tier:S.serviceTier}};return $&&$.length>0&&(F.tools=$),null!=q&&(F.tool_choice=q),{args:F,warnings:I,webSearchToolName:C,xSearchToolName:E,codeExecutionToolName:A,mcpToolName:O,fileSearchToolName:M,imageGenerationToolName:R}}async doGenerate(e){var t,r,n,a,i,l,u,d,c,p,h,m,g,f,y,v,b,_;let{args:z,warnings:x,webSearchToolName:T,xSearchToolName:k,codeExecutionToolName:I,mcpToolName:S,fileSearchToolName:C,imageGenerationToolName:E}=await this.getArgs(e),{responseHeaders:A,value:O,rawValue:M}=await (0,o.postJsonToApi)({url:`${null!=(t=this.config.baseURL)?t:"https://api.x.ai/v1"}/responses`,headers:(0,o.combineHeaders)(null==(n=(r=this.config).headers)?void 0:n.call(r),e.headers),body:z,failedResponseHandler:w,successfulResponseHandler:(0,o.createJsonResponseHandler)(W),abortSignal:e.abortSignal,fetch:this.config.fetch}),j=[],P=!1,$=["web_search","web_search_with_snippets","browse_page"],q=["x_user_search","x_keyword_search","x_semantic_search","x_thread_fetch"];for(let e of O.output){if("file_search_call"===e.type){let t=null!=C?C:"file_search";j.push({type:"tool-call",toolCallId:e.id,toolName:t,input:"",providerExecuted:!0}),j.push({type:"tool-result",toolCallId:e.id,toolName:t,result:{queries:null!=(a=e.queries)?a:[],results:null!=(l=null==(i=e.results)?void 0:i.map(e=>({fileId:e.file_id,filename:e.filename,score:e.score,text:e.text})))?l:null}});continue}if("image_generation_call"===e.type){let t=null!=E?E:"image_generation";j.push({type:"tool-call",toolCallId:e.id,toolName:t,input:"{}",providerExecuted:!0}),null!=e.result?j.push({type:"tool-result",toolCallId:e.id,toolName:t,result:{result:e.result,...null!=e.prompt&&{prompt:e.prompt}}}):j.push({type:"tool-result",toolCallId:e.id,toolName:t,isError:!0,result:`Image generation failed (status: ${e.status}).`});continue}if("web_search_call"===e.type||"x_search_call"===e.type||"code_interpreter_call"===e.type||"code_execution_call"===e.type||"view_image_call"===e.type||"view_x_video_call"===e.type||"custom_tool_call"===e.type||"mcp_call"===e.type){let t=null!=(u=e.name)?u:"";$.includes(null!=(d=e.name)?d:"")||"web_search_call"===e.type?t=null!=T?T:"web_search":q.includes(null!=(c=e.name)?c:"")||"x_search_call"===e.type?t=null!=k?k:"x_search":"code_execution"===e.name||"code_interpreter_call"===e.type||"code_execution_call"===e.type?t=null!=I?I:"code_execution":"mcp_call"===e.type&&(t=null!=(p=null!=S?S:e.name)?p:"mcp");let o="custom_tool_call"===e.type?null!=(h=e.input)?h:"":"mcp_call"===e.type?null!=(m=e.arguments)?m:"":null!=(g=e.arguments)?g:"";j.push({type:"tool-call",toolCallId:e.id,toolName:t,input:o,providerExecuted:!0}),"web_search_call"===e.type&&j.push({type:"tool-result",toolCallId:e.id,toolName:t,result:eh(e.action)});continue}switch(e.type){case"message":for(let t of e.content)if(t.text&&j.push({type:"text",text:t.text}),t.annotations)for(let e of t.annotations)"url_citation"===e.type&&"url"in e&&j.push({type:"source",sourceType:"url",id:this.config.generateId(),url:e.url,title:null!=(f=e.title)?f:e.url});break;case"function_call":P=!0,j.push({type:"tool-call",toolCallId:e.call_id,toolName:e.name,input:e.arguments});break;case"reasoning":{let t=(e.summary.length>0?e.summary.map(e=>e.text):(null!=(y=e.content)?y:[]).map(e=>e.text)).filter(e=>e&&e.length>0).join("");if(t||e.encrypted_content){let o=e.encrypted_content||e.id;j.push({type:"reasoning",text:t,...o&&{providerMetadata:{xai:{...e.encrypted_content&&{reasoningEncryptedContent:e.encrypted_content},...e.id&&{itemId:e.id}}}}})}}}}return{content:j,finishReason:{unified:P?"tool-calls":N(O.status),raw:null!=(v=O.status)?v:void 0},usage:O.usage?R(O.usage):{inputTokens:{total:0,noCache:0,cacheRead:0,cacheWrite:0},outputTokens:{total:0,text:0,reasoning:0}},...((null==(b=O.usage)?void 0:b.cost_in_usd_ticks)!=null||null!=O.service_tier)&&{providerMetadata:{xai:{...(null==(_=O.usage)?void 0:_.cost_in_usd_ticks)!=null&&{costInUsdTicks:O.usage.cost_in_usd_ticks},...null!=O.service_tier&&{serviceTier:O.service_tier}}}},request:{body:z},response:{...s(O),headers:A,body:M},warnings:x}}async doStream(e){var t,r,n;let a,i,l,{args:u,warnings:d,webSearchToolName:c,xSearchToolName:p,codeExecutionToolName:h,mcpToolName:m,fileSearchToolName:g,imageGenerationToolName:f}=await this.getArgs(e),y={...u,stream:!0},{responseHeaders:v,value:b}=await (0,o.postJsonToApi)({url:`${null!=(t=this.config.baseURL)?t:"https://api.x.ai/v1"}/responses`,headers:(0,o.combineHeaders)(null==(n=(r=this.config).headers)?void 0:n.call(r),e.headers),body:y,failedResponseHandler:w,successfulResponseHandler:(0,o.createEventSourceResponseHandler)(V),abortSignal:e.abortSignal,fetch:this.config.fetch}),_={unified:"other",raw:void 0},z=!1,x=!0,T={},k=new Set,I={},S={},C=this;return{stream:b.pipeThrough(new TransformStream({start(e){e.enqueue({type:"stream-start",warnings:d})},transform(t,o){var r,n,u,d,y,v,b,w,E,A,O,M,j,P,$,q,L;if(e.includeRawChunks&&o.enqueue({type:"raw",rawValue:t.rawValue}),!t.success)return void o.enqueue({type:"error",error:t.error});let D=t.value;if("response.created"===D.type||"response.in_progress"===D.type){x&&(o.enqueue({type:"response-metadata",...s(D.response)}),x=!1);return}if("response.reasoning_summary_part.added"===D.type){let e=`reasoning-${D.item_id}`;null==S[D.item_id]&&(S[D.item_id]={},o.enqueue({type:"reasoning-start",id:e,providerMetadata:{xai:{itemId:D.item_id}}}))}if("response.reasoning_summary_text.delta"===D.type){let e=`reasoning-${D.item_id}`;o.enqueue({type:"reasoning-delta",id:e,delta:D.delta,providerMetadata:{xai:{itemId:D.item_id}}});return}if("response.reasoning_summary_text.done"===D.type)return;if("response.reasoning_text.delta"===D.type){let e=`reasoning-${D.item_id}`;null==S[D.item_id]&&(S[D.item_id]={},o.enqueue({type:"reasoning-start",id:e,providerMetadata:{xai:{itemId:D.item_id}}})),o.enqueue({type:"reasoning-delta",id:e,delta:D.delta,providerMetadata:{xai:{itemId:D.item_id}}});return}if("response.reasoning_text.done"!==D.type){if("response.output_text.delta"===D.type){let e=`text-${D.item_id}`;null==T[e]&&(T[e]={type:"text"},o.enqueue({type:"text-start",id:e})),o.enqueue({type:"text-delta",id:e,delta:D.delta});return}if("response.output_text.done"===D.type){if(D.annotations)for(let e of D.annotations)"url_citation"===e.type&&"url"in e&&o.enqueue({type:"source",sourceType:"url",id:C.config.generateId(),url:e.url,title:null!=(r=e.title)?r:e.url});return}if("response.output_text.annotation.added"===D.type){let e=D.annotation;"url_citation"===e.type&&"url"in e&&o.enqueue({type:"source",sourceType:"url",id:C.config.generateId(),url:e.url,title:null!=(n=e.title)?n:e.url});return}if("response.done"===D.type||"response.completed"===D.type||"response.incomplete"===D.type){let e=D.response;if(e.usage&&(a=R(e.usage),i=null!=(u=e.usage.cost_in_usd_ticks)?u:void 0),l=null!=(d=e.service_tier)?d:void 0,"response.incomplete"===D.type){let t="incomplete_details"in e?null==(y=e.incomplete_details)?void 0:y.reason:void 0;_={unified:t?N(t):"other",raw:null!=t?t:"incomplete"}}else"status"in e&&e.status&&(_={unified:z?"tool-calls":N(e.status),raw:e.status});return}if("response.failed"===D.type){let e=null==(v=D.response.incomplete_details)?void 0:v.reason;_={unified:e?N(e):"error",raw:null!=e?e:"error"},D.response.usage&&(a=R(D.response.usage)),null!=D.response.error&&o.enqueue({type:"error",error:ec({message:D.response.error.message,code:D.response.error.code,eventType:D.type,data:D})});return}if("error"===D.type)return void o.enqueue({type:"error",error:ec({message:D.message,code:D.code,eventType:D.type,data:D})});if("response.custom_tool_call_input.delta"!==D.type&&"response.custom_tool_call_input.done"!==D.type){if("response.function_call_arguments.delta"===D.type){let e=I[D.output_index];null!=e&&o.enqueue({type:"tool-input-delta",id:e.toolCallId,delta:D.delta});return}if("response.function_call_arguments.done"!==D.type){if("response.image_generation_call.in_progress"===D.type||"response.image_generation_call.generating"===D.type||"response.image_generation_call.completed"===D.type){if(!k.has(D.item_id)){k.add(D.item_id);let e=null!=f?f:"image_generation";o.enqueue({type:"tool-input-start",id:D.item_id,toolName:e}),o.enqueue({type:"tool-input-delta",id:D.item_id,delta:"{}"}),o.enqueue({type:"tool-input-end",id:D.item_id}),o.enqueue({type:"tool-call",toolCallId:D.item_id,toolName:e,input:"{}",providerExecuted:!0})}return}if("response.output_item.added"===D.type||"response.output_item.done"===D.type){let e=D.item;if("reasoning"===e.type){if("response.output_item.done"===D.type){let t=`reasoning-${e.id}`;e.id in S||(S[e.id]={},o.enqueue({type:"reasoning-start",id:t,providerMetadata:{xai:{...e.id&&{itemId:e.id}}}})),o.enqueue({type:"reasoning-end",id:t,providerMetadata:{xai:{...e.encrypted_content&&{reasoningEncryptedContent:e.encrypted_content},...e.id&&{itemId:e.id}}}}),delete S[e.id]}return}if("file_search_call"===e.type){let t=null!=g?g:"file_search";k.has(e.id)||(k.add(e.id),o.enqueue({type:"tool-input-start",id:e.id,toolName:t}),o.enqueue({type:"tool-input-delta",id:e.id,delta:""}),o.enqueue({type:"tool-input-end",id:e.id}),o.enqueue({type:"tool-call",toolCallId:e.id,toolName:t,input:"",providerExecuted:!0})),"response.output_item.done"===D.type&&o.enqueue({type:"tool-result",toolCallId:e.id,toolName:t,result:{queries:null!=(b=e.queries)?b:[],results:null!=(E=null==(w=e.results)?void 0:w.map(e=>({fileId:e.file_id,filename:e.filename,score:e.score,text:e.text})))?E:null}});return}if("image_generation_call"===e.type){let t=null!=f?f:"image_generation";k.has(e.id)||(k.add(e.id),o.enqueue({type:"tool-input-start",id:e.id,toolName:t}),o.enqueue({type:"tool-input-delta",id:e.id,delta:"{}"}),o.enqueue({type:"tool-input-end",id:e.id}),o.enqueue({type:"tool-call",toolCallId:e.id,toolName:t,input:"{}",providerExecuted:!0})),"response.output_item.done"===D.type&&(null!=e.result?o.enqueue({type:"tool-result",toolCallId:e.id,toolName:t,result:{result:e.result,...null!=e.prompt&&{prompt:e.prompt}}}):o.enqueue({type:"tool-result",toolCallId:e.id,toolName:t,isError:!0,result:`Image generation failed (status: ${e.status}).`}));return}if("web_search_call"===e.type||"x_search_call"===e.type||"code_interpreter_call"===e.type||"code_execution_call"===e.type||"view_image_call"===e.type||"view_x_video_call"===e.type||"custom_tool_call"===e.type||"mcp_call"===e.type){let t=null!=(A=e.name)?A:"";["web_search","web_search_with_snippets","browse_page"].includes(null!=(O=e.name)?O:"")||"web_search_call"===e.type?t=null!=c?c:"web_search":["x_user_search","x_keyword_search","x_semantic_search","x_thread_fetch"].includes(null!=(M=e.name)?M:"")||"x_search_call"===e.type?t=null!=p?p:"x_search":"code_execution"===e.name||"code_interpreter_call"===e.type||"code_execution_call"===e.type?t=null!=h?h:"code_execution":"mcp_call"===e.type&&(t=null!=(j=null!=m?m:e.name)?j:"mcp");let r="custom_tool_call"===e.type?null!=(P=e.input)?P:"":"mcp_call"===e.type?null!=($=e.arguments)?$:"":null!=(q=e.arguments)?q:"";("custom_tool_call"===e.type?"response.output_item.done"!==D.type:k.has(e.id))||k.has(e.id)||(k.add(e.id),o.enqueue({type:"tool-input-start",id:e.id,toolName:t}),o.enqueue({type:"tool-input-delta",id:e.id,delta:r}),o.enqueue({type:"tool-input-end",id:e.id}),o.enqueue({type:"tool-call",toolCallId:e.id,toolName:t,input:r,providerExecuted:!0})),"response.output_item.done"===D.type&&o.enqueue({type:"tool-result",toolCallId:e.id,toolName:t,result:"web_search_call"===e.type?eh(e.action):{}});return}if("message"===e.type)for(let t of e.content){if(t.text&&t.text.length>0){let r=`text-${e.id}`;null==T[r]&&(T[r]={type:"text"},o.enqueue({type:"text-start",id:r}),o.enqueue({type:"text-delta",id:r,delta:t.text}))}if(t.annotations)for(let e of t.annotations)"url_citation"===e.type&&"url"in e&&o.enqueue({type:"source",sourceType:"url",id:C.config.generateId(),url:e.url,title:null!=(L=e.title)?L:e.url})}else"function_call"===e.type&&("response.output_item.added"===D.type?(I[D.output_index]={toolName:e.name,toolCallId:e.call_id},o.enqueue({type:"tool-input-start",id:e.call_id,toolName:e.name})):"response.output_item.done"===D.type&&(z=!0,I[D.output_index]=void 0,o.enqueue({type:"tool-input-end",id:e.call_id}),o.enqueue({type:"tool-call",toolCallId:e.call_id,toolName:e.name,input:e.arguments})))}}}}},flush(e){for(let[t,o]of Object.entries(T))"text"===o.type&&e.enqueue({type:"text-end",id:t});e.enqueue({type:"finish",finishReason:_,usage:null!=a?a:{inputTokens:{total:0,noCache:0,cacheRead:0,cacheWrite:0},outputTokens:{total:0,text:0,reasoning:0}},...(null!=i||null!=l)&&{providerMetadata:{xai:{...null!=i&&{costInUsdTicks:i},...null!=l&&{serviceTier:l}}}}})}})),request:{body:y},response:{headers:v}}}};function eh(e){var t;let o=U.safeParse(e);if(!o.success)return{};let r=o.data,n=null==(t=r.sources)?void 0:t.flatMap(e=>{let t=D.safeParse(e);return t.success?[t.data]:[]}),a=null!=n&&n.length>0?{sources:n}:{};switch(r.type){case"search":return{action:{type:"search",...null!=r.query&&{query:r.query},...null!=r.queries&&{queries:r.queries}},...a};case"open_page":return{action:{type:"openPage",url:r.url},...a};case"find_in_page":return{action:{type:"findInPage",url:r.url,pattern:r.pattern},...a}}}var em=(0,o.lazySchema)(()=>(0,o.zodSchema)(n.z.object({inputFileExpiresAfter:n.z.number().int().min(3600).max(2592e3).optional()}))),eg=(0,o.lazySchema)(()=>(0,o.zodSchema)(n.z.object({batch_id:n.z.string(),name:n.z.string().nullish(),create_time:n.z.string().nullish(),expire_time:n.z.string().nullish(),cancel_time:n.z.string().nullish(),cancel_by_xai_message:n.z.string().nullish(),state:n.z.object({num_requests:n.z.number().nullish(),num_pending:n.z.number().nullish(),num_success:n.z.number().nullish(),num_error:n.z.number().nullish(),num_cancelled:n.z.number().nullish()}).nullish()}))),ef=n.z.object({code:n.z.union([n.z.string(),n.z.number()]).nullish(),message:n.z.string().nullish()}),ey=n.z.object({batch_request_id:n.z.string(),batch_result:n.z.object({response:n.z.object({chat_get_completion:n.z.unknown().nullish()}).nullish(),error:ef.nullish()}).nullish(),error_message:n.z.string().nullish()}),ev=(0,o.lazySchema)(()=>(0,o.zodSchema)(n.z.object({results:n.z.array(ey),pagination_token:n.z.string().nullish()}))),eb=class{constructor(e){this.options=e}async startBatch(e){var t,r;let n=[],a=null==e.webhookUrl?[]:[{warning:{type:"unsupported",feature:"webhookUrl",details:"The xAI Batch API does not support per-batch webhook URLs."}}],i=await (0,o.parseProviderOptions)({provider:"xai",providerOptions:e.providerOptions,schema:em});for(let t of e.requests){let e=await this.options.prepareRequest(t);for(let o of(n.push(JSON.stringify({custom_id:t.id,method:"POST",url:"/v1/responses",body:e.body}),"\n"),e.warnings))a.push({requestId:t.id,warning:o})}let l=new Blob(n,{type:"application/jsonl"});n.length=0;let s=new FormData;(null==i?void 0:i.inputFileExpiresAfter)!=null&&s.append("expires_after",String(i.inputFileExpiresAfter)),s.append("file",l,"batch.jsonl");let u=(0,o.combineHeaders)(null==(r=(t=this.options.config).headers)?void 0:r.call(t),e.headers),{value:d}=await (0,o.postFormDataToApi)({url:this.getUrl("/files"),headers:u,formData:s,failedResponseHandler:w,successfulResponseHandler:(0,o.createJsonResponseHandler)(O),abortSignal:e.abortSignal,fetch:this.options.config.fetch}),{value:c}=await (0,o.postJsonToApi)({url:this.getUrl("/batches"),headers:u,body:{name:"ai-sdk-text-batch",input_file_id:d.id},failedResponseHandler:w,successfulResponseHandler:(0,o.createJsonResponseHandler)(eg),abortSignal:e.abortSignal,fetch:this.options.config.fetch});return{batchId:c.batch_id,...ew(c),providerMetadata:{xai:{inputFileId:d.id,...null!=d.expires_at?{inputFileExpiresAt:new Date(1e3*d.expires_at).toISOString()}:{}}},warnings:a}}async getBatchStatus(e){return ew(await this.retrieveBatch(e))}async getBatchResults(e){if("pending"===ew(await this.retrieveBatch(e)).status)throw new t.InvalidArgumentError({argument:"batchId",message:`xAI batch "${e.batchId}" is not complete.`});return(0,o.convertAsyncIteratorToReadableStream)(this.iterateBatchResults(e))}async retrieveBatch(e){var t,r;let{value:n}=await (0,o.getFromApi)({url:this.getUrl(`/batches/${encodeURIComponent(e.batchId)}`),headers:(0,o.combineHeaders)(null==(r=(t=this.options.config).headers)?void 0:r.call(t),e.headers),failedResponseHandler:w,successfulResponseHandler:(0,o.createJsonResponseHandler)(eg),abortSignal:e.abortSignal,fetch:this.options.config.fetch,validateUrl:!1});return n}async *iterateBatchResults(e){var t,r,n;let a;do{let i=new URLSearchParams({limit:String(1e3)});null!=a&&i.set("pagination_token",a);let{value:l}=await (0,o.getFromApi)({url:this.getUrl(`/batches/${encodeURIComponent(e.batchId)}/results?${i}`),headers:(0,o.combineHeaders)(null==(r=(t=this.options.config).headers)?void 0:r.call(t),e.headers),failedResponseHandler:w,successfulResponseHandler:(0,o.createJsonResponseHandler)(ev),abortSignal:e.abortSignal,fetch:this.options.config.fetch,validateUrl:!1});for(let e of l.results)yield await this.convertBatchResult(e);a=null!=(n=l.pagination_token)?n:void 0}while(null!=a)}async convertBatchResult(e){var t,r,n,a,i,d,c,p,h;let m=null==(t=e.batch_result)?void 0:t.error;if((null!=(n=null==(r=e.error_message)?void 0:r.length)?n:0)>0||(null==m?void 0:m.code)!=null&&0!==m.code&&"0"!==m.code||(null==m?void 0:m.code)==null&&(null!=(i=null==(a=null==m?void 0:m.message)?void 0:a.length)?i:0)>0){let t,o,r=(t=null==(p=(c=e).batch_result)?void 0:p.error,{message:c.error_message||(null==t?void 0:t.message)||"xAI batch request failed.",...(null==t?void 0:t.code)!=null&&0!==t.code&&"0"!==t.code?{code:String(t.code)}:{}});return{id:e.batch_request_id,status:(o=String(h=null==m?void 0:m.code).toLowerCase(),1===h||"1"===o||"cancelled"===o||"batch_cancelled"===o)?"cancelled":"failed",error:r}}let g=null==(d=e.batch_result)?void 0:d.response;if((null==g?void 0:g.chat_get_completion)!=null){let t=await (0,o.safeValidateTypes)({value:g.chat_get_completion,schema:k});if(!t.success)return ez(e.batch_request_id);let r=function(e){var t,r,n,a,i,d;let c;if(null!=e.error)return{success:!1,error:{message:e.error,...null!=e.code?{code:e.code}:{}}};let p=e.choices;if(null==p||0===p.length)return{success:!1,error:{message:"xAI returned a batch response without any choices.",code:"invalid_response"}};let h=[],m=new Set(p.filter(e=>"tool"===e.message.role).flatMap(e=>{var t;return(null!=(t=e.message.tool_calls)?t:[]).map(e=>e.id)}));for(let e of p){if("tool"===e.message.role){if(null!=e.message.content)for(let o of null!=(t=e.message.tool_calls)?t:[])h.push({type:"tool-result",toolCallId:o.id,toolName:o.function.name,result:e.message.content,dynamic:!0});continue}for(let t of(c=e,e.message.content&&h.push({type:"text",text:e.message.content}),e.message.reasoning_content&&h.push({type:"reasoning",text:e.message.reasoning_content}),null!=(r=e.message.tool_calls)?r:[]))h.push({type:"tool-call",toolCallId:t.id,toolName:t.function.name,input:t.function.arguments,...m.has(t.id)?{providerExecuted:!0,dynamic:!0}:{}})}for(let t of null!=(n=e.citations)?n:[])h.push({type:"source",sourceType:"url",id:t,url:t});return{success:!0,result:{content:h,finishReason:{unified:u(null==c?void 0:c.finish_reason),raw:null!=(a=null==c?void 0:c.finish_reason)?a:void 0},usage:e.usage?l(e.usage):(0,o.createNullLanguageModelUsage)(),response:s(e),warnings:[],...((null==(i=e.usage)?void 0:i.cost_in_usd_ticks)!=null||null!=e.service_tier)&&{providerMetadata:{xai:{...(null==(d=e.usage)?void 0:d.cost_in_usd_ticks)!=null?{costInUsdTicks:e.usage.cost_in_usd_ticks}:{},...null!=e.service_tier?{serviceTier:e.service_tier}:{}}}}}}}(t.value);return r.success?{id:e.batch_request_id,status:"succeeded",result:r.result}:{id:e.batch_request_id,status:"failed",error:r.error}}return ez(e.batch_request_id)}getUrl(e){var t;return`${null!=(t=this.options.config.baseURL)?t:"https://api.x.ai/v1"}${e}`}},e_=class e extends ep{static[r.WORKFLOW_SERIALIZE](e){return ep[r.WORKFLOW_SERIALIZE](e)}static[r.WORKFLOW_DESERIALIZE](t){return new e(t.modelId,t.config)}constructor(e,t){super(e,t),this.batch=new eb({config:t,prepareRequest:async e=>{let{args:t,warnings:o}=await this.getArgs(e.options);return{body:t,warnings:o}}})}experimental_doStartBatch(e){return this.batch.startBatch(e)}experimental_doGetBatchStatus(e){return this.batch.getBatchStatus(e)}experimental_doGetBatchResults(e){return this.batch.getBatchResults(e)}};function ew(e){var t,r,n,a,i,l;let s=(0,o.normalizeBatchRequestCounts)({total:null==(t=e.state)?void 0:t.num_requests,pending:null==(r=e.state)?void 0:r.num_pending,completed:null==(n=e.state)?void 0:n.num_success,failed:(null==(a=e.state)?void 0:a.num_error)!=null&&(null==(i=e.state)?void 0:i.num_cancelled)!=null?e.state.num_error+e.state.num_cancelled:void 0}),u=null!=e.cancel_time||null!=e.cancel_by_xai_message,d=function(e){if(null==e)return!1;let t=Date.parse(e);return!Number.isNaN(t)&&t<=Date.now()}(e.expire_time);return{status:u||d?"failed":null!=s&&s.total>0&&0===s.pending?"completed":"pending",...null!=s?{requestCounts:s}:{},...u?{error:{message:null!=(l=e.cancel_by_xai_message)?l:`xAI batch "${e.batch_id}" was cancelled.`,code:"batch_cancelled"}}:d?{error:{message:`xAI batch "${e.batch_id}" expired.`,code:"batch_expired"}}:{},...null!=e.create_time?{createdAt:e.create_time}:{},...null!=e.expire_time?{expiresAt:e.expire_time}:{}}}function ez(e){return{id:e,status:"failed",error:{message:"xAI returned an invalid Responses batch result.",code:"invalid_response"}}}function ex(e){var t;let o={};null!=e.instructions&&(o.instructions=e.instructions),null!=e.voice&&(o.voice=e.voice);let r={};if(null!=e.inputAudioFormat&&(r.input={format:{type:e.inputAudioFormat.type,...null!=e.inputAudioFormat.rate?{rate:e.inputAudioFormat.rate}:{}}}),null!=e.outputAudioFormat&&(r.output={format:{type:e.outputAudioFormat.type,...null!=e.outputAudioFormat.rate?{rate:e.outputAudioFormat.rate}:{}}}),Object.keys(r).length>0&&(o.audio=r),null!=e.turnDetection)if("disabled"===e.turnDetection.type)o.turn_detection=null;else{let t={type:"server_vad"};null!=e.turnDetection.threshold&&(t.threshold=e.turnDetection.threshold),null!=e.turnDetection.silenceDurationMs&&(t.silence_duration_ms=e.turnDetection.silenceDurationMs),null!=e.turnDetection.prefixPaddingMs&&(t.prefix_padding_ms=e.turnDetection.prefixPaddingMs),o.turn_detection=t}if(null!=e.tools&&e.tools.length>0&&(o.tools=e.tools.map(e=>({type:e.type,name:e.name,description:e.description,parameters:e.parameters}))),null!=e.providerOptions){let r=e.providerOptions;if(Array.isArray(r.tools)){let e=null!=(t=o.tools)?t:[];o.tools=[...e,...r.tools]}for(let[e,t]of Object.entries(r))"tools"!==e&&(o[e]=t)}return o}var eT=class{constructor(e,t){this.specificationVersion="v4",this.modelId=e,this.provider=t.provider,this.config=t}async doCreateClientSecret(e){var t;let o=null!=(t=this.config.fetch)?t:fetch,r=`${this.config.baseURL}/realtime/client_secrets`,n={};null!=e.expiresAfterSeconds&&(n.expires_after={seconds:e.expiresAfterSeconds});let a=await o(r,{method:"POST",headers:{...this.config.headers(),"Content-Type":"application/json"},body:JSON.stringify(n)});if(!a.ok){let e=await a.text();throw Error(`xAI realtime client secret request failed: ${a.status} ${e}`)}let i=await a.json();return{token:i.value,url:`wss://${new URL(this.config.baseURL).host}/v1/realtime?model=${encodeURIComponent(this.modelId)}`,expiresAt:i.expires_at}}getWebSocketConfig(e){return{url:e.url,protocols:[`xai-client-secret.${e.token}`]}}parseServerEvent(e){return function(e){var t,o,r,n,a,i,l,s,u,d,c,p,h,m,g,f,y,v,b;let _=e.type;switch(_){case"session.created":return{type:"session-created",sessionId:null==(t=e.session)?void 0:t.id,raw:e};case"session.updated":return{type:"session-updated",raw:e};case"conversation.created":case"mcp_list_tools.in_progress":case"mcp_list_tools.completed":case"mcp_list_tools.failed":case"response.mcp_call_arguments.delta":case"response.mcp_call_arguments.done":case"response.mcp_call.in_progress":case"response.mcp_call.completed":case"response.mcp_call.failed":default:return{type:"custom",rawType:_,raw:e};case"input_audio_buffer.speech_started":return{type:"speech-started",itemId:e.item_id,raw:e};case"input_audio_buffer.speech_stopped":return{type:"speech-stopped",itemId:e.item_id,raw:e};case"input_audio_buffer.committed":return{type:"audio-committed",itemId:e.item_id,previousItemId:e.previous_item_id,raw:e};case"conversation.item.added":return{type:"conversation-item-added",itemId:null!=(r=null==(o=e.item)?void 0:o.id)?r:e.item_id,item:e.item,raw:e};case"conversation.item.input_audio_transcription.completed":return{type:"input-transcription-completed",itemId:e.item_id,transcript:null!=(n=e.transcript)?n:"",raw:e};case"response.created":return{type:"response-created",responseId:null!=(i=null==(a=e.response)?void 0:a.id)?i:e.response_id,raw:e};case"response.done":return{type:"response-done",responseId:null!=(s=null==(l=e.response)?void 0:l.id)?s:e.response_id,status:null!=(d=null==(u=e.response)?void 0:u.status)?d:"completed",raw:e};case"response.output_item.added":return{type:"output-item-added",responseId:e.response_id,itemId:null!=(p=null==(c=e.item)?void 0:c.id)?p:e.item_id,raw:e};case"response.output_item.done":return{type:"output-item-done",responseId:e.response_id,itemId:null!=(m=null==(h=e.item)?void 0:h.id)?m:e.item_id,raw:e};case"response.content_part.added":return{type:"content-part-added",responseId:e.response_id,itemId:e.item_id,raw:e};case"response.content_part.done":return{type:"content-part-done",responseId:e.response_id,itemId:e.item_id,raw:e};case"response.output_audio.delta":return{type:"audio-delta",responseId:e.response_id,itemId:e.item_id,delta:e.delta,raw:e};case"response.output_audio.done":return{type:"audio-done",responseId:e.response_id,itemId:e.item_id,raw:e};case"response.output_audio_transcript.delta":return{type:"audio-transcript-delta",responseId:e.response_id,itemId:e.item_id,delta:e.delta,raw:e};case"response.output_audio_transcript.done":return{type:"audio-transcript-done",responseId:e.response_id,itemId:e.item_id,transcript:e.transcript,raw:e};case"response.text.delta":return{type:"text-delta",responseId:e.response_id,itemId:e.item_id,delta:e.delta,raw:e};case"response.text.done":return{type:"text-done",responseId:e.response_id,itemId:e.item_id,text:e.text,raw:e};case"response.function_call_arguments.delta":return{type:"function-call-arguments-delta",responseId:e.response_id,itemId:e.item_id,callId:e.call_id,delta:e.delta,raw:e};case"response.function_call_arguments.done":return{type:"function-call-arguments-done",responseId:e.response_id,itemId:e.item_id,callId:e.call_id,name:e.name,arguments:e.arguments,raw:e};case"error":return{type:"error",message:null!=(y=null!=(f=null==(g=e.error)?void 0:g.message)?f:e.message)?y:"Unknown error",code:null!=(b=null==(v=e.error)?void 0:v.code)?b:e.code,raw:e}}}(e)}serializeClientEvent(e){switch(e.type){case"session-update":return{type:"session.update",session:ex(e.config)};case"input-audio-append":return{type:"input_audio_buffer.append",audio:e.audio};case"input-audio-commit":return{type:"input_audio_buffer.commit"};case"input-audio-clear":return{type:"input_audio_buffer.clear"};case"conversation-item-create":{let t=e.item;switch(t.type){case"text-message":return{type:"conversation.item.create",item:{type:"message",role:t.role,content:[{type:"input_text",text:t.text}]}};case"audio-message":return{type:"conversation.item.create",item:{type:"message",role:t.role,content:[{type:"input_audio",audio:t.audio}]}};case"function-call-output":return{type:"conversation.item.create",item:{type:"function_call_output",call_id:t.callId,output:t.output}}}break}case"conversation-item-truncate":break;case"response-create":return{type:"response.create",...null!=e.options?{response:{...null!=e.options.modalities?{modalities:e.options.modalities}:{},...null!=e.options.instructions?{instructions:e.options.instructions}:{}}}:{}};case"response-cancel":return{type:"response.cancel"}}}buildSessionConfig(e){return ex(e)}},ek=n.z.object({output:n.z.string().describe("the output of the code execution"),error:n.z.string().optional().describe("any error that occurred")}),eI=(0,o.createProviderExecutedToolFactory)({id:"xai.code_execution",inputSchema:n.z.object({}).describe("no input parameters"),outputSchema:ek}),eS=n.z.object({description:n.z.string().describe("description of the image"),objects:n.z.array(n.z.string()).optional().describe("objects detected in the image")}),eC=(0,o.createProviderExecutedToolFactory)({id:"xai.view_image",inputSchema:n.z.object({}).describe("no input parameters"),outputSchema:eS}),eE=n.z.object({transcript:n.z.string().optional().describe("transcript of the video"),description:n.z.string().describe("description of the video content"),duration:n.z.number().optional().describe("duration in seconds")}),eA=(0,o.createProviderExecutedToolFactory)({id:"xai.view_x_video",inputSchema:n.z.object({}).describe("no input parameters"),outputSchema:eE}),eO={codeExecution:(e={})=>eI(e),fileSearch:e=>Y(e),imageGeneration:(e={})=>ee(e),mcpServer:e=>er(e),viewImage:(e={})=>eC(e),viewXVideo:(e={})=>eA(e),webSearch:(e={})=>ei(e),xSearch:(e={})=>eu(e)},eM=(0,o.lazySchema)(()=>(0,o.zodSchema)(n.z.looseObject({teamId:n.z.string().optional(),filePath:n.z.string().optional(),expiresAfter:n.z.number().int().min(3600).max(2592e3).optional()})));function ej(e){let t=encodeURIComponent(e);return"."===t?"%252E":".."===t?"%252E%252E":t}var eR=class{constructor(e){this.config=e,this.specificationVersion="v4"}get provider(){return this.config.provider}getFileId(e){let o=e.xai;if(null==o||""===o.trim())throw new t.InvalidArgumentError({argument:"file",message:"file reference is missing an 'xai' file id."});return o}getHeaders(e){return(0,o.combineHeaders)(this.config.headers(),e)}async uploadFile({data:e,mediaType:t,filename:r,abortSignal:n,headers:a,providerOptions:i}){var l,s;let u,d;try{u=await (0,o.parseProviderOptions)({provider:"xai",providerOptions:i,schema:eM})}catch(t){throw"stream"===e.type&&await e.stream.cancel(t).catch(()=>{}),t}let c=this.getHeaders(a),p=`${this.config.baseURL}/files`;if("stream"===e.type){let a=[];(null==u?void 0:u.expiresAfter)!=null&&a.push({type:"field",name:"expires_after",value:String(u.expiresAfter)}),(null==u?void 0:u.teamId)!=null&&a.push({type:"field",name:"team_id",value:u.teamId}),a.push({type:"file",name:"file",filename:r,mediaType:t,content:e.stream}),{value:d}=await (0,o.postMultipartStreamToApi)({url:p,headers:c,parts:a,failedResponseHandler:w,successfulResponseHandler:(0,o.createJsonResponseHandler)(O),abortSignal:n,fetch:this.config.fetch})}else{let a=new Blob([(0,o.convertInlineFileDataToUint8Array)(e)],{type:t}),i=new FormData;(null==u?void 0:u.expiresAfter)!=null&&i.append("expires_after",String(u.expiresAfter)),(null==u?void 0:u.teamId)!=null&&i.append("team_id",u.teamId),null!=r?i.append("file",a,r):i.append("file",a),{value:d}=await (0,o.postFormDataToApi)({url:p,headers:c,formData:i,failedResponseHandler:w,successfulResponseHandler:(0,o.createJsonResponseHandler)(O),abortSignal:n,fetch:this.config.fetch})}return{warnings:[],providerReference:{xai:d.id},...(null!=(l=d.filename)?l:r)?{filename:null!=(s=d.filename)?s:r}:{},...null!=t?{mediaType:t}:{},...null!=d.bytes?{byteSize:d.bytes}:{},...null!=d.created_at?{createdAt:new Date(1e3*d.created_at)}:{},...null!=d.expires_at?{expiresAt:new Date(1e3*d.expires_at)}:{},providerMetadata:{xai:this.toFileMetadata(d)}}}async getFileMetadata({file:e,abortSignal:t,headers:r}){let n=this.getFileId(e),{value:a}=await (0,o.getFromApi)({url:`${this.config.baseURL}/files/${ej(n)}`,headers:this.getHeaders(r),failedResponseHandler:w,successfulResponseHandler:(0,o.createJsonResponseHandler)(O),abortSignal:t,fetch:this.config.fetch,validateUrl:!1});return{warnings:[],providerReference:{xai:a.id},...null!=a.filename?{filename:a.filename}:{},...null!=a.bytes?{byteSize:a.bytes}:{},...null!=a.created_at?{createdAt:new Date(1e3*a.created_at)}:{},...null!=a.expires_at?{expiresAt:new Date(1e3*a.expires_at)}:{},providerMetadata:{xai:this.toFileMetadata(a)}}}async downloadFile({file:e,abortSignal:t,headers:r}){var n;let a=this.getFileId(e),{value:i,responseHeaders:l}=await (0,o.getFromApi)({url:`${this.config.baseURL}/files/${ej(a)}/content`,headers:this.getHeaders(r),failedResponseHandler:w,successfulResponseHandler:(0,o.createBinaryStreamResponseHandler)(),abortSignal:t,fetch:this.config.fetch,validateUrl:!1}),s=null==(n=null==l?void 0:l["content-type"])?void 0:n.split(";")[0].trim();return{warnings:[],content:i,...s?{mediaType:s}:{}}}async deleteFile({file:e,abortSignal:t,headers:r}){let n=this.getFileId(e),{value:a}=await (0,o.deleteFromApi)({url:`${this.config.baseURL}/files/${ej(n)}`,headers:this.getHeaders(r),failedResponseHandler:w,successfulResponseHandler:(0,o.createJsonResponseHandler)(M),abortSignal:t,fetch:this.config.fetch});return{warnings:[],providerReference:{xai:a.id},deleted:a.deleted}}toFileMetadata(e){return{...null!=e.filename?{filename:e.filename}:{},...null!=e.purpose?{purpose:e.purpose}:{},...null!=e.bytes?{bytes:e.bytes}:{},...null!=e.created_at?{createdAt:e.created_at}:{},...null!=e.status?{status:e.status}:{},...null!=e.expires_at?{expiresAt:e.expires_at}:{}}}},eN=n.z.string().min(1),eP=n.z.enum(["480p","720p","1080p"]),e$=n.z.enum(["edit-video","extend-video","reference-to-video"]),eq={pollIntervalMs:n.z.number().positive().nullish(),pollTimeoutMs:n.z.number().positive().nullish(),resolution:eP.nullish()},eL=n.z.looseObject({mode:e$.optional(),videoUrl:eN.optional(),referenceImageUrls:n.z.array(eN).min(1).max(7).optional(),referenceVoiceIds:n.z.array(eN).max(3).optional(),user:n.z.string().optional(),...eq}),eD=(0,o.lazySchema)(()=>(0,o.zodSchema)(eL)),eU={"1920x1080":"1080p","1280x720":"720p","854x480":"480p","640x480":"480p"};function eF(e){var t,o;return null==(o=null==(t=e.frameImages)?void 0:t.find(e=>"first_frame"===e.frameType))?void 0:o.image}var eB=e=>null!=e.mediaType&&"video"===(0,o.getTopLevelMediaType)(e.mediaType),eH=e=>null==e.mediaType||"image"===(0,o.getTopLevelMediaType)(e.mediaType);function eW(e){if("url"===e.type)return e.url;let t="string"==typeof e.data?e.data:(0,o.convertUint8ArrayToBase64)(e.data);return`data:${e.mediaType};base64,${t}`}function eV(e){var t,o;return null!=(o=null==(t=e.inputReferences)?void 0:t.some(eH))&&o}var eJ=class{constructor(e,t){this.modelId=e,this.config=t,this.specificationVersion="v4",this.maxVideosPerCall=1}get provider(){return this.config.provider}async buildRequestBody(e){var t,r,n;let a=[],i=await (0,o.parseProviderOptions)({provider:"xai",providerOptions:e.providerOptions,schema:eD}),l=function(e,t){if((null==t?void 0:t.mode)!=null)return t.mode;if((null==t?void 0:t.videoUrl)!=null)return"edit-video";let o=null!=e.frameImages&&e.frameImages.length>0,r=(null==t?void 0:t.referenceImageUrls)!=null&&t.referenceImageUrls.length>0;if(!o&&(eV(e)||r))return"reference-to-video"}(e,i),s="edit-video"===l,u="extend-video"===l,d="reference-to-video"===l;null!=e.fps&&a.push({type:"unsupported",feature:"fps",details:"xAI video models do not support custom FPS."}),null!=e.seed&&a.push({type:"unsupported",feature:"seed",details:"xAI video models do not support seed."}),null!=e.n&&e.n>1&&a.push({type:"unsupported",feature:"n",details:"xAI video models do not support generating multiple videos per call. Only 1 video will be generated."}),s&&null!=e.duration&&a.push({type:"unsupported",feature:"duration",details:"xAI video editing does not support custom duration."}),s&&null!=e.aspectRatio&&a.push({type:"unsupported",feature:"aspectRatio",details:"xAI video editing does not support custom aspect ratio."}),s&&((null==i?void 0:i.resolution)!=null||null!=e.resolution)&&a.push({type:"unsupported",feature:"resolution",details:"xAI video editing does not support custom resolution."}),u&&null!=e.aspectRatio&&a.push({type:"unsupported",feature:"aspectRatio",details:"xAI video extension does not support custom aspect ratio."}),u&&((null==i?void 0:i.resolution)!=null||null!=e.resolution)&&a.push({type:"unsupported",feature:"resolution",details:"xAI video extension does not support custom resolution."});let c={model:this.modelId,prompt:e.prompt},p=!s&&!u;if(s||null==e.duration||(c.duration=e.duration),s||u||null==e.aspectRatio||(c.aspect_ratio=e.aspectRatio),p&&(null==i?void 0:i.resolution)!=null)c.resolution=i.resolution;else if(p&&null!=e.resolution){let t=eU[e.resolution];null!=t?c.resolution=t:a.push({type:"unsupported",feature:"resolution",details:`Unrecognized resolution "${e.resolution}". Use providerOptions.xai.resolution with "480p", "720p", or "1080p" instead.`})}s&&(c.video={url:i.videoUrl}),u&&(c.video={url:i.videoUrl});let h=null!=(t=eF(e))?t:e.image;if(null!=h)if(eB(h)){let t=null!=eF(e);a.push({type:"unsupported",feature:t?"frameImages":"image",details:'xAI does not accept a video as a start/frame image. The video was ignored. Use providerOptions.xai.mode "extend-video" to continue from a video instead.'})}else c.image={url:eW(h)};let m=null==(n=null==(r=e.frameImages)?void 0:r.find(e=>"last_frame"===e.frameType))?void 0:n.image;if(null!=m&&a.push({type:"unsupported",feature:"frameImages",details:eB(m)?'xAI does not accept a video as a start/frame image. The video last frame was ignored. Use providerOptions.xai.mode "extend-video" to continue from a video instead.':'xAI video models do not support last_frame. Use providerOptions.xai.mode "extend-video" to continue from a video\'s last frame. The last frame image was ignored.'}),d){let t=function(e,t,o){if(null!=e.inputReferences&&e.inputReferences.length>0){let t=[];for(let r of e.inputReferences){if(!eH(r)){o.push({type:"unsupported",feature:"inputReferences",details:eB(r)?'xAI reference-to-video accepts image references only. The video reference was ignored. Use providerOptions.xai.mode "extend-video" to continue from a video.':"xAI reference-to-video accepts image references only. The non-image reference was ignored."});continue}t.push(r)}return t.length>0?t.map(e=>({url:eW(e)})):void 0}if((null==t?void 0:t.referenceImageUrls)!=null&&t.referenceImageUrls.length>0)return t.referenceImageUrls.map(e=>({url:e}))}(e,i,a);null!=t?c.reference_images=t:a.push({type:"unsupported",feature:"referenceImages",details:"xAI reference-to-video requires at least one image reference. The video will be generated without reference images."});let o=null==i?void 0:i.referenceVoiceIds;null!=o&&o.length>0&&(c.reference_audios=o.map(e=>({voice_id:e}))),"1080p"===c.resolution&&(a.push({type:"unsupported",feature:"resolution",details:"xAI reference-to-video is limited to 720p. The request was downgraded from 1080p to 720p."}),c.resolution="720p")}if("1080p"===c.resolution&&"grok-imagine-video"===this.modelId&&a.push({type:"unsupported",feature:"resolution",details:'xAI model "grok-imagine-video" does not support 1080p. Use "grok-imagine-video-1.5" for 1080p, or a lower resolution. The request was sent with 1080p.'}),null!=e.inputReferences&&e.inputReferences.length>0&&!d&&a.push({type:"unsupported",feature:"inputReferences",details:eV(e)?"xAI only supports inputReferences for reference-to-video generation. The reference images were ignored.":"xAI reference-to-video requires at least one image reference. The references were ignored."}),(null==i?void 0:i.referenceVoiceIds)!=null&&i.referenceVoiceIds.length>0&&!d&&a.push({type:"unsupported",feature:"referenceVoiceIds",details:"xAI only supports reference voices for reference-to-video generation. The reference voices were ignored."}),u||(null==i?void 0:i.user)===void 0||(c.user=i.user),null!=i)for(let[e,t]of Object.entries(i))["mode","pollIntervalMs","pollTimeoutMs","resolution","videoUrl","referenceImageUrls","referenceVoiceIds","user"].includes(e)||(c[e]=t);return{body:c,warnings:a,xaiOptions:i,isEdit:s,isExtension:u,hasReferenceImages:d,effectiveMode:l}}async doStart(e){var r,n,a,i;let l,s=null!=(a=null==(n=null==(r=this.config._internal)?void 0:r.currentDate)?void 0:n.call(r))?a:new Date,{body:u,warnings:d,isEdit:c,isExtension:p}=await this.buildRequestBody(e),h=null!=(i=this.config.baseURL)?i:"https://api.x.ai/v1";l=c?`${h}/videos/edits`:p?`${h}/videos/extensions`:`${h}/videos/generations`;let{value:m,responseHeaders:g}=await (0,o.postJsonToApi)({url:l,headers:(0,o.combineHeaders)(this.config.headers(),e.headers),body:u,failedResponseHandler:w,successfulResponseHandler:(0,o.createJsonResponseHandler)(eK),abortSignal:e.abortSignal,fetch:this.config.fetch}),f=m.request_id;if(!f)throw new t.AISDKError({name:"XAI_VIDEO_GENERATION_ERROR",message:"No request_id returned from xAI API."});return{operation:{requestId:f},warnings:d,response:{timestamp:s,modelId:this.modelId,headers:g}}}async doStatus(e){var t,r,n,a,i,l,s,u,d,c,p;let h,m=null!=(n=null==(r=null==(t=this.config._internal)?void 0:t.currentDate)?void 0:r.call(t))?n:new Date,{requestId:g}=e.operation,f=null!=(a=this.config.baseURL)?a:"https://api.x.ai/v1",{value:y,responseHeaders:v}=await (0,o.getFromApi)({url:`${f}/videos/${"."===(h=encodeURIComponent(g))?"%252E":".."===h?"%252E%252E":h}`,validateUrl:!1,headers:(0,o.combineHeaders)(this.config.headers(),e.headers),successfulResponseHandler:eQ,failedResponseHandler:w,abortSignal:e.abortSignal,fetch:this.config.fetch});if("expired"===y.status)return{status:"error",error:"Video generation request expired.",response:{timestamp:m,modelId:this.modelId,headers:v}};if("failed"===y.status){let e=null!=(s=null==(i=y.error)?void 0:i.message)?s:null==(l=y.error)?void 0:l.code;return{status:"error",error:null!=e?`Video generation failed: ${e}`:"Video generation failed.",response:{timestamp:m,modelId:this.modelId,headers:v}}}return"done"===y.status||null==y.status&&(null==(u=y.video)?void 0:u.url)?(null==(d=y.video)?void 0:d.respect_moderation)===!1?{status:"error",error:"Video generation was blocked due to a content policy violation.",response:{timestamp:m,modelId:this.modelId,headers:v}}:(null==(c=y.video)?void 0:c.url)?{status:"completed",videos:[{type:"url",url:y.video.url,mediaType:"video/mp4"}],warnings:[],response:{timestamp:m,modelId:this.modelId,headers:v},providerMetadata:{xai:{requestId:g,videoUrl:y.video.url,...null!=y.video.duration?{duration:y.video.duration}:{},...(null==(p=y.usage)?void 0:p.cost_in_usd_ticks)!=null?{costInUsdTicks:y.usage.cost_in_usd_ticks}:{},...null!=y.progress?{progress:y.progress}:{}}}}:{status:"error",error:"Video generation completed but no video URL was returned.",response:{timestamp:m,modelId:this.modelId,headers:v}}:{status:"pending",response:{timestamp:m,modelId:this.modelId,headers:v}}}},eK=n.z.object({request_id:n.z.string().nullish()}),eG=n.z.object({status:n.z.string().nullish(),video:n.z.object({url:n.z.string(),duration:n.z.number().nullish(),respect_moderation:n.z.boolean().nullish()}).nullish(),model:n.z.string().nullish(),usage:n.z.object({cost_in_usd_ticks:n.z.number().nullish()}).nullish(),progress:n.z.number().nullish(),error:n.z.object({code:n.z.string().nullish(),message:n.z.string().nullish()}).nullish()}),eY=(0,o.createJsonResponseHandler)(eG),eZ=new TextDecoder;async function eX({response:e,url:r,requestBodyValues:n}){if(null==e.body)return"";let a=e.body.getReader(),i=[],l=0;try{for(;;){let{done:s,value:u}=await a.read();if(s)break;if((l+=u.length)>1048576)throw new t.APICallError({message:"xAI video status response exceeded 1048576 bytes",url:r,requestBodyValues:n,statusCode:e.status,responseHeaders:(0,o.extractResponseHeaders)(e)});i.push(u)}}finally{a.releaseLock()}let s=new Uint8Array(l),u=0;for(let e of i)s.set(e,u),u+=e.length;return eZ.decode(s)}var eQ=async e=>{if(202===e.response.status){let t=(0,o.extractResponseHeaders)(e.response),r=await eX(e);if(0===r.trim().length)return{responseHeaders:t,value:{status:"pending"}};let n=await (0,o.safeParseJSON)({text:r,schema:eG});return{responseHeaders:t,value:n.success?n.value:{status:"pending"}}}return eY(e)},e0=(0,o.lazySchema)(()=>(0,o.zodSchema)(n.z.object({sampleRate:n.z.union([n.z.literal(8e3),n.z.literal(16e3),n.z.literal(22050),n.z.literal(24e3),n.z.literal(44100),n.z.literal(48e3)]).nullish(),bitRate:n.z.union([n.z.literal(32e3),n.z.literal(64e3),n.z.literal(96e3),n.z.literal(128e3),n.z.literal(192e3)]).nullish(),optimizeStreamingLatency:n.z.union([n.z.literal(0),n.z.literal(1),n.z.literal(2)]).nullish(),textNormalization:n.z.boolean().nullish(),withTimestamps:n.z.boolean().nullish(),replace:n.z.record(n.z.string(),n.z.string()).nullish()}))),e1=class e{constructor(e,t){this.modelId=e,this.config=t,this.specificationVersion="v4"}static[r.WORKFLOW_SERIALIZE](e){return(0,o.serializeModelOptions)({modelId:e.modelId,config:e.config})}static[r.WORKFLOW_DESERIALIZE](t){return new e(t.modelId,t.config)}get provider(){return this.config.provider}async getArgs({text:e,voice:t="eve",outputFormat:r="mp3",instructions:n,speed:a,language:i="auto",providerOptions:l}){let s=[],u=await (0,o.parseProviderOptions)({provider:"xai",providerOptions:l,schema:e0}),d="mp3";["mp3","wav","pcm","mulaw","alaw"].includes(r)?d=r:s.push({type:"unsupported",feature:"outputFormat",details:`Unsupported output format: ${r}. Using mp3 instead.`}),null!=n&&s.push({type:"unsupported",feature:"instructions",details:"xAI speech models do not support the `instructions` option. Use xAI speech tags in `text` to control delivery."});let c={codec:d};return(null==u?void 0:u.sampleRate)!=null&&(c.sample_rate=u.sampleRate),(null==u?void 0:u.bitRate)!=null&&("mp3"===d?c.bit_rate=u.bitRate:s.push({type:"unsupported",feature:"providerOptions",details:"xAI `bitRate` is supported only for mp3 output. It was ignored."})),{requestBody:{text:e,voice_id:t,language:i,output_format:c,speed:a,optimize_streaming_latency:null==u?void 0:u.optimizeStreamingLatency,text_normalization:null==u?void 0:u.textNormalization,with_timestamps:null==u?void 0:u.withTimestamps,replace:null==u?void 0:u.replace},warnings:s,withTimestamps:(null==u?void 0:u.withTimestamps)===!0}}async doGenerate(e){var t,r,n;let a,i,l=null!=(n=null==(r=null==(t=this.config._internal)?void 0:t.currentDate)?void 0:r.call(t))?n:new Date,{requestBody:s,warnings:u,withTimestamps:d}=await this.getArgs(e),{value:c,responseHeaders:p,rawValue:h}=await (0,o.postJsonToApi)({url:`${this.config.baseURL}/tts`,headers:(0,o.combineHeaders)(this.config.headers?await (0,o.resolve)(this.config.headers):void 0,e.headers),body:s,failedResponseHandler:w,successfulResponseHandler:d?(0,o.createJsonResponseHandler)(e2):(0,o.createBinaryResponseHandler)(),abortSignal:e.abortSignal,fetch:this.config.fetch});a=c instanceof Uint8Array?c:null!=(i=c).audio?(0,o.convertBase64ToUint8Array)(i.audio):new Uint8Array(0);let m=null==p?void 0:p["x-trace-id"];return{audio:a,warnings:u,request:{body:JSON.stringify(s)},response:{timestamp:l,modelId:this.modelId,headers:p,body:h},providerMetadata:{xai:{...null!=m?{traceId:m}:{},...(null==i?void 0:i.duration)!=null?{duration:i.duration}:{},...(null==i?void 0:i.content_type)!=null?{contentType:i.content_type}:{},...(null==i?void 0:i.audio_timestamps)!=null?{audioTimestamps:{graphChars:i.audio_timestamps.graph_chars,graphTimes:i.audio_timestamps.graph_times}}:{}}}}}},e2=n.z.object({audio:n.z.string().nullish(),content_type:n.z.string().nullish(),duration:n.z.number().nullish(),audio_timestamps:n.z.object({graph_chars:n.z.array(n.z.string()),graph_times:n.z.array(n.z.tuple([n.z.number(),n.z.number()]))}).nullish()}),e4=(0,o.lazySchema)(()=>(0,o.zodSchema)(n.z.object({audioFormat:n.z.enum(["pcm","mulaw","alaw"]).nullish(),sampleRate:n.z.union([n.z.literal(8e3),n.z.literal(16e3),n.z.literal(22050),n.z.literal(24e3),n.z.literal(44100),n.z.literal(48e3)]).nullish(),language:n.z.string().nullish(),format:n.z.boolean().nullish(),multichannel:n.z.boolean().nullish(),channels:n.z.number().int().min(2).max(8).nullish(),diarize:n.z.boolean().nullish(),keyterm:n.z.union([n.z.string(),n.z.array(n.z.string())]).nullish(),fillerWords:n.z.boolean().nullish(),streaming:n.z.object({interimResults:n.z.boolean().optional(),endpointing:n.z.number().int().min(0).max(5e3).optional(),smartTurn:n.z.number().min(0).max(1).optional(),smartTurnTimeout:n.z.number().int().min(1).max(5e3).optional()}).optional()}))),e3=class e{constructor(e,t){this.modelId=e,this.config=t,this.specificationVersion="v4"}static[r.WORKFLOW_SERIALIZE](e){return(0,o.serializeModelOptions)({modelId:e.modelId,config:e.config})}static[r.WORKFLOW_DESERIALIZE](t){return new e(t.modelId,t.config)}get provider(){return this.config.provider}async getArgs({audio:e,mediaType:t,providerOptions:r}){let n=await (0,o.parseProviderOptions)({provider:"xai",providerOptions:r,schema:e4}),a=new FormData;for(let[e,t]of Object.entries({audio_format:null==n?void 0:n.audioFormat,sample_rate:null==n?void 0:n.sampleRate,language:null==n?void 0:n.language,format:null==n?void 0:n.format,multichannel:null==n?void 0:n.multichannel,channels:null==n?void 0:n.channels,diarize:null==n?void 0:n.diarize,filler_words:null==n?void 0:n.fillerWords}))null!=t&&a.append(e,String(t));if((null==n?void 0:n.keyterm)!=null)for(let e of Array.isArray(n.keyterm)?n.keyterm:[n.keyterm])a.append("keyterm",e);let i=e instanceof Uint8Array?new Blob([e]):new Blob([(0,o.convertBase64ToUint8Array)(e)]),l=(0,o.mediaTypeToExtension)(t);return a.append("file",new File([i],"audio",{type:t}),`audio.${l}`),{formData:a,warnings:[]}}async doGenerate(e){var t,r,n,a,i,l,s,u,d;let c=null!=(n=null==(r=null==(t=this.config._internal)?void 0:t.currentDate)?void 0:r.call(t))?n:new Date,{formData:p,warnings:h}=await this.getArgs(e),{value:m,responseHeaders:g,rawValue:f}=await (0,o.postFormDataToApi)({url:`${null!=(a=this.config.baseURL)?a:"https://api.x.ai/v1"}/stt`,headers:(0,o.combineHeaders)(null==(l=(i=this.config).headers)?void 0:l.call(i),e.headers),formData:p,failedResponseHandler:w,successfulResponseHandler:(0,o.createJsonResponseHandler)(e6),abortSignal:e.abortSignal,fetch:this.config.fetch});return{text:m.text,segments:null!=(u=null==(s=m.words)?void 0:s.map(e=>({text:e.text,startSecond:e.start,endSecond:e.end})))?u:[],language:m.language||void 0,durationInSeconds:null!=(d=m.duration)?d:void 0,warnings:h,response:{timestamp:c,modelId:this.modelId,headers:g,body:f}}}async doStream(e){var r,n,a,i,l,s,u,d;let c=null!=(a=null==(n=null==(r=this.config._internal)?void 0:r.currentDate)?void 0:n.call(r))?a:new Date,p=[],h=await (0,o.parseProviderOptions)({provider:"xai",providerOptions:e.providerOptions,schema:e4});if((null==h?void 0:h.multichannel)===!0&&null==h.channels)throw new t.InvalidArgumentError({argument:"providerOptions",message:"providerOptions.xai.channels is required when providerOptions.xai.multichannel is true"});(null==h?void 0:h.format)!=null&&p.push({type:"unsupported",feature:"providerOptions.xai.format",details:"xAI streaming transcription does not support format."}),(null==h?void 0:h.audioFormat)==null&&"audio/pcm"!==(d=e.inputAudioFormat.type)&&"audio/pcmu"!==d&&"audio/pcma"!==d&&p.push({type:"other",message:`Unrecognized inputAudioFormat.type "${e.inputAudioFormat.type}"; falling back to raw PCM encoding. Use audio/pcm, audio/pcmu, or audio/pcma, or set providerOptions.xai.audioFormat explicitly.`});let m=function({baseURL:e,inputAudioFormat:t,providerOptions:r}){var n,a,i,l,s,u;let d=(0,o.toWebSocketUrl)(`${e}/stt`);if(e5(d,"sample_rate",null!=(n=null==r?void 0:r.sampleRate)?n:t.rate),e5(d,"encoding",null!=(a=null==r?void 0:r.audioFormat)?a:function(e){switch(e){case"audio/pcmu":return"mulaw";case"audio/pcma":return"alaw";default:return"pcm"}}(t.type)),e5(d,"language",null==r?void 0:r.language),e5(d,"diarize",null==r?void 0:r.diarize),e5(d,"filler_words",null==r?void 0:r.fillerWords),e5(d,"multichannel",null==r?void 0:r.multichannel),e5(d,"channels",null==r?void 0:r.channels),e5(d,"interim_results",null==(i=null==r?void 0:r.streaming)?void 0:i.interimResults),e5(d,"endpointing",null==(l=null==r?void 0:r.streaming)?void 0:l.endpointing),e5(d,"smart_turn",null==(s=null==r?void 0:r.streaming)?void 0:s.smartTurn),e5(d,"smart_turn_timeout",null==(u=null==r?void 0:r.streaming)?void 0:u.smartTurnTimeout),(null==r?void 0:r.keyterm)!=null)for(let e of Array.isArray(r.keyterm)?r.keyterm:[r.keyterm])d.searchParams.append("keyterm",e);return d}({baseURL:null!=(i=this.config.baseURL)?i:"https://api.x.ai/v1",inputAudioFormat:e.inputAudioFormat,providerOptions:h}),g=(0,o.combineHeaders)(null==(s=(l=this.config).headers)?void 0:s.call(l),e.headers);return{request:{body:m.toString()},response:{timestamp:c,modelId:this.modelId},stream:function({webSocket:e,url:t,headers:r,warnings:n,language:a,expectedDoneCount:i,audio:l,abortSignal:s,includeRawChunks:u}){let d=!1,c=()=>{};return new ReadableStream({start:p=>{let h,m,g,f=new Map,y=new Map,v=new Map;c=e=>{null!=m?m.cancel().catch(()=>{}):l.cancel().catch(()=>{}),null==g||g.close(e)};let b=e=>{d||(d=!0,c(),p.error(e))},_=async e=>{m=l.getReader();try{for(;;){let{done:t,value:r}=await m.read();if(t||d)break;e.send(r instanceof Uint8Array?r:(0,o.convertBase64ToUint8Array)(r)),await (0,o.waitForWebSocketBufferDrain)(e)}}finally{m.releaseLock(),m=void 0}d||e.send(JSON.stringify({type:"audio.done"}))};g=(0,o.connectToWebSocket)({url:t,headers:r,webSocket:e,abortSignal:s,onAbort:b,onProcessingError:b,onMessageText:async e=>{var t,r,l,s,m,w,z,x,T,k,I;let S=await (0,o.safeParseJSON)({text:e});if(!S.success)return;let C=S.value;switch(u&&p.enqueue({type:"raw",rawValue:C}),C.type){case"transcript.created":{p.enqueue({type:"stream-start",warnings:n});let e=null==g?void 0:g.socket;if(null==e){b(Error("WebSocket is not connected."));break}_(e).catch(b);break}case"transcript.partial":{let e=null==(k=C.channel_index)?void 0:`channel-${k}`,o=null!=(t=C.channel_index)?t:0;if(C.is_final&&C.speech_final){let t={...null!=(I=C).start?{startSecond:I.start}:{},...null!=I.start&&null!=I.duration?{endSecond:I.start+I.duration}:{}};C.text&&y.set(o,[...null!=(r=y.get(o))?r:[],C.text]),v.delete(o),p.enqueue({type:"transcript-final",id:e,text:null!=(l=C.text)?l:"",...t,channelIndex:C.channel_index})}else v.set(o,null!=(s=C.text)?s:""),p.enqueue({type:"transcript-partial",id:e,text:null!=(m=C.text)?m:"",startSecond:C.start,durationInSeconds:C.duration,channelIndex:C.channel_index});break}case"transcript.done":{let e=null!=(w=C.channel_index)?w:0,t=[...null!=(z=y.get(e))?z:[],...v.get(e)?[v.get(e)]:[]].join(" ");f.set(e,C.text||t),h=null!=(x=C.duration)?x:h,(()=>{if(d||f.size<i)return;d=!0;let e=[...f.entries()].sort(([e],[t])=>e-t).map(([,e])=>e).join("\n");p.enqueue({type:"finish",text:e,segments:[],language:a,durationInSeconds:h}),p.close(),c(1e3)})();break}case"error":b(Error(null!=(T=C.message)?T:"xAI STT error"))}},onSocketError:()=>{b(Error("xAI streaming transcription error."+(null==e?" Note: the native WebSocket implementation in browsers, Node.js, Deno, and Bun cannot send the Authorization header required by xAI. Pass a header-capable WebSocket implementation (e.g. the 'ws' package) via createXai({ webSocket }).":"")))},onClose:()=>{d||(d=!0,c(),p.close())}})},cancel:()=>{d||(d=!0,c())}})}({webSocket:this.config.webSocket,url:m,headers:g,warnings:p,language:null!=(u=null==h?void 0:h.language)?u:void 0,expectedDoneCount:(null==h?void 0:h.multichannel)===!0?h.channels:1,audio:e.audio,abortSignal:e.abortSignal,includeRawChunks:e.includeRawChunks})}}};function e5(e,t,o){null!=o&&e.searchParams.set(t,String(o))}var e6=n.z.object({text:n.z.string(),language:n.z.string().nullish(),duration:n.z.number().nullish(),words:n.z.array(n.z.object({text:n.z.string(),start:n.z.number(),end:n.z.number()})).nullish()});function e9(e={}){var r;let n=(0,o.withoutTrailingSlash)(null!=(r=e.baseURL)?r:"https://api.x.ai/v1"),a=()=>(0,o.withUserAgentSuffix)({Authorization:`Bearer ${(0,o.loadApiKey)({apiKey:e.apiKey,environmentVariableName:"XAI_API_KEY",description:"xAI API key"})}`,...e.headers},"ai-sdk/xai/4.0.54"),i=t=>new e_(t,{provider:"xai.responses",baseURL:n,headers:a,generateId:o.generateId,fetch:e.fetch}),l=t=>new E(t,{provider:"xai.image",baseURL:n,headers:a,fetch:e.fetch}),s=t=>new eJ(t,{provider:"xai.video",baseURL:n,headers:a,fetch:e.fetch}),u=t=>new eT(t,{provider:"xai.realtime",baseURL:null!=n?n:"https://api.x.ai/v1",headers:a,fetch:e.fetch}),d=()=>new e1("",{provider:"xai.speech",baseURL:n,headers:a,fetch:e.fetch}),c=()=>new e3("",{provider:"xai.transcription",baseURL:n,headers:a,fetch:e.fetch,webSocket:e.webSocket}),p=Object.assign(e=>u(e),{getToken:async e=>{let t=u(e.model),o=await t.doCreateClientSecret({sessionConfig:e.sessionConfig,expiresAfterSeconds:e.expiresAfterSeconds});return{token:o.token,url:o.url,expiresAt:o.expiresAt}}}),h=e=>i(e);return h.specificationVersion="v4",h.languageModel=i,h.chat=t=>new x(t,{provider:"xai.chat",baseURL:n,headers:a,generateId:o.generateId,fetch:e.fetch}),h.responses=i,h.embeddingModel=e=>{throw new t.NoSuchModelError({modelId:e,modelType:"embeddingModel"})},h.textEmbeddingModel=h.embeddingModel,h.imageModel=l,h.image=l,h.videoModel=s,h.video=s,h.experimental_realtime=p,h.speechModel=d,h.speech=d,h.transcriptionModel=c,h.transcription=c,h.files=()=>new eR({provider:"xai.files",baseURL:n,headers:a,fetch:e.fetch}),h.tools=eO,h}e9(),e.s(["createXai",0,e9])},753955,e=>{"use strict";let t;var o,r,n,a,i=e.i(691296),l=e.i(853205),s=e.i(296194),u=e.i(679007);async function d(e){return(await t).getRandomValues(new Uint8Array(e))}async function c(e){let t="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789-._~",o=256-256%t.length,r="";for(;r.length<e;)for(let n of(await d(e-r.length)))n<o&&(r+=t[n%t.length]);return r}async function p(e){return await c(e)}async function h(e){return btoa(String.fromCharCode(...new Uint8Array(await (await t).subtle.digest("SHA-256",new TextEncoder().encode(e))))).replace(/\//g,"_").replace(/\+/g,"-").replace(/=/g,"")}async function m(e){if(e||(e=43),e<43||e>128)throw`Expected a length between 43 and 128. Received ${e}.`;let t=await p(e),o=await h(t);return{code_verifier:t,code_challenge:o}}t=globalThis.crypto?.webcrypto??globalThis.crypto??e.A(70729).then(e=>e.webcrypto);var g=e.i(749906),f="2026-07-28",y="2025-11-25",v=[f,y,"2025-06-18","2025-03-26","2024-11-05"],b=l.z.optional(l.z.record(l.z.string(),l.z.unknown())),_=l.z.looseObject({name:l.z.string(),version:l.z.string(),title:l.z.optional(l.z.string())}),w=l.z.looseObject({_meta:l.z.optional(l.z.object({}).loose())}),z=w.extend({resultType:l.z.optional(l.z.string())}),x=l.z.object({method:l.z.string(),params:l.z.optional(w)}),T=l.z.object({applyDefaults:l.z.optional(l.z.boolean())}).loose(),k=l.z.looseObject({experimental:l.z.optional(l.z.object({}).loose()),logging:l.z.optional(l.z.object({}).loose()),completions:l.z.optional(l.z.object({}).loose()),prompts:l.z.optional(l.z.looseObject({listChanged:l.z.optional(l.z.boolean())})),resources:l.z.optional(l.z.looseObject({subscribe:l.z.optional(l.z.boolean()),listChanged:l.z.optional(l.z.boolean())})),tools:l.z.optional(l.z.looseObject({listChanged:l.z.optional(l.z.boolean())})),elicitation:l.z.optional(T)});l.z.object({elicitation:l.z.optional(T)}).loose();var I=z.extend({supportedVersions:l.z.array(l.z.string()),capabilities:k,instructions:l.z.optional(l.z.string()),ttlMs:l.z.optional(l.z.number()),cacheScope:l.z.optional(l.z.union([l.z.literal("public"),l.z.literal("private")]))}),S=z.extend({protocolVersion:l.z.string(),capabilities:k,serverInfo:_,instructions:l.z.optional(l.z.string())}),C=z.extend({nextCursor:l.z.optional(l.z.string())}),E=l.z.object({name:l.z.string(),title:l.z.optional(l.z.string()),description:l.z.optional(l.z.string()),inputSchema:l.z.looseObject({type:l.z.optional(l.z.unknown()),properties:l.z.optional(l.z.object({}).loose())}),outputSchema:l.z.optional(l.z.object({}).loose()),annotations:l.z.optional(l.z.object({title:l.z.optional(l.z.string()),readOnlyHint:l.z.optional(l.z.boolean()),destructiveHint:l.z.optional(l.z.boolean()),idempotentHint:l.z.optional(l.z.boolean()),openWorldHint:l.z.optional(l.z.boolean())}).loose()),_meta:b}).loose(),A=C.extend({tools:l.z.array(E)}),O=l.z.object({type:l.z.literal("text"),text:l.z.string()}).loose(),M=l.z.object({type:l.z.literal("image"),data:l.z.base64(),mimeType:l.z.string()}).loose(),j=l.z.object({uri:l.z.string(),name:l.z.string(),title:l.z.optional(l.z.string()),description:l.z.optional(l.z.string()),mimeType:l.z.optional(l.z.string()),size:l.z.optional(l.z.number())}).loose(),R=C.extend({resources:l.z.array(j)}),N=l.z.object({uri:l.z.string(),name:l.z.optional(l.z.string()),title:l.z.optional(l.z.string()),mimeType:l.z.optional(l.z.string())}).loose(),P=N.extend({text:l.z.string()}),$=N.extend({blob:l.z.base64()}),q=l.z.object({type:l.z.literal("resource"),resource:l.z.union([P,$])}).loose(),L=l.z.object({type:l.z.literal("resource_link"),uri:l.z.string(),name:l.z.string(),description:l.z.optional(l.z.string()),mimeType:l.z.optional(l.z.string())}).loose(),D=l.z.object({type:l.z.string()}).loose().refine(e=>!["text","image","resource","resource_link"].includes(e.type),{message:"Known content types must match their schema"}),U=z.extend({content:l.z.array(l.z.union([O,M,q,L,D])),structuredContent:l.z.optional(l.z.unknown()),isError:l.z.boolean().default(!1).optional()}),F=z.extend({content:l.z.never().optional(),structuredContent:l.z.json(),isError:l.z.boolean().default(!1).optional()}).transform(e=>({...e,content:[{type:"text",text:JSON.stringify(e.structuredContent)}]})).pipe(U),B=U.or(F).or(z.extend({toolResult:l.z.unknown().nonoptional()})),H=l.z.object({uriTemplate:l.z.string(),name:l.z.string(),title:l.z.optional(l.z.string()),description:l.z.optional(l.z.string()),mimeType:l.z.optional(l.z.string())}).loose(),W=z.extend({resourceTemplates:l.z.array(H)}),V=z.extend({contents:l.z.array(l.z.union([P,$]))}),J=l.z.object({type:l.z.literal("ref/prompt"),name:l.z.string()}).loose(),K=l.z.object({type:l.z.literal("ref/resource"),uri:l.z.string()}).loose(),G=l.z.object({name:l.z.string(),value:l.z.string()}).loose();w.extend({ref:l.z.union([J,K]),argument:G,context:l.z.optional(l.z.object({arguments:l.z.record(l.z.string(),l.z.string())}).loose())});var Y=z.extend({completion:l.z.object({values:l.z.array(l.z.string()).max(100),total:l.z.optional(l.z.number().int()),hasMore:l.z.optional(l.z.boolean())}).loose()}),Z=l.z.object({name:l.z.string(),description:l.z.optional(l.z.string()),required:l.z.optional(l.z.boolean())}).loose(),X=l.z.object({name:l.z.string(),title:l.z.optional(l.z.string()),description:l.z.optional(l.z.string()),arguments:l.z.optional(l.z.array(Z))}).loose(),Q=C.extend({prompts:l.z.array(X)}),ee=l.z.object({role:l.z.union([l.z.literal("user"),l.z.literal("assistant")]),content:l.z.union([O,M,q,L])}).loose(),et=z.extend({description:l.z.optional(l.z.string()),messages:l.z.array(ee)}),eo=w.extend({message:l.z.string(),requestedSchema:l.z.unknown()}),er=x.extend({method:l.z.literal("elicitation/create"),params:eo}),en=z.extend({action:l.z.union([l.z.literal("accept"),l.z.literal("decline"),l.z.literal("cancel")]),content:l.z.optional(l.z.record(l.z.string(),l.z.unknown()))}),ea=l.z.object({jsonrpc:l.z.literal("2.0"),id:l.z.union([l.z.string(),l.z.number().int()])}).merge(x).strict(),ei=l.z.object({jsonrpc:l.z.literal("2.0"),id:l.z.union([l.z.string(),l.z.number().int()]),result:z}).strict(),el=l.z.object({jsonrpc:l.z.literal("2.0"),id:l.z.optional(l.z.union([l.z.string(),l.z.number().int()])),error:l.z.object({code:l.z.number().int(),message:l.z.string(),data:l.z.optional(l.z.unknown())})}).strict(),es=l.z.object({jsonrpc:l.z.literal("2.0")}).merge(l.z.object({method:l.z.string(),params:l.z.optional(w)})).strict(),eu=l.z.union([ea,es,ei,el]);function ed(e){return eu.parse(e)}async function ec(e){return ed(await (0,i.parseJSON)({text:e}))}var ep="vercel.ai.error.AI_MCPClientError",eh=Symbol.for(ep),em=class extends(r=s.AISDKError,o=eh,r){constructor({name:e="MCPClientError",message:t,cause:r,data:n,code:a,statusCode:i,url:l,responseBody:s}){super({name:e,message:t,cause:r}),this[o]=!0,this.data=n,this.code=a,this.statusCode=i,this.url=l,this.responseBody=s}static isInstance(e){return s.AISDKError.hasMarker(e,ep)}},eg="u">typeof __PACKAGE_VERSION__?__PACKAGE_VERSION__:"0.0.0-test",ef=l.z.string().url().superRefine((e,t)=>{if(!URL.canParse(e))return t.addIssue({code:l.z.ZodIssueCode.custom,message:"URL must be parseable",fatal:!0}),l.z.NEVER}).refine(e=>{let t=new URL(e);return"javascript:"!==t.protocol&&"data:"!==t.protocol&&"vbscript:"!==t.protocol},{message:"URL cannot use javascript:, data:, or vbscript: scheme"}),ey=l.z.object({access_token:l.z.string(),id_token:l.z.string().optional(),token_type:l.z.string(),expires_in:l.z.number().optional(),scope:l.z.string().optional(),refresh_token:l.z.string().optional(),issuer:ef.optional(),authorization_server:ef.optional(),token_endpoint:ef.optional()}).strip(),ev=l.z.looseObject({resource:l.z.string().url(),authorization_servers:l.z.array(ef).optional(),jwks_uri:l.z.string().url().optional(),scopes_supported:l.z.array(l.z.string()).optional(),bearer_methods_supported:l.z.array(l.z.string()).optional(),resource_signing_alg_values_supported:l.z.array(l.z.string()).optional(),resource_name:l.z.string().optional(),resource_documentation:l.z.string().optional(),resource_policy_uri:l.z.string().url().optional(),resource_tos_uri:l.z.string().url().optional(),tls_client_certificate_bound_access_tokens:l.z.boolean().optional(),authorization_details_types_supported:l.z.array(l.z.string()).optional(),dpop_signing_alg_values_supported:l.z.array(l.z.string()).optional(),dpop_bound_access_tokens_required:l.z.boolean().optional()}),eb=l.z.looseObject({issuer:l.z.string(),authorization_endpoint:ef,token_endpoint:ef,registration_endpoint:ef.optional(),authorization_response_iss_parameter_supported:l.z.boolean().optional(),client_id_metadata_document_supported:l.z.boolean().optional(),scopes_supported:l.z.array(l.z.string()).optional(),response_types_supported:l.z.array(l.z.string()),grant_types_supported:l.z.array(l.z.string()).optional(),code_challenge_methods_supported:l.z.array(l.z.string()).optional(),token_endpoint_auth_methods_supported:l.z.array(l.z.string()).optional(),token_endpoint_auth_signing_alg_values_supported:l.z.array(l.z.string()).optional()}),e_=l.z.looseObject({issuer:l.z.string(),authorization_endpoint:ef,token_endpoint:ef,userinfo_endpoint:ef.optional(),jwks_uri:ef,registration_endpoint:ef.optional(),authorization_response_iss_parameter_supported:l.z.boolean().optional(),client_id_metadata_document_supported:l.z.boolean().optional(),scopes_supported:l.z.array(l.z.string()).optional(),response_types_supported:l.z.array(l.z.string()),grant_types_supported:l.z.array(l.z.string()).optional(),subject_types_supported:l.z.array(l.z.string()),id_token_signing_alg_values_supported:l.z.array(l.z.string()),claims_supported:l.z.array(l.z.string()).optional(),token_endpoint_auth_methods_supported:l.z.array(l.z.string()).optional()}).merge(eb.pick({code_challenge_methods_supported:!0})),ew=l.z.object({client_id:l.z.string(),client_secret:l.z.string().optional(),client_id_issued_at:l.z.number().optional(),client_secret_expires_at:l.z.number().optional(),issuer:ef.optional(),authorization_server:ef.optional(),token_endpoint:ef.optional()}).strip(),ez=l.z.object({redirect_uris:l.z.array(ef),application_type:l.z.union([l.z.literal("native"),l.z.literal("web")]).optional(),token_endpoint_auth_method:l.z.string().optional(),grant_types:l.z.array(l.z.string()).optional(),response_types:l.z.array(l.z.string()).optional(),client_name:l.z.string().optional(),client_uri:ef.optional(),logo_uri:ef.optional(),scope:l.z.string().optional(),contacts:l.z.array(l.z.string()).optional(),tos_uri:ef.optional(),policy_uri:l.z.string().optional(),jwks_uri:ef.optional(),jwks:l.z.any().optional(),software_id:l.z.string().optional(),software_version:l.z.string().optional(),software_statement:l.z.string().optional()}).strip(),ex=l.z.object({error:l.z.string(),error_description:l.z.string().optional(),error_uri:l.z.string().optional()}),eT=ez.merge(ew),ek="vercel.ai.error.AI_MCPClientOAuthError",eI=Symbol.for(ek),eS=class extends(a=s.AISDKError,n=eI,a){constructor({name:e="MCPClientOAuthError",message:t,cause:o}){super({name:e,message:t,cause:o}),this[n]=!0}static isInstance(e){return s.AISDKError.hasMarker(e,ek)}},eC=class extends eS{};eC.errorCode="server_error";var eE=class extends eS{};eE.errorCode="invalid_client";var eA=class extends eS{};eA.errorCode="invalid_grant";var eO=class extends eS{};eO.errorCode="unauthorized_client";var eM={[eC.errorCode]:eC,[eE.errorCode]:eE,[eA.errorCode]:eA,[eO.errorCode]:eO};function ej(e){let t=e.href;return"/"===e.pathname&&t.endsWith("/")?t.slice(0,-1):t}var eR=class extends Error{constructor(e="Unauthorized"){super(e),this.name="UnauthorizedError"}};function eN(e){return new URL(e).href}function eP(e){let t=e.toLowerCase().replace(/\.+$/,"");return"localhost"===t||t.endsWith(".localhost")||"127.0.0.1"===t||"[::1]"===t||"::1"===t}function e$(e){if(!(("http:"===e.protocol||"https:"===e.protocol)&&eP(e.hostname)))try{(0,i.validateDownloadUrl)(e.href)}catch(t){throw new eS({message:`OAuth endpoint URL is not allowed: ${e.href}`,cause:t})}}function eq(e,t){return{...e,issuer:t.issuer,authorization_server:t.authorizationServerUrl,token_endpoint:t.tokenEndpoint}}function eL(e,t){return{...e,issuer:t.issuer,authorization_server:t.authorizationServerUrl,token_endpoint:t.tokenEndpoint}}function eD(e){if((null==e?void 0:e.authorization_server)&&e.token_endpoint)return{issuer:e.issuer,authorizationServerUrl:eN(e.authorization_server),tokenEndpoint:eN(e.token_endpoint)}}async function eU({provider:e,clientInformation:t,tokens:o}){var r;let n=eD(o);if(n)return n;let a=await (null==(r=e.authorizationServerInformation)?void 0:r.call(e));return a?{issuer:a.issuer,authorizationServerUrl:eN(a.authorizationServerUrl),tokenEndpoint:eN(a.tokenEndpoint)}:eD(t)}async function eF({provider:e,clientInformation:t,authorizationServerInformation:o}){return e.saveAuthorizationServerInformation?(await e.saveAuthorizationServerInformation(o),!0):!!e.saveClientInformation&&(await e.saveClientInformation(eL(t,o)),!0)}function eB({storedAuthorizationServerInformation:e,currentAuthorizationServerInformation:t}){if(null!=e.issuer&&null!=t.issuer&&e.issuer!==t.issuer||e.authorizationServerUrl!==t.authorizationServerUrl||e.tokenEndpoint!==t.tokenEndpoint)throw new eS({message:"OAuth authorization server metadata does not match the metadata that issued the stored credentials"})}function eH(e){var t,o;let r,n=null!=(t=e.headers.get("www-authenticate"))?t:e.headers.get("WWW-Authenticate");if(!n)return{};let[a,i]=n.split(" ");if("bearer"!==a.toLowerCase()||!i)return{};let l=n.match(/(?:^|[,\s])resource_metadata="([^"]*)"/i),s=null==(o=n.match(/(?:^|[,\s])scope="([^"]*)"/i))?void 0:o[1];try{r=l?new URL(l[1]):void 0}catch(e){}return{resourceMetadataUrl:r,scope:s}}async function eW(e,t,o=fetch){try{return await o(e,{headers:t})}catch(r){if(r instanceof TypeError)if(t)return eW(e,void 0,o);else return;throw r}}async function eV(e,t,o=fetch){return await eW(e,{"MCP-Protocol-Version":t},o)}async function eJ(e,t,o,r){var n,a,i,l;let s,u=new URL(e),d=null!=(n=null==r?void 0:r.protocolVersion)?n:f;(null==r?void 0:r.metadataUrl)?s=new URL(r.metadataUrl):(s=new URL(function(e,t="",o={}){return t.endsWith("/")&&(t=t.slice(0,-1)),o.prependPathname?`${t}/.well-known/${e}`:`/.well-known/${e}${t}`}(t,u.pathname),null!=(a=null==r?void 0:r.metadataServerUrl)?a:u)).search=u.search;let c=await eV(s,d,o);if(!(null==r?void 0:r.metadataUrl)&&(i=c,l=u.pathname,!i||i.status>=400&&i.status<500&&"/"!==l)){let e=new URL(`/.well-known/${t}`,u);c=await eV(e,d,o)}return c}async function eK(e,t,o=fetch){let r=await eJ(e,"oauth-protected-resource",o,{protocolVersion:null==t?void 0:t.protocolVersion,metadataUrl:null==t?void 0:t.resourceMetadataUrl});if(!r||404===r.status)throw Error("Resource server does not implement OAuth 2.0 Protected Resource Metadata.");if(!r.ok)throw Error(`HTTP ${r.status} trying to load well-known OAuth protected resource metadata.`);return ev.parse(await r.json())}function eG(e,t){if(e.issuer!==t&&(t!==new URL(t).origin||e.issuer!==`${t}/`))throw new eS({message:`OAuth authorization server metadata issuer ${e.issuer} does not match expected issuer ${t}`})}async function eY(e,{fetchFn:t=fetch,protocolVersion:o=f}={}){var r;let n={"MCP-Protocol-Version":o};for(let{url:o,type:a,expectedIssuer:i}of function(e){let t="string"==typeof e?new URL(e):e,o="/"!==t.pathname,r=t.origin,n=[];if(!o)return n.push({url:new URL("/.well-known/oauth-authorization-server",t.origin),type:"oauth",expectedIssuer:r}),n.push({url:new URL("/.well-known/openid-configuration",t.origin),type:"oidc",expectedIssuer:r}),n;let a=t.pathname;a.endsWith("/")&&(a=a.slice(0,-1));let i=`${t.origin}${a}`;return n.push({url:new URL(`/.well-known/oauth-authorization-server${a}`,t.origin),type:"oauth",expectedIssuer:i}),n.push({url:new URL("/.well-known/oauth-authorization-server",t.origin),type:"oauth",expectedIssuer:r}),n.push({url:new URL(`/.well-known/openid-configuration${a}`,t.origin),type:"oidc",expectedIssuer:i}),n.push({url:new URL(`${a}/.well-known/openid-configuration`,t.origin),type:"oidc",expectedIssuer:i}),n}(e)){let e=await eW(o,n,t);if(e){if(!e.ok){if(e.status>=400&&e.status<500)continue;throw Error(`HTTP ${e.status} trying to load ${"oauth"===a?"OAuth":"OpenID provider"} metadata from ${o}`)}if("oauth"===a){let t=eb.parse(await e.json());return eG(t,i),t}{let t=e_.parse(await e.json());if(eG(t,i),!(null==(r=t.code_challenge_methods_supported)?void 0:r.includes("S256")))throw Error(`Incompatible OIDC provider at ${o}: does not support S256 code challenge method required by MCP specification`);return t}}}}async function eZ(e,{metadata:t,clientInformation:o,redirectUrl:r,scope:n,state:a,resource:i}){let l,s="code",u="S256";if(t){if(l=new URL(t.authorization_endpoint),!t.response_types_supported.includes(s))throw Error(`Incompatible auth server: does not support response type ${s}`);if(!t.code_challenge_methods_supported||!t.code_challenge_methods_supported.includes(u))throw Error(`Incompatible auth server: does not support code challenge method ${u}`)}else l=new URL("/authorize",e);let d=await m(),c=d.code_verifier,p=d.code_challenge;return l.searchParams.set("response_type",s),l.searchParams.set("client_id",o.client_id),l.searchParams.set("code_challenge",p),l.searchParams.set("code_challenge_method",u),l.searchParams.set("redirect_uri",String(r)),a&&l.searchParams.set("state",a),n&&l.searchParams.set("scope",n),(null==n?void 0:n.includes("offline_access"))&&l.searchParams.append("prompt","consent"),i&&l.searchParams.set("resource",ej(i)),{authorizationUrl:l,codeVerifier:c}}function eX(e,t){let o=void 0!==e.client_secret;return 0===t.length?o?"client_secret_post":"none":o&&t.includes("client_secret_basic")?"client_secret_basic":o&&t.includes("client_secret_post")?"client_secret_post":t.includes("none")?"none":o?"client_secret_post":"none"}function eQ(e,t,o,r){let{client_id:n,client_secret:a}=t;switch(e){case"client_secret_basic":var i,l,s,u,d=n,c=a,p=o;if(!c)throw Error("client_secret_basic authentication requires a client_secret");let h=btoa(`${d}:${c}`);p.set("Authorization",`Basic ${h}`);return;case"client_secret_post":i=n,l=a,(s=r).set("client_id",i),l&&s.set("client_secret",l);return;case"none":u=n,r.set("client_id",u);return;default:throw Error(`Unsupported client authentication method: ${e}`)}}async function e0(e){let t=e instanceof Response?e.status:void 0,o=e instanceof Response?await e.text():e;try{let{error:e,error_description:t,error_uri:r}=ex.parse(await (0,i.parseJSON)({text:o}));return new(eM[e]||eC)({message:t||"",cause:r})}catch(e){return new eC({message:`${t?`HTTP ${t}: `:""}Invalid OAuth error response: ${e}. Raw body: ${o}`})}}async function e1(e,{metadata:t,clientInformation:o,authorizationCode:r,codeVerifier:n,redirectUri:a,resource:i,addClientAuthentication:l,fetchFn:s}){var u;let d="authorization_code",c=(null==t?void 0:t.token_endpoint)?new URL(t.token_endpoint):new URL("/token",e);if(e$(c),(null==t?void 0:t.grant_types_supported)&&!t.grant_types_supported.includes(d))throw Error(`Incompatible auth server: does not support grant type ${d}`);let p=new Headers({"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json"}),h=new URLSearchParams({grant_type:d,code:r,code_verifier:n,redirect_uri:String(a)});l?await l(p,h,e,t):eQ(eX(o,null!=(u=null==t?void 0:t.token_endpoint_auth_methods_supported)?u:[]),o,p,h),i&&h.set("resource",ej(i));let m=await (null!=s?s:fetch)(c,{method:"POST",headers:p,body:h,redirect:"error"});if(!m.ok)throw await e0(m);return ey.parse(await m.json())}async function e2(e,{metadata:t,clientInformation:o,refreshToken:r,resource:n,addClientAuthentication:a,fetchFn:i}){var l;let s,u="refresh_token";if(t){if(s=new URL(t.token_endpoint),t.grant_types_supported&&!t.grant_types_supported.includes(u))throw Error(`Incompatible auth server: does not support grant type ${u}`)}else s=new URL("/token",e);e$(s);let d=new Headers({"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json"}),c=new URLSearchParams({grant_type:u,refresh_token:r});a?await a(d,c,e,t):eQ(eX(o,null!=(l=null==t?void 0:t.token_endpoint_auth_methods_supported)?l:[]),o,d,c),n&&c.set("resource",ej(n));let p=await (null!=i?i:fetch)(s,{method:"POST",headers:d,body:c,redirect:"error"});if(!p.ok)throw await e0(p);return ey.parse({refresh_token:r,...await p.json()})}async function e4(e,{metadata:t,clientMetadata:o,fetchFn:r}){var n;let a;if(t){if(!t.registration_endpoint)throw Error("Incompatible auth server: does not support dynamic client registration");a=new URL(t.registration_endpoint)}else a=new URL("/register",e);e$(a);let i=null!=(n=o.application_type)?n:o.redirect_uris.every(e=>{let t=new URL(e);return("http:"===t.protocol||"https:"===t.protocol)&&eP(t.hostname)||"http:"!==t.protocol&&"https:"!==t.protocol})?"native":"web",l=await (null!=r?r:fetch)(a,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({...o,application_type:i}),redirect:"error"});if(!l.ok)throw await e0(l);return eT.parse(await l.json())}async function e3(e,t){var o,r;try{return await e6(e,t)}catch(n){if(n instanceof eE||n instanceof eO)return await (null==(o=e.invalidateCredentials)?void 0:o.call(e,"all")),await e6(e,t);if(n instanceof eA)return await (null==(r=e.invalidateCredentials)?void 0:r.call(e,"tokens")),await e6(e,t);throw n}}async function e5(e,t,o){let r,n=((r=new URL("string"==typeof e?e:e.href)).hash="",r);if(t.validateResourceURL)return await t.validateResourceURL(n,null==o?void 0:o.resource);if(o){if(!function({requestedResource:e,configuredResource:t}){let o=new URL("string"==typeof e?e:e.href),r=new URL("string"==typeof t?t:t.href);if(o.origin!==r.origin||o.pathname.length<r.pathname.length)return!1;let n=o.pathname.endsWith("/")?o.pathname:o.pathname+"/",a=r.pathname.endsWith("/")?r.pathname:r.pathname+"/";return n.startsWith(a)}({requestedResource:n,configuredResource:o.resource}))throw Error(`Protected resource ${o.resource} does not match expected ${n} (or origin)`);return new URL(o.resource)}}async function e6(e,{serverUrl:t,authorizationCode:o,callbackState:r,callbackIssuer:n,scope:a,resourceMetadataUrl:i,fetchFn:l}){var s,u,d,c,p,h;let m,g;!function(e,t){if(!t)return;let o=new URL(e).origin;if(t.origin!==o)throw new eS({message:`OAuth protected resource metadata URL ${t.href} must have the same origin as the MCP server URL ${o}`})}(t,i);try{(m=await eK(t,{resourceMetadataUrl:i},l)).authorization_servers&&m.authorization_servers.length>0&&(g=m.authorization_servers[0])}catch(e){}g||(g=t);let f=await e5(t,e,m);await (null==(s=e.validateAuthorizationServerURL)?void 0:s.call(e,t,g));let y=await eY(g,{fetchFn:l}),v=(p=g,{issuer:null!=(h=null==y?void 0:y.issuer)?h:String(p),authorizationServerUrl:eN(p),tokenEndpoint:eN((null==y?void 0:y.token_endpoint)?new URL(y.token_endpoint):new URL("/token",p))}),b=e.clientMetadata,_=function({scope:e,resourceMetadata:t,clientMetadata:o}){var r;if(e)return e;let n=null==(r=null==t?void 0:t.scopes_supported)?void 0:r.join(" ");return n||o.scope}({scope:a,resourceMetadata:m,clientMetadata:b}),w=await Promise.resolve(e.clientInformation());if((null==w?void 0:w.issuer)!=null){let t=await eU({provider:e,clientInformation:w});t&&eB({storedAuthorizationServerInformation:t,currentAuthorizationServerInformation:v})}if(!w){if(void 0!==o)throw Error("Existing OAuth client information is required when exchanging an authorization code");if(!e.saveClientInformation)throw Error("OAuth client information must be saveable for dynamic registration");w=eL(await e4(g,{metadata:y,clientMetadata:{...b,scope:_},fetchFn:l}),v),await e.saveClientInformation(w)}if(void 0!==o){if(e.storedState){let t=await e.storedState();if(void 0!==t&&t!==r)throw Error("OAuth state parameter mismatch - possible CSRF attack")}let t=await eU({provider:e,clientInformation:w});if(!t)throw new eS({message:"Stored OAuth authorization server metadata is required when exchanging an authorization code"});!function({callbackIssuer:e,expectedIssuer:t}){if(null!=e&&e!==t)throw new eS({message:`OAuth authorization response issuer ${e} does not match expected issuer ${t}`})}({callbackIssuer:n,expectedIssuer:null!=(d=null!=(u=t.issuer)?u:null==y?void 0:y.issuer)?d:String(g)}),eB({storedAuthorizationServerInformation:t,currentAuthorizationServerInformation:v});let a=await e.codeVerifier(),i=await e1(g,{metadata:y,clientInformation:w,authorizationCode:o,codeVerifier:a,redirectUri:e.redirectUrl,resource:f,addClientAuthentication:e.addClientAuthentication,fetchFn:l});return await e.saveTokens(eq(i,v)),"AUTHORIZED"}let z=await e.tokens();if(null==z?void 0:z.refresh_token){let t=await eU({provider:e,clientInformation:w,tokens:z});t?eB({storedAuthorizationServerInformation:t,currentAuthorizationServerInformation:v}):await (null==(c=e.invalidateCredentials)?void 0:c.call(e,"tokens"));try{if(t){let t=await e2(g,{metadata:y,clientInformation:w,refreshToken:z.refresh_token,resource:f,addClientAuthentication:e.addClientAuthentication,fetchFn:l});return await e.saveTokens(eq(t,v)),"AUTHORIZED"}}catch(e){if(!(e instanceof eS)||e instanceof eC);else throw e}}let x=e.state?await e.state():void 0;x&&e.saveState&&await e.saveState(x);let{authorizationUrl:T,codeVerifier:k}=await eZ(g,{metadata:y,clientInformation:w,state:x,redirectUrl:e.redirectUrl,scope:_,resource:f});if(!await eF({provider:e,clientInformation:w,authorizationServerInformation:v}))throw new eS({message:"OAuth authorization server metadata must be saveable before starting authorization"});return await e.saveCodeVerifier(k),await e.redirectToAuthorization(T),"REDIRECT"}var e9=class{constructor({url:e,headers:t,authProvider:o,redirect:r="error",fetch:n}){this.connected=!1,this.url=new URL(e),this.headers=t,this.authProvider=o,this.redirectMode=r,this.fetchFn=null!=n?n:globalThis.fetch}setProtocolVersion(e){this.protocolVersion=e}async commonHeaders(e){var t;let o={...this.headers,...e,"mcp-protocol-version":null!=(t=this.protocolVersion)?t:y};if(this.authProvider){let e=await this.authProvider.tokens();(null==e?void 0:e.access_token)&&(o.Authorization=`Bearer ${e.access_token}`)}return(0,i.withUserAgentSuffix)(o,`ai-sdk/${eg}`,(0,i.getRuntimeEnvironmentUserAgent)())}async start(){return new Promise((e,t)=>{if(this.connected)return e();this.abortController=new AbortController;let o=async(r=!1)=>{var n,a,i,l,s;try{let s=await this.commonHeaders({Accept:"text/event-stream"}),d=await this.fetchFn(this.url.href,{headers:s,signal:null==(n=this.abortController)?void 0:n.signal,redirect:this.redirectMode});if(401===d.status&&this.authProvider&&!r){let{resourceMetadataUrl:e,scope:r}=eH(d);this.resourceMetadataUrl=e;try{let e=await e3(this.authProvider,{serverUrl:this.url,resourceMetadataUrl:this.resourceMetadataUrl,scope:r,fetchFn:this.fetchFn});if("AUTHORIZED"!==e){let e=new eR;return null==(a=this.onerror)||a.call(this,e),t(e)}}catch(e){return null==(i=this.onerror)||i.call(this,e),t(e)}return o(!0)}if(!d.ok||!d.body){let e=`MCP SSE Transport Error: ${d.status} ${d.statusText}`;405===d.status&&(e+=". This server does not support SSE transport. Try using `http` transport instead");let o=new em({message:e});return null==(l=this.onerror)||l.call(this,o),t(o)}let c=d.body.pipeThrough(new TextDecoderStream).pipeThrough(new u.EventSourceParserStream).getReader(),p=async()=>{var o,r,n,a,i;try{for(;;){let{done:t,value:i}=await c.read();if(t){if(this.connected)throw this.connected=!1,new em({message:"MCP SSE Transport Error: Connection closed unexpectedly"});return}let{event:l,data:s}=i;if("endpoint"===l){if(this.endpoint)continue;let t=new URL(s,this.url);if(t.origin!==this.url.origin)throw this.connected=!1,this.endpoint=void 0,null==(o=this.sseConnection)||o.close(),null==(r=this.abortController)||r.abort(),new em({message:`MCP SSE Transport Error: Endpoint origin does not match connection origin: ${t.origin}`});this.endpoint=t,this.connected=!0,e()}else if(void 0===l||"message"===l)try{let e=await ec(s);null==(n=this.onmessage)||n.call(this,e)}catch(t){let e=new em({message:"MCP SSE Transport Error: Failed to parse message",cause:t});null==(a=this.onerror)||a.call(this,e)}}}catch(e){if(e instanceof Error&&"AbortError"===e.name)return;null==(i=this.onerror)||i.call(this,e),t(e)}};this.sseConnection={close:()=>c.cancel()},p()}catch(e){if(e instanceof Error&&"AbortError"===e.name)return;null==(s=this.onerror)||s.call(this,e),t(e)}};o()})}async close(){var e,t,o;this.connected=!1,this.endpoint=void 0,null==(e=this.sseConnection)||e.close(),null==(t=this.abortController)||t.abort(),null==(o=this.onclose)||o.call(this)}async send(e,t){var o,r;if(null==(o=null==t?void 0:t.signal)||o.throwIfAborted(),!this.endpoint||!this.connected)throw new em({message:"MCP SSE Transport Error: Not connected"});let n=this.endpoint,a=null==(r=this.abortController)?void 0:r.signal,i=(null==t?void 0:t.signal)==null?a:null==a?t.signal:AbortSignal.any([a,t.signal]),l=async(o=!1)=>{var r,a;try{let t=await this.commonHeaders({"Content-Type":"application/json"}),r={method:"POST",headers:t,body:JSON.stringify(e),signal:i,redirect:this.redirectMode},a=await this.fetchFn(n.href,r);if(401===a.status&&this.authProvider&&!o){let{resourceMetadataUrl:e,scope:t}=eH(a);this.resourceMetadataUrl=e;let o=await e3(this.authProvider,{serverUrl:this.url,resourceMetadataUrl:this.resourceMetadataUrl,scope:t,fetchFn:this.fetchFn});if("AUTHORIZED"!==o)throw new eR;return l(!0)}if(!a.ok){let e=await a.text().catch(()=>null);throw new em({message:`MCP SSE Transport Error: POSTing to endpoint (HTTP ${a.status}): ${e}`,statusCode:a.status,url:n.href,responseBody:null!=e?e:void 0})}}catch(e){if(null==(r=null==t?void 0:t.signal)?void 0:r.aborted)throw e;throw null==(a=this.onerror)||a.call(this,e),e}};await l()}},e8=/^[!#$%&'*+\-.^_`|~0-9A-Za-z]+$/,e7=/^=\?base64\?.*\?=$/;function te(e){return[...e].every(e=>{let t=e.charCodeAt(0);return 9===t||t>=32&&t<=126})&&e.trim()===e&&!e7.test(e)?e:`=?base64?${(0,i.convertUint8ArrayToBase64)(new TextEncoder().encode(e))}?=`}function tt(e){return void 0===e||"message"===e}var to=class{constructor({url:e,headers:t,authProvider:o,redirect:r="error",initialSessionId:n,initialProtocolVersion:a,onSessionIdChange:i,onSessionExpired:l,terminateSessionOnClose:s=!0,fetch:u}){this.supportsProtocolVersionDiscovery=!0,this.supportsMcpToolParameterHeaders=!0,this.inboundReconnectAttempts=0,this.reconnectionOptions={initialReconnectionDelay:1e3,maxReconnectionDelay:3e4,reconnectionDelayGrowFactor:1.5,maxRetries:2},this.url=new URL(e),this.headers=t,this.authProvider=o,this.redirectMode=r,this.sessionId=n,this.protocolVersion=null!=a?a:y,this.onSessionIdChange=i,this.onSessionExpired=l,this.terminateSessionOnClose=s,this.fetchFn=null!=u?u:globalThis.fetch}setProtocolVersion(e){var t;if(this.protocolVersion=e,this.abortController){if(this.isModernProtocol()){null==(t=this.inboundSseConnection)||t.close(),this.inboundSseConnection=void 0;return}this.inboundSseConnection||this.startInboundSse()}}isModernProtocol(){var e;return(null!=(e=this.protocolVersion)?e:f)===f}async commonHeaders({base:e,includeSessionId:t=!0}){var o;let r={...this.headers,...e,"mcp-protocol-version":null!=(o=this.protocolVersion)?o:y};if(!this.isModernProtocol()&&t&&this.sessionId&&(r["mcp-session-id"]=this.sessionId),this.authProvider){let e=await this.authProvider.tokens();(null==e?void 0:e.access_token)&&(r.Authorization=`Bearer ${e.access_token}`)}return(0,i.withUserAgentSuffix)(r,`ai-sdk/${eg}`,(0,i.getRuntimeEnvironmentUserAgent)())}setSessionId(e){var t;this.sessionId!==e&&(this.sessionId=e,null==(t=this.onSessionIdChange)||t.call(this,e))}applySessionIdFromResponse(e){if(this.isModernProtocol())return;let t=e.headers.get("mcp-session-id");t&&this.setSessionId(t)}expireSessionId(e){var t;this.sessionId===e&&this.setSessionId(void 0),null==(t=this.onSessionExpired)||t.call(this,e)}authorizeOnce(e,t){return this.authProvider?(this.authPromise||(this.authPromise=e3(this.authProvider,{serverUrl:this.url,resourceMetadataUrl:e,scope:t,fetchFn:this.fetchFn}).finally(()=>{this.authPromise=void 0})),this.authPromise):Promise.resolve("REDIRECT")}async start(){if(this.abortController)throw new em({message:"MCP HTTP Transport Error: Transport already started. Note: client.connect() calls start() automatically."});this.abortController=new AbortController,null!=this.protocolVersion&&this.protocolVersion!==f&&this.startInboundSse()}async close(e){var t,o,r,n,a;null==(t=this.inboundSseConnection)||t.close(),null==(o=this.abortController)||o.abort();try{if(!this.isModernProtocol()&&this.sessionId&&this.terminateSessionOnClose&&this.abortController){null==(r=null==e?void 0:e.signal)||r.throwIfAborted();let t=await this.commonHeaders({base:{}});null==(n=null==e?void 0:e.signal)||n.throwIfAborted(),await this.fetchFn(this.url.href,{method:"DELETE",headers:t,signal:null==e?void 0:e.signal,redirect:this.redirectMode}).catch(()=>void 0)}}catch(e){}null==(a=this.onclose)||a.call(this)}async send(e,t){var o,r;null==(o=null==t?void 0:t.signal)||o.throwIfAborted();let n=null==(r=this.abortController)?void 0:r.signal,a=(null==t?void 0:t.signal)==null?n:null==n?t.signal:AbortSignal.any([n,t.signal]),i=async(o=!1)=>{var r,n,l,s,d,c,p,h;try{let p="method"in e&&"initialize"===e.method,h=p?void 0:this.sessionId,m=await this.commonHeaders({base:{"Content-Type":"application/json",Accept:"application/json, text/event-stream",...this.isModernProtocol()?null==t?void 0:t.headers:{},...this.isModernProtocol()&&"method"in e&&"id"in e?this.getStandardRequestHeaders(e):{}},includeSessionId:!p}),g={method:"POST",headers:m,body:JSON.stringify(e),signal:a,redirect:this.redirectMode},f=await this.fetchFn(this.url.href,g);if(this.applySessionIdFromResponse(f),401===f.status&&this.authProvider&&!o){let{resourceMetadataUrl:e,scope:t}=eH(f);this.resourceMetadataUrl=e;try{let e=await this.authorizeOnce(this.resourceMetadataUrl,t);if("AUTHORIZED"!==e)throw new eR}catch(e){throw null==(r=this.onerror)||r.call(this,e),e}return i(!0)}if(202===f.status){this.isModernProtocol()||this.inboundSseConnection||this.startInboundSse();return}if(!f.ok){let t=await f.text().catch(()=>null);if("id"in e&&null!=t){let o=await ec(t).catch(()=>void 0);if(null!=o&&"error"in o){null==(n=this.onmessage)||n.call(this,null==o.id?{...o,id:e.id}:o);return}}let o=`MCP HTTP Transport Error: POSTing to endpoint (HTTP ${f.status}): ${t}`;404===f.status&&(!this.isModernProtocol()&&h?(this.expireSessionId(h),o+=". The MCP session expired. Create a new client without `initialSessionId` to start a fresh session"):this.isModernProtocol()||(o+=". This server does not support HTTP transport. Try using `sse` transport instead"));let r=new em({message:o,statusCode:f.status,url:this.url.href,responseBody:null!=t?t:void 0});throw null==(l=this.onerror)||l.call(this,r),r}if(!("id"in e))return;let y=f.headers.get("content-type")||"";if(y.includes("application/json")){let e=await f.json();for(let t of Array.isArray(e)?e.map(e=>ed(e)):[ed(e)])null==(s=this.onmessage)||s.call(this,t);return}if(y.includes("text/event-stream")){if(!f.body){let e=new em({message:"MCP HTTP Transport Error: text/event-stream response without body",statusCode:f.status,url:this.url.href});throw null==(d=this.onerror)||d.call(this,e),e}let e=f.body.pipeThrough(new TextDecoderStream).pipeThrough(new u.EventSourceParserStream).getReader();(async()=>{var o,r,n,a;try{for(;;){let{done:t,value:n}=await e.read();if(t)return;let{event:a,data:i}=n;if(tt(a))try{let e=await ec(i);null==(o=this.onmessage)||o.call(this,e)}catch(t){let e=new em({message:"MCP HTTP Transport Error: Failed to parse message",cause:t});null==(r=this.onerror)||r.call(this,e)}}}catch(e){if((null==(n=null==t?void 0:t.signal)?void 0:n.aborted)||e instanceof Error&&"AbortError"===e.name)return;null==(a=this.onerror)||a.call(this,e)}})().catch(e=>{var o,r;null!=(o=null==t?void 0:t.signal)&&o.aborted||e instanceof Error&&"AbortError"===e.name||null==(r=this.onerror)||r.call(this,e)});return}let v=new em({message:`MCP HTTP Transport Error: Unexpected content type: ${y}`,statusCode:f.status,url:this.url.href});throw null==(c=this.onerror)||c.call(this,v),v}catch(e){if(null==(p=null==t?void 0:t.signal)?void 0:p.aborted)throw e;throw null==(h=this.onerror)||h.call(this,e),e}};await i()}getStandardRequestHeaders(e){let t={"Mcp-Method":e.method},o=e.params,r="resources/read"===e.method?null==o?void 0:o.uri:"tools/call"===e.method||"prompts/get"===e.method?null==o?void 0:o.name:void 0;return"string"==typeof r&&(t["Mcp-Name"]=te(r)),t}getNextReconnectionDelay(e){let{initialReconnectionDelay:t,reconnectionDelayGrowFactor:o,maxReconnectionDelay:r}=this.reconnectionOptions;return Math.min(t*Math.pow(o,e),r)}scheduleInboundSseReconnection(){var e;let{maxRetries:t}=this.reconnectionOptions;if(t>0&&this.inboundReconnectAttempts>=t){null==(e=this.onerror)||e.call(this,new em({message:`MCP HTTP Transport Error: Maximum reconnection attempts (${t}) exceeded.`}));return}let o=this.getNextReconnectionDelay(this.inboundReconnectAttempts);this.inboundReconnectAttempts+=1,setTimeout(()=>{var e;null!=(e=this.abortController)&&e.signal.aborted||this.startInboundSse(!1,this.lastInboundEventId)},o)}startInboundSse(e=!1,t){this.isModernProtocol()||this.openInboundSse(e,t).catch(e=>{var t;e instanceof Error&&"AbortError"===e.name||null==(t=this.onerror)||t.call(this,e)})}async openInboundSse(e=!1,t){var o,r,n,a,i,l;if(!this.isModernProtocol())try{let i=this.sessionId,l=await this.commonHeaders({base:{Accept:"text/event-stream"}});t&&(l["last-event-id"]=t);let s=await this.fetchFn(this.url.href,{method:"GET",headers:l,signal:null==(o=this.abortController)?void 0:o.signal,redirect:this.redirectMode});if(this.applySessionIdFromResponse(s),401===s.status&&this.authProvider&&!e){let{resourceMetadataUrl:e,scope:o}=eH(s);this.resourceMetadataUrl=e;try{let e=await this.authorizeOnce(this.resourceMetadataUrl,o);if("AUTHORIZED"!==e){let e=new eR;null==(r=this.onerror)||r.call(this,e);return}}catch(e){null==(n=this.onerror)||n.call(this,e);return}return this.openInboundSse(!0,t)}if(405===s.status)return;if(!s.ok||!s.body){404===s.status&&i&&this.expireSessionId(i);let e=new em({message:`MCP HTTP Transport Error: GET SSE failed: ${s.status} ${s.statusText}`,statusCode:s.status,url:this.url.href});null==(a=this.onerror)||a.call(this,e);return}let d=s.body.pipeThrough(new TextDecoderStream).pipeThrough(new u.EventSourceParserStream).getReader(),c=async()=>{var e,t,o,r;try{for(;;){let{done:o,value:r}=await d.read();if(o)return;let{event:n,data:a,id:i}=r;if(i&&(this.lastInboundEventId=i),tt(n))try{let t=await ec(a);null==(e=this.onmessage)||e.call(this,t)}catch(o){let e=new em({message:"MCP HTTP Transport Error: Failed to parse message",cause:o});null==(t=this.onerror)||t.call(this,e)}}}catch(e){if(e instanceof Error&&"AbortError"===e.name)return;null==(o=this.onerror)||o.call(this,e),(null==(r=this.abortController)?void 0:r.signal.aborted)||this.scheduleInboundSseReconnection()}};this.inboundSseConnection={close:()=>{d.cancel().catch(e=>{var t;e instanceof Error&&"AbortError"===e.name||null==(t=this.onerror)||t.call(this,e)})}},this.inboundReconnectAttempts=0,c().catch(e=>{var t,o;e instanceof Error&&"AbortError"===e.name||(null==(t=this.onerror)||t.call(this,e),(null==(o=this.abortController)?void 0:o.signal.aborted)||this.scheduleInboundSseReconnection())})}catch(e){if(e instanceof Error&&"AbortError"===e.name)return;null==(i=this.onerror)||i.call(this,e),(null==(l=this.abortController)?void 0:l.signal.aborted)||this.scheduleInboundSseReconnection()}}},tr=g.array(g.unknown()).transform(e=>e.filter(e=>"string"==typeof e)).optional().catch(void 0),tn=g.looseObject({connectDomains:tr,resourceDomains:tr,frameDomains:tr});g.looseObject({prefersBorder:g.boolean().optional().catch(void 0),csp:tn.optional().catch(void 0),permissions:g.record(g.string(),g.unknown()).optional().catch(void 0)});var ta=[-32020,-32021,-32022],ti=["ConnectionRefused","ConnectionClosed","FailedToOpenSocket","ECONNRESET","ECONNREFUSED","ETIMEDOUT","EPIPE"];function tl(e){let t=function(e){if(null!=e&&"object"==typeof e&&"statusCode"in e&&"number"==typeof e.statusCode)return e.statusCode}(e);if(null!=t)return 408===t||409===t||429===t||t>=500;if(em.isInstance(e)&&null!=e.code)return!1;let o=function(e){if(null!=e&&"object"==typeof e&&"code"in e&&"string"==typeof e.code)return e.code}(e);return null!=o&&ti.includes(o)}function ts({timeout:e,maxTotalTimeout:t}){return null==e?t:null==t?e:Math.min(e,t)}function tu(e,t){return null==t?e:new Promise((o,r)=>{let n=()=>{t.removeEventListener("abort",a)},a=()=>{n(),r(t.reason)};t.aborted?a():(t.addEventListener("abort",a,{once:!0}),e.then(e=>{n(),o(e)}).catch(e=>{n(),r(e)}))})}function td({output:e}){return"content"in e&&Array.isArray(e.content)?{type:"content",value:e.content.map(e=>"text"===e.type&&"text"in e?{type:"text",text:e.text}:"image"===e.type&&"data"in e&&"mimeType"in e?{type:"file",mediaType:e.mimeType,data:{type:"data",data:e.data}}:{type:"text",text:JSON.stringify(e)})}:{type:"json",value:e}}async function tc(e){let t=new tp(e);return await t.init(),t}var tp=class{constructor({transport:e,name:t,clientName:o=null!=t?t:"ai-sdk-mcp-client",version:r="1.0.0",onUncaughtError:n,maxRetries:a,capabilities:i,initialInitializeResult:l,initializationOptions:s,protocolVersionDiscovery:u=!0}){this.requestMessageId=0,this.responseHandlers=new Map,this.serverCapabilities={},this._serverInfo={name:"",version:""},this._initializeResult={protocolVersion:y,capabilities:{},serverInfo:this._serverInfo},this.protocolEra="legacy",this.protocolVersion=y,this.toolHeaderBindings=new Map,this.isClosed=!0,this.onUncaughtError=n,this.maxRetries=function(e){if(null==e)return 0;if(!Number.isInteger(e))throw new em({message:"maxRetries must be an integer"});if(e<0)throw new em({message:"maxRetries must be >= 0"});return e}(a),this.clientCapabilities=null!=i?i:{},this.initialInitializeResult=l,this.initializationOptions=s,this.protocolVersionDiscovery=u,function(e){return"start"in e&&"function"==typeof e.start&&"send"in e&&"function"==typeof e.send&&"close"in e&&"function"==typeof e.close}(e)?this.transport=e:this.transport=function(e){var t;switch(e.type){case"sse":return new e9(e);case"http":return new to({...e,initialProtocolVersion:null!=(t=e.initialProtocolVersion)?t:f});default:throw new em({message:"Unsupported or invalid transport configuration. If you are using a custom transport, make sure it implements the MCPTransport interface."})}}(e),this.transport.onclose=()=>this.onClose(),this.transport.onerror=e=>this.onError(e),this.transport.onmessage=e=>{"method"in e?"id"in e?this.onRequestMessage(e):this.onError(new em({message:"Unsupported message type"})):this.onResponse(e)},this.clientInfo={name:o,version:r}}get serverInfo(){return this._serverInfo}get initializeResult(){return this._initializeResult}get instructions(){return this._serverInstructions}async init(){var e;let t,o,r=null==(e=this.initializationOptions)?void 0:e.signal,n=this.initializationOptions?ts(this.initializationOptions):void 0,a=null==n?void 0:new AbortController,i=null==r?null==a?void 0:a.signal:null==a?r:AbortSignal.any([r,a.signal]);null!=n&&(t=setTimeout(()=>{o=new em({message:`MCP client initialization timed out after ${n}ms`}),null==a||a.abort(o)},n));try{if(this.isClosed=!1,null==i||i.throwIfAborted(),await tu(this.transport.start(),i),this.initialInitializeResult){let e=S.parse(this.initialInitializeResult);return this.applyInitializeResult(e),this}if(this.protocolVersionDiscovery&&this.transport.supportsProtocolVersionDiscovery&&await this.tryProtocolDiscovery(i))return this;this.protocolEra="legacy",this.protocolVersion=y,this.setTransportProtocolVersion(this.protocolVersion);let e=await this.request({request:{method:"initialize",params:{protocolVersion:y,capabilities:this.clientCapabilities,clientInfo:this.clientInfo}},resultSchema:S,options:{signal:i}});if(void 0===e)throw new em({message:"Server sent invalid initialize result"});return this.applyInitializeResult(e),await this.notification({method:"notifications/initialized"},{signal:i}),this}catch(e){try{await tu(this.transport.close({signal:i}),i)}catch(e){}if(this.onClose(),null!=o)throw o;if(null==r?void 0:r.aborted)throw new em({message:"MCP client initialization was aborted",cause:r.reason});throw e}finally{null!=t&&clearTimeout(t)}}async tryProtocolDiscovery(e){this.protocolEra="modern",this.protocolVersion=f,this.setTransportProtocolVersion(this.protocolVersion);try{let t=await this.request({request:{method:"server/discover"},resultSchema:I,options:{signal:e,timeout:1e3}});return this.applyDiscoverResult(t),!0}catch(e){if(em.isInstance(e)&&null!=e.code&&ta.includes(e.code))throw e;return!1}}applyDiscoverResult(e){var t;if(!e.supportedVersions.includes(this.protocolVersion))throw new em({message:`Server does not support the requested protocol version: ${this.protocolVersion}`});let o=null==(t=e._meta)?void 0:t["io.modelcontextprotocol/serverInfo"];null!=o&&"object"==typeof o&&"name"in o&&"string"==typeof o.name&&"version"in o&&"string"==typeof o.version&&(this._serverInfo=o),this.serverCapabilities=e.capabilities,this._serverInstructions=e.instructions,this._initializeResult={protocolVersion:this.protocolVersion,capabilities:e.capabilities,serverInfo:this._serverInfo,instructions:e.instructions}}setTransportProtocolVersion(e){this.transport.setProtocolVersion?this.transport.setProtocolVersion(e):this.transport.protocolVersion=e}applyInitializeResult(e){if(!v.includes(e.protocolVersion))throw new em({message:`Server's protocol version is not supported: ${e.protocolVersion}`});this.serverCapabilities=e.capabilities,this.protocolEra="legacy",this.protocolVersion=e.protocolVersion,this._serverInfo=e.serverInfo,this._initializeResult=e,this.setTransportProtocolVersion(e.protocolVersion),this._serverInstructions=e.instructions}async close(){var e;this.isClosed||(await (null==(e=this.transport)?void 0:e.close()),this.onClose())}send(e,t){return null==t?this.transport.send(e):this.transport.send(e,t)}assertCapability(e){switch(e){case"initialize":case"server/discover":break;case"completion/complete":if(!this.serverCapabilities.completions)throw new em({message:"Server does not support completions"});break;case"tools/list":case"tools/call":if(!this.serverCapabilities.tools)throw new em({message:"Server does not support tools"});break;case"resources/list":case"resources/read":case"resources/templates/list":if(!this.serverCapabilities.resources)throw new em({message:"Server does not support resources"});break;case"prompts/list":case"prompts/get":if(!this.serverCapabilities.prompts)throw new em({message:"Server does not support prompts"});break;default:throw new em({message:`Unsupported method: ${e}`})}}async request({request:e,resultSchema:t,options:o}){return new Promise((r,n)=>{var a;let i;if(this.isClosed)return n(new em({message:"Attempted to send a request from a closed client"}));this.assertCapability(e.method);let l=null==o?void 0:o.signal;null==l||l.throwIfAborted();let s=null==o?void 0:ts(o),u=null==s?void 0:new AbortController,d=null==l?null==u?void 0:u.signal:null==u?l:AbortSignal.any([l,u.signal]),c=this.requestMessageId++,p="modern"===this.protocolEra?{...e,params:{...e.params,_meta:{...null==(a=e.params)?void 0:a._meta,"io.modelcontextprotocol/protocolVersion":this.protocolVersion,"io.modelcontextprotocol/clientCapabilities":this.clientCapabilities,"io.modelcontextprotocol/clientInfo":this.clientInfo}}}:e,h={...p,jsonrpc:"2.0",id:c},m=this.getToolRequestHeaders(p),g=()=>{n(new em({message:"Request was aborted",cause:null==l?void 0:l.reason}))},f=()=>{this.responseHandlers.delete(c),null==l||l.removeEventListener("abort",v),null!=i&&clearTimeout(i)},y=e=>{f(),n(e)},v=()=>{f(),g()};this.responseHandlers.set(c,e=>{if(null==l?void 0:l.aborted)return f(),g();if(e instanceof Error)return y(e);try{if("modern"===this.protocolEra&&null==e.result.resultType)throw new em({message:"Modern MCP result is missing resultType"});if("input_required"===e.result.resultType)throw new em({message:"Server requested additional input, but multi round-trip requests are not supported yet"});let o=t.parse(e.result);f(),r(o)}catch(e){y(em.isInstance(e)?e:new em({message:"Failed to parse server response",cause:e}))}}),null==l||l.addEventListener("abort",v,{once:!0}),null!=s&&(i=setTimeout(()=>{let e=new em({message:`Request timed out after ${s}ms`});null==u||u.abort(e),y(e)},s));let b={...null==d?{}:{signal:d},...null==m?{}:{headers:m}};(0===Object.keys(b).length?this.send(h):this.send(h,b)).catch(e=>{y(e)})})}async listTools({params:e,options:t}={}){let o=await this.request({request:{method:"tools/list",params:e},resultSchema:A,options:t});return this.prepareToolDefinitions(o,(null==e?void 0:e.cursor)==null)}prepareToolDefinitions(e,t=!1){if("modern"!==this.protocolEra||!this.transport.supportsMcpToolParameterHeaders)return e;t&&this.toolHeaderBindings.clear();let o=e.tools.filter(e=>{let t=function(e){let t;if(!(0,i.isRecord)(e))return{success:!1,error:"inputSchema must be a JSON Schema object"};let o=[],r=new Set,n=(e,a,l)=>{if(null==t&&(0,i.isRecord)(e)){if("x-mcp-header"in e){if(!l||0===a.length){t="x-mcp-header is not on a statically reachable property";return}let n=e["x-mcp-header"];if("string"!=typeof n||!e8.test(n)){t="x-mcp-header must be a non-empty HTTP token";return}let i=n.toLowerCase();if(r.has(i)){t=`x-mcp-header value "${n}" is not unique`;return}let s=e.type;if("boolean"!==s&&"integer"!==s&&"string"!==s){t="x-mcp-header can only annotate boolean, integer, or string properties";return}r.add(i),o.push({headerName:n,path:a,valueType:s})}for(let[t,o]of Object.entries(e))if("x-mcp-header"!==t)if("properties"===t&&(0,i.isRecord)(o))for(let[e,t]of Object.entries(o))n(t,[...a,e],l);else n(o,a,!1)}};return n(e,[],!0),null==t?{success:!0,bindings:o}:{success:!1,error:t}}(e.inputSchema);return t.success?(this.toolHeaderBindings.set(e.name,t.bindings),!0):(this.onError(new em({message:`Ignoring MCP tool "${e.name}": ${t.error}`})),!1)});return{...e,tools:o}}getToolRequestHeaders(e){var t;if("modern"!==this.protocolEra||"tools/call"!==e.method||"string"!=typeof(null==(t=e.params)?void 0:t.name))return;let o=this.toolHeaderBindings.get(e.params.name);if(null==o||0===o.length)return;let r=e.params.arguments;if(!(null==r||"object"!=typeof r||Array.isArray(r)))try{return function({bindings:e,args:t}){let o={};for(let r of e){let e=function(e,t){let o=e;for(let e of t){if(!(0,i.isRecord)(o))return;o=o[e]}return o}(t,r.path);if(null!=e){if("string"===r.valueType&&"string"!=typeof e||"boolean"===r.valueType&&"boolean"!=typeof e||"integer"===r.valueType&&!Number.isSafeInteger(e))throw TypeError(`Tool argument "${r.path.join(".")}" does not match its x-mcp-header type`);o[`Mcp-Param-${r.headerName}`]=te(String(e))}}return o}({bindings:o,args:r})}catch(t){throw new em({message:`Failed to create MCP headers for tool "${e.params.name}"`,cause:t})}}async callToolWithRetry({options:e,execute:t}){return 0===this.maxRetries?t():(0,i.retryWithExponentialBackoff)({maxRetries:this.maxRetries,abortSignal:null==e?void 0:e.signal,shouldRetry:tl,createRetryError:({message:e,errors:t})=>new em({message:e,cause:t[t.length-1]})})(t)}async callTool({name:e,arguments:t={},options:o}){try{return this.callToolWithRetry({options:o,execute:()=>this.request({request:{method:"tools/call",params:{name:e,arguments:t}},resultSchema:B,options:o})})}catch(e){throw e}}async listResourcesInternal({params:e,options:t}={}){try{return this.request({request:{method:"resources/list",params:e},resultSchema:R,options:t})}catch(e){throw e}}async readResourceInternal({uri:e,options:t}){try{return this.request({request:{method:"resources/read",params:{uri:e}},resultSchema:V,options:t})}catch(e){throw e}}async listResourceTemplatesInternal({options:e}={}){try{return this.request({request:{method:"resources/templates/list"},resultSchema:W,options:e})}catch(e){throw e}}async listPromptsInternal({params:e,options:t}={}){try{return this.request({request:{method:"prompts/list",params:e},resultSchema:Q,options:t})}catch(e){throw e}}async getPromptInternal({name:e,args:t,options:o}){try{return this.request({request:{method:"prompts/get",params:{name:e,arguments:t}},resultSchema:et,options:o})}catch(e){throw e}}async completeInternal({options:e,...t}){return this.request({request:{method:"completion/complete",params:t},resultSchema:Y,options:e})}async notification(e,t){let o={...e,jsonrpc:"2.0"};await tu(this.send(o,(null==t?void 0:t.signal)==null?void 0:{signal:t.signal}),null==t?void 0:t.signal)}async tools({schemas:e="automatic"}={}){let t=await this.listTools(),o=[...t.tools];for(;null!=t.nextCursor;)t=await this.listTools({params:{cursor:t.nextCursor}}),o.push(...t.tools);return this.toolsFromDefinitions({...t,tools:o},{schemas:e})}toolsFromDefinitions(e,{schemas:t="automatic"}={}){var o,r;e=this.prepareToolDefinitions(e);let n={};for(let{name:a,title:l,description:u,inputSchema:d,annotations:c,_meta:p}of e.tools){let e=null!=l?l:null==c?void 0:c.title;if("automatic"!==t&&!Object.prototype.hasOwnProperty.call(t,a))continue;let h=this,m="automatic"!==t?null==(o=t[a])?void 0:o.outputSchema:void 0,g=function(e){var t,o,r,n;let a,i=(a=null==(r=e._meta)?void 0:r.ui,(0,s.isJSONObject)(a)?a:void 0),l=null!=(o=null==i?void 0:i.resourceUri)?o:null==(t=e._meta)?void 0:t["ui/resourceUri"],u=Array.isArray(n=null==i?void 0:i.visibility)?n.filter(e=>"model"===e||"app"===e):void 0;if(void 0!==l){if("string"!=typeof l||!l.startsWith("ui://"))throw Error(`Invalid MCP App resource URI: ${JSON.stringify(l)}`)}else if(null==i)return;return{...i,...null!=l?{resourceUri:l}:{},...null!=u?{visibility:u}:{}}}({_meta:p}),f={clientName:this.clientInfo.name,toolName:a,...null!=e?{title:e}:{},...null!=c?{annotations:{...null!=c.title?{title:c.title}:{},...null!=c.readOnlyHint?{readOnlyHint:c.readOnlyHint}:{},...null!=c.destructiveHint?{destructiveHint:c.destructiveHint}:{},...null!=c.idempotentHint?{idempotentHint:c.idempotentHint}:{},...null!=c.openWorldHint?{openWorldHint:c.openWorldHint}:{}}}:{},...(null==g?void 0:g.resourceUri)!=null?{app:{...g,mimeType:"text/html;profile=mcp-app"}}:{}},y=async(e,t)=>{var o;null==(o=null==t?void 0:t.abortSignal)||o.throwIfAborted();let r=await h.callTool({name:a,arguments:e,options:{signal:null==t?void 0:t.abortSignal}});return r.isError?r:null!=m?h.extractStructuredContent(r,m,a):r},v="automatic"===t?(0,i.dynamicTool)({description:u,title:e,metadata:f,inputSchema:(0,i.jsonSchema)({...d,properties:null!=(r=d.properties)?r:{},additionalProperties:!1}),execute:y,toModelOutput:td}):(0,i.tool)({description:u,title:e,metadata:f,inputSchema:t[a].inputSchema,...null!=m?{outputSchema:m}:{},execute:y,toModelOutput:td});n[a]={...v,_meta:p}}return n}async extractStructuredContent(e,t,o){if("structuredContent"in e&&null!=e.structuredContent){let r=await (0,i.safeValidateTypes)({value:e.structuredContent,schema:(0,i.asSchema)(t)});if(!r.success)throw new em({message:`Tool "${o}" returned structuredContent that does not match the expected outputSchema`,cause:r.error});return r.value}if("content"in e&&Array.isArray(e.content)){let r=e.content.find(e=>"text"===e.type);if(r&&"text"in r){let e=await (0,i.safeParseJSON)({text:r.text,schema:t});if(!e.success)throw new em({message:`Tool "${o}" returned content that does not match the expected outputSchema`,cause:e.error});return e.value}}throw new em({message:`Tool "${o}" did not return structuredContent or parseable text content`})}listResources({params:e,options:t}={}){return this.listResourcesInternal({params:e,options:t})}readResource({uri:e,options:t}){return this.readResourceInternal({uri:e,options:t})}listResourceTemplates({options:e}={}){return this.listResourceTemplatesInternal({options:e})}experimental_listPrompts({params:e,options:t}={}){return this.listPromptsInternal({params:e,options:t})}experimental_getPrompt({name:e,arguments:t,options:o}){return this.getPromptInternal({name:e,args:t,options:o})}complete(e){return this.completeInternal(e)}onElicitationRequest(e,t){if(e!==er)throw new em({message:"Unsupported request schema. Only ElicitationRequestSchema is supported."});this.elicitationRequestHandler=t}async onRequestMessage(e){try{if("ping"===e.method)return void await this.transport.send({jsonrpc:"2.0",id:e.id,result:{}});if("elicitation/create"!==e.method)return void await this.transport.send({jsonrpc:"2.0",id:e.id,error:{code:-32601,message:`Unsupported request method: ${e.method}`}});if(!this.elicitationRequestHandler)return void await this.transport.send({jsonrpc:"2.0",id:e.id,error:{code:-32601,message:"No elicitation handler registered on client"}});let t=er.safeParse({method:e.method,params:e.params});if(!t.success)return void await this.transport.send({jsonrpc:"2.0",id:e.id,error:{code:-32602,message:`Invalid elicitation request: ${t.error.message}`,data:t.error.issues}});try{let o=await this.elicitationRequestHandler(t.data),r=en.parse(o);await this.transport.send({jsonrpc:"2.0",id:e.id,result:r})}catch(t){await this.transport.send({jsonrpc:"2.0",id:e.id,error:{code:-32603,message:t instanceof Error?t.message:"Failed to handle elicitation request"}}),this.onError(t)}}catch(e){this.onError(e)}}onClose(){if(this.isClosed)return;this.isClosed=!0;let e=new em({message:"Connection closed"});for(let t of this.responseHandlers.values())t(e);this.responseHandlers.clear()}onError(e){this.onUncaughtError&&this.onUncaughtError(e)}onResponse(e){if(null==e.id)return void this.onError(new em({message:`Protocol error: Received a response without a message ID: ${JSON.stringify(e)}`}));let t=Number(e.id),o=this.responseHandlers.get(t);if(void 0===o)throw new em({message:`Protocol error: Received a response for an unknown message ID: ${JSON.stringify(e)}`});this.responseHandlers.delete(t),o("result"in e?e:new em({message:e.error.message,code:e.error.code,data:e.error.data,cause:e.error}))}};new TextEncoder,e.s(["UnauthorizedError",0,eR,"auth",0,e3,"createMCPClient",0,tc],753955)},691296,679007,548874,e=>{"use strict";var t,o,r,n,a,i=e.i(296194),l=e.i(59994),s=e.i(404482);class u extends Error{constructor(e,t){super(e),this.name="ParseError",this.type=t.type,this.field=t.field,this.value=t.value,this.line=t.line}}function d(e){}function c(e,t,o){return 100===o&&97===e.charCodeAt(t+1)&&116===e.charCodeAt(t+2)&&97===e.charCodeAt(t+3)&&58===e.charCodeAt(t+4)}function p(e,t,o){return 101===o&&118===e.charCodeAt(t+1)&&101===e.charCodeAt(t+2)&&110===e.charCodeAt(t+3)&&116===e.charCodeAt(t+4)&&58===e.charCodeAt(t+5)}class h extends TransformStream{constructor({onError:e,onRetry:t,onComment:o,maxBufferSize:r}={}){let n;super({start(a){n=function(e){if("function"==typeof e)throw TypeError("`config` must be an object, got a function instead. Did you mean `createParser({onEvent: fn})`?");let{onEvent:t=d,onError:o=d,onRetry:r=d,onComment:n,maxBufferSize:a}=e,i=[],l=0,s=!0,h,m="",g=0,f,y=!1;function v(){void 0!==a&&(l+m.length<=a||(y=!0,i.length=0,l=0,h=void 0,m="",g=0,f=void 0,o(new u(`Buffered data exceeded max buffer size of ${a} characters`,{type:"max-buffer-size-exceeded"}))))}function b(e){let o=0;if(-1===e.indexOf("\r")){let r=e.indexOf(`
|
|
55
|
+
`,o);for(;-1!==r;){if(o===r){g>0&&t({id:h,event:f,data:m}),h=void 0,m="",g=0,f=void 0,o=r+1,r=e.indexOf(`
|
|
56
|
+
`,o);continue}let n=e.charCodeAt(o);if(c(e,o,n)){let n=32===e.charCodeAt(o+5)?o+6:o+5,a=e.slice(n,r);if(0===g&&10===e.charCodeAt(r+1)){t({id:h,event:f,data:a}),h=void 0,m="",f=void 0,o=r+2,r=e.indexOf(`
|
|
57
|
+
`,o);continue}m=0===g?a:`${m}
|
|
58
|
+
${a}`,g++}else p(e,o,n)?f=e.slice(32===e.charCodeAt(o+6)?o+7:o+6,r)||void 0:_(e,o,r);o=r+1,r=e.indexOf(`
|
|
59
|
+
`,o)}return e.slice(o)}for(;o<e.length;){let t=e.indexOf("\r",o),r=e.indexOf(`
|
|
60
|
+
`,o),n=-1;if(-1!==t&&-1!==r?n=t<r?t:r:-1!==t?n=t===e.length-1?-1:t:-1!==r&&(n=r),-1===n)break;_(e,o,n),o=n+1,13===e.charCodeAt(o-1)&&10===e.charCodeAt(o)&&o++}return e.slice(o)}function _(e,o,r){if(o===r)return void(g>0&&t({id:h,event:f,data:m}),h=void 0,m="",g=0,f=void 0);let a=e.charCodeAt(o);if(c(e,o,a)){let t=32===e.charCodeAt(o+5)?o+6:o+5,n=e.slice(t,r);m=0===g?n:`${m}
|
|
61
|
+
${n}`,g++;return}if(p(e,o,a)){f=e.slice(32===e.charCodeAt(o+6)?o+7:o+6,r)||void 0;return}if(105===a&&100===e.charCodeAt(o+1)&&58===e.charCodeAt(o+2)){let t=e.slice(32===e.charCodeAt(o+3)?o+4:o+3,r);t.includes("\0")||(h=t);return}if(58===a){n&&n(e.slice(o,r).slice(32===e.charCodeAt(o+1)?2:1));return}let i=e.slice(o,r),l=i.indexOf(":");if(-1===l)return void w(i,"",i);let s=i.slice(0,l),u=32===i.charCodeAt(l+1)?2:1;w(s,i.slice(l+u),i)}function w(e,t,n){switch(e){case"event":f=t||void 0;break;case"data":m=0===g?t:`${m}
|
|
62
|
+
${t}`,g++;break;case"id":t.includes("\0")||(h=t);break;case"retry":/^\d+$/.test(t)?r(parseInt(t,10)):o(new u(`Invalid \`retry\` value: "${t}"`,{type:"invalid-retry",value:t,line:n}));break;default:o(new u(`Unknown field "${e.length>20?`${e.slice(0,20)}\u2026`:e}"`,{type:"unknown-field",field:e,value:t,line:n}))}}return{feed:function(e){if(y)throw Error("Cannot feed parser: it was terminated after exceeding the configured max buffer size. Call `reset()` to resume parsing.");if(s&&(s=!1,239===e.charCodeAt(0)&&187===e.charCodeAt(1)&&191===e.charCodeAt(2)&&(e=e.slice(3))),0===i.length){let t=b(e);""!==t&&(i.push(t),l=t.length),v();return}if(-1===e.indexOf(`
|
|
63
|
+
`)&&-1===e.indexOf("\r")){i.push(e),l+=e.length,v();return}i.push(e);let t=i.join("");i.length=0,l=0;let o=b(t);""!==o&&(i.push(o),l=o.length),v()},reset:function(e={}){if(e.consume&&i.length>0){let e=i.join("");_(e,0,e.length)}s=!0,h=void 0,m="",g=0,f=void 0,i.length=0,l=0,y=!1}}}({onEvent:e=>{a.enqueue(e)},onError(t){"function"==typeof e&&e(t),("terminate"===e||"max-buffer-size-exceeded"===t.type)&&a.error(t)},onRetry:t,onComment:o,maxBufferSize:r})},transform(e){n.feed(e)}})}}e.s(["EventSourceParserStream",0,h],679007);let m=Symbol.for("workflow-serialize"),g=Symbol.for("workflow-deserialize");async function f(e,t){if(null==e)return Promise.resolve();let o=null==t?void 0:t.abortSignal;return new Promise((t,r)=>{if(null==o?void 0:o.aborted)return void r(y());let n=setTimeout(()=>{a(),t()},e),a=()=>{clearTimeout(n),null==o||o.removeEventListener("abort",i)},i=()=>{a(),r(y())};null==o||o.addEventListener("abort",i)})}function y(){return new DOMException("Delay was aborted","AbortError")}e.s(["WORKFLOW_DESERIALIZE",0,g,"WORKFLOW_SERIALIZE",0,m],548874);var v=new TextDecoder;async function b(e){return"string"==typeof e?e:e instanceof ArrayBuffer||ArrayBuffer.isView(e)?v.decode(e):"u">typeof Blob&&e instanceof Blob?e.text():String(e)}async function _(e,{highWaterMark:t=1048576,pollIntervalMs:o=20,abortSignal:r}={}){for(var n;1===e.readyState&&(null!=(n=e.bufferedAmount)?n:0)>t;){if((null==r?void 0:r.aborted)===!0)return;await f(o)}}function w(e){let t=!1;return new ReadableStream({async pull(o){if(!t)try{let{value:t,done:r}=await e.next();r?o.close():o.enqueue(t)}catch(e){o.error(e)}},async cancel(o){if(t=!0,e.return)try{await e.return(o)}catch(e){}}})}var{btoa:z,atob:x}=globalThis;function T(e){let t=x(e.replace(/-/g,"+").replace(/_/g,"/"));return Uint8Array.from(t,e=>e.codePointAt(0))}function k(e){let t="";for(let o=0;o<e.length;o++)t+=String.fromCodePoint(e[o]);return z(t)}var I=Symbol.for("vercel.ai.providerStreamError"),S=class{constructor(){this.status={type:"pending"},this._resolve=void 0,this._reject=void 0}get promise(){return this._promise||(this._promise=new Promise((e,t)=>{"resolved"===this.status.type?e(this.status.value):"rejected"===this.status.type&&t(this.status.error),this._resolve=e,this._reject=t})),this._promise}resolve(e){var t;this.status={type:"resolved",value:e},this._promise&&(null==(t=this._resolve)||t.call(this,e))}reject(e){var t;this.status={type:"rejected",error:e},this._promise&&(null==(t=this._reject)||t.call(this,e))}isResolved(){return"resolved"===this.status.type}isRejected(){return"rejected"===this.status.type}isPending(){return"pending"===this.status.type}};function C(e){return Object.fromEntries([...e.headers])}function E(e=globalThis){var t,o,r;return e.window?"runtime/browser":(null==(t=e.navigator)?void 0:t.userAgent)?`runtime/${e.navigator.userAgent.toLowerCase()}`:(null==(r=null==(o=e.process)?void 0:o.versions)?void 0:r.node)?`runtime/node.js/${e.process.version.substring(0)}`:e.EdgeRuntime?"runtime/vercel-edge":"runtime/unknown"}function A(e){return(e instanceof Error||e instanceof DOMException)&&("AbortError"===e.name||"ResponseAborted"===e.name||"TimeoutError"===e.name)}var O=["fetch failed","failed to fetch"],M=new Set(["ConnectionRefused","ConnectionClosed","FailedToOpenSocket","ECONNRESET","ECONNREFUSED","ETIMEDOUT","EPIPE","UND_ERR_SOCKET","UND_ERR_HEADERS_TIMEOUT","UND_ERR_BODY_TIMEOUT","UND_ERR_CONNECT_TIMEOUT"]);function j({error:e,url:t,requestBodyValues:o}){if(A(e))return e;if(e instanceof TypeError&&O.includes(e.message.toLowerCase())){let r=e.cause;if(null!=r)return new i.APICallError({message:`Cannot connect to API: ${r.message}`,cause:r,url:t,requestBodyValues:o,isRetryable:!0})}let r=function(e){let t=new Set,o=e;for(;o instanceof Error&&!t.has(o);){t.add(o);let e=o;if("string"==typeof e.code&&M.has(e.code))return e;o=o.cause}}(e);return null!=r?new i.APICallError(i.APICallError.isInstance(e)?{message:e.message,cause:e.cause,url:e.url,requestBodyValues:e.requestBodyValues,statusCode:e.statusCode,responseHeaders:e.responseHeaders,responseBody:e.responseBody,data:e.data,isRetryable:!0}:{message:`Cannot connect to API: ${e instanceof Error?e.message:r.message}`,cause:e,url:t,requestBodyValues:o,isRetryable:!0}):e}var R="5.0.36";function N(e){if(null==e)return{};let t={};if(e instanceof Headers)e.forEach((e,o)=>{t[o.toLowerCase()]=e});else for(let[o,r]of(Array.isArray(e)||(e=Object.entries(e)),e))null!=r&&(t[o.toLowerCase()]=r);return t}function P(e,...t){let o=new Headers(N(e)),r=o.get("user-agent")||"";return o.set("user-agent",[r,...t].filter(Boolean).join(" ")),Object.fromEntries(o.entries())}var $=()=>globalThis.fetch,q=async({url:e,headers:t={},failedResponseHandler:o,successfulResponseHandler:r,abortSignal:n,fetch:a=$()})=>{try{let l=await a(e,{method:"DELETE",headers:P(t,`ai-sdk/provider-utils/${R}`,E()),signal:n}),s=C(l);if(!l.ok){let t;try{t=await o({response:l,url:e,requestBodyValues:{}})}catch(t){if(A(t)||i.APICallError.isInstance(t))throw t;throw new i.APICallError({message:"Failed to process error response",cause:t,statusCode:l.status,url:e,responseHeaders:s,requestBodyValues:{}})}throw t.value}try{return await r({response:l,url:e,requestBodyValues:{}})}catch(t){if(t instanceof Error&&(A(t)||i.APICallError.isInstance(t)))throw t;throw new i.APICallError({message:"Failed to process successful response",cause:t,statusCode:l.status,url:e,responseHeaders:s,requestBodyValues:{}})}}catch(t){throw j({error:t,url:e,requestBodyValues:{}})}},L=[{mediaType:"image/gif",bytesPrefix:[71,73,70]},{mediaType:"image/png",bytesPrefix:[137,80,78,71]},{mediaType:"image/jpeg",bytesPrefix:[255,216]},{mediaType:"image/webp",bytesPrefix:[82,73,70,70,null,null,null,null,87,69,66,80]},{mediaType:"image/bmp",bytesPrefix:[66,77]},{mediaType:"image/tiff",bytesPrefix:[73,73,42,0]},{mediaType:"image/tiff",bytesPrefix:[77,77,0,42]},{mediaType:"image/avif",bytesPrefix:[0,0,0,32,102,116,121,112,97,118,105,102]},{mediaType:"image/heic",bytesPrefix:[0,0,0,32,102,116,121,112,104,101,105,99]}],D=[{mediaType:"application/pdf",bytesPrefix:[37,80,68,70]}],U=[{mediaType:"audio/mpeg",bytesPrefix:[255,251]},{mediaType:"audio/mpeg",bytesPrefix:[255,250]},{mediaType:"audio/mpeg",bytesPrefix:[255,243]},{mediaType:"audio/mpeg",bytesPrefix:[255,242]},{mediaType:"audio/mpeg",bytesPrefix:[255,227]},{mediaType:"audio/mpeg",bytesPrefix:[255,226]},{mediaType:"audio/wav",bytesPrefix:[82,73,70,70,null,null,null,null,87,65,86,69]},{mediaType:"audio/ogg",bytesPrefix:[79,103,103,83]},{mediaType:"audio/flac",bytesPrefix:[102,76,97,67]},{mediaType:"audio/aac",bytesPrefix:[64,21,0,0]},{mediaType:"audio/webm",bytesPrefix:[26,69,223,163]}],F=[{mediaType:"video/mp4",bytesPrefix:[0,0,0,null,102,116,121,112]},{mediaType:"video/webm",bytesPrefix:[26,69,223,163]},{mediaType:"video/quicktime",bytesPrefix:[0,0,0,20,102,116,121,112,113,116]},{mediaType:"video/x-msvideo",bytesPrefix:[82,73,70,70]}];function B(e,t){if("string"!=typeof e)return e.length>t?e.subarray(0,t):e;let o=4*Math.ceil(t/3),r=T(e.substring(0,Math.min(e.length,o)));return r.length>t?r.subarray(0,t):r}function H({data:e,signatures:t}){var o,r;let n,a=B(e,18);for(let i of((o=a).length>10&&73===o[0]&&68===o[1]&&51===o[2]&&(n=(127&(r=B(e,131084))[6])<<21|(127&r[7])<<14|(127&r[8])<<7|127&r[9],a=r.subarray(n+10)),t))if(a.length>=i.bytesPrefix.length&&i.bytesPrefix.every((e,t)=>null===e||a[t]===e))return i.mediaType}var W={image:L,audio:[...U,{mediaType:"audio/mp4",bytesPrefix:[0,0,0,null,102,116,121,112]}],video:F,application:D};function V({data:e,topLevelType:t}){if(void 0===t)return H({data:e,signatures:[...L,...D,...U,...F]});let o=W[t];if(void 0!==o)return H({data:e,signatures:o})}function J(e){let t=e.indexOf("/");return -1===t?e:e.substring(0,t)}function K(e){let t=e.indexOf("/");if(-1===t)return!1;let o=e.substring(t+1);return o.length>0&&"*"!==o}async function G(e){var t;try{await (null==(t=e.body)?void 0:t.cancel())}catch(e){}}var Y="AI_DownloadError",Z=`vercel.ai.error.${Y}`,X=Symbol.for(Z),Q=class extends(o=i.AISDKError,t=X,o){constructor({url:e,statusCode:o,statusText:r,cause:n,message:a=null==n?`Failed to download ${e}: ${o} ${r}`:`Failed to download ${e}: ${n}`}){super({name:Y,message:a,cause:n}),this[t]=!0,this.url=e,this.statusCode=o,this.statusText=r}static isInstance(e){return i.AISDKError.hasMarker(e,Z)}};function ee(e,t){try{return new URL(e).origin===new URL(t).origin}catch(e){return!1}}function et(e){let t;try{t=new URL(e)}catch(t){throw new Q({url:e,message:`Invalid URL: ${e}`})}if("data:"===t.protocol)return;if("http:"!==t.protocol&&"https:"!==t.protocol)throw new Q({url:e,message:`URL scheme must be http, https, or data, got ${t.protocol}`});let o=t.hostname.toLowerCase().replace(/\.+$/,"");if(!o)throw new Q({url:e,message:"URL must have a hostname"});if("localhost"===o||o.endsWith(".local")||o.endsWith(".localhost"))throw new Q({url:e,message:`URL with hostname ${o} is not allowed`});if(o.startsWith("[")&&o.endsWith("]")){if(en(o.slice(1,-1)))throw new Q({url:e,message:`URL with IPv6 address ${o} is not allowed`});return}if(eo(o)){if(er(o))throw new Q({url:e,message:`URL with IP address ${o} is not allowed`});return}}function eo(e){let t=e.split(".");return 4===t.length&&t.every(e=>{let t=Number(e);return Number.isInteger(t)&&t>=0&&t<=255&&String(t)===e})}function er(e){let[t,o,r]=e.split(".").map(Number);return 0===t||10===t||100===t&&o>=64&&o<=127||127===t||169===t&&254===o||172===t&&o>=16&&o<=31||192===t&&0===o&&0===r||192===t&&0===o&&2===r||192===t&&168===o||198===t&&(18===o||19===o)||198===t&&51===o&&100===r||203===t&&0===o&&113===r||t>=224||!1}function en(e){let t=function(e){let t=e.toLowerCase(),o=t.indexOf("%");-1!==o&&(t=t.slice(0,o));let r=t.split("::");if(r.length>2)return null;let n=e=>{if(""===e)return[];let t=[],o=e.split(":");for(let e=0;e<o.length;e++){let r=o[e];if(r.includes(".")){if(e!==o.length-1||!eo(r))return null;let[n,a,i,l]=r.split(".").map(Number);t.push(n<<8|a,i<<8|l);continue}if(!/^[0-9a-f]{1,4}$/.test(r))return null;t.push(parseInt(r,16))}return t},a=n(r[0]);if(null===a)return null;if(2===r.length){let e=n(r[1]);if(null===e)return null;let t=8-a.length-e.length;return t<0?null:[...a,...Array(t).fill(0),...e]}return 8===a.length?a:null}(e);if(null===t)return!0;let o=e=>t.slice(0,e).every(e=>0===e);if(o(7)&&(0===t[7]||1===t[7])||(65024&t[0])==64512||(65472&t[0])==65152||(65472&t[0])==65216||(65280&t[0])==65280||8193===t[0]&&3512===t[1]||16383===t[0]&&(61440&t[1])==0)return!0;if(o(6)||o(5)&&65535===t[5]||o(4)&&65535===t[4]&&0===t[5]||100===t[0]&&65435===t[1]&&0===t[2]&&0===t[3]&&0===t[4]&&0===t[5]||100===t[0]&&65435===t[1]&&1===t[2]){let e=t[6]>>8&255,o=255&t[6],r=t[7]>>8&255,n=255&t[7];return er(`${e}.${o}.${r}.${n}`)}return!1}var ea=globalThis.fetch,ei=function(e){if("function"!=typeof e)return!1;let t=Function.prototype.toString.call(e);return t.includes("internal/deps/undici")||t.includes("lazy loading of undici")}(ea);async function el(){var e,t;let o;return(null==(e=null==(o=globalThis.process)?void 0:o.release)?void 0:e.name)==="node"&&(null==(t=o.versions)?void 0:t.bun)==null&&ei&&globalThis.fetch===ea?null!=r?r:r=Promise.resolve().then(es):globalThis.fetch}function es(){let{createRequire:e}=eu("node:module"),{lookup:t}=eu("node:dns"),{Agent:o,fetch:r}=e(function e(){let t=Error.prepareStackTrace;try{Error.prepareStackTrace=(e,t)=>t;let t=Error("Capture current module path");Error.captureStackTrace(t,e);let[o]=t.stack,r=null==o?void 0:o.getFileName();if(null==r)throw Error("Unable to determine the current module path");return r}finally{Error.prepareStackTrace=t}}())("undici"),n=new o({connect:{lookup:(e,o,r)=>{t(e,{...o,all:!0},(t,n)=>{if(t)return void r(t);try{let[t]=n;if(null==t)throw Error(`Hostname ${e} did not resolve to an address`);for(let{address:t,family:o}of n)!function({address:e,family:t,hostname:o}){if(4===t?!eo(e)||er(e):6!==t||en(e))throw new Q({url:o,message:`Hostname ${o} resolved to disallowed IP address ${e}`})}({address:t,family:o,hostname:e});!0===o.all?r(null,n):r(null,t.address,t.family)}catch(e){r(e instanceof Error?e:Error(String(e)))}})}}});return(e,t)=>r(e,{...t,dispatcher:n})}function eu(e){var t;let o=globalThis.process,r=null==(t=null==o?void 0:o.getBuiltinModule)?void 0:t.call(o,e);if(null==r)throw Error(`Node.js built-in module ${e} is unavailable`);return r}var ed=["connection","keep-alive","te","trailer","transfer-encoding","upgrade","host","forwarded","proxy-authorization","via","x-forwarded-for","x-forwarded-host","x-forwarded-proto","x-real-ip","metadata","metadata-flavor","x-aws-ec2-metadata-token","x-metadata-token","cookie","set-cookie"],ec=new Set([301,302,303,307,308]);async function ep({url:e,headers:t,abortSignal:o,maxRedirects:r=10,fetch:n,trustedOrigin:a}){let i=void 0===t?void 0:function(e){let t=new Headers(e);for(let e of ed)t.delete(e);return t}(t),l=e=>{let t={signal:o,redirect:e};return void 0!==i&&(t.headers=new Headers(i)),t},s=e;for(let t=0;t<=r;t++){let t=void 0!==a&&ee(s,a);t||et(s);let o=null!=n?n:t?globalThis.fetch:await el(),r=await o(s,l("manual"));if("opaqueredirect"===r.type){if(!function(e=globalThis){return null!=e.window}())throw new Q({url:e,message:`Redirect from ${s} could not be validated and was blocked`});return await o(s,l("follow"))}let u=r.headers.get("location");if(ec.has(r.status)&&u){await G(r);let e=new URL(u,s).toString();if(void 0!==i&&!ee(e,s)){let e=i.get("user-agent");i=new Headers(null==e?void 0:{"user-agent":e})}s=e;continue}return r}throw new Q({url:e,message:`Too many redirects (max ${r})`})}async function eh({response:e,url:t,maxBytes:o=0x80000000}){let r=e.headers.get("content-length");if(null!=r){let n=parseInt(r,10);if(!isNaN(n)&&n>o)throw await G(e),new Q({url:t,message:`Download of ${t} exceeded maximum size of ${o} bytes (Content-Length: ${n}).`})}let n=e.body;if(null==n)return new Uint8Array(0);let a=n.getReader(),i=[],l=0;try{for(;;){let{done:e,value:r}=await a.read();if(e)break;if((l+=r.length)>o)throw new Q({url:t,message:`Download of ${t} exceeded maximum size of ${o} bytes.`});i.push(r)}}finally{try{await a.cancel()}catch(e){}finally{a.releaseLock()}}let s=new Uint8Array(l),u=0;for(let e of i)s.set(e,u),u+=e.length;return s}async function em(e,t){var o,r;try{let n=await ep({url:e,abortSignal:null==t?void 0:t.abortSignal});if(!n.ok)throw await G(n),new Q({url:e,statusCode:n.status,statusText:n.statusText});let a=await eh({response:n,url:e,maxBytes:null!=(o=null==t?void 0:t.maxBytes)?o:0x80000000}),i=null!=(r=n.headers.get("content-type"))?r:void 0;return new Blob([a],i?{type:i}:void 0)}catch(t){if(Q.isInstance(t))throw t;throw new Q({url:e,cause:t})}}var eg=Symbol.for("vercel.ai.embeddingModel.maxInputBytesPerCall"),ef=({prefix:e,size:t=16,alphabet:o="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz",separator:r="-"}={})=>{let n=()=>{let e=o.length,r=Array(t);for(let n=0;n<t;n++)r[n]=o[Math.random()*e|0];return r.join("")};if(null==e)return n;if(o.includes(r))throw new i.InvalidArgumentError({argument:"separator",message:`The separator "${r}" must not be part of the alphabet "${o}".`});return()=>`${e}${r}${n()}`},ey=ef(),ev=async({url:e,headers:t={},successfulResponseHandler:o,failedResponseHandler:r,abortSignal:n,fetch:a,validateUrl:l,credentialedOrigin:s,trustedOrigin:u})=>{try{let d=null!=a?a:globalThis.fetch,c=void 0===s||ee(e,s)?t:{},p=P(c,`ai-sdk/provider-utils/${R}`,E()),h=l?await ep({url:e,headers:p,abortSignal:n,fetch:a,trustedOrigin:u}):await d(e,{method:"GET",headers:p,signal:n}),m=C(h);if(!h.ok){let t;try{t=await r({response:h,url:e,requestBodyValues:{}})}catch(t){if(A(t)||i.APICallError.isInstance(t))throw t;throw new i.APICallError({message:"Failed to process error response",cause:t,statusCode:h.status,url:e,responseHeaders:m,requestBodyValues:{}})}throw t.value}try{return await o({response:h,url:e,requestBodyValues:{}})}catch(t){if(t instanceof Error&&(A(t)||i.APICallError.isInstance(t)))throw t;throw new i.APICallError({message:"Failed to process successful response",cause:t,statusCode:h.status,url:e,responseHeaders:m,requestBodyValues:{}})}}catch(t){throw j({error:t,url:e,requestBodyValues:{}})}};function eb(e){var t,o;return null!=(o=null==(t=globalThis.Buffer)?void 0:t.isBuffer(e))&&o}function e_(e){return null!=e&&"object"==typeof e&&!Array.isArray(e)}var ew={minimal:.02,low:.1,medium:.3,high:.6,xhigh:.9};function ez(e){return null!=e&&Number.isSafeInteger(e)&&e>=0}var ex=/"(?:_|\\u005[Ff])(?:_|\\u005[Ff])(?:p|\\u0070)(?:r|\\u0072)(?:o|\\u006[Ff])(?:t|\\u0074)(?:o|\\u006[Ff])(?:_|\\u005[Ff])(?:_|\\u005[Ff])"\s*:/,eT=/"(?:c|\\u0063)(?:o|\\u006[Ff])(?:n|\\u006[Ee])(?:s|\\u0073)(?:t|\\u0074)(?:r|\\u0072)(?:u|\\u0075)(?:c|\\u0063)(?:t|\\u0074)(?:o|\\u006[Ff])(?:r|\\u0072)"\s*:/;function ek(e){let t=JSON.parse(e);return null===t||"object"!=typeof t||!1===ex.test(e)&&!1===eT.test(e)?t:function(e){let t=[e];for(;t.length;){let e=t;for(let o of(t=[],e)){if(Object.prototype.hasOwnProperty.call(o,"__proto__")||Object.prototype.hasOwnProperty.call(o,"constructor")&&null!==o.constructor&&"object"==typeof o.constructor&&Object.prototype.hasOwnProperty.call(o.constructor,"prototype"))throw SyntaxError("Object contains forbidden prototype property");for(let e in o){let r=o[e];r&&"object"==typeof r&&t.push(r)}}}return e}(t)}function eI(e){let{stackTraceLimit:t}=Error;try{Error.stackTraceLimit=0}catch(t){return ek(e)}try{return ek(e)}finally{Error.stackTraceLimit=t}}function eS(e){if("object"===e.type||Array.isArray(e.type)&&e.type.includes("object")){let{additionalProperties:t}=e;e.additionalProperties=null!=t&&"boolean"!=typeof t&&eC(t);let{properties:o}=e;if(null!=o)for(let e of Object.keys(o))o[e]=eC(o[e])}null!=e.items&&(e.items=Array.isArray(e.items)?e.items.map(eC):eC(e.items)),null!=e.anyOf&&(e.anyOf=e.anyOf.map(eC)),null!=e.allOf&&(e.allOf=e.allOf.map(eC)),null!=e.oneOf&&(e.oneOf=e.oneOf.map(eC));let{definitions:t}=e;if(null!=t)for(let e of Object.keys(t))t[e]=eC(t[e]);return e}function eC(e){return"boolean"==typeof e?e:eS(e)}var eE=Symbol("Let zodToJsonSchema decide on which parser to use"),eA={name:void 0,$refStrategy:"root",basePath:["#"],effectStrategy:"input",pipeStrategy:"all",dateStrategy:"format:date-time",mapStrategy:"entries",removeAdditionalStrategy:"passthrough",allowedAdditionalProperties:!0,rejectedAdditionalProperties:!1,definitionPath:"definitions",strictUnions:!1,definitions:{},errorMessages:!1,patternStrategy:"escape",applyRegexFlags:!1,emailStrategy:"format:email",base64Strategy:"contentEncoding:base64",nameStrategy:"ref"};function eO(e,t){return eX(e.type._def,t)}var eM=void 0,ej=/^[cC][^\s-]{8,}$/,eR=/^[0-9a-z]+$/,eN=/^[0-9A-HJKMNP-TV-Z]{26}$/,eP=/^(?!\.)(?!.*\.\.)([a-zA-Z0-9_'+\-\.]*)[a-zA-Z0-9_+-]@([a-zA-Z0-9][a-zA-Z0-9\-]*\.)+[a-zA-Z]{2,}$/,e$=()=>(void 0===eM&&(eM=RegExp("^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$","u")),eM),eq=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/(3[0-2]|[12]?[0-9])$/,eL=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,eD=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,eU=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,eF=/^[a-zA-Z0-9_-]{21}$/,eB=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/;function eH(e,t){let o={type:"string"};if(e.checks)for(let r of e.checks)switch(r.kind){case"min":o.minLength="number"==typeof o.minLength?Math.max(o.minLength,r.value):r.value;break;case"max":o.maxLength="number"==typeof o.maxLength?Math.min(o.maxLength,r.value):r.value;break;case"email":switch(t.emailStrategy){case"format:email":eJ(o,"email",r.message,t);break;case"format:idn-email":eJ(o,"idn-email",r.message,t);break;case"pattern:zod":eK(o,eP,r.message,t)}break;case"url":eJ(o,"uri",r.message,t);break;case"uuid":eJ(o,"uuid",r.message,t);break;case"regex":eK(o,r.regex,r.message,t);break;case"cuid":eK(o,ej,r.message,t);break;case"cuid2":eK(o,eR,r.message,t);break;case"startsWith":eK(o,RegExp(`^${eW(r.value,t)}`),r.message,t);break;case"endsWith":eK(o,RegExp(`${eW(r.value,t)}$`),r.message,t);break;case"datetime":eJ(o,"date-time",r.message,t);break;case"date":eJ(o,"date",r.message,t);break;case"time":eJ(o,"time",r.message,t);break;case"duration":eJ(o,"duration",r.message,t);break;case"length":o.minLength="number"==typeof o.minLength?Math.max(o.minLength,r.value):r.value,o.maxLength="number"==typeof o.maxLength?Math.min(o.maxLength,r.value):r.value;break;case"includes":eK(o,RegExp(eW(r.value,t)),r.message,t);break;case"ip":"v6"!==r.version&&eJ(o,"ipv4",r.message,t),"v4"!==r.version&&eJ(o,"ipv6",r.message,t);break;case"base64url":eK(o,eU,r.message,t);break;case"jwt":eK(o,eB,r.message,t);break;case"cidr":"v6"!==r.version&&eK(o,eq,r.message,t),"v4"!==r.version&&eK(o,eL,r.message,t);break;case"emoji":eK(o,e$(),r.message,t);break;case"ulid":eK(o,eN,r.message,t);break;case"base64":switch(t.base64Strategy){case"format:binary":eJ(o,"binary",r.message,t);break;case"contentEncoding:base64":o.contentEncoding="base64";break;case"pattern:zod":eK(o,eD,r.message,t)}break;case"nanoid":eK(o,eF,r.message,t)}return o}function eW(e,t){return"escape"===t.patternStrategy?function(e){let t="";for(let o=0;o<e.length;o++)eV.has(e[o])||(t+="\\"),t+=e[o];return t}(e):e}var eV=new Set("ABCDEFGHIJKLMNOPQRSTUVXYZabcdefghijklmnopqrstuvxyz0123456789");function eJ(e,t,o,r){var n;e.format||(null==(n=e.anyOf)?void 0:n.some(e=>e.format))?(e.anyOf||(e.anyOf=[]),e.format&&(e.anyOf.push({format:e.format}),delete e.format),e.anyOf.push({format:t,...o&&r.errorMessages&&{errorMessage:{format:o}}})):e.format=t}function eK(e,t,o,r){var n;e.pattern||(null==(n=e.allOf)?void 0:n.some(e=>e.pattern))?(e.allOf||(e.allOf=[]),e.pattern&&(e.allOf.push({pattern:e.pattern}),delete e.pattern),e.allOf.push({pattern:eG(t,r),...o&&r.errorMessages&&{errorMessage:{pattern:o}}})):e.pattern=eG(t,r)}function eG(e,t){var o;if(!t.applyRegexFlags||!e.flags)return e.source;let r={i:e.flags.includes("i"),m:e.flags.includes("m"),s:e.flags.includes("s")},n=r.i?e.source.toLowerCase():e.source,a="",i=!1,l=!1,s=!1;for(let e=0;e<n.length;e++){if(i){a+=n[e],i=!1;continue}if(r.i){if(l){if(n[e].match(/[a-z]/)){s?(a+=n[e],a+=`${n[e-2]}-${n[e]}`.toUpperCase(),s=!1):"-"===n[e+1]&&(null==(o=n[e+2])?void 0:o.match(/[a-z]/))?(a+=n[e],s=!0):a+=`${n[e]}${n[e].toUpperCase()}`;continue}}else if(n[e].match(/[a-z]/)){a+=`[${n[e]}${n[e].toUpperCase()}]`;continue}}if(r.m){if("^"===n[e]){a+=`(^|(?<=[\r
|
|
64
|
+
]))`;continue}else if("$"===n[e]){a+=`($|(?=[\r
|
|
65
|
+
]))`;continue}}if(r.s&&"."===n[e]){a+=l?`${n[e]}\r
|
|
66
|
+
`:`[${n[e]}\r
|
|
67
|
+
]`;continue}a+=n[e],"\\"===n[e]?i=!0:l&&"]"===n[e]?l=!1:l||"["!==n[e]||(l=!0)}try{new RegExp(a)}catch(o){return console.warn(`Could not convert regex pattern at ${t.currentPath.join("/")} to a flag-independent form! Falling back to the flag-ignorant source`),e.source}return a}function eY(e,t){var o,r,n,a,i,l;let s={type:"object",additionalProperties:null!=(o=eX(e.valueType._def,{...t,currentPath:[...t.currentPath,"additionalProperties"]}))?o:t.allowedAdditionalProperties};if((null==(r=e.keyType)?void 0:r._def.typeName)==="ZodString"&&(null==(n=e.keyType._def.checks)?void 0:n.length)){let{type:o,...r}=eH(e.keyType._def,t);return{...s,propertyNames:r}}if((null==(a=e.keyType)?void 0:a._def.typeName)==="ZodEnum")return{...s,propertyNames:{enum:e.keyType._def.values}};if((null==(i=e.keyType)?void 0:i._def.typeName)==="ZodBranded"&&"ZodString"===e.keyType._def.type._def.typeName&&(null==(l=e.keyType._def.type._def.checks)?void 0:l.length)){let{type:o,...r}=eO(e.keyType._def,t);return{...s,propertyNames:r}}return s}var eZ={ZodString:"string",ZodNumber:"number",ZodBigInt:"integer",ZodBoolean:"boolean",ZodNull:"null"};function eX(e,t,o=!1){var r;let n=t.seen.get(e);if(t.override){let a=null==(r=t.override)?void 0:r.call(t,e,t,n,o);if(a!==eE)return a}if(n&&!o){let e=eQ(n,t);if(void 0!==e)return e}let a={def:e,path:t.currentPath,jsonSchema:void 0};t.seen.set(e,a);let i=((e,t,o)=>{var r,n,a,i,l,s;switch(t){case"ZodString":return eH(e,o);case"ZodNumber":let u={type:"number"};if(!e.checks)return u;for(let t of e.checks)switch(t.kind){case"int":u.type="integer";break;case"min":t.inclusive?u.minimum=t.value:u.exclusiveMinimum=t.value;break;case"max":t.inclusive?u.maximum=t.value:u.exclusiveMaximum=t.value;break;case"multipleOf":u.multipleOf=t.value}return u;case"ZodObject":return function(e,t){let o={type:"object",properties:{}},r=[],n=e.shape();for(let e in n){let a=n[e];if(void 0===a||void 0===a._def)continue;let i=function(e){try{return e.isOptional()}catch(e){return!0}}(a),l=eX(a._def,{...t,currentPath:[...t.currentPath,"properties",e],propertyPath:[...t.currentPath,"properties",e]});void 0!==l&&(o.properties[e]=l,i||r.push(e))}r.length&&(o.required=r);let a=function(e,t){if("ZodNever"!==e.catchall._def.typeName)return eX(e.catchall._def,{...t,currentPath:[...t.currentPath,"additionalProperties"]});switch(e.unknownKeys){case"passthrough":return t.allowedAdditionalProperties;case"strict":return t.rejectedAdditionalProperties;case"strip":return"strict"===t.removeAdditionalStrategy?t.allowedAdditionalProperties:t.rejectedAdditionalProperties}}(e,t);return void 0!==a&&(o.additionalProperties=a),o}(e,o);case"ZodBigInt":let d={type:"integer",format:"int64"};if(!e.checks)return d;for(let t of e.checks)switch(t.kind){case"min":t.inclusive?d.minimum=t.value:d.exclusiveMinimum=t.value;break;case"max":t.inclusive?d.maximum=t.value:d.exclusiveMaximum=t.value;break;case"multipleOf":d.multipleOf=t.value}return d;case"ZodBoolean":return{type:"boolean"};case"ZodDate":return function e(t,o,r){let n=null!=r?r:o.dateStrategy;if(Array.isArray(n))return{anyOf:n.map(r=>e(t,o,r))};switch(n){case"string":case"format:date-time":return{type:"string",format:"date-time"};case"format:date":return{type:"string",format:"date"};case"integer":var a=t;let i={type:"integer",format:"unix-time"};for(let e of a.checks)switch(e.kind){case"min":i.minimum=e.value;break;case"max":i.maximum=e.value}return i}}(e,o);case"ZodUndefined":case"ZodNaN":case"ZodNever":return{not:{}};case"ZodNull":return{type:"null"};case"ZodArray":let c;return c={type:"array"},(null==(a=e.type)?void 0:a._def)&&(null==(l=null==(i=e.type)?void 0:i._def)?void 0:l.typeName)!=="ZodAny"&&(c.items=eX(e.type._def,{...o,currentPath:[...o.currentPath,"items"]})),e.minLength&&(c.minItems=e.minLength.value),e.maxLength&&(c.maxItems=e.maxLength.value),e.exactLength&&(c.minItems=e.exactLength.value,c.maxItems=e.exactLength.value),c;case"ZodUnion":case"ZodDiscriminatedUnion":let p,h=e.options instanceof Map?Array.from(e.options.values()):e.options;if(h.every(e=>e._def.typeName in eZ&&(!e._def.checks||!e._def.checks.length))){let e=h.reduce((e,t)=>{let o=eZ[t._def.typeName];return o&&!e.includes(o)?[...e,o]:e},[]);return{type:e.length>1?e:e[0]}}if(h.every(e=>"ZodLiteral"===e._def.typeName&&!e.description)){let e=h.reduce((e,t)=>{let o=typeof t._def.value;switch(o){case"string":case"number":case"boolean":return[...e,o];case"bigint":return[...e,"integer"];case"object":if(null===t._def.value)return[...e,"null"];default:return e}},[]);if(e.length===h.length){let t=e.filter((e,t,o)=>o.indexOf(e)===t);return{type:t.length>1?t:t[0],enum:h.reduce((e,t)=>e.includes(t._def.value)?e:[...e,t._def.value],[])}}}else if(h.every(e=>"ZodEnum"===e._def.typeName))return{type:"string",enum:h.reduce((e,t)=>[...e,...t._def.values.filter(t=>!e.includes(t))],[])};return r=e,n=o,(p=(r.options instanceof Map?Array.from(r.options.values()):r.options).map((e,t)=>eX(e._def,{...n,currentPath:[...n.currentPath,"anyOf",`${t}`]})).filter(e=>!!e&&(!n.strictUnions||"object"==typeof e&&Object.keys(e).length>0))).length?{anyOf:p}:void 0;case"ZodIntersection":let m,g;return m=[eX(e.left._def,{...o,currentPath:[...o.currentPath,"allOf","0"]}),eX(e.right._def,{...o,currentPath:[...o.currentPath,"allOf","1"]})].filter(e=>!!e),g=[],m.forEach(e=>{if((!("type"in e)||"string"!==e.type)&&"allOf"in e)g.push(...e.allOf);else{let t=e;if("additionalProperties"in e&&!1===e.additionalProperties){let{additionalProperties:o,...r}=e;t=r}g.push(t)}}),g.length?{allOf:g}:void 0;case"ZodTuple":return e.rest?{type:"array",minItems:e.items.length,items:e.items.map((e,t)=>eX(e._def,{...o,currentPath:[...o.currentPath,"items",`${t}`]})).reduce((e,t)=>void 0===t?e:[...e,t],[]),additionalItems:eX(e.rest._def,{...o,currentPath:[...o.currentPath,"additionalItems"]})}:{type:"array",minItems:e.items.length,maxItems:e.items.length,items:e.items.map((e,t)=>eX(e._def,{...o,currentPath:[...o.currentPath,"items",`${t}`]})).reduce((e,t)=>void 0===t?e:[...e,t],[])};case"ZodRecord":return eY(e,o);case"ZodLiteral":let f;return"bigint"!=(f=typeof e.value)&&"number"!==f&&"boolean"!==f&&"string"!==f?{type:Array.isArray(e.value)?"array":"object"}:{type:"bigint"===f?"integer":f,const:e.value};case"ZodEnum":return{type:"string",enum:Array.from(e.values)};case"ZodNativeEnum":let y,v,b;return y=e.values,{type:1===(b=Array.from(new Set((v=Object.keys(e.values).filter(e=>"number"!=typeof y[y[e]]).map(e=>y[e])).map(e=>typeof e)))).length?"string"===b[0]?"string":"number":["string","number"],enum:v};case"ZodNullable":if(["ZodString","ZodNumber","ZodBigInt","ZodBoolean","ZodNull"].includes(e.innerType._def.typeName)&&(!e.innerType._def.checks||!e.innerType._def.checks.length))return{type:[eZ[e.innerType._def.typeName],"null"]};let _=eX(e.innerType._def,{...o,currentPath:[...o.currentPath,"anyOf","0"]});return _&&{anyOf:[_,{type:"null"}]};case"ZodOptional":if(o.currentPath.toString()===(null==(s=o.propertyPath)?void 0:s.toString()))return eX(e.innerType._def,o);let w=eX(e.innerType._def,{...o,currentPath:[...o.currentPath,"anyOf","1"]});return w?{anyOf:[{not:{}},w]}:{};case"ZodMap":if("record"===o.mapStrategy)return eY(e,o);return{type:"array",maxItems:125,items:{type:"array",items:[eX(e.keyType._def,{...o,currentPath:[...o.currentPath,"items","items","0"]})||{},eX(e.valueType._def,{...o,currentPath:[...o.currentPath,"items","items","1"]})||{}],minItems:2,maxItems:2}};case"ZodSet":let z;return z={type:"array",uniqueItems:!0,items:eX(e.valueType._def,{...o,currentPath:[...o.currentPath,"items"]})},e.minSize&&(z.minItems=e.minSize.value),e.maxSize&&(z.maxItems=e.maxSize.value),z;case"ZodLazy":return()=>e.getter()._def;case"ZodPromise":return eX(e.type._def,o);case"ZodEffects":return"input"===o.effectStrategy?eX(e.schema._def,o):{};case"ZodAny":case"ZodUnknown":return{};case"ZodDefault":return{...eX(e.innerType._def,o),default:e.defaultValue()};case"ZodBranded":return eO(e,o);case"ZodReadonly":case"ZodCatch":return eX(e.innerType._def,o);case"ZodPipeline":if("input"===o.pipeStrategy)return eX(e.in._def,o);if("output"===o.pipeStrategy)return eX(e.out._def,o);let x=eX(e.in._def,{...o,currentPath:[...o.currentPath,"allOf","0"]}),T=eX(e.out._def,{...o,currentPath:[...o.currentPath,"allOf",x?"1":"0"]});return{allOf:[x,T].filter(e=>void 0!==e)};default:return}})(e,e.typeName,t),l="function"==typeof i?eX(i(),t):i;if(l&&e0(e,t,l),t.postProcess){let o=t.postProcess(l,e,t);return a.jsonSchema=l,o}return a.jsonSchema=l,l}var eQ=(e,t)=>{switch(t.$refStrategy){case"root":return{$ref:e.path.join("/")};case"relative":return{$ref:((e,t)=>{let o=0;for(;o<e.length&&o<t.length&&e[o]===t[o];o++);return[(e.length-o).toString(),...t.slice(o)].join("/")})(t.currentPath,e.path)};case"none":case"seen":if(e.path.length<t.currentPath.length&&e.path.every((e,o)=>t.currentPath[o]===e))return console.warn(`Recursive reference detected at ${t.currentPath.join("/")}! Defaulting to any`),{};return"seen"===t.$refStrategy?{}:void 0}},e0=(e,t,o)=>(e.description&&(o.description=e.description),o),e1=Symbol.for("vercel.ai.schema");function e2(e,{validate:t}={}){return{[e1]:!0,_type:void 0,get jsonSchema(){return"function"==typeof e&&(e=e()),e},validate:t}}function e4(e){var t;return null==e?e2({type:"object",properties:{},additionalProperties:!1}):"object"==typeof e&&null!==e&&e1 in e&&!0===e[e1]&&"jsonSchema"in e&&"validate"in e?e:"~standard"in e?"zod"===e["~standard"].vendor?e3(e):(t=e,e2(()=>{if(null==t["~standard"].jsonSchema)throw Error(`Standard schema vendor '${t["~standard"].vendor}' does not support JSON Schema conversion.`);return eS(t["~standard"].jsonSchema.input({target:"draft-07"}))},{validate:async e=>{let o=await t["~standard"].validate(e);return"value"in o?{success:!0,value:o.value}:{success:!1,error:new i.TypeValidationError({value:e,cause:o.issues})}}})):e()}function e3(e,t){var o,r;let n;if("_zod"in e){let r;return r=null!=(o=null==t?void 0:t.useReferences)&&o,e2(()=>eS((0,s.toJSONSchema)(e,{target:"draft-7",io:"input",reused:r?"ref":"inline"})),{validate:async t=>{let o=await (0,l.safeParseAsync)(e,t);return o.success?{success:!0,value:o.data}:{success:!1,error:o.error}}})}return n=null!=(r=null==t?void 0:t.useReferences)&&r,e2(()=>((e,t)=>{var o;let r,n,a=(n=void 0!==(r="string"==typeof t?{...eA,name:t}:{...eA,...t}).name?[...r.basePath,r.definitionPath,r.name]:r.basePath,{...r,currentPath:n,propertyPath:void 0,seen:new Map(Object.entries(r.definitions).map(([e,t])=>[t._def,{def:t._def,path:[...r.basePath,r.definitionPath,e],jsonSchema:void 0}]))}),i="object"==typeof t&&t.definitions?Object.entries(t.definitions).reduce((e,[t,o])=>{var r;return{...e,[t]:null!=(r=eX(o._def,{...a,currentPath:[...a.basePath,a.definitionPath,t]},!0))?r:{}}},{}):void 0,l="string"==typeof t?t:(null==t?void 0:t.nameStrategy)==="title"||null==t?void 0:t.name,s=null!=(o=eX(e._def,void 0===l?a:{...a,currentPath:[...a.basePath,a.definitionPath,l]},!1))?o:{},u="object"==typeof t&&void 0!==t.name&&"title"===t.nameStrategy?t.name:void 0;void 0!==u&&(s.title=u);let d=void 0===l?i?{...s,[a.definitionPath]:i}:s:{$ref:[..."relative"===a.$refStrategy?[]:a.basePath,a.definitionPath,l].join("/"),[a.definitionPath]:{...i,[l]:s}};return d.$schema="http://json-schema.org/draft-07/schema#",d})(e,{$refStrategy:n?"root":"none"}),{validate:async t=>{let o=await e.safeParseAsync(t);return o.success?{success:!0,value:o.data}:{success:!1,error:o.error}}})}async function e5({value:e,schema:t,context:o}){let r=await e6({value:e,schema:t,context:o});if(!r.success)throw i.TypeValidationError.wrap({value:e,cause:r.error,context:o});return r.value}async function e6({value:e,schema:t,context:o}){let r=e4(t);try{if(null==r.validate)return{success:!0,value:e,rawValue:e};let t=await r.validate(e);if(t.success)return{success:!0,value:t.value,rawValue:e};return{success:!1,error:i.TypeValidationError.wrap({value:e,cause:t.error,context:o}),rawValue:e}}catch(t){return{success:!1,error:i.TypeValidationError.wrap({value:e,cause:t,context:o}),rawValue:e}}}async function e9({text:e,schema:t}){try{let o=eI(e);if(null==t)return o;return await e5({value:o,schema:t})}catch(t){if(i.JSONParseError.isInstance(t)||i.TypeValidationError.isInstance(t))throw t;throw new i.JSONParseError({text:e,cause:t})}}async function e8({text:e,schema:t}){try{let o=eI(e);if(null==t)return{success:!0,value:o,rawValue:o};return await e6({value:o,schema:t})}catch(t){return{success:!1,error:i.JSONParseError.isInstance(t)?t:new i.JSONParseError({text:e,cause:t}),rawValue:void 0}}}function e7({stream:e,schema:t}){return e.pipeThrough(new TextDecoderStream).pipeThrough(new h).pipeThrough(new TransformStream({async transform({data:e},o){"[DONE]"!==e&&o.enqueue(await e8({text:e,schema:t}))}}))}async function te({provider:e,providerOptions:t,schema:o}){if((null==t?void 0:t[e])==null)return;let r=await e6({value:t[e],schema:o});if(!r.success)throw new i.InvalidArgumentError({argument:"providerOptions",message:`invalid ${e} provider options`,cause:r.error});return r.value}var tt=()=>globalThis.fetch;function to(e){return e.replace(/[\r\n]/g,"").replace(/\\/g,"\\\\").replace(/"/g,'\\"')}var tr=async({url:e,headers:t={},parts:o,failedResponseHandler:r,successfulResponseHandler:n,abortSignal:a,fetch:l=tt()})=>{let s,u,d,c,p=`ai-sdk-multipart-${ey()}`,h=Object.fromEntries(o.map(e=>{var t;return[e.name,"field"===e.type?e.value:`<file:${null!=(t=e.filename)?t:e.name}>`]})),m=(u=new TextEncoder,d=!1,c=new Set,{stream:w(async function*(){var e,t;for(let r of o){if(d)return;let o=`--${p}\r
|
|
68
|
+
Content-Disposition: form-data; name="${to(r.name)}"`;if("field"===r.type){yield u.encode(`${o}\r
|
|
69
|
+
\r
|
|
70
|
+
${r.value}\r
|
|
71
|
+
`);continue}let n=`; filename="${to(null!=(e=r.filename)?e:"blob")}"`,a=(null!=(t=r.mediaType)?t:"application/octet-stream").replace(/[\r\n]/g,"");if(yield u.encode(`${o}${n}\r
|
|
72
|
+
Content-Type: ${a}\r
|
|
73
|
+
\r
|
|
74
|
+
`),r.content instanceof Uint8Array)yield r.content;else{let e=r.content.getReader();s=e,c.add(r.content);let t=!1;try{for(;;){let{done:o,value:r}=await e.read();if(o||d){t=o;break}yield r}}finally{s=void 0,t||await e.cancel().catch(()=>{}),e.releaseLock()}if(d)return}yield u.encode("\r\n")}yield u.encode(`--${p}--\r
|
|
75
|
+
`)}()),async dispose(e){if(d)return;d=!0;let t=s;for(let r of(null!=t&&await t.cancel(e).catch(()=>{}),o))"file"!==r.type||r.content instanceof Uint8Array||c.has(r.content)||await r.content.cancel(e).catch(()=>{})}});try{let o={method:"POST",headers:P({...t,"Content-Type":`multipart/form-data; boundary=${p}`},`ai-sdk/provider-utils/${R}`,E()),body:m.stream,duplex:"half",signal:a},s=await l(e,o),u=C(s);if(!s.ok){let t;try{t=await r({response:s,url:e,requestBodyValues:h})}catch(t){if(A(t)||i.APICallError.isInstance(t))throw t;throw new i.APICallError({message:"Failed to process error response",cause:t,statusCode:s.status,url:e,responseHeaders:u,requestBodyValues:h})}throw t.value}try{return await n({response:s,url:e,requestBodyValues:h})}catch(t){if(t instanceof Error&&(A(t)||i.APICallError.isInstance(t)))throw t;throw new i.APICallError({message:"Failed to process successful response",cause:t,statusCode:s.status,url:e,responseHeaders:u,requestBodyValues:h})}}catch(t){throw await m.dispose(t),j({error:t,url:e,requestBodyValues:h})}},tn=()=>globalThis.fetch,ta=async({url:e,headers:t,body:o,failedResponseHandler:r,successfulResponseHandler:n,abortSignal:a,fetch:i})=>await tl({url:e,headers:{"Content-Type":"application/json",...t},body:{content:JSON.stringify(o),values:o},failedResponseHandler:r,successfulResponseHandler:n,abortSignal:a,fetch:i}),ti=async({url:e,headers:t,formData:o,failedResponseHandler:r,successfulResponseHandler:n,abortSignal:a,fetch:i})=>await tl({url:e,headers:t,body:{content:o,values:Object.fromEntries(o.entries())},failedResponseHandler:r,successfulResponseHandler:n,abortSignal:a,fetch:i}),tl=async({url:e,headers:t={},body:o,successfulResponseHandler:r,failedResponseHandler:n,abortSignal:a,fetch:l=tn()})=>{try{let s=await l(e,{method:"POST",headers:P(t,`ai-sdk/provider-utils/${R}`,E()),body:o.content,signal:a}),u=C(s);if(!s.ok){let t;try{t=await n({response:s,url:e,requestBodyValues:o.values})}catch(t){if(A(t)||i.APICallError.isInstance(t))throw t;throw new i.APICallError({message:"Failed to process error response",cause:t,statusCode:s.status,url:e,responseHeaders:u,requestBodyValues:o.values})}throw t.value}try{return await r({response:s,url:e,requestBodyValues:o.values})}catch(t){if(t instanceof Error&&(A(t)||i.APICallError.isInstance(t)))throw t;throw new i.APICallError({message:"Failed to process successful response",cause:t,statusCode:s.status,url:e,responseHeaders:u,requestBodyValues:o.values})}}catch(t){throw j({error:t,url:e,requestBodyValues:o.values})}};function ts(e){return e}async function tu(e){return"function"==typeof e&&(e=e()),Promise.resolve(e)}async function td(e,{maxRetries:t,delayInMs:o,backoffFactor:r,abortSignal:n,shouldRetry:a,getDelayInMs:l,createRetryError:s},u=[]){try{return await e()}catch(h){if(A(h)||0===t)throw h;let d=(0,i.getErrorMessage)(h),c=[...u,h],p=c.length;if(p>t)throw s({message:`Failed after ${p} attempts. Last error: ${d}`,reason:"maxRetriesExceeded",errors:c});if(await a(h)&&p<=t)return await f(l({error:h,exponentialBackoffDelay:o}),{abortSignal:n}),td(e,{maxRetries:t,delayInMs:r*o,backoffFactor:r,abortSignal:n,shouldRetry:a,getDelayInMs:l,createRetryError:s},c);if(1===p)throw h;throw s({message:`Failed after ${p} attempts with non-retryable error: '${d}'`,reason:"errorNotRetryable",errors:c})}}var tc=new TextDecoder;function tp({stream:e,url:t,requestBodyValues:o,statusCode:r,responseHeaders:n}){let a=e.getReader(),l=!1,s=()=>{l||(a.releaseLock(),l=!0)};return new ReadableStream({async pull(e){try{let{done:t,value:o}=await a.read();t?(s(),e.close()):e.enqueue(o)}catch(a){if(s(),A(a))return void e.error(a);e.error(j({error:new i.APICallError({message:"Failed to process successful response",cause:a,statusCode:r,url:t,responseHeaders:n,requestBodyValues:o}),url:t,requestBodyValues:o}))}},async cancel(e){try{await a.cancel(e)}finally{s()}}})}async function th({response:e,url:t}){return tc.decode(await eh({response:e,url:t}))}async function*tm({stream:e,schema:t}){let o=e.getReader(),r=new TextDecoder,n="",a=!1;try{for(;;){let{done:e,value:i}=await o.read();if(e){a=!0,n+=r.decode();break}let l=(n+=r.decode(i,{stream:!0})).indexOf("\n");for(;-1!==l;){let e=n.slice(0,l).replace(/\r$/,"");n=n.slice(l+1),e.trim().length>0&&(yield await e9({text:e,schema:t})),l=n.indexOf("\n")}}let e=n.replace(/\r$/,"");e.trim().length>0&&(yield await e9({text:e,schema:t}))}finally{a||await o.cancel().catch(()=>{}),o.releaseLock()}}function tg(e){if(null==e)return!0;let t=typeof e;return"string"===t||"number"===t||"boolean"===t||"function"!==t&&"symbol"!==t&&"bigint"!==t&&(Array.isArray(e)?e.every(tg):Object.getPrototypeOf(e)===Object.prototype&&Object.values(e).every(tg))}var tf="AI_SerializationError",ty=`vercel.ai.error.${tf}`,tv=Symbol.for(ty),tb=class extends(a=i.AISDKError,n=tv,a){constructor({message:e="Failed to serialize value.",cause:t}={}){super({name:tf,message:e,cause:t}),this[n]=!0}static isInstance(e){return i.AISDKError.hasMarker(e,ty)}},t_=class{constructor(e,t={}){var o,r;this.toolCalls=new Set,this.toolCallsById=new Map,this.toolCallsByIndex=new Map,this.controller=e,this._generateId=null!=(o=t.generateId)?o:ey,this.typeValidation=null!=(r=t.typeValidation)?r:"none",this.extractMetadata=t.extractMetadata,this.buildToolCallProviderMetadata=t.buildToolCallProviderMetadata}processDelta(e){let{id:t,index:o}=e,r=null!=t&&t.length>0?this.toolCallsById.get(t):null!=o?this.toolCallsByIndex.get(o):this.latestToolCall;null==r?r=this.processNewToolCall(e):this.processExistingToolCall(r,e),null!=o&&this.toolCallsByIndex.set(o,r),this.latestToolCall=r}flush(){for(let e of this.toolCalls)e.hasFinished||this.finishToolCall(e)}processNewToolCall(e){var t,o,r;if("required"===this.typeValidation){if("function"!==e.type)throw new i.InvalidResponseDataError({data:e,message:"Expected 'function' type."})}else if("if-present"===this.typeValidation&&null!=e.type&&"function"!==e.type)throw new i.InvalidResponseDataError({data:e,message:"Expected 'function' type."});if(null==e.id)throw new i.InvalidResponseDataError({data:e,message:"Expected 'id' to be a string."});if((null==(t=e.function)?void 0:t.name)==null)throw new i.InvalidResponseDataError({data:e,message:"Expected 'function.name' to be a string."});this.controller.enqueue({type:"tool-input-start",id:e.id,toolName:e.function.name});let n=null==(o=this.extractMetadata)?void 0:o.call(this,e),a={id:e.id,type:"function",function:{name:e.function.name,arguments:null!=(r=e.function.arguments)?r:""},hasFinished:!1,metadata:n};return this.toolCalls.add(a),a.id.length>0&&this.toolCallsById.set(a.id,a),a.function.arguments.length>0&&this.controller.enqueue({type:"tool-input-delta",id:a.id,delta:a.function.arguments}),a}processExistingToolCall(e,t){var o;e.hasFinished||(null==(o=t.function)?void 0:o.arguments)!=null&&(e.function.arguments+=t.function.arguments,this.controller.enqueue({type:"tool-input-delta",id:e.id,delta:t.function.arguments}))}finishToolCall(e){var t,o;this.controller.enqueue({type:"tool-input-end",id:e.id});let r=null==(t=this.buildToolCallProviderMetadata)?void 0:t.call(this,e.metadata);this.controller.enqueue({type:"tool-call",toolCallId:null!=(o=e.id)?o:this._generateId(),toolName:e.function.name,input:e.function.arguments,...r?{providerMetadata:r}:{}}),e.hasFinished=!0}};function tw(e){return"string"==typeof e}function tz(e){return"number"==typeof e}function tx(e,t){return void 0===e||t(e)}function tT(e){return e_(e)&&tw(e.type)}function tk(e){return e_(e)&&tw(e.text)&&tz(e.startSecond)&&tz(e.endSecond)}async function*tI({tool:e,input:t,options:o}){let r=e.execute(t,o);if(null!=r&&"function"==typeof r[Symbol.asyncIterator]){let e;for await(let t of r)e=t,yield{type:"preliminary",output:t};yield{type:"final",output:e}}else yield{type:"final",output:await r}}e.s(["DEFAULT_MAX_DOWNLOAD_SIZE",0,0x80000000,"DelayedPromise",0,S,"DownloadError",0,Q,"EXPERIMENTAL_EMBEDDING_MODEL_MAX_INPUT_BYTES_PER_CALL",0,eg,"EXPERIMENTAL_TRANSCRIPTION_STREAM_AUDIO_DONE_FRAME_TYPE",0,"transcription-stream.audio-done","EXPERIMENTAL_TRANSCRIPTION_STREAM_START_FRAME_TYPE",0,"transcription-stream.start","StreamingToolCallTracker",0,t_,"asArray",0,function(e){return void 0===e?[]:Array.isArray(e)?e:[e]},"asSchema",0,e4,"cancelResponseBody",0,G,"combineHeaders",0,function(...e){return e.reduce((e,t)=>({...e,...null!=t?t:{}}),{})},"connectToWebSocket",0,function({url:e,protocols:t,headers:o,webSocket:r,abortSignal:n,onOpen:a,onMessageText:i,onProcessingError:l,onSocketError:s,onClose:u,onAbort:d}){var c,p;let h,m,g=e=>{null!=m&&(null==n||n.removeEventListener("abort",m),m=void 0);try{null==h||h.close(e)}catch(e){}};if(null==n?void 0:n.aborted)return null==d||d(null!=(c=n.reason)?c:Error("Aborted")),{socket:void 0,close:g};try{h=new(function(e){let t=null!=e?e:globalThis.WebSocket;if(null==t)throw Error("No WebSocket implementation available.");return t}(r))(e,t,{headers:(p=null!=o?o:{},Object.fromEntries(Object.entries(p).filter(([e,t])=>null!=t)))})}catch(e){return l(e),{socket:void 0,close:g}}null!=n&&null!=d&&(m=()=>{var e;return d(null!=(e=n.reason)?e:Error("Aborted"))},n.addEventListener("abort",m,{once:!0}));let f=h;h.onopen=()=>{try{null==a||a(f)}catch(e){l(e)}};let y=Promise.resolve();return h.onmessage=e=>{y=y.then(()=>b(e.data)).then(e=>i(e)).catch(l)},h.onerror=()=>{y=y.then(()=>null==s?void 0:s()).catch(l)},h.onclose=e=>{let t="number"==typeof(null==e?void 0:e.code)?e.code:void 0,o="string"==typeof(null==e?void 0:e.reason)?e.reason:void 0;y=y.then(()=>null==u?void 0:u({code:t,reason:o})).catch(l)},{socket:h,close:g}},"convertAsyncIteratorToReadableStream",0,w,"convertBase64ToUint8Array",0,T,"convertImageModelFileToDataUri",0,function(e){return"url"===e.type?e.url:`data:${e.mediaType};base64,${"string"==typeof e.data?e.data:k(e.data)}`},"convertInlineFileDataToUint8Array",0,function(e){if("stream"===e.type){let t=new i.UnsupportedFunctionalityError({functionality:"streaming file upload"});throw e.stream.cancel(t).catch(()=>{}),t}return"text"===e.type?new TextEncoder().encode(e.text):e.data instanceof Uint8Array?e.data:e.data instanceof ArrayBuffer?new Uint8Array(e.data):T(e.data)},"convertToBase64",0,function(e){return e instanceof Uint8Array?k(e):e},"convertToFormData",0,function(e,t={}){let{useArrayBrackets:o=!0}=t,r=new FormData;for(let[t,n]of Object.entries(e))if(null!=n){if(Array.isArray(n)){if(1===n.length){r.append(t,n[0]);continue}let e=o?`${t}[]`:t;for(let t of n)r.append(e,t);continue}r.append(t,n)}return r},"convertUint8ArrayToBase64",0,k,"createBinaryResponseHandler",0,()=>async({response:e,url:t,requestBodyValues:o})=>{let r=C(e);if(!e.body)throw new i.APICallError({message:"Response body is empty",url:t,requestBodyValues:o,statusCode:e.status,responseHeaders:r,responseBody:void 0});try{let t=await e.arrayBuffer();return{responseHeaders:r,value:new Uint8Array(t)}}catch(n){throw new i.APICallError({message:"Failed to read response as array buffer",url:t,requestBodyValues:o,statusCode:e.status,responseHeaders:r,responseBody:void 0,cause:n})}},"createBinaryStreamResponseHandler",0,()=>async({response:e,url:t,requestBodyValues:o})=>{let r=C(e);if(null==e.body)throw new i.EmptyResponseBodyError({});return{responseHeaders:r,value:tp({stream:e.body,url:t,requestBodyValues:o,statusCode:e.status,responseHeaders:r})}},"createEventSourceResponseHandler",0,e=>async({response:t,url:o,requestBodyValues:r})=>{let n=C(t);if(null==t.body)throw new i.EmptyResponseBodyError({});return{responseHeaders:n,value:e7({stream:tp({stream:t.body,url:o,requestBodyValues:r,statusCode:t.status,responseHeaders:n}),schema:e})}},"createIdGenerator",0,ef,"createJsonErrorResponseHandler",0,({errorSchema:e,errorToMessage:t,isRetryable:o})=>async({response:r,url:n,requestBodyValues:a})=>{let l=await th({response:r,url:n}),s=C(r);if(""===l.trim())return{responseHeaders:s,value:new i.APICallError({message:r.statusText,url:n,requestBodyValues:a,statusCode:r.status,responseHeaders:s,responseBody:l,isRetryable:null==o?void 0:o(r)})};try{let u=await e9({text:l,schema:e});return{responseHeaders:s,value:new i.APICallError({message:t(u),url:n,requestBodyValues:a,statusCode:r.status,responseHeaders:s,responseBody:l,data:u,isRetryable:null==o?void 0:o(r,u)})}}catch(e){return{responseHeaders:s,value:new i.APICallError({message:r.statusText,url:n,requestBodyValues:a,statusCode:r.status,responseHeaders:s,responseBody:l,isRetryable:null==o?void 0:o(r)})}}},"createJsonLinesResponseHandler",0,e=>async({response:t})=>{let o=C(t);if(null==t.body)throw new i.EmptyResponseBodyError({});return{responseHeaders:o,value:tm({stream:t.body,schema:e})}},"createJsonResponseHandler",0,e=>async({response:t,url:o,requestBodyValues:r})=>{let n=await th({response:t,url:o}),a=await e8({text:n,schema:e}),l=C(t);if(!a.success)throw new i.APICallError({message:"Invalid JSON response",cause:a.error,statusCode:t.status,responseHeaders:l,responseBody:n,url:o,requestBodyValues:r});return{responseHeaders:l,value:a.value,rawValue:a.rawValue}},"createLanguageModelResponseMetadata",0,function({id:e,model:t,created:o}){return{id:null!=e?e:void 0,modelId:null!=t?t:void 0,timestamp:null!=o?new Date(1e3*o):void 0}},"createNullLanguageModelUsage",0,function(){return{inputTokens:{total:void 0,noCache:void 0,cacheRead:void 0,cacheWrite:void 0},outputTokens:{total:void 0,text:void 0,reasoning:void 0},raw:void 0}},"createProviderDefinedToolFactory",0,function({id:e,inputSchema:t}){return({execute:o,outputSchema:r,needsApproval:n,toModelOutput:a,onInputStart:i,onInputDelta:l,onInputAvailable:s,...u})=>ts({type:"provider",isProviderExecuted:!1,id:e,args:u,inputSchema:t,outputSchema:r,execute:o,needsApproval:n,toModelOutput:a,onInputStart:i,onInputDelta:l,onInputAvailable:s})},"createProviderDefinedToolFactoryWithOutputSchema",0,function({id:e,inputSchema:t,outputSchema:o}){return({execute:r,needsApproval:n,toModelOutput:a,onInputStart:i,onInputDelta:l,onInputAvailable:s,...u})=>ts({type:"provider",isProviderExecuted:!1,id:e,args:u,inputSchema:t,outputSchema:o,execute:r,needsApproval:n,toModelOutput:a,onInputStart:i,onInputDelta:l,onInputAvailable:s})},"createProviderExecutedToolFactory",0,function({id:e,inputSchema:t,outputSchema:o,supportsDeferredResults:r}){return({onInputStart:n,onInputDelta:a,onInputAvailable:i,...l})=>ts({type:"provider",isProviderExecuted:!0,id:e,args:l,inputSchema:t,outputSchema:o,onInputStart:n,onInputDelta:a,onInputAvailable:i,supportsDeferredResults:r})},"createProviderStreamError",0,function({message:e,type:t,code:o,statusCode:r,isRetryable:n,data:a}){let i={message:e,type:t,code:o,statusCode:r,isRetryable:n,data:a};return Object.defineProperty(i,I,{value:!0}),i},"createStatusCodeErrorResponseHandler",0,()=>async({response:e,url:t,requestBodyValues:o})=>{let r=C(e),n=await th({response:e,url:t});return{responseHeaders:r,value:new i.APICallError({message:e.statusText,url:t,requestBodyValues:o,statusCode:e.status,responseHeaders:r,responseBody:n})}},"createToolNameMapping",0,function({tools:e=[],providerToolNames:t}){let o={},r={};for(let n of e)if("provider"===n.type&&n.id in t){let e=t[n.id];o[n.name]=e,r[e]=n.name}return{toProviderToolName:e=>{var t;return null!=(t=o[e])?t:e},toCustomToolName:e=>{var t;return null!=(t=r[e])?t:e}}},"delay",0,f,"deleteFromApi",0,q,"detectMediaType",0,V,"downloadBlob",0,em,"dynamicTool",0,function(e){return{...e,type:"dynamic"}},"executeTool",0,tI,"experimental_getToolCaller",0,function(e){return null==e?void 0:e.experimental_toolCaller},"experimental_parseTranscriptionStreamPart",0,function(e){let t;try{t=eI(e)}catch(e){return}if(null==t||"object"!=typeof t||Array.isArray(t))return;let o=t;switch(o.type){case"stream-start":return Array.isArray(o.warnings)&&o.warnings.every(tT)?o:void 0;case"transcript-delta":return tw(o.delta)&&tx(o.id,tw)&&tx(o.providerMetadata,e_)?o:void 0;case"transcript-partial":return tw(o.text)&&tx(o.id,tw)&&tx(o.startSecond,tz)&&tx(o.durationInSeconds,tz)&&tx(o.channelIndex,tz)&&tx(o.providerMetadata,e_)?o:void 0;case"transcript-final":return tw(o.text)&&tx(o.id,tw)&&tx(o.startSecond,tz)&&tx(o.endSecond,tz)&&tx(o.channelIndex,tz)&&tx(o.providerMetadata,e_)?o:void 0;case"finish":return tw(o.text)&&Array.isArray(o.segments)&&o.segments.every(tk)&&tx(o.language,tw)&&tx(o.durationInSeconds,tz)&&tx(o.providerMetadata,e_)?o:void 0;case"response-metadata":{if(!(tx(o.modelId,tw)&&tx(o.headers,e_)))return;let e=o.timestamp;if(null==e)return{...o,timestamp:void 0};if("string"!=typeof e)return;let t=new Date(e);return Number.isNaN(t.getTime())?void 0:{...o,timestamp:t}}case"raw":return"rawValue"in o?o:void 0;case"error":return"error"in o?o:void 0;default:return}},"experimental_toolCaller",0,function(e,t){return Object.defineProperty({...e},"experimental_toolCaller",{value:t})},"extractResponseHeaders",0,C,"fetchWithValidatedRedirects",0,ep,"filterNullable",0,function(...e){return e.filter(e=>null!=e)},"generateId",0,ey,"getFromApi",0,ev,"getRuntimeEnvironmentUserAgent",0,E,"getTopLevelMediaType",0,J,"isAbortError",0,A,"isBuffer",0,eb,"isCustomReasoning",0,function(e){return void 0!==e&&"provider-default"!==e},"isExecutableTool",0,function(e){return null!=e&&"function"==typeof e.execute},"isFullMediaType",0,K,"isNonNullable",0,function(e){return null!=e},"isProviderReference",0,function(e){return"object"==typeof e&&null!==e&&!(e instanceof Uint8Array)&&!(e instanceof URL)&&!(e instanceof ArrayBuffer)&&!eb(e)&&!("type"in e)},"isProviderStreamError",0,function(e){return"object"==typeof e&&null!=e&&!0===e[I]},"isRecord",0,e_,"isSameOrigin",0,ee,"isUrlSupported",0,function({mediaType:e,url:t,supportedUrls:o}){t=t.toLowerCase();let r=!(e=e.toLowerCase()).includes("/");return Object.entries(o).map(([e,t])=>{let o=e.toLowerCase();return"*"===o||"*/*"===o?{mediaTypePrefix:"",regexes:t}:{mediaTypePrefix:o.replace(/\*/,""),regexes:t}}).filter(({mediaTypePrefix:t})=>""===t||(r?`${e}/`===t:e.startsWith(t))).flatMap(({regexes:e})=>e).some(e=>(function(e,t){if(!e.global&&!e.sticky)return e.test(t);let o=e.lastIndex;e.lastIndex=0;try{return e.test(t)}finally{e.lastIndex=o}})(e,t))},"jsonSchema",0,e2,"lazySchema",0,function(e){let t;return()=>(null==t&&(t=e()),t)},"loadApiKey",0,function({apiKey:e,environmentVariableName:t,apiKeyParameterName:o="apiKey",description:r}){if("string"==typeof e)return e;if(null!=e)throw new i.LoadAPIKeyError({message:`${r} API key must be a string.`});if("u"<typeof process)throw new i.LoadAPIKeyError({message:`${r} API key is missing. Pass it using the '${o}' parameter. Environment variables are not supported in this environment.`});if(null==(e=process.env[t]))throw new i.LoadAPIKeyError({message:`${r} API key is missing. Pass it using the '${o}' parameter or the ${t} environment variable.`});if("string"!=typeof e)throw new i.LoadAPIKeyError({message:`${r} API key must be a string. The value of the ${t} environment variable is not a string.`});return e},"loadOptionalSetting",0,function({settingValue:e,environmentVariableName:t}){return"string"==typeof e?e:null!=e||"u"<typeof process?void 0:null!=(e=process.env[t])&&"string"==typeof e?e:void 0},"mapReasoningToProviderBudget",0,function({reasoning:e,maxOutputTokens:t,maxReasoningBudget:o,minReasoningBudget:r=1024,budgetPercentages:n=ew,warnings:a}){let i=n[e];return null==i?void a.push({type:"unsupported",feature:"reasoning",details:`reasoning "${e}" is not supported by this model.`}):Math.min(o,Math.max(r,Math.round(t*i)))},"mapReasoningToProviderEffort",0,function({reasoning:e,effortMap:t,warnings:o}){let r=t[e];return null==r?void o.push({type:"unsupported",feature:"reasoning",details:`reasoning "${e}" is not supported by this model.`}):(r!==e&&o.push({type:"compatibility",feature:"reasoning",details:`reasoning "${e}" is not directly supported by this model. mapped to effort "${r}".`}),r)},"mediaTypeToExtension",0,function(e){var t;let[o,r=""]=e.toLowerCase().split("/");return null!=(t=({mpeg:"mp3","x-wav":"wav",opus:"ogg",mp4:"m4a","x-m4a":"m4a"})[r])?t:r},"normalizeBatchRequestCounts",0,function({total:e,pending:t,completed:o,failed:r}){if(ez(e)&&ez(t)&&ez(o)&&ez(r)&&t+o+r===e)return{total:e,pending:t,completed:o,failed:r}},"normalizeHeaders",0,N,"parseJSON",0,e9,"parseJsonEventStream",0,e7,"parseProviderOptions",0,te,"postFormDataToApi",0,ti,"postJsonToApi",0,ta,"postMultipartStreamToApi",0,tr,"postToApi",0,tl,"readResponseWithSizeLimit",0,eh,"resolve",0,tu,"resolveFullMediaType",0,function({part:e}){if(K(e.mediaType))return e.mediaType;if("data"===e.data.type){let t=V({data:e.data.data,topLevelType:J(e.mediaType)});if(t)return t;throw new i.UnsupportedFunctionalityError({functionality:`file of media type "${e.mediaType}" must specify subtype since it could not be auto-detected`})}throw new i.UnsupportedFunctionalityError({functionality:`file of media type "${e.mediaType}" must specify subtype since it is not passed as inline bytes`})},"resolveProviderReference",0,function({reference:e,provider:t}){let o=e[t];if(null!=o)return o;throw new i.NoSuchProviderReferenceError({provider:t,reference:e})},"retryWithExponentialBackoff",0,({maxRetries:e=2,initialDelayInMs:t=2e3,backoffFactor:o=2,abortSignal:r,shouldRetry:n,getDelayInMs:a=({exponentialBackoffDelay:e})=>e,createRetryError:i=({message:e})=>Error(e)})=>async l=>td(l,{maxRetries:e,delayInMs:t,backoffFactor:o,abortSignal:r,shouldRetry:n,getDelayInMs:a,createRetryError:i}),"safeParseJSON",0,e8,"safeValidateTypes",0,e6,"secureJsonParse",0,eI,"serializeModelOptions",0,function(e){let t={};for(let[o,r]of Object.entries(e.config))if("headers"===o){let e=function(e){let t=e;if("function"==typeof e&&(t=e()),t instanceof Promise)throw new tb({message:"Cannot serialize asynchronous model options."});return t}(r);tg(e)&&(t[o]=e)}else tg(r)&&(t[o]=r);return{modelId:e.modelId,config:t}},"toWebSocketUrl",0,function(e){let t=new URL(e);return"http:"===t.protocol?t.protocol="ws:":"https:"===t.protocol&&(t.protocol="wss:"),t},"tool",0,ts,"validateBaseURL",0,function(e){if((null==e?void 0:e.trim())==="")throw new i.InvalidArgumentError({argument:"baseURL",message:"baseURL must be a non-empty string."});return e},"validateDownloadUrl",0,et,"validateTypes",0,e5,"waitForWebSocketBufferDrain",0,_,"withUserAgentSuffix",0,P,"withoutTrailingSlash",0,function(e){return null==e?void 0:e.replace(/\/$/,"")},"zodSchema",0,e3],691296)},296194,e=>{"use strict";var t,o,r,n,a,i,l,s,u,d,c,p,h,m,g,f,y,v,b,_,w,z,x,T,k,I,S,C,E,A,O="vercel.ai.error",M=Symbol.for(O),j=class e extends(o=Error,t=M,o){constructor({name:e,message:o,cause:r}){super(o),this[t]=!0,this.name=e,this.cause=r}static isInstance(t){return e.hasMarker(t,O)}static hasMarker(e,t){let o=Symbol.for(t);return null!=e&&"object"==typeof e&&o in e&&"boolean"==typeof e[o]&&!0===e[o]}},R="AI_APICallError",N=`vercel.ai.error.${R}`,P=Symbol.for(N),$=class extends(n=j,r=P,n){constructor({message:e,url:t,requestBodyValues:o,statusCode:n,responseHeaders:a,responseBody:i,cause:l,isRetryable:s=null!=n&&(408===n||409===n||429===n||n>=500),data:u}){super({name:R,message:e,cause:l}),this[r]=!0,this.url=t,this.requestBodyValues=o,this.statusCode=n,this.responseHeaders=a,this.responseBody=i,this.isRetryable=s,this.data=u}static isInstance(e){return j.hasMarker(e,N)}},q="AI_EmptyResponseBodyError",L=`vercel.ai.error.${q}`,D=Symbol.for(L),U=class extends(i=j,a=D,i){constructor({message:e="Empty response body"}={}){super({name:q,message:e}),this[a]=!0}static isInstance(e){return j.hasMarker(e,L)}};function F(e){return null==e?"unknown error":"string"==typeof e?e:e instanceof Error?e.toString():JSON.stringify(e)}var B="AI_InvalidArgumentError",H=`vercel.ai.error.${B}`,W=Symbol.for(H),V=class extends(s=j,l=W,s){constructor({message:e,cause:t,argument:o}){super({name:B,message:e,cause:t}),this[l]=!0,this.argument=o}static isInstance(e){return j.hasMarker(e,H)}},J="AI_InvalidPromptError",K=`vercel.ai.error.${J}`,G=Symbol.for(K),Y=class extends(d=j,u=G,d){constructor({prompt:e,message:t,cause:o}){super({name:J,message:`Invalid prompt: ${t}`,cause:o}),this[u]=!0,this.prompt=e}static isInstance(e){return j.hasMarker(e,K)}},Z="AI_InvalidResponseDataError",X=`vercel.ai.error.${Z}`,Q=Symbol.for(X),ee=class extends(p=j,c=Q,p){constructor({data:e,message:t=`Invalid response data: ${JSON.stringify(e)}.`}){super({name:Z,message:t}),this[c]=!0,this.data=e}static isInstance(e){return j.hasMarker(e,X)}},et="AI_JSONParseError",eo=`vercel.ai.error.${et}`,er=Symbol.for(eo),en=class extends(m=j,h=er,m){constructor({text:e,cause:t}){super({name:et,message:`JSON parsing failed: Text: ${e}.
|
|
76
|
+
Error message: ${F(t)}`,cause:t}),this[h]=!0,this.text=e}static isInstance(e){return j.hasMarker(e,eo)}},ea="AI_LoadAPIKeyError",ei=`vercel.ai.error.${ea}`,el=Symbol.for(ei),es=class extends(f=j,g=el,f){constructor({message:e}){super({name:ea,message:e}),this[g]=!0}static isInstance(e){return j.hasMarker(e,ei)}},eu="AI_LoadSettingError",ed=`vercel.ai.error.${eu}`,ec=Symbol.for(ed),ep=class extends(v=j,y=ec,v){constructor({message:e}){super({name:eu,message:e}),this[y]=!0}static isInstance(e){return j.hasMarker(e,ed)}},eh="AI_NoContentGeneratedError",em=`vercel.ai.error.${eh}`,eg=Symbol.for(em),ef=class extends(_=j,b=eg,_){constructor({message:e="No content generated."}={}){super({name:eh,message:e}),this[b]=!0}static isInstance(e){return j.hasMarker(e,em)}},ey="AI_NoSuchModelError",ev=`vercel.ai.error.${ey}`,eb=Symbol.for(ev),e_=class extends(z=j,w=eb,z){constructor({errorName:e=ey,modelId:t,modelType:o,message:r=`No such ${o}: ${t}`}){super({name:e,message:r}),this[w]=!0,this.modelId=t,this.modelType=o}static isInstance(e){return j.hasMarker(e,ev)}},ew="AI_NoSuchProviderReferenceError",ez=`vercel.ai.error.${ew}`,ex=Symbol.for(ez),eT=class extends(T=j,x=ex,T){constructor({provider:e,reference:t,message:o=`No provider reference found for provider '${e}'. Available providers: ${Object.keys(t).join(", ")}`}){super({name:ew,message:o}),this[x]=!0,this.provider=e,this.reference=t}static isInstance(e){return j.hasMarker(e,ez)}},ek="AI_TooManyEmbeddingValuesForCallError",eI=`vercel.ai.error.${ek}`,eS=Symbol.for(eI),eC=class extends(I=j,k=eS,I){constructor(e){super({name:ek,message:`Too many values for a single embedding call. The ${e.provider} model "${e.modelId}" can only embed up to ${e.maxEmbeddingsPerCall} values per call, but ${e.values.length} values were provided.`}),this[k]=!0,this.provider=e.provider,this.modelId=e.modelId,this.maxEmbeddingsPerCall=e.maxEmbeddingsPerCall,this.values=e.values}static isInstance(e){return j.hasMarker(e,eI)}},eE="AI_TypeValidationError",eA=`vercel.ai.error.${eE}`,eO=Symbol.for(eA),eM=class e extends(C=j,S=eO,C){constructor({value:e,cause:t,context:o}){let r="Type validation failed";if((null==o?void 0:o.field)&&(r+=` for ${o.field}`),(null==o?void 0:o.entityName)||(null==o?void 0:o.entityId)){r+=" (";const e=[];o.entityName&&e.push(o.entityName),o.entityId&&e.push(`id: "${o.entityId}"`),r+=e.join(", "),r+=")"}super({name:eE,message:`${r}: Value: ${JSON.stringify(e)}.
|
|
77
|
+
Error message: ${F(t)}`,cause:t}),this[S]=!0,this.value=e,this.context=o}static isInstance(e){return j.hasMarker(e,eA)}static wrap({value:t,cause:o,context:r}){var n,a,i;return e.isInstance(o)&&o.value===t&&(null==(n=o.context)?void 0:n.field)===(null==r?void 0:r.field)&&(null==(a=o.context)?void 0:a.entityName)===(null==r?void 0:r.entityName)&&(null==(i=o.context)?void 0:i.entityId)===(null==r?void 0:r.entityId)?o:new e({value:t,cause:o,context:r})}},ej="AI_UnsupportedFunctionalityError",eR=`vercel.ai.error.${ej}`,eN=Symbol.for(eR),eP=class extends(A=j,E=eN,A){constructor({functionality:e,message:t=`'${e}' functionality not supported.`}){super({name:ej,message:t}),this[E]=!0,this.functionality=e}static isInstance(e){return j.hasMarker(e,eR)}};function e$(e){return null===e||"string"==typeof e||"number"==typeof e||"boolean"==typeof e||(Array.isArray(e)?e.every(e$):"object"==typeof e&&Object.entries(e).every(([e,t])=>"string"==typeof e&&(void 0===t||e$(t))))}e.s(["AISDKError",0,j,"APICallError",0,$,"EmptyResponseBodyError",0,U,"InvalidArgumentError",0,V,"InvalidPromptError",0,Y,"InvalidResponseDataError",0,ee,"JSONParseError",0,en,"LoadAPIKeyError",0,es,"LoadSettingError",0,ep,"NoContentGeneratedError",0,ef,"NoSuchModelError",0,e_,"NoSuchProviderReferenceError",0,eT,"TooManyEmbeddingValuesForCallError",0,eC,"TypeValidationError",0,eM,"UnsupportedFunctionalityError",0,eP,"getErrorMessage",0,F,"isJSONArray",0,function(e){return Array.isArray(e)&&e.every(e$)},"isJSONObject",0,function(e){return null!=e&&"object"==typeof e&&Object.entries(e).every(([e,t])=>"string"==typeof e&&(void 0===t||e$(t)))}])},2096,(e,t,o)=>{"use strict";var r=Object.defineProperty,n=Object.getOwnPropertyDescriptor,a=Object.getOwnPropertyNames,i=Object.prototype.hasOwnProperty,l={},s={SYMBOL_FOR_REQ_CONTEXT:()=>d,getContext:()=>c};for(var u in s)r(l,u,{get:s[u],enumerable:!0});t.exports=((e,t,o)=>{if(t&&"object"==typeof t||"function"==typeof t)for(let l of a(t))i.call(e,l)||void 0===l||r(e,l,{get:()=>t[l],enumerable:!(o=n(t,l))||o.enumerable});return e})(r({},"__esModule",{value:!0}),l);let d=Symbol.for("@vercel/request-context");function c(){let e=globalThis;return e[d]?.get?.()??{}}},824914,(e,t,o)=>{"use strict";var r=Object.defineProperty,n=Object.getOwnPropertyDescriptor,a=Object.getOwnPropertyNames,i=Object.prototype.hasOwnProperty,l={},s={getVercelOidcToken:()=>p,getVercelOidcTokenSync:()=>h};for(var u in s)r(l,u,{get:s[u],enumerable:!0});t.exports=((e,t,o)=>{if(t&&"object"==typeof t||"function"==typeof t)for(let l of a(t))i.call(e,l)||void 0===l||r(e,l,{get:()=>t[l],enumerable:!(o=n(t,l))||o.enumerable});return e})(r({},"__esModule",{value:!0}),l);var d=e.r(2096),c=e.r(424134);async function p(t){let o,r="";try{r=h()}catch(e){o=e}try{let[{getTokenPayload:o,isExpired:n},{refreshToken:a}]=await Promise.all([await e.A(573349),await e.A(566462)]);(!r||n(o(r),t?.expirationBufferMs))&&(await a(t),r=h())}catch(t){let e=o instanceof Error?o.message:"";if(t instanceof Error&&(e=`${e}
|
|
78
|
+
${t.message}`),e)throw new c.VercelOidcTokenError(e);throw t}return r}function h(){let e=(0,d.getContext)().headers?.["x-vercel-oidc-token"]??process.env.VERCEL_OIDC_TOKEN;if(!e)throw Error("The 'x-vercel-oidc-token' header is missing from the request. Do you have the OIDC option enabled in the Vercel project settings?");return e}},403035,(e,t,o)=>{"use strict";var r=Object.defineProperty,n=Object.getOwnPropertyDescriptor,a=Object.getOwnPropertyNames,i=Object.prototype.hasOwnProperty,l={},s={AccessTokenMissingError:()=>p.AccessTokenMissingError,RefreshAccessTokenFailedError:()=>p.RefreshAccessTokenFailedError,getContext:()=>c.getContext,getVercelOidcToken:()=>d.getVercelOidcToken,getVercelOidcTokenSync:()=>d.getVercelOidcTokenSync,getVercelToken:()=>h.getVercelToken};for(var u in s)r(l,u,{get:s[u],enumerable:!0});t.exports=((e,t,o)=>{if(t&&"object"==typeof t||"function"==typeof t)for(let l of a(t))i.call(e,l)||void 0===l||r(e,l,{get:()=>t[l],enumerable:!(o=n(t,l))||o.enumerable});return e})(r({},"__esModule",{value:!0}),l);var d=e.r(824914),c=e.r(2096),p=e.r(736374),h=e.r(913803)},736756,e=>{"use strict";var t,o,r,n,a,i,l,s,u,d,c,p,h,m,g,f,y,v,b,_,w,z,x=e.i(691296),T=e.i(296194),k=e.i(749906),I=e.i(548874),S=e.i(403035),C="ai-gateway-transcription.v1";function E(e,t,o){let r=[e,`ai-gateway-auth.${t}`];return(null==o?void 0:o.teamIdOrSlug)&&r.push(`ai-gateway-team.${function(e){let t=new TextEncoder().encode(e),o="";for(let e of t)o+=String.fromCharCode(e);return btoa(o).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/u,"")}(o.teamIdOrSlug)}`),r}var A={any:k.any,array:k.array,boolean:k.boolean,discriminatedUnion:k.discriminatedUnion,enum:k.enum,literal:k.literal,number:k.number,object:k.object,record:k.record,string:k.string,union:k.union,unknown:k.unknown},O=Symbol.for("vercel.ai.gateway.error"),M=class e extends(o=Error,t=O,o){constructor({message:e,statusCode:o=500,cause:r,generationId:n,isRetryable:a=null!=o&&(408===o||409===o||429===o||o>=500)}){super(n?`${e} [${n}]`:e),this[t]=!0,this.statusCode=o,this.cause=r,this.generationId=n,this.isRetryable=a}static isInstance(t){return e.hasMarker(t)}static hasMarker(e){return"object"==typeof e&&null!==e&&O in e&&!0===e[O]}},j="GatewayAuthenticationError",R=Symbol.for(`vercel.ai.gateway.error.${j}`),N=class e extends(n=M,r=R,n){constructor({message:e="Authentication failed",statusCode:t=401,cause:o,generationId:n}={}){super({message:e,statusCode:t,cause:o,generationId:n}),this[r]=!0,this.name=j,this.type="authentication_error"}static isInstance(e){return M.hasMarker(e)&&R in e}static createContextualError({apiKeyProvided:t,oidcTokenProvided:o,statusCode:r=401,cause:n,generationId:a}){return new e({message:t?`AI Gateway authentication failed: Invalid API key or token.
|
|
79
|
+
|
|
80
|
+
Create a new API key: https://vercel.com/d?to=%2F%5Bteam%5D%2F%7E%2Fai%2Fapi-keys
|
|
81
|
+
|
|
82
|
+
Provide an API key or Vercel access token via 'apiKey' option or 'AI_GATEWAY_API_KEY' environment variable.`:o?`AI Gateway authentication failed: Invalid OIDC token.
|
|
83
|
+
|
|
84
|
+
Run 'npx vercel link' to link your project, then 'vc env pull' to fetch the token.
|
|
85
|
+
|
|
86
|
+
Alternatively, use an API key: https://vercel.com/d?to=%2F%5Bteam%5D%2F%7E%2Fai%2Fapi-keys
|
|
87
|
+
or pass a Vercel access token via the 'apiKey' option.`:`AI Gateway authentication failed: No authentication provided.
|
|
88
|
+
|
|
89
|
+
Option 1 - API key:
|
|
90
|
+
Create an API key: https://vercel.com/d?to=%2F%5Bteam%5D%2F%7E%2Fai%2Fapi-keys
|
|
91
|
+
Provide via 'apiKey' option or 'AI_GATEWAY_API_KEY' environment variable.
|
|
92
|
+
|
|
93
|
+
Option 2 - Vercel access token:
|
|
94
|
+
Pass a Vercel personal access token or Vercel app access token via the 'apiKey' option.
|
|
95
|
+
|
|
96
|
+
Option 3 - OIDC token:
|
|
97
|
+
Run 'npx vercel link' to link your project, then 'vc env pull' to fetch the token.`,statusCode:r,cause:n,generationId:a})}},P="GatewayInvalidRequestError",$=Symbol.for(`vercel.ai.gateway.error.${P}`),q=class extends(i=M,a=$,i){constructor({message:e="Invalid request",statusCode:t=400,cause:o,generationId:r}={}){super({message:e,statusCode:t,cause:o,generationId:r}),this[a]=!0,this.name=P,this.type="invalid_request_error"}static isInstance(e){return M.hasMarker(e)&&$ in e}},L="GatewayRateLimitError",D=Symbol.for(`vercel.ai.gateway.error.${L}`),U=class extends(s=M,l=D,s){constructor({message:e="Rate limit exceeded",statusCode:t=429,cause:o,generationId:r}={}){super({message:e,statusCode:t,cause:o,generationId:r}),this[l]=!0,this.name=L,this.type="rate_limit_exceeded"}static isInstance(e){return M.hasMarker(e)&&D in e}},F="GatewayModelNotFoundError",B=Symbol.for(`vercel.ai.gateway.error.${F}`),H=(0,x.lazySchema)(()=>(0,x.zodSchema)(A.object({modelId:A.string()}))),W=class extends(d=M,u=B,d){constructor({message:e="Model not found",statusCode:t=404,modelId:o,cause:r,generationId:n}={}){super({message:e,statusCode:t,cause:r,generationId:n}),this[u]=!0,this.name=F,this.type="model_not_found",this.modelId=o}static isInstance(e){return M.hasMarker(e)&&B in e}},V="GatewayNotFoundError",J=Symbol.for(`vercel.ai.gateway.error.${V}`),K=class extends(p=M,c=J,p){constructor({message:e="Resource not found",statusCode:t=404,cause:o,generationId:r}={}){super({message:e,statusCode:t,cause:o,generationId:r}),this[c]=!0,this.name=V,this.type="not_found"}static isInstance(e){return M.hasMarker(e)&&J in e}},G="GatewayInternalServerError",Y=Symbol.for(`vercel.ai.gateway.error.${G}`),Z=class extends(m=M,h=Y,m){constructor({message:e="Internal server error",statusCode:t=500,cause:o,generationId:r}={}){super({message:e,statusCode:t,cause:o,generationId:r}),this[h]=!0,this.name=G,this.type="internal_server_error"}static isInstance(e){return M.hasMarker(e)&&Y in e}},X="GatewayFailedDependencyError",Q=Symbol.for(`vercel.ai.gateway.error.${X}`),ee=class extends(f=M,g=Q,f){constructor({message:e="Failed dependency",statusCode:t=424,cause:o,generationId:r}={}){super({message:e,statusCode:t,cause:o,generationId:r}),this[g]=!0,this.name=X,this.type="failed_dependency"}static isInstance(e){return M.hasMarker(e)&&Q in e}},et="GatewayForbiddenError",eo=Symbol.for(`vercel.ai.gateway.error.${et}`),er=(0,x.lazySchema)(()=>(0,x.zodSchema)(A.object({ruleId:A.string()}))),en=class extends(v=M,y=eo,v){constructor({message:e="Forbidden",statusCode:t=403,cause:o,generationId:r,ruleId:n}={}){super({message:e,statusCode:t,cause:o,generationId:r}),this[y]=!0,this.name=et,this.type="forbidden",this.ruleId=n}static isInstance(e){return M.hasMarker(e)&&eo in e}},ea="GatewayResponseError",ei=Symbol.for(`vercel.ai.gateway.error.${ea}`),el=class extends(_=M,b=ei,_){constructor({message:e="Invalid response from Gateway",statusCode:t=502,response:o,validationError:r,cause:n,generationId:a,isRetryable:i}={}){super({message:e,statusCode:t,cause:n,generationId:a,isRetryable:i}),this[b]=!0,this.name=ea,this.type="response_error",this.response=o,this.validationError=r}static isInstance(e){return M.hasMarker(e)&&ei in e}};async function es({response:e,statusCode:t,defaultMessage:o="Gateway request failed",cause:r,authMethod:n,isRetryable:a}){var i;let l=await (0,x.safeValidateTypes)({value:e,schema:eu});if(!l.success){let n="object"==typeof e&&null!==e&&"generationId"in e?e.generationId:void 0;return new el({message:`Invalid error response format: ${o}`,statusCode:t,response:e,validationError:l.error,cause:r,generationId:n,isRetryable:a})}let s=l.value,u=s.error.type,d=s.error.message,c=null!=(i=s.generationId)?i:void 0;switch(u){case"authentication_error":return N.createContextualError({apiKeyProvided:"api-key"===n,oidcTokenProvided:"oidc"===n,statusCode:t,cause:r,generationId:c});case"invalid_request_error":return new q({message:d,statusCode:t,cause:r,generationId:c});case"rate_limit_exceeded":return new U({message:d,statusCode:t,cause:r,generationId:c});case"model_not_found":{let e=await (0,x.safeValidateTypes)({value:s.error.param,schema:H});return new W({message:d,statusCode:t,modelId:e.success?e.value.modelId:void 0,cause:r,generationId:c})}case"not_found":return new K({message:d,statusCode:t,cause:r,generationId:c});case"internal_server_error":default:return new Z({message:d,statusCode:t,cause:r,generationId:c});case"failed_dependency":return new ee({message:d,statusCode:t,cause:r,generationId:c});case"forbidden":{let e=await (0,x.safeValidateTypes)({value:s.error.param,schema:er});return new en({message:d,statusCode:t,cause:r,generationId:c,ruleId:e.success?e.value.ruleId:void 0})}}}var eu=(0,x.lazySchema)(()=>(0,x.zodSchema)(A.object({error:A.object({message:A.string(),type:A.string().nullish(),param:A.unknown().nullish(),code:A.union([A.string(),A.number()]).nullish()}),generationId:A.string().nullish()}))),ed="GatewayTimeoutError",ec=Symbol.for(`vercel.ai.gateway.error.${ed}`),ep=class e extends(z=M,w=ec,z){constructor({message:e="Request timed out",statusCode:t=408,cause:o,generationId:r}={}){super({message:e,statusCode:t,cause:o,generationId:r}),this[w]=!0,this.name=ed,this.type="timeout_error"}static isInstance(e){return M.hasMarker(e)&&ec in e}static createTimeoutError({originalMessage:t,statusCode:o=408,cause:r,generationId:n}){return new e({message:`Gateway request timed out: ${t}
|
|
98
|
+
|
|
99
|
+
This is a client-side timeout. To resolve this, increase your timeout configuration: https://vercel.com/docs/ai-gateway/capabilities/video-generation#extending-timeouts-for-node.js`,statusCode:o,cause:r,generationId:n})}};function eh(e){if(!(e instanceof Error))return!1;let t=e.code;return"string"==typeof t&&["UND_ERR_HEADERS_TIMEOUT","UND_ERR_BODY_TIMEOUT","UND_ERR_CONNECT_TIMEOUT"].includes(t)}async function em(e,t){var o;return M.isInstance(e)?e:eh(e)?ep.createTimeoutError({originalMessage:e instanceof Error?e.message:"Unknown error",cause:e}):T.APICallError.isInstance(e)?e.cause&&eh(e.cause)?ep.createTimeoutError({originalMessage:e.message,cause:e}):await es({response:function(e){if(void 0!==e.data)return e.data;if(null!=e.responseBody)try{return(0,x.secureJsonParse)(e.responseBody)}catch(t){return e.responseBody}return{}}(e),statusCode:null!=(o=e.statusCode)?o:500,defaultMessage:"Gateway request failed",cause:e,authMethod:t,isRetryable:!!e.isRetryable&&(null==e.statusCode||e.statusCode<400)||void 0}):await es({response:{},statusCode:500,defaultMessage:e instanceof Error?`Gateway request failed: ${e.message}`:"Unknown Gateway error",cause:e,authMethod:t})}var eg="ai-gateway-auth-method",ef="x-vercel-ai-gateway-team";async function ey(e){let t=await (0,x.safeValidateTypes)({value:e[eg],schema:ev});return t.success?t.value:void 0}var ev=(0,x.lazySchema)(()=>(0,x.zodSchema)(A.union([A.literal("api-key"),A.literal("oidc")]))),eb=["embedding","image","language","realtime","reranking","speech","transcription","video"],e_=class{constructor(e){this.config=e}async getAvailableModels(){try{let{value:e}=await (0,x.getFromApi)({url:`${this.config.baseURL}/config`,validateUrl:!1,headers:this.config.headers?await (0,x.resolve)(this.config.headers):void 0,successfulResponseHandler:(0,x.createJsonResponseHandler)(ew),failedResponseHandler:(0,x.createJsonErrorResponseHandler)({errorSchema:A.any(),errorToMessage:e=>{var t;return null!=(t=(0,T.getErrorMessage)(e))?t:"unknown error"}}),fetch:this.config.fetch});return e}catch(e){throw await em(e)}}async getCredits(){try{let e=new URL(this.config.baseURL),{value:t}=await (0,x.getFromApi)({url:`${e.origin}/v1/credits`,validateUrl:!1,headers:this.config.headers?await (0,x.resolve)(this.config.headers):void 0,successfulResponseHandler:(0,x.createJsonResponseHandler)(ez),failedResponseHandler:(0,x.createJsonErrorResponseHandler)({errorSchema:A.any(),errorToMessage:e=>{var t;return null!=(t=(0,T.getErrorMessage)(e))?t:"unknown error"}}),fetch:this.config.fetch});return t}catch(e){throw await em(e)}}},ew=(0,x.lazySchema)(()=>(0,x.zodSchema)(A.object({models:A.array(A.object({id:A.string(),name:A.string(),description:A.string().nullish(),pricing:A.object({input:A.string(),output:A.string(),input_cache_read:A.string().nullish(),input_cache_write:A.string().nullish()}).transform(({input:e,output:t,input_cache_read:o,input_cache_write:r})=>({input:e,output:t,...o?{cachedInputTokens:o}:{},...r?{cacheCreationInputTokens:r}:{}})).nullish(),specification:A.object({specificationVersion:A.literal("v4"),provider:A.string(),modelId:A.string()}),modelType:A.string().nullish()})).transform(e=>e.filter(e=>null==e.modelType||eb.includes(e.modelType)))}))),ez=(0,x.lazySchema)(()=>(0,x.zodSchema)(A.object({balance:A.string(),total_used:A.string()}).transform(({balance:e,total_used:t})=>({balance:e,totalUsed:t})))),ex=class{constructor(e){this.config=e}async getSpendReport(e){try{let t=new URL(this.config.baseURL),o=new URLSearchParams;o.set("start_date",e.startDate),o.set("end_date",e.endDate),e.groupBy&&o.set("group_by",e.groupBy),e.datePart&&o.set("date_part",e.datePart),e.userId&&o.set("user_id",e.userId),e.model&&o.set("model",e.model),e.provider&&o.set("provider",e.provider),e.credentialType&&o.set("credential_type",e.credentialType),e.tags&&e.tags.length>0&&o.set("tags",e.tags.join(","));let{value:r}=await (0,x.getFromApi)({url:`${t.origin}/v1/report?${o.toString()}`,validateUrl:!1,headers:this.config.headers?await (0,x.resolve)(this.config.headers):void 0,successfulResponseHandler:(0,x.createJsonResponseHandler)(eT),failedResponseHandler:(0,x.createJsonErrorResponseHandler)({errorSchema:A.any(),errorToMessage:e=>{var t;return null!=(t=(0,T.getErrorMessage)(e))?t:"unknown error"}}),fetch:this.config.fetch});return r}catch(e){throw await em(e)}}},eT=(0,x.lazySchema)(()=>(0,x.zodSchema)(A.object({results:A.array(A.object({day:A.string().optional(),hour:A.string().optional(),user:A.string().optional(),model:A.string().optional(),tag:A.string().optional(),provider:A.string().optional(),credential_type:A.enum(["byok","system"]).optional(),total_cost:A.number(),market_cost:A.number().optional(),input_tokens:A.number().optional(),output_tokens:A.number().optional(),cached_input_tokens:A.number().optional(),cache_creation_input_tokens:A.number().optional(),reasoning_tokens:A.number().optional(),request_count:A.number().optional()}).transform(({credential_type:e,total_cost:t,market_cost:o,input_tokens:r,output_tokens:n,cached_input_tokens:a,cache_creation_input_tokens:i,reasoning_tokens:l,request_count:s,...u})=>({...u,...void 0!==e?{credentialType:e}:{},totalCost:t,...void 0!==o?{marketCost:o}:{},...void 0!==r?{inputTokens:r}:{},...void 0!==n?{outputTokens:n}:{},...void 0!==a?{cachedInputTokens:a}:{},...void 0!==i?{cacheCreationInputTokens:i}:{},...void 0!==l?{reasoningTokens:l}:{},...void 0!==s?{requestCount:s}:{}})))}))),ek=class{constructor(e){this.config=e}async getGenerationInfo(e){try{let t=new URL(this.config.baseURL),{value:o}=await (0,x.getFromApi)({url:`${t.origin}/v1/generation?id=${encodeURIComponent(e.id)}`,validateUrl:!1,headers:this.config.headers?await (0,x.resolve)(this.config.headers):void 0,successfulResponseHandler:(0,x.createJsonResponseHandler)(eI),failedResponseHandler:(0,x.createJsonErrorResponseHandler)({errorSchema:A.any(),errorToMessage:e=>{var t;return null!=(t=(0,T.getErrorMessage)(e))?t:"unknown error"}}),fetch:this.config.fetch});return o}catch(e){throw await em(e)}}},eI=(0,x.lazySchema)(()=>(0,x.zodSchema)(A.object({data:A.object({id:A.string(),total_cost:A.number(),upstream_inference_cost:A.number(),usage:A.number(),created_at:A.string(),model:A.string(),is_byok:A.boolean(),provider_name:A.string(),streamed:A.boolean(),finish_reason:A.string(),latency:A.number(),generation_time:A.number(),native_tokens_prompt:A.number(),native_tokens_completion:A.number(),native_tokens_reasoning:A.number(),native_tokens_cached:A.number(),native_tokens_cache_creation:A.number(),billable_web_search_calls:A.number()}).transform(({total_cost:e,upstream_inference_cost:t,created_at:o,is_byok:r,provider_name:n,finish_reason:a,generation_time:i,native_tokens_prompt:l,native_tokens_completion:s,native_tokens_reasoning:u,native_tokens_cached:d,native_tokens_cache_creation:c,billable_web_search_calls:p,...h})=>({...h,totalCost:e,upstreamInferenceCost:t,createdAt:o,isByok:r,providerName:n,finishReason:a,generationTime:i,promptTokens:l,completionTokens:s,reasoningTokens:u,cachedTokens:d,cacheCreationTokens:c,billableWebSearchCalls:p}))}).transform(({data:e})=>e))),eS=class e{constructor(e,t){this.modelId=e,this.config=t,this.specificationVersion="v4",this.supportedUrls={"*/*":[/.*/]}}static[I.WORKFLOW_SERIALIZE](e){return(0,x.serializeModelOptions)({modelId:e.modelId,config:e.config})}static[I.WORKFLOW_DESERIALIZE](t){return new e(t.modelId,t.config)}get provider(){return this.config.provider}async getArgs(e){let{abortSignal:t,...o}=e;return{args:this.maybeEncodeFileParts(o),warnings:[]}}async doGenerate(e){let{args:t,warnings:o}=await this.getArgs(e),{abortSignal:r}=e,n=this.config.headers?await (0,x.resolve)(this.config.headers):void 0;try{let{responseHeaders:a,value:i,rawValue:l}=await (0,x.postJsonToApi)({url:this.getUrl(),headers:(0,x.combineHeaders)(n,e.headers,this.getModelConfigHeaders(this.modelId,!1),await (0,x.resolve)(this.config.o11yHeaders)),body:t,successfulResponseHandler:(0,x.createJsonResponseHandler)(A.any()),failedResponseHandler:(0,x.createJsonErrorResponseHandler)({errorSchema:A.any(),errorToMessage:e=>{var t;return null!=(t=(0,T.getErrorMessage)(e))?t:"unknown error"}}),...r&&{abortSignal:r},fetch:this.config.fetch});return{...i,request:{body:t},response:{headers:a,body:l},warnings:o}}catch(e){throw await em(e,await ey(null!=n?n:{}))}}async doStream(e){let{args:t,warnings:o}=await this.getArgs(e),{abortSignal:r}=e,n=this.config.headers?await (0,x.resolve)(this.config.headers):void 0;try{let{value:a,responseHeaders:i}=await (0,x.postJsonToApi)({url:this.getUrl(),headers:(0,x.combineHeaders)(n,e.headers,this.getModelConfigHeaders(this.modelId,!0),await (0,x.resolve)(this.config.o11yHeaders)),body:t,successfulResponseHandler:(0,x.createEventSourceResponseHandler)(A.any()),failedResponseHandler:(0,x.createJsonErrorResponseHandler)({errorSchema:A.any(),errorToMessage:e=>{var t;return null!=(t=(0,T.getErrorMessage)(e))?t:"unknown error"}}),...r&&{abortSignal:r},fetch:this.config.fetch});return{stream:a.pipeThrough(new TransformStream({start(e){o.length>0&&e.enqueue({type:"stream-start",warnings:o})},transform(t,o){if(t.success){let r=t.value;("raw"!==r.type||e.includeRawChunks)&&("response-metadata"===r.type&&r.timestamp&&"string"==typeof r.timestamp&&(r.timestamp=new Date(r.timestamp)),o.enqueue(r))}else o.error(t.error)}})),request:{body:t},response:{headers:i}}}catch(e){throw await em(e,await ey(null!=n?n:{}))}}maybeEncodeFileParts(e){for(let t of e.prompt)if(Array.isArray(t.content)){for(let e of t.content)if("file"===e.type||"reasoning-file"===e.type)e.data=eC(e.data);else if("tool-result"===e.type&&"content"===e.output.type)for(let t of e.output.value)"file"===t.type&&(t.data=eC(t.data))}return e}getUrl(){return`${this.config.baseURL}/language-model`}getModelConfigHeaders(e,t){return{"ai-language-model-specification-version":"4","ai-language-model-id":e,"ai-language-model-streaming":String(t)}}};function eC(e){if("data"===e.type){let t=e.data;if(t instanceof Uint8Array)return{...e,data:Buffer.from(t).toString("base64")}}return e}var eE=class e extends eS{static[I.WORKFLOW_SERIALIZE](e){return eS[I.WORKFLOW_SERIALIZE](e)}static[I.WORKFLOW_DESERIALIZE](t){return new e(t.modelId,t.config)}constructor(e,t){super(e,t)}async experimental_doStartBatch({requests:e,providerOptions:t,headers:o,abortSignal:r,webhookUrl:n}){var a;let i=this.config.headers?await (0,x.resolve)(this.config.headers):void 0,l=function(e){let t=null==e?void 0:e.gateway;if(null==t||"object"!=typeof t||Array.isArray(t))return;let o=t.idempotencyKey;return"string"==typeof o&&o.length>0?o:void 0}(t),s=function(e){let t=null==e?void 0:e.gateway;if(null==t||"object"!=typeof t||Array.isArray(t)||!("idempotencyKey"in t))return e;let{idempotencyKey:o,...r}=t,n={...e};if(0===Object.keys(r).length?delete n.gateway:n.gateway=r,0!==Object.keys(n).length)return n}(t);try{let{value:t}=await (0,x.postJsonToApi)({url:this.getBatchUrl("start"),headers:(0,x.combineHeaders)(i,o,this.getBatchConfigHeaders(),await (0,x.resolve)(this.config.o11yHeaders),null!=l?{"idempotency-key":l}:void 0),body:{...null!=n&&{callbackUrl:n},modelId:this.modelId,requests:e.map(e=>({id:e.id,options:this.maybeEncodeFileParts(e.options)})),...null!=s&&{providerOptions:s}},successfulResponseHandler:(0,x.createJsonResponseHandler)(eq),failedResponseHandler:(0,x.createJsonErrorResponseHandler)({errorSchema:A.any(),errorToMessage:e=>{var t;return null!=(t=(0,T.getErrorMessage)(e))?t:"unknown error"}}),...r&&{abortSignal:r},fetch:this.config.fetch});return{batchId:t.batchId,...eO(t),warnings:null!=(a=t.warnings)?a:[]}}catch(e){if(eA(e))throw e;throw await em(e,await ey(null!=i?i:{}))}}async experimental_doGetBatchStatus({batchId:e,headers:t,abortSignal:o}){let r=this.config.headers?await (0,x.resolve)(this.config.headers):void 0;try{let{value:n}=await (0,x.postJsonToApi)({url:this.getBatchUrl("status"),headers:(0,x.combineHeaders)(r,t,this.getBatchConfigHeaders(),await (0,x.resolve)(this.config.o11yHeaders)),body:{batchId:e},successfulResponseHandler:(0,x.createJsonResponseHandler)(eL),failedResponseHandler:(0,x.createJsonErrorResponseHandler)({errorSchema:A.any(),errorToMessage:e=>{var t;return null!=(t=(0,T.getErrorMessage)(e))?t:"unknown error"}}),...o&&{abortSignal:o},fetch:this.config.fetch});return eO(n)}catch(e){if(eA(e))throw e;throw await em(e,await ey(null!=r?r:{}))}}async experimental_doGetBatchResults({batchId:e,headers:t,abortSignal:o}){let r=this.config.headers?await (0,x.resolve)(this.config.headers):void 0;try{let{value:n}=await (0,x.postJsonToApi)({url:this.getBatchUrl("results"),headers:(0,x.combineHeaders)(r,t,this.getBatchConfigHeaders(),await (0,x.resolve)(this.config.o11yHeaders)),body:{batchId:e},successfulResponseHandler:(0,x.createJsonLinesResponseHandler)(ej),failedResponseHandler:(0,x.createJsonErrorResponseHandler)({errorSchema:A.any(),errorToMessage:e=>{var t;return null!=(t=(0,T.getErrorMessage)(e))?t:"unknown error"}}),...o&&{abortSignal:o},fetch:this.config.fetch});return(0,x.convertAsyncIteratorToReadableStream)(eM(n))}catch(e){if(eA(e))throw e;throw await em(e,await ey(null!=r?r:{}))}}getBatchUrl(e){return`${this.config.baseURL}/batch/${e}`}getBatchConfigHeaders(){return{"ai-model-id":this.modelId}}};function eA(e){return!!(e instanceof Error||e instanceof DOMException)&&("AbortError"===e.name||"TimeoutError"===e.name)}function eO(e){var t,o,r,n;let a=(0,x.normalizeBatchRequestCounts)({total:null==(t=e.requestCounts)?void 0:t.total,pending:null==(o=e.requestCounts)?void 0:o.pending,completed:null==(r=e.requestCounts)?void 0:r.completed,failed:null==(n=e.requestCounts)?void 0:n.failed});return{status:e.status,...null!=e.rawStatus&&{rawStatus:e.rawStatus},...null!=a&&{requestCounts:a},...null!=e.error&&{error:{message:e.error.message,...null!=e.error.type&&{type:e.error.type},...null!=e.error.code&&{code:e.error.code},...null!=e.error.statusCode&&{statusCode:e.error.statusCode}}},...null!=e.createdAt&&{createdAt:e.createdAt},...null!=e.expiresAt&&{expiresAt:e.expiresAt},...null!=e.providerMetadata&&{providerMetadata:e.providerMetadata}}}async function*eM(e){var t;for await(let o of e){if("succeeded"===o.status){let e=null==(t=o.result)?void 0:t.response;void 0!==e&&"string"==typeof e.timestamp&&(e.timestamp=new Date(e.timestamp))}yield o}}var ej=A.object({id:A.string(),status:A.enum(["cancelled","expired","failed","succeeded"])}).catchall(A.unknown()),eR=A.object({message:A.string(),type:A.string().nullish(),code:A.string().nullish(),statusCode:A.number().nullish()}),eN=A.object({total:A.number().nullish(),pending:A.number().nullish(),completed:A.number().nullish(),failed:A.number().nullish()}),eP=A.record(A.string(),A.record(A.string(),A.unknown())),e$=A.object({status:A.enum(["completed","failed","pending"]),rawStatus:A.string().nullish(),requestCounts:eN.nullish(),error:eR.nullish(),createdAt:A.string().nullish(),expiresAt:A.string().nullish(),providerMetadata:eP.nullish()}),eq=e$.extend({batchId:A.string(),warnings:A.array(A.object({requestId:A.string().nullish(),warning:A.unknown()}).catchall(A.unknown())).nullish()}),eL=e$,eD=class e{constructor(e,t){this.modelId=e,this.config=t,this.specificationVersion="v4",this.maxEmbeddingsPerCall=2048,this.supportsParallelCalls=!0}static[I.WORKFLOW_SERIALIZE](e){return(0,x.serializeModelOptions)({modelId:e.modelId,config:e.config})}static[I.WORKFLOW_DESERIALIZE](t){return new e(t.modelId,t.config)}get provider(){return this.config.provider}async doEmbed({values:e,headers:t,abortSignal:o,providerOptions:r}){var n,a;let i=this.config.headers?await (0,x.resolve)(this.config.headers):void 0;try{let{responseHeaders:l,value:s,rawValue:u}=await (0,x.postJsonToApi)({url:this.getUrl(),headers:(0,x.combineHeaders)(i,null!=t?t:{},this.getModelConfigHeaders(),await (0,x.resolve)(this.config.o11yHeaders)),body:{values:e,...r?{providerOptions:r}:{}},successfulResponseHandler:(0,x.createJsonResponseHandler)(eF),failedResponseHandler:(0,x.createJsonErrorResponseHandler)({errorSchema:A.any(),errorToMessage:e=>{var t;return null!=(t=(0,T.getErrorMessage)(e))?t:"unknown error"}}),...o&&{abortSignal:o},fetch:this.config.fetch});return{embeddings:s.embeddings,usage:null!=(n=s.usage)?n:void 0,providerMetadata:s.providerMetadata,response:{headers:l,body:u},warnings:null!=(a=s.warnings)?a:[]}}catch(e){throw await em(e,await ey(null!=i?i:{}))}}getUrl(){return`${this.config.baseURL}/embedding-model`}getModelConfigHeaders(){return{"ai-embedding-model-specification-version":"4","ai-model-id":this.modelId}}},eU=A.discriminatedUnion("type",[A.object({type:A.literal("unsupported"),feature:A.string(),details:A.string().optional()}),A.object({type:A.literal("compatibility"),feature:A.string(),details:A.string().optional()}),A.object({type:A.literal("deprecated"),setting:A.string(),message:A.string()}),A.object({type:A.literal("other"),message:A.string()})]),eF=(0,x.lazySchema)(()=>(0,x.zodSchema)(A.object({embeddings:A.array(A.array(A.number())),usage:A.object({tokens:A.number()}).nullish(),warnings:A.array(eU).optional(),providerMetadata:A.record(A.string(),A.record(A.string(),A.unknown())).optional()}))),eB=class e{constructor(e,t){this.modelId=e,this.config=t,this.specificationVersion="v4",this.maxImagesPerCall=Number.MAX_SAFE_INTEGER}static[I.WORKFLOW_SERIALIZE](e){return(0,x.serializeModelOptions)({modelId:e.modelId,config:e.config})}static[I.WORKFLOW_DESERIALIZE](t){return new e(t.modelId,t.config)}get provider(){return this.config.provider}async doGenerate({prompt:e,n:t,size:o,aspectRatio:r,seed:n,files:a,mask:i,providerOptions:l,headers:s,abortSignal:u}){var d,c,p,h;let m=this.config.headers?await (0,x.resolve)(this.config.headers):void 0;try{let{responseHeaders:g,value:f}=await (0,x.postJsonToApi)({url:this.getUrl(),headers:(0,x.combineHeaders)(m,null!=s?s:{},this.getModelConfigHeaders(),await (0,x.resolve)(this.config.o11yHeaders)),body:{prompt:e,n:t,...o&&{size:o},...r&&{aspectRatio:r},...n&&{seed:n},...l&&{providerOptions:l},...a&&{files:a.map(e=>eH(e))},...i&&{mask:eH(i)}},successfulResponseHandler:(0,x.createJsonResponseHandler)(eK),failedResponseHandler:(0,x.createJsonErrorResponseHandler)({errorSchema:A.any(),errorToMessage:e=>{var t;return null!=(t=(0,T.getErrorMessage)(e))?t:"unknown error"}}),...u&&{abortSignal:u},fetch:this.config.fetch});return{images:f.images,warnings:null!=(d=f.warnings)?d:[],providerMetadata:f.providerMetadata,response:{timestamp:new Date,modelId:this.modelId,headers:g},...null!=f.usage&&{usage:{inputTokens:null!=(c=f.usage.inputTokens)?c:void 0,outputTokens:null!=(p=f.usage.outputTokens)?p:void 0,totalTokens:null!=(h=f.usage.totalTokens)?h:void 0}}}}catch(e){throw await em(e,await ey(null!=m?m:{}))}}getUrl(){return`${this.config.baseURL}/image-model`}getModelConfigHeaders(){return{"ai-image-model-specification-version":"4","ai-model-id":this.modelId}}};function eH(e){return"file"===e.type&&e.data instanceof Uint8Array?{...e,data:(0,x.convertUint8ArrayToBase64)(e.data)}:e}var eW=A.object({images:A.array(A.unknown()).optional()}).catchall(A.unknown()),eV=A.discriminatedUnion("type",[A.object({type:A.literal("unsupported"),feature:A.string(),details:A.string().optional()}),A.object({type:A.literal("compatibility"),feature:A.string(),details:A.string().optional()}),A.object({type:A.literal("deprecated"),setting:A.string(),message:A.string()}),A.object({type:A.literal("other"),message:A.string()})]),eJ=A.object({inputTokens:A.number().nullish(),outputTokens:A.number().nullish(),totalTokens:A.number().nullish()}),eK=A.object({images:A.array(A.string()),warnings:A.array(eV).optional(),providerMetadata:A.record(A.string(),eW).optional(),usage:eJ.optional()}),eG=class{constructor(e,t){this.modelId=e,this.config=t,this.specificationVersion="v4",this.maxVideosPerCall=Number.MAX_SAFE_INTEGER}get provider(){return this.config.provider}async doGenerate(e){var t,o;let{headers:r,abortSignal:n}=e,a=this.config.headers?await (0,x.resolve)(this.config.headers):void 0;try{let{responseHeaders:i,value:l}=await (0,x.postJsonToApi)({url:this.getUrl(),headers:(0,x.combineHeaders)(a,null!=r?r:{},this.getModelConfigHeaders(),await (0,x.resolve)(this.config.o11yHeaders),{accept:"text/event-stream"}),body:this.buildRequestBody(e),successfulResponseHandler:async({response:e,url:t,requestBodyValues:o})=>{if(null==e.body)throw new T.APICallError({message:"SSE response body is empty",url:t,requestBodyValues:o,statusCode:e.status});let r=(0,x.parseJsonEventStream)({stream:e.body,schema:e0}).getReader(),{done:n,value:a}=await r.read();if(r.releaseLock(),n||!a)throw new T.APICallError({message:"SSE stream ended without a data event",url:t,requestBodyValues:o,statusCode:e.status});if(!a.success)throw new T.APICallError({message:"Failed to parse video SSE event",cause:a.error,url:t,requestBodyValues:o,statusCode:e.status});let i=a.value;if("error"===i.type)throw new T.APICallError({message:i.message,statusCode:i.statusCode,url:t,requestBodyValues:o,responseHeaders:Object.fromEntries([...e.headers]),responseBody:JSON.stringify(i),data:{error:{message:i.message,type:i.errorType,param:i.param}}});return{value:{videos:i.videos,warnings:i.warnings,providerMetadata:i.providerMetadata},responseHeaders:Object.fromEntries([...e.headers])}},failedResponseHandler:(0,x.createJsonErrorResponseHandler)({errorSchema:A.any(),errorToMessage:e=>{var t;return null!=(t=(0,T.getErrorMessage)(e))?t:"unknown error"}}),...n&&{abortSignal:n},fetch:this.config.fetch});return{videos:l.videos,warnings:null!=(t=l.warnings)?t:[],providerMetadata:null!=(o=l.providerMetadata)?o:void 0,response:{timestamp:new Date,modelId:this.modelId,headers:i}}}catch(e){throw await em(e,await ey(null!=a?a:{}))}}async handleWebhookOption({webhook:e}){let{url:t,received:o}=await e();return{webhookUrl:t,received:o}}async doStart(e){var t,o;let{headers:r,abortSignal:n,webhookUrl:a}=e,i=this.config.headers?await (0,x.resolve)(this.config.headers):void 0;try{let{responseHeaders:l,value:s}=await (0,x.postJsonToApi)({url:this.getStartUrl(),headers:(0,x.combineHeaders)(i,null!=r?r:{},this.getModelConfigHeaders(),await (0,x.resolve)(this.config.o11yHeaders)),body:{...this.buildRequestBody(e),...a&&{callbackUrl:a}},successfulResponseHandler:(0,x.createJsonResponseHandler)(e1),failedResponseHandler:(0,x.createJsonErrorResponseHandler)({errorSchema:A.any(),errorToMessage:e=>{var t;return null!=(t=(0,T.getErrorMessage)(e))?t:"unknown error"}}),...n&&{abortSignal:n},fetch:this.config.fetch});return{operation:s.operation,warnings:null!=(t=s.warnings)?t:[],providerMetadata:null!=(o=s.providerMetadata)?o:void 0,response:{timestamp:new Date,modelId:this.modelId,headers:l}}}catch(e){throw await em(e,await ey(null!=i?i:{}))}}async doStatus({operation:e,abortSignal:t,headers:o}){var r,n,a,i,l,s;let u=this.config.headers?await (0,x.resolve)(this.config.headers):void 0;try{let{responseHeaders:d,value:c}=await (0,x.postJsonToApi)({url:this.getStatusUrl(),headers:(0,x.combineHeaders)(u,null!=o?o:{},this.getModelConfigHeaders(),await (0,x.resolve)(this.config.o11yHeaders)),body:{operation:e},successfulResponseHandler:(0,x.createJsonResponseHandler)(e2),failedResponseHandler:(0,x.createJsonErrorResponseHandler)({errorSchema:A.any(),errorToMessage:e=>{var t;return null!=(t=(0,T.getErrorMessage)(e))?t:"unknown error"}}),...t&&{abortSignal:t},fetch:this.config.fetch}),p={timestamp:new Date,modelId:this.modelId,headers:d};if("completed"===c.status)return{status:"completed",videos:c.videos,warnings:null!=(r=c.warnings)?r:[],providerMetadata:null!=(n=c.providerMetadata)?n:void 0,response:p};if("error"===c.status)return{status:"error",error:c.error,providerMetadata:null!=(a=c.providerMetadata)?a:void 0,response:p};if("cancelled"===c.status)return{status:"error",error:"Video generation was cancelled.",providerMetadata:null!=(i=c.providerMetadata)?i:void 0,response:p};return{status:"pending",warnings:null!=(l=c.warnings)?l:[],providerMetadata:null!=(s=c.providerMetadata)?s:void 0,response:p}}catch(e){throw await em(e,await ey(null!=u?u:{}))}}buildRequestBody({prompt:e,n:t,aspectRatio:o,resolution:r,duration:n,fps:a,seed:i,generateAudio:l,image:s,frameImages:u,inputReferences:d,providerOptions:c}){return{prompt:e,n:t,...o&&{aspectRatio:o},...r&&{resolution:r},...n&&{duration:n},...a&&{fps:a},...i&&{seed:i},...void 0!==l&&{generateAudio:l},...c&&{providerOptions:c},...s&&{image:eY(s)},...u&&{frameImages:u.map(e=>({...e,image:eY(e.image)}))},...d&&{inputReferences:d.map(e=>eY(e))}}}getUrl(){return`${this.config.baseURL}/video-model`}getStartUrl(){return`${this.config.baseURL}/video-model/start`}getStatusUrl(){return`${this.config.baseURL}/video-model/status`}getModelConfigHeaders(){return{"ai-video-model-specification-version":"4","ai-model-id":this.modelId}}};function eY(e){return"file"===e.type&&e.data instanceof Uint8Array?{...e,data:(0,x.convertUint8ArrayToBase64)(e.data)}:e}var eZ=A.object({videos:A.array(A.unknown()).optional()}).catchall(A.unknown()),eX=A.union([A.object({type:A.literal("url"),url:A.string(),mediaType:A.string()}),A.object({type:A.literal("base64"),data:A.string(),mediaType:A.string()})]),eQ=A.discriminatedUnion("type",[A.object({type:A.literal("unsupported"),feature:A.string(),details:A.string().optional()}),A.object({type:A.literal("compatibility"),feature:A.string(),details:A.string().optional()}),A.object({type:A.literal("deprecated"),setting:A.string(),message:A.string()}),A.object({type:A.literal("other"),message:A.string()})]),e0=A.discriminatedUnion("type",[A.object({type:A.literal("result"),videos:A.array(eX),warnings:A.array(eQ).optional(),providerMetadata:A.record(A.string(),eZ).optional()}),A.object({type:A.literal("error"),message:A.string(),errorType:A.string(),statusCode:A.number(),param:A.unknown().nullable()})]),e1=A.object({operation:A.unknown(),warnings:A.array(eQ).nullish(),providerMetadata:A.record(A.string(),eZ).nullish()}),e2=A.discriminatedUnion("status",[A.object({status:A.literal("pending"),warnings:A.array(eQ).nullish(),providerMetadata:A.record(A.string(),eZ).nullish()}),A.object({status:A.literal("completed"),videos:A.array(eX),warnings:A.array(eQ).nullish(),providerMetadata:A.record(A.string(),eZ).nullish()}),A.object({status:A.literal("error"),error:A.string(),providerMetadata:A.record(A.string(),eZ).nullish()}),A.object({status:A.literal("cancelled"),providerMetadata:A.record(A.string(),eZ).nullish()})]),e4=class{constructor(e,t){this.modelId=e,this.config=t,this.specificationVersion="v4"}get provider(){return this.config.provider}async doRerank({documents:e,query:t,topN:o,headers:r,abortSignal:n,providerOptions:a}){var i;let l=this.config.headers?await (0,x.resolve)(this.config.headers):void 0;try{let{responseHeaders:s,value:u,rawValue:d}=await (0,x.postJsonToApi)({url:this.getUrl(),headers:(0,x.combineHeaders)(l,null!=r?r:{},this.getModelConfigHeaders(),await (0,x.resolve)(this.config.o11yHeaders)),body:{documents:e,query:t,...null!=o?{topN:o}:{},...a?{providerOptions:a}:{}},successfulResponseHandler:(0,x.createJsonResponseHandler)(e5),failedResponseHandler:(0,x.createJsonErrorResponseHandler)({errorSchema:A.any(),errorToMessage:e=>{var t;return null!=(t=(0,T.getErrorMessage)(e))?t:"unknown error"}}),...n&&{abortSignal:n},fetch:this.config.fetch});return{ranking:u.ranking,providerMetadata:u.providerMetadata,response:{headers:s,body:d},warnings:null!=(i=u.warnings)?i:[]}}catch(e){throw await em(e,await ey(null!=l?l:{}))}}getUrl(){return`${this.config.baseURL}/reranking-model`}getModelConfigHeaders(){return{"ai-reranking-model-specification-version":"4","ai-model-id":this.modelId}}},e3=A.discriminatedUnion("type",[A.object({type:A.literal("unsupported"),feature:A.string(),details:A.string().optional()}),A.object({type:A.literal("compatibility"),feature:A.string(),details:A.string().optional()}),A.object({type:A.literal("deprecated"),setting:A.string(),message:A.string()}),A.object({type:A.literal("other"),message:A.string()})]),e5=(0,x.lazySchema)(()=>(0,x.zodSchema)(A.object({ranking:A.array(A.object({index:A.number(),relevanceScore:A.number()})),warnings:A.array(e3).optional(),providerMetadata:A.record(A.string(),A.record(A.string(),A.unknown())).optional()}))),e6=class{constructor(e,t){this.modelId=e,this.config=t,this.specificationVersion="v4"}get provider(){return this.config.provider}async doGenerate({text:e,voice:t,outputFormat:o,instructions:r,speed:n,language:a,providerOptions:i,headers:l,abortSignal:s}){var u;let d=this.config.headers?await (0,x.resolve)(this.config.headers):void 0;try{let{responseHeaders:c,value:p,rawValue:h}=await (0,x.postJsonToApi)({url:this.getUrl(),headers:(0,x.combineHeaders)(d,null!=l?l:{},this.getModelConfigHeaders(),await (0,x.resolve)(this.config.o11yHeaders)),body:{text:e,...t&&{voice:t},...o&&{outputFormat:o},...r&&{instructions:r},...null!=n&&{speed:n},...a&&{language:a},...i&&{providerOptions:i}},successfulResponseHandler:(0,x.createJsonResponseHandler)(e7),failedResponseHandler:(0,x.createJsonErrorResponseHandler)({errorSchema:A.any(),errorToMessage:e=>{var t;return null!=(t=(0,T.getErrorMessage)(e))?t:"unknown error"}}),...s&&{abortSignal:s},fetch:this.config.fetch});return{audio:p.audio,warnings:null!=(u=p.warnings)?u:[],providerMetadata:p.providerMetadata,response:{timestamp:new Date,modelId:this.modelId,headers:c,body:h}}}catch(e){throw await em(e,await ey(null!=d?d:{}))}}getUrl(){return`${this.config.baseURL}/speech-model`}getModelConfigHeaders(){return{"ai-speech-model-specification-version":"4","ai-model-id":this.modelId}}},e9=A.object({}).catchall(A.unknown()),e8=A.discriminatedUnion("type",[A.object({type:A.literal("unsupported"),feature:A.string(),details:A.string().optional()}),A.object({type:A.literal("compatibility"),feature:A.string(),details:A.string().optional()}),A.object({type:A.literal("deprecated"),setting:A.string(),message:A.string()}),A.object({type:A.literal("other"),message:A.string()})]),e7=A.object({audio:A.string(),warnings:A.array(e8).optional(),providerMetadata:A.record(A.string(),e9).optional()}),te=class{constructor(e,t){this.modelId=e,this.config=t,this.specificationVersion="v4"}get provider(){return this.config.provider}async doGenerate({audio:e,mediaType:t,providerOptions:o,headers:r,abortSignal:n}){var a,i,l,s;let u=this.config.headers?await (0,x.resolve)(this.config.headers):void 0;try{let{responseHeaders:d,value:c,rawValue:p}=await (0,x.postJsonToApi)({url:this.getUrl(),headers:(0,x.combineHeaders)(u,null!=r?r:{},this.getModelConfigHeaders(),await (0,x.resolve)(this.config.o11yHeaders)),body:{audio:e instanceof Uint8Array?(0,x.convertUint8ArrayToBase64)(e):e,mediaType:t,...o&&{providerOptions:o}},successfulResponseHandler:(0,x.createJsonResponseHandler)(tn),failedResponseHandler:(0,x.createJsonErrorResponseHandler)({errorSchema:A.any(),errorToMessage:e=>{var t;return null!=(t=(0,T.getErrorMessage)(e))?t:"unknown error"}}),...n&&{abortSignal:n},fetch:this.config.fetch});return{text:c.text,segments:null!=(a=c.segments)?a:[],language:null!=(i=c.language)?i:void 0,durationInSeconds:null!=(l=c.durationInSeconds)?l:void 0,warnings:null!=(s=c.warnings)?s:[],providerMetadata:c.providerMetadata,response:{timestamp:new Date,modelId:this.modelId,headers:d,body:p}}}catch(e){throw await em(e,await ey(null!=u?u:{}))}}async doStream(e){var t,o,r,n,a,i;let l,s,u,d=null!=(r=null==(o=null==(t=this.config._internal)?void 0:t.currentDate)?void 0:o.call(t))?r:new Date,c=(0,x.combineHeaders)(await (0,x.resolve)(null!=(n=this.config.headers)?n:{}),null!=(a=e.headers)?a:{},this.getModelConfigHeaders(),await (0,x.resolve)(this.config.o11yHeaders)),p=await ey(c),h={type:x.EXPERIMENTAL_TRANSCRIPTION_STREAM_START_FRAME_TYPE,inputAudioFormat:e.inputAudioFormat,...null!=e.providerOptions&&{providerOptions:e.providerOptions},...null!=e.includeRawChunks&&{includeRawChunks:e.includeRawChunks}};return{stream:function({webSocket:e,url:t,protocols:o,headers:r,startFrame:n,audio:a,abortSignal:i,authMethod:l}){let s=!1,u=()=>{};return new ReadableStream({start:d=>{let c,p,h,m=!1,g=!1;u=e=>{null!=c?c.cancel().catch(()=>{}):a.cancel().catch(()=>{}),null==h||h.close(e)};let f=e=>{s||(s=!0,u(),ta(d,e,l))},y=async e=>{let t=a.getReader();c=t;try{for(;;){let{done:o,value:r}=await t.read();if(o||s)break;let n="string"==typeof r?(0,x.convertBase64ToUint8Array)(r):r;for(let t=0;t<n.length&&!s;t+=65536)e.send(n.subarray(t,t+65536)),await (0,x.waitForWebSocketBufferDrain)(e)}}finally{t.releaseLock(),c===t&&(c=void 0)}s||g||e.send(JSON.stringify({type:x.EXPERIMENTAL_TRANSCRIPTION_STREAM_AUDIO_DONE_FRAME_TYPE}))};h=(0,x.connectToWebSocket)({url:t,protocols:o,headers:r,webSocket:e,abortSignal:i,onAbort:e=>{s||(s=!0,u(),d.error(e))},onProcessingError:f,onOpen:e=>{e.send(JSON.stringify(n)),y(e).catch(f)},onMessageText:e=>{if(s)return;let t=(0,x.experimental_parseTranscriptionStreamPart)(e);if(null!=t){if("finish"===t.type){s=!0,d.enqueue(t),d.close(),u(1e3);return}"error"===t.type&&(m=!0,p=t.error,g=!0,null!=c?(c.cancel().catch(()=>{}),c=void 0):a.cancel().catch(()=>{})),d.enqueue(t)}},onSocketError:()=>{f(Error("Connection error on AI Gateway transcription stream"))},onClose:()=>{if(m){if(s)return;tl(p,l).then(f);return}f(Error("AI Gateway transcription stream closed before a finish part was received"))}})},cancel:()=>{s||(s=!0,u())}})}({webSocket:this.config.webSocket,url:tt(this.config.baseURL,this.modelId),protocols:(i=c,null==(u=(null==(s=(l=(0,x.normalizeHeaders)(i)).authorization)?void 0:s.startsWith("Bearer "))?s.slice(7):void 0)?[C]:E(C,u,{teamIdOrSlug:l[ef]})),headers:c,startFrame:h,audio:e.audio,abortSignal:e.abortSignal,authMethod:p}),request:{body:h},response:{timestamp:d,modelId:this.modelId}}}getUrl(){return`${this.config.baseURL}/transcription-model`}getModelConfigHeaders(){return{"ai-transcription-model-specification-version":"4","ai-model-id":this.modelId}}};function tt(e,t){let o=new URL(`${e.replace(/^http/,"ws")}/transcription-model`);return o.searchParams.set("ai-model-id",t),o.toString()}var to=A.object({}).catchall(A.unknown()),tr=A.discriminatedUnion("type",[A.object({type:A.literal("unsupported"),feature:A.string(),details:A.string().optional()}),A.object({type:A.literal("compatibility"),feature:A.string(),details:A.string().optional()}),A.object({type:A.literal("deprecated"),setting:A.string(),message:A.string()}),A.object({type:A.literal("other"),message:A.string()})]),tn=A.object({text:A.string(),segments:A.array(A.object({text:A.string(),startSecond:A.number(),endSecond:A.number()})).optional(),language:A.string().nullish(),durationInSeconds:A.number().nullish(),warnings:A.array(tr).optional(),providerMetadata:A.record(A.string(),to).optional()});async function ta(e,t,o){e.error(await em(t,o))}var ti={authentication_error:401,failed_dependency:424,forbidden:403,internal_server_error:500,invalid_request_error:400,model_not_found:404,rate_limit_exceeded:429};async function tl(e,t){return"object"==typeof e&&null!=e&&"message"in e&&"string"==typeof e.message&&"type"in e&&"string"==typeof e.type&&e.type in ti?es({response:{error:{message:e.message,type:e.type}},statusCode:ti[e.type],authMethod:t}):Error(`AI Gateway transcription stream failed: ${null!=e&&"object"==typeof e&&"message"in e&&"string"==typeof e.message?e.message:(0,T.getErrorMessage)(e)}`)}var ts=class{constructor(e,t){this.specificationVersion="v4",this.modelId=e,this.provider=t.provider,this.config=t}async doCreateClientSecret(e){var t,o;let r,n=await this.config.createClientSecret({modelId:this.modelId,...(null==e?void 0:e.expiresAfterSeconds)!=null&&{expiresAfterSeconds:e.expiresAfterSeconds}});return{token:n.token,url:(t=this.config.baseURL,o=this.modelId,(r=new URL(`${t.replace(/^http/,"ws")}/realtime-model`)).searchParams.set("ai-model-id",o),r.toString()),...null!=n.expiresAt&&{expiresAt:n.expiresAt}}}getWebSocketConfig(e){return{url:e.url,protocols:E("ai-gateway-realtime.v1",e.token,{teamIdOrSlug:this.config.teamIdOrSlug})}}parseServerEvent(e){return e}serializeClientEvent(e){return e}buildSessionConfig(e){return e}},tu=(0,x.lazySchema)(()=>(0,x.zodSchema)(A.object({query:A.string().describe("Natural-language web search query. This is required."),type:A.enum(["auto","fast","instant"]).optional().describe("Search method. Use auto for the default balance of speed and quality."),num_results:A.number().optional().describe("Maximum number of results to return (1-100, default: 10)."),category:A.enum(["company","people","research paper","news","personal site","financial report"]).optional().describe("Optional content category to focus results."),user_location:A.string().optional().describe("Two-letter ISO country code such as 'US'."),include_domains:A.array(A.string()).optional().describe("Only return results from these domains."),exclude_domains:A.array(A.string()).optional().describe("Exclude results from these domains."),start_published_date:A.string().optional().describe("Only return links published after this ISO 8601 date."),end_published_date:A.string().optional().describe("Only return links published before this ISO 8601 date."),contents:A.object({text:A.union([A.boolean(),A.object({max_characters:A.number().optional(),include_html_tags:A.boolean().optional(),verbosity:A.enum(["compact","standard","full"]).optional(),include_sections:A.array(A.enum(["header","navigation","banner","body","sidebar","footer","metadata"])).optional(),exclude_sections:A.array(A.enum(["header","navigation","banner","body","sidebar","footer","metadata"])).optional()})]).optional(),highlights:A.union([A.boolean(),A.object({query:A.string().optional(),max_characters:A.number().optional()})]).optional(),max_age_hours:A.number().optional(),livecrawl_timeout:A.number().optional(),subpages:A.number().optional(),subpage_target:A.union([A.string(),A.array(A.string())]).optional(),extras:A.object({links:A.number().optional(),image_links:A.number().optional()}).optional()}).optional().describe("Controls extracted page content and freshness.")}))),td=(0,x.lazySchema)(()=>(0,x.zodSchema)(A.union([A.object({requestId:A.string(),searchType:A.string().optional(),resolvedSearchType:A.string().optional(),results:A.array(A.object({title:A.string(),url:A.string(),id:A.string(),publishedDate:A.string().nullable().optional(),author:A.string().nullable().optional(),image:A.string().nullable().optional(),favicon:A.string().nullable().optional(),text:A.string().optional(),highlights:A.array(A.string()).optional(),highlightScores:A.array(A.number()).optional(),summary:A.string().optional(),subpages:A.array(A.any()).optional(),extras:A.object({links:A.array(A.string()).optional(),imageLinks:A.array(A.string()).optional()}).optional()})),costDollars:A.object({total:A.number().optional(),search:A.record(A.string(),A.number()).optional()}).optional()}),A.object({error:A.enum(["api_error","rate_limit","timeout","invalid_input","configuration_error","execution_error","unknown"]),statusCode:A.number().optional(),message:A.string()})]))),tc=(0,x.createProviderExecutedToolFactory)({id:"gateway.exa_search",inputSchema:tu,outputSchema:td}),tp=(0,x.lazySchema)(()=>(0,x.zodSchema)(A.object({objective:A.string().describe("Natural-language description of the web research goal, including source or freshness guidance and broader context from the task. Maximum 5000 characters."),search_queries:A.array(A.string()).optional().describe("Optional search queries to supplement the objective. Maximum 200 characters per query."),mode:A.enum(["one-shot","agentic"]).optional().describe('Mode preset: "one-shot" for comprehensive results with longer excerpts (default), "agentic" for concise, token-efficient results for multi-step workflows.'),max_results:A.number().optional().describe("Maximum number of results to return (1-20). Defaults to 10 if not specified."),source_policy:A.object({include_domains:A.array(A.string()).optional().describe("Limit results to these domains. Use plain domain names only — e.g. example.com or sub.example.gov, or a bare extension like .edu. Do not include a scheme, path, or port (e.g. not https://example.com/page)."),exclude_domains:A.array(A.string()).optional().describe("Exclude results from these domains. Use plain domain names only — e.g. example.com or sub.example.gov, or a bare extension like .edu. Do not include a scheme, path, or port (e.g. not https://example.com/page)."),after_date:A.string().optional().describe("Only include results published after this date. Use an ISO 8601 calendar date formatted YYYY-MM-DD (e.g. 2025-01-01); do not include a time.")}).optional().describe("Source policy for controlling which domains to include/exclude and freshness."),excerpts:A.object({max_chars_per_result:A.number().optional().describe("Maximum characters per result."),max_chars_total:A.number().optional().describe("Maximum total characters across all results.")}).optional().describe("Excerpt configuration for controlling result length."),fetch_policy:A.object({max_age_seconds:A.number().optional().describe("Maximum age in seconds for cached content. Set to 0 to always fetch fresh content.")}).optional().describe("Fetch policy for controlling content freshness.")}))),th=(0,x.lazySchema)(()=>(0,x.zodSchema)(A.union([A.object({searchId:A.string(),results:A.array(A.object({url:A.string(),title:A.string(),excerpt:A.string(),publishDate:A.string().nullable().optional(),relevanceScore:A.number().optional()}))}),A.object({error:A.enum(["api_error","rate_limit","timeout","invalid_input","configuration_error","unknown"]),statusCode:A.number().optional(),message:A.string()})]))),tm=(0,x.createProviderExecutedToolFactory)({id:"gateway.parallel_search",inputSchema:tp,outputSchema:th}),tg=(0,x.lazySchema)(()=>(0,x.zodSchema)(A.object({query:A.union([A.string(),A.array(A.string())]).describe("Search query (string) or multiple queries (array of up to 5 strings). Multi-query searches return combined results from all queries."),max_results:A.number().optional().describe("Maximum number of search results to return (1-20, default: 10)"),max_tokens_per_page:A.number().optional().describe("Maximum number of tokens to extract per search result page (256-2048, default: 2048)"),max_tokens:A.number().optional().describe("Maximum total tokens across all search results (default: 25000, max: 1000000)"),country:A.string().optional().describe("Two-letter ISO 3166-1 alpha-2 country code for regional search results (e.g., 'US', 'GB', 'FR')"),search_domain_filter:A.array(A.string()).optional().describe("List of domains to include or exclude from search results (max 20). To include: ['nature.com', 'science.org']. To exclude: ['-example.com', '-spam.net']"),search_language_filter:A.array(A.string()).optional().describe("List of ISO 639-1 language codes to filter results (max 10, lowercase). Examples: ['en', 'fr', 'de']"),search_after_date:A.string().optional().describe("Include only results published after this date. Format: 'MM/DD/YYYY' (e.g., '3/1/2025'). Cannot be used with search_recency_filter."),search_before_date:A.string().optional().describe("Include only results published before this date. Format: 'MM/DD/YYYY' (e.g., '3/15/2025'). Cannot be used with search_recency_filter."),last_updated_after_filter:A.string().optional().describe("Include only results last updated after this date. Format: 'MM/DD/YYYY' (e.g., '3/1/2025'). Cannot be used with search_recency_filter."),last_updated_before_filter:A.string().optional().describe("Include only results last updated before this date. Format: 'MM/DD/YYYY' (e.g., '3/15/2025'). Cannot be used with search_recency_filter."),search_recency_filter:A.enum(["day","week","month","year"]).optional().describe("Filter results by relative time period. Cannot be used with search_after_date or search_before_date.")}))),tf=(0,x.lazySchema)(()=>(0,x.zodSchema)(A.union([A.object({results:A.array(A.object({title:A.string(),url:A.string(),snippet:A.string(),date:A.string().optional(),lastUpdated:A.string().optional()})),id:A.string()}),A.object({error:A.enum(["api_error","rate_limit","timeout","invalid_input","unknown"]),statusCode:A.number().optional(),message:A.string()})]))),ty=(0,x.createProviderExecutedToolFactory)({id:"gateway.perplexity_search",inputSchema:tg,outputSchema:tf}),tv=A.object({count:A.number().optional().describe("Maximum number of data results to return (1-20). When include_contents is true, each additional result adds its own data surcharge."),include_contents:A.boolean().optional().describe("Inline rows for each data result. This adds a data surcharge based on row count and dataset source. To estimate cost, search with include_contents disabled and inspect cards.content.export_pricing. This applies to every returned card; limit sources.data.count and sources.data.max_rows to control cost."),mode:A.enum(["inline","url"]).optional().describe("Requested data delivery mode. Search card data is always inline."),content_format:A.enum(["card_json","csv","json_compact","json_records"]).optional().describe("Serialization for inlined card data."),max_rows:A.number().optional().describe("Maximum rows to inline per result. Omit to use the allowance in cards.content.export_pricing. A data surcharge applies per 1,000 exported rows; lower values reduce cost."),node_ids:A.array(A.string()).optional().describe("Data Graph node IDs to prioritize. Maximum 20."),strict:A.boolean().optional().describe("Only return cards matching node_ids. Requires a non-empty node_ids.")}),tb=A.object({count:A.number().optional().describe("Maximum number of web results to return (1-20)."),include_contents:A.boolean().optional().describe("Inline extracted web page text. This can add a data charge."),category:A.enum(["finance","news","sports"]).optional().describe("Optional web-result category filter."),include_domains:A.array(A.string()).optional().describe("Only return results from these bare domains."),exclude_domains:A.array(A.string()).optional().describe("Exclude results from these bare domains."),snippet_max_chars:A.number().optional().describe("Maximum characters in each web-result snippet."),highlights:A.boolean().optional().describe("Include highlighted passages in web results. Defaults to true in AI Gateway."),article_content_max_chars:A.number().optional().describe("Maximum extracted characters per web page when including contents."),published_after:A.string().optional().describe("Keep results published on or after this ISO date (YYYY-MM-DD)."),published_before:A.string().optional().describe("Keep results published on or before this ISO date (YYYY-MM-DD).")}),t_=(0,x.lazySchema)(()=>(0,x.zodSchema)(A.object({query:A.string().describe('Natural-language search query. Include the entity, metric, and time period. Quote a phrase to force it to one entity, for example "Tesla":PRODUCT price.'),effort:A.enum(["deep","fast","instant"]).optional().describe("Search effort. fast is the balanced default, instant favors cached results and low latency, and deep broadens retrieval with reranking at higher cost and latency."),sources:A.object({data:tv.optional(),web:tb.optional()}).optional().describe("Sources to search. Omit to search both curated data and the web. When provided, only keys present are searched."),location:A.object({latitude:A.number().describe("Latitude between -90 and 90."),longitude:A.number().describe("Longitude between -180 and 180.")}).optional().describe("End-user coordinates for localized results."),country_code:A.string().optional().describe("Two-letter ISO 3166-1 country code, such as 'US'."),locale:A.string().optional().describe("BCP-47 locale, such as 'en-US'."),timezone:A.string().optional().describe("IANA timezone, such as 'America/New_York'."),output_settings:A.object({image_dark_mode:A.boolean().optional().describe("Render card preview images in dark mode."),force_refresh:A.boolean().optional().describe("Instant-effort only. Request a refreshed instant result.")}).optional().describe("Controls card rendering in the search response."),include_related:A.number().optional().describe("Maximum related search suggestions to include (1-20).")}))),tw=A.union([A.boolean(),A.number(),A.string()]).nullable(),tz=A.object({content_format:A.enum(["card_json","csv","json_compact","json_records"]).nullish(),cost:A.number().optional(),data:A.string().nullish(),records:A.array(A.record(A.string(),tw)).nullish(),dataset:A.object({columns:A.array(A.object({name:A.string(),type:A.enum(["boolean","date","datetime","number","string"]),unit:A.string().nullish()})),rows:A.array(A.array(tw)),total_rows:A.number(),truncated:A.boolean(),ref:A.string(),sources:A.array(A.object({name:A.string(),index:A.enum(["data","web"]).optional()})),provenance:A.enum(["query","web_extraction"]).optional()}).nullish(),card_data:A.object({}).passthrough().nullish(),card_data_schema:A.object({}).passthrough().nullish(),url:A.string().nullish(),expires_at:A.string().nullish(),total_rows:A.number().nullish(),truncated:A.boolean().optional(),export_pricing:A.object({baseline_usd:A.number(),free_rows:A.number(),max_rows_ceiling:A.number(),row_cpm_usd:A.number()}).nullish(),manifest:A.array(A.object({dtype:A.enum(["boolean","date","datetime","number","string"]).nullish(),entity:A.string().nullish(),metric:A.string().nullish(),name:A.string().nullish(),unit:A.string().nullish()})).nullish()}).passthrough(),tx=A.object({card_id:A.string().nullish(),title:A.string().nullish(),description:A.string().nullish(),semantic_description:A.string().nullish(),webpage_url:A.string().nullish(),image_url:A.string().nullish(),embed_url:A.string().nullish(),sources:A.array(A.object({source_name:A.string().nullish(),source_description:A.string().nullish(),source_index:A.enum(["data","web"]),source_text:A.string().nullish(),url:A.string().nullish()})).nullish(),methodologies:A.array(A.object({methodology_name:A.string().nullable(),methodology_description:A.string().nullable()})).nullish(),source_indexes:A.array(A.enum(["data","web"])).nullish(),card_type:A.string().nullish(),relevance:A.enum(["High","Low","Medium"]).nullish(),content:tz.nullish(),exportable:A.boolean().optional(),nodes:A.array(A.object({id:A.string(),type:A.enum(["entity","metric"]),name:A.string(),description:A.string().nullish()})).nullish(),metric_definitions:A.array(A.object({name:A.string(),definition:A.string()})).nullish(),data_freshness:A.object({coverage_end:A.string().nullish(),data_as_of:A.string().nullish(),last_updated:A.string().nullish()}).nullish()}).passthrough(),tT=A.object({title:A.string(),url:A.string(),snippet:A.string().nullish(),source_name:A.string().nullish(),publish_date:A.string().nullish(),content:tz.nullish()}).passthrough(),tk=(0,x.lazySchema)(()=>(0,x.zodSchema)(A.union([A.object({request_id:A.string(),cards:A.array(tx).optional(),web_results:A.array(tT).optional(),usage:A.object({total_cost_usd:A.number(),compute:A.object({cost_usd:A.number()}).nullish(),data:A.object({cost_usd:A.number(),datasets:A.number()}).nullish()}).nullish(),related:A.array(A.object({}).passthrough()).nullish()}).passthrough(),A.object({error:A.enum(["api_error","configuration_error","execution_error","invalid_input","rate_limit","timeout","unknown_tool"]),statusCode:A.number().optional(),message:A.string()})]))),tI=(0,x.createProviderExecutedToolFactory)({id:"gateway.tako_search",inputSchema:t_,outputSchema:tk}),tS={exaSearch:(e={})=>tc(e),parallelSearch:(e={})=>tm(e),perplexitySearch:(e={})=>ty(e),takoSearch:(e={})=>tI(e)};async function tC(){var e;return null==(e=(0,S.getContext)().headers)?void 0:e["x-vercel-id"]}var tE=A.object({token:A.string(),expiresAt:A.number().nullish()});function tA(e={}){var t,o;let r=null,n=null,a=null!=(t=e.metadataCacheRefreshMillis)?t:3e5,i=0,l=null!=(o=(0,x.withoutTrailingSlash)(e.baseURL))?o:"https://ai-gateway.vercel.sh/v4/ai",s=t=>(0,x.withUserAgentSuffix)({Authorization:`Bearer ${t.token}`,"ai-gateway-protocol-version":"0.0.1",[eg]:t.authMethod,...null!=e.teamIdOrSlug?{[ef]:e.teamIdOrSlug}:{},...e.headers},"ai-sdk/gateway/4.0.75"),u=async()=>{try{return s(await tM(e))}catch(e){throw N.createContextualError({apiKeyProvided:!1,oidcTokenProvided:!1,statusCode:401,cause:e})}},d=async()=>{try{return await tM(e)}catch(e){throw N.createContextualError({apiKeyProvided:!1,oidcTokenProvided:!1,statusCode:401,cause:e})}},c=async t=>{if(void 0!==globalThis.window)throw Error("AI Gateway client secrets must be minted server-side: minting needs your Gateway credential, which must never reach the browser. Call gateway.experimental_realtime.getToken() or gateway.experimental_transcription.getToken() from your server and pass the returned token to the client.");let o=s(await d()),r=new URL("/v1/realtime/client-secrets",l).toString();try{let{value:n}=await (0,x.postJsonToApi)({url:r,headers:o,body:{model:t.modelId,...null!=t.routeKind&&{routeKind:t.routeKind},...null!=t.expiresAfterSeconds&&{expiresIn:t.expiresAfterSeconds}},successfulResponseHandler:(0,x.createJsonResponseHandler)(tE),failedResponseHandler:(0,x.createJsonErrorResponseHandler)({errorSchema:A.any(),errorToMessage:e=>{var t;return null!=(t=(0,T.getErrorMessage)(e))?t:"unknown error"}}),fetch:e.fetch});return{token:n.token,...null!=n.expiresAt&&{expiresAt:n.expiresAt}}}catch(e){throw await em(e,await ey(o))}},p=()=>{let e=(0,x.loadOptionalSetting)({settingValue:void 0,environmentVariableName:"VERCEL_DEPLOYMENT_ID"}),t=(0,x.loadOptionalSetting)({settingValue:void 0,environmentVariableName:"VERCEL_ENV"}),o=(0,x.loadOptionalSetting)({settingValue:void 0,environmentVariableName:"VERCEL_REGION"}),r=(0,x.loadOptionalSetting)({settingValue:void 0,environmentVariableName:"VERCEL_PROJECT_ID"});return async()=>{let n=await tC();return{...e&&{"ai-o11y-deployment-id":e},...t&&{"ai-o11y-environment":t},...o&&{"ai-o11y-region":o},...n&&{"ai-o11y-request-id":n},...r&&{"ai-o11y-project-id":r}}}},h=t=>new eE(t,{provider:"gateway",baseURL:l,headers:u,fetch:e.fetch,o11yHeaders:p()}),m=async()=>{var t,o,s;let d=null!=(s=null==(o=null==(t=e._internal)?void 0:t.currentDate)?void 0:o.call(t).getTime())?s:Date.now();return(!r||d-i>a)&&(i=d,r=new e_({baseURL:l,headers:u,fetch:e.fetch}).getAvailableModels().then(e=>(n=e,e)).catch(async e=>{throw await em(e,await ey(await u()))})),n?Promise.resolve(n):r},g=async()=>new e_({baseURL:l,headers:u,fetch:e.fetch}).getCredits().catch(async e=>{throw await em(e,await ey(await u()))}),f=async t=>new ex({baseURL:l,headers:u,fetch:e.fetch}).getSpendReport(t).catch(async e=>{throw await em(e,await ey(await u()))}),y=async t=>new ek({baseURL:l,headers:u,fetch:e.fetch}).getGenerationInfo(t).catch(async e=>{throw await em(e,await ey(await u()))}),v=function(e){if(new.target)throw Error("The Gateway Provider model function cannot be called with the new keyword.");return h(e)};v.specificationVersion="v4",v.getAvailableModels=m,v.getCredits=g,v.getSpendReport=f,v.getGenerationInfo=y,v.imageModel=t=>new eB(t,{provider:"gateway",baseURL:l,headers:u,fetch:e.fetch,o11yHeaders:p()}),v.languageModel=h;let b=t=>new eD(t,{provider:"gateway",baseURL:l,headers:u,fetch:e.fetch,o11yHeaders:p()});v.embeddingModel=b,v.textEmbeddingModel=b,v.videoModel=t=>new eG(t,{provider:"gateway",baseURL:l,headers:u,fetch:e.fetch,o11yHeaders:p()});let _=t=>new e4(t,{provider:"gateway",baseURL:l,headers:u,fetch:e.fetch,o11yHeaders:p()});v.rerankingModel=_,v.reranking=_;let w=t=>new e6(t,{provider:"gateway",baseURL:l,headers:u,fetch:e.fetch,o11yHeaders:p()});v.speechModel=w,v.speech=w;let z=t=>new te(t,{provider:"gateway",baseURL:l,headers:u,fetch:e.fetch,o11yHeaders:p(),webSocket:e.webSocket});v.transcriptionModel=z,v.transcription=z,v.experimental_transcription=Object.assign(e=>z(e),{getToken:async e=>{let t=await c({modelId:e.model,routeKind:"transcription",...null!=e.expiresAfterSeconds&&{expiresAfterSeconds:e.expiresAfterSeconds}});return{token:t.token,url:tt(l,e.model),...null!=t.expiresAt&&{expiresAt:t.expiresAt}}}});let k=t=>new ts(t,{provider:"gateway.realtime",baseURL:l,teamIdOrSlug:e.teamIdOrSlug,createClientSecret:c});return v.experimental_realtime=Object.assign(e=>k(e),{getToken:async e=>{let{model:t,...o}=e,r=k(t),n=await r.doCreateClientSecret(o);return{token:n.token,url:n.url,...null!=n.expiresAt&&{expiresAt:n.expiresAt}}}}),v.chat=v.languageModel,v.embedding=v.embeddingModel,v.image=v.imageModel,v.video=v.videoModel,v.tools=tS,v}var tO=tA();async function tM(e){let t=(0,x.loadOptionalSetting)({settingValue:e.apiKey,environmentVariableName:"AI_GATEWAY_API_KEY"});return t?{token:t,authMethod:"api-key"}:{token:await (0,S.getVercelOidcToken)(),authMethod:"oidc"}}e.s(["GatewayAuthenticationError",0,N,"GatewayError",0,M,"createGateway",0,tA,"gateway",0,tO])},734732,e=>{"use strict";var t,o,r,n,a,i,l,s,u,d,c,p,h,m,g,f,y,v,b,_,w,z,x,T,k,I,S,C,E,A,O,M,j,R,N,P,$,q,L,D,U,F=e.i(736756),B=e.i(691296),H=e.i(296194),W=e.i(749906),V=Object.defineProperty,J="AI_InvalidArgumentError",K=`vercel.ai.error.${J}`,G=Symbol.for(K),Y=class extends(o=H.AISDKError,t=G,o){constructor({parameter:e,value:o,message:r}){super({name:J,message:`Invalid argument for parameter ${e}: ${r}`}),this[t]=!0,this.parameter=e,this.value=o}static isInstance(e){return H.AISDKError.hasMarker(e,K)}},Z=Symbol.for("vercel.ai.error.AI_InvalidStreamPartError");H.AISDKError;var X="AI_InvalidToolApprovalError",Q=`vercel.ai.error.${X}`,ee=Symbol.for(Q),et=class extends(n=H.AISDKError,r=ee,n){constructor({approvalId:e}){super({name:X,message:`Tool approval response references unknown approvalId: "${e}". No matching tool-approval-request found in message history.`}),this[r]=!0,this.approvalId=e}static isInstance(e){return H.AISDKError.hasMarker(e,Q)}},eo="AI_InvalidToolApprovalSignatureError",er=`vercel.ai.error.${eo}`,en=Symbol.for(er),ea=class extends(i=H.AISDKError,a=en,i){constructor({approvalId:e,toolCallId:t,reason:o}){super({name:eo,message:`Tool approval signature verification failed for approval "${e}" (tool call "${t}"): ${o}`}),this[a]=!0,this.approvalId=e,this.toolCallId=t}static isInstance(e){return H.AISDKError.hasMarker(e,er)}},ei="AI_InvalidToolInputError",el=`vercel.ai.error.${ei}`,es=Symbol.for(el),eu=class extends(s=H.AISDKError,l=es,s){constructor({toolInput:e,toolName:t,cause:o,message:r=`Invalid input for tool ${t}: ${(0,H.getErrorMessage)(o)}`}){super({name:ei,message:r,cause:o}),this[l]=!0,this.toolInput=e,this.toolName=t}static isInstance(e){return H.AISDKError.hasMarker(e,el)}},ed="AI_ToolCallNotFoundForApprovalError",ec=`vercel.ai.error.${ed}`,ep=Symbol.for(ec),eh=class extends(d=H.AISDKError,u=ep,d){constructor({toolCallId:e,approvalId:t}){super({name:ed,message:`Tool call "${e}" not found for approval request "${t}".`}),this[u]=!0,this.toolCallId=e,this.approvalId=t}static isInstance(e){return H.AISDKError.hasMarker(e,ec)}},em="AI_MissingToolResultsError",eg=`vercel.ai.error.${em}`,ef=Symbol.for(eg),ey=class extends(p=H.AISDKError,c=ef,p){constructor({toolCallIds:e}){super({name:em,message:`Tool result${e.length>1?"s are":" is"} missing for tool call${e.length>1?"s":""} ${e.join(", ")}.`}),this[c]=!0,this.toolCallIds=e}static isInstance(e){return H.AISDKError.hasMarker(e,eg)}},ev="AI_NoImageGeneratedError",eb=`vercel.ai.error.${ev}`,e_=Symbol.for(eb),ew=class extends(m=H.AISDKError,h=e_,m){constructor({message:e="No image generated.",cause:t,calls:o,responses:r}){super({name:ev,message:e,cause:t}),this[h]=!0,this.calls=o,this.responses=r}static isInstance(e){return H.AISDKError.hasMarker(e,eb)}},ez="AI_NoObjectGeneratedError",ex=`vercel.ai.error.${ez}`,eT=Symbol.for(ex),ek=class extends(f=H.AISDKError,g=eT,f){constructor({message:e="No object generated.",cause:t,text:o,response:r,usage:n,finishReason:a}){super({name:ez,message:e,cause:t}),this[g]=!0,this.text=o,this.response=r,this.usage=n,this.finishReason=a}static isInstance(e){return H.AISDKError.hasMarker(e,ex)}},eI="AI_NoOutputGeneratedError",eS=`vercel.ai.error.${eI}`,eC=Symbol.for(eS),eE=class extends(v=H.AISDKError,y=eC,v){constructor({message:e="No output generated.",cause:t}={}){super({name:eI,message:e,cause:t}),this[y]=!0}static isInstance(e){return H.AISDKError.hasMarker(e,eS)}},eA="AI_NoSpeechGeneratedError",eO=`vercel.ai.error.${eA}`,eM=Symbol.for(eO),ej=class extends(_=H.AISDKError,b=eM,_){constructor(e){super({name:eA,message:"No speech audio generated."}),this[b]=!0,this.responses=e.responses}static isInstance(e){return H.AISDKError.hasMarker(e,eO)}},eR="AI_NoTranscriptGeneratedError",eN=`vercel.ai.error.${eR}`,eP=Symbol.for(eN),e$=class extends(z=H.AISDKError,w=eP,z){constructor(e){super({name:eR,message:"No transcript generated."}),this[w]=!0,this.responses=e.responses}static isInstance(e){return H.AISDKError.hasMarker(e,eN)}},eq=Symbol.for("vercel.ai.error.AI_NoTranslationGeneratedError");H.AISDKError;var eL="AI_NoVideoGeneratedError",eD=`vercel.ai.error.${eL}`,eU=Symbol.for(eD),eF=class extends(T=H.AISDKError,x=eU,T){constructor({message:e="No video generated.",cause:t,responses:o}){super({name:eL,message:e,cause:t}),this[x]=!0,this.responses=o}static isInstance(e){return H.AISDKError.hasMarker(e,eD)}static isNoVideoGeneratedError(e){return e instanceof Error&&e.name===eL&&void 0!==e.responses}toJSON(){return{name:this.name,message:this.message,stack:this.stack,cause:this.cause,responses:this.responses}}},eB="AI_NoSuchToolError",eH=`vercel.ai.error.${eB}`,eW=Symbol.for(eH),eV=class extends(I=H.AISDKError,k=eW,I){constructor({toolName:e,availableTools:t,message:o=`Model tried to call unavailable tool '${e}'. ${void 0===t?"No tools are available.":`Available tools: ${t.join(", ")}.`}`}){super({name:eB,message:o}),this[k]=!0,this.toolName=e,this.availableTools=t}static isInstance(e){return H.AISDKError.hasMarker(e,eH)}},eJ="AI_StreamProviderError",eK=`vercel.ai.error.${eJ}`,eG=Symbol.for(eK),eY=class extends(C=H.AISDKError,S=eG,C){constructor({message:e,type:t,code:o,statusCode:r,isRetryable:n=function(e){return null!=e&&(408===e||409===e||429===e||e>=500)}(r),data:a,cause:i}){super({name:eJ,message:e,cause:i}),this[S]=!0,this.type=t,this.code=o,this.statusCode=r,this.isRetryable=n,this.data=a}static isInstance(e){return H.AISDKError.hasMarker(e,eK)}},eZ="AI_ToolCallRepairError",eX=`vercel.ai.error.${eZ}`,eQ=Symbol.for(eX),e0=class extends(A=H.AISDKError,E=eQ,A){constructor({cause:e,originalError:t,message:o=`Error repairing tool call: ${(0,H.getErrorMessage)(e)}`}){super({name:eZ,message:o,cause:e}),this[E]=!0,this.originalError=t}static isInstance(e){return H.AISDKError.hasMarker(e,eX)}},e1="AI_ToolChoiceViolationError",e2=`vercel.ai.error.${e1}`,e4=Symbol.for(e2),e3=class extends(M=H.AISDKError,O=e4,M){constructor({toolChoice:e,finishReason:t,provider:o,modelId:r,content:n,message:a="required"===e.type?"Model response did not contain a tool call even though tool choice was required.":`Model response did not contain a call to the required tool '${e.toolName}'.`}){super({name:e1,message:a}),this[O]=!0,this.toolChoice=e,this.finishReason=t,this.provider=o,this.modelId=r,this.content=n}static isInstance(e){return H.AISDKError.hasMarker(e,e2)}},e5=class extends H.AISDKError{constructor(e){super({name:"AI_UnsupportedModelVersionError",message:`Unsupported model version ${e.version} for provider "${e.provider}" and model "${e.modelId}". AI SDK 5 only supports models that implement specification version "v2".`}),this.version=e.version,this.provider=e.provider,this.modelId=e.modelId}},e6="AI_UIMessageStreamError",e9=`vercel.ai.error.${e6}`,e8=Symbol.for(e9),e7=class extends(R=H.AISDKError,j=e8,R){constructor({chunkType:e,chunkId:t,message:o}){super({name:e6,message:o}),this[j]=!0,this.chunkType=e,this.chunkId=t}static isInstance(e){return H.AISDKError.hasMarker(e,e9)}},te="AI_InvalidDataContentError",tt=`vercel.ai.error.${te}`,to=Symbol.for(tt),tr=class extends(P=H.AISDKError,N=to,P){constructor({content:e,cause:t,message:o=`Invalid data content. Expected a base64 string, Uint8Array, ArrayBuffer, or Buffer, but got ${typeof e}.`}){super({name:te,message:o,cause:t}),this[N]=!0,this.content=e}static isInstance(e){return H.AISDKError.hasMarker(e,tt)}},tn="AI_InvalidMessageRoleError",ta=`vercel.ai.error.${tn}`,ti=Symbol.for(ta),tl=class extends(q=H.AISDKError,$=ti,q){constructor({role:e,message:t=`Invalid message role: '${e}'. Must be one of: "system", "user", "assistant", "tool".`}){super({name:tn,message:t}),this[$]=!0,this.role=e}static isInstance(e){return H.AISDKError.hasMarker(e,ta)}},ts=Symbol.for("vercel.ai.error.AI_MessageConversionError");H.AISDKError;var tu="AI_RetryError",td=`vercel.ai.error.${tu}`,tc=Symbol.for(td),tp=class extends(D=H.AISDKError,L=tc,D){constructor({message:e,reason:t,errors:o}){super({name:tu,message:e}),this[L]=!0,this.reason=t,this.errors=o,this.lastError=o[o.length-1]}static isInstance(e){return H.AISDKError.hasMarker(e,td)}},th=!1;function tm({message:e,type:t}){"u">typeof process&&"function"==typeof process.emitWarning?process.emitWarning(e,{type:t}):console.warn(e)}var tg=e=>{if(0===e.warnings.length)return;let t=globalThis.AI_SDK_LOG_WARNINGS;if(!1!==t){if("function"==typeof t)return void t(e);for(let t of(th||(th=!0,tm({message:"AI SDK Warning System: To turn off warning logging, set the AI_SDK_LOG_WARNINGS global to false.",type:"Warning"})),e.warnings))tm({message:function({warning:e,provider:t,model:o}){let r=null!=t&&null!=o?` (${t} / ${o})`:"",n=`AI SDK Warning${r}:`;switch(e.type){case"unsupported":{let t=`${n} The feature "${e.feature}" is not supported.`;return e.details&&(t+=` ${e.details}`),t}case"compatibility":{let t=`${n} The feature "${e.feature}" is used in a compatibility mode.`;return e.details&&(t+=` ${e.details}`),t}case"deprecated":return`${n} Deprecated: "${e.setting}". ${e.message}`;case"other":return`${n} ${e.message}`;default:return`${n} ${JSON.stringify(e,null,2)}`}}({warning:t,provider:e.provider,model:e.model}),type:"deprecated"===t.type?"DeprecationWarning":"Warning"})}};function tf({provider:e,modelId:t}){tg({warnings:[{type:"compatibility",feature:"specificationVersion",details:"Using v2 specification compatibility mode. Some features may not be available."}],provider:e,model:t})}function ty(e){return"v3"===e.specificationVersion?e:(tf({provider:e.provider,modelId:e.modelId}),new Proxy(e,{get:(e,t)=>"specificationVersion"===t?"v3":e[t]}))}function tv(e){return"v3"===e.specificationVersion?e:(tf({provider:e.provider,modelId:e.modelId}),new Proxy(e,{get:(e,t)=>"specificationVersion"===t?"v3":e[t]}))}function tb(e){return"v4"===e.specificationVersion?e:new Proxy("v2"===e.specificationVersion?tv(e):e,{get:(e,t)=>"specificationVersion"===t?"v4":e[t]})}function t_(e){return"v3"===e.specificationVersion?e:(tf({provider:e.provider,modelId:e.modelId}),new Proxy(e,{get(e,t){switch(t){case"specificationVersion":return"v3";case"doGenerate":return async(...t)=>{let o=await e.doGenerate(...t);return{...o,finishReason:tw(o.finishReason),usage:tz(o.usage)}};case"doStream":return async(...t)=>{let o=await e.doStream(...t);return{...o,stream:o.stream.pipeThrough(new TransformStream({transform(e,t){"finish"===e.type?t.enqueue({...e,finishReason:tw(e.finishReason),usage:tz(e.usage)}):t.enqueue(e)}}))}};default:return e[t]}}}))}function tw(e){return{unified:"unknown"===e?"other":e,raw:void 0}}function tz(e){return{inputTokens:{total:e.inputTokens,noCache:void 0,cacheRead:e.cachedInputTokens,cacheWrite:void 0},outputTokens:{total:e.outputTokens,text:void 0,reasoning:e.reasoningTokens}}}function tx(e){return"v4"===e.specificationVersion?e:new Proxy("v2"===e.specificationVersion?t_(e):e,{get:(e,t)=>"specificationVersion"===t?"v4":e[t]})}function tT(e){return"v3"===e.specificationVersion?e:(tf({provider:e.provider,modelId:e.modelId}),new Proxy(e,{get:(e,t)=>"specificationVersion"===t?"v3":e[t]}))}function tk(e){return"v4"===e.specificationVersion?e:new Proxy("v2"===e.specificationVersion?tT(e):e,{get:(e,t)=>"specificationVersion"===t?"v4":e[t]})}function tI(e){return"v3"===e.specificationVersion?e:(tf({provider:e.provider,modelId:e.modelId}),new Proxy(e,{get:(e,t)=>"specificationVersion"===t?"v3":e[t]}))}function tS(e){return"v4"===e.specificationVersion?e:new Proxy("v2"===e.specificationVersion?tI(e):e,{get:(e,t)=>"specificationVersion"===t?"v4":e[t]})}function tC(e){if("string"==typeof e)return tE().languageModel(e);if(!["v4","v3","v2"].includes(e.specificationVersion))throw new e5({version:e.specificationVersion,provider:e.provider,modelId:e.modelId});return tx(e)}function tE(){var e,t=null!=(e=globalThis.AI_SDK_DEFAULT_PROVIDER)?e:F.gateway;if("specificationVersion"in t&&"v4"===t.specificationVersion)return t;let o="specificationVersion"in t&&"v3"===t.specificationVersion||"specificationVersion"in t&&"v3"===t.specificationVersion?t:{specificationVersion:"v3",languageModel:e=>t_(t.languageModel(e)),embeddingModel:e=>ty(t.textEmbeddingModel(e)),imageModel:e=>tv(t.imageModel(e)),transcriptionModel:t.transcriptionModel?e=>tI(t.transcriptionModel(e)):void 0,speechModel:t.speechModel?e=>tT(t.speechModel(e)):void 0,rerankingModel:void 0};return{specificationVersion:"v4",languageModel:e=>tx(o.languageModel(e)),embeddingModel:e=>{var t;return"v4"===(t=o.embeddingModel(e)).specificationVersion?t:new Proxy("v2"===t.specificationVersion?ty(t):t,{get:(e,t)=>"specificationVersion"===t?"v4":e[t]})},imageModel:e=>tb(o.imageModel(e)),transcriptionModel:o.transcriptionModel?e=>tS(o.transcriptionModel(e)):void 0,speechModel:o.speechModel?e=>tk(o.speechModel(e)):void 0,rerankingModel:o.rerankingModel?e=>{var t;return"v4"===(t=o.rerankingModel(e)).specificationVersion?t:new Proxy(t,{get:(e,t)=>"specificationVersion"===t?"v4":e[t]})}:void 0}}function tA(e){return e.map(e=>(function e(t){return t instanceof URL?new URL(t.href):Array.isArray(t)?t.map(t=>e(t)):t instanceof Uint8Array?new Uint8Array(t):t instanceof ArrayBuffer?t.slice(0):t instanceof Date?new Date(t):null!=t&&"object"==typeof t?Object.fromEntries(Object.entries(t).map(([t,o])=>[t,e(o)])):t})(e))}var tO="7.0.93",tM=async({url:e,maxBytes:t,abortSignal:o})=>{var r;let n=e.toString();try{let e=(0,B.withUserAgentSuffix)({},`ai-sdk/${tO}`,(0,B.getRuntimeEnvironmentUserAgent)()),a=await (0,B.fetchWithValidatedRedirects)({url:n,headers:e,abortSignal:o});if(!a.ok)throw await (0,B.cancelResponseBody)(a),new B.DownloadError({url:n,statusCode:a.status,statusText:a.statusText});return{data:await (0,B.readResponseWithSizeLimit)({response:a,url:n,maxBytes:null!=t?t:B.DEFAULT_MAX_DOWNLOAD_SIZE}),mediaType:null!=(r=a.headers.get("content-type"))?r:void 0}}catch(e){if(B.DownloadError.isInstance(e))throw e;throw new B.DownloadError({url:n,cause:e})}};function tj(e,t){if(void 0===e&&void 0===t)return;if(void 0===e)return t;if(void 0===t)return e;let o={...e};for(let r in t)if("__proto__"!==r&&"constructor"!==r&&"prototype"!==r&&Object.prototype.hasOwnProperty.call(t,r)){let n=t[r];if(void 0===n)continue;let a=r in e?e[r]:void 0,i=null!==n&&"object"==typeof n&&!Array.isArray(n)&&!(n instanceof Date)&&!(n instanceof RegExp),l=null!=a&&"object"==typeof a&&!Array.isArray(a)&&!(a instanceof Date)&&!(a instanceof RegExp);i&&l?o[r]=tj(a,n):o[r]=n}return o}function tR(e){try{let[t,o]=e.split(",");return{mediaType:t.split(";")[0].split(":")[1],base64Content:o}}catch(e){return{mediaType:void 0,base64Content:void 0}}}function tN(e){if("data:"===e.protocol){let{mediaType:t,base64Content:o}=tR(e.toString());if(null==t||null==o)throw new tr({content:e,message:`Invalid data URL format in content ${e.toString()}`});return{data:{type:"data",data:o},mediaType:t}}return{data:{type:"url",url:e},mediaType:void 0}}function tP(e){return e instanceof Uint8Array?{data:{type:"data",data:e},mediaType:void 0}:e instanceof ArrayBuffer||(0,B.isBuffer)(e)?{data:{type:"data",data:new Uint8Array(e)},mediaType:void 0}:{data:{type:"data",data:e},mediaType:void 0}}function t$(e){if(function(e){if("object"!=typeof e||null===e)return!1;let t=e.type;return"data"===t||"url"===t||"reference"===t||"text"===t}(e))switch(e.type){case"data":if("string"==typeof e.data&&e.data.startsWith("data:"))throw new tr({content:e.data,message:'Data URLs are not valid inline data. Pass them as { type: "url", url } instead.'});return tP(e.data);case"url":return tN(e.url);case"reference":return{data:{type:"reference",reference:e.reference},mediaType:void 0};case"text":return{data:{type:"text",text:e.text},mediaType:void 0}}if(e instanceof URL)return tN(e);if("string"==typeof e)try{return tN(new URL(e))}catch(t){return tP(e)}return(0,B.isProviderReference)(e)?{data:{type:"reference",reference:e},mediaType:void 0}:tP(e)}async function tq({prompt:e,supportedUrls:t,download:o=((e=tM)=>t=>Promise.all(t.map(async t=>t.isUrlSupportedByModel?null:await e(t))))(),provider:r}){let n=await tD(e.messages,o,t),a=new Map;for(let t of e.messages)if("assistant"===t.role&&Array.isArray(t.content))for(let e of t.content)"tool-approval-request"===e.type&&"approvalId"in e&&"toolCallId"in e&&a.set(e.approvalId,e.toolCallId);let i=new Set;for(let t of e.messages)if("tool"===t.role){for(let e of t.content)if("tool-approval-response"===e.type){let t=a.get(e.approvalId);t&&i.add(t)}}let l=[...null!=e.instructions?"string"==typeof e.instructions?[{role:"system",content:e.instructions}]:(0,B.asArray)(e.instructions).map(e=>({role:"system",content:e.content,providerOptions:e.providerOptions})):[],...e.messages.map(e=>(function({message:e,downloadedAssets:t,provider:o}){let r=[],n=e.role;switch(n){case"system":return{role:"system",content:e.content,providerOptions:e.providerOptions};case"user":{if("string"==typeof e.content)return{role:"user",content:[{type:"text",text:e.content}],providerOptions:e.providerOptions};let o={role:"user",content:e.content.map(e=>("image"===e.type&&r.push({type:"deprecated",setting:'"image" content part',message:'The "image" content part type is deprecated. Use a "file" part with mediaType: \'image\' (or a more specific image/* subtype) instead.'}),tL(e))).map(e=>tU(e,t)).filter(e=>"text"!==e.type||""!==e.text),providerOptions:e.providerOptions};return r.length>0&&tg({warnings:r}),o}case"assistant":{if("string"==typeof e.content)return{role:"assistant",content:[{type:"text",text:e.content}],providerOptions:e.providerOptions};let n={role:"assistant",content:e.content.filter(e=>"text"!==e.type||""!==e.text||null!=e.providerOptions).filter(e=>"tool-approval-request"!==e.type).map(e=>{let n=e.providerOptions;switch(e.type){case"custom":return{type:"custom",kind:e.kind,providerOptions:n};case"file":{let{data:t,mediaType:o}=t$(e.data);return{type:"file",data:t,filename:e.filename,mediaType:null!=o?o:e.mediaType,providerOptions:n}}case"reasoning":return{type:"reasoning",text:e.text,providerOptions:n};case"reasoning-file":{let{data:t,mediaType:o}=t$(e.data);if("data"!==t.type&&"url"!==t.type)throw Error(`Unsupported reasoning-file data type: ${t.type}`);return{type:"reasoning-file",data:t,mediaType:null!=o?o:e.mediaType,providerOptions:n}}case"text":return{type:"text",text:e.text,providerOptions:n};case"tool-call":return{type:"tool-call",toolCallId:e.toolCallId,toolName:e.toolName,input:e.input,providerExecuted:e.providerExecuted,providerOptions:n};case"tool-result":return{type:"tool-result",toolCallId:e.toolCallId,toolName:e.toolName,output:tF({output:e.output,provider:o,warnings:r,downloadedAssets:t}),providerOptions:n}}}),providerOptions:e.providerOptions};return r.length>0&&tg({warnings:r}),n}case"tool":{let n={role:"tool",content:e.content.filter(e=>"tool-approval-response"!==e.type||e.providerExecuted).map(e=>{switch(e.type){case"tool-result":return{type:"tool-result",toolCallId:e.toolCallId,toolName:e.toolName,output:tF({output:e.output,provider:o,warnings:r,downloadedAssets:t}),providerOptions:e.providerOptions};case"tool-approval-response":return{type:"tool-approval-response",approvalId:e.approvalId,approved:e.approved,reason:e.reason}}}),providerOptions:e.providerOptions};return r.length>0&&tg({warnings:r}),n}default:throw new tl({role:n})}})({message:e,downloadedAssets:n,provider:r}))],s=[];for(let e of l){if("tool"!==e.role){s.push(e);continue}let t=s.at(-1);if((null==t?void 0:t.role)==="tool"){let o=t.content.at(-1);null!=o&&null!=t.providerOptions&&(o.providerOptions=tj(t.providerOptions,o.providerOptions)),t.content.push(...e.content),t.providerOptions=e.providerOptions}else s.push(e)}let u=new Set;for(let e of s)switch(e.role){case"assistant":for(let t of e.content)"tool-call"!==t.type||t.providerExecuted||u.add(t.toolCallId);break;case"tool":for(let t of e.content)"tool-result"===t.type&&u.delete(t.toolCallId);break;case"user":case"system":for(let e of i)u.delete(e);if(u.size>0)throw new ey({toolCallIds:Array.from(u)})}for(let e of i)u.delete(e);if(u.size>0)throw new ey({toolCallIds:Array.from(u)});return s.filter(e=>"tool"!==e.role||e.content.length>0)}function tL(e){var t;return"image"!==e.type?e:{type:"file",data:e.image,mediaType:null!=(t=e.mediaType)?t:"image",providerOptions:e.providerOptions}}async function tD(e,t,o){let r=[];for(let t of e){if("user"===t.role&&Array.isArray(t.content))for(let e of t.content){let t=tL(e);"file"===t.type&&r.push(t)}if("tool"===t.role){for(let e of t.content)if("tool-result"===e.type&&"content"===e.output.type)for(let t of e.output.value)"file"===t.type&&r.push(t)}if("assistant"===t.role&&Array.isArray(t.content)){for(let e of t.content)if("tool-result"===e.type&&"content"===e.output.type)for(let t of e.output.value)"file"===t.type&&r.push(t)}}let n=r.map(e=>{let t=e.mediaType,{data:o}=t$(e.data);return{mediaType:t,data:o}}).filter(e=>"url"===e.data.type).map(e=>({url:e.data.url,isUrlSupportedByModel:null!=e.mediaType&&(0,B.isUrlSupported)({url:e.data.url.toString(),mediaType:e.mediaType,supportedUrls:o})}));return Object.fromEntries((await t(n)).map((e,t)=>null==e?null:[n[t].url.toString(),{data:e.data,mediaType:e.mediaType}]).filter(e=>null!=e))}function tU(e,t){if("text"===e.type)return{type:"text",text:e.text,providerOptions:e.providerOptions};let{data:o,mediaType:r}=t$(e.data),n=null!=r?r:e.mediaType,a=o;if("url"===a.type){let e=t[a.url.toString()];e&&(a={type:"data",data:e.data},null==e.mediaType||null!=n&&(0,B.isFullMediaType)(n)||(n=e.mediaType))}if("data"===a.type&&(a.data instanceof Uint8Array||"string"==typeof a.data)){let e=(0,B.detectMediaType)({data:a.data,topLevelType:"image"});null!=e&&(n=e)}if(null==n)throw Error("Media type is missing for file part");return{type:"file",mediaType:n,filename:e.filename,data:a,providerOptions:e.providerOptions}}function tF({output:e,provider:t,warnings:o=[],downloadedAssets:r}){return"content"!==e.type?e:{type:"content",value:e.value.map(e=>{var n;switch(e.type){case"file":{let t=tU(e,r);if("file"!==t.type)throw Error("Expected tool result file content to convert to file.");return t}case"file-data":return o.push({type:"deprecated",setting:'"tool-result" content of type "file-data"',message:'The "file-data" type for tool result content is deprecated. Use the "file" type with mediaType and { type: \'data\', data } instead.'}),{type:"file",data:{type:"data",data:e.data},filename:e.filename,mediaType:e.mediaType,providerOptions:e.providerOptions};case"file-url":{let t=null!=(n=e.mediaType)?n:function(e,t="application/octet-stream"){var o;try{let t=new URL(e).pathname,r=null==(o=t.split(".").pop())?void 0:o.toLowerCase();if(r&&Object.hasOwn(tH,r))return tH[r]}catch(e){}return t}(e.url),r='The "file-url" type for tool result content is deprecated. Use the "file" type with mediaType and { type: \'url\', url } instead.';if(!e.mediaType){let o="application/octet-stream"===t?"Unable to infer media type from URL. Defaulting to 'application/octet-stream'.":`Inferred media type '${t}' from URL.`;r=`The "file-url" tool result content part with URL "${e.url}" is missing a "mediaType". ${o} ${r}`}return o.push({type:"deprecated",setting:'"tool-result" content of type "file-url"',message:r}),{type:"file",data:{type:"url",url:new URL(e.url)},mediaType:t,providerOptions:e.providerOptions}}case"file-id":return o.push({type:"deprecated",setting:'"tool-result" content of type "file-id"',message:'The "file-id" type for tool result content is deprecated. Use the "file" type with mediaType and { type: \'reference\', reference } instead.'}),{type:"file",data:{type:"reference",reference:tB({fileId:e.fileId,provider:t})},mediaType:"application",providerOptions:e.providerOptions};case"file-reference":return o.push({type:"deprecated",setting:'"tool-result" content of type "file-reference"',message:'The "file-reference" type for tool result content is deprecated. Use the "file" type with mediaType and { type: \'reference\', reference } instead.'}),{type:"file",data:{type:"reference",reference:e.providerReference},mediaType:"application",providerOptions:e.providerOptions};case"image-data":return o.push({type:"deprecated",setting:'"tool-result" content of type "image-data"',message:'The "image-data" type for tool result content is deprecated. Use the "file" type with mediaType and { type: \'data\', data } instead.'}),{type:"file",data:{type:"data",data:e.data},mediaType:e.mediaType,providerOptions:e.providerOptions};case"image-url":return o.push({type:"deprecated",setting:'"tool-result" content of type "image-url"',message:"The \"image-url\" type for tool result content is deprecated. Use the \"file\" type with mediaType 'image' (or a specific image/* subtype) and { type: 'url', url } instead."}),{type:"file",data:{type:"url",url:new URL(e.url)},mediaType:"image",providerOptions:e.providerOptions};case"image-file-id":return o.push({type:"deprecated",setting:'"tool-result" content of type "image-file-id"',message:'The "image-file-id" type for tool result content is deprecated. Use the "file" type with mediaType and { type: \'reference\', reference } instead.'}),{type:"file",data:{type:"reference",reference:tB({fileId:e.fileId,provider:t})},mediaType:"image",providerOptions:e.providerOptions};case"image-file-reference":return o.push({type:"deprecated",setting:'"tool-result" content of type "image-file-reference"',message:'The "image-file-reference" type for tool result content is deprecated. Use the "file" type with mediaType and { type: \'reference\', reference } instead.'}),{type:"file",data:{type:"reference",reference:e.providerReference},mediaType:"image",providerOptions:e.providerOptions};default:return e}})}}function tB({fileId:e,provider:t}){if("object"==typeof e)return e;if(null==t)throw Error("Cannot convert string fileId to provider reference without a provider ID. Use a Record<string, string> fileId or switch to the file-reference type.");return{[t]:e}}var tH={jpg:"image/jpeg",jpeg:"image/jpeg",png:"image/png",gif:"image/gif",webp:"image/webp",svg:"image/svg+xml",avif:"image/avif",heic:"image/heic",bmp:"image/bmp",tiff:"image/tiff",tif:"image/tiff",pdf:"application/pdf",mp4:"video/mp4",webm:"video/webm",mp3:"audio/mpeg",wav:"audio/wav",ogg:"audio/ogg"};async function tW({toolCallId:e,input:t,output:o,tool:r,errorMode:n}){return"text"===n?{type:"error-text",value:(0,H.getErrorMessage)(o)}:"json"===n?{type:"error-json",value:tV(o)}:(null==r?void 0:r.toModelOutput)?await r.toModelOutput({toolCallId:e,input:t,output:o}):"string"==typeof o?{type:"text",value:o}:{type:"json",value:tV(o)}}function tV(e){return void 0===e?null:e}function tJ({maxOutputTokens:e,temperature:t,topP:o,topK:r,presencePenalty:n,frequencyPenalty:a,seed:i,stopSequences:l,reasoning:s}){if(null!=e){if(!Number.isInteger(e))throw new Y({parameter:"maxOutputTokens",value:e,message:"maxOutputTokens must be an integer"});if(e<1)throw new Y({parameter:"maxOutputTokens",value:e,message:"maxOutputTokens must be >= 1"})}if(null!=t&&"number"!=typeof t)throw new Y({parameter:"temperature",value:t,message:"temperature must be a number"});if(null!=o&&"number"!=typeof o)throw new Y({parameter:"topP",value:o,message:"topP must be a number"});if(null!=r&&"number"!=typeof r)throw new Y({parameter:"topK",value:r,message:"topK must be a number"});if(null!=n&&"number"!=typeof n)throw new Y({parameter:"presencePenalty",value:n,message:"presencePenalty must be a number"});if(null!=a&&"number"!=typeof a)throw new Y({parameter:"frequencyPenalty",value:a,message:"frequencyPenalty must be a number"});if(null!=i&&!Number.isInteger(i))throw new Y({parameter:"seed",value:i,message:"seed must be an integer"});return{maxOutputTokens:e,temperature:t,topP:o,topK:r,presencePenalty:n,frequencyPenalty:a,stopSequences:l,seed:i,reasoning:s}}function tK({toolChoice:e}){return null==e?{type:"auto"}:"string"==typeof e?{type:e}:{type:"tool",toolName:e.toolName}}async function tG({tools:e,toolOrder:t,toolsContext:o={},experimental_sandbox:r}){if(!(null!=e&&Object.keys(e).length>0))return;let n=[];for(let[a,i]of function({tools:e,toolOrder:t}){if(null==t)return Object.entries(e);let o=Object.entries(e);return[...o.filter(([e])=>t.includes(e)).sort(([e],[o])=>t.indexOf(e)-t.indexOf(o)),...o.filter(([e])=>!t.includes(e)).sort(([e],[t])=>e<t?-1:+(e>t))]}({tools:e,toolOrder:t})){let e=i.type;switch(e){case void 0:case"dynamic":case"function":{let e=function({tool:e,toolName:t,toolsContext:o,experimental_sandbox:r}){return void 0===e.description?void 0:"string"==typeof e.description?e.description:e.description({context:o[t],experimental_sandbox:r})}({tool:i,toolName:a,toolsContext:o,experimental_sandbox:r}),t=i.providerOptions,l=i.inputExamples,s=i.strict;n.push({type:"function",name:a,inputSchema:await (0,B.asSchema)(i.inputSchema).jsonSchema,...null!=e?{description:e}:{},...null!=l?{inputExamples:l}:{},...null!=t?{providerOptions:t}:{},...null!=s?{strict:s}:{}});break}case"provider":n.push({type:"provider",name:a,id:i.id,args:i.args});break;default:throw Error(`Unsupported tool type: ${e}`)}}return n}function tY(e){if(null!=e)return"number"==typeof e?e:e.totalMs}function tZ(e){if(null!=e&&"number"!=typeof e)return e.stepMs}function tX(e){if(null!=e&&"number"!=typeof e)return e.firstChunkMs}function tQ(e){if(null!=e&&"number"!=typeof e)return e.chunkMs}var t0={array:W.array,boolean:W.boolean,custom:W.custom,discriminatedUnion:W.discriminatedUnion,enum:W.enum,instanceof:W.instanceof,lazy:W.lazy,literal:W.literal,looseObject:W.looseObject,never:W.never,null:W.null,number:W.number,object:W.object,record:W.record,string:W.string,union:W.union,unknown:W.unknown},t1=t0.lazy(()=>t0.union([t0.null(),t0.string(),t0.number(),t0.boolean(),t0.record(t0.string(),t1.optional()),t0.array(t1)])),t2=t0.record(t0.string(),t0.record(t0.string(),t1.optional())),t4=t0.union([t0.string(),t0.instanceof(Uint8Array),t0.instanceof(ArrayBuffer),t0.custom(B.isBuffer,{message:"Must be a Buffer"})]),t3=t0.record(t0.string(),t0.string()),t5=t0.object({type:t0.literal("text"),text:t0.string(),providerOptions:t2.optional()}),t6=t0.object({type:t0.literal("image"),image:t0.union([t4,t0.instanceof(URL),t3]),mediaType:t0.string().optional(),providerOptions:t2.optional()}),t9=t0.discriminatedUnion("type",[t0.object({type:t0.literal("data"),data:t4}),t0.object({type:t0.literal("url"),url:t0.instanceof(URL)}),t0.object({type:t0.literal("reference"),reference:t3}),t0.object({type:t0.literal("text"),text:t0.string()})]),t8=t0.discriminatedUnion("type",[t0.object({type:t0.literal("data"),data:t4}),t0.object({type:t0.literal("url"),url:t0.instanceof(URL)})]),t7=t0.object({type:t0.literal("file"),data:t0.union([t9,t4,t0.instanceof(URL),t3]),filename:t0.string().optional(),mediaType:t0.string(),providerOptions:t2.optional()}),oe=t0.object({type:t0.literal("reasoning"),text:t0.string(),providerOptions:t2.optional()}),ot=t0.object({type:t0.literal("custom"),kind:t0.string().transform(e=>e),providerOptions:t2.optional()}),oo=t0.object({type:t0.literal("reasoning-file"),data:t0.union([t8,t4,t0.instanceof(URL)]),mediaType:t0.string(),providerOptions:t2.optional()}),or=t0.object({type:t0.literal("tool-call"),toolCallId:t0.string(),toolName:t0.string(),input:t0.unknown(),providerOptions:t2.optional(),providerExecuted:t0.boolean().optional()}),on=t0.discriminatedUnion("type",[t0.object({type:t0.literal("text"),value:t0.string(),providerOptions:t2.optional()}),t0.object({type:t0.literal("json"),value:t1,providerOptions:t2.optional()}),t0.object({type:t0.literal("execution-denied"),reason:t0.string().optional(),providerOptions:t2.optional()}),t0.object({type:t0.literal("error-text"),value:t0.string(),providerOptions:t2.optional()}),t0.object({type:t0.literal("error-json"),value:t1,providerOptions:t2.optional()}),t0.object({type:t0.literal("content"),value:t0.array(t0.union([t0.object({type:t0.literal("text"),text:t0.string(),providerOptions:t2.optional()}),t0.object({type:t0.literal("file"),data:t9,mediaType:t0.string(),filename:t0.string().optional(),providerOptions:t2.optional()}),t0.object({type:t0.literal("file-data"),data:t0.string(),mediaType:t0.string(),filename:t0.string().optional(),providerOptions:t2.optional()}),t0.object({type:t0.literal("file-url"),url:t0.string(),mediaType:t0.string().optional(),providerOptions:t2.optional()}),t0.object({type:t0.literal("file-id"),fileId:t0.union([t0.string(),t0.record(t0.string(),t0.string())]),providerOptions:t2.optional()}),t0.object({type:t0.literal("file-reference"),providerReference:t0.record(t0.string(),t0.string()),providerOptions:t2.optional()}),t0.object({type:t0.literal("image-data"),data:t0.string(),mediaType:t0.string(),providerOptions:t2.optional()}),t0.object({type:t0.literal("image-url"),url:t0.string(),providerOptions:t2.optional()}),t0.object({type:t0.literal("image-file-id"),fileId:t0.union([t0.string(),t0.record(t0.string(),t0.string())]),providerOptions:t2.optional()}),t0.object({type:t0.literal("image-file-reference"),providerReference:t0.record(t0.string(),t0.string()),providerOptions:t2.optional()}),t0.object({type:t0.literal("custom"),providerOptions:t2.optional()})]))})]),oa=t0.object({type:t0.literal("tool-result"),toolCallId:t0.string(),toolName:t0.string(),output:on,providerOptions:t2.optional()}),oi=t0.object({type:t0.literal("tool-approval-request"),approvalId:t0.string(),toolCallId:t0.string(),reason:t0.string().optional()}),ol=t0.object({type:t0.literal("tool-approval-response"),approvalId:t0.string(),approved:t0.boolean(),reason:t0.string().optional()}),os=t0.object({role:t0.literal("system"),content:t0.string(),providerOptions:t2.optional()}),ou=t0.object({role:t0.literal("user"),content:t0.union([t0.string(),t0.array(t0.union([t5,t6,t7]))]),providerOptions:t2.optional()}),od=t0.object({role:t0.literal("assistant"),content:t0.union([t0.string(),t0.array(t0.union([t5,ot,t7,oe,oo,or,oa,oi]))]),providerOptions:t2.optional()}),oc=t0.object({role:t0.literal("tool"),content:t0.array(t0.union([oa,ol])),providerOptions:t2.optional()}),op=t0.union([os,ou,od,oc]);async function oh({allowSystemInMessages:e=!1,system:t,instructions:o=t,prompt:r,messages:n}){if(null==r&&null==n)throw new H.InvalidPromptError({prompt:r,message:"prompt or messages must be defined"});if(null!=r&&null!=n)throw new H.InvalidPromptError({prompt:r,message:"prompt and messages cannot be defined at the same time"});if("string"!=typeof o&&!(0,B.asArray)(o).every(e=>"system"===e.role))throw new H.InvalidPromptError({prompt:r,message:"instructions must be a string, SystemModelMessage, or array of SystemModelMessage"});if(null!=r&&"string"==typeof r)n=[{role:"user",content:r}];else if(null!=r&&Array.isArray(r))n=r;else if(null==n)throw new H.InvalidPromptError({prompt:r,message:"prompt or messages must be defined"});if(0===n.length)throw new H.InvalidPromptError({prompt:r,message:"messages must not be empty"});if(!e&&n.some(e=>"system"===e.role))throw new H.InvalidPromptError({prompt:r,message:"System messages are not allowed in the prompt or messages fields. Use the instructions option instead."});let a=await (0,B.safeValidateTypes)({value:n,schema:t0.array(op)});if(!a.success)throw new H.InvalidPromptError({prompt:r,message:"The messages do not match the ModelMessage[] schema.",cause:a.error});return{messages:n,instructions:o}}function om(e){if(!F.GatewayAuthenticationError.isInstance(e))return e;let t="https://ai-sdk.dev/unauthenticated-ai-gateway";return(null==process?void 0:"production")==="production"?new H.AISDKError({name:"GatewayError",message:`Unauthenticated. Configure AI_GATEWAY_API_KEY or use a provider module. Learn more: ${t}`}):Object.assign(Error(`\x1b[1m\x1b[31mUnauthenticated request to AI Gateway.\x1b[0m
|
|
100
|
+
|
|
101
|
+
To authenticate, set the \x1b[33mAI_GATEWAY_API_KEY\x1b[0m environment variable with your API key.
|
|
102
|
+
|
|
103
|
+
Alternatively, you can use a provider module instead of the AI Gateway.
|
|
104
|
+
|
|
105
|
+
Learn more: \x1b[34m${t}\x1b[0m
|
|
106
|
+
|
|
107
|
+
`),{name:"GatewayAuthenticationError"})}function og(e){return{inputTokens:e.inputTokens.total,inputTokenDetails:{noCacheTokens:e.inputTokens.noCache,cacheReadTokens:e.inputTokens.cacheRead,cacheWriteTokens:e.inputTokens.cacheWrite},outputTokens:e.outputTokens.total,outputTokenDetails:{textTokens:e.outputTokens.text,reasoningTokens:e.outputTokens.reasoning},totalTokens:ov(e.inputTokens.total,e.outputTokens.total),raw:e.raw}}function of(){return{inputTokens:void 0,inputTokenDetails:{noCacheTokens:void 0,cacheReadTokens:void 0,cacheWriteTokens:void 0},outputTokens:void 0,outputTokenDetails:{textTokens:void 0,reasoningTokens:void 0},totalTokens:void 0,raw:void 0}}function oy(e,t){var o,r,n,a,i,l,s,u,d,c;return{inputTokens:ov(e.inputTokens,t.inputTokens),inputTokenDetails:{noCacheTokens:ov(null==(o=e.inputTokenDetails)?void 0:o.noCacheTokens,null==(r=t.inputTokenDetails)?void 0:r.noCacheTokens),cacheReadTokens:ov(null==(n=e.inputTokenDetails)?void 0:n.cacheReadTokens,null==(a=t.inputTokenDetails)?void 0:a.cacheReadTokens),cacheWriteTokens:ov(null==(i=e.inputTokenDetails)?void 0:i.cacheWriteTokens,null==(l=t.inputTokenDetails)?void 0:l.cacheWriteTokens)},outputTokens:ov(e.outputTokens,t.outputTokens),outputTokenDetails:{textTokens:ov(null==(s=e.outputTokenDetails)?void 0:s.textTokens,null==(u=t.outputTokenDetails)?void 0:u.textTokens),reasoningTokens:ov(null==(d=e.outputTokenDetails)?void 0:d.reasoningTokens,null==(c=t.outputTokenDetails)?void 0:c.reasoningTokens)},totalTokens:ov(e.totalTokens,t.totalTokens)}}function ov(e,t){return null==e&&null==t?void 0:(null!=e?e:0)+(null!=t?t:0)}function ob(e,t){return null!=e&&Object.hasOwn(e,t)?e[t]:void 0}function o_(...e){let t=(0,B.filterNullable)(...e).map(e=>"number"==typeof e?AbortSignal.timeout(e):e);return 0===t.length?void 0:1===t.length?t[0]:AbortSignal.any(t)}function ow(){var e,t;return null!=(t=null==(e=null==globalThis?void 0:globalThis.performance)?void 0:e.now())?t:Date.now()}async function oz(e){await Promise.all((0,B.asArray)(e.callbacks).map(async t=>{try{await (null==t?void 0:t(e.event))}catch(e){}}))}function ox({maxRetries:e,abortSignal:t,parameter:o="maxRetries",defaultMaxRetries:r=2}){if(null!=e){if(!Number.isInteger(e))throw new Y({parameter:o,value:e,message:`${o} must be an integer`});if(e<0)throw new Y({parameter:o,value:e,message:`${o} must be >= 0`})}let n=null!=e?e:r;return{maxRetries:n,retry:(({maxRetries:e=2,initialDelayInMs:t=2e3,backoffFactor:o=2,abortSignal:r}={})=>(0,B.retryWithExponentialBackoff)({maxRetries:e,initialDelayInMs:t,backoffFactor:o,abortSignal:r,shouldRetry:e=>e instanceof Error&&(H.APICallError.isInstance(e)&&!0===e.isRetryable||F.GatewayError.isInstance(e)&&!0===e.isRetryable),getDelayInMs:({error:e,exponentialBackoffDelay:t})=>(function({error:e,exponentialBackoffDelay:t}){let o,r=H.APICallError.isInstance(e)?e.responseHeaders:H.APICallError.isInstance(e.cause)?e.cause.responseHeaders:void 0;if(!r)return t;let n=r["retry-after-ms"];if(n){let e=parseFloat(n);Number.isNaN(e)||(o=e)}let a=r["retry-after"];if(a&&void 0===o){let e=parseFloat(a);o=Number.isNaN(e)?Date.parse(a)-Date.now():1e3*e}return null!=o&&!Number.isNaN(o)&&0<=o&&(o<6e4||o<t)?o:t})({error:e,exponentialBackoffDelay:t}),createRetryError:({message:e,reason:t,errors:o})=>new tp({message:e,reason:t,errors:o})}))({maxRetries:n,abortSignal:t})}}function oT({abortController:e,label:t,timeoutMs:o}){if(null!=e&&null!=o)return setTimeout(()=>e.abort(new DOMException(`${t} timeout of ${o}ms exceeded`,"TimeoutError")),o)}function ok({tokens:e,durationMs:t}){let o=1e3*(null!=e?e:0)/(null!=t?t:0);return Number.isFinite(o)?o:0}function oI({messages:e}){let t=e.at(-1);if((null==t?void 0:t.role)!="tool")return{approvedToolApprovals:[],deniedToolApprovals:[]};let o=Object.create(null);for(let t of e)if("assistant"===t.role&&"string"!=typeof t.content)for(let e of t.content)"tool-call"===e.type&&(o[e.toolCallId]=e);let r=Object.create(null);for(let t of e)if("assistant"===t.role&&"string"!=typeof t.content)for(let e of t.content)"tool-approval-request"===e.type&&(r[e.approvalId]=e);let n=Object.create(null);for(let e of t.content)"tool-result"===e.type&&(n[e.toolCallId]=e);let a=[],i=[];for(let e of t.content.filter(e=>"tool-approval-response"===e.type)){let t=r[e.approvalId];if(null==t)throw new et({approvalId:e.approvalId});let l=n[t.toolCallId];if(null!=l&&(e.approved||"execution-denied"!==l.output.type))continue;let s=o[t.toolCallId];if(null==s)throw new eh({toolCallId:t.toolCallId,approvalId:t.approvalId});let u={approvalRequest:t,approvalResponse:e,toolCall:s,...null!=l?{existingToolResult:l}:{}};e.approved?a.push(u):i.push(u)}return{approvedToolApprovals:a,deniedToolApprovals:i}}var oS=class{constructor({data:e,mediaType:t,providerMetadata:o}){const r=e instanceof Uint8Array;this.base64Data=r?void 0:e,this.uint8ArrayData=r?e:void 0,this.mediaType=t,this.providerMetadata=o}get base64(){return null==this.base64Data&&(this.base64Data=(0,B.convertUint8ArrayToBase64)(this.uint8ArrayData)),this.base64Data}get uint8Array(){return null==this.uint8ArrayData&&(this.uint8ArrayData=(0,B.convertBase64ToUint8Array)(this.base64Data)),this.uint8ArrayData}},oC=class extends oS{constructor(e){super(e),this.type="file"}};function oE({content:e,toolCalls:t,toolOutputs:o,toolApprovalRequests:r,toolApprovalResponses:n,tools:a}){let i=[],l=[],s=[],u=new Set(n.map(e=>e.toolCall.toolCallId));for(let o of e)switch(o.type){case"text":case"reasoning":case"custom":case"source":i.push(o);break;case"file":case"reasoning-file":i.push({type:o.type,file:new oS({data:"data"===o.data.type?o.data.data:o.data.url.toString(),mediaType:o.mediaType}),...null!=o.providerMetadata?{providerMetadata:o.providerMetadata}:{}});break;case"tool-call":{let e=t.find(e=>e.toolCallId===o.toolCallId);if(null==e)throw Error(`Tool call ${o.toolCallId} not found.`);i.push(e);break}case"tool-result":{let e=t.find(e=>e.toolCallId===o.toolCallId);if(null==e){let e=ob(a,o.toolName);if(!((null==e?void 0:e.type)==="provider"&&e.supportsDeferredResults))throw Error(`Tool call ${o.toolCallId} not found.`);o.isError?i.push({type:"tool-error",toolCallId:o.toolCallId,toolName:o.toolName,input:void 0,error:o.result,providerExecuted:!0,dynamic:o.dynamic,...null!=o.providerMetadata?{providerMetadata:o.providerMetadata}:{},...(null==e?void 0:e.metadata)!=null?{toolMetadata:e.metadata}:{}}):i.push({type:"tool-result",toolCallId:o.toolCallId,toolName:o.toolName,input:void 0,output:o.result,providerExecuted:!0,dynamic:o.dynamic,...null!=o.providerMetadata?{providerMetadata:o.providerMetadata}:{},...(null==e?void 0:e.metadata)!=null?{toolMetadata:e.metadata}:{}});break}o.isError?i.push({type:"tool-error",toolCallId:o.toolCallId,toolName:o.toolName,input:e.input,error:o.result,providerExecuted:!0,dynamic:e.dynamic,...null!=o.providerMetadata?{providerMetadata:o.providerMetadata}:{},...null!=e.toolMetadata?{toolMetadata:e.toolMetadata}:{}}):i.push({type:"tool-result",toolCallId:o.toolCallId,toolName:o.toolName,input:e.input,output:o.result,providerExecuted:!0,dynamic:e.dynamic,...null!=o.providerMetadata?{providerMetadata:o.providerMetadata}:{},...null!=e.toolMetadata?{toolMetadata:e.toolMetadata}:{}});break}case"tool-approval-request":{let e=t.find(e=>e.toolCallId===o.toolCallId);if(null==e)throw new eh({toolCallId:o.toolCallId,approvalId:o.approvalId});i.push({type:"tool-approval-request",approvalId:o.approvalId,toolCall:e})}}for(let e of o)u.has(e.toolCallId)?l.push(e):s.push(e);return[...i,...s,...r,...n,...l]}async function oA({toolName:e,context:t,contextSchema:o}){return null==o?t:await (0,B.validateTypes)({value:t,schema:o,context:{field:"tool context",entityName:e}})}async function oO({toolCall:e,tools:t,toolsContext:o,callId:r,messages:n,abortSignal:a,timeout:i,experimental_sandbox:l,onPreliminaryToolResult:s,onToolExecutionStart:u,onToolExecutionEnd:d,executeToolInTelemetryContext:c=async({execute:e})=>await e(),runInTracingChannelSpan:p=async({execute:e})=>await e()}){let{toolName:h,toolCallId:m,input:g}=e,f=ob(t,h);if(!(0,B.isExecutableTool)(f))return;let y=await oA({toolName:h,context:ob(o,h),contextSchema:f.contextSchema}),v={toolCall:e,messages:n,toolContext:y},b={callId:r,...v};return await p({type:"executeTool",event:b,execute:async()=>{let t;await oz({event:b,callbacks:u});let o=o_(a,function(e,t){var o,r;if(null!=e&&"number"!=typeof e)return null!=(r=null==(o=e.tools)?void 0:o[`${t}Ms`])?r:e.toolMs}(i,h)),p=0;try{await c({callId:r,toolCallId:m,...v,execute:async()=>{let r=ow();try{for await(let r of(0,B.executeTool)({tool:f,input:g,options:{toolCallId:m,messages:n,abortSignal:o,context:y,experimental_sandbox:l}}))"preliminary"===r.type?null==s||s({...e,type:"tool-result",output:r.output,preliminary:!0}):t=r.output}finally{p=ow()-r}}})}catch(o){let t={type:"tool-error",toolCallId:m,toolName:h,input:g,error:o,dynamic:"dynamic"===f.type,...null!=e.providerMetadata?{providerMetadata:e.providerMetadata}:{},...null!=e.toolMetadata?{toolMetadata:e.toolMetadata}:{}};return await oz({event:{...b,toolOutput:t,toolExecutionMs:p},callbacks:d}),{output:t,toolExecutionMs:p}}let _={type:"tool-result",toolCallId:m,toolName:h,input:g,output:t,dynamic:"dynamic"===f.type,...null!=e.providerMetadata?{providerMetadata:e.providerMetadata}:{},...null!=e.toolMetadata?{toolMetadata:e.toolMetadata}:{}};return await oz({event:{...b,toolOutput:_,toolExecutionMs:p},callbacks:d}),{output:_,toolExecutionMs:p}}})}function oM({tools:e,activeTools:t}){return null==e||null==t?e:Object.fromEntries(Object.entries(e).filter(([e])=>t.includes(e)))}function oj(e){return"stop"===e||"tool-calls"===e}var oR={},oN={array:()=>oD,choice:()=>oB,json:()=>oH,object:()=>oL,text:()=>oq};for(var oP in oN)V(oR,oP,{get:oN[oP],enumerable:!0});async function o$(e){if(void 0===e)return{value:void 0,state:"undefined-input"};let t=await (0,B.safeParseJSON)({text:e});return t.success?{value:t.value,state:"successful-parse"}:(t=await (0,B.safeParseJSON)({text:function(e){let t=["ROOT"],o=-1,r=null,n=0;function a(e,n,a){switch(e){case'"':o=n,t.pop(),t.push(a),t.push("INSIDE_STRING");break;case"f":case"t":case"n":o=n,r=n,t.pop(),t.push(a),t.push("INSIDE_LITERAL");break;case"-":t.pop(),t.push(a),t.push("INSIDE_NUMBER");break;case"0":case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":o=n,t.pop(),t.push(a),t.push("INSIDE_NUMBER");break;case"{":o=n,t.pop(),t.push(a),t.push("INSIDE_OBJECT_START");break;case"[":o=n,t.pop(),t.push(a),t.push("INSIDE_ARRAY_START")}}function i(e,r){switch(e){case",":t.pop(),t.push("INSIDE_OBJECT_AFTER_COMMA");break;case"}":o=r,t.pop()}}function l(e,r){switch(e){case",":t.pop(),t.push("INSIDE_ARRAY_AFTER_COMMA");break;case"]":o=r,t.pop()}}for(let s=0;s<e.length;s++){let u=e[s];switch(t[t.length-1]){case"ROOT":a(u,s,"FINISH");break;case"INSIDE_OBJECT_START":switch(u){case'"':t.pop(),t.push("INSIDE_OBJECT_KEY");break;case"}":o=s,t.pop()}break;case"INSIDE_OBJECT_AFTER_COMMA":'"'===u&&(t.pop(),t.push("INSIDE_OBJECT_KEY"));break;case"INSIDE_OBJECT_KEY":'"'===u&&(t.pop(),t.push("INSIDE_OBJECT_AFTER_KEY"));break;case"INSIDE_OBJECT_AFTER_KEY":":"===u&&(t.pop(),t.push("INSIDE_OBJECT_BEFORE_VALUE"));break;case"INSIDE_OBJECT_BEFORE_VALUE":a(u,s,"INSIDE_OBJECT_AFTER_VALUE");break;case"INSIDE_OBJECT_AFTER_VALUE":i(u,s);break;case"INSIDE_STRING":switch(u){case'"':t.pop(),o=s;break;case"\\":t.push("INSIDE_STRING_ESCAPE");break;default:o=s}break;case"INSIDE_ARRAY_START":"]"===u?(o=s,t.pop()):(o=s,a(u,s,"INSIDE_ARRAY_AFTER_VALUE"));break;case"INSIDE_ARRAY_AFTER_VALUE":switch(u){case",":t.pop(),t.push("INSIDE_ARRAY_AFTER_COMMA");break;case"]":o=s,t.pop();break;default:o=s}break;case"INSIDE_ARRAY_AFTER_COMMA":a(u,s,"INSIDE_ARRAY_AFTER_VALUE");break;case"INSIDE_STRING_ESCAPE":t.pop(),"u"===u?(n=0,t.push("INSIDE_STRING_UNICODE_ESCAPE")):o=s;break;case"INSIDE_STRING_UNICODE_ESCAPE":(u>="0"&&u<="9"||u>="A"&&u<="F"||u>="a"&&u<="f")&&4==++n&&(t.pop(),o=s);break;case"INSIDE_NUMBER":switch(u){case"0":case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":o=s;break;case"e":case"E":case"-":case".":break;case",":t.pop(),"INSIDE_ARRAY_AFTER_VALUE"===t[t.length-1]&&l(u,s),"INSIDE_OBJECT_AFTER_VALUE"===t[t.length-1]&&i(u,s);break;case"}":t.pop(),"INSIDE_OBJECT_AFTER_VALUE"===t[t.length-1]&&i(u,s);break;case"]":t.pop(),"INSIDE_ARRAY_AFTER_VALUE"===t[t.length-1]&&l(u,s);break;default:t.pop()}break;case"INSIDE_LITERAL":{let n=e.substring(r,s+1);"false".startsWith(n)||"true".startsWith(n)||"null".startsWith(n)?o=s:(t.pop(),"INSIDE_OBJECT_AFTER_VALUE"===t[t.length-1]?i(u,s):"INSIDE_ARRAY_AFTER_VALUE"===t[t.length-1]&&l(u,s))}}}let s=e.slice(0,o+1);for(let o=t.length-1;o>=0;o--)switch(t[o]){case"INSIDE_STRING":s+='"';break;case"INSIDE_OBJECT_KEY":case"INSIDE_OBJECT_AFTER_KEY":case"INSIDE_OBJECT_AFTER_COMMA":case"INSIDE_OBJECT_START":case"INSIDE_OBJECT_BEFORE_VALUE":case"INSIDE_OBJECT_AFTER_VALUE":s+="}";break;case"INSIDE_ARRAY_START":case"INSIDE_ARRAY_AFTER_COMMA":case"INSIDE_ARRAY_AFTER_VALUE":s+="]";break;case"INSIDE_LITERAL":{let t=e.substring(r,e.length);"true".startsWith(t)?s+="true".slice(t.length):"false".startsWith(t)?s+="false".slice(t.length):"null".startsWith(t)&&(s+="null".slice(t.length))}}return s}(e)})).success?{value:t.value,state:"repaired-parse"}:{value:void 0,state:"failed-parse"}}var oq=()=>({name:"text",responseFormat:Promise.resolve({type:"text"}),parseCompleteOutput:async({text:e})=>e,parsePartialOutput:async({text:e})=>({partial:e}),createElementStreamTransform(){}}),oL=({schema:e,name:t,description:o})=>{let r=(0,B.asSchema)(e);return{name:"object",responseFormat:(0,B.resolve)(r.jsonSchema).then(e=>({type:"json",schema:e,...null!=t&&{name:t},...null!=o&&{description:o}})),async parseCompleteOutput({text:e},t){let o=await (0,B.safeParseJSON)({text:e});if(!o.success)throw new ek({message:"No object generated: could not parse the response.",cause:o.error,text:e,response:t.response,usage:t.usage,finishReason:t.finishReason});let n=await (0,B.safeValidateTypes)({value:o.value,schema:r});if(!n.success)throw new ek({message:"No object generated: response did not match schema.",cause:n.error,text:e,response:t.response,usage:t.usage,finishReason:t.finishReason});return n.value},async parsePartialOutput({text:e}){let t=await o$(e);switch(t.state){case"failed-parse":case"undefined-input":return;case"repaired-parse":case"successful-parse":return{partial:t.value}}},createElementStreamTransform(){}}},oD=({element:e,minItems:t,maxItems:o,name:r,description:n})=>{if(oU({name:"minItems",value:t}),oU({name:"maxItems",value:o}),null!=t&&null!=o&&t>o)throw new Y({parameter:"minItems",value:t,message:"minItems must be less than or equal to maxItems"});let a=(0,B.asSchema)(e);return{name:"array",responseFormat:(0,B.resolve)(a.jsonSchema).then(e=>{let{$schema:a,definitions:i,$defs:l,...s}=e;return{type:"json",schema:{$schema:"http://json-schema.org/draft-07/schema#",...null!=i&&{definitions:i},...null!=l&&{$defs:l},type:"object",properties:{elements:{type:"array",items:s,...null!=t&&{minItems:t},...null!=o&&{maxItems:o}}},required:["elements"],additionalProperties:!1},...null!=r&&{name:r},...null!=n&&{description:n}}}),async parseCompleteOutput({text:e},r){let n=await (0,B.safeParseJSON)({text:e});if(!n.success)throw new ek({message:"No object generated: could not parse the response.",cause:n.error,text:e,response:r.response,usage:r.usage,finishReason:r.finishReason});let i=n.value;if(null==i||"object"!=typeof i||!("elements"in i)||!Array.isArray(i.elements))throw new ek({message:"No object generated: response did not match schema.",cause:new H.TypeValidationError({value:i,cause:"response must be an object with an elements array"}),text:e,response:r.response,usage:r.usage,finishReason:r.finishReason});let l=oF({value:i.elements,minItems:t,maxItems:o});if(null!=l)throw new ek({message:"No object generated: response did not match schema.",cause:l,text:e,response:r.response,usage:r.usage,finishReason:r.finishReason});let s=[];for(let t of i.elements){let o=await (0,B.safeValidateTypes)({value:t,schema:a});if(!o.success)throw new ek({message:"No object generated: response did not match schema.",cause:o.error,text:e,response:r.response,usage:r.usage,finishReason:r.finishReason});s.push(o.value)}return s},async parsePartialOutput({text:e}){let t=await o$(e);switch(t.state){case"failed-parse":case"undefined-input":return;case"repaired-parse":case"successful-parse":{let e=t.value;if(null==e||"object"!=typeof e||!("elements"in e)||!Array.isArray(e.elements))return;let o="repaired-parse"===t.state&&e.elements.length>0?e.elements.slice(0,-1):e.elements,r=[];for(let e of o){let t=await (0,B.safeValidateTypes)({value:e,schema:a});t.success&&r.push(t.value)}return{partial:r}}}},createElementStreamTransform(){let e=0;return new TransformStream({transform({partialOutput:t},r){if(null!=t)for(;e<t.length;e++){if(null!=o&&e>=o)return void r.error(oF({value:t,maxItems:o}));r.enqueue(t[e])}}})}}};function oU({name:e,value:t}){if(null!=t){if(!Number.isInteger(t))throw new Y({parameter:e,value:t,message:`${e} must be an integer`});if(t<0)throw new Y({parameter:e,value:t,message:`${e} must be greater than or equal to 0`})}}function oF({value:e,minItems:t,maxItems:o}){return null!=t&&e.length<t?new H.TypeValidationError({value:e,cause:`elements array must contain at least ${t} items`}):null!=o&&e.length>o?new H.TypeValidationError({value:e,cause:`elements array must contain at most ${o} items`}):void 0}var oB=({options:e,name:t,description:o})=>({name:"choice",responseFormat:Promise.resolve({type:"json",schema:{$schema:"http://json-schema.org/draft-07/schema#",type:"object",properties:{result:{type:"string",enum:e}},required:["result"],additionalProperties:!1},...null!=t&&{name:t},...null!=o&&{description:o}}),async parseCompleteOutput({text:t},o){let r=await (0,B.safeParseJSON)({text:t});if(!r.success)throw new ek({message:"No object generated: could not parse the response.",cause:r.error,text:t,response:o.response,usage:o.usage,finishReason:o.finishReason});let n=r.value;if(null==n||"object"!=typeof n||!("result"in n)||"string"!=typeof n.result||!e.includes(n.result))throw new ek({message:"No object generated: response did not match schema.",cause:new H.TypeValidationError({value:n,cause:"response must be an object that contains a choice value."}),text:t,response:o.response,usage:o.usage,finishReason:o.finishReason});return n.result},async parsePartialOutput({text:t}){let o=await o$(t);switch(o.state){case"failed-parse":case"undefined-input":return;case"repaired-parse":case"successful-parse":{let t=o.value;if(null==t||"object"!=typeof t||!("result"in t)||"string"!=typeof t.result)return;let r=e.filter(e=>e.startsWith(t.result));if("successful-parse"===o.state)return r.includes(t.result)?{partial:t.result}:void 0;return 1===r.length?{partial:r[0]}:void 0}}},createElementStreamTransform(){}}),oH=({name:e,description:t}={})=>({name:"json",responseFormat:Promise.resolve({type:"json",...null!=e&&{name:e},...null!=t&&{description:t}}),async parseCompleteOutput({text:e},t){let o=await (0,B.safeParseJSON)({text:e});if(!o.success)throw new ek({message:"No object generated: could not parse the response.",cause:o.error,text:e,response:t.response,usage:t.usage,finishReason:t.finishReason});return o.value},async parsePartialOutput({text:e}){let t=await o$(e);switch(t.state){case"failed-parse":case"undefined-input":return;case"repaired-parse":case"successful-parse":return void 0===t.value?void 0:{partial:t.value}}},createElementStreamTransform(){}});async function oW({toolCall:e,tools:t,repairToolCall:o,refineToolInput:r,messages:n,instructions:a}){try{if(null==t){if(e.providerExecuted&&e.dynamic)return await oV({toolCall:await oJ(e),refineToolInput:r});throw new eV({toolName:e.toolName})}try{return await oV({toolCall:await oK({toolCall:e,tools:t}),refineToolInput:r})}catch(l){if(null==o||!(eV.isInstance(l)||eu.isInstance(l)))throw l;let i=null;try{i=await o({toolCall:e,tools:t,inputSchema:async({toolName:e})=>{var o;let r=null==(o=ob(t,e))?void 0:o.inputSchema;return await (0,B.asSchema)(r).jsonSchema},instructions:a,system:a,messages:n,error:l})}catch(e){throw new e0({cause:e,originalError:l})}if(null==i)throw l;return await oV({toolCall:await oK({toolCall:i,tools:t}),refineToolInput:r})}}catch(a){let o=await (0,B.safeParseJSON)({text:e.input}),r=o.success?o.value:e.input,n=ob(t,e.toolName);return{type:"tool-call",toolCallId:e.toolCallId,toolName:e.toolName,input:r,dynamic:!0,invalid:!0,error:a,title:null==n?void 0:n.title,providerExecuted:e.providerExecuted,providerMetadata:e.providerMetadata,...(null==n?void 0:n.metadata)!=null?{toolMetadata:n.metadata}:{}}}}async function oV({toolCall:e,refineToolInput:t}){let o=ob(t,e.toolName);return null==o?e:{...e,input:await o(e.input)}}async function oJ(e){let t=""===e.input.trim()?{success:!0,value:{}}:await (0,B.safeParseJSON)({text:e.input});if(!1===t.success)throw new eu({toolName:e.toolName,toolInput:e.input,cause:t.error});return{type:"tool-call",toolCallId:e.toolCallId,toolName:e.toolName,input:t.value,providerExecuted:!0,dynamic:!0,providerMetadata:e.providerMetadata}}async function oK({toolCall:e,tools:t}){let o=e.toolName,r=ob(t,o);if(null==r){if(e.providerExecuted&&e.dynamic)return await oJ(e);throw new eV({toolName:e.toolName,availableTools:Object.keys(t)})}let n=(0,B.asSchema)(r.inputSchema),a=""===e.input.trim()?await (0,B.safeValidateTypes)({value:{},schema:n}):await (0,B.safeParseJSON)({text:e.input,schema:n});if(!1===a.success)throw new eu({toolName:o,toolInput:e.input,cause:a.error});return"dynamic"===r.type?{type:"tool-call",toolCallId:e.toolCallId,toolName:e.toolName,input:a.value,providerExecuted:e.providerExecuted,providerMetadata:e.providerMetadata,...null!=r.metadata?{toolMetadata:r.metadata}:{},dynamic:!0,title:r.title}:{type:"tool-call",toolCallId:e.toolCallId,toolName:o,input:a.value,providerExecuted:e.providerExecuted,providerMetadata:e.providerMetadata,...null!=r.metadata?{toolMetadata:r.metadata}:{},title:r.title}}function oG({callSettings:e,stepSettings:t}){var o,r,n,a,i,l,s,u,d;return tJ({maxOutputTokens:null!=(o=null==t?void 0:t.maxOutputTokens)?o:e.maxOutputTokens,temperature:null!=(r=null==t?void 0:t.temperature)?r:e.temperature,topP:null!=(n=null==t?void 0:t.topP)?n:e.topP,topK:null!=(a=null==t?void 0:t.topK)?a:e.topK,presencePenalty:null!=(i=null==t?void 0:t.presencePenalty)?i:e.presencePenalty,frequencyPenalty:null!=(l=null==t?void 0:t.frequencyPenalty)?l:e.frequencyPenalty,stopSequences:null!=(s=null==t?void 0:t.stopSequences)?s:e.stopSequences,seed:null!=(u=null==t?void 0:t.seed)?u:e.seed,reasoning:null!=(d=null==t?void 0:t.reasoning)?d:e.reasoning})}function oY(e){return e.map(e=>{var t;if("reasoning"===e.type)return{type:"reasoning",text:e.text,...null!=e.providerOptions?{providerMetadata:e.providerOptions}:{}};let o="object"==typeof(t=e.data)&&null!==t&&"type"in t?"data"===t.type?t.data:t.url:t;return{type:"reasoning-file",file:new oS({data:o instanceof ArrayBuffer?new Uint8Array(o):o instanceof URL?o.toString():o,mediaType:e.mediaType}),...null!=e.providerOptions?{providerMetadata:e.providerOptions}:{}}})}async function oZ({tools:e,toolCall:t,toolApproval:o,messages:r,toolsContext:n,runtimeContext:a}){if(null!=o&&"function"==typeof o)return oX(await o({toolCall:t,tools:e,toolsContext:n,messages:r,runtimeContext:a}));let i=t.toolName,l=ob(e,i),s=t.input,u=ob(o,i);return null!=u?oX("function"==typeof u?await u(s,{toolCallId:t.toolCallId,messages:r,toolContext:await oA({toolName:i,context:ob(n,i),contextSchema:null==l?void 0:l.contextSchema}),runtimeContext:a}):u):(null==l?void 0:l.needsApproval)==null?{type:"not-applicable"}:("function"==typeof l.needsApproval?await l.needsApproval(s,{toolCallId:t.toolCallId,messages:r,context:await oA({toolName:i,context:ob(n,i),contextSchema:null==l?void 0:l.contextSchema})}):l.needsApproval)?{type:"user-approval"}:{type:"not-applicable"}}function oX(e){return void 0===e?{type:"not-applicable"}:"string"==typeof e?{type:e}:e}function oQ(...e){return async t=>{await Promise.allSettled(e.map(async e=>{await (null==e?void 0:e(t))}))}}var o0="ai:telemetry";function o1(){var e;return"u">typeof process&&(null==(e=process.release)?void 0:e.name)==="node"}async function o2(){if(o1())return null==U&&(U=Promise.resolve(o4("node:diagnostics_channel"))),U}function o4(e){var t;let o=globalThis.process;try{return null==(t=null==o?void 0:o.getBuiltinModule)?void 0:t.call(o,e)}catch(e){return}}async function o3(e,t){var o;let r,n,a,i=await o2(),l=null==(o=null==i?void 0:i.tracingChannel)?void 0:o.call(i,o0);if(null==l||!1===l.hasSubscribers)return await t();let s=!1,u=!1;try{return await l.tracePromise(()=>{try{r=Promise.resolve(t())}catch(e){r=Promise.reject(e)}return r=r.then(e=>(n=e,s=!0,e),e=>{throw a=e,u=!0,e})},e)}catch(e){if(u)throw a;if(s)return n;if(null!=r)return await r;return await t()}}function o5(e,t){return Object.assign(Object.create(Object.getPrototypeOf(e)),e,t)}var o6=class{constructor({callId:e,stepNumber:t,provider:o,modelId:r,runtimeContext:n,toolsContext:a,content:i,finishReason:l,rawFinishReason:s,usage:u,performance:d,warnings:c,request:p,response:h,providerMetadata:m}){this.callId=e,this.stepNumber=t,this.model={provider:o,modelId:r},this.runtimeContext=n,this.toolsContext=a,this.content=i,this.finishReason=l,this.rawFinishReason=s,this.usage=u,this.performance=d,this.warnings=c,this.request=p,this.response=h,this.providerMetadata=m}get text(){return this.content.filter(e=>"text"===e.type).map(e=>e.text).join("")}get reasoning(){return this.content.filter(e=>"reasoning"===e.type||"reasoning-file"===e.type).map(e=>"reasoning"===e.type?{type:"reasoning",text:e.text,...null!=e.providerMetadata?{providerOptions:e.providerMetadata}:{}}:{type:"reasoning-file",data:e.file.base64,mediaType:e.file.mediaType,...null!=e.providerMetadata?{providerOptions:e.providerMetadata}:{}})}get reasoningText(){let e;return(e=this.reasoning.map(e=>"text"in e?e.text:"").join("")).length>0?e:void 0}get files(){return this.content.filter(e=>"file"===e.type).map(e=>e.file)}get sources(){return this.content.filter(e=>"source"===e.type)}get toolCalls(){return this.content.filter(e=>"tool-call"===e.type)}get staticToolCalls(){return this.toolCalls.filter(e=>!0!==e.dynamic)}get dynamicToolCalls(){return this.toolCalls.filter(e=>!0===e.dynamic)}get toolResults(){return this.content.filter(e=>"tool-result"===e.type)}get staticToolResults(){return this.toolResults.filter(e=>!0!==e.dynamic)}get dynamicToolResults(){return this.toolResults.filter(e=>!0===e.dynamic)}};function o9({context:e,includeContext:t}){return null==e?{}:Object.fromEntries(Object.entries(e).filter(([e])=>(null==t?void 0:t[e])===!0))}function o8({step:e,includeRuntimeContext:t,includeToolsContext:o}){return new o6({callId:e.callId,stepNumber:e.stepNumber,provider:e.model.provider,modelId:e.model.modelId,runtimeContext:o9({context:e.runtimeContext,includeContext:t}),toolsContext:o7({toolsContext:e.toolsContext,includeToolsContext:o}),content:e.content,finishReason:e.finishReason,rawFinishReason:e.rawFinishReason,usage:e.usage,performance:e.performance,warnings:e.warnings,request:e.request,response:e.response,providerMetadata:e.providerMetadata})}function o7({toolsContext:e,includeToolsContext:t}){return null==t?{}:Object.fromEntries(Object.entries(e).map(([e,o])=>[e,re({toolName:e,toolContext:o,includeToolsContext:t})]))}function re({toolName:e,toolContext:t,includeToolsContext:o}){return o9({context:t,includeContext:null==o?void 0:o[e]})}function rt({telemetry:e,includeRuntimeContext:t,includeToolsContext:o}){let r=function({telemetry:e}){var t;if((null==e?void 0:e.isEnabled)===!1)return{};let o=null==e?void 0:e.integrations,r=null!=o?(0,B.asArray)(o):null!=(t=globalThis.AI_SDK_TELEMETRY_INTEGRATIONS)?t:[],n={recordInputs:null==e?void 0:e.recordInputs,recordOutputs:null==e?void 0:e.recordOutputs,functionId:null==e?void 0:e.functionId},a=e=>{let t=oQ(...r.map(t=>{var o;return null==(o=t[e])?void 0:o.bind(t)}).filter(Boolean).map(e=>t=>e(o5(t,n))));return async e=>{await t(e)}},i=r.map(e=>{var t;return null==(t=e.executeLanguageModelCall)?void 0:t.bind(e)}).filter(Boolean),l=r.map(e=>{var t;return null==(t=e.executeTool)?void 0:t.bind(e)}).filter(Boolean);return{runInTracingChannelSpan:async({type:e,event:t,execute:o})=>await o3({type:e,event:o5(t,n)},o),startTracingChannelContext:({type:e,event:t,completion:o})=>(function({message:e,completion:t}){var o;let r;if(!o1())return;let n=o4("node:diagnostics_channel"),a=o4("node:async_hooks"),i=null==(o=null==n?void 0:n.tracingChannel)?void 0:o.call(n,o0);if(null==i||!1===i.hasSubscribers||null==a)return void Promise.resolve(t).catch(()=>{});let l=!1,s=e=>{try{e()}catch(e){}},u=({result:t,error:o})=>{l||(l=!0,void 0!==o&&(e.error=o,s(()=>i.error.publish(e))),void 0!==t&&(e.result=t),s(()=>i.asyncEnd.publish(e)))};return s(()=>{i.start.runStores(e,()=>{r=new a.AsyncResource("ai.telemetry")})}),s(()=>i.end.publish(e)),Promise.resolve(t).then(e=>u({result:e}),e=>u({error:e})),{run:e=>null==r?e():r.runInAsyncScope(e)}})({message:{type:e,event:o5(t,n)},completion:o}),onStart:a("onStart"),onStepStart:a("onStepStart"),onLanguageModelCallStart:a("onLanguageModelCallStart"),onLanguageModelCallEnd:a("onLanguageModelCallEnd"),onToolExecutionStart:a("onToolExecutionStart"),onToolExecutionEnd:a("onToolExecutionEnd"),onStepEnd:oQ(a("onStepEnd"),a("onStepFinish")),onObjectStepStart:a("onObjectStepStart"),onObjectStepEnd:a("onObjectStepEnd"),onEmbedStart:a("onEmbedStart"),onEmbedEnd:a("onEmbedEnd"),onRerankStart:a("onRerankStart"),onRerankEnd:a("onRerankEnd"),onEnd:a("onEnd"),onAbort:a("onAbort"),onError:a("onError"),executeLanguageModelCall:async({execute:e,...t})=>{let o=o5(t,n),r=e;for(let e of i){let t=r;r=()=>e({...o,execute:t})}return await o3({type:"languageModelCall",event:o},r)},executeTool:async({execute:e,...t})=>{let o=o5(t,n),r=e;for(let e of l){let t=r;r=()=>e({...o,execute:t})}return await r()}}}({telemetry:e});return{...r,onStart:e=>{var n;return null==(n=r.onStart)?void 0:n.call(r,{...e,runtimeContext:o9({context:e.runtimeContext,includeContext:t}),toolsContext:o7({toolsContext:e.toolsContext,includeToolsContext:o})})},onStepStart:e=>{var n;return null==(n=r.onStepStart)?void 0:n.call(r,{...e,runtimeContext:o9({context:e.runtimeContext,includeContext:t}),steps:e.steps.map(e=>o8({step:e,includeRuntimeContext:t,includeToolsContext:o})),toolsContext:o7({toolsContext:e.toolsContext,includeToolsContext:o})})},onStepEnd:e=>{var n;return null==(n=r.onStepEnd)?void 0:n.call(r,o8({step:e,includeRuntimeContext:t,includeToolsContext:o}))},onStepFinish:e=>{var n;return null==(n=r.onStepEnd)?void 0:n.call(r,o8({step:e,includeRuntimeContext:t,includeToolsContext:o}))},onEnd:e=>{var n;let a;return null==(n=r.onEnd)?void 0:n.call(r,(a=e.steps.map(e=>o8({step:e,includeRuntimeContext:t,includeToolsContext:o})),{...e,runtimeContext:o9({context:e.runtimeContext,includeContext:t}),steps:a,finalStep:a.at(-1),toolsContext:o7({toolsContext:e.toolsContext,includeToolsContext:o})}))},onAbort:e=>{var n;return null==(n=r.onAbort)?void 0:n.call(r,{...e,steps:e.steps.map(e=>o8({step:e,includeRuntimeContext:t,includeToolsContext:o}))})},onToolExecutionStart:e=>{var t;return null==(t=r.onToolExecutionStart)?void 0:t.call(r,{...e,toolContext:re({toolName:e.toolCall.toolName,toolContext:e.toolContext,includeToolsContext:o})})},onToolExecutionEnd:e=>{var t;return null==(t=r.onToolExecutionEnd)?void 0:t.call(r,{...e,toolContext:re({toolName:e.toolCall.toolName,toolContext:e.toolContext,includeToolsContext:o})})}}}function ro(e){return({steps:t})=>t.length===e}async function rr({stopConditions:e,steps:t}){return(await Promise.all(e.map(e=>e({steps:t})))).some(e=>e)}function rn(e,t){return null==e&&null==t?void 0:(null!=e?e:0)+(null!=t?t:0)}async function ra({content:e,tools:t}){let o=[],r=new Map,n=[];for(let o of e)if("source"!==o.type&&("tool-result"!==o.type&&"tool-error"!==o.type||o.providerExecuted)&&("text"!==o.type||0!==o.text.length))switch(o.type){case"text":n.push({type:"text",text:o.text,providerOptions:o.providerMetadata});break;case"custom":n.push({type:"custom",kind:o.kind,providerOptions:o.providerMetadata});break;case"reasoning":n.push({type:"reasoning",text:o.text,providerOptions:o.providerMetadata});break;case"file":n.push({type:"file",data:o.file.base64,mediaType:o.file.mediaType,providerOptions:o.providerMetadata});break;case"reasoning-file":n.push({type:"reasoning-file",data:o.file.base64,mediaType:o.file.mediaType,providerOptions:o.providerMetadata});break;case"tool-call":r.has(o.toolCallId)||r.set(o.toolCallId,r.size),n.push({type:"tool-call",toolCallId:o.toolCallId,toolName:o.toolName,input:o.invalid&&"object"!=typeof o.input?{}:o.input,providerExecuted:o.providerExecuted,providerOptions:o.providerMetadata});break;case"tool-result":{let e=await tW({toolCallId:o.toolCallId,input:o.input,tool:ob(t,o.toolName),output:o.output,errorMode:"none"});n.push({type:"tool-result",toolCallId:o.toolCallId,toolName:o.toolName,output:e,providerOptions:o.providerMetadata});break}case"tool-error":{let e=await tW({toolCallId:o.toolCallId,input:o.input,tool:ob(t,o.toolName),output:o.error,errorMode:"json"});n.push({type:"tool-result",toolCallId:o.toolCallId,toolName:o.toolName,output:e,providerOptions:o.providerMetadata});break}case"tool-approval-request":n.push({type:"tool-approval-request",approvalId:o.approvalId,toolCallId:o.toolCall.toolCallId,...null!=o.reason?{reason:o.reason}:{},isAutomatic:o.isAutomatic,...null!=o.signature?{signature:o.signature}:{}})}n.length>0&&o.push({role:"assistant",content:n});let a=[];for(let o of e){if("tool-approval-response"!==o.type&&"tool-result"!==o.type&&"tool-error"!==o.type)continue;if("tool-approval-response"===o.type){a.push({type:"tool-approval-response",approvalId:o.approvalId,approved:o.approved,reason:o.reason,providerExecuted:o.providerExecuted}),!1===o.approved&&a.push({type:"tool-result",toolCallId:o.toolCall.toolCallId,toolName:o.toolCall.toolName,output:{type:"execution-denied",reason:o.reason}});continue}if(o.providerExecuted)continue;let e=await tW({toolCallId:o.toolCallId,input:o.input,tool:ob(t,o.toolName),output:"tool-result"===o.type?o.output:o.error,errorMode:"tool-error"===o.type?"text":"none"});a.push({type:"tool-result",toolCallId:o.toolCallId,toolName:o.toolName,output:e,...null!=o.providerMetadata?{providerOptions:o.providerMetadata}:{}})}return a.length>0&&o.push({role:"tool",content:function({toolResultContent:e,toolCallOrder:t}){let o=e.filter(e=>"tool-result"===e.type).map((e,t)=>({part:e,index:t})).sort((e,o)=>{let r=t.get(e.part.toolCallId),n=t.get(o.part.toolCallId);return null==r&&null==n?e.index-o.index:null==r?1:null==n?-1:r-n||e.index-o.index}).map(({part:e})=>e),r=0;return e.map(e=>"tool-result"===e.type?o[r++]:e)}({toolResultContent:a,toolCallOrder:r})}),o}var ri="AI_SDK_DIRECT_TOOL_CALL";function rl({tools:e,toolCallers:t}){if(null==e||null==t)return;let o={};for(let[r,n]of Object.entries(t)){if(!Object.prototype.hasOwnProperty.call(e,r))throw new Y({parameter:"experimental_toolCallers",value:t,message:`unknown tool "${r}".`});if(!Array.isArray(n))throw new Y({parameter:"experimental_toolCallers",value:t,message:`callers for tool "${r}" must be an array.`});o[r]=n.map(o=>{if(o===ri)return o;if("string"!=typeof o||!Object.prototype.hasOwnProperty.call(e,o)||null==(0,B.experimental_getToolCaller)(e[o]))throw new Y({parameter:"experimental_toolCallers",value:t,message:`tool "${r}" contains an invalid caller.`});return o})}return o}function rs({tools:e,toolCallers:t}){var o,r;if(null==e||null==t)return{executionTools:e,modelTools:e};let n={...e},a={...e},i=new Map;for(let[e,r]of Object.entries(t)){let t=n[e];if(null==t)continue;let l=!1,s=!1,u=t;for(let t of r){if(t===ri){l=!0;continue}let r=(0,B.experimental_getToolCaller)(n[t]);if(null!=r)if("provider"===r.type)s=!0,u={...u,providerOptions:r.prepareProviderOptions(u.providerOptions)};else{let r=null!=(o=i.get(t))?o:{};r[e]=u,i.set(t,r)}}n[e]=u,l||s?a[e]=u:delete a[e]}for(let[e,t]of Object.entries(n)){let o=(0,B.experimental_getToolCaller)(t);if((null==o?void 0:o.type)!=="local")continue;let l=o.bind(null!=(r=i.get(e))?r:{});n[e]=l,Object.prototype.hasOwnProperty.call(a,e)&&(a[e]=l)}return{executionTools:n,modelTools:a}}var ru=new TextEncoder;function rd(e){return(0,B.convertUint8ArrayToBase64)(e).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/g,"")}async function rc(e){return rd(new Uint8Array(await crypto.subtle.digest("SHA-256",ru.encode(function e(t){if(null==t||"object"!=typeof t)return JSON.stringify(t);if(Array.isArray(t))return`[${t.map(t=>void 0===t?"null":e(t)).join(",")}]`;let o=Object.keys(t).sort().map(o=>`${JSON.stringify(o)}:${e(t[o])}`);return`{${o.join(",")}}`}(e)))))}var rp=new TextEncoder;async function rh(e){let t="string"==typeof e?rp.encode(e):e;return crypto.subtle.importKey("raw",t,{name:"HMAC",hash:"SHA-256"},!1,["sign","verify"])}function rm(e,t,o,r){return rp.encode(JSON.stringify(["ai-sdk-tool-approval-v1",e,t,o,r]))}async function rg({secret:e,approvalId:t,toolCallId:o,toolName:r,input:n}){let a=await rh(e),i=rm(t,o,r,await rc(n));return rd(new Uint8Array(await crypto.subtle.sign("HMAC",a,i)))}async function rf({secret:e,signature:t,approvalId:o,toolCallId:r,toolName:n,input:a}){let i=await rh(e),l=await rc(a),s=(0,B.convertBase64ToUint8Array)(t),u=rm(o,r,n,l);if(await crypto.subtle.verify("HMAC",i,s,u))return!0;if(!o.includes("\n")&&!r.includes("\n")&&!n.includes("\n")){let e=rp.encode(`${o}
|
|
108
|
+
${r}
|
|
109
|
+
${n}
|
|
110
|
+
${l}`);return crypto.subtle.verify("HMAC",i,s,e)}return!1}async function ry({secret:e,approvalId:t,toolCallId:o,toolName:r,input:n}){if(null!=e)return rg({secret:e,approvalId:t,toolCallId:o,toolName:r,input:n})}async function rv({approvedToolApprovals:e,tools:t,toolApproval:o,messages:r,toolsContext:n,runtimeContext:a,toolApprovalSecret:i}){var l;let s=[],u=[],d=[];for(let c of e){let{toolCall:e,approvalRequest:p}=c,h=ob(t,e.toolName);if(null!=i){if(null==p.signature)throw new ea({approvalId:p.approvalId,toolCallId:e.toolCallId,reason:"missing signature"});if(!await rf({secret:i,signature:p.signature,approvalId:p.approvalId,toolCallId:e.toolCallId,toolName:e.toolName,input:e.input}))throw new ea({approvalId:p.approvalId,toolCallId:e.toolCallId,reason:"invalid signature"})}if((0,B.isExecutableTool)(h)&&null!=h.inputSchema){let t=await (0,B.safeValidateTypes)({value:e.input,schema:(0,B.asSchema)(h.inputSchema)});if(!t.success){d.push({...c,error:new eu({toolName:e.toolName,toolInput:JSON.stringify(e.input),cause:t.error})});continue}}let m=await oZ({tools:t,toolApproval:o,toolCall:e,messages:r,toolsContext:n,runtimeContext:a});"denied"===m.type?u.push({...c,approvalResponse:{...c.approvalResponse,approved:!1,reason:null!=(l=m.reason)?l:c.approvalResponse.reason}}):s.push(c)}return{approvedToolApprovals:s,deniedToolApprovals:u,invalidToolApprovals:d}}var rb=(0,B.createIdGenerator)({prefix:"aitxt",size:24}),r_=(0,B.createIdGenerator)({prefix:"call",size:24});async function rw({model:e,tools:t,toolChoice:o,instructions:r,system:n,prompt:a,messages:i,allowSystemInMessages:l,maxRetries:s,abortSignal:u,timeout:d,headers:c,stopWhen:p=ro(1),experimental_sandbox:h,output:m,toolApproval:g,experimental_toolCallers:f,experimental_toolApprovalSecret:y,experimental_telemetry:v,telemetry:b=v,providerOptions:_,activeTools:w,toolOrder:z,prepareStep:x,experimental_repairToolCall:T,repairToolCall:k=T,experimental_refineToolInput:I,experimental_download:S,runtimeContext:C={},toolsContext:E={},experimental_include:A,include:O=A,_internal:{generateId:M=rb,generateCallId:j=r_,now:R=ow}={},onStart:N,experimental_onStart:P,onStepStart:$,experimental_onStepStart:q,onLanguageModelCallStart:L,experimental_onLanguageModelCallStart:D,onLanguageModelCallEnd:U,experimental_onLanguageModelCallEnd:F,onToolExecutionStart:W,onToolExecutionEnd:V,experimental_onToolCallStart:J,experimental_onToolCallFinish:K,onStepEnd:G,onStepFinish:Y,onFinish:Z,onEnd:X=Z,...Q}){var ee,et,eo,er;O={requestBody:null!=(ee=null==O?void 0:O.requestBody)&&ee,requestMessages:null!=(et=null==O?void 0:O.requestMessages)&&et,responseBody:null!=(eo=null==O?void 0:O.responseBody)&&eo};let en=tC(e),ea=rl({tools:t,toolCallers:f}),ei=(0,B.asArray)(p),el=null!=N?N:P,es=null!=$?$:q,eu=null!=L?L:D,ed=null!=U?U:F,ec=null!=W?W:J,ep=null!=V?V:K,eh=null!=G?G:Y,em=[];null!=tX(d)&&em.push({type:"unsupported",feature:"timeout.firstChunkMs",details:"The firstChunkMs timeout is only supported by streaming functions."}),null!=tQ(d)&&em.push({type:"unsupported",feature:"timeout.chunkMs",details:"The chunkMs timeout is only supported by streaming functions."}),em.length>0&&tg({warnings:em,provider:en.provider,model:en.modelId});let eg=tY(d),ef=tZ(d),ey=null!=ef?new AbortController:void 0,ev=o_(u,eg,null==ey?void 0:ey.signal),{maxRetries:eb,retry:e_}=ox({maxRetries:s,abortSignal:ev}),ew=tJ(Q),ez=(0,B.withUserAgentSuffix)(null!=c?c:{},`ai/${tO}`),ex=await oh({instructions:r,system:n,prompt:a,messages:i,allowSystemInMessages:l}),eT=j(),ek=rt({telemetry:b,includeRuntimeContext:null==b?void 0:b.includeRuntimeContext,includeToolsContext:null==b?void 0:b.includeToolsContext}),eI=null!=(er=ek.runInTracingChannelSpan)?er:async({execute:e})=>await e(),eS={callId:eT,operationId:"ai.generateText",provider:en.provider,modelId:en.modelId,instructions:ex.instructions,messages:ex.messages,tools:t,toolChoice:o,activeTools:w,toolOrder:z,maxOutputTokens:ew.maxOutputTokens,temperature:ew.temperature,topP:ew.topP,topK:ew.topK,presencePenalty:ew.presencePenalty,frequencyPenalty:ew.frequencyPenalty,stopSequences:ew.stopSequences,seed:ew.seed,reasoning:ew.reasoning,maxRetries:eb,timeout:d,headers:ez,providerOptions:_,output:m,runtimeContext:C,toolsContext:E},eC=async()=>{var e;await oz({event:eS,callbacks:[el,ek.onStart]});try{let e,r,n=ex.messages,a=[],{approvedToolApprovals:i,deniedToolApprovals:l}=oI({messages:n}),{approvedToolApprovals:s,deniedToolApprovals:u,invalidToolApprovals:c}=await rv({approvedToolApprovals:i.filter(e=>!e.toolCall.providerExecuted),tools:t,toolApproval:g,messages:n,toolsContext:E,runtimeContext:C,toolApprovalSecret:y}),p=[...l,...u].filter(e=>null==e.existingToolResult);if(p.length>0||s.length>0||c.length>0){let e=await rz({toolCalls:s.map(e=>e.toolCall),tools:t,callId:eT,messages:n,abortSignal:ev,timeout:d,experimental_sandbox:h,toolsContext:E,onToolExecutionStart:e=>oz({event:e,callbacks:[ec,ek.onToolExecutionStart]}),onToolExecutionEnd:e=>oz({event:e,callbacks:[ep,ek.onToolExecutionEnd]}),executeToolInTelemetryContext:ek.executeTool,runInTracingChannelSpan:eI}),o=[];for(let r of e){let e=r.output,n=await tW({toolCallId:e.toolCallId,input:e.input,tool:ob(t,e.toolName),output:"tool-result"===e.type?e.output:e.error,errorMode:"tool-error"===e.type?"text":"none"});o.push({type:"tool-result",toolCallId:e.toolCallId,toolName:e.toolName,output:n})}for(let e of c)o.push({type:"tool-result",toolCallId:e.toolCall.toolCallId,toolName:e.toolCall.toolName,output:await tW({toolCallId:e.toolCall.toolCallId,input:e.toolCall.input,tool:ob(t,e.toolCall.toolName),output:e.error,errorMode:"text"})});for(let e of p)o.push({type:"tool-result",toolCallId:e.toolCall.toolCallId,toolName:e.toolCall.toolName,output:{type:"execution-denied",reason:e.approvalResponse.reason,...e.toolCall.providerExecuted&&{providerOptions:{openai:{approvalId:e.approvalResponse.approvalId}}}}});a.push({role:"tool",content:o})}let f=tJ(Q),v=[],b=[],T=[],A=[],j=[],N=ex.instructions,P=[...n,...a],$=new Map;do{j.length>0&&(null==ev||ev.throwIfAborted());let r=oT({abortController:ey,label:"Step",timeoutMs:ef}),i=j.length;try{await eI({type:"step",event:{callId:eT,stepNumber:i},execute:async()=>{var r,l,s,u,c,p,q,L,D,U,F,B,W,V,J,K,G;let Y=[...a,...j.flatMap(e=>e.response.messages)],Z=P,X=await (null==x?void 0:x({model:en,steps:j,stepNumber:j.length,instructions:N,initialInstructions:ex.instructions,messages:Z,initialMessages:n,responseMessages:Y,runtimeContext:C,toolsContext:E,experimental_sandbox:h})),Q=null!=(r=null==X?void 0:X.experimental_sandbox)?r:h,ee=tC(null!=(l=null==X?void 0:X.model)?l:en),et=null!=(u=null!=(s=null==X?void 0:X.instructions)?s:null==X?void 0:X.system)?u:N,eo=await tq({prompt:{instructions:et,messages:null!=(c=null==X?void 0:X.messages)?c:Z},supportedUrls:await ee.supportedUrls,download:S,provider:ee.provider.split(".")[0]});C=null!=(p=null==X?void 0:X.runtimeContext)?p:C,E=null!=(q=null==X?void 0:X.toolsContext)?q:E;let er=oM({tools:t,activeTools:null!=(L=null==X?void 0:X.activeTools)?L:w}),{executionTools:ei,modelTools:el}=rs({tools:er,toolCallers:ea}),em=null!=(D=null==X?void 0:X.toolOrder)?D:z,eg=await tG({tools:el,toolOrder:em,toolsContext:E,experimental_sandbox:Q}),ef=tK({toolChoice:null!=(U=null==X?void 0:X.toolChoice)?U:o}),ey=null!=(F=null==X?void 0:X.messages)?F:Z,eb=tj(_,null==X?void 0:X.providerOptions),ew=oG({callSettings:f,stepSettings:X});await oz({event:{callId:eT,provider:ee.provider,modelId:ee.modelId,stepNumber:i,instructions:et,messages:ey,tools:t,toolChoice:null!=(B=null==X?void 0:X.toolChoice)?B:o,activeTools:null!=(W=null==X?void 0:X.activeTools)?W:w,toolOrder:em,steps:[...j],providerOptions:eb,output:m,runtimeContext:C,promptMessages:eo,stepTools:eg,stepToolChoice:ef,toolsContext:E},callbacks:[es,ek.onStepStart]});let eS={provider:ee.provider,modelId:ee.modelId,instructions:et,messages:ey,tools:eg,...ew},eC={callId:eT,...eS},eE=R();await oz({event:eC,callbacks:[eu,ek.onLanguageModelCallStart]});let eA=null!=(V=ek.executeLanguageModelCall)?V:async({execute:e})=>await e();e=await e_(async()=>{var e,t,o,r,n,a,i,l;let s=await eA({...eC,execute:async()=>await ee.doGenerate({...ew,tools:eg,toolChoice:ef,responseFormat:await (null==m?void 0:m.responseFormat),prompt:eo,providerOptions:eb,abortSignal:ev,headers:ez})}),u={id:null!=(t=null==(e=s.response)?void 0:e.id)?t:M(),timestamp:null!=(r=null==(o=s.response)?void 0:o.timestamp)?r:new Date,modelId:null!=(a=null==(n=s.response)?void 0:n.modelId)?a:ee.modelId,headers:null==(i=s.response)?void 0:i.headers,body:null==(l=s.response)?void 0:l.body};return{...s,response:u}});let eO=R()-eE,eM=og(e.usage),ej=await Promise.all(e.content.filter(e=>"tool-call"===e.type).map(e=>oW({toolCall:e,tools:ei,repairToolCall:k,refineToolInput:I,instructions:et,messages:ey}))),eR={},eN={},eP=new Set,e$=oE({content:e.content,toolCalls:ej,toolOutputs:[],toolApprovalRequests:[],toolApprovalResponses:[],tools:t});await oz({event:{callId:eT,provider:ee.provider,modelId:e.response.modelId,finishReason:e.finishReason.unified,usage:eM,content:e$,responseId:e.response.id,...null!=e.providerMetadata?{providerMetadata:e.providerMetadata}:{},performance:{responseTimeMs:eO,effectiveOutputTokensPerSecond:ok({tokens:eM.outputTokens,durationMs:eO}),outputTokensPerSecond:void 0,inputTokensPerSecond:void 0,effectiveTotalTokensPerSecond:ok({tokens:rn(eM.inputTokens,eM.outputTokens),durationMs:eO}),timeToFirstOutputMs:void 0}},callbacks:[ed,ek.onLanguageModelCallEnd]});let eq="required"===ef.type||"tool"===ef.type?ef:void 0;if(null!=eq&&!ej.some(e=>"required"===eq.type||e.toolName===eq.toolName))throw new e3({toolChoice:eq,finishReason:e.finishReason.unified,provider:ee.provider,modelId:ee.modelId,content:e.content});for(let e of ej){if(e.invalid)continue;let t=ob(ei,e.toolName);if(null==t)continue;null!=t.onInputStart&&await t.onInputStart({toolCallId:e.toolCallId,messages:ey,abortSignal:ev,context:C}),(null==t?void 0:t.onInputAvailable)!=null&&await t.onInputAvailable({input:e.input,toolCallId:e.toolCallId,messages:ey,abortSignal:ev,context:C});let o=await oZ({tools:ei,toolApproval:g,toolCall:e,messages:ey,toolsContext:E,runtimeContext:C});if("not-applicable"===o.type)continue;let r=M(),n=await ry({secret:y,approvalId:r,toolCallId:e.toolCallId,toolName:e.toolName,input:e.input});switch(o.type){case"user-approval":eR[e.toolCallId]={type:"tool-approval-request",approvalId:r,toolCall:e,...null!=o.reason?{reason:o.reason}:{},...null!=n?{signature:n}:{}},eP.add(e.toolCallId);break;case"approved":eR[e.toolCallId]={type:"tool-approval-request",approvalId:r,toolCall:e,isAutomatic:!0,...null!=n?{signature:n}:{}},eN[e.toolCallId]={type:"tool-approval-response",approvalId:r,toolCall:e,approved:!0,reason:o.reason,providerExecuted:e.providerExecuted};break;case"denied":eR[e.toolCallId]={type:"tool-approval-request",approvalId:r,toolCall:e,isAutomatic:!0,...null!=n?{signature:n}:{}},eN[e.toolCallId]={type:"tool-approval-response",approvalId:r,toolCall:e,approved:!1,reason:o.reason,providerExecuted:e.providerExecuted},eP.add(e.toolCallId)}}let eL=ej.filter(e=>e.invalid&&e.dynamic&&!e.providerExecuted);for(let e of(b=[],eL))b.push({type:"tool-error",toolCallId:e.toolCallId,toolName:e.toolName,input:e.input,error:(0,H.getErrorMessage)(e.error),dynamic:!0});v=ej.filter(e=>!e.providerExecuted),A=(T=Object.values(eN)).filter(e=>!1===e.approved);let eD={};if(null!=ei&&oj(e.finishReason.unified))for(let e of(await rz({toolCalls:v.filter(e=>!e.invalid&&!eP.has(e.toolCallId)),tools:ei,callId:eT,messages:ey,abortSignal:ev,timeout:d,experimental_sandbox:Q,toolsContext:E,onToolExecutionStart:e=>oz({event:e,callbacks:[ec,ek.onToolExecutionStart]}),onToolExecutionEnd:e=>oz({event:e,callbacks:[ep,ek.onToolExecutionEnd]}),executeToolInTelemetryContext:ek.executeTool,runInTracingChannelSpan:eI})))eD[e.output.toolCallId]=e.toolExecutionMs,b.push(e.output);let eU=R()-eE,eF={effectiveOutputTokensPerSecond:ok({tokens:eM.outputTokens,durationMs:eO}),outputTokensPerSecond:void 0,inputTokensPerSecond:void 0,effectiveTotalTokensPerSecond:ok({tokens:rn(eM.inputTokens,eM.outputTokens),durationMs:eO}),stepTimeMs:eU,responseTimeMs:eO,toolExecutionMs:eD,timeToFirstOutputMs:void 0};for(let t of ej){if(!t.providerExecuted)continue;let o=ob(ei,t.toolName);(null==o?void 0:o.type)==="provider"&&o.supportsDeferredResults&&(e.content.some(e=>"tool-result"===e.type&&e.toolCallId===t.toolCallId)||$.set(t.toolCallId,{toolName:t.toolName}))}for(let t of e.content)"tool-result"===t.type&&$.delete(t.toolCallId);let eB=oE({content:e.content,toolCalls:ej,toolOutputs:b,toolApprovalRequests:Object.values(eR),toolApprovalResponses:T,tools:t}),eH=await ra({content:eB,tools:t}),eW={...e.request,body:O.requestBody?null==(J=e.request)?void 0:J.body:void 0,messages:O.requestMessages?tA(ey):void 0},eV={...e.response,messages:tA(eH),body:O.responseBody?null==(K=e.response)?void 0:K.body:void 0},eJ=new o6({callId:eT,stepNumber:i,provider:ee.provider,modelId:ee.modelId,runtimeContext:C,content:eB,finishReason:e.finishReason.unified,rawFinishReason:e.finishReason.raw,usage:eM,performance:eF,warnings:e.warnings,providerMetadata:e.providerMetadata,request:eW,response:eV,toolsContext:E});return tg({warnings:null!=(G=e.warnings)?G:[],provider:ee.provider,model:ee.modelId}),j.push(eJ),N=et,P=[...ey,...eH],await oz({event:eJ,callbacks:[eh,ek.onStepEnd]}),eJ}})}finally{null!=r&&clearTimeout(r)}}while(b.length+A.length===v.length&&(v.length>0||$.size>0)&&!await rr({stopConditions:ei,steps:j}))let q=j[j.length-1],L=j.reduce((e,t)=>oy(e,t.usage),{inputTokens:void 0,inputTokenDetails:{noCacheTokens:void 0,cacheReadTokens:void 0,cacheWriteTokens:void 0},outputTokens:void 0,outputTokenDetails:{textTokens:void 0,reasoningTokens:void 0},totalTokens:void 0}),D=j.flatMap(e=>e.files),U=j.flatMap(e=>e.sources),F=j.flatMap(e=>e.toolCalls),B=j.flatMap(e=>e.staticToolCalls),W=j.flatMap(e=>e.dynamicToolCalls),V=j.flatMap(e=>e.toolResults),J=j.flatMap(e=>e.staticToolResults),K=j.flatMap(e=>e.dynamicToolResults),G=j.flatMap(e=>{var t;return null!=(t=e.warnings)?t:[]}),Y={callId:eT,stepNumber:q.stepNumber,model:q.model,runtimeContext:q.runtimeContext,finishReason:q.finishReason,rawFinishReason:q.rawFinishReason,usage:L,totalUsage:L,content:j.flatMap(e=>e.content),text:q.text,reasoning:q.reasoning,reasoningText:q.reasoningText,files:D,sources:U,toolCalls:F,staticToolCalls:B,dynamicToolCalls:W,toolResults:V,staticToolResults:J,dynamicToolResults:K,responseMessages:[...a,...j.flatMap(e=>e.response.messages)],warnings:G,request:q.request,response:q.response,providerMetadata:q.providerMetadata,steps:j,finalStep:q,toolsContext:E};if(await oz({event:Y,callbacks:[X,ek.onEnd]}),"stop"===q.finishReason||"tool-calls"!==q.finishReason&&q.text.length>0){let e=null!=m?m:oq();r=await e.parseCompleteOutput({text:q.text},{response:q.response,usage:q.usage,finishReason:q.finishReason})}return new rx({initialResponseMessages:a,steps:j,totalUsage:L,output:r})}catch(t){throw await (null==(e=ek.onError)?void 0:e.call(ek,{callId:eT,error:t})),om(t)}};return await eI({type:"generateText",event:eS,execute:eC})}async function rz({toolCalls:e,tools:t,callId:o,messages:r,abortSignal:n,timeout:a,experimental_sandbox:i,toolsContext:l,onToolExecutionStart:s,onToolExecutionEnd:u,executeToolInTelemetryContext:d,runInTracingChannelSpan:c}){return(await Promise.all(e.map(async e=>await oO({toolCall:e,tools:t,callId:o,messages:r,abortSignal:n,timeout:a,experimental_sandbox:i,toolsContext:l,onToolExecutionStart:s,onToolExecutionEnd:u,executeToolInTelemetryContext:d,runInTracingChannelSpan:c})))).filter(e=>null!=e)}var rx=class{constructor(e){this.initialResponseMessages=e.initialResponseMessages,this.steps=e.steps,this._output=e.output,this.totalUsage=e.totalUsage}get finalStep(){return this.steps.at(-1)}get content(){return this.steps.flatMap(e=>e.content)}get text(){return this.finalStep.text}get files(){return this.steps.flatMap(e=>e.files)}get reasoningText(){return this.finalStep.reasoningText}get reasoning(){return oY(this.finalStep.reasoning)}get toolCalls(){return this.steps.flatMap(e=>e.toolCalls)}get staticToolCalls(){return this.steps.flatMap(e=>e.staticToolCalls)}get dynamicToolCalls(){return this.steps.flatMap(e=>e.dynamicToolCalls)}get toolResults(){return this.steps.flatMap(e=>e.toolResults)}get staticToolResults(){return this.steps.flatMap(e=>e.staticToolResults)}get dynamicToolResults(){return this.steps.flatMap(e=>e.dynamicToolResults)}get sources(){return this.steps.flatMap(e=>e.sources)}get finishReason(){return this.finalStep.finishReason}get rawFinishReason(){return this.finalStep.rawFinishReason}get warnings(){return this.steps.flatMap(e=>{var t;return null!=(t=e.warnings)?t:[]})}get providerMetadata(){return this.finalStep.providerMetadata}get response(){return this.finalStep.response}get responseMessages(){return[...this.initialResponseMessages,...this.steps.flatMap(e=>e.response.messages)]}get request(){return this.finalStep.request}get usage(){return this.totalUsage}get output(){if(null==this._output)throw new eE;return this._output}};function rT(e,t){let o=new Headers(null!=e?e:{});for(let[e,r]of Object.entries(t))o.has(e)||o.set(e,r);return o}function rk({response:e,status:t,statusText:o,headers:r,stream:n}){let a=null!=t?t:200;void 0!==o?e.writeHead(a,o,r):e.writeHead(a,r);let i=n.getReader();return(async()=>{try{for(;;){let{done:t,value:o}=await i.read();if(t)break;let r=e.write(o),n=e.flush;"function"==typeof n&&n.call(e),r||await new Promise(t=>{e.once("drain",t)})}}catch(e){throw e}finally{e.end()}})()}var rI=class extends TransformStream{constructor(){super({transform(e,t){t.enqueue(`data: ${JSON.stringify(e)}
|
|
111
|
+
|
|
112
|
+
`)},flush(e){e.enqueue("data: [DONE]\n\n")}})}},rS={"content-type":"text/event-stream","cache-control":"no-cache",connection:"keep-alive","x-vercel-ai-ui-message-stream":"v1","x-accel-buffering":"no"},rC=t0.record(t0.string(),t1.optional());function rE(){return Object.create(null)}function rA(e){return e.type.startsWith("tool-")}function rO(e){return rA(e)||"dynamic-tool"===e.type}function rM(e){return e.type.split("-").slice(1).join("-")}function rj(e){var t;return(t=e.pipeThrough(new TransformStream))[Symbol.asyncIterator]=function(){let e=this.getReader(),t=!1;async function o(o){var r;if(!t){t=!0;try{o&&await (null==(r=e.cancel)?void 0:r.call(e))}finally{try{e.releaseLock()}catch(e){}}}}return{async next(){let r;if(t)return{done:!0,value:void 0};try{r=await e.read()}catch(e){throw await o(!1),e}let{done:n,value:a}=r;return n?(await o(!0),{done:!0,value:void 0}):{done:!1,value:a}},return:async()=>(await o(!0),{done:!0,value:void 0}),async throw(e){throw await o(!0),e}}},t}async function rR({stream:e,onError:t,abortSignal:o}){let r=e.getReader(),n=()=>{r.cancel().catch(()=>{})};(null==o?void 0:o.aborted)?n():null==o||o.addEventListener("abort",n,{once:!0});try{for(;;){let{done:e}=await r.read();if(e)break}}catch(e){null==t||t(e)}finally{null==o||o.removeEventListener("abort",n),r.releaseLock()}}function rN(){let e,t;return{promise:new Promise((o,r)=>{e=o,t=r}),resolve:e,reject:t}}(0,B.lazySchema)(()=>(0,B.zodSchema)(t0.union([t0.looseObject({type:t0.literal("text-start"),id:t0.string(),providerMetadata:t2.optional()}),t0.looseObject({type:t0.literal("text-delta"),id:t0.string(),delta:t0.string(),providerMetadata:t2.optional()}),t0.looseObject({type:t0.literal("text-end"),id:t0.string(),providerMetadata:t2.optional()}),t0.looseObject({type:t0.literal("error"),errorText:t0.string()}),t0.looseObject({type:t0.literal("tool-input-start"),toolCallId:t0.string(),toolName:t0.string(),providerExecuted:t0.boolean().optional(),providerMetadata:t2.optional(),toolMetadata:rC.optional(),dynamic:t0.boolean().optional(),title:t0.string().optional()}),t0.looseObject({type:t0.literal("tool-input-delta"),toolCallId:t0.string(),inputTextDelta:t0.string()}),t0.looseObject({type:t0.literal("tool-input-available"),toolCallId:t0.string(),toolName:t0.string(),input:t0.unknown(),providerExecuted:t0.boolean().optional(),providerMetadata:t2.optional(),toolMetadata:rC.optional(),dynamic:t0.boolean().optional(),title:t0.string().optional()}),t0.looseObject({type:t0.literal("tool-input-error"),toolCallId:t0.string(),toolName:t0.string(),input:t0.unknown(),providerExecuted:t0.boolean().optional(),providerMetadata:t2.optional(),toolMetadata:rC.optional(),dynamic:t0.boolean().optional(),errorText:t0.string(),title:t0.string().optional()}),t0.looseObject({type:t0.literal("tool-approval-request"),approvalId:t0.string(),toolCallId:t0.string(),approvalDescriptor:t0.unknown().optional(),reason:t0.string().optional(),isAutomatic:t0.boolean().optional(),signature:t0.string().optional()}),t0.looseObject({type:t0.literal("tool-approval-response"),approvalId:t0.string(),approved:t0.boolean(),reason:t0.string().optional(),providerExecuted:t0.boolean().optional(),providerMetadata:t2.optional()}),t0.looseObject({type:t0.literal("tool-output-available"),toolCallId:t0.string(),output:t0.unknown(),providerExecuted:t0.boolean().optional(),providerMetadata:t2.optional(),toolMetadata:rC.optional(),dynamic:t0.boolean().optional(),preliminary:t0.boolean().optional()}),t0.looseObject({type:t0.literal("tool-output-error"),toolCallId:t0.string(),errorText:t0.string(),providerExecuted:t0.boolean().optional(),providerMetadata:t2.optional(),toolMetadata:rC.optional(),dynamic:t0.boolean().optional()}),t0.looseObject({type:t0.literal("tool-output-denied"),toolCallId:t0.string()}),t0.looseObject({type:t0.literal("reasoning-start"),id:t0.string(),providerMetadata:t2.optional()}),t0.looseObject({type:t0.literal("reasoning-delta"),id:t0.string(),delta:t0.string(),providerMetadata:t2.optional()}),t0.looseObject({type:t0.literal("reasoning-end"),id:t0.string(),providerMetadata:t2.optional()}),t0.looseObject({type:t0.literal("custom"),kind:t0.string().transform(e=>e),providerMetadata:t2.optional()}),t0.looseObject({type:t0.literal("source-url"),sourceId:t0.string(),url:t0.string(),title:t0.string().optional(),providerMetadata:t2.optional()}),t0.looseObject({type:t0.literal("source-document"),sourceId:t0.string(),mediaType:t0.string(),title:t0.string(),filename:t0.string().optional(),providerMetadata:t2.optional()}),t0.looseObject({type:t0.literal("file"),url:t0.string(),mediaType:t0.string(),providerMetadata:t2.optional()}),t0.looseObject({type:t0.literal("reasoning-file"),url:t0.string(),mediaType:t0.string(),providerMetadata:t2.optional()}),t0.looseObject({type:t0.custom(e=>"string"==typeof e&&e.startsWith("data-"),{message:'Type must start with "data-"'}),id:t0.string().optional(),data:t0.unknown(),transient:t0.boolean().optional()}),t0.looseObject({type:t0.literal("start-step")}),t0.looseObject({type:t0.literal("finish-step")}),t0.looseObject({type:t0.literal("reset-step")}),t0.looseObject({type:t0.literal("start"),messageId:t0.string().optional(),messageMetadata:t0.unknown().optional()}),t0.looseObject({type:t0.literal("finish"),finishReason:t0.enum(["stop","length","content-filter","tool-calls","error","other"]).optional(),messageMetadata:t0.unknown().optional()}),t0.looseObject({type:t0.literal("abort"),reason:t0.string().optional()}),t0.looseObject({type:t0.literal("message-metadata"),messageMetadata:t0.unknown()})])));var rP=Symbol("streamRetryAttemptBoundary");function r$(e){return"object"==typeof e&&null!=e&&rP in e}function rq(e){return"object"==typeof e&&null!=e?e:void 0}function rL(e){return"string"==typeof e?e:void 0}function rD(e){return"string"==typeof e||"number"==typeof e?e:void 0}function rU(e){return"boolean"==typeof e?e:void 0}function rF(e){let t="string"==typeof e&&/^\d{3}$/.test(e)?Number(e):e;return"number"==typeof t&&Number.isInteger(t)&&t>=400&&t<=599?t:void 0}var rB=(0,B.createIdGenerator)({prefix:"aitxt",size:24}),rH=(0,B.createIdGenerator)({prefix:"call",size:24});async function rW({model:e,tools:t,toolOrder:o,output:r,toolChoice:n,prompt:a,system:i,instructions:l,messages:s,allowSystemInMessages:u,download:d,abortSignal:c,headers:p,includeRawChunks:h,providerOptions:m,repairToolCall:g,refineToolInput:f,executeLanguageModelCallInTelemetryContext:y=async({execute:e})=>await e(),callId:v,toolsContext:b,experimental_sandbox:_,_internal:{generateId:w=rB,generateCallId:z=rH,now:x=ow}={},onStart:T,onLanguageModelCallStart:k,onLanguageModelCallEnd:I,...S}){let C=tC(e),E=null!=v?v:z(),A=await oh({instructions:l,system:i,prompt:a,messages:s,allowSystemInMessages:u}),O=await tq({prompt:{instructions:A.instructions,messages:A.messages},supportedUrls:await C.supportedUrls,download:d,provider:C.provider.split(".")[0]}),M=await tG({tools:t,toolOrder:o,toolsContext:b,experimental_sandbox:_}),j=tK({toolChoice:n});await oz({event:{promptMessages:O},callbacks:T});let R={callId:E,...{provider:C.provider,modelId:C.modelId,instructions:A.instructions,messages:A.messages,tools:M,...S}};await oz({event:R,callbacks:k});let N=x(),{stream:P,response:$,request:q}=await y({...R,execute:async()=>await C.doStream({...S,tools:M,toolChoice:j,responseFormat:await (null==r?void 0:r.responseFormat),prompt:O,providerOptions:m,abortSignal:c,headers:p,includeRawChunks:h})});return{stream:rj(P.pipeThrough(function({tools:e,instructions:t,messages:o,repairToolCall:r,refineToolInput:n,callId:a,provider:i,modelId:l,generateId:s,now:u,callStartTimestampMs:d,onLanguageModelCallEnd:c}){let p,h,m=new Map,g=[],f=new Map,y=new Map,v=s(),b=l,_=[];return new TransformStream({async transform(l,s){var w,z,x,T,k;if("text-delta"===(T=l).type&&T.delta.length>0||"reasoning-delta"===T.type&&T.delta.length>0||"tool-input-delta"===T.type&&T.delta.length>0||"file"===T.type||"reasoning-file"===T.type||"tool-call"===T.type){let e=u();null==p?p=e-d:null!=h&&_.push(e-h),h=e}switch(l.type){case"error":s.enqueue({type:"error",error:function(e){var t,o,r,n,a,i,l,s,u,d,c,p,h,m,g,f,y,v;if((y=e)instanceof Error||"[object Error]"===Object.prototype.toString.call(y)||H.AISDKError.isInstance(e)||eY.isInstance(e))return e;let b=rq(e);if(null==b)return e;let _=(0,B.isProviderStreamError)(e),w=_?b:null!=(r=null!=(o=rq(null==(t=rq(b.response))?void 0:t.error))?o:rq(b.error))?r:b;if("string"!=typeof w.message)return e;let z=null!=(n=rL(w.type))?n:rL(b.type),x=null!=(a=rD(w.code))?a:rD(b.code),T=null!=(p=null!=(c=null!=(d=null!=(u=null!=(s=null!=(l=null!=(i=rF(w.statusCode))?i:rF(b.statusCode))?l:rF(w.status_code))?s:rF(b.status_code))?u:rF(w.status))?d:rF(b.status))?c:rF(w.code))?p:rF(b.code),k=function(e){switch(e.trim().toLowerCase()){case"overloaded":case"overloaded error":case"model overloaded":case"service unavailable":return{statusCode:503,isRetryable:!0};case"internal server error":return{statusCode:500,isRetryable:!0};default:return}}(w.message),I=null!=T?T:null==k?void 0:k.statusCode,S=null!=(g=null!=(m=null!=(h=rU(w.isRetryable))?h:rU(b.isRetryable))?m:rU(w.is_retryable))?g:rU(b.is_retryable);return new eY({message:w.message,type:z,code:x,statusCode:I,isRetryable:null!=(f=null!=S?S:null==k?void 0:k.isRetryable)?f:null!=(v=I)&&(408===v||409===v||429===v||v>=500),data:_?e.data:e})}(l.error)});break;case"text-start":rJ({content:g,partIndexes:f,id:l.id,type:"text",providerMetadata:l.providerMetadata}),s.enqueue(l);break;case"text-delta":rJ({content:g,partIndexes:f,id:l.id,type:"text",textDelta:l.delta,providerMetadata:l.providerMetadata}),s.enqueue({type:"text-delta",id:l.id,text:l.delta,providerMetadata:l.providerMetadata});break;case"text-end":rJ({content:g,partIndexes:f,id:l.id,type:"text",providerMetadata:l.providerMetadata}),f.delete(l.id),s.enqueue(l);break;case"reasoning-start":rJ({content:g,partIndexes:y,id:l.id,type:"reasoning",providerMetadata:l.providerMetadata}),s.enqueue(l);break;case"reasoning-delta":rJ({content:g,partIndexes:y,id:l.id,type:"reasoning",textDelta:l.delta,providerMetadata:l.providerMetadata}),s.enqueue({type:"reasoning-delta",id:l.id,text:l.delta,providerMetadata:l.providerMetadata});break;case"reasoning-end":rJ({content:g,partIndexes:y,id:l.id,type:"reasoning",providerMetadata:l.providerMetadata}),y.delete(l.id),s.enqueue(l);break;case"file":case"reasoning-file":{let e=new oC({data:"data"===l.data.type?l.data.data:l.data.url.toString(),mediaType:l.mediaType});g.push({type:l.type,file:e,...null!=l.providerMetadata?{providerMetadata:l.providerMetadata}:{}}),s.enqueue({type:l.type,file:e,providerMetadata:l.providerMetadata});break}case"finish":{let e,t,o=og(l.usage),r=u()-d,n={responseTimeMs:r,effectiveOutputTokensPerSecond:ok({tokens:o.outputTokens,durationMs:r}),outputTokensPerSecond:null==p?void 0:ok({tokens:o.outputTokens,durationMs:r-p}),inputTokensPerSecond:null==p?void 0:ok({tokens:o.inputTokens,durationMs:p}),effectiveTotalTokensPerSecond:ok({tokens:rn(o.inputTokens,o.outputTokens),durationMs:r}),timeToFirstOutputMs:p,timeBetweenOutputChunksMs:_.length>0?(e=[...k=_].sort((e,t)=>e-t),t=k.reduce((e,t)=>e+t,0),{min:e[0],p10:rV(e,.1),median:rV(e,.5),avg:t/k.length,p90:rV(e,.9),max:e[e.length-1]}):void 0};await oz({event:{callId:a,provider:i,modelId:b,finishReason:l.finishReason.unified,usage:o,content:g,responseId:v,...null!=l.providerMetadata?{providerMetadata:l.providerMetadata}:{},performance:n},callbacks:c}),s.enqueue({type:"model-call-end",finishReason:l.finishReason.unified,rawFinishReason:l.finishReason.raw,usage:o,providerMetadata:l.providerMetadata,performance:n});break}case"tool-call":try{let a=await oW({toolCall:l,tools:e,repairToolCall:r,refineToolInput:n,instructions:t,messages:o});m.set(a.toolCallId,a),s.enqueue(a),g.push(a),a.invalid&&(a.providerExecuted||s.enqueue({type:"tool-error",toolCallId:a.toolCallId,toolName:a.toolName,input:a.input,error:(0,H.getErrorMessage)(a.error),dynamic:!0,title:a.title,...null!=a.toolMetadata?{toolMetadata:a.toolMetadata}:{}}))}catch(e){s.enqueue({type:"error",error:e})}break;case"tool-approval-request":{let e=m.get(l.toolCallId);if(null==e){s.enqueue({type:"error",error:new eh({toolCallId:l.toolCallId,approvalId:l.approvalId})});break}let t={type:"tool-approval-request",approvalId:l.approvalId,toolCall:e};s.enqueue(t),g.push(t);break}case"tool-result":{let e=l.toolName,t=m.get(l.toolCallId),o=l.isError?{type:"tool-error",toolCallId:l.toolCallId,toolName:e,input:null==t?void 0:t.input,providerExecuted:!0,error:l.result,dynamic:l.dynamic,...null!=l.providerMetadata?{providerMetadata:l.providerMetadata}:{},...(null==t?void 0:t.toolMetadata)!=null?{toolMetadata:t.toolMetadata}:{}}:{type:"tool-result",toolCallId:l.toolCallId,toolName:e,input:null==t?void 0:t.input,output:l.result,providerExecuted:!0,dynamic:l.dynamic,...null!=l.providerMetadata?{providerMetadata:l.providerMetadata}:{},...(null==t?void 0:t.toolMetadata)!=null?{toolMetadata:t.toolMetadata}:{}};s.enqueue(o),g.push(o);break}case"tool-input-start":{let t=ob(e,l.toolName);s.enqueue({...l,dynamic:null!=(w=l.dynamic)?w:(null==t?void 0:t.type)==="dynamic",title:null==t?void 0:t.title,...(null==t?void 0:t.metadata)!=null?{toolMetadata:t.metadata}:{}});break}case"stream-start":s.enqueue({type:"model-call-start",warnings:l.warnings});break;case"response-metadata":v=null!=(z=l.id)?z:v,b=null!=(x=l.modelId)?x:b,s.enqueue({type:"model-call-response-metadata",id:l.id,timestamp:l.timestamp,modelId:l.modelId});break;default:("custom"===l.type||"source"===l.type)&&g.push(l),s.enqueue(l)}}})}({tools:t,instructions:A.instructions,messages:A.messages,repairToolCall:g,refineToolInput:f,callId:E,provider:C.provider,modelId:C.modelId,generateId:w,now:x,callStartTimestampMs:N,onLanguageModelCallEnd:I}))),response:$,request:q}}function rV(e,t){return e[Math.ceil(t*e.length)-1]}function rJ({content:e,partIndexes:t,id:o,type:r,textDelta:n,providerMetadata:a}){let i=t.get(o);null==i&&(i=e.push({type:r,text:"",...null!=a?{providerMetadata:a}:{}})-1,t.set(o,i));let l=e[i];null!=n&&(l.text+=n),null!=a&&(l.providerMetadata=a)}var rK=(0,B.createIdGenerator)({prefix:"aitxt",size:24}),rG=(0,B.createIdGenerator)({prefix:"call",size:24}),rY={file:!0,custom:!1,source:!1,"text-start":!1,"text-end":!1,"text-delta":!0,"reasoning-start":!1,"reasoning-end":!1,"reasoning-delta":!0,"reasoning-file":!0,"tool-input-start":!1,"tool-input-end":!1,"tool-input-delta":!0,"tool-approval-request":!1,"tool-approval-response":!1,"tool-call":!0,"tool-result":!1,"tool-error":!1,"tool-execution-end":!1,"model-call-start":!1,"model-call-response-metadata":!1,"model-call-end":!1,error:!1,raw:!1};function rZ(e){if(!rY[e.type])return!1;switch(e.type){case"text-delta":case"reasoning-delta":return e.text.length>0;case"tool-input-delta":return e.delta.length>0;case"file":case"reasoning-file":case"tool-call":return!0;default:return!1}}var rX=Symbol("streamRetryBoundary");async function rQ(e){try{await e}catch(e){}}var r0=class{constructor({model:e,telemetry:t,headers:o,settings:r,maxRetries:n,streamRetries:a,abortSignal:i,stepTimeoutMs:l,stepAbortController:s,firstChunkTimeoutMs:u,firstChunkAbortController:d,chunkTimeoutMs:c,chunkAbortController:p,instructions:h,system:m,prompt:g,messages:f,allowSystemInMessages:y,experimental_sandbox:v,tools:b,toolChoice:_,transforms:w,activeTools:z,toolOrder:x,repairToolCall:T,refineToolInput:k,stopConditions:I,output:S,toolApproval:C,experimental_toolCallers:E,experimental_toolApprovalSecret:A,providerOptions:O,prepareStep:M,now:j,generateId:R,generateCallId:N,timeout:P,onChunk:$,onError:q,canRetryStreamViaOnError:L,onEnd:D,onAbort:U,onStepFinish:F,onStart:W,onStepStart:V,onLanguageModelCallStart:J,onLanguageModelCallEnd:K,onToolExecutionStart:G,onToolExecutionEnd:Y,runtimeContext:Z,toolsContext:X,download:Q,include:ee}){let et,eo,er,en,ea,ei;this._totalUsage=new B.DelayedPromise,this._finishReason=new B.DelayedPromise,this._rawFinishReason=new B.DelayedPromise,this._steps=new B.DelayedPromise,this._initialResponseMessages=new B.DelayedPromise,this.outputSpecification=S,this.tools=b;const el=rl({tools:b,toolCallers:E}),es=rt({telemetry:t,includeRuntimeContext:null==t?void 0:t.includeRuntimeContext,includeToolsContext:null==t?void 0:t.includeToolsContext});let eu=[],ed={},ec=[],ep=[];const eh=[],em=[];let eg=[];const ef=()=>{let e=new Set;return t=>{if(!e.has(t))return e.add(t),t;let o=R(),r=o,n=0;for(;e.has(r);)r=`${o}-${++n}`;return e.add(r),r}},ey=ef(),ev=ef(),eb=new Map;let e_=rE(),ew=rE();const ez=new Set,ex=new TransformStream({async transform(t,o){var r,n,a,i,l;if(rX in t){let e=t[rX];eu=[],ew=rE(),e_=rE(),ed=e.request,ec=null!=(r=e.request.messages)?r:[],ep=e.warnings;return}let{part:s}=t;o.enqueue(t);let u="error"===s.type&&ez.has(s.error);if(u||await oz({event:{chunk:s},callbacks:$}),"error"===s.type){let e=om(s.error);eE.isInstance(e)&&(er=e),u?ez.delete(s.error):await oz({event:{error:e},callbacks:async e=>{await q(e)}})}if(("custom"===s.type||"source"===s.type||"tool-call"===s.type||"tool-approval-request"===s.type||"tool-approval-response"===s.type||"tool-error"===s.type)&&eu.push(s),"text-start"===s.type&&(e_[s.id]={type:"text",text:"",providerMetadata:s.providerMetadata},eu.push(e_[s.id])),"text-delta"===s.type){let e=e_[s.id];if(null==e)return void o.enqueue({part:{type:"error",error:`text part ${s.id} not found`},partialOutput:void 0});e.text+=s.text,e.providerMetadata=null!=(n=s.providerMetadata)?n:e.providerMetadata}if("text-end"===s.type){let e=e_[s.id];if(null==e)return void o.enqueue({part:{type:"error",error:`text part ${s.id} not found`},partialOutput:void 0});e.providerMetadata=null!=(a=s.providerMetadata)?a:e.providerMetadata,delete e_[s.id]}if("reasoning-start"===s.type&&(ew[s.id]={type:"reasoning",text:"",providerMetadata:s.providerMetadata},eu.push(ew[s.id])),"reasoning-delta"===s.type){let e=ew[s.id];if(null==e)return void o.enqueue({part:{type:"error",error:`reasoning part ${s.id} not found`},partialOutput:void 0});e.text+=s.text,e.providerMetadata=null!=(i=s.providerMetadata)?i:e.providerMetadata}if("reasoning-end"===s.type){let e=ew[s.id];if(null==e)return void o.enqueue({part:{type:"error",error:`reasoning part ${s.id} not found`},partialOutput:void 0});e.providerMetadata=null!=(l=s.providerMetadata)?l:e.providerMetadata,delete ew[s.id]}if(("file"===s.type||"reasoning-file"===s.type)&&eu.push({type:s.type,file:s.file,...null!=s.providerMetadata?{providerMetadata:s.providerMetadata}:{}}),"tool-result"!==s.type||s.preliminary||eu.push(s),"start-step"===s.type&&(eu=[],ew=rE(),e_=rE(),ed=s.request,ep=s.warnings),"finish-step"===s.type){let t=await ra({content:eu,tools:b}),o=new o6({callId:ej,stepNumber:eh.length,provider:e.provider,modelId:e.modelId,runtimeContext:Z,toolsContext:X,content:eu,finishReason:s.finishReason,rawFinishReason:s.rawFinishReason,usage:s.usage,performance:s.performance,warnings:ep,request:{...ed,messages:ee.requestMessages?tA(ec):void 0},response:{...s.response,messages:tA(t)},providerMetadata:s.providerMetadata});await oz({event:o,callbacks:[F,es.onStepEnd]}),tg({warnings:ep,provider:e.provider,model:e.modelId}),eh.push(o),eo=[...eg,...t],et.resolve()}"finish"===s.type&&(ei=s.totalUsage,en=s.finishReason,ea=s.rawFinishReason)},async flush(e){try{if(0===eh.length||null!=er){let e=(null==i?void 0:i.aborted)?i.reason:null!=er?er:new eE({message:"No output generated. Check the stream for errors."});eM.rejectResultPromises(e);return}let e=null!=en?en:"other",t=null!=ei?ei:of();eM._finishReason.resolve(e),eM._rawFinishReason.resolve(ea),eM._totalUsage.resolve(t),eM._steps.resolve(eh);let o=eh[eh.length-1],r=eh.flatMap(e=>e.content),n=eh.flatMap(e=>e.files),a=eh.flatMap(e=>e.sources),l=eh.flatMap(e=>e.toolCalls),s=eh.flatMap(e=>e.staticToolCalls),u=eh.flatMap(e=>e.dynamicToolCalls),d=eh.flatMap(e=>e.toolResults),c=eh.flatMap(e=>e.staticToolResults),p=eh.flatMap(e=>e.dynamicToolResults),h=eh.flatMap(e=>{var t;return null!=(t=e.warnings)?t:[]}),m=null==D?void 0:async e=>{let t=null==S?void 0:await eM.getOutputPromise().catch(()=>void 0);await D({...e,...null!=S?{output:t}:{}})},g={callId:ej,toolsContext:o.toolsContext,stepNumber:o.stepNumber,model:o.model,runtimeContext:o.runtimeContext,finishReason:o.finishReason,rawFinishReason:o.rawFinishReason,usage:t,totalUsage:t,content:r,text:o.text,reasoning:o.reasoning,reasoningText:o.reasoningText,files:n,sources:a,toolCalls:l,staticToolCalls:s,dynamicToolCalls:u,toolResults:d,staticToolResults:c,dynamicToolResults:p,responseMessages:[...em,...eh.flatMap(e=>e.response.messages)],warnings:h,request:o.request,response:o.response,providerMetadata:o.providerMetadata,steps:eh,finalStep:o};await Promise.all([oz({event:g,callbacks:m}),oz({event:g,callbacks:es.onEnd})])}catch(t){e.error(t)}}}),eT=function(){let e=[],t=null,o=!1,r=!1,n=rN(),a=()=>{r||(o=!0,n.resolve(),e.forEach(({reader:e,onCancel:t})=>{null==t||t(),e.cancel()}),e=[],null==t||t.close())},i=async()=>{var l;if(r)return;if(o&&0===e.length){null==t||t.close();return}if(0===e.length)return n=rN(),await n.promise,await i();let s=e[0];try{let{value:n,done:a}=await s.reader.read();if(r)return;a?(e.shift(),0===e.length&&o?null==t||t.close():await i()):null==t||t.enqueue(n)}catch(o){if(r)return;null==(l=s.onError)||l.call(s,o),null==t||t.error(o),e.shift(),a()}};return{stream:new ReadableStream({start(e){t=e},pull:i,async cancel(){for(let{reader:t,onCancel:a}of(r=!0,o=!0,n.resolve(),e))null==a||a(),await t.cancel();e=[]}}),addStream:(t,a)=>{var i;if(r){null==(i=null==a?void 0:a.onCancel)||i.call(a),t.cancel().catch(()=>{});return}if(o)throw Error("Cannot add inner stream: outer stream is closed");e.push({reader:t.getReader(),...a}),n.resolve()},close:()=>{r||(o=!0,n.resolve(),0===e.length&&(null==t||t.close()))},terminate:a}}();this.addStream=eT.addStream,this.closeStream=eT.close;const ek=eT.stream.getReader();let eI=new ReadableStream({async start(e){e.enqueue({type:"start"})},async pull(e){async function t(){await oz({event:{callId:ej,steps:eh,...(null==i?void 0:i.reason)!==void 0?{reason:i.reason}:{}},callbacks:[U,es.onAbort]}),e.enqueue({type:"abort",...(null==i?void 0:i.reason)!==void 0?{reason:(0,H.getErrorMessage)(i.reason)}:{}}),e.close()}try{let{done:o,value:r}=await ek.read();if(o)return void e.close();if(null==i?void 0:i.aborted)return void await t();e.enqueue(r)}catch(o){(0,B.isAbortError)(o)&&(null==i?void 0:i.aborted)?await t():e.error(o)}},cancel:e=>eT.stream.cancel(e)}),eS=!0;eI=function({stream:e,transforms:t,tools:o,stopStream:r}){let n,a,i=e.getReader(),l=!1;return new ReadableStream({async pull(e){null!=a||(a=(()=>{let e=new ReadableStream({async pull(e){let{done:t,value:o}=await i.read();if(t){l=!0,e.close();return}if(rX in o){n=o,e.close();return}e.enqueue(o)},cancel:e=>i.cancel(e)},{highWaterMark:0});for(let n of t)e=e.pipeThrough(n({tools:o,stopStream:r}));return e.getReader()})());let{done:s,value:u}=await a.read();if(!s)return void e.enqueue(u);if(a=void 0,null!=n){e.enqueue(n),n=void 0;return}l&&e.close()},async cancel(e){await (null==a?void 0:a.cancel(e)),await i.cancel(e)}})}({stream:eI=eI.pipeThrough(new TransformStream({async transform(e,t){eS&&t.enqueue(e)}})),transforms:w,tools:b,stopStream(){eT.terminate(),eS=!1}}),this.baseStream=eI.pipeThrough(function(e){let t,o,r="",n="",a="";function i({controller:e,chunk:t}){e.enqueue(t)}function l({controller:e,partialOutput:r}){i({controller:e,chunk:{part:{type:"text-delta",id:t,text:n,providerMetadata:o},partialOutput:r}}),n=""}return new TransformStream({async transform(s,u){var d;if(rX in s){t=void 0,r="",n="",o=void 0,a="",u.enqueue(s);return}if("finish-step"===s.type&&n.length>0&&l({controller:u}),"text-delta"!==s.type&&"text-start"!==s.type&&"text-end"!==s.type)return void i({controller:u,chunk:{part:s,partialOutput:void 0}});if(null==t)t=s.id;else if(s.id!==t)return void i({controller:u,chunk:{part:s,partialOutput:void 0}});if("text-start"===s.type)return void i({controller:u,chunk:{part:s,partialOutput:void 0}});if("text-end"===s.type){n.length>0&&l({controller:u}),i({controller:u,chunk:{part:s,partialOutput:void 0}});return}if(r+=s.text,n+=s.text,o=null!=(d=s.providerMetadata)?d:o,0===s.text.length&&null!=s.providerMetadata)return void i({controller:u,chunk:{part:s,partialOutput:void 0}});let c=await e.parsePartialOutput({text:r});if(void 0!==c){let e="string"==typeof c.partial?c.partial:JSON.stringify(c.partial);e!==a&&(l({controller:u,partialOutput:c.partial}),a=e)}}})}(null!=S?S:oq())).pipeThrough(ex);const{maxRetries:eC}=ox({maxRetries:n,abortSignal:i}),{maxRetries:eA}=ox({maxRetries:a,abortSignal:i,parameter:"streamRetries",defaultMaxRetries:0}),eO=tJ(r),eM=this,ej=N();(async()=>{var t;let r=await oh({instructions:h,system:m,prompt:g,messages:f,allowSystemInMessages:y}),n={callId:ej,operationId:"ai.streamText",provider:e.provider,modelId:e.modelId,instructions:r.instructions,messages:r.messages,tools:b,toolChoice:_,activeTools:z,toolOrder:x,maxOutputTokens:eO.maxOutputTokens,temperature:eO.temperature,topP:eO.topP,topK:eO.topK,presencePenalty:eO.presencePenalty,frequencyPenalty:eO.frequencyPenalty,stopSequences:eO.stopSequences,seed:eO.seed,reasoning:eO.reasoning,maxRetries:eC,timeout:P,headers:o,providerOptions:O,output:S,runtimeContext:Z,toolsContext:X},a=null==(t=es.startTracingChannelContext)?void 0:t.call(es,{type:"streamText",event:n,completion:eM._totalUsage.promise.then(()=>void 0)}),w=e=>{var t;return null!=(t=null==a?void 0:a.run(e))?t:e()},E=null==es.runInTracingChannelSpan?void 0:e=>w(()=>es.runInTracingChannelSpan(e));await oz({event:n,callbacks:[W,es.onStart]});let N=r.messages,D=r.instructions,{approvedToolApprovals:U,deniedToolApprovals:F}=oI({messages:N});if(F.length>0||U.length>0){let e,{approvedToolApprovals:t,deniedToolApprovals:o,invalidToolApprovals:r}=await rv({approvedToolApprovals:U.filter(e=>!e.toolCall.providerExecuted),tools:b,toolApproval:C,messages:N,toolsContext:X,runtimeContext:Z,toolApprovalSecret:A}),n=[...F.filter(e=>!e.toolCall.providerExecuted),...o],a=n.filter(e=>null==e.existingToolResult),l=F.filter(e=>e.toolCall.providerExecuted),s=new ReadableStream({start(t){e=t}});eM.addStream(s);try{for(let t of[...n,...l])null==e||e.enqueue({type:"tool-output-denied",toolCallId:t.toolCall.toolCallId,toolName:t.toolCall.toolName});for(let t of r)null==e||e.enqueue({type:"tool-error",toolCallId:t.toolCall.toolCallId,toolName:t.toolCall.toolName,input:t.toolCall.input,error:(0,H.getErrorMessage)(t.error),title:t.toolCall.title,...!0===t.toolCall.dynamic?{dynamic:!0}:{},...null!=t.toolCall.toolMetadata?{toolMetadata:t.toolCall.toolMetadata}:{}});let o=[];if(await Promise.all(t.map(async t=>{let r=await oO({toolCall:t.toolCall,tools:b,callId:ej,messages:N,abortSignal:i,timeout:P,experimental_sandbox:v,toolsContext:X,onToolExecutionStart:(0,B.filterNullable)(G,es.onToolExecutionStart),onToolExecutionEnd:(0,B.filterNullable)(Y,es.onToolExecutionEnd),executeToolInTelemetryContext:es.executeTool,runInTracingChannelSpan:E,onPreliminaryToolResult:t=>{null==e||e.enqueue(t)}});null!=r&&(null==e||e.enqueue(r.output),o.push(r.output))})),o.length>0||a.length>0||r.length>0){let e=[];for(let t of o)e.push({type:"tool-result",toolCallId:t.toolCallId,toolName:t.toolName,output:await tW({toolCallId:t.toolCallId,input:t.input,tool:ob(b,t.toolName),output:"tool-result"===t.type?t.output:t.error,errorMode:"tool-error"===t.type?"text":"none"})});for(let t of r)e.push({type:"tool-result",toolCallId:t.toolCall.toolCallId,toolName:t.toolCall.toolName,output:await tW({toolCallId:t.toolCall.toolCallId,input:t.toolCall.input,tool:ob(b,t.toolCall.toolName),output:t.error,errorMode:"text"})});for(let t of a)e.push({type:"tool-result",toolCallId:t.toolCall.toolCallId,toolName:t.toolCall.toolName,output:{type:"execution-denied",reason:t.approvalResponse.reason}});em.push({role:"tool",content:e})}}finally{null==e||e.close()}}async function er({currentStep:t,usage:n}){var a,h,m,g,f,E,U,F,H,W,en,ea;let ei,eu,ed=oT({abortController:s,label:"Step",timeoutMs:l});function ep(){null!=ei&&(clearTimeout(ei),ei=void 0)}function ef(){null!=eu&&clearTimeout(eu),eu=oT({abortController:p,label:"Chunk",timeoutMs:c})}function e_(){null==i||i.removeEventListener("abort",e_),null!=ed&&clearTimeout(ed),ep(),null!=eu&&(clearTimeout(eu),eu=void 0)}null==i||i.addEventListener("abort",e_,{once:!0});try{let l,s,c;et=new B.DelayedPromise;let p=null==(a=es.startTracingChannelContext)?void 0:a.call(es,{type:"step",event:{callId:ej,stepNumber:t},completion:et.promise}),eu=e=>{var t;return null!=(t=null==p?void 0:p.run(e))?t:e()},ed=eh.flatMap(e=>e.response.messages),ew=[...em,...ed],ex=null!=eo?eo:[...N,...em],eT=await (null==M?void 0:M({model:e,steps:eh,stepNumber:eh.length,instructions:D,initialInstructions:r.instructions,messages:ex,initialMessages:N,responseMessages:ew,toolsContext:X,runtimeContext:Z,experimental_sandbox:v})),ek=null!=(h=null==eT?void 0:eT.experimental_sandbox)?h:v;Z=null!=(m=null==eT?void 0:eT.runtimeContext)?m:Z,X=null!=(g=null==eT?void 0:eT.toolsContext)?g:X;let eI=tC(null!=(f=null==eT?void 0:eT.model)?f:e),eS=oM({tools:b,activeTools:null!=(E=null==eT?void 0:eT.activeTools)?E:z}),{executionTools:eR,modelTools:eN}=rs({tools:eS,toolCallers:el}),eP=null!=(U=null==eT?void 0:eT.toolOrder)?U:x,e$=await tG({tools:eN,toolOrder:eP,toolsContext:X,experimental_sandbox:ek}),eq=tK({toolChoice:null!=(F=null==eT?void 0:eT.toolChoice)?F:_}),eL=null!=(H=null==eT?void 0:eT.messages)?H:ex;eg=eL;let eD=null!=(en=null!=(W=null==eT?void 0:eT.instructions)?W:null==eT?void 0:eT.system)?en:D;D=eD;let eU=tj(O,null==eT?void 0:eT.providerOptions),eF=oG({callSettings:eO,stepSettings:eT}),eB=j(),{retry:eH}=ox({maxRetries:eC,abortSignal:i}),eW=!1,eV=()=>eu(()=>eH(async()=>{var t,r;return rW({model:null!=(t=null==eT?void 0:eT.model)?t:e,tools:eN,toolOrder:eP,toolChoice:null!=(r=null==eT?void 0:eT.toolChoice)?r:_,instructions:eD,messages:eL,allowSystemInMessages:y,repairToolCall:T,refineToolInput:k,abortSignal:i,headers:o,includeRawChunks:ee.rawChunks,providerOptions:eU,download:Q,output:S,callId:ej,executeLanguageModelCallInTelemetryContext:es.executeLanguageModelCall,toolsContext:X,experimental_sandbox:ek,onLanguageModelCallStart:(0,B.filterNullable)(J,es.onLanguageModelCallStart),onLanguageModelCallEnd:(0,B.filterNullable)(K,es.onLanguageModelCallEnd),onStart:async({promptMessages:e})=>{var t,o;eW||(eW=!0,await oz({event:{callId:ej,provider:eI.provider,modelId:eI.modelId,stepNumber:eh.length,instructions:eD,messages:eL,tools:b,toolChoice:null!=(t=null==eT?void 0:eT.toolChoice)?t:_,activeTools:null!=(o=null==eT?void 0:eT.activeTools)?o:z,toolOrder:eP,steps:[...eh],providerOptions:eU,runtimeContext:Z,toolsContext:X,output:S,promptMessages:e,stepTools:e$,stepToolChoice:eq},callbacks:[V,es.onStepStart]}))},_internal:{now:j},...eF})})),eJ=await eV(),eK=eJ.request,eG=eJ.response,eY=eJ.stream.getReader(),eZ=0,eX=0,eQ=[],e0=new WeakSet,e1=new Set,e2=new Set,e4=!1,e3=eA>0||L,e5=new ReadableStream({async pull(e){let t=t=>{switch(t.type){case"text-start":e1.add(t.id);break;case"text-end":e1.delete(t.id);break;case"reasoning-start":e2.add(t.id);break;case"reasoning-end":e2.delete(t.id)}e.enqueue(t)},o=()=>{for(let e of eQ)t(e);eQ=[]},r=()=>{for(let t of e1)e.enqueue({type:"text-end",id:t});for(let t of(e1.clear(),e2))e.enqueue({type:"reasoning-end",id:t});e2.clear()};for(;;){let n,a,{done:i,value:l}=await eY.read();if(e4&&(e.enqueue(function({warnings:e}){return{[rP]:!0,warnings:e}}({warnings:i||"model-call-start"!==l.type?[]:l.warnings})),e4=!1),i){o(),e.close();return}let s="tool-input-start"===l.type||"tool-input-delta"===l.type||"tool-input-end"===l.type||"tool-call"===l.type||"tool-approval-request"===l.type||"tool-approval-response"===l.type||"tool-result"===l.type||"tool-error"===l.type;if("model-call-end"===l.type){o(),t(l);return}if(e3&&"error"!==l.type&&(s||eQ.length>0)){rZ(l)&&(ep(),ef(),e0.add(l)),eQ.push(l);continue}if("error"!==l.type)return void t(l);await oz({event:{chunk:l},callbacks:$});let u=om(l.error);try{n=await q({error:u})}catch(e){}let d=L&&"object"==typeof n&&null!=n&&"retry"in n&&!0===n.retry,c=eZ<eA,p=!c&&d&&eX<1;if(!c&&!p){o(),ez.add(l.error),e.enqueue(l);return}c?eZ++:eX++,await eY.cancel(u),eQ=[],r();try{a=await eV()}catch(t){e.enqueue({type:"error",error:t}),e.close();return}eK=a.request,eG=a.response,eY=a.stream.getReader(),e4=!0}},cancel:e=>eY.cancel(e)});null!=i&&i.aborted||(ei=oT({abortController:d,label:"First chunk",timeoutMs:u}));let e6=function({stream:e,tools:t,stepInputMessages:o,abortSignal:r,runtimeContext:n}){if(null==t)return e;let a=rE();return e.pipeThrough(new TransformStream({async transform(e,i){if(i.enqueue(e),!r$(e))switch(e.type){case"tool-input-start":{a[e.id]=e.toolName;let i=ob(t,e.toolName);(null==i?void 0:i.onInputStart)!=null&&await i.onInputStart({toolCallId:e.id,messages:o,abortSignal:r,context:n});break}case"tool-input-delta":{let i=ob(t,a[e.id]);(null==i?void 0:i.onInputDelta)!=null&&await i.onInputDelta({inputTextDelta:e.delta,toolCallId:e.id,messages:o,abortSignal:r,context:n});break}case"tool-call":{let i=ob(t,a[e.toolCallId]);delete a[e.toolCallId],(null==i?void 0:i.onInputAvailable)!=null&&await i.onInputAvailable({input:e.input,toolCallId:e.toolCallId,messages:o,abortSignal:r,context:n})}}}}))}({stream:e5,tools:eR,stepInputMessages:eL,abortSignal:i,runtimeContext:Z}),e9=null==es.runInTracingChannelSpan?void 0:e=>eu(()=>es.runInTracingChannelSpan(e)),e8=function({stream:e,tools:t,callId:o,messages:r,abortSignal:n,timeout:a,experimental_sandbox:i,toolsContext:l,toolApproval:s,runtimeContext:u,toolApprovalSecret:d,generateId:c,onToolExecutionStart:p,onToolExecutionEnd:h,executeToolInTelemetryContext:m,runInTracingChannelSpan:g}){let f=[];return e.pipeThrough(new TransformStream({async transform(e,y){if(y.enqueue(e),r$(e)){f.length=0;return}switch(e.type){case"tool-call":{if(e.invalid)return;let o=ob(t,e.toolName);if(null==o)return;let n=await oZ({tools:t,toolCall:e,toolApproval:s,messages:r,toolsContext:l,runtimeContext:u});if("not-applicable"===n.type){null!=o.execute&&!0!==e.providerExecuted&&f.push(e);return}let a=c(),i=await ry({secret:d,approvalId:a,toolCallId:e.toolCallId,toolName:e.toolName,input:e.input});switch(n.type){case"user-approval":return void y.enqueue({type:"tool-approval-request",approvalId:a,toolCall:e,...null!=n.reason?{reason:n.reason}:{},...null!=i?{signature:i}:{}});case"denied":y.enqueue({type:"tool-approval-request",approvalId:a,toolCall:e,isAutomatic:!0,...null!=i?{signature:i}:{}}),y.enqueue({type:"tool-approval-response",approvalId:a,approved:!1,toolCall:e,reason:n.reason,providerExecuted:e.providerExecuted});return;case"approved":y.enqueue({type:"tool-approval-request",approvalId:a,toolCall:e,isAutomatic:!0,...null!=i?{signature:i}:{}}),y.enqueue({type:"tool-approval-response",approvalId:a,approved:!0,toolCall:e,reason:n.reason,providerExecuted:e.providerExecuted})}null!=o.execute&&!0!==e.providerExecuted&&f.push(e);return}case"model-call-end":if(!oj(e.finishReason))return;await Promise.all(f.map(async e=>{try{let s=await oO({toolCall:e,tools:t,callId:o,messages:r,abortSignal:n,timeout:a,experimental_sandbox:i,toolsContext:l,onToolExecutionStart:p,onToolExecutionEnd:h,executeToolInTelemetryContext:m,runInTracingChannelSpan:g,onPreliminaryToolResult:e=>{y.enqueue(e)}});null!=s&&(y.enqueue({type:"tool-execution-end",toolCallId:s.output.toolCallId,toolExecutionMs:s.toolExecutionMs}),y.enqueue(s.output))}catch(e){y.enqueue({type:"error",error:e})}}));return}}}))}({stream:e6,tools:eR,callId:ej,messages:eL,abortSignal:i,timeout:P,experimental_sandbox:ek,toolsContext:X,toolApproval:C,runtimeContext:Z,toolApprovalSecret:A,generateId:R,onToolExecutionStart:(0,B.filterNullable)(G,es.onToolExecutionStart),onToolExecutionEnd:(0,B.filterNullable)(Y,es.onToolExecutionEnd),executeToolInTelemetryContext:es.executeTool,runInTracingChannelSpan:e9}),e7=()=>({...eK,body:ee.requestBody?null==eK?void 0:eK.body:void 0,messages:ee.requestMessages?tA(eL):void 0});ec=null!=(ea=e7().messages)?ea:[];let te=[],tt=[],to=[],tr="other",tn=!1,ta=!1,ti=of(),tl=!0,ts=()=>({responseTimeMs:0,effectiveOutputTokensPerSecond:0,outputTokensPerSecond:void 0,inputTokensPerSecond:void 0,effectiveTotalTokensPerSecond:0,timeToFirstOutputMs:void 0,timeBetweenOutputChunksMs:void 0}),tu=ts(),td={},tc=()=>({id:R(),timestamp:new Date,modelId:e.modelId}),tp=tc(),th=new Map,tm=new Map,tg=(e,t)=>{e.enqueue(t)};eM.addStream(e8.pipeThrough(new TransformStream({async transform(e,t){var o,r,n,a,i,u,d;if(r$(e)){l=e.warnings,tr="other",c=void 0,tn=!1,ta=!1,ti=of(),s=void 0,tu=ts(),tp=tc(),th.clear(),tm.clear(),t.enqueue({[rX]:{request:e7(),warnings:l}});return}if("model-call-start"===e.type){l=e.warnings;return}tl&&(tl=!1,tg(t,{type:"start-step",request:e7(),warnings:null!=l?l:[]}));let p=e.type;if(rZ(e)){let t=e0.has(e);ta||t||ep(),ta=!0,t||ef()}switch(p){case"file":case"custom":case"source":case"reasoning-file":case"tool-input-start":case"tool-input-end":case"tool-input-delta":case"tool-approval-request":tg(t,e);break;case"text-start":{let o=ey(e.id);th.set(e.id,o),tg(t,{...e,id:o});break}case"text-delta":(e.text.length>0||null!=e.providerMetadata)&&tg(t,{...e,id:null!=(o=th.get(e.id))?o:e.id});break;case"text-end":tg(t,{...e,id:null!=(r=th.get(e.id))?r:e.id}),th.delete(e.id);break;case"reasoning-start":{let o=ev(e.id);tm.set(e.id,o),tg(t,{...e,id:o});break}case"reasoning-delta":tg(t,{...e,id:null!=(n=tm.get(e.id))?n:e.id});break;case"reasoning-end":tg(t,{...e,id:null!=(a=tm.get(e.id))?a:e.id}),tm.delete(e.id);break;case"tool-call":tg(t,e),te.push(e);break;case"tool-approval-response":tg(t,e),to.push(e);break;case"tool-result":tg(t,e),e.preliminary||tt.push(e);break;case"tool-error":tg(t,e),tt.push(e);break;case"tool-execution-end":td[e.toolCallId]=e.toolExecutionMs;break;case"model-call-response-metadata":tp={id:null!=(i=e.id)?i:tp.id,timestamp:null!=(u=e.timestamp)?u:tp.timestamp,modelId:null!=(d=e.modelId)?d:tp.modelId};break;case"model-call-end":tn=!0,ti=e.usage,tr=e.finishReason,c=e.rawFinishReason,s=e.providerMetadata,tu=e.performance;break;case"error":tn=!0,tg(t,e),tr="error";break;case"raw":ee.rawChunks&&tg(t,e);break;default:throw Error(`Unknown chunk type: ${p}`)}},async flush(e){if(!tn&&!ta){tg(e,{type:"error",error:new eE({message:"No output generated. The model stream ended without a finish chunk."})}),e_(),eM.closeStream();return}let o=j()-eB,r={type:"finish-step",finishReason:tr,rawFinishReason:c,usage:ti,performance:{stepTimeMs:o,toolExecutionMs:td,...tu},providerMetadata:s,response:{...tp,headers:null==eG?void 0:eG.headers}};tg(e,r);let a=oy(n,ti);await et.promise;let i=te.filter(e=>!0!==e.providerExecuted),l=tt.filter(e=>!0!==e.providerExecuted),u=to.filter(e=>!1===e.approved);for(let e of te){if(!0!==e.providerExecuted)continue;let t=ob(eR,e.toolName);(null==t?void 0:t.type)==="provider"&&t.supportsDeferredResults&&(tt.some(t=>("tool-result"===t.type||"tool-error"===t.type)&&t.toolCallId===e.toolCallId)||eb.set(e.toolCallId,{toolName:e.toolName}))}for(let e of tt)("tool-result"===e.type||"tool-error"===e.type)&&eb.delete(e.toolCallId);if(e_(),i.length===l.length+u.length&&(i.length>0||eb.size>0)&&!await rr({stopConditions:I,steps:eh}))try{await w(()=>er({currentStep:t+1,usage:a}))}catch(t){tg(e,{type:"error",error:t}),eM.closeStream()}else tg(e,{type:"finish",finishReason:tr,rawFinishReason:c,totalUsage:a}),eM.closeStream()}})),{onError:e_,onCancel:e_})}catch(e){throw e_(),e}}eM._initialResponseMessages.resolve(em),await w(()=>er({currentStep:0,usage:of()}))})().catch(async e=>{var t;await (null==(t=es.onError)?void 0:t.call(es,{callId:ej,error:e})),eM._initialResponseMessages.reject(e),rQ(eM._initialResponseMessages.promise),eM.addStream(new ReadableStream({start(t){t.enqueue({type:"error",error:e}),t.close()}})),eM.closeStream()})}get steps(){return this.consumeStream(),this._steps.promise}get finalStep(){return this.steps.then(e=>e.at(-1))}get content(){return this.steps.then(e=>e.flatMap(e=>e.content))}get warnings(){return this.steps.then(e=>e.flatMap(e=>{var t;return null!=(t=e.warnings)?t:[]}))}get providerMetadata(){return this.finalStep.then(e=>e.providerMetadata)}get text(){return this.finalStep.then(e=>e.text)}get reasoningText(){return this.finalStep.then(e=>e.reasoningText)}get reasoning(){return this.finalStep.then(e=>oY(e.reasoning))}get sources(){return this.steps.then(e=>e.flatMap(e=>e.sources))}get files(){return this.steps.then(e=>e.flatMap(e=>e.files))}get toolCalls(){return this.steps.then(e=>e.flatMap(e=>e.toolCalls))}get staticToolCalls(){return this.steps.then(e=>e.flatMap(e=>e.staticToolCalls))}get dynamicToolCalls(){return this.steps.then(e=>e.flatMap(e=>e.dynamicToolCalls))}get toolResults(){return this.steps.then(e=>e.flatMap(e=>e.toolResults))}get staticToolResults(){return this.steps.then(e=>e.flatMap(e=>e.staticToolResults))}get dynamicToolResults(){return this.steps.then(e=>e.flatMap(e=>e.dynamicToolResults))}get usage(){return this.totalUsage}get request(){return this.finalStep.then(e=>e.request)}get response(){return this.finalStep.then(e=>e.response)}get responseMessages(){return Promise.all([this._initialResponseMessages.promise,this.steps]).then(([e,t])=>[...e,...t.flatMap(e=>e.response.messages)])}get totalUsage(){return this.consumeStream(),this._totalUsage.promise}get finishReason(){return this.consumeStream(),this._finishReason.promise}get rawFinishReason(){return this.consumeStream(),this._rawFinishReason.promise}teeStream(){let[e,t]=this.baseStream.tee();return this.baseStream=t,e}get textStream(){return rj(function({stream:e}){return e.pipeThrough(new TransformStream({transform(e,t){"text-delta"===e.type&&t.enqueue(e.text)}}))}({stream:this.stream}))}get stream(){return rj(this.teeStream().pipeThrough(new TransformStream({transform({part:e},t){t.enqueue(e)}})))}get fullStream(){return this.stream}rejectResultPromises(e){this.rejectResultPromise({delayedPromise:this._finishReason,error:e}),this.rejectResultPromise({delayedPromise:this._rawFinishReason,error:e}),this.rejectResultPromise({delayedPromise:this._totalUsage,error:e}),this.rejectResultPromise({delayedPromise:this._steps,error:e}),this.rejectResultPromise({delayedPromise:this._initialResponseMessages,error:e})}rejectResultPromise({delayedPromise:e,error:t}){e.isPending()&&(e.reject(t),rQ(e.promise))}async consumeStream(e){var t;try{await rR({stream:this.stream,onError:t=>{var o;this.rejectResultPromises(t),null==(o=null==e?void 0:e.onError)||o.call(e,t)}})}catch(o){this.rejectResultPromises(o),null==(t=null==e?void 0:e.onError)||t.call(e,o)}}get experimental_partialOutputStream(){return this.partialOutputStream}get partialOutputStream(){return rj(this.teeStream().pipeThrough(new TransformStream({transform({partialOutput:e},t){null!=e&&t.enqueue(e)}})))}get elementStream(){var e,t,o;let r=null==(e=this.outputSpecification)?void 0:e.createElementStreamTransform();if(null==r)throw new H.UnsupportedFunctionalityError({functionality:`element streams in ${null!=(o=null==(t=this.outputSpecification)?void 0:t.name)?o:"text"} mode`});return rj(this.teeStream().pipeThrough(r))}getOutputPromise(){return null==this.outputPromise&&(this.outputPromise=this.finalStep.then(e=>{var t;return(null!=(t=this.outputSpecification)?t:oq()).parseCompleteOutput({text:e.text},{response:e.response,usage:e.usage,finishReason:e.finishReason})})),this.outputPromise}get output(){return this.getOutputPromise()}toUIMessageStream({originalMessages:e,generateMessageId:t,onEnd:o,onFinish:r,messageMetadata:n,sendReasoning:a,sendSources:i,sendStart:l,sendFinish:s,onError:u}={}){return rj(function({stream:e,tools:t,sendReasoning:o=!0,sendSources:r=!1,sendStart:n=!0,sendFinish:a=!0,onError:i=()=>"An error occurred.",messageMetadata:l,originalMessages:s,generateMessageId:u,onEnd:d,onFinish:c}){let p={status:"unknown"},h=!1,m=e=>{h||"completed"===p.status||"aborted"===p.status||"unknown"===e.status||"unknown"!==p.status&&"failed"===e.status||(p=e)},g=e=>{h=!0,p={status:"failed",error:e}},f=null!=u?function({originalMessages:e,responseMessageId:t}){if(null==e)return;let o=e[e.length-1];return(null==o?void 0:o.role)==="assistant"?o.id:"function"==typeof t?t():t}({originalMessages:s,responseMessageId:u}):void 0,y=e.getReader(),v=!1,b=!1,_=()=>{v||(y.releaseLock(),v=!0)};return function({messageId:e,originalMessages:t=[],onStepEnd:o,onStepFinish:r,onEnd:n,onFinish:a,onError:i,stream:l,getOutcome:s}){let u,d=null==t?void 0:t[t.length-1];(null==d?void 0:d.role)!=="assistant"?d=void 0:e=d.id;let c=!1,p=!1,h=e=>{p=!0,u=e},m=l.pipeThrough(new TransformStream({transform(t,o){try{let r=t;"start"===t.type&&null==t.messageId&&null!=e&&(r={...t,messageId:e}),"abort"===t.type&&(c=!0),o.enqueue(r)}catch(e){throw h(e),e}}})),g=null!=o?o:r,f=null!=n?n:a;if(null==f&&null==g)return m;let y=function({lastMessage:e,messageId:t}){return{message:(null==e?void 0:e.role)==="assistant"?e:{id:t,metadata:void 0,role:"assistant",parts:[]},activeTextParts:rE(),activeReasoningParts:rE(),partialToolCalls:rE()}}({lastMessage:d?structuredClone(d):void 0,messageId:null!=e?e:""}),v=!1,b=async()=>{var e;if(v||!f)return;v=!0;let o=y.message.id===(null==d?void 0:d.id),r=null!=(e=null==s?void 0:s())?e:{status:"unknown"},n=p?{status:"failed",error:u}:"unknown"===r.status&&c?{status:"aborted"}:r;await f({isAborted:c||"aborted"===n.status,isContinuation:o,outcome:n,responseMessage:y.message,messages:[...o?t.slice(0,-1):t,y.message],finishReason:y.finishReason})},_=async()=>{if(!g)return;let e=y.message.id===(null==d?void 0:d.id);try{await g({isContinuation:e,responseMessage:structuredClone(y.message),messages:[...e?t.slice(0,-1):t,structuredClone(y.message)]})}catch(e){i(e)}};return(function({stream:e,messageMetadataSchema:t,dataPartSchemas:o,runUpdateMessageJob:r,onError:n,onToolCall:a,onData:i}){return e.pipeThrough(new TransformStream({async transform(e,l){await r(async({state:r,write:s})=>{var u,d,c,p;function h(){let e=r.message.parts,t=e.length-1;for(;t>=0&&"step-start"!==e[t].type;)t--;return e.slice(t+1)}function m(e){let t=h().filter(rO).find(t=>t.toolCallId===e);if(null==t){let o=r.message.parts;for(let r=o.length-1;r>=0;r--){let n=o[r];if(rO(n)&&n.toolCallId===e){t=n;break}}}if(null==t)throw new e7({chunkType:"tool-invocation",chunkId:e,message:`No tool invocation found for tool call ID "${e}".`});return t}function g(e,t){var o;let n=null!=t?t:h().find(t=>rA(t)&&t.toolCallId===e.toolCallId);if(null!=n){n.state=e.state,n.input=e.input,n.output=e.output,n.errorText=e.errorText,n.rawInput=e.rawInput,n.preliminary=e.preliminary,void 0!==e.title&&(n.title=e.title),void 0!==e.toolMetadata&&(n.toolMetadata=e.toolMetadata),n.providerExecuted=null!=(o=e.providerExecuted)?o:n.providerExecuted;let t=e.providerMetadata;null!=t&&("output-available"===e.state||"output-error"===e.state?n.resultProviderMetadata=t:n.callProviderMetadata=t)}else r.message.parts.push({type:`tool-${e.toolName}`,toolCallId:e.toolCallId,state:e.state,title:e.title,...void 0!==e.toolMetadata?{toolMetadata:e.toolMetadata}:{},input:e.input,output:e.output,rawInput:e.rawInput,errorText:e.errorText,providerExecuted:e.providerExecuted,preliminary:e.preliminary,...null!=e.providerMetadata&&("output-available"===e.state||"output-error"===e.state)?{resultProviderMetadata:e.providerMetadata}:{},...null!=e.providerMetadata&&"output-available"!==e.state&&"output-error"!==e.state?{callProviderMetadata:e.providerMetadata}:{}})}function f(e,t){var o,n;let a=null!=t?t:h().find(t=>"dynamic-tool"===t.type&&t.toolCallId===e.toolCallId);if(null!=a){a.state=e.state,a.toolName=e.toolName,a.input=e.input,a.output=e.output,a.errorText=e.errorText,a.rawInput=null!=(o=e.rawInput)?o:a.rawInput,a.preliminary=e.preliminary,void 0!==e.title&&(a.title=e.title),void 0!==e.toolMetadata&&(a.toolMetadata=e.toolMetadata),a.providerExecuted=null!=(n=e.providerExecuted)?n:a.providerExecuted;let t=e.providerMetadata;null!=t&&("output-available"===e.state||"output-error"===e.state?a.resultProviderMetadata=t:a.callProviderMetadata=t)}else r.message.parts.push({type:"dynamic-tool",toolName:e.toolName,toolCallId:e.toolCallId,state:e.state,input:e.input,output:e.output,errorText:e.errorText,preliminary:e.preliminary,providerExecuted:e.providerExecuted,title:e.title,...void 0!==e.toolMetadata?{toolMetadata:e.toolMetadata}:{},...null!=e.providerMetadata&&("output-available"===e.state||"output-error"===e.state)?{resultProviderMetadata:e.providerMetadata}:{},...null!=e.providerMetadata&&"output-available"!==e.state&&"output-error"!==e.state?{callProviderMetadata:e.providerMetadata}:{}})}async function y(e){if(null!=e){let o=null!=r.message.metadata?tj(r.message.metadata,e):e;null!=t&&await (0,B.validateTypes)({value:o,schema:t,context:{field:"message.metadata",entityId:r.message.id}}),r.message.metadata=o}}switch(e.type){case"text-start":{let t={type:"text",text:"",providerMetadata:e.providerMetadata,state:"streaming"};r.activeTextParts[e.id]=t,r.message.parts.push(t),s();break}case"text-delta":{let t=r.activeTextParts[e.id];if(null==t)throw new e7({chunkType:"text-delta",chunkId:e.id,message:`Received text-delta for missing text part with ID "${e.id}". Ensure a "text-start" chunk is sent before any "text-delta" chunks.`});t.text+=e.delta,t.providerMetadata=null!=(u=e.providerMetadata)?u:t.providerMetadata,s();break}case"text-end":{let t=r.activeTextParts[e.id];if(null==t)throw new e7({chunkType:"text-end",chunkId:e.id,message:`Received text-end for missing text part with ID "${e.id}". Ensure a "text-start" chunk is sent before any "text-end" chunks.`});t.state="done",t.providerMetadata=null!=(d=e.providerMetadata)?d:t.providerMetadata,delete r.activeTextParts[e.id],s();break}case"custom":{let t={type:"custom",kind:e.kind,providerMetadata:e.providerMetadata};r.message.parts.push(t),s();break}case"reasoning-start":{let t={type:"reasoning",id:e.id,text:"",providerMetadata:e.providerMetadata,state:"streaming"};r.activeReasoningParts[e.id]=t,r.message.parts.push(t),s();break}case"reasoning-delta":{let t=r.activeReasoningParts[e.id];if(null==t)throw new e7({chunkType:"reasoning-delta",chunkId:e.id,message:`Received reasoning-delta for missing reasoning part with ID "${e.id}". Ensure a "reasoning-start" chunk is sent before any "reasoning-delta" chunks.`});t.text+=e.delta,t.providerMetadata=null!=(c=e.providerMetadata)?c:t.providerMetadata,s();break}case"reasoning-end":{let t=r.activeReasoningParts[e.id];if(null==t)throw new e7({chunkType:"reasoning-end",chunkId:e.id,message:`Received reasoning-end for missing reasoning part with ID "${e.id}". Ensure a "reasoning-start" chunk is sent before any "reasoning-end" chunks.`});t.providerMetadata=null!=(p=e.providerMetadata)?p:t.providerMetadata,t.state="done",delete r.activeReasoningParts[e.id],s();break}case"file":case"reasoning-file":r.message.parts.push({type:e.type,mediaType:e.mediaType,url:e.url,...null!=e.providerMetadata?{providerMetadata:e.providerMetadata}:{}}),s();break;case"source-url":r.message.parts.push({type:"source-url",sourceId:e.sourceId,url:e.url,title:e.title,providerMetadata:e.providerMetadata}),s();break;case"source-document":r.message.parts.push({type:"source-document",sourceId:e.sourceId,mediaType:e.mediaType,title:e.title,filename:e.filename,providerMetadata:e.providerMetadata}),s();break;case"tool-input-start":{let t=h().filter(rA);r.partialToolCalls[e.toolCallId]={text:"",toolName:e.toolName,index:t.length,dynamic:e.dynamic,title:e.title,toolMetadata:e.toolMetadata},e.dynamic?f({toolCallId:e.toolCallId,toolName:e.toolName,state:"input-streaming",input:void 0,providerExecuted:e.providerExecuted,title:e.title,toolMetadata:e.toolMetadata,providerMetadata:e.providerMetadata}):g({toolCallId:e.toolCallId,toolName:e.toolName,state:"input-streaming",input:void 0,providerExecuted:e.providerExecuted,title:e.title,toolMetadata:e.toolMetadata,providerMetadata:e.providerMetadata}),s();break}case"tool-input-delta":{let t=r.partialToolCalls[e.toolCallId];if(null==t)throw new e7({chunkType:"tool-input-delta",chunkId:e.toolCallId,message:`Received tool-input-delta for missing tool call with ID "${e.toolCallId}". Ensure a "tool-input-start" chunk is sent before any "tool-input-delta" chunks.`});t.text+=e.inputTextDelta;let{value:o}=await o$(t.text);t.dynamic?f({toolCallId:e.toolCallId,toolName:t.toolName,state:"input-streaming",input:o,title:t.title,toolMetadata:t.toolMetadata}):g({toolCallId:e.toolCallId,toolName:t.toolName,state:"input-streaming",input:o,title:t.title,toolMetadata:t.toolMetadata}),s();break}case"tool-input-available":e.dynamic?f({toolCallId:e.toolCallId,toolName:e.toolName,state:"input-available",input:e.input,providerExecuted:e.providerExecuted,providerMetadata:e.providerMetadata,title:e.title,toolMetadata:e.toolMetadata}):g({toolCallId:e.toolCallId,toolName:e.toolName,state:"input-available",input:e.input,providerExecuted:e.providerExecuted,providerMetadata:e.providerMetadata,title:e.title,toolMetadata:e.toolMetadata}),s(),a&&!e.providerExecuted&&await a({toolCall:e});break;case"tool-input-error":{let t=h().filter(rO).find(t=>t.toolCallId===e.toolCallId);(null!=t?"dynamic-tool"===t.type:e.dynamic)?f({toolCallId:e.toolCallId,toolName:e.toolName,state:"output-error",input:e.input,errorText:e.errorText,providerExecuted:e.providerExecuted,providerMetadata:e.providerMetadata,toolMetadata:e.toolMetadata}):g({toolCallId:e.toolCallId,toolName:e.toolName,state:"output-error",input:void 0,rawInput:e.input,errorText:e.errorText,providerExecuted:e.providerExecuted,providerMetadata:e.providerMetadata,toolMetadata:e.toolMetadata}),s();break}case"tool-approval-request":{let t=m(e.toolCallId);t.state="approval-requested",t.approval={id:e.approvalId,...null!=e.approvalDescriptor?{descriptor:e.approvalDescriptor}:{},...null!=e.reason?{requestReason:e.reason}:{},...!0===e.isAutomatic?{isAutomatic:!0}:{},...null!=e.signature?{signature:e.signature}:{}},s();break}case"tool-approval-response":{let t=function(e){let t=r.message.parts.filter(rO).find(t=>{var o;return(null==(o=t.approval)?void 0:o.id)===e});if(null==t)throw new e7({chunkType:"tool-approval-response",chunkId:e,message:`No tool invocation found for approval ID "${e}".`});return t}(e.approvalId),o=null==t.approval?{id:e.approvalId}:t.approval;t.state="approval-responded",t.approval={...o,id:e.approvalId,approved:e.approved,...null!=e.reason?{reason:e.reason}:{}},null!=e.providerExecuted&&(t.providerExecuted=e.providerExecuted),null!=e.providerMetadata&&(t.callProviderMetadata=e.providerMetadata),s();break}case"tool-output-denied":m(e.toolCallId).state="output-denied",s();break;case"tool-output-available":{let t=m(e.toolCallId);"dynamic-tool"===t.type?f({toolCallId:e.toolCallId,toolName:t.toolName,state:"output-available",input:t.input,output:e.output,preliminary:e.preliminary,providerExecuted:e.providerExecuted,providerMetadata:e.providerMetadata,title:t.title,toolMetadata:t.toolMetadata},t):g({toolCallId:e.toolCallId,toolName:rM(t),state:"output-available",input:t.input,output:e.output,providerExecuted:e.providerExecuted,preliminary:e.preliminary,providerMetadata:e.providerMetadata,title:t.title,toolMetadata:t.toolMetadata},t),s();break}case"tool-output-error":{let t=m(e.toolCallId);"dynamic-tool"===t.type?f({toolCallId:e.toolCallId,toolName:t.toolName,state:"output-error",input:t.input,errorText:e.errorText,providerExecuted:e.providerExecuted,providerMetadata:e.providerMetadata,title:t.title,toolMetadata:t.toolMetadata},t):g({toolCallId:e.toolCallId,toolName:rM(t),state:"output-error",input:t.input,rawInput:t.rawInput,errorText:e.errorText,providerExecuted:e.providerExecuted,providerMetadata:e.providerMetadata,title:t.title,toolMetadata:t.toolMetadata},t),s();break}case"start-step":r.message.parts.push({type:"step-start"});break;case"finish-step":break;case"reset-step":{let e=h();r.activeTextParts=rE(),r.activeReasoningParts=rE(),r.partialToolCalls=rE(),e.length>0&&(r.message.parts.splice(r.message.parts.length-e.length,e.length),s());break}case"start":null!=e.messageId&&(r.message.id=e.messageId),await y(e.messageMetadata),(null!=e.messageId||null!=e.messageMetadata)&&s({updateStatus:!1});break;case"finish":null!=e.finishReason&&(r.finishReason=e.finishReason),await y(e.messageMetadata),null!=e.messageMetadata&&s();break;case"message-metadata":await y(e.messageMetadata),null!=e.messageMetadata&&s();break;case"error":null==n||n(Error(e.errorText));break;default:if(e.type.startsWith("data-")){if((null==o?void 0:o[e.type])!=null){let t=r.message.parts.findIndex(t=>"id"in t&&"data"in t&&t.id===e.id&&t.type===e.type),n=t>=0?t:r.message.parts.length;await (0,B.validateTypes)({value:e.data,schema:o[e.type],context:{field:`message.parts[${n}].data`,entityName:e.type,entityId:e.id}})}if(e.transient){null==i||i(e);break}let t=null!=e.id?r.message.parts.find(t=>e.type===t.type&&e.id===t.id):void 0;null!=t?t.data=e.data:r.message.parts.push(e),null==i||i(e),s()}}l.enqueue(e)})}}))})({stream:m,runUpdateMessageJob:async e=>{try{await e({state:y,write:()=>{}})}catch(e){throw h(e),e}},onError:i}).pipeThrough(new TransformStream({async transform(e,t){"finish-step"===e.type&&await _(),t.enqueue(e)},async cancel(){await b()},async flush(){await b()}}))}({stream:new ReadableStream({async pull(e){try{let{done:t,value:o}=await y.read();t?(_(),b||e.close()):e.enqueue(o)}catch(t){_(),b||(g(t),e.error(t))}},async cancel(e){if(b=!0,!v)try{await y.cancel(e)}finally{_()}}}).pipeThrough(new TransformStream({transform:async(e,s)=>{try{let u=null==l?void 0:l({part:e}),d=function(e,{tools:t,sendReasoning:o=!0,sendSources:r=!1,sendStart:n=!0,sendFinish:a=!0,onError:i=()=>"An error occurred.",messageMetadata:l,responseMessageId:s}={}){let u=e=>{let o=null==t?void 0:t[e.toolName];return null==o?e.dynamic:(null==o?void 0:o.type)==="dynamic"||void 0},d=e.type;switch(d){case"text-start":return{type:"text-start",id:e.id,...null!=e.providerMetadata?{providerMetadata:e.providerMetadata}:{}};case"text-delta":return{type:"text-delta",id:e.id,delta:e.text,...null!=e.providerMetadata?{providerMetadata:e.providerMetadata}:{}};case"text-end":return{type:"text-end",id:e.id,...null!=e.providerMetadata?{providerMetadata:e.providerMetadata}:{}};case"reasoning-start":case"reasoning-end":if(!o)return;return{type:d,id:e.id,...null!=e.providerMetadata?{providerMetadata:e.providerMetadata}:{}};case"reasoning-delta":if(!o)return;return{type:"reasoning-delta",id:e.id,delta:e.text,...null!=e.providerMetadata?{providerMetadata:e.providerMetadata}:{}};case"file":case"reasoning-file":if("reasoning-file"===d&&!o)return;return{type:e.type,mediaType:e.file.mediaType,url:`data:${e.file.mediaType};base64,${e.file.base64}`,...null!=e.providerMetadata?{providerMetadata:e.providerMetadata}:{}};case"source":if(!r)return;if("url"===e.sourceType)return{type:"source-url",sourceId:e.id,url:e.url,title:e.title,...null!=e.providerMetadata?{providerMetadata:e.providerMetadata}:{}};if("document"===e.sourceType)return{type:"source-document",sourceId:e.id,mediaType:e.mediaType,title:e.title,filename:e.filename,...null!=e.providerMetadata?{providerMetadata:e.providerMetadata}:{}};return;case"custom":return{type:"custom",kind:e.kind,...null!=e.providerMetadata?{providerMetadata:e.providerMetadata}:{}};case"tool-input-start":{let t=u(e);return{type:"tool-input-start",toolCallId:e.id,toolName:e.toolName,...null!=e.providerExecuted?{providerExecuted:e.providerExecuted}:{},...null!=e.providerMetadata?{providerMetadata:e.providerMetadata}:{},...null!=e.toolMetadata?{toolMetadata:e.toolMetadata}:{},...null!=t?{dynamic:t}:{},...null!=e.title?{title:e.title}:{}}}case"tool-input-delta":return{type:"tool-input-delta",toolCallId:e.id,inputTextDelta:e.delta};case"tool-call":{let t=u(e);if(e.invalid)return{type:"tool-input-error",toolCallId:e.toolCallId,toolName:e.toolName,input:e.input,...null!=e.providerExecuted?{providerExecuted:e.providerExecuted}:{},...null!=e.providerMetadata?{providerMetadata:e.providerMetadata}:{},...null!=e.toolMetadata?{toolMetadata:e.toolMetadata}:{},...null!=t?{dynamic:t}:{},errorText:i(e.error),...null!=e.title?{title:e.title}:{}};return{type:"tool-input-available",toolCallId:e.toolCallId,toolName:e.toolName,input:e.input,...null!=e.providerExecuted?{providerExecuted:e.providerExecuted}:{},...null!=e.providerMetadata?{providerMetadata:e.providerMetadata}:{},...null!=e.toolMetadata?{toolMetadata:e.toolMetadata}:{},...null!=t?{dynamic:t}:{},...null!=e.title?{title:e.title}:{}}}case"tool-approval-request":return{type:"tool-approval-request",approvalId:e.approvalId,toolCallId:e.toolCall.toolCallId,...null!=e.reason?{reason:e.reason}:{},...null!=e.isAutomatic?{isAutomatic:e.isAutomatic}:{},...null!=e.signature?{signature:e.signature}:{}};case"tool-approval-response":return{type:"tool-approval-response",approvalId:e.approvalId,approved:e.approved,...null!=e.reason?{reason:e.reason}:{},...null!=e.providerExecuted?{providerExecuted:e.providerExecuted}:{}};case"tool-result":{let t=u(e);return{type:"tool-output-available",toolCallId:e.toolCallId,output:void 0===e.output?null:e.output,...null!=e.providerExecuted?{providerExecuted:e.providerExecuted}:{},...null!=e.providerMetadata?{providerMetadata:e.providerMetadata}:{},...null!=e.toolMetadata?{toolMetadata:e.toolMetadata}:{},...null!=e.preliminary?{preliminary:e.preliminary}:{},...null!=t?{dynamic:t}:{}}}case"tool-error":{let t=u(e);return{type:"tool-output-error",toolCallId:e.toolCallId,errorText:e.providerExecuted?"string"==typeof e.error?e.error:JSON.stringify(e.error):i(e.error),...null!=e.providerExecuted?{providerExecuted:e.providerExecuted}:{},...null!=e.providerMetadata?{providerMetadata:e.providerMetadata}:{},...null!=e.toolMetadata?{toolMetadata:e.toolMetadata}:{},...null!=t?{dynamic:t}:{}}}case"tool-output-denied":return{type:"tool-output-denied",toolCallId:e.toolCallId};case"error":return{type:"error",errorText:i(e.error)};case"start-step":return{type:"start-step"};case"finish-step":return{type:"finish-step"};case"start":if(!n)return;return{type:"start",...null!=l?{messageMetadata:l}:{},...null!=s?{messageId:s}:{}};case"finish":if(!a)return;return{type:"finish",finishReason:e.finishReason,...null!=l?{messageMetadata:l}:{}};case"abort":return e;case"tool-input-end":case"raw":return;default:throw Error(`Unknown chunk type: ${d}`)}}(e,{tools:t,sendReasoning:o,sendSources:r,sendStart:n,sendFinish:a,onError:i,messageMetadata:u,responseMessageId:f});null!=d&&s.enqueue(d),null!=u&&"start"!==e.type&&"finish"!==e.type&&s.enqueue({type:"message-metadata",messageMetadata:u}),"finish"===e.type?m({status:"completed"}):"abort"===e.type?m({status:"aborted"}):"error"===e.type&&m({status:"failed",error:e.error})}catch(e){throw g(e),e}}})),messageId:null!=f?f:null==u?void 0:u(),originalMessages:s,onEnd:null!=d?d:c,onError:i,getOutcome:()=>p})}({stream:this.stream,tools:this.tools,originalMessages:e,generateMessageId:t,onEnd:null!=o?o:r,messageMetadata:n,sendReasoning:a,sendSources:i,sendStart:l,sendFinish:s,onError:u}))}pipeUIMessageStreamToResponse(e,{originalMessages:t,generateMessageId:o,onEnd:r,onFinish:n,messageMetadata:a,sendReasoning:i,sendSources:l,sendFinish:s,sendStart:u,onError:d,...c}={}){return function({response:e,status:t,statusText:o,headers:r,stream:n,consumeSseStream:a}){let i=n.pipeThrough(new rI);if(a){let[e,t]=i.tee();i=e,a({stream:t})}return rk({response:e,status:t,statusText:o,headers:Object.fromEntries(rT(r,rS).entries()),stream:i.pipeThrough(new TextEncoderStream)})}({response:e,stream:this.toUIMessageStream({originalMessages:t,generateMessageId:o,onEnd:null!=r?r:n,messageMetadata:a,sendReasoning:i,sendSources:l,sendFinish:s,sendStart:u,onError:d}),...c})}pipeTextStreamToResponse(e,t){return function({response:e,status:t,statusText:o,headers:r,stream:n}){return rk({response:e,status:t,statusText:o,headers:Object.fromEntries(rT(r,{"content-type":"text/plain; charset=utf-8"}).entries()),stream:n.pipeThrough(new TextEncoderStream)})}({response:e,stream:this.textStream,...t})}toUIMessageStreamResponse({originalMessages:e,generateMessageId:t,onEnd:o,onFinish:r,messageMetadata:n,sendReasoning:a,sendSources:i,sendFinish:l,sendStart:s,onError:u,...d}={}){return function({status:e,statusText:t,headers:o,stream:r,consumeSseStream:n}){let a=r.pipeThrough(new rI);if(n){let[e,t]=a.tee();a=e,n({stream:t})}return new Response(a.pipeThrough(new TextEncoderStream),{status:e,statusText:t,headers:rT(o,rS)})}({stream:this.toUIMessageStream({originalMessages:e,generateMessageId:t,onEnd:null!=o?o:r,messageMetadata:n,sendReasoning:a,sendSources:i,sendFinish:l,sendStart:s,onError:u}),...d})}toTextStreamResponse(e){return function({status:e,statusText:t,headers:o,stream:r}){return new Response(r.pipeThrough(new TextEncoderStream),{status:null!=e?e:200,statusText:t,headers:rT(o,{"content-type":"text/plain; charset=utf-8"})})}({stream:this.textStream,...e})}},r1=class{constructor(e){this.version="agent-v1";const{onFinish:t,onEnd:o=t}=e;this.settings={...e,onEnd:o}}get id(){return this.settings.id}get tools(){return this.settings.tools}async prepareCall(e){var t,o,r,n;if(null!=this.settings.callOptionsSchema&&void 0!==e.options){let t=await (0,B.validateTypes)({value:e.options,schema:this.settings.callOptionsSchema,context:{field:"options"}});e={...e,options:t}}let{onStart:a,experimental_onStart:i,onStepStart:l,experimental_onStepStart:s,onToolExecutionStart:u,onToolExecutionEnd:d,onStepEnd:c,onStepFinish:p,onFinish:h,onEnd:m,...g}=this.settings,f={...g,stopWhen:null!=(t=this.settings.stopWhen)?t:ro(20),...e},{instructions:y,allowSystemInMessages:v,messages:b,prompt:_,runtimeContext:w,...z}=null!=(n=await (null==(r=(o=this.settings).prepareCall)?void 0:r.call(o,f)))?n:f,x={instructions:y,allowSystemInMessages:v,messages:b,prompt:_};return void 0===w?{...z,...x}:{...z,runtimeContext:w,...x}}agentHeaders(e){var t;return(0,B.withUserAgentSuffix)(null!=(t=e.headers)?t:{},"ai-sdk-agent/tool-loop")}async generate({abortSignal:e,timeout:t,experimental_sandbox:o,onStart:r,experimental_onStart:n,onStepStart:a,experimental_onStepStart:i,onToolExecutionStart:l,onToolExecutionEnd:s,onStepEnd:u,onStepFinish:d,onFinish:c,onEnd:p=c,...h}){var m,g,f;let y=await this.prepareCall({...h,experimental_sandbox:o}),v={abortSignal:e,timeout:null!=t?t:y.timeout,experimental_sandbox:o,onStart:oQ(null!=(m=this.settings.onStart)?m:this.settings.experimental_onStart,null!=r?r:n),onStepStart:oQ(null!=(g=this.settings.onStepStart)?g:this.settings.experimental_onStepStart,null!=a?a:i),onToolExecutionStart:oQ(this.settings.onToolExecutionStart,l),onToolExecutionEnd:oQ(this.settings.onToolExecutionEnd,s),onStepEnd:oQ(null!=(f=this.settings.onStepEnd)?f:this.settings.onStepFinish,null!=u?u:d),onEnd:oQ(this.settings.onEnd,p)};return await rw({...y,...v,headers:this.agentHeaders(y)})}async stream({abortSignal:e,timeout:t,experimental_sandbox:o,experimental_transform:r,onStart:n,experimental_onStart:a,onStepStart:i,experimental_onStepStart:l,onToolExecutionStart:s,onToolExecutionEnd:u,onStepEnd:d,onStepFinish:c,onFinish:p,onEnd:h=p,...m}){var g,f,y;let v=await this.prepareCall({...m,experimental_sandbox:o}),b={abortSignal:e,timeout:null!=t?t:v.timeout,experimental_sandbox:o,experimental_transform:r,onStart:oQ(null!=(g=this.settings.onStart)?g:this.settings.experimental_onStart,null!=n?n:a),onStepStart:oQ(null!=(f=this.settings.onStepStart)?f:this.settings.experimental_onStepStart,null!=i?i:l),onToolExecutionStart:oQ(this.settings.onToolExecutionStart,s),onToolExecutionEnd:oQ(this.settings.onToolExecutionEnd,u),onStepEnd:oQ(null!=(y=this.settings.onStepEnd)?y:this.settings.onStepFinish,null!=d?d:c),onEnd:oQ(this.settings.onEnd,h)};return await function({model:e,tools:t,toolChoice:o,instructions:r,system:n,prompt:a,messages:i,allowSystemInMessages:l,maxRetries:s,streamRetries:u,abortSignal:d,timeout:c,headers:p,stopWhen:h=ro(1),experimental_sandbox:m,output:g,toolApproval:f,experimental_toolCallers:y,experimental_toolApprovalSecret:v,experimental_telemetry:b,telemetry:_=b,prepareStep:w,providerOptions:z,activeTools:x,toolOrder:T,experimental_repairToolCall:k,repairToolCall:I=k,experimental_refineToolInput:S,experimental_transform:C,experimental_download:E,includeRawChunks:A,onChunk:O,onError:M,onFinish:j,onEnd:R=j,onAbort:N,onStepEnd:P,onStepFinish:$,onStart:q,experimental_onStart:L,onStepStart:D,experimental_onStepStart:U,onLanguageModelCallStart:F,experimental_onLanguageModelCallStart:H,onLanguageModelCallEnd:W,experimental_onLanguageModelCallEnd:V,onToolExecutionStart:J,onToolExecutionEnd:K,experimental_onToolCallStart:G,experimental_onToolCallFinish:Y,runtimeContext:Z={},toolsContext:X={},experimental_include:Q,include:ee=Q,_internal:{now:et=ow,generateId:eo=rK,generateCallId:er=rG}={},...en}){var ea,ei,el,es;let eu=tY(c),ed=tZ(c),ec=tX(c),ep=tQ(c),eh=null!=ed?new AbortController:void 0,em=null!=ec?new AbortController:void 0,eg=null!=ep?new AbortController:void 0,ef=null!=M?M:({error:e})=>{console.error(e)};return new r0({model:tC(e),telemetry:_,headers:p,settings:en,maxRetries:s,streamRetries:u,abortSignal:o_(d,eu,null==eh?void 0:eh.signal,null==em?void 0:em.signal,null==eg?void 0:eg.signal),stepTimeoutMs:ed,stepAbortController:eh,firstChunkTimeoutMs:ec,firstChunkAbortController:em,chunkTimeoutMs:ep,chunkAbortController:eg,instructions:r,system:n,prompt:a,messages:i,allowSystemInMessages:l,experimental_sandbox:m,tools:t,toolsContext:X,runtimeContext:Z,toolChoice:o,transforms:(0,B.asArray)(C),activeTools:x,toolOrder:T,repairToolCall:I,refineToolInput:S,stopConditions:(0,B.asArray)(h),output:g,toolApproval:f,experimental_toolCallers:y,experimental_toolApprovalSecret:v,providerOptions:z,prepareStep:w,timeout:c,onChunk:O,onError:ef,canRetryStreamViaOnError:void 0!==u&&null!=M,onEnd:R,onAbort:N,onStepFinish:null!=P?P:$,onStart:null!=q?q:L,onStepStart:null!=D?D:U,onLanguageModelCallStart:null!=F?F:H,onLanguageModelCallEnd:null!=W?W:V,onToolExecutionStart:null!=J?J:G,onToolExecutionEnd:null!=K?K:Y,now:et,generateId:eo,generateCallId:er,download:E,include:{requestBody:null!=(ea=null==ee?void 0:ee.requestBody)&&ea,requestMessages:null!=(ei=null==ee?void 0:ee.requestMessages)&&ei,rawChunks:null!=(es=null!=(el=null==ee?void 0:ee.rawChunks)?el:A)&&es}})}({...v,...b,headers:this.agentHeaders(v)})}},r2=t0.record(t0.string(),t1.optional()),r4=t0.record(t0.string(),t0.string());function r3(e){if(e instanceof Uint8Array)return e;if("string"==typeof e)try{return(0,B.convertBase64ToUint8Array)(e)}catch(t){throw new tr({message:"Invalid data content. Content string is not a base64-encoded media.",content:e,cause:t})}if(e instanceof ArrayBuffer)return new Uint8Array(e);throw new tr({content:e})}(0,B.lazySchema)(()=>(0,B.zodSchema)(t0.array(t0.object({id:t0.string(),role:t0.enum(["system","user","assistant"]),metadata:t0.unknown().optional(),parts:t0.array(t0.union([t0.object({type:t0.literal("text"),text:t0.string(),state:t0.enum(["streaming","done"]).optional(),providerMetadata:t2.optional()}),t0.object({type:t0.literal("reasoning"),id:t0.string().optional(),text:t0.string(),state:t0.enum(["streaming","done"]).optional(),providerMetadata:t2.optional()}),t0.object({type:t0.literal("custom"),kind:t0.string(),providerMetadata:t2.optional()}),t0.object({type:t0.literal("source-url"),sourceId:t0.string(),url:t0.string(),title:t0.string().optional(),providerMetadata:t2.optional()}),t0.object({type:t0.literal("source-document"),sourceId:t0.string(),mediaType:t0.string(),title:t0.string(),filename:t0.string().optional(),providerMetadata:t2.optional()}),t0.object({type:t0.literal("file"),mediaType:t0.string(),filename:t0.string().optional(),url:t0.string(),providerReference:r4.optional(),providerMetadata:t2.optional()}),t0.object({type:t0.literal("reasoning-file"),mediaType:t0.string(),url:t0.string(),providerMetadata:t2.optional()}),t0.object({type:t0.literal("step-start")}),t0.object({type:t0.string().startsWith("data-"),id:t0.string().optional(),data:t0.unknown()}),t0.object({type:t0.literal("dynamic-tool"),toolName:t0.string(),toolCallId:t0.string(),title:t0.string().optional(),toolMetadata:r2.optional(),state:t0.literal("input-streaming"),input:t0.unknown().optional(),providerExecuted:t0.boolean().optional(),callProviderMetadata:t2.optional(),output:t0.never().optional(),errorText:t0.never().optional(),approval:t0.never().optional()}),t0.object({type:t0.literal("dynamic-tool"),toolName:t0.string(),toolCallId:t0.string(),title:t0.string().optional(),toolMetadata:r2.optional(),state:t0.literal("input-available"),input:t0.unknown(),providerExecuted:t0.boolean().optional(),output:t0.never().optional(),errorText:t0.never().optional(),callProviderMetadata:t2.optional(),approval:t0.never().optional()}),t0.object({type:t0.literal("dynamic-tool"),toolName:t0.string(),toolCallId:t0.string(),title:t0.string().optional(),toolMetadata:r2.optional(),state:t0.literal("approval-requested"),input:t0.unknown(),providerExecuted:t0.boolean().optional(),output:t0.never().optional(),errorText:t0.never().optional(),callProviderMetadata:t2.optional(),approval:t0.object({id:t0.string(),approved:t0.never().optional(),descriptor:t0.unknown().optional(),requestReason:t0.string().optional(),reason:t0.never().optional(),isAutomatic:t0.boolean().optional(),signature:t0.string().optional()})}),t0.object({type:t0.literal("dynamic-tool"),toolName:t0.string(),toolCallId:t0.string(),title:t0.string().optional(),toolMetadata:r2.optional(),state:t0.literal("approval-responded"),input:t0.unknown(),providerExecuted:t0.boolean().optional(),output:t0.never().optional(),errorText:t0.never().optional(),callProviderMetadata:t2.optional(),approval:t0.object({id:t0.string(),approved:t0.boolean(),descriptor:t0.unknown().optional(),requestReason:t0.string().optional(),reason:t0.string().optional(),isAutomatic:t0.boolean().optional(),signature:t0.string().optional()})}),t0.object({type:t0.literal("dynamic-tool"),toolName:t0.string(),toolCallId:t0.string(),title:t0.string().optional(),toolMetadata:r2.optional(),state:t0.literal("output-available"),input:t0.unknown(),providerExecuted:t0.boolean().optional(),output:t0.unknown(),errorText:t0.never().optional(),callProviderMetadata:t2.optional(),resultProviderMetadata:t2.optional(),preliminary:t0.boolean().optional(),approval:t0.object({id:t0.string(),approved:t0.literal(!0),descriptor:t0.unknown().optional(),requestReason:t0.string().optional(),reason:t0.string().optional(),isAutomatic:t0.boolean().optional(),signature:t0.string().optional()}).optional()}),t0.object({type:t0.literal("dynamic-tool"),toolName:t0.string(),toolCallId:t0.string(),title:t0.string().optional(),toolMetadata:r2.optional(),state:t0.literal("output-error"),input:t0.unknown().optional(),rawInput:t0.unknown().optional(),providerExecuted:t0.boolean().optional(),output:t0.never().optional(),errorText:t0.string(),callProviderMetadata:t2.optional(),resultProviderMetadata:t2.optional(),approval:t0.object({id:t0.string(),approved:t0.literal(!0),descriptor:t0.unknown().optional(),requestReason:t0.string().optional(),reason:t0.string().optional(),isAutomatic:t0.boolean().optional(),signature:t0.string().optional()}).optional()}),t0.object({type:t0.literal("dynamic-tool"),toolName:t0.string(),toolCallId:t0.string(),title:t0.string().optional(),toolMetadata:r2.optional(),state:t0.literal("output-denied"),input:t0.unknown(),providerExecuted:t0.boolean().optional(),output:t0.never().optional(),errorText:t0.never().optional(),callProviderMetadata:t2.optional(),approval:t0.object({id:t0.string(),approved:t0.literal(!1),descriptor:t0.unknown().optional(),requestReason:t0.string().optional(),reason:t0.string().optional(),isAutomatic:t0.boolean().optional(),signature:t0.string().optional()})}),t0.object({type:t0.string().startsWith("tool-"),toolCallId:t0.string(),title:t0.string().optional(),toolMetadata:r2.optional(),state:t0.literal("input-streaming"),providerExecuted:t0.boolean().optional(),callProviderMetadata:t2.optional(),input:t0.unknown().optional(),output:t0.never().optional(),errorText:t0.never().optional(),approval:t0.never().optional()}),t0.object({type:t0.string().startsWith("tool-"),toolCallId:t0.string(),title:t0.string().optional(),toolMetadata:r2.optional(),state:t0.literal("input-available"),providerExecuted:t0.boolean().optional(),input:t0.unknown(),output:t0.never().optional(),errorText:t0.never().optional(),callProviderMetadata:t2.optional(),approval:t0.never().optional()}),t0.object({type:t0.string().startsWith("tool-"),toolCallId:t0.string(),title:t0.string().optional(),toolMetadata:r2.optional(),state:t0.literal("approval-requested"),input:t0.unknown(),providerExecuted:t0.boolean().optional(),output:t0.never().optional(),errorText:t0.never().optional(),callProviderMetadata:t2.optional(),approval:t0.object({id:t0.string(),approved:t0.never().optional(),descriptor:t0.unknown().optional(),requestReason:t0.string().optional(),reason:t0.never().optional(),isAutomatic:t0.boolean().optional(),signature:t0.string().optional()})}),t0.object({type:t0.string().startsWith("tool-"),toolCallId:t0.string(),title:t0.string().optional(),toolMetadata:r2.optional(),state:t0.literal("approval-responded"),input:t0.unknown(),providerExecuted:t0.boolean().optional(),output:t0.never().optional(),errorText:t0.never().optional(),callProviderMetadata:t2.optional(),approval:t0.object({id:t0.string(),approved:t0.boolean(),descriptor:t0.unknown().optional(),requestReason:t0.string().optional(),reason:t0.string().optional(),isAutomatic:t0.boolean().optional(),signature:t0.string().optional()})}),t0.object({type:t0.string().startsWith("tool-"),toolCallId:t0.string(),title:t0.string().optional(),toolMetadata:r2.optional(),state:t0.literal("output-available"),providerExecuted:t0.boolean().optional(),input:t0.unknown(),output:t0.unknown(),errorText:t0.never().optional(),callProviderMetadata:t2.optional(),resultProviderMetadata:t2.optional(),preliminary:t0.boolean().optional(),approval:t0.object({id:t0.string(),approved:t0.literal(!0),descriptor:t0.unknown().optional(),requestReason:t0.string().optional(),reason:t0.string().optional(),isAutomatic:t0.boolean().optional(),signature:t0.string().optional()}).optional()}),t0.object({type:t0.string().startsWith("tool-"),toolCallId:t0.string(),title:t0.string().optional(),toolMetadata:r2.optional(),state:t0.literal("output-error"),providerExecuted:t0.boolean().optional(),input:t0.unknown().optional(),rawInput:t0.unknown().optional(),output:t0.never().optional(),errorText:t0.string(),callProviderMetadata:t2.optional(),resultProviderMetadata:t2.optional(),approval:t0.object({id:t0.string(),approved:t0.literal(!0),descriptor:t0.unknown().optional(),requestReason:t0.string().optional(),reason:t0.string().optional(),isAutomatic:t0.boolean().optional(),signature:t0.string().optional()}).optional()}),t0.object({type:t0.string().startsWith("tool-"),toolCallId:t0.string(),title:t0.string().optional(),toolMetadata:r2.optional(),state:t0.literal("output-denied"),providerExecuted:t0.boolean().optional(),input:t0.unknown(),output:t0.never().optional(),errorText:t0.never().optional(),callProviderMetadata:t2.optional(),approval:t0.object({id:t0.string(),approved:t0.literal(!1),descriptor:t0.unknown().optional(),requestReason:t0.string().optional(),reason:t0.string().optional(),isAutomatic:t0.boolean().optional(),signature:t0.string().optional()})})]))}).superRefine((e,t)=>{"assistant"!==e.role&&0===e.parts.length&&t.addIssue({origin:"array",code:"too_small",minimum:1,inclusive:!0,input:e.parts,path:["parts"],message:"Message must contain at least one part"})})).nonempty("Messages array must not be empty"))),(0,B.createIdGenerator)({prefix:"call",size:24}),(0,B.createIdGenerator)({prefix:"call",size:24}),new TextEncoder;var r5=["cost","gatewayCost","inferenceCost","inputInferenceCost","marketCost","outputInferenceCost","surchargeCost"];async function r6({model:e,prompt:t,n:o=1,maxImagesPerCall:r,size:n,aspectRatio:a,seed:i,providerOptions:l,maxRetries:s,abortSignal:u,headers:d}){var c,p,h;let m=function(e){if("string"==typeof e)return tE().imageModel(e);if(!["v4","v3","v2"].includes(e.specificationVersion))throw new e5({version:e.specificationVersion,provider:e.provider,modelId:e.modelId});return tb(e)}(e),g=(0,B.withUserAgentSuffix)(null!=d?d:{},`ai/${tO}`),{retry:f}=ox({maxRetries:s,abortSignal:u}),y=null!=(c=null!=r?r:await r8(m))?c:1,v=Math.ceil(o/y),b=Array.from({length:v},(e,t)=>{if(t<v-1)return y;let r=o%y;return 0===r?y:r}),_=await Promise.all(b.map(async e=>await f(()=>{var o;let{prompt:r,files:s,mask:d}="string"==typeof(o=t)?{prompt:o,files:void 0,mask:void 0}:{prompt:o.text,files:o.images.map(r7),mask:o.mask?r7(o.mask):void 0};return m.doGenerate({prompt:r,files:s,mask:d,n:e,abortSignal:u,headers:g,size:n,aspectRatio:a,seed:i,providerOptions:null!=l?l:{}})}))),w=[],z=[],x=[],T=[],k={},I={inputTokens:void 0,outputTokens:void 0,totalTokens:void 0};for(let e of _){let t=e.images.map((t,o)=>{var r;return new oS({data:t,mediaType:null!=(r=(0,B.detectMediaType)({data:t,topLevelType:"image"}))?r:"image/png",providerMetadata:function(e,t){var o;let r;if(null!=e){for(let[n,a]of Object.entries(e)){let e=null==(o=a.images)?void 0:o[t];(0,H.isJSONObject)(e)&&!Array.isArray(e)&&((null!=r?r:r={})[n]=e)}return r}}(e.providerMetadata,o)})});if(w.push(...t),z.push({images:t,providerMetadata:e.providerMetadata,response:e.response,warnings:e.warnings,usage:e.usage}),x.push(...e.warnings),null!=e.usage&&(p=I,h=e.usage,I={inputTokens:ov(p.inputTokens,h.inputTokens),outputTokens:ov(p.outputTokens,h.outputTokens),totalTokens:ov(p.totalTokens,h.totalTokens)}),e.providerMetadata)for(let[t,o]of Object.entries(e.providerMetadata))if("gateway"===t){let e=k[t];if(null!=e&&"object"==typeof e){let r=o;k[t]={...e,...o,...Object.fromEntries(r5.flatMap(t=>{let o=function(e,t){if("string"!=typeof e||"string"!=typeof t||!/^\d+(?:\.\d+)?$/.test(e)||!/^\d+(?:\.\d+)?$/.test(t))return;let[o,r=""]=e.split("."),[n,a=""]=t.split("."),i=Math.max(r.length,a.length),l=(BigInt(o+r.padEnd(i,"0"))+BigInt(n+a.padEnd(i,"0"))).toString().padStart(i+1,"0");return 0===i?l:`${l.slice(0,-i)}.${l.slice(-i)}`.replace(/\.?0+$/,"")}(e[t],r[t]);return null==o?[]:[[t,o]]}))}}else k[t]={...o};let r=k[t].images;Array.isArray(r)&&0===r.length&&delete k[t].images}else null!=k[t]||(k[t]={images:[]}),k[t].images.push(...o.images);T.push(e.response)}if(tg({warnings:x,provider:m.provider,model:m.modelId}),!w.length)throw new ew({calls:z,responses:T});return new r9({images:w,calls:z,warnings:x,responses:T,providerMetadata:k,usage:I})}var r9=class{constructor(e){this.images=e.images,this.calls=e.calls,this.warnings=e.warnings,this.responses=e.responses,this.providerMetadata=e.providerMetadata,this.usage=e.usage}get image(){return this.images[0]}};async function r8(e){return e.maxImagesPerCall instanceof Function?e.maxImagesPerCall({modelId:e.modelId}):e.maxImagesPerCall}function r7(e){if("string"==typeof e&&e.startsWith("http"))return{type:"url",url:e};if("string"==typeof e&&e.startsWith("data:")){let{mediaType:t,base64Content:o}=tR(e);if(null!=o){let e=(0,B.convertBase64ToUint8Array)(o);return{type:"file",data:e,mediaType:t||(0,B.detectMediaType)({data:e,topLevelType:"image"})||"image/png"}}}let t=r3(e);return{type:"file",data:t,mediaType:(0,B.detectMediaType)({data:t,topLevelType:"image"})||"image/png"}}function ne(e){return({url:t,abortSignal:o})=>tM({url:t,maxBytes:null==e?void 0:e.maxBytes,abortSignal:o})}(0,B.createIdGenerator)({prefix:"aiobj",size:24}),(0,B.createIdGenerator)({prefix:"aiobj",size:24});var nt=class extends oS{constructor({data:e,mediaType:t}){super({data:e,mediaType:t});let o="mp3";if(t){const e=t.split("/");2===e.length&&"audio/mpeg"!==t&&(o=e[1])}if(!o)throw Error("Audio format must be provided or determinable from media type");this.format=o}};async function no({model:e,text:t,voice:o,outputFormat:r,instructions:n,speed:a,language:i,providerOptions:l={},maxRetries:s,abortSignal:u,headers:d}){var c;let p=function(e){var t,o;if("string"==typeof e)return null==(o=(t=tE()).speechModel)?void 0:o.call(t,e);if(!["v4","v3","v2"].includes(e.specificationVersion))throw new e5({version:e.specificationVersion,provider:e.provider,modelId:e.modelId});return tk(e)}(e);if(!p)throw Error("Model could not be resolved");let h=(0,B.withUserAgentSuffix)(null!=d?d:{},`ai/${tO}`),{retry:m}=ox({maxRetries:s,abortSignal:u}),g=await m(()=>p.doGenerate({text:t,voice:o,outputFormat:r,instructions:n,speed:a,language:i,abortSignal:u,headers:h,providerOptions:l}));if(!g.audio||0===g.audio.length)throw new ej({responses:[g.response]});return tg({warnings:g.warnings,provider:p.provider,model:p.modelId}),new nr({audio:new nt({data:g.audio,mediaType:null!=(c=(0,B.detectMediaType)({data:g.audio,topLevelType:"audio"}))?c:"audio/mp3"}),warnings:g.warnings,responses:[g.response],providerMetadata:g.providerMetadata})}var nr=class{constructor(e){var t;this.audio=e.audio,this.warnings=e.warnings,this.responses=e.responses,this.providerMetadata=null!=(t=e.providerMetadata)?t:{}}},nn=ne();async function na({model:e,prompt:t,n:o=1,maxVideosPerCall:r,aspectRatio:n,resolution:a,duration:i,fps:l,seed:s,frameImages:u,inputReferences:d,generateAudio:c,providerOptions:p,maxRetries:h,abortSignal:m,headers:g,download:f=nn,poll:y,webhook:v}){var b;let _=function(e){var t;if("string"==typeof e){let o=(null!=(t=globalThis.AI_SDK_DEFAULT_PROVIDER)?t:F.gateway).videoModel;if(!o)throw Error('The default provider does not support video models. Please use a Experimental_VideoModelV4 object from a provider (e.g., vertex.video("model-id")).');return o(e)}if(!["v4","v3"].includes(e.specificationVersion))throw new e5({version:e.specificationVersion,provider:e.provider,modelId:e.modelId});return"v4"===e.specificationVersion?e:new Proxy(e,{get:(e,t)=>"specificationVersion"===t?"v4":e[t]})}(e),w=(0,B.withUserAgentSuffix)(null!=g?g:{},`ai/${tO}`),{retry:z}=ox({maxRetries:h,abortSignal:m}),{prompt:x,resolvedImage:T,normalizedFrameImages:k,effectiveInputReferences:I,warnings:S}=function({promptArg:e,frameImages:t,inputReferences:o}){var r;let{prompt:n,image:a}="string"==typeof e?{prompt:e,image:void 0}:{prompt:e.text,image:null!=e.image?nd(e.image):void 0},i=null==t?void 0:t.flatMap(e=>{let t=nd(e.image);return null!=t?[{image:t,frameType:e.frameType}]:[]}),l=null==o?void 0:o.flatMap(e=>{let t=function(e){if(!("object"==typeof e&&null!=e&&!(e instanceof Uint8Array)&&!(e instanceof ArrayBuffer)&&"data"in e))return nd(e,{restrictToImages:!1});let t=nd(e.data,{restrictToImages:!1});return null==t?t:{...t,...null!=e.mediaType?{mediaType:e.mediaType}:{}}}(e);return null!=t?[t]:[]}),s=null!=i&&i.length>0?void 0:l,u=[];null!=i&&i.length>0&&null!=l&&l.length>0&&u.push({type:"other",message:"inputReferences were ignored because frameImages were provided; frameImages and inputReferences cannot be combined."});let d=null==(r=null==i?void 0:i.find(e=>"first_frame"===e.frameType))?void 0:r.image;return null!=a&&null!=d&&u.push({type:"other",message:"prompt.image was ignored because a first_frame frameImage was provided; the first_frame frameImage takes precedence as the start image."}),{prompt:n,resolvedImage:null!=d?d:a,normalizedFrameImages:i,effectiveInputReferences:s,warnings:u}}({promptArg:t,frameImages:u,inputReferences:d}),C=null!=(b=null!=r?r:await nc(_))?b:1,E=null!=_.doStart&&null!=_.doStatus,A=E&&(null!=y||null!=v||null==_.doGenerate);if(null==_.doGenerate&&!E)throw Error(`Video model ${_.modelId} does not implement doGenerate or doStart/doStatus.`);null==y&&null==v||E||tg({warnings:[{type:"other",message:"poll/webhook options were provided but the model does not support doStart/doStatus. Falling back to doGenerate."}],provider:_.provider,model:_.modelId});let O=Array.from({length:Math.ceil(o/C)},(e,t)=>Math.min(o-t*C,C)),M=await Promise.all(O.map(async e=>{let t={prompt:x,n:e,aspectRatio:n,resolution:a,duration:i,fps:l,seed:s,image:T,frameImages:k,inputReferences:I,generateAudio:c,providerOptions:null!=p?p:{},headers:w,abortSignal:m};return A?ni({model:_,callOptions:t,poll:y,webhook:v,retry:z}):z(()=>_.doGenerate(t))})),j=[],R=[],N={};for(let e of M){for(let t of e.videos)switch(t.type){case"url":{let{data:e,mediaType:o}=await f({url:new URL(t.url),abortSignal:m}),r=e=>!!e&&"application/octet-stream"!==e,n=r(t.mediaType)&&t.mediaType||r(o)&&o||(0,B.detectMediaType)({data:e,topLevelType:"video"})||"video/mp4";j.push(new oS({data:e,mediaType:n}));break}case"base64":j.push(new oS({data:t.data,mediaType:t.mediaType||"video/mp4"}));break;case"binary":{let e=t.mediaType||(0,B.detectMediaType)({data:t.data,topLevelType:"video"})||"video/mp4";j.push(new oS({data:t.data,mediaType:e}))}}S.push(...e.warnings),R.push({timestamp:e.response.timestamp,modelId:e.response.modelId,headers:e.response.headers,providerMetadata:e.providerMetadata}),null!=e.providerMetadata&&ns(N,e.providerMetadata)}if(0===j.length)throw new eF({responses:R});return S.length>0&&tg({warnings:S,provider:_.provider,model:_.modelId}),{video:j[0],videos:j,warnings:S,responses:R,providerMetadata:N}}async function ni({model:e,callOptions:t,poll:o,webhook:r,retry:n}){var a,i,l,s;let u,d,c=[];if(null!=r)if(null!=e.handleWebhookOption){let t=await e.handleWebhookOption({webhook:r});u=t.webhookUrl,d=t.received}else c.push({type:"unsupported",feature:"webhook",details:"This model does not support webhooks. Falling back to polling."});let p=Object.entries(null!=(a=t.headers)?a:{}).find(([e,t])=>"idempotency-key"===e.toLowerCase()&&void 0!==t),h={...t,headers:{...t.headers,...p?{}:{"idempotency-key":`aisdk_vid_${(0,B.generateId)()}`}},webhookUrl:u},m=await n(()=>e.doStart(h)),g=[...c,...m.warnings],f=null==m.providerMetadata?void 0:{...m.providerMetadata},y=null!=(i=null==o?void 0:o.intervalMs)?i:5e3,v=null!=(l=null==o?void 0:o.timeoutMs)?l:6e5,b=null!=(s=null==o?void 0:o.delay)?s:B.delay,_=Date.now();for(null!=d&&await nl({received:d,timeoutMs:v,abortSignal:t.abortSignal,delay:b});;){if(null==d){let e=Date.now()-_;if(e>=v||(await b(Math.min(y,v-e),{abortSignal:t.abortSignal}),Date.now()-_>=v))throw Error(`Video generation timed out after ${v}ms.`)}let o=await n(()=>e.doStatus({operation:m.operation,abortSignal:t.abortSignal,headers:t.headers}));if("error"===o.status)throw Error(o.error);if(null!=o.warnings&&g.push(...o.warnings),null!=o.providerMetadata&&(null!=f||(f={}),ns(f,o.providerMetadata)),"completed"===o.status)return{videos:o.videos,warnings:g,providerMetadata:f,response:o.response};if(null!=d)throw Error("Video generation did not complete after webhook notification.")}}async function nl({received:e,timeoutMs:t,abortSignal:o,delay:r}){let n="function"==typeof globalThis.AbortController?new globalThis.AbortController:void 0;try{await Promise.race([e,r(t,{abortSignal:null==n?o:o_(o,n.signal)}).then(()=>{throw Error(`Video generation timed out after ${t}ms.`)})])}finally{null==n||n.abort()}}function ns(e,t){for(let[o,r]of Object.entries(t)){let t=e[o];null!=t&&"object"==typeof t&&null!=r&&"object"==typeof r?(e[o]={...t,...r},"videos"in t&&Array.isArray(t.videos)&&"videos"in r&&Array.isArray(r.videos)&&(e[o].videos=[...t.videos,...r.videos])):e[o]=r}}function nu(e,t){let o=t?(0,B.detectMediaType)({data:e,topLevelType:"image"}):(0,B.detectMediaType)({data:e});return null!=o?o:"image/png"}function nd(e,{restrictToImages:t=!0}={}){if("string"==typeof e){if(e.startsWith("http://")||e.startsWith("https://"))return{type:"url",url:e};if(e.startsWith("data:")){let{mediaType:o,base64Content:r}=tR(e),n=(0,B.convertBase64ToUint8Array)(null!=r?r:"");return{type:"file",mediaType:null!=o?o:nu(n,t),data:n}}let o=(0,B.convertBase64ToUint8Array)(e);return{type:"file",mediaType:nu(o,t),data:o}}if(e instanceof Uint8Array||e instanceof ArrayBuffer){let o=e instanceof Uint8Array?e:new Uint8Array(e);return{type:"file",mediaType:nu(o,t),data:o}}}async function nc(e){return"function"==typeof e.maxVideosPerCall?await e.maxVideosPerCall({modelId:e.modelId}):e.maxVideosPerCall}Symbol.for("vercel.ai.error.AI_NoSuchProviderError");H.NoSuchModelError,(0,B.createIdGenerator)({prefix:"call",size:24});var np=ne();async function nh({model:e,audio:t,providerOptions:o={},maxRetries:r,abortSignal:n,headers:a,download:i=np}){let l=function(e){var t,o;if("string"==typeof e)return null==(o=(t=tE()).transcriptionModel)?void 0:o.call(t,e);if(!["v4","v3","v2"].includes(e.specificationVersion))throw new e5({version:e.specificationVersion,provider:e.provider,modelId:e.modelId});return tS(e)}(e);if(!l)throw Error("Model could not be resolved");let{retry:s}=ox({maxRetries:r,abortSignal:n}),u=(0,B.withUserAgentSuffix)(null!=a?a:{},`ai/${tO}`),d=t instanceof URL?(await i({url:t,abortSignal:n})).data:r3(t),c=await s(()=>{var e;return l.doGenerate({audio:d,abortSignal:n,headers:u,providerOptions:o,mediaType:null!=(e=(0,B.detectMediaType)({data:d,topLevelType:"audio"}))?e:"audio/wav"})});if(tg({warnings:c.warnings,provider:l.provider,model:l.modelId}),!c.text)throw new e$({responses:[c.response]});return new nm({text:c.text,segments:c.segments,language:c.language,durationInSeconds:c.durationInSeconds,warnings:c.warnings,responses:[c.response],providerMetadata:c.providerMetadata})}var nm=class{constructor(e){var t;this.text=e.text,this.segments=e.segments,this.language=e.language,this.durationInSeconds=e.durationInSeconds,this.warnings=e.warnings,this.responses=e.responses,this.providerMetadata=null!=(t=e.providerMetadata)?t:{}}};e.s(["RetryError",0,tp,"ToolLoopAgent",0,r1,"experimental_generateVideo",0,na,"generateImage",0,r6,"generateSpeech",0,no,"generateText",0,rw,"pruneMessages",0,function({messages:e,reasoning:t="none",toolCalls:o=[],emptyMessages:r="remove"}){for(let r of(("all"===t||"before-last-message"===t)&&(e=e.map((o,r)=>"assistant"!==o.role||"string"==typeof o.content||"before-last-message"===t&&r===e.length-1?o:{...o,content:o.content.filter(e=>"reasoning"!==e.type)})),"none"===o?o=[]:"all"===o?o=[{type:"all"}]:"before-last-message"===o?o=[{type:"before-last-message"}]:"string"==typeof o&&(o=[{type:o}]),o)){let t="all"===r.type?void 0:"before-last-message"===r.type?1:Number(r.type.slice(12).slice(0,-9)),o=new Set,n=new Set;if(null!=t){for(let r of e.slice(-t))if(("assistant"===r.role||"tool"===r.role)&&"string"!=typeof r.content)for(let e of r.content)"tool-call"===e.type||"tool-result"===e.type?o.add(e.toolCallId):("tool-approval-request"===e.type||"tool-approval-response"===e.type)&&n.add(e.approvalId)}let a=new Map;for(let t of e)if(("assistant"===t.role||"tool"===t.role)&&"string"!=typeof t.content)for(let e of t.content)("tool-call"===e.type||"tool-result"===e.type)&&a.set(e.toolCallId,e.toolName);let i=new Map;for(let t of e)if(("assistant"===t.role||"tool"===t.role)&&"string"!=typeof t.content){for(let e of t.content)if("tool-approval-request"===e.type){let t=a.get(e.toolCallId);null!=t&&i.set(e.approvalId,t)}}e=e.map((a,l)=>"assistant"!==a.role&&"tool"!==a.role||"string"==typeof a.content||t&&l>=e.length-t?a:{...a,content:a.content.filter(e=>{if("tool-call"!==e.type&&"tool-result"!==e.type&&"tool-approval-request"!==e.type&&"tool-approval-response"!==e.type||("tool-call"===e.type||"tool-result"===e.type)&&o.has(e.toolCallId)||("tool-approval-request"===e.type||"tool-approval-response"===e.type)&&n.has(e.approvalId))return!0;let t="tool-call"===e.type||"tool-result"===e.type?e.toolName:i.get(e.approvalId);return null!=r.tools&&null!=t&&!r.tools.includes(t)})})}return"remove"===r&&(e=e.filter(e=>e.content.length>0)),e},"stepCountIs",0,ro,"transcribe",0,nh,"wrapLanguageModel",0,({model:e,middleware:t,modelId:o,providerId:r})=>{let n=tx(e);return[...(0,B.asArray)(t)].reverse().reduce((e,t)=>(({model:e,middleware:{transformParams:t,wrapGenerate:o,wrapStream:r,overrideProvider:n,overrideModelId:a,overrideSupportedUrls:i},modelId:l,providerId:s})=>{var u,d,c;async function p({params:o,type:r}){return t?await t({params:o,type:r,model:e}):o}return{specificationVersion:"v4",provider:null!=(u=null!=s?s:null==n?void 0:n({model:e}))?u:e.provider,modelId:null!=(d=null!=l?l:null==a?void 0:a({model:e}))?d:e.modelId,supportedUrls:null!=(c=null==i?void 0:i({model:e}))?c:e.supportedUrls,async doGenerate(t){let r=await p({params:t,type:"generate"}),n=async()=>await e.doGenerate(r),a=async()=>await e.doStream(r);return o?await o({doGenerate:n,doStream:a,params:r,model:e}):await n()},async doStream(t){let o=await p({params:t,type:"stream"}),n=async()=>await e.doGenerate(o),a=async()=>await e.doStream(o);return r?await r({doGenerate:n,doStream:a,params:o,model:e}):await a()}}})({model:e,middleware:t,modelId:o,providerId:r}),n)}])},65553,647365,729135,287119,970650,47392,246251,e=>{"use strict";var t;let o=Symbol.for("constructDateFrom");function r(e,t){return"function"==typeof e?e(t):e&&"object"==typeof e&&o in e?e[o](t):e instanceof Date?new e.constructor(t):new Date(t)}e.s(["constructFromSymbol",0,o,"millisecondsInDay",0,864e5,"millisecondsInMinute",0,6e4,"millisecondsInWeek",0,6048e5,"minutesInDay",0,1440,"minutesInMonth",0,43200,"minutesInYear",0,525600],647365),e.s(["constructFrom",0,r],65553);let n={lessThanXSeconds:{one:"less than a second",other:"less than {{count}} seconds"},xSeconds:{one:"1 second",other:"{{count}} seconds"},halfAMinute:"half a minute",lessThanXMinutes:{one:"less than a minute",other:"less than {{count}} minutes"},xMinutes:{one:"1 minute",other:"{{count}} minutes"},aboutXHours:{one:"about 1 hour",other:"about {{count}} hours"},xHours:{one:"1 hour",other:"{{count}} hours"},xDays:{one:"1 day",other:"{{count}} days"},aboutXWeeks:{one:"about 1 week",other:"about {{count}} weeks"},xWeeks:{one:"1 week",other:"{{count}} weeks"},aboutXMonths:{one:"about 1 month",other:"about {{count}} months"},xMonths:{one:"1 month",other:"{{count}} months"},aboutXYears:{one:"about 1 year",other:"about {{count}} years"},xYears:{one:"1 year",other:"{{count}} years"},overXYears:{one:"over 1 year",other:"over {{count}} years"},almostXYears:{one:"almost 1 year",other:"almost {{count}} years"}};function a(e){return (t={})=>{let o=t.width?String(t.width):e.defaultWidth;return e.formats[o]||e.formats[e.defaultWidth]}}let i={date:a({formats:{full:"EEEE, MMMM do, y",long:"MMMM do, y",medium:"MMM d, y",short:"MM/dd/yyyy"},defaultWidth:"full"}),time:a({formats:{full:"h:mm:ss a zzzz",long:"h:mm:ss a z",medium:"h:mm:ss a",short:"h:mm a"},defaultWidth:"full"}),dateTime:a({formats:{full:"{{date}} 'at' {{time}}",long:"{{date}} 'at' {{time}}",medium:"{{date}}, {{time}}",short:"{{date}}, {{time}}"},defaultWidth:"full"})},l={lastWeek:"'last' eeee 'at' p",yesterday:"'yesterday at' p",today:"'today at' p",tomorrow:"'tomorrow at' p",nextWeek:"eeee 'at' p",other:"P"};function s(e){return(t,o)=>{let r;if("formatting"===(o?.context?String(o.context):"standalone")&&e.formattingValues){let t=e.defaultFormattingWidth||e.defaultWidth,n=o?.width?String(o.width):t;r=e.formattingValues[n]||e.formattingValues[t]}else{let t=e.defaultWidth,n=o?.width?String(o.width):e.defaultWidth;r=e.values[n]||e.values[t]}return r[e.argumentCallback?e.argumentCallback(t):t]}}let u={ordinalNumber:(e,t)=>{let o=Number(e),r=o%100;if(r>20||r<10)switch(r%10){case 1:return o+"st";case 2:return o+"nd";case 3:return o+"rd"}return o+"th"},era:s({values:{narrow:["B","A"],abbreviated:["BC","AD"],wide:["Before Christ","Anno Domini"]},defaultWidth:"wide"}),quarter:s({values:{narrow:["1","2","3","4"],abbreviated:["Q1","Q2","Q3","Q4"],wide:["1st quarter","2nd quarter","3rd quarter","4th quarter"]},defaultWidth:"wide",argumentCallback:e=>e-1}),month:s({values:{narrow:["J","F","M","A","M","J","J","A","S","O","N","D"],abbreviated:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],wide:["January","February","March","April","May","June","July","August","September","October","November","December"]},defaultWidth:"wide"}),day:s({values:{narrow:["S","M","T","W","T","F","S"],short:["Su","Mo","Tu","We","Th","Fr","Sa"],abbreviated:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],wide:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]},defaultWidth:"wide"}),dayPeriod:s({values:{narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"}},defaultWidth:"wide",formattingValues:{narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"}},defaultFormattingWidth:"wide"})};function d(e){return(t,o={})=>{let r,n=o.width,a=n&&e.matchPatterns[n]||e.matchPatterns[e.defaultMatchWidth],i=t.match(a);if(!i)return null;let l=i[0],s=n&&e.parsePatterns[n]||e.parsePatterns[e.defaultParseWidth],u=Array.isArray(s)?function(e,t){for(let o=0;o<e.length;o++)if(t(e[o]))return o}(s,e=>e.test(l)):function(e,t){for(let o in e)if(Object.prototype.hasOwnProperty.call(e,o)&&t(e[o]))return o}(s,e=>e.test(l));return r=e.valueCallback?e.valueCallback(u):u,{value:r=o.valueCallback?o.valueCallback(r):r,rest:t.slice(l.length)}}}let c={ordinalNumber:(t={matchPattern:/^(\d+)(th|st|nd|rd)?/i,parsePattern:/\d+/i,valueCallback:e=>parseInt(e,10)},(e,o={})=>{let r=e.match(t.matchPattern);if(!r)return null;let n=r[0],a=e.match(t.parsePattern);if(!a)return null;let i=t.valueCallback?t.valueCallback(a[0]):a[0];return{value:i=o.valueCallback?o.valueCallback(i):i,rest:e.slice(n.length)}}),era:d({matchPatterns:{narrow:/^(b|a)/i,abbreviated:/^(b\.?\s?c\.?|b\.?\s?c\.?\s?e\.?|a\.?\s?d\.?|c\.?\s?e\.?)/i,wide:/^(before christ|before common era|anno domini|common era)/i},defaultMatchWidth:"wide",parsePatterns:{any:[/^b/i,/^(a|c)/i]},defaultParseWidth:"any"}),quarter:d({matchPatterns:{narrow:/^[1234]/i,abbreviated:/^q[1234]/i,wide:/^[1234](th|st|nd|rd)? quarter/i},defaultMatchWidth:"wide",parsePatterns:{any:[/1/i,/2/i,/3/i,/4/i]},defaultParseWidth:"any",valueCallback:e=>e+1}),month:d({matchPatterns:{narrow:/^[jfmasond]/i,abbreviated:/^(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)/i,wide:/^(january|february|march|april|may|june|july|august|september|october|november|december)/i},defaultMatchWidth:"wide",parsePatterns:{narrow:[/^j/i,/^f/i,/^m/i,/^a/i,/^m/i,/^j/i,/^j/i,/^a/i,/^s/i,/^o/i,/^n/i,/^d/i],any:[/^ja/i,/^f/i,/^mar/i,/^ap/i,/^may/i,/^jun/i,/^jul/i,/^au/i,/^s/i,/^o/i,/^n/i,/^d/i]},defaultParseWidth:"any"}),day:d({matchPatterns:{narrow:/^[smtwf]/i,short:/^(su|mo|tu|we|th|fr|sa)/i,abbreviated:/^(sun|mon|tue|wed|thu|fri|sat)/i,wide:/^(sunday|monday|tuesday|wednesday|thursday|friday|saturday)/i},defaultMatchWidth:"wide",parsePatterns:{narrow:[/^s/i,/^m/i,/^t/i,/^w/i,/^t/i,/^f/i,/^s/i],any:[/^su/i,/^m/i,/^tu/i,/^w/i,/^th/i,/^f/i,/^sa/i]},defaultParseWidth:"any"}),dayPeriod:d({matchPatterns:{narrow:/^(a|p|mi|n|(in the|at) (morning|afternoon|evening|night))/i,any:/^([ap]\.?\s?m\.?|midnight|noon|(in the|at) (morning|afternoon|evening|night))/i},defaultMatchWidth:"any",parsePatterns:{any:{am:/^a/i,pm:/^p/i,midnight:/^mi/i,noon:/^no/i,morning:/morning/i,afternoon:/afternoon/i,evening:/evening/i,night:/night/i}},defaultParseWidth:"any"})};e.s(["defaultLocale",0,{code:"en-US",formatDistance:(e,t,o)=>{let r,a=n[e];if(r="string"==typeof a?a:1===t?a.one:a.other.replace("{{count}}",t.toString()),o?.addSuffix)if(o.comparison&&o.comparison>0)return"in "+r;else return r+" ago";return r},formatLong:i,formatRelative:(e,t,o,r)=>l[e],localize:u,match:c,options:{weekStartsOn:0,firstWeekContainsDate:1}}],729135);let p={};function h(e,t){return r(t||e,e)}e.s(["getDefaultOptions",0,function(){return p}],287119),e.s(["toDate",0,h],970650),e.s(["getTimezoneOffsetInMilliseconds",0,function(e){let t=h(e),o=new Date(Date.UTC(t.getFullYear(),t.getMonth(),t.getDate(),t.getHours(),t.getMinutes(),t.getSeconds(),t.getMilliseconds()));return o.setUTCFullYear(t.getFullYear()),e-o}],47392),e.s(["normalizeDates",0,function(e,...t){let o=r.bind(null,e||t.find(e=>"object"==typeof e));return t.map(o)}],246251)},588762,e=>{"use strict";var t=e.i(65553),o=e.i(729135),r=e.i(287119),n=e.i(47392),a=e.i(246251),i=e.i(970650),l=e.i(647365);e.s(["formatDistanceToNowStrict",0,function(e,s){return function(e,t,s){var u;let d,c,p=(0,r.getDefaultOptions)(),h=s?.locale??p.locale??o.defaultLocale,m=(c=(0,i.toDate)(e)-(0,i.toDate)(t))<0?-1:c>0?1:c;if(isNaN(m))throw RangeError("Invalid time value");let g=Object.assign({},s,{addSuffix:s?.addSuffix,comparison:m}),[f,y]=(0,a.normalizeDates)(s?.in,...m>0?[t,e]:[e,t]),v=(u=s?.roundingMethod??"round",e=>{let t=(u?Math[u]:Math.trunc)(e);return 0===t?0:t}),b=y.getTime()-f.getTime(),_=b/l.millisecondsInMinute,w=(b-((0,n.getTimezoneOffsetInMilliseconds)(y)-(0,n.getTimezoneOffsetInMilliseconds)(f)))/l.millisecondsInMinute,z=s?.unit;if("second"===(d=z||(_<1?"second":_<60?"minute":_<l.minutesInDay?"hour":w<l.minutesInMonth?"day":w<l.minutesInYear?"month":"year"))){let e=v(b/1e3);return h.formatDistance("xSeconds",e,g)}if("minute"===d){let e=v(_);return h.formatDistance("xMinutes",e,g)}if("hour"===d){let e=v(_/60);return h.formatDistance("xHours",e,g)}if("day"===d){let e=v(w/l.minutesInDay);return h.formatDistance("xDays",e,g)}if("month"===d){let e=v(w/l.minutesInMonth);return 12===e&&"month"!==z?h.formatDistance("xYears",1,g):h.formatDistance("xMonths",e,g)}else{let e=v(w/l.minutesInYear);return h.formatDistance("xYears",e,g)}}(e,(0,t.constructFrom)(e,Date.now()),s)}],588762)},157406,e=>{"use strict";var t=e.i(533102),o=e.i(539774),r=e.i(763369);e.s(["max",0,function(e){return t.sql`max(${e})`.mapWith((0,o.is)(e,r.Column)?e:String)}])},811592,e=>e.a(async(t,o)=>{try{var r=e.i(666680),n=e.i(336763),a=e.i(157406),i=e.i(533102),l=e.i(232347),s=e.i(333925),u=e.i(876393),d=e.i(220376),c=e.i(51083),p=e.i(212389),h=e.i(951056),m=e.i(600690),g=t([u]);[u]=g.then?(await g)():g;let q=()=>l.appEvents.emit({type:"threads"}),L=e=>"done"===e||"cancelled"===e,D=(e,t,o)=>`message:${(0,r.createHash)("sha256").update(JSON.stringify([e,t,o])).digest("hex")}`;async function f(e,t,o){let[r]=await e.select({id:d.threadWorkTable.id}).from(d.threadWorkTable).where((0,n.and)((0,n.eq)(d.threadWorkTable.threadId,t),(0,n.eq)(d.threadWorkTable.state,"external"),(0,n.eq)(d.threadWorkTable.caller,o))).limit(1);return!!r}async function y(e,t,o){let r=o.flatMap(e=>"assistant"===e.role&&Array.isArray(e.content)?e.content.flatMap(e=>"tool-call"===e.type&&e.toolName===c.TOOL_NAMES.send_message?[e.toolCallId]:[]):[]),a=r.map(o=>D(e,t,o)),i=new Map;if(!a.length)return i;let[l,s]=await Promise.all([u.database.select({key:d.threadWorkTable.id,to:d.threadWorkTable.bot}).from(d.threadWorkTable).where((0,n.and)((0,n.eq)(d.threadWorkTable.threadId,e),(0,n.inArray)(d.threadWorkTable.id,a))),u.database.select({key:d.threadDeliveryTable.key,to:d.threadWorkTable.bot}).from(d.threadDeliveryTable).innerJoin(d.threadWorkTable,(0,n.eq)(d.threadWorkTable.id,d.threadDeliveryTable.workId)).where((0,n.and)((0,n.eq)(d.threadDeliveryTable.threadId,e),(0,n.inArray)(d.threadDeliveryTable.key,a)))]),p=new Map([...l,...s].map(e=>[e.key,e.to]));for(let[e,t]of r.entries()){let o=p.get(a[e]);o&&i.set(t,{messageId:a[e],to:o})}return i}async function v(e,t,o){let[r]=await e.select({seq:(0,a.max)(d.threadMessageTable.seq)}).from(d.threadMessageTable).where((0,n.eq)(d.threadMessageTable.threadId,t)),i=(r?.seq??-1)+1;return await e.insert(d.threadMessageTable).values({threadId:t,seq:i,...o}),i}let U=(e,t)=>({bot:e.bot,parent:e.id,role:"user",content:`${t} ${m.RESUME_CHECK}`,note:!0});async function b(e,t){await _(e.threadId,U(e,t))}async function _(e,t){let o=await u.database.transaction(o=>v(o,e,t));return q(),o}async function w(e){return u.database.select().from(d.threadWorkTable).where((0,n.eq)(d.threadWorkTable.threadId,e)).orderBy(d.threadWorkTable.createdAt,d.threadWorkTable.id)}async function z(e,t){let[o]=await u.database.select({budget:i.sql`min(nullif(${d.threadWorkTable.contextBudget}, 0))`}).from(d.threadWorkTable).where((0,n.and)((0,n.eq)(d.threadWorkTable.threadId,e),(0,n.eq)(d.threadWorkTable.bot,t)));return o?.budget??void 0}async function x(e,t){await u.database.transaction(async o=>{await T(o,e),await o.update(d.threadWorkTable).set({contextBudget:t}).where((0,n.eq)(d.threadWorkTable.id,e.id))}),q()}async function T(e,t){let[o]=await e.select().from(d.threadWorkTable).where((0,n.and)((0,n.eq)(d.threadWorkTable.id,t.id),(0,n.eq)(d.threadWorkTable.generation,t.generation),(0,n.eq)(d.threadWorkTable.state,"running")));return o||(0,p.publicError)("This turn is no longer running."),o}async function k(e,t){await e.insert(d.threadDeliveryTable).values(t).onConflictDoNothing();let[o]=await e.select({bot:d.threadWorkTable.bot}).from(d.threadWorkTable).where((0,n.eq)(d.threadWorkTable.id,t.workId));o&&await f(e,t.threadId,o.bot)||await e.update(d.threadWorkTable).set({state:"queued"}).where((0,n.and)((0,n.eq)(d.threadWorkTable.id,t.workId),(0,n.inArray)(d.threadWorkTable.state,["waiting","done"])))}async function I(e,t){let o={...m.RoomMessageSchema.parse(t),id:t.id};"question"===o.kind&&o.to!==m.ROOM_THURSDAY&&(0,p.publicError)("Address user questions to Thursday; use a message to contact another bot."),o.options?.length&&"question"!==o.kind&&(0,p.publicError)("Offer answer choices only with a user question.");let r=await u.database.transaction(async t=>{await T(t,e);let r=D(e.threadId,e.bot,o.id),[a]=await t.select().from(d.threadWorkTable).where((0,n.eq)(d.threadWorkTable.id,r));if(a)return{messageId:r,to:a.bot};let[i]=await t.select({to:d.threadWorkTable.bot}).from(d.threadDeliveryTable).innerJoin(d.threadWorkTable,(0,n.eq)(d.threadWorkTable.id,d.threadDeliveryTable.workId)).where((0,n.eq)(d.threadDeliveryTable.key,r));if(i)return{messageId:r,to:i.to};if(o.to===e.bot&&(0,p.publicError)("Continue your own work directly; choose another recipient."),o.replyTo){let[a]=await t.select().from(d.threadWorkTable).where((0,n.and)((0,n.eq)(d.threadWorkTable.id,o.replyTo),(0,n.eq)(d.threadWorkTable.threadId,e.threadId)));if((!a||a.bot!==e.bot||a.caller!==o.to||L(a.state))&&(0,p.publicError)("Reply to an open message addressed to you from that recipient."),a.parentId)return await k(t,{key:r,threadId:e.threadId,workId:a.parentId,speaker:e.bot,text:o.text}),{messageId:r,to:o.to}}let l=await t.select().from(d.threadWorkTable).where((0,n.eq)(d.threadWorkTable.threadId,e.threadId)),u=new Set(l.map(e=>e.bot).filter(e=>e!==m.ROOM_THURSDAY));o.to!==m.ROOM_THURSDAY&&!u.has(o.to)&&u.size>=s.BOT_RUN.participants&&(0,p.publicError)("This thread has reached its participant limit."),l.filter(e=>!L(e.state)).length>=s.BOT_RUN.queuedMessages&&(0,p.publicError)("This thread has reached its pending message limit.");let c=o.to!==m.ROOM_THURSDAY&&await f(t,e.threadId,o.to);return await t.insert(d.threadWorkTable).values({id:r,threadId:e.threadId,bot:o.to,caller:e.bot,parentId:e.id,state:o.to===m.ROOM_THURSDAY?"question"===o.kind?"external":"done":c?"waiting":"queued",result:o.to===m.ROOM_THURSDAY?o.text:null,options:[...new Set(o.options??[])]}),o.to===m.ROOM_THURSDAY?await t.insert(d.threadRelayTable).values({key:r,threadId:e.threadId,bot:e.bot,text:o.text,kind:o.kind,messageId:"question"===o.kind?r:null}):await k(t,{key:r,threadId:e.threadId,workId:r,speaker:e.bot,text:o.text}),await t.update(d.threadTable).set({wrapped:!1,updatedAt:new Date}).where((0,n.eq)(d.threadTable.id,e.threadId)),{messageId:r,to:o.to,...c?{note:`${o.to} is waiting for the user's answer and reads this after it.`}:{}}});return q(),r}async function S(e){let t=!1,o=await u.database.transaction(async o=>{let[r]=await o.select().from(d.threadTable).where((0,n.eq)(d.threadTable.id,e));if(!r||"running"!==r.status)return null;let a=await o.select().from(d.threadWorkTable).where((0,n.eq)(d.threadWorkTable.threadId,e)).orderBy(i.sql`${d.threadWorkTable}.rowid`),l=new Set(a.filter(e=>"external"===e.state).map(e=>e.caller));for(let e of a)"queued"===e.state&&l.has(e.bot)&&(await o.update(d.threadWorkTable).set({state:"waiting"}).where((0,n.eq)(d.threadWorkTable.id,e.id)),e.state="waiting",t=!0);let u=a.filter(e=>"running"===e.state);if(u.length>=s.BOT_RUN.concurrent)return null;let c=a.find(e=>"queued"===e.state&&!u.some(t=>t.bot===e.bot));if(!c)return null;if(r.turns>=s.BOT_RUN.turns)return await o.update(d.threadWorkTable).set({state:"paused"}).where((0,n.and)((0,n.eq)(d.threadWorkTable.threadId,e),(0,n.eq)(d.threadWorkTable.state,"queued"))),null;let[p]=await o.update(d.threadWorkTable).set({state:"running",generation:c.generation+1}).where((0,n.eq)(d.threadWorkTable.id,c.id)).returning();return await o.update(d.threadTable).set({turns:r.turns+1}).where((0,n.eq)(d.threadTable.id,e)),p});return(o||t)&&q(),o}async function C(e){let t=await u.database.transaction(async t=>{await T(t,e);let o=await t.select().from(d.threadDeliveryTable).where((0,n.and)((0,n.eq)(d.threadDeliveryTable.workId,e.id),(0,n.eq)(d.threadDeliveryTable.consumed,!1))).orderBy(d.threadDeliveryTable.id);for(let r of o){let o=E(r);await v(t,e.threadId,{bot:e.bot,parent:e.id,role:"user",content:o,hidden:!r.visible}),await t.update(d.threadDeliveryTable).set({consumed:!0}).where((0,n.eq)(d.threadDeliveryTable.id,r.id))}return o.map(E)});return t.length&&q(),t}function E(e){return e.visible?(0,h.tagSpeaker)("The user"===e.speaker?"user":"thursday",e.text):`${e.speaker}:
|
|
113
|
+
|
|
114
|
+
${e.text}`}async function A(e,t){await u.database.transaction(async o=>{await T(o,e);let r=await o.select().from(d.threadWorkTable).where((0,n.eq)(d.threadWorkTable.parentId,e.id)),a=await o.select({id:d.threadDeliveryTable.id}).from(d.threadDeliveryTable).where((0,n.and)((0,n.eq)(d.threadDeliveryTable.workId,e.id),(0,n.eq)(d.threadDeliveryTable.consumed,!1))).limit(1),i=await f(o,e.threadId,e.bot),l=a.length&&!i?"queued":a.length||r.some(e=>!L(e.state))?"waiting":"done";if(await o.update(d.threadWorkTable).set({state:l,result:t}).where((0,n.eq)(d.threadWorkTable.id,e.id)),"done"!==l)return;if(e.parentId){let[r]=await o.select().from(d.threadWorkTable).where((0,n.eq)(d.threadWorkTable.id,e.parentId)),[a]=t?[]:await o.select({id:d.threadDeliveryTable.id}).from(d.threadDeliveryTable).where((0,n.and)((0,n.eq)(d.threadDeliveryTable.workId,e.parentId),(0,n.eq)(d.threadDeliveryTable.speaker,e.bot),(0,n.eq)(d.threadDeliveryTable.consumed,!1))).limit(1);r&&"cancelled"!==r.state&&!a&&await k(o,{key:`return:${e.id}:${e.generation}`,threadId:e.threadId,workId:r.id,speaker:e.bot,text:t||"This turn ended without a message."})}let[s]=await o.select().from(d.threadTable).where((0,n.eq)(d.threadTable.id,e.threadId)),u=await o.select().from(d.threadWorkTable).where((0,n.eq)(d.threadWorkTable.threadId,e.threadId));s&&e.bot===s.bot&&!e.parentId&&u.every(e=>L(e.state))&&(await o.update(d.threadTable).set({status:t?"done":"waiting",outcome:t||"The room is idle. Send a message to continue.",pending:t?null:{options:[h.THREAD_CONTINUE]},wrapped:!0,endedAt:t?new Date:null,seen:!1,updatedAt:new Date}).where((0,n.eq)(d.threadTable.id,e.threadId)),t&&await o.insert(d.threadRelayTable).values({key:`report:${e.threadId}:${s.generation}`,threadId:e.threadId,bot:e.bot,text:t,kind:"report"}).onConflictDoNothing())}),q()}async function O(e){await u.database.transaction(async t=>{let[o]=await t.select().from(d.threadTable).where((0,n.eq)(d.threadTable.id,e));if(!o||"running"!==o.status)return;let r=await t.select().from(d.threadWorkTable).where((0,n.eq)(d.threadWorkTable.threadId,e));if(r.some(e=>"queued"===e.state||"running"===e.state))return;let a=r.find(e=>"external"===e.state);if(a)return void await t.update(d.threadTable).set({status:"waiting",outcome:a.result,pending:{options:a.options,messageId:a.id,bot:a.caller},updatedAt:new Date}).where((0,n.eq)(d.threadTable.id,e));if(r.some(e=>!L(e.state))||o.wrapped)return void await t.update(d.threadTable).set({status:"waiting",outcome:o.turns>=s.BOT_RUN.turns?"The room reached its automatic turn limit. Continue from the saved conversation.":"Work is paused. Continue from the saved conversation.",pending:{options:[h.THREAD_CONTINUE]},updatedAt:new Date}).where((0,n.eq)(d.threadTable.id,e));let i=crypto.randomUUID();await t.insert(d.threadWorkTable).values({id:i,threadId:e,bot:o.bot,caller:m.ROOM_THURSDAY,state:"queued"}),await k(t,{key:i,threadId:e,workId:i,speaker:"Thread activity",text:"The participants have finished their current turns. Bring together the results you received for Thursday, including anything still unresolved."}),await t.update(d.threadTable).set({wrapped:!0}).where((0,n.eq)(d.threadTable.id,e))}),q()}async function M(e,t,o=!1){await u.database.transaction(async r=>{let a=await r.select().from(d.threadWorkTable).where((0,n.eq)(d.threadWorkTable.threadId,e));for(let o of a.filter(e=>"running"===e.state||"queued"===e.state))await r.update(d.threadWorkTable).set({state:"paused",generation:o.generation+1}).where((0,n.eq)(d.threadWorkTable.id,o.id)),await v(r,e,U(o,t));await r.update(d.threadTable).set({status:"waiting",outcome:t,pending:{options:[h.THREAD_CONTINUE],...o?{auto:!0}:{}},seen:!1,endedAt:null,updatedAt:new Date}).where((0,n.eq)(d.threadTable.id,e)),await r.insert(d.threadRelayTable).values({key:crypto.randomUUID(),threadId:e,bot:a.find(e=>!e.parentId)?.bot??"Bot",text:t,kind:"interrupted",accepted:o})}),q()}async function j(e,t=!0){await u.database.transaction(async o=>{await o.update(d.threadWorkTable).set({state:"queued"}).where((0,n.and)((0,n.eq)(d.threadWorkTable.threadId,e),(0,n.eq)(d.threadWorkTable.state,"paused"))),await o.update(d.threadTable).set({status:"running",...t?{generation:i.sql`${d.threadTable.generation} + 1`,turns:0}:{},pending:null,outcome:null,endedAt:null,updatedAt:new Date}).where((0,n.eq)(d.threadTable.id,e)),await o.update(d.threadRelayTable).set({accepted:!0}).where((0,n.and)((0,n.eq)(d.threadRelayTable.threadId,e),(0,n.eq)(d.threadRelayTable.kind,"interrupted")))}),q()}async function R(e,t,o){let r=e.select({workId:d.threadDeliveryTable.workId}).from(d.threadDeliveryTable).where((0,n.and)((0,n.eq)(d.threadDeliveryTable.threadId,t),(0,n.eq)(d.threadDeliveryTable.consumed,!1)));await e.update(d.threadWorkTable).set({state:"queued"}).where((0,n.and)((0,n.eq)(d.threadWorkTable.threadId,t),(0,n.eq)(d.threadWorkTable.bot,o),(0,n.inArray)(d.threadWorkTable.state,["waiting","done"]),(0,n.inArray)(d.threadWorkTable.id,r)))}async function N(e,t,o,r,a,l=!0){let s=await u.database.transaction(async s=>{let[u]=await s.select().from(d.threadTable).where((0,n.eq)(d.threadTable.id,e));u||(0,p.publicError)("No such thread.");let c=await s.select().from(d.threadWorkTable).where((0,n.eq)(d.threadWorkTable.threadId,e)).orderBy(d.threadWorkTable.createdAt),h=c.filter(e=>"external"===e.state),g=a?h.find(e=>e.id===a)??(0,p.publicError)("That question is no longer waiting for an answer."):l?function(e,t){let o=t?e.filter(e=>e.caller===t):e;if(o.length<=1)return o[0];(0,p.publicError)(`Several questions are waiting for an answer: ${o.map(e=>`${e.caller} (replyTo ${e.id}): “${(e.result??"").slice(0,160)}”`).join("; ")}. Answer one of them by its replyTo.`)}(h,r):void 0,y=g?.caller??r??u.bot,v=g?c.find(e=>e.id===g.parentId):c.find(e=>e.bot===y&&"running"===e.state)??c.find(e=>e.bot===y&&!L(e.state)&&"external"!==e.state);if(g&&(await s.update(d.threadWorkTable).set({state:"done",result:t}).where((0,n.eq)(d.threadWorkTable.id,g.id)),await s.update(d.threadRelayTable).set({accepted:!0}).where((0,n.eq)(d.threadRelayTable.messageId,g.id))),!v){let t=null;if(y!==u.bot){let o=c.findLast(e=>e.bot===u.bot&&!e.parentId&&"cancelled"!==e.state);o?"done"===o.state&&await s.update(d.threadWorkTable).set({state:"waiting"}).where((0,n.eq)(d.threadWorkTable.id,o.id)):o=(await s.insert(d.threadWorkTable).values({id:crypto.randomUUID(),threadId:e,bot:u.bot,caller:m.ROOM_THURSDAY,state:"waiting"}).returning())[0],t=o.id}v=(await s.insert(d.threadWorkTable).values({id:crypto.randomUUID(),threadId:e,bot:y,caller:t?u.bot:m.ROOM_THURSDAY,parentId:t,state:"queued"}).returning())[0]}g&&await k(s,{key:`answer:${g.id}`,threadId:e,workId:v.id,speaker:"Thread activity",text:`The next message answers your question to the user: “${g.result??""}”`});let b=crypto.randomUUID();return await k(s,{key:b,threadId:e,workId:v.id,speaker:o,text:t,visible:!0}),g&&!await f(s,e,y)&&await R(s,e,y),await s.update(d.threadWorkTable).set({state:"queued"}).where((0,n.and)((0,n.eq)(d.threadWorkTable.threadId,e),(0,n.eq)(d.threadWorkTable.state,"paused"))),await s.update(d.threadTable).set({status:"running",generation:i.sql`${d.threadTable.generation} + 1`,turns:0,wrapped:!1,pending:null,outcome:null,endedAt:null,seen:!1,updatedAt:new Date}).where((0,n.eq)(d.threadTable.id,e)),await s.update(d.threadRelayTable).set({accepted:!0}).where((0,n.and)((0,n.eq)(d.threadRelayTable.threadId,e),(0,n.inArray)(d.threadRelayTable.kind,["interrupted","report"]))),{key:b,to:y,answered:g?{bot:g.caller,question:g.result??""}:null}});return q(),s}async function P(e){await u.database.transaction(async t=>{await t.update(d.threadWorkTable).set({state:"cancelled",generation:i.sql`${d.threadWorkTable.generation} + 1`}).where((0,n.and)((0,n.eq)(d.threadWorkTable.threadId,e),(0,n.inArray)(d.threadWorkTable.state,["queued","running","waiting","external","paused"]))),await t.update(d.threadRelayTable).set({accepted:!0}).where((0,n.eq)(d.threadRelayTable.threadId,e))}),q()}async function $(e,t){let[o]=await u.database.select({bot:d.threadTable.bot}).from(d.threadTable).where((0,n.eq)(d.threadTable.id,e)),r=await u.database.select().from(d.threadMessageTable).where((0,n.and)((0,n.eq)(d.threadMessageTable.threadId,e),(0,n.or)((0,n.eq)(d.threadMessageTable.bot,t),o?.bot===t?i.sql`${d.threadMessageTable.bot} is null AND ${d.threadMessageTable.parent} is null`:void 0))).orderBy(d.threadMessageTable.seq),a=r.findLastIndex(e=>e.compact);return(a>0?[r[0],...r.slice(a)]:r).map(e=>({role:e.role,content:e.content}))}e.s(["appendRoomMessage",0,_,"cancelRoom",0,P,"claimRoomWork",0,S,"consumeRoomInbox",0,C,"finishRoomWork",0,A,"listParticipantTranscript",0,$,"listRoomReceipts",0,y,"listRoomWork",0,w,"lowerRoomContextBudget",0,x,"noteRoomBreak",0,b,"pauseRoom",0,M,"resumeRoom",0,j,"roomContextBudget",0,z,"sendRoomMessage",0,I,"settleRoom",0,O,"tellRoom",0,N]),o()}catch(e){o(e)}},!1),49002,e=>e.a(async(t,o)=>{try{var r=e.i(136340),n=e.i(232347),a=e.i(333925),i=e.i(986507),l=e.i(475235),s=e.i(520401),u=e.i(375814),d=e.i(871096),c=e.i(528803),p=e.i(938281),h=e.i(212389),m=e.i(991243),g=e.i(64774),f=e.i(799791),y=e.i(277259),v=e.i(951056),b=e.i(811592),_=e.i(600690),w=e.i(5509),z=t([i,l,s,f,y,b,w]);[i,l,s,f,y,b,w]=z.then?(await z)():z;let R=globalThis.__roomRuns??=new Map,N=globalThis.__roomThreadLock??=(0,m.createKeyedLock)(),P=globalThis.__roomPausing??={current:Promise.resolve()};async function x(e){let t=await (0,f.findJobBot)(e.bot);(!t||t.disabled)&&(0,h.publicError)("Choose an enabled bot.");let{from:o,...r}={...e,bot:t.name},n=(0,l.buildThreadOpening)({bot:r.bot,request:r.request,from:o}),a=await (0,w.insertThread)({...r,opening:n});return await k(a.id),a.id}async function T(e,t,o="user",r,n){let a=null;return await N(e,async()=>{let i=await (0,w.findThread)(e);if(i||(0,h.publicError)("No such thread."),r){let t=(await (0,b.listRoomWork)(e)).find(e=>e.bot.toLowerCase()===r.trim().toLowerCase());t&&t.bot!==_.ROOM_THURSDAY||(0,h.publicError)("Choose a participant in this thread."),r=t.bot}t.trim()===v.THREAD_CONTINUE&&(0,v.isAppStop)(i.pending)?(await (0,b.resumeRoom)(e),(await (0,b.listRoomWork)(e)).some(e=>"queued"===e.state)||(a=await (0,b.tellRoom)(e,"Continue from the saved conversation.","user"===o?"The user":_.ROOM_THURSDAY,r,void 0,!1))):a=await (0,b.tellRoom)(e,t,"user"===o?"The user":_.ROOM_THURSDAY,r,n)}),await k(e),a}async function k(e){await N(e,async()=>{if(!n.presence.watching){let t=await (0,w.findThread)(e);t?.status!=="running"||[...R.values()].some(t=>t.threadId===e)||await (0,b.pauseRoom)(e,"The app is not open. Work resumes when it returns.",!0);return}for(let t=0;t<2;t++){let t;for(;t=await (0,b.claimRoomWork)(e);)!function(e){let t,o=new AbortController,r=new Promise(e=>{t=e});R.set(e.id,{threadId:e.threadId,stop:o,done:r}),I(e,o.signal).catch(t=>p.logger.error(`thread ${e.threadId}: participant`,t)).finally(()=>{R.delete(e.id),t(),k(e.threadId).catch(t=>p.logger.error(`thread ${e.threadId}: scheduling`,t))})}(t);await (0,b.settleRoom)(e)}})}async function I(e,t){let o=await S(e,t);if(o?.failure?.retry&&!t.aborted&&(await (0,b.noteRoomBreak)(e,o.failure.message),await (0,r.setTimeout)(a.BOT_RUN.retryMs,void 0,{signal:t}).catch(()=>{}),t.aborted||(o=await S(e,t))),!o||t.aborted)return;let i=o.failure?.message,l=o.ending;if(i||!l||l.stopped){let t=i??"The turn was interrupted. Continue from the saved conversation.";N(e.threadId,async()=>{let o=(await (0,b.listRoomWork)(e.threadId)).find(t=>t.id===e.id);if(o?.state!=="running"||o.generation!==e.generation)return;let r=C(e.threadId);await (0,b.pauseRoom)(e.threadId,t),await r}).catch(t=>p.logger.error(`thread ${e.threadId}: pausing`,t));return}await (0,b.finishRoomWork)(e,l.text);let h=await (0,w.findThread)(e.threadId);if(h?.status==="done"){await (0,s.isAnyCallLive)()||(0,c.desktopNotify)(h.label,h.outcome??"");let e=await (0,d.filesOnDisk)((0,u.pathsIn)(h.outcome??""),null),t=e.find(e=>e.startsWith(`${a.PATHS.artifacts}/`))??e[0];t&&n.appEvents.emit({type:"artifact",threadId:h.id,label:h.label,path:t})}}async function S(e,t){let o=new $(e,t),r=null,n=null;try{let a=await (0,w.findThread)(e.threadId);if(!a)return null;(await (0,b.listParticipantTranscript)(e.threadId,e.bot)).length||await (0,b.appendRoomMessage)(e.threadId,{bot:e.bot,parent:e.id,role:"user",content:`Request: ${a.request}
|
|
115
|
+
Coordinator: ${a.bot}. Continue as ${e.bot} in this thread.`,hidden:!0}),await (0,b.consumeRoomInbox)(e);let i=await (0,b.listParticipantTranscript)(e.threadId,e.bot);await (0,y.runBot)({bot:e.bot,messages:(0,y.resumeTranscript)(i,await (0,b.listRoomReceipts)(e.threadId,e.bot,i))},{signal:t,threadId:e.threadId,parent:e.id,caller:e.caller,owner:a.bot,contextBudget:await (0,b.roomContextBudget)(e.threadId,e.bot),session:(0,d.botBrowserSession)(e.threadId,e.bot),notes:()=>(0,b.consumeRoomInbox)(e),send:async o=>{t.throwIfAborted();let r=o.to.trim();if(r.toLowerCase()===_.ROOM_THURSDAY.toLowerCase())r=_.ROOM_THURSDAY;else{let e=await (0,f.findJobBot)(r);(!e||e.disabled)&&(0,h.publicError)(`No enabled bot named "${r}".`),r=e.name}let n=await (0,b.sendRoomMessage)(e,{...o,to:r});return k(e.threadId).catch(e=>p.logger.error("room message scheduling",e)),n},emit:async i=>{(!t.aborted||"tool-result"===i.type)&&(await o.on(i),"step"===i.type&&await (0,w.addThreadUsage)(e.threadId,i.usage,e.bot===a.bot?{tokens:i.usage.input,budget:i.budget}:null),"compact"===i.type&&await (0,w.addThreadUsage)(e.threadId,i.usage),"turn-end"===i.type&&(r=i),"error"===i.type&&(n={message:i.message,retry:i.retry},i.budget&&await (0,b.lowerRoomContextBudget)(e,i.budget)))}})}catch(o){t.aborted||(p.logger.error(`thread ${e.threadId}: ${e.bot} broke`,o),n={message:(0,i.modelErrorToString)(o),retry:!(0,h.isPublicError)(o)&&!(0,i.isProviderRefusal)(o)})}return{ending:r,failure:n}}class ${work;signal;lane;assistant;tool;parts;calls;results;constructor(e,t){this.work=e,this.signal=t,this.lane=(0,g.PromiseChain)(),this.assistant=null,this.tool=null,this.parts={assistant:[],tool:[]},this.calls=new Set,this.results=new Set}async write(e,t,o=!1){let r={bot:this.work.bot,parent:this.work.id,role:t.role,content:t.content,compact:o,note:o};return null===e?(0,b.appendRoomMessage)(this.work.threadId,r):(await (0,w.upsertMessage)(this.work.threadId,e,r),e)}on(e){return this.lane(async()=>{if(!this.signal.aborted||"tool-result"===e.type)if("text"===e.type)this.parts.assistant.push({type:"text",text:e.text}),this.assistant=await this.write(this.assistant,{role:"assistant",content:this.parts.assistant});else if("tool"===e.type){if(this.calls.has(e.id)){let t=this.parts.assistant.find(t=>"tool-call"===t.type&&t.toolCallId===e.id);t&&"tool-call"===t.type&&e.providerOptions&&(t.providerOptions=e.providerOptions,this.assistant=await this.write(this.assistant,{role:"assistant",content:this.parts.assistant}));return}this.calls.add(e.id),this.parts.assistant.push({type:"tool-call",toolCallId:e.id,toolName:e.name,input:e.input,...e.providerExecuted?{providerExecuted:!0}:{},...e.providerOptions?{providerOptions:e.providerOptions}:{}}),this.assistant=await this.write(this.assistant,{role:"assistant",content:this.parts.assistant})}else if("tool-result"===e.type){if(this.results.has(e.id))return;this.results.add(e.id),this.parts.tool.push({type:"tool-result",toolCallId:e.id,toolName:e.name,output:e.error?{type:"error-text",value:String(e.output)}:"string"==typeof e.output?{type:"text",value:e.output}:{type:"json",value:e.output}}),this.tool=await this.write(this.tool,{role:"tool",content:this.parts.tool})}else if("step"===e.type){let t=[this.assistant,this.tool];for(let[o,r]of e.messages.entries())await this.write(t[o]??null,r);let o=t.slice(e.messages.length).filter(e=>null!==e);o.length&&await (0,w.deleteMessages)(this.work.threadId,o),this.assistant=this.tool=null,this.parts={assistant:[],tool:[]}}else"compact"===e.type&&await this.write(null,{role:"user",content:e.text},!0)})}}async function C(e){let t=[...R.values()].filter(t=>t.threadId===e);for(let e of t)e.stop.abort();await Promise.all(t.map(e=>e.done))}async function E(e){await N(e,async()=>{let t=await (0,w.findThread)(e);t||(0,h.publicError)("No such thread."),t.endedAt&&(0,h.publicError)("That thread has already ended."),await (0,b.cancelRoom)(e),await (0,w.updateThread)(e,{status:"cancelled",outcome:null,pending:null,seen:!0,endedAt:new Date}),await C(e),await (0,d.closeJobShell)(e)})}async function A(){let e=Date.now()-a.WORKSPACE_KEEP.forMs,t=t=>("done"===t.status||"cancelled"===t.status)&&(t.endedAt??t.updatedAt).getTime()<e,o=new Set(await (0,d.listScratchFolders)()),r=[];for(let e of(await (0,w.listThreadFolders)())){let n=(0,d.jobScratch)(e.id,e.label);o.delete(n)&&t(e)&&await N(e.id,async()=>{let o=await (0,w.findThread)(e.id);o&&t(o)&&(await (0,d.closeHiddenBrowser)(e.id),await (0,d.removeJobScratch)(e.id,e.label),r.push(n))})}return r.push(...await (0,d.removeUnchangedFolders)([...o])),await (0,d.pruneJobFiles)(),r.length&&p.logger.info(`cleared ${r.length} old job folder(s): ${r.join(", ")}`),r}async function O(){for(let e of(await (0,w.listRunningThreadIds)()))await N(e,async()=>{[...R.values()].some(t=>t.threadId===e)||(await (0,w.findThread)(e))?.status==="running"&&await (0,b.pauseRoom)(e,"The server restarted. Resume from the saved conversation.")})}async function M(e,t=!1){let o=(async()=>{let o=await (0,w.listRunningThreadIds)();await Promise.all(o.map(o=>N(o,async()=>{(await (0,w.findThread)(o))?.status==="running"&&(await C(o),await (0,b.pauseRoom)(o,e,t))})))})();P.current=o,await o}async function j(){if(await P.current,n.presence.watching)for(let e of(await (0,w.listAutoStoppedThreads)()))await N(e,async()=>{let t=await (0,w.findThread)(e);t?.status==="waiting"&&t.pending?.auto&&await (0,b.resumeRoom)(e,!1)}),await k(e)}e.s(["answerThread",0,T,"cancelThread",0,E,"pauseThreads",0,M,"resumeStoppedThreads",0,j,"startThread",0,x,"sweepJobFiles",0,A,"sweepThreads",0,O]),o()}catch(e){o(e)}},!1),57553,(e,t,o)=>{t.exports=n,n.sync=function(e,t){return a(r.statSync(e),t)};var r=e.r(522734);function n(e,t,o){r.stat(e,function(e,r){o(e,!e&&a(r,t))})}function a(e,t){var o,r,n,a,i,l,s,u,d;return e.isFile()&&(o=e,r=t,n=o.mode,a=o.uid,i=o.gid,l=void 0!==r.uid?r.uid:process.getuid&&process.getuid(),s=void 0!==r.gid?r.gid:process.getgid&&process.getgid(),u=parseInt("100",8),d=parseInt("010",8),n&parseInt("001",8)||n&d&&i===s||n&u&&a===l||n&(u|d)&&0===l)}},39848,(e,t,o)=>{t.exports=a,a.sync=function(e,t){return n(r.statSync(e),e,t)};var r=e.r(522734);function n(e,t,o){if(!e.isSymbolicLink()&&!e.isFile())return!1;var r=void 0!==o.pathExt?o.pathExt:process.env.PATHEXT;if(!r||-1!==(r=r.split(";")).indexOf(""))return!0;for(var n=0;n<r.length;n++){var a=r[n].toLowerCase();if(a&&t.substr(-a.length).toLowerCase()===a)return!0}return!1}function a(e,t,o){r.stat(e,function(r,a){o(r,!r&&n(a,e,t))})}},773467,(e,t,o)=>{var r;function n(e,t,o){if("function"==typeof t&&(o=t,t={}),!o){if("function"!=typeof Promise)throw TypeError("callback not provided");return new Promise(function(o,r){n(e,t||{},function(e,t){e?r(e):o(t)})})}r(e,t||{},function(e,r){e&&("EACCES"===e.code||t&&t.ignoreErrors)&&(e=null,r=!1),o(e,r)})}e.r(522734),r="win32"===process.platform||e.g.TESTING_WINDOWS?e.r(39848):e.r(57553),t.exports=n,n.sync=function(e,t){try{return r.sync(e,t||{})}catch(e){if(t&&t.ignoreErrors||"EACCES"===e.code)return!1;throw e}}},955719,(e,t,o)=>{let r="win32"===process.platform||"cygwin"===process.env.OSTYPE||"msys"===process.env.OSTYPE,n=e.r(814747),a=r?";":":",i=e.r(773467),l=e=>Object.assign(Error(`not found: ${e}`),{code:"ENOENT"}),s=(e,t)=>{let o=t.colon||a,n=e.match(/\//)||r&&e.match(/\\/)?[""]:[...r?[process.cwd()]:[],...(t.path||process.env.PATH||"").split(o)],i=r?t.pathExt||process.env.PATHEXT||".EXE;.CMD;.BAT;.COM":"",l=r?i.split(o):[""];return r&&-1!==e.indexOf(".")&&""!==l[0]&&l.unshift(""),{pathEnv:n,pathExt:l,pathExtExe:i}},u=(e,t,o)=>{"function"==typeof t&&(o=t,t={}),t||(t={});let{pathEnv:r,pathExt:a,pathExtExe:u}=s(e,t),d=[],c=o=>new Promise((a,i)=>{if(o===r.length)return t.all&&d.length?a(d):i(l(e));let s=r[o],u=/^".*"$/.test(s)?s.slice(1,-1):s,c=n.join(u,e);a(p(!u&&/^\.[\\\/]/.test(e)?e.slice(0,2)+c:c,o,0))}),p=(e,o,r)=>new Promise((n,l)=>{if(r===a.length)return n(c(o+1));let s=a[r];i(e+s,{pathExt:u},(a,i)=>{if(!a&&i)if(!t.all)return n(e+s);else d.push(e+s);return n(p(e,o,r+1))})});return o?c(0).then(e=>o(null,e),o):c(0)};t.exports=u,u.sync=(e,t)=>{let{pathEnv:o,pathExt:r,pathExtExe:a}=s(e,t=t||{}),u=[];for(let l=0;l<o.length;l++){let s=o[l],d=/^".*"$/.test(s)?s.slice(1,-1):s,c=n.join(d,e),p=!d&&/^\.[\\\/]/.test(e)?e.slice(0,2)+c:c;for(let e=0;e<r.length;e++){let o=p+r[e];try{if(i.sync(o,{pathExt:a}))if(!t.all)return o;else u.push(o)}catch(e){}}}if(t.all&&u.length)return u;if(t.nothrow)return null;throw l(e)}},630482,(e,t,o)=>{"use strict";let r=(e={})=>{let t=e.env||process.env;return"win32"!==(e.platform||process.platform)?"PATH":Object.keys(t).reverse().find(e=>"PATH"===e.toUpperCase())||"Path"};t.exports=r,t.exports.default=r},36012,(e,t,o)=>{"use strict";let r=e.r(814747),n=e.r(955719),a=e.r(630482);function i(e,t){let o,i=e.options.env||process.env,l=process.cwd(),s=null!=e.options.cwd,u=s&&void 0!==process.chdir&&!process.chdir.disabled;if(u)try{process.chdir(e.options.cwd)}catch(e){}try{o=n.sync(e.command,{path:i[a({env:i})],pathExt:t?r.delimiter:void 0})}catch(e){}finally{u&&process.chdir(l)}return o&&(o=r.resolve(s?e.options.cwd:"",o)),o}t.exports=function(e){return i(e)||i(e,!0)}},278363,(e,t,o)=>{"use strict";let r=/([()\][%!^"`<>&|;, *?])/g;t.exports.command=function(e){return e.replace(r,"^$1")},t.exports.argument=function(e,t){return e=(e=(e=`${e}`).replace(/(?=(\\+?)?)\1"/g,'$1$1\\"')).replace(/(?=(\\+?)?)\1$/,"$1$1"),e=(e=`"${e}"`).replace(r,"^$1"),t&&(e=e.replace(r,"^$1")),e}},626716,(e,t,o)=>{"use strict";t.exports=/^#!(.*)/},653391,(e,t,o)=>{"use strict";let r=e.r(626716);t.exports=(e="")=>{let t=e.match(r);if(!t)return null;let[o,n]=t[0].replace(/#! ?/,"").split(" "),a=o.split("/").pop();return"env"===a?n:n?`${a} ${n}`:a}},333021,(e,t,o)=>{"use strict";let r=e.r(522734),n=e.r(653391);t.exports=function(e){let t,o=Buffer.alloc(150);try{t=r.openSync(e,"r"),r.readSync(t,o,0,150,0),r.closeSync(t)}catch(e){}return n(o.toString())}},810221,(e,t,o)=>{"use strict";e.r(814747),e.r(36012),e.r(278363),e.r(333021),process.platform,t.exports=function(e,t,o){t&&!Array.isArray(t)&&(o=t,t=null);let r={command:e,args:t=t?t.slice(0):[],options:o=Object.assign({},o),file:void 0,original:{command:e,args:t}};return o.shell,r}},664754,(e,t,o)=>{"use strict";process.platform,t.exports={hookChildProcess:function(e,t){},verifyENOENT:function(e,t){return null},verifyENOENTSync:function(e,t){return null},notFoundError:function(e,t){return Object.assign(Error(`${t} ${e.command} ENOENT`),{code:"ENOENT",errno:"ENOENT",syscall:`${t} ${e.command}`,path:e.command,spawnargs:e.args})}}},52199,(e,t,o)=>{"use strict";let r=e.r(233405),n=e.r(810221),a=e.r(664754);function i(e,t,o){let i=n(e,t,o),l=r.spawn(i.command,i.args,i.options);return a.hookChildProcess(l,i),l}t.exports=i,t.exports.spawn=i,t.exports.sync=function(e,t,o){let i=n(e,t,o),l=r.spawnSync(i.command,i.args,i.options);return l.error=l.error||a.verifyENOENTSync(l.status,i),l},t.exports._parse=n,t.exports._enoent=a},940655,e=>{"use strict";var t,o,r=e.i(691296),n=e.i(853205),a=e.i(296194),i=e.i(52199),l=n.z.optional(n.z.record(n.z.string(),n.z.unknown())),s=n.z.looseObject({name:n.z.string(),version:n.z.string(),title:n.z.optional(n.z.string())}),u=n.z.looseObject({_meta:n.z.optional(n.z.object({}).loose())}),d=u.extend({resultType:n.z.optional(n.z.string())}),c=n.z.object({method:n.z.string(),params:n.z.optional(u)}),p=n.z.object({applyDefaults:n.z.optional(n.z.boolean())}).loose(),h=n.z.looseObject({experimental:n.z.optional(n.z.object({}).loose()),logging:n.z.optional(n.z.object({}).loose()),completions:n.z.optional(n.z.object({}).loose()),prompts:n.z.optional(n.z.looseObject({listChanged:n.z.optional(n.z.boolean())})),resources:n.z.optional(n.z.looseObject({subscribe:n.z.optional(n.z.boolean()),listChanged:n.z.optional(n.z.boolean())})),tools:n.z.optional(n.z.looseObject({listChanged:n.z.optional(n.z.boolean())})),elicitation:n.z.optional(p)});n.z.object({elicitation:n.z.optional(p)}).loose(),d.extend({supportedVersions:n.z.array(n.z.string()),capabilities:h,instructions:n.z.optional(n.z.string()),ttlMs:n.z.optional(n.z.number()),cacheScope:n.z.optional(n.z.union([n.z.literal("public"),n.z.literal("private")]))}),d.extend({protocolVersion:n.z.string(),capabilities:h,serverInfo:s,instructions:n.z.optional(n.z.string())});var m=d.extend({nextCursor:n.z.optional(n.z.string())}),g=n.z.object({name:n.z.string(),title:n.z.optional(n.z.string()),description:n.z.optional(n.z.string()),inputSchema:n.z.looseObject({type:n.z.optional(n.z.unknown()),properties:n.z.optional(n.z.object({}).loose())}),outputSchema:n.z.optional(n.z.object({}).loose()),annotations:n.z.optional(n.z.object({title:n.z.optional(n.z.string()),readOnlyHint:n.z.optional(n.z.boolean()),destructiveHint:n.z.optional(n.z.boolean()),idempotentHint:n.z.optional(n.z.boolean()),openWorldHint:n.z.optional(n.z.boolean())}).loose()),_meta:l}).loose();m.extend({tools:n.z.array(g)});var f=n.z.object({type:n.z.literal("text"),text:n.z.string()}).loose(),y=n.z.object({type:n.z.literal("image"),data:n.z.base64(),mimeType:n.z.string()}).loose(),v=n.z.object({uri:n.z.string(),name:n.z.string(),title:n.z.optional(n.z.string()),description:n.z.optional(n.z.string()),mimeType:n.z.optional(n.z.string()),size:n.z.optional(n.z.number())}).loose();m.extend({resources:n.z.array(v)});var b=n.z.object({uri:n.z.string(),name:n.z.optional(n.z.string()),title:n.z.optional(n.z.string()),mimeType:n.z.optional(n.z.string())}).loose(),_=b.extend({text:n.z.string()}),w=b.extend({blob:n.z.base64()}),z=n.z.object({type:n.z.literal("resource"),resource:n.z.union([_,w])}).loose(),x=n.z.object({type:n.z.literal("resource_link"),uri:n.z.string(),name:n.z.string(),description:n.z.optional(n.z.string()),mimeType:n.z.optional(n.z.string())}).loose(),T=n.z.object({type:n.z.string()}).loose().refine(e=>!["text","image","resource","resource_link"].includes(e.type),{message:"Known content types must match their schema"}),k=d.extend({content:n.z.array(n.z.union([f,y,z,x,T])),structuredContent:n.z.optional(n.z.unknown()),isError:n.z.boolean().default(!1).optional()}),I=d.extend({content:n.z.never().optional(),structuredContent:n.z.json(),isError:n.z.boolean().default(!1).optional()}).transform(e=>({...e,content:[{type:"text",text:JSON.stringify(e.structuredContent)}]})).pipe(k);k.or(I).or(d.extend({toolResult:n.z.unknown().nonoptional()}));var S=n.z.object({uriTemplate:n.z.string(),name:n.z.string(),title:n.z.optional(n.z.string()),description:n.z.optional(n.z.string()),mimeType:n.z.optional(n.z.string())}).loose();d.extend({resourceTemplates:n.z.array(S)}),d.extend({contents:n.z.array(n.z.union([_,w]))});var C=n.z.object({type:n.z.literal("ref/prompt"),name:n.z.string()}).loose(),E=n.z.object({type:n.z.literal("ref/resource"),uri:n.z.string()}).loose(),A=n.z.object({name:n.z.string(),value:n.z.string()}).loose();u.extend({ref:n.z.union([C,E]),argument:A,context:n.z.optional(n.z.object({arguments:n.z.record(n.z.string(),n.z.string())}).loose())}),d.extend({completion:n.z.object({values:n.z.array(n.z.string()).max(100),total:n.z.optional(n.z.number().int()),hasMore:n.z.optional(n.z.boolean())}).loose()});var O=n.z.object({name:n.z.string(),description:n.z.optional(n.z.string()),required:n.z.optional(n.z.boolean())}).loose(),M=n.z.object({name:n.z.string(),title:n.z.optional(n.z.string()),description:n.z.optional(n.z.string()),arguments:n.z.optional(n.z.array(O))}).loose();m.extend({prompts:n.z.array(M)});var j=n.z.object({role:n.z.union([n.z.literal("user"),n.z.literal("assistant")]),content:n.z.union([f,y,z,x])}).loose();d.extend({description:n.z.optional(n.z.string()),messages:n.z.array(j)});var R=u.extend({message:n.z.string(),requestedSchema:n.z.unknown()});c.extend({method:n.z.literal("elicitation/create"),params:R}),d.extend({action:n.z.union([n.z.literal("accept"),n.z.literal("decline"),n.z.literal("cancel")]),content:n.z.optional(n.z.record(n.z.string(),n.z.unknown()))});var N=n.z.object({jsonrpc:n.z.literal("2.0"),id:n.z.union([n.z.string(),n.z.number().int()])}).merge(c).strict(),P=n.z.object({jsonrpc:n.z.literal("2.0"),id:n.z.union([n.z.string(),n.z.number().int()]),result:d}).strict(),$=n.z.object({jsonrpc:n.z.literal("2.0"),id:n.z.optional(n.z.union([n.z.string(),n.z.number().int()])),error:n.z.object({code:n.z.number().int(),message:n.z.string(),data:n.z.optional(n.z.unknown())})}).strict(),q=n.z.object({jsonrpc:n.z.literal("2.0")}).merge(n.z.object({method:n.z.string(),params:n.z.optional(u)})).strict(),L=n.z.union([N,q,P,$]);async function D(e){var t;return t=await (0,r.parseJSON)({text:e}),L.parse(t)}var U="vercel.ai.error.AI_MCPClientError",F=Symbol.for(U),B=class extends(o=a.AISDKError,t=F,o){constructor({name:e="MCPClientError",message:o,cause:r,data:n,code:a,statusCode:i,url:l,responseBody:s}){super({name:e,message:o,cause:r}),this[t]=!0,this.data=n,this.code=a,this.statusCode=i,this.url=l,this.responseBody=s}static isInstance(e){return a.AISDKError.hasMarker(e,U)}},H=class{constructor(e){this.supportsProtocolVersionDiscovery=!0,this.abortController=new AbortController,this.readBuffer=new W,this.serverParams=e}async start(){if(this.process)throw new B({message:"StdioMCPTransport already started."});return new Promise((e,t)=>{var o,r,n,a;try{let a=function(e,t){var o,r,n;if("win32"===globalThis.process.platform&&[e.command,...null!=(o=e.args)?o:[]].some(e=>/[\r\n]/.test(e)))throw TypeError("Stdio MCP commands and arguments must not contain line breaks on Windows.");return(0,i.default)(e.command,null!=(r=e.args)?r:[],{env:function(e){let t="win32"===globalThis.process.platform?["APPDATA","HOMEDRIVE","HOMEPATH","LOCALAPPDATA","PATH","PROCESSOR_ARCHITECTURE","SYSTEMDRIVE","SYSTEMROOT","TEMP","USERNAME","USERPROFILE"]:["HOME","LOGNAME","PATH","SHELL","TERM","USER"],o=e?{...e}:{};for(let e of t){let t=globalThis.process.env[e];void 0!==t&&(t.startsWith("()")||(o[e]=t))}return o}(e.env),stdio:["pipe","pipe",null!=(n=e.stderr)?n:"inherit"],shell:!1,signal:t,windowsHide:"win32"===globalThis.process.platform&&"type"in globalThis.process,cwd:e.cwd})}(this.serverParams,this.abortController.signal);this.process=a,this.process.on("error",e=>{var o,r;if("AbortError"===e.name){null==(o=this.onclose)||o.call(this);return}t(e),null==(r=this.onerror)||r.call(this,e)}),this.process.on("spawn",()=>{e()}),this.process.on("close",e=>{var t;this.process=void 0,null==(t=this.onclose)||t.call(this)}),null==(o=this.process.stdin)||o.on("error",e=>{var t;null==(t=this.onerror)||t.call(this,e)}),null==(r=this.process.stdout)||r.on("data",e=>{this.readBuffer.append(e),this.processReadBuffer()}),null==(n=this.process.stdout)||n.on("error",e=>{var t;null==(t=this.onerror)||t.call(this,e)})}catch(e){t(e),null==(a=this.onerror)||a.call(this,e)}})}async processReadBuffer(){for(var e,t;;){let o=this.readBuffer.readLine();if(null===o)break;try{let t=await V(o);null==(e=this.onmessage)||e.call(this,t)}catch(e){null==(t=this.onerror)||t.call(this,e)}}}async close(){this.abortController.abort(),this.process=void 0,this.readBuffer.clear()}send(e){return new Promise(t=>{var o;if(!(null==(o=this.process)?void 0:o.stdin))throw new B({message:"StdioClientTransport not connected"});let r=JSON.stringify(e)+"\n";this.process.stdin.write(r)?t():this.process.stdin.once("drain",t)})}},W=class{append(e){this.buffer=this.buffer?Buffer.concat([this.buffer,e]):e}readLine(){if(!this.buffer)return null;let e=this.buffer.indexOf("\n");if(-1===e)return null;let t=this.buffer.toString("utf8",0,e);return this.buffer=this.buffer.subarray(e+1),t}clear(){this.buffer=void 0}};async function V(e){return D(e)}e.s(["Experimental_StdioMCPTransport",0,H])},539904,e=>e.a(async(t,o)=>{try{var r,n=e.i(753955),a=e.i(940655),i=e.i(333925),l=e.i(938281),s=e.i(64774),u=e.i(993195),d=e.i(950262),c=t([u]);[u]=c.then?(await c)():c;class p extends Error{serverName;authorizationUrl;constructor(e,t){super(`MCP server "${e}" requires authorization`),this.serverName=e,this.authorizationUrl=t,this.name="McpAuthRequiredError"}}class h{store;serverName;oauth;callbackUrl;clientName;staticClient;lastAuthorizationUrl;constructor(e,t,o,r,n,a){this.store=e,this.serverName=t,this.oauth=o,this.callbackUrl=r,this.clientName=n,this.staticClient=a}get redirectUrl(){return this.callbackUrl}get clientMetadata(){return{client_name:this.clientName,redirect_uris:[this.callbackUrl],grant_types:["authorization_code","refresh_token"],response_types:["code"],token_endpoint_auth_method:"client_secret_post"}}async persist(e){this.oauth={...this.oauth,...e},await this.store.saveOAuth(this.serverName,this.oauth)}clientInformation(){return this.staticClient??this.oauth.clientInformation}async saveClientInformation(e){await this.persist({clientInformation:e})}tokens(){return this.oauth.tokens}async saveTokens(e){await this.persist({tokens:e})}authorizationServerInformation(){return this.oauth.authorizationServer}async saveAuthorizationServerInformation(e){await this.persist({authorizationServer:e})}codeVerifier(){if(!this.oauth.codeVerifier)throw Error("No code verifier saved");return this.oauth.codeVerifier}async saveCodeVerifier(e){await this.persist({codeVerifier:e})}state(){return crypto.randomUUID()}async saveState(e){await this.persist({state:e})}storedState(){return this.oauth.state}redirectToAuthorization(e){this.lastAuthorizationUrl=e}async invalidateCredentials(e){let t={...this.oauth};("all"===e||"client"===e)&&(t.clientInformation=void 0),("all"===e||"tokens"===e)&&(t.tokens=void 0),("all"===e||"verifier"===e)&&(t.codeVerifier=void 0),this.oauth=t,await this.store.saveOAuth(this.serverName,t)}}let m=globalThis;m.__thursdayMcpManager&&m.__thursdayMcpManager.dispose(),r={callbackUrl:new URL("/api/mcp/oauth/callback",i.APP_URL).href,clientName:i.APP_NAME},m.__thursdayMcpManager=new class e{store;sessions;connecting;idleTtlMs;callbackUrl;clientName;constructor(e,t){this.store=e,this.sessions=new Map,this.connecting=new Map,this.callbackUrl=t.callbackUrl,this.idleTtlMs=t.idleTtlMs??18e5,this.clientName=t.clientName??i.APP_NAME}async connect(e){let t=this.connecting.get(e);if(t)return t;let o=this.doConnect(e).finally(()=>this.connecting.delete(e));return this.connecting.set(e,o),o}async callTool(e,t,o,r){let a=await this.ensureClient(e);try{let n=await a.callTool({name:t,arguments:o,options:r?{signal:r}:void 0});return this.touch(e),n}catch(t){if(t instanceof n.UnauthorizedError)throw await this.closeSession(e),new p(e);throw t}}async finishAuthorization(e){let t=e.get("state"),o=e.get("code");if(!t||!o)throw Error("OAuth callback is missing code or state");let r=await this.store.findByOAuthState(t);if(!r||!(0,d.isRemoteConfig)(r.config))throw Error("No server is waiting for this authorization");let a=this.providerFor(r),i=await (0,n.auth)(a,{serverUrl:r.config.url,authorizationCode:o,callbackState:t});if("AUTHORIZED"!==i)throw Error(`Token exchange ended in "${i}"`);return await a.invalidateCredentials("verifier"),await this.connect(r.name),r.name}async disconnect(e){await this.closeSession(e)}async dispose(){await Promise.all([...this.sessions.keys()].map(e=>this.closeSession(e)))}async doConnect(e){await this.closeSession(e);let t=await this.store.load(e);if(!t)throw Error(`Unknown MCP server "${e}"`);let o={};try{let r=await this.openClient(t,o),n=(await r.listTools()).tools.map(e=>({name:e.name,description:e.description,inputSchema:e.inputSchema,outputSchema:e.outputSchema}));return this.adopt(e,r),await this.store.saveConnectionResult(e,{toolInfo:n,lastError:null}),l.logger.info(`mcp "${e}" connected — ${n.length} tools`),{status:"connected",tools:n}}catch(c){var r,a;let i;if(c instanceof n.UnauthorizedError||c?.cause instanceof n.UnauthorizedError){let t=o.href;if(t)return await this.store.saveConnectionResult(e,{toolInfo:[],lastError:"Authorization required — finish sign-in in the opened tab"}),{status:"auth_required",authorizationUrl:t}}let u=(r=c,a=t,i=(0,s.errorToString)(r),/\b40[13]\b/.test(i)&&/OAuth|register/i.test(i)&&(0,d.isRemoteConfig)(a.config)&&!a.config.oauthClient?"This server does not allow automatic client registration. Register an OAuth app with the provider and add its client ID and secret.":i);throw await this.store.saveConnectionResult(e,{toolInfo:[],lastError:u}),l.logger.warn(`mcp "${e}" failed — ${u}`),Error(u,{cause:c})}}async openClient(e,t={}){if((0,d.isRemoteConfig)(e.config)){let o=this.providerFor(e);try{return await (0,n.createMCPClient)({name:this.clientName,transport:{type:"http",url:e.config.url,headers:e.config.headers,authProvider:o,redirect:"follow"}})}finally{t.href=o.lastAuthorizationUrl?.href}}return(0,n.createMCPClient)({name:this.clientName,transport:new a.Experimental_StdioMCPTransport({command:e.config.command,args:e.config.args,env:e.config.env})})}providerFor(e){let t=(0,d.isRemoteConfig)(e.config)?e.config.oauthClient:void 0;return new h(this.store,e.name,e.oauth??{},this.callbackUrl,this.clientName,t&&{client_id:t.clientId,client_secret:t.clientSecret})}async ensureClient(e){let t=this.sessions.get(e);if(t)return t.client;let o=await this.connect(e);if("auth_required"===o.status)throw new p(e,o.authorizationUrl);let r=this.sessions.get(e);if(!r)throw Error(`Session for "${e}" vanished mid-connect`);return r.client}adopt(e,t){this.sessions.set(e,{client:t,idleTimer:this.armIdleTimer(e)})}touch(e){let t=this.sessions.get(e);t&&(clearTimeout(t.idleTimer),t.idleTimer=this.armIdleTimer(e))}armIdleTimer(e){let t=setTimeout(()=>{this.closeSession(e)},this.idleTtlMs);return t.unref?.(),t}async closeSession(e){let t=this.sessions.get(e);t&&(this.sessions.delete(e),clearTimeout(t.idleTimer),await t.client.close().catch(()=>{}))}}({load:e=>(0,u.findServer)(e),saveOAuth:(e,t)=>(0,u.saveOAuthData)(e,t),saveConnectionResult:(e,t)=>null===t.lastError?(0,u.syncServerTools)(e,t.toolInfo):(0,u.saveConnectionError)(e,t.lastError),findByOAuthState:e=>(0,u.findServerByOAuthState)(e)},r);let g=m.__thursdayMcpManager;e.s(["McpAuthRequiredError",0,p,"mcpManager",0,g]),o()}catch(e){o(e)}},!1),437905,e=>e.a(async(t,o)=>{try{var r=e.i(912714),n=e.i(750227),a=e.i(734732),i=e.i(489938),l=e.i(517435),s=e.i(986507),u=e.i(51083),d=e.i(938281),c=e.i(64774),p=t([s]);function h(e){return{...e,execute:(t,o)=>{let r=e.inputSchema.safeParse(t);if(!r.success)throw Error(l.default.prettifyError(r.error));return e.execute(r.data,o)}}}function m(e,t){let o=e.toLowerCase().replace(/[^\p{L}\p{N}]+/gu,"-").replace(/^-+|-+$/g,"").slice(0,40),r=(0,i.format)(new Date,"yyyyMMdd-HHmmss");return`${r}${o?`-${o}`:""}.${t}`}async function g(e,t,o,r){let n=`${t}/${o}`;return await e.exec(`mkdir -p ${t}`),await e.writeFile(n,Buffer.from(r)),n}[s]=p.then?(await p)():p;let v=e=>`${e}
|
|
116
|
+
Saved. Give the user this path — the file opens from the thread row. Do not describe it back to them; they can open it.`,b=(e,t)=>e?.split("/")[1]?.split(";")[0]||t,_=["1:1","16:9","9:16","4:3","3:4"],w=async()=>{let e=await (0,s.resolveMediaRef)("image");if(!e)return null;let t=(0,s.buildImageModel)(e.ref,e.apiKey);return h({name:u.STUDIO_TOOLS.generate_image,description:"Draw an image and save it as a file in the workspace. What comes back is its path.",inputSchema:l.default.object({prompt:l.default.string().describe("What to draw, described: subject, style, mood, what is in frame. The image model does not see the job or the conversation, so nothing can be left implied."),aspectRatio:l.default.enum(_).nullish().describe("Aspect ratio. Null for square.")}),execute:async({prompt:e,aspectRatio:o},{sandbox:r,artifacts:n,abortSignal:i})=>{let{image:l}=await (0,a.generateImage)({model:t,prompt:e,aspectRatio:o??"1:1",abortSignal:i}),s=await g(r,n,m(e,b(l.mediaType,"png")),l.uint8Array);return v(s)}})},z=async()=>{let e=await (0,s.resolveMediaRef)("speech");if(!e)return null;let t=(0,s.buildSpeechModel)(e.ref,e.apiKey);return h({name:u.STUDIO_TOOLS.generate_speech,description:"Read text aloud into an audio file in the workspace — something the user listens to or sends, not Thursday's voice. What comes back is its path.",inputSchema:l.default.object({text:l.default.string().min(1).max(4e3).describe("The words to read, up to 4000 characters. Longer pieces are read in parts, one call each."),voice:l.default.string().nullish().describe("A voice name the provider knows. Null for its default."),instructions:l.default.string().nullish().describe('How to read it — "slowly", "warm", "like a news anchor". Null for plain.')}),execute:async({text:e,voice:o,instructions:r},{sandbox:n,artifacts:i,abortSignal:l})=>{let{audio:s}=await (0,a.generateSpeech)({model:t,text:e,voice:o??void 0,instructions:r??void 0,outputFormat:"mp3",abortSignal:l}),u=await g(n,i,m(e.slice(0,60),s.format||"mp3"),s.uint8Array);return v(u)}})},x=async()=>{let e=await (0,s.resolveMediaRef)("transcription");if(!e)return null;let t=(0,s.buildTranscriptionModel)(e.ref,e.apiKey);return h({name:u.STUDIO_TOOLS.transcribe,description:"Turn an audio file — a recording, a voice memo, a meeting — into text. The transcript is saved as a file in the workspace; what comes back is its path and the text.",inputSchema:l.default.object({path:l.default.string().min(1).describe("The audio file: a path relative to the workspace, or an absolute one anywhere on this machine.")}),execute:async({path:e},{sandbox:o,artifacts:i,abortSignal:l})=>{let s=await (0,r.readFile)(o.resolve(e)),u=await (0,a.transcribe)({model:t,audio:s,abortSignal:l}),d=u.segments.length?`
|
|
117
|
+
|
|
118
|
+
## Timeline
|
|
119
|
+
|
|
120
|
+
${u.segments.map(e=>{var t;let o,r;return`- ${t=e.startSecond,o=Math.floor(t/60),r=Math.floor(t%60),`${o}:${String(r).padStart(2,"0")}`} ${e.text.trim()}`}).join("\n")}`:"",c=(0,n.basename)(e,(0,n.extname)(e)),p=await g(o,i,m(c,"md"),Buffer.from(`# ${c}
|
|
121
|
+
|
|
122
|
+
${u.text.trim()}${d}
|
|
123
|
+
`));return`${p}
|
|
124
|
+
|
|
125
|
+
${await o.fold(u.text,"transcript")}`}})},T=async()=>{let e=await (0,s.resolveMediaRef)("video");if(!e)return null;let t=(0,s.buildVideoModel)(e.ref,e.apiKey);return h({name:u.STUDIO_TOOLS.generate_video,description:"Make a short video and save it as a file in the workspace. Takes minutes. What comes back is its path.",inputSchema:l.default.object({prompt:l.default.string().describe("What happens: the scene, the motion, the camera, the mood. The video model does not see the job or the conversation, so nothing can be left implied."),aspectRatio:l.default.enum(["16:9","9:16"]).nullish().describe("Aspect ratio. Null for 16:9."),seconds:l.default.number().int().min(2).max(10).nullish().describe("Length in seconds, 2 to 10. Null for the provider's default.")}),execute:async({prompt:e,aspectRatio:o,seconds:r},{sandbox:n,artifacts:i,abortSignal:l})=>{let{video:s}=await (0,a.experimental_generateVideo)({model:t,prompt:e,aspectRatio:o??"16:9",duration:r??void 0,abortSignal:l}),u=await g(n,i,m(e,b(s.mediaType,"mp4")),s.uint8Array);return v(u)}})};async function f(){return(await Promise.all([y(w),y(z),y(x),y(T)])).filter(e=>null!==e)}async function y(e){try{return await e()}catch(e){return d.logger.warn(`studio: a tool could not be built — ${(0,c.errorToString)(e)}`),null}}e.s(["loadStudio",0,f]),o()}catch(e){o(e)}},!1),340697,e=>e.a(async(t,o)=>{try{var r=e.i(517435),n=e.i(333925),a=e.i(539904),i=e.i(993195),l=e.i(64774),s=e.i(437905),u=t([a,i,s]);async function d(e){let[t,o]=await Promise.all([!e||e===n.STUDIO_SERVER?(0,s.loadStudio)():[],e===n.STUDIO_SERVER?[]:(0,i.listToolNames)(e)]);return[...t.map(e=>({server:n.STUDIO_SERVER,name:e.name})),...o]}[a,i,s]=u.then?(await u)():u;let g=async()=>{let[e,t]=await Promise.all([(0,s.loadStudio)(),(0,i.listServerNames)()]);return[...e.length?[n.STUDIO_SERVER]:[],...t.map(e=>e.name)]};async function c(e,t){if(e===n.STUDIO_SERVER){let e=new Set(t);return(await (0,s.loadStudio)()).filter(t=>e.has(t.name)).map(e=>({name:e.name,description:e.description,inputSchema:r.default.toJSONSchema(e.inputSchema)}))}return(await (0,i.findToolSchemas)(e,t)).map(e=>({name:e.name,description:e.description??null,inputSchema:e.inputSchema??null}))}async function p(e,t,o,r,{artifacts:i,abortSignal:s}){let u=AbortSignal.timeout(n.CONNECTED_TOOL_TIMEOUT_MS),d=s?AbortSignal.any([s,u]):u;try{let a=t===n.STUDIO_SERVER?await h(e,o,r,i,d):await m(t,o,r,d);if("string"!=typeof a)return a;return{status:"ok",text:await e.fold(a,`${t}-${o}`)}}catch(e){if(e instanceof a.McpAuthRequiredError)return{status:"auth_required",server:t,authorizationUrl:e.authorizationUrl};if(u.aborted&&!s?.aborted)return{status:"error",text:`${o} on ${t} gave no answer in ${n.CONNECTED_TOOL_TIMEOUT_MS/6e4} minutes and was given up on.`};return{status:"error",text:(0,l.errorToString)(e)}}}async function h(e,t,o,r,a){let i=(await (0,s.loadStudio)()).find(e=>e.name===t);if(!i)throw Error(`"${t}" is not in the ${n.STUDIO_SERVER} right now — the key that runs it is gone.`);return i.execute(o??{},{sandbox:e,artifacts:r,abortSignal:a})}async function m(e,t,o,r){let n=function(e){let t=e??{},o=!0===t.isError;if(!Array.isArray(t.content)){let e=void 0===t.toolResult?"":"string"==typeof t.toolResult?t.toolResult:JSON.stringify(t.toolResult);return{status:o?"error":"ok",text:e||f(o)}}let r=t.content.map(e=>"text"===e.type&&"string"==typeof e.text?e.text:`[${e.type}${e.mimeType?` ${e.mimeType}`:""} — not shown]`).join("\n").trim();return{status:o?"error":"ok",text:r||f(o)}}(await a.mcpManager.callTool(e,t,o,r));return"ok"===n.status?n.text:n}let f=e=>e?"The tool failed without a message.":"Done.";e.s(["callConnectedTool",0,p,"findConnectedSchemas",0,c,"listConnectedServerNames",0,g,"listConnectedToolNames",0,d]),o()}catch(e){o(e)}},!1),610150,e=>{"use strict";let t=/[\u1100-\u11ff\u3040-\u30ff\u3130-\u318f\u4e00-\u9fff\uac00-\ud7af]/;function o(e){let o=0,r=0;for(let n of e)t.test(n)?o+=1:r+=1;return Math.ceil(o/1.3+r/4)}e.s(["estimateTokens",0,o,"sectionTokens",0,function(e){return e.split(/\n(?=## )/).map(e=>({name:e.startsWith("## ")?e.slice(3,e.indexOf("\n")):"identity",tokens:o(e)})).sort((e,t)=>t.tokens-e.tokens)}])},636608,e=>{"use strict";var t=e.i(489938),o=e.i(588762),r=e.i(333925),n=e.i(51083),a=e.i(900533),i=e.i(938281),l=e.i(610150);let s=(e=new Date)=>`${(0,t.format)(e,"yyyy-MM-dd (EEE) HH:mm")} ${Intl.DateTimeFormat().resolvedOptions().timeZone}`;n.STUDIO_TOOLS.generate_image,n.STUDIO_TOOLS.generate_speech,n.STUDIO_TOOLS.transcribe,n.STUDIO_TOOLS.generate_video,e.s(["callStamp",0,e=>`${(0,t.format)(e,"yyyy-MM-dd (EEE) HH:mm")} (${(0,o.formatDistanceToNowStrict)(e,{addSuffix:!0})})`,"clockNow",0,s,"conversationLines",0,e=>e.map(e=>"tool"===e.role?`you → ${e.tool??"tool"}`:`${"user"===e.role?"user":"you"}: ${e.text}`).join("\n"),"logPromptSize",0,function(e,t){let o=(0,l.sectionTokens)(t),n=o.reduce((e,t)=>e+t.tokens,0);i.logger.debug(`${e} prompt ${n} tokens — ${o.map(e=>`${e.name} ${e.tokens}`).join(", ")}`);let a=o[0];n>r.PROMPT_BUDGET&&a&&i.logger.warn(`${e} prompt is ${n} tokens, over ${r.PROMPT_BUDGET}: ${a.name} carries ${a.tokens} of it. Every call and every job pays this.`)},"mcpToolLines",0,function(e){let t=new Map;for(let o of e){let e=t.get(o.server);e?e.push(o.name):t.set(o.server,[o.name])}return[...t].map(([e,t])=>`- **${e}**: ${t.join(", ")}`).join("\n")},"noteLines",0,function(e,t=!1){return e.length?e.map(e=>{var o;let r,n=e.aliases?.length?` ${e.aliases.map(e=>`"${e}"`).join(" ")}`:"",i=t?` \xb7 ${o=e.lastSeenAt,(r=Math.floor((Date.now()-(0,a.toDate)(o).getTime())/864e5))>=365?`${Math.floor(r/365)}y`:r>=30?`${Math.floor(r/30)}mo`:`${Math.max(r,0)}d`}`:"";return`- ${e.path} — ${e.description?.trim()} (${e.factCount})${n}${i}`}).join("\n"):"(nothing saved yet)"},"nowLine",0,(e=new Date)=>`**Now**: ${s(e)}`,"saidStamp",0,e=>(0,t.format)(e,"yyyy-MM-dd (EEE) HH:mm"),"skillLines",0,(e,t={})=>e.map(e=>{var o;let n,a;return`- **${e.name}**: ${t.short?(o=e.description,n=r.PROMPT_LINE.skill,(a=o.trim().split(/(?<=[.。])\s|\n/)[0].trim()).length>n?`${a.slice(0,n).trim()}…`:a):e.description}`}).join("\n")])},475235,e=>e.a(async(t,o)=>{try{var r=e.i(489938),n=e.i(333925),a=e.i(51083),i=e.i(75752),l=e.i(799791),s=e.i(993195),u=e.i(1363),d=e.i(343229),c=e.i(871096),p=e.i(900533),h=e.i(938281),m=e.i(64774),g=e.i(340697),f=e.i(636608),y=t([l,s,u,g]);async function v(e,t,o,y){var v,w,z,x,T,k,I,S,C;let E,A,O,M,j,R,N=await (0,c.openWorkspace)(),P=e.trim(),[$,q,L,D,U,F,B,H]=await Promise.all([(0,d.loadSkills)(N),(0,u.listNoteIndex)(),(0,g.listConnectedToolNames)(),(0,s.findPinnedTools)(P),(0,l.listJobBots)(),(0,i.listBotMemory)(P),(0,l.readBotMemoryOn)(),(0,c.readMachineTools)(N)]),W=U.filter(e=>e.name!==P),V=[(v=P,w=o,A=(E=w?.owner??v)===v?"**You** coordinate this thread: its result goes from you to Thursday.":`**${E}** coordinates this thread and brings its result to Thursday.`,O=w?`
|
|
126
|
+
|
|
127
|
+
Current conversation: ${w.caller} → ${v}. Your final text goes back to ${w.caller}. Message ID: ${w.messageId??"initial request"}.`:"",`You are ${v}, one of the bots in this thread. ${(0,f.nowLine)()}
|
|
128
|
+
|
|
129
|
+
- **The user** — the one person all of this is for. They talk with Thursday by voice and follow this thread on their screen.
|
|
130
|
+
- **Thursday** — their personal assistant. She talks with them, hands bots the work that takes time, and tells them what comes back.
|
|
131
|
+
- ${A}
|
|
132
|
+
- **Everyone on it** keeps their own work and conversation; the others see only the messages sent to them.${O}
|
|
133
|
+
|
|
134
|
+
**The job is done, not described.** You are on the user's own computer, with a shell, files and the web, and how you get there is yours: when one way fails, try another; where no tool exists, write one — \`node\` is always here. Before deciding something cannot be done, look at what you have — your tools, the other bots, this machine. Bring back the thing itself — their account, their file, the real result — not a smaller, safer stand-in, and not a note on why not.
|
|
135
|
+
|
|
136
|
+
**Never present a guess as a result.** Thursday says what you return out loud, as fact: say which part is unverified and why.`),(z=q,`## Thursday's memory of the user
|
|
137
|
+
|
|
138
|
+
What Thursday keeps from talking with them. When the job needs something about them, open the note with \`${a.TOOL_NAMES.memory_recall}\`; a fact marked \`said\` came from a call, and \`${a.TOOL_NAMES.memory_conversation}\` opens that call. What you learn about them goes in your answer — Thursday decides what to keep.
|
|
139
|
+
|
|
140
|
+
path — what is under it (facts) "what the user calls it"
|
|
141
|
+
|
|
142
|
+
${(0,f.noteLines)(z)}`),function(e,t){let o=new Set(t.map(e=>`${e.server}/${e.name}`)),r=e.filter(e=>!o.has(`${e.server}/${e.name}`));if(0===r.length)return"";let n=o.size?" The ones you already hold are in your tools instead.":"";return`## Connected tools
|
|
143
|
+
|
|
144
|
+
${(0,f.mcpToolLines)(r)}
|
|
145
|
+
|
|
146
|
+
Names only: \`${a.TOOL_NAMES.tool_search}\` returns what each one takes, \`${a.TOOL_NAMES.tool_call}\` runs one.${n}`}(L,D),(x=$,0===x.length?"":`## Skills
|
|
147
|
+
|
|
148
|
+
Written-down ways of doing things. Open one with \`${a.TOOL_NAMES.load_skill}\` before a job it covers, unless its instructions are already in your conversation.
|
|
149
|
+
|
|
150
|
+
${(0,f.skillLines)(x)}`),_(N.cwd,H,y),B?(T=(0,i.botMemoryFolder)(P),M=(k=F).entries.length?k.entries.map(({file:e,line:t,at:o})=>{let a=t?` — ${(0,m.clip)(t,n.PROMPT_LINE.botMemory)}`:"";return`- ${e}${a} \xb7 ${(0,r.format)((0,p.toDate)(o),"yyyy-MM-dd")}`}).join("\n"):"Empty.",j=k.total>k.entries.length?`
|
|
151
|
+
|
|
152
|
+
The newest ${k.entries.length} of ${k.total}; \`ls ${T}\` for the rest.`:"",`## Your memory
|
|
153
|
+
|
|
154
|
+
What you learned on your own earlier jobs, in \`${T}/\`: one topic per file, its first line saying what it holds, read by no other bot, up to ${n.BOT_MEMORY_LIMITS.files} files of ${n.BOT_MEMORY_LIMITS.chars.toLocaleString("en-US")} characters each. It is how you get better at this work. When a job teaches you something a later one would otherwise find out again — how a site signs in, the way through its screens, a command that turned out right — keep it with the date it was true, and fix or delete what proved wrong. No passwords, keys or codes.
|
|
155
|
+
|
|
156
|
+
${M}${j}`):"",(I=W,0===I.length?"":`## Bots
|
|
157
|
+
|
|
158
|
+
${I.map(e=>`- **${e.name}** — ${e.description}`).join("\n")}
|
|
159
|
+
|
|
160
|
+
These lines were written for the user: where one says "you", it means them. When part of the job is another bot's strength, bring it in with \`${a.TOOL_NAMES.send_message}\` rather than rebuilding it yourself.`),(S=P,C=o,R=(C?.owner??S)===S?"Bring what you received together into one result for Thursday: what was done, where it is, what you decided that the request did not say, and what is still open, at the detail the user asked for.":`Your final text goes back to ${C?.caller??"whoever asked"}: give them everything they need to carry on.`,`## Working together
|
|
161
|
+
|
|
162
|
+
Nobody sees your work but you, and you see only what others send you, so whatever crosses between you has to stand on its own. A request says what is wanted, what is already known or done, and where the files are; an answer gives exact values, file paths and what is still unverified. Tell whoever is waiting when something they depend on changes. End your turn when you have nothing more to do now: replies arrive as new messages and wake you.
|
|
163
|
+
|
|
164
|
+
Ask Thursday with kind \`question\` only for a decision, permission or something only the user knows: clearly, with the context to answer, and short options when they help. Use kind \`message\` for news that needs no answer, and your final text for the result.
|
|
165
|
+
|
|
166
|
+
${R}
|
|
167
|
+
|
|
168
|
+
Write in the user's language. Put finished work in \`${(0,c.botArtifacts)(S)}/\` and name the paths. The app opens Markdown with its tables and mermaid blocks drawn, CSV as a table, HTML and PDF as pages, and images, audio and video; in Markdown, reference images by absolute route (\`/api/file/${n.PATHS.artifacts}/…\`).`),b(t)].filter(Boolean).join("\n\n");return(0,f.logPromptSize)("bot",V),h.logger.debug(`bot prompt
|
|
169
|
+
${V}`),{text:V}}[l,s,u,g]=y.then?(await y)():y;let b=e=>e?.trim()?`## Owner's instructions
|
|
170
|
+
|
|
171
|
+
Written by the person this bot works for. Where these and anything above disagree, these win.
|
|
172
|
+
|
|
173
|
+
${e.trim()}`:"",_=(e,t,o)=>{var r;let i,l;return`## Environment
|
|
174
|
+
|
|
175
|
+
Current Cwd: ${e}
|
|
176
|
+
Platform: ${process.platform}
|
|
177
|
+
${r=t,i=(e,t)=>`${e}: ${t.found.length?t.found.join(", "):"none"}.${t.missing.length?` Not here: ${t.missing.join(", ")}.`:""}`,l=r.managers.found.includes("pnpm")?" Use pnpm, not npm — this workspace is fenced for it (`pnpm-workspace.yaml`, `.npmrc`).":"",[i("Runtimes",r.runtimes),`${i("Package managers",r.managers)}${l}`,null===r.browser?"":`Browser: ${r.browser?"installed":"not installed"}.`].filter(Boolean).join("\n")}
|
|
178
|
+
|
|
179
|
+
Read off this machine as the job opened: what is already here, not the limit of what you can use.
|
|
180
|
+
|
|
181
|
+
Your workspace, where \`${a.TOOL_NAMES.bash}\` runs. Everything you write goes in one of these folders, kept apart because what is in them lives for different lengths of time:
|
|
182
|
+
|
|
183
|
+
- \`${o?.artifacts??n.PATHS.artifacts}/\` — finished work the user opens, one entry per result. Theirs, and it stays.
|
|
184
|
+
- \`${n.PATHS.projects}/\` — code you build, one folder each; it outlives this job, and its dependencies install inside it, never at the workspace root.
|
|
185
|
+
- \`${o?.scratch??n.PATHS.scratch}/\` — this job's working material, shared by every bot on it; cleared ${Math.round(n.WORKSPACE_KEEP.forMs/864e5)} days after the job ends.
|
|
186
|
+
- \`${o?.own??n.PATHS.bots}/\` — yours across every job you run here: what you keep for next time.
|
|
187
|
+
|
|
188
|
+
Inside the workspace, set up whatever the job needs yourself; installing anything machine-wide waits for the user's yes. Never the directory above the workspace — it is the app's, not the user's; outside the workspace, only where the user pointed you.`};e.s(["buildThreadOpening",0,function(e){let t="user"===e.from?"The user":"Thursday";return[{type:"text",text:`You are ${e.bot}. ${t} hands you this thread${"user"===e.from?" on screen":" during a call"}.`},{type:"text",text:`## ${t} → ${e.bot}: the job
|
|
189
|
+
|
|
190
|
+
${e.request.trim()}`}]},"loadBotPrompt",0,v]),o()}catch(e){o(e)}},!1),767080,(e,t,o)=>{"use strict";let r=Symbol.for("yaml.alias"),n=Symbol.for("yaml.document"),a=Symbol.for("yaml.map"),i=Symbol.for("yaml.pair"),l=Symbol.for("yaml.scalar"),s=Symbol.for("yaml.seq"),u=Symbol.for("yaml.node.type"),d=e=>!!e&&"object"==typeof e&&e[u]===l;function c(e){if(e&&"object"==typeof e)switch(e[u]){case a:case s:return!0}return!1}o.ALIAS=r,o.DOC=n,o.MAP=a,o.NODE_TYPE=u,o.PAIR=i,o.SCALAR=l,o.SEQ=s,o.hasAnchor=e=>(d(e)||c(e))&&!!e.anchor,o.isAlias=e=>!!e&&"object"==typeof e&&e[u]===r,o.isCollection=c,o.isDocument=e=>!!e&&"object"==typeof e&&e[u]===n,o.isMap=e=>!!e&&"object"==typeof e&&e[u]===a,o.isNode=function(e){if(e&&"object"==typeof e)switch(e[u]){case r:case a:case l:case s:return!0}return!1},o.isPair=e=>!!e&&"object"==typeof e&&e[u]===i,o.isScalar=d,o.isSeq=e=>!!e&&"object"==typeof e&&e[u]===s},341141,(e,t,o)=>{"use strict";var r=e.r(767080);let n=Symbol("break visit"),a=Symbol("skip children"),i=Symbol("remove node");function l(e,t){let o=c(t);r.isDocument(e)?s(null,e.contents,o,Object.freeze([e]))===i&&(e.contents=null):s(null,e,o,Object.freeze([]))}function s(e,t,o,a){let l=p(e,t,o,a);if(r.isNode(l)||r.isPair(l))return h(e,a,l),s(e,l,o,a);if("symbol"!=typeof l){if(r.isCollection(t)){a=Object.freeze(a.concat(t));for(let e=0;e<t.items.length;++e){let r=s(e,t.items[e],o,a);if("number"==typeof r)e=r-1;else{if(r===n)return n;r===i&&(t.items.splice(e,1),e-=1)}}}else if(r.isPair(t)){a=Object.freeze(a.concat(t));let e=s("key",t.key,o,a);if(e===n)return n;e===i&&(t.key=null);let r=s("value",t.value,o,a);if(r===n)return n;r===i&&(t.value=null)}}return l}async function u(e,t){let o=c(t);r.isDocument(e)?await d(null,e.contents,o,Object.freeze([e]))===i&&(e.contents=null):await d(null,e,o,Object.freeze([]))}async function d(e,t,o,a){let l=await p(e,t,o,a);if(r.isNode(l)||r.isPair(l))return h(e,a,l),d(e,l,o,a);if("symbol"!=typeof l){if(r.isCollection(t)){a=Object.freeze(a.concat(t));for(let e=0;e<t.items.length;++e){let r=await d(e,t.items[e],o,a);if("number"==typeof r)e=r-1;else{if(r===n)return n;r===i&&(t.items.splice(e,1),e-=1)}}}else if(r.isPair(t)){a=Object.freeze(a.concat(t));let e=await d("key",t.key,o,a);if(e===n)return n;e===i&&(t.key=null);let r=await d("value",t.value,o,a);if(r===n)return n;r===i&&(t.value=null)}}return l}function c(e){return"object"==typeof e&&(e.Collection||e.Node||e.Value)?Object.assign({Alias:e.Node,Map:e.Node,Scalar:e.Node,Seq:e.Node},e.Value&&{Map:e.Value,Scalar:e.Value,Seq:e.Value},e.Collection&&{Map:e.Collection,Seq:e.Collection},e):e}function p(e,t,o,n){return"function"==typeof o?o(e,t,n):r.isMap(t)?o.Map?.(e,t,n):r.isSeq(t)?o.Seq?.(e,t,n):r.isPair(t)?o.Pair?.(e,t,n):r.isScalar(t)?o.Scalar?.(e,t,n):r.isAlias(t)?o.Alias?.(e,t,n):void 0}function h(e,t,o){let n=t[t.length-1];if(r.isCollection(n))n.items[e]=o;else if(r.isPair(n))"key"===e?n.key=o:n.value=o;else if(r.isDocument(n))n.contents=o;else{let e=r.isAlias(n)?"alias":"scalar";throw Error(`Cannot replace node with ${e} parent`)}}l.BREAK=n,l.SKIP=a,l.REMOVE=i,u.BREAK=n,u.SKIP=a,u.REMOVE=i,o.visit=l,o.visitAsync=u},954907,(e,t,o)=>{"use strict";var r=e.r(767080),n=e.r(341141);let a={"!":"%21",",":"%2C","[":"%5B","]":"%5D","{":"%7B","}":"%7D"},i=e=>e.replace(/[!,[\]{}]/g,e=>a[e]);class l{constructor(e,t){this.docStart=null,this.docEnd=!1,this.yaml=Object.assign({},l.defaultYaml,e),this.tags=Object.assign({},l.defaultTags,t)}clone(){let e=new l(this.yaml,this.tags);return e.docStart=this.docStart,e}atDocument(){let e=new l(this.yaml,this.tags);switch(this.yaml.version){case"1.1":this.atNextDocument=!0;break;case"1.2":this.atNextDocument=!1,this.yaml={explicit:l.defaultYaml.explicit,version:"1.2"},this.tags=Object.assign({},l.defaultTags)}return e}add(e,t){this.atNextDocument&&(this.yaml={explicit:l.defaultYaml.explicit,version:"1.1"},this.tags=Object.assign({},l.defaultTags),this.atNextDocument=!1);let o=e.trim().split(/[ \t]+/),r=o.shift();switch(r){case"%TAG":{if(2!==o.length&&(t(0,"%TAG directive should contain exactly two parts"),o.length<2))return!1;let[e,r]=o;return this.tags[e]=r,!0}case"%YAML":{if(this.yaml.explicit=!0,1!==o.length)return t(0,"%YAML directive should contain exactly one part"),!1;let[e]=o;if("1.1"===e||"1.2"===e)return this.yaml.version=e,!0;{let o=/^\d+\.\d+$/.test(e);return t(6,`Unsupported YAML version ${e}`,o),!1}}default:return t(0,`Unknown directive ${r}`,!0),!1}}tagName(e,t){if("!"===e)return"!";if("!"!==e[0])return t(`Not a valid tag: ${e}`),null;if("<"===e[1]){let o=e.slice(2,-1);return"!"===o||"!!"===o?(t(`Verbatim tags aren't resolved, so ${e} is invalid.`),null):(">"!==e[e.length-1]&&t("Verbatim tags must end with a >"),o)}let[,o,r]=e.match(/^(.*!)([^!]*)$/s);r||t(`The ${e} tag has no suffix`);let n=this.tags[o];if(n)try{return n+decodeURIComponent(r)}catch(e){return t(String(e)),null}return"!"===o?e:(t(`Could not resolve tag: ${e}`),null)}tagString(e){for(let[t,o]of Object.entries(this.tags))if(e.startsWith(o))return t+i(e.substring(o.length));return"!"===e[0]?e:`!<${e}>`}toString(e){let t,o=this.yaml.explicit?[`%YAML ${this.yaml.version||"1.2"}`]:[],a=Object.entries(this.tags);if(e&&a.length>0&&r.isNode(e.contents)){let o={};n.visit(e.contents,(e,t)=>{r.isNode(t)&&t.tag&&(o[t.tag]=!0)}),t=Object.keys(o)}else t=[];for(let[r,n]of a)("!!"!==r||"tag:yaml.org,2002:"!==n)&&(!e||t.some(e=>e.startsWith(n)))&&o.push(`%TAG ${r} ${n}`);return o.join("\n")}}l.defaultYaml={explicit:!1,version:"1.2"},l.defaultTags={"!!":"tag:yaml.org,2002:"},o.Directives=l},375506,(e,t,o)=>{"use strict";var r=e.r(767080),n=e.r(341141);function a(e){let t=new Set;return n.visit(e,{Value(e,o){o.anchor&&t.add(o.anchor)}}),t}function i(e,t){for(let o=1;;++o){let r=`${e}${o}`;if(!t.has(r))return r}}o.anchorIsValid=function(e){if(/[\x00-\x19\s,[\]{}]/.test(e)){let t=JSON.stringify(e);throw Error(`Anchor must not contain whitespace or control characters: ${t}`)}return!0},o.anchorNames=a,o.createNodeAnchors=function(e,t){let o=[],n=new Map,l=null;return{onAnchor:r=>{o.push(r),l??(l=a(e));let n=i(t,l);return l.add(n),n},setAnchors:()=>{for(let e of o){let t=n.get(e);if("object"==typeof t&&t.anchor&&(r.isScalar(t.node)||r.isCollection(t.node)))t.node.anchor=t.anchor;else{let t=Error("Failed to resolve repeated object (this should not happen)");throw t.source=e,t}}},sourceObjects:n}},o.findNewAnchor=i},670087,(e,t,o)=>{"use strict";o.applyReviver=function e(t,o,r,n){if(n&&"object"==typeof n)if(Array.isArray(n))for(let o=0,r=n.length;o<r;++o){let r=n[o],a=e(t,n,String(o),r);void 0===a?delete n[o]:a!==r&&(n[o]=a)}else if(n instanceof Map)for(let o of Array.from(n.keys())){let r=n.get(o),a=e(t,n,o,r);void 0===a?n.delete(o):a!==r&&n.set(o,a)}else if(n instanceof Set)for(let o of Array.from(n)){let r=e(t,n,o,o);void 0===r?n.delete(o):r!==o&&(n.delete(o),n.add(r))}else for(let[o,r]of Object.entries(n)){let a=e(t,n,o,r);void 0===a?delete n[o]:a!==r&&(n[o]=a)}return t.call(o,r,n)}},344972,(e,t,o)=>{"use strict";var r=e.r(767080);o.toJS=function e(t,o,n){if(Array.isArray(t))return t.map((t,o)=>e(t,String(o),n));if(t&&"function"==typeof t.toJSON){if(!n||!r.hasAnchor(t))return t.toJSON(o,n);let e={aliasCount:0,count:1,res:void 0};n.anchors.set(t,e),n.onCreate=t=>{e.res=t,delete n.onCreate};let a=t.toJSON(o,n);return n.onCreate&&n.onCreate(a),a}return"bigint"!=typeof t||n?.keep?t:Number(t)}},253713,(e,t,o)=>{"use strict";var r=e.r(670087),n=e.r(767080),a=e.r(344972);o.NodeBase=class{constructor(e){Object.defineProperty(this,n.NODE_TYPE,{value:e})}clone(){let e=Object.create(Object.getPrototypeOf(this),Object.getOwnPropertyDescriptors(this));return this.range&&(e.range=this.range.slice()),e}toJS(e,{mapAsMap:t,maxAliasCount:o,onAnchor:i,reviver:l}={}){if(!n.isDocument(e))throw TypeError("A document argument is required");let s={anchors:new Map,doc:e,keep:!0,mapAsMap:!0===t,mapKeyWarned:!1,maxAliasCount:"number"==typeof o?o:100},u=a.toJS(this,"",s);if("function"==typeof i)for(let{count:e,res:t}of s.anchors.values())i(t,e);return"function"==typeof l?r.applyReviver(l,{"":u},"",u):u}}},917429,(e,t,o)=>{"use strict";var r=e.r(375506),n=e.r(341141),a=e.r(767080),i=e.r(253713),l=e.r(344972);class s extends i.NodeBase{constructor(e){super(a.ALIAS),this.source=e,Object.defineProperty(this,"tag",{set(){throw Error("Alias nodes cannot have tags")}})}resolve(e,t){let o,r;if(t?.maxAliasCount===0)throw ReferenceError("Alias resolution is disabled");for(let i of(t?.aliasResolveCache?o=t.aliasResolveCache:(o=[],n.visit(e,{Node:(e,t)=>{(a.isAlias(t)||a.hasAnchor(t))&&o.push(t)}}),t&&(t.aliasResolveCache=o)),o)){if(i===this)break;i.anchor===this.source&&(r=i)}return r}toJSON(e,t){if(!t)return{source:this.source};let{anchors:o,doc:r,maxAliasCount:n}=t,i=this.resolve(r,t);if(!i)throw ReferenceError(`Unresolved alias (the anchor must be set before the alias): ${this.source}`);let s=o.get(i);if(s||(l.toJS(i,null,t),s=o.get(i)),s?.res===void 0)throw ReferenceError("This should not happen: Alias anchor was not resolved?");if(n>=0&&(s.count+=1,0===s.aliasCount&&(s.aliasCount=function e(t,o,r){if(a.isAlias(o)){let e=o.resolve(t),n=r&&e&&r.get(e);return n?n.count*n.aliasCount:0}if(a.isCollection(o)){let n=0;for(let a of o.items){let o=e(t,a,r);o>n&&(n=o)}return n}return a.isPair(o)?Math.max(e(t,o.key,r),e(t,o.value,r)):1}(r,i,o)),s.count*s.aliasCount>n))throw ReferenceError("Excessive alias count indicates a resource exhaustion attack");return s.res}toString(e,t,o){let n=`*${this.source}`;if(e){if(r.anchorIsValid(this.source),e.options.verifyAliasOrder&&!e.anchors.has(this.source))throw Error(`Unresolved alias (the anchor must be set before the alias): ${this.source}`);if(e.implicitKey)return`${n} `}return n}}o.Alias=s},826090,(e,t,o)=>{"use strict";var r=e.r(767080),n=e.r(253713),a=e.r(344972);class i extends n.NodeBase{constructor(e){super(r.SCALAR),this.value=e}toJSON(e,t){return t?.keep?this.value:a.toJS(this.value,e,t)}toString(){return String(this.value)}}i.BLOCK_FOLDED="BLOCK_FOLDED",i.BLOCK_LITERAL="BLOCK_LITERAL",i.PLAIN="PLAIN",i.QUOTE_DOUBLE="QUOTE_DOUBLE",i.QUOTE_SINGLE="QUOTE_SINGLE",o.Scalar=i,o.isScalarValue=e=>!e||"function"!=typeof e&&"object"!=typeof e},333321,(e,t,o)=>{"use strict";var r=e.r(917429),n=e.r(767080),a=e.r(826090);o.createNode=function(e,t,o){let i;if(n.isDocument(e)&&(e=e.contents),n.isNode(e))return e;if(n.isPair(e)){let t=o.schema[n.MAP].createNode?.(o.schema,null,o);return t.items.push(e),t}(e instanceof String||e instanceof Number||e instanceof Boolean||"u">typeof BigInt&&e instanceof BigInt)&&(e=e.valueOf());let{aliasDuplicateObjects:l,onAnchor:s,onTagObj:u,schema:d,sourceObjects:c}=o;if(l&&e&&"object"==typeof e){if(i=c.get(e))return i.anchor??(i.anchor=s(e)),new r.Alias(i.anchor);i={anchor:null,node:null},c.set(e,i)}t?.startsWith("!!")&&(t="tag:yaml.org,2002:"+t.slice(2));let p=function(e,t,o){if(t){let e=o.filter(e=>e.tag===t),r=e.find(e=>!e.format)??e[0];if(!r)throw Error(`Tag ${t} not found`);return r}return o.find(t=>t.identify?.(e)&&!t.format)}(e,t,d.tags);if(!p){if(e&&"function"==typeof e.toJSON&&(e=e.toJSON()),!e||"object"!=typeof e){let t=new a.Scalar(e);return i&&(i.node=t),t}p=e instanceof Map?d[n.MAP]:Symbol.iterator in Object(e)?d[n.SEQ]:d[n.MAP]}u&&(u(p),delete o.onTagObj);let h=p?.createNode?p.createNode(o.schema,e,o):"function"==typeof p?.nodeClass?.from?p.nodeClass.from(o.schema,e,o):new a.Scalar(e);return t?h.tag=t:p.default||(h.tag=p.tag),i&&(i.node=h),h}},714221,(e,t,o)=>{"use strict";var r=e.r(333321),n=e.r(767080),a=e.r(253713);function i(e,t,o){let n=o;for(let e=t.length-1;e>=0;--e){let o=t[e];if("number"==typeof o&&Number.isInteger(o)&&o>=0){let e=[];e[o]=n,n=e}else n=new Map([[o,n]])}return r.createNode(n,void 0,{aliasDuplicateObjects:!1,keepUndefined:!1,onAnchor:()=>{throw Error("This should not happen, please report a bug.")},schema:e,sourceObjects:new Map})}let l=e=>null==e||"object"==typeof e&&!!e[Symbol.iterator]().next().done;class s extends a.NodeBase{constructor(e,t){super(e),Object.defineProperty(this,"schema",{value:t,configurable:!0,enumerable:!1,writable:!0})}clone(e){let t=Object.create(Object.getPrototypeOf(this),Object.getOwnPropertyDescriptors(this));return e&&(t.schema=e),t.items=t.items.map(t=>n.isNode(t)||n.isPair(t)?t.clone(e):t),this.range&&(t.range=this.range.slice()),t}addIn(e,t){if(l(e))this.add(t);else{let[o,...r]=e,a=this.get(o,!0);if(n.isCollection(a))a.addIn(r,t);else if(void 0===a&&this.schema)this.set(o,i(this.schema,r,t));else throw Error(`Expected YAML collection at ${o}. Remaining path: ${r}`)}}deleteIn(e){let[t,...o]=e;if(0===o.length)return this.delete(t);let r=this.get(t,!0);if(n.isCollection(r))return r.deleteIn(o);throw Error(`Expected YAML collection at ${t}. Remaining path: ${o}`)}getIn(e,t){let[o,...r]=e,a=this.get(o,!0);return 0===r.length?!t&&n.isScalar(a)?a.value:a:n.isCollection(a)?a.getIn(r,t):void 0}hasAllNullValues(e){return this.items.every(t=>{if(!n.isPair(t))return!1;let o=t.value;return null==o||e&&n.isScalar(o)&&null==o.value&&!o.commentBefore&&!o.comment&&!o.tag})}hasIn(e){let[t,...o]=e;if(0===o.length)return this.has(t);let r=this.get(t,!0);return!!n.isCollection(r)&&r.hasIn(o)}setIn(e,t){let[o,...r]=e;if(0===r.length)this.set(o,t);else{let e=this.get(o,!0);if(n.isCollection(e))e.setIn(r,t);else if(void 0===e&&this.schema)this.set(o,i(this.schema,r,t));else throw Error(`Expected YAML collection at ${o}. Remaining path: ${r}`)}}}o.Collection=s,o.collectionFromPath=i,o.isEmptyPath=l},837668,(e,t,o)=>{"use strict";function r(e,t){return/^\n+$/.test(e)?e.substring(1):t?e.replace(/^(?! *$)/gm,t):e}o.indentComment=r,o.lineComment=(e,t,o)=>e.endsWith("\n")?r(o,t):o.includes("\n")?"\n"+r(o,t):(e.endsWith(" ")?"":" ")+o,o.stringifyComment=e=>e.replace(/^(?!$)(?: $)?/gm,"#")},372371,(e,t,o)=>{"use strict";let r="block",n="quoted";function a(e,t,o){let r=t,n=t+1,a=e[n];for(;" "===a||" "===a;)if(t<n+o)a=e[++t];else{do a=e[++t];while(a&&"\n"!==a)r=t,a=e[n=t+1]}return r}o.FOLD_BLOCK=r,o.FOLD_FLOW="flow",o.FOLD_QUOTED=n,o.foldFlowLines=function(e,t,o="flow",{indentAtStart:i,lineWidth:l=80,minContentWidth:s=20,onFold:u,onOverflow:d}={}){let c,p,h;if(!l||l<0)return e;l<s&&(s=0);let m=Math.max(1+s,1+l-t.length);if(e.length<=m)return e;let g=[],f={},y=l-t.length;"number"==typeof i&&(i>l-Math.max(2,s)?g.push(0):y=l-i);let v=!1,b=-1,_=-1,w=-1;for(o===r&&-1!==(b=a(e,b,t.length))&&(y=b+m);h=e[b+=1];){if(o===n&&"\\"===h){switch(_=b,e[b+1]){case"x":b+=3;break;case"u":b+=5;break;case"U":b+=9;break;default:b+=1}w=b}if("\n"===h)o===r&&(b=a(e,b,t.length)),y=b+t.length+m,c=void 0;else{if(" "===h&&p&&" "!==p&&"\n"!==p&&" "!==p){let t=e[b+1];t&&" "!==t&&"\n"!==t&&" "!==t&&(c=b)}if(b>=y)if(c)g.push(c),y=c+m,c=void 0;else if(o===n){for(;" "===p||" "===p;)p=h,h=e[b+=1],v=!0;let t=b>w+1?b-2:_-1;if(f[t])return e;g.push(t),f[t]=!0,y=t+m,c=void 0}else v=!0}p=h}if(v&&d&&d(),0===g.length)return e;u&&u();let z=e.slice(0,g[0]);for(let r=0;r<g.length;++r){let a=g[r],i=g[r+1]||e.length;0===a?z=`
|
|
191
|
+
${t}${e.slice(0,i)}`:(o===n&&f[a]&&(z+=`${e[a]}\\`),z+=`
|
|
192
|
+
${t}${e.slice(a+1,i)}`)}return z}},788433,(e,t,o)=>{"use strict";let r;var n=e.r(826090),a=e.r(372371);let i=(e,t)=>({indentAtStart:t?e.indent.length:e.indentAtStart,lineWidth:e.options.lineWidth,minContentWidth:e.options.minContentWidth});function l(e,t){let o=JSON.stringify(e);if(t.options.doubleQuotedAsJSON)return o;let{implicitKey:r}=t,n=t.options.doubleQuotedMinMultiLineLength,l=t.indent||(/^(%|---|\.\.\.)/m.test(e)?" ":""),s="",u=0;for(let e=0,t=o[e];t;t=o[++e])if(" "===t&&"\\"===o[e+1]&&"n"===o[e+2]&&(s+=o.slice(u,e)+"\\ ",e+=1,u=e,t="\\"),"\\"===t)switch(o[e+1]){case"u":{s+=o.slice(u,e);let t=o.substr(e+2,4);switch(t){case"0000":s+="\\0";break;case"0007":s+="\\a";break;case"000b":s+="\\v";break;case"001b":s+="\\e";break;case"0085":s+="\\N";break;case"00a0":s+="\\_";break;case"2028":s+="\\L";break;case"2029":s+="\\P";break;default:"00"===t.substr(0,2)?s+="\\x"+t.substr(2):s+=o.substr(e,6)}e+=5,u=e+1}break;case"n":if(r||'"'===o[e+2]||o.length<n)e+=1;else{for(s+=o.slice(u,e)+"\n\n";"\\"===o[e+2]&&"n"===o[e+3]&&'"'!==o[e+4];)s+="\n",e+=2;s+=l," "===o[e+2]&&(s+="\\"),e+=1,u=e+1}break;default:e+=1}return s=u?s+o.slice(u):o,r?s:a.foldFlowLines(s,l,a.FOLD_QUOTED,i(t,!1))}function s(e,t){if(!1===t.options.singleQuote||t.implicitKey&&e.includes("\n")||/[ \t]\n|\n[ \t]/.test(e))return l(e,t);let o=t.indent||(/^(%|---|\.\.\.)/m.test(e)?" ":""),r="'"+e.replace(/'/g,"''").replace(/\n+/g,`$&
|
|
193
|
+
${o}`)+"'";return t.implicitKey?r:a.foldFlowLines(r,o,a.FOLD_FLOW,i(t,!1))}function u(e,t){let o,{singleQuote:r}=t.options;if(!1===r)o=l;else{let t=e.includes('"'),n=e.includes("'");o=t&&!n?s:n&&!t?l:r?s:l}return o(e,t)}try{r=RegExp("(^|(?<!\n))\n+(?!\n|$)","g")}catch{r=/\n+(?!\n|$)/g}function d({comment:e,type:t,value:o},l,s,c){let p,h,m,g,{blockQuote:f,commentString:y,lineWidth:v}=l.options;if(!f||/\n[\t ]+$/.test(o))return u(o,l);let b=l.indent||(l.forceBlockIndent||(g=o,/^(%|---|\.\.\.)/m.test(g))?" ":""),_="literal"===f||"folded"!==f&&t!==n.Scalar.BLOCK_FOLDED&&(t===n.Scalar.BLOCK_LITERAL||!function(e,t,o){if(!t||t<0)return!1;let r=t-o,n=e.length;if(n<=r)return!1;for(let t=0,o=0;t<n;++t)if("\n"===e[t]){if(t-o>r)return!0;if(n-(o=t+1)<=r)return!1}return!0}(o,v,b.length));if(!o)return _?"|\n":">\n";for(h=o.length;h>0;--h){let e=o[h-1];if("\n"!==e&&" "!==e&&" "!==e)break}let w=o.substring(h),z=w.indexOf("\n");-1===z?p="-":o===w||z!==w.length-1?(p="+",c&&c()):p="",w&&(o=o.slice(0,-w.length),"\n"===w[w.length-1]&&(w=w.slice(0,-1)),w=w.replace(r,`$&${b}`));let x=!1,T=-1;for(m=0;m<o.length;++m){let e=o[m];if(" "===e)x=!0;else if("\n"===e)T=m;else break}let k=o.substring(0,T<m?T+1:m);k&&(o=o.substring(k.length),k=k.replace(/\n+/g,`$&${b}`));let I=b?"2":"1",S=(x?I:"")+p;if(e&&(S+=" "+y(e.replace(/ ?[\r\n]+/g," ")),s&&s()),!_){let e=o.replace(/\n+/g,"\n$&").replace(/(?:^|\n)([\t ].*)(?:([\n\t ]*)\n(?![\n\t ]))?/g,"$1$2").replace(/\n+/g,`$&${b}`),r=!1,s=i(l,!0);"folded"!==f&&t!==n.Scalar.BLOCK_FOLDED&&(s.onOverflow=()=>{r=!0});let u=a.foldFlowLines(`${k}${e}${w}`,b,a.FOLD_BLOCK,s);if(!r)return`>${S}
|
|
194
|
+
${b}${u}`}return o=o.replace(/\n+/g,`$&${b}`),`|${S}
|
|
195
|
+
${b}${k}${o}${w}`}o.stringifyString=function(e,t,o,r){let{implicitKey:c,inFlow:p}=t,h="string"==typeof e.value?e:Object.assign({},e,{value:String(e.value)}),{type:m}=e;m!==n.Scalar.QUOTE_DOUBLE&&/[\x00-\x08\x0b-\x1f\x7f-\x9f\u{D800}-\u{DFFF}]/u.test(h.value)&&(m=n.Scalar.QUOTE_DOUBLE);let g=e=>{switch(e){case n.Scalar.BLOCK_FOLDED:case n.Scalar.BLOCK_LITERAL:return c||p?u(h.value,t):d(h,t,o,r);case n.Scalar.QUOTE_DOUBLE:return l(h.value,t);case n.Scalar.QUOTE_SINGLE:return s(h.value,t);case n.Scalar.PLAIN:return function(e,t,o,r){let{type:l,value:s}=e,{actualString:c,implicitKey:p,indent:h,indentStep:m,inFlow:g}=t;if(p&&s.includes("\n")||g&&/[[\]{},]/.test(s))return u(s,t);if(/^[\n\t ,[\]{}#&*!|>'"%@`]|^[?-]$|^[?-][ \t]|[\n:][ \t]|[ \t]\n|[\n\t ]#|[\n\t :]$/.test(s))return p||g||!s.includes("\n")?u(s,t):d(e,t,o,r);if(!p&&!g&&l!==n.Scalar.PLAIN&&s.includes("\n"))return d(e,t,o,r);if(/^(%|---|\.\.\.)/m.test(s)){if(""===h)return t.forceBlockIndent=!0,d(e,t,o,r);else if(p&&h===m)return u(s,t)}let f=s.replace(/\n+/g,`$&
|
|
196
|
+
${h}`);if(c){let e=e=>e.default&&"tag:yaml.org,2002:str"!==e.tag&&e.test?.test(f),{compat:o,tags:r}=t.doc.schema;if(r.some(e)||o?.some(e))return u(s,t)}return p?f:a.foldFlowLines(f,h,a.FOLD_FLOW,i(t,!1))}(h,t,o,r);default:return null}},f=g(m);if(null===f){let{defaultKeyType:e,defaultStringType:o}=t.options,r=c&&e||o;if(null===(f=g(r)))throw Error(`Unsupported default string type ${r}`)}return f}},403827,(e,t,o)=>{"use strict";var r=e.r(375506),n=e.r(767080),a=e.r(837668),i=e.r(788433);o.createStringifyContext=function(e,t){let o,r=Object.assign({blockQuote:!0,commentString:a.stringifyComment,defaultKeyType:null,defaultStringType:"PLAIN",directives:null,doubleQuotedAsJSON:!1,doubleQuotedMinMultiLineLength:40,falseStr:"false",flowCollectionPadding:!0,indentSeq:!0,lineWidth:80,minContentWidth:20,nullStr:"null",simpleKeys:!1,singleQuote:null,trailingComma:!1,trueStr:"true",verifyAliasOrder:!0},e.schema.toStringOptions,t);switch(r.collectionStyle){case"block":o=!1;break;case"flow":o=!0;break;default:o=null}return{anchors:new Set,doc:e,flowCollectionPadding:r.flowCollectionPadding?" ":"",indent:"",indentStep:"number"==typeof r.indent?" ".repeat(r.indent):" ",inFlow:o,options:r}},o.stringify=function(e,t,o,a){let l;if(n.isPair(e))return e.toString(t,o,a);if(n.isAlias(e)){if(t.doc.directives)return e.toString(t);if(t.resolvedAliases?.has(e))throw TypeError("Cannot stringify circular structure without alias nodes");t.resolvedAliases?t.resolvedAliases.add(e):t.resolvedAliases=new Set([e]),e=e.resolve(t.doc)}let s=n.isNode(e)?e:t.doc.createNode(e,{onTagObj:e=>l=e});l??(l=function(e,t){let o,r;if(t.tag){let o=e.filter(e=>e.tag===t.tag);if(o.length>0)return o.find(e=>e.format===t.format)??o[0]}if(n.isScalar(t)){o=t.value;let n=e.filter(e=>e.identify?.(o));if(n.length>1){let e=n.filter(e=>e.test);e.length>0&&(n=e)}r=n.find(e=>e.format===t.format)??n.find(e=>!e.format)}else o=t,r=e.find(e=>e.nodeClass&&o instanceof e.nodeClass);if(!r){let e=o?.constructor?.name??(null===o?"null":typeof o);throw Error(`Tag not resolved for ${e} value`)}return r}(t.doc.schema.tags,s));let u=function(e,t,{anchors:o,doc:a}){if(!a.directives)return"";let i=[],l=(n.isScalar(e)||n.isCollection(e))&&e.anchor;l&&r.anchorIsValid(l)&&(o.add(l),i.push(`&${l}`));let s=e.tag??(t.default?null:t.tag);return s&&i.push(a.directives.tagString(s)),i.join(" ")}(s,l,t);u.length>0&&(t.indentAtStart=(t.indentAtStart??0)+u.length+1);let d="function"==typeof l.stringify?l.stringify(s,t,o,a):n.isScalar(s)?i.stringifyString(s,t,o,a):s.toString(t,o,a);return u?n.isScalar(s)||"{"===d[0]||"["===d[0]?`${u} ${d}`:`${u}
|
|
197
|
+
${t.indent}${d}`:d}},331875,(e,t,o)=>{"use strict";var r=e.r(767080),n=e.r(826090),a=e.r(403827),i=e.r(837668);o.stringifyPair=function({key:e,value:t},o,l,s){let u,d,c,{allNullValues:p,doc:h,indent:m,indentStep:g,options:{commentString:f,indentSeq:y,simpleKeys:v}}=o,b=r.isNode(e)&&e.comment||null;if(v){if(b)throw Error("With simple keys, key nodes cannot have comments");if(r.isCollection(e)||!r.isNode(e)&&"object"==typeof e)throw Error("With simple keys, collection cannot be used as a key value")}let _=!v&&(!e||b&&null==t&&!o.inFlow||r.isCollection(e)||(r.isScalar(e)?e.type===n.Scalar.BLOCK_FOLDED||e.type===n.Scalar.BLOCK_LITERAL:"object"==typeof e));o=Object.assign({},o,{allNullValues:!1,implicitKey:!_&&(v||!p),indent:m+g});let w=!1,z=!1,x=a.stringify(e,o,()=>w=!0,()=>z=!0);if(!_&&!o.inFlow&&x.length>1024){if(v)throw Error("With simple keys, single line scalar must not span more than 1024 characters");_=!0}if(o.inFlow){if(p||null==t)return w&&l&&l(),""===x?"?":_?`? ${x}`:x}else if(p&&!v||null==t&&_)return x=`? ${x}`,b&&!w?x+=i.lineComment(x,o.indent,f(b)):z&&s&&s(),x;w&&(b=null),_?(b&&(x+=i.lineComment(x,o.indent,f(b))),x=`? ${x}
|
|
198
|
+
${m}:`):(x=`${x}:`,b&&(x+=i.lineComment(x,o.indent,f(b)))),r.isNode(t)?(u=!!t.spaceBefore,d=t.commentBefore,c=t.comment):(u=!1,d=null,c=null,t&&"object"==typeof t&&(t=h.createNode(t))),o.implicitKey=!1,!_&&!b&&r.isScalar(t)&&(o.indentAtStart=x.length+1),z=!1,!(!y&&g.length>=2&&!o.inFlow&&!_&&r.isSeq(t))||t.flow||t.tag||t.anchor||(o.indent=o.indent.substring(2));let T=!1,k=a.stringify(t,o,()=>T=!0,()=>z=!0),I=" ";if(b||u||d){if(I=u?"\n":"",d){let e=f(d);I+=`
|
|
199
|
+
${i.indentComment(e,o.indent)}`}""!==k||o.inFlow?I+=`
|
|
200
|
+
${o.indent}`:"\n"===I&&c&&(I="\n\n")}else if(!_&&r.isCollection(t)){let e=k[0],r=k.indexOf("\n"),n=-1!==r,a=o.inFlow??t.flow??0===t.items.length;if(n||!a){let t=!1;if(n&&("&"===e||"!"===e)){let o=k.indexOf(" ");"&"===e&&-1!==o&&o<r&&"!"===k[o+1]&&(o=k.indexOf(" ",o+1)),(-1===o||r<o)&&(t=!0)}t||(I=`
|
|
201
|
+
${o.indent}`)}}else(""===k||"\n"===k[0])&&(I="");return x+=I+k,o.inFlow?T&&l&&l():c&&!T?x+=i.lineComment(x,o.indent,f(c)):z&&s&&s(),x}},250202,(e,t,o)=>{"use strict";var r=e.r(605365);o.debug=function(e,...t){"debug"===e&&console.log(...t)},o.warn=function(e,t){("debug"===e||"warn"===e)&&("function"==typeof r.emitWarning?r.emitWarning(t):console.warn(t))}},109077,(e,t,o)=>{"use strict";var r=e.r(767080),n=e.r(826090);let a={identify:e=>"<<"===e||"symbol"==typeof e&&"<<"===e.description,default:"key",tag:"tag:yaml.org,2002:merge",test:/^<<$/,resolve:()=>Object.assign(new n.Scalar(Symbol("<<")),{addToJSMap:i}),stringify:()=>"<<"};function i(e,t,o){let n=s(e,o);if(r.isSeq(n))for(let o of n.items)l(e,t,o);else if(Array.isArray(n))for(let o of n)l(e,t,o);else l(e,t,n)}function l(e,t,o){let n=s(e,o);if(!r.isMap(n))throw Error("Merge sources must be maps or map aliases");for(let[o,r]of n.toJSON(null,e,Map))t instanceof Map?t.has(o)||t.set(o,r):t instanceof Set?t.add(o):Object.prototype.hasOwnProperty.call(t,o)||Object.defineProperty(t,o,{value:r,writable:!0,enumerable:!0,configurable:!0});return t}function s(e,t){return e&&r.isAlias(t)?t.resolve(e.doc,e):t}o.addMergeToJSMap=i,o.isMergeKey=(e,t)=>(a.identify(t)||r.isScalar(t)&&(!t.type||t.type===n.Scalar.PLAIN)&&a.identify(t.value))&&e?.doc.schema.tags.some(e=>e.tag===a.tag&&e.default),o.merge=a},26687,(e,t,o)=>{"use strict";var r=e.r(250202),n=e.r(109077),a=e.r(403827),i=e.r(767080),l=e.r(344972);o.addPairToJSMap=function(e,t,{key:o,value:s}){if(i.isNode(o)&&o.addToJSMap)o.addToJSMap(e,t,s);else if(n.isMergeKey(e,o))n.addMergeToJSMap(e,t,s);else{let n=l.toJS(o,"",e);if(t instanceof Map)t.set(n,l.toJS(s,n,e));else if(t instanceof Set)t.add(n);else{let u=function(e,t,o){if(null===t)return"";if("object"!=typeof t)return String(t);if(i.isNode(e)&&o?.doc){let t=a.createStringifyContext(o.doc,{});for(let e of(t.anchors=new Set,o.anchors.keys()))t.anchors.add(e.anchor);t.inFlow=!0,t.inStringifyKey=!0;let n=e.toString(t);if(!o.mapKeyWarned){let e=JSON.stringify(n);e.length>40&&(e=e.substring(0,36)+'..."'),r.warn(o.doc.options.logLevel,`Keys with collection values will be stringified due to JS Object restrictions: ${e}. Set mapAsMap: true to use object keys.`),o.mapKeyWarned=!0}return n}return JSON.stringify(t)}(o,n,e),d=l.toJS(s,u,e);u in t?Object.defineProperty(t,u,{value:d,writable:!0,enumerable:!0,configurable:!0}):t[u]=d}}return t}},812735,(e,t,o)=>{"use strict";var r=e.r(333321),n=e.r(331875),a=e.r(26687),i=e.r(767080);class l{constructor(e,t=null){Object.defineProperty(this,i.NODE_TYPE,{value:i.PAIR}),this.key=e,this.value=t}clone(e){let{key:t,value:o}=this;return i.isNode(t)&&(t=t.clone(e)),i.isNode(o)&&(o=o.clone(e)),new l(t,o)}toJSON(e,t){let o=t?.mapAsMap?new Map:{};return a.addPairToJSMap(t,o,this)}toString(e,t,o){return e?.doc?n.stringifyPair(this,e,t,o):JSON.stringify(this)}}o.Pair=l,o.createPair=function(e,t,o){return new l(r.createNode(e,void 0,o),r.createNode(t,void 0,o))}},749153,(e,t,o)=>{"use strict";var r=e.r(767080),n=e.r(403827),a=e.r(837668);function i({indent:e,options:{commentString:t}},o,r,n){if(r&&n&&(r=r.replace(/^\n+/,"")),r){let n=a.indentComment(t(r),e);o.push(n.trimStart())}}o.stringifyCollection=function(e,t,o){return(t.inFlow??e.flow?function({items:e},t,{flowChars:o,itemIndent:l}){let{indent:s,indentStep:u,flowCollectionPadding:d,options:{commentString:c}}=t,p=Object.assign({},t,{indent:l+=u,inFlow:!0,type:null}),h=!1,m=0,g=[];for(let o=0;o<e.length;++o){let s=e[o],u=null;if(r.isNode(s))s.spaceBefore&&g.push(""),i(t,g,s.commentBefore,!1),s.comment&&(u=s.comment);else if(r.isPair(s)){let e=r.isNode(s.key)?s.key:null;e&&(e.spaceBefore&&g.push(""),i(t,g,e.commentBefore,!1),e.comment&&(h=!0));let o=r.isNode(s.value)?s.value:null;o?(o.comment&&(u=o.comment),o.commentBefore&&(h=!0)):null==s.value&&e?.comment&&(u=e.comment)}u&&(h=!0);let d=n.stringify(s,p,()=>u=null);h||(h=g.length>m||d.includes("\n")),o<e.length-1?d+=",":t.options.trailingComma&&(t.options.lineWidth>0&&(h||(h=g.reduce((e,t)=>e+t.length+2,2)+(d.length+2)>t.options.lineWidth)),h&&(d+=",")),u&&(d+=a.lineComment(d,l,c(u))),g.push(d),m=g.length}let{start:f,end:y}=o;if(0===g.length)return f+y;if(!h){let e=g.reduce((e,t)=>e+t.length+2,2);h=t.options.lineWidth>0&&e>t.options.lineWidth}if(!h)return`${f}${d}${g.join(" ")}${d}${y}`;{let e=f;for(let t of g)e+=t?`
|
|
202
|
+
${u}${s}${t}`:"\n";return`${e}
|
|
203
|
+
${s}${y}`}}:function({comment:e,items:t},o,{blockItemPrefix:l,flowChars:s,itemIndent:u,onChompKeep:d,onComment:c}){let p,{indent:h,options:{commentString:m}}=o,g=Object.assign({},o,{indent:u,type:null}),f=!1,y=[];for(let e=0;e<t.length;++e){let s=t[e],d=null;if(r.isNode(s))!f&&s.spaceBefore&&y.push(""),i(o,y,s.commentBefore,f),s.comment&&(d=s.comment);else if(r.isPair(s)){let e=r.isNode(s.key)?s.key:null;e&&(!f&&e.spaceBefore&&y.push(""),i(o,y,e.commentBefore,f))}f=!1;let c=n.stringify(s,g,()=>d=null,()=>f=!0);d&&(c+=a.lineComment(c,u,m(d))),f&&d&&(f=!1),y.push(l+c)}if(0===y.length)p=s.start+s.end;else{p=y[0];for(let e=1;e<y.length;++e){let t=y[e];p+=t?`
|
|
204
|
+
${h}${t}`:"\n"}}return e?(p+="\n"+a.indentComment(m(e),h),c&&c()):f&&d&&d(),p})(e,t,o)}},976970,(e,t,o)=>{"use strict";var r=e.r(749153),n=e.r(26687),a=e.r(714221),i=e.r(767080),l=e.r(812735),s=e.r(826090);function u(e,t){let o=i.isScalar(t)?t.value:t;for(let r of e)if(i.isPair(r)&&(r.key===t||r.key===o||i.isScalar(r.key)&&r.key.value===o))return r}class d extends a.Collection{static get tagName(){return"tag:yaml.org,2002:map"}constructor(e){super(i.MAP,e),this.items=[]}static from(e,t,o){let{keepUndefined:r,replacer:n}=o,a=new this(e),i=(e,i)=>{if("function"==typeof n)i=n.call(t,e,i);else if(Array.isArray(n)&&!n.includes(e))return;(void 0!==i||r)&&a.items.push(l.createPair(e,i,o))};if(t instanceof Map)for(let[e,o]of t)i(e,o);else if(t&&"object"==typeof t)for(let e of Object.keys(t))i(e,t[e]);return"function"==typeof e.sortMapEntries&&a.items.sort(e.sortMapEntries),a}add(e,t){let o;o=i.isPair(e)?e:e&&"object"==typeof e&&"key"in e?new l.Pair(e.key,e.value):new l.Pair(e,e?.value);let r=u(this.items,o.key),n=this.schema?.sortMapEntries;if(r){if(!t)throw Error(`Key ${o.key} already set`);i.isScalar(r.value)&&s.isScalarValue(o.value)?r.value.value=o.value:r.value=o.value}else if(n){let e=this.items.findIndex(e=>0>n(o,e));-1===e?this.items.push(o):this.items.splice(e,0,o)}else this.items.push(o)}delete(e){let t=u(this.items,e);return!!t&&this.items.splice(this.items.indexOf(t),1).length>0}get(e,t){let o=u(this.items,e),r=o?.value;return(!t&&i.isScalar(r)?r.value:r)??void 0}has(e){return!!u(this.items,e)}set(e,t){this.add(new l.Pair(e,t),!0)}toJSON(e,t,o){let r=o?new o:t?.mapAsMap?new Map:{};for(let e of(t?.onCreate&&t.onCreate(r),this.items))n.addPairToJSMap(t,r,e);return r}toString(e,t,o){if(!e)return JSON.stringify(this);for(let e of this.items)if(!i.isPair(e))throw Error(`Map items must all be pairs; found ${JSON.stringify(e)} instead`);return!e.allNullValues&&this.hasAllNullValues(!1)&&(e=Object.assign({},e,{allNullValues:!0})),r.stringifyCollection(this,e,{blockItemPrefix:"",flowChars:{start:"{",end:"}"},itemIndent:e.indent||"",onChompKeep:o,onComment:t})}}o.YAMLMap=d,o.findPair=u},250139,(e,t,o)=>{"use strict";var r=e.r(767080),n=e.r(976970);o.map={collection:"map",default:!0,nodeClass:n.YAMLMap,tag:"tag:yaml.org,2002:map",resolve:(e,t)=>(r.isMap(e)||t("Expected a mapping for this tag"),e),createNode:(e,t,o)=>n.YAMLMap.from(e,t,o)}},379482,(e,t,o)=>{"use strict";var r=e.r(333321),n=e.r(749153),a=e.r(714221),i=e.r(767080),l=e.r(826090),s=e.r(344972);class u extends a.Collection{static get tagName(){return"tag:yaml.org,2002:seq"}constructor(e){super(i.SEQ,e),this.items=[]}add(e){this.items.push(e)}delete(e){let t=d(e);return"number"==typeof t&&this.items.splice(t,1).length>0}get(e,t){let o=d(e);if("number"!=typeof o)return;let r=this.items[o];return!t&&i.isScalar(r)?r.value:r}has(e){let t=d(e);return"number"==typeof t&&t<this.items.length}set(e,t){let o=d(e);if("number"!=typeof o)throw Error(`Expected a valid index, not ${e}.`);let r=this.items[o];i.isScalar(r)&&l.isScalarValue(t)?r.value=t:this.items[o]=t}toJSON(e,t){let o=[];t?.onCreate&&t.onCreate(o);let r=0;for(let e of this.items)o.push(s.toJS(e,String(r++),t));return o}toString(e,t,o){return e?n.stringifyCollection(this,e,{blockItemPrefix:"- ",flowChars:{start:"[",end:"]"},itemIndent:(e.indent||"")+" ",onChompKeep:o,onComment:t}):JSON.stringify(this)}static from(e,t,o){let{replacer:n}=o,a=new this(e);if(t&&Symbol.iterator in Object(t)){let e=0;for(let i of t){if("function"==typeof n){let o=t instanceof Set?i:String(e++);i=n.call(t,o,i)}a.items.push(r.createNode(i,void 0,o))}}return a}}function d(e){let t=i.isScalar(e)?e.value:e;return t&&"string"==typeof t&&(t=Number(t)),"number"==typeof t&&Number.isInteger(t)&&t>=0?t:null}o.YAMLSeq=u},877013,(e,t,o)=>{"use strict";var r=e.r(767080),n=e.r(379482);o.seq={collection:"seq",default:!0,nodeClass:n.YAMLSeq,tag:"tag:yaml.org,2002:seq",resolve:(e,t)=>(r.isSeq(e)||t("Expected a sequence for this tag"),e),createNode:(e,t,o)=>n.YAMLSeq.from(e,t,o)}},952254,(e,t,o)=>{"use strict";var r=e.r(788433);o.string={identify:e=>"string"==typeof e,default:!0,tag:"tag:yaml.org,2002:str",resolve:e=>e,stringify:(e,t,o,n)=>(t=Object.assign({actualString:!0},t),r.stringifyString(e,t,o,n))}},7934,(e,t,o)=>{"use strict";var r=e.r(826090);let n={identify:e=>null==e,createNode:()=>new r.Scalar(null),default:!0,tag:"tag:yaml.org,2002:null",test:/^(?:~|[Nn]ull|NULL)?$/,resolve:()=>new r.Scalar(null),stringify:({source:e},t)=>"string"==typeof e&&n.test.test(e)?e:t.options.nullStr};o.nullTag=n},361903,(e,t,o)=>{"use strict";var r=e.r(826090);let n={identify:e=>"boolean"==typeof e,default:!0,tag:"tag:yaml.org,2002:bool",test:/^(?:[Tt]rue|TRUE|[Ff]alse|FALSE)$/,resolve:e=>new r.Scalar("t"===e[0]||"T"===e[0]),stringify:({source:e,value:t},o)=>e&&n.test.test(e)&&t===("t"===e[0]||"T"===e[0])?e:t?o.options.trueStr:o.options.falseStr};o.boolTag=n},351238,(e,t,o)=>{"use strict";o.stringifyNumber=function({format:e,minFractionDigits:t,tag:o,value:r}){if("bigint"==typeof r)return String(r);let n="number"==typeof r?r:Number(r);if(!isFinite(n))return isNaN(n)?".nan":n<0?"-.inf":".inf";let a=Object.is(r,-0)?"-0":JSON.stringify(r);if(!e&&t&&(!o||"tag:yaml.org,2002:float"===o)&&/^-?\d/.test(a)&&!a.includes("e")){let e=a.indexOf(".");e<0&&(e=a.length,a+=".");let o=t-(a.length-e-1);for(;o-- >0;)a+="0"}return a}},746340,(e,t,o)=>{"use strict";var r=e.r(826090),n=e.r(351238);let a={identify:e=>"number"==typeof e,default:!0,tag:"tag:yaml.org,2002:float",test:/^(?:[-+]?\.(?:inf|Inf|INF)|\.nan|\.NaN|\.NAN)$/,resolve:e=>"nan"===e.slice(-3).toLowerCase()?NaN:"-"===e[0]?-1/0:1/0,stringify:n.stringifyNumber};o.float={identify:e=>"number"==typeof e,default:!0,tag:"tag:yaml.org,2002:float",test:/^[-+]?(?:\.[0-9]+|[0-9]+\.[0-9]*)$/,resolve(e){let t=new r.Scalar(parseFloat(e)),o=e.indexOf(".");return -1!==o&&"0"===e[e.length-1]&&(t.minFractionDigits=e.length-o-1),t},stringify:n.stringifyNumber},o.floatExp={identify:e=>"number"==typeof e,default:!0,tag:"tag:yaml.org,2002:float",format:"EXP",test:/^[-+]?(?:\.[0-9]+|[0-9]+(?:\.[0-9]*)?)[eE][-+]?[0-9]+$/,resolve:e=>parseFloat(e),stringify(e){let t=Number(e.value);return isFinite(t)?t.toExponential():n.stringifyNumber(e)}},o.floatNaN=a},840488,(e,t,o)=>{"use strict";var r=e.r(351238);let n=e=>"bigint"==typeof e||Number.isInteger(e),a=(e,t,o,{intAsBigInt:r})=>r?BigInt(e):parseInt(e.substring(t),o);function i(e,t,o){let{value:a}=e;return n(a)&&a>=0?o+a.toString(t):r.stringifyNumber(e)}o.int={identify:n,default:!0,tag:"tag:yaml.org,2002:int",test:/^[-+]?[0-9]+$/,resolve:(e,t,o)=>a(e,0,10,o),stringify:r.stringifyNumber},o.intHex={identify:e=>n(e)&&e>=0,default:!0,tag:"tag:yaml.org,2002:int",format:"HEX",test:/^0x[0-9a-fA-F]+$/,resolve:(e,t,o)=>a(e,2,16,o),stringify:e=>i(e,16,"0x")},o.intOct={identify:e=>n(e)&&e>=0,default:!0,tag:"tag:yaml.org,2002:int",format:"OCT",test:/^0o[0-7]+$/,resolve:(e,t,o)=>a(e,2,8,o),stringify:e=>i(e,8,"0o")}},862550,(e,t,o)=>{"use strict";var r=e.r(250139),n=e.r(7934),a=e.r(877013),i=e.r(952254),l=e.r(361903),s=e.r(746340),u=e.r(840488);o.schema=[r.map,a.seq,i.string,n.nullTag,l.boolTag,u.intOct,u.int,u.intHex,s.floatNaN,s.floatExp,s.float]},812690,(e,t,o)=>{"use strict";var r=e.r(826090),n=e.r(250139),a=e.r(877013);function i(e){return"bigint"==typeof e||Number.isInteger(e)}let l=({value:e})=>JSON.stringify(e),s=[{identify:e=>"string"==typeof e,default:!0,tag:"tag:yaml.org,2002:str",resolve:e=>e,stringify:l},{identify:e=>null==e,createNode:()=>new r.Scalar(null),default:!0,tag:"tag:yaml.org,2002:null",test:/^null$/,resolve:()=>null,stringify:l},{identify:e=>"boolean"==typeof e,default:!0,tag:"tag:yaml.org,2002:bool",test:/^true$|^false$/,resolve:e=>"true"===e,stringify:l},{identify:i,default:!0,tag:"tag:yaml.org,2002:int",test:/^-?(?:0|[1-9][0-9]*)$/,resolve:(e,t,{intAsBigInt:o})=>o?BigInt(e):parseInt(e,10),stringify:({value:e})=>i(e)?e.toString():JSON.stringify(e)},{identify:e=>"number"==typeof e,default:!0,tag:"tag:yaml.org,2002:float",test:/^-?(?:0|[1-9][0-9]*)(?:\.[0-9]*)?(?:[eE][-+]?[0-9]+)?$/,resolve:e=>parseFloat(e),stringify:l}];o.schema=[n.map,a.seq].concat(s,{default:!0,tag:"",test:/^/,resolve:(e,t)=>(t(`Unresolved plain scalar ${JSON.stringify(e)}`),e)})},259163,(e,t,o)=>{"use strict";var r=e.r(500874),n=e.r(826090),a=e.r(788433);o.binary={identify:e=>e instanceof Uint8Array,default:!1,tag:"tag:yaml.org,2002:binary",resolve(e,t){if("function"==typeof r.Buffer)return r.Buffer.from(e,"base64");if("function"!=typeof atob)return t("This environment does not support reading binary tags; either Buffer or atob is required"),e;{let t=atob(e.replace(/[\n\r]/g,"")),o=new Uint8Array(t.length);for(let e=0;e<t.length;++e)o[e]=t.charCodeAt(e);return o}},stringify({comment:e,type:t,value:o},i,l,s){let u;if(!o)return"";if("function"==typeof r.Buffer)u=o instanceof r.Buffer?o.toString("base64"):r.Buffer.from(o.buffer).toString("base64");else if("function"==typeof btoa){let e="";for(let t=0;t<o.length;++t)e+=String.fromCharCode(o[t]);u=btoa(e)}else throw Error("This environment does not support writing binary tags; either Buffer or btoa is required");if(t??(t=n.Scalar.BLOCK_LITERAL),t!==n.Scalar.QUOTE_DOUBLE){let e=Math.max(i.options.lineWidth-i.indent.length,i.options.minContentWidth),o=Math.ceil(u.length/e),r=Array(o);for(let t=0,n=0;t<o;++t,n+=e)r[t]=u.substr(n,e);u=r.join(t===n.Scalar.BLOCK_LITERAL?"\n":" ")}return a.stringifyString({comment:e,type:t,value:u},i,l,s)}}},122087,(e,t,o)=>{"use strict";var r=e.r(767080),n=e.r(812735),a=e.r(826090),i=e.r(379482);function l(e,t){if(r.isSeq(e))for(let o=0;o<e.items.length;++o){let i=e.items[o];if(!r.isPair(i)){if(r.isMap(i)){i.items.length>1&&t("Each pair must have its own sequence indicator");let e=i.items[0]||new n.Pair(new a.Scalar(null));if(i.commentBefore&&(e.key.commentBefore=e.key.commentBefore?`${i.commentBefore}
|
|
205
|
+
${e.key.commentBefore}`:i.commentBefore),i.comment){let t=e.value??e.key;t.comment=t.comment?`${i.comment}
|
|
206
|
+
${t.comment}`:i.comment}i=e}e.items[o]=r.isPair(i)?i:new n.Pair(i)}}else t("Expected a sequence for this tag");return e}function s(e,t,o){let{replacer:r}=o,a=new i.YAMLSeq(e);a.tag="tag:yaml.org,2002:pairs";let l=0;if(t&&Symbol.iterator in Object(t))for(let e of t){let i,s;if("function"==typeof r&&(e=r.call(t,String(l++),e)),Array.isArray(e))if(2===e.length)i=e[0],s=e[1];else throw TypeError(`Expected [key, value] tuple: ${e}`);else if(e&&e instanceof Object){let t=Object.keys(e);if(1===t.length)s=e[i=t[0]];else throw TypeError(`Expected tuple with one key, not ${t.length} keys`)}else i=e;a.items.push(n.createPair(i,s,o))}return a}o.createPairs=s,o.pairs={collection:"seq",default:!1,tag:"tag:yaml.org,2002:pairs",resolve:l,createNode:s},o.resolvePairs=l},770090,(e,t,o)=>{"use strict";var r=e.r(767080),n=e.r(344972),a=e.r(976970),i=e.r(379482),l=e.r(122087);class s extends i.YAMLSeq{constructor(){super(),this.add=a.YAMLMap.prototype.add.bind(this),this.delete=a.YAMLMap.prototype.delete.bind(this),this.get=a.YAMLMap.prototype.get.bind(this),this.has=a.YAMLMap.prototype.has.bind(this),this.set=a.YAMLMap.prototype.set.bind(this),this.tag=s.tag}toJSON(e,t){if(!t)return super.toJSON(e);let o=new Map;for(let e of(t?.onCreate&&t.onCreate(o),this.items)){let a,i;if(r.isPair(e)?(a=n.toJS(e.key,"",t),i=n.toJS(e.value,a,t)):a=n.toJS(e,"",t),o.has(a))throw Error("Ordered maps must not include duplicate keys");o.set(a,i)}return o}static from(e,t,o){let r=l.createPairs(e,t,o),n=new this;return n.items=r.items,n}}s.tag="tag:yaml.org,2002:omap",o.YAMLOMap=s,o.omap={collection:"seq",identify:e=>e instanceof Map,nodeClass:s,default:!1,tag:"tag:yaml.org,2002:omap",resolve(e,t){let o=l.resolvePairs(e,t),n=[];for(let{key:e}of o.items)r.isScalar(e)&&(n.includes(e.value)?t(`Ordered maps must not include duplicate keys: ${e.value}`):n.push(e.value));return Object.assign(new s,o)},createNode:(e,t,o)=>s.from(e,t,o)}},605140,(e,t,o)=>{"use strict";var r=e.r(826090);function n({value:e,source:t},o){let r=e?a:i;return t&&r.test.test(t)?t:e?o.options.trueStr:o.options.falseStr}let a={identify:e=>!0===e,default:!0,tag:"tag:yaml.org,2002:bool",test:/^(?:Y|y|[Yy]es|YES|[Tt]rue|TRUE|[Oo]n|ON)$/,resolve:()=>new r.Scalar(!0),stringify:n},i={identify:e=>!1===e,default:!0,tag:"tag:yaml.org,2002:bool",test:/^(?:N|n|[Nn]o|NO|[Ff]alse|FALSE|[Oo]ff|OFF)$/,resolve:()=>new r.Scalar(!1),stringify:n};o.falseTag=i,o.trueTag=a},209888,(e,t,o)=>{"use strict";var r=e.r(826090),n=e.r(351238);let a={identify:e=>"number"==typeof e,default:!0,tag:"tag:yaml.org,2002:float",test:/^(?:[-+]?\.(?:inf|Inf|INF)|\.nan|\.NaN|\.NAN)$/,resolve:e=>"nan"===e.slice(-3).toLowerCase()?NaN:"-"===e[0]?-1/0:1/0,stringify:n.stringifyNumber};o.float={identify:e=>"number"==typeof e,default:!0,tag:"tag:yaml.org,2002:float",test:/^[-+]?(?:[0-9][0-9_]*)?\.[0-9_]*$/,resolve(e){let t=new r.Scalar(parseFloat(e.replace(/_/g,""))),o=e.indexOf(".");if(-1!==o){let r=e.substring(o+1).replace(/_/g,"");"0"===r[r.length-1]&&(t.minFractionDigits=r.length)}return t},stringify:n.stringifyNumber},o.floatExp={identify:e=>"number"==typeof e,default:!0,tag:"tag:yaml.org,2002:float",format:"EXP",test:/^[-+]?(?:[0-9][0-9_]*)?(?:\.[0-9_]*)?[eE][-+]?[0-9]+$/,resolve:e=>parseFloat(e.replace(/_/g,"")),stringify(e){let t=Number(e.value);return isFinite(t)?t.toExponential():n.stringifyNumber(e)}},o.floatNaN=a},542427,(e,t,o)=>{"use strict";var r=e.r(351238);let n=e=>"bigint"==typeof e||Number.isInteger(e);function a(e,t,o,{intAsBigInt:r}){let n=e[0];if(("-"===n||"+"===n)&&(t+=1),e=e.substring(t).replace(/_/g,""),r){switch(o){case 2:e=`0b${e}`;break;case 8:e=`0o${e}`;break;case 16:e=`0x${e}`}let t=BigInt(e);return"-"===n?BigInt(-1)*t:t}let i=parseInt(e,o);return"-"===n?-1*i:i}function i(e,t,o){let{value:a}=e;if(n(a)){let e=a.toString(t);return a<0?"-"+o+e.substr(1):o+e}return r.stringifyNumber(e)}o.int={identify:n,default:!0,tag:"tag:yaml.org,2002:int",test:/^[-+]?[0-9][0-9_]*$/,resolve:(e,t,o)=>a(e,0,10,o),stringify:r.stringifyNumber},o.intBin={identify:n,default:!0,tag:"tag:yaml.org,2002:int",format:"BIN",test:/^[-+]?0b[0-1_]+$/,resolve:(e,t,o)=>a(e,2,2,o),stringify:e=>i(e,2,"0b")},o.intHex={identify:n,default:!0,tag:"tag:yaml.org,2002:int",format:"HEX",test:/^[-+]?0x[0-9a-fA-F_]+$/,resolve:(e,t,o)=>a(e,2,16,o),stringify:e=>i(e,16,"0x")},o.intOct={identify:n,default:!0,tag:"tag:yaml.org,2002:int",format:"OCT",test:/^[-+]?0[0-7_]+$/,resolve:(e,t,o)=>a(e,1,8,o),stringify:e=>i(e,8,"0")}},884186,(e,t,o)=>{"use strict";var r=e.r(767080),n=e.r(812735),a=e.r(976970);class i extends a.YAMLMap{constructor(e){super(e),this.tag=i.tag}add(e){let t;t=r.isPair(e)?e:e&&"object"==typeof e&&"key"in e&&"value"in e&&null===e.value?new n.Pair(e.key,null):new n.Pair(e,null),a.findPair(this.items,t.key)||this.items.push(t)}get(e,t){let o=a.findPair(this.items,e);return!t&&r.isPair(o)?r.isScalar(o.key)?o.key.value:o.key:o}set(e,t){if("boolean"!=typeof t)throw Error(`Expected boolean value for set(key, value) in a YAML set, not ${typeof t}`);let o=a.findPair(this.items,e);o&&!t?this.items.splice(this.items.indexOf(o),1):!o&&t&&this.items.push(new n.Pair(e))}toJSON(e,t){return super.toJSON(e,t,Set)}toString(e,t,o){if(!e)return JSON.stringify(this);if(this.hasAllNullValues(!0))return super.toString(Object.assign({},e,{allNullValues:!0}),t,o);throw Error("Set items must all have null values")}static from(e,t,o){let{replacer:r}=o,a=new this(e);if(t&&Symbol.iterator in Object(t))for(let e of t)"function"==typeof r&&(e=r.call(t,e,e)),a.items.push(n.createPair(e,null,o));return a}}i.tag="tag:yaml.org,2002:set",o.YAMLSet=i,o.set={collection:"map",identify:e=>e instanceof Set,nodeClass:i,default:!1,tag:"tag:yaml.org,2002:set",createNode:(e,t,o)=>i.from(e,t,o),resolve(e,t){if(r.isMap(e))if(e.hasAllNullValues(!0))return Object.assign(new i,e);else t("Set items must all have null values");else t("Expected a mapping for this tag");return e}}},37637,(e,t,o)=>{"use strict";var r=e.r(351238);function n(e,t){let o=e[0],r="-"===o||"+"===o?e.substring(1):e,n=e=>t?BigInt(e):Number(e),a=r.replace(/_/g,"").split(":").reduce((e,t)=>e*n(60)+n(t),n(0));return"-"===o?n(-1)*a:a}function a(e){let{value:t}=e,o=e=>e;if("bigint"==typeof t)o=e=>BigInt(e);else if(isNaN(t)||!isFinite(t))return r.stringifyNumber(e);let n="";t<0&&(n="-",t*=o(-1));let a=o(60),i=[t%a];return t<60?i.unshift(0):(t=(t-i[0])/a,i.unshift(t%a),t>=60&&(t=(t-i[0])/a,i.unshift(t))),n+i.map(e=>String(e).padStart(2,"0")).join(":").replace(/000000\d*$/,"")}let i={identify:e=>e instanceof Date,default:!0,tag:"tag:yaml.org,2002:timestamp",test:RegExp("^([0-9]{4})-([0-9]{1,2})-([0-9]{1,2})(?:(?:t|T|[ \\t]+)([0-9]{1,2}):([0-9]{1,2}):([0-9]{1,2}(\\.[0-9]+)?)(?:[ \\t]*(Z|[-+][012]?[0-9](?::[0-9]{2})?))?)?$"),resolve(e){let t=e.match(i.test);if(!t)throw Error("!!timestamp expects a date, starting with yyyy-mm-dd");let[,o,r,a,l,s,u]=t.map(Number),d=Date.UTC(o,r-1,a,l||0,s||0,u||0,t[7]?Number((t[7]+"00").substr(1,3)):0),c=t[8];if(c&&"Z"!==c){let e=n(c,!1);30>Math.abs(e)&&(e*=60),d-=6e4*e}return new Date(d)},stringify:({value:e})=>e?.toISOString().replace(/(T00:00:00)?\.000Z$/,"")??""};o.floatTime={identify:e=>"number"==typeof e,default:!0,tag:"tag:yaml.org,2002:float",format:"TIME",test:/^[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+\.[0-9_]*$/,resolve:e=>n(e,!1),stringify:a},o.intTime={identify:e=>"bigint"==typeof e||Number.isInteger(e),default:!0,tag:"tag:yaml.org,2002:int",format:"TIME",test:/^[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+$/,resolve:(e,t,{intAsBigInt:o})=>n(e,o),stringify:a},o.timestamp=i},990419,(e,t,o)=>{"use strict";var r=e.r(250139),n=e.r(7934),a=e.r(877013),i=e.r(952254),l=e.r(259163),s=e.r(605140),u=e.r(209888),d=e.r(542427),c=e.r(109077),p=e.r(770090),h=e.r(122087),m=e.r(884186),g=e.r(37637);o.schema=[r.map,a.seq,i.string,n.nullTag,s.trueTag,s.falseTag,d.intBin,d.intOct,d.int,d.intHex,u.floatNaN,u.floatExp,u.float,l.binary,c.merge,p.omap,h.pairs,m.set,g.intTime,g.floatTime,g.timestamp]},726264,(e,t,o)=>{"use strict";var r=e.r(250139),n=e.r(7934),a=e.r(877013),i=e.r(952254),l=e.r(361903),s=e.r(746340),u=e.r(840488),d=e.r(862550),c=e.r(812690),p=e.r(259163),h=e.r(109077),m=e.r(770090),g=e.r(122087),f=e.r(990419),y=e.r(884186),v=e.r(37637);let b=new Map([["core",d.schema],["failsafe",[r.map,a.seq,i.string]],["json",c.schema],["yaml11",f.schema],["yaml-1.1",f.schema]]),_={binary:p.binary,bool:l.boolTag,float:s.float,floatExp:s.floatExp,floatNaN:s.floatNaN,floatTime:v.floatTime,int:u.int,intHex:u.intHex,intOct:u.intOct,intTime:v.intTime,map:r.map,merge:h.merge,null:n.nullTag,omap:m.omap,pairs:g.pairs,seq:a.seq,set:y.set,timestamp:v.timestamp};o.coreKnownTags={"tag:yaml.org,2002:binary":p.binary,"tag:yaml.org,2002:merge":h.merge,"tag:yaml.org,2002:omap":m.omap,"tag:yaml.org,2002:pairs":g.pairs,"tag:yaml.org,2002:set":y.set,"tag:yaml.org,2002:timestamp":v.timestamp},o.getTags=function(e,t,o){let r=b.get(t);if(r&&!e)return o&&!r.includes(h.merge)?r.concat(h.merge):r.slice();let n=r;if(!n)if(Array.isArray(e))n=[];else{let e=Array.from(b.keys()).filter(e=>"yaml11"!==e).map(e=>JSON.stringify(e)).join(", ");throw Error(`Unknown schema "${t}"; use one of ${e} or define customTags array`)}if(Array.isArray(e))for(let t of e)n=n.concat(t);else"function"==typeof e&&(n=e(n.slice()));return o&&(n=n.concat(h.merge)),n.reduce((e,t)=>{let o="string"==typeof t?_[t]:t;if(!o){let e=JSON.stringify(t),o=Object.keys(_).map(e=>JSON.stringify(e)).join(", ");throw Error(`Unknown custom tag ${e}; use one of ${o}`)}return e.includes(o)||e.push(o),e},[])}},891485,(e,t,o)=>{"use strict";var r=e.r(767080),n=e.r(250139),a=e.r(877013),i=e.r(952254),l=e.r(726264);let s=(e,t)=>e.key<t.key?-1:+(e.key>t.key);o.Schema=class e{constructor({compat:e,customTags:t,merge:o,resolveKnownTags:u,schema:d,sortMapEntries:c,toStringDefaults:p}){this.compat=Array.isArray(e)?l.getTags(e,"compat"):e?l.getTags(null,e):null,this.name="string"==typeof d&&d||"core",this.knownTags=u?l.coreKnownTags:{},this.tags=l.getTags(t,this.name,o),this.toStringOptions=p??null,Object.defineProperty(this,r.MAP,{value:n.map}),Object.defineProperty(this,r.SCALAR,{value:i.string}),Object.defineProperty(this,r.SEQ,{value:a.seq}),this.sortMapEntries="function"==typeof c?c:!0===c?s:null}clone(){let t=Object.create(e.prototype,Object.getOwnPropertyDescriptors(this));return t.tags=this.tags.slice(),t}}},114405,(e,t,o)=>{"use strict";var r=e.r(767080),n=e.r(403827),a=e.r(837668);o.stringifyDocument=function(e,t){let o=[],i=!0===t.directives;if(!1!==t.directives&&e.directives){let t=e.directives.toString(e);t?(o.push(t),i=!0):e.directives.docStart&&(i=!0)}i&&o.push("---");let l=n.createStringifyContext(e,t),{commentString:s}=l.options;if(e.commentBefore){1!==o.length&&o.unshift("");let t=s(e.commentBefore);o.unshift(a.indentComment(t,""))}let u=!1,d=null;if(e.contents){if(r.isNode(e.contents)){if(e.contents.spaceBefore&&i&&o.push(""),e.contents.commentBefore){let t=s(e.contents.commentBefore);o.push(a.indentComment(t,""))}l.forceBlockIndent=!!e.comment,d=e.contents.comment}let t=d?void 0:()=>u=!0,c=n.stringify(e.contents,l,()=>d=null,t);d&&(c+=a.lineComment(c,"",s(d))),("|"===c[0]||">"===c[0])&&"---"===o[o.length-1]?o[o.length-1]=`--- ${c}`:o.push(c)}else o.push(n.stringify(e.contents,l));if(e.directives?.docEnd)if(e.comment){let t=s(e.comment);t.includes("\n")?(o.push("..."),o.push(a.indentComment(t,""))):o.push(`... ${t}`)}else o.push("...");else{let t=e.comment;t&&u&&(t=t.replace(/^\n+/,"")),t&&((!u||d)&&""!==o[o.length-1]&&o.push(""),o.push(a.indentComment(s(t),"")))}return o.join("\n")+"\n"}},722871,(e,t,o)=>{"use strict";var r=e.r(917429),n=e.r(714221),a=e.r(767080),i=e.r(812735),l=e.r(344972),s=e.r(891485),u=e.r(114405),d=e.r(375506),c=e.r(670087),p=e.r(333321),h=e.r(954907);function m(e){if(a.isCollection(e))return!0;throw Error("Expected a YAML collection as document contents")}o.Document=class e{constructor(e,t,o){this.commentBefore=null,this.comment=null,this.errors=[],this.warnings=[],Object.defineProperty(this,a.NODE_TYPE,{value:a.DOC});let r=null;"function"==typeof t||Array.isArray(t)?r=t:void 0===o&&t&&(o=t,t=void 0);const n=Object.assign({intAsBigInt:!1,keepSourceTokens:!1,logLevel:"warn",prettyErrors:!0,strict:!0,stringKeys:!1,uniqueKeys:!0,version:"1.2"},o);this.options=n;let{version:i}=n;o?._directives?(this.directives=o._directives.atDocument(),this.directives.yaml.explicit&&(i=this.directives.yaml.version)):this.directives=new h.Directives({version:i}),this.setSchema(i,o),this.contents=void 0===e?null:this.createNode(e,r,o)}clone(){let t=Object.create(e.prototype,{[a.NODE_TYPE]:{value:a.DOC}});return t.commentBefore=this.commentBefore,t.comment=this.comment,t.errors=this.errors.slice(),t.warnings=this.warnings.slice(),t.options=Object.assign({},this.options),this.directives&&(t.directives=this.directives.clone()),t.schema=this.schema.clone(),t.contents=a.isNode(this.contents)?this.contents.clone(t.schema):this.contents,this.range&&(t.range=this.range.slice()),t}add(e){m(this.contents)&&this.contents.add(e)}addIn(e,t){m(this.contents)&&this.contents.addIn(e,t)}createAlias(e,t){if(!e.anchor){let o=d.anchorNames(this);e.anchor=!t||o.has(t)?d.findNewAnchor(t||"a",o):t}return new r.Alias(e.anchor)}createNode(e,t,o){let r;if("function"==typeof t)e=t.call({"":e},"",e),r=t;else if(Array.isArray(t)){let e=t.filter(e=>"number"==typeof e||e instanceof String||e instanceof Number).map(String);e.length>0&&(t=t.concat(e)),r=t}else void 0===o&&t&&(o=t,t=void 0);let{aliasDuplicateObjects:n,anchorPrefix:i,flow:l,keepUndefined:s,onTagObj:u,tag:c}=o??{},{onAnchor:h,setAnchors:m,sourceObjects:g}=d.createNodeAnchors(this,i||"a"),f={aliasDuplicateObjects:n??!0,keepUndefined:s??!1,onAnchor:h,onTagObj:u,replacer:r,schema:this.schema,sourceObjects:g},y=p.createNode(e,c,f);return l&&a.isCollection(y)&&(y.flow=!0),m(),y}createPair(e,t,o={}){let r=this.createNode(e,null,o),n=this.createNode(t,null,o);return new i.Pair(r,n)}delete(e){return!!m(this.contents)&&this.contents.delete(e)}deleteIn(e){return n.isEmptyPath(e)?null!=this.contents&&(this.contents=null,!0):!!m(this.contents)&&this.contents.deleteIn(e)}get(e,t){return a.isCollection(this.contents)?this.contents.get(e,t):void 0}getIn(e,t){return n.isEmptyPath(e)?!t&&a.isScalar(this.contents)?this.contents.value:this.contents:a.isCollection(this.contents)?this.contents.getIn(e,t):void 0}has(e){return!!a.isCollection(this.contents)&&this.contents.has(e)}hasIn(e){return n.isEmptyPath(e)?void 0!==this.contents:!!a.isCollection(this.contents)&&this.contents.hasIn(e)}set(e,t){null==this.contents?this.contents=n.collectionFromPath(this.schema,[e],t):m(this.contents)&&this.contents.set(e,t)}setIn(e,t){n.isEmptyPath(e)?this.contents=t:null==this.contents?this.contents=n.collectionFromPath(this.schema,Array.from(e),t):m(this.contents)&&this.contents.setIn(e,t)}setSchema(e,t={}){let o;switch("number"==typeof e&&(e=String(e)),e){case"1.1":this.directives?this.directives.yaml.version="1.1":this.directives=new h.Directives({version:"1.1"}),o={resolveKnownTags:!1,schema:"yaml-1.1"};break;case"1.2":case"next":this.directives?this.directives.yaml.version=e:this.directives=new h.Directives({version:e}),o={resolveKnownTags:!0,schema:"core"};break;case null:this.directives&&delete this.directives,o=null;break;default:{let t=JSON.stringify(e);throw Error(`Expected '1.1', '1.2' or null as first argument, but found: ${t}`)}}if(t.schema instanceof Object)this.schema=t.schema;else if(o)this.schema=new s.Schema(Object.assign(o,t));else throw Error("With a null YAML version, the { schema: Schema } option is required")}toJS({json:e,jsonArg:t,mapAsMap:o,maxAliasCount:r,onAnchor:n,reviver:a}={}){let i={anchors:new Map,doc:this,keep:!e,mapAsMap:!0===o,mapKeyWarned:!1,maxAliasCount:"number"==typeof r?r:100},s=l.toJS(this.contents,t??"",i);if("function"==typeof n)for(let{count:e,res:t}of i.anchors.values())n(t,e);return"function"==typeof a?c.applyReviver(a,{"":s},"",s):s}toJSON(e,t){return this.toJS({json:!0,jsonArg:e,mapAsMap:!1,onAnchor:t})}toString(e={}){if(this.errors.length>0)throw Error("Document with errors cannot be stringified");if("indent"in e&&(!Number.isInteger(e.indent)||0>=Number(e.indent))){let t=JSON.stringify(e.indent);throw Error(`"indent" option must be a positive integer, not ${t}`)}return u.stringifyDocument(this,e)}}},809070,(e,t,o)=>{"use strict";class r extends Error{constructor(e,t,o,r){super(),this.name=e,this.code=o,this.message=r,this.pos=t}}o.YAMLError=r,o.YAMLParseError=class extends r{constructor(e,t,o){super("YAMLParseError",e,t,o)}},o.YAMLWarning=class extends r{constructor(e,t,o){super("YAMLWarning",e,t,o)}},o.prettifyError=(e,t)=>o=>{if(-1===o.pos[0])return;o.linePos=o.pos.map(e=>t.linePos(e));let{line:r,col:n}=o.linePos[0];o.message+=` at line ${r}, column ${n}`;let a=n-1,i=e.substring(t.lineStarts[r-1],t.lineStarts[r]).replace(/[\n\r]+$/,"");if(a>=60&&i.length>80){let e=Math.min(a-39,i.length-79);i="…"+i.substring(e),a-=e-1}if(i.length>80&&(i=i.substring(0,79)+"…"),r>1&&/^ *$/.test(i.substring(0,a))){let o=e.substring(t.lineStarts[r-2],t.lineStarts[r-1]);o.length>80&&(o=o.substring(0,79)+"…\n"),i=o+i}if(/[^ ]/.test(i)){let e=1,t=o.linePos[1];t?.line===r&&t.col>n&&(e=Math.max(1,Math.min(t.col-n,80-a)));let l=" ".repeat(a)+"^".repeat(e);o.message+=`:
|
|
207
|
+
|
|
208
|
+
${i}
|
|
209
|
+
${l}
|
|
210
|
+
`}}},583709,(e,t,o)=>{"use strict";o.resolveProps=function(e,{flow:t,indicator:o,next:r,offset:n,onError:a,parentIndent:i,startOnNewline:l}){let s=!1,u=l,d=l,c="",p="",h=!1,m=!1,g=null,f=null,y=null,v=null,b=null,_=null,w=null;for(let n of e)switch(m&&("space"!==n.type&&"newline"!==n.type&&"comma"!==n.type&&a(n.offset,"MISSING_CHAR","Tags and anchors must be separated from the next token by white space"),m=!1),g&&(u&&"comment"!==n.type&&"newline"!==n.type&&a(g,"TAB_AS_INDENT","Tabs are not allowed as indentation"),g=null),n.type){case"space":!t&&("doc-start"!==o||r?.type!=="flow-collection")&&n.source.includes(" ")&&(g=n),d=!0;break;case"comment":{d||a(n,"MISSING_CHAR","Comments must be separated from other tokens by white space characters");let e=n.source.substring(1)||" ";c?c+=p+e:c=e,p="",u=!1;break}case"newline":u?c?c+=n.source:_&&"seq-item-ind"===o||(s=!0):p+=n.source,u=!0,h=!0,(f||y)&&(v=n),d=!0;break;case"anchor":f&&a(n,"MULTIPLE_ANCHORS","A node can have at most one anchor"),n.source.endsWith(":")&&a(n.offset+n.source.length-1,"BAD_ALIAS","Anchor ending in : is ambiguous",!0),f=n,w??(w=n.offset),u=!1,d=!1,m=!0;break;case"tag":y&&a(n,"MULTIPLE_TAGS","A node can have at most one tag"),y=n,w??(w=n.offset),u=!1,d=!1,m=!0;break;case o:(f||y)&&a(n,"BAD_PROP_ORDER",`Anchors and tags must be after the ${n.source} indicator`),_&&a(n,"UNEXPECTED_TOKEN",`Unexpected ${n.source} in ${t??"collection"}`),_=n,u="seq-item-ind"===o||"explicit-key-ind"===o,d=!1;break;case"comma":if(t){b&&a(n,"UNEXPECTED_TOKEN",`Unexpected , in ${t}`),b=n,u=!1,d=!1;break}default:a(n,"UNEXPECTED_TOKEN",`Unexpected ${n.type} token`),u=!1,d=!1}let z=e[e.length-1],x=z?z.offset+z.source.length:n;return m&&r&&"space"!==r.type&&"newline"!==r.type&&"comma"!==r.type&&("scalar"!==r.type||""!==r.source)&&a(r.offset,"MISSING_CHAR","Tags and anchors must be separated from the next token by white space"),g&&(u&&g.indent<=i||r?.type==="block-map"||r?.type==="block-seq")&&a(g,"TAB_AS_INDENT","Tabs are not allowed as indentation"),{comma:b,found:_,spaceBefore:s,comment:c,hasNewline:h,anchor:f,tag:y,newlineAfterProp:v,end:x,start:w??x}}},852996,(e,t,o)=>{"use strict";o.containsNewline=function e(t){if(!t)return null;switch(t.type){case"alias":case"scalar":case"double-quoted-scalar":case"single-quoted-scalar":if(t.source.includes("\n"))return!0;if(t.end){for(let e of t.end)if("newline"===e.type)return!0}return!1;case"flow-collection":for(let o of t.items){for(let e of o.start)if("newline"===e.type)return!0;if(o.sep){for(let e of o.sep)if("newline"===e.type)return!0}if(e(o.key)||e(o.value))return!0}return!1;default:return!0}}},887634,(e,t,o)=>{"use strict";var r=e.r(852996);o.flowIndentCheck=function(e,t,o){if(t?.type==="flow-collection"){let n=t.end[0];n.indent===e&&("]"===n.source||"}"===n.source)&&r.containsNewline(t)&&o(n,"BAD_INDENT","Flow end indicator should be more indented than parent",!0)}}},600539,(e,t,o)=>{"use strict";var r=e.r(767080);o.mapIncludes=function(e,t,o){let{uniqueKeys:n}=e.options;if(!1===n)return!1;let a="function"==typeof n?n:(e,t)=>e===t||r.isScalar(e)&&r.isScalar(t)&&e.value===t.value;return t.some(e=>a(e.key,o))}},29810,(e,t,o)=>{"use strict";var r=e.r(812735),n=e.r(976970),a=e.r(583709),i=e.r(852996),l=e.r(887634),s=e.r(600539);let u="All mapping items must start at the same column";o.resolveBlockMap=function({composeNode:e,composeEmptyNode:t},o,d,c,p){let h=new(p?.nodeClass??n.YAMLMap)(o.schema);o.atRoot&&(o.atRoot=!1);let m=d.offset,g=null;for(let n of d.items){let{start:p,key:f,sep:y,value:v}=n,b=a.resolveProps(p,{indicator:"explicit-key-ind",next:f??y?.[0],offset:m,onError:c,parentIndent:d.indent,startOnNewline:!0}),_=!b.found;if(_){if(f&&("block-seq"===f.type?c(m,"BLOCK_AS_IMPLICIT_KEY","A block sequence may not be used as an implicit map key"):"indent"in f&&f.indent!==d.indent&&c(m,"BAD_INDENT",u)),!b.anchor&&!b.tag&&!y){g=b.end,b.comment&&(h.comment?h.comment+="\n"+b.comment:h.comment=b.comment);continue}(b.newlineAfterProp||i.containsNewline(f))&&c(f??p[p.length-1],"MULTILINE_IMPLICIT_KEY","Implicit keys need to be on a single line")}else b.found?.indent!==d.indent&&c(m,"BAD_INDENT",u);o.atKey=!0;let w=b.end,z=f?e(o,f,b,c):t(o,w,p,null,b,c);o.schema.compat&&l.flowIndentCheck(d.indent,f,c),o.atKey=!1,s.mapIncludes(o,h.items,z)&&c(w,"DUPLICATE_KEY","Map keys must be unique");let x=a.resolveProps(y??[],{indicator:"map-value-ind",next:v,offset:z.range[2],onError:c,parentIndent:d.indent,startOnNewline:!f||"block-scalar"===f.type});if(m=x.end,x.found){_&&(v?.type!=="block-map"||x.hasNewline||c(m,"BLOCK_AS_IMPLICIT_KEY","Nested mappings are not allowed in compact mappings"),o.options.strict&&b.start<x.found.offset-1024&&c(z.range,"KEY_OVER_1024_CHARS","The : indicator must be at most 1024 chars after the start of an implicit block mapping key"));let a=v?e(o,v,x,c):t(o,m,y,null,x,c);o.schema.compat&&l.flowIndentCheck(d.indent,v,c),m=a.range[2];let i=new r.Pair(z,a);o.options.keepSourceTokens&&(i.srcToken=n),h.items.push(i)}else{_&&c(z.range,"MISSING_CHAR","Implicit map keys need to be followed by map values"),x.comment&&(z.comment?z.comment+="\n"+x.comment:z.comment=x.comment);let e=new r.Pair(z);o.options.keepSourceTokens&&(e.srcToken=n),h.items.push(e)}}return g&&g<m&&c(g,"IMPOSSIBLE","Map comment with trailing content"),h.range=[d.offset,m,g??m],h}},403912,(e,t,o)=>{"use strict";var r=e.r(379482),n=e.r(583709),a=e.r(887634);o.resolveBlockSeq=function({composeNode:e,composeEmptyNode:t},o,i,l,s){let u=new(s?.nodeClass??r.YAMLSeq)(o.schema);o.atRoot&&(o.atRoot=!1),o.atKey&&(o.atKey=!1);let d=i.offset,c=null;for(let{start:r,value:s}of i.items){let p=n.resolveProps(r,{indicator:"seq-item-ind",next:s,offset:d,onError:l,parentIndent:i.indent,startOnNewline:!0});if(!p.found)if(p.anchor||p.tag||s)s?.type==="block-seq"?l(p.end,"BAD_INDENT","All sequence items must start at the same column"):l(d,"MISSING_CHAR","Sequence item without - indicator");else{c=p.end,p.comment&&(u.comment=p.comment);continue}let h=s?e(o,s,p,l):t(o,p.end,r,null,p,l);o.schema.compat&&a.flowIndentCheck(i.indent,s,l),d=h.range[2],u.items.push(h)}return u.range=[i.offset,d,c??d],u}},570095,(e,t,o)=>{"use strict";o.resolveEnd=function(e,t,o,r){let n="";if(e){let a=!1,i="";for(let l of e){let{source:e,type:s}=l;switch(s){case"space":a=!0;break;case"comment":{o&&!a&&r(l,"MISSING_CHAR","Comments must be separated from other tokens by white space characters");let t=e.substring(1)||" ";n?n+=i+t:n=t,i="";break}case"newline":n&&(i+=e),a=!0;break;default:r(l,"UNEXPECTED_TOKEN",`Unexpected ${s} at node end`)}t+=e.length}}return{comment:n,offset:t}}},949812,(e,t,o)=>{"use strict";var r=e.r(767080),n=e.r(812735),a=e.r(976970),i=e.r(379482),l=e.r(570095),s=e.r(583709),u=e.r(852996),d=e.r(600539);let c="Block collections are not allowed within flow collections",p=e=>e&&("block-map"===e.type||"block-seq"===e.type);o.resolveFlowCollection=function({composeNode:e,composeEmptyNode:t},o,h,m,g){let f="{"===h.start.source,y=f?"flow map":"flow sequence",v=new(g?.nodeClass??(f?a.YAMLMap:i.YAMLSeq))(o.schema);v.flow=!0;let b=o.atRoot;b&&(o.atRoot=!1),o.atKey&&(o.atKey=!1);let _=h.offset+h.start.source.length;for(let i=0;i<h.items.length;++i){let l=h.items[i],{start:g,key:b,sep:w,value:z}=l,x=s.resolveProps(g,{flow:y,indicator:"explicit-key-ind",next:b??w?.[0],offset:_,onError:m,parentIndent:h.indent,startOnNewline:!1});if(!x.found){if(!x.anchor&&!x.tag&&!w&&!z){0===i&&x.comma?m(x.comma,"UNEXPECTED_TOKEN",`Unexpected , in ${y}`):i<h.items.length-1&&m(x.start,"UNEXPECTED_TOKEN",`Unexpected empty item in ${y}`),x.comment&&(v.comment?v.comment+="\n"+x.comment:v.comment=x.comment),_=x.end;continue}!f&&o.options.strict&&u.containsNewline(b)&&m(b,"MULTILINE_IMPLICIT_KEY","Implicit keys of flow sequence pairs need to be on a single line")}if(0===i)x.comma&&m(x.comma,"UNEXPECTED_TOKEN",`Unexpected , in ${y}`);else if(x.comma||m(x.start,"MISSING_CHAR",`Missing , between ${y} items`),x.comment){let e="";e:for(let t of g)switch(t.type){case"comma":case"space":break;case"comment":e=t.source.substring(1);break e;default:break e}if(e){let t=v.items[v.items.length-1];r.isPair(t)&&(t=t.value??t.key),t.comment?t.comment+="\n"+e:t.comment=e,x.comment=x.comment.substring(e.length+1)}}if(f||w||x.found){o.atKey=!0;let r=x.end,i=b?e(o,b,x,m):t(o,r,g,null,x,m);p(b)&&m(i.range,"BLOCK_IN_FLOW",c),o.atKey=!1;let u=s.resolveProps(w??[],{flow:y,indicator:"map-value-ind",next:z,offset:i.range[2],onError:m,parentIndent:h.indent,startOnNewline:!1});if(u.found){if(!f&&!x.found&&o.options.strict){if(w)for(let e of w){if(e===u.found)break;if("newline"===e.type){m(e,"MULTILINE_IMPLICIT_KEY","Implicit keys of flow sequence pairs need to be on a single line");break}}x.start<u.found.offset-1024&&m(u.found,"KEY_OVER_1024_CHARS","The : indicator must be at most 1024 chars after the start of an implicit flow sequence key")}}else z&&("source"in z&&z.source?.[0]===":"?m(z,"MISSING_CHAR",`Missing space after : in ${y}`):m(u.start,"MISSING_CHAR",`Missing , or : between ${y} items`));let T=z?e(o,z,u,m):u.found?t(o,u.end,w,null,u,m):null;T?p(z)&&m(T.range,"BLOCK_IN_FLOW",c):u.comment&&(i.comment?i.comment+="\n"+u.comment:i.comment=u.comment);let k=new n.Pair(i,T);if(o.options.keepSourceTokens&&(k.srcToken=l),f)d.mapIncludes(o,v.items,i)&&m(r,"DUPLICATE_KEY","Map keys must be unique"),v.items.push(k);else{let e=new a.YAMLMap(o.schema);e.flow=!0,e.items.push(k);let t=(T??i).range;e.range=[i.range[0],t[1],t[2]],v.items.push(e)}_=T?T.range[2]:u.end}else{let r=z?e(o,z,x,m):t(o,x.end,w,null,x,m);v.items.push(r),_=r.range[2],p(z)&&m(r.range,"BLOCK_IN_FLOW",c)}}let w=f?"}":"]",[z,...x]=h.end,T=_;if(z?.source===w)T=z.offset+z.source.length;else{let e=y[0].toUpperCase()+y.substring(1),t=b?`${e} must end with a ${w}`:`${e} in block collection must be sufficiently indented and end with a ${w}`;m(_,b?"MISSING_CHAR":"BAD_INDENT",t),z&&1!==z.source.length&&x.unshift(z)}if(x.length>0){let e=l.resolveEnd(x,T,o.options.strict,m);e.comment&&(v.comment?v.comment+="\n"+e.comment:v.comment=e.comment),v.range=[h.offset,T,e.offset]}else v.range=[h.offset,T,T];return v}},555457,(e,t,o)=>{"use strict";var r=e.r(767080),n=e.r(826090),a=e.r(976970),i=e.r(379482),l=e.r(29810),s=e.r(403912),u=e.r(949812);function d(e,t,o,r,n,a){let i="block-map"===o.type?l.resolveBlockMap(e,t,o,r,a):"block-seq"===o.type?s.resolveBlockSeq(e,t,o,r,a):u.resolveFlowCollection(e,t,o,r,a),d=i.constructor;return"!"===n||n===d.tagName?i.tag=d.tagName:n&&(i.tag=n),i}o.composeCollection=function(e,t,o,l,s){let u=l.tag,c=u?t.directives.tagName(u.source,e=>s(u,"TAG_RESOLVE_FAILED",e)):null;if("block-seq"===o.type){let{anchor:e,newlineAfterProp:t}=l,o=e&&u?e.offset>u.offset?e:u:e??u;o&&(!t||t.offset<o.offset)&&s(o,"MISSING_CHAR","Missing newline after block sequence props")}let p="block-map"===o.type?"map":"block-seq"===o.type?"seq":"{"===o.start.source?"map":"seq";if(!u||!c||"!"===c||c===a.YAMLMap.tagName&&"map"===p||c===i.YAMLSeq.tagName&&"seq"===p)return d(e,t,o,s,c);let h=t.schema.tags.find(e=>e.tag===c&&e.collection===p);if(!h){let r=t.schema.knownTags[c];if(r?.collection!==p)return r?s(u,"BAD_COLLECTION_TYPE",`${r.tag} used for ${p} collection, but expects ${r.collection??"scalar"}`,!0):s(u,"TAG_RESOLVE_FAILED",`Unresolved tag: ${c}`,!0),d(e,t,o,s,c);t.schema.tags.push(Object.assign({},r,{default:!1})),h=r}let m=d(e,t,o,s,c,h),g=h.resolve?.(m,e=>s(u,"TAG_RESOLVE_FAILED",e),t.options)??m,f=r.isNode(g)?g:new n.Scalar(g);return f.range=m.range,f.tag=c,h?.format&&(f.format=h.format),f}},776306,(e,t,o)=>{"use strict";var r=e.r(826090);o.resolveBlockScalar=function(e,t,o){let n=t.offset,a=function({offset:e,props:t},o,r){if("block-scalar-header"!==t[0].type)return r(t[0],"IMPOSSIBLE","Block scalar header not found"),null;let{source:n}=t[0],a=n[0],i=0,l="",s=-1;for(let t=1;t<n.length;++t){let o=n[t];if(l||"-"!==o&&"+"!==o){let r=Number(o);!i&&r?i=r:-1===s&&(s=e+t)}else l=o}-1!==s&&r(s,"UNEXPECTED_TOKEN",`Block scalar header includes extra characters: ${n}`);let u=!1,d="",c=n.length;for(let e=1;e<t.length;++e){let n=t[e];switch(n.type){case"space":u=!0;case"newline":c+=n.source.length;break;case"comment":o&&!u&&r(n,"MISSING_CHAR","Comments must be separated from other tokens by white space characters"),c+=n.source.length,d=n.source.substring(1);break;case"error":r(n,"UNEXPECTED_TOKEN",n.message),c+=n.source.length;break;default:{let e=`Unexpected token in block scalar header: ${n.type}`;r(n,"UNEXPECTED_TOKEN",e);let t=n.source;t&&"string"==typeof t&&(c+=t.length)}}}return{mode:a,indent:i,chomp:l,comment:d,length:c}}(t,e.options.strict,o);if(!a)return{value:"",type:null,comment:"",range:[n,n,n]};let i=">"===a.mode?r.Scalar.BLOCK_FOLDED:r.Scalar.BLOCK_LITERAL,l=t.source?function(e){let t=e.split(/\n( *)/),o=t[0],r=o.match(/^( *)/),n=[r?.[1]?[r[1],o.slice(r[1].length)]:["",o]];for(let e=1;e<t.length;e+=2)n.push([t[e],t[e+1]]);return n}(t.source):[],s=l.length;for(let e=l.length-1;e>=0;--e){let t=l[e][1];if(""===t||"\r"===t)s=e;else break}if(0===s){let e="+"===a.chomp&&l.length>0?"\n".repeat(Math.max(1,l.length-1)):"",o=n+a.length;return t.source&&(o+=t.source.length),{value:e,type:i,comment:a.comment,range:[n,o,o]}}let u=t.indent+a.indent,d=t.offset+a.length,c=0;for(let t=0;t<s;++t){let[r,n]=l[t];if(""===n||"\r"===n)0===a.indent&&r.length>u&&(u=r.length);else{r.length<u&&o(d+r.length,"MISSING_CHAR","Block scalars with more-indented leading empty lines must use an explicit indentation indicator"),0===a.indent&&(u=r.length),c=t,0!==u||e.atRoot||o(d,"BAD_INDENT","Block scalar values in collections must be indented");break}d+=r.length+n.length+1}for(let e=l.length-1;e>=s;--e)l[e][0].length>u&&(s=e+1);let p="",h="",m=!1;for(let e=0;e<c;++e)p+=l[e][0].slice(u)+"\n";for(let e=c;e<s;++e){let[t,n]=l[e];d+=t.length+n.length+1;let s="\r"===n[n.length-1];if(s&&(n=n.slice(0,-1)),n&&t.length<u){let e=a.indent?"explicit indentation indicator":"first line",r=`Block scalar lines must not be less indented than their ${e}`;o(d-n.length-(s?2:1),"BAD_INDENT",r),t=""}i===r.Scalar.BLOCK_LITERAL?(p+=h+t.slice(u)+n,h="\n"):t.length>u||" "===n[0]?(" "===h?h="\n":m||"\n"!==h||(h="\n\n"),p+=h+t.slice(u)+n,h="\n",m=!0):""===n?"\n"===h?p+="\n":h="\n":(p+=h+n,h=" ",m=!1)}switch(a.chomp){case"-":break;case"+":for(let e=s;e<l.length;++e)p+="\n"+l[e][0].slice(u);"\n"!==p[p.length-1]&&(p+="\n");break;default:p+="\n"}let g=n+a.length+t.source.length;return{value:p,type:i,comment:a.comment,range:[n,g,g]}}},194920,(e,t,o)=>{"use strict";var r=e.r(826090),n=e.r(570095);function a(e){let t,o;try{t=RegExp("(.*?)(?<![ ])[ ]*\r?\n","sy"),o=RegExp("[ ]*(.*?)(?:(?<![ ])[ ]*)?\r?\n","sy")}catch{t=/(.*?)[ \t]*\r?\n/sy,o=/[ \t]*(.*?)[ \t]*\r?\n/sy}let r=t.exec(e);if(!r)return e;let n=r[1],a=" ",i=t.lastIndex;for(o.lastIndex=i;r=o.exec(e);)""===r[1]?"\n"===a?n+=a:a="\n":(n+=a+r[1],a=" "),i=o.lastIndex;let l=/[ \t]*(.*)/sy;return l.lastIndex=i,r=l.exec(e),n+a+(r?.[1]??"")}let i={0:"\0",a:"\x07",b:"\b",e:"\x1b",f:"\f",n:"\n",r:"\r",t:" ",v:"\v",N:"
",_:" ",L:"\u2028",P:"\u2029"," ":" ",'"':'"',"/":"/","\\":"\\"," ":" "};o.resolveFlowScalar=function(e,t,o){let l,s,{offset:u,type:d,source:c,end:p}=e,h=(e,t,r)=>o(u+e,t,r);switch(d){case"scalar":l=r.Scalar.PLAIN,s=function(e,t){let o="";switch(e[0]){case" ":o="a tab character";break;case",":o="flow indicator character ,";break;case"%":o="directive indicator character %";break;case"|":case">":o=`block scalar indicator ${e[0]}`;break;case"@":case"`":o=`reserved character ${e[0]}`}return o&&t(0,"BAD_SCALAR_START",`Plain value cannot start with ${o}`),a(e)}(c,h);break;case"single-quoted-scalar":var m,g;l=r.Scalar.QUOTE_SINGLE,m=c,g=h,("'"!==m[m.length-1]||1===m.length)&&g(m.length,"MISSING_CHAR","Missing closing 'quote"),s=a(m.slice(1,-1)).replace(/''/g,"'");break;case"double-quoted-scalar":l=r.Scalar.QUOTE_DOUBLE,s=function(e,t){let o="";for(let r=1;r<e.length-1;++r){let n=e[r];if("\r"!==n||"\n"!==e[r+1])if("\n"===n){let{fold:t,offset:n}=function(e,t){let o="",r=e[t+1];for(;(" "===r||" "===r||"\n"===r||"\r"===r)&&("\r"!==r||"\n"===e[t+2]);)"\n"===r&&(o+="\n"),t+=1,r=e[t+1];return o||(o=" "),{fold:o,offset:t}}(e,r);o+=t,r=n}else if("\\"===n){let n=e[++r],a=i[n];if(a)o+=a;else if("\n"===n)for(n=e[r+1];" "===n||" "===n;)n=e[++r+1];else if("\r"===n&&"\n"===e[r+1])for(n=e[++r+1];" "===n||" "===n;)n=e[++r+1];else if("x"===n||"u"===n||"U"===n){let a="x"===n?2:"u"===n?4:8;o+=function(e,t,o,r){let n=e.substr(t,o),a=n.length===o&&/^[0-9a-fA-F]+$/.test(n)?parseInt(n,16):NaN;try{return String.fromCodePoint(a)}catch{let n=e.substr(t-2,o+2);return r(t-2,"BAD_DQ_ESCAPE",`Invalid escape sequence ${n}`),n}}(e,r+1,a,t),r+=a}else{let n=e.substr(r-1,2);t(r-1,"BAD_DQ_ESCAPE",`Invalid escape sequence ${n}`),o+=n}}else if(" "===n||" "===n){let t=r,a=e[r+1];for(;" "===a||" "===a;)a=e[++r+1];"\n"!==a&&("\r"!==a||"\n"!==e[r+2])&&(o+=r>t?e.slice(t,r+1):n)}else o+=n}return('"'!==e[e.length-1]||1===e.length)&&t(e.length,"MISSING_CHAR",'Missing closing "quote'),o}(c,h);break;default:return o(e,"UNEXPECTED_TOKEN",`Expected a flow scalar value, but found: ${d}`),{value:"",type:null,comment:"",range:[u,u+c.length,u+c.length]}}let f=u+c.length,y=n.resolveEnd(p,f,t,o);return{value:s,type:l,comment:y.comment,range:[u,f,y.offset]}}},905141,(e,t,o)=>{"use strict";var r=e.r(767080),n=e.r(826090),a=e.r(776306),i=e.r(194920);o.composeScalar=function(e,t,o,l){let s,u,{value:d,type:c,comment:p,range:h}="block-scalar"===t.type?a.resolveBlockScalar(e,t,l):i.resolveFlowScalar(t,e.options.strict,l),m=o?e.directives.tagName(o.source,e=>l(o,"TAG_RESOLVE_FAILED",e)):null;s=e.options.stringKeys&&e.atKey?e.schema[r.SCALAR]:m?function(e,t,o,n,a){if("!"===o)return e[r.SCALAR];let i=[];for(let t of e.tags)if(!t.collection&&t.tag===o)if(!t.default||!t.test)return t;else i.push(t);for(let e of i)if(e.test?.test(t))return e;let l=e.knownTags[o];return l&&!l.collection?(e.tags.push(Object.assign({},l,{default:!1,test:void 0})),l):(a(n,"TAG_RESOLVE_FAILED",`Unresolved tag: ${o}`,"tag:yaml.org,2002:str"!==o),e[r.SCALAR])}(e.schema,d,m,o,l):"scalar"===t.type?function({atKey:e,directives:t,schema:o},n,a,i){let l=o.tags.find(t=>(!0===t.default||e&&"key"===t.default)&&t.test?.test(n))||o[r.SCALAR];if(o.compat){let e=o.compat.find(e=>e.default&&e.test?.test(n))??o[r.SCALAR];if(l.tag!==e.tag){let o=t.tagString(l.tag),r=t.tagString(e.tag);i(a,"TAG_RESOLVE_FAILED",`Value may be parsed as either ${o} or ${r}`,!0)}}return l}(e,d,t,l):e.schema[r.SCALAR];try{let a=s.resolve(d,e=>l(o??t,"TAG_RESOLVE_FAILED",e),e.options);u=r.isScalar(a)?a:new n.Scalar(a)}catch(e){l(o??t,"TAG_RESOLVE_FAILED",e instanceof Error?e.message:String(e)),u=new n.Scalar(d)}return u.range=h,u.source=d,c&&(u.type=c),m&&(u.tag=m),s.format&&(u.format=s.format),p&&(u.comment=p),u}},843615,(e,t,o)=>{"use strict";o.emptyScalarPosition=function(e,t,o){if(t){o??(o=t.length);for(let r=o-1;r>=0;--r){let o=t[r];switch(o.type){case"space":case"comment":case"newline":e-=o.source.length;continue}for(o=t[++r];o?.type==="space";)e+=o.source.length,o=t[++r];break}}return e}},834090,(e,t,o)=>{"use strict";var r=e.r(917429),n=e.r(767080),a=e.r(555457),i=e.r(905141),l=e.r(570095),s=e.r(843615);let u={composeNode:d,composeEmptyNode:c};function d(e,t,o,s){let d,p=e.atKey,{spaceBefore:h,comment:m,anchor:g,tag:f}=o,y=!0;switch(t.type){case"alias":d=function({options:e},{offset:t,source:o,end:n},a){let i=new r.Alias(o.substring(1));""===i.source&&a(t,"BAD_ALIAS","Alias cannot be an empty string"),i.source.endsWith(":")&&a(t+o.length-1,"BAD_ALIAS","Alias ending in : is ambiguous",!0);let s=t+o.length,u=l.resolveEnd(n,s,e.strict,a);return i.range=[t,s,u.offset],u.comment&&(i.comment=u.comment),i}(e,t,s),(g||f)&&s(t,"ALIAS_PROPS","An alias node must not specify any properties");break;case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":case"block-scalar":d=i.composeScalar(e,t,f,s),g&&(d.anchor=g.source.substring(1));break;case"block-map":case"block-seq":case"flow-collection":try{d=a.composeCollection(u,e,t,o,s),g&&(d.anchor=g.source.substring(1))}catch(e){s(t,"RESOURCE_EXHAUSTION",e instanceof Error?e.message:String(e))}break;default:{let e="error"===t.type?t.message:`Unsupported token (type: ${t.type})`;s(t,"UNEXPECTED_TOKEN",e),y=!1}}return d??(d=c(e,t.offset,void 0,null,o,s)),g&&""===d.anchor&&s(g,"BAD_ALIAS","Anchor cannot be an empty string"),p&&e.options.stringKeys&&(!n.isScalar(d)||"string"!=typeof d.value||d.tag&&"tag:yaml.org,2002:str"!==d.tag)&&s(f??t,"NON_STRING_KEY","With stringKeys, all keys must be strings"),h&&(d.spaceBefore=!0),m&&("scalar"===t.type&&""===t.source?d.comment=m:d.commentBefore=m),e.options.keepSourceTokens&&y&&(d.srcToken=t),d}function c(e,t,o,r,{spaceBefore:n,comment:a,anchor:l,tag:u,end:d},p){let h={type:"scalar",offset:s.emptyScalarPosition(t,o,r),indent:-1,source:""},m=i.composeScalar(e,h,u,p);return l&&(m.anchor=l.source.substring(1),""===m.anchor&&p(l,"BAD_ALIAS","Anchor cannot be an empty string")),n&&(m.spaceBefore=!0),a&&(m.comment=a,m.range[2]=d),m}o.composeEmptyNode=c,o.composeNode=d},66516,(e,t,o)=>{"use strict";var r=e.r(722871),n=e.r(834090),a=e.r(570095),i=e.r(583709);o.composeDoc=function(e,t,{offset:o,start:l,value:s,end:u},d){let c=Object.assign({_directives:t},e),p=new r.Document(void 0,c),h={atKey:!1,atRoot:!0,directives:p.directives,options:p.options,schema:p.schema},m=i.resolveProps(l,{indicator:"doc-start",next:s??u?.[0],offset:o,onError:d,parentIndent:0,startOnNewline:!0});m.found&&(p.directives.docStart=!0,s&&("block-map"===s.type||"block-seq"===s.type)&&!m.hasNewline&&d(m.end,"MISSING_CHAR","Block collection cannot start on same line with directives-end marker")),p.contents=s?n.composeNode(h,s,m,d):n.composeEmptyNode(h,m.end,l,null,m,d);let g=p.contents.range[2],f=a.resolveEnd(u,g,!1,d);return f.comment&&(p.comment=f.comment),p.range=[o,g,f.offset],p}},576214,(e,t,o)=>{"use strict";var r=e.r(605365),n=e.r(954907),a=e.r(722871),i=e.r(809070),l=e.r(767080),s=e.r(66516),u=e.r(570095);function d(e){if("number"==typeof e)return[e,e+1];if(Array.isArray(e))return 2===e.length?e:[e[0],e[1]];let{offset:t,source:o}=e;return[t,t+("string"==typeof o?o.length:1)]}function c(e){let t="",o=!1,r=!1;for(let n=0;n<e.length;++n){let a=e[n];switch(a[0]){case"#":t+=(""===t?"":r?"\n\n":"\n")+(a.substring(1)||" "),o=!0,r=!1;break;case"%":e[n+1]?.[0]!=="#"&&(n+=1),o=!1;break;default:o||(r=!0),o=!1}}return{comment:t,afterEmptyLine:r}}o.Composer=class{constructor(e={}){this.doc=null,this.atDirectives=!1,this.prelude=[],this.errors=[],this.warnings=[],this.onError=(e,t,o,r)=>{let n=d(e);r?this.warnings.push(new i.YAMLWarning(n,t,o)):this.errors.push(new i.YAMLParseError(n,t,o))},this.directives=new n.Directives({version:e.version||"1.2"}),this.options=e}decorate(e,t){let{comment:o,afterEmptyLine:r}=c(this.prelude);if(o){let n=e.contents;if(t)e.comment=e.comment?`${e.comment}
|
|
211
|
+
${o}`:o;else if(r||e.directives.docStart||!n)e.commentBefore=o;else if(l.isCollection(n)&&!n.flow&&n.items.length>0){let e=n.items[0];l.isPair(e)&&(e=e.key);let t=e.commentBefore;e.commentBefore=t?`${o}
|
|
212
|
+
${t}`:o}else{let e=n.commentBefore;n.commentBefore=e?`${o}
|
|
213
|
+
${e}`:o}}if(t){for(let t=0;t<this.errors.length;++t)e.errors.push(this.errors[t]);for(let t=0;t<this.warnings.length;++t)e.warnings.push(this.warnings[t])}else e.errors=this.errors,e.warnings=this.warnings;this.prelude=[],this.errors=[],this.warnings=[]}streamInfo(){return{comment:c(this.prelude).comment,directives:this.directives,errors:this.errors,warnings:this.warnings}}*compose(e,t=!1,o=-1){for(let t of e)yield*this.next(t);yield*this.end(t,o)}*next(e){switch(r.env.LOG_STREAM&&console.dir(e,{depth:null}),e.type){case"directive":this.directives.add(e.source,(t,o,r)=>{let n=d(e);n[0]+=t,this.onError(n,"BAD_DIRECTIVE",o,r)}),this.prelude.push(e.source),this.atDirectives=!0;break;case"document":{let t=s.composeDoc(this.options,this.directives,e,this.onError);this.atDirectives&&!t.directives.docStart&&this.onError(e,"MISSING_CHAR","Missing directives-end/doc-start indicator line"),this.decorate(t,!1),this.doc&&(yield this.doc),this.doc=t,this.atDirectives=!1;break}case"byte-order-mark":case"space":break;case"comment":case"newline":this.prelude.push(e.source);break;case"error":{let t=e.source?`${e.message}: ${JSON.stringify(e.source)}`:e.message,o=new i.YAMLParseError(d(e),"UNEXPECTED_TOKEN",t);this.atDirectives||!this.doc?this.errors.push(o):this.doc.errors.push(o);break}case"doc-end":{if(!this.doc){this.errors.push(new i.YAMLParseError(d(e),"UNEXPECTED_TOKEN","Unexpected doc-end without preceding document"));break}this.doc.directives.docEnd=!0;let t=u.resolveEnd(e.end,e.offset+e.source.length,this.doc.options.strict,this.onError);if(this.decorate(this.doc,!0),t.comment){let e=this.doc.comment;this.doc.comment=e?`${e}
|
|
214
|
+
${t.comment}`:t.comment}this.doc.range[2]=t.offset;break}default:this.errors.push(new i.YAMLParseError(d(e),"UNEXPECTED_TOKEN",`Unsupported token ${e.type}`))}}*end(e=!1,t=-1){if(this.doc)this.decorate(this.doc,!0),yield this.doc,this.doc=null;else if(e){let e=Object.assign({_directives:this.directives},this.options),o=new a.Document(void 0,e);this.atDirectives&&this.onError(t,"MISSING_CHAR","Missing directives-end indicator line"),o.range=[0,t,t],this.decorate(o,!1),yield o}}}},476103,(e,t,o)=>{"use strict";var r=e.r(776306),n=e.r(194920),a=e.r(809070),i=e.r(788433);function l(e,t){if(t)for(let o of t)switch(o.type){case"space":case"comment":e.push(o);break;case"newline":return e.push(o),!0}return!1}function s(e,t,o){switch(e.type){case"scalar":case"double-quoted-scalar":case"single-quoted-scalar":e.type=o,e.source=t;break;case"block-scalar":{let r=e.props.slice(1),n=t.length;for(let t of("block-scalar-header"===e.props[0].type&&(n-=e.props[0].source.length),r))t.offset+=n;delete e.props,Object.assign(e,{type:o,source:t,end:r});break}case"block-map":case"block-seq":{let r={type:"newline",offset:e.offset+t.length,indent:e.indent,source:"\n"};delete e.items,Object.assign(e,{type:o,source:t,end:[r]});break}default:{let r="indent"in e?e.indent:-1,n="end"in e&&Array.isArray(e.end)?e.end.filter(e=>"space"===e.type||"comment"===e.type||"newline"===e.type):[];for(let t of Object.keys(e))"type"!==t&&"offset"!==t&&delete e[t];Object.assign(e,{type:o,indent:r,source:t,end:n})}}}o.createScalarToken=function(e,t){let{implicitKey:o=!1,indent:r,inFlow:n=!1,offset:a=-1,type:s="PLAIN"}=t,u=i.stringifyString({type:s,value:e},{implicitKey:o,indent:r>0?" ".repeat(r):"",inFlow:n,options:{blockQuote:!0,lineWidth:-1}}),d=t.end??[{type:"newline",offset:-1,indent:r,source:"\n"}];switch(u[0]){case"|":case">":{let e=u.indexOf("\n"),t=u.substring(0,e),o=u.substring(e+1)+"\n",n=[{type:"block-scalar-header",offset:a,indent:r,source:t}];return l(n,d)||n.push({type:"newline",offset:-1,indent:r,source:"\n"}),{type:"block-scalar",offset:a,indent:r,props:n,source:o}}case'"':return{type:"double-quoted-scalar",offset:a,indent:r,source:u,end:d};case"'":return{type:"single-quoted-scalar",offset:a,indent:r,source:u,end:d};default:return{type:"scalar",offset:a,indent:r,source:u,end:d}}},o.resolveAsScalar=function(e,t=!0,o){if(e){let i=(e,t,r)=>{let n="number"==typeof e?e:Array.isArray(e)?e[0]:e.offset;if(o)o(n,t,r);else throw new a.YAMLParseError([n,n+1],t,r)};switch(e.type){case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":return n.resolveFlowScalar(e,t,i);case"block-scalar":return r.resolveBlockScalar({options:{strict:t}},e,i)}}return null},o.setScalarValue=function(e,t,o={}){let{afterKey:r=!1,implicitKey:n=!1,inFlow:a=!1,type:u}=o,d="indent"in e?e.indent:null;if(r&&"number"==typeof d&&(d+=2),!u)switch(e.type){case"single-quoted-scalar":u="QUOTE_SINGLE";break;case"double-quoted-scalar":u="QUOTE_DOUBLE";break;case"block-scalar":{let t=e.props[0];if("block-scalar-header"!==t.type)throw Error("Invalid block scalar header");u=">"===t.source[0]?"BLOCK_FOLDED":"BLOCK_LITERAL";break}default:u="PLAIN"}let c=i.stringifyString({type:u,value:t},{implicitKey:n||null===d,indent:null!==d&&d>0?" ".repeat(d):"",inFlow:a,options:{blockQuote:!0,lineWidth:-1}});switch(c[0]){case"|":case">":!function(e,t){let o=t.indexOf("\n"),r=t.substring(0,o),n=t.substring(o+1)+"\n";if("block-scalar"===e.type){let t=e.props[0];if("block-scalar-header"!==t.type)throw Error("Invalid block scalar header");t.source=r,e.source=n}else{let{offset:t}=e,o="indent"in e?e.indent:-1,a=[{type:"block-scalar-header",offset:t,indent:o,source:r}];for(let t of(l(a,"end"in e?e.end:void 0)||a.push({type:"newline",offset:-1,indent:o,source:"\n"}),Object.keys(e)))"type"!==t&&"offset"!==t&&delete e[t];Object.assign(e,{type:"block-scalar",indent:o,props:a,source:n})}}(e,c);break;case'"':s(e,c,"double-quoted-scalar");break;case"'":s(e,c,"single-quoted-scalar");break;default:s(e,c,"scalar")}}},480085,(e,t,o)=>{"use strict";function r(e){switch(e.type){case"block-scalar":{let t="";for(let o of e.props)t+=r(o);return t+e.source}case"block-map":case"block-seq":{let t="";for(let o of e.items)t+=n(o);return t}case"flow-collection":{let t=e.start.source;for(let o of e.items)t+=n(o);for(let o of e.end)t+=o.source;return t}case"document":{let t=n(e);if(e.end)for(let o of e.end)t+=o.source;return t}default:{let t=e.source;if("end"in e&&e.end)for(let o of e.end)t+=o.source;return t}}}function n({start:e,key:t,sep:o,value:a}){let i="";for(let t of e)i+=t.source;if(t&&(i+=r(t)),o)for(let e of o)i+=e.source;return a&&(i+=r(a)),i}o.stringify=e=>"type"in e?r(e):n(e)},81253,(e,t,o)=>{"use strict";let r=Symbol("break visit"),n=Symbol("skip children"),a=Symbol("remove item");function i(e,t){"type"in e&&"document"===e.type&&(e={start:e.start,value:e.value}),function e(t,o,n){let i=n(o,t);if("symbol"==typeof i)return i;for(let l of["key","value"]){let s=o[l];if(s&&"items"in s){for(let o=0;o<s.items.length;++o){let i=e(Object.freeze(t.concat([[l,o]])),s.items[o],n);if("number"==typeof i)o=i-1;else{if(i===r)return r;i===a&&(s.items.splice(o,1),o-=1)}}"function"==typeof i&&"key"===l&&(i=i(o,t))}}return"function"==typeof i?i(o,t):i}(Object.freeze([]),e,t)}i.BREAK=r,i.SKIP=n,i.REMOVE=a,i.itemAtPath=(e,t)=>{let o=e;for(let[e,r]of t){let t=o?.[e];if(!t||!("items"in t))return;o=t.items[r]}return o},i.parentCollection=(e,t)=>{let o=i.itemAtPath(e,t.slice(0,-1)),r=t[t.length-1][0],n=o?.[r];if(n&&"items"in n)return n;throw Error("Parent collection not found")},o.visit=i},350021,(e,t,o)=>{"use strict";var r=e.r(476103),n=e.r(480085),a=e.r(81253);o.createScalarToken=r.createScalarToken,o.resolveAsScalar=r.resolveAsScalar,o.setScalarValue=r.setScalarValue,o.stringify=n.stringify,o.visit=a.visit,o.BOM="\uFEFF",o.DOCUMENT="\x02",o.FLOW_END="\x18",o.SCALAR="\x1f",o.isCollection=e=>!!e&&"items"in e,o.isScalar=e=>!!e&&("scalar"===e.type||"single-quoted-scalar"===e.type||"double-quoted-scalar"===e.type||"block-scalar"===e.type),o.prettyToken=function(e){switch(e){case"\uFEFF":return"<BOM>";case"\x02":return"<DOC>";case"\x18":return"<FLOW_END>";case"\x1f":return"<SCALAR>";default:return JSON.stringify(e)}},o.tokenType=function(e){switch(e){case"\uFEFF":return"byte-order-mark";case"\x02":return"doc-mode";case"\x18":return"flow-error-end";case"\x1f":return"scalar";case"---":return"doc-start";case"...":return"doc-end";case"":case"\n":case"\r\n":return"newline";case"-":return"seq-item-ind";case"?":return"explicit-key-ind";case":":return"map-value-ind";case"{":return"flow-map-start";case"}":return"flow-map-end";case"[":return"flow-seq-start";case"]":return"flow-seq-end";case",":return"comma"}switch(e[0]){case" ":case" ":return"space";case"#":return"comment";case"%":return"directive-line";case"*":return"alias";case"&":return"anchor";case"!":return"tag";case"'":return"single-quoted-scalar";case'"':return"double-quoted-scalar";case"|":case">":return"block-scalar-header"}return null}},457142,(e,t,o)=>{"use strict";var r=e.r(350021);function n(e){switch(e){case void 0:case" ":case"\n":case"\r":case" ":return!0;default:return!1}}let a=new Set("0123456789ABCDEFabcdef"),i=new Set("0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-#;/?:@&=+$_.!~*'()"),l=new Set(",[]{}"),s=new Set(" ,[]{}\n\r "),u=e=>!e||s.has(e);o.Lexer=class{constructor(){this.atEnd=!1,this.blockScalarIndent=-1,this.blockScalarKeep=!1,this.buffer="",this.flowKey=!1,this.flowLevel=0,this.indentNext=0,this.indentValue=0,this.lineEndPos=null,this.next=null,this.pos=0}*lex(e,t=!1){if(e){if("string"!=typeof e)throw TypeError("source is not a string");this.buffer=this.buffer?this.buffer+e:e,this.lineEndPos=null}this.atEnd=!t;let o=this.next??"stream";for(;o&&(t||this.hasChars(1));)o=yield*this.parseNext(o)}atLineEnd(){let e=this.pos,t=this.buffer[e];for(;" "===t||" "===t;)t=this.buffer[++e];return!t||"#"===t||"\n"===t||"\r"===t&&"\n"===this.buffer[e+1]}charAt(e){return this.buffer[this.pos+e]}continueScalar(e){let t=this.buffer[e];if(this.indentNext>0){let o=0;for(;" "===t;)t=this.buffer[++o+e];if("\r"===t){let t=this.buffer[o+e+1];if("\n"===t||!t&&!this.atEnd)return e+o+1}return"\n"!==t&&!(o>=this.indentNext)&&(t||this.atEnd)?-1:e+o}if("-"===t||"."===t){let t=this.buffer.substr(e,3);if(("---"===t||"..."===t)&&n(this.buffer[e+3]))return -1}return e}getLine(){let e=this.lineEndPos;return(("number"!=typeof e||-1!==e&&e<this.pos)&&(e=this.buffer.indexOf("\n",this.pos),this.lineEndPos=e),-1===e)?this.atEnd?this.buffer.substring(this.pos):null:("\r"===this.buffer[e-1]&&(e-=1),this.buffer.substring(this.pos,e))}hasChars(e){return this.pos+e<=this.buffer.length}setNext(e){return this.buffer=this.buffer.substring(this.pos),this.pos=0,this.lineEndPos=null,this.next=e,null}peek(e){return this.buffer.substr(this.pos,e)}*parseNext(e){switch(e){case"stream":return yield*this.parseStream();case"line-start":return yield*this.parseLineStart();case"block-start":return yield*this.parseBlockStart();case"doc":return yield*this.parseDocument();case"flow":return yield*this.parseFlowCollection();case"quoted-scalar":return yield*this.parseQuotedScalar();case"block-scalar":return yield*this.parseBlockScalar();case"plain-scalar":return yield*this.parsePlainScalar()}}*parseStream(){let e=this.getLine();if(null===e)return this.setNext("stream");if(e[0]===r.BOM&&(yield*this.pushCount(1),e=e.substring(1)),"%"===e[0]){let t=e.length,o=e.indexOf("#");for(;-1!==o;){let r=e[o-1];if(" "===r||" "===r){t=o-1;break}o=e.indexOf("#",o+1)}for(;;){let o=e[t-1];if(" "===o||" "===o)t-=1;else break}let r=(yield*this.pushCount(t))+(yield*this.pushSpaces(!0));return yield*this.pushCount(e.length-r),this.pushNewline(),"stream"}if(this.atLineEnd()){let t=yield*this.pushSpaces(!0);return yield*this.pushCount(e.length-t),yield*this.pushNewline(),"stream"}return yield r.DOCUMENT,yield*this.parseLineStart()}*parseLineStart(){let e=this.charAt(0);if(!e&&!this.atEnd)return this.setNext("line-start");if("-"===e||"."===e){if(!this.atEnd&&!this.hasChars(4))return this.setNext("line-start");let e=this.peek(3);if(("---"===e||"..."===e)&&n(this.charAt(3)))return yield*this.pushCount(3),this.indentValue=0,this.indentNext=0,"---"===e?"doc":"stream"}return this.indentValue=yield*this.pushSpaces(!1),this.indentNext>this.indentValue&&!n(this.charAt(1))&&(this.indentNext=this.indentValue),yield*this.parseBlockStart()}*parseBlockStart(){let[e,t]=this.peek(2);if(!t&&!this.atEnd)return this.setNext("block-start");if(("-"===e||"?"===e||":"===e)&&n(t)){let e=(yield*this.pushCount(1))+(yield*this.pushSpaces(!0));return this.indentNext=this.indentValue+1,this.indentValue+=e,"block-start"}return"doc"}*parseDocument(){yield*this.pushSpaces(!0);let e=this.getLine();if(null===e)return this.setNext("doc");let t=yield*this.pushIndicators();switch(e[t]){case"#":yield*this.pushCount(e.length-t);case void 0:return yield*this.pushNewline(),yield*this.parseLineStart();case"{":case"[":return yield*this.pushCount(1),this.flowKey=!1,this.flowLevel=1,"flow";case"}":case"]":return yield*this.pushCount(1),"doc";case"*":return yield*this.pushUntil(u),"doc";case'"':case"'":return yield*this.parseQuotedScalar();case"|":case">":return t+=yield*this.parseBlockScalarHeader(),t+=yield*this.pushSpaces(!0),yield*this.pushCount(e.length-t),yield*this.pushNewline(),yield*this.parseBlockScalar();default:return yield*this.parsePlainScalar()}}*parseFlowCollection(){let e,t,o=-1;do(e=yield*this.pushNewline())>0?(t=yield*this.pushSpaces(!1),this.indentValue=o=t):t=0,t+=yield*this.pushSpaces(!0);while(e+t>0)let a=this.getLine();if(null===a)return this.setNext("flow");if((-1!==o&&o<this.indentNext&&"#"!==a[0]||0===o&&(a.startsWith("---")||a.startsWith("..."))&&n(a[3]))&&(o!==this.indentNext-1||1!==this.flowLevel||"]"!==a[0]&&"}"!==a[0]))return this.flowLevel=0,yield r.FLOW_END,yield*this.parseLineStart();let i=0;for(;","===a[i];)i+=yield*this.pushCount(1),i+=yield*this.pushSpaces(!0),this.flowKey=!1;switch(a[i+=yield*this.pushIndicators()]){case void 0:return"flow";case"#":return yield*this.pushCount(a.length-i),"flow";case"{":case"[":return yield*this.pushCount(1),this.flowKey=!1,this.flowLevel+=1,"flow";case"}":case"]":return yield*this.pushCount(1),this.flowKey=!0,this.flowLevel-=1,this.flowLevel?"flow":"doc";case"*":return yield*this.pushUntil(u),"flow";case'"':case"'":return this.flowKey=!0,yield*this.parseQuotedScalar();case":":{let e=this.charAt(1);if(this.flowKey||n(e)||","===e)return this.flowKey=!1,yield*this.pushCount(1),yield*this.pushSpaces(!0),"flow"}default:return this.flowKey=!1,yield*this.parsePlainScalar()}}*parseQuotedScalar(){let e=this.charAt(0),t=this.buffer.indexOf(e,this.pos+1);if("'"===e)for(;-1!==t&&"'"===this.buffer[t+1];)t=this.buffer.indexOf("'",t+2);else for(;-1!==t;){let e=0;for(;"\\"===this.buffer[t-1-e];)e+=1;if(e%2==0)break;t=this.buffer.indexOf('"',t+1)}let o=this.buffer.substring(0,t),r=o.indexOf("\n",this.pos);if(-1!==r){for(;-1!==r;){let e=this.continueScalar(r+1);if(-1===e)break;r=o.indexOf("\n",e)}-1!==r&&(t=r-("\r"===o[r-1]?2:1))}if(-1===t){if(!this.atEnd)return this.setNext("quoted-scalar");t=this.buffer.length}return yield*this.pushToIndex(t+1,!1),this.flowLevel?"flow":"doc"}*parseBlockScalarHeader(){this.blockScalarIndent=-1,this.blockScalarKeep=!1;let e=this.pos;for(;;){let t=this.buffer[++e];if("+"===t)this.blockScalarKeep=!0;else if(t>"0"&&t<="9")this.blockScalarIndent=Number(t)-1;else if("-"!==t)break}return yield*this.pushUntil(e=>n(e)||"#"===e)}*parseBlockScalar(){let e,t=this.pos-1,o=0;e:for(let r=this.pos;e=this.buffer[r];++r)switch(e){case" ":o+=1;break;case"\n":t=r,o=0;break;case"\r":{let e=this.buffer[r+1];if(!e&&!this.atEnd)return this.setNext("block-scalar");if("\n"===e)break}default:break e}if(!e&&!this.atEnd)return this.setNext("block-scalar");if(o>=this.indentNext){-1===this.blockScalarIndent?this.indentNext=o:this.indentNext=this.blockScalarIndent+(0===this.indentNext?1:this.indentNext);do{let e=this.continueScalar(t+1);if(-1===e)break;t=this.buffer.indexOf("\n",e)}while(-1!==t)if(-1===t){if(!this.atEnd)return this.setNext("block-scalar");t=this.buffer.length}}let n=t+1;for(e=this.buffer[n];" "===e;)e=this.buffer[++n];if(" "===e){for(;" "===e||" "===e||"\r"===e||"\n"===e;)e=this.buffer[++n];t=n-1}else if(!this.blockScalarKeep)for(;;){let e=t-1,r=this.buffer[e];"\r"===r&&(r=this.buffer[--e]);let n=e;for(;" "===r;)r=this.buffer[--e];if("\n"===r&&e>=this.pos&&e+1+o>n)t=e;else break}return yield r.SCALAR,yield*this.pushToIndex(t+1,!0),yield*this.parseLineStart()}*parsePlainScalar(){let e,t=this.flowLevel>0,o=this.pos-1,a=this.pos-1;for(;e=this.buffer[++a];)if(":"===e){let e=this.buffer[a+1];if(n(e)||t&&l.has(e))break;o=a}else if(n(e)){let r=this.buffer[a+1];if("\r"===e&&("\n"===r?(a+=1,e="\n",r=this.buffer[a+1]):o=a),"#"===r||t&&l.has(r))break;if("\n"===e){let e=this.continueScalar(a+1);if(-1===e)break;a=Math.max(a,e-2)}}else{if(t&&l.has(e))break;o=a}return e||this.atEnd?(yield r.SCALAR,yield*this.pushToIndex(o+1,!0),t?"flow":"doc"):this.setNext("plain-scalar")}*pushCount(e){return e>0?(yield this.buffer.substr(this.pos,e),this.pos+=e,e):0}*pushToIndex(e,t){let o=this.buffer.slice(this.pos,e);return o?(yield o,this.pos+=o.length,o.length):(t&&(yield""),0)}*pushIndicators(){let e=0;for(;;){switch(this.charAt(0)){case"!":e+=yield*this.pushTag(),e+=yield*this.pushSpaces(!0);continue;case"&":e+=yield*this.pushUntil(u),e+=yield*this.pushSpaces(!0);continue;case"-":case"?":case":":{let t=this.flowLevel>0,o=this.charAt(1);if(n(o)||t&&l.has(o)){t?this.flowKey&&(this.flowKey=!1):this.indentNext=this.indentValue+1,e+=yield*this.pushCount(1),e+=yield*this.pushSpaces(!0);continue}}}break}return e}*pushTag(){if("<"===this.charAt(1)){let e=this.pos+2,t=this.buffer[e];for(;!n(t)&&">"!==t;)t=this.buffer[++e];return yield*this.pushToIndex(">"===t?e+1:e,!1)}{let e=this.pos+1,t=this.buffer[e];for(;t;)if(i.has(t))t=this.buffer[++e];else if("%"===t&&a.has(this.buffer[e+1])&&a.has(this.buffer[e+2]))t=this.buffer[e+=3];else break;return yield*this.pushToIndex(e,!1)}}*pushNewline(){let e=this.buffer[this.pos];return"\n"===e?yield*this.pushCount(1):"\r"===e&&"\n"===this.charAt(1)?yield*this.pushCount(2):0}*pushSpaces(e){let t,o=this.pos-1;do t=this.buffer[++o];while(" "===t||e&&" "===t)let r=o-this.pos;return r>0&&(yield this.buffer.substr(this.pos,r),this.pos=o),r}*pushUntil(e){let t=this.pos,o=this.buffer[t];for(;!e(o);)o=this.buffer[++t];return yield*this.pushToIndex(t,!1)}}},884462,(e,t,o)=>{"use strict";o.LineCounter=class{constructor(){this.lineStarts=[],this.addNewLine=e=>this.lineStarts.push(e),this.linePos=e=>{let t=0,o=this.lineStarts.length;for(;t<o;){let r=t+o>>1;this.lineStarts[r]<e?t=r+1:o=r}if(this.lineStarts[t]===e)return{line:t+1,col:1};if(0===t)return{line:0,col:e};let r=this.lineStarts[t-1];return{line:t,col:e-r+1}}}}},765038,(e,t,o)=>{"use strict";var r=e.r(605365),n=e.r(350021),a=e.r(457142);function i(e,t){for(let o=0;o<e.length;++o)if(e[o].type===t)return!0;return!1}function l(e){for(let t=0;t<e.length;++t)switch(e[t].type){case"space":case"comment":case"newline":break;default:return t}return -1}function s(e){switch(e?.type){case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":case"flow-collection":return!0;default:return!1}}function u(e){switch(e.type){case"document":return e.start;case"block-map":{let t=e.items[e.items.length-1];return t.sep??t.start}case"block-seq":return e.items[e.items.length-1].start;default:return[]}}function d(e){if(0===e.length)return[];let t=e.length;e:for(;--t>=0;)switch(e[t].type){case"doc-start":case"explicit-key-ind":case"map-value-ind":case"seq-item-ind":case"newline":break e}for(;e[++t]?.type==="space";);return e.splice(t,e.length)}function c(e,t){if(t.length<1e5)Array.prototype.push.apply(e,t);else for(let o=0;o<t.length;++o)e.push(t[o])}function p(e){if("flow-seq-start"===e.start.type)for(let t of e.items)!t.sep||t.value||i(t.start,"explicit-key-ind")||i(t.sep,"map-value-ind")||(t.key&&(t.value=t.key),delete t.key,s(t.value)?t.value.end?c(t.value.end,t.sep):t.value.end=t.sep:c(t.start,t.sep),delete t.sep)}o.Parser=class{constructor(e){this.atNewLine=!0,this.atScalar=!1,this.indent=0,this.offset=0,this.onKeyLine=!1,this.stack=[],this.source="",this.type="",this.lexer=new a.Lexer,this.onNewLine=e}*parse(e,t=!1){for(let o of(this.onNewLine&&0===this.offset&&this.onNewLine(0),this.lexer.lex(e,t)))yield*this.next(o);t||(yield*this.end())}*next(e){if(this.source=e,r.env.LOG_TOKENS&&console.log("|",n.prettyToken(e)),this.atScalar){this.atScalar=!1,yield*this.step(),this.offset+=e.length;return}let t=n.tokenType(e);if(t)if("scalar"===t)this.atNewLine=!1,this.atScalar=!0,this.type="scalar";else{switch(this.type=t,yield*this.step(),t){case"newline":this.atNewLine=!0,this.indent=0,this.onNewLine&&this.onNewLine(this.offset+e.length);break;case"space":this.atNewLine&&" "===e[0]&&(this.indent+=e.length);break;case"explicit-key-ind":case"map-value-ind":case"seq-item-ind":this.atNewLine&&(this.indent+=e.length);break;case"doc-mode":case"flow-error-end":return;default:this.atNewLine=!1}this.offset+=e.length}else{let t=`Not a YAML token: ${e}`;yield*this.pop({type:"error",offset:this.offset,message:t,source:e}),this.offset+=e.length}}*end(){for(;this.stack.length>0;)yield*this.pop()}get sourceToken(){return{type:this.type,offset:this.offset,indent:this.indent,source:this.source}}*step(){let e=this.peek(1);if("doc-end"===this.type&&e?.type!=="doc-end"){for(;this.stack.length>0;)yield*this.pop();this.stack.push({type:"doc-end",offset:this.offset,source:this.source});return}if(!e)return yield*this.stream();switch(e.type){case"document":return yield*this.document(e);case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":return yield*this.scalar(e);case"block-scalar":return yield*this.blockScalar(e);case"block-map":return yield*this.blockMap(e);case"block-seq":return yield*this.blockSequence(e);case"flow-collection":return yield*this.flowCollection(e);case"doc-end":return yield*this.documentEnd(e)}yield*this.pop()}peek(e){return this.stack[this.stack.length-e]}*pop(e){let t=e??this.stack.pop();if(t)if(0===this.stack.length)yield t;else{let e=this.peek(1);switch("block-scalar"===t.type?t.indent="indent"in e?e.indent:0:"flow-collection"===t.type&&"document"===e.type&&(t.indent=0),"flow-collection"===t.type&&p(t),e.type){case"document":e.value=t;break;case"block-scalar":e.props.push(t);break;case"block-map":{let o=e.items[e.items.length-1];if(o.value){e.items.push({start:[],key:t,sep:[]}),this.onKeyLine=!0;return}if(o.sep)o.value=t;else{Object.assign(o,{key:t,sep:[]}),this.onKeyLine=!o.explicitKey;return}break}case"block-seq":{let o=e.items[e.items.length-1];o.value?e.items.push({start:[],value:t}):o.value=t;break}case"flow-collection":{let o=e.items[e.items.length-1];!o||o.value?e.items.push({start:[],key:t,sep:[]}):o.sep?o.value=t:Object.assign(o,{key:t,sep:[]});return}default:yield*this.pop(),yield*this.pop(t)}if(("document"===e.type||"block-map"===e.type||"block-seq"===e.type)&&("block-map"===t.type||"block-seq"===t.type)){let o=t.items[t.items.length-1];o&&!o.sep&&!o.value&&o.start.length>0&&-1===l(o.start)&&(0===t.indent||o.start.every(e=>"comment"!==e.type||e.indent<t.indent))&&("document"===e.type?e.end=o.start:e.items.push({start:o.start}),t.items.splice(-1,1))}}else yield{type:"error",offset:this.offset,source:"",message:"Tried to pop an empty stack"}}*stream(){switch(this.type){case"directive-line":yield{type:"directive",offset:this.offset,source:this.source};return;case"byte-order-mark":case"space":case"comment":case"newline":yield this.sourceToken;return;case"doc-mode":case"doc-start":{let e={type:"document",offset:this.offset,start:[]};"doc-start"===this.type&&e.start.push(this.sourceToken),this.stack.push(e);return}}yield{type:"error",offset:this.offset,message:`Unexpected ${this.type} token in YAML stream`,source:this.source}}*document(e){if(e.value)return yield*this.lineEnd(e);switch(this.type){case"doc-start":-1!==l(e.start)?(yield*this.pop(),yield*this.step()):e.start.push(this.sourceToken);return;case"anchor":case"tag":case"space":case"comment":case"newline":e.start.push(this.sourceToken);return}let t=this.startBlockValue(e);t?this.stack.push(t):yield{type:"error",offset:this.offset,message:`Unexpected ${this.type} token in YAML document`,source:this.source}}*scalar(e){if("map-value-ind"===this.type){let t,o=d(u(this.peek(2)));e.end?((t=e.end).push(this.sourceToken),delete e.end):t=[this.sourceToken];let r={type:"block-map",offset:e.offset,indent:e.indent,items:[{start:o,key:e,sep:t}]};this.onKeyLine=!0,this.stack[this.stack.length-1]=r}else yield*this.lineEnd(e)}*blockScalar(e){switch(this.type){case"space":case"comment":case"newline":e.props.push(this.sourceToken);return;case"scalar":if(e.source=this.source,this.atNewLine=!0,this.indent=0,this.onNewLine){let e=this.source.indexOf("\n")+1;for(;0!==e;)this.onNewLine(this.offset+e),e=this.source.indexOf("\n",e)+1}yield*this.pop();break;default:yield*this.pop(),yield*this.step()}}*blockMap(e){let t=e.items[e.items.length-1];switch(this.type){case"newline":if(this.onKeyLine=!1,t.value){let o="end"in t.value?t.value.end:void 0,r=Array.isArray(o)?o[o.length-1]:void 0;r?.type==="comment"?o?.push(this.sourceToken):e.items.push({start:[this.sourceToken]})}else t.sep?t.sep.push(this.sourceToken):t.start.push(this.sourceToken);return;case"space":case"comment":if(t.value)e.items.push({start:[this.sourceToken]});else if(t.sep)t.sep.push(this.sourceToken);else{if(this.atIndentedComment(t.start,e.indent)){let o=e.items[e.items.length-2],r=o?.value?.end;if(Array.isArray(r)){c(r,t.start),r.push(this.sourceToken),e.items.pop();return}}t.start.push(this.sourceToken)}return}if(this.indent>=e.indent){let o=!this.onKeyLine&&this.indent===e.indent,r=o&&(t.sep||t.explicitKey)&&"seq-item-ind"!==this.type,n=[];if(r&&t.sep&&!t.value){let o=[];for(let r=0;r<t.sep.length;++r){let n=t.sep[r];switch(n.type){case"newline":o.push(r);break;case"space":break;case"comment":n.indent>e.indent&&(o.length=0);break;default:o.length=0}}o.length>=2&&(n=t.sep.splice(o[1]))}switch(this.type){case"anchor":case"tag":r||t.value?(n.push(this.sourceToken),e.items.push({start:n}),this.onKeyLine=!0):t.sep?t.sep.push(this.sourceToken):t.start.push(this.sourceToken);return;case"explicit-key-ind":t.sep||t.explicitKey?r||t.value?(n.push(this.sourceToken),e.items.push({start:n,explicitKey:!0})):this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:[this.sourceToken],explicitKey:!0}]}):(t.start.push(this.sourceToken),t.explicitKey=!0),this.onKeyLine=!0;return;case"map-value-ind":if(t.explicitKey)if(t.sep)if(t.value)e.items.push({start:[],key:null,sep:[this.sourceToken]});else if(i(t.sep,"map-value-ind"))this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:n,key:null,sep:[this.sourceToken]}]});else if(s(t.key)&&!i(t.sep,"newline")){let e=d(t.start),o=t.key,r=t.sep;r.push(this.sourceToken),delete t.key,delete t.sep,this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:e,key:o,sep:r}]})}else n.length>0?t.sep=t.sep.concat(n,this.sourceToken):t.sep.push(this.sourceToken);else if(i(t.start,"newline"))Object.assign(t,{key:null,sep:[this.sourceToken]});else{let e=d(t.start);this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:e,key:null,sep:[this.sourceToken]}]})}else t.sep?t.value||r?e.items.push({start:n,key:null,sep:[this.sourceToken]}):i(t.sep,"map-value-ind")?this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:[],key:null,sep:[this.sourceToken]}]}):t.sep.push(this.sourceToken):Object.assign(t,{key:null,sep:[this.sourceToken]});this.onKeyLine=!0;return;case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":{let o=this.flowScalar(this.type);r||t.value?(e.items.push({start:n,key:o,sep:[]}),this.onKeyLine=!0):t.sep?this.stack.push(o):(Object.assign(t,{key:o,sep:[]}),this.onKeyLine=!0);return}default:{let r=this.startBlockValue(e);if(r){if("block-seq"===r.type){if(!t.explicitKey&&t.sep&&!i(t.sep,"newline"))return void(yield*this.pop({type:"error",offset:this.offset,message:"Unexpected block-seq-ind on same line with key",source:this.source}))}else o&&e.items.push({start:n});this.stack.push(r);return}}}}yield*this.pop(),yield*this.step()}*blockSequence(e){let t=e.items[e.items.length-1];switch(this.type){case"newline":if(t.value){let o="end"in t.value?t.value.end:void 0,r=Array.isArray(o)?o[o.length-1]:void 0;r?.type==="comment"?o?.push(this.sourceToken):e.items.push({start:[this.sourceToken]})}else t.start.push(this.sourceToken);return;case"space":case"comment":if(t.value)e.items.push({start:[this.sourceToken]});else{if(this.atIndentedComment(t.start,e.indent)){let o=e.items[e.items.length-2],r=o?.value?.end;if(Array.isArray(r)){c(r,t.start),r.push(this.sourceToken),e.items.pop();return}}t.start.push(this.sourceToken)}return;case"anchor":case"tag":if(t.value||this.indent<=e.indent)break;t.start.push(this.sourceToken);return;case"seq-item-ind":if(this.indent!==e.indent)break;t.value||i(t.start,"seq-item-ind")?e.items.push({start:[this.sourceToken]}):t.start.push(this.sourceToken);return}if(this.indent>e.indent){let t=this.startBlockValue(e);if(t)return void this.stack.push(t)}yield*this.pop(),yield*this.step()}*flowCollection(e){let t=e.items[e.items.length-1];if("flow-error-end"===this.type){let e;do yield*this.pop(),e=this.peek(1);while(e?.type==="flow-collection")}else if(0===e.end.length){switch(this.type){case"comma":case"explicit-key-ind":!t||t.sep?e.items.push({start:[this.sourceToken]}):t.start.push(this.sourceToken);return;case"map-value-ind":!t||t.value?e.items.push({start:[],key:null,sep:[this.sourceToken]}):t.sep?t.sep.push(this.sourceToken):Object.assign(t,{key:null,sep:[this.sourceToken]});return;case"space":case"comment":case"newline":case"anchor":case"tag":!t||t.value?e.items.push({start:[this.sourceToken]}):t.sep?t.sep.push(this.sourceToken):t.start.push(this.sourceToken);return;case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":{let o=this.flowScalar(this.type);!t||t.value?e.items.push({start:[],key:o,sep:[]}):t.sep?this.stack.push(o):Object.assign(t,{key:o,sep:[]});return}case"flow-map-end":case"flow-seq-end":e.end.push(this.sourceToken);return}let o=this.startBlockValue(e);o?this.stack.push(o):(yield*this.pop(),yield*this.step())}else{let t=this.peek(2);if("block-map"!==t.type||("map-value-ind"!==this.type||t.indent!==e.indent)&&("newline"!==this.type||t.items[t.items.length-1].sep))if("map-value-ind"===this.type&&"flow-collection"!==t.type){let o=d(u(t));p(e);let r=e.end.splice(1,e.end.length);r.push(this.sourceToken);let n={type:"block-map",offset:e.offset,indent:e.indent,items:[{start:o,key:e,sep:r}]};this.onKeyLine=!0,this.stack[this.stack.length-1]=n}else yield*this.lineEnd(e);else yield*this.pop(),yield*this.step()}}flowScalar(e){if(this.onNewLine){let e=this.source.indexOf("\n")+1;for(;0!==e;)this.onNewLine(this.offset+e),e=this.source.indexOf("\n",e)+1}return{type:e,offset:this.offset,indent:this.indent,source:this.source}}startBlockValue(e){switch(this.type){case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":return this.flowScalar(this.type);case"block-scalar-header":return{type:"block-scalar",offset:this.offset,indent:this.indent,props:[this.sourceToken],source:""};case"flow-map-start":case"flow-seq-start":return{type:"flow-collection",offset:this.offset,indent:this.indent,start:this.sourceToken,items:[],end:[]};case"seq-item-ind":return{type:"block-seq",offset:this.offset,indent:this.indent,items:[{start:[this.sourceToken]}]};case"explicit-key-ind":{this.onKeyLine=!0;let t=d(u(e));return t.push(this.sourceToken),{type:"block-map",offset:this.offset,indent:this.indent,items:[{start:t,explicitKey:!0}]}}case"map-value-ind":{this.onKeyLine=!0;let t=d(u(e));return{type:"block-map",offset:this.offset,indent:this.indent,items:[{start:t,key:null,sep:[this.sourceToken]}]}}}return null}atIndentedComment(e,t){return"comment"===this.type&&!(this.indent<=t)&&e.every(e=>"newline"===e.type||"space"===e.type)}*documentEnd(e){"doc-mode"!==this.type&&(e.end?e.end.push(this.sourceToken):e.end=[this.sourceToken],"newline"===this.type&&(yield*this.pop()))}*lineEnd(e){switch(this.type){case"comma":case"doc-start":case"doc-end":case"flow-seq-end":case"flow-map-end":case"map-value-ind":yield*this.pop(),yield*this.step();break;case"newline":this.onKeyLine=!1;default:e.end?e.end.push(this.sourceToken):e.end=[this.sourceToken],"newline"===this.type&&(yield*this.pop())}}}},130560,(e,t,o)=>{"use strict";var r=e.r(576214),n=e.r(722871),a=e.r(809070),i=e.r(250202),l=e.r(767080),s=e.r(884462),u=e.r(765038);function d(e){let t=!1!==e.prettyErrors;return{lineCounter:e.lineCounter||t&&new s.LineCounter||null,prettyErrors:t}}function c(e,t={}){let{lineCounter:o,prettyErrors:n}=d(t),i=new u.Parser(o?.addNewLine),l=new r.Composer(t),s=null;for(let t of l.compose(i.parse(e),!0,e.length))if(s){if("silent"!==s.options.logLevel){s.errors.push(new a.YAMLParseError(t.range.slice(0,2),"MULTIPLE_DOCS","Source contains multiple documents; please use YAML.parseAllDocuments()"));break}}else s=t;return n&&o&&(s.errors.forEach(a.prettifyError(e,o)),s.warnings.forEach(a.prettifyError(e,o))),s}o.parse=function(e,t,o){let r;"function"==typeof t?r=t:void 0===o&&t&&"object"==typeof t&&(o=t);let n=c(e,o);if(!n)return null;if(n.warnings.forEach(e=>i.warn(n.options.logLevel,e)),n.errors.length>0)if("silent"!==n.options.logLevel)throw n.errors[0];else n.errors=[];return n.toJS(Object.assign({reviver:r},o))},o.parseAllDocuments=function(e,t={}){let{lineCounter:o,prettyErrors:n}=d(t),i=new u.Parser(o?.addNewLine),l=new r.Composer(t),s=Array.from(l.compose(i.parse(e)));if(n&&o)for(let t of s)t.errors.forEach(a.prettifyError(e,o)),t.warnings.forEach(a.prettifyError(e,o));return s.length>0?s:Object.assign([],{empty:!0},l.streamInfo())},o.parseDocument=c,o.stringify=function(e,t,o){let r=null;if("function"==typeof t||Array.isArray(t)?r=t:void 0===o&&t&&(o=t),"string"==typeof o&&(o=o.length),"number"==typeof o){let e=Math.round(o);o=e<1?void 0:e>8?{indent:8}:{indent:e}}if(void 0===e){let{keepUndefined:e}=o??t??{};if(!e)return}return l.isDocument(e)&&!r?e.toString(o):new n.Document(e,r,o).toString(o)}},891906,(e,t,o)=>{"use strict";var r=e.r(576214),n=e.r(722871),a=e.r(891485),i=e.r(809070),l=e.r(917429),s=e.r(767080),u=e.r(812735),d=e.r(826090),c=e.r(976970),p=e.r(379482),h=e.r(350021),m=e.r(457142),g=e.r(884462),f=e.r(765038),y=e.r(130560),v=e.r(341141);o.Composer=r.Composer,o.Document=n.Document,o.Schema=a.Schema,o.YAMLError=i.YAMLError,o.YAMLParseError=i.YAMLParseError,o.YAMLWarning=i.YAMLWarning,o.Alias=l.Alias,o.isAlias=s.isAlias,o.isCollection=s.isCollection,o.isDocument=s.isDocument,o.isMap=s.isMap,o.isNode=s.isNode,o.isPair=s.isPair,o.isScalar=s.isScalar,o.isSeq=s.isSeq,o.Pair=u.Pair,o.Scalar=d.Scalar,o.YAMLMap=c.YAMLMap,o.YAMLSeq=p.YAMLSeq,o.CST=h,o.Lexer=m.Lexer,o.LineCounter=g.LineCounter,o.Parser=f.Parser,o.parse=y.parse,o.parseAllDocuments=y.parseAllDocuments,o.parseDocument=y.parseDocument,o.stringify=y.stringify,o.visit=v.visit,o.visitAsync=v.visitAsync},343229,202837,e=>{"use strict";var t=e.i(750227),o=e.i(333925),r=e.i(938281),n=e.i(64774);e.i(912714);var a=e.i(891906),i=e.i(853205);i.z.enum(["custom","default"]);let l=i.z.string().trim().min(1,"Skill name is required").max(64,"Skill name is too long").regex(/^[a-z0-9][a-z0-9_-]*$/i,"Use letters, numbers, dashes and underscores only"),s=i.z.object({name:l,description:i.z.string().trim().min(1,"Description is required"),disabled:i.z.boolean().optional()});s.extend({content:i.z.string().trim().min(1,"Content is required")}),i.z.object({fileName:i.z.string().trim().min(1),base64:i.z.string().min(1)});var u=e.i(212389);function d(e){let t=e.match(/^---\r?\n([\s\S]*?)\r?\n---\r?\n?/);if(!t)return{head:null,body:e.trim(),rest:e,fence:""};let o=e.slice(t[0].length);return{head:t[1]??null,body:o.trim(),rest:o,fence:t[0]}}function c(e){let t,{head:o}=d(e);o||(0,u.publicError)("SKILL.md needs a YAML block with name and description");try{t=(0,a.parse)(o)}catch{(0,u.publicError)("SKILL.md frontmatter is not valid YAML")}let r=s.safeParse(t);return r.success||(0,u.publicError)(`SKILL.md frontmatter: ${r.error.issues[0]?.message??"invalid"}`),r.data}(0,t.resolve)(o.APP_DIR,o.PATHS.skills.default),(0,t.resolve)(o.DATA_DIR,o.PATHS.skills.custom),e.s(["parseFrontmatter",0,c,"splitFrontmatter",0,d],202837);let p=[(0,t.join)(o.APP_DIR,o.PATHS.skills.default),(0,t.join)(o.DATA_DIR,o.PATHS.skills.custom)];async function h(e,t){let o=[],a=new Set;for(let i of t){let t;try{t=await e.readdir(i,{withFileTypes:!0})}catch{continue}for(let l of t){let t,s;if(!l.isDirectory())continue;let u=`${i}/${l.name}`,d=`${u}/SKILL.md`;try{t=await e.readFile(d,"utf-8")}catch{continue}try{s=c(t)}catch(e){r.logger.warn(`skill ${u}: SKILL.md front matter did not load — ${(0,n.errorToString)(e)}`);continue}!a.has(s.name)&&(a.add(s.name),s.disabled||o.push({name:s.name,description:s.description,path:u}))}}return o}e.s(["loadSkills",0,e=>h(e,p)],343229)}];
|
|
215
|
+
|
|
216
|
+
//# sourceMappingURL=_06c9kie._.js.map
|