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
|
@@ -1,121 +1,100 @@
|
|
|
1
|
-
module.exports=[652619,a=>a.a(async(b,c)=>{try{var d=a.i(666680),e=a.i(347299),f=a.i(345364),g=a.i(47919),h=a.i(868468),i=a.i(53112),j=a.i(203469),k=a.i(569572),l=a.i(725466),m=a.i(176668),n=a.i(523095),o=a.i(293480),p=a.i(8412),q=a.i(182248),r=a.i(689656),s=b([l]);[l]=s.then?(await s)():s;let C="app_EMoamEEZ73f0CkXaXp7hrann",D="http://localhost:1455/auth/callback",E=["127.0.0.1","::1"],F="thursday",{apiKeyName:G,label:H}=r.TEXT_MODEL_PROVIDERS.chatgpt,I=`${H} is not signed in — sign in from Config.`,J=i.z.object({access:i.z.string().min(1),refresh:i.z.string().min(1),expires:i.z.number(),accountId:i.z.string().min(1),plan:i.z.string().nullable()}),K=globalThis,L=K.__chatgptRenewal??=(0,p.createKeyedLock)();async function t(){u();let a=(0,d.randomBytes)(32).toString("base64url"),b=(0,d.randomBytes)(16).toString("hex"),c=[],f=(d,e)=>{v(d.url??"/",{state:b,verifier:a}).then(a=>{e.writeHead(a.status,{"content-type":"text/html; charset=utf-8"}),e.end((0,n.oauthPage)(a.title,a.detail,{autoClose:200===a.status}),()=>{a.last&&K.__chatgptListeners===c&&u()})})};for(let a of E){let b=(0,e.createServer)(f),d=await new Promise(c=>{b.once("error",c),b.listen(1455,a,()=>c(null))});if(!d){c.push(b);continue}if("EADDRNOTAVAIL"!==d.code&&"EAFNOSUPPORT"!==d.code){for(let a of c)a.close();(0,o.publicError)("EADDRINUSE"===d.code?"Port 1455 is in use by another app — often a ChatGPT or Codex sign-in still waiting. Finish or close it, then try again.":`Could not wait for the sign-in: ${(0,q.errorToString)(d)}`)}}K.__chatgptListeners=c,setTimeout(()=>{K.__chatgptListeners===c&&u()},k.CHATGPT_SIGN_IN.waitMs).unref();let g=new URL("https://auth.openai.com/oauth/authorize");return g.search=new URLSearchParams({response_type:"code",client_id:C,redirect_uri:D,scope:"openid profile email offline_access",code_challenge:(0,d.createHash)("sha256").update(a).digest("base64url"),code_challenge_method:"S256",state:b,id_token_add_organizations:"true",codex_cli_simplified_flow:"true",originator:F}).toString(),g.toString()}function u(){let a=K.__chatgptListeners;for(let b of(K.__chatgptListeners=null,a??[]))b.close(),b.closeIdleConnections()}async function v(a,b){let c=new URL(a,D);if("/auth/callback"!==c.pathname)return{status:404,title:"Not found",detail:"",last:!1};let d=c.searchParams.get("error");if(d){let a=c.searchParams.get("error_description");return{status:400,title:"Sign-in failed",detail:a?`${d}: ${a}`:d,last:!0}}let e=c.searchParams.get("code");if(!e||c.searchParams.get("state")!==b.state)return{status:400,title:"Sign-in failed",detail:"This is not the sign-in that was started. Start again from Config.",last:!1};try{let a=await w({grant_type:"authorization_code",code:e,code_verifier:b.verifier,redirect_uri:D});return await (0,l.writeConfig)(G,JSON.stringify(a)),j.appEvents.emit({type:"config"}),{status:200,title:"Signed in to ChatGPT",detail:"Bots can run on your plan now. This window closes itself.",last:!0}}catch(a){return m.logger.warn({cause:a},"chatgpt sign-in failed"),{status:502,title:"Sign-in failed",detail:(0,q.errorToString)(a),last:!0}}}async function w(a){let b=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:C,...a})}).catch(a=>{m.logger.warn({cause:a},"chatgpt token endpoint unreachable"),(0,o.publicError)("Could not reach ChatGPT's sign-in")}),c=await b.json().catch(()=>null),d=c?.access_token;if(!b.ok||!d){let a=c?.error,d="string"==typeof a?[a,c?.error_description].filter(Boolean).join(": "):a?.message??a?.code??"";(0,o.publicError)(`ChatGPT's sign-in answered ${b.status}${d?`: ${d}`:""}`)}let e=function(a){try{let b=JSON.parse(Buffer.from(a.split(".")[1]??"","base64url").toString("utf8")),c=b["https://api.openai.com/auth"]??{};return{accountId:"string"==typeof c.chatgpt_account_id?c.chatgpt_account_id:null,plan:"string"==typeof c.chatgpt_plan_type?c.chatgpt_plan_type:null,expires:"number"==typeof b.exp?1e3*b.exp:null}}catch{return{accountId:null,plan:null,expires:null}}}(d),f=c?.refresh_token??a.refresh_token;e.accountId&&f||(0,o.publicError)("ChatGPT's sign-in came back without an account");let g=c?.expires_in;return{access:d,refresh:f,expires:"number"==typeof g?Date.now()+1e3*g:e.expires??Date.now(),accountId:e.accountId,plan:e.plan}}async function x(){let a=await (0,l.readConfig)(G);if(!a)return null;try{return J.parse(JSON.parse(a))}catch{return null}}let M=a=>a.expires-k.CHATGPT_SIGN_IN.renewBeforeMs<=Date.now();async function y(){let a=await x();return(a||(0,o.publicError)(I),M(a))?L(G,async()=>{let a=await x();if(a||(0,o.publicError)(I),!M(a))return a;try{let b=await w({grant_type:"refresh_token",refresh_token:a.refresh});return await (0,l.writeConfig)(G,JSON.stringify(b)),b}catch(a){(0,o.publicError)(`Could not renew the ${H} sign-in (${(0,q.errorToString)(a)}). If it keeps failing, sign in again from Config.`)}}):a}async function z(a,b){let c=await y(),d=new Headers(b?.headers);if(d.set("authorization",`Bearer ${c.access}`),d.set("chatgpt-account-id",c.accountId),d.set("originator",F),b?.method!=="POST"||"string"!=typeof b.body||!String(a).endsWith("/responses"))return fetch(a,{...b,headers:d});let e=JSON.parse(b.body),f=!0===e.stream,g=[];e.input=(e.input??[]).filter(a=>"system"!==a.role&&"developer"!==a.role||(g.push("string"==typeof a.content?a.content:(a.content??[]).map(a=>a.text??"").join("\n")),!1)),e.instructions=[e.instructions,...g].filter(Boolean).join("\n\n")||"You are a helpful assistant.",e.store=!1,e.stream=!0,e.max_output_tokens=void 0,d.set("accept","text/event-stream");let h=await fetch(a,{...b,headers:d,body:JSON.stringify(e)});return 429===h.status?A(h):f||!h.ok?h:B(h)}async function A(a){let b=await a.text(),c={};try{c=JSON.parse(b).error??{}}catch{}if(!/usage_limit_reached|usage_not_included/.test(`${c.code} ${c.type}`)){let c=a.headers.get("retry-after");return new Response(b,{status:429,headers:{"content-type":"application/json",...c?{"retry-after":c}:{}}})}let d=c.resets_at?1e3*c.resets_at:c.resets_in_seconds?Date.now()+1e3*c.resets_in_seconds:null,e=c.plan_type?` on the ${c.plan_type} plan`:"",f=d?` It resets in ${(0,h.formatDistanceToNowStrict)(d)}.`:"";return Response.json({error:{message:`${H} usage limit reached${e}.${f}`,code:c.code??c.type}},{status:402})}async function B(a){let b=[],c=null,d=null;for(let e of(await a.text()).replaceAll("\r\n","\n").split("\n\n")){let a,f=e.split("\n").filter(a=>a.startsWith("data:")).map(a=>a.slice(5).trimStart()).join("\n");if(f&&"[DONE]"!==f){try{a=JSON.parse(f)}catch{continue}"response.output_item.done"===a.type?b.push(a.item):"response.completed"===a.type||"response.incomplete"===a.type?c=a.response??{}:"response.failed"===a.type?d=a.response?.error??{message:"The response failed"}:"error"===a.type&&(d={code:a.code,message:a.message})}}return d||!c?Response.json({error:{message:d?.message??"The stream ended before the response finished",code:d?.code}},{status:d?.code==="context_length_exceeded"?400:500}):Response.json({...c,output:c.output?.length?c.output:b})}a.s(["chatGptModel",0,function(a){let b=(0,f.createOpenAI)({baseURL:"https://chatgpt.com/backend-api/codex",apiKey:"signed-in",headers:{"OpenAI-Beta":"responses=experimental"},fetch:z}),c=(0,d.randomUUID)();return(0,g.wrapLanguageModel)({model:b.responses(a),middleware:{transformParams:async({params:a})=>({...a,providerOptions:{...a.providerOptions,openai:{promptCacheKey:c,...a.providerOptions?.openai,store:!1}}})}})},"startChatGptSignIn",0,t]),c()}catch(a){c(a)}},!1),738131,a=>a.a(async(b,c)=>{try{var d=a.i(527990),e=a.i(868468),f=a.i(569572),g=a.i(938934),h=a.i(978876),i=a.i(375827),j=a.i(138902),k=a.i(345846),l=a.i(622547),m=a.i(451017),n=a.i(762008),o=a.i(547613),p=a.i(446957),q=a.i(138100),r=a.i(569549),s=a.i(821415),t=a.i(706210),u=a.i(176668),v=a.i(987674),w=a.i(182248),x=b([j,k,l,r]);async function y(b){let{listTaskHistory:c}=await a.A(242808),d=await c({limit:5});if(!d.length)return"No jobs have been handed over yet.";let e=d.map(a=>`"${a.label}" (${a.bot}, ${a.status})`).join(", ");return`There is no job called "${b}". The latest are: ${e}. Call again with one of those names.`}async function z(a,b){let c=[];for(let[a,e]of Object.entries(b)){let b=await (0,d.asSchema)(e.inputSchema).jsonSchema,f="string"==typeof e.description?e.description:"";c.push({name:a,tokens:(0,v.estimateTokens)(f)+(0,v.estimateTokens)(JSON.stringify(b))})}c.sort((a,b)=>b.tokens-a.tokens);let e=c.reduce((a,b)=>a+b.tokens,0);u.logger.debug(`${a} tools ${e} tokens over ${c.length} — ${c.map(a=>`${a.name} ${a.tokens}`).join(", ")}`)}async function A(a){let b=await B(a);return f.IS_DEV&&await z(a.target,b),b}async function B(b){if("memory-edit"===b.target){let a=(0,k.createMemoryTools)("user",null,{countReads:!1});return{[n.TOOL_NAMES.memory_recall]:a[n.TOOL_NAMES.memory_recall],[n.TOOL_NAMES.memory_remember]:a[n.TOOL_NAMES.memory_remember],[n.TOOL_NAMES.memory_forget]:a[n.TOOL_NAMES.memory_forget]}}let c=(0,k.createMemoryTools)("call","thursday"===b.target?b.callId??null:null),u=await (0,s.openWorkspace)();if("thursday"===b.target){var v;let j=await (0,r.readCallSkillsOn)()?(0,m.createSkillTools)({sandbox:u,skills:await (0,q.loadSkills)(u)}):{};return{...c,...j,...(0,o.createWorkspaceTools)(u,{write:!1,timeoutMs:f.CALL_EXEC_TIMEOUT_MS}),...(v=b.callId,{[n.TOOL_NAMES.delegate]:(0,d.tool)({description:h.delegateSpec.description,inputSchema:h.delegateSpec.parameters,execute:async({bot:b,request:c,label:d})=>{let{findJobBot:e,listJobBots:f}=await a.A(276307),g=await e(b);if(!g||g.disabled){let a=(await f()).map(a=>a.name);return`There is no bot called "${b}". The bots are: ${a.join(", ")}. Nothing was handed over — call again with one of those.`}let{startTask:h}=await a.A(763543);return{taskId:await h({bot:g.name,request:c,label:d,callId:v,from:"thursday"}),note:`${g.name} has "${d}". Say so and keep talking — the result is put in front of you later. Everything further about it — an answer, a correction, carrying it on after it answers — is \`${n.TOOL_NAMES.task}\` with "${d}".`}}}),[n.TOOL_NAMES.task]:(0,d.tool)({description:h.taskSpec.description,inputSchema:h.taskSpec.parameters,execute:async({action:b,task:c,answer:d})=>{let{listTaskHistory:f,resolveTask:h}=await a.A(242808);if("status"===b){let a=d?.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."}:{},b={now:(0,g.clockNow)()};if(c){let d=await h(c);return d?{...b,...a,label:d.label,bot:d.bot,status:d.status,since:(0,e.formatDistanceToNowStrict)((0,t.toDate)(d.updatedAt),{addSuffix:!0}),outcome:d.outcome,..."waiting"===d.status&&d.pending?.options.length?{options:d.pending.options}:{}}:await y(c)}let i=await f({limit:8});return{...b,...a,tasks:i.map(a=>({label:a.label,bot:a.bot,status:a.status,since:(0,e.formatDistanceToNowStrict)((0,t.toDate)(a.updatedAt),{addSuffix:!0}),...a.ask?{asking:a.ask.question,options:a.ask.options}:{},..."running"===a.status?{now:(0,p.taskActivity)(a.lines)}:{},...a.outcome&&"waiting"!==a.status?{outcome:(0,w.clip)(a.outcome,200)}:{}}))}}let{listInboxTasks:i}=await a.A(242808),j=c?await h(c):"answer"===b?(await i())[0]??null:null;if(!j)return c?await y(c):"answer"===b?"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.";let{answerTask:k,cancelTask:l}=await a.A(763543);return"cancel"===b?(await l(j.id),{label:j.label,status:"cancelled"}):d?.trim()?(await k(j.id,d.trim(),"thursday"),{label:j.label,bot:j.bot,status:"running",note:"running"===j.status?"The bot reads it before its next step.":"The bot picks the job back up from there."}):"Say what to pass on."}})}),...i.CALL_TOOLS}}let x=await (0,q.loadSkills)(u);return{[n.TOOL_NAMES.memory_recall]:c[n.TOOL_NAMES.memory_recall],[n.TOOL_NAMES.memory_conversation]:c[n.TOOL_NAMES.memory_conversation],...await (0,l.createSearchTool)(b.model,u),...(0,o.createWorkspaceTools)(u,{write:!0,env:(0,s.jobShellEnv)(b.session),guide:!0}),...await (0,j.createMcpTools)(b.bot,u),...(0,m.createSkillTools)({sandbox:u,skills:x}),[n.TOOL_NAMES.ask_thursday]:h.askThursdayTool,[n.TOOL_NAMES.answer]:h.answerTool}}[j,k,l,r]=x.then?(await x)():x,a.s(["loadTools",0,A]),c()}catch(a){c(a)}},!1),875931,a=>a.a(async(b,c)=>{try{var d=a.i(938537),e=a.i(140358),f=a.i(345364),g=a.i(655819),h=a.i(652685),i=a.i(438766),j=a.i(47919);a.i(569572);var k=a.i(688034),l=a.i(725466),m=a.i(176668),n=a.i(293480),o=a.i(182248),p=a.i(652619),q=a.i(689656),r=b([l,p]);[l,p]=r.then?(await r)():r;let A=new Set(["ECONNRESET","ECONNREFUSED","ETIMEDOUT","EPIPE","ENOTFOUND","EAI_AGAIN","ENETUNREACH","EHOSTUNREACH","UND_ERR_SOCKET","UND_ERR_CLOSED","UND_ERR_CONNECT_TIMEOUT","UND_ERR_HEADERS_TIMEOUT","UND_ERR_BODY_TIMEOUT"]),B=/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,C=null;function s(a){if(null==a||""===a)return null;let b=Number(a);return Number.isFinite(b)?Math.round(1e6*b*1e4)/1e4:null}async function t(){if(C&&Date.now()-C.at<6e5)return C.models;let a=await fetch("https://ai-gateway.vercel.sh/v1/models",{headers:{accept:"application/json"}}).catch(a=>{m.logger.warn({cause:a},"gateway catalog unreachable"),(0,n.publicError)("Could not reach the gateway")});a.ok||(0,n.publicError)(`The gateway answered ${a.status}`);let b=((await a.json()).data??[]).filter(a=>!!a.id).map(a=>{let b;return{id:a.id,label:a.name||a.id,owner:a.owned_by||a.id.slice(0,a.id.indexOf("/")),type:(b=a.type??null)===q.GATEWAY_TEXT&&(a.modalities?.output??[]).includes("image")?"image":b,tags:a.tags??[],price:function(a){let b=a.pricing??{},c=s(b.input),d=s(b.output);if((a.tags??[]).includes("free")||0===c)return{in:0,out:0,note:null,free:!0};let e=b.transcription_duration_cost_per_second??b.realtime_session_duration_cost_per_second;if(e)return{in:null,out:null,note:`$${e}/s`,free:!1};if(b.speech_input_character_cost)return{in:null,out:null,note:"per character",free:!1};let f=Array.isArray(b.video_duration_pricing)?b.video_duration_pricing[0]:null;if(f)return{in:null,out:null,note:`$${f.cost_per_second}/s ${f.resolution}`,free:!1};let g=b.image?`$${b.image}/image`:b.image_dimension_quality_pricing?"per image, by size":null;return null===c&&null===d?{in:null,out:null,note:g,free:!1}:{in:c,out:d,note:b.input_tiers?"tiered":b.varies_by_provider?"varies":g&&"+ per image",free:!1}}(a),retiring:!!a.deprecated_at,contextWindow:"number"==typeof a.context_window&&a.context_window>0?a.context_window:null}}).sort((a,b)=>a.id.localeCompare(b.id));return C={at:Date.now(),models:b},b}async function u(a,b){if(b&&b>0)return b;let c="vercel-ai-gateway"===a.provider?await t().catch(()=>[]):[];return(0,q.compactAtFor)((0,q.contextWindowOf)(a.provider,a.model,c))}async function v(){return await t().then(a=>new Set(a.map(a=>a.id))).catch(()=>null)}async function w(a,b){if("vercel-ai-gateway"!==a)return b;let c=await v();if(!c)return b;let d=b.filter(a=>c.has(a.id));return d.length>0?d:b}async function x(a){let{label:b,apiKeyName:c,signIn:h}=q.TEXT_MODEL_PROVIDERS[a.provider],j=await (0,l.readConfig)(c);return j||(0,n.publicError)(h?`${b} is not signed in — sign in from Config.`:`No ${b} key — add one in Config.`),function(a,b){switch(a.provider){case"openai":{let c=(0,f.createOpenAI)({apiKey:b});return{ref:a,model:c(a.model),searchTools:{search:c.tools.webSearch()}}}case"chatgpt":return{ref:a,model:(0,p.chatGptModel)(a.model),searchTools:null};case"anthropic":{let c=(0,d.createAnthropic)({apiKey:b});return{ref:a,model:c(a.model),searchTools:{search:c.tools.webSearch_20260209()}}}case"google":{let c=(0,e.createGoogleGenerativeAI)({apiKey:b});return{ref:a,model:c(a.model),searchTools:{search:c.tools.googleSearch({})}}}case"xai":{let c=(0,g.createXai)({apiKey:b});return{ref:a,model:c(a.model),searchTools:{search:c.tools.webSearch()}}}case"vercel-ai-gateway":{let c=(0,i.createGateway)({apiKey:b});return{ref:a,model:c(a.model),searchTools:null}}default:(0,n.publicError)(`Not supported provider: ${String(a.provider)}`)}}(a,j)}async function y(a){let b=async a=>(0,q.defaultModelOf)({suggestModels:await w(a.id,a.suggestModels)}),c=a?q.TEXT_MODEL_PROVIDER_LIST.find(b=>b.id===a):void 0,d=q.SPEACH_MODEL_PROVIDER_LIST.map(a=>({...q.TEXT_MODEL_PROVIDERS[a.id],id:a.id}));if(c){let a=await b(c);if(a)return{provider:c.id,model:a}}let e=(0,q.parseTextModel)(await (0,l.readConfig)(k.DEFAULT_MODEL_KEY)??void 0);if(e&&await (0,l.readConfig)(q.TEXT_MODEL_PROVIDERS[e.provider].apiKeyName))return e;for(let a of[...d,...q.TEXT_MODEL_PROVIDER_LIST]){if(!await (0,l.readConfig)(a.apiKeyName))continue;let c=await b(a);if(c)return m.logger.info(`no model set, falling back to ${a.id}/${c}`),{provider:a.id,model:c}}(0,n.publicError)("No model key is set — add one in Config")}async function z(a){let b=(0,q.parseMediaModel)(await (0,l.readConfig)(k.MEDIA_MODEL_KEYS[a]));if(!b||!(0,q.canMakeKind)(b.provider,a))return null;let c=await (0,l.readConfig)(q.MEDIA_MODEL_PROVIDERS[b.provider].apiKeyName);return c?{ref:b,apiKey:c}:null}a.s(["buildImageModel",0,function(a,b){switch(a.provider){case"openai":return(0,f.createOpenAI)({apiKey:b}).image(a.model);case"google":return(0,e.createGoogleGenerativeAI)({apiKey:b}).image(a.model);case"xai":return(0,g.createXai)({apiKey:b}).image(a.model);case"vercel-ai-gateway":return(0,i.createGateway)({apiKey:b}).image(a.model);default:(0,n.publicError)(`Not supported image provider: ${String(a.provider)}`)}},"buildSpeechModel",0,function(a,b){switch(a.provider){case"openai":return(0,f.createOpenAI)({apiKey:b}).speech(a.model);case"google":return(0,e.createGoogleGenerativeAI)({apiKey:b}).speech(a.model);case"xai":return(0,g.createXai)({apiKey:b}).speech();case"vercel-ai-gateway":return(0,i.createGateway)({apiKey:b}).speech(a.model);default:(0,n.publicError)(`Not supported speech provider: ${String(a.provider)}`)}},"buildTranscriptionModel",0,function(a,b){switch(a.provider){case"openai":return(0,f.createOpenAI)({apiKey:b}).transcription(a.model);case"google":return(0,e.createGoogleGenerativeAI)({apiKey:b}).transcription(a.model);case"xai":return(0,g.createXai)({apiKey:b}).transcription();case"vercel-ai-gateway":return(0,i.createGateway)({apiKey:b}).transcription(a.model);default:(0,n.publicError)(`Not supported transcription provider: ${String(a.provider)}`)}},"buildVideoModel",0,function(a,b){switch(a.provider){case"google":return(0,e.createGoogleGenerativeAI)({apiKey:b}).video(a.model);case"xai":return(0,g.createXai)({apiKey:b}).video(a.model);case"vercel-ai-gateway":return(0,i.createGateway)({apiKey:b}).video(a.model);default:(0,n.publicError)(`${a.provider} has no video model`)}},"compactBudget",0,u,"getTextModel",0,x,"modelErrorToString",0,function(a){if(!h.APICallError.isInstance(a))return(0,o.errorToString)(a);let b=a.statusCode?` (${a.statusCode})`:"",c=a.responseBody?.trim(),d=c&&!c.includes(a.message)?` ${(0,o.clip)(c,300)}`:"";return`${a.message}${b}${d}`},"modelFailureOf",0,function(a){let b=!1;for(let c of function(a){let b=[],c=[a];for(;c.length&&b.length<12;){let a=c.shift();!("object"!=typeof a||null===a||b.includes(a))&&(b.push(a),j.RetryError.isInstance(a)&&c.push(...a.errors),"cause"in a&&c.push(a.cause))}return b}(a)){let{statusCode:a,isRetryable:d,code:e,name:f,message:g}=c,i=h.APICallError.isInstance(c)?c.responseBody??"":"";if((void 0===a||400===a||413===a)&&B.test(`${String(g??"")} ${i}`))return"overflow";(!0===d||"TimeoutError"===f||j.NoOutputGeneratedError.isInstance(c)||"number"==typeof a&&(408===a||409===a||429===a||a>=500)||"string"==typeof e&&A.has(e))&&(b=!0)}return b?"transient":"fatal"},"resolveDefaultModel",0,y,"resolveMediaRef",0,z]),c()}catch(a){c(a)}},!1),735502,a=>a.a(async(b,c)=>{try{var d=a.i(12208),e=a.i(569572),f=a.i(762008),g=a.i(641301),h=a.i(221214),i=a.i(947950),j=a.i(986743),k=a.i(138100),l=a.i(821415),m=a.i(706210),n=a.i(176668),o=a.i(182248),p=a.i(644468),q=a.i(938934),r=b([h,i,j,p]);async function s(a,b,c,r){var s,t,D,E,F,G,H,I;let J,K,L=await (0,l.openWorkspace)(),M=a.trim(),N=c?.askedBy??null,[O,P,Q,R,S,T,U,V]=await Promise.all([(0,k.loadSkills)(L),(0,j.listNoteIndex)(),(0,p.listConnectedToolNames)(),(0,i.findPinnedTools)(M),(0,h.listJobBots)(),(0,g.listBotMemory)(M),(0,h.readBotMemoryOn)(),(0,l.readMachineTools)(L)]),W=c&&!c.canBorrow?[]:S.filter(a=>a.name!==M&&!c?.above.includes(a.name)),X=[N?(s=M,t=N,[`You are ${s}, one of the bots that work for the user. ${(0,q.nowLine)()}
|
|
1
|
+
module.exports=[652619,a=>a.a(async(b,c)=>{try{var d=a.i(666680),e=a.i(347299),f=a.i(345364),g=a.i(47919),h=a.i(868468),i=a.i(53112),j=a.i(203469),k=a.i(569572),l=a.i(725466),m=a.i(176668),n=a.i(523095),o=a.i(293480),p=a.i(8412),q=a.i(182248),r=a.i(689656),s=b([l]);[l]=s.then?(await s)():s;let C="app_EMoamEEZ73f0CkXaXp7hrann",D="http://localhost:1455/auth/callback",E=["127.0.0.1","::1"],F="thursday",{apiKeyName:G,label:H}=r.TEXT_MODEL_PROVIDERS.chatgpt,I=`${H} is not signed in — sign in from Config.`,J=i.z.object({access:i.z.string().min(1),refresh:i.z.string().min(1),expires:i.z.number(),accountId:i.z.string().min(1),plan:i.z.string().nullable()}),K=globalThis,L=K.__chatgptRenewal??=(0,p.createKeyedLock)();async function t(){u();let a=(0,d.randomBytes)(32).toString("base64url"),b=(0,d.randomBytes)(16).toString("hex"),c=[],f=(d,e)=>{v(d.url??"/",{state:b,verifier:a}).then(a=>{e.writeHead(a.status,{"content-type":"text/html; charset=utf-8"}),e.end((0,n.oauthPage)(a.title,a.detail,{autoClose:200===a.status}),()=>{a.last&&K.__chatgptListeners===c&&u()})})};for(let a of E){let b=(0,e.createServer)(f),d=await new Promise(c=>{b.once("error",c),b.listen(1455,a,()=>c(null))});if(!d){c.push(b);continue}if("EADDRNOTAVAIL"!==d.code&&"EAFNOSUPPORT"!==d.code){for(let a of c)a.close();(0,o.publicError)("EADDRINUSE"===d.code?"Port 1455 is in use by another app — often a ChatGPT or Codex sign-in still waiting. Finish or close it, then try again.":`Could not wait for the sign-in: ${(0,q.errorToString)(d)}`)}}K.__chatgptListeners=c,setTimeout(()=>{K.__chatgptListeners===c&&u()},k.CHATGPT_SIGN_IN.waitMs).unref();let g=new URL("https://auth.openai.com/oauth/authorize");return g.search=new URLSearchParams({response_type:"code",client_id:C,redirect_uri:D,scope:"openid profile email offline_access",code_challenge:(0,d.createHash)("sha256").update(a).digest("base64url"),code_challenge_method:"S256",state:b,id_token_add_organizations:"true",codex_cli_simplified_flow:"true",originator:F}).toString(),g.toString()}function u(){let a=K.__chatgptListeners;for(let b of(K.__chatgptListeners=null,a??[]))b.close(),b.closeIdleConnections()}async function v(a,b){let c=new URL(a,D);if("/auth/callback"!==c.pathname)return{status:404,title:"Not found",detail:"",last:!1};let d=c.searchParams.get("error");if(d){let a=c.searchParams.get("error_description");return{status:400,title:"Sign-in failed",detail:a?`${d}: ${a}`:d,last:!0}}let e=c.searchParams.get("code");if(!e||c.searchParams.get("state")!==b.state)return{status:400,title:"Sign-in failed",detail:"This is not the sign-in that was started. Start again from Config.",last:!1};try{let a=await w({grant_type:"authorization_code",code:e,code_verifier:b.verifier,redirect_uri:D});return await (0,l.writeConfig)(G,JSON.stringify(a)),j.appEvents.emit({type:"config"}),{status:200,title:"Signed in to ChatGPT",detail:"Bots can run on your plan now. This window closes itself.",last:!0}}catch(a){return m.logger.warn({cause:a},"chatgpt sign-in failed"),{status:502,title:"Sign-in failed",detail:(0,q.errorToString)(a),last:!0}}}async function w(a){let b=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:C,...a})}).catch(a=>{m.logger.warn({cause:a},"chatgpt token endpoint unreachable"),(0,o.publicError)("Could not reach ChatGPT's sign-in")}),c=await b.json().catch(()=>null),d=c?.access_token;if(!b.ok||!d){let a=c?.error,d="string"==typeof a?[a,c?.error_description].filter(Boolean).join(": "):a?.message??a?.code??"";(0,o.publicError)(`ChatGPT's sign-in answered ${b.status}${d?`: ${d}`:""}`)}let e=function(a){try{let b=JSON.parse(Buffer.from(a.split(".")[1]??"","base64url").toString("utf8")),c=b["https://api.openai.com/auth"]??{};return{accountId:"string"==typeof c.chatgpt_account_id?c.chatgpt_account_id:null,plan:"string"==typeof c.chatgpt_plan_type?c.chatgpt_plan_type:null,expires:"number"==typeof b.exp?1e3*b.exp:null}}catch{return{accountId:null,plan:null,expires:null}}}(d),f=c?.refresh_token??a.refresh_token;e.accountId&&f||(0,o.publicError)("ChatGPT's sign-in came back without an account");let g=c?.expires_in;return{access:d,refresh:f,expires:"number"==typeof g?Date.now()+1e3*g:e.expires??Date.now(),accountId:e.accountId,plan:e.plan}}async function x(){let a=await (0,l.readConfig)(G);if(!a)return null;try{return J.parse(JSON.parse(a))}catch{return null}}let M=a=>a.expires-k.CHATGPT_SIGN_IN.renewBeforeMs<=Date.now();async function y(){let a=await x();return(a||(0,o.publicError)(I),M(a))?L(G,async()=>{let a=await x();if(a||(0,o.publicError)(I),!M(a))return a;try{let b=await w({grant_type:"refresh_token",refresh_token:a.refresh});return await (0,l.writeConfig)(G,JSON.stringify(b)),b}catch(a){(0,o.publicError)(`Could not renew the ${H} sign-in (${(0,q.errorToString)(a)}). If it keeps failing, sign in again from Config.`)}}):a}async function z(a,b){let c=await y(),d=new Headers(b?.headers);if(d.set("authorization",`Bearer ${c.access}`),d.set("chatgpt-account-id",c.accountId),d.set("originator",F),b?.method!=="POST"||"string"!=typeof b.body||!String(a).endsWith("/responses"))return fetch(a,{...b,headers:d});let e=JSON.parse(b.body),f=!0===e.stream,g=[];e.input=(e.input??[]).filter(a=>"system"!==a.role&&"developer"!==a.role||(g.push("string"==typeof a.content?a.content:(a.content??[]).map(a=>a.text??"").join("\n")),!1)),e.instructions=[e.instructions,...g].filter(Boolean).join("\n\n")||"You are a helpful assistant.",e.store=!1,e.stream=!0,e.max_output_tokens=void 0,d.set("accept","text/event-stream");let h=await fetch(a,{...b,headers:d,body:JSON.stringify(e)});return 429===h.status?A(h):f||!h.ok?h:B(h)}async function A(a){let b=await a.text(),c={};try{c=JSON.parse(b).error??{}}catch{}if(!/usage_limit_reached|usage_not_included/.test(`${c.code} ${c.type}`)){let c=a.headers.get("retry-after");return new Response(b,{status:429,headers:{"content-type":"application/json",...c?{"retry-after":c}:{}}})}let d=c.resets_at?1e3*c.resets_at:c.resets_in_seconds?Date.now()+1e3*c.resets_in_seconds:null,e=c.plan_type?` on the ${c.plan_type} plan`:"",f=d?` It resets in ${(0,h.formatDistanceToNowStrict)(d)}.`:"";return Response.json({error:{message:`${H} usage limit reached${e}.${f}`,code:c.code??c.type}},{status:402})}async function B(a){let b=[],c=null,d=null;for(let e of(await a.text()).replaceAll("\r\n","\n").split("\n\n")){let a,f=e.split("\n").filter(a=>a.startsWith("data:")).map(a=>a.slice(5).trimStart()).join("\n");if(f&&"[DONE]"!==f){try{a=JSON.parse(f)}catch{continue}"response.output_item.done"===a.type?b.push(a.item):"response.completed"===a.type||"response.incomplete"===a.type?c=a.response??{}:"response.failed"===a.type?d=a.response?.error??{message:"The response failed"}:"error"===a.type&&(d={code:a.code,message:a.message})}}return d||!c?Response.json({error:{message:d?.message??"The stream ended before the response finished",code:d?.code}},{status:d?.code==="context_length_exceeded"?400:500}):Response.json({...c,output:c.output?.length?c.output:b})}a.s(["chatGptModel",0,function(a){let b=(0,f.createOpenAI)({baseURL:"https://chatgpt.com/backend-api/codex",apiKey:"signed-in",headers:{"OpenAI-Beta":"responses=experimental"},fetch:z}),c=(0,d.randomUUID)();return(0,g.wrapLanguageModel)({model:b.responses(a),middleware:{transformParams:async({params:a})=>({...a,providerOptions:{...a.providerOptions,openai:{promptCacheKey:c,...a.providerOptions?.openai,store:!1}}})}})},"startChatGptSignIn",0,t]),c()}catch(a){c(a)}},!1),738131,a=>a.a(async(b,c)=>{try{var d=a.i(527990),e=a.i(868468),f=a.i(569572),g=a.i(938934),h=a.i(978876),i=a.i(375827),j=a.i(138902),k=a.i(345846),l=a.i(622547),m=a.i(451017),n=a.i(762008),o=a.i(547613),p=a.i(446957),q=a.i(138100),r=a.i(569549),s=a.i(821415),t=a.i(706210),u=a.i(176668),v=a.i(293480),w=a.i(987674),x=a.i(182248),y=b([j,k,l,r]);async function z(b){let{listThreadOverview:c}=await a.A(343064),d=await c();if(!d.length)return"No jobs have been handed over yet.";let e=d.map(a=>`"${a.label}" (${a.bot}, ${a.status})`).join(", ");return`There is no job called "${b}". The latest are: ${e}. Call again with one of those names.`}async function A(a,b){let c=[];for(let[a,e]of Object.entries(b)){let b=await (0,d.asSchema)(e.inputSchema).jsonSchema,f="string"==typeof e.description?e.description:"";c.push({name:a,tokens:(0,w.estimateTokens)(f)+(0,w.estimateTokens)(JSON.stringify(b))})}c.sort((a,b)=>b.tokens-a.tokens);let e=c.reduce((a,b)=>a+b.tokens,0);u.logger.debug(`${a} tools ${e} tokens over ${c.length} — ${c.map(a=>`${a.name} ${a.tokens}`).join(", ")}`)}async function B(a){let b=await C(a);return f.IS_DEV&&await A(a.target,b),b}async function C(b){if("memory-edit"===b.target){let a=(0,k.createMemoryTools)("user",null,{countReads:!1});return{[n.TOOL_NAMES.memory_recall]:a[n.TOOL_NAMES.memory_recall],[n.TOOL_NAMES.memory_remember]:a[n.TOOL_NAMES.memory_remember],[n.TOOL_NAMES.memory_forget]:a[n.TOOL_NAMES.memory_forget]}}let{[n.TOOL_NAMES.memory_conversation]:c,...u}=(0,k.createMemoryTools)("call","thursday"===b.target?b.callId??null:null),w={[n.TOOL_NAMES.memory_conversation]:c},y=await (0,s.openWorkspace)();if("thursday"===b.target){var A;let c=await (0,r.readCallSkillsOn)()?(0,m.createSkillTools)({sandbox:y,skills:await (0,q.loadSkills)(y)}):{};return{...u,...w,...c,...(0,o.createWorkspaceTools)(y,{write:!1,timeoutMs:f.CALL_EXEC_TIMEOUT_MS}),...(A=b.callId,{[n.TOOL_NAMES.delegate]:(0,d.tool)({description:h.delegateSpec.description,inputSchema:h.delegateSpec.parameters,execute:async({bot:b,request:c,label:d})=>{let{findJobBot:e,listJobBots:f}=await a.A(276307),g=await e(b);if(!g||g.disabled){let a=(await f()).map(a=>a.name);return`There is no bot called "${b}". The bots are: ${a.join(", ")}. Nothing was handed over — call again with one of those.`}let{startThread:h}=await a.A(763543);return{threadId:await h({bot:g.name,request:c,label:d,callId:A,from:"thursday"}),note:`${g.name} has "${d}". Its updates reach the conversation on their own. Anything further about this work — an answer, a correction, the next step once it finishes — is \`${n.TOOL_NAMES.thread}\` with "${d}".`}}}),[n.TOOL_NAMES.thread]:(0,d.tool)({description:h.threadSpec.description,inputSchema:h.threadSpec.parameters,execute:async({action:b,thread:c,answer:d,recipient:f,replyTo:h})=>{let i,{listThreadOverview:j,resolveThread:k}=await a.A(343064);if("status"===b){let b=d?.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."}:{},f={now:(0,g.clockNow)()};if(c){let d=await k(c);if(!d)return await z(c);let{findThreadView:g}=await a.A(343064),h=(await g(d.id))?.room;return{...f,...b,label:d.label,id:d.id,bot:d.bot,participants:h?.participants??[],questions:h?.questions??[],status:d.status,since:(0,e.formatDistanceToNowStrict)((0,t.toDate)(d.updatedAt),{addSuffix:!0}),outcome:d.outcome,..."waiting"===d.status&&d.pending?.options.length?{options:d.pending.options}:{}}}let h=await j();return{...f,...b,threads:h.map(a=>({id:a.id,label:a.label,bot:a.bot,status:a.status,participants:a.room.participants,questions:a.room.questions.map(a=>({...a,text:(0,x.clip)(a.text,200)})),since:(0,e.formatDistanceToNowStrict)((0,t.toDate)(a.updatedAt),{addSuffix:!0}),...a.ask?{asking:a.ask.question,options:a.ask.options}:{},..."running"===a.status?{now:(0,p.threadActivity)(a.lines)}:{},...a.outcome&&"waiting"!==a.status?{outcome:(0,x.clip)(a.outcome,200)}:{}}))}}let{listInboxThreads:l,markSeen:m}=await a.A(343064),o=!c&&("answer"===b||"open"===b),q=o?await l():[],r="answer"===b?q.filter(a=>a.room.questions.length):[];if(r.length>1)return`Questions are waiting in more than one job: ${r.map(a=>`"${a.label}" (${a.room.questions.map(a=>a.bot).join(", ")})`).join(", ")}. Name the job.`;let s=c?await k(c):"answer"===b?r[0]??null:o?q[0]??null:null;if(!s)return c?await z(c):"answer"===b?`No question is waiting. Name the job this is for; \`${n.TOOL_NAMES.thread}\` \`status\` lists them.`:o?"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"===b){if(!(o?q:await l()).some(a=>a.id===s.id))return`"${s.label}" is older than the call screen keeps; it is under Settings › Threads.`;let{appEvents:b}=await a.A(133300);return b.emit({type:"showThread",threadId:s.id}),{label:s.label,open:!0}}if("seen"===b)return await m([s.id]),{label:s.label,seen:!0};let{answerThread:u,cancelThread:w}=await a.A(763543);if("cancel"===b)return await w(s.id),{label:s.label,status:"cancelled"};if(!d?.trim())return"Say what to pass on.";try{i=await u(s.id,d.trim(),"thursday",f??void 0,h??void 0)}catch(a){if((0,v.isPublicError)(a))return a.message;throw a}return i?.answered?{label:s.label,answered:i.answered,note:`${i.answered.bot} has the answer to its question and goes on from it.`}:{label:s.label,bot:i?.to??s.bot,status:"running",note:"running"===s.status?"The bot reads it before its next step.":"The bot picks the job back up from there."}}})}),...i.CALL_TOOLS}}let B=await (0,q.loadSkills)(y);return{[n.TOOL_NAMES.memory_recall]:u[n.TOOL_NAMES.memory_recall],...w,...await (0,l.createSearchTool)(b.model,y),...(0,o.createWorkspaceTools)(y,{write:!0,env:{...(0,s.jobShellEnv)(b.session),...(0,s.botShellEnv)(b.bot)},guide:!0,bot:b.bot}),...await (0,j.createMcpTools)(b.bot,y),...(0,m.createSkillTools)({sandbox:y,skills:B})}}[j,k,l,r]=y.then?(await y)():y,a.s(["loadTools",0,B]),c()}catch(a){c(a)}},!1),875931,a=>a.a(async(b,c)=>{try{var d=a.i(938537),e=a.i(140358),f=a.i(345364),g=a.i(655819),h=a.i(652685),i=a.i(438766),j=a.i(47919);a.i(569572);var k=a.i(688034),l=a.i(725466),m=a.i(176668),n=a.i(293480),o=a.i(182248),p=a.i(652619),q=a.i(689656),r=b([l,p]);[l,p]=r.then?(await r)():r;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 s(a){return t(a).some(a=>{let{statusCode:b,message:c,error:d}=a;if(void 0!==b&&400!==b&&413!==b)return!1;let e=h.APICallError.isInstance(a)?a.responseBody:null;return[c,d,e].some(a=>"string"==typeof a&&C.test(a))})}let D=new Set([408,409,429]);function t(a){let b=[],c=[a];for(;c.length&&b.length<12;){let a=c.shift();!("object"!=typeof a||null===a||b.includes(a))&&(b.push(a),j.RetryError.isInstance(a)&&c.push(...a.errors),"cause"in a&&c.push(a.cause))}return b}let E=null;function u(a){if(null==a||""===a)return null;let b=Number(a);return Number.isFinite(b)?Math.round(1e6*b*1e4)/1e4:null}async function v(){if(E&&Date.now()-E.at<6e5)return E.models;let a=await fetch("https://ai-gateway.vercel.sh/v1/models",{headers:{accept:"application/json"}}).catch(a=>{m.logger.warn({cause:a},"gateway catalog unreachable"),(0,n.publicError)("Could not reach the gateway")});a.ok||(0,n.publicError)(`The gateway answered ${a.status}`);let b=((await a.json()).data??[]).filter(a=>!!a.id).map(a=>({id:a.id,label:a.name||a.id,owner:a.owned_by||a.id.slice(0,a.id.indexOf("/")),type:a.type??null,tags:a.tags??[],price:function(a){let b=a.pricing??{},c=u(b.input),d=u(b.output);if((a.tags??[]).includes("free")||0===c)return{in:0,out:0,note:null,free:!0};let e=b.transcription_duration_cost_per_second??b.realtime_session_duration_cost_per_second;if(e)return{in:null,out:null,note:`$${e}/s`,free:!1};if(b.speech_input_character_cost)return{in:null,out:null,note:"per character",free:!1};let f=Array.isArray(b.video_duration_pricing)?b.video_duration_pricing[0]:null;if(f)return{in:null,out:null,note:`$${f.cost_per_second}/s ${f.resolution}`,free:!1};let g=b.image?`$${b.image}/image`:b.image_dimension_quality_pricing?"per image, by size":null;return null===c&&null===d?{in:null,out:null,note:g,free:!1}:{in:c,out:d,note:b.input_tiers?"tiered":b.varies_by_provider?"varies":g&&"+ per image",free:!1}}(a),retiring:!!a.deprecated_at,contextWindow:"number"==typeof a.context_window&&a.context_window>0?a.context_window:null})).sort((a,b)=>a.id.localeCompare(b.id));return E={at:Date.now(),models:b},b}async function w(a,b){if(b&&b>0)return b;let c="vercel-ai-gateway"===a.provider?await v().catch(()=>[]):[];return(0,q.compactAtFor)((0,q.contextWindowOf)(a.provider,a.model,c))}async function x(){return await v().then(a=>new Set(a.map(a=>a.id))).catch(()=>null)}async function y(a,b){if("vercel-ai-gateway"!==a)return b;let c=await x();if(!c)return b;let d=b.filter(a=>c.has(a.id));return d.length>0?d:b}async function z(a){let{label:b,apiKeyName:c,signIn:h}=q.TEXT_MODEL_PROVIDERS[a.provider],j=await (0,l.readConfig)(c);return j||(0,n.publicError)(h?`${b} is not signed in — sign in from Config.`:`No ${b} key — add one in Config.`),function(a,b){switch(a.provider){case"openai":{let c=(0,f.createOpenAI)({apiKey:b});return{ref:a,model:c(a.model),searchTools:{search:c.tools.webSearch()}}}case"chatgpt":return{ref:a,model:(0,p.chatGptModel)(a.model),searchTools:null};case"anthropic":{let c=(0,d.createAnthropic)({apiKey:b});return{ref:a,model:c(a.model),searchTools:{search:c.tools.webSearch_20260209()}}}case"google":{let c=(0,e.createGoogleGenerativeAI)({apiKey:b});return{ref:a,model:c(a.model),searchTools:{search:c.tools.googleSearch({})}}}case"xai":{let c=(0,g.createXai)({apiKey:b});return{ref:a,model:c(a.model),searchTools:{search:c.tools.webSearch()}}}case"vercel-ai-gateway":{let c=(0,i.createGateway)({apiKey:b});return{ref:a,model:c(a.model),searchTools:null}}default:(0,n.publicError)(`Not supported provider: ${String(a.provider)}`)}}(a,j)}async function A(a){let b=async a=>(0,q.defaultModelOf)({suggestModels:await y(a.id,a.suggestModels)}),c=a?q.TEXT_MODEL_PROVIDER_LIST.find(b=>b.id===a):void 0,d=["openai","xai"].map(a=>({...q.TEXT_MODEL_PROVIDERS[a],id:a}));if(c){let a=await b(c);if(a)return{provider:c.id,model:a}}let e=(0,q.parseTextModel)(await (0,l.readConfig)(k.DEFAULT_MODEL_KEY)??void 0);if(e&&await (0,l.readConfig)(q.TEXT_MODEL_PROVIDERS[e.provider].apiKeyName))return e;for(let a of[...d,...q.TEXT_MODEL_PROVIDER_LIST]){if(!await (0,l.readConfig)(a.apiKeyName))continue;let c=await b(a);if(c)return m.logger.info(`no model set, falling back to ${a.id}/${c}`),{provider:a.id,model:c}}(0,n.publicError)("No model key is set — add one in Config")}async function B(a){let b=(0,q.parseMediaModel)(await (0,l.readConfig)(k.MEDIA_MODEL_KEYS[a]));if(!b||!(0,q.canMakeKind)(b.provider,a))return null;let c=await (0,l.readConfig)(q.MEDIA_MODEL_PROVIDERS[b.provider].apiKeyName);return c?{ref:b,apiKey:c}:null}a.s(["buildImageModel",0,function(a,b){switch(a.provider){case"openai":return(0,f.createOpenAI)({apiKey:b}).image(a.model);case"google":return(0,e.createGoogleGenerativeAI)({apiKey:b}).image(a.model);case"xai":return(0,g.createXai)({apiKey:b}).image(a.model);case"vercel-ai-gateway":return(0,i.createGateway)({apiKey:b}).image(a.model);default:(0,n.publicError)(`Not supported image provider: ${String(a.provider)}`)}},"buildSpeechModel",0,function(a,b){switch(a.provider){case"openai":return(0,f.createOpenAI)({apiKey:b}).speech(a.model);case"google":return(0,e.createGoogleGenerativeAI)({apiKey:b}).speech(a.model);case"xai":return(0,g.createXai)({apiKey:b}).speech();case"vercel-ai-gateway":return(0,i.createGateway)({apiKey:b}).speech(a.model);default:(0,n.publicError)(`Not supported speech provider: ${String(a.provider)}`)}},"buildTranscriptionModel",0,function(a,b){switch(a.provider){case"openai":return(0,f.createOpenAI)({apiKey:b}).transcription(a.model);case"google":return(0,e.createGoogleGenerativeAI)({apiKey:b}).transcription(a.model);case"xai":return(0,g.createXai)({apiKey:b}).transcription();case"vercel-ai-gateway":return(0,i.createGateway)({apiKey:b}).transcription(a.model);default:(0,n.publicError)(`Not supported transcription provider: ${String(a.provider)}`)}},"buildVideoModel",0,function(a,b){switch(a.provider){case"google":return(0,e.createGoogleGenerativeAI)({apiKey:b}).video(a.model);case"xai":return(0,g.createXai)({apiKey:b}).video(a.model);case"vercel-ai-gateway":return(0,i.createGateway)({apiKey:b}).video(a.model);default:(0,n.publicError)(`${a.provider} has no video model`)}},"compactBudget",0,w,"getTextModel",0,z,"isContextOverflow",0,s,"isProviderRefusal",0,function(a){return!s(a)&&t(a).some(a=>{let{statusCode:b}=a;return"number"==typeof b&&b>=400&&b<500&&!D.has(b)})},"modelErrorToString",0,function(a){if(!h.APICallError.isInstance(a))return(0,o.errorToString)(a);let b=a.statusCode?` (${a.statusCode})`:"",c=a.responseBody?.trim(),d=c&&!c.includes(a.message)?` ${(0,o.clip)(c,300)}`:"";return`${a.message}${b}${d}`},"resolveDefaultModel",0,A,"resolveMediaRef",0,B]),c()}catch(a){c(a)}},!1),735502,a=>a.a(async(b,c)=>{try{var d=a.i(12208),e=a.i(569572),f=a.i(762008),g=a.i(641301),h=a.i(221214),i=a.i(947950),j=a.i(986743),k=a.i(138100),l=a.i(821415),m=a.i(706210),n=a.i(176668),o=a.i(182248),p=a.i(644468),q=a.i(938934),r=b([h,i,j,p]);async function s(a,b,c,r){var s,v,w,x,y,z,A,B,C;let D,E,F,G,H,I,J=await (0,l.openWorkspace)(),K=a.trim(),[L,M,N,O,P,Q,R,S]=await Promise.all([(0,k.loadSkills)(J),(0,j.listNoteIndex)(),(0,p.listConnectedToolNames)(),(0,i.findPinnedTools)(K),(0,h.listJobBots)(),(0,g.listBotMemory)(K),(0,h.readBotMemoryOn)(),(0,l.readMachineTools)(J)]),T=P.filter(a=>a.name!==K),U=[(s=K,v=c,E=(D=v?.owner??s)===s?"**You** coordinate this thread: its result goes from you to Thursday.":`**${D}** coordinates this thread and brings its result to Thursday.`,F=v?`
|
|
2
2
|
|
|
3
|
-
${
|
|
4
|
-
- **${t}** — a bot on this job, who handed you one part of it. They cannot see your thread.
|
|
5
|
-
- **You** — you do that part. What you hand back goes into ${t}'s work as it is, never to Thursday or the user.`,v,w].join("\n\n")):(D=M,[`You are ${D}, one of the bots that work for the user. ${(0,q.nowLine)()}
|
|
3
|
+
Current conversation: ${v.caller} → ${s}. Your final text goes back to ${v.caller}. Message ID: ${v.messageId??"initial request"}.`:"",`You are ${s}, one of the bots in this thread. ${(0,q.nowLine)()}
|
|
6
4
|
|
|
7
|
-
|
|
8
|
-
- **
|
|
5
|
+
- **The user** — the one person all of this is for. They talk with Thursday by voice and follow this thread on their screen.
|
|
6
|
+
- **Thursday** — their personal assistant. She talks with them, hands bots the work that takes time, and tells them what comes back.
|
|
7
|
+
- ${E}
|
|
8
|
+
- **Everyone on it** keeps their own work and conversation; the others see only the messages sent to them.${F}
|
|
9
9
|
|
|
10
|
-
|
|
10
|
+
**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.
|
|
11
|
+
|
|
12
|
+
**Never present a guess as a result.** Thursday says what you return out loud, as fact: say which part is unverified and why.`),(w=M,`## Thursday's memory of the user
|
|
13
|
+
|
|
14
|
+
What Thursday keeps from talking with them. When the job needs something about them, open the note with \`${f.TOOL_NAMES.memory_recall}\`; a fact marked \`said\` came from a call, and \`${f.TOOL_NAMES.memory_conversation}\` opens that call. What you learn about them goes in your answer — Thursday decides what to keep.
|
|
11
15
|
|
|
12
16
|
path — what is under it (facts) "what the user calls it"
|
|
13
17
|
|
|
14
|
-
${(0,q.noteLines)(
|
|
18
|
+
${(0,q.noteLines)(w)}`),function(a,b){let c=new Set(b.map(a=>`${a.server}/${a.name}`)),d=a.filter(a=>!c.has(`${a.server}/${a.name}`));if(0===d.length)return"";let e=c.size?" The ones you already hold are in your tools instead.":"";return`## Connected tools
|
|
15
19
|
|
|
16
20
|
${(0,q.mcpToolLines)(d)}
|
|
17
21
|
|
|
18
|
-
Names only: \`${f.TOOL_NAMES.tool_search}\` returns what each one takes, \`${f.TOOL_NAMES.tool_call}\` runs one.${e}`}(
|
|
22
|
+
Names only: \`${f.TOOL_NAMES.tool_search}\` returns what each one takes, \`${f.TOOL_NAMES.tool_call}\` runs one.${e}`}(N,O),(x=L,0===x.length?"":`## Skills
|
|
23
|
+
|
|
24
|
+
Written-down ways of doing things. Open one with \`${f.TOOL_NAMES.load_skill}\` before a job it covers, unless its instructions are already in your conversation.
|
|
19
25
|
|
|
20
|
-
|
|
26
|
+
${(0,q.skillLines)(x)}`),u(J.cwd,S,r),R?(y=(0,g.botMemoryFolder)(K),G=(z=Q).entries.length?z.entries.map(({file:a,line:b,at:c})=>{let f=b?` — ${(0,o.clip)(b,e.PROMPT_LINE.botMemory)}`:"";return`- ${a}${f} \xb7 ${(0,d.format)((0,m.toDate)(c),"yyyy-MM-dd")}`}).join("\n"):"Empty.",H=z.total>z.entries.length?`
|
|
21
27
|
|
|
22
|
-
${
|
|
28
|
+
The newest ${z.entries.length} of ${z.total}; \`ls ${y}\` for the rest.`:"",`## Your memory
|
|
23
29
|
|
|
24
|
-
|
|
30
|
+
What you learned on your own earlier jobs, in \`${y}/\`: one topic per file, its first line saying what it holds, read by no other bot, up to ${e.BOT_MEMORY_LIMITS.files} files of ${e.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.
|
|
25
31
|
|
|
26
|
-
|
|
32
|
+
${G}${H}`):"",(A=T,0===A.length?"":`## Bots
|
|
27
33
|
|
|
28
|
-
${
|
|
34
|
+
${A.map(a=>`- **${a.name}** — ${a.description}`).join("\n")}
|
|
29
35
|
|
|
30
|
-
|
|
36
|
+
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 \`${f.TOOL_NAMES.send_message}\` rather than rebuilding it yourself.`),(B=K,C=c,I=(C?.owner??B)===B?"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
|
|
31
37
|
|
|
32
|
-
|
|
38
|
+
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.
|
|
33
39
|
|
|
34
|
-
|
|
35
|
-
${X}`),{text:X,peers:W.map(a=>a.name),opening:null}}[h,i,j,p]=r.then?(await r)():r;let u=`- **The user** — the one person all of this is for. They talk with Thursday by voice, and they follow this job on their screen.
|
|
36
|
-
- **Thursday** — their own personal assistant, one to one. She holds the conversation with them, hands bots the work that takes time, and tells them what comes back.`,v=`**You are on a real computer — the user's own.** You have a shell and a filesystem, and the job is done, not described: where there is no tool for something, write one — in \`node\` unless they asked for another language, the runtime this app itself runs on. Reach for \`${f.TOOL_NAMES.bash}\` before concluding that something cannot be done, but after the roster, not instead of it: a script you write to do another bot's job is the long way round.
|
|
40
|
+
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.
|
|
37
41
|
|
|
38
|
-
|
|
42
|
+
${I}
|
|
39
43
|
|
|
40
|
-
|
|
44
|
+
Write in the user's language. Put finished work in \`${(0,l.botArtifacts)(B)}/\` 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/${e.PATHS.artifacts}/…\`).`),t(b)].filter(Boolean).join("\n\n");return(0,q.logPromptSize)("bot",U),n.logger.debug(`bot prompt
|
|
45
|
+
${U}`),{text:U}}[h,i,j,p]=r.then?(await r)():r;let t=a=>a?.trim()?`## Owner's instructions
|
|
41
46
|
|
|
42
47
|
Written by the person this bot works for. Where these and anything above disagree, these win.
|
|
43
48
|
|
|
44
|
-
${a.trim()}`:"",
|
|
49
|
+
${a.trim()}`:"",u=(a,b,c)=>{var d;let g,h;return`## Environment
|
|
45
50
|
|
|
46
51
|
Current Cwd: ${a}
|
|
47
52
|
Platform: ${process.platform}
|
|
48
|
-
${d=b,g=(a,b)=>`${a}: ${b.found.length?b.found.join(", "):"none"}.${b.missing.length?` Not here: ${b.missing.join(", ")}.`:""}`,h=d.managers.found.includes("pnpm")?" Use pnpm, not npm — this workspace is fenced for it (`pnpm-workspace.yaml`, `.npmrc`).":"",[g("Runtimes",d.runtimes),`${g("Package managers",d.managers)}${h}`,null===d.browser?"":d.browser?"
|
|
49
|
-
|
|
50
|
-
Read off this machine as the job opened, so it is current: reach for what is here instead of checking for it.
|
|
51
|
-
|
|
52
|
-
Your workspace — \`${f.TOOL_NAMES.bash}\` runs here. Everything you write goes in one of these, and they are kept apart because what is in them lives for different lengths of time:
|
|
53
|
-
|
|
54
|
-
- \`${e.PATHS.artifacts}/\` — finished work the user opens, one entry per result. Theirs, and it stays.
|
|
55
|
-
- \`${e.PATHS.projects}/\` — code you build, one folder each. It outlives this job, and a project's dependencies install inside it, never at the workspace root.
|
|
56
|
-
- \`${c?.scratch??e.PATHS.scratch}/\` — this job's working material, one folder for every bot on the job: what another bot on it wrote is here too. It is cleared ${Math.round(e.WORKSPACE_KEEP.forMs/864e5)} days after the job ends, so nothing here is worth keeping.
|
|
57
|
-
- \`${c?.own??e.PATHS.bots}/\` — yours, across every job you run here: your memory, a script you wrote once and will want again, a table you built.
|
|
58
|
-
|
|
59
|
-
Never the directory above — that is the app you run in; outside the workspace, only where the user pointed you.`},z=`## Asking
|
|
60
|
-
|
|
61
|
-
What you cannot get for yourself — a decision between real options, a detail only the conversation has, a go-ahead before deleting or sending — goes to \`${f.TOOL_NAMES.ask_thursday}\`, once, with everything in it. Ask before you start, not after an hour; never ask what one command would tell you.
|
|
62
|
-
|
|
63
|
-
A job that arrives without its shape — several ways to do it, no telling what it is for, a scale nobody named — is planned before it is built: put the plan up in two or three lines with what you need decided. A job asked for as one thing is built, not proposed.
|
|
64
|
-
|
|
65
|
-
Only what is theirs alone stops the job: a password, a one-time code, a passkey, a permission on their machine. Set it up one action away, ask, and carry on when the answer comes back.`,A=a=>`## Asking
|
|
66
|
-
|
|
67
|
-
What you cannot get for yourself goes to \`${f.TOOL_NAMES.ask_back}\`: ${a} handed you this part and answers from what they have. They cannot take a question to the user, so for what is the user's alone take the safer reading and say so in what you hand back. Ask before you start, once, whole.`,B=`## Answering
|
|
68
|
-
|
|
69
|
-
Every job ends with \`${f.TOOL_NAMES.answer}\`. **Answer what was asked, at the size it was asked**: a question ends in its answer — one number is one line — and a thing to make comes back made, an action done, photos in a page, a comparison in a table. Once you have what they asked for the job is done; the next thing you would go and check is theirs to ask for.
|
|
53
|
+
${d=b,g=(a,b)=>`${a}: ${b.found.length?b.found.join(", "):"none"}.${b.missing.length?` Not here: ${b.missing.join(", ")}.`:""}`,h=d.managers.found.includes("pnpm")?" Use pnpm, not npm — this workspace is fenced for it (`pnpm-workspace.yaml`, `.npmrc`).":"",[g("Runtimes",d.runtimes),`${g("Package managers",d.managers)}${h}`,null===d.browser?"":`Browser: ${d.browser?"installed":"not installed"}.`].filter(Boolean).join("\n")}
|
|
70
54
|
|
|
71
|
-
|
|
55
|
+
Read off this machine as the job opened: what is already here, not the limit of what you can use.
|
|
72
56
|
|
|
73
|
-
|
|
57
|
+
Your workspace, where \`${f.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:
|
|
74
58
|
|
|
75
|
-
|
|
59
|
+
- \`${c?.artifacts??e.PATHS.artifacts}/\` — finished work the user opens, one entry per result. Theirs, and it stays.
|
|
60
|
+
- \`${e.PATHS.projects}/\` — code you build, one folder each; it outlives this job, and its dependencies install inside it, never at the workspace root.
|
|
61
|
+
- \`${c?.scratch??e.PATHS.scratch}/\` — this job's working material, shared by every bot on it; cleared ${Math.round(e.WORKSPACE_KEEP.forMs/864e5)} days after the job ends.
|
|
62
|
+
- \`${c?.own??e.PATHS.bots}/\` — yours across every job you run here: what you keep for next time.
|
|
76
63
|
|
|
77
|
-
${a.
|
|
64
|
+
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.`};a.s(["buildThreadOpening",0,function(a){let b="user"===a.from?"The user":"Thursday";return[{type:"text",text:`You are ${a.bot}. ${b} hands you this thread${"user"===a.from?" on screen":" during a call"}.`},{type:"text",text:`## ${b} → ${a.bot}: the job
|
|
78
65
|
|
|
79
|
-
${a.
|
|
66
|
+
${a.request.trim()}`}]},"loadBotPrompt",0,s]),c()}catch(a){c(a)}},!1),938934,a=>{"use strict";var b=a.i(12208),c=a.i(868468),d=a.i(569572),e=a.i(762008);e.TOOL_NAMES.memory_recall,e.TOOL_NAMES.memory_remember,e.TOOL_NAMES.memory_forget,e.TOOL_NAMES.bash,e.TOOL_NAMES.web_search,e.TOOL_NAMES.load_skill,e.TOOL_NAMES.end_call;var f=a.i(706210),g=a.i(176668),h=a.i(987674),i=a.i(182248);let j=(a=new Date)=>`${(0,b.format)(a,"yyyy-MM-dd (EEE) HH:mm")} ${Intl.DateTimeFormat().resolvedOptions().timeZone}`,k=(a=new Date)=>`**Now**: ${j(a)}`,l=a=>`${(0,b.format)(a,"yyyy-MM-dd (EEE) HH:mm")} (${(0,c.formatDistanceToNowStrict)(a,{addSuffix:!0})})`,m={[e.STUDIO_TOOLS.generate_image]:"images",[e.STUDIO_TOOLS.generate_speech]:"speech",[e.STUDIO_TOOLS.transcribe]:"transcription",[e.STUDIO_TOOLS.generate_video]:"video"};a.s(["callEnding",0,()=>"IMPORTANT: When the user wants to end the call — they ask you to hang up, or say goodbye — set everything else aside, say a brief okay and end the call at once.","callStamp",0,l,"carriedLines",0,(a,b={})=>a.map(a=>`- ${a.text} \xb7 ${a.path}${!1===b.ids?"":` #${a.id}`}`).join("\n"),"clockNow",0,j,"conversationLines",0,a=>a.map(a=>"tool"===a.role?`you → ${a.tool??"tool"}`:`${"user"===a.role?"user":"you"}: ${a.text}`).join("\n"),"expandedFacts",0,function(a,b){let c=a.filter(a=>b.has(a.id)),e=a.filter(a=>!b.has(a.id)),f=Math.max(0,d.MEMORY_LIMITS.expanded-c.length),g=new Set([...c,...e.slice(Math.max(0,e.length-f))].map(a=>a.id)),h=a.filter(a=>g.has(a.id));return{shown:h,hidden:a.length-h.length}},"logPromptSize",0,function(a,b){let c=(0,h.sectionTokens)(b),e=c.reduce((a,b)=>a+b.tokens,0);g.logger.debug(`${a} prompt ${e} tokens — ${c.map(a=>`${a.name} ${a.tokens}`).join(", ")}`);let f=c[0];e>d.PROMPT_BUDGET&&f&&g.logger.warn(`${a} prompt is ${e} tokens, over ${d.PROMPT_BUDGET}: ${f.name} carries ${f.tokens} of it. Every call and every job pays this.`)},"mcpToolLines",0,function(a){let b=new Map;for(let c of a){let a=b.get(c.server);a?a.push(c.name):b.set(c.server,[c.name])}return[...b].map(([a,b])=>`- **${a}**: ${b.join(", ")}`).join("\n")},"noteLines",0,function(a,b=!1){return a.length?a.map(a=>{var c;let d,e=a.aliases?.length?` ${a.aliases.map(a=>`"${a}"`).join(" ")}`:"",g=b?` \xb7 ${c=a.lastSeenAt,(d=Math.floor((Date.now()-(0,f.toDate)(c).getTime())/864e5))>=365?`${Math.floor(d/365)}y`:d>=30?`${Math.floor(d/30)}mo`:`${Math.max(d,0)}d`}`:"";return`- ${a.path} — ${a.description?.trim()} (${a.factCount})${e}${g}`}).join("\n"):"(nothing saved yet)"},"nowLine",0,k,"reachNames",0,function(a,b){let c=b.map(a=>a.server===d.STUDIO_SERVER?m[a.name]??a.name:a.server);return[...new Set([...a.map(a=>a.name),...c])].join(", ")},"recentCallLines",0,function(a,b){let c=[],f=0;a:for(let g=a.length-1;g>=0;g--){let j=a[g];for(let a=j.turns.length-1;a>=0;a--){let g=function(a,b){if("tool"!==a.role)return`${"user"===a.role?"user":"you"}: ${a.text}`;let c=`you → ${a.tool??"tool"} ${(0,i.clip)(a.text,d.PROMPT_LINE.toolArgs)}`;if(a.tool!==e.TOOL_NAMES.delegate)return c;let f=function(a,b){if(a!==e.TOOL_NAMES.delegate)return null;try{let a=JSON.parse(b);return"string"==typeof a.label?a.label:null}catch{return null}}(a.tool,a.text),g=f?b.jobs?.find(a=>a.label===f):void 0;if(!g)return c;let h=g.outcome?`: ${(0,i.clip)(g.outcome,d.PROMPT_LINE.jobOutcome)}`:"";return`you → ${a.tool} "${g.label}" (${g.id}) — ${g.status}${h}`}(j.turns[a],j),k=(0,h.estimateTokens)(g)+3;if(f+k>b&&c.length)break a;f+=k,c.push({call:j,line:g})}}c.reverse();let g=[],j=null;for(let{call:a,line:b}of c)a!==j&&(j=a,g.push(`### ${l(a.startedAt)}`)),g.push(b);return g.join("\n")},"saidStamp",0,a=>(0,b.format)(a,"yyyy-MM-dd (EEE) HH:mm"),"skillLines",0,(a,b={})=>a.map(a=>{var c;let e,f;return`- **${a.name}**: ${b.short?(c=a.description,e=d.PROMPT_LINE.skill,(f=c.trim().split(/(?<=[.。])\s|\n/)[0].trim()).length>e?`${f.slice(0,e).trim()}…`:f):a.description}`}).join("\n"),"thursdayIdentity",0,(a=new Date)=>`You are Thursday, this user's own personal assistant, on their side, modeled on Friday, the AI in *Iron Man*. ${k(a)}
|
|
80
67
|
|
|
81
|
-
|
|
68
|
+
What they tell you is kept from call to call, so you know them better each time, and whatever they want done can be done for them in the background.`,"tidying",0,a=>({crowded:a.reduce((a,b)=>a+b.factCount,0)>d.MEMORY_LIMITS.facts,heavy:a.filter(a=>a.factCount>d.MEMORY_LIMITS.factsPerNote)})],938934)},978876,a=>{"use strict";var b=a.i(794219),c=a.i(569572),d=a.i(762008),e=a.i(446957),f=a.i(109955);let g={name:d.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:b.object({bot:b.string().describe("A name from the bot list."),request:b.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:b.string().describe("Two or three words naming the job, in the user's language. Used on screen and said out loud.")})},h={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:f.RoomMessageSchema.extend({kind:f.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:f.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:b.string().trim().min(1).describe("Choose a bot from the roster, or Thursday to reach the user."),text:b.string().trim().min(1).describe("Write the message and include the context the recipient needs."),replyTo:b.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.")})},i={name:d.TOOL_NAMES.thread,description:`List up to ${c.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:b.object({action:b.enum(["status","answer","cancel","open","seen"]),recipient:b.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:b.string().nullish().describe("With answer, use the message ID of the question being answered when several questions are open."),thread:b.string().nullish().describe(`Identify the job by label or ID. With status, omit or use null to list up to ${c.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:b.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. \`${e.THREAD_CONTINUE}\` carries on a job that stopped before finishing, from where it was.`)})};a.s(["delegateSpec",0,g,"sendMessageSpec",0,h,"threadSpec",0,i])},375827,a=>{"use strict";var b=a.i(527990),c=a.i(794219),d=a.i(762008);let e={name:d.TOOL_NAMES.end_call,description:`End the call.
|
|
82
69
|
|
|
83
|
-
A detail missing from the job may be here — a name, a number, which of two. Where the two disagree the job wins, unless they asked out loud for something to be done and the job only asks about it: then the doing is the job.
|
|
84
|
-
|
|
85
|
-
${b.map(a=>`${"user"===a.role?"user":"thursday"}: ${(0,o.clip)(a.text,e.PROMPT_LINE.callTurn)}`).join("\n")}`:"";return[{type:"text",text:t([a.bot],a.from)},{type:"text",text:[d,f].filter(Boolean).join("\n\n")}]},"chainOf",0,function(a){return a?.role!=="user"?"":"string"==typeof a.content?a.content:a.content.flatMap(a=>"text"===a.type?[a.text]:[]).at(-1)??""},"loadBotPrompt",0,s]),c()}catch(a){c(a)}},!1),938934,a=>{"use strict";var b=a.i(12208),c=a.i(868468),d=a.i(569572),e=a.i(762008);e.TOOL_NAMES.memory_recall,e.TOOL_NAMES.memory_remember,e.TOOL_NAMES.memory_forget,e.TOOL_NAMES.bash,e.TOOL_NAMES.web_search,e.TOOL_NAMES.load_skill,e.TOOL_NAMES.end_call;var f=a.i(706210),g=a.i(176668),h=a.i(987674),i=a.i(182248);let j=(a=new Date)=>`${(0,b.format)(a,"yyyy-MM-dd (EEE) HH:mm")} ${Intl.DateTimeFormat().resolvedOptions().timeZone}`,k=a=>`${(0,b.format)(a,"yyyy-MM-dd (EEE) HH:mm")} (${(0,c.formatDistanceToNowStrict)(a,{addSuffix:!0})})`;a.s(["callStamp",0,k,"carriedLines",0,a=>a.map(a=>`- ${a.text} \xb7 ${a.path} #${a.id}`).join("\n"),"clockNow",0,j,"conversationLines",0,a=>a.map(a=>"tool"===a.role?`you → ${a.tool??"tool"}`:`${"user"===a.role?"user":"you"}: ${a.text}`).join("\n"),"logPromptSize",0,function(a,b){let c=(0,h.sectionTokens)(b),e=c.reduce((a,b)=>a+b.tokens,0);g.logger.debug(`${a} prompt ${e} tokens — ${c.map(a=>`${a.name} ${a.tokens}`).join(", ")}`);let f=c[0];e>d.PROMPT_BUDGET&&f&&g.logger.warn(`${a} prompt is ${e} tokens, over ${d.PROMPT_BUDGET}: ${f.name} carries ${f.tokens} of it. Every call and every job pays this.`)},"mcpServerLines",0,function(a){let b=new Map;for(let c of a)b.set(c.server,(b.get(c.server)??0)+1);return[...b].map(([a,b])=>`- **${a}**: ${b} tool${1===b?"":"s"}`).join("\n")},"mcpToolLines",0,function(a){let b=new Map;for(let c of a){let a=b.get(c.server);a?a.push(c.name):b.set(c.server,[c.name])}return[...b].map(([a,b])=>`- **${a}**: ${b.join(", ")}`).join("\n")},"noteLines",0,function(a,b=!1){return a.length?a.map(a=>{var c;let d,e=a.aliases?.length?` ${a.aliases.map(a=>`"${a}"`).join(" ")}`:"",g=b?` \xb7 ${c=a.lastSeenAt,(d=Math.floor((Date.now()-(0,f.toDate)(c).getTime())/864e5))>=365?`${Math.floor(d/365)}y`:d>=30?`${Math.floor(d/30)}mo`:`${Math.max(d,0)}d`}`:"";return`- ${a.path} — ${a.description?.trim()} (${a.factCount})${e}${g}`}).join("\n"):"(nothing saved yet)"},"nowLine",0,(a=new Date)=>`**Now**: ${j(a)}`,"recentCallLines",0,function(a,b){let c=[],f=0;a:for(let g=a.length-1;g>=0;g--){let j=a[g];for(let a=j.turns.length-1;a>=0;a--){let g=function(a,b){if("tool"!==a.role)return`${"user"===a.role?"user":"you"}: ${a.text}`;let c=`you → ${a.tool??"tool"} ${(0,i.clip)(a.text,d.PROMPT_LINE.toolArgs)}`;if(a.tool!==e.TOOL_NAMES.delegate)return c;let f=function(a,b){if(a!==e.TOOL_NAMES.delegate)return null;try{let a=JSON.parse(b);return"string"==typeof a.label?a.label:null}catch{return null}}(a.tool,a.text),g=f?b.jobs?.find(a=>a.label===f):void 0;if(!g)return c;let h=g.outcome?`: ${(0,i.clip)(g.outcome,d.PROMPT_LINE.jobOutcome)}`:"";return`you → ${a.tool} "${g.label}" (${g.id}) — ${g.status}${h}`}(j.turns[a],j),k=(0,h.estimateTokens)(g)+3;if(f+k>b&&c.length)break a;f+=k,c.push({call:j,line:g})}}c.reverse();let g=[],j=null;for(let{call:a,line:b}of c)a!==j&&(j=a,g.push(`### ${k(a.startedAt)}`)),g.push(b);return g.join("\n")},"saidStamp",0,a=>(0,b.format)(a,"yyyy-MM-dd (EEE) HH:mm"),"skillLines",0,(a,b={})=>a.map(a=>{var c;let e,f;return`- **${a.name}**: ${b.short?(c=a.description,e=d.PROMPT_LINE.skill,(f=c.trim().split(/(?<=[.。])\s|\n/)[0].trim()).length>e?`${f.slice(0,e).trim()}…`:f):a.description}`}).join("\n"),"tidying",0,a=>({crowded:a.reduce((a,b)=>a+b.factCount,0)>d.MEMORY_LIMITS.facts,heavy:a.filter(a=>a.factCount>d.MEMORY_LIMITS.factsPerNote)})],938934)},375827,a=>{"use strict";var b=a.i(527990),c=a.i(794219),d=a.i(762008);let e={name:d.TOOL_NAMES.end_call,description:`End the call.
|
|
86
|
-
|
|
87
|
-
Say goodbye first — nothing said after this reaches the user.`,parameters:c.object({})},f=(0,b.tool)({description:e.description,inputSchema:e.parameters}),g={[d.TOOL_NAMES.end_call]:f};a.s(["CALL_TOOLS",0,g])},138902,a=>a.a(async(b,c)=>{try{var d=a.i(527990),e=a.i(794219),f=a.i(762008),g=a.i(947950),h=a.i(644468),i=b([g,h]);[g,h]=i.then?(await i)():i;let l={[f.TOOL_NAMES.tool_search]:{name:f.TOOL_NAMES.tool_search,description:`Return the description and exact inputSchema of tools on a connected server, so they can be called with \`${f.TOOL_NAMES.tool_call}\`.`,parameters:e.object({server:e.string().describe("A server name, exactly as the Connected tools section writes it."),tools:e.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.")})},[f.TOOL_NAMES.tool_call]:{name:f.TOOL_NAMES.tool_call,description:`Run one tool whose definition came back from \`${f.TOOL_NAMES.tool_search}\`.`,parameters:e.object({server:e.string().describe("The server the tool lives on."),tool:e.string().describe("Its name, as search returned it."),args:e.record(e.string(),e.unknown()).nullish().describe("Arguments matching the inputSchema search returned — do not guess. Null when it takes none."),description:e.string().nullish().describe("One short line for the user: what this call is for. Shown on their screen while it runs.")})}},m=(a,b)=>`${a.replace(/[^a-zA-Z0-9]+/g,"_")}__${b.replace(/[^a-zA-Z0-9_-]+/g,"_")}`.slice(0,64);async function j(a,b){let[c,e]=await Promise.all([(0,h.listConnectedToolNames)(),(0,g.findPinnedTools)(a)]),f={};for(let a of e){let c=m(a.server,a.name);f[c]||(f[c]=(0,d.tool)({description:a.description??`${a.name} on the ${a.server} server.`,inputSchema:(0,d.jsonSchema)(a.inputSchema??{type:"object",properties:{}}),execute:(c,{abortSignal:d})=>(0,h.callConnectedTool)(b,a.server,a.name,c??void 0,d)}))}return c.length>e.length&&Object.assign(f,n(b)),f}async function k(a){let b=(await (0,h.listConnectedToolNames)(a)).map(a=>a.name);if(b.length)return`Tools on "${a}": ${b.join(", ")}.`;let c=await (0,h.listConnectedServerNames)();return c.length?`There is no server called "${a}". Connected: ${c.join(", ")}.`:"Nothing is connected."}let n=a=>({[f.TOOL_NAMES.tool_search]:(0,d.tool)({description:l[f.TOOL_NAMES.tool_search].description,inputSchema:l[f.TOOL_NAMES.tool_search].parameters,execute:async({server:a,tools:b})=>{let c=[...new Set(b.map(a=>a.trim()).filter(Boolean))],d=c.slice(0,8),e=await (0,h.findConnectedSchemas)(a.trim(),d);if(!e.length)return{tools:[],note:await k(a)};let f=d.filter(a=>!e.some(b=>b.name===a)),g=c.slice(8),i=[f.length?`Not on "${a}": ${f.join(", ")}.`:"",g.length?`Only 8 at a time — ask again for: ${g.join(", ")}.`:""].filter(Boolean);return{tools:e,...i.length?{note:i.join(" ")}:{}}}}),[f.TOOL_NAMES.tool_call]:(0,d.tool)({description:l[f.TOOL_NAMES.tool_call].description,inputSchema:l[f.TOOL_NAMES.tool_call].parameters,execute:async({server:b,tool:c,args:d},{abortSignal:e})=>(await (0,h.listConnectedToolNames)(b.trim())).some(a=>a.name===c.trim())?(0,h.callConnectedTool)(a,b.trim(),c.trim(),d??void 0,e):{status:"error",text:await k(b)}})});a.s(["createMcpTools",0,j]),c()}catch(a){c(a)}},!1),345846,a=>a.a(async(b,c)=>{try{var d=a.i(527990),e=a.i(794219),f=a.i(569572),g=a.i(938934),h=a.i(762008),i=a.i(986743),j=a.i(661210),k=a.i(569549),l=b([i,k]);[i,k]=l.then?(await l)():l;let m=a=>({...a,facts:a.facts.map(({saidAt:a,...b})=>a?{...b,said:(0,g.saidStamp)(a)}:b),factCount:a.facts.length}),n=a=>"user"===a?"Typed on the screen — there is no conversation behind it.":"bot"===a?"Saved by a bot during a job — there is no conversation behind it.":"The conversation it was saved in is not kept.",o=a=>a>f.MEMORY_LIMITS.factsPerNote?` This note now holds ${a} facts, past the ${f.MEMORY_LIMITS.factsPerNote} one note holds well. Ask the user which of it is no longer true and delete what they name.`:"";a.s(["createMemoryTools",0,(a,b=null,{countReads:c=!0}={})=>({[h.TOOL_NAMES.memory_recall]:(0,d.tool)({description:"Open one note from the listing, whole.",inputSchema:e.object({path:e.string().describe("Exactly as the listing writes it — the path, or one of the names in quotes after it.")}),execute:async({path:a})=>{let{notes:b}=await (0,i.readNotes)([a],{touch:c}),d=b[0];if(!d)return{note:`Nothing on the listing called ${a.trim()}.`};let e=o(d.facts.length);return e?{...m(d),note:e.trim()}:m(d)}}),[h.TOOL_NAMES.memory_remember]:(0,d.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:e.object({path:e.string().describe("Exactly as the listing writes it, or a new path following the same convention."),facts:e.object({text:e.string().describe('One statement that stands on its own later — a date as a date, never "next week".'),replaces:e.number().int().nullish().describe("The id of the fact this replaces — from this note as handed back here or by `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:e.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 ${f.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:e.string().nullish().describe(`One line saying what this note is about, not what it currently says. Give it for a new note, or when the line no longer fits. Null leaves it; ${j.APP_NAMED_NOTES.join(", ")} keep their own line.`),aliases:e.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/yuri might be "Yuri" and "my wife". Replaces the set it has, so send the whole set. Null leaves it.')}),execute:async c=>{let d=c.path.trim(),e=await (0,i.resolveNotePath)(d),g=c.aliases??null,h=e??d,k=(0,j.isAppNamed)(h)?(0,j.appNoteLine)(h):c.description?.trim()||null,l=c.facts??[];if(!l.length&&!k&&!g)return{note:"Nothing to write: send facts, a line, names, or any of them."};if(!e&&!l.length)return{note:`Nothing on the listing called ${d}. A note comes into being with a fact — send at least one.`};let n=!e&&!(0,j.isMemoryPath)(d),p=n?{path:j.MEMORY_INBOX,description:(0,j.appNoteLine)(j.MEMORY_INBOX),facts:l}:{path:h,description:k,aliases:g,facts:l},q=await (0,i.writeNotes)([p],a,b),r=n?` Filed under ${p.path}: "${d}" is not a path this listing can carry. If that is not where it belongs, write it again under one that is.`:"",s=q.unnamed.length?` ${q.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).`:"",t=q.notLoaded.length?` All ${f.MEMORY_LIMITS.carried} carried lines are taken, so ${q.notLoaded.map(a=>`"${a}"`).join(", ")} saved as an ordinary fact. Say which carried line you would drop for it and let them choose.`:"",u=m(q.notes[0]);return{...u,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.${r}${s}${t}${o(u.factCount)}`}}}),[h.TOOL_NAMES.memory_conversation]:(0,d.tool)({description:"Open the conversation a fact was saved in, whole: what each side said, and which tools were used.",inputSchema:e.object({factId:e.number().int().describe("The id that came with the fact when its note was opened."),page:e.number().int().min(1).nullish().describe(`${f.MEMORY_CONVERSATION_PAGE} turns a page, oldest first. Null for the first.`)}),execute:async({factId:a,page:c})=>{let d=await (0,i.findFactCall)(a);if(!d)return{note:`No fact with id ${a}.`};if(!d.callId)return{note:n(d.source)};if(d.callId===b)return{note:"Said in this call — it is the conversation you are in."};let e=c??1,h=await (0,k.readCallConversation)(d.callId,e,f.MEMORY_CONVERSATION_PAGE);if(!h)return{note:n(d.source)};let j=Math.max(1,Math.ceil(h.total/f.MEMORY_CONVERSATION_PAGE));return e>j?{note:`That conversation has ${j} page${j>1?"s":""}.`}:{when:(0,g.callStamp)(h.startedAt),page:e,pages:j,conversation:(0,g.conversationLines)(h.turns)}}}),[h.TOOL_NAMES.memory_forget]:(0,d.tool)({description:"Delete facts for good.",inputSchema:e.object({factIds:e.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:a})=>{let b=[],c=[],d=new Set;for(let e of new Set(a)){let a=await (0,i.forgetFactById)(e);if(!a){b.push(e);continue}a.noteGone?(d.delete(a.path),c.push(a.path)):d.add(a.path)}if(!c.length&&!d.size)return{note:`No fact with id ${b.join(", ")}. Nothing was deleted.`};let e=["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===c.length?`That was the last fact under ${c[0]}, so the note went with it.`:c.length?`That was the last of ${c.join(", ")}, so those notes went with them.`:"",b.length?`No fact with id ${b.join(", ")}, so those were skipped.`:""].filter(Boolean).join(" ");if(!d.size)return{note:e};let{notes:f}=await (0,i.readNotes)([...d],{touch:!1});return{notes:f.map(m),note:e}}})})]),c()}catch(a){c(a)}},!1),622547,a=>a.a(async(b,c)=>{try{var d=a.i(47919),e=a.i(527990),f=a.i(723885),g=a.i(569572),h=a.i(762008),i=a.i(688034),j=a.i(725466),k=a.i(182248),l=b([j]);[j]=l.then?(await l)():l;let o=`Answer the question from the web. Lead with the answer, then
|
|
70
|
+
The line stays open until this runs, and drops once the goodbye being said is over.`,parameters:c.object({})},f=(0,b.tool)({description:e.description,inputSchema:e.parameters}),g={[d.TOOL_NAMES.end_call]:f};a.s(["CALL_TOOLS",0,g])},138902,a=>a.a(async(b,c)=>{try{var d=a.i(527990),e=a.i(794219),f=a.i(762008),g=a.i(947950),h=a.i(821415),i=a.i(644468),j=b([g,i]);[g,i]=j.then?(await j)():j;let m={[f.TOOL_NAMES.tool_search]:{name:f.TOOL_NAMES.tool_search,description:`Return the description and exact inputSchema of tools on a connected server, so they can be called with \`${f.TOOL_NAMES.tool_call}\`.`,parameters:e.object({server:e.string().describe("A server name, exactly as the Connected tools section writes it."),tools:e.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.")})},[f.TOOL_NAMES.tool_call]:{name:f.TOOL_NAMES.tool_call,description:`Run one tool whose definition came back from \`${f.TOOL_NAMES.tool_search}\`.`,parameters:e.object({server:e.string().describe("The server the tool lives on."),tool:e.string().describe("Its name, as search returned it."),args:e.record(e.string(),e.unknown()).nullish().describe("Arguments matching the inputSchema search returned — do not guess. Null when it takes none."),description:e.string().nullish().describe("One short line for the user: what this call is for. Shown on their screen while it runs.")})}},n=(a,b)=>`${a.replace(/[^a-zA-Z0-9]+/g,"_")}__${b.replace(/[^a-zA-Z0-9_-]+/g,"_")}`.slice(0,64);async function k(a,b){let[c,e]=await Promise.all([(0,i.listConnectedToolNames)(),(0,g.findPinnedTools)(a)]),f={},j=(0,h.botArtifacts)(a);for(let a of e){let c=n(a.server,a.name);f[c]||(f[c]=(0,d.tool)({description:a.description??`${a.name} on the ${a.server} server.`,inputSchema:(0,d.jsonSchema)(a.inputSchema??{type:"object",properties:{}}),execute:(c,{abortSignal:d})=>(0,i.callConnectedTool)(b,a.server,a.name,c??void 0,{artifacts:j,abortSignal:d})}))}return c.length>e.length&&Object.assign(f,o(b,j)),f}async function l(a){let b=(await (0,i.listConnectedToolNames)(a)).map(a=>a.name);if(b.length)return`Tools on "${a}": ${b.join(", ")}.`;let c=await (0,i.listConnectedServerNames)();return c.length?`There is no server called "${a}". Connected: ${c.join(", ")}.`:"Nothing is connected."}let o=(a,b)=>({[f.TOOL_NAMES.tool_search]:(0,d.tool)({description:m[f.TOOL_NAMES.tool_search].description,inputSchema:m[f.TOOL_NAMES.tool_search].parameters,execute:async({server:a,tools:b})=>{let c=[...new Set(b.map(a=>a.trim()).filter(Boolean))],d=c.slice(0,8),e=await (0,i.findConnectedSchemas)(a.trim(),d);if(!e.length)return{tools:[],note:await l(a)};let f=d.filter(a=>!e.some(b=>b.name===a)),g=c.slice(8),h=[f.length?`Not on "${a}": ${f.join(", ")}.`:"",g.length?`Only 8 at a time — ask again for: ${g.join(", ")}.`:""].filter(Boolean);return{tools:e,...h.length?{note:h.join(" ")}:{}}}}),[f.TOOL_NAMES.tool_call]:(0,d.tool)({description:m[f.TOOL_NAMES.tool_call].description,inputSchema:m[f.TOOL_NAMES.tool_call].parameters,execute:async({server:c,tool:d,args:e},{abortSignal:f})=>(await (0,i.listConnectedToolNames)(c.trim())).some(a=>a.name===d.trim())?(0,i.callConnectedTool)(a,c.trim(),d.trim(),e??void 0,{artifacts:b,abortSignal:f}):{status:"error",text:await l(c)}})});a.s(["createMcpTools",0,k]),c()}catch(a){c(a)}},!1),345846,a=>a.a(async(b,c)=>{try{var d=a.i(527990),e=a.i(794219),f=a.i(569572),g=a.i(938934),h=a.i(762008),i=a.i(986743),j=a.i(661210),k=a.i(569549),l=b([i,k]);[i,k]=l.then?(await l)():l;let m=j.MEMORY_PATHS.map(a=>a.path.endsWith("/")?`${a.path}<name>`:a.path).join(", "),n=a=>({...a,facts:a.facts.map(({saidAt:a,...b})=>a?{...b,said:(0,g.saidStamp)(a)}:b),factCount:a.facts.length}),o=a=>"user"===a?"Typed on the screen — there is no conversation behind it.":"bot"===a?"Saved by a bot during a job — there is no conversation behind it.":"The conversation it was saved in is not kept.",p=a=>a>f.MEMORY_LIMITS.factsPerNote?` This note now holds ${a} facts, past the ${f.MEMORY_LIMITS.factsPerNote} one note holds well. Ask the user which of it is no longer true and delete what they name.`:"";a.s(["createMemoryTools",0,(a,b=null,{countReads:c=!0}={})=>({[h.TOOL_NAMES.memory_recall]:(0,d.tool)({description:"Open one note from the listing, whole.",inputSchema:e.object({path:e.string().describe("Exactly as the listing writes it — the path, or one of the names in quotes after it.")}),execute:async({path:a})=>{let{notes:b}=await (0,i.readNotes)([a],{touch:c}),d=b[0];if(!d)return{note:`Nothing on the listing called ${a.trim()}.`};let e=p(d.facts.length);return e?{...n(d),note:e.trim()}:n(d)}}),[h.TOOL_NAMES.memory_remember]:(0,d.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:e.object({path:e.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:e.object({text:e.string().describe('One statement that stands on its own later — a date as a date, never "next week".'),replaces:e.number().int().nullish().describe(`The id of the fact this replaces — from this note as handed back here or by \`${h.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:e.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 ${f.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:e.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; ${j.MEMORY_ALWAYS_LISTED.join(", ")} keep their own line.`),aliases:e.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 c=>{let d=c.path.trim(),e=await (0,i.resolveNotePath)(d),g=c.aliases??null,h=e??d,k=(0,j.isAlwaysListed)(h)?(0,j.appNoteLine)(h):c.description?.trim()||null,l=c.facts??[];if(!l.length&&!k&&!g)return{note:"Nothing to write: send facts, a line, names, or any of them."};if(!e&&!(0,j.isMemoryPath)(d))return{note:`Nothing was saved: "${d}" is not a path this listing can carry. Write it again under one of ${m}.`};if(!e&&!l.length)return{note:`Nothing on the listing called ${d}. A note comes into being with a fact — send at least one.`};let o=await (0,i.writeNotes)([{path:h,description:k,aliases:g,facts:l}],a,b),q=o.unnamed.length?` ${o.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).`:"",r=o.notLoaded.length?` All ${f.MEMORY_LIMITS.carried} carried lines are taken, so ${o.notLoaded.map(a=>`"${a}"`).join(", ")} saved as an ordinary fact. Say which carried line you would drop for it and let them choose.`:"",s=n(o.notes[0]),t=e&&l.length&&!k?` Its line still reads "${s.description}"; if that no longer says what the note holds, send \`description\`.`:"";return{...s,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.${q}${r}${t}${p(s.factCount)}`}}}),[h.TOOL_NAMES.memory_conversation]:(0,d.tool)({description:"Open the conversation a fact was saved in, whole: what each side said, and which tools were used.",inputSchema:e.object({factId:e.number().int().describe("The id that came with the fact when its note was opened."),page:e.number().int().min(1).nullish().describe(`${f.MEMORY_CONVERSATION_PAGE} turns a page, oldest first. Null for the first.`)}),execute:async({factId:a,page:c})=>{let d=await (0,i.findFactCall)(a);if(!d)return{note:`No fact with id ${a}.`};if(!d.callId)return{note:o(d.source)};if(d.callId===b)return{note:"Said in this call — it is the conversation you are in."};let e=c??1,h=await (0,k.readCallConversation)(d.callId,e,f.MEMORY_CONVERSATION_PAGE);if(!h)return{note:o(d.source)};let j=Math.max(1,Math.ceil(h.total/f.MEMORY_CONVERSATION_PAGE));return e>j?{note:`That conversation has ${j} page${j>1?"s":""}.`}:{when:(0,g.callStamp)(h.startedAt),page:e,pages:j,conversation:(0,g.conversationLines)(h.turns)}}}),[h.TOOL_NAMES.memory_forget]:(0,d.tool)({description:"Delete facts for good.",inputSchema:e.object({factIds:e.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:a})=>{let b=[],c=[],d=new Set;for(let e of new Set(a)){let a=await (0,i.forgetFactById)(e);if(!a){b.push(e);continue}a.noteGone?(d.delete(a.path),c.push(a.path)):d.add(a.path)}if(!c.length&&!d.size)return{note:`No fact with id ${b.join(", ")}. Nothing was deleted.`};let e=["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===c.length?`That was the last fact under ${c[0]}, so the note went with it.`:c.length?`That was the last of ${c.join(", ")}, so those notes went with them.`:"",b.length?`No fact with id ${b.join(", ")}, so those were skipped.`:""].filter(Boolean).join(" ");if(!d.size)return{note:e};let{notes:f}=await (0,i.readNotes)([...d],{touch:!1});return{notes:f.map(n),note:e}}})})]),c()}catch(a){c(a)}},!1),622547,a=>a.a(async(b,c)=>{try{var d=a.i(47919),e=a.i(527990),f=a.i(723885),g=a.i(569572),h=a.i(762008),i=a.i(688034),j=a.i(725466),k=a.i(182248),l=b([j]);[j]=l.then?(await l)():l;let o=`Answer the question from the web. Lead with the answer, then
|
|
88
71
|
what supports it. Say plainly what you could not find or confirm — do not fill
|
|
89
72
|
the gap with a guess. Every number carries the date you saw it. Be brief: this
|
|
90
73
|
is read by another model, not by a person.`,p=f.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 m(a,b,c){let d=await fetch("https://api.exa.ai/search",{method:"POST",signal:c,headers:{"content-type":"application/json","x-api-key":a},body:JSON.stringify({query:b,type:"auto",numResults:g.SEARCH.sources,contents:{text:{maxCharacters:g.SEARCH.excerptChars},livecrawl:"fallback",livecrawlTimeout:5e3}})});if(!d.ok)return`Exa answered ${d.status}: ${(0,k.clip)((await d.text()).trim(),200)}`;let e=(await d.json()).results??[];return e.length?e.map(a=>{let b=[a.title?.trim(),a.url?.trim()].filter(Boolean).join(" — "),c=a.publishedDate?.slice(0,10);return[c?`${b} \xb7 ${c}`:b,a.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 n(a,b,c){let{text:e,sources:f}=await (0,d.generateText)({model:a.model,tools:a.tools,system:o,prompt:b,abortSignal:c}),h=[...new Set(f.flatMap(a=>"url"===a.sourceType?[a.title?`${a.title} — ${a.url}`:a.url]:[]))].slice(0,g.SEARCH.sources);return[e.trim(),h.length?`Sources:
|
|
91
|
-
${h.join("\n")}`:""].filter(Boolean).join("\n\n")}let q=async(a,b)=>{let c=await (0,j.readConfig)(i.EXA_API_KEY),d=a?.searchTools?{model:a.model,tools:a.searchTools}:null,l=c?(a,b)=>m(c,a,b):d?(a,b)=>n(d,a,b):null;return l?{[h.TOOL_NAMES.web_search]:(0,e.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:f.default.object({query:p}),execute:async({query:a},{abortSignal:c})=>{let d=AbortSignal.timeout(g.SEARCH.timeoutMs),e=c?AbortSignal.any([c,d]):d,f=await l(a,e).catch(a=>{if(c?.aborted)throw a;return d.aborted?`The search did not come back in ${g.SEARCH.timeoutMs/1e3}s. Ask something narrower, or open the page in the browser.`:`Search failed: ${(0,k.errorToString)(a)}. The browser is the other way in.`});return b.fold(f,"web-search")}})}:{}};a.s(["createSearchTool",0,q]),c()}catch(a){c(a)}},!1),451017,a=>{"use strict";var b=a.i(527990),c=a.i(723885),d=a.i(762008),e=a.i(762805);a.s(["createSkillTools",0,({skills:a,sandbox:
|
|
92
|
-
Saved. Give the user this path — the file opens from the
|
|
74
|
+
${h.join("\n")}`:""].filter(Boolean).join("\n\n")}let q=async(a,b)=>{let c=await (0,j.readConfig)(i.EXA_API_KEY),d=a?.searchTools?{model:a.model,tools:a.searchTools}:null,l=c?(a,b)=>m(c,a,b):d?(a,b)=>n(d,a,b):null;return l?{[h.TOOL_NAMES.web_search]:(0,e.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:f.default.object({query:p}),execute:async({query:a},{abortSignal:c})=>{let d=AbortSignal.timeout(g.SEARCH.timeoutMs),e=c?AbortSignal.any([c,d]):d,f=await l(a,e).catch(a=>{if(c?.aborted)throw a;return d.aborted?`The search did not come back in ${g.SEARCH.timeoutMs/1e3}s. Ask something narrower, or open the page in the browser.`:`Search failed: ${(0,k.errorToString)(a)}. The browser is the other way in.`});return b.fold(f,"web-search")}})}:{}};a.s(["createSearchTool",0,q]),c()}catch(a){c(a)}},!1),451017,a=>{"use strict";var b=a.i(527990),c=a.i(723885),d=a.i(762008),e=a.i(138100),f=a.i(762805);a.s(["createSkillTools",0,({skills:a,sandbox:g})=>({[d.TOOL_NAMES.load_skill]:(0,b.tool)({description:"Load one skill: its instructions, and the files that ship with it.",inputSchema:c.default.object({name:c.default.string().describe("Exact name from the Skills list, or of a skill installed during this job. Do not guess names.")}),execute:async({name:b},{messages:c})=>{let h=a=>a.find(a=>a.name.toLowerCase()===b.toLowerCase()),i=h(a)?a:await (0,e.loadSkills)(g),j=h(i);if(!j)return{error:`No skill named '${b}'.`,available:i.map(a=>a.name)};let k=`${j.path}/SKILL.md`;if(c.some(a=>Array.isArray(a.content)&&a.content.some(a=>{if("tool-result"!==a.type||a.toolName!==d.TOOL_NAMES.load_skill||"json"!==a.output.type)return!1;let b=a.output.value;return b?.skillDirectory===j.path&&"string"==typeof b.content})))return{skillDirectory:j.path,note:`Use the full '${j.name}' instructions already in your conversation. To check for changes on disk, read ${k} with the shell.`};let l=await g.readFile(k,"utf-8"),{body:m}=(0,f.splitFrontmatter)(l),n=await g.glob("**/*",{path:j.path,limit:50});return{skillDirectory:j.path,files:n,content:m}}})})])},500777,a=>a.a(async(b,c)=>{try{var d=a.i(912714),e=a.i(750227),f=a.i(47919),g=a.i(12208),h=a.i(723885),i=a.i(875931),j=a.i(762008),k=a.i(176668),l=a.i(182248),m=b([i]);function n(a){return{...a,execute:(b,c)=>{let d=a.inputSchema.safeParse(b);if(!d.success)throw Error(h.default.prettifyError(d.error));return a.execute(d.data,c)}}}function o(a,b){let c=a.toLowerCase().replace(/[^\p{L}\p{N}]+/gu,"-").replace(/^-+|-+$/g,"").slice(0,40),d=(0,g.format)(new Date,"yyyyMMdd-HHmmss");return`${d}${c?`-${c}`:""}.${b}`}async function p(a,b,c,d){let e=`${b}/${c}`;return await a.exec(`mkdir -p ${b}`),await a.writeFile(e,Buffer.from(d)),e}[i]=m.then?(await m)():m;let s=a=>`${a}
|
|
75
|
+
Saved. Give the user this path — the file opens from the thread row. Do not describe it back to them; they can open it.`,t=(a,b)=>a?.split("/")[1]?.split(";")[0]||b,u=["1:1","16:9","9:16","4:3","3:4"],v=async()=>{let a=await (0,i.resolveMediaRef)("image");if(!a)return null;let b=(0,i.buildImageModel)(a.ref,a.apiKey);return n({name:j.STUDIO_TOOLS.generate_image,description:"Draw an image and save it as a file in the workspace. What comes back is its path.",inputSchema:h.default.object({prompt:h.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:h.default.enum(u).nullish().describe("Aspect ratio. Null for square.")}),execute:async({prompt:a,aspectRatio:c},{sandbox:d,artifacts:e,abortSignal:g})=>{let{image:h}=await (0,f.generateImage)({model:b,prompt:a,aspectRatio:c??"1:1",abortSignal:g}),i=await p(d,e,o(a,t(h.mediaType,"png")),h.uint8Array);return s(i)}})},w=async()=>{let a=await (0,i.resolveMediaRef)("speech");if(!a)return null;let b=(0,i.buildSpeechModel)(a.ref,a.apiKey);return n({name:j.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:h.default.object({text:h.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:h.default.string().nullish().describe("A voice name the provider knows. Null for its default."),instructions:h.default.string().nullish().describe('How to read it — "slowly", "warm", "like a news anchor". Null for plain.')}),execute:async({text:a,voice:c,instructions:d},{sandbox:e,artifacts:g,abortSignal:h})=>{let{audio:i}=await (0,f.generateSpeech)({model:b,text:a,voice:c??void 0,instructions:d??void 0,outputFormat:"mp3",abortSignal:h}),j=await p(e,g,o(a.slice(0,60),i.format||"mp3"),i.uint8Array);return s(j)}})},x=async()=>{let a=await (0,i.resolveMediaRef)("transcription");if(!a)return null;let b=(0,i.buildTranscriptionModel)(a.ref,a.apiKey);return n({name:j.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:h.default.object({path:h.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:a},{sandbox:c,artifacts:g,abortSignal:h})=>{let i=await (0,d.readFile)(c.resolve(a)),j=await (0,f.transcribe)({model:b,audio:i,abortSignal:h}),k=j.segments.length?`
|
|
93
76
|
|
|
94
77
|
## Timeline
|
|
95
78
|
|
|
96
|
-
${
|
|
79
|
+
${j.segments.map(a=>{var b;let c,d;return`- ${b=a.startSecond,c=Math.floor(b/60),d=Math.floor(b%60),`${c}:${String(d).padStart(2,"0")}`} ${a.text.trim()}`}).join("\n")}`:"",l=(0,e.basename)(a,(0,e.extname)(a)),m=await p(c,g,o(l,"md"),Buffer.from(`# ${l}
|
|
97
80
|
|
|
98
|
-
${
|
|
99
|
-
`));return`${
|
|
81
|
+
${j.text.trim()}${k}
|
|
82
|
+
`));return`${m}
|
|
100
83
|
|
|
101
|
-
${await c.fold(
|
|
84
|
+
${await c.fold(j.text,"transcript")}`}})},y=async()=>{let a=await (0,i.resolveMediaRef)("video");if(!a)return null;let b=(0,i.buildVideoModel)(a.ref,a.apiKey);return n({name:j.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:h.default.object({prompt:h.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:h.default.enum(["16:9","9:16"]).nullish().describe("Aspect ratio. Null for 16:9."),seconds:h.default.number().int().min(2).max(10).nullish().describe("Length in seconds, 2 to 10. Null for the provider's default.")}),execute:async({prompt:a,aspectRatio:c,seconds:d},{sandbox:e,artifacts:g,abortSignal:h})=>{let{video:i}=await (0,f.experimental_generateVideo)({model:b,prompt:a,aspectRatio:c??"16:9",duration:d??void 0,abortSignal:h}),j=await p(e,g,o(a,t(i.mediaType,"mp4")),i.uint8Array);return s(j)}})};async function q(){return(await Promise.all([r(v),r(w),r(x),r(y)])).filter(a=>null!==a)}async function r(a){try{return await a()}catch(a){return k.logger.warn(`studio: a tool could not be built — ${(0,l.errorToString)(a)}`),null}}a.s(["loadStudio",0,q]),c()}catch(a){c(a)}},!1),644468,a=>a.a(async(b,c)=>{try{var d=a.i(723885),e=a.i(569572),f=a.i(317844),g=a.i(947950),h=a.i(182248),i=a.i(500777),j=b([f,g,i]);async function k(a){let[b,c]=await Promise.all([!a||a===e.STUDIO_SERVER?(0,i.loadStudio)():[],a===e.STUDIO_SERVER?[]:(0,g.listToolNames)(a)]);return[...b.map(a=>({server:e.STUDIO_SERVER,name:a.name})),...c]}[f,g,i]=j.then?(await j)():j;let p=async()=>{let[a,b]=await Promise.all([(0,i.loadStudio)(),(0,g.listServerNames)()]);return[...a.length?[e.STUDIO_SERVER]:[],...b.map(a=>a.name)]};async function l(a,b){if(a===e.STUDIO_SERVER){let a=new Set(b);return(await (0,i.loadStudio)()).filter(b=>a.has(b.name)).map(a=>({name:a.name,description:a.description,inputSchema:d.default.toJSONSchema(a.inputSchema)}))}return(await (0,g.findToolSchemas)(a,b)).map(a=>({name:a.name,description:a.description??null,inputSchema:a.inputSchema??null}))}async function m(a,b,c,d,{artifacts:g,abortSignal:i}){let j=AbortSignal.timeout(e.CONNECTED_TOOL_TIMEOUT_MS),k=i?AbortSignal.any([i,j]):j;try{let f=b===e.STUDIO_SERVER?await n(a,c,d,g,k):await o(b,c,d,k);if("string"!=typeof f)return f;return{status:"ok",text:await a.fold(f,`${b}-${c}`)}}catch(a){if(a instanceof f.McpAuthRequiredError)return{status:"auth_required",server:b,authorizationUrl:a.authorizationUrl};if(j.aborted&&!i?.aborted)return{status:"error",text:`${c} on ${b} gave no answer in ${e.CONNECTED_TOOL_TIMEOUT_MS/6e4} minutes and was given up on.`};return{status:"error",text:(0,h.errorToString)(a)}}}async function n(a,b,c,d,f){let g=(await (0,i.loadStudio)()).find(a=>a.name===b);if(!g)throw Error(`"${b}" is not in the ${e.STUDIO_SERVER} right now — the key that runs it is gone.`);return g.execute(c??{},{sandbox:a,artifacts:d,abortSignal:f})}async function o(a,b,c,d){let e=function(a){let b=a??{},c=!0===b.isError;if(!Array.isArray(b.content)){let a=void 0===b.toolResult?"":"string"==typeof b.toolResult?b.toolResult:JSON.stringify(b.toolResult);return{status:c?"error":"ok",text:a||q(c)}}let d=b.content.map(a=>"text"===a.type&&"string"==typeof a.text?a.text:`[${a.type}${a.mimeType?` ${a.mimeType}`:""} — not shown]`).join("\n").trim();return{status:c?"error":"ok",text:d||q(c)}}(await f.mcpManager.callTool(a,b,c,d));return"ok"===e.status?e.text:e}let q=a=>a?"The tool failed without a message.":"Done.";a.s(["callConnectedTool",0,m,"findConnectedSchemas",0,l,"listConnectedServerNames",0,p,"listConnectedToolNames",0,k]),c()}catch(a){c(a)}},!1),547613,a=>{"use strict";var b=a.i(750227),c=a.i(527990),d=a.i(723885),e=a.i(569572),f=a.i(762008),g=a.i(641301),h=a.i(821415);let i=`## The shell here
|
|
102
85
|
|
|
103
86
|
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.
|
|
104
87
|
|
|
105
88
|
Nothing is watching it. A command that stops to ask never gets an answer and is killed after ${e.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.
|
|
106
89
|
|
|
107
|
-
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.`;a.s(["createWorkspaceTools",0,(a,e)=>{let i=!0===e.guide,j=(0,c.tool)({description:"Run a bash command.",inputSchema:d.default.object({command:d.default.string(),description:d.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:b},{abortSignal:c})=>{let d=await a.exec(b,{signal:c,env:e.env,timeoutMs:e.timeoutMs});return i?(i=!1,{...d,guide:h}):d}});if(!e.write)return{[f.TOOL_NAMES.bash]:j};let k=(0,c.tool)({description:"Write a whole file — what was there is gone. Parent directories are created.",inputSchema:d.default.object({path:d.default.string().describe("Relative to the working directory — under one of its folders — or absolute"),content:d.default.string(),description:d.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:c,content:d})=>{let e,f=a.resolve(c),h=(0,g.writeRefusal)(f);return h?h:(await a.writeFile(c,d),`Wrote ${(e=(0,b.relative)(a.cwd,f))&&!e.startsWith("..")?e:f} (${d.split("\n").length} lines)`)}});return{[f.TOOL_NAMES.bash]:j,[f.TOOL_NAMES.write_file]:k}}])},641301,a=>{"use strict";var b=a.i(912714),c=a.i(750227),d=a.i(569572),e=a.i(821415);let f=a=>`${(0,e.botFolder)(a)}/memory`;async function g(a,i=d.BOT_MEMORY_LISTED){let j=f(a),k=(0,c.join)(e.WORKSPACE,j),l=await (0,b.readdir)(k).catch(()=>[]),m=(await Promise.all(l.filter(a=>!a.startsWith(".")).map(async a=>{let d=await (0,b.stat)((0,c.join)(k,a)).catch(()=>null);return d?.isFile()?{name:a,changed:d.mtimeMs,bytes:d.size}:null}))).filter(a=>null!==a).sort((a,b)=>b.changed-a.changed),n=await Promise.all(m.slice(0,i).map(async({name:a,changed:b,bytes:d})=>({file:a,path:`${j}/${a}`,line:await h((0,c.join)(k,a)),at:new Date(b),bytes:d})));return{folder:j,entries:n,total:m.length}}async function h(a){let c=await (0,b.open)(a,"r").catch(()=>null);if(!c)return"";try{let a=Buffer.alloc(1024),{bytesRead:b}=await c.read(a,0,1024,0),d=a.toString("utf8",0,b).split("\n").map(a=>a.trim()).filter(Boolean);if("---"===d[0]){let a=d.find(a=>a.startsWith("description:"));if(a)return a.slice(12).trim().replace(/^["']|["']$/g,"");let b=d.indexOf("---",1);return b>0?(d[b+1]??"").replace(/^#+\s*/,""):""}return(d[0]??"").replace(/^#+\s*/,"")}finally{await c.close()}}a.s(["botMemoryFolder",0,f,"listBotMemory",0,g])},654034,a=>a.a(async(b,c)=>{try{var d=a.i(47919),e=a.i(527990),f=a.i(569572),g=a.i(738131),h=a.i(875931),i=a.i(735502),j=a.i(978876),k=a.i(762008),l=a.i(446957),m=a.i(821415),n=a.i(176668),o=a.i(293480),p=a.i(987674),q=a.i(221214),r=a.i(84929),s=b([g,h,i,q,r]);[g,h,i,q,r]=s.then?(await s)():s;let z=f.BOT_RUN.steps;async function t(a,b){var c,o,s;let t,w,C,D,E,F,G,H,I=b.depth??0,J=b.parent??null,K=a.bot.trim(),L=a=>b.emit({...a,bot:K,parent:J}),M=await (0,q.findJobBot)(K);if(!M)return void await L({type:"error",message:`No bot named "${a.bot}". Use a name from the list.`,failure:"fatal"});if(M.disabled&&"request"in a)return void await L({type:"error",message:`${M.name} is switched off. Use a name from the list.`,failure:"fatal"});let N=await ((c=M).provider&&c.model?(0,h.getTextModel)({provider:c.provider,model:c.model}):(0,h.resolveDefaultModel)().then(h.getTextModel)),O=b.taskId?await (0,r.findTask)(b.taskId):null,[P,Q]=await Promise.all([b.taskId?(0,m.openJobScratch)(b.taskId,O?.label??"job"):null,(0,m.openBotFolder)(K)]),[R,S]=await Promise.all([(0,i.loadBotPrompt)(K,M.systemPrompt,"askedBy"in a?{askedBy:a.askedBy,above:a.above,canBorrow:I<f.BOT_RUN.depth}:null,{scratch:P,own:Q}),(0,g.loadTools)({target:"bot",bot:K,session:b.session??b.taskId,model:N})]),T=Math.min(await (0,h.compactBudget)(N.ref,M.compactAt),("askedBy"in a?0:O?.contextBudget)||1/0),U="messages"in a?a.messages:[{role:"user",content:(0,i.buildHandoff)({chain:a.chain,bots:[...a.above,K],did:a.context??null,part:a.request})}],V={left:f.BOT_RUN.askBack},W="askedBy"in a?function(a,b,c){let d={...a};delete d[k.TOOL_NAMES.ask_thursday];let{answer:f}=c;return f?{...d,[k.TOOL_NAMES.ask_back]:(0,e.tool)({description:j.askBackSpec.description,inputSchema:j.askBackSpec.parameters,execute:async({question:a})=>(b.left-=1,f(a))})}:d}(S,V,b):S,X=I<f.BOT_RUN.depth?function(a,b){if(0===b.peers.length)return a;let c={...a,[k.TOOL_NAMES.ask_bot]:(0,e.tool)({description:j.askBotSpec.description,inputSchema:j.askBotSpec.parameters,execute:async({bot:a,request:d,context:e},f)=>{if(a===b.name||b.above.includes(a))return`${a} is already on this job, above you and waiting on your part. Pick another bot, or do it yourself.`;let g=b.options.taskId?`${b.options.session??b.options.taskId}-${f.toolCallId.slice(0,8)}`:null,h=[],i=async e=>{let g=await y({model:b.model,instructions:b.instructions,tools:c,messages:f.messages,asked:{bot:a,request:d},question:e,signal:b.options.signal});return await b.emit({type:"answered",question:e,...g}),h.push({question:e,answer:g.text}),g.text};try{var j;let c=await x({bot:a,request:d,context:e,askedBy:b.name,chain:b.chain,above:[...b.above,b.name]},{...b.options,signal:f.abortSignal??b.options.signal,depth:b.depth+1,parent:f.toolCallId,session:g,answer:i});return h.length?`${c}
|
|
108
|
-
|
|
109
|
-
${j=a,h.map(({question:a,answer:b})=>`(On the way ${j} asked you: "${a}" — you answered: "${b}")`).join("\n")}`:c}finally{g&&(0,m.closeHiddenBrowser)(g)}}})};return c}(W,{name:K,model:N.model,instructions:R.text,peers:R.peers,depth:I,chain:(0,i.chainOf)(U[0]),above:"askedBy"in a?a.above:[],options:b,emit:L}):W,Y={compact:null,interjections:[]},Z=(o=f.BOT_RUN.silenceMs,w=new AbortController,C=0,D=!1,E=()=>{clearTimeout(t),t=void 0,D||C>0||(t=setTimeout(()=>{w.abort(new DOMException(`The model sent nothing for ${Math.round(o/6e4)} minutes.`,"TimeoutError"))},o))},{signal:w.signal,touch:E,hold:()=>{C+=1,E()},release:()=>{C=Math.max(0,C-1),E()},end:()=>{D=!0,E()}}),$=0,_=new d.ToolLoopAgent({model:N.model,instructions:R.text,tools:X,stopWhen:[(0,d.stepCountIs)(z),A,(0,d.hasToolCall)(k.TOOL_NAMES.ask_thursday)],prepareStep:async({stepNumber:a,steps:c,messages:d})=>{let e=a<z-1?{}:{activeTools:[k.TOOL_NAMES.answer],toolChoice:{type:"tool",toolName:k.TOOL_NAMES.answer}};!e.activeTools&&V.left<=0&&(e={...e,activeTools:Object.keys(X).filter(a=>a!==k.TOOL_NAMES.ask_back)});let f=c.at(-1)?.usage.inputTokens??0,g=Math.max(f,d.reduce((a,b)=>a+(0,p.estimateTokens)("string"==typeof b.content?b.content:JSON.stringify(b.content))+4,0));$=g;let h=d;if(g>T&&d.length>2){Z.hold();let a=await v(N.model,X,d,{signal:b.signal,budget:T,instructions:R.text}).finally(Z.release);n.logger.debug(`compacted ${d.length} messages at ${g} tokens (budget ${T})`);let c=`${a.text}${await u(O?.id??null,d,P)}`;Y.compact={type:"compact",text:c,usage:a.usage,messages:d.length,tokens:g},h=[d[0],{role:"user",content:c}]}let i=a>0?b.notes?.()??[]:[];return(i.length&&(Y.interjections.push(...i),h=[...h,...i.map(a=>({role:"user",content:a}))]),h===d)?e:{...e,messages:h}}}),aa=(F=[],G=[],H=!1,{push(a){let b=G.shift();b?b(a):F.push(a)},take(){let a=F.shift();return a?Promise.resolve(a):H?Promise.resolve(null):new Promise(a=>G.push(a))},end(){for(let a of(H=!0,G.splice(0)))a(null)}}),ab=b.signal?AbortSignal.any([b.signal,Z.signal]):Z.signal;Z.touch();let ac=await _.stream({messages:U,abortSignal:ab,onStepEnd:a=>aa.push({messages:a.response.messages,usage:B(a.usage)})}),ad="",ae=null,af=null,ag=null,ah=-1,ai=null,aj=new Set,ak=a=>{let b=(0,h.modelFailureOf)(a),c=(0,h.modelErrorToString)(a);if("overflow"!==b)return{type:"error",message:c,failure:b};let d=Math.floor(Math.min(T,$||T)*f.BOT_RUN.overflowShrink);return{type:"error",message:c,failure:b,budget:Math.max(l.COMPACT_AT_MIN,d)}};ab.addEventListener("abort",()=>aa.end(),{once:!0});try{for await(let a of ac.fullStream)switch(Z.touch(),a.type){case"start-step":for(let a of(ah+=1,Y.compact&&(await L(Y.compact),Y.compact=null),Y.interjections.splice(0)))await L({type:"interjection",text:a});break;case"text-delta":ad+=a.text;break;case"text-end":{let a=ad.trim();if(ad="",!a)break;ae=a,await L({type:"text",text:a});break}case"tool-call":if(a.toolName===k.TOOL_NAMES.ask_thursday){let b=a.input;af={id:a.toolCallId,question:String(b.question??""),options:(0,r.optionsOf)(b.options)}}else if(a.toolName===k.TOOL_NAMES.answer){let b=a.input;ag={text:String(b.result??"").trim(),stopped:ah>=z-1}}a.providerExecuted||a.toolName===k.TOOL_NAMES.ask_thursday||(aj.add(a.toolCallId),Z.hold()),await L({type:"tool",id:a.toolCallId,name:a.toolName,input:a.input});break;case"tool-result":aj.delete(a.toolCallId)&&Z.release(),a.toolName===k.TOOL_NAMES.answer&&ag&&!(0,j.answerAccepted)(a.output)&&(ag={text:`${ag.text}
|
|
110
|
-
|
|
111
|
-
${s=a.output,"string"==typeof s?s:s&&"object"==typeof s&&"value"in s?"string"==typeof s.value?s.value:JSON.stringify(s.value??""):JSON.stringify(s??"")}`,stopped:!0}),await L({type:"tool-result",id:a.toolCallId,name:a.toolName,output:a.output});break;case"tool-error":aj.delete(a.toolCallId)&&Z.release(),await L({type:"tool-result",id:a.toolCallId,name:a.toolName,output:(0,h.modelErrorToString)(a.error),error:!0});break;case"finish-step":{ai=a.finishReason;let b=await aa.take();b&&await L({type:"step",...b,budget:T});break}case"abort":if(b.signal?.aborted)return;await L({type:"error",message:a.reason??"The model stopped sending.",failure:"transient"});return;case"error":await L(ak(a.error));return}}finally{aa.end(),Z.end()}try{await ac.response}catch(a){if(b.signal?.aborted)return;await L(ak(a));return}af?await L({type:"waiting",...af}):ag?await L({type:"answer",...ag}):"content-filter"===ai?await L({type:"error",message:"The provider's content filter stopped the response.",failure:"fatal"}):await L({type:"answer",text:ae??"Stopped without handing anything back.",stopped:null===ae||"length"===ai||ah>=z-1})}let A=({steps:a})=>a.at(-1)?.toolResults.some(a=>a.toolName===k.TOOL_NAMES.answer&&(0,j.answerAccepted)(a.output))??!1;async function u(a,b,c){try{let d=a?await (0,r.listWrittenPaths)(a):(0,r.writtenPathsIn)(b.map(a=>a.content)),e=await (0,m.filesOnDisk)(d,c);if(!e.length)return"";let g=e.slice(-f.BOT_RUN.compactFiles),h=e.length-g.length,i=g.map(a=>`- ${a}`);return h&&i.unshift(`- …and ${h} older ones`),`
|
|
90
|
+
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.`;a.s(["createWorkspaceTools",0,(a,e)=>{let j=!0===e.guide,k=async a=>{let b=e.bot;if(!b)return{result:await a(),memory:null};let c=await (0,g.holdBotMemory)(b);return{result:await a(),memory:await (0,g.keepBotMemory)(b,c)}},l=(0,c.tool)({description:"Run a bash command.",inputSchema:d.default.object({command:d.default.string(),description:d.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:b},{abortSignal:c})=>{let{result:d,memory:f}=await k(()=>a.exec(b,{signal:c,env:e.env,timeoutMs:e.timeoutMs})),g=f?{...d,memory:f}:d;return j?(j=!1,{...g,guide:i}):g}});if(!e.write)return{[f.TOOL_NAMES.bash]:l};let m=(0,c.tool)({description:"Write a whole file — what was there is gone. Parent directories are created.",inputSchema:d.default.object({path:d.default.string().describe("Relative to the working directory — under one of its folders — or absolute"),content:d.default.string(),description:d.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:c,content:d})=>{let f,g=a.resolve(c),i=(0,h.writeRefusal)(g,e.bot);if(i)return i;let{memory:j}=await k(()=>a.writeFile(c,d));return j??`Wrote ${(f=(0,b.relative)(a.cwd,g))&&!f.startsWith("..")?f:g} (${d.split("\n").length} lines)`}});return{[f.TOOL_NAMES.bash]:l,[f.TOOL_NAMES.write_file]:m}}])},641301,a=>{"use strict";var b=a.i(912714),c=a.i(750227),d=a.i(569572),e=a.i(821415);let f=a=>`${(0,e.botFolder)(a)}/memory`;async function g(a,b=d.BOT_MEMORY_LIMITS.files){let i=f(a),j=(0,c.join)(e.WORKSPACE,i),k=(await h(j)).sort((a,b)=>b.info.mtimeMs-a.info.mtimeMs),m=await Promise.all(k.slice(0,b).map(async({name:a,info:b})=>({file:a,path:`${i}/${a}`,line:await l((0,c.join)(j,a)),at:new Date(b.mtimeMs),bytes:b.size})));return{folder:i,entries:m,total:k.length}}async function h(a){let d=await (0,b.readdir)(a).catch(()=>[]);return(await Promise.all(d.filter(a=>!a.startsWith(".")).map(async d=>{let e=await (0,b.stat)((0,c.join)(a,d)).catch(()=>null);return e?.isFile()?{name:d,info:e}:null}))).filter(a=>null!==a)}async function i(a){let g=(0,c.join)(e.WORKSPACE,f(a)),i=new Map;return await Promise.all((await h(g)).map(async({name:a,info:e})=>{let f=e.size>4*d.BOT_MEMORY_LIMITS.chars?null:await (0,b.readFile)((0,c.join)(g,a),"utf8").catch(()=>null);i.set(a,{text:null!==f&&k(f)<=d.BOT_MEMORY_LIMITS.chars?f:null,size:e.size,mtimeMs:e.mtimeMs,atime:e.atime,mtime:e.mtime})})),i}async function j(a,g){let i=f(a),j=(0,c.join)(e.WORKSPACE,i),{files:l,chars:m}=d.BOT_MEMORY_LIMITS,n=[],o=[],p=0;for(let{name:a,info:d}of(await h(j))){p+=1;let e=g.get(a);if(e&&e.size===d.size&&e.mtimeMs===d.mtimeMs)continue;let f=(0,c.join)(j,a),h=k(await (0,b.readFile)(f,"utf8").catch(()=>""));if(h<=m){e||o.push(a);continue}let l=`${h.toLocaleString("en-US")} characters, past the ${m.toLocaleString("en-US")} a memory file holds`;e?null!==e.text?(await (0,b.writeFile)(f,e.text),await (0,b.utimes)(f,e.atime,e.mtime),n.push(`Not kept: \`${i}/${a}\` came to ${l}, so it is back as it was. Write it again shorter.`)):n.push(`\`${i}/${a}\` is ${l}. Shorten it.`):(await (0,b.rm)(f,{force:!0}),p-=1,n.push(`Not kept: \`${i}/${a}\` came to ${l}, so it was removed. Write it again shorter.`))}if(p>l&&o.length){await Promise.all(o.map(a=>(0,b.rm)((0,c.join)(j,a),{force:!0})));let a=o.map(a=>`\`${i}/${a}\``).join(", ");n.push(`Not kept: your memory holds ${l} files at most and this made ${p}, so ${a} ${1===o.length?"was":"were"} removed. Delete or merge files no longer worth keeping, then write it again.`)}return n.length?n.join("\n"):null}let k=a=>[...a.trim()].length;async function l(a){let c=await (0,b.open)(a,"r").catch(()=>null);if(!c)return"";try{let a=Buffer.alloc(1024),{bytesRead:b}=await c.read(a,0,1024,0),d=a.toString("utf8",0,b).split("\n").map(a=>a.trim()).filter(Boolean);if("---"===d[0]){let a=d.find(a=>a.startsWith("description:"));if(a)return a.slice(12).trim().replace(/^["']|["']$/g,"");let b=d.indexOf("---",1);return b>0?(d[b+1]??"").replace(/^#+\s*/,""):""}return(d[0]??"").replace(/^#+\s*/,"")}finally{await c.close()}}a.s(["botMemoryFolder",0,f,"holdBotMemory",0,i,"keepBotMemory",0,j,"listBotMemory",0,g])},654034,a=>a.a(async(b,c)=>{try{var d=a.i(47919),e=a.i(527990),f=a.i(569572),g=a.i(738131),h=a.i(875931),i=a.i(735502),j=a.i(978876),k=a.i(762008),l=a.i(446957),m=a.i(821415),n=a.i(176668),o=a.i(987674),p=a.i(221214),q=a.i(344853),r=b([g,h,i,p,q]);[g,h,i,p,q]=r.then?(await r)():r;let w=f.BOT_RUN.steps;async function s(a,b){var c,r;let s,v,y,z,A,B,C,D,E,F=b.parent??null,G=await (0,p.findJobBot)(a.bot.trim()),H=G?.name??a.bot.trim(),I=a=>b.emit({...a,bot:H,parent:F});if(!G)return void await I({type:"error",message:`No bot named "${a.bot}". Use a name from the list.`,retry:!1});let J=a.messages,K=await ((c=G).provider&&c.model?(0,h.getTextModel)({provider:c.provider,model:c.model}):(0,h.resolveDefaultModel)().then(h.getTextModel)),L=b.threadId?await (0,q.findThread)(b.threadId):null,[M,{own:N,artifacts:O}]=await Promise.all([b.threadId?(0,m.openJobScratch)(b.threadId,L?.label??"job"):null,(0,m.openBotFolders)(H)]),[P,Q]=await Promise.all([(0,i.loadBotPrompt)(H,G.systemPrompt,{owner:b.owner,caller:b.caller,messageId:F},{scratch:M,own:N,artifacts:O}),(0,g.loadTools)({target:"bot",bot:H,session:b.session??(b.threadId?(0,m.botBrowserSession)(b.threadId,H):null),model:K})]),R=Math.min(await (0,h.compactBudget)(K.ref,G.compactAt),b.contextBudget||1/0),S=!1,T={...Q,[k.TOOL_NAMES.send_message]:(0,e.tool)({description:j.sendMessageSpec.description,inputSchema:j.sendMessageSpec.parameters,execute:async(a,c)=>{let d=await b.send({...a,id:c.toolCallId});return"question"===a.kind&&(S=!0),d}})},U=new Set,V=(r=f.BOT_RUN.silenceMs,v=new AbortController,y=0,z=!1,A=()=>{clearTimeout(s),s=void 0,z||y>0||(s=setTimeout(()=>{v.abort(new DOMException(`The model sent nothing for ${Math.round(r/6e4)} minutes.`,"TimeoutError"))},r))},{signal:v.signal,touch:A,hold:()=>{y+=1,A()},release:()=>{y=Math.max(0,y-1),A()},end:()=>{z=!0,A()}});for(let[a,c]of Object.entries(T)){let d=c.execute;d&&(c.execute=(c,e)=>{let f=(async()=>{b.signal?.throwIfAborted(),await I({type:"tool",id:e.toolCallId,name:a,input:c}),V.hold();try{b.signal?.throwIfAborted();let f=await d(c,e);if(f&&"object"==typeof f&&Symbol.asyncIterator in f){let a;for await(let b of f)a=b;f=a}return await I({type:"tool-result",id:e.toolCallId,name:a,output:f}),f}catch(b){throw await I({type:"tool-result",id:e.toolCallId,name:a,output:(0,h.modelErrorToString)(b),error:!0}),b}finally{V.release()}})();return U.add(f),f.finally(()=>U.delete(f)).catch(()=>{}),f})}let W=Promise.resolve(),X=()=>{},Y=0,Z=new d.ToolLoopAgent({model:K.model,instructions:P.text,tools:T,stopWhen:[(0,d.stepCountIs)(w),()=>S],prepareStep:async({stepNumber:a,steps:c,messages:d})=>{await W,b.signal?.throwIfAborted();let e={},f=c.at(-1)?.usage.inputTokens??0,g=Math.max(f,d.reduce((a,b)=>a+(0,o.estimateTokens)("string"==typeof b.content?b.content:JSON.stringify(b.content))+4,0));Y=g;let h=d;if(g>R&&d.length>2){V.hold();let a=await u(K.model,T,d,{signal:b.signal,budget:R,instructions:P.text}).finally(V.release);n.logger.debug(`compacted ${d.length} messages at ${g} tokens (budget ${R})`);let c=`${a.text}${await t(L?.id??null,d,M)}`;await I({type:"compact",text:c,usage:a.usage,messages:d.length,tokens:g}),h=[d[0],{role:"user",content:c}]}let i=a>0?await b.notes?.()??[]:[];return(i.length&&(h=[...h,...i.map(a=>({role:"user",content:a}))]),h===d)?e:{...e,messages:h}}}),$=(B=[],C=[],D=!1,{push(a){let b=C.shift();b?b(a):B.push(a)},take(){let a=B.shift();return a?Promise.resolve(a):D?Promise.resolve(null):new Promise(a=>C.push(a))},end(){for(let a of(D=!0,C.splice(0)))a(null)}}),_=b.signal?AbortSignal.any([b.signal,V.signal]):V.signal;V.touch();let aa=new AbortController,ab=AbortSignal.any([_,aa.signal]);try{E=await Z.stream({messages:J,abortSignal:ab,onStepEnd:a=>{W=new Promise(a=>{X=a}),$.push({messages:a.response.messages,usage:x(a.usage)})}})}catch(a){throw V.end(),aa.abort(),await Promise.allSettled([...U]),a}let ac="",ad="",ae=null,af=a=>{n.logger.error(`${H}: the model run broke`,a);let b=(0,h.modelErrorToString)(a),c=!(0,h.isProviderRefusal)(a);if(!(0,h.isContextOverflow)(a))return{type:"error",message:b,retry:c};let d=Math.floor(Math.min(R,Y||R)*f.BOT_RUN.overflowShrink);return{type:"error",message:b,budget:Math.max(l.COMPACT_AT_MIN,d),retry:c}};_.addEventListener("abort",()=>{$.end(),X()},{once:!0});try{for await(let a of E.fullStream)switch(V.touch(),a.type){case"start-step":ad="",ac="";break;case"text-delta":ac+=a.text;break;case"text-end":{let a=ac.trim();if(ac="",!a)break;ad=[ad,a].filter(Boolean).join("\n\n"),await I({type:"text",text:a});break}case"tool-call":await I({type:"tool",id:a.toolCallId,name:a.toolName,input:a.input,providerExecuted:a.providerExecuted,providerOptions:a.providerMetadata});break;case"tool-result":await I({type:"tool-result",id:a.toolCallId,name:a.toolName,output:a.output});break;case"tool-error":await I({type:"tool-result",id:a.toolCallId,name:a.toolName,output:(0,h.modelErrorToString)(a.error),error:!0});break;case"finish-step":{ae=a.finishReason;let b=await $.take();b&&await I({type:"step",...b,budget:R}),X();break}case"abort":if(b.signal?.aborted)return;await I(af(a.reason??"The model stopped sending."));return;case"error":await I(af(a.error));return}}finally{aa.abort(),$.end(),V.end(),X(),await Promise.allSettled([...U])}try{await E.response}catch(a){if(b.signal?.aborted)return;await I(af(a));return}"content-filter"===ae?await I({type:"error",message:"The provider's content filter stopped the response.",retry:!1}):await I({type:"turn-end",text:ad,stopped:!S&&("length"===ae||"error"===ae||"tool-calls"===ae)})}async function t(a,b,c){try{let d=a?await (0,q.listWrittenPaths)(a):(0,q.writtenPathsIn)(b.map(a=>a.content)),e=await (0,m.filesOnDisk)(d,c);if(!e.length)return"";let g=e.slice(-f.BOT_RUN.compactFiles),h=e.length-g.length,i=g.map(a=>`- ${a}`);return h&&i.unshift(`- …and ${h} older ones`),`
|
|
112
91
|
|
|
113
92
|
Files this job has on disk now — open one rather than fetching again what is in it:
|
|
114
|
-
${i.join("\n")}`}catch(a){return n.logger.warn("files under the summary could not be listed",a),""}}async function
|
|
93
|
+
${i.join("\n")}`}catch(a){return n.logger.warn("files under the summary could not be listed",a),""}}async function u(a,b,c,e){let f;try{return await v(a,b,c,e)}catch(a){if(e.signal?.aborted)throw a;f=a}if((0,h.isContextOverflow)(f)){let g=(0,d.pruneMessages)({messages:c,toolCalls:"before-last-4-messages",emptyMessages:"remove"});try{return await v(a,b,g,e)}catch(a){if(e.signal?.aborted)throw a;f=a}}throw Error(`Could not compact the context (${(0,h.modelErrorToString)(f)}).`,{cause:f})}async function v(a,b,c,e){let g,{text:h,usage:i}=await (0,d.generateText)({model:a,system:e.instructions,tools:b,toolChoice:"none",messages:[...c,{role:"user",content:(g=(a=>{let{min:b,max:c,perTokens:d}=f.BOT_RUN.summaryWords;return Math.min(c,Math.max(b,Math.round(a/d)))})(e.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.
|
|
115
94
|
|
|
116
95
|
Cover all of it, and prefer a fact over a description of a fact:
|
|
117
96
|
|
|
118
|
-
- **Where the job stands against that first message.** Do not restate the job
|
|
97
|
+
- **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.
|
|
119
98
|
- **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.
|
|
120
99
|
- **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.
|
|
121
100
|
- **Files.** Every path you wrote or read, and one line on what each holds.
|
|
@@ -124,28 +103,13 @@ Cover all of it, and prefer a fact over a description of a fact:
|
|
|
124
103
|
|
|
125
104
|
Plain text, under ${g} words. No preamble, no headings about the summary itself, no account of how you have been going.`)}],abortSignal:e.signal,timeout:f.BOT_RUN.silenceMs}),j=h.trim();if(!j)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.
|
|
126
105
|
|
|
127
|
-
${j}`,usage:
|
|
128
|
-
|
|
129
|
-
(As far as they got — they stopped before finishing.)`:a.text),"error"===a.type&&(d=a.message),await b.emit(a)}}),d&&(0,o.publicError)(d),c}async function y(a){try{let b,c,{text:e,usage:g}=await (0,d.generateText)({model:a.model,system:a.instructions,tools:a.tools,toolChoice:"none",messages:[...a.messages,{role:"user",content:(b=a.asked,c=a.question,`You handed one part of your job to ${b.bot}:
|
|
130
|
-
|
|
131
|
-
> ${b.request.trim()}
|
|
132
|
-
|
|
133
|
-
Before going on, they ask you:
|
|
134
|
-
|
|
135
|
-
> ${c.trim()}
|
|
136
|
-
|
|
137
|
-
Answer from what you already have — the request as it reached you, the call it came out of, what you found before asking them. A few lines, plain text, and nothing else: no tools run here. If it is not in what you have, say so rather than guess, and say which way to go without it.`)}],abortSignal:a.signal,timeout:f.BOT_RUN.silenceMs});return{text:e.trim()||"They had nothing to add. Go on with your best reading, and say what you assumed in what you hand back.",usage:B(g)}}catch(b){if(a.signal?.aborted)throw b;return n.logger.warn(`ask_back: ${(0,h.modelErrorToString)(b)}`),{text:`No answer came back (${(0,h.modelErrorToString)(b)}). Go on with your best reading, and say what you assumed in what you hand back.`,usage:l.NO_TOKENS}}}a.s(["resumeThread",0,function(a,b=new Map){let c=new Set;for(let b of a)if(("tool"===b.role||"assistant"===b.role)&&"string"!=typeof b.content)for(let a of b.content)"tool-result"===a.type&&c.add(a.toolCallId);let d=[],e=[];for(let f of a){if(e.length&&"tool"===f.role){d.push({...f,content:[...e,...f.content]}),e=[];continue}e.length&&(d.push({role:"tool",content:e}),e=[]),d.push(f),"assistant"===f.role&&"string"!=typeof f.content&&(e=f.content.flatMap(a=>"tool-call"!==a.type||c.has(a.toolCallId)?[]:[{type:"tool-result",toolCallId:a.toolCallId,toolName:a.toolName,output:{type:"text",value:function(a,b){let c=a.toolName===k.TOOL_NAMES.ask_bot?b.get(a.toolCallId):void 0;return c?`No result: the run was stopped before ${c.bot} answered, and they are not working on it any more. What they had written by then:
|
|
138
|
-
|
|
139
|
-
${c.tail}
|
|
140
|
-
|
|
141
|
-
Check what they did before relying on it, then finish the part yourself or hand them what is left.`:"No result: the run was stopped before this call returned. Check what it did before relying on it."}(a,b)}}]))}return e.length&&d.push({role:"tool",content:e}),d},"runBot",0,t]),c()}catch(a){c(a)}},!1),674986,a=>a.a(async(b,c)=>{try{var d=a.i(203469),e=a.i(569572),f=a.i(875931),g=a.i(735502),h=a.i(762008),i=a.i(569549),j=a.i(684321),k=a.i(821415),l=a.i(956802),m=a.i(176668),n=a.i(293480),o=a.i(8412),p=a.i(654034),q=a.i(446957),r=a.i(84929),s=b([f,g,i,p,r]);[f,g,i,p,r]=s.then?(await s)():s;let H=globalThis.__botRuns??=new Map,I=globalThis.__botTaskLock??=(0,o.createKeyedLock)(),J=globalThis.__botResumes??=new Map;async function t(a){let{from:b,...c}=a,d=c.callId?await (0,i.listCallTurns)(c.callId,g.OPENING_TURNS):[],e=(0,g.buildTaskOpening)({bot:c.bot,request:c.request,conversation:d,from:b}),f=await (0,r.insertTask)({...c,opening:e});return D(f.id,{bot:c.bot,messages:[{role:"user",content:e}]}),f.id}async function u(a,b,c){let d=c?(0,q.tagSpeaker)(c,b):b;return I(a,async()=>{let b=await (0,r.findTask)(a);b||(0,n.publicError)("No such job.");let c=H.get(a);if(c&&"running"===b.status&&c.note(d))return void m.logger.debug(`task ${a}: interjection queued`);c&&(c.stop.abort(),await c.done),y(a);let e=await (0,r.listThread)(a),{reply:f,as:g}=function(a,b,c){var d;let e,f,g="waiting"===a.status?a.pending:null,i=g?.toolCallId?(d=g.toolCallId,e=new Set(c.flatMap(a=>"tool"===a.role?a.content.flatMap(a=>"tool-result"===a.type?[a.toolCallId]:[]):[])),f=c.findLast(a=>"assistant"===a.role&&"string"!=typeof a.content&&a.content.some(a=>"tool-call"===a.type&&a.toolCallId===d)),(f?.role==="assistant"&&"string"!=typeof f.content?f.content.flatMap(a=>"tool-call"===a.type&&a.toolName===h.TOOL_NAMES.ask_thursday?[a.toolCallId]:[]):[d]).filter(a=>!e.has(a))):[];return i.length?{as:"answer",reply:{role:"tool",content:i.map(a=>({type:"tool-result",toolCallId:a,toolName:h.TOOL_NAMES.ask_thursday,output:{type:"text",value:b}}))}}:{as:"running"===a.status?"interruption":"waiting"===a.status?"answer":"follow-up",reply:{role:"user",content:b}}}(b,d,e);m.logger.debug(`task ${a}: ${g}`),await (0,r.upsertMessage)(a,await (0,r.lastSeq)(a)+1,{bot:null,parent:null,...f}),await (0,r.updateTask)(a,{status:"running",outcome:null,pending:null,seen:!1,endedAt:null}),D(a,{bot:b.bot,messages:(0,p.resumeThread)([...e,f],await (0,r.listBorrowedTails)(a))})})}async function v(a){return I(a,async()=>{let b=await (0,r.findTask)(a);b||(0,n.publicError)("No such job."),b.endedAt&&(0,n.publicError)("That job has already ended."),y(a),H.get(a)?.stop.abort(),await (0,r.updateTask)(a,{status:"failed",outcome:"Cancelled.",pending:null,seen:!0,endedAt:new Date}),(0,k.closeJobShell)(a)})}async function w(a){return I(a,async()=>{let b=await (0,r.findTask)(a);y(a),H.get(a)?.stop.abort(),H.delete(a),(0,k.closeJobShell)(a);let c=await (0,r.deleteTask)(a);return c&&b&&await (0,k.removeJobScratch)(a,b.label),c})}async function x(){let a=await (0,r.deleteFinishedTasks)();for(let b of a)await (0,k.removeJobScratch)(b.id,b.label);return a.length}function y(a){clearTimeout(J.get(a)),J.delete(a)}async function z(a){d.presence.watching&&await I(a,async()=>{let b=await (0,r.findTask)(a);if(!b||"waiting"!==b.status||!b.pending?.auto||H.has(a))return;m.logger.debug(`task ${a}: picking back up`);let c=await (0,r.listThread)(a);await (0,r.updateTask)(a,{status:"running",outcome:null,pending:null,seen:!1,endedAt:null}),D(a,{bot:b.bot,messages:(0,p.resumeThread)(c,await (0,r.listBorrowedTails)(a))})})}async function A(a,b){let c=await (0,r.countStopsSinceSpoken)(a),d=c<e.BOT_RUN.autoResumes,f=e.BOT_RUN.retryAfterMs,g=d&&b.retry?f[Math.min(c,f.length-1)]:0;await B(a,(0,r.stopNote)(b.why)).catch(b=>m.logger.warn(`task ${a}: stop not written`,b)),await C(a,{status:"waiting",outcome:d?`${b.why} ${g?`It tries again in ${K(g)}.`:"It picks back up by itself."}`:`${b.why} It has stopped ${c+1} times in a row, so it waits for you. Everything it had done is still here.`,pending:{toolCallId:null,options:[q.TASK_CONTINUE],...d?{auto:!0,retryAt:Date.now()+g}:{}},...b.budget?{contextBudget:b.budget}:{},seen:!1,endedAt:null}),d&&(y(a),J.set(a,setTimeout(()=>{J.delete(a),z(a).catch(b=>m.logger.error(`task ${a}: resume`,b))},Math.max(0,g))))}globalThis.__botPausing??={current:Promise.resolve()};let K=a=>a<6e4?`${Math.round(a/1e3)} seconds`:`${Math.round(a/6e4)} minutes`;async function B(a,b){await (0,r.upsertMessage)(a,await (0,r.lastSeq)(a)+1,{bot:null,parent:null,role:"user",content:b,note:!0})}async function C(a,b){for(let c of[1e3,3e3,null])try{await (0,r.updateTask)(a,b);return}catch(b){if(null===c)throw b;m.logger.warn(`task ${a}: ending not written, trying again`,b),await new Promise(a=>setTimeout(a,c))}}function D(a,b){let c=new AbortController,d=()=>{},e=new Promise(a=>{d=a}),f=[];H.set(a,{stop:c,done:e,note:b=>!!H.has(a)&&(f.push(b),!0)}),E(a,b,c.signal,f).catch(b=>{m.logger.error(`task ${a}`,b)}).finally(d)}class L{taskId;seq;steps;closed;constructor(a,b){this.taskId=a,this.steps=new Map,this.closed=!1,this.seq=b}close(){this.closed=!0}async note(a){await (0,r.upsertMessage)(this.taskId,++this.seq,{bot:null,parent:null,role:"user",content:a,note:!0})}step(a){let b=`${a.bot} ${a.parent??""}`,c=this.steps.get(b);return c||(c={assistant:null,tool:null,parts:{assistant:[],tool:[]}},this.steps.set(b,c)),c}write(a,b,c,d={}){let e={bot:b.bot,parent:b.parent,role:c.role,content:c.content,compact:d.compact??!1,note:d.note??!1};return(0,r.upsertMessage)(this.taskId,a,e)}async on(a){if(this.closed)return;let b=this.step(a);switch(a.type){case"text":return b.assistant??=++this.seq,b.parts.assistant.push({type:"text",text:a.text}),this.write(b.assistant,a,{role:"assistant",content:b.parts.assistant});case"tool":return b.assistant??=++this.seq,b.parts.assistant.push({type:"tool-call",toolCallId:a.id,toolName:a.name,input:a.input}),this.write(b.assistant,a,{role:"assistant",content:b.parts.assistant});case"tool-result":return b.assistant??=++this.seq,b.tool??=++this.seq,b.parts.tool.push({type:"tool-result",toolCallId:a.id,toolName:a.name,output:a.error?{type:"error-text",value:String(a.output)}:"string"==typeof a.output?{type:"text",value:a.output}:{type:"json",value:a.output}}),this.write(b.tool,a,{role:"tool",content:b.parts.tool});case"step":{let c=[b.assistant,b.tool];this.steps.delete(`${a.bot} ${a.parent??""}`);let d=new Set;for(let[b,e]of a.messages.entries()){let f=c[b]??++this.seq;d.add(f),await this.write(f,a,e)}let e=c.filter(a=>null!==a&&!d.has(a));e.length&&await (0,r.deleteMessages)(this.taskId,e);return}case"compact":return this.write(++this.seq,a,{role:"user",content:a.text},{compact:!0,note:!0});case"interjection":return this.write(++this.seq,a,{role:"user",content:a.text});default:return}}}async function E(a,b,c,g){let h=new L(a,await (0,r.lastSeq)(a)),i=null,l=null;try{await (0,p.runBot)(b,{signal:c,taskId:a,notes:()=>g.splice(0),emit:async b=>{await h.on(b),"step"===b.type&&await (0,r.addTaskUsage)(a,b.usage,b.parent?null:{tokens:b.usage.input,budget:b.budget}),("compact"===b.type||"answered"===b.type)&&await (0,r.addTaskUsage)(a,b.usage),b.parent||("waiting"===b.type?i={status:"waiting",outcome:b.question,pending:{toolCallId:b.id,options:b.options}}:"answer"===b.type?i=b.stopped?{status:"waiting",outcome:b.text,pending:{toolCallId:null,options:[q.TASK_CONTINUE]}}:{status:"done",outcome:b.text,pending:null}:"error"===b.type&&(l={message:b.message,failure:b.failure,budget:b.budget},i={status:"failed",outcome:F(b.message),pending:null}))}})}catch(a){l={message:(0,f.modelErrorToString)(a),failure:(0,f.modelFailureOf)(a)},i={status:"failed",outcome:F(l.message),pending:null}}finally{h.close(),H.delete(a)}if(c.aborted)return;let n=i??{status:"failed",outcome:"Stopped without handing anything back.",pending:null},o=l&&"fatal"!==l.failure?l:null;try{o?await A(a,{why:"overflow"===o.failure?`The model refused the context as too long (${o.message}); it is compacted before going on.`:`The model call failed (${o.message}).`,retry:"transient"===o.failure,budget:o.budget}):("failed"===n.status&&await h.note(`The run stopped here: ${l?.message??n.outcome}`).catch(b=>m.logger.warn(`task ${a}: break not written`,b)),await C(a,{...n,seen:!1,endedAt:"waiting"===n.status?null:new Date}))}catch(b){m.logger.error(`task ${a}: could not record how it ended`,b);return}o||"waiting"===n.status?(0,k.pruneJobFiles)():(0,k.closeHiddenBrowser)(a);let s=await (0,r.findTask)(a);if(s){if(g.length){let b=g.splice(0).join("\n\n");m.logger.debug(`task ${a}: interjection after the run ended — resuming`),u(a,b).catch(b=>{m.logger.error(`task ${a}: late interjection`,b)});return}if(!o&&(await G(s.label,n),"done"===n.status)){var t;let b,c=(t=n.outcome,(b=(0,j.pathsIn)(t)).find(a=>a.startsWith(`${e.PATHS.artifacts}/`))??b[0]??null);c&&d.appEvents.emit({type:"artifact",taskId:a,label:s.label,path:c})}}}function F(a){return`The run broke: ${a}
|
|
142
|
-
|
|
143
|
-
Everything it had done is still here — answer to pick it back up.`}async function G(a,b){if(0!==d.appEventStream.watchers&&await (0,i.isAnyCallLive)())return;let c="waiting"===b.status?`${a} — needs you`:a;(0,l.desktopNotify)(c,b.outcome)}a.s(["answerTask",0,u,"cancelTask",0,v,"removeFinishedTasks",0,x,"removeTask",0,w,"startTask",0,t]),c()}catch(a){c(a)}},!1),317844,a=>a.a(async(b,c)=>{try{var d,e=a.i(106450),f=a.i(64203),g=a.i(569572),h=a.i(176668),i=a.i(182248),j=a.i(947950),k=a.i(899284),l=b([j]);[j]=l.then?(await l)():l;class m extends Error{serverName;authorizationUrl;constructor(a,b){super(`MCP server "${a}" requires authorization`),this.serverName=a,this.authorizationUrl=b,this.name="McpAuthRequiredError"}}class n{store;serverName;oauth;callbackUrl;clientName;staticClient;lastAuthorizationUrl;constructor(a,b,c,d,e,f){this.store=a,this.serverName=b,this.oauth=c,this.callbackUrl=d,this.clientName=e,this.staticClient=f}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(a){this.oauth={...this.oauth,...a},await this.store.saveOAuth(this.serverName,this.oauth)}clientInformation(){return this.staticClient??this.oauth.clientInformation}async saveClientInformation(a){await this.persist({clientInformation:a})}tokens(){return this.oauth.tokens}async saveTokens(a){await this.persist({tokens:a})}authorizationServerInformation(){return this.oauth.authorizationServer}async saveAuthorizationServerInformation(a){await this.persist({authorizationServer:a})}codeVerifier(){if(!this.oauth.codeVerifier)throw Error("No code verifier saved");return this.oauth.codeVerifier}async saveCodeVerifier(a){await this.persist({codeVerifier:a})}state(){return crypto.randomUUID()}async saveState(a){await this.persist({state:a})}storedState(){return this.oauth.state}redirectToAuthorization(a){this.lastAuthorizationUrl=a}async invalidateCredentials(a){let b={...this.oauth};("all"===a||"client"===a)&&(b.clientInformation=void 0),("all"===a||"tokens"===a)&&(b.tokens=void 0),("all"===a||"verifier"===a)&&(b.codeVerifier=void 0),this.oauth=b,await this.store.saveOAuth(this.serverName,b)}}let o=globalThis;o.__thursdayMcpManager&&o.__thursdayMcpManager.dispose(),d={callbackUrl:new URL("/api/mcp/oauth/callback",g.APP_URL).href,clientName:g.APP_NAME},o.__thursdayMcpManager=new class a{store;sessions;connecting;idleTtlMs;callbackUrl;clientName;constructor(a,b){this.store=a,this.sessions=new Map,this.connecting=new Map,this.callbackUrl=b.callbackUrl,this.idleTtlMs=b.idleTtlMs??18e5,this.clientName=b.clientName??g.APP_NAME}async connect(a){let b=this.connecting.get(a);if(b)return b;let c=this.doConnect(a).finally(()=>this.connecting.delete(a));return this.connecting.set(a,c),c}async callTool(a,b,c,d){let f=await this.ensureClient(a);try{let e=await f.callTool({name:b,arguments:c,options:d?{signal:d}:void 0});return this.touch(a),e}catch(b){if(b instanceof e.UnauthorizedError)throw await this.closeSession(a),new m(a);throw b}}async finishAuthorization(a){let b=a.get("state"),c=a.get("code");if(!b||!c)throw Error("OAuth callback is missing code or state");let d=await this.store.findByOAuthState(b);if(!d||!(0,k.isRemoteConfig)(d.config))throw Error("No server is waiting for this authorization");let f=this.providerFor(d),g=await (0,e.auth)(f,{serverUrl:d.config.url,authorizationCode:c,callbackState:b});if("AUTHORIZED"!==g)throw Error(`Token exchange ended in "${g}"`);return await f.invalidateCredentials("verifier"),await this.connect(d.name),d.name}async disconnect(a){await this.closeSession(a)}async dispose(){await Promise.all([...this.sessions.keys()].map(a=>this.closeSession(a)))}async doConnect(a){await this.closeSession(a);let b=await this.store.load(a);if(!b)throw Error(`Unknown MCP server "${a}"`);let c={};try{let d=await this.openClient(b,c),e=(await d.listTools()).tools.map(a=>({name:a.name,description:a.description,inputSchema:a.inputSchema,outputSchema:a.outputSchema}));return this.adopt(a,d),await this.store.saveConnectionResult(a,{toolInfo:e,lastError:null}),h.logger.info(`mcp "${a}" connected — ${e.length} tools`),{status:"connected",tools:e}}catch(l){var d,f;let g;if(l instanceof e.UnauthorizedError||l?.cause instanceof e.UnauthorizedError){let b=c.href;if(b)return await this.store.saveConnectionResult(a,{toolInfo:[],lastError:"Authorization required — finish sign-in in the opened tab"}),{status:"auth_required",authorizationUrl:b}}let j=(d=l,f=b,g=(0,i.errorToString)(d),/\b40[13]\b/.test(g)&&/OAuth|register/i.test(g)&&(0,k.isRemoteConfig)(f.config)&&!f.config.oauthClient?"This server does not allow automatic client registration. Register an OAuth app with the provider and add its client ID and secret.":g);throw await this.store.saveConnectionResult(a,{toolInfo:[],lastError:j}),h.logger.warn(`mcp "${a}" failed — ${j}`),Error(j,{cause:l})}}async openClient(a,b={}){if((0,k.isRemoteConfig)(a.config)){let c=this.providerFor(a);try{return await (0,e.createMCPClient)({name:this.clientName,transport:{type:"http",url:a.config.url,headers:a.config.headers,authProvider:c,redirect:"follow"}})}finally{b.href=c.lastAuthorizationUrl?.href}}return(0,e.createMCPClient)({name:this.clientName,transport:new f.Experimental_StdioMCPTransport({command:a.config.command,args:a.config.args,env:a.config.env})})}providerFor(a){let b=(0,k.isRemoteConfig)(a.config)?a.config.oauthClient:void 0;return new n(this.store,a.name,a.oauth??{},this.callbackUrl,this.clientName,b&&{client_id:b.clientId,client_secret:b.clientSecret})}async ensureClient(a){let b=this.sessions.get(a);if(b)return b.client;let c=await this.connect(a);if("auth_required"===c.status)throw new m(a,c.authorizationUrl);let d=this.sessions.get(a);if(!d)throw Error(`Session for "${a}" vanished mid-connect`);return d.client}adopt(a,b){this.sessions.set(a,{client:b,idleTimer:this.armIdleTimer(a)})}touch(a){let b=this.sessions.get(a);b&&(clearTimeout(b.idleTimer),b.idleTimer=this.armIdleTimer(a))}armIdleTimer(a){let b=setTimeout(()=>{this.closeSession(a)},this.idleTtlMs);return b.unref?.(),b}async closeSession(a){let b=this.sessions.get(a);b&&(this.sessions.delete(a),clearTimeout(b.idleTimer),await b.client.close().catch(()=>{}))}}({load:a=>(0,j.findServer)(a),saveOAuth:(a,b)=>(0,j.saveOAuthData)(a,b),saveConnectionResult:(a,b)=>null===b.lastError?(0,j.syncServerTools)(a,b.toolInfo):(0,j.saveConnectionError)(a,b.lastError),findByOAuthState:a=>(0,j.findServerByOAuthState)(a)},d);let p=o.__thursdayMcpManager;a.s(["McpAuthRequiredError",0,m,"mcpManager",0,p]),c()}catch(a){c(a)}},!1),947950,a=>a.a(async(b,c)=>{try{var d=a.i(93321),e=a.i(351674),f=a.i(203469),g=a.i(184838),h=a.i(714428),i=a.i(899284),j=b([g]);async function k(a){var b;let[c]=await g.database.select({name:h.mcpServerTable.name,config:h.mcpServerTable.config,lastError:h.mcpServerTable.lastError,toolsSyncedAt:h.mcpServerTable.toolsSyncedAt}).from(h.mcpServerTable).where((0,d.eq)(h.mcpServerTable.name,a));return c?{...c,config:(b=c.config,(0,i.isRemoteConfig)(b)?{url:b.url}:{command:b.command,args:b.args}),tools:await l(a)}:null}async function l(a){return g.database.select({id:h.mcpToolTable.id,name:h.mcpToolTable.name,description:h.mcpToolTable.description,inputSchema:h.mcpToolTable.inputSchema,outputSchema:h.mcpToolTable.outputSchema}).from(h.mcpToolTable).where((0,d.eq)(h.mcpToolTable.serverName,a)).orderBy(h.mcpToolTable.name)}async function m(a){let[b]=await g.database.select().from(h.mcpServerTable).where((0,d.eq)(h.mcpServerTable.name,a));return b??null}[g]=j.then?(await j)():j;let u=()=>f.appEvents.emit({type:"mcp"});async function n(a){let[b]=await g.database.insert(h.mcpServerTable).values({...a,lastError:null}).onConflictDoUpdate({target:h.mcpServerTable.name,set:{config:a.config,lastError:null}}).returning();return u(),b}async function o(a,b){await g.database.transaction(async c=>{b.length&&await c.insert(h.mcpToolTable).values(b.map(b=>({...b,serverName:a}))).onConflictDoUpdate({target:[h.mcpToolTable.serverName,h.mcpToolTable.name],set:{description:p(h.mcpToolTable.description),inputSchema:p(h.mcpToolTable.inputSchema),outputSchema:p(h.mcpToolTable.outputSchema)}}),await c.delete(h.mcpToolTable).where(b.length?(0,d.and)((0,d.eq)(h.mcpToolTable.serverName,a),(0,d.notInArray)(h.mcpToolTable.name,b.map(a=>a.name))):(0,d.eq)(h.mcpToolTable.serverName,a)),await c.update(h.mcpServerTable).set({lastError:null,toolsSyncedAt:new Date}).where((0,d.eq)(h.mcpServerTable.name,a))}),u()}function p(a){return e.sql.raw(`excluded."${a.name}"`)}async function q(a,b){await g.database.update(h.mcpServerTable).set({lastError:b}).where((0,d.eq)(h.mcpServerTable.name,a)),u()}async function r(a,b){await g.database.update(h.mcpServerTable).set({oauth:b}).where((0,d.eq)(h.mcpServerTable.name,a)),u()}async function s(a){let[b]=await g.database.select().from(h.mcpServerTable).where(e.sql`json_extract(${h.mcpServerTable.oauth}, '$.state') = ${a}`);return b??null}async function t(a){let b=await g.database.delete(h.mcpServerTable).where((0,d.eq)(h.mcpServerTable.name,a)).returning();return b.length>0&&u(),b.length>0}a.s(["deleteServer",0,t,"findPinnedTools",0,function(a){return g.database.select({server:h.mcpToolTable.serverName,name:h.mcpToolTable.name,description:h.mcpToolTable.description,inputSchema:h.mcpToolTable.inputSchema}).from(h.botMcpToolTable).innerJoin(h.mcpToolTable,(0,d.eq)(h.botMcpToolTable.toolId,h.mcpToolTable.id)).where((0,d.eq)(h.botMcpToolTable.botName,a)).orderBy(h.mcpToolTable.serverName,h.mcpToolTable.name)},"findServer",0,m,"findServerByOAuthState",0,s,"findServerDetail",0,k,"findToolSchemas",0,function(a,b){return b.length?g.database.select({name:h.mcpToolTable.name,description:h.mcpToolTable.description,inputSchema:h.mcpToolTable.inputSchema}).from(h.mcpToolTable).where((0,d.and)((0,d.eq)(h.mcpToolTable.serverName,a),(0,d.inArray)(h.mcpToolTable.name,b))).orderBy(h.mcpToolTable.name):Promise.resolve([])},"listServerNames",0,function(){return g.database.select({name:h.mcpServerTable.name}).from(h.mcpServerTable).orderBy(h.mcpServerTable.name)},"listToolNames",0,function(a){let b=g.database.select({server:h.mcpToolTable.serverName,name:h.mcpToolTable.name}).from(h.mcpToolTable);return a?b.where((0,d.eq)(h.mcpToolTable.serverName,a)).orderBy(h.mcpToolTable.name):b.orderBy(h.mcpToolTable.serverName,h.mcpToolTable.name)},"saveConnectionError",0,q,"saveOAuthData",0,r,"syncServerTools",0,o,"upsertServer",0,n]),c()}catch(a){c(a)}},!1),899284,a=>{"use strict";var b=a.i(53112),c=a.i(706210);let d=b.z.object({url:b.z.url(),headers:b.z.record(b.z.string(),b.z.string()).optional(),oauthClient:b.z.object({clientId:b.z.string().min(1),clientSecret:b.z.string().optional()}).optional()}),e=b.z.object({command:b.z.string().min(1),args:b.z.array(b.z.string()).optional(),env:b.z.record(b.z.string(),b.z.string()).optional()}),f=b.z.union([d,e]),g=b.z.object({name:b.z.string(),description:b.z.string().optional(),inputSchema:b.z.looseObject({}).optional(),outputSchema:b.z.looseObject({}).optional()});b.z.object({clientInformation:b.z.looseObject({}).optional(),tokens:b.z.looseObject({}).optional(),authorizationServer:b.z.looseObject({}).optional(),codeVerifier:b.z.string().optional(),state:b.z.string().optional()});let h=b.z.object({name:b.z.string().min(1).max(40),config:f,toolCount:b.z.number().int(),lastError:b.z.string().nullish()}),i=g.extend({id:b.z.number().int(),description:b.z.string().nullish()});h.omit({toolCount:!0}).extend({tools:i.array().default([]),toolsSyncedAt:c.DateLikeSchema});let j=b.z.object({name:b.z.string().min(1,"Name is required").max(40).regex(/^[a-zA-Z0-9_-]+$/,"Only letters, numbers, - and _ are allowed"),config:f});b.z.union([b.z.object({mcpServers:b.z.record(b.z.string(),f)}),b.z.record(b.z.string(),f)]),a.s(["MCPServerFormSchema",0,j,"isRemoteConfig",0,function(a){return"url"in a}])},986743,a=>a.a(async(b,c)=>{try{var d=a.i(93321),e=a.i(530385),f=a.i(351674),g=a.i(203469),h=a.i(569572),i=a.i(184838),j=a.i(714428),k=a.i(8412),l=a.i(661210),m=b([i]);[i]=m.then?(await m)():m;let E=(0,k.createKeyedLock)(),F=()=>g.appEvents.emit({type:"memory"});async function n(a,b,c={}){let[d]=await i.database.insert(j.memoryNoteTable).values({path:a,description:b,ownedByUser:c.ownedByUser??!1}).onConflictDoNothing({target:j.memoryNoteTable.path}).returning();return d&&F(),d??null}async function o(a,b){let[c]=await i.database.update(j.memoryNoteTable).set({...b,updatedAt:new Date}).where((0,d.eq)(j.memoryNoteTable.id,a)).returning();return c&&F(),c??null}async function p(a){let b=await i.database.delete(j.memoryNoteTable).where((0,d.eq)(j.memoryNoteTable.id,a)).returning({id:j.memoryNoteTable.id});return b.length>0&&F(),b.length>0}async function q(a,b){let[c]=await i.database.insert(j.memoryFactTable).values({noteId:a,text:b,source:"user"}).returning();return await t(a),F(),c}async function r(a,b,c){let e,f=await (e=()=>i.database.transaction(async e=>{let f=await e.update(j.memoryFactTable).set({isLatest:!1}).where((0,d.and)((0,d.eq)(j.memoryFactTable.id,b),(0,d.eq)(j.memoryFactTable.noteId,a),(0,d.eq)(j.memoryFactTable.isLatest,!0))).returning({id:j.memoryFactTable.id});if(0===f.length)return null;let[g]=await e.insert(j.memoryFactTable).values({noteId:a,text:c,source:"user"}).returning();return await e.update(j.memoryNoteTable).set({updatedAt:new Date}).where((0,d.eq)(j.memoryNoteTable.id,a)),g}),E("memory",e));return f&&F(),f}async function s(a,b){let c=await i.database.delete(j.memoryFactTable).where((0,d.and)((0,d.eq)(j.memoryFactTable.id,b),(0,d.eq)(j.memoryFactTable.noteId,a))).returning({id:j.memoryFactTable.id});return c.length>0&&(await t(a),F()),c.length>0}function t(a){return i.database.update(j.memoryNoteTable).set({updatedAt:new Date}).where((0,d.eq)(j.memoryNoteTable.id,a))}async function u(){for(let a of l.MEMORY_ALWAYS_LISTED){let b=l.MEMORY_PATHS.find(b=>b.path===a)?.of??a;await i.database.insert(j.memoryNoteTable).values({path:a,description:b}).onConflictDoUpdate({target:j.memoryNoteTable.path,set:{description:b}})}}async function v(a){let b=a.map(a=>a.trim()).filter(Boolean),c=[],e=[];if(!b.length)return{found:c,missing:e};let f={id:j.memoryNoteTable.id,path:j.memoryNoteTable.path,description:j.memoryNoteTable.description},g=await i.database.select(f).from(j.memoryNoteTable).where((0,d.inArray)(j.memoryNoteTable.path,b)),h=new Map(g.map(a=>[a.path.toLowerCase(),a]));if(b.some(a=>!h.has(a.toLowerCase()))){let a=await i.database.select({...f,aliases:j.memoryNoteTable.aliases}).from(j.memoryNoteTable),b=(a,b)=>{let c=a.trim().toLowerCase();c&&!h.has(c)&&h.set(c,b)};for(let c of a)b(c.path,c);for(let c of a)for(let a of(b(c.path.slice(c.path.indexOf("/")+1),c),c.aliases??[]))b(a,c)}let k=new Set;for(let a of b){let b=h.get(a.toLowerCase());if(!b){e.push(a);continue}k.has(b.id)||(k.add(b.id),c.push(b))}return{found:c,missing:e}}async function w(a){let{found:b}=await v([a]);return b[0]?.path??null}async function x(a,b={}){let{found:c,missing:g}=await v(a);if(!c.length)return{notes:[],missing:g};let h=c.map(a=>a.id),k=await i.database.select({id:j.memoryFactTable.id,noteId:j.memoryFactTable.noteId,text:j.memoryFactTable.text,alwaysLoad:j.memoryFactTable.alwaysLoad,source:j.memoryFactTable.source,createdAt:j.memoryFactTable.createdAt,saidAt:j.callTable.startedAt}).from(j.memoryFactTable).leftJoin(j.callTable,(0,d.eq)(j.memoryFactTable.callId,j.callTable.id)).where((0,d.and)((0,d.eq)(j.memoryFactTable.isLatest,!0),(0,d.inArray)(j.memoryFactTable.noteId,h))).orderBy((0,e.asc)(j.memoryFactTable.id));return!1!==b.touch&&await i.database.update(j.memoryNoteTable).set({hits:f.sql`${j.memoryNoteTable.hits} + 1`,lastReadAt:new Date}).where((0,d.inArray)(j.memoryNoteTable.id,h)),{notes:c.map(a=>({path:a.path,description:a.description,facts:k.filter(b=>b.noteId===a.id).map(a=>({id:a.id,text:a.text,...a.saidAt?{saidAt:a.saidAt}:{}}))})),missing:g}}(0,d.inArray)(j.memoryNoteTable.path,l.MEMORY_ALWAYS_LISTED);let G=a=>a.toLowerCase().replace(/[\s.,!?…·'"`]/g,"");async function y(a,b,c=null){let e,g=[],k=[],l=[];await (e=()=>i.database.transaction(async e=>{let[i]=await e.select({count:f.sql`count(*)`}).from(j.memoryFactTable).where((0,d.and)((0,d.eq)(j.memoryFactTable.alwaysLoad,!0),(0,d.eq)(j.memoryFactTable.isLatest,!0))),m=h.MEMORY_LIMITS.carried-Number(i?.count??0),n=(a,b)=>!!a&&(m>0?(m-=1,!0):(l.push(b),!1));for(let f of a){let a,h=f.path.trim();if(!h)continue;k.push(h);let i=f.description?.trim(),l=f.aliases?.map(a=>a.trim()).filter(Boolean),o=(f.facts??[]).map(a=>({...a,text:a.text.trim()})).filter(a=>a.text),[p]=await e.select({id:j.memoryNoteTable.id}).from(j.memoryNoteTable).where((0,d.eq)(j.memoryNoteTable.path,h));if(p)a=p.id,(i||l)&&await e.update(j.memoryNoteTable).set({...i?{description:i}:{},...l?{aliases:l}:{},updatedAt:new Date}).where((0,d.eq)(j.memoryNoteTable.id,a));else{let[b]=await e.insert(j.memoryNoteTable).values({path:h,description:i??o[0]?.text.slice(0,80)??h,...l?{aliases:l}:{}}).returning({id:j.memoryNoteTable.id});a=b.id,i||g.push(h)}if(!o.length)continue;let q=await e.select({id:j.memoryFactTable.id,text:j.memoryFactTable.text,alwaysLoad:j.memoryFactTable.alwaysLoad}).from(j.memoryFactTable).where((0,d.and)((0,d.eq)(j.memoryFactTable.noteId,a),(0,d.eq)(j.memoryFactTable.isLatest,!0))),r=new Map(q.map(a=>[G(a.text),a])),s=async(a,b,c)=>{if(b===a.alwaysLoad)return;let f=b?n(!0,c):(m+=1,!1);f!==a.alwaysLoad&&(await e.update(j.memoryFactTable).set({alwaysLoad:f}).where((0,d.eq)(j.memoryFactTable.id,a.id)),a.alwaysLoad=f)};for(let f of o){if(null!=f.replaces){let[g]=await e.select({id:j.memoryFactTable.id,text:j.memoryFactTable.text,alwaysLoad:j.memoryFactTable.alwaysLoad}).from(j.memoryFactTable).where((0,d.and)((0,d.eq)(j.memoryFactTable.id,f.replaces),(0,d.eq)(j.memoryFactTable.noteId,a),(0,d.eq)(j.memoryFactTable.isLatest,!0)));if(g){if(G(g.text)===G(f.text)){await s(g,f.alwaysLoad??g.alwaysLoad,f.text),r.set(G(g.text),g);continue}await e.update(j.memoryFactTable).set({isLatest:!1}).where((0,d.eq)(j.memoryFactTable.id,g.id)),r.delete(G(g.text)),g.alwaysLoad&&(m+=1);let[h]=await e.insert(j.memoryFactTable).values({noteId:a,text:f.text,source:b,callId:c,alwaysLoad:n(f.alwaysLoad??g.alwaysLoad,f.text)}).returning({id:j.memoryFactTable.id,alwaysLoad:j.memoryFactTable.alwaysLoad});r.set(G(f.text),{...h,text:f.text});continue}}let g=r.get(G(f.text));if(g){null!=f.alwaysLoad&&await s(g,f.alwaysLoad,f.text);continue}let[h]=await e.insert(j.memoryFactTable).values({noteId:a,text:f.text,source:b,callId:c,alwaysLoad:n(!0===f.alwaysLoad,f.text)}).returning({id:j.memoryFactTable.id,alwaysLoad:j.memoryFactTable.alwaysLoad});r.set(G(f.text),{...h,text:f.text})}await e.update(j.memoryNoteTable).set({updatedAt:new Date}).where((0,d.eq)(j.memoryNoteTable.id,a))}}),E("memory",e));let{notes:m}=await x(k,{touch:!1});return F(),{notes:m,unnamed:g,notLoaded:l}}async function z(a,b,c){let e,g=await (e=()=>i.database.transaction(async e=>{if(c){let[a]=await e.select({count:f.sql`count(*)`}).from(j.memoryFactTable).where((0,d.and)((0,d.eq)(j.memoryFactTable.alwaysLoad,!0),(0,d.eq)(j.memoryFactTable.isLatest,!0)));if(Number(a?.count??0)>=h.MEMORY_LIMITS.carried)return"full"}let[g]=await e.update(j.memoryFactTable).set({alwaysLoad:c}).where((0,d.and)((0,d.eq)(j.memoryFactTable.id,b),(0,d.eq)(j.memoryFactTable.noteId,a),(0,d.eq)(j.memoryFactTable.isLatest,!0))).returning({id:j.memoryFactTable.id});return g?"ok":"missing"}),E("memory",e));return"ok"===g&&F(),g}async function A(){let[a,b]=await Promise.all([i.database.select({id:j.memoryNoteTable.id,path:j.memoryNoteTable.path,description:j.memoryNoteTable.description,aliases:j.memoryNoteTable.aliases,hits:j.memoryNoteTable.hits,lastReadAt:j.memoryNoteTable.lastReadAt,createdAt:j.memoryNoteTable.createdAt}).from(j.memoryNoteTable),i.database.select({noteId:j.memoryFactTable.noteId,count:f.sql`count(*)`}).from(j.memoryFactTable).where((0,d.eq)(j.memoryFactTable.isLatest,!0)).groupBy(j.memoryFactTable.noteId)]),c=new Map(b.map(a=>[a.noteId,a.count]));return a.filter(a=>(0,l.isAlwaysListed)(a.path)||(c.get(a.id)??0)>0).sort((a,b)=>Number((0,l.isAlwaysListed)(b.path))-Number((0,l.isAlwaysListed)(a.path))||(0,l.recallScore)(b)-(0,l.recallScore)(a)).map(a=>({path:a.path,description:a.description,aliases:a.aliases,factCount:c.get(a.id)??0,lastSeenAt:a.lastReadAt??a.createdAt}))}async function B(a){let b,c=await (b=()=>i.database.transaction(async b=>{let c=await b.delete(j.memoryFactTable).where((0,d.eq)(j.memoryFactTable.id,a)).returning({noteId:j.memoryFactTable.noteId});if(0===c.length)return null;let e=c[0].noteId,[g]=await b.select({path:j.memoryNoteTable.path,ownedByUser:j.memoryNoteTable.ownedByUser}).from(j.memoryNoteTable).where((0,d.eq)(j.memoryNoteTable.id,e)),[h]=await b.select({count:f.sql`count(*)`}).from(j.memoryFactTable).where((0,d.and)((0,d.eq)(j.memoryFactTable.noteId,e),(0,d.eq)(j.memoryFactTable.isLatest,!0)));return h?.count!==0||!g||g.ownedByUser||(0,l.isAlwaysListed)(g.path)?(await b.update(j.memoryNoteTable).set({updatedAt:new Date}).where((0,d.eq)(j.memoryNoteTable.id,e)),{path:g?.path??"",noteGone:!1}):(await b.delete(j.memoryNoteTable).where((0,d.eq)(j.memoryNoteTable.id,e)),{path:g.path,noteGone:!0})}),E("memory",b));return c&&F(),c}async function C(a){let[b]=await i.database.select({source:j.memoryFactTable.source,callId:j.memoryFactTable.callId}).from(j.memoryFactTable).where((0,d.eq)(j.memoryFactTable.id,a));return b??null}async function D(){let a=await i.database.delete(j.memoryNoteTable).returning({id:j.memoryNoteTable.id});return await u(),a.length>0&&F(),a.length}a.s(["addFact",0,q,"createNote",0,n,"deleteAllNotes",0,D,"deleteNote",0,p,"findFactCall",0,C,"forgetFact",0,s,"forgetFactById",0,B,"listAlwaysLoaded",0,function(){return i.database.select({id:j.memoryFactTable.id,path:j.memoryNoteTable.path,text:j.memoryFactTable.text}).from(j.memoryFactTable).innerJoin(j.memoryNoteTable,(0,d.eq)(j.memoryFactTable.noteId,j.memoryNoteTable.id)).where((0,d.and)((0,d.eq)(j.memoryFactTable.alwaysLoad,!0),(0,d.eq)(j.memoryFactTable.isLatest,!0))).orderBy((0,e.asc)(j.memoryNoteTable.path),(0,e.asc)(j.memoryFactTable.id)).limit(h.MEMORY_LIMITS.carried)},"listNoteIndex",0,A,"readNotes",0,x,"resolveNotePath",0,w,"reviseFact",0,r,"setFactAlwaysLoad",0,z,"updateNote",0,o,"writeNotes",0,y]),c()}catch(a){c(a)}},!1),661210,a=>{"use strict";var b=a.i(53112),c=a.i(706210);let d=b.z.enum(["user","call","bot"]),e=b.z.object({id:b.z.number(),text:b.z.string(),alwaysLoad:b.z.boolean(),source:d.nullish(),createdAt:c.DateLikeSchema});b.z.object({id:b.z.number(),path:b.z.string(),description:b.z.string(),aliases:b.z.string().array().nullish(),ownedByUser:b.z.boolean(),hits:b.z.number(),lastReadAt:c.DateLikeSchema.nullable(),createdAt:c.DateLikeSchema,updatedAt:c.DateLikeSchema,factCount:b.z.number(),facts:e.array()});let f=[{path:"profile",of:"The user themselves — their name, age, what they do, where they live, and whatever else says who they are"},{path:"preferences",of:"How they want things done, and said"},{path:"people/",of:"Someone in their life, and what matters about them"},{path:"projects/",of:"Something with an end — a trip, a purchase, a deadline, a thing being built"},{path:"topics/",of:"Something ongoing that keeps coming back"},{path:"inbox",of:"Nowhere obvious yet"}],g="inbox",h=f.filter(a=>!a.path.endsWith("/")).map(a=>a.path),i=f.filter(a=>a.path.endsWith("/")).map(a=>a.path.slice(0,-1)),j=RegExp(`^(?:${h.join("|")}|(?:${i.join("|")})/.+)$`),k=["profile","preferences"],l=[...k,g];a.s(["APP_NAMED_NOTES",0,l,"MEMORY_ALWAYS_LISTED",0,k,"MEMORY_INBOX",0,g,"MEMORY_PATHS",0,f,"appNoteLine",0,a=>f.find(b=>b.path===a)?.of??null,"isAlwaysListed",0,a=>k.includes(a),"isAppNamed",0,a=>l.includes(a),"isMemoryPath",0,a=>j.test(a),"recallScore",0,function(a){let b=(0,c.toDate)(a.lastReadAt??a.createdAt),d=Math.max(0,(Date.now()-b.getTime())/864e5);return(a.hits+1)/(1+d)}])},138100,a=>{"use strict";var b=a.i(750227),c=a.i(569572),d=a.i(176668),e=a.i(182248),f=a.i(762805);let g=[(0,b.join)(c.APP_DIR,c.PATHS.skills.default),(0,b.join)(c.DATA_DIR,c.PATHS.skills.custom)];async function h(a,b){let c=[],g=new Set;for(let h of b){let b;try{b=await a.readdir(h,{withFileTypes:!0})}catch{continue}for(let i of b){let b,j;if(!i.isDirectory())continue;let k=`${h}/${i.name}`,l=`${k}/SKILL.md`;try{b=await a.readFile(l,"utf-8")}catch{continue}try{j=(0,f.parseFrontmatter)(b)}catch(a){d.logger.warn(`skill ${k}: SKILL.md front matter did not load — ${(0,e.errorToString)(a)}`);continue}!g.has(j.name)&&(g.add(j.name),j.disabled||c.push({name:j.name,description:j.description,path:k}))}}return c}a.s(["loadSkills",0,a=>h(a,g)])},762805,951941,a=>{"use strict";var b=a.i(912714),c=a.i(750227),d=a.i(622650),e=a.i(569572),f=a.i(53112);let g=f.z.enum(["custom","default"]),h=f.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"),i=f.z.object({name:h,description:f.z.string().trim().min(1,"Description is required"),disabled:f.z.boolean().optional()}),j=i.extend({content:f.z.string().trim().min(1,"Content is required")}),k=f.z.object({fileName:f.z.string().trim().min(1),base64:f.z.string().min(1)});a.s(["SkillDraftSchema",0,j,"SkillFrontmatterSchema",0,i,"SkillNameSchema",0,h,"SkillSourceSchema",0,g,"SkillUploadSchema",0,k],951941);var l=a.i(293480);let m={default:(0,c.resolve)(e.APP_DIR,e.PATHS.skills.default),custom:(0,c.resolve)(e.DATA_DIR,e.PATHS.skills.custom)};function n(a,b){let d=m[a],e=(0,c.resolve)(d,b),f=(0,c.relative)(d,e);return(!f||f.startsWith("..")||f.includes(c.sep)||"."===f)&&(0,l.publicError)("Skill not found"),e}function o(a){let b=a.match(/^---\r?\n([\s\S]*?)\r?\n---\r?\n?/);if(!b)return{head:null,body:a.trim(),rest:a,fence:""};let c=a.slice(b[0].length);return{head:b[1]??null,body:c.trim(),rest:c,fence:b[0]}}function p(a){let b,{head:c}=o(a);c||(0,l.publicError)("SKILL.md needs a YAML block with name and description");try{b=(0,d.parse)(c)}catch{(0,l.publicError)("SKILL.md frontmatter is not valid YAML")}let e=i.safeParse(b);return e.success||(0,l.publicError)(`SKILL.md frontmatter: ${e.error.issues[0]?.message??"invalid"}`),e.data}let q=/^disabled[ \t]*:[^\n]*(\r?\n|$)/m;async function r(a,e,f){let g,h,i=(0,c.join)(n(a,e),"SKILL.md");try{g=await (0,b.readFile)(i,"utf-8")}catch{(0,l.publicError)("Skill not found")}let{head:j,rest:k,fence:m}=o(g);j||(0,l.publicError)("This SKILL.md has no frontmatter to write to");try{h=(0,d.parse)(j)}catch{(0,l.publicError)("SKILL.md frontmatter is not valid YAML")}(!h||"object"!=typeof h||Array.isArray(h))&&(0,l.publicError)("SKILL.md frontmatter is not a YAML mapping");let p=m.includes("\r\n")?"\r\n":"\n",r=f?q.test(j)?j.replace(q,"disabled: true$1"):`${j.replace(/\s+$/,"")}${p}disabled: true`:j.replace(q,"").replace(/\s+$/,"");await (0,b.writeFile)(i,`---${p}${r}${p}---${p}${k}`)}async function s(a,d){try{let e=await (0,b.readFile)((0,c.join)(m[a],d,"SKILL.md"),"utf-8");return{...p(e),source:a,dir:d}}catch{return null}}async function t(a,d){let e=n("custom",a),f=async a=>(0,b.stat)(a).then(()=>!0,()=>!1);await f(e)&&(0,l.publicError)(`A skill named "${a}" already exists`),await f(n("default",a))&&(0,l.publicError)(`"${a}" is a built-in skill — pick another name`),await (0,b.mkdir)(e,{recursive:!0});try{for(let[a,f]of d){let d=function(a,b){let d=(0,c.resolve)(a,b);return((0,c.relative)(a,d).startsWith("..")||(0,c.resolve)(d)!==d)&&(0,l.publicError)("File not found"),d}(e,a);await (0,b.mkdir)((0,c.resolve)(d,".."),{recursive:!0}),await (0,b.writeFile)(d,f)}}catch(a){throw await (0,b.rm)(e,{recursive:!0,force:!0}),a}let g=await s("custom",a);return g||(await (0,b.rm)(e,{recursive:!0,force:!0}),(0,l.publicError)("SKILL.md could not be read back")),g}async function u(a){let c=n("custom",a);await (0,b.stat)(c).then(()=>!0,()=>!1)||(0,l.publicError)("Skill not found"),await (0,b.rm)(c,{recursive:!0,force:!0})}a.s(["deleteCustomSkill",0,u,"parseFrontmatter",0,p,"renderSkillMarkdown",0,function(a,b){return`---
|
|
106
|
+
${j}`,usage:x(i)}}let x=a=>({input:a.inputTokens??0,output:a.outputTokens??0});a.s(["resumeTranscript",0,function(a,b=new Map){let c=new Map,d=new Set;for(let b of a)if(("tool"===b.role||"assistant"===b.role)&&Array.isArray(b.content))for(let a of b.content)"tool-result"===a.type&&(c.has(a.toolCallId)||c.set(a.toolCallId,a),"assistant"===b.role&&d.add(a.toolCallId));let e=[],f=new Set;for(let g of a){if("tool"===g.role){let a=g.content.filter(a=>"tool-result"!==a.type);a.length&&e.push({...g,content:a});continue}if("assistant"!==g.role||"string"==typeof g.content){e.push(g);continue}let a=[],h=[];for(let e of g.content){if("tool-call"!==e.type){h.push(e);continue}if(f.has(e.toolCallId))continue;let g=e.input;if("string"==typeof g)try{g=JSON.parse(g)}catch{g=void 0}if(!e.toolCallId||void 0===g){h.push({type:"text",text:"A tool argument stream was interrupted before a complete call was recorded. Inspect the saved work before continuing."});continue}let i=e.toolName===k.TOOL_NAMES.send_message?b.get(e.toolCallId):void 0,j=c.get(e.toolCallId)??(i?{type:"tool-result",toolCallId:e.toolCallId,toolName:e.toolName,output:{type:"json",value:i}}:void 0);if(e.providerExecuted&&(!j||!d.has(e.toolCallId))){h.push({type:"text",text:j?`The provider operation ${e.toolName} returned this data before its native continuation was interrupted: ${JSON.stringify(j.output)}`:`The provider operation ${e.toolName} was interrupted without a recorded result. Its remote execution state is unknown.`});continue}f.add(e.toolCallId),h.push({...e,input:g}),d.has(e.toolCallId)||a.push(j??{type:"tool-result",toolCallId:e.toolCallId,toolName:e.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."}})}h.length&&e.push({...g,content:h}),a.length&&e.push({role:"tool",content:a})}return e},"runBot",0,s]),c()}catch(a){c(a)}},!1),674986,a=>a.a(async(b,c)=>{try{var d=a.i(136340),e=a.i(203469),f=a.i(569572),g=a.i(875931),h=a.i(735502),i=a.i(569549),j=a.i(684321),k=a.i(821415),l=a.i(956802),m=a.i(176668),n=a.i(293480),o=a.i(8412),p=a.i(182248),q=a.i(221214),r=a.i(654034),s=a.i(446957),t=a.i(839430),u=a.i(109955),v=a.i(344853),w=b([g,h,i,q,r,t,v]);[g,h,i,q,r,t,v]=w.then?(await w)():w;let H=globalThis.__roomRuns??=new Map,I=globalThis.__roomThreadLock??=(0,o.createKeyedLock)();async function x(a){let b=await (0,q.findJobBot)(a.bot);(!b||b.disabled)&&(0,n.publicError)("Choose an enabled bot.");let{from:c,...d}={...a,bot:b.name},e=(0,h.buildThreadOpening)({bot:d.bot,request:d.request,from:c}),f=await (0,v.insertThread)({...d,opening:e});return await z(f.id),f.id}async function y(a,b,c="user",d,e){let f=null;return await I(a,async()=>{let g=await (0,v.findThread)(a);if(g||(0,n.publicError)("No such thread."),d){let b=(await (0,t.listRoomWork)(a)).find(a=>a.bot.toLowerCase()===d.trim().toLowerCase());b&&b.bot!==u.ROOM_THURSDAY||(0,n.publicError)("Choose a participant in this thread."),d=b.bot}b.trim()===s.THREAD_CONTINUE&&(0,s.isAppStop)(g.pending)?(await (0,t.resumeRoom)(a),(await (0,t.listRoomWork)(a)).some(a=>"queued"===a.state)||(f=await (0,t.tellRoom)(a,"Continue from the saved conversation.","user"===c?"The user":u.ROOM_THURSDAY,d,void 0,!1))):f=await (0,t.tellRoom)(a,b,"user"===c?"The user":u.ROOM_THURSDAY,d,e)}),await z(a),f}async function z(a){await I(a,async()=>{if(!e.presence.watching){let b=await (0,v.findThread)(a);b?.status!=="running"||[...H.values()].some(b=>b.threadId===a)||await (0,t.pauseRoom)(a,"The app is not open. Work resumes when it returns.",!0);return}for(let b=0;b<2;b++){let b;for(;b=await (0,t.claimRoomWork)(a);)!function(a){let b,c=new AbortController,d=new Promise(a=>{b=a});H.set(a.id,{threadId:a.threadId,stop:c,done:d}),A(a,c.signal).catch(b=>m.logger.error(`thread ${a.threadId}: participant`,b)).finally(()=>{H.delete(a.id),b(),z(a.threadId).catch(b=>m.logger.error(`thread ${a.threadId}: scheduling`,b))})}(b);await (0,t.settleRoom)(a)}})}async function A(a,b){let c=await B(a,b);if(c?.failure?.retry&&!b.aborted&&(await (0,t.noteRoomBreak)(a,c.failure.message),await (0,d.setTimeout)(f.BOT_RUN.retryMs,void 0,{signal:b}).catch(()=>{}),b.aborted||(c=await B(a,b))),!c||b.aborted)return;let g=c.failure?.message,h=c.ending;if(g||!h||h.stopped){let b=g??"The turn was interrupted. Continue from the saved conversation.";I(a.threadId,async()=>{let c=(await (0,t.listRoomWork)(a.threadId)).find(b=>b.id===a.id);if(c?.state!=="running"||c.generation!==a.generation)return;let d=C(a.threadId);await (0,t.pauseRoom)(a.threadId,b),await d}).catch(b=>m.logger.error(`thread ${a.threadId}: pausing`,b));return}await (0,t.finishRoomWork)(a,h.text);let n=await (0,v.findThread)(a.threadId);if(n?.status==="done"){await (0,i.isAnyCallLive)()||(0,l.desktopNotify)(n.label,n.outcome??"");let a=await (0,k.filesOnDisk)((0,j.pathsIn)(n.outcome??""),null),b=a.find(a=>a.startsWith(`${f.PATHS.artifacts}/`))??a[0];b&&e.appEvents.emit({type:"artifact",threadId:n.id,label:n.label,path:b})}}async function B(a,b){let c=new J(a,b),d=null,e=null;try{let f=await (0,v.findThread)(a.threadId);if(!f)return null;(await (0,t.listParticipantTranscript)(a.threadId,a.bot)).length||await (0,t.appendRoomMessage)(a.threadId,{bot:a.bot,parent:a.id,role:"user",content:`Request: ${f.request}
|
|
107
|
+
Coordinator: ${f.bot}. Continue as ${a.bot} in this thread.`,hidden:!0}),await (0,t.consumeRoomInbox)(a);let g=await (0,t.listParticipantTranscript)(a.threadId,a.bot);await (0,r.runBot)({bot:a.bot,messages:(0,r.resumeTranscript)(g,await (0,t.listRoomReceipts)(a.threadId,a.bot,g))},{signal:b,threadId:a.threadId,parent:a.id,caller:a.caller,owner:f.bot,contextBudget:await (0,t.roomContextBudget)(a.threadId,a.bot),session:(0,k.botBrowserSession)(a.threadId,a.bot),notes:()=>(0,t.consumeRoomInbox)(a),send:async c=>{b.throwIfAborted();let d=c.to.trim();if(d.toLowerCase()===u.ROOM_THURSDAY.toLowerCase())d=u.ROOM_THURSDAY;else{let a=await (0,q.findJobBot)(d);(!a||a.disabled)&&(0,n.publicError)(`No enabled bot named "${d}".`),d=a.name}let e=await (0,t.sendRoomMessage)(a,{...c,to:d});return z(a.threadId).catch(a=>m.logger.error("room message scheduling",a)),e},emit:async g=>{(!b.aborted||"tool-result"===g.type)&&(await c.on(g),"step"===g.type&&await (0,v.addThreadUsage)(a.threadId,g.usage,a.bot===f.bot?{tokens:g.usage.input,budget:g.budget}:null),"compact"===g.type&&await (0,v.addThreadUsage)(a.threadId,g.usage),"turn-end"===g.type&&(d=g),"error"===g.type&&(e={message:g.message,retry:g.retry},g.budget&&await (0,t.lowerRoomContextBudget)(a,g.budget)))}})}catch(c){b.aborted||(m.logger.error(`thread ${a.threadId}: ${a.bot} broke`,c),e={message:(0,g.modelErrorToString)(c),retry:!(0,n.isPublicError)(c)&&!(0,g.isProviderRefusal)(c)})}return{ending:d,failure:e}}globalThis.__roomPausing??={current:Promise.resolve()};class J{work;signal;lane;assistant;tool;parts;calls;results;constructor(a,b){this.work=a,this.signal=b,this.lane=(0,p.PromiseChain)(),this.assistant=null,this.tool=null,this.parts={assistant:[],tool:[]},this.calls=new Set,this.results=new Set}async write(a,b,c=!1){let d={bot:this.work.bot,parent:this.work.id,role:b.role,content:b.content,compact:c,note:c};return null===a?(0,t.appendRoomMessage)(this.work.threadId,d):(await (0,v.upsertMessage)(this.work.threadId,a,d),a)}on(a){return this.lane(async()=>{if(!this.signal.aborted||"tool-result"===a.type)if("text"===a.type)this.parts.assistant.push({type:"text",text:a.text}),this.assistant=await this.write(this.assistant,{role:"assistant",content:this.parts.assistant});else if("tool"===a.type){if(this.calls.has(a.id)){let b=this.parts.assistant.find(b=>"tool-call"===b.type&&b.toolCallId===a.id);b&&"tool-call"===b.type&&a.providerOptions&&(b.providerOptions=a.providerOptions,this.assistant=await this.write(this.assistant,{role:"assistant",content:this.parts.assistant}));return}this.calls.add(a.id),this.parts.assistant.push({type:"tool-call",toolCallId:a.id,toolName:a.name,input:a.input,...a.providerExecuted?{providerExecuted:!0}:{},...a.providerOptions?{providerOptions:a.providerOptions}:{}}),this.assistant=await this.write(this.assistant,{role:"assistant",content:this.parts.assistant})}else if("tool-result"===a.type){if(this.results.has(a.id))return;this.results.add(a.id),this.parts.tool.push({type:"tool-result",toolCallId:a.id,toolName:a.name,output:a.error?{type:"error-text",value:String(a.output)}:"string"==typeof a.output?{type:"text",value:a.output}:{type:"json",value:a.output}}),this.tool=await this.write(this.tool,{role:"tool",content:this.parts.tool})}else if("step"===a.type){let b=[this.assistant,this.tool];for(let[c,d]of a.messages.entries())await this.write(b[c]??null,d);let c=b.slice(a.messages.length).filter(a=>null!==a);c.length&&await (0,v.deleteMessages)(this.work.threadId,c),this.assistant=this.tool=null,this.parts={assistant:[],tool:[]}}else"compact"===a.type&&await this.write(null,{role:"user",content:a.text},!0)})}}async function C(a){let b=[...H.values()].filter(b=>b.threadId===a);for(let a of b)a.stop.abort();await Promise.all(b.map(a=>a.done))}async function D(a){await I(a,async()=>{let b=await (0,v.findThread)(a);b||(0,n.publicError)("No such thread."),b.endedAt&&(0,n.publicError)("That thread has already ended."),await (0,t.cancelRoom)(a),await (0,v.updateThread)(a,{status:"cancelled",outcome:null,pending:null,seen:!0,endedAt:new Date}),await C(a),await (0,k.closeJobShell)(a)})}async function E(a){return I(a,()=>F(a))}async function F(a){let b=await (0,v.findThread)(a);await (0,t.cancelRoom)(a),await C(a),await (0,k.closeJobShell)(a);let c=await (0,v.deleteThread)(a);return c&&b&&await (0,k.removeJobScratch)(a,b.label),c}async function G(){let a=0;for(let b of(await (0,v.listThreadFolders)()))("done"===b.status||"cancelled"===b.status)&&await I(b.id,async()=>{let c=await (0,v.findThread)(b.id);(c?.status==="done"||c?.status==="cancelled")&&await F(b.id)&&(a+=1)});return a}a.s(["answerThread",0,y,"cancelThread",0,D,"removeFinishedThreads",0,G,"removeThread",0,E,"startThread",0,x]),c()}catch(a){c(a)}},!1),317844,a=>a.a(async(b,c)=>{try{var d,e=a.i(106450),f=a.i(64203),g=a.i(569572),h=a.i(176668),i=a.i(182248),j=a.i(947950),k=a.i(899284),l=b([j]);[j]=l.then?(await l)():l;class m extends Error{serverName;authorizationUrl;constructor(a,b){super(`MCP server "${a}" requires authorization`),this.serverName=a,this.authorizationUrl=b,this.name="McpAuthRequiredError"}}class n{store;serverName;oauth;callbackUrl;clientName;staticClient;lastAuthorizationUrl;constructor(a,b,c,d,e,f){this.store=a,this.serverName=b,this.oauth=c,this.callbackUrl=d,this.clientName=e,this.staticClient=f}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(a){this.oauth={...this.oauth,...a},await this.store.saveOAuth(this.serverName,this.oauth)}clientInformation(){return this.staticClient??this.oauth.clientInformation}async saveClientInformation(a){await this.persist({clientInformation:a})}tokens(){return this.oauth.tokens}async saveTokens(a){await this.persist({tokens:a})}authorizationServerInformation(){return this.oauth.authorizationServer}async saveAuthorizationServerInformation(a){await this.persist({authorizationServer:a})}codeVerifier(){if(!this.oauth.codeVerifier)throw Error("No code verifier saved");return this.oauth.codeVerifier}async saveCodeVerifier(a){await this.persist({codeVerifier:a})}state(){return crypto.randomUUID()}async saveState(a){await this.persist({state:a})}storedState(){return this.oauth.state}redirectToAuthorization(a){this.lastAuthorizationUrl=a}async invalidateCredentials(a){let b={...this.oauth};("all"===a||"client"===a)&&(b.clientInformation=void 0),("all"===a||"tokens"===a)&&(b.tokens=void 0),("all"===a||"verifier"===a)&&(b.codeVerifier=void 0),this.oauth=b,await this.store.saveOAuth(this.serverName,b)}}let o=globalThis;o.__thursdayMcpManager&&o.__thursdayMcpManager.dispose(),d={callbackUrl:new URL("/api/mcp/oauth/callback",g.APP_URL).href,clientName:g.APP_NAME},o.__thursdayMcpManager=new class a{store;sessions;connecting;idleTtlMs;callbackUrl;clientName;constructor(a,b){this.store=a,this.sessions=new Map,this.connecting=new Map,this.callbackUrl=b.callbackUrl,this.idleTtlMs=b.idleTtlMs??18e5,this.clientName=b.clientName??g.APP_NAME}async connect(a){let b=this.connecting.get(a);if(b)return b;let c=this.doConnect(a).finally(()=>this.connecting.delete(a));return this.connecting.set(a,c),c}async callTool(a,b,c,d){let f=await this.ensureClient(a);try{let e=await f.callTool({name:b,arguments:c,options:d?{signal:d}:void 0});return this.touch(a),e}catch(b){if(b instanceof e.UnauthorizedError)throw await this.closeSession(a),new m(a);throw b}}async finishAuthorization(a){let b=a.get("state"),c=a.get("code");if(!b||!c)throw Error("OAuth callback is missing code or state");let d=await this.store.findByOAuthState(b);if(!d||!(0,k.isRemoteConfig)(d.config))throw Error("No server is waiting for this authorization");let f=this.providerFor(d),g=await (0,e.auth)(f,{serverUrl:d.config.url,authorizationCode:c,callbackState:b});if("AUTHORIZED"!==g)throw Error(`Token exchange ended in "${g}"`);return await f.invalidateCredentials("verifier"),await this.connect(d.name),d.name}async disconnect(a){await this.closeSession(a)}async dispose(){await Promise.all([...this.sessions.keys()].map(a=>this.closeSession(a)))}async doConnect(a){await this.closeSession(a);let b=await this.store.load(a);if(!b)throw Error(`Unknown MCP server "${a}"`);let c={};try{let d=await this.openClient(b,c),e=(await d.listTools()).tools.map(a=>({name:a.name,description:a.description,inputSchema:a.inputSchema,outputSchema:a.outputSchema}));return this.adopt(a,d),await this.store.saveConnectionResult(a,{toolInfo:e,lastError:null}),h.logger.info(`mcp "${a}" connected — ${e.length} tools`),{status:"connected",tools:e}}catch(l){var d,f;let g;if(l instanceof e.UnauthorizedError||l?.cause instanceof e.UnauthorizedError){let b=c.href;if(b)return await this.store.saveConnectionResult(a,{toolInfo:[],lastError:"Authorization required — finish sign-in in the opened tab"}),{status:"auth_required",authorizationUrl:b}}let j=(d=l,f=b,g=(0,i.errorToString)(d),/\b40[13]\b/.test(g)&&/OAuth|register/i.test(g)&&(0,k.isRemoteConfig)(f.config)&&!f.config.oauthClient?"This server does not allow automatic client registration. Register an OAuth app with the provider and add its client ID and secret.":g);throw await this.store.saveConnectionResult(a,{toolInfo:[],lastError:j}),h.logger.warn(`mcp "${a}" failed — ${j}`),Error(j,{cause:l})}}async openClient(a,b={}){if((0,k.isRemoteConfig)(a.config)){let c=this.providerFor(a);try{return await (0,e.createMCPClient)({name:this.clientName,transport:{type:"http",url:a.config.url,headers:a.config.headers,authProvider:c,redirect:"follow"}})}finally{b.href=c.lastAuthorizationUrl?.href}}return(0,e.createMCPClient)({name:this.clientName,transport:new f.Experimental_StdioMCPTransport({command:a.config.command,args:a.config.args,env:a.config.env})})}providerFor(a){let b=(0,k.isRemoteConfig)(a.config)?a.config.oauthClient:void 0;return new n(this.store,a.name,a.oauth??{},this.callbackUrl,this.clientName,b&&{client_id:b.clientId,client_secret:b.clientSecret})}async ensureClient(a){let b=this.sessions.get(a);if(b)return b.client;let c=await this.connect(a);if("auth_required"===c.status)throw new m(a,c.authorizationUrl);let d=this.sessions.get(a);if(!d)throw Error(`Session for "${a}" vanished mid-connect`);return d.client}adopt(a,b){this.sessions.set(a,{client:b,idleTimer:this.armIdleTimer(a)})}touch(a){let b=this.sessions.get(a);b&&(clearTimeout(b.idleTimer),b.idleTimer=this.armIdleTimer(a))}armIdleTimer(a){let b=setTimeout(()=>{this.closeSession(a)},this.idleTtlMs);return b.unref?.(),b}async closeSession(a){let b=this.sessions.get(a);b&&(this.sessions.delete(a),clearTimeout(b.idleTimer),await b.client.close().catch(()=>{}))}}({load:a=>(0,j.findServer)(a),saveOAuth:(a,b)=>(0,j.saveOAuthData)(a,b),saveConnectionResult:(a,b)=>null===b.lastError?(0,j.syncServerTools)(a,b.toolInfo):(0,j.saveConnectionError)(a,b.lastError),findByOAuthState:a=>(0,j.findServerByOAuthState)(a)},d);let p=o.__thursdayMcpManager;a.s(["McpAuthRequiredError",0,m,"mcpManager",0,p]),c()}catch(a){c(a)}},!1),947950,a=>a.a(async(b,c)=>{try{var d=a.i(93321),e=a.i(351674),f=a.i(203469),g=a.i(184838),h=a.i(714428),i=a.i(899284),j=b([g]);async function k(a){var b;let[c]=await g.database.select({name:h.mcpServerTable.name,config:h.mcpServerTable.config,lastError:h.mcpServerTable.lastError,toolsSyncedAt:h.mcpServerTable.toolsSyncedAt}).from(h.mcpServerTable).where((0,d.eq)(h.mcpServerTable.name,a));return c?{...c,config:(b=c.config,(0,i.isRemoteConfig)(b)?{url:b.url}:{command:b.command,args:b.args}),tools:await l(a)}:null}async function l(a){return g.database.select({id:h.mcpToolTable.id,name:h.mcpToolTable.name,description:h.mcpToolTable.description,inputSchema:h.mcpToolTable.inputSchema,outputSchema:h.mcpToolTable.outputSchema}).from(h.mcpToolTable).where((0,d.eq)(h.mcpToolTable.serverName,a)).orderBy(h.mcpToolTable.name)}async function m(a){let[b]=await g.database.select().from(h.mcpServerTable).where((0,d.eq)(h.mcpServerTable.name,a));return b??null}[g]=j.then?(await j)():j;let u=()=>f.appEvents.emit({type:"mcp"});async function n(a){let[b]=await g.database.insert(h.mcpServerTable).values({...a,lastError:null}).onConflictDoUpdate({target:h.mcpServerTable.name,set:{config:a.config,lastError:null}}).returning();return u(),b}async function o(a,b){await g.database.transaction(async c=>{b.length&&await c.insert(h.mcpToolTable).values(b.map(b=>({...b,serverName:a}))).onConflictDoUpdate({target:[h.mcpToolTable.serverName,h.mcpToolTable.name],set:{description:p(h.mcpToolTable.description),inputSchema:p(h.mcpToolTable.inputSchema),outputSchema:p(h.mcpToolTable.outputSchema)}}),await c.delete(h.mcpToolTable).where(b.length?(0,d.and)((0,d.eq)(h.mcpToolTable.serverName,a),(0,d.notInArray)(h.mcpToolTable.name,b.map(a=>a.name))):(0,d.eq)(h.mcpToolTable.serverName,a)),await c.update(h.mcpServerTable).set({lastError:null,toolsSyncedAt:new Date}).where((0,d.eq)(h.mcpServerTable.name,a))}),u()}function p(a){return e.sql.raw(`excluded."${a.name}"`)}async function q(a,b){await g.database.update(h.mcpServerTable).set({lastError:b}).where((0,d.eq)(h.mcpServerTable.name,a)),u()}async function r(a,b){await g.database.update(h.mcpServerTable).set({oauth:b}).where((0,d.eq)(h.mcpServerTable.name,a)),u()}async function s(a){let[b]=await g.database.select().from(h.mcpServerTable).where(e.sql`json_extract(${h.mcpServerTable.oauth}, '$.state') = ${a}`);return b??null}async function t(a){let b=await g.database.delete(h.mcpServerTable).where((0,d.eq)(h.mcpServerTable.name,a)).returning();return b.length>0&&u(),b.length>0}a.s(["deleteServer",0,t,"findPinnedTools",0,function(a){return g.database.select({server:h.mcpToolTable.serverName,name:h.mcpToolTable.name,description:h.mcpToolTable.description,inputSchema:h.mcpToolTable.inputSchema}).from(h.botMcpToolTable).innerJoin(h.mcpToolTable,(0,d.eq)(h.botMcpToolTable.toolId,h.mcpToolTable.id)).where((0,d.eq)(h.botMcpToolTable.botName,a)).orderBy(h.mcpToolTable.serverName,h.mcpToolTable.name)},"findServer",0,m,"findServerByOAuthState",0,s,"findServerDetail",0,k,"findToolSchemas",0,function(a,b){return b.length?g.database.select({name:h.mcpToolTable.name,description:h.mcpToolTable.description,inputSchema:h.mcpToolTable.inputSchema}).from(h.mcpToolTable).where((0,d.and)((0,d.eq)(h.mcpToolTable.serverName,a),(0,d.inArray)(h.mcpToolTable.name,b))).orderBy(h.mcpToolTable.name):Promise.resolve([])},"listServerNames",0,function(){return g.database.select({name:h.mcpServerTable.name}).from(h.mcpServerTable).orderBy(h.mcpServerTable.name)},"listToolNames",0,function(a){let b=g.database.select({server:h.mcpToolTable.serverName,name:h.mcpToolTable.name}).from(h.mcpToolTable);return a?b.where((0,d.eq)(h.mcpToolTable.serverName,a)).orderBy(h.mcpToolTable.name):b.orderBy(h.mcpToolTable.serverName,h.mcpToolTable.name)},"saveConnectionError",0,q,"saveOAuthData",0,r,"syncServerTools",0,o,"upsertServer",0,n]),c()}catch(a){c(a)}},!1),899284,a=>{"use strict";var b=a.i(53112),c=a.i(706210);let d=b.z.object({url:b.z.url(),headers:b.z.record(b.z.string(),b.z.string()).optional(),oauthClient:b.z.object({clientId:b.z.string().min(1),clientSecret:b.z.string().optional()}).optional()}),e=b.z.object({command:b.z.string().min(1),args:b.z.array(b.z.string()).optional(),env:b.z.record(b.z.string(),b.z.string()).optional()}),f=b.z.union([d,e]),g=b.z.object({name:b.z.string(),description:b.z.string().optional(),inputSchema:b.z.looseObject({}).optional(),outputSchema:b.z.looseObject({}).optional()});b.z.object({clientInformation:b.z.looseObject({}).optional(),tokens:b.z.looseObject({}).optional(),authorizationServer:b.z.looseObject({}).optional(),codeVerifier:b.z.string().optional(),state:b.z.string().optional()});let h=b.z.object({name:b.z.string().min(1).max(40),config:f,toolCount:b.z.number().int(),lastError:b.z.string().nullish()}),i=g.extend({id:b.z.number().int(),description:b.z.string().nullish()});h.omit({toolCount:!0}).extend({tools:i.array().default([]),toolsSyncedAt:c.DateLikeSchema});let j=b.z.object({name:b.z.string().min(1,"Name is required").max(40).regex(/^[a-zA-Z0-9_-]+$/,"Only letters, numbers, - and _ are allowed"),config:f});b.z.union([b.z.object({mcpServers:b.z.record(b.z.string(),f)}),b.z.record(b.z.string(),f)]),a.s(["MCPServerFormSchema",0,j,"isRemoteConfig",0,function(a){return"url"in a}])},986743,a=>a.a(async(b,c)=>{try{var d=a.i(93321),e=a.i(530385),f=a.i(351674),g=a.i(203469),h=a.i(569572),i=a.i(184838),j=a.i(714428),k=a.i(8412),l=a.i(661210),m=b([i]);[i]=m.then?(await m)():m;let E=(0,k.createKeyedLock)(),F=()=>g.appEvents.emit({type:"memory"});async function n(a,b,c={}){let[d]=await i.database.insert(j.memoryNoteTable).values({path:a,description:b,ownedByUser:c.ownedByUser??!1}).onConflictDoNothing({target:j.memoryNoteTable.path}).returning();return d&&F(),d??null}async function o(a,b){let[c]=await i.database.update(j.memoryNoteTable).set({...b,updatedAt:new Date}).where((0,d.eq)(j.memoryNoteTable.id,a)).returning();return c&&F(),c??null}async function p(a){let b=await i.database.delete(j.memoryNoteTable).where((0,d.eq)(j.memoryNoteTable.id,a)).returning({id:j.memoryNoteTable.id});return b.length>0&&F(),b.length>0}async function q(a,b){let[c]=await i.database.insert(j.memoryFactTable).values({noteId:a,text:b,source:"user"}).returning();return await t(a),F(),c}async function r(a,b,c){let e,f=await (e=()=>i.database.transaction(async e=>{let f=await e.update(j.memoryFactTable).set({isLatest:!1}).where((0,d.and)((0,d.eq)(j.memoryFactTable.id,b),(0,d.eq)(j.memoryFactTable.noteId,a),(0,d.eq)(j.memoryFactTable.isLatest,!0))).returning({id:j.memoryFactTable.id});if(0===f.length)return null;let[g]=await e.insert(j.memoryFactTable).values({noteId:a,text:c,source:"user"}).returning();return await e.update(j.memoryNoteTable).set({updatedAt:new Date}).where((0,d.eq)(j.memoryNoteTable.id,a)),g}),E("memory",e));return f&&F(),f}async function s(a,b){let c=await i.database.delete(j.memoryFactTable).where((0,d.and)((0,d.eq)(j.memoryFactTable.id,b),(0,d.eq)(j.memoryFactTable.noteId,a))).returning({id:j.memoryFactTable.id});return c.length>0&&(await t(a),F()),c.length>0}function t(a){return i.database.update(j.memoryNoteTable).set({updatedAt:new Date}).where((0,d.eq)(j.memoryNoteTable.id,a))}async function u(){for(let a of l.MEMORY_ALWAYS_LISTED){let b=l.MEMORY_PATHS.find(b=>b.path===a)?.of??a;await i.database.insert(j.memoryNoteTable).values({path:a,description:b}).onConflictDoUpdate({target:j.memoryNoteTable.path,set:{description:b}})}}async function v(a){let b=a.map(a=>a.trim()).filter(Boolean),c=[],e=[];if(!b.length)return{found:c,missing:e};let f={id:j.memoryNoteTable.id,path:j.memoryNoteTable.path,description:j.memoryNoteTable.description},g=await i.database.select(f).from(j.memoryNoteTable).where((0,d.inArray)(j.memoryNoteTable.path,b)),h=new Map(g.map(a=>[a.path.toLowerCase(),a]));if(b.some(a=>!h.has(a.toLowerCase()))){let a=await i.database.select({...f,aliases:j.memoryNoteTable.aliases}).from(j.memoryNoteTable),b=(a,b)=>{let c=a.trim().toLowerCase();c&&!h.has(c)&&h.set(c,b)};for(let c of a)b(c.path,c);for(let c of a)for(let a of(b(c.path.slice(c.path.indexOf("/")+1),c),c.aliases??[]))b(a,c)}let k=new Set;for(let a of b){let b=h.get(a.toLowerCase());if(!b){e.push(a);continue}k.has(b.id)||(k.add(b.id),c.push(b))}return{found:c,missing:e}}async function w(a){let{found:b}=await v([a]);return b[0]?.path??null}async function x(a,b={}){let{found:c,missing:g}=await v(a);if(!c.length)return{notes:[],missing:g};let h=c.map(a=>a.id),k=await i.database.select({id:j.memoryFactTable.id,noteId:j.memoryFactTable.noteId,text:j.memoryFactTable.text,alwaysLoad:j.memoryFactTable.alwaysLoad,source:j.memoryFactTable.source,createdAt:j.memoryFactTable.createdAt,saidAt:j.callTable.startedAt}).from(j.memoryFactTable).leftJoin(j.callTable,(0,d.eq)(j.memoryFactTable.callId,j.callTable.id)).where((0,d.and)((0,d.eq)(j.memoryFactTable.isLatest,!0),(0,d.inArray)(j.memoryFactTable.noteId,h))).orderBy((0,e.asc)(j.memoryFactTable.id));return!1!==b.touch&&await i.database.update(j.memoryNoteTable).set({hits:f.sql`${j.memoryNoteTable.hits} + 1`,lastReadAt:new Date}).where((0,d.inArray)(j.memoryNoteTable.id,h)),{notes:c.map(a=>({path:a.path,description:a.description,facts:k.filter(b=>b.noteId===a.id).map(a=>({id:a.id,text:a.text,...a.saidAt?{saidAt:a.saidAt}:{}}))})),missing:g}}(0,d.inArray)(j.memoryNoteTable.path,l.MEMORY_ALWAYS_LISTED);let G=a=>a.toLowerCase().replace(/[\s.,!?…·'"`]/g,"");async function y(a,b,c=null){let e,g=[],k=[],l=[];await (e=()=>i.database.transaction(async e=>{let[i]=await e.select({count:f.sql`count(*)`}).from(j.memoryFactTable).where((0,d.and)((0,d.eq)(j.memoryFactTable.alwaysLoad,!0),(0,d.eq)(j.memoryFactTable.isLatest,!0))),m=h.MEMORY_LIMITS.carried-Number(i?.count??0),n=(a,b)=>!!a&&(m>0?(m-=1,!0):(l.push(b),!1));for(let f of a){let a,h=f.path.trim();if(!h)continue;k.push(h);let i=f.description?.trim(),l=f.aliases?.map(a=>a.trim()).filter(Boolean),o=(f.facts??[]).map(a=>({...a,text:a.text.trim()})).filter(a=>a.text),[p]=await e.select({id:j.memoryNoteTable.id}).from(j.memoryNoteTable).where((0,d.eq)(j.memoryNoteTable.path,h));if(p)a=p.id,(i||l)&&await e.update(j.memoryNoteTable).set({...i?{description:i}:{},...l?{aliases:l}:{},updatedAt:new Date}).where((0,d.eq)(j.memoryNoteTable.id,a));else{let[b]=await e.insert(j.memoryNoteTable).values({path:h,description:i??o[0]?.text.slice(0,80)??h,...l?{aliases:l}:{}}).returning({id:j.memoryNoteTable.id});a=b.id,i||g.push(h)}if(!o.length)continue;let q=await e.select({id:j.memoryFactTable.id,text:j.memoryFactTable.text,alwaysLoad:j.memoryFactTable.alwaysLoad}).from(j.memoryFactTable).where((0,d.and)((0,d.eq)(j.memoryFactTable.noteId,a),(0,d.eq)(j.memoryFactTable.isLatest,!0))),r=new Map(q.map(a=>[G(a.text),a])),s=async(a,b,c)=>{if(b===a.alwaysLoad)return;let f=b?n(!0,c):(m+=1,!1);f!==a.alwaysLoad&&(await e.update(j.memoryFactTable).set({alwaysLoad:f}).where((0,d.eq)(j.memoryFactTable.id,a.id)),a.alwaysLoad=f)};for(let f of o){if(null!=f.replaces){let[g]=await e.select({id:j.memoryFactTable.id,text:j.memoryFactTable.text,alwaysLoad:j.memoryFactTable.alwaysLoad}).from(j.memoryFactTable).where((0,d.and)((0,d.eq)(j.memoryFactTable.id,f.replaces),(0,d.eq)(j.memoryFactTable.noteId,a),(0,d.eq)(j.memoryFactTable.isLatest,!0)));if(g){if(G(g.text)===G(f.text)){await s(g,f.alwaysLoad??g.alwaysLoad,f.text),r.set(G(g.text),g);continue}await e.update(j.memoryFactTable).set({isLatest:!1}).where((0,d.eq)(j.memoryFactTable.id,g.id)),r.delete(G(g.text)),g.alwaysLoad&&(m+=1);let[h]=await e.insert(j.memoryFactTable).values({noteId:a,text:f.text,source:b,callId:c,alwaysLoad:n(f.alwaysLoad??g.alwaysLoad,f.text)}).returning({id:j.memoryFactTable.id,alwaysLoad:j.memoryFactTable.alwaysLoad});r.set(G(f.text),{...h,text:f.text});continue}}let g=r.get(G(f.text));if(g){null!=f.alwaysLoad&&await s(g,f.alwaysLoad,f.text);continue}let[h]=await e.insert(j.memoryFactTable).values({noteId:a,text:f.text,source:b,callId:c,alwaysLoad:n(!0===f.alwaysLoad,f.text)}).returning({id:j.memoryFactTable.id,alwaysLoad:j.memoryFactTable.alwaysLoad});r.set(G(f.text),{...h,text:f.text})}await e.update(j.memoryNoteTable).set({updatedAt:new Date}).where((0,d.eq)(j.memoryNoteTable.id,a))}}),E("memory",e));let{notes:m}=await x(k,{touch:!1});return F(),{notes:m,unnamed:g,notLoaded:l}}async function z(a,b,c){let e,g=await (e=()=>i.database.transaction(async e=>{if(c){let[a]=await e.select({count:f.sql`count(*)`}).from(j.memoryFactTable).where((0,d.and)((0,d.eq)(j.memoryFactTable.alwaysLoad,!0),(0,d.eq)(j.memoryFactTable.isLatest,!0)));if(Number(a?.count??0)>=h.MEMORY_LIMITS.carried)return"full"}let[g]=await e.update(j.memoryFactTable).set({alwaysLoad:c}).where((0,d.and)((0,d.eq)(j.memoryFactTable.id,b),(0,d.eq)(j.memoryFactTable.noteId,a),(0,d.eq)(j.memoryFactTable.isLatest,!0))).returning({id:j.memoryFactTable.id});return g?"ok":"missing"}),E("memory",e));return"ok"===g&&F(),g}async function A(){let[a,b]=await Promise.all([i.database.select({id:j.memoryNoteTable.id,path:j.memoryNoteTable.path,description:j.memoryNoteTable.description,aliases:j.memoryNoteTable.aliases,hits:j.memoryNoteTable.hits,lastReadAt:j.memoryNoteTable.lastReadAt,createdAt:j.memoryNoteTable.createdAt}).from(j.memoryNoteTable),i.database.select({noteId:j.memoryFactTable.noteId,count:f.sql`count(*)`}).from(j.memoryFactTable).where((0,d.eq)(j.memoryFactTable.isLatest,!0)).groupBy(j.memoryFactTable.noteId)]),c=new Map(b.map(a=>[a.noteId,a.count]));return a.filter(a=>(0,l.isAlwaysListed)(a.path)||(c.get(a.id)??0)>0).sort((a,b)=>Number((0,l.isAlwaysListed)(b.path))-Number((0,l.isAlwaysListed)(a.path))||(0,l.recallScore)(b)-(0,l.recallScore)(a)).map(a=>({path:a.path,description:a.description,aliases:a.aliases,factCount:c.get(a.id)??0,lastSeenAt:a.lastReadAt??a.createdAt}))}async function B(a){let b,c=await (b=()=>i.database.transaction(async b=>{let c=await b.delete(j.memoryFactTable).where((0,d.eq)(j.memoryFactTable.id,a)).returning({noteId:j.memoryFactTable.noteId});if(0===c.length)return null;let e=c[0].noteId,[g]=await b.select({path:j.memoryNoteTable.path,ownedByUser:j.memoryNoteTable.ownedByUser}).from(j.memoryNoteTable).where((0,d.eq)(j.memoryNoteTable.id,e)),[h]=await b.select({count:f.sql`count(*)`}).from(j.memoryFactTable).where((0,d.and)((0,d.eq)(j.memoryFactTable.noteId,e),(0,d.eq)(j.memoryFactTable.isLatest,!0)));return h?.count!==0||!g||g.ownedByUser||(0,l.isAlwaysListed)(g.path)?(await b.update(j.memoryNoteTable).set({updatedAt:new Date}).where((0,d.eq)(j.memoryNoteTable.id,e)),{path:g?.path??"",noteGone:!1}):(await b.delete(j.memoryNoteTable).where((0,d.eq)(j.memoryNoteTable.id,e)),{path:g.path,noteGone:!0})}),E("memory",b));return c&&F(),c}async function C(a){let[b]=await i.database.select({source:j.memoryFactTable.source,callId:j.memoryFactTable.callId}).from(j.memoryFactTable).where((0,d.eq)(j.memoryFactTable.id,a));return b??null}async function D(){let a=await i.database.delete(j.memoryNoteTable).returning({id:j.memoryNoteTable.id});return await u(),a.length>0&&F(),a.length}a.s(["addFact",0,q,"createNote",0,n,"deleteAllNotes",0,D,"deleteNote",0,p,"findFactCall",0,C,"forgetFact",0,s,"forgetFactById",0,B,"listAlwaysLoaded",0,function(){return i.database.select({id:j.memoryFactTable.id,path:j.memoryNoteTable.path,text:j.memoryFactTable.text}).from(j.memoryFactTable).innerJoin(j.memoryNoteTable,(0,d.eq)(j.memoryFactTable.noteId,j.memoryNoteTable.id)).where((0,d.and)((0,d.eq)(j.memoryFactTable.alwaysLoad,!0),(0,d.eq)(j.memoryFactTable.isLatest,!0))).orderBy((0,e.asc)(j.memoryNoteTable.path),(0,e.asc)(j.memoryFactTable.id)).limit(h.MEMORY_LIMITS.carried)},"listNoteIndex",0,A,"readNotes",0,x,"resolveNotePath",0,w,"reviseFact",0,r,"setFactAlwaysLoad",0,z,"updateNote",0,o,"writeNotes",0,y]),c()}catch(a){c(a)}},!1),661210,a=>{"use strict";var b=a.i(53112),c=a.i(706210);let d=b.z.enum(["user","call","bot"]),e=b.z.object({id:b.z.number(),text:b.z.string(),alwaysLoad:b.z.boolean(),source:d.nullish(),createdAt:c.DateLikeSchema});b.z.object({id:b.z.number(),path:b.z.string(),description:b.z.string(),aliases:b.z.string().array().nullish(),ownedByUser:b.z.boolean(),hits:b.z.number(),lastReadAt:c.DateLikeSchema.nullable(),createdAt:c.DateLikeSchema,updatedAt:c.DateLikeSchema,factCount:b.z.number(),facts:e.array()});let f=[{path:"profile",of:"The user themselves — their name, age, what they do, where they live, and whatever else says who they are"},{path:"preferences",of:"How they want things done, and said"},{path:"people/",of:"Someone in their life, and what matters about them"},{path:"projects/",of:"Something with an end — a trip, a purchase, a deadline, a thing being built"},{path:"topics/",of:"Something ongoing that keeps coming back"}],g=f.filter(a=>!a.path.endsWith("/")).map(a=>a.path),h=f.filter(a=>a.path.endsWith("/")).map(a=>a.path.slice(0,-1)),i=RegExp(`^(?:${g.join("|")}|(?:${h.join("|")})/.+)$`),j=["profile","preferences"];a.s(["MEMORY_ALWAYS_LISTED",0,j,"MEMORY_PATHS",0,f,"appNoteLine",0,a=>f.find(b=>b.path===a)?.of??null,"isAlwaysListed",0,a=>j.includes(a),"isMemoryPath",0,a=>i.test(a),"recallScore",0,function(a){let b=(0,c.toDate)(a.lastReadAt??a.createdAt),d=Math.max(0,(Date.now()-b.getTime())/864e5);return(a.hits+1)/(1+d)}])},138100,a=>{"use strict";var b=a.i(750227),c=a.i(569572),d=a.i(176668),e=a.i(182248),f=a.i(762805);let g=[(0,b.join)(c.APP_DIR,c.PATHS.skills.default),(0,b.join)(c.DATA_DIR,c.PATHS.skills.custom)];async function h(a,b){let c=[],g=new Set;for(let h of b){let b;try{b=await a.readdir(h,{withFileTypes:!0})}catch{continue}for(let i of b){let b,j;if(!i.isDirectory())continue;let k=`${h}/${i.name}`,l=`${k}/SKILL.md`;try{b=await a.readFile(l,"utf-8")}catch{continue}try{j=(0,f.parseFrontmatter)(b)}catch(a){d.logger.warn(`skill ${k}: SKILL.md front matter did not load — ${(0,e.errorToString)(a)}`);continue}!g.has(j.name)&&(g.add(j.name),j.disabled||c.push({name:j.name,description:j.description,path:k}))}}return c}a.s(["loadSkills",0,a=>h(a,g)])},762805,951941,a=>{"use strict";var b=a.i(912714),c=a.i(750227),d=a.i(622650),e=a.i(569572),f=a.i(53112);let g=f.z.enum(["custom","default"]),h=f.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"),i=f.z.object({name:h,description:f.z.string().trim().min(1,"Description is required"),disabled:f.z.boolean().optional()}),j=i.extend({content:f.z.string().trim().min(1,"Content is required")}),k=f.z.object({fileName:f.z.string().trim().min(1),base64:f.z.string().min(1)});a.s(["SkillDraftSchema",0,j,"SkillFrontmatterSchema",0,i,"SkillNameSchema",0,h,"SkillSourceSchema",0,g,"SkillUploadSchema",0,k],951941);var l=a.i(293480);let m={default:(0,c.resolve)(e.APP_DIR,e.PATHS.skills.default),custom:(0,c.resolve)(e.DATA_DIR,e.PATHS.skills.custom)};function n(a,b){let d=m[a],e=(0,c.resolve)(d,b),f=(0,c.relative)(d,e);return(!f||f.startsWith("..")||f.includes(c.sep)||"."===f)&&(0,l.publicError)("Skill not found"),e}function o(a){let b=a.match(/^---\r?\n([\s\S]*?)\r?\n---\r?\n?/);if(!b)return{head:null,body:a.trim(),rest:a,fence:""};let c=a.slice(b[0].length);return{head:b[1]??null,body:c.trim(),rest:c,fence:b[0]}}function p(a){let b,{head:c}=o(a);c||(0,l.publicError)("SKILL.md needs a YAML block with name and description");try{b=(0,d.parse)(c)}catch{(0,l.publicError)("SKILL.md frontmatter is not valid YAML")}let e=i.safeParse(b);return e.success||(0,l.publicError)(`SKILL.md frontmatter: ${e.error.issues[0]?.message??"invalid"}`),e.data}let q=/^disabled[ \t]*:[^\n]*(\r?\n|$)/m;async function r(a,e,f){let g,h,i=(0,c.join)(n(a,e),"SKILL.md");try{g=await (0,b.readFile)(i,"utf-8")}catch{(0,l.publicError)("Skill not found")}let{head:j,rest:k,fence:m}=o(g);j||(0,l.publicError)("This SKILL.md has no frontmatter to write to");try{h=(0,d.parse)(j)}catch{(0,l.publicError)("SKILL.md frontmatter is not valid YAML")}(!h||"object"!=typeof h||Array.isArray(h))&&(0,l.publicError)("SKILL.md frontmatter is not a YAML mapping");let p=m.includes("\r\n")?"\r\n":"\n",r=f?q.test(j)?j.replace(q,"disabled: true$1"):`${j.replace(/\s+$/,"")}${p}disabled: true`:j.replace(q,"").replace(/\s+$/,"");await (0,b.writeFile)(i,`---${p}${r}${p}---${p}${k}`)}async function s(a,d){try{let e=await (0,b.readFile)((0,c.join)(m[a],d,"SKILL.md"),"utf-8");return{...p(e),source:a,dir:d}}catch{return null}}async function t(a,d){let e=n("custom",a),f=async a=>(0,b.stat)(a).then(()=>!0,()=>!1);await f(e)&&(0,l.publicError)(`A skill named "${a}" already exists`),await f(n("default",a))&&(0,l.publicError)(`"${a}" is a built-in skill — pick another name`),await (0,b.mkdir)(e,{recursive:!0});try{for(let[a,f]of d){let d=function(a,b){let d=(0,c.resolve)(a,b);return((0,c.relative)(a,d).startsWith("..")||(0,c.resolve)(d)!==d)&&(0,l.publicError)("File not found"),d}(e,a);await (0,b.mkdir)((0,c.resolve)(d,".."),{recursive:!0}),await (0,b.writeFile)(d,f)}}catch(a){throw await (0,b.rm)(e,{recursive:!0,force:!0}),a}let g=await s("custom",a);return g||(await (0,b.rm)(e,{recursive:!0,force:!0}),(0,l.publicError)("SKILL.md could not be read back")),g}async function u(a){let c=n("custom",a);await (0,b.stat)(c).then(()=>!0,()=>!1)||(0,l.publicError)("Skill not found"),await (0,b.rm)(c,{recursive:!0,force:!0})}a.s(["deleteCustomSkill",0,u,"parseFrontmatter",0,p,"renderSkillMarkdown",0,function(a,b){return`---
|
|
144
108
|
${(0,d.stringify)(a).trim()}
|
|
145
109
|
---
|
|
146
110
|
|
|
147
111
|
${b.trim()}
|
|
148
|
-
`},"setSkillDisabled",0,r,"splitFrontmatter",0,o,"writeCustomSkill",0,t],762805)},569549,a=>a.a(async(b,c)=>{try{var d=a.i(93321),e=a.i(530385),f=a.i(351674);a.i(569572);var g=a.i(184838),h=a.i(714428),i=a.i(
|
|
112
|
+
`},"setSkillDisabled",0,r,"splitFrontmatter",0,o,"writeCustomSkill",0,t],762805)},569549,a=>a.a(async(b,c)=>{try{var d=a.i(93321),e=a.i(530385),f=a.i(351674);a.i(569572);var g=a.i(184838),h=a.i(714428),i=a.i(344853),j=a.i(725466),k=a.i(3894),l=b([g,i,j]);async function m(){return(0,k.isSkillsOn)(await (0,j.readConfig)(k.THURSDAY_KEYS.skills))}async function n(a){await (0,j.writeConfig)(k.THURSDAY_KEYS.skills,a?"on":"off")}async function o(a){let[b]=await g.database.insert(h.callTable).values({id:crypto.randomUUID(),...a}).returning({id:h.callTable.id});return b.id}async function p(a,b){return(await g.database.update(h.callTable).set({endedAt:new Date,...b?{endedReason:b.reason,seconds:b.seconds??null}:{}}).where((0,d.and)((0,d.eq)(h.callTable.id,a),(0,d.isNull)(h.callTable.endedAt))).returning({id:h.callTable.id})).length>0}async function q(a,b){for(let c of b)await g.database.insert(h.callMessageTable).values({callId:a,...c,fragments:c.fragments??null}).onConflictDoUpdate({target:[h.callMessageTable.callId,h.callMessageTable.id],set:{text:c.text,role:c.role,tool:c.tool??null,fragments:c.fragments??null}})}async function r(a,b){await g.database.insert(h.callThoughtTable).values({callId:a,...b}).onConflictDoNothing()}async function s(a){let b=await g.database.select({callId:h.callMessageTable.callId,startedAt:h.callTable.startedAt,role:h.callMessageTable.role,tool:h.callMessageTable.tool,text:h.callMessageTable.text,seq:h.callMessageTable.seq}).from(h.callMessageTable).innerJoin(h.callTable,(0,d.eq)(h.callMessageTable.callId,h.callTable.id)).orderBy((0,e.desc)(h.callTable.startedAt),(0,e.desc)(h.callMessageTable.seq)).limit(a),c=new Map;for(let a of b){let b=c.get(a.callId)??{callId:a.callId,startedAt:a.startedAt,turns:[]};b.turns.push({role:a.role,tool:a.tool,text:a.text,seq:a.seq}),c.set(a.callId,b)}return[...c.values()].reverse().map(a=>({...a,turns:a.turns.reverse()}))}async function t(a,b,c){let[i]=await g.database.select({startedAt:h.callTable.startedAt}).from(h.callTable).where((0,d.eq)(h.callTable.id,a));if(!i)return null;let[j]=await g.database.select({total:f.sql`count(*)`}).from(h.callMessageTable).where((0,d.eq)(h.callMessageTable.callId,a)),k=await g.database.select({role:h.callMessageTable.role,tool:h.callMessageTable.tool,text:h.callMessageTable.text}).from(h.callMessageTable).where((0,d.eq)(h.callMessageTable.callId,a)).orderBy((0,e.asc)(h.callMessageTable.seq)).limit(c).offset((b-1)*c);return{startedAt:i.startedAt,total:Number(j?.total??0),turns:k}}async function u(){return(await g.database.select({id:h.callTable.id}).from(h.callTable).where((0,d.isNull)(h.callTable.endedAt)).limit(1)).length>0}async function v(a){return(await g.database.delete(h.callTable).where((0,d.and)((0,d.eq)(h.callTable.id,a),(0,d.isNotNull)(h.callTable.endedAt))).returning({id:h.callTable.id})).length>0}async function w(){return(await g.database.delete(h.callTable).where((0,d.isNotNull)(h.callTable.endedAt)).returning({id:h.callTable.id})).length}[g,i,j]=l.then?(await l)():l,a.s(["deleteCall",0,v,"deleteEndedCalls",0,w,"endCall",0,p,"insertCall",0,o,"isAnyCallLive",0,u,"listRecentTurns",0,s,"readCallConversation",0,t,"readCallSkillsOn",0,m,"saveThought",0,r,"saveTurns",0,q,"writeCallSkillsOn",0,n]),c()}catch(a){c(a)}},!1),3894,a=>{"use strict";var b=a.i(723885),c=a.i(569572),d=a.i(552556),e=a.i(446957),f=a.i(746609);let g=d.LiveSettingsSchema.extend({locale:b.default.string().max(35).nullish()});e.botIconSchema.extend({kind:b.default.enum(["mark","ascii"]).default("ascii"),charset:b.default.enum(["ascii","emoji","emojiOnly"]).default(c.ASCII_FACE.charset),fontSize:b.default.number().min(c.ASCII_FACE.fontSize.min).max(c.ASCII_FACE.fontSize.max).default(c.ASCII_FACE.fontSize.default),density:b.default.number().min(c.ASCII_FACE.density.min).max(c.ASCII_FACE.density.max).default(c.ASCII_FACE.density.default)}).parse({});b.default.object({enabled:b.default.boolean(),phrase:b.default.string().trim().min(3).max(32)}),b.default.object({enabled:b.default.boolean(),combo:b.default.string().trim().min(1).max(64)}),b.default.enum(["off","waiting","any"]),b.default.enum(["center","sides"]);let h=b.default.object({id:b.default.string().min(1),role:b.default.enum(["user","assistant","tool"]),tool:b.default.string().nullish(),text:b.default.string(),seq:b.default.number().int().min(0),fragments:b.default.array(f.LiveFragmentSchema).nullish()}),i=b.default.object({id:b.default.string().min(1),text:b.default.string(),seq:b.default.number().int().min(0)});a.s(["CallThoughtSchema",0,i,"CallTurnSchema",0,h,"THURSDAY_KEYS",0,{skills:"THURSDAY_SKILLS"},"ThursdaySettingsSchema",0,g,"isSkillsOn",0,a=>a?.trim()==="on"],3894)},956802,a=>{"use strict";var b=a.i(874533),c=a.i(569572);let d=`on run argv
|
|
149
113
|
display notification (item 2 of argv) with title (item 1 of argv)
|
|
150
114
|
end run`,e=`
|
|
151
115
|
$ErrorActionPreference = 'Stop'
|
|
@@ -179,7 +143,30 @@ ${a}
|
|
|
179
143
|
`;break}case"tool":throw new f.UnsupportedFunctionalityError({functionality:"tool messages"});default:throw Error(`Unsupported role: ${e}`)}return{prompt:d+=`${c}:
|
|
180
144
|
`,stopSequences:[`
|
|
181
145
|
${b}:`]}}({prompt:a}),t=[...null!=s?s:[],...null!=j?j:[]];return{args:{model:this.modelId,echo:q.echo,logit_bias:q.logitBias,logprobs:(null==q?void 0:q.logprobs)===!0?0:(null==q?void 0:q.logprobs)===!1||null==q?void 0:q.logprobs,suffix:q.suffix,user:q.user,max_tokens:b,temperature:d,top_p:e,frequency_penalty:h,presence_penalty:i,seed:n,prompt:r,stop:t.length>0?t:void 0},warnings:p}}async doGenerate(a){var b,d,e;let{args:f,warnings:g}=await this.getArgs(a),{responseHeaders:i,value:j,rawValue:k}=await (0,c.postJsonToApi)({url:this.config.url({path:"/completions",modelId:this.modelId}),headers:(0,c.combineHeaders)(null==(d=(b=this.config).headers)?void 0:d.call(b),a.headers),body:f,failedResponseHandler:h,successfulResponseHandler:(0,c.createJsonResponseHandler)(A),abortSignal:a.abortSignal,fetch:this.config.fetch}),l=j.choices[0],m={openai:{}};return null!=l.logprobs&&(m.openai.logprobs=l.logprobs),{content:[{type:"text",text:l.text}],usage:y(j.usage),finishReason:{unified:z(l.finish_reason),raw:null!=(e=l.finish_reason)?e:void 0},request:{body:f},response:{...(0,c.createLanguageModelResponseMetadata)(j),headers:i,body:k},providerMetadata:m,warnings:g}}async doStream(a){var b,d;let e,{args:f,warnings:g}=await this.getArgs(a),i={...f,stream:!0,stream_options:{include_usage:!0}},l=this.config.url({path:"/completions",modelId:this.modelId}),{responseHeaders:m,value:n}=await (0,c.postJsonToApi)({url:l,headers:(0,c.combineHeaders)(null==(d=(b=this.config).headers)?void 0:d.call(b),a.headers),body:i,failedResponseHandler:h,successfulResponseHandler:(0,c.createEventSourceResponseHandler)(B),abortSignal:a.abortSignal,fetch:this.config.fetch}),o=await k({stream:n,getError:a=>"error"in a?a.error:void 0,isOutputChunk:E,url:l,requestBodyValues:i,responseHeaders:m}),p={unified:"other",raw:void 0},q={openai:{}},r=!0;return{stream:o.pipeThrough(new TransformStream({start(a){a.enqueue({type:"stream-start",warnings:g})},transform(b,d){var f;if(a.includeRawChunks&&d.enqueue({type:"raw",rawValue:b.rawValue}),!b.success){p={unified:"error",raw:void 0},d.enqueue({type:"error",error:b.error});return}let g=b.value;if("error"in g){p={unified:"error",raw:void 0},d.enqueue({type:"error",error:null!=(f=j(g.error))?f:g.error});return}r&&(r=!1,d.enqueue({type:"response-metadata",...(0,c.createLanguageModelResponseMetadata)(g)}),d.enqueue({type:"text-start",id:"0"})),null!=g.usage&&(e=g.usage);let h=g.choices[0];(null==h?void 0:h.finish_reason)!=null&&(p={unified:z(h.finish_reason),raw:h.finish_reason}),(null==h?void 0:h.logprobs)!=null&&(q.openai.logprobs=h.logprobs),(null==h?void 0:h.text)!=null&&h.text.length>0&&d.enqueue({type:"text-delta",id:"0",delta:h.text})},flush(a){r||a.enqueue({type:"text-end",id:"0"}),a.enqueue({type:"finish",finishReason:p,providerMetadata:q,usage:y(e)})}})),request:{body:i},response:{headers:m}}}};function E(a){return!("error"in a)&&a.choices.some(a=>a.text.length>0)}var F=(0,c.lazySchema)(()=>(0,c.zodSchema)(e.z.object({dimensions:e.z.number().optional(),user:e.z.string().optional()}))),G=(0,c.lazySchema)(()=>(0,c.zodSchema)(e.z.object({data:e.z.array(e.z.object({embedding:e.z.array(e.z.number())})),usage:e.z.object({prompt_tokens:e.z.number()}).nullish()}))),H=class a{constructor(a,c){this.specificationVersion="v4",this.maxEmbeddingsPerCall=2048,this[b]=3e5,this.supportsParallelCalls=!0,this.modelId=a,this.config=c}static[(b=c.EXPERIMENTAL_EMBEDDING_MODEL_MAX_INPUT_BYTES_PER_CALL,d.WORKFLOW_SERIALIZE)](a){return(0,c.serializeModelOptions)({modelId:a.modelId,config:a.config})}static[d.WORKFLOW_DESERIALIZE](b){return new a(b.modelId,b.config)}get provider(){return this.config.provider}async doEmbed({values:a,headers:b,abortSignal:d,providerOptions:e}){var g,i,j;if(a.length>this.maxEmbeddingsPerCall)throw new f.TooManyEmbeddingValuesForCallError({provider:this.provider,modelId:this.modelId,maxEmbeddingsPerCall:this.maxEmbeddingsPerCall,values:a});let k=null!=(g=await (0,c.parseProviderOptions)({provider:"openai",providerOptions:e,schema:F}))?g:{},{responseHeaders:l,value:m,rawValue:n}=await (0,c.postJsonToApi)({url:this.config.url({path:"/embeddings",modelId:this.modelId}),headers:(0,c.combineHeaders)(null==(j=(i=this.config).headers)?void 0:j.call(i),b),body:{model:this.modelId,input:a,encoding_format:"float",dimensions:k.dimensions,user:k.user},failedResponseHandler:h,successfulResponseHandler:(0,c.createJsonResponseHandler)(G),abortSignal:d,fetch:this.config.fetch});return{warnings:[],embeddings:m.data.map(a=>a.embedding),usage:m.usage?{tokens:m.usage.prompt_tokens}:void 0,response:{headers:l,body:n}}}},I=(0,c.lazySchema)(()=>(0,c.zodSchema)(e.z.object({id:e.z.string(),object:e.z.string().nullish(),bytes:e.z.number().nullish(),created_at:e.z.number().nullish(),filename:e.z.string().nullish(),purpose:e.z.string().nullish(),status:e.z.string().nullish(),expires_at:e.z.number().nullish()}))),J=(0,c.lazySchema)(()=>(0,c.zodSchema)(e.z.object({id:e.z.string(),object:e.z.string().nullish(),deleted:e.z.boolean()}))),K=(0,c.lazySchema)(()=>(0,c.zodSchema)(e.z.object({purpose:e.z.string().optional(),expiresAfter:e.z.number().optional()})));function L(a){let b=encodeURIComponent(a);return"."===b?"%252E":".."===b?"%252E%252E":b}var M=class{constructor(a){this.config=a,this.specificationVersion="v4"}get provider(){return this.config.provider}getFileId(a){let b=a.openai;if(null==b||""===b.trim())throw new f.InvalidArgumentError({argument:"file",message:"file reference is missing an 'openai' file id."});return b}getHeaders(a){return(0,c.combineHeaders)(this.config.headers(),a)}async uploadFile({data:a,mediaType:b,filename:d,abortSignal:e,headers:f,providerOptions:g}){var i,j,k;let l,m;try{l=await (0,c.parseProviderOptions)({provider:"openai",providerOptions:g,schema:K})}catch(b){throw"stream"===a.type&&await a.stream.cancel(b).catch(()=>{}),b}let n=null!=(i=null==l?void 0:l.purpose)?i:"assistants",o=this.getHeaders(f),p=`${this.config.baseURL}/files`;if("stream"===a.type){let f=[{type:"field",name:"purpose",value:n}];(null==l?void 0:l.expiresAfter)!=null&&f.push({type:"field",name:"expires_after[anchor]",value:"created_at"},{type:"field",name:"expires_after[seconds]",value:String(l.expiresAfter)}),f.push({type:"file",name:"file",filename:d,mediaType:b,content:a.stream}),{value:m}=await (0,c.postMultipartStreamToApi)({url:p,headers:o,parts:f,failedResponseHandler:h,successfulResponseHandler:(0,c.createJsonResponseHandler)(I),abortSignal:e,fetch:this.config.fetch})}else{let f=new Blob([(0,c.convertInlineFileDataToUint8Array)(a)],{type:b}),g=new FormData;null!=d?g.append("file",f,d):g.append("file",f),g.append("purpose",n),(null==l?void 0:l.expiresAfter)!=null&&(g.append("expires_after[anchor]","created_at"),g.append("expires_after[seconds]",String(l.expiresAfter))),{value:m}=await (0,c.postFormDataToApi)({url:p,headers:o,formData:g,failedResponseHandler:h,successfulResponseHandler:(0,c.createJsonResponseHandler)(I),abortSignal:e,fetch:this.config.fetch})}return{warnings:[],providerReference:{openai:m.id},...(null!=(j=m.filename)?j:d)?{filename:null!=(k=m.filename)?k:d}:{},...null!=b?{mediaType:b}:{},...null!=m.bytes?{byteSize:m.bytes}:{},...null!=m.created_at?{createdAt:new Date(1e3*m.created_at)}:{},...null!=m.expires_at?{expiresAt:new Date(1e3*m.expires_at)}:{},providerMetadata:{openai:this.toFileMetadata(m)}}}async getFileMetadata({file:a,abortSignal:b,headers:d}){let e=this.getFileId(a),{value:f}=await (0,c.getFromApi)({url:`${this.config.baseURL}/files/${L(e)}`,headers:this.getHeaders(d),failedResponseHandler:h,successfulResponseHandler:(0,c.createJsonResponseHandler)(I),abortSignal:b,fetch:this.config.fetch,validateUrl:!1});return{warnings:[],providerReference:{openai:f.id},...null!=f.filename?{filename:f.filename}:{},...null!=f.bytes?{byteSize:f.bytes}:{},...null!=f.created_at?{createdAt:new Date(1e3*f.created_at)}:{},...null!=f.expires_at?{expiresAt:new Date(1e3*f.expires_at)}:{},providerMetadata:{openai:this.toFileMetadata(f)}}}async downloadFile({file:a,abortSignal:b,headers:d}){var e;let f=this.getFileId(a),{value:g,responseHeaders:i}=await (0,c.getFromApi)({url:`${this.config.baseURL}/files/${L(f)}/content`,headers:this.getHeaders(d),failedResponseHandler:h,successfulResponseHandler:(0,c.createBinaryStreamResponseHandler)(),abortSignal:b,fetch:this.config.fetch,validateUrl:!1}),j=null==(e=null==i?void 0:i["content-type"])?void 0:e.split(";")[0].trim();return{warnings:[],content:g,...j?{mediaType:j}:{}}}async deleteFile({file:a,abortSignal:b,headers:d}){let e=this.getFileId(a),{value:f}=await (0,c.deleteFromApi)({url:`${this.config.baseURL}/files/${L(e)}`,headers:this.getHeaders(d),failedResponseHandler:h,successfulResponseHandler:(0,c.createJsonResponseHandler)(J),abortSignal:b,fetch:this.config.fetch});return{warnings:[],providerReference:{openai:f.id},deleted:f.deleted}}toFileMetadata(a){return{...null!=a.filename?{filename:a.filename}:{},...null!=a.purpose?{purpose:a.purpose}:{},...null!=a.bytes?{bytes:a.bytes}:{},...null!=a.created_at?{createdAt:a.created_at}:{},...null!=a.status?{status:a.status}:{},...null!=a.expires_at?{expiresAt:a.expires_at}:{}}}},N=(0,c.lazySchema)(()=>(0,c.zodSchema)(e.z.object({created:e.z.number().nullish(),data:e.z.array(e.z.object({b64_json:e.z.string(),revised_prompt:e.z.string().nullish()})),background:e.z.string().nullish(),output_format:e.z.string().nullish(),size:e.z.string().nullish(),quality:e.z.string().nullish(),usage:e.z.object({input_tokens:e.z.number().nullish(),output_tokens:e.z.number().nullish(),total_tokens:e.z.number().nullish(),input_tokens_details:e.z.object({image_tokens:e.z.number().nullish(),text_tokens:e.z.number().nullish()}).nullish()}).nullish()}))),O={"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},P=["chatgpt-image-","gpt-image-"],Q=e.z.object({quality:e.z.enum(["standard","hd","low","medium","high","auto"]).optional(),background:e.z.enum(["transparent","opaque","auto"]).optional(),outputFormat:e.z.enum(["png","jpeg","webp"]).optional(),outputCompression:e.z.number().int().min(0).max(100).optional(),user:e.z.string().optional()});(0,c.lazySchema)(()=>(0,c.zodSchema)(Q));var R=(0,c.lazySchema)(()=>(0,c.zodSchema)(Q.extend({style:e.z.enum(["vivid","natural"]).optional(),moderation:e.z.enum(["auto","low"]).optional()}))),S=(0,c.lazySchema)(()=>(0,c.zodSchema)(Q.extend({inputFidelity:e.z.enum(["high","low"]).optional()}))),T=class a{constructor(a,b){this.modelId=a,this.config=b,this.specificationVersion="v4"}static[d.WORKFLOW_SERIALIZE](a){return(0,c.serializeModelOptions)({modelId:a.modelId,config:a.config})}static[d.WORKFLOW_DESERIALIZE](b){return new a(b.modelId,b.config)}get maxImagesPerCall(){var a,b;return null!=(b=O[a=this.modelId])?b:a.startsWith("gpt-image-")?10:1}get provider(){return this.config.provider}async doGenerate({prompt:a,files:b,mask:d,n:e,size:f,aspectRatio:g,seed:i,providerOptions:j,headers:k,abortSignal:l}){var m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B;let C=[];null!=g&&C.push({type:"unsupported",feature:"aspectRatio",details:"This model does not support aspect ratio. Use `size` instead."}),null!=i&&C.push({type:"unsupported",feature:"seed"});let D=null!=(o=null==(n=null==(m=this.config._internal)?void 0:m.currentDate)?void 0:n.call(m))?o:new Date;if(null!=b){let g=null!=(p=await (0,c.parseProviderOptions)({provider:"openai",providerOptions:j,schema:S}))?p:{},{value:i,responseHeaders:m}=await (0,c.postFormDataToApi)({url:this.config.url({path:"/images/edits",modelId:this.modelId}),headers:(0,c.combineHeaders)(null==(r=(q=this.config).headers)?void 0:r.call(q),k),formData:(0,c.convertToFormData)({model:this.modelId,prompt:a,image:await Promise.all(b.map(a=>"file"===a.type?new Blob([a.data instanceof Uint8Array?new Blob([a.data],{type:a.mediaType}):new Blob([(0,c.convertBase64ToUint8Array)(a.data)],{type:a.mediaType})],{type:a.mediaType}):(0,c.downloadBlob)(a.url))),mask:null!=d?await V(d):void 0,n:e,size:f,quality:g.quality,background:g.background,output_format:g.outputFormat,output_compression:g.outputCompression,input_fidelity:g.inputFidelity,user:g.user}),failedResponseHandler:h,successfulResponseHandler:(0,c.createJsonResponseHandler)(N),abortSignal:l,fetch:this.config.fetch});return{images:i.data.map(a=>a.b64_json),warnings:C,usage:null!=i.usage?{inputTokens:null!=(s=i.usage.input_tokens)?s:void 0,outputTokens:null!=(t=i.usage.output_tokens)?t:void 0,totalTokens:null!=(u=i.usage.total_tokens)?u:void 0}:void 0,response:{timestamp:D,modelId:this.modelId,headers:m},providerMetadata:{openai:{images:i.data.map((a,b)=>{var c,d,e,f,g,h;return{...a.revised_prompt?{revisedPrompt:a.revised_prompt}:{},created:null!=(c=i.created)?c:void 0,size:null!=(d=i.size)?d:void 0,quality:null!=(e=i.quality)?e:void 0,background:null!=(f=i.background)?f:void 0,outputFormat:null!=(g=i.output_format)?g:void 0,...U(null==(h=i.usage)?void 0:h.input_tokens_details,b,i.data.length)}})}}}}let E=null!=(v=await (0,c.parseProviderOptions)({provider:"openai",providerOptions:j,schema:R}))?v:{},{value:F,responseHeaders:G}=await (0,c.postJsonToApi)({url:this.config.url({path:"/images/generations",modelId:this.modelId}),headers:(0,c.combineHeaders)(null==(x=(w=this.config).headers)?void 0:x.call(w),k),body:{model:this.modelId,prompt:a,n:e,size:f,quality:E.quality,style:E.style,background:E.background,moderation:E.moderation,output_format:E.outputFormat,output_compression:E.outputCompression,user:E.user,...(B=this.modelId,!P.some(a=>B.startsWith(a)))?{response_format:"b64_json"}:{}},failedResponseHandler:h,successfulResponseHandler:(0,c.createJsonResponseHandler)(N),abortSignal:l,fetch:this.config.fetch});return{images:F.data.map(a=>a.b64_json),warnings:C,usage:null!=F.usage?{inputTokens:null!=(y=F.usage.input_tokens)?y:void 0,outputTokens:null!=(z=F.usage.output_tokens)?z:void 0,totalTokens:null!=(A=F.usage.total_tokens)?A:void 0}:void 0,response:{timestamp:D,modelId:this.modelId,headers:G},providerMetadata:{openai:{images:F.data.map((a,b)=>{var c,d,e,f,g,h;return{...a.revised_prompt?{revisedPrompt:a.revised_prompt}:{},created:null!=(c=F.created)?c:void 0,size:null!=(d=F.size)?d:void 0,quality:null!=(e=F.quality)?e:void 0,background:null!=(f=F.background)?f:void 0,outputFormat:null!=(g=F.output_format)?g:void 0,...U(null==(h=F.usage)?void 0:h.input_tokens_details,b,F.data.length)}})}}}}};function U(a,b,c){if(null==a)return{};let d={};if(null!=a.image_tokens){let e=Math.floor(a.image_tokens/c),f=a.image_tokens-e*(c-1);d.imageTokens=b===c-1?f:e}if(null!=a.text_tokens){let e=Math.floor(a.text_tokens/c),f=a.text_tokens-e*(c-1);d.textTokens=b===c-1?f:e}return d}async function V(a){return a?"url"===a.type?(0,c.downloadBlob)(a.url):new Blob([a.data instanceof Uint8Array?a.data:(0,c.convertBase64ToUint8Array)(a.data)],{type:a.mediaType}):void 0}var W=(0,c.lazySchema)(()=>(0,c.zodSchema)(e.z.object({callId:e.z.string(),operation:e.z.discriminatedUnion("type",[e.z.object({type:e.z.literal("create_file"),path:e.z.string(),diff:e.z.string()}),e.z.object({type:e.z.literal("delete_file"),path:e.z.string()}),e.z.object({type:e.z.literal("update_file"),path:e.z.string(),diff:e.z.string()})])}))),X=(0,c.lazySchema)(()=>(0,c.zodSchema)(e.z.object({status:e.z.enum(["completed","failed"]),output:e.z.string().optional()})));(0,c.lazySchema)(()=>(0,c.zodSchema)(e.z.object({})));var Y=(0,c.createProviderDefinedToolFactoryWithOutputSchema)({id:"openai.apply_patch",inputSchema:W,outputSchema:X}),Z=(0,c.lazySchema)(()=>(0,c.zodSchema)(e.z.object({code:e.z.string().nullish(),containerId:e.z.string()}))),$=(0,c.lazySchema)(()=>(0,c.zodSchema)(e.z.object({outputs:e.z.array(e.z.discriminatedUnion("type",[e.z.object({type:e.z.literal("logs"),logs:e.z.string()}),e.z.object({type:e.z.literal("image"),url:e.z.string()})])).nullish()}))),_=(0,c.lazySchema)(()=>(0,c.zodSchema)(e.z.object({container:e.z.union([e.z.string(),e.z.object({fileIds:e.z.array(e.z.string()).optional()})]).optional()}))),aa=(0,c.createProviderExecutedToolFactory)({id:"openai.code_interpreter",inputSchema:Z,outputSchema:$}),ab=e.z.object({id:e.z.string(),code:e.z.string().optional(),message:e.z.string().optional()}),ac=e.z.discriminatedUnion("type",[e.z.object({type:e.z.literal("click"),button:e.z.enum(["left","right","wheel","back","forward"]),x:e.z.number(),y:e.z.number(),keys:e.z.array(e.z.string()).optional()}),e.z.object({type:e.z.literal("double_click"),x:e.z.number(),y:e.z.number(),keys:e.z.array(e.z.string()).optional()}),e.z.object({type:e.z.literal("drag"),path:e.z.array(e.z.object({x:e.z.number(),y:e.z.number()})),keys:e.z.array(e.z.string()).optional()}),e.z.object({type:e.z.literal("keypress"),keys:e.z.array(e.z.string())}),e.z.object({type:e.z.literal("move"),x:e.z.number(),y:e.z.number(),keys:e.z.array(e.z.string()).optional()}),e.z.object({type:e.z.literal("screenshot")}),e.z.object({type:e.z.literal("scroll"),x:e.z.number(),y:e.z.number(),scrollX:e.z.number(),scrollY:e.z.number(),keys:e.z.array(e.z.string()).optional()}),e.z.object({type:e.z.literal("type"),text:e.z.string()}),e.z.object({type:e.z.literal("wait")})]),ad=(0,c.lazySchema)(()=>(0,c.zodSchema)(e.z.object({actions:e.z.array(ac),pendingSafetyChecks:e.z.array(ab),status:e.z.enum(["in_progress","completed","incomplete"])}))),ae=(0,c.lazySchema)(()=>(0,c.zodSchema)(e.z.object({output:e.z.union([e.z.object({type:e.z.literal("computer_screenshot"),imageUrl:e.z.string(),fileId:e.z.string().optional(),detail:e.z.enum(["auto","low","high","original"]).optional()}),e.z.object({type:e.z.literal("computer_screenshot"),fileId:e.z.string(),imageUrl:e.z.string().optional(),detail:e.z.enum(["auto","low","high","original"]).optional()})]),acknowledgedSafetyChecks:e.z.array(ab).optional()}))),af=(0,c.createProviderDefinedToolFactoryWithOutputSchema)({id:"openai.computer",inputSchema:ad,outputSchema:ae}),ag=(0,c.lazySchema)(()=>(0,c.zodSchema)(e.z.object({description:e.z.string().optional(),format:e.z.union([e.z.object({type:e.z.literal("grammar"),syntax:e.z.enum(["regex","lark"]),definition:e.z.string()}),e.z.object({type:e.z.literal("text")})]).optional()}))),ah=(0,c.lazySchema)(()=>(0,c.zodSchema)(e.z.string())),ai=(0,c.createProviderDefinedToolFactory)({id:"openai.custom",inputSchema:ah}),aj=e.z.object({key:e.z.string(),type:e.z.enum(["eq","ne","gt","gte","lt","lte","in","nin"]),value:e.z.union([e.z.string(),e.z.number(),e.z.boolean(),e.z.array(e.z.string())])}),ak=e.z.object({type:e.z.enum(["and","or"]),filters:e.z.array(e.z.union([aj,e.z.lazy(()=>ak)]))}),al=(0,c.lazySchema)(()=>(0,c.zodSchema)(e.z.object({vectorStoreIds:e.z.array(e.z.string()),maxNumResults:e.z.number().optional(),ranking:e.z.object({ranker:e.z.string().optional(),scoreThreshold:e.z.number().optional()}).optional(),filters:e.z.union([aj,ak]).optional()}))),am=(0,c.lazySchema)(()=>(0,c.zodSchema)(e.z.object({queries:e.z.array(e.z.string()),results:e.z.array(e.z.object({attributes:e.z.record(e.z.string(),e.z.unknown()),fileId:e.z.string(),filename:e.z.string(),score:e.z.number(),text:e.z.string()})).nullable()}))),an=(0,c.createProviderExecutedToolFactory)({id:"openai.file_search",inputSchema:e.z.object({}),outputSchema:am}),ao=(0,c.lazySchema)(()=>(0,c.zodSchema)(e.z.object({action:e.z.enum(["generate","edit","auto"]).optional(),background:e.z.enum(["auto","opaque","transparent"]).optional(),inputFidelity:e.z.enum(["low","high"]).optional(),inputImageMask:e.z.object({fileId:e.z.string().optional(),imageUrl:e.z.string().optional()}).optional(),model:e.z.string().optional(),moderation:e.z.enum(["auto","low"]).optional(),outputCompression:e.z.number().int().min(0).max(100).optional(),outputFormat:e.z.enum(["png","jpeg","webp"]).optional(),partialImages:e.z.number().int().min(0).max(3).optional(),quality:e.z.enum(["auto","low","medium","high"]).optional(),size:e.z.union([e.z.enum(["1024x1024","1024x1536","1536x1024","auto"]),e.z.string().regex(/^\d+x\d+$/)]).optional()}).strict())),ap=(0,c.lazySchema)(()=>(0,c.zodSchema)(e.z.object({}))),aq=(0,c.lazySchema)(()=>(0,c.zodSchema)(e.z.object({result:e.z.string()}))),ar=(0,c.createProviderExecutedToolFactory)({id:"openai.image_generation",inputSchema:ap,outputSchema:aq}),as=(0,c.lazySchema)(()=>(0,c.zodSchema)(e.z.object({action:e.z.object({type:e.z.literal("exec"),command:e.z.array(e.z.string()),timeoutMs:e.z.number().optional(),user:e.z.string().optional(),workingDirectory:e.z.string().optional(),env:e.z.record(e.z.string(),e.z.string()).optional()})}))),at=(0,c.lazySchema)(()=>(0,c.zodSchema)(e.z.object({output:e.z.string()}))),au=(0,c.createProviderDefinedToolFactoryWithOutputSchema)({id:"openai.local_shell",inputSchema:as,outputSchema:at}),av=(0,c.lazySchema)(()=>(0,c.zodSchema)(e.z.object({action:e.z.object({commands:e.z.array(e.z.string()),timeoutMs:e.z.number().optional(),maxOutputLength:e.z.number().optional()})}))),aw=(0,c.lazySchema)(()=>(0,c.zodSchema)(e.z.object({output:e.z.array(e.z.object({stdout:e.z.string(),stderr:e.z.string(),outcome:e.z.discriminatedUnion("type",[e.z.object({type:e.z.literal("timeout")}),e.z.object({type:e.z.literal("exit"),exitCode:e.z.number()})])}))}))),ax=e.z.array(e.z.discriminatedUnion("type",[e.z.object({type:e.z.literal("skillReference"),providerReference:e.z.record(e.z.string(),e.z.string()),version:e.z.string().optional()}),e.z.object({type:e.z.literal("inline"),name:e.z.string(),description:e.z.string(),source:e.z.object({type:e.z.literal("base64"),mediaType:e.z.literal("application/zip"),data:e.z.string()})})])).optional(),ay=(0,c.lazySchema)(()=>(0,c.zodSchema)(e.z.object({environment:e.z.union([e.z.object({type:e.z.literal("containerAuto"),fileIds:e.z.array(e.z.string()).optional(),memoryLimit:e.z.enum(["1g","4g","16g","64g"]).optional(),networkPolicy:e.z.discriminatedUnion("type",[e.z.object({type:e.z.literal("disabled")}),e.z.object({type:e.z.literal("allowlist"),allowedDomains:e.z.array(e.z.string()),domainSecrets:e.z.array(e.z.object({domain:e.z.string(),name:e.z.string(),value:e.z.string()})).optional()})]).optional(),skills:ax}),e.z.object({type:e.z.literal("containerReference"),containerId:e.z.string()}),e.z.object({type:e.z.literal("local").optional(),skills:e.z.array(e.z.object({name:e.z.string(),description:e.z.string(),path:e.z.string()})).optional()})]).optional()}))),az=(0,c.createProviderDefinedToolFactoryWithOutputSchema)({id:"openai.shell",inputSchema:av,outputSchema:aw}),aA=(0,c.lazySchema)(()=>(0,c.zodSchema)(e.z.object({execution:e.z.enum(["server","client"]).optional(),description:e.z.string().optional(),parameters:e.z.record(e.z.string(),e.z.unknown()).optional()}))),aB=(0,c.lazySchema)(()=>(0,c.zodSchema)(e.z.object({arguments:e.z.unknown().optional(),call_id:e.z.string().nullish()}))),aC=(0,c.lazySchema)(()=>(0,c.zodSchema)(e.z.object({tools:e.z.array(e.z.record(e.z.string(),e.z.unknown()))}))),aD=(0,c.createProviderDefinedToolFactoryWithOutputSchema)({id:"openai.tool_search",inputSchema:aB,outputSchema:aC}),aE=(0,c.lazySchema)(()=>(0,c.zodSchema)(e.z.object({externalWebAccess:e.z.boolean().optional(),filters:e.z.object({allowedDomains:e.z.array(e.z.string()).optional(),blockedDomains:e.z.array(e.z.string()).optional()}).optional(),searchContextSize:e.z.enum(["low","medium","high"]).optional(),userLocation:e.z.object({type:e.z.literal("approximate"),country:e.z.string().optional(),city:e.z.string().optional(),region:e.z.string().optional(),timezone:e.z.string().optional()}).optional()}))),aF=(0,c.lazySchema)(()=>(0,c.zodSchema)(e.z.object({}))),aG=(0,c.lazySchema)(()=>(0,c.zodSchema)(e.z.object({action:e.z.discriminatedUnion("type",[e.z.object({type:e.z.literal("search"),query:e.z.string().optional(),queries:e.z.array(e.z.string()).optional()}),e.z.object({type:e.z.literal("openPage"),url:e.z.string().nullish()}),e.z.object({type:e.z.literal("findInPage"),url:e.z.string().nullish(),pattern:e.z.string().nullish()})]).optional(),sources:e.z.array(e.z.discriminatedUnion("type",[e.z.object({type:e.z.literal("url"),url:e.z.string()}),e.z.object({type:e.z.literal("api"),name:e.z.string()})])).optional()}))),aH=(0,c.createProviderExecutedToolFactory)({id:"openai.web_search",inputSchema:aF,outputSchema:aG}),aI=(0,c.lazySchema)(()=>(0,c.zodSchema)(e.z.object({searchContextSize:e.z.enum(["low","medium","high"]).optional(),userLocation:e.z.object({type:e.z.literal("approximate"),country:e.z.string().optional(),city:e.z.string().optional(),region:e.z.string().optional(),timezone:e.z.string().optional()}).optional()}))),aJ=(0,c.lazySchema)(()=>(0,c.zodSchema)(e.z.object({}))),aK=(0,c.lazySchema)(()=>(0,c.zodSchema)(e.z.object({action:e.z.discriminatedUnion("type",[e.z.object({type:e.z.literal("search"),query:e.z.string().optional()}),e.z.object({type:e.z.literal("openPage"),url:e.z.string().nullish()}),e.z.object({type:e.z.literal("findInPage"),url:e.z.string().nullish(),pattern:e.z.string().nullish()})]).optional()}))),aL=(0,c.createProviderExecutedToolFactory)({id:"openai.web_search_preview",inputSchema:aJ,outputSchema:aK}),aM=e.z.lazy(()=>e.z.union([e.z.string(),e.z.number(),e.z.boolean(),e.z.null(),e.z.array(aM),e.z.record(e.z.string(),aM)])),aN=(0,c.lazySchema)(()=>(0,c.zodSchema)(e.z.object({serverLabel:e.z.string(),allowedTools:e.z.union([e.z.array(e.z.string()),e.z.object({readOnly:e.z.boolean().optional(),toolNames:e.z.array(e.z.string()).optional()})]).optional(),authorization:e.z.string().optional(),connectorId:e.z.string().optional(),headers:e.z.record(e.z.string(),e.z.string()).optional(),requireApproval:e.z.union([e.z.enum(["always","never"]),e.z.object({never:e.z.object({toolNames:e.z.array(e.z.string()).optional()}).optional()})]).optional(),serverDescription:e.z.string().optional(),serverUrl:e.z.string().optional()}).refine(a=>null!=a.serverUrl||null!=a.connectorId,"One of serverUrl or connectorId must be provided."))),aO=(0,c.lazySchema)(()=>(0,c.zodSchema)(e.z.object({}))),aP=(0,c.lazySchema)(()=>(0,c.zodSchema)(e.z.object({type:e.z.literal("call"),serverLabel:e.z.string(),name:e.z.string(),arguments:e.z.string(),output:e.z.string().nullish(),error:e.z.union([e.z.string(),aM]).optional()}))),aQ=(0,c.createProviderExecutedToolFactory)({id:"openai.mcp",inputSchema:aO,outputSchema:aP}),aR=(0,c.lazySchema)(()=>(0,c.zodSchema)(e.z.object({code:e.z.string(),fingerprint:e.z.string()}))),aS=(0,c.lazySchema)(()=>(0,c.zodSchema)(e.z.object({result:e.z.string(),status:e.z.enum(["completed","incomplete"])}))),aT=(0,c.createProviderExecutedToolFactory)({id:"openai.programmatic_tool_calling",inputSchema:aR,outputSchema:aS,supportsDeferredResults:!0}),aU={applyPatch:Y,customTool:a=>ai(a),codeInterpreter:(a={})=>aa(a),computer:(a={})=>af(a),fileSearch:an,imageGeneration:(a={})=>ar(a),localShell:au,shell:az,webSearchPreview:aL,webSearch:(a={})=>aH(a),mcp:a=>aQ(a),programmaticToolCalling:()=>(0,c.experimental_toolCaller)(aT({}),{type:"provider",prepareProviderOptions:a=>{var b;let c=null==a?void 0:a.openai;return{...a,openai:{...c,allowedCallers:[...new Set([...null!=(b=null==c?void 0:c.allowedCallers)?b:[],"programmatic"])]}}}}),toolSearch:(a={})=>aD(a)};function aV(a){if(null==a.provider)throw Error("OpenAI model is missing provider after workflow deserialization.");return{...a,provider:a.provider,url:"function"==typeof a.url?a.url:({path:b})=>{if(null==a.baseURL)throw Error("OpenAI model is missing baseURL after workflow deserialization.");return`${a.baseURL}${b}`},headers:"function"==typeof a.headers?a.headers:null==a.headers?void 0:()=>a.headers}}function aW(a){var b,d,e,f,g,h;if(null==a)return(0,c.createNullLanguageModelUsage)();let i=a.input_tokens,j=a.output_tokens,k=null!=(d=null==(b=a.input_tokens_details)?void 0:b.cached_tokens)?d:0,l=null!=(f=null==(e=a.input_tokens_details)?void 0:e.cache_write_tokens)?f:void 0,m=null!=(h=null==(g=a.output_tokens_details)?void 0:g.reasoning_tokens)?h:0;return{inputTokens:{total:i,noCache:i-k-(null!=l?l:0),cacheRead:k,cacheWrite:l},outputTokens:{total:j,text:j-m,reasoning:m},raw:a}}function aX({finishReason:a,hasFunctionCall:b}){switch(a){case void 0:case null:return b?"tool-calls":"stop";case"max_output_tokens":return"length";case"content_filter":return"content-filter";default:return b?"tool-calls":"other"}}var aY=e.z.lazy(()=>e.z.union([e.z.string(),e.z.number(),e.z.boolean(),e.z.null(),e.z.array(aY),e.z.record(e.z.string(),aY.optional())])),aZ=e.z.record(e.z.string(),aY.optional()),a$=e.z.intersection(aZ,e.z.object({input_tokens:e.z.number(),input_tokens_details:e.z.intersection(aZ,e.z.object({cached_tokens:e.z.number().nullish(),cache_write_tokens:e.z.number().nullish(),orchestration_input_tokens:e.z.number().nullish(),orchestration_input_cached_tokens:e.z.number().nullish()})).nullish(),output_tokens:e.z.number(),output_tokens_details:e.z.intersection(aZ,e.z.object({reasoning_tokens:e.z.number().nullish(),orchestration_output_tokens:e.z.number().nullish()})).nullish(),total_tokens:e.z.number().optional()})),a_=e.z.object({id:e.z.string(),code:e.z.string().nullish(),message:e.z.string().nullish()}),a0=e.z.discriminatedUnion("type",[e.z.object({type:e.z.literal("click"),button:e.z.enum(["left","right","wheel","back","forward"]),x:e.z.number(),y:e.z.number(),keys:e.z.array(e.z.string()).nullish()}),e.z.object({type:e.z.literal("double_click"),x:e.z.number(),y:e.z.number(),keys:e.z.array(e.z.string()).nullish()}),e.z.object({type:e.z.literal("drag"),path:e.z.array(e.z.object({x:e.z.number(),y:e.z.number()})),keys:e.z.array(e.z.string()).nullish()}),e.z.object({type:e.z.literal("keypress"),keys:e.z.array(e.z.string())}),e.z.object({type:e.z.literal("move"),x:e.z.number(),y:e.z.number(),keys:e.z.array(e.z.string()).nullish()}),e.z.object({type:e.z.literal("screenshot")}),e.z.object({type:e.z.literal("scroll"),x:e.z.number(),y:e.z.number(),scroll_x:e.z.number(),scroll_y:e.z.number(),keys:e.z.array(e.z.string()).nullish()}),e.z.object({type:e.z.literal("type"),text:e.z.string()}),e.z.object({type:e.z.literal("wait")})]),a1=e.z.object({type:e.z.literal("computer_call"),id:e.z.string(),call_id:e.z.string().nullish(),status:e.z.enum(["in_progress","completed","incomplete"]),action:a0.nullish(),actions:e.z.array(a0).nullish(),pending_safety_checks:e.z.array(a_).nullish()}),a2=e.z.discriminatedUnion("type",[e.z.object({type:e.z.literal("direct")}),e.z.object({type:e.z.literal("program"),caller_id:e.z.string()})]),a3=e.z.object({type:e.z.literal("program"),id:e.z.string(),call_id:e.z.string(),code:e.z.string(),fingerprint:e.z.string()}),a4=e.z.object({type:e.z.literal("program_output"),id:e.z.string(),call_id:e.z.string(),result:e.z.string(),status:e.z.enum(["completed","incomplete"])}),a5=e.z.object({type:e.z.literal("local_shell_call"),id:e.z.string(),call_id:e.z.string(),action:e.z.object({type:e.z.literal("exec"),command:e.z.array(e.z.string()),timeout_ms:e.z.number().optional(),user:e.z.string().optional(),working_directory:e.z.string().optional(),env:e.z.record(e.z.string(),e.z.string()).optional()})}),a6=e.z.object({type:e.z.literal("error"),sequence_number:e.z.number(),error:e.z.object({type:e.z.string(),code:e.z.string(),message:e.z.string(),param:e.z.string().nullish()})}),a7=e.z.object({type:e.z.literal("error"),sequence_number:e.z.number(),code:e.z.string().nullish(),message:e.z.string(),param:e.z.string().nullish()}),a8=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"]),a9=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"]),ba=(0,c.lazySchema)(()=>(0,c.zodSchema)(e.z.union([e.z.object({type:e.z.literal("response.output_text.delta"),item_id:e.z.string(),output_index:e.z.number().nullish(),delta:e.z.string(),logprobs:e.z.array(e.z.object({token:e.z.string(),logprob:e.z.number(),top_logprobs:e.z.array(e.z.object({token:e.z.string(),logprob:e.z.number()}))})).nullish()}),e.z.object({type:e.z.enum(["response.completed","response.incomplete"]),response:e.z.object({incomplete_details:e.z.object({reason:e.z.string()}).nullish(),usage:a$.nullish(),reasoning:e.z.object({context:e.z.string().nullish()}).nullish(),service_tier:e.z.string().nullish()})}),e.z.object({type:e.z.literal("response.failed"),sequence_number:e.z.number(),response:e.z.object({error:e.z.object({code:e.z.string().nullish(),message:e.z.string()}).nullish(),incomplete_details:e.z.object({reason:e.z.string()}).nullish(),usage:a$.nullish(),reasoning:e.z.object({context:e.z.string().nullish()}).nullish(),service_tier:e.z.string().nullish()})}),e.z.object({type:e.z.literal("response.created"),response:e.z.object({id:e.z.string(),created_at:e.z.number(),model:e.z.string(),service_tier:e.z.string().nullish()})}),e.z.object({type:e.z.literal("response.in_progress"),response:e.z.object({id:e.z.string(),created_at:e.z.number(),model:e.z.string(),service_tier:e.z.string().nullish()})}),e.z.object({type:e.z.literal("response.output_item.added"),output_index:e.z.number(),item:e.z.discriminatedUnion("type",[e.z.object({type:e.z.literal("message"),id:e.z.string(),phase:e.z.enum(["commentary","final_answer"]).nullish()}),e.z.object({type:e.z.literal("reasoning"),id:e.z.string(),encrypted_content:e.z.string().nullish()}),e.z.object({type:e.z.literal("function_call"),id:e.z.string(),call_id:e.z.string(),name:e.z.string(),arguments:e.z.string(),namespace:e.z.string().nullish(),caller:a2.nullish()}),a3,a4,e.z.object({type:e.z.literal("web_search_call"),id:e.z.string(),status:e.z.string()}),a1,e.z.object({type:e.z.literal("file_search_call"),id:e.z.string()}),a5,e.z.object({type:e.z.literal("image_generation_call"),id:e.z.string()}),e.z.object({type:e.z.literal("code_interpreter_call"),id:e.z.string(),container_id:e.z.string(),code:e.z.string().nullable(),outputs:e.z.array(e.z.discriminatedUnion("type",[e.z.object({type:e.z.literal("logs"),logs:e.z.string()}),e.z.object({type:e.z.literal("image"),url:e.z.string()})])).nullable(),status:e.z.string()}),e.z.object({type:e.z.literal("mcp_call"),id:e.z.string(),status:e.z.string(),approval_request_id:e.z.string().nullish()}),e.z.object({type:e.z.literal("mcp_list_tools"),id:e.z.string()}),e.z.object({type:e.z.literal("mcp_approval_request"),id:e.z.string()}),e.z.object({type:e.z.literal("apply_patch_call"),id:e.z.string(),call_id:e.z.string(),status:e.z.enum(["in_progress","completed"]),operation:e.z.discriminatedUnion("type",[e.z.object({type:e.z.literal("create_file"),path:e.z.string(),diff:e.z.string()}),e.z.object({type:e.z.literal("delete_file"),path:e.z.string()}),e.z.object({type:e.z.literal("update_file"),path:e.z.string(),diff:e.z.string()})])}),e.z.object({type:e.z.literal("custom_tool_call"),id:e.z.string(),call_id:e.z.string(),name:e.z.string(),input:e.z.string()}),e.z.object({type:e.z.literal("shell_call"),id:e.z.string(),call_id:e.z.string(),status:e.z.enum(["in_progress","completed","incomplete"]),action:e.z.object({commands:e.z.array(e.z.string())})}),e.z.object({type:e.z.literal("compaction"),id:e.z.string(),encrypted_content:e.z.string().nullish()}),e.z.object({type:e.z.literal("shell_call_output"),id:e.z.string(),call_id:e.z.string(),status:e.z.enum(["in_progress","completed","incomplete"]),output:e.z.array(e.z.object({stdout:e.z.string(),stderr:e.z.string(),outcome:e.z.discriminatedUnion("type",[e.z.object({type:e.z.literal("timeout")}),e.z.object({type:e.z.literal("exit"),exit_code:e.z.number()})])}))}),e.z.object({type:e.z.literal("tool_search_call"),id:e.z.string(),execution:e.z.enum(["server","client"]),call_id:e.z.string().nullable(),status:e.z.enum(["in_progress","completed","incomplete"]),arguments:e.z.unknown()}),e.z.object({type:e.z.literal("tool_search_output"),id:e.z.string(),execution:e.z.enum(["server","client"]),call_id:e.z.string().nullable(),status:e.z.enum(["in_progress","completed","incomplete"]),tools:e.z.array(e.z.record(e.z.string(),aY.optional()))})])}),e.z.object({type:e.z.literal("response.output_item.done"),output_index:e.z.number(),item:e.z.discriminatedUnion("type",[e.z.object({type:e.z.literal("message"),id:e.z.string(),phase:e.z.enum(["commentary","final_answer"]).nullish()}),e.z.object({type:e.z.literal("reasoning"),id:e.z.string(),encrypted_content:e.z.string().nullish()}),e.z.object({type:e.z.literal("function_call"),id:e.z.string(),call_id:e.z.string(),name:e.z.string(),arguments:e.z.string(),status:e.z.enum(["in_progress","completed","incomplete"]),namespace:e.z.string().nullish(),caller:a2.nullish()}),a3,a4,e.z.object({type:e.z.literal("custom_tool_call"),id:e.z.string(),call_id:e.z.string(),name:e.z.string(),input:e.z.string(),status:e.z.literal("completed")}),e.z.object({type:e.z.literal("code_interpreter_call"),id:e.z.string(),code:e.z.string().nullable(),container_id:e.z.string(),outputs:e.z.array(e.z.discriminatedUnion("type",[e.z.object({type:e.z.literal("logs"),logs:e.z.string()}),e.z.object({type:e.z.literal("image"),url:e.z.string()})])).nullable()}),e.z.object({type:e.z.literal("image_generation_call"),id:e.z.string(),result:e.z.string()}),e.z.object({type:e.z.literal("web_search_call"),id:e.z.string(),status:e.z.string(),action:e.z.discriminatedUnion("type",[e.z.object({type:e.z.literal("search"),query:e.z.string().nullish(),queries:e.z.array(e.z.string()).nullish(),sources:e.z.array(e.z.discriminatedUnion("type",[e.z.object({type:e.z.literal("url"),url:e.z.string()}),e.z.object({type:e.z.literal("api"),name:e.z.string()})])).nullish()}),e.z.object({type:e.z.literal("open_page"),url:e.z.string().nullish()}),e.z.object({type:e.z.literal("find_in_page"),url:e.z.string().nullish(),pattern:e.z.string().nullish()})]).nullish()}),e.z.object({type:e.z.literal("file_search_call"),id:e.z.string(),queries:e.z.array(e.z.string()),results:e.z.array(e.z.object({attributes:e.z.record(e.z.string(),e.z.union([e.z.string(),e.z.number(),e.z.boolean()])),file_id:e.z.string(),filename:e.z.string(),score:e.z.number(),text:e.z.string()})).nullish()}),a5,a1,e.z.object({type:e.z.literal("mcp_call"),id:e.z.string(),status:e.z.string(),arguments:e.z.string(),name:e.z.string(),server_label:e.z.string(),output:e.z.string().nullish(),error:e.z.union([e.z.string(),e.z.object({type:e.z.string().optional(),code:e.z.union([e.z.number(),e.z.string()]).optional(),message:e.z.string().optional()}).loose()]).nullish(),approval_request_id:e.z.string().nullish()}),e.z.object({type:e.z.literal("mcp_list_tools"),id:e.z.string(),server_label:e.z.string(),tools:e.z.array(e.z.object({name:e.z.string(),description:e.z.string().optional(),input_schema:e.z.any(),annotations:e.z.record(e.z.string(),e.z.unknown()).optional()})),error:e.z.union([e.z.string(),e.z.object({type:e.z.string().optional(),code:e.z.union([e.z.number(),e.z.string()]).optional(),message:e.z.string().optional()}).loose()]).optional()}),e.z.object({type:e.z.literal("mcp_approval_request"),id:e.z.string(),server_label:e.z.string(),name:e.z.string(),arguments:e.z.string(),approval_request_id:e.z.string().optional()}),e.z.object({type:e.z.literal("apply_patch_call"),id:e.z.string(),call_id:e.z.string(),status:e.z.enum(["in_progress","completed"]),operation:e.z.discriminatedUnion("type",[e.z.object({type:e.z.literal("create_file"),path:e.z.string(),diff:e.z.string()}),e.z.object({type:e.z.literal("delete_file"),path:e.z.string()}),e.z.object({type:e.z.literal("update_file"),path:e.z.string(),diff:e.z.string()})])}),e.z.object({type:e.z.literal("shell_call"),id:e.z.string(),call_id:e.z.string(),status:e.z.enum(["in_progress","completed","incomplete"]),action:e.z.object({commands:e.z.array(e.z.string())})}),e.z.object({type:e.z.literal("compaction"),id:e.z.string(),encrypted_content:e.z.string()}),e.z.object({type:e.z.literal("shell_call_output"),id:e.z.string(),call_id:e.z.string(),status:e.z.enum(["in_progress","completed","incomplete"]),output:e.z.array(e.z.object({stdout:e.z.string(),stderr:e.z.string(),outcome:e.z.discriminatedUnion("type",[e.z.object({type:e.z.literal("timeout")}),e.z.object({type:e.z.literal("exit"),exit_code:e.z.number()})])}))}),e.z.object({type:e.z.literal("tool_search_call"),id:e.z.string(),execution:e.z.enum(["server","client"]),call_id:e.z.string().nullable(),status:e.z.enum(["in_progress","completed","incomplete"]),arguments:e.z.unknown()}),e.z.object({type:e.z.literal("tool_search_output"),id:e.z.string(),execution:e.z.enum(["server","client"]),call_id:e.z.string().nullable(),status:e.z.enum(["in_progress","completed","incomplete"]),tools:e.z.array(e.z.record(e.z.string(),aY.optional()))})])}),e.z.object({type:e.z.literal("response.function_call_arguments.delta"),item_id:e.z.string(),output_index:e.z.number(),delta:e.z.string()}),e.z.object({type:e.z.literal("response.function_call_arguments.done"),item_id:e.z.string(),output_index:e.z.number(),arguments:e.z.string()}),e.z.object({type:e.z.literal("response.custom_tool_call_input.delta"),item_id:e.z.string(),output_index:e.z.number(),delta:e.z.string()}),e.z.object({type:e.z.literal("response.image_generation_call.partial_image"),item_id:e.z.string(),output_index:e.z.number(),partial_image_b64:e.z.string()}),e.z.object({type:e.z.literal("response.code_interpreter_call_code.delta"),item_id:e.z.string(),output_index:e.z.number(),delta:e.z.string()}),e.z.object({type:e.z.literal("response.code_interpreter_call_code.done"),item_id:e.z.string(),output_index:e.z.number(),code:e.z.string()}),e.z.object({type:e.z.literal("response.output_text.annotation.added"),annotation:e.z.discriminatedUnion("type",[e.z.object({type:e.z.literal("url_citation"),start_index:e.z.number(),end_index:e.z.number(),url:e.z.string(),title:e.z.string()}),e.z.object({type:e.z.literal("file_citation"),file_id:e.z.string(),filename:e.z.string(),index:e.z.number()}),e.z.object({type:e.z.literal("container_file_citation"),container_id:e.z.string(),file_id:e.z.string(),filename:e.z.string(),start_index:e.z.number(),end_index:e.z.number()}),e.z.object({type:e.z.literal("file_path"),file_id:e.z.string(),index:e.z.number()})])}),e.z.object({type:e.z.literal("response.reasoning_summary_part.added"),item_id:e.z.string(),output_index:e.z.number().nullish(),summary_index:e.z.number()}),e.z.object({type:e.z.literal("response.reasoning_summary_text.delta"),item_id:e.z.string(),output_index:e.z.number().nullish(),summary_index:e.z.number(),delta:e.z.string()}),e.z.object({type:e.z.literal("response.reasoning_summary_part.done"),item_id:e.z.string(),output_index:e.z.number().nullish(),summary_index:e.z.number()}),e.z.object({type:e.z.literal("response.apply_patch_call_operation_diff.delta"),item_id:e.z.string(),output_index:e.z.number(),delta:e.z.string(),obfuscation:e.z.string().nullish()}),e.z.object({type:e.z.literal("response.apply_patch_call_operation_diff.done"),item_id:e.z.string(),output_index:e.z.number(),diff:e.z.string()}),a6,a7,e.z.object({type:e.z.string()}).loose().refine(a=>!("string"==typeof a.type&&a8.has(a.type)&&(!(("response.output_item.added"===a.type||"response.output_item.done"===a.type)&&(0,c.isRecord)(a.item)&&"string"==typeof a.item.type)||a9.has(a.item.type))),{message:"Known response chunk failed schema validation"}).transform(a=>({type:"unknown_chunk",message:a.type}))]))),bb=(0,c.lazySchema)(()=>(0,c.zodSchema)(e.z.object({id:e.z.string().optional(),created_at:e.z.number().optional(),error:e.z.object({message:e.z.string(),type:e.z.string(),param:e.z.string().nullish(),code:e.z.string()}).nullish(),model:e.z.string().optional(),output:e.z.array(e.z.discriminatedUnion("type",[e.z.object({type:e.z.literal("message"),role:e.z.literal("assistant"),id:e.z.string(),phase:e.z.enum(["commentary","final_answer"]).nullish(),content:e.z.array(e.z.object({type:e.z.literal("output_text"),text:e.z.string(),logprobs:e.z.array(e.z.object({token:e.z.string(),logprob:e.z.number(),top_logprobs:e.z.array(e.z.object({token:e.z.string(),logprob:e.z.number()}))})).nullish(),annotations:e.z.array(e.z.discriminatedUnion("type",[e.z.object({type:e.z.literal("url_citation"),start_index:e.z.number(),end_index:e.z.number(),url:e.z.string(),title:e.z.string()}),e.z.object({type:e.z.literal("file_citation"),file_id:e.z.string(),filename:e.z.string(),index:e.z.number()}),e.z.object({type:e.z.literal("container_file_citation"),container_id:e.z.string(),file_id:e.z.string(),filename:e.z.string(),start_index:e.z.number(),end_index:e.z.number()}),e.z.object({type:e.z.literal("file_path"),file_id:e.z.string(),index:e.z.number()})]))}))}),e.z.object({type:e.z.literal("web_search_call"),id:e.z.string(),status:e.z.string(),action:e.z.discriminatedUnion("type",[e.z.object({type:e.z.literal("search"),query:e.z.string().nullish(),queries:e.z.array(e.z.string()).nullish(),sources:e.z.array(e.z.discriminatedUnion("type",[e.z.object({type:e.z.literal("url"),url:e.z.string()}),e.z.object({type:e.z.literal("api"),name:e.z.string()})])).nullish()}),e.z.object({type:e.z.literal("open_page"),url:e.z.string().nullish()}),e.z.object({type:e.z.literal("find_in_page"),url:e.z.string().nullish(),pattern:e.z.string().nullish()})]).nullish()}),e.z.object({type:e.z.literal("file_search_call"),id:e.z.string(),queries:e.z.array(e.z.string()),results:e.z.array(e.z.object({attributes:e.z.record(e.z.string(),e.z.union([e.z.string(),e.z.number(),e.z.boolean()])),file_id:e.z.string(),filename:e.z.string(),score:e.z.number(),text:e.z.string()})).nullish()}),e.z.object({type:e.z.literal("code_interpreter_call"),id:e.z.string(),code:e.z.string().nullable(),container_id:e.z.string(),outputs:e.z.array(e.z.discriminatedUnion("type",[e.z.object({type:e.z.literal("logs"),logs:e.z.string()}),e.z.object({type:e.z.literal("image"),url:e.z.string()})])).nullable()}),e.z.object({type:e.z.literal("image_generation_call"),id:e.z.string(),result:e.z.string()}),a5,e.z.object({type:e.z.literal("function_call"),call_id:e.z.string(),name:e.z.string(),arguments:e.z.string(),id:e.z.string(),namespace:e.z.string().nullish(),caller:a2.nullish()}),a3,a4,e.z.object({type:e.z.literal("custom_tool_call"),call_id:e.z.string(),name:e.z.string(),input:e.z.string(),id:e.z.string()}),a1,e.z.object({type:e.z.literal("reasoning"),id:e.z.string(),encrypted_content:e.z.string().nullish(),summary:e.z.array(e.z.object({type:e.z.literal("summary_text"),text:e.z.string()}))}),e.z.object({type:e.z.literal("mcp_call"),id:e.z.string(),status:e.z.string(),arguments:e.z.string(),name:e.z.string(),server_label:e.z.string(),output:e.z.string().nullish(),error:e.z.union([e.z.string(),e.z.object({type:e.z.string().optional(),code:e.z.union([e.z.number(),e.z.string()]).optional(),message:e.z.string().optional()}).loose()]).nullish(),approval_request_id:e.z.string().nullish()}),e.z.object({type:e.z.literal("mcp_list_tools"),id:e.z.string(),server_label:e.z.string(),tools:e.z.array(e.z.object({name:e.z.string(),description:e.z.string().optional(),input_schema:e.z.any(),annotations:e.z.record(e.z.string(),e.z.unknown()).optional()})),error:e.z.union([e.z.string(),e.z.object({type:e.z.string().optional(),code:e.z.union([e.z.number(),e.z.string()]).optional(),message:e.z.string().optional()}).loose()]).optional()}),e.z.object({type:e.z.literal("mcp_approval_request"),id:e.z.string(),server_label:e.z.string(),name:e.z.string(),arguments:e.z.string(),approval_request_id:e.z.string().optional()}),e.z.object({type:e.z.literal("apply_patch_call"),id:e.z.string(),call_id:e.z.string(),status:e.z.enum(["in_progress","completed"]),operation:e.z.discriminatedUnion("type",[e.z.object({type:e.z.literal("create_file"),path:e.z.string(),diff:e.z.string()}),e.z.object({type:e.z.literal("delete_file"),path:e.z.string()}),e.z.object({type:e.z.literal("update_file"),path:e.z.string(),diff:e.z.string()})])}),e.z.object({type:e.z.literal("shell_call"),id:e.z.string(),call_id:e.z.string(),status:e.z.enum(["in_progress","completed","incomplete"]),action:e.z.object({commands:e.z.array(e.z.string())})}),e.z.object({type:e.z.literal("compaction"),id:e.z.string(),encrypted_content:e.z.string()}),e.z.object({type:e.z.literal("shell_call_output"),id:e.z.string(),call_id:e.z.string(),status:e.z.enum(["in_progress","completed","incomplete"]),output:e.z.array(e.z.object({stdout:e.z.string(),stderr:e.z.string(),outcome:e.z.discriminatedUnion("type",[e.z.object({type:e.z.literal("timeout")}),e.z.object({type:e.z.literal("exit"),exit_code:e.z.number()})])}))}),e.z.object({type:e.z.literal("tool_search_call"),id:e.z.string(),execution:e.z.enum(["server","client"]),call_id:e.z.string().nullable(),status:e.z.enum(["in_progress","completed","incomplete"]),arguments:e.z.unknown()}),e.z.object({type:e.z.literal("tool_search_output"),id:e.z.string(),execution:e.z.enum(["server","client"]),call_id:e.z.string().nullable(),status:e.z.enum(["in_progress","completed","incomplete"]),tools:e.z.array(e.z.record(e.z.string(),aY.optional()))})])).optional(),service_tier:e.z.string().nullish(),reasoning:e.z.object({context:e.z.string().nullish()}).nullish(),incomplete_details:e.z.object({reason:e.z.string()}).nullish(),usage:a$.nullish()}))),bc="parallel",bd="functions.";function be({providerOptions:a,providerOptionsName:b}){var c;let d=null==(c=null==a?void 0:a[b])?void 0:c.parallelToolCall;if((0,f.isJSONObject)(d)&&"string"==typeof d.itemId&&"string"==typeof d.toolCallId&&"string"==typeof d.toolName&&"string"==typeof d.input&&"number"==typeof d.index&&Number.isInteger(d.index)&&"number"==typeof d.count&&Number.isInteger(d.count)&&!(d.index<0)&&!(d.count<=d.index))return d}function bf({toolName:a,tools:b}){return a===bc&&!b.some(a=>a.name===bc)}async function bg({toolCall:a,tools:b,providerOptionsName:d,itemId:e}){if(!bf({toolName:a.toolName,tools:b}))return;let g=await (0,c.safeParseJSON)({text:a.input});if(!g.success||!(0,f.isJSONObject)(g.value))return;let h=g.value.tool_uses;if(!Array.isArray(h)||0===h.length)return;let i=new Set(b.map(a=>a.name)),j=[];for(let[b,c]of h.entries()){if(!(0,f.isJSONObject)(c))return;let g=c.recipient_name,k=c.parameters;if("string"!=typeof g||!g.startsWith(bd)||!(0,f.isJSONObject)(k))return;let l=g.slice(bd.length);if(0===l.length||!i.has(l))return;j.push({type:"tool-call",toolCallId:`${a.toolCallId}_${b}`,toolName:l,input:JSON.stringify(k),providerMetadata:{[d]:{parallelToolCall:{itemId:e,toolCallId:a.toolCallId,toolName:a.toolName,input:a.input,index:b,count:h.length}}}})}return j}function bh(a){return null==a?void 0:"program"===a.type?{type:"program",caller_id:a.callerId}:a}async function bi({output:a,toolName:b,outputSchemaToolNames:d,promptCacheBreakpoint:e,providerOptionsName:f,warnings:g}){var h;let i=null==d?void 0:d.has(b),j=a=>null==e?a:[{type:"input_text",text:a,prompt_cache_breakpoint:e}];switch(a.type){case"text":case"error-text":return j(i?JSON.stringify(a.value):a.value);case"execution-denied":{let b=null!=(h=a.reason)?h:"Tool call execution denied.";return j(i?JSON.stringify(b):b)}case"json":case"error-json":return j(JSON.stringify(a.value));case"content":return a.value.map(a=>{var b,d,e;let h=bk(a.providerOptions,f);switch(a.type){case"text":return{type:"input_text",text:a.text,...null!=h&&{prompt_cache_breakpoint:h}};case"file":{let i=(0,c.getTopLevelMediaType)(a.mediaType),j=null==(d=null==(b=a.providerOptions)?void 0:b[f])?void 0:d.imageDetail;if("data"===a.data.type){let b=(0,c.resolveFullMediaType)({part:a});if("image"===i)return{type:"input_image",image_url:`data:${b};base64,${(0,c.convertToBase64)(a.data.data)}`,detail:j,...null!=h&&{prompt_cache_breakpoint:h}};return{type:"input_file",filename:null!=(e=a.filename)?e:"data",file_data:`data:${b};base64,${(0,c.convertToBase64)(a.data.data)}`,...null!=h&&{prompt_cache_breakpoint:h}}}if("url"===a.data.type){if("image"===i)return{type:"input_image",image_url:a.data.url.toString(),detail:j,...null!=h&&{prompt_cache_breakpoint:h}};return{type:"input_file",file_url:a.data.url.toString(),...null!=h&&{prompt_cache_breakpoint:h}}}g.push({type:"other",message:`unsupported tool content part type: ${a.type} with data type: ${a.data.type}`});return}default:return void g.push({type:"other",message:`unsupported tool content part type: ${a.type}`})}}).filter(c.isNonNullable)}}function bj(a,b){return a.itemId===b.itemId&&a.toolCallId===b.toolCallId&&a.toolName===b.toolName&&a.input===b.input&&a.count===b.count}function bk(a,b){var c;return null==(c=null==a?void 0:a[b])?void 0:c.promptCacheBreakpoint}function bl({output:a,toolResultProviderOptions:b,providerOptionsName:c}){var d;return"content"===a.type?void 0:null!=(d=bk(a.providerOptions,c))?d:bk(b,c)}function bm(a,b){return!!b&&b.some(b=>a.startsWith(b))}async function bn({prompt:a,toolNameMapping:b,systemMessageMode:d,providerOptionsName:e,fileIdPrefixes:g,passThroughUnsupportedFiles:h=!1,store:i,hasConversation:j=!1,hasPreviousResponseId:k=!1,hasLocalShellTool:l=!1,hasShellTool:m=!1,hasApplyPatchTool:n=!1,hasComputerTool:o=!1,toolSearchToolName:p,customProviderToolNames:q,outputSchemaToolNames:r}){var s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,Y,Z,$,_,aa,ab,ac,af;let ag=[],ah=[],ai=new Set,aj=j||k?function({prompt:a,providerOptionsName:b}){let d=new Map;for(let c of a)if("tool"===c.role)for(let a of c.content){if("tool-result"!==a.type)continue;let c=be({providerOptions:a.providerOptions,providerOptionsName:b});if(null==c)continue;let e=d.get(c.toolCallId);if(null==e){d.set(c.toolCallId,{metadata:c,results:new Map([[c.index,a]]),invalid:!1});continue}if(!bj(e.metadata,c)||e.results.has(c.index)){e.invalid=!0;continue}e.results.set(c.index,a)}let e=new Map;for(let[a,b]of d){if(b.invalid||b.results.size!==b.metadata.count)continue;let d=Array.from({length:b.metadata.count},(a,c)=>b.results.get(c));d.every(c.isNonNullable)&&e.set(a,{metadata:b.metadata,results:d})}return e}({prompt:a,providerOptionsName:e}):new Map,ak=new Set,al=new Set;for(let{role:am,content:an,providerOptions:ao}of a)switch(am){case"system":switch(d){case"system":{let a=bk(ao,e);ag.push({role:"system",content:null==a?an:[{type:"input_text",text:an,prompt_cache_breakpoint:a}]});break}case"developer":{let a=bk(ao,e);ag.push({role:"developer",content:null==a?an:[{type:"input_text",text:an,prompt_cache_breakpoint:a}]});break}case"remove":ah.push({type:"other",message:"system messages are removed for this model"});break;default:throw Error(`Unsupported system message mode: ${d}`)}break;case"user":ag.push({role:"user",content:an.map((a,b)=>{var d,i,j,k,l;switch(a.type){case"text":{let b=bk(a.providerOptions,e);return{type:"input_text",text:a.text,...null!=b&&{prompt_cache_breakpoint:b}}}case"file":{let m=bk(a.providerOptions,e);switch(a.data.type){case"reference":{let b=(0,c.resolveProviderReference)({reference:a.data.reference,provider:e});if("image"===(0,c.getTopLevelMediaType)(a.mediaType))return{type:"input_image",file_id:b,detail:null==(i=null==(d=a.providerOptions)?void 0:d[e])?void 0:i.imageDetail,...null!=m&&{prompt_cache_breakpoint:m}};return{type:"input_file",file_id:b,...null!=m&&{prompt_cache_breakpoint:m}}}case"text":throw new f.UnsupportedFunctionalityError({functionality:"text file parts"});case"url":case"data":if("image"===(0,c.getTopLevelMediaType)(a.mediaType))return{type:"input_image",..."url"===a.data.type?{image_url:a.data.url.toString()}:"string"==typeof a.data.data&&bm(a.data.data,g)?{file_id:a.data.data}:{image_url:`data:${(0,c.resolveFullMediaType)({part:a})};base64,${(0,c.convertToBase64)(a.data.data)}`},detail:null==(k=null==(j=a.providerOptions)?void 0:j[e])?void 0:k.imageDetail,...null!=m&&{prompt_cache_breakpoint:m}};{if("url"===a.data.type)return{type:"input_file",file_url:a.data.url.toString(),...null!=m&&{prompt_cache_breakpoint:m}};let d=(0,c.resolveFullMediaType)({part:a});if("application/pdf"!==d&&!h)throw new f.UnsupportedFunctionalityError({functionality:`file part media type ${d}`});return{type:"input_file",..."string"==typeof a.data.data&&bm(a.data.data,g)?{file_id:a.data.data}:{filename:null!=(l=a.filename)?l:"application/pdf"===d?`part-${b}.pdf`:`part-${b}`,file_data:`data:${d};base64,${(0,c.convertToBase64)(a.data.data)}`},...null!=m&&{prompt_cache_breakpoint:m}}}}}}})});break;case"assistant":{let a={};for(let d of an)switch(d.type){case"text":{let a=null==(s=d.providerOptions)?void 0:s[e],b=null==a?void 0:a.itemId,c=null==a?void 0:a.phase;if(j&&null!=b)break;if(i&&null!=b){ag.push({type:"item_reference",id:b});break}ag.push({role:"assistant",content:[{type:"output_text",text:d.text}],id:b,...null!=c&&{phase:c}});break}case"tool-call":{let a=be({providerOptions:d.providerOptions,providerOptionsName:e}),f=null==a?void 0:aj.get(a.toolCallId);if(null!=a&&null!=f&&bj(f.metadata,a)){!ak.has(f.metadata.toolCallId)&&(ak.add(f.metadata.toolCallId),j||ag.push({type:"function_call",call_id:f.metadata.toolCallId,name:f.metadata.toolName,arguments:f.metadata.input}));break}let g=null!=(x=null==(u=null==(t=d.providerOptions)?void 0:t[e])?void 0:u.itemId)?x:null==(w=null==(v=d.providerMetadata)?void 0:v[e])?void 0:w.itemId,h=null!=(C=null==(z=null==(y=d.providerOptions)?void 0:y[e])?void 0:z.namespace)?C:null==(B=null==(A=d.providerMetadata)?void 0:A[e])?void 0:B.namespace,r=null==(E=null==(D=d.providerOptions)?void 0:D[e])?void 0:E.caller;if(j&&null!=g)break;let s=b.toProviderToolName(d.toolName);if(d.toolName===p){if(i&&null!=g){ag.push({type:"item_reference",id:g});break}let a="string"==typeof d.input?await (0,c.parseJSON)({text:d.input,schema:aB}):await (0,c.validateTypes)({value:d.input,schema:aB}),b=null!=a.call_id?"client":"server";ag.push({type:"tool_search_call",id:null!=g?g:d.toolCallId,execution:b,call_id:null!=(F=a.call_id)?F:null,status:"completed",arguments:a.arguments});break}if("programmatic_tool_calling"===s){if(i&&null!=g){ag.push({type:"item_reference",id:g});break}let a=await (0,c.validateTypes)({value:d.input,schema:aR});ag.push({type:"program",id:null!=g?g:d.toolCallId,call_id:d.toolCallId,code:a.code,fingerprint:a.fingerprint});break}if(d.providerExecuted&&(i&&null!=g&&ag.push({type:"item_reference",id:g}),i||!m||"shell"!==s))break;let H=l&&"local_shell"===s||m&&"shell"===s||n&&"apply_patch"===s||o&&"computer"===s||null!=(G=null==q?void 0:q.has(s))&&G;if(k&&i&&null!=g&&H)break;if(i&&null!=g&&H){ag.push({type:"item_reference",id:g});break}if(l&&"local_shell"===s){let a=await (0,c.validateTypes)({value:d.input,schema:as});ag.push({type:"local_shell_call",call_id:d.toolCallId,id:g,action:{type:"exec",command:a.action.command,timeout_ms:a.action.timeoutMs,user:a.action.user,working_directory:a.action.workingDirectory,env:a.action.env}});break}if(m&&"shell"===s){let a=await (0,c.validateTypes)({value:d.input,schema:av});ag.push({type:"shell_call",call_id:d.toolCallId,id:g,status:"completed",action:{commands:a.action.commands,timeout_ms:a.action.timeoutMs,max_output_length:a.action.maxOutputLength}});break}if(n&&"apply_patch"===s){let a=await (0,c.validateTypes)({value:d.input,schema:W});ag.push({type:"apply_patch_call",call_id:a.callId,id:g,status:"completed",operation:a.operation});break}if(o&&"computer"===s){let a=await (0,c.validateTypes)({value:d.input,schema:ad});ag.push({type:"computer_call",call_id:d.toolCallId,id:g,status:a.status,actions:a.actions.map(a=>{switch(a.type){case"click":case"double_click":case"move":case"drag":return{...a,keys:a.keys};case"scroll":return{type:"scroll",x:a.x,y:a.y,scroll_x:a.scrollX,scroll_y:a.scrollY,keys:a.keys};default:return a}}),pending_safety_checks:a.pendingSafetyChecks.map(a=>({id:a.id,code:a.code,message:a.message}))});break}if(null==q?void 0:q.has(s)){ag.push({type:"custom_tool_call",call_id:d.toolCallId,name:s,input:"string"==typeof d.input?d.input:JSON.stringify(d.input),id:g});break}ag.push({type:"function_call",call_id:d.toolCallId,name:s,arguments:JSON.stringify(void 0===(af=d.input)?{}:af),...null!=h&&{namespace:h},...null!=r&&{caller:bh(r)}});break}case"tool-result":{if("execution-denied"===d.output.type||"json"===d.output.type&&"object"==typeof d.output.value&&null!=d.output.value&&"type"in d.output.value&&"execution-denied"===d.output.value.type||j)break;let a=b.toProviderToolName(d.toolName);if(d.toolName===p){let a=null!=(M=null!=(L=null==(I=null==(H=d.providerOptions)?void 0:H[e])?void 0:I.itemId)?L:null==(K=null==(J=d.providerMetadata)?void 0:J[e])?void 0:K.itemId)?M:d.toolCallId;if(i)ag.push({type:"item_reference",id:a});else if("json"===d.output.type){let b=await (0,c.validateTypes)({value:d.output.value,schema:aC});ag.push({type:"tool_search_output",id:a,execution:"server",call_id:null,status:"completed",tools:b.tools})}break}if("programmatic_tool_calling"===a){let a=null!=(S=null!=(R=null==(O=null==(N=d.providerOptions)?void 0:N[e])?void 0:O.itemId)?R:null==(Q=null==(P=d.providerMetadata)?void 0:P[e])?void 0:Q.itemId)?S:d.toolCallId;if(i)ag.push({type:"item_reference",id:a});else if("json"===d.output.type){let b=await (0,c.validateTypes)({value:d.output.value,schema:aS});ag.push({type:"program_output",id:a,call_id:d.toolCallId,result:b.result,status:b.status})}break}if(m&&"shell"===a){if("json"===d.output.type){let a=await (0,c.validateTypes)({value:d.output.value,schema:aw});ag.push({type:"shell_call_output",call_id:d.toolCallId,output:a.output.map(a=>({stdout:a.stdout,stderr:a.stderr,outcome:"timeout"===a.outcome.type?{type:"timeout"}:{type:"exit",exit_code:a.outcome.exitCode}}))})}break}if(i){let a=null!=(V=null==(U=null==(T=d.providerOptions)?void 0:T[e])?void 0:U.itemId)?V:d.toolCallId;ag.push({type:"item_reference",id:a})}else ah.push({type:"other",message:`Results for OpenAI tool ${d.toolName} are not sent to the API when store is false`});break}case"reasoning":{let b=await (0,c.parseProviderOptions)({provider:e,providerOptions:d.providerOptions,schema:bo}),f=null==b?void 0:b.itemId;if((j||k)&&null!=f)break;if(null!=f){let c=a[f];if(i)void 0===c&&(ag.push({type:"item_reference",id:f}),a[f]={type:"reasoning",id:f,summary:[]});else{let e=[];d.text.length>0?e.push({type:"summary_text",text:d.text}):void 0!==c&&ah.push({type:"other",message:`Cannot append empty reasoning part to existing reasoning sequence. Skipping reasoning part: ${JSON.stringify(d)}.`}),void 0===c?(a[f]={type:"reasoning",id:f,encrypted_content:null==b?void 0:b.reasoningEncryptedContent,summary:e},ag.push(a[f])):(c.summary.push(...e),(null==b?void 0:b.reasoningEncryptedContent)!=null&&(c.encrypted_content=b.reasoningEncryptedContent))}}else{let a=null==b?void 0:b.reasoningEncryptedContent;if(null!=a){let b=[];d.text.length>0&&b.push({type:"summary_text",text:d.text}),ag.push({type:"reasoning",encrypted_content:a,summary:b})}else ah.push({type:"other",message:`Non-OpenAI reasoning parts are not supported. Skipping reasoning part: ${JSON.stringify(d)}.`})}break}case"custom":if("openai.compaction"===d.kind){let a=null==(Y=d.providerOptions)?void 0:Y[e],b=null==a?void 0:a.itemId;if(j&&null!=b)break;if(i&&null!=b){ag.push({type:"item_reference",id:b});break}let c=null==a?void 0:a.encryptedContent;null!=b&&ag.push({type:"compaction",id:b,encrypted_content:c})}}break}case"tool":for(let a of an){if("tool-approval-response"===a.type){if(ai.has(a.approvalId))continue;ai.add(a.approvalId),!i||j||k||ag.push({type:"item_reference",id:a.approvalId}),ag.push({type:"mcp_approval_response",approval_request_id:a.approvalId,approve:a.approved});continue}let d=be({providerOptions:a.providerOptions,providerOptionsName:e}),f=null==d?void 0:aj.get(d.toolCallId);if(null!=d&&null!=f&&bj(f.metadata,d)){if(!al.has(f.metadata.toolCallId)){al.add(f.metadata.toolCallId);let a=await Promise.all(f.results.map(async a=>{let b=bl({output:a.output,toolResultProviderOptions:a.providerOptions,providerOptionsName:e});return{output:await bi({output:a.output,toolName:a.toolName,outputSchemaToolNames:r,providerOptionsName:e,warnings:ah}),promptCacheBreakpoint:b}})),b=a.map(({output:a})=>"string"==typeof a?a:JSON.stringify(a)),c=a.some(({promptCacheBreakpoint:a})=>null!=a);ag.push({type:"function_call_output",call_id:f.metadata.toolCallId,output:c?b.map((b,c)=>({type:"input_text",text:0===c?b:`
|
|
182
|
-
${b}`,...null!=a[c].promptCacheBreakpoint&&{prompt_cache_breakpoint:a[c].promptCacheBreakpoint}})):b.join("\n")})}continue}let g=a.output;if("execution-denied"===g.type&&(null==($=null==(Z=g.providerOptions)?void 0:Z.openai)?void 0:$.approvalId))continue;let h=b.toProviderToolName(a.toolName);if(a.toolName===p&&"json"===g.type){let b=await (0,c.validateTypes)({value:g.value,schema:aC});ag.push({type:"tool_search_output",execution:"client",call_id:a.toolCallId,status:"completed",tools:b.tools});continue}if(l&&"local_shell"===h&&"json"===g.type){let b=await (0,c.validateTypes)({value:g.value,schema:at});ag.push({type:"local_shell_call_output",call_id:a.toolCallId,output:b.output});continue}if(m&&"shell"===h&&"json"===g.type){let b=await (0,c.validateTypes)({value:g.value,schema:aw});ag.push({type:"shell_call_output",call_id:a.toolCallId,output:b.output.map(a=>({stdout:a.stdout,stderr:a.stderr,outcome:"timeout"===a.outcome.type?{type:"timeout"}:{type:"exit",exit_code:a.outcome.exitCode}}))});continue}if(n&&"apply_patch"===a.toolName&&"json"===g.type){let b=await (0,c.validateTypes)({value:g.value,schema:X});ag.push({type:"apply_patch_call_output",call_id:a.toolCallId,status:b.status,output:b.output});continue}if(o&&"computer"===h&&"json"===g.type){let b=await (0,c.validateTypes)({value:g.value,schema:ae});ag.push({type:"computer_call_output",call_id:a.toolCallId,output:{type:"computer_screenshot",image_url:b.output.imageUrl,file_id:b.output.fileId,detail:b.output.detail},acknowledged_safety_checks:null==(_=b.acknowledgedSafetyChecks)?void 0:_.map(a=>({id:a.id,code:a.code,message:a.message}))});continue}if(null==q?void 0:q.has(h)){let b,d=bl({output:g,toolResultProviderOptions:a.providerOptions,providerOptionsName:e}),f=a=>null==d?a:[{type:"input_text",text:a,prompt_cache_breakpoint:d}];switch(g.type){case"text":case"error-text":b=f(g.value);break;case"execution-denied":b=f(null!=(aa=g.reason)?aa:"Tool call execution denied.");break;case"json":case"error-json":b=f(JSON.stringify(g.value));break;case"content":b=g.value.map(a=>{var b,d,f;let g=bk(a.providerOptions,e);switch(a.type){case"text":return{type:"input_text",text:a.text,...null!=g&&{prompt_cache_breakpoint:g}};case"file":{let h=(0,c.getTopLevelMediaType)(a.mediaType),i=null==(d=null==(b=a.providerOptions)?void 0:b[e])?void 0:d.imageDetail;if("data"===a.data.type){let b=(0,c.resolveFullMediaType)({part:a});if("image"===h)return{type:"input_image",image_url:`data:${b};base64,${(0,c.convertToBase64)(a.data.data)}`,detail:i,...null!=g&&{prompt_cache_breakpoint:g}};return{type:"input_file",filename:null!=(f=a.filename)?f:"data",file_data:`data:${b};base64,${(0,c.convertToBase64)(a.data.data)}`,...null!=g&&{prompt_cache_breakpoint:g}}}if("url"===a.data.type){if("image"===h)return{type:"input_image",image_url:a.data.url.toString(),detail:i,...null!=g&&{prompt_cache_breakpoint:g}};return{type:"input_file",file_url:a.data.url.toString(),...null!=g&&{prompt_cache_breakpoint:g}}}ah.push({type:"other",message:`unsupported custom tool content part type: ${a.type} with data type: ${a.data.type}`});return}default:ah.push({type:"other",message:`unsupported custom tool content part type: ${a.type}`});return}}).filter(c.isNonNullable);break;default:b=""}ag.push({type:"custom_tool_call_output",call_id:a.toolCallId,output:b});continue}let s=await bi({output:g,toolName:a.toolName,outputSchemaToolNames:r,promptCacheBreakpoint:bl({output:g,toolResultProviderOptions:a.providerOptions,providerOptionsName:e}),providerOptionsName:e,warnings:ah}),t=bh(null==(ac=null==(ab=a.providerOptions)?void 0:ab[e])?void 0:ac.caller);ag.push({type:"function_call_output",call_id:a.toolCallId,output:s,...null!=t&&{caller:t}})}break;default:throw Error(`Unsupported role: ${am}`)}return!i&&ag.some(a=>"type"in a&&"reasoning"===a.type&&null==a.encrypted_content)&&(ah.push({type:"other",message:"Reasoning parts without encrypted content are not supported when store is false. Skipping reasoning parts."}),ag=ag.filter(a=>!("type"in a)||"reasoning"!==a.type||null!=a.encrypted_content)),{input:ag,warnings:ah}}var bo=e.z.object({itemId:e.z.string().nullish(),reasoningEncryptedContent:e.z.string().nullish()}),bp=(0,c.lazySchema)(()=>(0,c.zodSchema)(e.z.object({conversation:e.z.string().nullish(),include:e.z.array(e.z.enum(["reasoning.encrypted_content","file_search_call.results","web_search_call.results","message.output_text.logprobs"])).nullish(),instructions:e.z.string().nullish(),logprobs:e.z.union([e.z.boolean(),e.z.number().min(1).max(20)]).optional(),maxToolCalls:e.z.number().nullish(),metadata:e.z.any().nullish(),parallelToolCalls:e.z.boolean().nullish(),previousResponseId:e.z.string().nullish(),promptCacheKey:e.z.string().nullish(),promptCacheOptions:e.z.object({mode:e.z.enum(["implicit","explicit"]).optional(),ttl:e.z.literal("30m").optional()}).optional(),promptCacheRetention:e.z.enum(["in_memory","24h"]).nullish(),reasoningEffort:e.z.string().nullish(),reasoningEffortUpdate:e.z.enum(["low","medium","high","xhigh","max"]).optional(),reasoningMode:e.z.enum(["standard","pro"]).optional(),reasoningContext:e.z.enum(["auto","current_turn","all_turns"]).optional(),reasoningSummary:e.z.string().nullish(),safetyIdentifier:e.z.string().nullish(),serviceTier:e.z.enum(["auto","flex","priority","fast","ultrafast","default"]).nullish(),store:e.z.boolean().nullish(),passThroughUnsupportedFiles:e.z.boolean().optional(),strictJsonSchema:e.z.boolean().nullish(),textVerbosity:e.z.enum(["low","medium","high"]).nullish(),truncation:e.z.enum(["auto","disabled"]).nullish(),user:e.z.string().nullish(),systemMessageMode:e.z.enum(["system","developer","remove"]).optional(),forceReasoning:e.z.boolean().optional(),contextManagement:e.z.array(e.z.object({type:e.z.literal("compaction"),compactThreshold:e.z.number()})).nullish(),compactionTrigger:e.z.boolean().optional(),allowedTools:e.z.object({toolNames:e.z.array(e.z.string()).min(1),mode:e.z.enum(["auto","required"]).optional()}).optional()})));async function bq({tools:a,toolChoice:b,allowedTools:d,toolNameMapping:e,customProviderToolNames:g,outputSchemaToolNames:h}){var i,j,k,l;a=(null==a?void 0:a.length)?a:void 0;let m=[];if(null==a)return{tools:void 0,toolChoice:void 0,toolWarnings:m};let n=[],o=new Map,p=null!=g?g:new Set,q=new Map,r=new Map,s=(a,b,c)=>{var d,e;if(q.set(a,b),null==c||c===a)return;let f=r.get(c);null==f?r.set(c,b):"ambiguous"===f||(d=f,e=b,d.supported&&e.supported?br(d.entry)===br(e.entry):!d.supported&&!e.supported&&d.reason===e.reason)||r.set(c,"ambiguous")};for(let b of a)switch(b.type){case"function":{let a=null==(i=b.providerOptions)?void 0:i.openai;(null==a?void 0:a.outputSchema)!=null&&(null==h||h.add(b.name));let c=function({tool:a,options:b}){let c=null==b?void 0:b.deferLoading;return{type:"function",name:a.name,description:a.description,parameters:a.inputSchema,...null!=a.strict?{strict:a.strict}:{},...null!=c?{defer_loading:c}:{},...(null==b?void 0:b.allowedCallers)!=null?{allowed_callers:b.allowedCallers}:{},...(null==b?void 0:b.outputSchema)!=null?{output_schema:b.outputSchema}:{}}}({tool:b,options:a}),d=null==a?void 0:a.namespace;if(null==d)n.push(c);else{let a=o.get(d.name);if(null==a)a={type:"namespace",name:d.name,description:d.description,tools:[]},o.set(d.name,a),n.push(a);else if(a.description!==d.description)throw new f.UnsupportedFunctionalityError({functionality:`conflicting descriptions for OpenAI tool namespace "${d.name}"`});a.tools.push(c)}s(b.name,null!=d?{supported:!1,reason:"tools inside an OpenAI tool namespace are not visible to tool_choice.allowed_tools"}:(null==a?void 0:a.deferLoading)===!0?{supported:!1,reason:"deferred tools are not visible to tool_choice.allowed_tools"}:{supported:!0,entry:{type:"function",name:b.name}},void 0);break}case"provider":{let a=n.length;switch(b.id){case"openai.file_search":{let a=await (0,c.validateTypes)({value:b.args,schema:al});n.push({type:"file_search",vector_store_ids:a.vectorStoreIds,max_num_results:a.maxNumResults,ranking_options:a.ranking?{ranker:a.ranking.ranker,score_threshold:a.ranking.scoreThreshold}:void 0,filters:a.filters});break}case"openai.local_shell":n.push({type:"local_shell"});break;case"openai.shell":{let a=await (0,c.validateTypes)({value:b.args,schema:ay});n.push({type:"shell",...a.environment&&{environment:function(a){var b;return"containerReference"===a.type?{type:"container_reference",container_id:a.containerId}:"containerAuto"===a.type?{type:"container_auto",file_ids:a.fileIds,memory_limit:a.memoryLimit,network_policy:null==a.networkPolicy?void 0:"disabled"===a.networkPolicy.type?{type:"disabled"}:{type:"allowlist",allowed_domains:a.networkPolicy.allowedDomains,domain_secrets:a.networkPolicy.domainSecrets},skills:null==(b=a.skills)?void 0:b.map(a=>{var b,d;return"skillReference"===a.type?{type:"skill_reference",skill_id:(0,c.resolveProviderReference)({reference:null!=(b=a.providerReference)?b:{},provider:"openai"}),version:null!=(d=a.version)?d:"latest"}:{type:"inline",name:a.name,description:a.description,source:{type:"base64",media_type:a.source.mediaType,data:a.source.data}}})}:{type:"local",skills:a.skills}}(a.environment)}});break}case"openai.apply_patch":n.push({type:"apply_patch"});break;case"openai.computer":n.push({type:"computer"});break;case"openai.web_search_preview":{let a=await (0,c.validateTypes)({value:b.args,schema:aI});n.push({type:"web_search_preview",search_context_size:a.searchContextSize,user_location:a.userLocation});break}case"openai.web_search":{let a=await (0,c.validateTypes)({value:b.args,schema:aE});n.push({type:"web_search",filters:null!=a.filters?{allowed_domains:a.filters.allowedDomains,blocked_domains:a.filters.blockedDomains}:void 0,external_web_access:a.externalWebAccess,search_context_size:a.searchContextSize,user_location:a.userLocation});break}case"openai.code_interpreter":{let a=await (0,c.validateTypes)({value:b.args,schema:_});n.push({type:"code_interpreter",container:null==a.container?{type:"auto",file_ids:void 0}:"string"==typeof a.container?a.container:{type:"auto",file_ids:a.container.fileIds}});break}case"openai.image_generation":{let a=await (0,c.validateTypes)({value:b.args,schema:ao});n.push({type:"image_generation",action:a.action,background:a.background,input_fidelity:a.inputFidelity,input_image_mask:a.inputImageMask?{file_id:a.inputImageMask.fileId,image_url:a.inputImageMask.imageUrl}:void 0,model:a.model,moderation:a.moderation,partial_images:a.partialImages,quality:a.quality,output_compression:a.outputCompression,output_format:a.outputFormat,size:a.size});break}case"openai.mcp":{let a=await (0,c.validateTypes)({value:b.args,schema:aN}),d=a=>({tool_names:a.toolNames}),e=a.requireApproval,f=null==e?void 0:"string"==typeof e?e:null!=e.never?{never:d(e.never)}:void 0;n.push({type:"mcp",server_label:a.serverLabel,allowed_tools:Array.isArray(a.allowedTools)?a.allowedTools:a.allowedTools?{read_only:a.allowedTools.readOnly,tool_names:a.allowedTools.toolNames}:void 0,authorization:a.authorization,connector_id:a.connectorId,headers:a.headers,require_approval:null!=f?f:"never",server_description:a.serverDescription,server_url:a.serverUrl});break}case"openai.custom":{let a=await (0,c.validateTypes)({value:b.args,schema:ag});n.push({type:"custom",name:b.name,description:a.description,format:a.format}),p.add(b.name);break}case"openai.programmatic_tool_calling":n.push({type:"programmatic_tool_calling"});break;case"openai.tool_search":{let a=await (0,c.validateTypes)({value:b.args,schema:aA});n.push({type:"tool_search",...null!=a.execution?{execution:a.execution}:{},...null!=a.description?{description:a.description}:{},...null!=a.parameters?{parameters:a.parameters}:{}})}}if(n.length>a){let c=n[a];s(b.name,function(a){switch(a.type){case"custom":return{supported:!0,entry:{type:"custom",name:a.name}};case"mcp":return{supported:!0,entry:{type:"mcp",server_label:a.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:a.type}};default:return{supported:!1,reason:`OpenAI does not support ${a.type} tools in tool_choice.allowed_tools`}}}(c),null==e?void 0:e.toProviderToolName(b.name))}break}default:m.push({type:"unsupported",feature:`function tool ${b}`})}if(null!=d){let a=[],b=[];for(let c of d.toolNames){let d=q.get(c),f=null!=d?d:r.get(c);if(null!=d&&r.has(c)&&m.push({type:"unsupported",feature:`allowedTools entry "${c}"`,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"===f){m.push({type:"unsupported",feature:`allowedTools entry "${c}"`,details:"several tools in this request share this provider tool name; use the tool name from the tools for this request instead"}),b.push(c);continue}if(null==f){m.push({type:"unsupported",feature:`allowedTools entry "${c}"`,details:"the tool is not part of the tools for this request and is sent as a function tool"}),a.push({type:"function",name:null!=(j=null==e?void 0:e.toProviderToolName(c))?j:c});continue}if(!f.supported){m.push({type:"unsupported",feature:`allowedTools entry "${c}"`,details:`${f.reason}; the tool is removed from the allowed tools`}),b.push(c);continue}a.push(f.entry)}if(0===a.length)throw new f.UnsupportedFunctionalityError({functionality:`allowedTools with only tools that cannot be allow-listed (${b.join(", ")})`});return{tools:n,toolChoice:{type:"allowed_tools",mode:null!=(k=d.mode)?k:"auto",tools:a},toolWarnings:m}}if(null==b)return{tools:n,toolChoice:void 0,toolWarnings:m};let t=b.type;switch(t){case"auto":case"none":case"required":return{tools:n,toolChoice:t,toolWarnings:m};case"tool":{let a=null!=(l=null==e?void 0:e.toProviderToolName(b.toolName))?l:b.toolName;return{tools:n,toolChoice:"code_interpreter"===a||"file_search"===a||"image_generation"===a||"web_search_preview"===a||"web_search"===a||"mcp"===a||"apply_patch"===a||"computer"===a||"programmatic_tool_calling"===a?{type:a}:p.has(a)?{type:"custom",name:a}:{type:"function",name:a},toolWarnings:m}}default:throw new f.UnsupportedFunctionalityError({functionality:`tool choice type: ${t}`})}}function br(a){switch(a.type){case"mcp":return`mcp:${a.server_label}`;case"function":case"custom":return`${a.type}:${a.name}`;default:return a.type}}function bs(a){var b,c;let d={};for(let e of a)if("assistant"===e.role)for(let a of e.content){if("tool-call"!==a.type)continue;let e=null==(c=null==(b=a.providerOptions)?void 0:b.openai)?void 0:c.approvalRequestId;null!=e&&(d[e]=a.toolCallId)}return d}function bt(a){switch(a.type){case"click":return{type:"click",button:a.button,x:a.x,y:a.y,...null!=a.keys&&{keys:a.keys}};case"double_click":return{type:"double_click",x:a.x,y:a.y,...null!=a.keys&&{keys:a.keys}};case"drag":return{type:"drag",path:a.path,...null!=a.keys&&{keys:a.keys}};case"keypress":case"screenshot":case"type":case"wait":return a;case"move":return{type:"move",x:a.x,y:a.y,...null!=a.keys&&{keys:a.keys}};case"scroll":return{type:"scroll",x:a.x,y:a.y,scrollX:a.scroll_x,scrollY:a.scroll_y,...null!=a.keys&&{keys:a.keys}}}}function bu({action:a,actions:b,pending_safety_checks:c,status:d}){var e;return{actions:(null!=b?b:null!=a?[a]:[]).map(bt),pendingSafetyChecks:null!=(e=null==c?void 0:c.map(a=>({id:a.id,...null!=a.code&&{code:a.code},...null!=a.message&&{message:a.message}})))?e:[],status:d}}var bv=class a{constructor(a,b){this.specificationVersion="v4",this.supportedUrls={"image/*":[/^https?:\/\/.*$/],"application/pdf":[/^https?:\/\/.*$/]},this.modelId=a,this.config=b}static[d.WORKFLOW_SERIALIZE](a){return(0,c.serializeModelOptions)({modelId:a.modelId,config:a.config})}static[d.WORKFLOW_DESERIALIZE](b){return new a(b.modelId,aV(b.config))}get provider(){return this.config.provider}async getArgs({maxOutputTokens:a,temperature:b,stopSequences:d,topP:e,topK:f,presencePenalty:g,frequencyPenalty:h,seed:j,prompt:k,reasoning:l,providerOptions:m,tools:n,toolChoice:o,responseFormat:p}){var q,r,s,t,u,v,w,x,y,z,A,B,C,D;let E=[],F=i(this.modelId);null!=f&&E.push({type:"unsupported",feature:"topK"}),null!=j&&E.push({type:"unsupported",feature:"seed"}),null!=g&&E.push({type:"unsupported",feature:"presencePenalty"}),null!=h&&E.push({type:"unsupported",feature:"frequencyPenalty"}),null!=d&&E.push({type:"unsupported",feature:"stopSequences"});let G=this.config.provider.includes("azure")?"azure":"openai",H=await (0,c.parseProviderOptions)({provider:G,providerOptions:m,schema:bp});null==H&&"openai"!==G&&(H=await (0,c.parseProviderOptions)({provider:"openai",providerOptions:m,schema:bp}));let I=null!=(q=null==H?void 0:H.reasoningEffort)?q:(0,c.isCustomReasoning)(l)?l:void 0;null==I||null==F.supportedReasoningEfforts||F.supportedReasoningEfforts.includes(I)||(E.push({type:"unsupported",feature:"reasoningEffort",details:`${this.modelId} only supports the following reasoning efforts: ${F.supportedReasoningEfforts.join(", ")}`}),I=void 0);let J=(null==H?void 0:H.reasoningSummary)!==void 0?H.reasoningSummary:null!=I&&"none"!==I?"detailed":void 0,K=null!=(r=null==H?void 0:H.forceReasoning)?r:F.isReasoningModel;(null==H?void 0:H.conversation)&&(null==H?void 0:H.previousResponseId)&&E.push({type:"unsupported",feature:"conversation",details:"conversation and previousResponseId cannot be used together"});let L=(0,c.createToolNameMapping)({tools:n,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"}}),M=new Set,N=new Set,{tools:O,toolChoice:P,toolWarnings:Q}=await bq({tools:n,toolChoice:o,allowedTools:null!=(s=null==H?void 0:H.allowedTools)?s:void 0,toolNameMapping:L,customProviderToolNames:M,outputSchemaToolNames:N}),{input:R,warnings:S}=await bn({prompt:k,toolNameMapping:L,systemMessageMode:null!=(t=null==H?void 0:H.systemMessageMode)?t:K?"developer":F.systemMessageMode,providerOptionsName:G,fileIdPrefixes:this.config.fileIdPrefixes,passThroughUnsupportedFiles:null!=(u=null==H?void 0:H.passThroughUnsupportedFiles)&&u,store:null==(v=null==H?void 0:H.store)||v,hasConversation:(null==H?void 0:H.conversation)!=null,hasPreviousResponseId:(null==H?void 0:H.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:M.size>0?M:void 0,outputSchemaToolNames:N.size>0?N:void 0});E.push(...S);let T=null==H?void 0:H.reasoningEffortUpdate,U=null==T||F.supportsConfigurationUpdate&&(null==H?void 0:H.reasoningMode)!=="pro"&&(null==H?void 0:H.contextManagement)==null&&(null==H?void 0:H.truncation)!=="auto";null==T||U?null!=T&&R.unshift({type:"configuration_update",reasoning:{effort:T}}):E.push({type:"unsupported",feature:"reasoningEffortUpdate",details:F.supportsConfigurationUpdate?"reasoningEffortUpdate requires standard reasoning mode without automatic compaction or automatic truncation":"reasoningEffortUpdate is only supported by GPT-6 and later models"}),(null==H?void 0:H.compactionTrigger)&&R.push({type:"compaction_trigger"});let V=null==(w=null==H?void 0:H.strictJsonSchema)||w,W=null==H?void 0:H.include;function X(a){null==W?W=[a]:W.includes(a)||(W=[...W,a])}function Y(a){var b;return null==(b=null==n?void 0:n.find(b=>"provider"===b.type&&b.id===a))?void 0:b.name}function Z(a){return null!=Y(a)}let $="number"==typeof(null==H?void 0:H.logprobs)?null==H?void 0:H.logprobs:(null==H?void 0:H.logprobs)===!0?20:void 0;$&&X("message.output_text.logprobs");let _=null==(x=null==n?void 0:n.find(a=>"provider"===a.type&&("openai.web_search"===a.id||"openai.web_search_preview"===a.id)))?void 0:x.name;_&&X("web_search_call.action.sources"),Z("openai.code_interpreter")&&X("code_interpreter_call.outputs");let aa=null==H?void 0:H.store;!1===aa&&K&&X("reasoning.encrypted_content");let ab={model:this.modelId,input:R,temperature:b,top_p:e,max_output_tokens:a,...((null==p?void 0:p.type)==="json"||(null==H?void 0:H.textVerbosity))&&{text:{...(null==p?void 0:p.type)==="json"&&{format:null!=p.schema?{type:"json_schema",strict:V,name:null!=(y=p.name)?y:"response",description:p.description,schema:p.schema}:{type:"json_object"}},...(null==H?void 0:H.textVerbosity)&&{verbosity:H.textVerbosity}}},conversation:null==H?void 0:H.conversation,max_tool_calls:null==H?void 0:H.maxToolCalls,metadata:null==H?void 0:H.metadata,parallel_tool_calls:null==H?void 0:H.parallelToolCalls,previous_response_id:null==H?void 0:H.previousResponseId,store:aa,user:null==H?void 0:H.user,instructions:null==H?void 0:H.instructions,service_tier:null==H?void 0:H.serviceTier,include:W,prompt_cache_key:null==H?void 0:H.promptCacheKey,prompt_cache_options:null==H?void 0:H.promptCacheOptions,prompt_cache_retention:null==H?void 0:H.promptCacheRetention,safety_identifier:null==H?void 0:H.safetyIdentifier,top_logprobs:$,truncation:null==H?void 0:H.truncation,...(null==H?void 0:H.contextManagement)&&{context_management:H.contextManagement.map(a=>({type:a.type,compact_threshold:a.compactThreshold}))},...K&&(null!=I||null!=J||(null==H?void 0:H.reasoningMode)!=null||(null==H?void 0:H.reasoningContext)!=null)&&{reasoning:{...null!=I&&{effort:I},...null!=J&&{summary:J},...(null==H?void 0:H.reasoningMode)!=null&&{mode:H.reasoningMode},...(null==H?void 0:H.reasoningContext)!=null&&{context:H.reasoningContext}}}};if(F.supportsConfigurationUpdate&&null!=ab.prompt_cache_retention&&(ab.prompt_cache_retention=void 0,E.push({type:"unsupported",feature:"promptCacheRetention",details:"promptCacheRetention is not supported by GPT-6 and later models; use promptCacheOptions instead"})),K){if(!("none"===I&&F.supportsNonReasoningParameters)&&(null!=ab.temperature&&(ab.temperature=void 0,E.push({type:"unsupported",feature:"temperature",details:"temperature is not supported for reasoning models"})),null!=ab.top_p&&(ab.top_p=void 0,E.push({type:"unsupported",feature:"topP",details:"topP is not supported for reasoning models"})),null!=F.supportedReasoningEfforts&&(null!=ab.top_logprobs||(null==(z=ab.include)?void 0:z.includes("message.output_text.logprobs"))))){ab.top_logprobs=void 0;let a=null==(A=ab.include)?void 0:A.filter(a=>"message.output_text.logprobs"!==a);ab.include=null!=a&&a.length>0?a:void 0,E.push({type:"unsupported",feature:"logprobs",details:"logprobs is not supported for reasoning models"})}}else(null==H?void 0:H.reasoningEffort)!=null&&E.push({type:"unsupported",feature:"reasoningEffort",details:"reasoningEffort is not supported for non-reasoning models"}),(null==H?void 0:H.reasoningSummary)!=null&&E.push({type:"unsupported",feature:"reasoningSummary",details:"reasoningSummary is not supported for non-reasoning models"}),(null==H?void 0:H.reasoningMode)!=null&&E.push({type:"unsupported",feature:"reasoningMode",details:"reasoningMode is not supported for non-reasoning models"}),(null==H?void 0:H.reasoningContext)!=null&&E.push({type:"unsupported",feature:"reasoningContext",details:"reasoningContext is not supported for non-reasoning models"});(null==H?void 0:H.serviceTier)!=="flex"||F.supportsFlexProcessing||(E.push({type:"unsupported",feature:"serviceTier",details:"flex processing is only available for o3, o4-mini, and gpt-5 models"}),delete ab.service_tier),(null==H?void 0:H.serviceTier)!=="priority"&&(null==H?void 0:H.serviceTier)!=="fast"||F.supportsPriorityProcessing||(E.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 ab.service_tier);let ac=null==(D=null==(C=null==(B=null==n?void 0:n.find(a=>"provider"===a.type&&"openai.shell"===a.id))?void 0:B.args)?void 0:C.environment)?void 0:D.type;return{webSearchToolName:_,args:{...ab,tools:O,tool_choice:P},warnings:[...E,...Q],store:aa,toolNameMapping:L,providerOptionsName:G,isShellProviderExecuted:"containerAuto"===ac||"containerReference"===ac}}async doGenerate(a){var b,d,e,g,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,I,J,K,L;let{args:M,warnings:N,webSearchToolName:O,toolNameMapping:P,providerOptionsName:Q,isShellProviderExecuted:R}=await this.getArgs(a),S=this.config.url({path:"/responses",modelId:this.modelId}),T=bs(a.prompt),{responseHeaders:U,value:V,rawValue:W}=await (0,c.postJsonToApi)({url:S,headers:(0,c.combineHeaders)(null==(d=(b=this.config).headers)?void 0:d.call(b),a.headers),body:M,failedResponseHandler:h,successfulResponseHandler:(0,c.createJsonResponseHandler)(bb),abortSignal:a.abortSignal,fetch:this.config.fetch});if(V.error)throw new f.APICallError({message:V.error.message,url:S,requestBodyValues:M,statusCode:400,responseHeaders:U,responseBody:W,isRetryable:!1});if(null==V.output){let a=null==(e=V.incomplete_details)?void 0:e.reason;throw new f.APICallError({message:a?`Responses API returned no output (${a})`:"Responses API returned no output",url:S,requestBodyValues:M,statusCode:500,responseHeaders:U,responseBody:W,isRetryable:!1})}let X=[],Y=[],Z=null!=(i=null==(g=a.tools)?void 0:g.filter(a=>"function"===a.type))?i:[],$=!1,_=[];for(let b of V.output)switch(b.type){case"reasoning":for(let a of(0===b.summary.length&&b.summary.push({type:"summary_text",text:""}),b.summary))X.push({type:"reasoning",text:a.text,providerMetadata:{[Q]:{itemId:b.id,reasoningEncryptedContent:null!=(j=b.encrypted_content)?j:null}}});break;case"image_generation_call":X.push({type:"tool-call",toolCallId:b.id,toolName:P.toCustomToolName("image_generation"),input:"{}",providerExecuted:!0}),X.push({type:"tool-result",toolCallId:b.id,toolName:P.toCustomToolName("image_generation"),result:{result:b.result}});break;case"tool_search_call":{let a=null!=(k=b.call_id)?k:b.id,c="server"===b.execution;c&&_.push(a),X.push({type:"tool-call",toolCallId:a,toolName:P.toCustomToolName("tool_search"),input:JSON.stringify({arguments:b.arguments,call_id:b.call_id}),...c?{providerExecuted:!0}:{},providerMetadata:{[Q]:{itemId:b.id}}});break}case"tool_search_output":{let a=null!=(m=null!=(l=b.call_id)?l:_.shift())?m:b.id;X.push({type:"tool-result",toolCallId:a,toolName:P.toCustomToolName("tool_search"),result:{tools:b.tools},providerMetadata:{[Q]:{itemId:b.id}}});break}case"local_shell_call":X.push({type:"tool-call",toolCallId:b.call_id,toolName:P.toCustomToolName("local_shell"),input:JSON.stringify({action:b.action}),providerMetadata:{[Q]:{itemId:b.id}}});break;case"shell_call":X.push({type:"tool-call",toolCallId:b.call_id,toolName:P.toCustomToolName("shell"),input:JSON.stringify({action:{commands:b.action.commands}}),...R&&{providerExecuted:!0},providerMetadata:{[Q]:{itemId:b.id}}});break;case"shell_call_output":X.push({type:"tool-result",toolCallId:b.call_id,toolName:P.toCustomToolName("shell"),result:{output:b.output.map(a=>({stdout:a.stdout,stderr:a.stderr,outcome:"exit"===a.outcome.type?{type:"exit",exitCode:a.outcome.exit_code}:{type:"timeout"}}))}});break;case"message":for(let d of b.content){(null==(o=null==(n=a.providerOptions)?void 0:n[Q])?void 0:o.logprobs)&&d.logprobs&&Y.push(d.logprobs);let e={itemId:b.id,...null!=b.phase&&{phase:b.phase},...d.annotations.length>0&&{annotations:d.annotations}};for(let a of(X.push({type:"text",text:d.text,providerMetadata:{[Q]:e}}),d.annotations))"url_citation"===a.type?X.push({type:"source",sourceType:"url",id:null!=(r=null==(q=(p=this.config).generateId)?void 0:q.call(p))?r:(0,c.generateId)(),url:a.url,title:a.title}):"file_citation"===a.type?X.push({type:"source",sourceType:"document",id:null!=(u=null==(t=(s=this.config).generateId)?void 0:t.call(s))?u:(0,c.generateId)(),mediaType:"text/plain",title:a.filename,filename:a.filename,providerMetadata:{[Q]:{type:a.type,fileId:a.file_id,index:a.index}}}):"container_file_citation"===a.type?X.push({type:"source",sourceType:"document",id:null!=(x=null==(w=(v=this.config).generateId)?void 0:w.call(v))?x:(0,c.generateId)(),mediaType:"text/plain",title:a.filename,filename:a.filename,providerMetadata:{[Q]:{type:a.type,fileId:a.file_id,containerId:a.container_id}}}):"file_path"===a.type&&X.push({type:"source",sourceType:"document",id:null!=(A=null==(z=(y=this.config).generateId)?void 0:z.call(y))?A:(0,c.generateId)(),mediaType:"application/octet-stream",title:a.file_id,filename:a.file_id,providerMetadata:{[Q]:{type:a.type,fileId:a.file_id,index:a.index}}})}break;case"function_call":{$=!0;let a=await bg({toolCall:{toolCallId:b.call_id,toolName:b.name,input:b.arguments},tools:Z,providerOptionsName:Q,itemId:b.id});if(null!=a){X.push(...a);break}X.push({type:"tool-call",toolCallId:b.call_id,toolName:b.name,input:b.arguments,providerMetadata:{[Q]:{itemId:b.id,...null!=b.namespace&&{namespace:b.namespace},...null!=b.caller&&{caller:"program"===b.caller.type?{type:"program",callerId:b.caller.caller_id}:b.caller}}}});break}case"program":X.push({type:"tool-call",toolCallId:b.call_id,toolName:P.toCustomToolName("programmatic_tool_calling"),input:JSON.stringify({code:b.code,fingerprint:b.fingerprint}),providerExecuted:!0,providerMetadata:{[Q]:{itemId:b.id}}});break;case"program_output":X.push({type:"tool-result",toolCallId:b.call_id,toolName:P.toCustomToolName("programmatic_tool_calling"),result:{result:b.result,status:b.status},providerMetadata:{[Q]:{itemId:b.id}}});break;case"custom_tool_call":{$=!0;let a=P.toCustomToolName(b.name);X.push({type:"tool-call",toolCallId:b.call_id,toolName:a,input:JSON.stringify(b.input),providerMetadata:{[Q]:{itemId:b.id}}});break}case"web_search_call":X.push({type:"tool-call",toolCallId:b.id,toolName:P.toCustomToolName(null!=O?O:"web_search"),input:JSON.stringify({}),providerExecuted:!0}),X.push({type:"tool-result",toolCallId:b.id,toolName:P.toCustomToolName(null!=O?O:"web_search"),result:bB(b.action)});break;case"mcp_call":{let a=null!=b.approval_request_id&&null!=(B=T[b.approval_request_id])?B:b.id,c=`mcp.${b.name}`;X.push({type:"tool-call",toolCallId:a,toolName:c,input:b.arguments,providerExecuted:!0,dynamic:!0}),X.push({type:"tool-result",toolCallId:a,toolName:c,result:{type:"call",serverLabel:b.server_label,name:b.name,arguments:b.arguments,...null!=b.output?{output:b.output}:{},...null!=b.error?{error:b.error}:{}},providerMetadata:{[Q]:{itemId:b.id}}});break}case"mcp_list_tools":break;case"mcp_approval_request":{let a=null!=(C=b.approval_request_id)?C:b.id,d=null!=(F=null==(E=(D=this.config).generateId)?void 0:E.call(D))?F:(0,c.generateId)(),e=`mcp.${b.name}`;X.push({type:"tool-call",toolCallId:d,toolName:e,input:b.arguments,providerExecuted:!0,dynamic:!0}),X.push({type:"tool-approval-request",approvalId:a,toolCallId:d});break}case"computer_call":{if(null==b.call_id){X.push({type:"tool-call",toolCallId:b.id,toolName:P.toCustomToolName("computer_use"),input:"",providerExecuted:!0}),X.push({type:"tool-result",toolCallId:b.id,toolName:P.toCustomToolName("computer_use"),result:{type:"computer_use_tool_result",status:b.status}});break}$=!0;let a=P.toCustomToolName("computer");X.push({type:"tool-call",toolCallId:b.call_id,toolName:a,input:JSON.stringify(bu(b)),providerMetadata:{[Q]:{itemId:b.id}}});break}case"file_search_call":X.push({type:"tool-call",toolCallId:b.id,toolName:P.toCustomToolName("file_search"),input:"{}",providerExecuted:!0}),X.push({type:"tool-result",toolCallId:b.id,toolName:P.toCustomToolName("file_search"),result:{queries:b.queries,results:null!=(H=null==(G=b.results)?void 0:G.map(a=>({attributes:a.attributes,fileId:a.file_id,filename:a.filename,score:a.score,text:a.text})))?H:null}});break;case"code_interpreter_call":X.push({type:"tool-call",toolCallId:b.id,toolName:P.toCustomToolName("code_interpreter"),input:JSON.stringify({code:b.code,containerId:b.container_id}),providerExecuted:!0}),X.push({type:"tool-result",toolCallId:b.id,toolName:P.toCustomToolName("code_interpreter"),result:{outputs:b.outputs}});break;case"apply_patch_call":X.push({type:"tool-call",toolCallId:b.call_id,toolName:P.toCustomToolName("apply_patch"),input:JSON.stringify({callId:b.call_id,operation:b.operation}),providerMetadata:{[Q]:{itemId:b.id}}});break;case"compaction":X.push({type:"custom",kind:"openai.compaction",providerMetadata:{[Q]:{type:"compaction",itemId:b.id,encryptedContent:b.encrypted_content}}})}let aa={[Q]:{responseId:V.id,...Y.length>0?{logprobs:Y}:{},..."string"==typeof V.service_tier?{serviceTier:V.service_tier}:{},...(null==(I=V.reasoning)?void 0:I.context)!=null?{reasoningContext:V.reasoning.context}:{}}},ab=V.usage;return{content:X,finishReason:{unified:aX({finishReason:null==(J=V.incomplete_details)?void 0:J.reason,hasFunctionCall:$}),raw:null!=(L=null==(K=V.incomplete_details)?void 0:K.reason)?L:void 0},usage:aW(ab),request:{body:M},response:{id:V.id,timestamp:new Date(1e3*V.created_at),modelId:V.model,headers:U,body:W},providerMetadata:aa,warnings:N}}async doStream(a){var b,d,e,g;let i,l,m,n,{args:o,warnings:p,webSearchToolName:q,toolNameMapping:r,store:s,providerOptionsName:t,isShellProviderExecuted:u}=await this.getArgs(a),v=this.config.url({path:"/responses",modelId:this.modelId}),{responseHeaders:w,value:x}=await (0,c.postJsonToApi)({url:v,headers:(0,c.combineHeaders)(null==(d=(b=this.config).headers)?void 0:d.call(b),a.headers),body:{...o,stream:!0},failedResponseHandler:h,successfulResponseHandler:(0,c.createEventSourceResponseHandler)(ba),abortSignal:a.abortSignal,fetch:this.config.fetch}),y=await k({stream:x,getError:a=>by(a)||bw(a)&&null!=a.response.error?a:void 0,isOutputChunk:bA,isAcceptedChunk:bz,url:v,requestBodyValues:o,responseHeaders:w}),z=this,A=bs(a.prompt),B=null!=(g=null==(e=a.tools)?void 0:e.filter(a=>"function"===a.type))?g:[],C=new Map,D={unified:"other",raw:void 0},E=[],F=null,G={},H=[],I=!1,J={},K={},L=({itemId:a,outputIndex:b})=>{var c;return null==b?a:null!=(c=K[b])?c:a},M=[],N=!1;return{stream:y.pipeThrough(new TransformStream({start(a){a.enqueue({type:"stream-start",warnings:p})},transform(b,d){var e,g,h,k,p,x,y,O,P,Q,R,S,T,U,V,W,X,Y,Z,$,_,aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,ar,as,at,au,av,aw,ax,ay,az;if(a.includeRawChunks&&d.enqueue({type:"raw",rawValue:b.rawValue}),!b.success){let a,c=null!=(a="object"==typeof(ay=b.rawValue)&&null!=ay?ay:void 0)&&Array.isArray(a.choices)&&"string"!=typeof a.type?function({value:a,cause:b,url:c,requestBodyValues:d,responseHeaders:e}){return new f.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:c,requestBodyValues:d,responseHeaders:e,responseBody:JSON.stringify(a),cause:b,data:a,isRetryable:!1})}({value:b.rawValue,cause:b.error,url:v,requestBodyValues:o,responseHeaders:w}):b.error;N=!0,D={unified:"error",raw:void 0},d.enqueue({type:"error",error:c});return}let aA=b.value;if(bx(aA))if("function_call"===aA.item.type){let a=bf({toolName:aA.item.name,tools:B});G[aA.output_index]={toolName:aA.item.name,toolCallId:aA.item.call_id,suppressInputStreaming:a,bufferedInputDeltas:a?[]:void 0},a||d.enqueue({type:"tool-input-start",id:aA.item.call_id,toolName:aA.item.name})}else if("custom_tool_call"===aA.item.type){let a=r.toCustomToolName(aA.item.name);G[aA.output_index]={toolName:a,toolCallId:aA.item.call_id},d.enqueue({type:"tool-input-start",id:aA.item.call_id,toolName:a})}else if("web_search_call"===aA.item.type)G[aA.output_index]={toolName:r.toCustomToolName(null!=q?q:"web_search"),toolCallId:aA.item.id},d.enqueue({type:"tool-input-start",id:aA.item.id,toolName:r.toCustomToolName(null!=q?q:"web_search"),providerExecuted:!0}),d.enqueue({type:"tool-input-end",id:aA.item.id}),d.enqueue({type:"tool-call",toolCallId:aA.item.id,toolName:r.toCustomToolName(null!=q?q:"web_search"),input:JSON.stringify({}),providerExecuted:!0});else if("computer_call"===aA.item.type){let a=null!=(e=aA.item.call_id)?e:aA.item.id;G[aA.output_index]={toolName:r.toCustomToolName("computer"),toolCallId:a},d.enqueue({type:"tool-input-start",id:a,toolName:r.toCustomToolName("computer")})}else if("code_interpreter_call"===aA.item.type)G[aA.output_index]={toolName:r.toCustomToolName("code_interpreter"),toolCallId:aA.item.id,codeInterpreter:{containerId:aA.item.container_id}},d.enqueue({type:"tool-input-start",id:aA.item.id,toolName:r.toCustomToolName("code_interpreter"),providerExecuted:!0}),d.enqueue({type:"tool-input-delta",id:aA.item.id,delta:`{"containerId":"${aA.item.container_id}","code":"`});else if("file_search_call"===aA.item.type)d.enqueue({type:"tool-call",toolCallId:aA.item.id,toolName:r.toCustomToolName("file_search"),input:"{}",providerExecuted:!0});else if("image_generation_call"===aA.item.type)d.enqueue({type:"tool-call",toolCallId:aA.item.id,toolName:r.toCustomToolName("image_generation"),input:"{}",providerExecuted:!0});else if("tool_search_call"===aA.item.type){let a=aA.item.id,b=r.toCustomToolName("tool_search"),c="server"===aA.item.execution;G[aA.output_index]={toolName:b,toolCallId:a,toolSearchExecution:null!=(g=aA.item.execution)?g:"server"},c&&d.enqueue({type:"tool-input-start",id:a,toolName:b,providerExecuted:!0})}else if("tool_search_output"===aA.item.type);else if("mcp_call"===aA.item.type||"mcp_list_tools"===aA.item.type||"mcp_approval_request"===aA.item.type);else if("apply_patch_call"===aA.item.type){let{call_id:a,operation:b}=aA.item;if(G[aA.output_index]={toolName:r.toCustomToolName("apply_patch"),toolCallId:a,applyPatch:{hasDiff:"delete_file"===b.type,endEmitted:"delete_file"===b.type}},d.enqueue({type:"tool-input-start",id:a,toolName:r.toCustomToolName("apply_patch")}),"delete_file"===b.type){let c=JSON.stringify({callId:a,operation:b});d.enqueue({type:"tool-input-delta",id:a,delta:c}),d.enqueue({type:"tool-input-end",id:a})}else d.enqueue({type:"tool-input-delta",id:a,delta:`{"callId":"${bC(a)}","operation":{"type":"${bC(b.type)}","path":"${bC(b.path)}","diff":"`})}else"shell_call"===aA.item.type?G[aA.output_index]={toolName:r.toCustomToolName("shell"),toolCallId:aA.item.call_id}:"shell_call_output"===aA.item.type||("message"===aA.item.type?(K[aA.output_index]=aA.item.id,H.splice(0,H.length),i=null!=(h=aA.item.phase)?h:void 0,d.enqueue({type:"text-start",id:aA.item.id,providerMetadata:{[t]:{itemId:aA.item.id,...null!=aA.item.phase&&{phase:aA.item.phase}}}})):bx(aA)&&"reasoning"===aA.item.type&&(K[aA.output_index]=aA.item.id,J[aA.item.id]={encryptedContent:aA.item.encrypted_content,summaryParts:{0:"active"}},d.enqueue({type:"reasoning-start",id:`${aA.item.id}:0`,providerMetadata:{[t]:{itemId:aA.item.id,reasoningEncryptedContent:null!=(k=aA.item.encrypted_content)?k:null}}})));else if("response.output_item.done"===aA.type)if("message"===aA.item.type){let a=L({itemId:aA.item.id,outputIndex:aA.output_index}),b=null!=(p=aA.item.phase)?p:i;i=void 0,d.enqueue({type:"text-end",id:a,providerMetadata:{[t]:{itemId:a,...null!=b&&{phase:b},...H.length>0&&{annotations:H}}}}),K[aA.output_index]=void 0}else if("function_call"===aA.item.type){let a=aA.item,b=G[aA.output_index];G[aA.output_index]=void 0,I=!0;let c=null!=(x=null==b?void 0:b.suppressInputStreaming)?x:bf({toolName:a.name,tools:B}),e=()=>{var e;if(c){d.enqueue({type:"tool-input-start",id:a.call_id,toolName:a.name});let c=null!=(e=null==b?void 0:b.bufferedInputDeltas)?e:[];if(c.length>0)for(let b of c)d.enqueue({type:"tool-input-delta",id:a.call_id,delta:b});else a.arguments.length>0&&d.enqueue({type:"tool-input-delta",id:a.call_id,delta:a.arguments})}d.enqueue({type:"tool-input-end",id:a.call_id,...null!=a.namespace&&{providerMetadata:{[t]:{namespace:a.namespace}}}}),d.enqueue({type:"tool-call",toolCallId:a.call_id,toolName:a.name,input:a.arguments,providerMetadata:{[t]:{itemId:a.id,...null!=a.namespace&&{namespace:a.namespace},...null!=a.caller&&{caller:"program"===a.caller.type?{type:"program",callerId:a.caller.caller_id}:a.caller}}}})};return c?bg({toolCall:{toolCallId:a.call_id,toolName:a.name,input:a.arguments},tools:B,providerOptionsName:t,itemId:a.id}).then(a=>{if(null==a)return void e();for(let b of a)d.enqueue({type:"tool-input-start",id:b.toolCallId,toolName:b.toolName}),d.enqueue({type:"tool-input-delta",id:b.toolCallId,delta:b.input}),d.enqueue({type:"tool-input-end",id:b.toolCallId}),d.enqueue(b)}):void e()}else if("program"===aA.item.type)d.enqueue({type:"tool-call",toolCallId:aA.item.call_id,toolName:r.toCustomToolName("programmatic_tool_calling"),input:JSON.stringify({code:aA.item.code,fingerprint:aA.item.fingerprint}),providerExecuted:!0,providerMetadata:{[t]:{itemId:aA.item.id}}});else if("program_output"===aA.item.type)d.enqueue({type:"tool-result",toolCallId:aA.item.call_id,toolName:r.toCustomToolName("programmatic_tool_calling"),result:{result:aA.item.result,status:aA.item.status},providerMetadata:{[t]:{itemId:aA.item.id}}});else if("custom_tool_call"===aA.item.type){G[aA.output_index]=void 0,I=!0;let a=r.toCustomToolName(aA.item.name);d.enqueue({type:"tool-input-end",id:aA.item.call_id}),d.enqueue({type:"tool-call",toolCallId:aA.item.call_id,toolName:a,input:JSON.stringify(aA.item.input),providerMetadata:{[t]:{itemId:aA.item.id}}})}else if("web_search_call"===aA.item.type)G[aA.output_index]=void 0,d.enqueue({type:"tool-result",toolCallId:aA.item.id,toolName:r.toCustomToolName(null!=q?q:"web_search"),result:bB(aA.item.action)});else if("computer_call"===aA.item.type){if(G[aA.output_index]=void 0,null==aA.item.call_id){d.enqueue({type:"tool-input-end",id:aA.item.id}),d.enqueue({type:"tool-call",toolCallId:aA.item.id,toolName:r.toCustomToolName("computer_use"),input:"",providerExecuted:!0}),d.enqueue({type:"tool-result",toolCallId:aA.item.id,toolName:r.toCustomToolName("computer_use"),result:{type:"computer_use_tool_result",status:aA.item.status}});return}I=!0;let a=r.toCustomToolName("computer"),b=JSON.stringify(bu(aA.item));d.enqueue({type:"tool-input-delta",id:aA.item.call_id,delta:b}),d.enqueue({type:"tool-input-end",id:aA.item.call_id}),d.enqueue({type:"tool-call",toolCallId:aA.item.call_id,toolName:a,input:b,providerMetadata:{[t]:{itemId:aA.item.id}}})}else if("file_search_call"===aA.item.type)G[aA.output_index]=void 0,d.enqueue({type:"tool-result",toolCallId:aA.item.id,toolName:r.toCustomToolName("file_search"),result:{queries:aA.item.queries,results:null!=(O=null==(y=aA.item.results)?void 0:y.map(a=>({attributes:a.attributes,fileId:a.file_id,filename:a.filename,score:a.score,text:a.text})))?O:null}});else if("code_interpreter_call"===aA.item.type)G[aA.output_index]=void 0,d.enqueue({type:"tool-result",toolCallId:aA.item.id,toolName:r.toCustomToolName("code_interpreter"),result:{outputs:aA.item.outputs}});else if("image_generation_call"===aA.item.type)d.enqueue({type:"tool-result",toolCallId:aA.item.id,toolName:r.toCustomToolName("image_generation"),result:{result:aA.item.result}});else if("tool_search_call"===aA.item.type){let a=G[aA.output_index],b="server"===aA.item.execution;if(null!=a){let c=b?a.toolCallId:null!=(P=aA.item.call_id)?P:aA.item.id;b?M.push(c):d.enqueue({type:"tool-input-start",id:c,toolName:a.toolName}),d.enqueue({type:"tool-input-end",id:c}),d.enqueue({type:"tool-call",toolCallId:c,toolName:a.toolName,input:JSON.stringify({arguments:aA.item.arguments,call_id:b?null:c}),...b?{providerExecuted:!0}:{},providerMetadata:{[t]:{itemId:aA.item.id}}})}G[aA.output_index]=void 0}else if("tool_search_output"===aA.item.type){let a=null!=(R=null!=(Q=aA.item.call_id)?Q:M.shift())?R:aA.item.id;d.enqueue({type:"tool-result",toolCallId:a,toolName:r.toCustomToolName("tool_search"),result:{tools:aA.item.tools},providerMetadata:{[t]:{itemId:aA.item.id}}})}else if("mcp_call"===aA.item.type){G[aA.output_index]=void 0;let a=null!=(S=aA.item.approval_request_id)?S:void 0,b=null!=a&&null!=(U=null!=(T=C.get(a))?T:A[a])?U:aA.item.id,c=`mcp.${aA.item.name}`;d.enqueue({type:"tool-call",toolCallId:b,toolName:c,input:aA.item.arguments,providerExecuted:!0,dynamic:!0}),d.enqueue({type:"tool-result",toolCallId:b,toolName:c,result:{type:"call",serverLabel:aA.item.server_label,name:aA.item.name,arguments:aA.item.arguments,...null!=aA.item.output?{output:aA.item.output}:{},...null!=aA.item.error?{error:aA.item.error}:{}},providerMetadata:{[t]:{itemId:aA.item.id}}})}else if("mcp_list_tools"===aA.item.type)G[aA.output_index]=void 0;else if("apply_patch_call"===aA.item.type){let a=G[aA.output_index];(null==a?void 0:a.applyPatch)&&!a.applyPatch.endEmitted&&"delete_file"!==aA.item.operation.type&&(a.applyPatch.hasDiff||d.enqueue({type:"tool-input-delta",id:a.toolCallId,delta:bC(aA.item.operation.diff)}),d.enqueue({type:"tool-input-delta",id:a.toolCallId,delta:'"}}'}),d.enqueue({type:"tool-input-end",id:a.toolCallId}),a.applyPatch.endEmitted=!0),a&&"completed"===aA.item.status&&d.enqueue({type:"tool-call",toolCallId:a.toolCallId,toolName:r.toCustomToolName("apply_patch"),input:JSON.stringify({callId:aA.item.call_id,operation:aA.item.operation}),providerMetadata:{[t]:{itemId:aA.item.id}}}),G[aA.output_index]=void 0}else if("mcp_approval_request"===aA.item.type){G[aA.output_index]=void 0;let a=null!=(X=null==(W=(V=z.config).generateId)?void 0:W.call(V))?X:(0,c.generateId)(),b=null!=(Y=aA.item.approval_request_id)?Y:aA.item.id;C.set(b,a);let e=`mcp.${aA.item.name}`;d.enqueue({type:"tool-call",toolCallId:a,toolName:e,input:aA.item.arguments,providerExecuted:!0,dynamic:!0}),d.enqueue({type:"tool-approval-request",approvalId:b,toolCallId:a})}else if("local_shell_call"===aA.item.type)G[aA.output_index]=void 0,d.enqueue({type:"tool-call",toolCallId:aA.item.call_id,toolName:r.toCustomToolName("local_shell"),input:JSON.stringify({action:{type:"exec",command:aA.item.action.command,timeoutMs:aA.item.action.timeout_ms,user:aA.item.action.user,workingDirectory:aA.item.action.working_directory,env:aA.item.action.env}}),providerMetadata:{[t]:{itemId:aA.item.id}}});else if("shell_call"===aA.item.type)G[aA.output_index]=void 0,d.enqueue({type:"tool-call",toolCallId:aA.item.call_id,toolName:r.toCustomToolName("shell"),input:JSON.stringify({action:{commands:aA.item.action.commands}}),...u&&{providerExecuted:!0},providerMetadata:{[t]:{itemId:aA.item.id}}});else if("shell_call_output"===aA.item.type)d.enqueue({type:"tool-result",toolCallId:aA.item.call_id,toolName:r.toCustomToolName("shell"),result:{output:aA.item.output.map(a=>({stdout:a.stdout,stderr:a.stderr,outcome:"exit"===a.outcome.type?{type:"exit",exitCode:a.outcome.exit_code}:{type:"timeout"}}))}});else if("reasoning"===aA.item.type){let a=L({itemId:aA.item.id,outputIndex:aA.output_index}),b=J[a];if(null!=b){for(let c of Object.entries(b.summaryParts).filter(([a,b])=>"active"===b||"can-conclude"===b).map(([a])=>a))d.enqueue({type:"reasoning-end",id:`${a}:${c}`,providerMetadata:{[t]:{itemId:a,reasoningEncryptedContent:null!=(Z=aA.item.encrypted_content)?Z:null}}});delete J[a]}K[aA.output_index]=void 0}else"compaction"===aA.item.type&&d.enqueue({type:"custom",kind:"openai.compaction",providerMetadata:{[t]:{type:"compaction",itemId:aA.item.id,encryptedContent:aA.item.encrypted_content}}});else if("response.function_call_arguments.delta"===aA.type){let a=G[aA.output_index];null!=a&&(a.suppressInputStreaming?null==($=a.bufferedInputDeltas)||$.push(aA.delta):d.enqueue({type:"tool-input-delta",id:a.toolCallId,delta:aA.delta}))}else if("response.custom_tool_call_input.delta"===aA.type){let a=G[aA.output_index];null!=a&&d.enqueue({type:"tool-input-delta",id:a.toolCallId,delta:aA.delta})}else if("response.apply_patch_call_operation_diff.delta"===aA.type){let a=G[aA.output_index];(null==a?void 0:a.applyPatch)&&(d.enqueue({type:"tool-input-delta",id:a.toolCallId,delta:bC(aA.delta)}),a.applyPatch.hasDiff=!0)}else if("response.apply_patch_call_operation_diff.done"===aA.type){let a=G[aA.output_index];(null==a?void 0:a.applyPatch)&&!a.applyPatch.endEmitted&&(a.applyPatch.hasDiff||(d.enqueue({type:"tool-input-delta",id:a.toolCallId,delta:bC(aA.diff)}),a.applyPatch.hasDiff=!0),d.enqueue({type:"tool-input-delta",id:a.toolCallId,delta:'"}}'}),d.enqueue({type:"tool-input-end",id:a.toolCallId}),a.applyPatch.endEmitted=!0)}else if("response.image_generation_call.partial_image"===aA.type)d.enqueue({type:"tool-result",toolCallId:aA.item_id,toolName:r.toCustomToolName("image_generation"),result:{result:aA.partial_image_b64},preliminary:!0});else if("response.code_interpreter_call_code.delta"===aA.type){let a=G[aA.output_index];null!=a&&d.enqueue({type:"tool-input-delta",id:a.toolCallId,delta:bC(aA.delta)})}else if("response.code_interpreter_call_code.done"===aA.type){let a=G[aA.output_index];null!=a&&(d.enqueue({type:"tool-input-delta",id:a.toolCallId,delta:'"}'}),d.enqueue({type:"tool-input-end",id:a.toolCallId}),d.enqueue({type:"tool-call",toolCallId:a.toolCallId,toolName:r.toCustomToolName("code_interpreter"),input:JSON.stringify({code:aA.code,containerId:a.codeInterpreter.containerId}),providerExecuted:!0}))}else if("response.created"===aA.type)F=aA.response.id,d.enqueue({type:"response-metadata",id:aA.response.id,timestamp:new Date(1e3*aA.response.created_at),modelId:aA.response.model});else if("response.output_text.delta"===aA.type){let b=L({itemId:aA.item_id,outputIndex:aA.output_index});d.enqueue({type:"text-delta",id:b,delta:aA.delta}),(null==(aa=null==(_=a.providerOptions)?void 0:_[t])?void 0:aa.logprobs)&&aA.logprobs&&E.push(aA.logprobs)}else if("response.reasoning_summary_part.added"===aA.type){let a=L({itemId:aA.item_id,outputIndex:aA.output_index});if(aA.summary_index>0){let b=J[a];if(null!=b){for(let c of(b.summaryParts[aA.summary_index]="active",Object.keys(b.summaryParts)))"can-conclude"===b.summaryParts[c]&&(d.enqueue({type:"reasoning-end",id:`${a}:${c}`,providerMetadata:{[t]:{itemId:a}}}),b.summaryParts[c]="concluded");d.enqueue({type:"reasoning-start",id:`${a}:${aA.summary_index}`,providerMetadata:{[t]:{itemId:a,reasoningEncryptedContent:null!=(ab=b.encryptedContent)?ab:null}}})}}}else if("response.reasoning_summary_text.delta"===aA.type){let a=L({itemId:aA.item_id,outputIndex:aA.output_index});d.enqueue({type:"reasoning-delta",id:`${a}:${aA.summary_index}`,delta:aA.delta,providerMetadata:{[t]:{itemId:a}}})}else if("response.reasoning_summary_part.done"===aA.type){let a=L({itemId:aA.item_id,outputIndex:aA.output_index}),b=J[a];null!=b&&(s?(d.enqueue({type:"reasoning-end",id:`${a}:${aA.summary_index}`,providerMetadata:{[t]:{itemId:a}}}),b.summaryParts[aA.summary_index]="concluded"):b.summaryParts[aA.summary_index]="can-conclude")}else{if("response.completed"===(az=aA).type||"response.incomplete"===az.type)N||(D={unified:aX({finishReason:null==(ac=aA.response.incomplete_details)?void 0:ac.reason,hasFunctionCall:I}),raw:null!=(ae=null==(ad=aA.response.incomplete_details)?void 0:ad.reason)?ae:void 0}),n=null!=(af=aA.response.usage)?af:void 0,"string"==typeof aA.response.service_tier&&(l=aA.response.service_tier),(null==(ag=aA.response.reasoning)?void 0:ag.context)!=null&&(m=aA.response.reasoning.context);else if(bw(aA)){let a=null==(ah=aA.response.incomplete_details)?void 0:ah.reason;if(D={unified:a?aX({finishReason:a,hasFunctionCall:I}):"error",raw:null!=a?a:"error"},n=null!=(ai=aA.response.usage)?ai:void 0,(null==(aj=aA.response.reasoning)?void 0:aj.context)!=null&&(m=aA.response.reasoning.context),!N&&null!=aA.response.error){N=!0;let a={type:"response.failed",sequence_number:aA.sequence_number,response:{error:aA.response.error,incomplete_details:aA.response.incomplete_details,service_tier:aA.response.service_tier}};d.enqueue({type:"error",error:null!=(ak=j(a))?ak:a})}}else"response.output_text.annotation.added"===aA.type?(H.push(aA.annotation),"url_citation"===aA.annotation.type?d.enqueue({type:"source",sourceType:"url",id:null!=(an=null==(am=(al=z.config).generateId)?void 0:am.call(al))?an:(0,c.generateId)(),url:aA.annotation.url,title:aA.annotation.title}):"file_citation"===aA.annotation.type?d.enqueue({type:"source",sourceType:"document",id:null!=(aq=null==(ap=(ao=z.config).generateId)?void 0:ap.call(ao))?aq:(0,c.generateId)(),mediaType:"text/plain",title:aA.annotation.filename,filename:aA.annotation.filename,providerMetadata:{[t]:{type:aA.annotation.type,fileId:aA.annotation.file_id,index:aA.annotation.index}}}):"container_file_citation"===aA.annotation.type?d.enqueue({type:"source",sourceType:"document",id:null!=(at=null==(as=(ar=z.config).generateId)?void 0:as.call(ar))?at:(0,c.generateId)(),mediaType:"text/plain",title:aA.annotation.filename,filename:aA.annotation.filename,providerMetadata:{[t]:{type:aA.annotation.type,fileId:aA.annotation.file_id,containerId:aA.annotation.container_id}}}):"file_path"===aA.annotation.type&&d.enqueue({type:"source",sourceType:"document",id:null!=(aw=null==(av=(au=z.config).generateId)?void 0:av.call(au))?aw:(0,c.generateId)(),mediaType:"application/octet-stream",title:aA.annotation.file_id,filename:aA.annotation.file_id,providerMetadata:{[t]:{type:aA.annotation.type,fileId:aA.annotation.file_id,index:aA.annotation.index}}})):by(aA)&&(N=!0,D={unified:"error",raw:"error"},d.enqueue({type:"error",error:null!=(ax=j(aA))?ax:aA}))}},flush(a){var b;for(let c of Object.values(G))if(null==c?void 0:c.suppressInputStreaming)for(let d of(a.enqueue({type:"tool-input-start",id:c.toolCallId,toolName:c.toolName}),null!=(b=c.bufferedInputDeltas)?b:[]))a.enqueue({type:"tool-input-delta",id:c.toolCallId,delta:d});let c={[t]:{responseId:F,...E.length>0?{logprobs:E}:{},...void 0!==l?{serviceTier:l}:{},...void 0!==m?{reasoningContext:m}:{}}};a.enqueue({type:"finish",finishReason:D,usage:aW(n),providerMetadata:c})}})),request:{body:o},response:{headers:w}}}};function bw(a){return"response.failed"===a.type}function bx(a){return"response.output_item.added"===a.type}function by(a){return"error"===a.type}function bz(a){return"response.in_progress"===a.type}function bA(a){return"response.created"!==a.type&&"response.in_progress"!==a.type&&"response.failed"!==a.type&&"error"!==a.type&&"unknown_chunk"!==a.type}function bB(a){var b;if(null==a)return{};switch(a.type){case"search":return{action:{type:"search",query:null!=(b=a.query)?b:void 0,...null!=a.queries&&{queries:a.queries}},...null!=a.sources&&{sources:a.sources}};case"open_page":return{action:{type:"openPage",url:a.url}};case"find_in_page":return{action:{type:"findInPage",url:a.url,pattern:a.pattern}}}}function bC(a){return JSON.stringify(a).slice(1,-1)}var bD="/v1/responses",bE=(0,c.lazySchema)(()=>(0,c.zodSchema)(e.z.object({inputFileExpiresAfter:e.z.number().int().min(3600).max(2592e3).optional()}))),bF=(0,c.lazySchema)(()=>(0,c.zodSchema)(e.z.object({id:e.z.string(),status:e.z.string(),output_file_id:e.z.string().nullish(),error_file_id:e.z.string().nullish(),created_at:e.z.number().nullish(),expires_at:e.z.number().nullish(),request_counts:e.z.object({total:e.z.number().nullish(),completed:e.z.number().nullish(),failed:e.z.number().nullish()}).nullish(),errors:e.z.object({data:e.z.array(e.z.object({code:e.z.string().nullish(),message:e.z.string().nullish()})).nullish()}).nullish()}))),bG=(0,c.lazySchema)(()=>(0,c.zodSchema)(e.z.object({custom_id:e.z.string(),response:e.z.object({status_code:e.z.number(),request_id:e.z.string().nullish(),body:e.z.unknown()}).nullish(),error:e.z.object({code:e.z.string(),message:e.z.string()}).nullish()}))),bH=class{constructor(a){this.options=a}async startBatch(a){var b,d,e,f,g,i;let j=[],k=null==a.webhookUrl?[]:[{warning:{type:"unsupported",feature:"webhookUrl",details:"The OpenAI Batch API does not support per-batch webhook URLs."}}],l=await this.parseBatchProviderOptions(a.providerOptions),m=null!=(b=null==l?void 0:l.inputFileExpiresAfter)?b:172800;for(let b of a.requests){let a=await this.options.prepareRequest(b);for(let c of(j.push(JSON.stringify({custom_id:b.id,method:"POST",url:bD,body:a.body}),"\n"),a.warnings))k.push({requestId:b.id,warning:c});for(let a of null!=(d=b.options.tools)?d:[])"provider"!==a.type||bI.has(a.id)||k.push({requestId:b.id,warning:{type:"unsupported",feature:`batch result conversion for tool "${a.name}"`,details:"OpenAI may return output for this tool that AI SDK text batches cannot currently convert."}})}let n="batch.jsonl",o=new Blob(j,{type:"application/jsonl"});j.length=0;let p=new FormData;p.append("file",o,n),p.append("purpose","batch"),p.append("expires_after[anchor]","created_at"),p.append("expires_after[seconds]",String(m));let{value:q}=await (0,c.postToApi)({url:this.getUrl("/files"),headers:(0,c.combineHeaders)(null==(f=(e=this.options.config).headers)?void 0:f.call(e),a.headers),body:{content:p,values:{purpose:"batch","expires_after[anchor]":"created_at","expires_after[seconds]":String(m),file:{name:n,type:o.type,size:o.size}}},failedResponseHandler:h,successfulResponseHandler:(0,c.createJsonResponseHandler)(I),abortSignal:a.abortSignal,fetch:this.options.config.fetch}),{value:r}=await (0,c.postJsonToApi)({url:this.getUrl("/batches"),headers:(0,c.combineHeaders)(null==(i=(g=this.options.config).headers)?void 0:i.call(g),a.headers),body:{input_file_id:q.id,endpoint:bD,completion_window:"24h"},failedResponseHandler:h,successfulResponseHandler:(0,c.createJsonResponseHandler)(bF),abortSignal:a.abortSignal,fetch:this.options.config.fetch}),s=bL(q.expires_at);return{batchId:r.id,...bK(r),providerMetadata:{openai:{inputFileId:q.id,...null!=s?{inputFileExpiresAt:s}:{}}},warnings:k}}async parseBatchProviderOptions(a){let b=this.options.config.provider.includes("azure")?"azure":"openai",d=await (0,c.parseProviderOptions)({provider:b,providerOptions:a,schema:bE});return null==d&&"openai"!==b&&(d=await (0,c.parseProviderOptions)({provider:"openai",providerOptions:a,schema:bE})),d}async getBatchStatus(a){return bK(await this.retrieveBatch(a))}async getBatchResults(a){let b=await this.retrieveBatch(a),d=bK(b);if("pending"===d.status)throw new f.InvalidArgumentError({argument:"batchId",message:`OpenAI batch "${a.batchId}" is not complete.`});let e=[b.output_file_id,b.error_file_id].filter(a=>null!=a);if("completed"===d.status&&0===e.length)throw new f.InvalidResponseDataError({data:b,message:`OpenAI batch "${a.batchId}" completed without batch output.`});let g=this.iterateBatchResults({fileIds:e,options:a});return(0,c.convertAsyncIteratorToReadableStream)(g)}async retrieveBatch(a){var b,d;let{value:e}=await (0,c.getFromApi)({url:this.getUrl(`/batches/${encodeURIComponent(a.batchId)}`),headers:(0,c.combineHeaders)(null==(d=(b=this.options.config).headers)?void 0:d.call(b),a.headers),failedResponseHandler:h,successfulResponseHandler:(0,c.createJsonResponseHandler)(bF),abortSignal:a.abortSignal,fetch:this.options.config.fetch,validateUrl:!1});return e}async *iterateBatchResults({fileIds:a,options:b}){var d,e;for(let f of a){let{value:a}=await (0,c.getFromApi)({url:this.getUrl(`/files/${encodeURIComponent(f)}/content`),headers:(0,c.combineHeaders)(null==(e=(d=this.options.config).headers)?void 0:e.call(d),b.headers),failedResponseHandler:h,successfulResponseHandler:(0,c.createJsonLinesResponseHandler)(bG),abortSignal:b.abortSignal,fetch:this.options.config.fetch,validateUrl:!1});for await(let b of a)yield await this.convertResultLine(b)}}async convertResultLine(a){if(null!=a.error){let b={message:a.error.message,code:a.error.code};return"batch_cancelled"===a.error.code?{id:a.custom_id,status:"cancelled",error:b}:"batch_expired"===a.error.code?{id:a.custom_id,status:"expired",error:b}:{id:a.custom_id,status:"failed",error:b}}if(null==a.response)return{id:a.custom_id,status:"failed",error:{message:"OpenAI returned a batch result without a response or error.",code:"invalid_batch_result"}};if(a.response.status_code<200||a.response.status_code>=300)return{id:a.custom_id,status:"failed",error:await bM({body:a.response.body,statusCode:a.response.status_code})};let b=await bN(a.response.body);return b.success?{id:a.custom_id,status:"succeeded",result:b.result}:{id:a.custom_id,status:"failed",error:b.error}}getUrl(a){return this.options.config.url({modelId:this.options.modelId,path:a})}},bI=new Set(["openai.code_interpreter","openai.custom","openai.file_search","openai.web_search","openai.web_search_preview"]),bJ=class a extends bv{static[d.WORKFLOW_SERIALIZE](a){return bv[d.WORKFLOW_SERIALIZE](a)}static[d.WORKFLOW_DESERIALIZE](b){return new a(b.modelId,aV(b.config))}constructor(a,b){super(a,b),this.batch=new bH({modelId:a,config:b,prepareRequest:async a=>{let{args:b,warnings:c}=await this.getArgs(a.options);return{body:b,warnings:c}}})}experimental_doStartBatch(a){return this.batch.startBatch(a)}experimental_doGetBatchStatus(a){return this.batch.getBatchStatus(a)}experimental_doGetBatchResults(a){return this.batch.getBatchResults(a)}};function bK(a){var b,d,e,f;let g,h,i,j=function(a){switch(a){case"completed":return"completed";case"failed":case"expired":case"cancelled":return"failed";default:return"pending"}}(a.status),k=null==(d=null==(b=a.errors)?void 0:b.data)?void 0:d[0],l=(g=null==(f=a.request_counts)?void 0:f.total,h=null==f?void 0:f.completed,i=null==f?void 0:f.failed,(0,c.normalizeBatchRequestCounts)({total:g,pending:null!=g&&null!=h&&null!=i?g-h-i:void 0,completed:h,failed:i})),m=bL(a.created_at),n=bL(a.expires_at);return{status:j,rawStatus:a.status,...null!=l?{requestCounts:l}:{},...null!=k?{error:{message:null!=(e=k.message)?e:"OpenAI batch failed.",...null!=k.code?{code:k.code}:{}}}:{},...null!=m?{createdAt:m}:{},...null!=n?{expiresAt:n}:{}}}function bL(a){if(null==a||!Number.isFinite(a))return;let b=new Date(1e3*a);return Number.isNaN(b.getTime())?void 0:b.toISOString()}async function bM({body:a,statusCode:b}){var d;let e=await (0,c.safeValidateTypes)({value:a,schema:g});return e.success?{message:e.value.error.message,type:null!=(d=e.value.error.type)?d:void 0,code:null!=e.value.error.code?String(e.value.error.code):void 0,statusCode:b}:{message:`OpenAI batch request failed with status code ${b}.`,statusCode:b}}async function bN(a){var b,d,e,f,g,h,i,j;let k=await (0,c.safeValidateTypes)({value:a,schema:bb});if(!k.success)return{success:!1,error:{message:"OpenAI returned an invalid Responses batch result.",code:"invalid_response"}};let l=k.value;if(null!=l.error)return{success:!1,error:{message:l.error.message,type:l.error.type,code:l.error.code}};if(null==l.output){let a=null==(b=l.incomplete_details)?void 0:b.reason;return{success:!1,error:{message:null!=a?`OpenAI Responses returned no output (${a}).`:"OpenAI Responses returned no output.",code:"invalid_response"}}}let m=[],n=[],o=!1;for(let a of l.output)switch(a.type){case"reasoning":for(let b of a.summary.length>0?a.summary:[{type:"summary_text",text:""}])m.push({type:"reasoning",text:b.text,providerMetadata:{openai:{itemId:a.id,reasoningEncryptedContent:null!=(d=a.encrypted_content)?d:null}}});break;case"message":for(let b of a.content)m.push({type:"text",text:b.text}),null!=b.logprobs&&n.push(b.logprobs);break;case"function_call":o=!0,m.push({type:"tool-call",toolCallId:a.call_id,toolName:a.name,input:a.arguments,providerMetadata:{openai:{itemId:a.id,...null!=a.namespace&&{namespace:a.namespace},...null!=a.caller&&{caller:"program"===a.caller.type?{type:"program",callerId:a.caller.caller_id}:a.caller}}}});break;case"custom_tool_call":o=!0,m.push({type:"tool-call",toolCallId:a.call_id,toolName:a.name,input:JSON.stringify(a.input),providerMetadata:{openai:{itemId:a.id}}});break;case"web_search_call":m.push({type:"tool-call",toolCallId:a.id,toolName:"web_search",input:"{}",providerExecuted:!0,dynamic:!0}),m.push({type:"tool-result",toolCallId:a.id,toolName:"web_search",result:bB(a.action),dynamic:!0});break;case"file_search_call":m.push({type:"tool-call",toolCallId:a.id,toolName:"file_search",input:"{}",providerExecuted:!0,dynamic:!0}),m.push({type:"tool-result",toolCallId:a.id,toolName:"file_search",result:{queries:a.queries,results:null!=(f=null==(e=a.results)?void 0:e.map(a=>({attributes:a.attributes,fileId:a.file_id,filename:a.filename,score:a.score,text:a.text})))?f:null},dynamic:!0});break;case"code_interpreter_call":m.push({type:"tool-call",toolCallId:a.id,toolName:"code_interpreter",input:JSON.stringify({code:a.code,containerId:a.container_id}),providerExecuted:!0,dynamic:!0}),m.push({type:"tool-result",toolCallId:a.id,toolName:"code_interpreter",result:{outputs:a.outputs},dynamic:!0});break;default:return{success:!1,error:{message:`OpenAI returned an unsupported "${a.type}" output item in an AI SDK text batch.`,code:"unsupported_content"}}}let p={openai:{responseId:l.id,...n.length>0?{logprobs:n}:{},..."string"==typeof l.service_tier?{serviceTier:l.service_tier}:{},...(null==(g=l.reasoning)?void 0:g.context)!=null?{reasoningContext:l.reasoning.context}:{}}};return{success:!0,result:{content:m,finishReason:{unified:aX({finishReason:null==(h=l.incomplete_details)?void 0:h.reason,hasFunctionCall:o}),raw:null!=(j=null==(i=l.incomplete_details)?void 0:i.reason)?j:void 0},usage:aW(l.usage),response:{id:l.id,timestamp:null!=l.created_at?new Date(1e3*l.created_at):void 0,modelId:l.model},providerMetadata:p,warnings:[]}}}function bO(a,b){var c;let d={type:"realtime",model:b};null!=a.instructions&&(d.instructions=a.instructions),null!=a.outputModalities&&(d.output_modalities=a.outputModalities);let e={};if(null!=a.inputAudioFormat||null!=a.inputAudioTranscription||null!=a.turnDetection){let b={};if(null!=a.inputAudioFormat&&(b.format={type:a.inputAudioFormat.type,...null!=a.inputAudioFormat.rate?{rate:a.inputAudioFormat.rate}:{}}),null!=a.turnDetection)if("disabled"===a.turnDetection.type)b.turn_detection=null;else{let c={type:"server-vad"===a.turnDetection.type?"server_vad":"semantic_vad"};null!=a.turnDetection.threshold&&(c.threshold=a.turnDetection.threshold),null!=a.turnDetection.silenceDurationMs&&(c.silence_duration_ms=a.turnDetection.silenceDurationMs),null!=a.turnDetection.prefixPaddingMs&&(c.prefix_padding_ms=a.turnDetection.prefixPaddingMs),b.turn_detection=c}null!=a.inputAudioTranscription&&(b.transcription={model:null!=(c=a.inputAudioTranscription.model)?c:"gpt-realtime-whisper",...null!=a.inputAudioTranscription.language?{language:a.inputAudioTranscription.language}:{},...null!=a.inputAudioTranscription.prompt?{prompt:a.inputAudioTranscription.prompt}:{}}),e.input=b}if(null!=a.outputAudioFormat||null!=a.voice){let b={};null!=a.outputAudioFormat&&(b.format={type:a.outputAudioFormat.type,...null!=a.outputAudioFormat.rate?{rate:a.outputAudioFormat.rate}:{}}),null!=a.voice&&(b.voice=a.voice),e.output=b}return Object.keys(e).length>0&&(d.audio=e),null!=a.tools&&a.tools.length>0&&(d.tools=a.tools.map(a=>({type:a.type,name:a.name,description:a.description,parameters:a.parameters})),d.tool_choice="auto"),null!=a.providerOptions&&Object.assign(d,a.providerOptions),d}var bP=class{constructor(a,b){this.specificationVersion="v4",this.modelId=a,this.provider=b.provider,this.config=b}async doCreateClientSecret(a){var b;let c=null!=(b=this.config.fetch)?b:fetch,d=`${this.config.baseURL}/realtime/client_secrets`,e=null!=a.sessionConfig?bO(a.sessionConfig,this.modelId):{type:"realtime",model:this.modelId},f=await c(d,{method:"POST",headers:{...this.config.headers(),"Content-Type":"application/json"},body:JSON.stringify({session:e,...null!=a.expiresAfterSeconds?{expires_after:{anchor:"created_at",seconds:a.expiresAfterSeconds}}:{}})});if(!f.ok){let a=await f.text();throw Error(`OpenAI realtime client secret request failed: ${f.status} ${a}`)}let g=await f.json();return{token:g.value,url:`wss://${new URL(this.config.baseURL).host}/v1/realtime?model=${encodeURIComponent(this.modelId)}`,expiresAt:g.expires_at}}getWebSocketConfig(a){return{url:a.url,protocols:["realtime",`openai-insecure-api-key.${a.token}`]}}parseServerEvent(a){return function(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t;let u=a.type;switch(u){case"session.created":return{type:"session-created",sessionId:null==(b=a.session)?void 0:b.id,raw:a};case"session.updated":return{type:"session-updated",raw:a};case"input_audio_buffer.speech_started":return{type:"speech-started",itemId:a.item_id,raw:a};case"input_audio_buffer.speech_stopped":return{type:"speech-stopped",itemId:a.item_id,raw:a};case"input_audio_buffer.committed":return{type:"audio-committed",itemId:a.item_id,previousItemId:a.previous_item_id,raw:a};case"conversation.item.added":return{type:"conversation-item-added",itemId:null!=(d=null==(c=a.item)?void 0:c.id)?d:a.item_id,item:a.item,raw:a};case"conversation.item.input_audio_transcription.completed":return{type:"input-transcription-completed",itemId:a.item_id,transcript:null!=(e=a.transcript)?e:"",raw:a};case"response.created":return{type:"response-created",responseId:null!=(g=null==(f=a.response)?void 0:f.id)?g:a.response_id,raw:a};case"response.done":return{type:"response-done",responseId:null!=(i=null==(h=a.response)?void 0:h.id)?i:a.response_id,status:null!=(k=null==(j=a.response)?void 0:j.status)?k:"completed",raw:a};case"response.output_item.added":return{type:"output-item-added",responseId:a.response_id,itemId:null!=(m=null==(l=a.item)?void 0:l.id)?m:a.item_id,raw:a};case"response.output_item.done":return{type:"output-item-done",responseId:a.response_id,itemId:null!=(o=null==(n=a.item)?void 0:n.id)?o:a.item_id,raw:a};case"response.content_part.added":return{type:"content-part-added",responseId:a.response_id,itemId:a.item_id,raw:a};case"response.content_part.done":return{type:"content-part-done",responseId:a.response_id,itemId:a.item_id,raw:a};case"response.output_audio.delta":return{type:"audio-delta",responseId:a.response_id,itemId:a.item_id,delta:a.delta,raw:a};case"response.output_audio.done":return{type:"audio-done",responseId:a.response_id,itemId:a.item_id,raw:a};case"response.output_audio_transcript.delta":return{type:"audio-transcript-delta",responseId:a.response_id,itemId:a.item_id,delta:a.delta,raw:a};case"response.output_audio_transcript.done":return{type:"audio-transcript-done",responseId:a.response_id,itemId:a.item_id,transcript:a.transcript,raw:a};case"response.output_text.delta":return{type:"text-delta",responseId:a.response_id,itemId:a.item_id,delta:a.delta,raw:a};case"response.output_text.done":return{type:"text-done",responseId:a.response_id,itemId:a.item_id,text:a.text,raw:a};case"response.function_call_arguments.delta":return{type:"function-call-arguments-delta",responseId:a.response_id,itemId:a.item_id,callId:a.call_id,delta:a.delta,raw:a};case"response.function_call_arguments.done":return{type:"function-call-arguments-done",responseId:a.response_id,itemId:a.item_id,callId:a.call_id,name:a.name,arguments:a.arguments,raw:a};case"error":return{type:"error",message:null!=(r=null!=(q=null==(p=a.error)?void 0:p.message)?q:a.message)?r:"Unknown error",code:null!=(t=null==(s=a.error)?void 0:s.code)?t:a.code,raw:a};default:return{type:"custom",rawType:u,raw:a}}}(a)}serializeClientEvent(a){var b=this.modelId;switch(a.type){case"session-update":return{type:"session.update",session:bO(a.config,b)};case"input-audio-append":return{type:"input_audio_buffer.append",audio:a.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 b=a.item;switch(b.type){case"text-message":return{type:"conversation.item.create",item:{type:"message",role:b.role,content:[{type:"input_text",text:b.text}]}};case"audio-message":return{type:"conversation.item.create",item:{type:"message",role:b.role,content:[{type:"input_audio",audio:b.audio}]}};case"function-call-output":return{type:"conversation.item.create",item:{type:"function_call_output",call_id:b.callId,output:b.output}}}break}case"conversation-item-truncate":return{type:"conversation.item.truncate",item_id:a.itemId,content_index:a.contentIndex,audio_end_ms:a.audioEndMs};case"response-create":return{type:"response.create",...null!=a.options?{response:{...null!=a.options.modalities?{output_modalities:a.options.modalities}:{},...null!=a.options.instructions?{instructions:a.options.instructions}:{},...null!=a.options.metadata?{metadata:a.options.metadata}:{}}}:{}};case"response-cancel":return{type:"response.cancel"}}}buildSessionConfig(a){return bO(a,this.modelId)}},bQ=(0,c.lazySchema)(()=>(0,c.zodSchema)(e.z.object({instructions:e.z.string().nullish(),speed:e.z.number().min(.25).max(4).default(1).nullish()}))),bR=class a{constructor(a,b){this.modelId=a,this.config=b,this.specificationVersion="v4"}static[d.WORKFLOW_SERIALIZE](a){return(0,c.serializeModelOptions)({modelId:a.modelId,config:a.config})}static[d.WORKFLOW_DESERIALIZE](b){return new a(b.modelId,b.config)}get provider(){return this.config.provider}async getArgs({text:a,voice:b="alloy",outputFormat:d="mp3",speed:e,instructions:f,language:g,providerOptions:h}){let i=[],j=await (0,c.parseProviderOptions)({provider:"openai",providerOptions:h,schema:bQ}),k={model:this.modelId,input:a,voice:b,response_format:"mp3",speed:e,instructions:f};if(d&&(["mp3","opus","aac","flac","wav","pcm"].includes(d)?k.response_format=d:i.push({type:"unsupported",feature:"outputFormat",details:`Unsupported output format: ${d}. Using mp3 instead.`})),j){let a={};for(let b in a){let c=a[b];void 0!==c&&(k[b]=c)}}return g&&i.push({type:"unsupported",feature:"language",details:`OpenAI speech models do not support language selection. Language parameter "${g}" was ignored.`}),{requestBody:k,warnings:i}}async doGenerate(a){var b,d,e,f,g;let i=null!=(e=null==(d=null==(b=this.config._internal)?void 0:b.currentDate)?void 0:d.call(b))?e:new Date,{requestBody:j,warnings:k}=await this.getArgs(a),{value:l,responseHeaders:m,rawValue:n}=await (0,c.postJsonToApi)({url:this.config.url({path:"/audio/speech",modelId:this.modelId}),headers:(0,c.combineHeaders)(null==(g=(f=this.config).headers)?void 0:g.call(f),a.headers),body:j,failedResponseHandler:h,successfulResponseHandler:(0,c.createBinaryResponseHandler)(),abortSignal:a.abortSignal,fetch:this.config.fetch});return{audio:l,warnings:k,request:{body:JSON.stringify(j)},response:{timestamp:i,modelId:this.modelId,headers:m,body:n}}}},bS=(0,c.lazySchema)(()=>(0,c.zodSchema)(e.z.object({text:e.z.string(),language:e.z.string().nullish(),duration:e.z.number().nullish(),words:e.z.array(e.z.object({word:e.z.string(),start:e.z.number(),end:e.z.number()})).nullish(),segments:e.z.array(e.z.union([e.z.object({id:e.z.number(),seek:e.z.number(),start:e.z.number(),end:e.z.number(),text:e.z.string(),tokens:e.z.array(e.z.number()),temperature:e.z.number(),avg_logprob:e.z.number(),compression_ratio:e.z.number(),no_speech_prob:e.z.number()}),e.z.object({type:e.z.literal("transcript.text.segment"),id:e.z.string(),start:e.z.number(),end:e.z.number(),text:e.z.string(),speaker:e.z.string()})])).nullish()}))),bT=(0,c.lazySchema)(()=>(0,c.zodSchema)(e.z.object({include:e.z.array(e.z.string()).optional(),language:e.z.string().optional(),prompt:e.z.string().optional(),temperature:e.z.number().min(0).max(1).default(0).optional(),timestampGranularities:e.z.array(e.z.enum(["word","segment"])).default(["segment"]).optional(),responseFormat:e.z.enum(["json","verbose_json","diarized_json"]).optional(),chunkingStrategy:e.z.union([e.z.literal("auto"),e.z.object({type:e.z.literal("server_vad"),threshold:e.z.number().min(0).max(1).optional(),prefixPaddingMs:e.z.number().int().min(0).optional(),silenceDurationMs:e.z.number().int().min(0).optional()})]).optional(),streaming:e.z.object({delay:e.z.enum(["minimal","low","medium","high","xhigh"]).optional(),include:e.z.array(e.z.string()).optional()}).optional()})));function bU(a){return"gpt-realtime-whisper"===a||a.startsWith("gpt-realtime-whisper-")}var bV={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"},bW=class a{constructor(a,b){this.modelId=a,this.config=b,this.specificationVersion="v4"}static[d.WORKFLOW_SERIALIZE](a){return(0,c.serializeModelOptions)({modelId:a.modelId,config:a.config})}static[d.WORKFLOW_DESERIALIZE](b){return new a(b.modelId,b.config)}get provider(){return this.config.provider}async getArgs({audio:a,mediaType:b,providerOptions:d}){var e,f;let g=await (0,c.parseProviderOptions)({provider:"openai",providerOptions:d,schema:bT}),h=new FormData,i=a instanceof Uint8Array?new Blob([a]):new Blob([(0,c.convertBase64ToUint8Array)(a)]);h.append("model",this.modelId);let j=(0,c.mediaTypeToExtension)(b);h.append("file",new File([i],"audio",{type:b}),`audio.${j}`),"whisper-1"===this.modelId&&h.append("response_format","verbose_json");let k="gpt-4o-transcribe-diarize"===this.modelId,l=null!=(e=null==g?void 0:g.chunkingStrategy)?e:k?"auto":void 0;if(g){let a=["gpt-4o-transcribe","gpt-4o-mini-transcribe"].includes(this.modelId);for(let[b,c]of Object.entries({include:g.include,language:g.language,prompt:g.prompt,..."whisper-1"!==this.modelId&&{response_format:null!=(f=g.responseFormat)?f:k?"diarized_json":a?"json":"verbose_json"},temperature:g.temperature,timestamp_granularities:g.timestampGranularities}))if(null!=c)if(Array.isArray(c))for(let a of c)h.append(`${b}[]`,String(a));else h.append(b,String(c))}else k&&h.append("response_format","diarized_json");return null!=l&&h.append("chunking_strategy","string"==typeof l?l:JSON.stringify({type:l.type,...null!=l.threshold&&{threshold:l.threshold},...null!=l.prefixPaddingMs&&{prefix_padding_ms:l.prefixPaddingMs},...null!=l.silenceDurationMs&&{silence_duration_ms:l.silenceDurationMs}})),{formData:h,warnings:[]}}async doGenerate(a){var b,d,e,g,i,j,k,l,m,n,o;if(bU(this.modelId))throw new f.UnsupportedFunctionalityError({functionality:`non-streaming transcription with ${this.modelId}`});let p=null!=(e=null==(d=null==(b=this.config._internal)?void 0:b.currentDate)?void 0:d.call(b))?e:new Date,{formData:q,warnings:r}=await this.getArgs(a),{value:s,responseHeaders:t,rawValue:u}=await (0,c.postFormDataToApi)({url:this.config.url({path:"/audio/transcriptions",modelId:this.modelId}),headers:(0,c.combineHeaders)(null==(i=(g=this.config).headers)?void 0:i.call(g),a.headers),formData:q,failedResponseHandler:h,successfulResponseHandler:(0,c.createJsonResponseHandler)(bS),abortSignal:a.abortSignal,fetch:this.config.fetch}),v=null!=s.language&&s.language in bV?bV[s.language]:void 0,w=null==(j=s.segments)?void 0:j.flatMap(a=>"speaker"in a?[{text:a.text,startSecond:a.start,endSecond:a.end,speaker:a.speaker}]:[]);return{text:s.text,segments:null!=(n=null!=(m=null==(k=s.segments)?void 0:k.map(a=>({text:a.text,startSecond:a.start,endSecond:a.end})))?m:null==(l=s.words)?void 0:l.map(a=>({text:a.word,startSecond:a.start,endSecond:a.end})))?n:[],language:v,durationInSeconds:null!=(o=s.duration)?o:void 0,warnings:r,response:{timestamp:p,modelId:this.modelId,headers:t,body:u},...null!=w&&w.length>0&&{providerMetadata:{openai:{segments:w}}}}}async doStream(a){var b,d,e,g,h,i,j;if(!bU(this.modelId))throw new f.UnsupportedFunctionalityError({functionality:`streaming transcription with ${this.modelId}`});let k=null!=(e=null==(d=null==(b=this.config._internal)?void 0:b.currentDate)?void 0:d.call(b))?e:new Date,l=await (0,c.parseProviderOptions)({provider:"openai",providerOptions:a.providerOptions,schema:bT}),m=[],n=null!=(h=null==(g=a.providerOptions)?void 0:g.openai)?h:{};for(let a of["include","prompt","temperature","timestampGranularities"])null!=n[a]&&m.push({type:"unsupported",feature:`providerOptions.openai.${a}`,details:`OpenAI streaming transcription does not support ${a}.`});let o=(0,c.combineHeaders)(null==(j=(i=this.config).headers)?void 0:j.call(i),a.headers),p=function({modelId:a,inputAudioFormat:b,providerOptions:c}){var d,e;return{type:"session.update",session:{type:"transcription",audio:{input:{format:{type:b.type,...null!=b.rate?{rate:b.rate}:{}},transcription:{model:a,...(null==c?void 0:c.language)!=null?{language:c.language}:{},...(null==(d=null==c?void 0:c.streaming)?void 0:d.delay)!=null?{delay:c.streaming.delay}:{}},turn_detection:null}},...(null==(e=null==c?void 0:c.streaming)?void 0:e.include)!=null?{include:c.streaming.include}:{}}}}({modelId:this.modelId,inputAudioFormat:a.inputAudioFormat,providerOptions:l});return{request:{body:p},response:{timestamp:k,modelId:this.modelId},stream:function({webSocket:a,url:b,headers:d,sessionUpdate:e,language:f,warnings:g,audio:h,abortSignal:i,includeRawChunks:j}){let k=!1,l=()=>{};return new ReadableStream({start:m=>{let n,o,p=function(a){var b;let c;for(let[b,d]of Object.entries(a))"authorization"===b.toLowerCase()&&null!=d&&(c=d);let d=null==(b=null==c?void 0:c.match(/^bearer\s+(.+)$/i))?void 0:b[1];return null==d?{protocols:["realtime"],headers:a}:{protocols:["realtime",`openai-insecure-api-key.${d}`],headers:Object.fromEntries(Object.entries(a).filter(([a])=>"authorization"!==a.toLowerCase()))}}(d);l=a=>{null!=n?n.cancel().catch(()=>{}):h.cancel().catch(()=>{}),null==o||o.close(a)};let q=a=>{k||(k=!0,l(),m.error(a))},r=async a=>{n=h.getReader();try{for(;;){let{done:b,value:d}=await n.read();if(b||k)break;a.send(JSON.stringify({type:"input_audio_buffer.append",audio:(0,c.convertToBase64)(d)})),await (0,c.waitForWebSocketBufferDrain)(a)}}finally{n.releaseLock(),n=void 0}k||a.send(JSON.stringify({type:"input_audio_buffer.commit"}))};o=(0,c.connectToWebSocket)({url:b,protocols:p.protocols,headers:p.headers,webSocket:a,abortSignal:i,onAbort:q,onProcessingError:q,onOpen:a=>{m.enqueue({type:"stream-start",warnings:g}),a.send(JSON.stringify(e)),r(a).catch(q)},onMessageText:async a=>{var b,d,e,g,h,i;let n=await (0,c.safeParseJSON)({text:a});if(!n.success)return;let o=n.value;switch(j&&m.enqueue({type:"raw",rawValue:o}),o.type){case"conversation.item.input_audio_transcription.delta":m.enqueue({type:"transcript-delta",id:o.item_id,delta:null!=(b=o.delta)?b:""});break;case"conversation.item.input_audio_transcription.completed":h=null!=(d=o.transcript)?d:"",i=o.item_id,k||(k=!0,null!=i&&m.enqueue({type:"transcript-final",id:i,text:h}),m.enqueue({type:"finish",text:h,segments:[],language:f}),m.close(),l(1e3));break;case"error":q(Error(null!=(g=null==(e=o.error)?void 0:e.message)?g:"OpenAI realtime error"))}},onSocketError:()=>{q(Error("OpenAI realtime transcription error"))},onClose:()=>{k||(k=!0,l(),m.close())}})},cancel:()=>{k||(k=!0,l())}})}({webSocket:this.config.webSocket,url:(0,c.toWebSocketUrl)(this.config.url({path:"/realtime?intent=transcription",modelId:this.modelId})),headers:o,sessionUpdate:p,language:null==l?void 0:l.language,warnings:m,audio:a.audio,abortSignal:a.abortSignal,includeRawChunks:a.includeRawChunks})}}},bX=(0,c.lazySchema)(()=>(0,c.zodSchema)(e.z.object({}))),bY=class a{constructor(a,b){this.modelId=a,this.config=b,this.specificationVersion="v4"}static[d.WORKFLOW_SERIALIZE](a){return(0,c.serializeModelOptions)({modelId:a.modelId,config:a.config})}static[d.WORKFLOW_DESERIALIZE](b){return new a(b.modelId,b.config)}get provider(){return this.config.provider}async doStream(a){var b,d,e,g,h;if(null==a.targetLanguage)throw new f.InvalidArgumentError({argument:"targetLanguage",message:`targetLanguage is required for translation model '${this.modelId}'.`});let i=null!=(e=null==(d=null==(b=this.config._internal)?void 0:b.currentDate)?void 0:d.call(b))?e:new Date;await (0,c.parseProviderOptions)({provider:"openai",providerOptions:a.providerOptions,schema:bX});let j=[];(function(a){if("audio/pcm"!==a.type||null!=a.rate&&24e3!==a.rate)throw new f.InvalidArgumentError({argument:"inputAudioFormat",message:"The OpenAI Realtime translation API only supports 24kHz 16-bit PCM input audio."})})(a.inputAudioFormat),null!=a.sourceLanguage&&j.push({type:"unsupported",feature:"sourceLanguage",details:"The OpenAI Realtime translation API auto-detects the source language and does not accept a source language."}),null!=a.outputAudioFormat&&j.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 k=(0,c.combineHeaders)(null==(h=(g=this.config).headers)?void 0:h.call(g),a.headers),l=function({targetLanguage:a}){return{type:"session.update",session:{audio:{input:{transcription:{model:"gpt-realtime-whisper"},noise_reduction:null},output:{language:a}}}}}({targetLanguage:a.targetLanguage});return{request:{body:l},response:{timestamp:i,modelId:this.modelId},stream:function({webSocket:a,url:b,headers:d,sessionUpdate:e,warnings:f,audio:g,abortSignal:h,includeRawChunks:i}){let j=!1,k=()=>{};return new ReadableStream({start:l=>{let m,n,o=function(a){var b;let c;for(let[b,d]of Object.entries(a))"authorization"===b.toLowerCase()&&null!=d&&(c=d);let d=null==(b=null==c?void 0:c.match(/^bearer\s+(.+)$/i))?void 0:b[1];return null==d?{protocols:["realtime"],headers:a}:{protocols:["realtime",`openai-insecure-api-key.${d}`],headers:Object.fromEntries(Object.entries(a).filter(([a])=>"authorization"!==a.toLowerCase()))}}(d),p="",q="";k=a=>{null!=m?m.cancel().catch(()=>{}):g.cancel().catch(()=>{}),null==n||n.close(a)};let r=a=>{j||(j=!0,k(),l.error(a))},s=async a=>{m=g.getReader();try{for(;;){let{done:b,value:d}=await m.read();if(b||j)break;a.send(JSON.stringify({type:"session.input_audio_buffer.append",audio:(0,c.convertToBase64)(d)})),await (0,c.waitForWebSocketBufferDrain)(a)}}finally{m.releaseLock(),m=void 0}j||a.send(JSON.stringify({type:"session.close"}))};n=(0,c.connectToWebSocket)({url:b,protocols:o.protocols,headers:o.headers,webSocket:a,abortSignal:h,onAbort:r,onProcessingError:r,onOpen:a=>{l.enqueue({type:"stream-start",warnings:f}),a.send(JSON.stringify(e)),s(a).catch(r)},onMessageText:async a=>{var b,d,e,f,g,h;if(j)return;let m=await (0,c.safeParseJSON)({text:a});if(!m.success)return;let n=m.value;switch(i&&l.enqueue({type:"raw",rawValue:n}),n.type){case"session.output_audio.delta":n.delta&&l.enqueue({type:"audio",audio:n.delta});break;case"session.output_transcript.delta":q+=null!=(b=n.delta)?b:"",l.enqueue({type:"output-text-delta",delta:null!=(d=n.delta)?d:""});break;case"session.input_transcript.delta":p+=null!=(e=n.delta)?e:"",l.enqueue({type:"source-transcript-delta",delta:null!=(f=n.delta)?f:""});break;case"session.closed":j||(j=!0,""!==p&&l.enqueue({type:"source-transcript-final",text:p}),""!==q&&l.enqueue({type:"output-text-final",text:q}),l.enqueue({type:"finish",sourceText:p,outputText:q,usage:void 0}),l.close(),k(1e3));break;case"error":l.enqueue({type:"error",error:Error(null!=(h=null==(g=n.error)?void 0:g.message)?h:"OpenAI realtime error")})}},onSocketError:()=>{r(Error("OpenAI realtime translation error"))},onClose:({code:a,reason:b})=>{j||r(Error(`OpenAI realtime translation WebSocket closed unexpectedly before finishing (code ${null!=a?a:"unknown"}${b?`, reason: ${b}`:""}).`))}})},cancel:()=>{j||(j=!0,k())}})}({webSocket:this.config.webSocket,url:(0,c.toWebSocketUrl)(this.config.url({path:`/realtime/translations?model=${encodeURIComponent(this.modelId)}`,modelId:this.modelId})),headers:k,sessionUpdate:l,warnings:j,audio:a.audio,abortSignal:a.abortSignal,includeRawChunks:a.includeRawChunks})}}},bZ=(0,c.lazySchema)(()=>(0,c.zodSchema)(e.z.object({id:e.z.string(),name:e.z.string().nullish(),description:e.z.string().nullish(),default_version:e.z.string().nullish(),latest_version:e.z.string().nullish(),created_at:e.z.number(),updated_at:e.z.number().nullish()})));(0,c.lazySchema)(()=>(0,c.zodSchema)(e.z.object({id:e.z.string(),version:e.z.string().nullish(),name:e.z.string().nullish(),description:e.z.string().nullish()})));var b$=class{constructor(a){this.config=a,this.specificationVersion="v4"}get provider(){return this.config.provider}async uploadSkill(a){let b=[];null!=a.displayTitle&&b.push({type:"unsupported",feature:"displayTitle"});let d=new FormData;for(let b of a.files){let a=(0,c.convertInlineFileDataToUint8Array)(b.data);d.append("files[]",new Blob([a]),b.path)}let{value:e}=await (0,c.postFormDataToApi)({url:this.config.url({path:"/skills"}),headers:(0,c.combineHeaders)(this.config.headers()),formData:d,failedResponseHandler:h,successfulResponseHandler:(0,c.createJsonResponseHandler)(bZ),fetch:this.config.fetch});return{providerReference:{openai:e.id},...null!=e.name?{name:e.name}:{},...null!=e.description?{description:e.description}:{},...null!=e.latest_version?{latestVersion:e.latest_version}:{},providerMetadata:{openai:{...null!=e.default_version?{defaultVersion:e.default_version}:{},...null!=e.created_at?{createdAt:e.created_at}:{},...null!=e.updated_at?{updatedAt:e.updated_at}:{}}},warnings:b}}};function b_(a={}){var b,d;let e=null!=(b=(0,c.withoutTrailingSlash)((0,c.validateBaseURL)((0,c.loadOptionalSetting)({settingValue:a.baseURL,environmentVariableName:"OPENAI_BASE_URL"}))))?b:"https://api.openai.com/v1",f=null!=(d=a.name)?d:"openai",g=()=>(0,c.withUserAgentSuffix)({Authorization:`Bearer ${(0,c.loadApiKey)({apiKey:a.apiKey,environmentVariableName:"OPENAI_API_KEY",description:"OpenAI"})}`,"OpenAI-Organization":a.organization,"OpenAI-Project":a.project,...a.headers},"ai-sdk/openai/4.0.60"),h=b=>new H(b,{provider:`${f}.embedding`,url:({path:a})=>`${e}${a}`,headers:g,fetch:a.fetch}),i=b=>new T(b,{provider:`${f}.image`,url:({path:a})=>`${e}${a}`,headers:g,fetch:a.fetch}),j=b=>new bW(b,{provider:`${f}.transcription`,url:({path:a})=>`${e}${a}`,headers:g,fetch:a.fetch,webSocket:a.webSocket}),k=b=>new bY(b,{provider:`${f}.speech-translation`,url:({path:a})=>`${e}${a}`,headers:g,fetch:a.fetch,webSocket:a.webSocket}),l=b=>new bR(b,{provider:`${f}.speech`,url:({path:a})=>`${e}${a}`,headers:g,fetch:a.fetch}),m=a=>{if(new.target)throw Error("The OpenAI model function cannot be called with the new keyword.");return n(a)},n=b=>new bJ(b,{provider:`${f}.responses`,baseURL:e,url:({path:a})=>`${e}${a}`,headers:g,fetch:a.fetch,fileIdPrefixes:["file-"]}),o=b=>new bP(b,{provider:`${f}.realtime`,baseURL:e,headers:g,fetch:a.fetch}),p=Object.assign(a=>o(a),{getToken:async a=>{let b=o(a.model),c=await b.doCreateClientSecret({sessionConfig:a.sessionConfig,expiresAfterSeconds:a.expiresAfterSeconds});return{token:c.token,url:c.url,expiresAt:c.expiresAt}}}),q=function(a){return m(a)};return q.specificationVersion="v4",q.languageModel=m,q.chat=b=>new w(b,{provider:`${f}.chat`,url:({path:a})=>`${e}${a}`,headers:g,fetch:a.fetch}),q.completion=b=>new D(b,{provider:`${f}.completion`,url:({path:a})=>`${e}${a}`,headers:g,fetch:a.fetch}),q.responses=n,q.embedding=h,q.embeddingModel=h,q.textEmbedding=h,q.textEmbeddingModel=h,q.image=i,q.imageModel=i,q.transcription=j,q.transcriptionModel=j,q.translation=k,q.speechTranslationModel=k,q.speech=l,q.speechModel=l,q.files=()=>new M({provider:`${f}.files`,baseURL:e,headers:g,fetch:a.fetch}),q.skills=()=>new b$({provider:`${f}.skills`,url:({path:a})=>`${e}${a}`,headers:g,fetch:a.fetch}),q.experimental_realtime=p,q.tools=aU,q}b_(),a.s(["createOpenAI",0,b_])},655819,a=>{"use strict";var b=a.i(652685),c=a.i(527990),d=a.i(912735),e=a.i(53112),f=e.z.object({imageDetail:e.z.enum(["low","high","auto"]).optional()});async function g(a){var d;let e=[];for(let{role:g,content:h}of a)switch(g){case"system":e.push({role:"system",content:h});break;case"user":{if(1===h.length&&"text"===h[0].type){e.push({role:"user",content:h[0].text});break}let a=[];for(let d of h)switch(d.type){case"text":a.push({type:"text",text:d.text});break;case"file":switch(d.data.type){case"reference":a.push({type:"file",file:{file_id:(0,c.resolveProviderReference)({reference:d.data.reference,provider:"xai"})}});break;case"text":throw new b.UnsupportedFunctionalityError({functionality:"text file parts"});case"url":case"data":if("image"===(0,c.getTopLevelMediaType)(d.mediaType)){let b=await (0,c.parseProviderOptions)({provider:"xai",providerOptions:d.providerOptions,schema:f});a.push({type:"image_url",image_url:{url:"url"===d.data.type?d.data.url.toString():`data:${(0,c.resolveFullMediaType)({part:d})};base64,${(0,c.convertToBase64)(d.data.data)}`,...(null==b?void 0:b.imageDetail)!=null&&{detail:b.imageDetail}}})}else throw new b.UnsupportedFunctionalityError({functionality:`file part media type ${d.mediaType}`})}}e.push({role:"user",content:a});break}case"assistant":{let a="",b=[];for(let c of h)switch(c.type){case"text":a+=c.text;break;case"tool-call":b.push({id:c.toolCallId,type:"function",function:{name:c.toolName,arguments:JSON.stringify(c.input)}})}e.push({role:"assistant",content:a,tool_calls:b.length>0?b:void 0});break}case"tool":for(let a of h){let b;if("tool-approval-response"===a.type)continue;let c=a.output;switch(c.type){case"text":case"error-text":b=c.value;break;case"execution-denied":b=null!=(d=c.reason)?d:"Tool call execution denied.";break;case"content":case"json":case"error-json":b=JSON.stringify(c.value)}e.push({role:"tool",tool_call_id:a.toolCallId,content:b})}break;default:throw Error(`Unsupported role: ${g}`)}return{messages:e,warnings:[]}}function h(a){var b,c,d,e;let f=null!=(c=null==(b=a.prompt_tokens_details)?void 0:b.cached_tokens)?c:0,g=null!=(e=null==(d=a.completion_tokens_details)?void 0:d.reasoning_tokens)?e:0,h=f<=a.prompt_tokens;return{inputTokens:{total:h?a.prompt_tokens:a.prompt_tokens+f,noCache:h?a.prompt_tokens-f:a.prompt_tokens,cacheRead:f,cacheWrite:void 0},outputTokens:{total:a.completion_tokens+g,text:a.completion_tokens,reasoning:g},raw:a}}function i({id:a,model:b,created:d,created_at:e}){return(0,c.createLanguageModelResponseMetadata)({id:a,model:b,created:null!=d?d:e})}function j(a){switch(a){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 k=/^grok-4\.20(-\d{4})?-(non-)?reasoning$/,l=e.z.object({type:e.z.literal("web"),country:e.z.string().length(2).optional(),excludedWebsites:e.z.array(e.z.string()).max(5).optional(),allowedWebsites:e.z.array(e.z.string()).max(5).optional(),safeSearch:e.z.boolean().optional()}),m=e.z.object({type:e.z.literal("x"),excludedXHandles:e.z.array(e.z.string()).optional(),includedXHandles:e.z.array(e.z.string()).optional(),postFavoriteCount:e.z.number().int().optional(),postViewCount:e.z.number().int().optional(),xHandles:e.z.array(e.z.string()).optional()}),n=e.z.object({type:e.z.literal("news"),country:e.z.string().length(2).optional(),excludedWebsites:e.z.array(e.z.string()).max(5).optional(),safeSearch:e.z.boolean().optional()}),o=e.z.object({type:e.z.literal("rss"),links:e.z.array(e.z.string().url()).max(1)}),p=e.z.discriminatedUnion("type",[l,m,n,o]),q=e.z.object({reasoningEffort:e.z.enum(["none","low","medium","high","xhigh"]).optional(),logprobs:e.z.boolean().optional(),topLogprobs:e.z.number().int().min(0).max(8).optional(),serviceTier:e.z.enum(["default","priority"]).optional(),parallel_function_calling:e.z.boolean().optional(),searchParameters:e.z.object({mode:e.z.enum(["off","auto","on"]),returnCitations:e.z.boolean().optional(),fromDate:e.z.string().optional(),toDate:e.z.string().optional(),maxSearchResults:e.z.number().min(1).max(50).optional(),sources:e.z.array(p).optional()}).optional()}),r=e.z.object({error:e.z.object({message:e.z.string(),type:e.z.string().nullish(),param:e.z.any().nullish(),code:e.z.union([e.z.string(),e.z.number()]).nullish()})}),s=e.z.object({code:e.z.string(),error:e.z.string()}),t=e.z.object({error:e.z.string()}),u=e.z.union([r,s,t]),v=(0,c.createJsonErrorResponseHandler)({errorSchema:u,errorToMessage:a=>"string"==typeof a.error?"code"in a?`${a.code}: ${a.error}`:a.error:a.error.message});function w(a){if(Array.isArray(a))return a.map(w);if(null==a||"object"!=typeof a)return a;let b={};for(let[c,d]of Object.entries(a))("additionalProperties"!==c||!1!==d)&&(b[c]=w(d));return b}var x=class a{constructor(a,b){this.specificationVersion="v4",this.supportedUrls={"image/*":[/^https?:\/\/.*$/]},this.modelId=a,this.config=b}static[d.WORKFLOW_SERIALIZE](a){return(0,c.serializeModelOptions)({modelId:a.modelId,config:a.config})}static[d.WORKFLOW_DESERIALIZE](b){return new a(b.modelId,b.config)}get provider(){return this.config.provider}async getArgs({prompt:a,maxOutputTokens:d,temperature:e,topP:f,topK:h,frequencyPenalty:i,presencePenalty:j,stopSequences:l,seed:m,reasoning:n,responseFormat:o,providerOptions:p,tools:r,toolChoice:s}){var t,u,v,x;let y=[],z=null!=(t=await (0,c.parseProviderOptions)({provider:"xai",providerOptions:p,schema:q}))?t:{};null!=h&&y.push({type:"unsupported",feature:"topK"}),null!=i&&y.push({type:"unsupported",feature:"frequencyPenalty"}),null!=j&&y.push({type:"unsupported",feature:"presencePenalty"}),null!=l&&y.push({type:"unsupported",feature:"stopSequences"});let{messages:A,warnings:B}=await g(a);y.push(...B);let{tools:C,toolChoice:D,toolWarnings:E}=function({tools:a,toolChoice:c}){a=(null==a?void 0:a.length)?a:void 0;let d=[];if(null==a)return{tools:void 0,toolChoice:void 0,toolWarnings:d};let e=[];for(let b of a)"provider"===b.type?d.push({type:"unsupported",feature:`provider-defined tool ${b.name}`}):e.push({type:"function",function:{name:b.name,description:b.description,parameters:w(b.inputSchema),...null!=b.strict?{strict:b.strict}:{}}});if(null==c)return{tools:e,toolChoice:void 0,toolWarnings:d};let f=c.type;switch(f){case"auto":case"none":return{tools:e,toolChoice:f,toolWarnings:d};case"required":return{tools:e,toolChoice:"required",toolWarnings:d};case"tool":return{tools:e,toolChoice:{type:"function",function:{name:c.toolName}},toolWarnings:d};default:throw new b.UnsupportedFunctionalityError({functionality:`tool choice type: ${f}`})}}({tools:r,toolChoice:s});y.push(...E);let F=z.reasoningEffort;return null==F&&(0,c.isCustomReasoning)(n)&&((x=this.modelId,k.test(x))?y.push({type:"unsupported",feature:"reasoning",details:`reasoning "${n}" is not supported by this model.`}):F="none"===n?"none":(0,c.mapReasoningToProviderEffort)({reasoning:n,effortMap:{minimal:"low",low:"low",medium:"medium",high:"high",xhigh:"grok-4.6"===this.modelId?"xhigh":"high"},warnings:y})),{args:{model:this.modelId,logprobs:!0===z.logprobs||null!=z.topLogprobs||void 0,top_logprobs:z.topLogprobs,max_completion_tokens:d,temperature:e,top_p:f,seed:m,reasoning_effort:F,service_tier:z.serviceTier,parallel_function_calling:z.parallel_function_calling,response_format:(null==o?void 0:o.type)==="json"?null!=o.schema?{type:"json_schema",json_schema:{name:null!=(u=o.name)?u:"response",schema:o.schema,strict:!0}}:{type:"json_object"}:void 0,search_parameters:z.searchParameters?{mode:z.searchParameters.mode,return_citations:z.searchParameters.returnCitations,from_date:z.searchParameters.fromDate,to_date:z.searchParameters.toDate,max_search_results:z.searchParameters.maxSearchResults,sources:null==(v=z.searchParameters.sources)?void 0:v.map(a=>{var b;return{type:a.type,..."web"===a.type&&{country:a.country,excluded_websites:a.excludedWebsites,allowed_websites:a.allowedWebsites,safe_search:a.safeSearch},..."x"===a.type&&{excluded_x_handles:a.excludedXHandles,included_x_handles:null!=(b=a.includedXHandles)?b:a.xHandles,post_favorite_count:a.postFavoriteCount,post_view_count:a.postViewCount},..."news"===a.type&&{country:a.country,excluded_websites:a.excludedWebsites,safe_search:a.safeSearch},..."rss"===a.type&&{links:a.links}}})}:void 0,messages:A,tools:C,tool_choice:D},warnings:y}}async doGenerate(a){var d,e,f,g;let{args:k,warnings:l}=await this.getArgs(a),m=`${null!=(d=this.config.baseURL)?d:"https://api.x.ai/v1"}/chat/completions`,{responseHeaders:n,value:o,rawValue:p}=await (0,c.postJsonToApi)({url:m,headers:(0,c.combineHeaders)(null==(f=(e=this.config).headers)?void 0:f.call(e),a.headers),body:k,failedResponseHandler:v,successfulResponseHandler:(0,c.createJsonResponseHandler)(z),abortSignal:a.abortSignal,fetch:this.config.fetch});if(null!=o.error)throw new b.APICallError({message:o.error,url:m,requestBodyValues:k,statusCode:200,responseHeaders:n,responseBody:JSON.stringify(p),isRetryable:"The service is currently unavailable"===o.code});let q=o.choices[0],r=[];if(null!=q.message.content&&q.message.content.length>0){let a=q.message.content,b=k.messages[k.messages.length-1];(null==b?void 0:b.role)==="assistant"&&a===b.content&&(a=""),a.length>0&&r.push({type:"text",text:a})}if(null!=q.message.reasoning_content&&q.message.reasoning_content.length>0&&r.push({type:"reasoning",text:q.message.reasoning_content}),null!=q.message.tool_calls)for(let a of q.message.tool_calls)r.push({type:"tool-call",toolCallId:a.id,toolName:a.function.name,input:a.function.arguments});if(null!=o.citations)for(let a of o.citations)r.push({type:"source",sourceType:"url",id:this.config.generateId(),url:a});return{content:r,finishReason:{unified:j(q.finish_reason),raw:null!=(g=q.finish_reason)?g:void 0},usage:o.usage?h(o.usage):{inputTokens:{total:0,noCache:0,cacheRead:0,cacheWrite:0},outputTokens:{total:0,text:0,reasoning:0}},...null!=o.service_tier&&{providerMetadata:{xai:{serviceTier:o.service_tier}}},request:{body:k},response:{...i(o),headers:n,body:p},warnings:l}}async doStream(a){var d,e,f;let g,k,l,{args:m,warnings:n}=await this.getArgs(a),o={...m,stream:!0,stream_options:{include_usage:!0}},p=`${null!=(d=this.config.baseURL)?d:"https://api.x.ai/v1"}/chat/completions`,{responseHeaders:q,value:r}=await (0,c.postJsonToApi)({url:p,headers:(0,c.combineHeaders)(null==(f=(e=this.config).headers)?void 0:f.call(e),a.headers),body:o,failedResponseHandler:v,successfulResponseHandler:async({response:a})=>{let d=(0,c.extractResponseHeaders)(a),e=a.headers.get("content-type");if(null==e?void 0:e.includes("application/json")){let e=await a.text(),f=await (0,c.safeParseJSON)({text:e,schema:B});if(f.success)throw new b.APICallError({message:f.value.error,url:p,requestBodyValues:o,statusCode:200,responseHeaders:d,responseBody:e,isRetryable:"The service is currently unavailable"===f.value.code});throw new b.APICallError({message:"Invalid JSON response",url:p,requestBodyValues:o,statusCode:200,responseHeaders:d,responseBody:e})}return(0,c.createEventSourceResponseHandler)(A)({response:a,url:p,requestBodyValues:o})},abortSignal:a.abortSignal,fetch:this.config.fetch}),s={unified:"other",raw:void 0},t=!0,u={},w={},x=this;return{stream:r.pipeThrough(new TransformStream({start(a){a.enqueue({type:"stream-start",warnings:n})},transform(b,c){if(a.includeRawChunks&&c.enqueue({type:"raw",rawValue:b.rawValue}),!b.success)return void c.enqueue({type:"error",error:b.error});let d=b.value;if(t&&(c.enqueue({type:"response-metadata",...i(d)}),t=!1),null!=d.citations)for(let a of d.citations)c.enqueue({type:"source",sourceType:"url",id:x.config.generateId(),url:a});null!=d.usage&&(g=h(d.usage)),null!=d.service_tier&&(k=d.service_tier);let e=d.choices[0];if((null==e?void 0:e.finish_reason)!=null&&(s={unified:j(e.finish_reason),raw:e.finish_reason}),(null==e?void 0:e.delta)==null)return;let f=e.delta,m=e.index;if(null!=f.content&&f.content.length>0){let a=f.content;null==l||u[l].ended||(c.enqueue({type:"reasoning-end",id:l}),u[l].ended=!0,l=void 0);let b=o.messages[o.messages.length-1];if((null==b?void 0:b.role)==="assistant"&&a===b.content)return;let e=`text-${d.id||m}`;null==u[e]&&(u[e]={type:"text",ended:!1},c.enqueue({type:"text-start",id:e})),c.enqueue({type:"text-delta",id:e,delta:a})}if(null!=f.reasoning_content&&f.reasoning_content.length>0){let a=`reasoning-${d.id||m}`;if(w[a]===f.reasoning_content)return;w[a]=f.reasoning_content,null==u[a]&&(u[a]={type:"reasoning",ended:!1},l=a,c.enqueue({type:"reasoning-start",id:a})),c.enqueue({type:"reasoning-delta",id:a,delta:f.reasoning_content})}if(null!=f.tool_calls)for(let a of(null==l||u[l].ended||(c.enqueue({type:"reasoning-end",id:l}),u[l].ended=!0,l=void 0),f.tool_calls)){let b=a.id;c.enqueue({type:"tool-input-start",id:b,toolName:a.function.name}),c.enqueue({type:"tool-input-delta",id:b,delta:a.function.arguments}),c.enqueue({type:"tool-input-end",id:b}),c.enqueue({type:"tool-call",toolCallId:b,toolName:a.function.name,input:a.function.arguments})}},flush(a){for(let[b,c]of Object.entries(u))c.ended||a.enqueue({type:"text"===c.type?"text-end":"reasoning-end",id:b});a.enqueue({type:"finish",finishReason:s,usage:null!=g?g:{inputTokens:{total:0,noCache:0,cacheRead:0,cacheWrite:0},outputTokens:{total:0,text:0,reasoning:0}},...null!=k&&{providerMetadata:{xai:{serviceTier:k}}}})}})),request:{body:o},response:{headers:q}}}},y=e.z.object({prompt_tokens:e.z.number(),completion_tokens:e.z.number(),total_tokens:e.z.number(),cost_in_usd_ticks:e.z.number().nullish(),prompt_tokens_details:e.z.object({text_tokens:e.z.number().nullish(),audio_tokens:e.z.number().nullish(),image_tokens:e.z.number().nullish(),cached_tokens:e.z.number().nullish()}).catchall(e.z.json()).nullish(),completion_tokens_details:e.z.object({reasoning_tokens:e.z.number().nullish(),audio_tokens:e.z.number().nullish(),accepted_prediction_tokens:e.z.number().nullish(),rejected_prediction_tokens:e.z.number().nullish()}).catchall(e.z.json()).nullish()}).catchall(e.z.json()),z=e.z.object({id:e.z.string().nullish(),created:e.z.number().nullish(),model:e.z.string().nullish(),choices:e.z.array(e.z.object({message:e.z.object({role:e.z.enum(["assistant","tool"]),content:e.z.string().nullish(),reasoning_content:e.z.string().nullish(),tool_calls:e.z.array(e.z.object({id:e.z.string(),type:e.z.literal("function"),function:e.z.object({name:e.z.string(),arguments:e.z.string()})})).nullish()}),index:e.z.number(),finish_reason:e.z.string().nullish()})).nullish(),object:e.z.literal("chat.completion").nullish(),usage:y.nullish(),citations:e.z.array(e.z.string().url()).nullish(),service_tier:e.z.string().nullish(),code:e.z.string().nullish(),error:e.z.string().nullish()}),A=e.z.object({id:e.z.string().nullish(),created:e.z.number().nullish(),model:e.z.string().nullish(),choices:e.z.array(e.z.object({delta:e.z.object({role:e.z.enum(["assistant"]).optional(),content:e.z.string().nullish(),reasoning_content:e.z.string().nullish(),tool_calls:e.z.array(e.z.object({id:e.z.string(),type:e.z.literal("function"),function:e.z.object({name:e.z.string(),arguments:e.z.string()})})).nullish()}),finish_reason:e.z.string().nullish(),index:e.z.number()})),usage:y.nullish(),citations:e.z.array(e.z.string().url()).nullish(),service_tier:e.z.string().nullish()}),B=e.z.object({code:e.z.string(),error:e.z.string()}),C=e.z.object({aspect_ratio:e.z.string().optional(),output_format:e.z.string().optional(),sync_mode:e.z.boolean().optional(),resolution:e.z.enum(["1k","2k"]).optional(),quality:e.z.enum(["low","medium","high"]).optional(),user:e.z.string().optional()}),D=class a{constructor(a,b){this.modelId=a,this.config=b,this.specificationVersion="v4",this.maxImagesPerCall=3}get provider(){return this.config.provider}static[d.WORKFLOW_SERIALIZE](a){return(0,c.serializeModelOptions)({modelId:a.modelId,config:a.config})}static[d.WORKFLOW_DESERIALIZE](b){return new a(b.modelId,b.config)}async doGenerate({prompt:a,n:b,size:d,aspectRatio:e,seed:f,providerOptions:g,headers:h,abortSignal:i,files:j,mask:k}){var l,m,n,o,p,q,r;let s=[];null!=d&&s.push({type:"unsupported",feature:"size",details:"This model does not support the `size` option. Use `aspectRatio` instead."}),null!=f&&s.push({type:"unsupported",feature:"seed"}),null!=k&&s.push({type:"unsupported",feature:"mask"});let t=await (0,c.parseProviderOptions)({provider:"xai",providerOptions:g,schema:C}),u=null!=j&&j.length>0,w=u?j.map(a=>(0,c.convertImageModelFileToDataUri)(a)):[],x={model:this.modelId,prompt:a,n:b,response_format:"b64_json"};null!=e&&(x.aspect_ratio=e),(null==t?void 0:t.output_format)!=null&&(x.output_format=t.output_format),(null==t?void 0:t.sync_mode)!=null&&(x.sync_mode=t.sync_mode),(null==t?void 0:t.aspect_ratio)!=null&&null==e&&(x.aspect_ratio=t.aspect_ratio),(null==t?void 0:t.resolution)!=null&&(x.resolution=t.resolution),(null==t?void 0:t.quality)!=null&&(x.quality=t.quality),(null==t?void 0:t.user)!=null&&(x.user=t.user),1===w.length?x.image={url:w[0],type:"image_url"}:w.length>1&&(x.images=w.map(a=>({url:a,type:"image_url"})));let y=null!=(l=this.config.baseURL)?l:"https://api.x.ai/v1",z=null!=(o=null==(n=null==(m=this.config._internal)?void 0:m.currentDate)?void 0:n.call(m))?o:new Date,{value:A,responseHeaders:B}=await (0,c.postJsonToApi)({url:`${y}${u?"/images/edits":"/images/generations"}`,headers:(0,c.combineHeaders)(null==(q=(p=this.config).headers)?void 0:q.call(p),h),body:x,failedResponseHandler:v,successfulResponseHandler:(0,c.createJsonResponseHandler)(E),abortSignal:i,fetch:this.config.fetch});if(A.data.some(a=>!1===a.respect_moderation))throw Error("Image generation was blocked due to a content policy violation.");return{images:A.data.every(a=>null!=a.b64_json)?A.data.map(a=>a.b64_json):await Promise.all(A.data.map(a=>this.downloadImage(a.url,i))),warnings:s,response:{timestamp:z,modelId:this.modelId,headers:B},providerMetadata:{xai:{images:A.data.map(a=>({...a.revised_prompt?{revisedPrompt:a.revised_prompt}:{}})),...(null==(r=A.usage)?void 0:r.cost_in_usd_ticks)!=null?{costInUsdTicks:A.usage.cost_in_usd_ticks}:{}}}}}async downloadImage(a,b){let{value:d}=await (0,c.getFromApi)({url:a,validateUrl:!0,trustedOrigin:this.config.baseURL,abortSignal:b,failedResponseHandler:(0,c.createStatusCodeErrorResponseHandler)(),successfulResponseHandler:(0,c.createBinaryResponseHandler)(),fetch:this.config.fetch});return d}},E=e.z.object({data:e.z.array(e.z.object({url:e.z.string().nullish(),b64_json:e.z.string().nullish(),revised_prompt:e.z.string().nullish(),respect_moderation:e.z.boolean().nullish()})),usage:e.z.object({cost_in_usd_ticks:e.z.number().nullish()}).nullish()}),F=(0,c.lazySchema)(()=>(0,c.zodSchema)(e.z.object({id:e.z.string(),object:e.z.string().nullish(),bytes:e.z.number().nullish(),created_at:e.z.number().nullish(),expires_at:e.z.number().nullish(),filename:e.z.string().nullish(),purpose:e.z.string().nullish(),status:e.z.string().nullish()}))),G=(0,c.lazySchema)(()=>(0,c.zodSchema)(e.z.object({id:e.z.string(),object:e.z.string().nullish(),deleted:e.z.boolean()})));async function H({prompt:a}){var d,e,g,h,i,j,k,l,m;let n=[],o=[];for(let p of a)switch(p.role){case"system":n.push({role:"system",content:p.content});break;case"user":{let a=[];for(let d of p.content)switch(d.type){case"text":a.push({type:"input_text",text:d.text});break;case"file":switch(d.data.type){case"reference":a.push({type:"input_file",file_id:(0,c.resolveProviderReference)({reference:d.data.reference,provider:"xai"})});break;case"text":throw new b.UnsupportedFunctionalityError({functionality:"text file parts"});case"url":case"data":if("image"===(0,c.getTopLevelMediaType)(d.mediaType)){let b="url"===d.data.type?d.data.url.toString():`data:${(0,c.resolveFullMediaType)({part:d})};base64,${(0,c.convertToBase64)(d.data.data)}`,e=await (0,c.parseProviderOptions)({provider:"xai",providerOptions:d.providerOptions,schema:f});a.push({type:"input_image",image_url:b,...(null==e?void 0:e.imageDetail)!=null&&{detail:e.imageDetail}})}else if("url"===d.data.type)a.push({type:"input_file",file_url:d.data.url.toString()});else throw new b.UnsupportedFunctionalityError({functionality:`file part media type ${d.mediaType} as inline data (xAI Responses requires a URL or a Files API reference for non-image files)`})}break;default:o.push({type:"other",message:"xAI Responses API does not support this content type in user messages"})}n.push({role:"user",content:a});break}case"assistant":for(let a of p.content)switch(a.type){case"text":{let b="string"==typeof(null==(e=null==(d=a.providerOptions)?void 0:d.xai)?void 0:e.itemId)?a.providerOptions.xai.itemId:void 0;n.push({role:"assistant",content:a.text,id:b});break}case"tool-call":{if(a.providerExecuted)break;let b="string"==typeof(null==(h=null==(g=a.providerOptions)?void 0:g.xai)?void 0:h.itemId)?a.providerOptions.xai.itemId:void 0;n.push({type:"function_call",id:null!=b?b:a.toolCallId,call_id:a.toolCallId,name:a.toolName,arguments:JSON.stringify(a.input),status:"completed"});break}case"tool-result":break;case"reasoning":{let b="string"==typeof(null==(j=null==(i=a.providerOptions)?void 0:i.xai)?void 0:j.itemId)?a.providerOptions.xai.itemId:void 0,c="string"==typeof(null==(l=null==(k=a.providerOptions)?void 0:k.xai)?void 0:l.reasoningEncryptedContent)?a.providerOptions.xai.reasoningEncryptedContent:void 0;if(null!=b||null!=c){let d=[];a.text.length>0&&d.push({type:"summary_text",text:a.text}),n.push({type:"reasoning",id:null!=b?b:"",summary:d,status:"completed",...null!=c&&{encrypted_content:c}})}else o.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":o.push({type:"other",message:`xAI Responses API does not support ${a.type} in assistant messages`});break;default:o.push({type:"other",message:"xAI Responses API does not support this content type in assistant messages"})}break;case"tool":for(let a of p.content){let b;if("tool-approval-response"===a.type)continue;let d=a.output;switch(d.type){case"text":case"error-text":b=d.value;break;case"execution-denied":b=null!=(m=d.reason)?m:"tool execution denied";break;case"json":case"error-json":b=JSON.stringify(d.value);break;case"content":for(let a of(b=[],d.value))switch(a.type){case"text":b.push({type:"input_text",text:a.text});break;case"file":"image"===(0,c.getTopLevelMediaType)(a.mediaType)&&("data"===a.data.type||"url"===a.data.type)&&b.push({type:"input_image",image_url:"url"===a.data.type?a.data.url.toString():`data:${(0,c.resolveFullMediaType)({part:a})};base64,${(0,c.convertToBase64)(a.data.data)}`})}break;default:b=""}n.push({type:"function_call_output",call_id:a.toolCallId,output:b})}break;default:o.push({type:"other",message:"unsupported message role"})}return{input:n,inputWarnings:o}}function I(a){var b,c,d,e;let f=null!=(c=null==(b=a.input_tokens_details)?void 0:b.cached_tokens)?c:0,g=null!=(e=null==(d=a.output_tokens_details)?void 0:d.reasoning_tokens)?e:0,h=f<=a.input_tokens;return{inputTokens:{total:h?a.input_tokens:a.input_tokens+f,noCache:h?a.input_tokens-f:a.input_tokens,cacheRead:f,cacheWrite:void 0},outputTokens:{total:a.output_tokens,text:a.output_tokens-g,reasoning:g},raw:a}}function J(a){switch(a){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 K=e.z.union([e.z.object({type:e.z.literal("url_citation"),url:e.z.string(),title:e.z.string().optional()}),e.z.object({type:e.z.string()})]),L=e.z.object({type:e.z.string(),text:e.z.string().optional(),logprobs:e.z.array(e.z.any()).optional(),annotations:e.z.array(K).optional()}),M=e.z.object({type:e.z.string(),text:e.z.string()}),N=e.z.object({name:e.z.string().optional(),arguments:e.z.string().optional(),input:e.z.string().optional(),call_id:e.z.string().optional(),id:e.z.string(),status:e.z.string(),action:e.z.any().optional()}),O=e.z.object({type:e.z.literal("url"),url:e.z.string()}),P=e.z.discriminatedUnion("type",[e.z.object({type:e.z.literal("search"),query:e.z.string().nullish(),queries:e.z.array(e.z.string()).nullish(),sources:e.z.array(e.z.unknown()).nullish()}),e.z.object({type:e.z.literal("open_page"),url:e.z.string().nullish(),sources:e.z.array(e.z.unknown()).nullish()}),e.z.object({type:e.z.literal("find_in_page"),url:e.z.string().nullish(),pattern:e.z.string().nullish(),sources:e.z.array(e.z.unknown()).nullish()})]),Q=e.z.object({name:e.z.string().optional(),arguments:e.z.string().optional(),output:e.z.string().optional(),error:e.z.string().optional(),id:e.z.string(),status:e.z.string(),server_label:e.z.string().optional()}),R=e.z.discriminatedUnion("type",[e.z.object({type:e.z.literal("web_search_call"),...N.shape}),e.z.object({type:e.z.literal("x_search_call"),...N.shape}),e.z.object({type:e.z.literal("code_interpreter_call"),...N.shape}),e.z.object({type:e.z.literal("code_execution_call"),...N.shape}),e.z.object({type:e.z.literal("view_image_call"),...N.shape}),e.z.object({type:e.z.literal("view_x_video_call"),...N.shape}),e.z.object({type:e.z.literal("file_search_call"),id:e.z.string(),status:e.z.string(),queries:e.z.array(e.z.string()).optional(),results:e.z.array(e.z.object({file_id:e.z.string(),filename:e.z.string(),score:e.z.number(),text:e.z.string()})).nullish()}),e.z.object({type:e.z.literal("image_generation_call"),id:e.z.string(),status:e.z.string(),prompt:e.z.string().nullish(),result:e.z.string().nullish()}),e.z.object({type:e.z.literal("custom_tool_call"),...N.shape}),e.z.object({type:e.z.literal("mcp_call"),...Q.shape}),e.z.object({type:e.z.literal("message"),role:e.z.string(),content:e.z.array(L),id:e.z.string(),status:e.z.string()}),e.z.object({type:e.z.literal("function_call"),name:e.z.string(),arguments:e.z.string(),call_id:e.z.string(),id:e.z.string()}),e.z.object({type:e.z.literal("reasoning"),id:e.z.string(),summary:e.z.array(M),content:e.z.array(e.z.object({type:e.z.string(),text:e.z.string()})).nullish(),status:e.z.string(),encrypted_content:e.z.string().nullish()})]),S=e.z.object({input_tokens:e.z.number(),output_tokens:e.z.number(),total_tokens:e.z.number().optional(),input_tokens_details:e.z.object({cached_tokens:e.z.number().optional()}).catchall(e.z.json()).optional(),output_tokens_details:e.z.object({reasoning_tokens:e.z.number().optional()}).catchall(e.z.json()).optional(),num_sources_used:e.z.number().optional(),num_server_side_tools_used:e.z.number().optional(),cost_in_usd_ticks:e.z.number().nullish()}).catchall(e.z.json()),T=e.z.object({id:e.z.string().nullish(),created_at:e.z.number().nullish(),model:e.z.string().nullish(),object:e.z.literal("response"),output:e.z.array(R),usage:S.nullish(),status:e.z.string(),service_tier:e.z.string().nullish()}),U=e.z.union([e.z.object({type:e.z.literal("response.created"),response:T.partial({usage:!0,status:!0})}),e.z.object({type:e.z.literal("response.in_progress"),response:T.partial({usage:!0,status:!0})}),e.z.object({type:e.z.literal("response.output_item.added"),item:R,output_index:e.z.number()}),e.z.object({type:e.z.literal("response.output_item.done"),item:R,output_index:e.z.number()}),e.z.object({type:e.z.literal("response.content_part.added"),item_id:e.z.string(),output_index:e.z.number(),content_index:e.z.number(),part:L}),e.z.object({type:e.z.literal("response.content_part.done"),item_id:e.z.string(),output_index:e.z.number(),content_index:e.z.number(),part:L}),e.z.object({type:e.z.literal("response.output_text.delta"),item_id:e.z.string(),output_index:e.z.number(),content_index:e.z.number(),delta:e.z.string(),logprobs:e.z.array(e.z.any()).optional()}),e.z.object({type:e.z.literal("response.output_text.done"),item_id:e.z.string(),output_index:e.z.number(),content_index:e.z.number(),text:e.z.string(),logprobs:e.z.array(e.z.any()).optional(),annotations:e.z.array(K).optional()}),e.z.object({type:e.z.literal("response.output_text.annotation.added"),item_id:e.z.string(),output_index:e.z.number(),content_index:e.z.number(),annotation_index:e.z.number(),annotation:K}),e.z.object({type:e.z.literal("response.reasoning_summary_part.added"),item_id:e.z.string(),output_index:e.z.number(),summary_index:e.z.number(),part:M}),e.z.object({type:e.z.literal("response.reasoning_summary_part.done"),item_id:e.z.string(),output_index:e.z.number(),summary_index:e.z.number(),part:M}),e.z.object({type:e.z.literal("response.reasoning_summary_text.delta"),item_id:e.z.string(),output_index:e.z.number(),summary_index:e.z.number(),delta:e.z.string()}),e.z.object({type:e.z.literal("response.reasoning_summary_text.done"),item_id:e.z.string(),output_index:e.z.number(),summary_index:e.z.number(),text:e.z.string()}),e.z.object({type:e.z.literal("response.reasoning_text.delta"),item_id:e.z.string(),output_index:e.z.number(),content_index:e.z.number(),delta:e.z.string()}),e.z.object({type:e.z.literal("response.reasoning_text.done"),item_id:e.z.string(),output_index:e.z.number(),content_index:e.z.number(),text:e.z.string()}),e.z.object({type:e.z.literal("response.web_search_call.in_progress"),item_id:e.z.string(),output_index:e.z.number()}),e.z.object({type:e.z.literal("response.web_search_call.searching"),item_id:e.z.string(),output_index:e.z.number()}),e.z.object({type:e.z.literal("response.web_search_call.completed"),item_id:e.z.string(),output_index:e.z.number()}),e.z.object({type:e.z.literal("response.x_search_call.in_progress"),item_id:e.z.string(),output_index:e.z.number()}),e.z.object({type:e.z.literal("response.x_search_call.searching"),item_id:e.z.string(),output_index:e.z.number()}),e.z.object({type:e.z.literal("response.x_search_call.completed"),item_id:e.z.string(),output_index:e.z.number()}),e.z.object({type:e.z.literal("response.file_search_call.in_progress"),item_id:e.z.string(),output_index:e.z.number()}),e.z.object({type:e.z.literal("response.file_search_call.searching"),item_id:e.z.string(),output_index:e.z.number()}),e.z.object({type:e.z.literal("response.file_search_call.completed"),item_id:e.z.string(),output_index:e.z.number()}),e.z.object({type:e.z.literal("response.image_generation_call.in_progress"),item_id:e.z.string(),output_index:e.z.number()}),e.z.object({type:e.z.literal("response.image_generation_call.generating"),item_id:e.z.string(),output_index:e.z.number()}),e.z.object({type:e.z.literal("response.image_generation_call.completed"),item_id:e.z.string(),output_index:e.z.number()}),e.z.object({type:e.z.literal("response.code_execution_call.in_progress"),item_id:e.z.string(),output_index:e.z.number()}),e.z.object({type:e.z.literal("response.code_execution_call.executing"),item_id:e.z.string(),output_index:e.z.number()}),e.z.object({type:e.z.literal("response.code_execution_call.completed"),item_id:e.z.string(),output_index:e.z.number()}),e.z.object({type:e.z.literal("response.code_interpreter_call.in_progress"),item_id:e.z.string(),output_index:e.z.number()}),e.z.object({type:e.z.literal("response.code_interpreter_call.executing"),item_id:e.z.string(),output_index:e.z.number()}),e.z.object({type:e.z.literal("response.code_interpreter_call.interpreting"),item_id:e.z.string(),output_index:e.z.number()}),e.z.object({type:e.z.literal("response.code_interpreter_call.completed"),item_id:e.z.string(),output_index:e.z.number()}),e.z.object({type:e.z.literal("response.code_interpreter_call_code.delta"),item_id:e.z.string(),output_index:e.z.number(),delta:e.z.string()}),e.z.object({type:e.z.literal("response.code_interpreter_call_code.done"),item_id:e.z.string(),output_index:e.z.number(),code:e.z.string()}),e.z.object({type:e.z.literal("response.custom_tool_call_input.delta"),item_id:e.z.string(),output_index:e.z.number(),delta:e.z.string()}),e.z.object({type:e.z.literal("response.custom_tool_call_input.done"),item_id:e.z.string(),output_index:e.z.number(),input:e.z.string()}),e.z.object({type:e.z.literal("response.function_call_arguments.delta"),item_id:e.z.string(),output_index:e.z.number(),delta:e.z.string()}),e.z.object({type:e.z.literal("response.function_call_arguments.done"),item_id:e.z.string(),output_index:e.z.number(),arguments:e.z.string()}),e.z.object({type:e.z.literal("response.mcp_call.in_progress"),item_id:e.z.string(),output_index:e.z.number()}),e.z.object({type:e.z.literal("response.mcp_call.executing"),item_id:e.z.string(),output_index:e.z.number()}),e.z.object({type:e.z.literal("response.mcp_call.completed"),item_id:e.z.string(),output_index:e.z.number()}),e.z.object({type:e.z.literal("response.mcp_call.failed"),item_id:e.z.string(),output_index:e.z.number()}),e.z.object({type:e.z.literal("response.mcp_call_arguments.delta"),item_id:e.z.string(),output_index:e.z.number(),delta:e.z.string()}),e.z.object({type:e.z.literal("response.mcp_call_arguments.done"),item_id:e.z.string(),output_index:e.z.number(),arguments:e.z.string().optional()}),e.z.object({type:e.z.literal("response.mcp_call_output.delta"),item_id:e.z.string(),output_index:e.z.number(),delta:e.z.string()}),e.z.object({type:e.z.literal("response.mcp_call_output.done"),item_id:e.z.string(),output_index:e.z.number(),output:e.z.string().optional()}),e.z.object({type:e.z.literal("response.incomplete"),response:e.z.object({incomplete_details:e.z.object({reason:e.z.string()}).nullish(),usage:S.nullish(),service_tier:e.z.string().nullish()})}),e.z.object({type:e.z.literal("response.failed"),response:e.z.object({error:e.z.object({code:e.z.string().nullish(),message:e.z.string()}).nullish(),incomplete_details:e.z.object({reason:e.z.string()}).nullish(),usage:S.nullish()})}),e.z.object({type:e.z.literal("error"),code:e.z.string().nullish(),message:e.z.string(),param:e.z.string().nullish()}),e.z.object({type:e.z.literal("response.done"),response:T}),e.z.object({type:e.z.literal("response.completed"),response:T})]),V=e.z.object({reasoningEffort:e.z.enum(["none","low","medium","high","xhigh"]).optional(),reasoningSummary:e.z.enum(["auto","concise","detailed"]).optional(),logprobs:e.z.boolean().optional(),topLogprobs:e.z.number().int().min(0).max(8).optional(),serviceTier:e.z.enum(["default","priority"]).optional(),store:e.z.boolean().optional(),previousResponseId:e.z.string().optional(),include:e.z.array(e.z.enum(["file_search_call.results"])).nullish()}),W=(0,c.lazySchema)(()=>(0,c.zodSchema)(e.z.object({vectorStoreIds:e.z.array(e.z.string()),maxNumResults:e.z.number().optional()}))),X=(0,c.lazySchema)(()=>(0,c.zodSchema)(e.z.object({queries:e.z.array(e.z.string()),results:e.z.array(e.z.object({fileId:e.z.string(),filename:e.z.string(),score:e.z.number().min(0).max(1),text:e.z.string()})).nullable()}))),Y=(0,c.createProviderExecutedToolFactory)({id:"xai.file_search",inputSchema:(0,c.lazySchema)(()=>(0,c.zodSchema)(e.z.object({}))),outputSchema:X}),Z=(0,c.lazySchema)(()=>(0,c.zodSchema)(e.z.object({action:e.z.enum(["auto","generate","edit"]).optional()}))),$=(0,c.lazySchema)(()=>(0,c.zodSchema)(e.z.object({}))),_=(0,c.lazySchema)(()=>(0,c.zodSchema)(e.z.object({result:e.z.string(),prompt:e.z.string().optional()}))),aa=(0,c.createProviderExecutedToolFactory)({id:"xai.image_generation",inputSchema:$,outputSchema:_}),ab=(0,c.lazySchema)(()=>(0,c.zodSchema)(e.z.object({serverUrl:e.z.string().describe("The URL of the MCP server"),serverLabel:e.z.string().optional().describe("A label for the MCP server"),serverDescription:e.z.string().optional().describe("Description of the MCP server"),allowedTools:e.z.array(e.z.string()).optional().describe("List of allowed tool names"),headers:e.z.record(e.z.string(),e.z.string()).optional().describe("Custom headers to send"),authorization:e.z.string().optional().describe("Authorization header value")}))),ac=(0,c.lazySchema)(()=>(0,c.zodSchema)(e.z.object({name:e.z.string(),arguments:e.z.string(),result:e.z.unknown()}))),ad=(0,c.createProviderExecutedToolFactory)({id:"xai.mcp",inputSchema:(0,c.lazySchema)(()=>(0,c.zodSchema)(e.z.object({}))),outputSchema:ac}),ae=(0,c.lazySchema)(()=>(0,c.zodSchema)(e.z.object({allowedDomains:e.z.array(e.z.string()).max(5).optional(),excludedDomains:e.z.array(e.z.string()).max(5).optional(),enableImageSearch:e.z.boolean().optional(),enableImageUnderstanding:e.z.boolean().optional()}))),af=(0,c.lazySchema)(()=>(0,c.zodSchema)(e.z.object({action:e.z.discriminatedUnion("type",[e.z.object({type:e.z.literal("search"),query:e.z.string().optional(),queries:e.z.array(e.z.string()).optional()}),e.z.object({type:e.z.literal("openPage"),url:e.z.string().nullish()}),e.z.object({type:e.z.literal("findInPage"),url:e.z.string().nullish(),pattern:e.z.string().nullish()})]).optional(),sources:e.z.array(e.z.object({type:e.z.literal("url"),url:e.z.string()})).optional()}))),ag=(0,c.createProviderExecutedToolFactory)({id:"xai.web_search",inputSchema:(0,c.lazySchema)(()=>(0,c.zodSchema)(e.z.object({}))),outputSchema:af}),ah=(0,c.lazySchema)(()=>(0,c.zodSchema)(e.z.object({allowedXHandles:e.z.array(e.z.string()).max(10).optional(),excludedXHandles:e.z.array(e.z.string()).max(10).optional(),fromDate:e.z.string().optional(),toDate:e.z.string().optional(),enableImageUnderstanding:e.z.boolean().optional(),enableVideoUnderstanding:e.z.boolean().optional()}))),ai=(0,c.lazySchema)(()=>(0,c.zodSchema)(e.z.object({query:e.z.string(),posts:e.z.array(e.z.object({author:e.z.string(),text:e.z.string(),url:e.z.string(),likes:e.z.number()}))}))),aj=(0,c.createProviderExecutedToolFactory)({id:"xai.x_search",inputSchema:(0,c.lazySchema)(()=>(0,c.zodSchema)(e.z.object({}))),outputSchema:ai});async function ak({tools:a,toolChoice:d}){let e=(null==a?void 0:a.length)?a:void 0,f=[];if(null==e)return{tools:void 0,toolChoice:void 0,toolWarnings:f};let g=[],h=new Map;for(let a of e)if(h.set(a.name,a),"provider"===a.type)switch(a.id){case"xai.web_search":{let b=await (0,c.validateTypes)({value:a.args,schema:ae});g.push({type:"web_search",allowed_domains:b.allowedDomains,excluded_domains:b.excludedDomains,enable_image_search:b.enableImageSearch,enable_image_understanding:b.enableImageUnderstanding});break}case"xai.x_search":{let b=await (0,c.validateTypes)({value:a.args,schema:ah});g.push({type:"x_search",allowed_x_handles:b.allowedXHandles,excluded_x_handles:b.excludedXHandles,from_date:b.fromDate,to_date:b.toDate,enable_image_understanding:b.enableImageUnderstanding,enable_video_understanding:b.enableVideoUnderstanding});break}case"xai.code_execution":g.push({type:"code_interpreter"});break;case"xai.view_image":g.push({type:"view_image"});break;case"xai.view_x_video":g.push({type:"view_x_video"});break;case"xai.image_generation":{let b=await (0,c.validateTypes)({value:a.args,schema:Z});g.push({type:"image_generation",action:b.action});break}case"xai.file_search":{let b=await (0,c.validateTypes)({value:a.args,schema:W});g.push({type:"file_search",vector_store_ids:b.vectorStoreIds,max_num_results:b.maxNumResults});break}case"xai.mcp":{let b=await (0,c.validateTypes)({value:a.args,schema:ab});g.push({type:"mcp",server_url:b.serverUrl,server_label:b.serverLabel,server_description:b.serverDescription,allowed_tools:b.allowedTools,headers:b.headers,authorization:b.authorization});break}default:f.push({type:"unsupported",feature:`provider-defined tool ${a.name}`})}else g.push({type:"function",name:a.name,description:a.description,parameters:w(a.inputSchema),...null!=a.strict?{strict:a.strict}:{}});if(null==d)return{tools:g,toolChoice:void 0,toolWarnings:f};let i=d.type;switch(i){case"auto":case"none":return{tools:g,toolChoice:i,toolWarnings:f};case"required":return{tools:g,toolChoice:"required",toolWarnings:f};case"tool":{let a=h.get(d.toolName);if(null==a)return{tools:g,toolChoice:void 0,toolWarnings:f};if("provider"===a.type)return f.push({type:"unsupported",feature:`toolChoice for server-side tool "${a.name}"`}),{tools:g,toolChoice:void 0,toolWarnings:f};return{tools:g,toolChoice:{type:"function",name:a.name},toolWarnings:f}}default:throw new b.UnsupportedFunctionalityError({functionality:`tool choice type: ${i}`})}}function al({message:a,code:b,eventType:d,data:e}){var f,g;let h,i="number"==typeof(h="string"==typeof(f=b)&&/^\d{3}$/.test(f)?Number(f):f)&&Number.isInteger(h)&&h>=400&&h<=599?h:void 0;return(0,c.createProviderStreamError)({message:a,type:d,code:null!=b?b:void 0,...null!=i?{statusCode:i,isRetryable:408===(g=i)||409===g||429===g||g>=500}:function(a){switch(a){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{}}}(b),data:e})}var am=class a{constructor(a,b){this.specificationVersion="v4",this.supportedUrls={"image/*":[/^https?:\/\/.*$/],"application/pdf":[/^https?:\/\/.*$/],"text/*":[/^https?:\/\/.*$/]},this.modelId=a,this.config=b}static[d.WORKFLOW_SERIALIZE](a){return(0,c.serializeModelOptions)({modelId:a.modelId,config:a.config})}static[d.WORKFLOW_DESERIALIZE](b){return new a(b.modelId,b.config)}get provider(){return this.config.provider}async getArgs({prompt:a,maxOutputTokens:b,temperature:d,topP:e,topK:f,frequencyPenalty:g,presencePenalty:h,stopSequences:i,seed:j,responseFormat:l,providerOptions:m,tools:n,toolChoice:o,reasoning:p}){var q,r,s,t,u,v,w,x,y,z;let A=[],B=null!=(q=await (0,c.parseProviderOptions)({provider:"xai",providerOptions:m,schema:V}))?q:{};null!=f&&A.push({type:"unsupported",feature:"topK"}),null!=g&&A.push({type:"unsupported",feature:"frequencyPenalty"}),null!=h&&A.push({type:"unsupported",feature:"presencePenalty"}),null!=i&&A.push({type:"unsupported",feature:"stopSequences"});let C=null==(r=null==n?void 0:n.find(a=>"provider"===a.type&&"xai.web_search"===a.id))?void 0:r.name,D=null==(s=null==n?void 0:n.find(a=>"provider"===a.type&&"xai.x_search"===a.id))?void 0:s.name,E=null==(t=null==n?void 0:n.find(a=>"provider"===a.type&&"xai.code_execution"===a.id))?void 0:t.name,F=null==(u=null==n?void 0:n.find(a=>"provider"===a.type&&"xai.mcp"===a.id))?void 0:u.name,G=null==(v=null==n?void 0:n.find(a=>"provider"===a.type&&"xai.file_search"===a.id))?void 0:v.name,I=null==(w=null==n?void 0:n.find(a=>"provider"===a.type&&"xai.image_generation"===a.id))?void 0:w.name,{input:J,inputWarnings:K}=await H({prompt:a,store:null==(x=B.store)||x});A.push(...K);let{tools:L,toolChoice:M,toolWarnings:N}=await ak({tools:n,toolChoice:o});A.push(...N);let O=B.include?[...B.include]:void 0;!1===B.store&&(O=null==O?["reasoning.encrypted_content"]:[...O,"reasoning.encrypted_content"]);let P=B.reasoningEffort;null==P&&(0,c.isCustomReasoning)(p)&&((z=this.modelId,k.test(z))?A.push({type:"unsupported",feature:"reasoning",details:`reasoning "${p}" is not supported by this model.`}):P="none"===p?"none":(0,c.mapReasoningToProviderEffort)({reasoning:p,effortMap:{minimal:"low",low:"low",medium:"medium",high:"high",xhigh:"grok-4.6"===this.modelId?"xhigh":"high"},warnings:A}));let Q={model:this.modelId,input:J,logprobs:!0===B.logprobs||null!=B.topLogprobs||void 0,top_logprobs:B.topLogprobs,max_output_tokens:b,temperature:d,top_p:e,seed:j,...(null==l?void 0:l.type)==="json"&&{text:{format:null!=l.schema?{type:"json_schema",strict:!0,name:null!=(y=l.name)?y:"response",description:l.description,schema:l.schema}:{type:"json_object"}}},...(null!=P||null!=B.reasoningSummary)&&{reasoning:{...null!=P&&{effort:P},...null!=B.reasoningSummary&&{summary:B.reasoningSummary}}},...!1===B.store&&{store:B.store},...null!=O&&{include:O},...null!=B.previousResponseId&&{previous_response_id:B.previousResponseId},...null!=B.serviceTier&&{service_tier:B.serviceTier}};return L&&L.length>0&&(Q.tools=L),null!=M&&(Q.tool_choice=M),{args:Q,warnings:A,webSearchToolName:C,xSearchToolName:D,codeExecutionToolName:E,mcpToolName:F,fileSearchToolName:G,imageGenerationToolName:I}}async doGenerate(a){var b,d,e,f,g,h,j,k,l,m,n,o,p,q,r,s,t,u;let{args:w,warnings:x,webSearchToolName:y,xSearchToolName:z,codeExecutionToolName:A,mcpToolName:B,fileSearchToolName:C,imageGenerationToolName:D}=await this.getArgs(a),{responseHeaders:E,value:F,rawValue:G}=await (0,c.postJsonToApi)({url:`${null!=(b=this.config.baseURL)?b:"https://api.x.ai/v1"}/responses`,headers:(0,c.combineHeaders)(null==(e=(d=this.config).headers)?void 0:e.call(d),a.headers),body:w,failedResponseHandler:v,successfulResponseHandler:(0,c.createJsonResponseHandler)(T),abortSignal:a.abortSignal,fetch:this.config.fetch}),H=[],K=!1,L=["web_search","web_search_with_snippets","browse_page"],M=["x_user_search","x_keyword_search","x_semantic_search","x_thread_fetch"];for(let a of F.output){if("file_search_call"===a.type){let b=null!=C?C:"file_search";H.push({type:"tool-call",toolCallId:a.id,toolName:b,input:"",providerExecuted:!0}),H.push({type:"tool-result",toolCallId:a.id,toolName:b,result:{queries:null!=(f=a.queries)?f:[],results:null!=(h=null==(g=a.results)?void 0:g.map(a=>({fileId:a.file_id,filename:a.filename,score:a.score,text:a.text})))?h:null}});continue}if("image_generation_call"===a.type){let b=null!=D?D:"image_generation";H.push({type:"tool-call",toolCallId:a.id,toolName:b,input:"{}",providerExecuted:!0}),null!=a.result?H.push({type:"tool-result",toolCallId:a.id,toolName:b,result:{result:a.result,...null!=a.prompt&&{prompt:a.prompt}}}):H.push({type:"tool-result",toolCallId:a.id,toolName:b,isError:!0,result:`Image generation failed (status: ${a.status}).`});continue}if("web_search_call"===a.type||"x_search_call"===a.type||"code_interpreter_call"===a.type||"code_execution_call"===a.type||"view_image_call"===a.type||"view_x_video_call"===a.type||"custom_tool_call"===a.type||"mcp_call"===a.type){let b=null!=(j=a.name)?j:"";L.includes(null!=(k=a.name)?k:"")||"web_search_call"===a.type?b=null!=y?y:"web_search":M.includes(null!=(l=a.name)?l:"")||"x_search_call"===a.type?b=null!=z?z:"x_search":"code_execution"===a.name||"code_interpreter_call"===a.type||"code_execution_call"===a.type?b=null!=A?A:"code_execution":"mcp_call"===a.type&&(b=null!=(m=null!=B?B:a.name)?m:"mcp");let c="custom_tool_call"===a.type?null!=(n=a.input)?n:"":"mcp_call"===a.type?null!=(o=a.arguments)?o:"":null!=(p=a.arguments)?p:"";H.push({type:"tool-call",toolCallId:a.id,toolName:b,input:c,providerExecuted:!0}),"web_search_call"===a.type&&H.push({type:"tool-result",toolCallId:a.id,toolName:b,result:an(a.action)});continue}switch(a.type){case"message":for(let b of a.content)if(b.text&&H.push({type:"text",text:b.text}),b.annotations)for(let a of b.annotations)"url_citation"===a.type&&"url"in a&&H.push({type:"source",sourceType:"url",id:this.config.generateId(),url:a.url,title:null!=(q=a.title)?q:a.url});break;case"function_call":K=!0,H.push({type:"tool-call",toolCallId:a.call_id,toolName:a.name,input:a.arguments});break;case"reasoning":{let b=(a.summary.length>0?a.summary.map(a=>a.text):(null!=(r=a.content)?r:[]).map(a=>a.text)).filter(a=>a&&a.length>0).join("");if(b||a.encrypted_content){let c=a.encrypted_content||a.id;H.push({type:"reasoning",text:b,...c&&{providerMetadata:{xai:{...a.encrypted_content&&{reasoningEncryptedContent:a.encrypted_content},...a.id&&{itemId:a.id}}}}})}}}}return{content:H,finishReason:{unified:K?"tool-calls":J(F.status),raw:null!=(s=F.status)?s:void 0},usage:F.usage?I(F.usage):{inputTokens:{total:0,noCache:0,cacheRead:0,cacheWrite:0},outputTokens:{total:0,text:0,reasoning:0}},...((null==(t=F.usage)?void 0:t.cost_in_usd_ticks)!=null||null!=F.service_tier)&&{providerMetadata:{xai:{...(null==(u=F.usage)?void 0:u.cost_in_usd_ticks)!=null&&{costInUsdTicks:F.usage.cost_in_usd_ticks},...null!=F.service_tier&&{serviceTier:F.service_tier}}}},request:{body:w},response:{...i(F),headers:E,body:G},warnings:x}}async doStream(a){var b,d,e;let f,g,h,{args:j,warnings:k,webSearchToolName:l,xSearchToolName:m,codeExecutionToolName:n,mcpToolName:o,fileSearchToolName:p,imageGenerationToolName:q}=await this.getArgs(a),r={...j,stream:!0},{responseHeaders:s,value:t}=await (0,c.postJsonToApi)({url:`${null!=(b=this.config.baseURL)?b:"https://api.x.ai/v1"}/responses`,headers:(0,c.combineHeaders)(null==(e=(d=this.config).headers)?void 0:e.call(d),a.headers),body:r,failedResponseHandler:v,successfulResponseHandler:(0,c.createEventSourceResponseHandler)(U),abortSignal:a.abortSignal,fetch:this.config.fetch}),u={unified:"other",raw:void 0},w=!1,x=!0,y={},z=new Set,A={},B={},C=this;return{stream:t.pipeThrough(new TransformStream({start(a){a.enqueue({type:"stream-start",warnings:k})},transform(b,c){var d,e,j,k,r,s,t,v,D,E,F,G,H,K,L,M,N;if(a.includeRawChunks&&c.enqueue({type:"raw",rawValue:b.rawValue}),!b.success)return void c.enqueue({type:"error",error:b.error});let O=b.value;if("response.created"===O.type||"response.in_progress"===O.type){x&&(c.enqueue({type:"response-metadata",...i(O.response)}),x=!1);return}if("response.reasoning_summary_part.added"===O.type){let a=`reasoning-${O.item_id}`;null==B[O.item_id]&&(B[O.item_id]={},c.enqueue({type:"reasoning-start",id:a,providerMetadata:{xai:{itemId:O.item_id}}}))}if("response.reasoning_summary_text.delta"===O.type){let a=`reasoning-${O.item_id}`;c.enqueue({type:"reasoning-delta",id:a,delta:O.delta,providerMetadata:{xai:{itemId:O.item_id}}});return}if("response.reasoning_summary_text.done"===O.type)return;if("response.reasoning_text.delta"===O.type){let a=`reasoning-${O.item_id}`;null==B[O.item_id]&&(B[O.item_id]={},c.enqueue({type:"reasoning-start",id:a,providerMetadata:{xai:{itemId:O.item_id}}})),c.enqueue({type:"reasoning-delta",id:a,delta:O.delta,providerMetadata:{xai:{itemId:O.item_id}}});return}if("response.reasoning_text.done"!==O.type){if("response.output_text.delta"===O.type){let a=`text-${O.item_id}`;null==y[a]&&(y[a]={type:"text"},c.enqueue({type:"text-start",id:a})),c.enqueue({type:"text-delta",id:a,delta:O.delta});return}if("response.output_text.done"===O.type){if(O.annotations)for(let a of O.annotations)"url_citation"===a.type&&"url"in a&&c.enqueue({type:"source",sourceType:"url",id:C.config.generateId(),url:a.url,title:null!=(d=a.title)?d:a.url});return}if("response.output_text.annotation.added"===O.type){let a=O.annotation;"url_citation"===a.type&&"url"in a&&c.enqueue({type:"source",sourceType:"url",id:C.config.generateId(),url:a.url,title:null!=(e=a.title)?e:a.url});return}if("response.done"===O.type||"response.completed"===O.type||"response.incomplete"===O.type){let a=O.response;if(a.usage&&(f=I(a.usage),g=null!=(j=a.usage.cost_in_usd_ticks)?j:void 0),h=null!=(k=a.service_tier)?k:void 0,"response.incomplete"===O.type){let b="incomplete_details"in a?null==(r=a.incomplete_details)?void 0:r.reason:void 0;u={unified:b?J(b):"other",raw:null!=b?b:"incomplete"}}else"status"in a&&a.status&&(u={unified:w?"tool-calls":J(a.status),raw:a.status});return}if("response.failed"===O.type){let a=null==(s=O.response.incomplete_details)?void 0:s.reason;u={unified:a?J(a):"error",raw:null!=a?a:"error"},O.response.usage&&(f=I(O.response.usage)),null!=O.response.error&&c.enqueue({type:"error",error:al({message:O.response.error.message,code:O.response.error.code,eventType:O.type,data:O})});return}if("error"===O.type)return void c.enqueue({type:"error",error:al({message:O.message,code:O.code,eventType:O.type,data:O})});if("response.custom_tool_call_input.delta"!==O.type&&"response.custom_tool_call_input.done"!==O.type){if("response.function_call_arguments.delta"===O.type){let a=A[O.output_index];null!=a&&c.enqueue({type:"tool-input-delta",id:a.toolCallId,delta:O.delta});return}if("response.function_call_arguments.done"!==O.type){if("response.image_generation_call.in_progress"===O.type||"response.image_generation_call.generating"===O.type||"response.image_generation_call.completed"===O.type){if(!z.has(O.item_id)){z.add(O.item_id);let a=null!=q?q:"image_generation";c.enqueue({type:"tool-input-start",id:O.item_id,toolName:a}),c.enqueue({type:"tool-input-delta",id:O.item_id,delta:"{}"}),c.enqueue({type:"tool-input-end",id:O.item_id}),c.enqueue({type:"tool-call",toolCallId:O.item_id,toolName:a,input:"{}",providerExecuted:!0})}return}if("response.output_item.added"===O.type||"response.output_item.done"===O.type){let a=O.item;if("reasoning"===a.type){if("response.output_item.done"===O.type){let b=`reasoning-${a.id}`;a.id in B||(B[a.id]={},c.enqueue({type:"reasoning-start",id:b,providerMetadata:{xai:{...a.id&&{itemId:a.id}}}})),c.enqueue({type:"reasoning-end",id:b,providerMetadata:{xai:{...a.encrypted_content&&{reasoningEncryptedContent:a.encrypted_content},...a.id&&{itemId:a.id}}}}),delete B[a.id]}return}if("file_search_call"===a.type){let b=null!=p?p:"file_search";z.has(a.id)||(z.add(a.id),c.enqueue({type:"tool-input-start",id:a.id,toolName:b}),c.enqueue({type:"tool-input-delta",id:a.id,delta:""}),c.enqueue({type:"tool-input-end",id:a.id}),c.enqueue({type:"tool-call",toolCallId:a.id,toolName:b,input:"",providerExecuted:!0})),"response.output_item.done"===O.type&&c.enqueue({type:"tool-result",toolCallId:a.id,toolName:b,result:{queries:null!=(t=a.queries)?t:[],results:null!=(D=null==(v=a.results)?void 0:v.map(a=>({fileId:a.file_id,filename:a.filename,score:a.score,text:a.text})))?D:null}});return}if("image_generation_call"===a.type){let b=null!=q?q:"image_generation";z.has(a.id)||(z.add(a.id),c.enqueue({type:"tool-input-start",id:a.id,toolName:b}),c.enqueue({type:"tool-input-delta",id:a.id,delta:"{}"}),c.enqueue({type:"tool-input-end",id:a.id}),c.enqueue({type:"tool-call",toolCallId:a.id,toolName:b,input:"{}",providerExecuted:!0})),"response.output_item.done"===O.type&&(null!=a.result?c.enqueue({type:"tool-result",toolCallId:a.id,toolName:b,result:{result:a.result,...null!=a.prompt&&{prompt:a.prompt}}}):c.enqueue({type:"tool-result",toolCallId:a.id,toolName:b,isError:!0,result:`Image generation failed (status: ${a.status}).`}));return}if("web_search_call"===a.type||"x_search_call"===a.type||"code_interpreter_call"===a.type||"code_execution_call"===a.type||"view_image_call"===a.type||"view_x_video_call"===a.type||"custom_tool_call"===a.type||"mcp_call"===a.type){let b=null!=(E=a.name)?E:"";["web_search","web_search_with_snippets","browse_page"].includes(null!=(F=a.name)?F:"")||"web_search_call"===a.type?b=null!=l?l:"web_search":["x_user_search","x_keyword_search","x_semantic_search","x_thread_fetch"].includes(null!=(G=a.name)?G:"")||"x_search_call"===a.type?b=null!=m?m:"x_search":"code_execution"===a.name||"code_interpreter_call"===a.type||"code_execution_call"===a.type?b=null!=n?n:"code_execution":"mcp_call"===a.type&&(b=null!=(H=null!=o?o:a.name)?H:"mcp");let d="custom_tool_call"===a.type?null!=(K=a.input)?K:"":"mcp_call"===a.type?null!=(L=a.arguments)?L:"":null!=(M=a.arguments)?M:"";("custom_tool_call"===a.type?"response.output_item.done"!==O.type:z.has(a.id))||z.has(a.id)||(z.add(a.id),c.enqueue({type:"tool-input-start",id:a.id,toolName:b}),c.enqueue({type:"tool-input-delta",id:a.id,delta:d}),c.enqueue({type:"tool-input-end",id:a.id}),c.enqueue({type:"tool-call",toolCallId:a.id,toolName:b,input:d,providerExecuted:!0})),"response.output_item.done"===O.type&&c.enqueue({type:"tool-result",toolCallId:a.id,toolName:b,result:"web_search_call"===a.type?an(a.action):{}});return}if("message"===a.type)for(let b of a.content){if(b.text&&b.text.length>0){let d=`text-${a.id}`;null==y[d]&&(y[d]={type:"text"},c.enqueue({type:"text-start",id:d}),c.enqueue({type:"text-delta",id:d,delta:b.text}))}if(b.annotations)for(let a of b.annotations)"url_citation"===a.type&&"url"in a&&c.enqueue({type:"source",sourceType:"url",id:C.config.generateId(),url:a.url,title:null!=(N=a.title)?N:a.url})}else"function_call"===a.type&&("response.output_item.added"===O.type?(A[O.output_index]={toolName:a.name,toolCallId:a.call_id},c.enqueue({type:"tool-input-start",id:a.call_id,toolName:a.name})):"response.output_item.done"===O.type&&(w=!0,A[O.output_index]=void 0,c.enqueue({type:"tool-input-end",id:a.call_id}),c.enqueue({type:"tool-call",toolCallId:a.call_id,toolName:a.name,input:a.arguments})))}}}}},flush(a){for(let[b,c]of Object.entries(y))"text"===c.type&&a.enqueue({type:"text-end",id:b});a.enqueue({type:"finish",finishReason:u,usage:null!=f?f:{inputTokens:{total:0,noCache:0,cacheRead:0,cacheWrite:0},outputTokens:{total:0,text:0,reasoning:0}},...(null!=g||null!=h)&&{providerMetadata:{xai:{...null!=g&&{costInUsdTicks:g},...null!=h&&{serviceTier:h}}}}})}})),request:{body:r},response:{headers:s}}}};function an(a){var b;let c=P.safeParse(a);if(!c.success)return{};let d=c.data,e=null==(b=d.sources)?void 0:b.flatMap(a=>{let b=O.safeParse(a);return b.success?[b.data]:[]}),f=null!=e&&e.length>0?{sources:e}:{};switch(d.type){case"search":return{action:{type:"search",...null!=d.query&&{query:d.query},...null!=d.queries&&{queries:d.queries}},...f};case"open_page":return{action:{type:"openPage",url:d.url},...f};case"find_in_page":return{action:{type:"findInPage",url:d.url,pattern:d.pattern},...f}}}var ao=(0,c.lazySchema)(()=>(0,c.zodSchema)(e.z.object({inputFileExpiresAfter:e.z.number().int().min(3600).max(2592e3).optional()}))),ap=(0,c.lazySchema)(()=>(0,c.zodSchema)(e.z.object({batch_id:e.z.string(),name:e.z.string().nullish(),create_time:e.z.string().nullish(),expire_time:e.z.string().nullish(),cancel_time:e.z.string().nullish(),cancel_by_xai_message:e.z.string().nullish(),state:e.z.object({num_requests:e.z.number().nullish(),num_pending:e.z.number().nullish(),num_success:e.z.number().nullish(),num_error:e.z.number().nullish(),num_cancelled:e.z.number().nullish()}).nullish()}))),aq=e.z.object({code:e.z.union([e.z.string(),e.z.number()]).nullish(),message:e.z.string().nullish()}),ar=e.z.object({batch_request_id:e.z.string(),batch_result:e.z.object({response:e.z.object({chat_get_completion:e.z.unknown().nullish()}).nullish(),error:aq.nullish()}).nullish(),error_message:e.z.string().nullish()}),as=(0,c.lazySchema)(()=>(0,c.zodSchema)(e.z.object({results:e.z.array(ar),pagination_token:e.z.string().nullish()}))),at=class{constructor(a){this.options=a}async startBatch(a){var b,d;let e=[],f=null==a.webhookUrl?[]:[{warning:{type:"unsupported",feature:"webhookUrl",details:"The xAI Batch API does not support per-batch webhook URLs."}}],g=await (0,c.parseProviderOptions)({provider:"xai",providerOptions:a.providerOptions,schema:ao});for(let b of a.requests){let a=await this.options.prepareRequest(b);for(let c of(e.push(JSON.stringify({custom_id:b.id,method:"POST",url:"/v1/responses",body:a.body}),"\n"),a.warnings))f.push({requestId:b.id,warning:c})}let h=new Blob(e,{type:"application/jsonl"});e.length=0;let i=new FormData;(null==g?void 0:g.inputFileExpiresAfter)!=null&&i.append("expires_after",String(g.inputFileExpiresAfter)),i.append("file",h,"batch.jsonl");let j=(0,c.combineHeaders)(null==(d=(b=this.options.config).headers)?void 0:d.call(b),a.headers),{value:k}=await (0,c.postFormDataToApi)({url:this.getUrl("/files"),headers:j,formData:i,failedResponseHandler:v,successfulResponseHandler:(0,c.createJsonResponseHandler)(F),abortSignal:a.abortSignal,fetch:this.options.config.fetch}),{value:l}=await (0,c.postJsonToApi)({url:this.getUrl("/batches"),headers:j,body:{name:"ai-sdk-text-batch",input_file_id:k.id},failedResponseHandler:v,successfulResponseHandler:(0,c.createJsonResponseHandler)(ap),abortSignal:a.abortSignal,fetch:this.options.config.fetch});return{batchId:l.batch_id,...av(l),providerMetadata:{xai:{inputFileId:k.id,...null!=k.expires_at?{inputFileExpiresAt:new Date(1e3*k.expires_at).toISOString()}:{}}},warnings:f}}async getBatchStatus(a){return av(await this.retrieveBatch(a))}async getBatchResults(a){if("pending"===av(await this.retrieveBatch(a)).status)throw new b.InvalidArgumentError({argument:"batchId",message:`xAI batch "${a.batchId}" is not complete.`});return(0,c.convertAsyncIteratorToReadableStream)(this.iterateBatchResults(a))}async retrieveBatch(a){var b,d;let{value:e}=await (0,c.getFromApi)({url:this.getUrl(`/batches/${encodeURIComponent(a.batchId)}`),headers:(0,c.combineHeaders)(null==(d=(b=this.options.config).headers)?void 0:d.call(b),a.headers),failedResponseHandler:v,successfulResponseHandler:(0,c.createJsonResponseHandler)(ap),abortSignal:a.abortSignal,fetch:this.options.config.fetch,validateUrl:!1});return e}async *iterateBatchResults(a){var b,d,e;let f;do{let g=new URLSearchParams({limit:String(1e3)});null!=f&&g.set("pagination_token",f);let{value:h}=await (0,c.getFromApi)({url:this.getUrl(`/batches/${encodeURIComponent(a.batchId)}/results?${g}`),headers:(0,c.combineHeaders)(null==(d=(b=this.options.config).headers)?void 0:d.call(b),a.headers),failedResponseHandler:v,successfulResponseHandler:(0,c.createJsonResponseHandler)(as),abortSignal:a.abortSignal,fetch:this.options.config.fetch,validateUrl:!1});for(let a of h.results)yield await this.convertBatchResult(a);f=null!=(e=h.pagination_token)?e:void 0}while(null!=f)}async convertBatchResult(a){var b,d,e,f,g,k,l,m,n;let o=null==(b=a.batch_result)?void 0:b.error;if((null!=(e=null==(d=a.error_message)?void 0:d.length)?e:0)>0||(null==o?void 0:o.code)!=null&&0!==o.code&&"0"!==o.code||(null==o?void 0:o.code)==null&&(null!=(g=null==(f=null==o?void 0:o.message)?void 0:f.length)?g:0)>0){let b,c,d=(b=null==(m=(l=a).batch_result)?void 0:m.error,{message:l.error_message||(null==b?void 0:b.message)||"xAI batch request failed.",...(null==b?void 0:b.code)!=null&&0!==b.code&&"0"!==b.code?{code:String(b.code)}:{}});return{id:a.batch_request_id,status:(c=String(n=null==o?void 0:o.code).toLowerCase(),1===n||"1"===c||"cancelled"===c||"batch_cancelled"===c)?"cancelled":"failed",error:d}}let p=null==(k=a.batch_result)?void 0:k.response;if((null==p?void 0:p.chat_get_completion)!=null){let b=await (0,c.safeValidateTypes)({value:p.chat_get_completion,schema:z});if(!b.success)return aw(a.batch_request_id);let d=function(a){var b,d,e,f,g,k;let l;if(null!=a.error)return{success:!1,error:{message:a.error,...null!=a.code?{code:a.code}:{}}};let m=a.choices;if(null==m||0===m.length)return{success:!1,error:{message:"xAI returned a batch response without any choices.",code:"invalid_response"}};let n=[],o=new Set(m.filter(a=>"tool"===a.message.role).flatMap(a=>{var b;return(null!=(b=a.message.tool_calls)?b:[]).map(a=>a.id)}));for(let a of m){if("tool"===a.message.role){if(null!=a.message.content)for(let c of null!=(b=a.message.tool_calls)?b:[])n.push({type:"tool-result",toolCallId:c.id,toolName:c.function.name,result:a.message.content,dynamic:!0});continue}for(let b of(l=a,a.message.content&&n.push({type:"text",text:a.message.content}),a.message.reasoning_content&&n.push({type:"reasoning",text:a.message.reasoning_content}),null!=(d=a.message.tool_calls)?d:[]))n.push({type:"tool-call",toolCallId:b.id,toolName:b.function.name,input:b.function.arguments,...o.has(b.id)?{providerExecuted:!0,dynamic:!0}:{}})}for(let b of null!=(e=a.citations)?e:[])n.push({type:"source",sourceType:"url",id:b,url:b});return{success:!0,result:{content:n,finishReason:{unified:j(null==l?void 0:l.finish_reason),raw:null!=(f=null==l?void 0:l.finish_reason)?f:void 0},usage:a.usage?h(a.usage):(0,c.createNullLanguageModelUsage)(),response:i(a),warnings:[],...((null==(g=a.usage)?void 0:g.cost_in_usd_ticks)!=null||null!=a.service_tier)&&{providerMetadata:{xai:{...(null==(k=a.usage)?void 0:k.cost_in_usd_ticks)!=null?{costInUsdTicks:a.usage.cost_in_usd_ticks}:{},...null!=a.service_tier?{serviceTier:a.service_tier}:{}}}}}}}(b.value);return d.success?{id:a.batch_request_id,status:"succeeded",result:d.result}:{id:a.batch_request_id,status:"failed",error:d.error}}return aw(a.batch_request_id)}getUrl(a){var b;return`${null!=(b=this.options.config.baseURL)?b:"https://api.x.ai/v1"}${a}`}},au=class a extends am{static[d.WORKFLOW_SERIALIZE](a){return am[d.WORKFLOW_SERIALIZE](a)}static[d.WORKFLOW_DESERIALIZE](b){return new a(b.modelId,b.config)}constructor(a,b){super(a,b),this.batch=new at({config:b,prepareRequest:async a=>{let{args:b,warnings:c}=await this.getArgs(a.options);return{body:b,warnings:c}}})}experimental_doStartBatch(a){return this.batch.startBatch(a)}experimental_doGetBatchStatus(a){return this.batch.getBatchStatus(a)}experimental_doGetBatchResults(a){return this.batch.getBatchResults(a)}};function av(a){var b,d,e,f,g,h;let i=(0,c.normalizeBatchRequestCounts)({total:null==(b=a.state)?void 0:b.num_requests,pending:null==(d=a.state)?void 0:d.num_pending,completed:null==(e=a.state)?void 0:e.num_success,failed:(null==(f=a.state)?void 0:f.num_error)!=null&&(null==(g=a.state)?void 0:g.num_cancelled)!=null?a.state.num_error+a.state.num_cancelled:void 0}),j=null!=a.cancel_time||null!=a.cancel_by_xai_message,k=function(a){if(null==a)return!1;let b=Date.parse(a);return!Number.isNaN(b)&&b<=Date.now()}(a.expire_time);return{status:j||k?"failed":null!=i&&i.total>0&&0===i.pending?"completed":"pending",...null!=i?{requestCounts:i}:{},...j?{error:{message:null!=(h=a.cancel_by_xai_message)?h:`xAI batch "${a.batch_id}" was cancelled.`,code:"batch_cancelled"}}:k?{error:{message:`xAI batch "${a.batch_id}" expired.`,code:"batch_expired"}}:{},...null!=a.create_time?{createdAt:a.create_time}:{},...null!=a.expire_time?{expiresAt:a.expire_time}:{}}}function aw(a){return{id:a,status:"failed",error:{message:"xAI returned an invalid Responses batch result.",code:"invalid_response"}}}function ax(a){var b;let c={};null!=a.instructions&&(c.instructions=a.instructions),null!=a.voice&&(c.voice=a.voice);let d={};if(null!=a.inputAudioFormat&&(d.input={format:{type:a.inputAudioFormat.type,...null!=a.inputAudioFormat.rate?{rate:a.inputAudioFormat.rate}:{}}}),null!=a.outputAudioFormat&&(d.output={format:{type:a.outputAudioFormat.type,...null!=a.outputAudioFormat.rate?{rate:a.outputAudioFormat.rate}:{}}}),Object.keys(d).length>0&&(c.audio=d),null!=a.turnDetection)if("disabled"===a.turnDetection.type)c.turn_detection=null;else{let b={type:"server_vad"};null!=a.turnDetection.threshold&&(b.threshold=a.turnDetection.threshold),null!=a.turnDetection.silenceDurationMs&&(b.silence_duration_ms=a.turnDetection.silenceDurationMs),null!=a.turnDetection.prefixPaddingMs&&(b.prefix_padding_ms=a.turnDetection.prefixPaddingMs),c.turn_detection=b}if(null!=a.tools&&a.tools.length>0&&(c.tools=a.tools.map(a=>({type:a.type,name:a.name,description:a.description,parameters:a.parameters}))),null!=a.providerOptions){let d=a.providerOptions;if(Array.isArray(d.tools)){let a=null!=(b=c.tools)?b:[];c.tools=[...a,...d.tools]}for(let[a,b]of Object.entries(d))"tools"!==a&&(c[a]=b)}return c}var ay=class{constructor(a,b){this.specificationVersion="v4",this.modelId=a,this.provider=b.provider,this.config=b}async doCreateClientSecret(a){var b;let c=null!=(b=this.config.fetch)?b:fetch,d=`${this.config.baseURL}/realtime/client_secrets`,e={};null!=a.expiresAfterSeconds&&(e.expires_after={seconds:a.expiresAfterSeconds});let f=await c(d,{method:"POST",headers:{...this.config.headers(),"Content-Type":"application/json"},body:JSON.stringify(e)});if(!f.ok){let a=await f.text();throw Error(`xAI realtime client secret request failed: ${f.status} ${a}`)}let g=await f.json();return{token:g.value,url:`wss://${new URL(this.config.baseURL).host}/v1/realtime?model=${encodeURIComponent(this.modelId)}`,expiresAt:g.expires_at}}getWebSocketConfig(a){return{url:a.url,protocols:[`xai-client-secret.${a.token}`]}}parseServerEvent(a){return function(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t;let u=a.type;switch(u){case"session.created":return{type:"session-created",sessionId:null==(b=a.session)?void 0:b.id,raw:a};case"session.updated":return{type:"session-updated",raw:a};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:u,raw:a};case"input_audio_buffer.speech_started":return{type:"speech-started",itemId:a.item_id,raw:a};case"input_audio_buffer.speech_stopped":return{type:"speech-stopped",itemId:a.item_id,raw:a};case"input_audio_buffer.committed":return{type:"audio-committed",itemId:a.item_id,previousItemId:a.previous_item_id,raw:a};case"conversation.item.added":return{type:"conversation-item-added",itemId:null!=(d=null==(c=a.item)?void 0:c.id)?d:a.item_id,item:a.item,raw:a};case"conversation.item.input_audio_transcription.completed":return{type:"input-transcription-completed",itemId:a.item_id,transcript:null!=(e=a.transcript)?e:"",raw:a};case"response.created":return{type:"response-created",responseId:null!=(g=null==(f=a.response)?void 0:f.id)?g:a.response_id,raw:a};case"response.done":return{type:"response-done",responseId:null!=(i=null==(h=a.response)?void 0:h.id)?i:a.response_id,status:null!=(k=null==(j=a.response)?void 0:j.status)?k:"completed",raw:a};case"response.output_item.added":return{type:"output-item-added",responseId:a.response_id,itemId:null!=(m=null==(l=a.item)?void 0:l.id)?m:a.item_id,raw:a};case"response.output_item.done":return{type:"output-item-done",responseId:a.response_id,itemId:null!=(o=null==(n=a.item)?void 0:n.id)?o:a.item_id,raw:a};case"response.content_part.added":return{type:"content-part-added",responseId:a.response_id,itemId:a.item_id,raw:a};case"response.content_part.done":return{type:"content-part-done",responseId:a.response_id,itemId:a.item_id,raw:a};case"response.output_audio.delta":return{type:"audio-delta",responseId:a.response_id,itemId:a.item_id,delta:a.delta,raw:a};case"response.output_audio.done":return{type:"audio-done",responseId:a.response_id,itemId:a.item_id,raw:a};case"response.output_audio_transcript.delta":return{type:"audio-transcript-delta",responseId:a.response_id,itemId:a.item_id,delta:a.delta,raw:a};case"response.output_audio_transcript.done":return{type:"audio-transcript-done",responseId:a.response_id,itemId:a.item_id,transcript:a.transcript,raw:a};case"response.text.delta":return{type:"text-delta",responseId:a.response_id,itemId:a.item_id,delta:a.delta,raw:a};case"response.text.done":return{type:"text-done",responseId:a.response_id,itemId:a.item_id,text:a.text,raw:a};case"response.function_call_arguments.delta":return{type:"function-call-arguments-delta",responseId:a.response_id,itemId:a.item_id,callId:a.call_id,delta:a.delta,raw:a};case"response.function_call_arguments.done":return{type:"function-call-arguments-done",responseId:a.response_id,itemId:a.item_id,callId:a.call_id,name:a.name,arguments:a.arguments,raw:a};case"error":return{type:"error",message:null!=(r=null!=(q=null==(p=a.error)?void 0:p.message)?q:a.message)?r:"Unknown error",code:null!=(t=null==(s=a.error)?void 0:s.code)?t:a.code,raw:a}}}(a)}serializeClientEvent(a){switch(a.type){case"session-update":return{type:"session.update",session:ax(a.config)};case"input-audio-append":return{type:"input_audio_buffer.append",audio:a.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 b=a.item;switch(b.type){case"text-message":return{type:"conversation.item.create",item:{type:"message",role:b.role,content:[{type:"input_text",text:b.text}]}};case"audio-message":return{type:"conversation.item.create",item:{type:"message",role:b.role,content:[{type:"input_audio",audio:b.audio}]}};case"function-call-output":return{type:"conversation.item.create",item:{type:"function_call_output",call_id:b.callId,output:b.output}}}break}case"conversation-item-truncate":break;case"response-create":return{type:"response.create",...null!=a.options?{response:{...null!=a.options.modalities?{modalities:a.options.modalities}:{},...null!=a.options.instructions?{instructions:a.options.instructions}:{}}}:{}};case"response-cancel":return{type:"response.cancel"}}}buildSessionConfig(a){return ax(a)}},az=e.z.object({output:e.z.string().describe("the output of the code execution"),error:e.z.string().optional().describe("any error that occurred")}),aA=(0,c.createProviderExecutedToolFactory)({id:"xai.code_execution",inputSchema:e.z.object({}).describe("no input parameters"),outputSchema:az}),aB=e.z.object({description:e.z.string().describe("description of the image"),objects:e.z.array(e.z.string()).optional().describe("objects detected in the image")}),aC=(0,c.createProviderExecutedToolFactory)({id:"xai.view_image",inputSchema:e.z.object({}).describe("no input parameters"),outputSchema:aB}),aD=e.z.object({transcript:e.z.string().optional().describe("transcript of the video"),description:e.z.string().describe("description of the video content"),duration:e.z.number().optional().describe("duration in seconds")}),aE=(0,c.createProviderExecutedToolFactory)({id:"xai.view_x_video",inputSchema:e.z.object({}).describe("no input parameters"),outputSchema:aD}),aF={codeExecution:(a={})=>aA(a),fileSearch:a=>Y(a),imageGeneration:(a={})=>aa(a),mcpServer:a=>ad(a),viewImage:(a={})=>aC(a),viewXVideo:(a={})=>aE(a),webSearch:(a={})=>ag(a),xSearch:(a={})=>aj(a)},aG=(0,c.lazySchema)(()=>(0,c.zodSchema)(e.z.looseObject({teamId:e.z.string().optional(),filePath:e.z.string().optional(),expiresAfter:e.z.number().int().min(3600).max(2592e3).optional()})));function aH(a){let b=encodeURIComponent(a);return"."===b?"%252E":".."===b?"%252E%252E":b}var aI=class{constructor(a){this.config=a,this.specificationVersion="v4"}get provider(){return this.config.provider}getFileId(a){let c=a.xai;if(null==c||""===c.trim())throw new b.InvalidArgumentError({argument:"file",message:"file reference is missing an 'xai' file id."});return c}getHeaders(a){return(0,c.combineHeaders)(this.config.headers(),a)}async uploadFile({data:a,mediaType:b,filename:d,abortSignal:e,headers:f,providerOptions:g}){var h,i;let j,k;try{j=await (0,c.parseProviderOptions)({provider:"xai",providerOptions:g,schema:aG})}catch(b){throw"stream"===a.type&&await a.stream.cancel(b).catch(()=>{}),b}let l=this.getHeaders(f),m=`${this.config.baseURL}/files`;if("stream"===a.type){let f=[];(null==j?void 0:j.expiresAfter)!=null&&f.push({type:"field",name:"expires_after",value:String(j.expiresAfter)}),(null==j?void 0:j.teamId)!=null&&f.push({type:"field",name:"team_id",value:j.teamId}),f.push({type:"file",name:"file",filename:d,mediaType:b,content:a.stream}),{value:k}=await (0,c.postMultipartStreamToApi)({url:m,headers:l,parts:f,failedResponseHandler:v,successfulResponseHandler:(0,c.createJsonResponseHandler)(F),abortSignal:e,fetch:this.config.fetch})}else{let f=new Blob([(0,c.convertInlineFileDataToUint8Array)(a)],{type:b}),g=new FormData;(null==j?void 0:j.expiresAfter)!=null&&g.append("expires_after",String(j.expiresAfter)),(null==j?void 0:j.teamId)!=null&&g.append("team_id",j.teamId),null!=d?g.append("file",f,d):g.append("file",f),{value:k}=await (0,c.postFormDataToApi)({url:m,headers:l,formData:g,failedResponseHandler:v,successfulResponseHandler:(0,c.createJsonResponseHandler)(F),abortSignal:e,fetch:this.config.fetch})}return{warnings:[],providerReference:{xai:k.id},...(null!=(h=k.filename)?h:d)?{filename:null!=(i=k.filename)?i:d}:{},...null!=b?{mediaType:b}:{},...null!=k.bytes?{byteSize:k.bytes}:{},...null!=k.created_at?{createdAt:new Date(1e3*k.created_at)}:{},...null!=k.expires_at?{expiresAt:new Date(1e3*k.expires_at)}:{},providerMetadata:{xai:this.toFileMetadata(k)}}}async getFileMetadata({file:a,abortSignal:b,headers:d}){let e=this.getFileId(a),{value:f}=await (0,c.getFromApi)({url:`${this.config.baseURL}/files/${aH(e)}`,headers:this.getHeaders(d),failedResponseHandler:v,successfulResponseHandler:(0,c.createJsonResponseHandler)(F),abortSignal:b,fetch:this.config.fetch,validateUrl:!1});return{warnings:[],providerReference:{xai:f.id},...null!=f.filename?{filename:f.filename}:{},...null!=f.bytes?{byteSize:f.bytes}:{},...null!=f.created_at?{createdAt:new Date(1e3*f.created_at)}:{},...null!=f.expires_at?{expiresAt:new Date(1e3*f.expires_at)}:{},providerMetadata:{xai:this.toFileMetadata(f)}}}async downloadFile({file:a,abortSignal:b,headers:d}){var e;let f=this.getFileId(a),{value:g,responseHeaders:h}=await (0,c.getFromApi)({url:`${this.config.baseURL}/files/${aH(f)}/content`,headers:this.getHeaders(d),failedResponseHandler:v,successfulResponseHandler:(0,c.createBinaryStreamResponseHandler)(),abortSignal:b,fetch:this.config.fetch,validateUrl:!1}),i=null==(e=null==h?void 0:h["content-type"])?void 0:e.split(";")[0].trim();return{warnings:[],content:g,...i?{mediaType:i}:{}}}async deleteFile({file:a,abortSignal:b,headers:d}){let e=this.getFileId(a),{value:f}=await (0,c.deleteFromApi)({url:`${this.config.baseURL}/files/${aH(e)}`,headers:this.getHeaders(d),failedResponseHandler:v,successfulResponseHandler:(0,c.createJsonResponseHandler)(G),abortSignal:b,fetch:this.config.fetch});return{warnings:[],providerReference:{xai:f.id},deleted:f.deleted}}toFileMetadata(a){return{...null!=a.filename?{filename:a.filename}:{},...null!=a.purpose?{purpose:a.purpose}:{},...null!=a.bytes?{bytes:a.bytes}:{},...null!=a.created_at?{createdAt:a.created_at}:{},...null!=a.status?{status:a.status}:{},...null!=a.expires_at?{expiresAt:a.expires_at}:{}}}},aJ=e.z.string().min(1),aK=e.z.enum(["480p","720p","1080p"]),aL=e.z.enum(["edit-video","extend-video","reference-to-video"]),aM={pollIntervalMs:e.z.number().positive().nullish(),pollTimeoutMs:e.z.number().positive().nullish(),resolution:aK.nullish()},aN=e.z.looseObject({mode:aL.optional(),videoUrl:aJ.optional(),referenceImageUrls:e.z.array(aJ).min(1).max(7).optional(),referenceVoiceIds:e.z.array(aJ).max(3).optional(),user:e.z.string().optional(),...aM}),aO=(0,c.lazySchema)(()=>(0,c.zodSchema)(aN)),aP={"1920x1080":"1080p","1280x720":"720p","854x480":"480p","640x480":"480p"};function aQ(a){var b,c;return null==(c=null==(b=a.frameImages)?void 0:b.find(a=>"first_frame"===a.frameType))?void 0:c.image}var aR=a=>null!=a.mediaType&&"video"===(0,c.getTopLevelMediaType)(a.mediaType),aS=a=>null==a.mediaType||"image"===(0,c.getTopLevelMediaType)(a.mediaType);function aT(a){if("url"===a.type)return a.url;let b="string"==typeof a.data?a.data:(0,c.convertUint8ArrayToBase64)(a.data);return`data:${a.mediaType};base64,${b}`}function aU(a){var b,c;return null!=(c=null==(b=a.inputReferences)?void 0:b.some(aS))&&c}var aV=class{constructor(a,b){this.modelId=a,this.config=b,this.specificationVersion="v4",this.maxVideosPerCall=1}get provider(){return this.config.provider}async buildRequestBody(a){var b,d,e;let f=[],g=await (0,c.parseProviderOptions)({provider:"xai",providerOptions:a.providerOptions,schema:aO}),h=function(a,b){if((null==b?void 0:b.mode)!=null)return b.mode;if((null==b?void 0:b.videoUrl)!=null)return"edit-video";let c=null!=a.frameImages&&a.frameImages.length>0,d=(null==b?void 0:b.referenceImageUrls)!=null&&b.referenceImageUrls.length>0;if(!c&&(aU(a)||d))return"reference-to-video"}(a,g),i="edit-video"===h,j="extend-video"===h,k="reference-to-video"===h;null!=a.fps&&f.push({type:"unsupported",feature:"fps",details:"xAI video models do not support custom FPS."}),null!=a.seed&&f.push({type:"unsupported",feature:"seed",details:"xAI video models do not support seed."}),null!=a.n&&a.n>1&&f.push({type:"unsupported",feature:"n",details:"xAI video models do not support generating multiple videos per call. Only 1 video will be generated."}),i&&null!=a.duration&&f.push({type:"unsupported",feature:"duration",details:"xAI video editing does not support custom duration."}),i&&null!=a.aspectRatio&&f.push({type:"unsupported",feature:"aspectRatio",details:"xAI video editing does not support custom aspect ratio."}),i&&((null==g?void 0:g.resolution)!=null||null!=a.resolution)&&f.push({type:"unsupported",feature:"resolution",details:"xAI video editing does not support custom resolution."}),j&&null!=a.aspectRatio&&f.push({type:"unsupported",feature:"aspectRatio",details:"xAI video extension does not support custom aspect ratio."}),j&&((null==g?void 0:g.resolution)!=null||null!=a.resolution)&&f.push({type:"unsupported",feature:"resolution",details:"xAI video extension does not support custom resolution."});let l={model:this.modelId,prompt:a.prompt},m=!i&&!j;if(i||null==a.duration||(l.duration=a.duration),i||j||null==a.aspectRatio||(l.aspect_ratio=a.aspectRatio),m&&(null==g?void 0:g.resolution)!=null)l.resolution=g.resolution;else if(m&&null!=a.resolution){let b=aP[a.resolution];null!=b?l.resolution=b:f.push({type:"unsupported",feature:"resolution",details:`Unrecognized resolution "${a.resolution}". Use providerOptions.xai.resolution with "480p", "720p", or "1080p" instead.`})}i&&(l.video={url:g.videoUrl}),j&&(l.video={url:g.videoUrl});let n=null!=(b=aQ(a))?b:a.image;if(null!=n)if(aR(n)){let b=null!=aQ(a);f.push({type:"unsupported",feature:b?"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 l.image={url:aT(n)};let o=null==(e=null==(d=a.frameImages)?void 0:d.find(a=>"last_frame"===a.frameType))?void 0:e.image;if(null!=o&&f.push({type:"unsupported",feature:"frameImages",details:aR(o)?'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.'}),k){let b=function(a,b,c){if(null!=a.inputReferences&&a.inputReferences.length>0){let b=[];for(let d of a.inputReferences){if(!aS(d)){c.push({type:"unsupported",feature:"inputReferences",details:aR(d)?'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}b.push(d)}return b.length>0?b.map(a=>({url:aT(a)})):void 0}if((null==b?void 0:b.referenceImageUrls)!=null&&b.referenceImageUrls.length>0)return b.referenceImageUrls.map(a=>({url:a}))}(a,g,f);null!=b?l.reference_images=b:f.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 c=null==g?void 0:g.referenceVoiceIds;null!=c&&c.length>0&&(l.reference_audios=c.map(a=>({voice_id:a}))),"1080p"===l.resolution&&(f.push({type:"unsupported",feature:"resolution",details:"xAI reference-to-video is limited to 720p. The request was downgraded from 1080p to 720p."}),l.resolution="720p")}if("1080p"===l.resolution&&"grok-imagine-video"===this.modelId&&f.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!=a.inputReferences&&a.inputReferences.length>0&&!k&&f.push({type:"unsupported",feature:"inputReferences",details:aU(a)?"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==g?void 0:g.referenceVoiceIds)!=null&&g.referenceVoiceIds.length>0&&!k&&f.push({type:"unsupported",feature:"referenceVoiceIds",details:"xAI only supports reference voices for reference-to-video generation. The reference voices were ignored."}),j||(null==g?void 0:g.user)===void 0||(l.user=g.user),null!=g)for(let[a,b]of Object.entries(g))["mode","pollIntervalMs","pollTimeoutMs","resolution","videoUrl","referenceImageUrls","referenceVoiceIds","user"].includes(a)||(l[a]=b);return{body:l,warnings:f,xaiOptions:g,isEdit:i,isExtension:j,hasReferenceImages:k,effectiveMode:h}}async doStart(a){var d,e,f,g;let h,i=null!=(f=null==(e=null==(d=this.config._internal)?void 0:d.currentDate)?void 0:e.call(d))?f:new Date,{body:j,warnings:k,isEdit:l,isExtension:m}=await this.buildRequestBody(a),n=null!=(g=this.config.baseURL)?g:"https://api.x.ai/v1";h=l?`${n}/videos/edits`:m?`${n}/videos/extensions`:`${n}/videos/generations`;let{value:o,responseHeaders:p}=await (0,c.postJsonToApi)({url:h,headers:(0,c.combineHeaders)(this.config.headers(),a.headers),body:j,failedResponseHandler:v,successfulResponseHandler:(0,c.createJsonResponseHandler)(aW),abortSignal:a.abortSignal,fetch:this.config.fetch}),q=o.request_id;if(!q)throw new b.AISDKError({name:"XAI_VIDEO_GENERATION_ERROR",message:"No request_id returned from xAI API."});return{operation:{requestId:q},warnings:k,response:{timestamp:i,modelId:this.modelId,headers:p}}}async doStatus(a){var b,d,e,f,g,h,i,j,k,l,m;let n,o=null!=(e=null==(d=null==(b=this.config._internal)?void 0:b.currentDate)?void 0:d.call(b))?e:new Date,{requestId:p}=a.operation,q=null!=(f=this.config.baseURL)?f:"https://api.x.ai/v1",{value:r,responseHeaders:s}=await (0,c.getFromApi)({url:`${q}/videos/${"."===(n=encodeURIComponent(p))?"%252E":".."===n?"%252E%252E":n}`,validateUrl:!1,headers:(0,c.combineHeaders)(this.config.headers(),a.headers),successfulResponseHandler:a_,failedResponseHandler:v,abortSignal:a.abortSignal,fetch:this.config.fetch});if("expired"===r.status)return{status:"error",error:"Video generation request expired.",response:{timestamp:o,modelId:this.modelId,headers:s}};if("failed"===r.status){let a=null!=(i=null==(g=r.error)?void 0:g.message)?i:null==(h=r.error)?void 0:h.code;return{status:"error",error:null!=a?`Video generation failed: ${a}`:"Video generation failed.",response:{timestamp:o,modelId:this.modelId,headers:s}}}return"done"===r.status||null==r.status&&(null==(j=r.video)?void 0:j.url)?(null==(k=r.video)?void 0:k.respect_moderation)===!1?{status:"error",error:"Video generation was blocked due to a content policy violation.",response:{timestamp:o,modelId:this.modelId,headers:s}}:(null==(l=r.video)?void 0:l.url)?{status:"completed",videos:[{type:"url",url:r.video.url,mediaType:"video/mp4"}],warnings:[],response:{timestamp:o,modelId:this.modelId,headers:s},providerMetadata:{xai:{requestId:p,videoUrl:r.video.url,...null!=r.video.duration?{duration:r.video.duration}:{},...(null==(m=r.usage)?void 0:m.cost_in_usd_ticks)!=null?{costInUsdTicks:r.usage.cost_in_usd_ticks}:{},...null!=r.progress?{progress:r.progress}:{}}}}:{status:"error",error:"Video generation completed but no video URL was returned.",response:{timestamp:o,modelId:this.modelId,headers:s}}:{status:"pending",response:{timestamp:o,modelId:this.modelId,headers:s}}}},aW=e.z.object({request_id:e.z.string().nullish()}),aX=e.z.object({status:e.z.string().nullish(),video:e.z.object({url:e.z.string(),duration:e.z.number().nullish(),respect_moderation:e.z.boolean().nullish()}).nullish(),model:e.z.string().nullish(),usage:e.z.object({cost_in_usd_ticks:e.z.number().nullish()}).nullish(),progress:e.z.number().nullish(),error:e.z.object({code:e.z.string().nullish(),message:e.z.string().nullish()}).nullish()}),aY=(0,c.createJsonResponseHandler)(aX),aZ=new TextDecoder;async function a$({response:a,url:d,requestBodyValues:e}){if(null==a.body)return"";let f=a.body.getReader(),g=[],h=0;try{for(;;){let{done:i,value:j}=await f.read();if(i)break;if((h+=j.length)>1048576)throw new b.APICallError({message:"xAI video status response exceeded 1048576 bytes",url:d,requestBodyValues:e,statusCode:a.status,responseHeaders:(0,c.extractResponseHeaders)(a)});g.push(j)}}finally{f.releaseLock()}let i=new Uint8Array(h),j=0;for(let a of g)i.set(a,j),j+=a.length;return aZ.decode(i)}var a_=async a=>{if(202===a.response.status){let b=(0,c.extractResponseHeaders)(a.response),d=await a$(a);if(0===d.trim().length)return{responseHeaders:b,value:{status:"pending"}};let e=await (0,c.safeParseJSON)({text:d,schema:aX});return{responseHeaders:b,value:e.success?e.value:{status:"pending"}}}return aY(a)},a0=(0,c.lazySchema)(()=>(0,c.zodSchema)(e.z.object({sampleRate:e.z.union([e.z.literal(8e3),e.z.literal(16e3),e.z.literal(22050),e.z.literal(24e3),e.z.literal(44100),e.z.literal(48e3)]).nullish(),bitRate:e.z.union([e.z.literal(32e3),e.z.literal(64e3),e.z.literal(96e3),e.z.literal(128e3),e.z.literal(192e3)]).nullish(),optimizeStreamingLatency:e.z.union([e.z.literal(0),e.z.literal(1),e.z.literal(2)]).nullish(),textNormalization:e.z.boolean().nullish(),withTimestamps:e.z.boolean().nullish(),replace:e.z.record(e.z.string(),e.z.string()).nullish()}))),a1=class a{constructor(a,b){this.modelId=a,this.config=b,this.specificationVersion="v4"}static[d.WORKFLOW_SERIALIZE](a){return(0,c.serializeModelOptions)({modelId:a.modelId,config:a.config})}static[d.WORKFLOW_DESERIALIZE](b){return new a(b.modelId,b.config)}get provider(){return this.config.provider}async getArgs({text:a,voice:b="eve",outputFormat:d="mp3",instructions:e,speed:f,language:g="auto",providerOptions:h}){let i=[],j=await (0,c.parseProviderOptions)({provider:"xai",providerOptions:h,schema:a0}),k="mp3";["mp3","wav","pcm","mulaw","alaw"].includes(d)?k=d:i.push({type:"unsupported",feature:"outputFormat",details:`Unsupported output format: ${d}. Using mp3 instead.`}),null!=e&&i.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 l={codec:k};return(null==j?void 0:j.sampleRate)!=null&&(l.sample_rate=j.sampleRate),(null==j?void 0:j.bitRate)!=null&&("mp3"===k?l.bit_rate=j.bitRate:i.push({type:"unsupported",feature:"providerOptions",details:"xAI `bitRate` is supported only for mp3 output. It was ignored."})),{requestBody:{text:a,voice_id:b,language:g,output_format:l,speed:f,optimize_streaming_latency:null==j?void 0:j.optimizeStreamingLatency,text_normalization:null==j?void 0:j.textNormalization,with_timestamps:null==j?void 0:j.withTimestamps,replace:null==j?void 0:j.replace},warnings:i,withTimestamps:(null==j?void 0:j.withTimestamps)===!0}}async doGenerate(a){var b,d,e;let f,g,h=null!=(e=null==(d=null==(b=this.config._internal)?void 0:b.currentDate)?void 0:d.call(b))?e:new Date,{requestBody:i,warnings:j,withTimestamps:k}=await this.getArgs(a),{value:l,responseHeaders:m,rawValue:n}=await (0,c.postJsonToApi)({url:`${this.config.baseURL}/tts`,headers:(0,c.combineHeaders)(this.config.headers?await (0,c.resolve)(this.config.headers):void 0,a.headers),body:i,failedResponseHandler:v,successfulResponseHandler:k?(0,c.createJsonResponseHandler)(a2):(0,c.createBinaryResponseHandler)(),abortSignal:a.abortSignal,fetch:this.config.fetch});f=l instanceof Uint8Array?l:null!=(g=l).audio?(0,c.convertBase64ToUint8Array)(g.audio):new Uint8Array(0);let o=null==m?void 0:m["x-trace-id"];return{audio:f,warnings:j,request:{body:JSON.stringify(i)},response:{timestamp:h,modelId:this.modelId,headers:m,body:n},providerMetadata:{xai:{...null!=o?{traceId:o}:{},...(null==g?void 0:g.duration)!=null?{duration:g.duration}:{},...(null==g?void 0:g.content_type)!=null?{contentType:g.content_type}:{},...(null==g?void 0:g.audio_timestamps)!=null?{audioTimestamps:{graphChars:g.audio_timestamps.graph_chars,graphTimes:g.audio_timestamps.graph_times}}:{}}}}}},a2=e.z.object({audio:e.z.string().nullish(),content_type:e.z.string().nullish(),duration:e.z.number().nullish(),audio_timestamps:e.z.object({graph_chars:e.z.array(e.z.string()),graph_times:e.z.array(e.z.tuple([e.z.number(),e.z.number()]))}).nullish()}),a3=(0,c.lazySchema)(()=>(0,c.zodSchema)(e.z.object({audioFormat:e.z.enum(["pcm","mulaw","alaw"]).nullish(),sampleRate:e.z.union([e.z.literal(8e3),e.z.literal(16e3),e.z.literal(22050),e.z.literal(24e3),e.z.literal(44100),e.z.literal(48e3)]).nullish(),language:e.z.string().nullish(),format:e.z.boolean().nullish(),multichannel:e.z.boolean().nullish(),channels:e.z.number().int().min(2).max(8).nullish(),diarize:e.z.boolean().nullish(),keyterm:e.z.union([e.z.string(),e.z.array(e.z.string())]).nullish(),fillerWords:e.z.boolean().nullish(),streaming:e.z.object({interimResults:e.z.boolean().optional(),endpointing:e.z.number().int().min(0).max(5e3).optional(),smartTurn:e.z.number().min(0).max(1).optional(),smartTurnTimeout:e.z.number().int().min(1).max(5e3).optional()}).optional()}))),a4=class a{constructor(a,b){this.modelId=a,this.config=b,this.specificationVersion="v4"}static[d.WORKFLOW_SERIALIZE](a){return(0,c.serializeModelOptions)({modelId:a.modelId,config:a.config})}static[d.WORKFLOW_DESERIALIZE](b){return new a(b.modelId,b.config)}get provider(){return this.config.provider}async getArgs({audio:a,mediaType:b,providerOptions:d}){let e=await (0,c.parseProviderOptions)({provider:"xai",providerOptions:d,schema:a3}),f=new FormData;for(let[a,b]of Object.entries({audio_format:null==e?void 0:e.audioFormat,sample_rate:null==e?void 0:e.sampleRate,language:null==e?void 0:e.language,format:null==e?void 0:e.format,multichannel:null==e?void 0:e.multichannel,channels:null==e?void 0:e.channels,diarize:null==e?void 0:e.diarize,filler_words:null==e?void 0:e.fillerWords}))null!=b&&f.append(a,String(b));if((null==e?void 0:e.keyterm)!=null)for(let a of Array.isArray(e.keyterm)?e.keyterm:[e.keyterm])f.append("keyterm",a);let g=a instanceof Uint8Array?new Blob([a]):new Blob([(0,c.convertBase64ToUint8Array)(a)]),h=(0,c.mediaTypeToExtension)(b);return f.append("file",new File([g],"audio",{type:b}),`audio.${h}`),{formData:f,warnings:[]}}async doGenerate(a){var b,d,e,f,g,h,i,j,k;let l=null!=(e=null==(d=null==(b=this.config._internal)?void 0:b.currentDate)?void 0:d.call(b))?e:new Date,{formData:m,warnings:n}=await this.getArgs(a),{value:o,responseHeaders:p,rawValue:q}=await (0,c.postFormDataToApi)({url:`${null!=(f=this.config.baseURL)?f:"https://api.x.ai/v1"}/stt`,headers:(0,c.combineHeaders)(null==(h=(g=this.config).headers)?void 0:h.call(g),a.headers),formData:m,failedResponseHandler:v,successfulResponseHandler:(0,c.createJsonResponseHandler)(a6),abortSignal:a.abortSignal,fetch:this.config.fetch});return{text:o.text,segments:null!=(j=null==(i=o.words)?void 0:i.map(a=>({text:a.text,startSecond:a.start,endSecond:a.end})))?j:[],language:o.language||void 0,durationInSeconds:null!=(k=o.duration)?k:void 0,warnings:n,response:{timestamp:l,modelId:this.modelId,headers:p,body:q}}}async doStream(a){var d,e,f,g,h,i,j,k;let l=null!=(f=null==(e=null==(d=this.config._internal)?void 0:d.currentDate)?void 0:e.call(d))?f:new Date,m=[],n=await (0,c.parseProviderOptions)({provider:"xai",providerOptions:a.providerOptions,schema:a3});if((null==n?void 0:n.multichannel)===!0&&null==n.channels)throw new b.InvalidArgumentError({argument:"providerOptions",message:"providerOptions.xai.channels is required when providerOptions.xai.multichannel is true"});(null==n?void 0:n.format)!=null&&m.push({type:"unsupported",feature:"providerOptions.xai.format",details:"xAI streaming transcription does not support format."}),(null==n?void 0:n.audioFormat)==null&&"audio/pcm"!==(k=a.inputAudioFormat.type)&&"audio/pcmu"!==k&&"audio/pcma"!==k&&m.push({type:"other",message:`Unrecognized inputAudioFormat.type "${a.inputAudioFormat.type}"; falling back to raw PCM encoding. Use audio/pcm, audio/pcmu, or audio/pcma, or set providerOptions.xai.audioFormat explicitly.`});let o=function({baseURL:a,inputAudioFormat:b,providerOptions:d}){var e,f,g,h,i,j;let k=(0,c.toWebSocketUrl)(`${a}/stt`);if(a5(k,"sample_rate",null!=(e=null==d?void 0:d.sampleRate)?e:b.rate),a5(k,"encoding",null!=(f=null==d?void 0:d.audioFormat)?f:function(a){switch(a){case"audio/pcmu":return"mulaw";case"audio/pcma":return"alaw";default:return"pcm"}}(b.type)),a5(k,"language",null==d?void 0:d.language),a5(k,"diarize",null==d?void 0:d.diarize),a5(k,"filler_words",null==d?void 0:d.fillerWords),a5(k,"multichannel",null==d?void 0:d.multichannel),a5(k,"channels",null==d?void 0:d.channels),a5(k,"interim_results",null==(g=null==d?void 0:d.streaming)?void 0:g.interimResults),a5(k,"endpointing",null==(h=null==d?void 0:d.streaming)?void 0:h.endpointing),a5(k,"smart_turn",null==(i=null==d?void 0:d.streaming)?void 0:i.smartTurn),a5(k,"smart_turn_timeout",null==(j=null==d?void 0:d.streaming)?void 0:j.smartTurnTimeout),(null==d?void 0:d.keyterm)!=null)for(let a of Array.isArray(d.keyterm)?d.keyterm:[d.keyterm])k.searchParams.append("keyterm",a);return k}({baseURL:null!=(g=this.config.baseURL)?g:"https://api.x.ai/v1",inputAudioFormat:a.inputAudioFormat,providerOptions:n}),p=(0,c.combineHeaders)(null==(i=(h=this.config).headers)?void 0:i.call(h),a.headers);return{request:{body:o.toString()},response:{timestamp:l,modelId:this.modelId},stream:function({webSocket:a,url:b,headers:d,warnings:e,language:f,expectedDoneCount:g,audio:h,abortSignal:i,includeRawChunks:j}){let k=!1,l=()=>{};return new ReadableStream({start:m=>{let n,o,p,q=new Map,r=new Map,s=new Map;l=a=>{null!=o?o.cancel().catch(()=>{}):h.cancel().catch(()=>{}),null==p||p.close(a)};let t=a=>{k||(k=!0,l(),m.error(a))},u=async a=>{o=h.getReader();try{for(;;){let{done:b,value:d}=await o.read();if(b||k)break;a.send(d instanceof Uint8Array?d:(0,c.convertBase64ToUint8Array)(d)),await (0,c.waitForWebSocketBufferDrain)(a)}}finally{o.releaseLock(),o=void 0}k||a.send(JSON.stringify({type:"audio.done"}))};p=(0,c.connectToWebSocket)({url:b,headers:d,webSocket:a,abortSignal:i,onAbort:t,onProcessingError:t,onMessageText:async a=>{var b,d,h,i,o,v,w,x,y,z,A;let B=await (0,c.safeParseJSON)({text:a});if(!B.success)return;let C=B.value;switch(j&&m.enqueue({type:"raw",rawValue:C}),C.type){case"transcript.created":{m.enqueue({type:"stream-start",warnings:e});let a=null==p?void 0:p.socket;if(null==a){t(Error("WebSocket is not connected."));break}u(a).catch(t);break}case"transcript.partial":{let a=null==(z=C.channel_index)?void 0:`channel-${z}`,c=null!=(b=C.channel_index)?b:0;if(C.is_final&&C.speech_final){let b={...null!=(A=C).start?{startSecond:A.start}:{},...null!=A.start&&null!=A.duration?{endSecond:A.start+A.duration}:{}};C.text&&r.set(c,[...null!=(d=r.get(c))?d:[],C.text]),s.delete(c),m.enqueue({type:"transcript-final",id:a,text:null!=(h=C.text)?h:"",...b,channelIndex:C.channel_index})}else s.set(c,null!=(i=C.text)?i:""),m.enqueue({type:"transcript-partial",id:a,text:null!=(o=C.text)?o:"",startSecond:C.start,durationInSeconds:C.duration,channelIndex:C.channel_index});break}case"transcript.done":{let a=null!=(v=C.channel_index)?v:0,b=[...null!=(w=r.get(a))?w:[],...s.get(a)?[s.get(a)]:[]].join(" ");q.set(a,C.text||b),n=null!=(x=C.duration)?x:n,(()=>{if(k||q.size<g)return;k=!0;let a=[...q.entries()].sort(([a],[b])=>a-b).map(([,a])=>a).join("\n");m.enqueue({type:"finish",text:a,segments:[],language:f,durationInSeconds:n}),m.close(),l(1e3)})();break}case"error":t(Error(null!=(y=C.message)?y:"xAI STT error"))}},onSocketError:()=>{t(Error("xAI streaming transcription error."+(null==a?" 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:()=>{k||(k=!0,l(),m.close())}})},cancel:()=>{k||(k=!0,l())}})}({webSocket:this.config.webSocket,url:o,headers:p,warnings:m,language:null!=(j=null==n?void 0:n.language)?j:void 0,expectedDoneCount:(null==n?void 0:n.multichannel)===!0?n.channels:1,audio:a.audio,abortSignal:a.abortSignal,includeRawChunks:a.includeRawChunks})}}};function a5(a,b,c){null!=c&&a.searchParams.set(b,String(c))}var a6=e.z.object({text:e.z.string(),language:e.z.string().nullish(),duration:e.z.number().nullish(),words:e.z.array(e.z.object({text:e.z.string(),start:e.z.number(),end:e.z.number()})).nullish()});function a7(a={}){var d;let e=(0,c.withoutTrailingSlash)(null!=(d=a.baseURL)?d:"https://api.x.ai/v1"),f=()=>(0,c.withUserAgentSuffix)({Authorization:`Bearer ${(0,c.loadApiKey)({apiKey:a.apiKey,environmentVariableName:"XAI_API_KEY",description:"xAI API key"})}`,...a.headers},"ai-sdk/xai/4.0.54"),g=b=>new au(b,{provider:"xai.responses",baseURL:e,headers:f,generateId:c.generateId,fetch:a.fetch}),h=b=>new D(b,{provider:"xai.image",baseURL:e,headers:f,fetch:a.fetch}),i=b=>new aV(b,{provider:"xai.video",baseURL:e,headers:f,fetch:a.fetch}),j=b=>new ay(b,{provider:"xai.realtime",baseURL:null!=e?e:"https://api.x.ai/v1",headers:f,fetch:a.fetch}),k=()=>new a1("",{provider:"xai.speech",baseURL:e,headers:f,fetch:a.fetch}),l=()=>new a4("",{provider:"xai.transcription",baseURL:e,headers:f,fetch:a.fetch,webSocket:a.webSocket}),m=Object.assign(a=>j(a),{getToken:async a=>{let b=j(a.model),c=await b.doCreateClientSecret({sessionConfig:a.sessionConfig,expiresAfterSeconds:a.expiresAfterSeconds});return{token:c.token,url:c.url,expiresAt:c.expiresAt}}}),n=a=>g(a);return n.specificationVersion="v4",n.languageModel=g,n.chat=b=>new x(b,{provider:"xai.chat",baseURL:e,headers:f,generateId:c.generateId,fetch:a.fetch}),n.responses=g,n.embeddingModel=a=>{throw new b.NoSuchModelError({modelId:a,modelType:"embeddingModel"})},n.textEmbeddingModel=n.embeddingModel,n.imageModel=h,n.image=h,n.videoModel=i,n.video=i,n.experimental_realtime=m,n.speechModel=k,n.speech=k,n.transcriptionModel=l,n.transcription=l,n.files=()=>new aI({provider:"xai.files",baseURL:e,headers:f,fetch:a.fetch}),n.tools=aF,n}a7(),a.s(["createXai",0,a7])},236338,(a,b,c)=>{"use strict";var d=Object.defineProperty,e=Object.getOwnPropertyDescriptor,f=Object.getOwnPropertyNames,g=Object.prototype.hasOwnProperty,h={},i={SYMBOL_FOR_REQ_CONTEXT:()=>k,getContext:()=>l};for(var j in i)d(h,j,{get:i[j],enumerable:!0});b.exports=((a,b,c)=>{if(b&&"object"==typeof b||"function"==typeof b)for(let h of f(b))g.call(a,h)||void 0===h||d(a,h,{get:()=>b[h],enumerable:!(c=e(b,h))||c.enumerable});return a})(d({},"__esModule",{value:!0}),h);let k=Symbol.for("@vercel/request-context");function l(){let a=globalThis;return a[k]?.get?.()??{}}},817547,(a,b,c)=>{"use strict";var d=Object.defineProperty,e=Object.getOwnPropertyDescriptor,f=Object.getOwnPropertyNames,g=Object.prototype.hasOwnProperty,h={},i={getVercelOidcToken:()=>m,getVercelOidcTokenSync:()=>n};for(var j in i)d(h,j,{get:i[j],enumerable:!0});b.exports=((a,b,c)=>{if(b&&"object"==typeof b||"function"==typeof b)for(let h of f(b))g.call(a,h)||void 0===h||d(a,h,{get:()=>b[h],enumerable:!(c=e(b,h))||c.enumerable});return a})(d({},"__esModule",{value:!0}),h);var k=a.r(236338),l=a.r(580949);async function m(b){let c,d="";try{d=n()}catch(a){c=a}try{let[{getTokenPayload:c,isExpired:e},{refreshToken:f}]=await Promise.all([await a.A(682672),await a.A(966249)]);(!d||e(c(d),b?.expirationBufferMs))&&(await f(b),d=n())}catch(b){let a=c instanceof Error?c.message:"";if(b instanceof Error&&(a=`${a}
|
|
146
|
+
${b}`,...null!=a[c].promptCacheBreakpoint&&{prompt_cache_breakpoint:a[c].promptCacheBreakpoint}})):b.join("\n")})}continue}let g=a.output;if("execution-denied"===g.type&&(null==($=null==(Z=g.providerOptions)?void 0:Z.openai)?void 0:$.approvalId))continue;let h=b.toProviderToolName(a.toolName);if(a.toolName===p&&"json"===g.type){let b=await (0,c.validateTypes)({value:g.value,schema:aC});ag.push({type:"tool_search_output",execution:"client",call_id:a.toolCallId,status:"completed",tools:b.tools});continue}if(l&&"local_shell"===h&&"json"===g.type){let b=await (0,c.validateTypes)({value:g.value,schema:at});ag.push({type:"local_shell_call_output",call_id:a.toolCallId,output:b.output});continue}if(m&&"shell"===h&&"json"===g.type){let b=await (0,c.validateTypes)({value:g.value,schema:aw});ag.push({type:"shell_call_output",call_id:a.toolCallId,output:b.output.map(a=>({stdout:a.stdout,stderr:a.stderr,outcome:"timeout"===a.outcome.type?{type:"timeout"}:{type:"exit",exit_code:a.outcome.exitCode}}))});continue}if(n&&"apply_patch"===a.toolName&&"json"===g.type){let b=await (0,c.validateTypes)({value:g.value,schema:X});ag.push({type:"apply_patch_call_output",call_id:a.toolCallId,status:b.status,output:b.output});continue}if(o&&"computer"===h&&"json"===g.type){let b=await (0,c.validateTypes)({value:g.value,schema:ae});ag.push({type:"computer_call_output",call_id:a.toolCallId,output:{type:"computer_screenshot",image_url:b.output.imageUrl,file_id:b.output.fileId,detail:b.output.detail},acknowledged_safety_checks:null==(_=b.acknowledgedSafetyChecks)?void 0:_.map(a=>({id:a.id,code:a.code,message:a.message}))});continue}if(null==q?void 0:q.has(h)){let b,d=bl({output:g,toolResultProviderOptions:a.providerOptions,providerOptionsName:e}),f=a=>null==d?a:[{type:"input_text",text:a,prompt_cache_breakpoint:d}];switch(g.type){case"text":case"error-text":b=f(g.value);break;case"execution-denied":b=f(null!=(aa=g.reason)?aa:"Tool call execution denied.");break;case"json":case"error-json":b=f(JSON.stringify(g.value));break;case"content":b=g.value.map(a=>{var b,d,f;let g=bk(a.providerOptions,e);switch(a.type){case"text":return{type:"input_text",text:a.text,...null!=g&&{prompt_cache_breakpoint:g}};case"file":{let h=(0,c.getTopLevelMediaType)(a.mediaType),i=null==(d=null==(b=a.providerOptions)?void 0:b[e])?void 0:d.imageDetail;if("data"===a.data.type){let b=(0,c.resolveFullMediaType)({part:a});if("image"===h)return{type:"input_image",image_url:`data:${b};base64,${(0,c.convertToBase64)(a.data.data)}`,detail:i,...null!=g&&{prompt_cache_breakpoint:g}};return{type:"input_file",filename:null!=(f=a.filename)?f:"data",file_data:`data:${b};base64,${(0,c.convertToBase64)(a.data.data)}`,...null!=g&&{prompt_cache_breakpoint:g}}}if("url"===a.data.type){if("image"===h)return{type:"input_image",image_url:a.data.url.toString(),detail:i,...null!=g&&{prompt_cache_breakpoint:g}};return{type:"input_file",file_url:a.data.url.toString(),...null!=g&&{prompt_cache_breakpoint:g}}}ah.push({type:"other",message:`unsupported custom tool content part type: ${a.type} with data type: ${a.data.type}`});return}default:ah.push({type:"other",message:`unsupported custom tool content part type: ${a.type}`});return}}).filter(c.isNonNullable);break;default:b=""}ag.push({type:"custom_tool_call_output",call_id:a.toolCallId,output:b});continue}let s=await bi({output:g,toolName:a.toolName,outputSchemaToolNames:r,promptCacheBreakpoint:bl({output:g,toolResultProviderOptions:a.providerOptions,providerOptionsName:e}),providerOptionsName:e,warnings:ah}),t=bh(null==(ac=null==(ab=a.providerOptions)?void 0:ab[e])?void 0:ac.caller);ag.push({type:"function_call_output",call_id:a.toolCallId,output:s,...null!=t&&{caller:t}})}break;default:throw Error(`Unsupported role: ${am}`)}return!i&&ag.some(a=>"type"in a&&"reasoning"===a.type&&null==a.encrypted_content)&&(ah.push({type:"other",message:"Reasoning parts without encrypted content are not supported when store is false. Skipping reasoning parts."}),ag=ag.filter(a=>!("type"in a)||"reasoning"!==a.type||null!=a.encrypted_content)),{input:ag,warnings:ah}}var bo=e.z.object({itemId:e.z.string().nullish(),reasoningEncryptedContent:e.z.string().nullish()}),bp=(0,c.lazySchema)(()=>(0,c.zodSchema)(e.z.object({conversation:e.z.string().nullish(),include:e.z.array(e.z.enum(["reasoning.encrypted_content","file_search_call.results","web_search_call.results","message.output_text.logprobs"])).nullish(),instructions:e.z.string().nullish(),logprobs:e.z.union([e.z.boolean(),e.z.number().min(1).max(20)]).optional(),maxToolCalls:e.z.number().nullish(),metadata:e.z.any().nullish(),parallelToolCalls:e.z.boolean().nullish(),previousResponseId:e.z.string().nullish(),promptCacheKey:e.z.string().nullish(),promptCacheOptions:e.z.object({mode:e.z.enum(["implicit","explicit"]).optional(),ttl:e.z.literal("30m").optional()}).optional(),promptCacheRetention:e.z.enum(["in_memory","24h"]).nullish(),reasoningEffort:e.z.string().nullish(),reasoningEffortUpdate:e.z.enum(["low","medium","high","xhigh","max"]).optional(),reasoningMode:e.z.enum(["standard","pro"]).optional(),reasoningContext:e.z.enum(["auto","current_turn","all_turns"]).optional(),reasoningSummary:e.z.string().nullish(),safetyIdentifier:e.z.string().nullish(),serviceTier:e.z.enum(["auto","flex","priority","fast","ultrafast","default"]).nullish(),store:e.z.boolean().nullish(),passThroughUnsupportedFiles:e.z.boolean().optional(),strictJsonSchema:e.z.boolean().nullish(),textVerbosity:e.z.enum(["low","medium","high"]).nullish(),truncation:e.z.enum(["auto","disabled"]).nullish(),user:e.z.string().nullish(),systemMessageMode:e.z.enum(["system","developer","remove"]).optional(),forceReasoning:e.z.boolean().optional(),contextManagement:e.z.array(e.z.object({type:e.z.literal("compaction"),compactThreshold:e.z.number()})).nullish(),compactionTrigger:e.z.boolean().optional(),allowedTools:e.z.object({toolNames:e.z.array(e.z.string()).min(1),mode:e.z.enum(["auto","required"]).optional()}).optional()})));async function bq({tools:a,toolChoice:b,allowedTools:d,toolNameMapping:e,customProviderToolNames:g,outputSchemaToolNames:h}){var i,j,k,l;a=(null==a?void 0:a.length)?a:void 0;let m=[];if(null==a)return{tools:void 0,toolChoice:void 0,toolWarnings:m};let n=[],o=new Map,p=null!=g?g:new Set,q=new Map,r=new Map,s=(a,b,c)=>{var d,e;if(q.set(a,b),null==c||c===a)return;let f=r.get(c);null==f?r.set(c,b):"ambiguous"===f||(d=f,e=b,d.supported&&e.supported?br(d.entry)===br(e.entry):!d.supported&&!e.supported&&d.reason===e.reason)||r.set(c,"ambiguous")};for(let b of a)switch(b.type){case"function":{let a=null==(i=b.providerOptions)?void 0:i.openai;(null==a?void 0:a.outputSchema)!=null&&(null==h||h.add(b.name));let c=function({tool:a,options:b}){let c=null==b?void 0:b.deferLoading;return{type:"function",name:a.name,description:a.description,parameters:a.inputSchema,...null!=a.strict?{strict:a.strict}:{},...null!=c?{defer_loading:c}:{},...(null==b?void 0:b.allowedCallers)!=null?{allowed_callers:b.allowedCallers}:{},...(null==b?void 0:b.outputSchema)!=null?{output_schema:b.outputSchema}:{}}}({tool:b,options:a}),d=null==a?void 0:a.namespace;if(null==d)n.push(c);else{let a=o.get(d.name);if(null==a)a={type:"namespace",name:d.name,description:d.description,tools:[]},o.set(d.name,a),n.push(a);else if(a.description!==d.description)throw new f.UnsupportedFunctionalityError({functionality:`conflicting descriptions for OpenAI tool namespace "${d.name}"`});a.tools.push(c)}s(b.name,null!=d?{supported:!1,reason:"tools inside an OpenAI tool namespace are not visible to tool_choice.allowed_tools"}:(null==a?void 0:a.deferLoading)===!0?{supported:!1,reason:"deferred tools are not visible to tool_choice.allowed_tools"}:{supported:!0,entry:{type:"function",name:b.name}},void 0);break}case"provider":{let a=n.length;switch(b.id){case"openai.file_search":{let a=await (0,c.validateTypes)({value:b.args,schema:al});n.push({type:"file_search",vector_store_ids:a.vectorStoreIds,max_num_results:a.maxNumResults,ranking_options:a.ranking?{ranker:a.ranking.ranker,score_threshold:a.ranking.scoreThreshold}:void 0,filters:a.filters});break}case"openai.local_shell":n.push({type:"local_shell"});break;case"openai.shell":{let a=await (0,c.validateTypes)({value:b.args,schema:ay});n.push({type:"shell",...a.environment&&{environment:function(a){var b;return"containerReference"===a.type?{type:"container_reference",container_id:a.containerId}:"containerAuto"===a.type?{type:"container_auto",file_ids:a.fileIds,memory_limit:a.memoryLimit,network_policy:null==a.networkPolicy?void 0:"disabled"===a.networkPolicy.type?{type:"disabled"}:{type:"allowlist",allowed_domains:a.networkPolicy.allowedDomains,domain_secrets:a.networkPolicy.domainSecrets},skills:null==(b=a.skills)?void 0:b.map(a=>{var b,d;return"skillReference"===a.type?{type:"skill_reference",skill_id:(0,c.resolveProviderReference)({reference:null!=(b=a.providerReference)?b:{},provider:"openai"}),version:null!=(d=a.version)?d:"latest"}:{type:"inline",name:a.name,description:a.description,source:{type:"base64",media_type:a.source.mediaType,data:a.source.data}}})}:{type:"local",skills:a.skills}}(a.environment)}});break}case"openai.apply_patch":n.push({type:"apply_patch"});break;case"openai.computer":n.push({type:"computer"});break;case"openai.web_search_preview":{let a=await (0,c.validateTypes)({value:b.args,schema:aI});n.push({type:"web_search_preview",search_context_size:a.searchContextSize,user_location:a.userLocation});break}case"openai.web_search":{let a=await (0,c.validateTypes)({value:b.args,schema:aE});n.push({type:"web_search",filters:null!=a.filters?{allowed_domains:a.filters.allowedDomains,blocked_domains:a.filters.blockedDomains}:void 0,external_web_access:a.externalWebAccess,search_context_size:a.searchContextSize,user_location:a.userLocation});break}case"openai.code_interpreter":{let a=await (0,c.validateTypes)({value:b.args,schema:_});n.push({type:"code_interpreter",container:null==a.container?{type:"auto",file_ids:void 0}:"string"==typeof a.container?a.container:{type:"auto",file_ids:a.container.fileIds}});break}case"openai.image_generation":{let a=await (0,c.validateTypes)({value:b.args,schema:ao});n.push({type:"image_generation",action:a.action,background:a.background,input_fidelity:a.inputFidelity,input_image_mask:a.inputImageMask?{file_id:a.inputImageMask.fileId,image_url:a.inputImageMask.imageUrl}:void 0,model:a.model,moderation:a.moderation,partial_images:a.partialImages,quality:a.quality,output_compression:a.outputCompression,output_format:a.outputFormat,size:a.size});break}case"openai.mcp":{let a=await (0,c.validateTypes)({value:b.args,schema:aN}),d=a=>({tool_names:a.toolNames}),e=a.requireApproval,f=null==e?void 0:"string"==typeof e?e:null!=e.never?{never:d(e.never)}:void 0;n.push({type:"mcp",server_label:a.serverLabel,allowed_tools:Array.isArray(a.allowedTools)?a.allowedTools:a.allowedTools?{read_only:a.allowedTools.readOnly,tool_names:a.allowedTools.toolNames}:void 0,authorization:a.authorization,connector_id:a.connectorId,headers:a.headers,require_approval:null!=f?f:"never",server_description:a.serverDescription,server_url:a.serverUrl});break}case"openai.custom":{let a=await (0,c.validateTypes)({value:b.args,schema:ag});n.push({type:"custom",name:b.name,description:a.description,format:a.format}),p.add(b.name);break}case"openai.programmatic_tool_calling":n.push({type:"programmatic_tool_calling"});break;case"openai.tool_search":{let a=await (0,c.validateTypes)({value:b.args,schema:aA});n.push({type:"tool_search",...null!=a.execution?{execution:a.execution}:{},...null!=a.description?{description:a.description}:{},...null!=a.parameters?{parameters:a.parameters}:{}})}}if(n.length>a){let c=n[a];s(b.name,function(a){switch(a.type){case"custom":return{supported:!0,entry:{type:"custom",name:a.name}};case"mcp":return{supported:!0,entry:{type:"mcp",server_label:a.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:a.type}};default:return{supported:!1,reason:`OpenAI does not support ${a.type} tools in tool_choice.allowed_tools`}}}(c),null==e?void 0:e.toProviderToolName(b.name))}break}default:m.push({type:"unsupported",feature:`function tool ${b}`})}if(null!=d){let a=[],b=[];for(let c of d.toolNames){let d=q.get(c),f=null!=d?d:r.get(c);if(null!=d&&r.has(c)&&m.push({type:"unsupported",feature:`allowedTools entry "${c}"`,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"===f){m.push({type:"unsupported",feature:`allowedTools entry "${c}"`,details:"several tools in this request share this provider tool name; use the tool name from the tools for this request instead"}),b.push(c);continue}if(null==f){m.push({type:"unsupported",feature:`allowedTools entry "${c}"`,details:"the tool is not part of the tools for this request and is sent as a function tool"}),a.push({type:"function",name:null!=(j=null==e?void 0:e.toProviderToolName(c))?j:c});continue}if(!f.supported){m.push({type:"unsupported",feature:`allowedTools entry "${c}"`,details:`${f.reason}; the tool is removed from the allowed tools`}),b.push(c);continue}a.push(f.entry)}if(0===a.length)throw new f.UnsupportedFunctionalityError({functionality:`allowedTools with only tools that cannot be allow-listed (${b.join(", ")})`});return{tools:n,toolChoice:{type:"allowed_tools",mode:null!=(k=d.mode)?k:"auto",tools:a},toolWarnings:m}}if(null==b)return{tools:n,toolChoice:void 0,toolWarnings:m};let t=b.type;switch(t){case"auto":case"none":case"required":return{tools:n,toolChoice:t,toolWarnings:m};case"tool":{let a=null!=(l=null==e?void 0:e.toProviderToolName(b.toolName))?l:b.toolName;return{tools:n,toolChoice:"code_interpreter"===a||"file_search"===a||"image_generation"===a||"web_search_preview"===a||"web_search"===a||"mcp"===a||"apply_patch"===a||"computer"===a||"programmatic_tool_calling"===a?{type:a}:p.has(a)?{type:"custom",name:a}:{type:"function",name:a},toolWarnings:m}}default:throw new f.UnsupportedFunctionalityError({functionality:`tool choice type: ${t}`})}}function br(a){switch(a.type){case"mcp":return`mcp:${a.server_label}`;case"function":case"custom":return`${a.type}:${a.name}`;default:return a.type}}function bs(a){var b,c;let d={};for(let e of a)if("assistant"===e.role)for(let a of e.content){if("tool-call"!==a.type)continue;let e=null==(c=null==(b=a.providerOptions)?void 0:b.openai)?void 0:c.approvalRequestId;null!=e&&(d[e]=a.toolCallId)}return d}function bt(a){switch(a.type){case"click":return{type:"click",button:a.button,x:a.x,y:a.y,...null!=a.keys&&{keys:a.keys}};case"double_click":return{type:"double_click",x:a.x,y:a.y,...null!=a.keys&&{keys:a.keys}};case"drag":return{type:"drag",path:a.path,...null!=a.keys&&{keys:a.keys}};case"keypress":case"screenshot":case"type":case"wait":return a;case"move":return{type:"move",x:a.x,y:a.y,...null!=a.keys&&{keys:a.keys}};case"scroll":return{type:"scroll",x:a.x,y:a.y,scrollX:a.scroll_x,scrollY:a.scroll_y,...null!=a.keys&&{keys:a.keys}}}}function bu({action:a,actions:b,pending_safety_checks:c,status:d}){var e;return{actions:(null!=b?b:null!=a?[a]:[]).map(bt),pendingSafetyChecks:null!=(e=null==c?void 0:c.map(a=>({id:a.id,...null!=a.code&&{code:a.code},...null!=a.message&&{message:a.message}})))?e:[],status:d}}var bv=class a{constructor(a,b){this.specificationVersion="v4",this.supportedUrls={"image/*":[/^https?:\/\/.*$/],"application/pdf":[/^https?:\/\/.*$/]},this.modelId=a,this.config=b}static[d.WORKFLOW_SERIALIZE](a){return(0,c.serializeModelOptions)({modelId:a.modelId,config:a.config})}static[d.WORKFLOW_DESERIALIZE](b){return new a(b.modelId,aV(b.config))}get provider(){return this.config.provider}async getArgs({maxOutputTokens:a,temperature:b,stopSequences:d,topP:e,topK:f,presencePenalty:g,frequencyPenalty:h,seed:j,prompt:k,reasoning:l,providerOptions:m,tools:n,toolChoice:o,responseFormat:p}){var q,r,s,t,u,v,w,x,y,z,A,B,C,D;let E=[],F=i(this.modelId);null!=f&&E.push({type:"unsupported",feature:"topK"}),null!=j&&E.push({type:"unsupported",feature:"seed"}),null!=g&&E.push({type:"unsupported",feature:"presencePenalty"}),null!=h&&E.push({type:"unsupported",feature:"frequencyPenalty"}),null!=d&&E.push({type:"unsupported",feature:"stopSequences"});let G=this.config.provider.includes("azure")?"azure":"openai",H=await (0,c.parseProviderOptions)({provider:G,providerOptions:m,schema:bp});null==H&&"openai"!==G&&(H=await (0,c.parseProviderOptions)({provider:"openai",providerOptions:m,schema:bp}));let I=null!=(q=null==H?void 0:H.reasoningEffort)?q:(0,c.isCustomReasoning)(l)?l:void 0;null==I||null==F.supportedReasoningEfforts||F.supportedReasoningEfforts.includes(I)||(E.push({type:"unsupported",feature:"reasoningEffort",details:`${this.modelId} only supports the following reasoning efforts: ${F.supportedReasoningEfforts.join(", ")}`}),I=void 0);let J=(null==H?void 0:H.reasoningSummary)!==void 0?H.reasoningSummary:null!=I&&"none"!==I?"detailed":void 0,K=null!=(r=null==H?void 0:H.forceReasoning)?r:F.isReasoningModel;(null==H?void 0:H.conversation)&&(null==H?void 0:H.previousResponseId)&&E.push({type:"unsupported",feature:"conversation",details:"conversation and previousResponseId cannot be used together"});let L=(0,c.createToolNameMapping)({tools:n,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"}}),M=new Set,N=new Set,{tools:O,toolChoice:P,toolWarnings:Q}=await bq({tools:n,toolChoice:o,allowedTools:null!=(s=null==H?void 0:H.allowedTools)?s:void 0,toolNameMapping:L,customProviderToolNames:M,outputSchemaToolNames:N}),{input:R,warnings:S}=await bn({prompt:k,toolNameMapping:L,systemMessageMode:null!=(t=null==H?void 0:H.systemMessageMode)?t:K?"developer":F.systemMessageMode,providerOptionsName:G,fileIdPrefixes:this.config.fileIdPrefixes,passThroughUnsupportedFiles:null!=(u=null==H?void 0:H.passThroughUnsupportedFiles)&&u,store:null==(v=null==H?void 0:H.store)||v,hasConversation:(null==H?void 0:H.conversation)!=null,hasPreviousResponseId:(null==H?void 0:H.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:M.size>0?M:void 0,outputSchemaToolNames:N.size>0?N:void 0});E.push(...S);let T=null==H?void 0:H.reasoningEffortUpdate,U=null==T||F.supportsConfigurationUpdate&&(null==H?void 0:H.reasoningMode)!=="pro"&&(null==H?void 0:H.contextManagement)==null&&(null==H?void 0:H.truncation)!=="auto";null==T||U?null!=T&&R.unshift({type:"configuration_update",reasoning:{effort:T}}):E.push({type:"unsupported",feature:"reasoningEffortUpdate",details:F.supportsConfigurationUpdate?"reasoningEffortUpdate requires standard reasoning mode without automatic compaction or automatic truncation":"reasoningEffortUpdate is only supported by GPT-6 and later models"}),(null==H?void 0:H.compactionTrigger)&&R.push({type:"compaction_trigger"});let V=null==(w=null==H?void 0:H.strictJsonSchema)||w,W=null==H?void 0:H.include;function X(a){null==W?W=[a]:W.includes(a)||(W=[...W,a])}function Y(a){var b;return null==(b=null==n?void 0:n.find(b=>"provider"===b.type&&b.id===a))?void 0:b.name}function Z(a){return null!=Y(a)}let $="number"==typeof(null==H?void 0:H.logprobs)?null==H?void 0:H.logprobs:(null==H?void 0:H.logprobs)===!0?20:void 0;$&&X("message.output_text.logprobs");let _=null==(x=null==n?void 0:n.find(a=>"provider"===a.type&&("openai.web_search"===a.id||"openai.web_search_preview"===a.id)))?void 0:x.name;_&&X("web_search_call.action.sources"),Z("openai.code_interpreter")&&X("code_interpreter_call.outputs");let aa=null==H?void 0:H.store;!1===aa&&K&&X("reasoning.encrypted_content");let ab={model:this.modelId,input:R,temperature:b,top_p:e,max_output_tokens:a,...((null==p?void 0:p.type)==="json"||(null==H?void 0:H.textVerbosity))&&{text:{...(null==p?void 0:p.type)==="json"&&{format:null!=p.schema?{type:"json_schema",strict:V,name:null!=(y=p.name)?y:"response",description:p.description,schema:p.schema}:{type:"json_object"}},...(null==H?void 0:H.textVerbosity)&&{verbosity:H.textVerbosity}}},conversation:null==H?void 0:H.conversation,max_tool_calls:null==H?void 0:H.maxToolCalls,metadata:null==H?void 0:H.metadata,parallel_tool_calls:null==H?void 0:H.parallelToolCalls,previous_response_id:null==H?void 0:H.previousResponseId,store:aa,user:null==H?void 0:H.user,instructions:null==H?void 0:H.instructions,service_tier:null==H?void 0:H.serviceTier,include:W,prompt_cache_key:null==H?void 0:H.promptCacheKey,prompt_cache_options:null==H?void 0:H.promptCacheOptions,prompt_cache_retention:null==H?void 0:H.promptCacheRetention,safety_identifier:null==H?void 0:H.safetyIdentifier,top_logprobs:$,truncation:null==H?void 0:H.truncation,...(null==H?void 0:H.contextManagement)&&{context_management:H.contextManagement.map(a=>({type:a.type,compact_threshold:a.compactThreshold}))},...K&&(null!=I||null!=J||(null==H?void 0:H.reasoningMode)!=null||(null==H?void 0:H.reasoningContext)!=null)&&{reasoning:{...null!=I&&{effort:I},...null!=J&&{summary:J},...(null==H?void 0:H.reasoningMode)!=null&&{mode:H.reasoningMode},...(null==H?void 0:H.reasoningContext)!=null&&{context:H.reasoningContext}}}};if(F.supportsConfigurationUpdate&&null!=ab.prompt_cache_retention&&(ab.prompt_cache_retention=void 0,E.push({type:"unsupported",feature:"promptCacheRetention",details:"promptCacheRetention is not supported by GPT-6 and later models; use promptCacheOptions instead"})),K){if(!("none"===I&&F.supportsNonReasoningParameters)&&(null!=ab.temperature&&(ab.temperature=void 0,E.push({type:"unsupported",feature:"temperature",details:"temperature is not supported for reasoning models"})),null!=ab.top_p&&(ab.top_p=void 0,E.push({type:"unsupported",feature:"topP",details:"topP is not supported for reasoning models"})),null!=F.supportedReasoningEfforts&&(null!=ab.top_logprobs||(null==(z=ab.include)?void 0:z.includes("message.output_text.logprobs"))))){ab.top_logprobs=void 0;let a=null==(A=ab.include)?void 0:A.filter(a=>"message.output_text.logprobs"!==a);ab.include=null!=a&&a.length>0?a:void 0,E.push({type:"unsupported",feature:"logprobs",details:"logprobs is not supported for reasoning models"})}}else(null==H?void 0:H.reasoningEffort)!=null&&E.push({type:"unsupported",feature:"reasoningEffort",details:"reasoningEffort is not supported for non-reasoning models"}),(null==H?void 0:H.reasoningSummary)!=null&&E.push({type:"unsupported",feature:"reasoningSummary",details:"reasoningSummary is not supported for non-reasoning models"}),(null==H?void 0:H.reasoningMode)!=null&&E.push({type:"unsupported",feature:"reasoningMode",details:"reasoningMode is not supported for non-reasoning models"}),(null==H?void 0:H.reasoningContext)!=null&&E.push({type:"unsupported",feature:"reasoningContext",details:"reasoningContext is not supported for non-reasoning models"});(null==H?void 0:H.serviceTier)!=="flex"||F.supportsFlexProcessing||(E.push({type:"unsupported",feature:"serviceTier",details:"flex processing is only available for o3, o4-mini, and gpt-5 models"}),delete ab.service_tier),(null==H?void 0:H.serviceTier)!=="priority"&&(null==H?void 0:H.serviceTier)!=="fast"||F.supportsPriorityProcessing||(E.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 ab.service_tier);let ac=null==(D=null==(C=null==(B=null==n?void 0:n.find(a=>"provider"===a.type&&"openai.shell"===a.id))?void 0:B.args)?void 0:C.environment)?void 0:D.type;return{webSearchToolName:_,args:{...ab,tools:O,tool_choice:P},warnings:[...E,...Q],store:aa,toolNameMapping:L,providerOptionsName:G,isShellProviderExecuted:"containerAuto"===ac||"containerReference"===ac}}async doGenerate(a){var b,d,e,g,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,I,J,K,L;let{args:M,warnings:N,webSearchToolName:O,toolNameMapping:P,providerOptionsName:Q,isShellProviderExecuted:R}=await this.getArgs(a),S=this.config.url({path:"/responses",modelId:this.modelId}),T=bs(a.prompt),{responseHeaders:U,value:V,rawValue:W}=await (0,c.postJsonToApi)({url:S,headers:(0,c.combineHeaders)(null==(d=(b=this.config).headers)?void 0:d.call(b),a.headers),body:M,failedResponseHandler:h,successfulResponseHandler:(0,c.createJsonResponseHandler)(bb),abortSignal:a.abortSignal,fetch:this.config.fetch});if(V.error)throw new f.APICallError({message:V.error.message,url:S,requestBodyValues:M,statusCode:400,responseHeaders:U,responseBody:W,isRetryable:!1});if(null==V.output){let a=null==(e=V.incomplete_details)?void 0:e.reason;throw new f.APICallError({message:a?`Responses API returned no output (${a})`:"Responses API returned no output",url:S,requestBodyValues:M,statusCode:500,responseHeaders:U,responseBody:W,isRetryable:!1})}let X=[],Y=[],Z=null!=(i=null==(g=a.tools)?void 0:g.filter(a=>"function"===a.type))?i:[],$=!1,_=[];for(let b of V.output)switch(b.type){case"reasoning":for(let a of(0===b.summary.length&&b.summary.push({type:"summary_text",text:""}),b.summary))X.push({type:"reasoning",text:a.text,providerMetadata:{[Q]:{itemId:b.id,reasoningEncryptedContent:null!=(j=b.encrypted_content)?j:null}}});break;case"image_generation_call":X.push({type:"tool-call",toolCallId:b.id,toolName:P.toCustomToolName("image_generation"),input:"{}",providerExecuted:!0}),X.push({type:"tool-result",toolCallId:b.id,toolName:P.toCustomToolName("image_generation"),result:{result:b.result}});break;case"tool_search_call":{let a=null!=(k=b.call_id)?k:b.id,c="server"===b.execution;c&&_.push(a),X.push({type:"tool-call",toolCallId:a,toolName:P.toCustomToolName("tool_search"),input:JSON.stringify({arguments:b.arguments,call_id:b.call_id}),...c?{providerExecuted:!0}:{},providerMetadata:{[Q]:{itemId:b.id}}});break}case"tool_search_output":{let a=null!=(m=null!=(l=b.call_id)?l:_.shift())?m:b.id;X.push({type:"tool-result",toolCallId:a,toolName:P.toCustomToolName("tool_search"),result:{tools:b.tools},providerMetadata:{[Q]:{itemId:b.id}}});break}case"local_shell_call":X.push({type:"tool-call",toolCallId:b.call_id,toolName:P.toCustomToolName("local_shell"),input:JSON.stringify({action:b.action}),providerMetadata:{[Q]:{itemId:b.id}}});break;case"shell_call":X.push({type:"tool-call",toolCallId:b.call_id,toolName:P.toCustomToolName("shell"),input:JSON.stringify({action:{commands:b.action.commands}}),...R&&{providerExecuted:!0},providerMetadata:{[Q]:{itemId:b.id}}});break;case"shell_call_output":X.push({type:"tool-result",toolCallId:b.call_id,toolName:P.toCustomToolName("shell"),result:{output:b.output.map(a=>({stdout:a.stdout,stderr:a.stderr,outcome:"exit"===a.outcome.type?{type:"exit",exitCode:a.outcome.exit_code}:{type:"timeout"}}))}});break;case"message":for(let d of b.content){(null==(o=null==(n=a.providerOptions)?void 0:n[Q])?void 0:o.logprobs)&&d.logprobs&&Y.push(d.logprobs);let e={itemId:b.id,...null!=b.phase&&{phase:b.phase},...d.annotations.length>0&&{annotations:d.annotations}};for(let a of(X.push({type:"text",text:d.text,providerMetadata:{[Q]:e}}),d.annotations))"url_citation"===a.type?X.push({type:"source",sourceType:"url",id:null!=(r=null==(q=(p=this.config).generateId)?void 0:q.call(p))?r:(0,c.generateId)(),url:a.url,title:a.title}):"file_citation"===a.type?X.push({type:"source",sourceType:"document",id:null!=(u=null==(t=(s=this.config).generateId)?void 0:t.call(s))?u:(0,c.generateId)(),mediaType:"text/plain",title:a.filename,filename:a.filename,providerMetadata:{[Q]:{type:a.type,fileId:a.file_id,index:a.index}}}):"container_file_citation"===a.type?X.push({type:"source",sourceType:"document",id:null!=(x=null==(w=(v=this.config).generateId)?void 0:w.call(v))?x:(0,c.generateId)(),mediaType:"text/plain",title:a.filename,filename:a.filename,providerMetadata:{[Q]:{type:a.type,fileId:a.file_id,containerId:a.container_id}}}):"file_path"===a.type&&X.push({type:"source",sourceType:"document",id:null!=(A=null==(z=(y=this.config).generateId)?void 0:z.call(y))?A:(0,c.generateId)(),mediaType:"application/octet-stream",title:a.file_id,filename:a.file_id,providerMetadata:{[Q]:{type:a.type,fileId:a.file_id,index:a.index}}})}break;case"function_call":{$=!0;let a=await bg({toolCall:{toolCallId:b.call_id,toolName:b.name,input:b.arguments},tools:Z,providerOptionsName:Q,itemId:b.id});if(null!=a){X.push(...a);break}X.push({type:"tool-call",toolCallId:b.call_id,toolName:b.name,input:b.arguments,providerMetadata:{[Q]:{itemId:b.id,...null!=b.namespace&&{namespace:b.namespace},...null!=b.caller&&{caller:"program"===b.caller.type?{type:"program",callerId:b.caller.caller_id}:b.caller}}}});break}case"program":X.push({type:"tool-call",toolCallId:b.call_id,toolName:P.toCustomToolName("programmatic_tool_calling"),input:JSON.stringify({code:b.code,fingerprint:b.fingerprint}),providerExecuted:!0,providerMetadata:{[Q]:{itemId:b.id}}});break;case"program_output":X.push({type:"tool-result",toolCallId:b.call_id,toolName:P.toCustomToolName("programmatic_tool_calling"),result:{result:b.result,status:b.status},providerMetadata:{[Q]:{itemId:b.id}}});break;case"custom_tool_call":{$=!0;let a=P.toCustomToolName(b.name);X.push({type:"tool-call",toolCallId:b.call_id,toolName:a,input:JSON.stringify(b.input),providerMetadata:{[Q]:{itemId:b.id}}});break}case"web_search_call":X.push({type:"tool-call",toolCallId:b.id,toolName:P.toCustomToolName(null!=O?O:"web_search"),input:JSON.stringify({}),providerExecuted:!0}),X.push({type:"tool-result",toolCallId:b.id,toolName:P.toCustomToolName(null!=O?O:"web_search"),result:bB(b.action)});break;case"mcp_call":{let a=null!=b.approval_request_id&&null!=(B=T[b.approval_request_id])?B:b.id,c=`mcp.${b.name}`;X.push({type:"tool-call",toolCallId:a,toolName:c,input:b.arguments,providerExecuted:!0,dynamic:!0}),X.push({type:"tool-result",toolCallId:a,toolName:c,result:{type:"call",serverLabel:b.server_label,name:b.name,arguments:b.arguments,...null!=b.output?{output:b.output}:{},...null!=b.error?{error:b.error}:{}},providerMetadata:{[Q]:{itemId:b.id}}});break}case"mcp_list_tools":break;case"mcp_approval_request":{let a=null!=(C=b.approval_request_id)?C:b.id,d=null!=(F=null==(E=(D=this.config).generateId)?void 0:E.call(D))?F:(0,c.generateId)(),e=`mcp.${b.name}`;X.push({type:"tool-call",toolCallId:d,toolName:e,input:b.arguments,providerExecuted:!0,dynamic:!0}),X.push({type:"tool-approval-request",approvalId:a,toolCallId:d});break}case"computer_call":{if(null==b.call_id){X.push({type:"tool-call",toolCallId:b.id,toolName:P.toCustomToolName("computer_use"),input:"",providerExecuted:!0}),X.push({type:"tool-result",toolCallId:b.id,toolName:P.toCustomToolName("computer_use"),result:{type:"computer_use_tool_result",status:b.status}});break}$=!0;let a=P.toCustomToolName("computer");X.push({type:"tool-call",toolCallId:b.call_id,toolName:a,input:JSON.stringify(bu(b)),providerMetadata:{[Q]:{itemId:b.id}}});break}case"file_search_call":X.push({type:"tool-call",toolCallId:b.id,toolName:P.toCustomToolName("file_search"),input:"{}",providerExecuted:!0}),X.push({type:"tool-result",toolCallId:b.id,toolName:P.toCustomToolName("file_search"),result:{queries:b.queries,results:null!=(H=null==(G=b.results)?void 0:G.map(a=>({attributes:a.attributes,fileId:a.file_id,filename:a.filename,score:a.score,text:a.text})))?H:null}});break;case"code_interpreter_call":X.push({type:"tool-call",toolCallId:b.id,toolName:P.toCustomToolName("code_interpreter"),input:JSON.stringify({code:b.code,containerId:b.container_id}),providerExecuted:!0}),X.push({type:"tool-result",toolCallId:b.id,toolName:P.toCustomToolName("code_interpreter"),result:{outputs:b.outputs}});break;case"apply_patch_call":X.push({type:"tool-call",toolCallId:b.call_id,toolName:P.toCustomToolName("apply_patch"),input:JSON.stringify({callId:b.call_id,operation:b.operation}),providerMetadata:{[Q]:{itemId:b.id}}});break;case"compaction":X.push({type:"custom",kind:"openai.compaction",providerMetadata:{[Q]:{type:"compaction",itemId:b.id,encryptedContent:b.encrypted_content}}})}let aa={[Q]:{responseId:V.id,...Y.length>0?{logprobs:Y}:{},..."string"==typeof V.service_tier?{serviceTier:V.service_tier}:{},...(null==(I=V.reasoning)?void 0:I.context)!=null?{reasoningContext:V.reasoning.context}:{}}},ab=V.usage;return{content:X,finishReason:{unified:aX({finishReason:null==(J=V.incomplete_details)?void 0:J.reason,hasFunctionCall:$}),raw:null!=(L=null==(K=V.incomplete_details)?void 0:K.reason)?L:void 0},usage:aW(ab),request:{body:M},response:{id:V.id,timestamp:new Date(1e3*V.created_at),modelId:V.model,headers:U,body:W},providerMetadata:aa,warnings:N}}async doStream(a){var b,d,e,g;let i,l,m,n,{args:o,warnings:p,webSearchToolName:q,toolNameMapping:r,store:s,providerOptionsName:t,isShellProviderExecuted:u}=await this.getArgs(a),v=this.config.url({path:"/responses",modelId:this.modelId}),{responseHeaders:w,value:x}=await (0,c.postJsonToApi)({url:v,headers:(0,c.combineHeaders)(null==(d=(b=this.config).headers)?void 0:d.call(b),a.headers),body:{...o,stream:!0},failedResponseHandler:h,successfulResponseHandler:(0,c.createEventSourceResponseHandler)(ba),abortSignal:a.abortSignal,fetch:this.config.fetch}),y=await k({stream:x,getError:a=>by(a)||bw(a)&&null!=a.response.error?a:void 0,isOutputChunk:bA,isAcceptedChunk:bz,url:v,requestBodyValues:o,responseHeaders:w}),z=this,A=bs(a.prompt),B=null!=(g=null==(e=a.tools)?void 0:e.filter(a=>"function"===a.type))?g:[],C=new Map,D={unified:"other",raw:void 0},E=[],F=null,G={},H=[],I=!1,J={},K={},L=({itemId:a,outputIndex:b})=>{var c;return null==b?a:null!=(c=K[b])?c:a},M=[],N=!1;return{stream:y.pipeThrough(new TransformStream({start(a){a.enqueue({type:"stream-start",warnings:p})},transform(b,d){var e,g,h,k,p,x,y,O,P,Q,R,S,T,U,V,W,X,Y,Z,$,_,aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,ar,as,at,au,av,aw,ax,ay,az;if(a.includeRawChunks&&d.enqueue({type:"raw",rawValue:b.rawValue}),!b.success){let a,c=null!=(a="object"==typeof(ay=b.rawValue)&&null!=ay?ay:void 0)&&Array.isArray(a.choices)&&"string"!=typeof a.type?function({value:a,cause:b,url:c,requestBodyValues:d,responseHeaders:e}){return new f.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:c,requestBodyValues:d,responseHeaders:e,responseBody:JSON.stringify(a),cause:b,data:a,isRetryable:!1})}({value:b.rawValue,cause:b.error,url:v,requestBodyValues:o,responseHeaders:w}):b.error;N=!0,D={unified:"error",raw:void 0},d.enqueue({type:"error",error:c});return}let aA=b.value;if(bx(aA))if("function_call"===aA.item.type){let a=bf({toolName:aA.item.name,tools:B});G[aA.output_index]={toolName:aA.item.name,toolCallId:aA.item.call_id,suppressInputStreaming:a,bufferedInputDeltas:a?[]:void 0},a||d.enqueue({type:"tool-input-start",id:aA.item.call_id,toolName:aA.item.name})}else if("custom_tool_call"===aA.item.type){let a=r.toCustomToolName(aA.item.name);G[aA.output_index]={toolName:a,toolCallId:aA.item.call_id},d.enqueue({type:"tool-input-start",id:aA.item.call_id,toolName:a})}else if("web_search_call"===aA.item.type)G[aA.output_index]={toolName:r.toCustomToolName(null!=q?q:"web_search"),toolCallId:aA.item.id},d.enqueue({type:"tool-input-start",id:aA.item.id,toolName:r.toCustomToolName(null!=q?q:"web_search"),providerExecuted:!0}),d.enqueue({type:"tool-input-end",id:aA.item.id}),d.enqueue({type:"tool-call",toolCallId:aA.item.id,toolName:r.toCustomToolName(null!=q?q:"web_search"),input:JSON.stringify({}),providerExecuted:!0});else if("computer_call"===aA.item.type){let a=null!=(e=aA.item.call_id)?e:aA.item.id;G[aA.output_index]={toolName:r.toCustomToolName("computer"),toolCallId:a},d.enqueue({type:"tool-input-start",id:a,toolName:r.toCustomToolName("computer")})}else if("code_interpreter_call"===aA.item.type)G[aA.output_index]={toolName:r.toCustomToolName("code_interpreter"),toolCallId:aA.item.id,codeInterpreter:{containerId:aA.item.container_id}},d.enqueue({type:"tool-input-start",id:aA.item.id,toolName:r.toCustomToolName("code_interpreter"),providerExecuted:!0}),d.enqueue({type:"tool-input-delta",id:aA.item.id,delta:`{"containerId":"${aA.item.container_id}","code":"`});else if("file_search_call"===aA.item.type)d.enqueue({type:"tool-call",toolCallId:aA.item.id,toolName:r.toCustomToolName("file_search"),input:"{}",providerExecuted:!0});else if("image_generation_call"===aA.item.type)d.enqueue({type:"tool-call",toolCallId:aA.item.id,toolName:r.toCustomToolName("image_generation"),input:"{}",providerExecuted:!0});else if("tool_search_call"===aA.item.type){let a=aA.item.id,b=r.toCustomToolName("tool_search"),c="server"===aA.item.execution;G[aA.output_index]={toolName:b,toolCallId:a,toolSearchExecution:null!=(g=aA.item.execution)?g:"server"},c&&d.enqueue({type:"tool-input-start",id:a,toolName:b,providerExecuted:!0})}else if("tool_search_output"===aA.item.type);else if("mcp_call"===aA.item.type||"mcp_list_tools"===aA.item.type||"mcp_approval_request"===aA.item.type);else if("apply_patch_call"===aA.item.type){let{call_id:a,operation:b}=aA.item;if(G[aA.output_index]={toolName:r.toCustomToolName("apply_patch"),toolCallId:a,applyPatch:{hasDiff:"delete_file"===b.type,endEmitted:"delete_file"===b.type}},d.enqueue({type:"tool-input-start",id:a,toolName:r.toCustomToolName("apply_patch")}),"delete_file"===b.type){let c=JSON.stringify({callId:a,operation:b});d.enqueue({type:"tool-input-delta",id:a,delta:c}),d.enqueue({type:"tool-input-end",id:a})}else d.enqueue({type:"tool-input-delta",id:a,delta:`{"callId":"${bC(a)}","operation":{"type":"${bC(b.type)}","path":"${bC(b.path)}","diff":"`})}else"shell_call"===aA.item.type?G[aA.output_index]={toolName:r.toCustomToolName("shell"),toolCallId:aA.item.call_id}:"shell_call_output"===aA.item.type||("message"===aA.item.type?(K[aA.output_index]=aA.item.id,H.splice(0,H.length),i=null!=(h=aA.item.phase)?h:void 0,d.enqueue({type:"text-start",id:aA.item.id,providerMetadata:{[t]:{itemId:aA.item.id,...null!=aA.item.phase&&{phase:aA.item.phase}}}})):bx(aA)&&"reasoning"===aA.item.type&&(K[aA.output_index]=aA.item.id,J[aA.item.id]={encryptedContent:aA.item.encrypted_content,summaryParts:{0:"active"}},d.enqueue({type:"reasoning-start",id:`${aA.item.id}:0`,providerMetadata:{[t]:{itemId:aA.item.id,reasoningEncryptedContent:null!=(k=aA.item.encrypted_content)?k:null}}})));else if("response.output_item.done"===aA.type)if("message"===aA.item.type){let a=L({itemId:aA.item.id,outputIndex:aA.output_index}),b=null!=(p=aA.item.phase)?p:i;i=void 0,d.enqueue({type:"text-end",id:a,providerMetadata:{[t]:{itemId:a,...null!=b&&{phase:b},...H.length>0&&{annotations:H}}}}),K[aA.output_index]=void 0}else if("function_call"===aA.item.type){let a=aA.item,b=G[aA.output_index];G[aA.output_index]=void 0,I=!0;let c=null!=(x=null==b?void 0:b.suppressInputStreaming)?x:bf({toolName:a.name,tools:B}),e=()=>{var e;if(c){d.enqueue({type:"tool-input-start",id:a.call_id,toolName:a.name});let c=null!=(e=null==b?void 0:b.bufferedInputDeltas)?e:[];if(c.length>0)for(let b of c)d.enqueue({type:"tool-input-delta",id:a.call_id,delta:b});else a.arguments.length>0&&d.enqueue({type:"tool-input-delta",id:a.call_id,delta:a.arguments})}d.enqueue({type:"tool-input-end",id:a.call_id,...null!=a.namespace&&{providerMetadata:{[t]:{namespace:a.namespace}}}}),d.enqueue({type:"tool-call",toolCallId:a.call_id,toolName:a.name,input:a.arguments,providerMetadata:{[t]:{itemId:a.id,...null!=a.namespace&&{namespace:a.namespace},...null!=a.caller&&{caller:"program"===a.caller.type?{type:"program",callerId:a.caller.caller_id}:a.caller}}}})};return c?bg({toolCall:{toolCallId:a.call_id,toolName:a.name,input:a.arguments},tools:B,providerOptionsName:t,itemId:a.id}).then(a=>{if(null==a)return void e();for(let b of a)d.enqueue({type:"tool-input-start",id:b.toolCallId,toolName:b.toolName}),d.enqueue({type:"tool-input-delta",id:b.toolCallId,delta:b.input}),d.enqueue({type:"tool-input-end",id:b.toolCallId}),d.enqueue(b)}):void e()}else if("program"===aA.item.type)d.enqueue({type:"tool-call",toolCallId:aA.item.call_id,toolName:r.toCustomToolName("programmatic_tool_calling"),input:JSON.stringify({code:aA.item.code,fingerprint:aA.item.fingerprint}),providerExecuted:!0,providerMetadata:{[t]:{itemId:aA.item.id}}});else if("program_output"===aA.item.type)d.enqueue({type:"tool-result",toolCallId:aA.item.call_id,toolName:r.toCustomToolName("programmatic_tool_calling"),result:{result:aA.item.result,status:aA.item.status},providerMetadata:{[t]:{itemId:aA.item.id}}});else if("custom_tool_call"===aA.item.type){G[aA.output_index]=void 0,I=!0;let a=r.toCustomToolName(aA.item.name);d.enqueue({type:"tool-input-end",id:aA.item.call_id}),d.enqueue({type:"tool-call",toolCallId:aA.item.call_id,toolName:a,input:JSON.stringify(aA.item.input),providerMetadata:{[t]:{itemId:aA.item.id}}})}else if("web_search_call"===aA.item.type)G[aA.output_index]=void 0,d.enqueue({type:"tool-result",toolCallId:aA.item.id,toolName:r.toCustomToolName(null!=q?q:"web_search"),result:bB(aA.item.action)});else if("computer_call"===aA.item.type){if(G[aA.output_index]=void 0,null==aA.item.call_id){d.enqueue({type:"tool-input-end",id:aA.item.id}),d.enqueue({type:"tool-call",toolCallId:aA.item.id,toolName:r.toCustomToolName("computer_use"),input:"",providerExecuted:!0}),d.enqueue({type:"tool-result",toolCallId:aA.item.id,toolName:r.toCustomToolName("computer_use"),result:{type:"computer_use_tool_result",status:aA.item.status}});return}I=!0;let a=r.toCustomToolName("computer"),b=JSON.stringify(bu(aA.item));d.enqueue({type:"tool-input-delta",id:aA.item.call_id,delta:b}),d.enqueue({type:"tool-input-end",id:aA.item.call_id}),d.enqueue({type:"tool-call",toolCallId:aA.item.call_id,toolName:a,input:b,providerMetadata:{[t]:{itemId:aA.item.id}}})}else if("file_search_call"===aA.item.type)G[aA.output_index]=void 0,d.enqueue({type:"tool-result",toolCallId:aA.item.id,toolName:r.toCustomToolName("file_search"),result:{queries:aA.item.queries,results:null!=(O=null==(y=aA.item.results)?void 0:y.map(a=>({attributes:a.attributes,fileId:a.file_id,filename:a.filename,score:a.score,text:a.text})))?O:null}});else if("code_interpreter_call"===aA.item.type)G[aA.output_index]=void 0,d.enqueue({type:"tool-result",toolCallId:aA.item.id,toolName:r.toCustomToolName("code_interpreter"),result:{outputs:aA.item.outputs}});else if("image_generation_call"===aA.item.type)d.enqueue({type:"tool-result",toolCallId:aA.item.id,toolName:r.toCustomToolName("image_generation"),result:{result:aA.item.result}});else if("tool_search_call"===aA.item.type){let a=G[aA.output_index],b="server"===aA.item.execution;if(null!=a){let c=b?a.toolCallId:null!=(P=aA.item.call_id)?P:aA.item.id;b?M.push(c):d.enqueue({type:"tool-input-start",id:c,toolName:a.toolName}),d.enqueue({type:"tool-input-end",id:c}),d.enqueue({type:"tool-call",toolCallId:c,toolName:a.toolName,input:JSON.stringify({arguments:aA.item.arguments,call_id:b?null:c}),...b?{providerExecuted:!0}:{},providerMetadata:{[t]:{itemId:aA.item.id}}})}G[aA.output_index]=void 0}else if("tool_search_output"===aA.item.type){let a=null!=(R=null!=(Q=aA.item.call_id)?Q:M.shift())?R:aA.item.id;d.enqueue({type:"tool-result",toolCallId:a,toolName:r.toCustomToolName("tool_search"),result:{tools:aA.item.tools},providerMetadata:{[t]:{itemId:aA.item.id}}})}else if("mcp_call"===aA.item.type){G[aA.output_index]=void 0;let a=null!=(S=aA.item.approval_request_id)?S:void 0,b=null!=a&&null!=(U=null!=(T=C.get(a))?T:A[a])?U:aA.item.id,c=`mcp.${aA.item.name}`;d.enqueue({type:"tool-call",toolCallId:b,toolName:c,input:aA.item.arguments,providerExecuted:!0,dynamic:!0}),d.enqueue({type:"tool-result",toolCallId:b,toolName:c,result:{type:"call",serverLabel:aA.item.server_label,name:aA.item.name,arguments:aA.item.arguments,...null!=aA.item.output?{output:aA.item.output}:{},...null!=aA.item.error?{error:aA.item.error}:{}},providerMetadata:{[t]:{itemId:aA.item.id}}})}else if("mcp_list_tools"===aA.item.type)G[aA.output_index]=void 0;else if("apply_patch_call"===aA.item.type){let a=G[aA.output_index];(null==a?void 0:a.applyPatch)&&!a.applyPatch.endEmitted&&"delete_file"!==aA.item.operation.type&&(a.applyPatch.hasDiff||d.enqueue({type:"tool-input-delta",id:a.toolCallId,delta:bC(aA.item.operation.diff)}),d.enqueue({type:"tool-input-delta",id:a.toolCallId,delta:'"}}'}),d.enqueue({type:"tool-input-end",id:a.toolCallId}),a.applyPatch.endEmitted=!0),a&&"completed"===aA.item.status&&d.enqueue({type:"tool-call",toolCallId:a.toolCallId,toolName:r.toCustomToolName("apply_patch"),input:JSON.stringify({callId:aA.item.call_id,operation:aA.item.operation}),providerMetadata:{[t]:{itemId:aA.item.id}}}),G[aA.output_index]=void 0}else if("mcp_approval_request"===aA.item.type){G[aA.output_index]=void 0;let a=null!=(X=null==(W=(V=z.config).generateId)?void 0:W.call(V))?X:(0,c.generateId)(),b=null!=(Y=aA.item.approval_request_id)?Y:aA.item.id;C.set(b,a);let e=`mcp.${aA.item.name}`;d.enqueue({type:"tool-call",toolCallId:a,toolName:e,input:aA.item.arguments,providerExecuted:!0,dynamic:!0}),d.enqueue({type:"tool-approval-request",approvalId:b,toolCallId:a})}else if("local_shell_call"===aA.item.type)G[aA.output_index]=void 0,d.enqueue({type:"tool-call",toolCallId:aA.item.call_id,toolName:r.toCustomToolName("local_shell"),input:JSON.stringify({action:{type:"exec",command:aA.item.action.command,timeoutMs:aA.item.action.timeout_ms,user:aA.item.action.user,workingDirectory:aA.item.action.working_directory,env:aA.item.action.env}}),providerMetadata:{[t]:{itemId:aA.item.id}}});else if("shell_call"===aA.item.type)G[aA.output_index]=void 0,d.enqueue({type:"tool-call",toolCallId:aA.item.call_id,toolName:r.toCustomToolName("shell"),input:JSON.stringify({action:{commands:aA.item.action.commands}}),...u&&{providerExecuted:!0},providerMetadata:{[t]:{itemId:aA.item.id}}});else if("shell_call_output"===aA.item.type)d.enqueue({type:"tool-result",toolCallId:aA.item.call_id,toolName:r.toCustomToolName("shell"),result:{output:aA.item.output.map(a=>({stdout:a.stdout,stderr:a.stderr,outcome:"exit"===a.outcome.type?{type:"exit",exitCode:a.outcome.exit_code}:{type:"timeout"}}))}});else if("reasoning"===aA.item.type){let a=L({itemId:aA.item.id,outputIndex:aA.output_index}),b=J[a];if(null!=b){for(let c of Object.entries(b.summaryParts).filter(([a,b])=>"active"===b||"can-conclude"===b).map(([a])=>a))d.enqueue({type:"reasoning-end",id:`${a}:${c}`,providerMetadata:{[t]:{itemId:a,reasoningEncryptedContent:null!=(Z=aA.item.encrypted_content)?Z:null}}});delete J[a]}K[aA.output_index]=void 0}else"compaction"===aA.item.type&&d.enqueue({type:"custom",kind:"openai.compaction",providerMetadata:{[t]:{type:"compaction",itemId:aA.item.id,encryptedContent:aA.item.encrypted_content}}});else if("response.function_call_arguments.delta"===aA.type){let a=G[aA.output_index];null!=a&&(a.suppressInputStreaming?null==($=a.bufferedInputDeltas)||$.push(aA.delta):d.enqueue({type:"tool-input-delta",id:a.toolCallId,delta:aA.delta}))}else if("response.custom_tool_call_input.delta"===aA.type){let a=G[aA.output_index];null!=a&&d.enqueue({type:"tool-input-delta",id:a.toolCallId,delta:aA.delta})}else if("response.apply_patch_call_operation_diff.delta"===aA.type){let a=G[aA.output_index];(null==a?void 0:a.applyPatch)&&(d.enqueue({type:"tool-input-delta",id:a.toolCallId,delta:bC(aA.delta)}),a.applyPatch.hasDiff=!0)}else if("response.apply_patch_call_operation_diff.done"===aA.type){let a=G[aA.output_index];(null==a?void 0:a.applyPatch)&&!a.applyPatch.endEmitted&&(a.applyPatch.hasDiff||(d.enqueue({type:"tool-input-delta",id:a.toolCallId,delta:bC(aA.diff)}),a.applyPatch.hasDiff=!0),d.enqueue({type:"tool-input-delta",id:a.toolCallId,delta:'"}}'}),d.enqueue({type:"tool-input-end",id:a.toolCallId}),a.applyPatch.endEmitted=!0)}else if("response.image_generation_call.partial_image"===aA.type)d.enqueue({type:"tool-result",toolCallId:aA.item_id,toolName:r.toCustomToolName("image_generation"),result:{result:aA.partial_image_b64},preliminary:!0});else if("response.code_interpreter_call_code.delta"===aA.type){let a=G[aA.output_index];null!=a&&d.enqueue({type:"tool-input-delta",id:a.toolCallId,delta:bC(aA.delta)})}else if("response.code_interpreter_call_code.done"===aA.type){let a=G[aA.output_index];null!=a&&(d.enqueue({type:"tool-input-delta",id:a.toolCallId,delta:'"}'}),d.enqueue({type:"tool-input-end",id:a.toolCallId}),d.enqueue({type:"tool-call",toolCallId:a.toolCallId,toolName:r.toCustomToolName("code_interpreter"),input:JSON.stringify({code:aA.code,containerId:a.codeInterpreter.containerId}),providerExecuted:!0}))}else if("response.created"===aA.type)F=aA.response.id,d.enqueue({type:"response-metadata",id:aA.response.id,timestamp:new Date(1e3*aA.response.created_at),modelId:aA.response.model});else if("response.output_text.delta"===aA.type){let b=L({itemId:aA.item_id,outputIndex:aA.output_index});d.enqueue({type:"text-delta",id:b,delta:aA.delta}),(null==(aa=null==(_=a.providerOptions)?void 0:_[t])?void 0:aa.logprobs)&&aA.logprobs&&E.push(aA.logprobs)}else if("response.reasoning_summary_part.added"===aA.type){let a=L({itemId:aA.item_id,outputIndex:aA.output_index});if(aA.summary_index>0){let b=J[a];if(null!=b){for(let c of(b.summaryParts[aA.summary_index]="active",Object.keys(b.summaryParts)))"can-conclude"===b.summaryParts[c]&&(d.enqueue({type:"reasoning-end",id:`${a}:${c}`,providerMetadata:{[t]:{itemId:a}}}),b.summaryParts[c]="concluded");d.enqueue({type:"reasoning-start",id:`${a}:${aA.summary_index}`,providerMetadata:{[t]:{itemId:a,reasoningEncryptedContent:null!=(ab=b.encryptedContent)?ab:null}}})}}}else if("response.reasoning_summary_text.delta"===aA.type){let a=L({itemId:aA.item_id,outputIndex:aA.output_index});d.enqueue({type:"reasoning-delta",id:`${a}:${aA.summary_index}`,delta:aA.delta,providerMetadata:{[t]:{itemId:a}}})}else if("response.reasoning_summary_part.done"===aA.type){let a=L({itemId:aA.item_id,outputIndex:aA.output_index}),b=J[a];null!=b&&(s?(d.enqueue({type:"reasoning-end",id:`${a}:${aA.summary_index}`,providerMetadata:{[t]:{itemId:a}}}),b.summaryParts[aA.summary_index]="concluded"):b.summaryParts[aA.summary_index]="can-conclude")}else{if("response.completed"===(az=aA).type||"response.incomplete"===az.type)N||(D={unified:aX({finishReason:null==(ac=aA.response.incomplete_details)?void 0:ac.reason,hasFunctionCall:I}),raw:null!=(ae=null==(ad=aA.response.incomplete_details)?void 0:ad.reason)?ae:void 0}),n=null!=(af=aA.response.usage)?af:void 0,"string"==typeof aA.response.service_tier&&(l=aA.response.service_tier),(null==(ag=aA.response.reasoning)?void 0:ag.context)!=null&&(m=aA.response.reasoning.context);else if(bw(aA)){let a=null==(ah=aA.response.incomplete_details)?void 0:ah.reason;if(D={unified:a?aX({finishReason:a,hasFunctionCall:I}):"error",raw:null!=a?a:"error"},n=null!=(ai=aA.response.usage)?ai:void 0,(null==(aj=aA.response.reasoning)?void 0:aj.context)!=null&&(m=aA.response.reasoning.context),!N&&null!=aA.response.error){N=!0;let a={type:"response.failed",sequence_number:aA.sequence_number,response:{error:aA.response.error,incomplete_details:aA.response.incomplete_details,service_tier:aA.response.service_tier}};d.enqueue({type:"error",error:null!=(ak=j(a))?ak:a})}}else"response.output_text.annotation.added"===aA.type?(H.push(aA.annotation),"url_citation"===aA.annotation.type?d.enqueue({type:"source",sourceType:"url",id:null!=(an=null==(am=(al=z.config).generateId)?void 0:am.call(al))?an:(0,c.generateId)(),url:aA.annotation.url,title:aA.annotation.title}):"file_citation"===aA.annotation.type?d.enqueue({type:"source",sourceType:"document",id:null!=(aq=null==(ap=(ao=z.config).generateId)?void 0:ap.call(ao))?aq:(0,c.generateId)(),mediaType:"text/plain",title:aA.annotation.filename,filename:aA.annotation.filename,providerMetadata:{[t]:{type:aA.annotation.type,fileId:aA.annotation.file_id,index:aA.annotation.index}}}):"container_file_citation"===aA.annotation.type?d.enqueue({type:"source",sourceType:"document",id:null!=(at=null==(as=(ar=z.config).generateId)?void 0:as.call(ar))?at:(0,c.generateId)(),mediaType:"text/plain",title:aA.annotation.filename,filename:aA.annotation.filename,providerMetadata:{[t]:{type:aA.annotation.type,fileId:aA.annotation.file_id,containerId:aA.annotation.container_id}}}):"file_path"===aA.annotation.type&&d.enqueue({type:"source",sourceType:"document",id:null!=(aw=null==(av=(au=z.config).generateId)?void 0:av.call(au))?aw:(0,c.generateId)(),mediaType:"application/octet-stream",title:aA.annotation.file_id,filename:aA.annotation.file_id,providerMetadata:{[t]:{type:aA.annotation.type,fileId:aA.annotation.file_id,index:aA.annotation.index}}})):by(aA)&&(N=!0,D={unified:"error",raw:"error"},d.enqueue({type:"error",error:null!=(ax=j(aA))?ax:aA}))}},flush(a){var b;for(let c of Object.values(G))if(null==c?void 0:c.suppressInputStreaming)for(let d of(a.enqueue({type:"tool-input-start",id:c.toolCallId,toolName:c.toolName}),null!=(b=c.bufferedInputDeltas)?b:[]))a.enqueue({type:"tool-input-delta",id:c.toolCallId,delta:d});let c={[t]:{responseId:F,...E.length>0?{logprobs:E}:{},...void 0!==l?{serviceTier:l}:{},...void 0!==m?{reasoningContext:m}:{}}};a.enqueue({type:"finish",finishReason:D,usage:aW(n),providerMetadata:c})}})),request:{body:o},response:{headers:w}}}};function bw(a){return"response.failed"===a.type}function bx(a){return"response.output_item.added"===a.type}function by(a){return"error"===a.type}function bz(a){return"response.in_progress"===a.type}function bA(a){return"response.created"!==a.type&&"response.in_progress"!==a.type&&"response.failed"!==a.type&&"error"!==a.type&&"unknown_chunk"!==a.type}function bB(a){var b;if(null==a)return{};switch(a.type){case"search":return{action:{type:"search",query:null!=(b=a.query)?b:void 0,...null!=a.queries&&{queries:a.queries}},...null!=a.sources&&{sources:a.sources}};case"open_page":return{action:{type:"openPage",url:a.url}};case"find_in_page":return{action:{type:"findInPage",url:a.url,pattern:a.pattern}}}}function bC(a){return JSON.stringify(a).slice(1,-1)}var bD="/v1/responses",bE=(0,c.lazySchema)(()=>(0,c.zodSchema)(e.z.object({inputFileExpiresAfter:e.z.number().int().min(3600).max(2592e3).optional()}))),bF=(0,c.lazySchema)(()=>(0,c.zodSchema)(e.z.object({id:e.z.string(),status:e.z.string(),output_file_id:e.z.string().nullish(),error_file_id:e.z.string().nullish(),created_at:e.z.number().nullish(),expires_at:e.z.number().nullish(),request_counts:e.z.object({total:e.z.number().nullish(),completed:e.z.number().nullish(),failed:e.z.number().nullish()}).nullish(),errors:e.z.object({data:e.z.array(e.z.object({code:e.z.string().nullish(),message:e.z.string().nullish()})).nullish()}).nullish()}))),bG=(0,c.lazySchema)(()=>(0,c.zodSchema)(e.z.object({custom_id:e.z.string(),response:e.z.object({status_code:e.z.number(),request_id:e.z.string().nullish(),body:e.z.unknown()}).nullish(),error:e.z.object({code:e.z.string(),message:e.z.string()}).nullish()}))),bH=class{constructor(a){this.options=a}async startBatch(a){var b,d,e,f,g,i;let j=[],k=null==a.webhookUrl?[]:[{warning:{type:"unsupported",feature:"webhookUrl",details:"The OpenAI Batch API does not support per-batch webhook URLs."}}],l=await this.parseBatchProviderOptions(a.providerOptions),m=null!=(b=null==l?void 0:l.inputFileExpiresAfter)?b:172800;for(let b of a.requests){let a=await this.options.prepareRequest(b);for(let c of(j.push(JSON.stringify({custom_id:b.id,method:"POST",url:bD,body:a.body}),"\n"),a.warnings))k.push({requestId:b.id,warning:c});for(let a of null!=(d=b.options.tools)?d:[])"provider"!==a.type||bI.has(a.id)||k.push({requestId:b.id,warning:{type:"unsupported",feature:`batch result conversion for tool "${a.name}"`,details:"OpenAI may return output for this tool that AI SDK text batches cannot currently convert."}})}let n="batch.jsonl",o=new Blob(j,{type:"application/jsonl"});j.length=0;let p=new FormData;p.append("file",o,n),p.append("purpose","batch"),p.append("expires_after[anchor]","created_at"),p.append("expires_after[seconds]",String(m));let{value:q}=await (0,c.postToApi)({url:this.getUrl("/files"),headers:(0,c.combineHeaders)(null==(f=(e=this.options.config).headers)?void 0:f.call(e),a.headers),body:{content:p,values:{purpose:"batch","expires_after[anchor]":"created_at","expires_after[seconds]":String(m),file:{name:n,type:o.type,size:o.size}}},failedResponseHandler:h,successfulResponseHandler:(0,c.createJsonResponseHandler)(I),abortSignal:a.abortSignal,fetch:this.options.config.fetch}),{value:r}=await (0,c.postJsonToApi)({url:this.getUrl("/batches"),headers:(0,c.combineHeaders)(null==(i=(g=this.options.config).headers)?void 0:i.call(g),a.headers),body:{input_file_id:q.id,endpoint:bD,completion_window:"24h"},failedResponseHandler:h,successfulResponseHandler:(0,c.createJsonResponseHandler)(bF),abortSignal:a.abortSignal,fetch:this.options.config.fetch}),s=bL(q.expires_at);return{batchId:r.id,...bK(r),providerMetadata:{openai:{inputFileId:q.id,...null!=s?{inputFileExpiresAt:s}:{}}},warnings:k}}async parseBatchProviderOptions(a){let b=this.options.config.provider.includes("azure")?"azure":"openai",d=await (0,c.parseProviderOptions)({provider:b,providerOptions:a,schema:bE});return null==d&&"openai"!==b&&(d=await (0,c.parseProviderOptions)({provider:"openai",providerOptions:a,schema:bE})),d}async getBatchStatus(a){return bK(await this.retrieveBatch(a))}async getBatchResults(a){let b=await this.retrieveBatch(a),d=bK(b);if("pending"===d.status)throw new f.InvalidArgumentError({argument:"batchId",message:`OpenAI batch "${a.batchId}" is not complete.`});let e=[b.output_file_id,b.error_file_id].filter(a=>null!=a);if("completed"===d.status&&0===e.length)throw new f.InvalidResponseDataError({data:b,message:`OpenAI batch "${a.batchId}" completed without batch output.`});let g=this.iterateBatchResults({fileIds:e,options:a});return(0,c.convertAsyncIteratorToReadableStream)(g)}async retrieveBatch(a){var b,d;let{value:e}=await (0,c.getFromApi)({url:this.getUrl(`/batches/${encodeURIComponent(a.batchId)}`),headers:(0,c.combineHeaders)(null==(d=(b=this.options.config).headers)?void 0:d.call(b),a.headers),failedResponseHandler:h,successfulResponseHandler:(0,c.createJsonResponseHandler)(bF),abortSignal:a.abortSignal,fetch:this.options.config.fetch,validateUrl:!1});return e}async *iterateBatchResults({fileIds:a,options:b}){var d,e;for(let f of a){let{value:a}=await (0,c.getFromApi)({url:this.getUrl(`/files/${encodeURIComponent(f)}/content`),headers:(0,c.combineHeaders)(null==(e=(d=this.options.config).headers)?void 0:e.call(d),b.headers),failedResponseHandler:h,successfulResponseHandler:(0,c.createJsonLinesResponseHandler)(bG),abortSignal:b.abortSignal,fetch:this.options.config.fetch,validateUrl:!1});for await(let b of a)yield await this.convertResultLine(b)}}async convertResultLine(a){if(null!=a.error){let b={message:a.error.message,code:a.error.code};return"batch_cancelled"===a.error.code?{id:a.custom_id,status:"cancelled",error:b}:"batch_expired"===a.error.code?{id:a.custom_id,status:"expired",error:b}:{id:a.custom_id,status:"failed",error:b}}if(null==a.response)return{id:a.custom_id,status:"failed",error:{message:"OpenAI returned a batch result without a response or error.",code:"invalid_batch_result"}};if(a.response.status_code<200||a.response.status_code>=300)return{id:a.custom_id,status:"failed",error:await bM({body:a.response.body,statusCode:a.response.status_code})};let b=await bN(a.response.body);return b.success?{id:a.custom_id,status:"succeeded",result:b.result}:{id:a.custom_id,status:"failed",error:b.error}}getUrl(a){return this.options.config.url({modelId:this.options.modelId,path:a})}},bI=new Set(["openai.code_interpreter","openai.custom","openai.file_search","openai.web_search","openai.web_search_preview"]),bJ=class a extends bv{static[d.WORKFLOW_SERIALIZE](a){return bv[d.WORKFLOW_SERIALIZE](a)}static[d.WORKFLOW_DESERIALIZE](b){return new a(b.modelId,aV(b.config))}constructor(a,b){super(a,b),this.batch=new bH({modelId:a,config:b,prepareRequest:async a=>{let{args:b,warnings:c}=await this.getArgs(a.options);return{body:b,warnings:c}}})}experimental_doStartBatch(a){return this.batch.startBatch(a)}experimental_doGetBatchStatus(a){return this.batch.getBatchStatus(a)}experimental_doGetBatchResults(a){return this.batch.getBatchResults(a)}};function bK(a){var b,d,e,f;let g,h,i,j=function(a){switch(a){case"completed":return"completed";case"failed":case"expired":case"cancelled":return"failed";default:return"pending"}}(a.status),k=null==(d=null==(b=a.errors)?void 0:b.data)?void 0:d[0],l=(g=null==(f=a.request_counts)?void 0:f.total,h=null==f?void 0:f.completed,i=null==f?void 0:f.failed,(0,c.normalizeBatchRequestCounts)({total:g,pending:null!=g&&null!=h&&null!=i?g-h-i:void 0,completed:h,failed:i})),m=bL(a.created_at),n=bL(a.expires_at);return{status:j,rawStatus:a.status,...null!=l?{requestCounts:l}:{},...null!=k?{error:{message:null!=(e=k.message)?e:"OpenAI batch failed.",...null!=k.code?{code:k.code}:{}}}:{},...null!=m?{createdAt:m}:{},...null!=n?{expiresAt:n}:{}}}function bL(a){if(null==a||!Number.isFinite(a))return;let b=new Date(1e3*a);return Number.isNaN(b.getTime())?void 0:b.toISOString()}async function bM({body:a,statusCode:b}){var d;let e=await (0,c.safeValidateTypes)({value:a,schema:g});return e.success?{message:e.value.error.message,type:null!=(d=e.value.error.type)?d:void 0,code:null!=e.value.error.code?String(e.value.error.code):void 0,statusCode:b}:{message:`OpenAI batch request failed with status code ${b}.`,statusCode:b}}async function bN(a){var b,d,e,f,g,h,i,j;let k=await (0,c.safeValidateTypes)({value:a,schema:bb});if(!k.success)return{success:!1,error:{message:"OpenAI returned an invalid Responses batch result.",code:"invalid_response"}};let l=k.value;if(null!=l.error)return{success:!1,error:{message:l.error.message,type:l.error.type,code:l.error.code}};if(null==l.output){let a=null==(b=l.incomplete_details)?void 0:b.reason;return{success:!1,error:{message:null!=a?`OpenAI Responses returned no output (${a}).`:"OpenAI Responses returned no output.",code:"invalid_response"}}}let m=[],n=[],o=!1;for(let a of l.output)switch(a.type){case"reasoning":for(let b of a.summary.length>0?a.summary:[{type:"summary_text",text:""}])m.push({type:"reasoning",text:b.text,providerMetadata:{openai:{itemId:a.id,reasoningEncryptedContent:null!=(d=a.encrypted_content)?d:null}}});break;case"message":for(let b of a.content)m.push({type:"text",text:b.text}),null!=b.logprobs&&n.push(b.logprobs);break;case"function_call":o=!0,m.push({type:"tool-call",toolCallId:a.call_id,toolName:a.name,input:a.arguments,providerMetadata:{openai:{itemId:a.id,...null!=a.namespace&&{namespace:a.namespace},...null!=a.caller&&{caller:"program"===a.caller.type?{type:"program",callerId:a.caller.caller_id}:a.caller}}}});break;case"custom_tool_call":o=!0,m.push({type:"tool-call",toolCallId:a.call_id,toolName:a.name,input:JSON.stringify(a.input),providerMetadata:{openai:{itemId:a.id}}});break;case"web_search_call":m.push({type:"tool-call",toolCallId:a.id,toolName:"web_search",input:"{}",providerExecuted:!0,dynamic:!0}),m.push({type:"tool-result",toolCallId:a.id,toolName:"web_search",result:bB(a.action),dynamic:!0});break;case"file_search_call":m.push({type:"tool-call",toolCallId:a.id,toolName:"file_search",input:"{}",providerExecuted:!0,dynamic:!0}),m.push({type:"tool-result",toolCallId:a.id,toolName:"file_search",result:{queries:a.queries,results:null!=(f=null==(e=a.results)?void 0:e.map(a=>({attributes:a.attributes,fileId:a.file_id,filename:a.filename,score:a.score,text:a.text})))?f:null},dynamic:!0});break;case"code_interpreter_call":m.push({type:"tool-call",toolCallId:a.id,toolName:"code_interpreter",input:JSON.stringify({code:a.code,containerId:a.container_id}),providerExecuted:!0,dynamic:!0}),m.push({type:"tool-result",toolCallId:a.id,toolName:"code_interpreter",result:{outputs:a.outputs},dynamic:!0});break;default:return{success:!1,error:{message:`OpenAI returned an unsupported "${a.type}" output item in an AI SDK text batch.`,code:"unsupported_content"}}}let p={openai:{responseId:l.id,...n.length>0?{logprobs:n}:{},..."string"==typeof l.service_tier?{serviceTier:l.service_tier}:{},...(null==(g=l.reasoning)?void 0:g.context)!=null?{reasoningContext:l.reasoning.context}:{}}};return{success:!0,result:{content:m,finishReason:{unified:aX({finishReason:null==(h=l.incomplete_details)?void 0:h.reason,hasFunctionCall:o}),raw:null!=(j=null==(i=l.incomplete_details)?void 0:i.reason)?j:void 0},usage:aW(l.usage),response:{id:l.id,timestamp:null!=l.created_at?new Date(1e3*l.created_at):void 0,modelId:l.model},providerMetadata:p,warnings:[]}}}function bO(a,b){var c;let d={type:"realtime",model:b};null!=a.instructions&&(d.instructions=a.instructions),null!=a.outputModalities&&(d.output_modalities=a.outputModalities);let e={};if(null!=a.inputAudioFormat||null!=a.inputAudioTranscription||null!=a.turnDetection){let b={};if(null!=a.inputAudioFormat&&(b.format={type:a.inputAudioFormat.type,...null!=a.inputAudioFormat.rate?{rate:a.inputAudioFormat.rate}:{}}),null!=a.turnDetection)if("disabled"===a.turnDetection.type)b.turn_detection=null;else{let c={type:"server-vad"===a.turnDetection.type?"server_vad":"semantic_vad"};null!=a.turnDetection.threshold&&(c.threshold=a.turnDetection.threshold),null!=a.turnDetection.silenceDurationMs&&(c.silence_duration_ms=a.turnDetection.silenceDurationMs),null!=a.turnDetection.prefixPaddingMs&&(c.prefix_padding_ms=a.turnDetection.prefixPaddingMs),b.turn_detection=c}null!=a.inputAudioTranscription&&(b.transcription={model:null!=(c=a.inputAudioTranscription.model)?c:"gpt-realtime-whisper",...null!=a.inputAudioTranscription.language?{language:a.inputAudioTranscription.language}:{},...null!=a.inputAudioTranscription.prompt?{prompt:a.inputAudioTranscription.prompt}:{}}),e.input=b}if(null!=a.outputAudioFormat||null!=a.voice){let b={};null!=a.outputAudioFormat&&(b.format={type:a.outputAudioFormat.type,...null!=a.outputAudioFormat.rate?{rate:a.outputAudioFormat.rate}:{}}),null!=a.voice&&(b.voice=a.voice),e.output=b}return Object.keys(e).length>0&&(d.audio=e),null!=a.tools&&a.tools.length>0&&(d.tools=a.tools.map(a=>({type:a.type,name:a.name,description:a.description,parameters:a.parameters})),d.tool_choice="auto"),null!=a.providerOptions&&Object.assign(d,a.providerOptions),d}var bP=class{constructor(a,b){this.specificationVersion="v4",this.modelId=a,this.provider=b.provider,this.config=b}async doCreateClientSecret(a){var b;let c=null!=(b=this.config.fetch)?b:fetch,d=`${this.config.baseURL}/realtime/client_secrets`,e=null!=a.sessionConfig?bO(a.sessionConfig,this.modelId):{type:"realtime",model:this.modelId},f=await c(d,{method:"POST",headers:{...this.config.headers(),"Content-Type":"application/json"},body:JSON.stringify({session:e,...null!=a.expiresAfterSeconds?{expires_after:{anchor:"created_at",seconds:a.expiresAfterSeconds}}:{}})});if(!f.ok){let a=await f.text();throw Error(`OpenAI realtime client secret request failed: ${f.status} ${a}`)}let g=await f.json();return{token:g.value,url:`wss://${new URL(this.config.baseURL).host}/v1/realtime?model=${encodeURIComponent(this.modelId)}`,expiresAt:g.expires_at}}getWebSocketConfig(a){return{url:a.url,protocols:["realtime",`openai-insecure-api-key.${a.token}`]}}parseServerEvent(a){return function(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t;let u=a.type;switch(u){case"session.created":return{type:"session-created",sessionId:null==(b=a.session)?void 0:b.id,raw:a};case"session.updated":return{type:"session-updated",raw:a};case"input_audio_buffer.speech_started":return{type:"speech-started",itemId:a.item_id,raw:a};case"input_audio_buffer.speech_stopped":return{type:"speech-stopped",itemId:a.item_id,raw:a};case"input_audio_buffer.committed":return{type:"audio-committed",itemId:a.item_id,previousItemId:a.previous_item_id,raw:a};case"conversation.item.added":return{type:"conversation-item-added",itemId:null!=(d=null==(c=a.item)?void 0:c.id)?d:a.item_id,item:a.item,raw:a};case"conversation.item.input_audio_transcription.completed":return{type:"input-transcription-completed",itemId:a.item_id,transcript:null!=(e=a.transcript)?e:"",raw:a};case"response.created":return{type:"response-created",responseId:null!=(g=null==(f=a.response)?void 0:f.id)?g:a.response_id,raw:a};case"response.done":return{type:"response-done",responseId:null!=(i=null==(h=a.response)?void 0:h.id)?i:a.response_id,status:null!=(k=null==(j=a.response)?void 0:j.status)?k:"completed",raw:a};case"response.output_item.added":return{type:"output-item-added",responseId:a.response_id,itemId:null!=(m=null==(l=a.item)?void 0:l.id)?m:a.item_id,raw:a};case"response.output_item.done":return{type:"output-item-done",responseId:a.response_id,itemId:null!=(o=null==(n=a.item)?void 0:n.id)?o:a.item_id,raw:a};case"response.content_part.added":return{type:"content-part-added",responseId:a.response_id,itemId:a.item_id,raw:a};case"response.content_part.done":return{type:"content-part-done",responseId:a.response_id,itemId:a.item_id,raw:a};case"response.output_audio.delta":return{type:"audio-delta",responseId:a.response_id,itemId:a.item_id,delta:a.delta,raw:a};case"response.output_audio.done":return{type:"audio-done",responseId:a.response_id,itemId:a.item_id,raw:a};case"response.output_audio_transcript.delta":return{type:"audio-transcript-delta",responseId:a.response_id,itemId:a.item_id,delta:a.delta,raw:a};case"response.output_audio_transcript.done":return{type:"audio-transcript-done",responseId:a.response_id,itemId:a.item_id,transcript:a.transcript,raw:a};case"response.output_text.delta":return{type:"text-delta",responseId:a.response_id,itemId:a.item_id,delta:a.delta,raw:a};case"response.output_text.done":return{type:"text-done",responseId:a.response_id,itemId:a.item_id,text:a.text,raw:a};case"response.function_call_arguments.delta":return{type:"function-call-arguments-delta",responseId:a.response_id,itemId:a.item_id,callId:a.call_id,delta:a.delta,raw:a};case"response.function_call_arguments.done":return{type:"function-call-arguments-done",responseId:a.response_id,itemId:a.item_id,callId:a.call_id,name:a.name,arguments:a.arguments,raw:a};case"error":return{type:"error",message:null!=(r=null!=(q=null==(p=a.error)?void 0:p.message)?q:a.message)?r:"Unknown error",code:null!=(t=null==(s=a.error)?void 0:s.code)?t:a.code,raw:a};default:return{type:"custom",rawType:u,raw:a}}}(a)}serializeClientEvent(a){var b=this.modelId;switch(a.type){case"session-update":return{type:"session.update",session:bO(a.config,b)};case"input-audio-append":return{type:"input_audio_buffer.append",audio:a.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 b=a.item;switch(b.type){case"text-message":return{type:"conversation.item.create",item:{type:"message",role:b.role,content:[{type:"input_text",text:b.text}]}};case"audio-message":return{type:"conversation.item.create",item:{type:"message",role:b.role,content:[{type:"input_audio",audio:b.audio}]}};case"function-call-output":return{type:"conversation.item.create",item:{type:"function_call_output",call_id:b.callId,output:b.output}}}break}case"conversation-item-truncate":return{type:"conversation.item.truncate",item_id:a.itemId,content_index:a.contentIndex,audio_end_ms:a.audioEndMs};case"response-create":return{type:"response.create",...null!=a.options?{response:{...null!=a.options.modalities?{output_modalities:a.options.modalities}:{},...null!=a.options.instructions?{instructions:a.options.instructions}:{},...null!=a.options.metadata?{metadata:a.options.metadata}:{}}}:{}};case"response-cancel":return{type:"response.cancel"}}}buildSessionConfig(a){return bO(a,this.modelId)}},bQ=(0,c.lazySchema)(()=>(0,c.zodSchema)(e.z.object({instructions:e.z.string().nullish(),speed:e.z.number().min(.25).max(4).default(1).nullish()}))),bR=class a{constructor(a,b){this.modelId=a,this.config=b,this.specificationVersion="v4"}static[d.WORKFLOW_SERIALIZE](a){return(0,c.serializeModelOptions)({modelId:a.modelId,config:a.config})}static[d.WORKFLOW_DESERIALIZE](b){return new a(b.modelId,b.config)}get provider(){return this.config.provider}async getArgs({text:a,voice:b="alloy",outputFormat:d="mp3",speed:e,instructions:f,language:g,providerOptions:h}){let i=[],j=await (0,c.parseProviderOptions)({provider:"openai",providerOptions:h,schema:bQ}),k={model:this.modelId,input:a,voice:b,response_format:"mp3",speed:e,instructions:f};if(d&&(["mp3","opus","aac","flac","wav","pcm"].includes(d)?k.response_format=d:i.push({type:"unsupported",feature:"outputFormat",details:`Unsupported output format: ${d}. Using mp3 instead.`})),j){let a={};for(let b in a){let c=a[b];void 0!==c&&(k[b]=c)}}return g&&i.push({type:"unsupported",feature:"language",details:`OpenAI speech models do not support language selection. Language parameter "${g}" was ignored.`}),{requestBody:k,warnings:i}}async doGenerate(a){var b,d,e,f,g;let i=null!=(e=null==(d=null==(b=this.config._internal)?void 0:b.currentDate)?void 0:d.call(b))?e:new Date,{requestBody:j,warnings:k}=await this.getArgs(a),{value:l,responseHeaders:m,rawValue:n}=await (0,c.postJsonToApi)({url:this.config.url({path:"/audio/speech",modelId:this.modelId}),headers:(0,c.combineHeaders)(null==(g=(f=this.config).headers)?void 0:g.call(f),a.headers),body:j,failedResponseHandler:h,successfulResponseHandler:(0,c.createBinaryResponseHandler)(),abortSignal:a.abortSignal,fetch:this.config.fetch});return{audio:l,warnings:k,request:{body:JSON.stringify(j)},response:{timestamp:i,modelId:this.modelId,headers:m,body:n}}}},bS=(0,c.lazySchema)(()=>(0,c.zodSchema)(e.z.object({text:e.z.string(),language:e.z.string().nullish(),duration:e.z.number().nullish(),words:e.z.array(e.z.object({word:e.z.string(),start:e.z.number(),end:e.z.number()})).nullish(),segments:e.z.array(e.z.union([e.z.object({id:e.z.number(),seek:e.z.number(),start:e.z.number(),end:e.z.number(),text:e.z.string(),tokens:e.z.array(e.z.number()),temperature:e.z.number(),avg_logprob:e.z.number(),compression_ratio:e.z.number(),no_speech_prob:e.z.number()}),e.z.object({type:e.z.literal("transcript.text.segment"),id:e.z.string(),start:e.z.number(),end:e.z.number(),text:e.z.string(),speaker:e.z.string()})])).nullish()}))),bT=(0,c.lazySchema)(()=>(0,c.zodSchema)(e.z.object({include:e.z.array(e.z.string()).optional(),language:e.z.string().optional(),prompt:e.z.string().optional(),temperature:e.z.number().min(0).max(1).default(0).optional(),timestampGranularities:e.z.array(e.z.enum(["word","segment"])).default(["segment"]).optional(),responseFormat:e.z.enum(["json","verbose_json","diarized_json"]).optional(),chunkingStrategy:e.z.union([e.z.literal("auto"),e.z.object({type:e.z.literal("server_vad"),threshold:e.z.number().min(0).max(1).optional(),prefixPaddingMs:e.z.number().int().min(0).optional(),silenceDurationMs:e.z.number().int().min(0).optional()})]).optional(),streaming:e.z.object({delay:e.z.enum(["minimal","low","medium","high","xhigh"]).optional(),include:e.z.array(e.z.string()).optional()}).optional()})));function bU(a){return"gpt-realtime-whisper"===a||a.startsWith("gpt-realtime-whisper-")}var bV={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"},bW=class a{constructor(a,b){this.modelId=a,this.config=b,this.specificationVersion="v4"}static[d.WORKFLOW_SERIALIZE](a){return(0,c.serializeModelOptions)({modelId:a.modelId,config:a.config})}static[d.WORKFLOW_DESERIALIZE](b){return new a(b.modelId,b.config)}get provider(){return this.config.provider}async getArgs({audio:a,mediaType:b,providerOptions:d}){var e,f;let g=await (0,c.parseProviderOptions)({provider:"openai",providerOptions:d,schema:bT}),h=new FormData,i=a instanceof Uint8Array?new Blob([a]):new Blob([(0,c.convertBase64ToUint8Array)(a)]);h.append("model",this.modelId);let j=(0,c.mediaTypeToExtension)(b);h.append("file",new File([i],"audio",{type:b}),`audio.${j}`),"whisper-1"===this.modelId&&h.append("response_format","verbose_json");let k="gpt-4o-transcribe-diarize"===this.modelId,l=null!=(e=null==g?void 0:g.chunkingStrategy)?e:k?"auto":void 0;if(g){let a=["gpt-4o-transcribe","gpt-4o-mini-transcribe"].includes(this.modelId);for(let[b,c]of Object.entries({include:g.include,language:g.language,prompt:g.prompt,..."whisper-1"!==this.modelId&&{response_format:null!=(f=g.responseFormat)?f:k?"diarized_json":a?"json":"verbose_json"},temperature:g.temperature,timestamp_granularities:g.timestampGranularities}))if(null!=c)if(Array.isArray(c))for(let a of c)h.append(`${b}[]`,String(a));else h.append(b,String(c))}else k&&h.append("response_format","diarized_json");return null!=l&&h.append("chunking_strategy","string"==typeof l?l:JSON.stringify({type:l.type,...null!=l.threshold&&{threshold:l.threshold},...null!=l.prefixPaddingMs&&{prefix_padding_ms:l.prefixPaddingMs},...null!=l.silenceDurationMs&&{silence_duration_ms:l.silenceDurationMs}})),{formData:h,warnings:[]}}async doGenerate(a){var b,d,e,g,i,j,k,l,m,n,o;if(bU(this.modelId))throw new f.UnsupportedFunctionalityError({functionality:`non-streaming transcription with ${this.modelId}`});let p=null!=(e=null==(d=null==(b=this.config._internal)?void 0:b.currentDate)?void 0:d.call(b))?e:new Date,{formData:q,warnings:r}=await this.getArgs(a),{value:s,responseHeaders:t,rawValue:u}=await (0,c.postFormDataToApi)({url:this.config.url({path:"/audio/transcriptions",modelId:this.modelId}),headers:(0,c.combineHeaders)(null==(i=(g=this.config).headers)?void 0:i.call(g),a.headers),formData:q,failedResponseHandler:h,successfulResponseHandler:(0,c.createJsonResponseHandler)(bS),abortSignal:a.abortSignal,fetch:this.config.fetch}),v=null!=s.language&&s.language in bV?bV[s.language]:void 0,w=null==(j=s.segments)?void 0:j.flatMap(a=>"speaker"in a?[{text:a.text,startSecond:a.start,endSecond:a.end,speaker:a.speaker}]:[]);return{text:s.text,segments:null!=(n=null!=(m=null==(k=s.segments)?void 0:k.map(a=>({text:a.text,startSecond:a.start,endSecond:a.end})))?m:null==(l=s.words)?void 0:l.map(a=>({text:a.word,startSecond:a.start,endSecond:a.end})))?n:[],language:v,durationInSeconds:null!=(o=s.duration)?o:void 0,warnings:r,response:{timestamp:p,modelId:this.modelId,headers:t,body:u},...null!=w&&w.length>0&&{providerMetadata:{openai:{segments:w}}}}}async doStream(a){var b,d,e,g,h,i,j;if(!bU(this.modelId))throw new f.UnsupportedFunctionalityError({functionality:`streaming transcription with ${this.modelId}`});let k=null!=(e=null==(d=null==(b=this.config._internal)?void 0:b.currentDate)?void 0:d.call(b))?e:new Date,l=await (0,c.parseProviderOptions)({provider:"openai",providerOptions:a.providerOptions,schema:bT}),m=[],n=null!=(h=null==(g=a.providerOptions)?void 0:g.openai)?h:{};for(let a of["include","prompt","temperature","timestampGranularities"])null!=n[a]&&m.push({type:"unsupported",feature:`providerOptions.openai.${a}`,details:`OpenAI streaming transcription does not support ${a}.`});let o=(0,c.combineHeaders)(null==(j=(i=this.config).headers)?void 0:j.call(i),a.headers),p=function({modelId:a,inputAudioFormat:b,providerOptions:c}){var d,e;return{type:"session.update",session:{type:"transcription",audio:{input:{format:{type:b.type,...null!=b.rate?{rate:b.rate}:{}},transcription:{model:a,...(null==c?void 0:c.language)!=null?{language:c.language}:{},...(null==(d=null==c?void 0:c.streaming)?void 0:d.delay)!=null?{delay:c.streaming.delay}:{}},turn_detection:null}},...(null==(e=null==c?void 0:c.streaming)?void 0:e.include)!=null?{include:c.streaming.include}:{}}}}({modelId:this.modelId,inputAudioFormat:a.inputAudioFormat,providerOptions:l});return{request:{body:p},response:{timestamp:k,modelId:this.modelId},stream:function({webSocket:a,url:b,headers:d,sessionUpdate:e,language:f,warnings:g,audio:h,abortSignal:i,includeRawChunks:j}){let k=!1,l=()=>{};return new ReadableStream({start:m=>{let n,o,p=function(a){var b;let c;for(let[b,d]of Object.entries(a))"authorization"===b.toLowerCase()&&null!=d&&(c=d);let d=null==(b=null==c?void 0:c.match(/^bearer\s+(.+)$/i))?void 0:b[1];return null==d?{protocols:["realtime"],headers:a}:{protocols:["realtime",`openai-insecure-api-key.${d}`],headers:Object.fromEntries(Object.entries(a).filter(([a])=>"authorization"!==a.toLowerCase()))}}(d);l=a=>{null!=n?n.cancel().catch(()=>{}):h.cancel().catch(()=>{}),null==o||o.close(a)};let q=a=>{k||(k=!0,l(),m.error(a))},r=async a=>{n=h.getReader();try{for(;;){let{done:b,value:d}=await n.read();if(b||k)break;a.send(JSON.stringify({type:"input_audio_buffer.append",audio:(0,c.convertToBase64)(d)})),await (0,c.waitForWebSocketBufferDrain)(a)}}finally{n.releaseLock(),n=void 0}k||a.send(JSON.stringify({type:"input_audio_buffer.commit"}))};o=(0,c.connectToWebSocket)({url:b,protocols:p.protocols,headers:p.headers,webSocket:a,abortSignal:i,onAbort:q,onProcessingError:q,onOpen:a=>{m.enqueue({type:"stream-start",warnings:g}),a.send(JSON.stringify(e)),r(a).catch(q)},onMessageText:async a=>{var b,d,e,g,h,i;let n=await (0,c.safeParseJSON)({text:a});if(!n.success)return;let o=n.value;switch(j&&m.enqueue({type:"raw",rawValue:o}),o.type){case"conversation.item.input_audio_transcription.delta":m.enqueue({type:"transcript-delta",id:o.item_id,delta:null!=(b=o.delta)?b:""});break;case"conversation.item.input_audio_transcription.completed":h=null!=(d=o.transcript)?d:"",i=o.item_id,k||(k=!0,null!=i&&m.enqueue({type:"transcript-final",id:i,text:h}),m.enqueue({type:"finish",text:h,segments:[],language:f}),m.close(),l(1e3));break;case"error":q(Error(null!=(g=null==(e=o.error)?void 0:e.message)?g:"OpenAI realtime error"))}},onSocketError:()=>{q(Error("OpenAI realtime transcription error"))},onClose:()=>{k||(k=!0,l(),m.close())}})},cancel:()=>{k||(k=!0,l())}})}({webSocket:this.config.webSocket,url:(0,c.toWebSocketUrl)(this.config.url({path:"/realtime?intent=transcription",modelId:this.modelId})),headers:o,sessionUpdate:p,language:null==l?void 0:l.language,warnings:m,audio:a.audio,abortSignal:a.abortSignal,includeRawChunks:a.includeRawChunks})}}},bX=(0,c.lazySchema)(()=>(0,c.zodSchema)(e.z.object({}))),bY=class a{constructor(a,b){this.modelId=a,this.config=b,this.specificationVersion="v4"}static[d.WORKFLOW_SERIALIZE](a){return(0,c.serializeModelOptions)({modelId:a.modelId,config:a.config})}static[d.WORKFLOW_DESERIALIZE](b){return new a(b.modelId,b.config)}get provider(){return this.config.provider}async doStream(a){var b,d,e,g,h;if(null==a.targetLanguage)throw new f.InvalidArgumentError({argument:"targetLanguage",message:`targetLanguage is required for translation model '${this.modelId}'.`});let i=null!=(e=null==(d=null==(b=this.config._internal)?void 0:b.currentDate)?void 0:d.call(b))?e:new Date;await (0,c.parseProviderOptions)({provider:"openai",providerOptions:a.providerOptions,schema:bX});let j=[];(function(a){if("audio/pcm"!==a.type||null!=a.rate&&24e3!==a.rate)throw new f.InvalidArgumentError({argument:"inputAudioFormat",message:"The OpenAI Realtime translation API only supports 24kHz 16-bit PCM input audio."})})(a.inputAudioFormat),null!=a.sourceLanguage&&j.push({type:"unsupported",feature:"sourceLanguage",details:"The OpenAI Realtime translation API auto-detects the source language and does not accept a source language."}),null!=a.outputAudioFormat&&j.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 k=(0,c.combineHeaders)(null==(h=(g=this.config).headers)?void 0:h.call(g),a.headers),l=function({targetLanguage:a}){return{type:"session.update",session:{audio:{input:{transcription:{model:"gpt-realtime-whisper"},noise_reduction:null},output:{language:a}}}}}({targetLanguage:a.targetLanguage});return{request:{body:l},response:{timestamp:i,modelId:this.modelId},stream:function({webSocket:a,url:b,headers:d,sessionUpdate:e,warnings:f,audio:g,abortSignal:h,includeRawChunks:i}){let j=!1,k=()=>{};return new ReadableStream({start:l=>{let m,n,o=function(a){var b;let c;for(let[b,d]of Object.entries(a))"authorization"===b.toLowerCase()&&null!=d&&(c=d);let d=null==(b=null==c?void 0:c.match(/^bearer\s+(.+)$/i))?void 0:b[1];return null==d?{protocols:["realtime"],headers:a}:{protocols:["realtime",`openai-insecure-api-key.${d}`],headers:Object.fromEntries(Object.entries(a).filter(([a])=>"authorization"!==a.toLowerCase()))}}(d),p="",q="";k=a=>{null!=m?m.cancel().catch(()=>{}):g.cancel().catch(()=>{}),null==n||n.close(a)};let r=a=>{j||(j=!0,k(),l.error(a))},s=async a=>{m=g.getReader();try{for(;;){let{done:b,value:d}=await m.read();if(b||j)break;a.send(JSON.stringify({type:"session.input_audio_buffer.append",audio:(0,c.convertToBase64)(d)})),await (0,c.waitForWebSocketBufferDrain)(a)}}finally{m.releaseLock(),m=void 0}j||a.send(JSON.stringify({type:"session.close"}))};n=(0,c.connectToWebSocket)({url:b,protocols:o.protocols,headers:o.headers,webSocket:a,abortSignal:h,onAbort:r,onProcessingError:r,onOpen:a=>{l.enqueue({type:"stream-start",warnings:f}),a.send(JSON.stringify(e)),s(a).catch(r)},onMessageText:async a=>{var b,d,e,f,g,h;if(j)return;let m=await (0,c.safeParseJSON)({text:a});if(!m.success)return;let n=m.value;switch(i&&l.enqueue({type:"raw",rawValue:n}),n.type){case"session.output_audio.delta":n.delta&&l.enqueue({type:"audio",audio:n.delta});break;case"session.output_transcript.delta":q+=null!=(b=n.delta)?b:"",l.enqueue({type:"output-text-delta",delta:null!=(d=n.delta)?d:""});break;case"session.input_transcript.delta":p+=null!=(e=n.delta)?e:"",l.enqueue({type:"source-transcript-delta",delta:null!=(f=n.delta)?f:""});break;case"session.closed":j||(j=!0,""!==p&&l.enqueue({type:"source-transcript-final",text:p}),""!==q&&l.enqueue({type:"output-text-final",text:q}),l.enqueue({type:"finish",sourceText:p,outputText:q,usage:void 0}),l.close(),k(1e3));break;case"error":l.enqueue({type:"error",error:Error(null!=(h=null==(g=n.error)?void 0:g.message)?h:"OpenAI realtime error")})}},onSocketError:()=>{r(Error("OpenAI realtime translation error"))},onClose:({code:a,reason:b})=>{j||r(Error(`OpenAI realtime translation WebSocket closed unexpectedly before finishing (code ${null!=a?a:"unknown"}${b?`, reason: ${b}`:""}).`))}})},cancel:()=>{j||(j=!0,k())}})}({webSocket:this.config.webSocket,url:(0,c.toWebSocketUrl)(this.config.url({path:`/realtime/translations?model=${encodeURIComponent(this.modelId)}`,modelId:this.modelId})),headers:k,sessionUpdate:l,warnings:j,audio:a.audio,abortSignal:a.abortSignal,includeRawChunks:a.includeRawChunks})}}},bZ=(0,c.lazySchema)(()=>(0,c.zodSchema)(e.z.object({id:e.z.string(),name:e.z.string().nullish(),description:e.z.string().nullish(),default_version:e.z.string().nullish(),latest_version:e.z.string().nullish(),created_at:e.z.number(),updated_at:e.z.number().nullish()})));(0,c.lazySchema)(()=>(0,c.zodSchema)(e.z.object({id:e.z.string(),version:e.z.string().nullish(),name:e.z.string().nullish(),description:e.z.string().nullish()})));var b$=class{constructor(a){this.config=a,this.specificationVersion="v4"}get provider(){return this.config.provider}async uploadSkill(a){let b=[];null!=a.displayTitle&&b.push({type:"unsupported",feature:"displayTitle"});let d=new FormData;for(let b of a.files){let a=(0,c.convertInlineFileDataToUint8Array)(b.data);d.append("files[]",new Blob([a]),b.path)}let{value:e}=await (0,c.postFormDataToApi)({url:this.config.url({path:"/skills"}),headers:(0,c.combineHeaders)(this.config.headers()),formData:d,failedResponseHandler:h,successfulResponseHandler:(0,c.createJsonResponseHandler)(bZ),fetch:this.config.fetch});return{providerReference:{openai:e.id},...null!=e.name?{name:e.name}:{},...null!=e.description?{description:e.description}:{},...null!=e.latest_version?{latestVersion:e.latest_version}:{},providerMetadata:{openai:{...null!=e.default_version?{defaultVersion:e.default_version}:{},...null!=e.created_at?{createdAt:e.created_at}:{},...null!=e.updated_at?{updatedAt:e.updated_at}:{}}},warnings:b}}};function b_(a={}){var b,d;let e=null!=(b=(0,c.withoutTrailingSlash)((0,c.validateBaseURL)((0,c.loadOptionalSetting)({settingValue:a.baseURL,environmentVariableName:"OPENAI_BASE_URL"}))))?b:"https://api.openai.com/v1",f=null!=(d=a.name)?d:"openai",g=()=>(0,c.withUserAgentSuffix)({Authorization:`Bearer ${(0,c.loadApiKey)({apiKey:a.apiKey,environmentVariableName:"OPENAI_API_KEY",description:"OpenAI"})}`,"OpenAI-Organization":a.organization,"OpenAI-Project":a.project,...a.headers},"ai-sdk/openai/4.0.60"),h=b=>new H(b,{provider:`${f}.embedding`,url:({path:a})=>`${e}${a}`,headers:g,fetch:a.fetch}),i=b=>new T(b,{provider:`${f}.image`,url:({path:a})=>`${e}${a}`,headers:g,fetch:a.fetch}),j=b=>new bW(b,{provider:`${f}.transcription`,url:({path:a})=>`${e}${a}`,headers:g,fetch:a.fetch,webSocket:a.webSocket}),k=b=>new bY(b,{provider:`${f}.speech-translation`,url:({path:a})=>`${e}${a}`,headers:g,fetch:a.fetch,webSocket:a.webSocket}),l=b=>new bR(b,{provider:`${f}.speech`,url:({path:a})=>`${e}${a}`,headers:g,fetch:a.fetch}),m=a=>{if(new.target)throw Error("The OpenAI model function cannot be called with the new keyword.");return n(a)},n=b=>new bJ(b,{provider:`${f}.responses`,baseURL:e,url:({path:a})=>`${e}${a}`,headers:g,fetch:a.fetch,fileIdPrefixes:["file-"]}),o=b=>new bP(b,{provider:`${f}.realtime`,baseURL:e,headers:g,fetch:a.fetch}),p=Object.assign(a=>o(a),{getToken:async a=>{let b=o(a.model),c=await b.doCreateClientSecret({sessionConfig:a.sessionConfig,expiresAfterSeconds:a.expiresAfterSeconds});return{token:c.token,url:c.url,expiresAt:c.expiresAt}}}),q=function(a){return m(a)};return q.specificationVersion="v4",q.languageModel=m,q.chat=b=>new w(b,{provider:`${f}.chat`,url:({path:a})=>`${e}${a}`,headers:g,fetch:a.fetch}),q.completion=b=>new D(b,{provider:`${f}.completion`,url:({path:a})=>`${e}${a}`,headers:g,fetch:a.fetch}),q.responses=n,q.embedding=h,q.embeddingModel=h,q.textEmbedding=h,q.textEmbeddingModel=h,q.image=i,q.imageModel=i,q.transcription=j,q.transcriptionModel=j,q.translation=k,q.speechTranslationModel=k,q.speech=l,q.speechModel=l,q.files=()=>new M({provider:`${f}.files`,baseURL:e,headers:g,fetch:a.fetch}),q.skills=()=>new b$({provider:`${f}.skills`,url:({path:a})=>`${e}${a}`,headers:g,fetch:a.fetch}),q.experimental_realtime=p,q.tools=aU,q}b_(),a.s(["createOpenAI",0,b_])},527990,925034,912735,a=>{"use strict";var b,c,d,e,f,g=a.i(652685),h=a.i(634531),i=a.i(22372);class j extends Error{constructor(a,b){super(a),this.name="ParseError",this.type=b.type,this.field=b.field,this.value=b.value,this.line=b.line}}function k(a){}function l(a,b,c){return 100===c&&97===a.charCodeAt(b+1)&&116===a.charCodeAt(b+2)&&97===a.charCodeAt(b+3)&&58===a.charCodeAt(b+4)}function m(a,b,c){return 101===c&&118===a.charCodeAt(b+1)&&101===a.charCodeAt(b+2)&&110===a.charCodeAt(b+3)&&116===a.charCodeAt(b+4)&&58===a.charCodeAt(b+5)}class n extends TransformStream{constructor({onError:a,onRetry:b,onComment:c,maxBufferSize:d}={}){let e;super({start(f){e=function(a){if("function"==typeof a)throw TypeError("`config` must be an object, got a function instead. Did you mean `createParser({onEvent: fn})`?");let{onEvent:b=k,onError:c=k,onRetry:d=k,onComment:e,maxBufferSize:f}=a,g=[],h=0,i=!0,n,o="",p=0,q,r=!1;function s(){void 0!==f&&(h+o.length<=f||(r=!0,g.length=0,h=0,n=void 0,o="",p=0,q=void 0,c(new j(`Buffered data exceeded max buffer size of ${f} characters`,{type:"max-buffer-size-exceeded"}))))}function t(a){let c=0;if(-1===a.indexOf("\r")){let d=a.indexOf(`
|
|
147
|
+
`,c);for(;-1!==d;){if(c===d){p>0&&b({id:n,event:q,data:o}),n=void 0,o="",p=0,q=void 0,c=d+1,d=a.indexOf(`
|
|
148
|
+
`,c);continue}let e=a.charCodeAt(c);if(l(a,c,e)){let e=32===a.charCodeAt(c+5)?c+6:c+5,f=a.slice(e,d);if(0===p&&10===a.charCodeAt(d+1)){b({id:n,event:q,data:f}),n=void 0,o="",q=void 0,c=d+2,d=a.indexOf(`
|
|
149
|
+
`,c);continue}o=0===p?f:`${o}
|
|
150
|
+
${f}`,p++}else m(a,c,e)?q=a.slice(32===a.charCodeAt(c+6)?c+7:c+6,d)||void 0:u(a,c,d);c=d+1,d=a.indexOf(`
|
|
151
|
+
`,c)}return a.slice(c)}for(;c<a.length;){let b=a.indexOf("\r",c),d=a.indexOf(`
|
|
152
|
+
`,c),e=-1;if(-1!==b&&-1!==d?e=b<d?b:d:-1!==b?e=b===a.length-1?-1:b:-1!==d&&(e=d),-1===e)break;u(a,c,e),c=e+1,13===a.charCodeAt(c-1)&&10===a.charCodeAt(c)&&c++}return a.slice(c)}function u(a,c,d){if(c===d)return void(p>0&&b({id:n,event:q,data:o}),n=void 0,o="",p=0,q=void 0);let f=a.charCodeAt(c);if(l(a,c,f)){let b=32===a.charCodeAt(c+5)?c+6:c+5,e=a.slice(b,d);o=0===p?e:`${o}
|
|
153
|
+
${e}`,p++;return}if(m(a,c,f)){q=a.slice(32===a.charCodeAt(c+6)?c+7:c+6,d)||void 0;return}if(105===f&&100===a.charCodeAt(c+1)&&58===a.charCodeAt(c+2)){let b=a.slice(32===a.charCodeAt(c+3)?c+4:c+3,d);b.includes("\0")||(n=b);return}if(58===f){e&&e(a.slice(c,d).slice(32===a.charCodeAt(c+1)?2:1));return}let g=a.slice(c,d),h=g.indexOf(":");if(-1===h)return void v(g,"",g);let i=g.slice(0,h),j=32===g.charCodeAt(h+1)?2:1;v(i,g.slice(h+j),g)}function v(a,b,e){switch(a){case"event":q=b||void 0;break;case"data":o=0===p?b:`${o}
|
|
154
|
+
${b}`,p++;break;case"id":b.includes("\0")||(n=b);break;case"retry":/^\d+$/.test(b)?d(parseInt(b,10)):c(new j(`Invalid \`retry\` value: "${b}"`,{type:"invalid-retry",value:b,line:e}));break;default:c(new j(`Unknown field "${a.length>20?`${a.slice(0,20)}\u2026`:a}"`,{type:"unknown-field",field:a,value:b,line:e}))}}return{feed:function(a){if(r)throw Error("Cannot feed parser: it was terminated after exceeding the configured max buffer size. Call `reset()` to resume parsing.");if(i&&(i=!1,239===a.charCodeAt(0)&&187===a.charCodeAt(1)&&191===a.charCodeAt(2)&&(a=a.slice(3))),0===g.length){let b=t(a);""!==b&&(g.push(b),h=b.length),s();return}if(-1===a.indexOf(`
|
|
155
|
+
`)&&-1===a.indexOf("\r")){g.push(a),h+=a.length,s();return}g.push(a);let b=g.join("");g.length=0,h=0;let c=t(b);""!==c&&(g.push(c),h=c.length),s()},reset:function(a={}){if(a.consume&&g.length>0){let a=g.join("");u(a,0,a.length)}i=!0,n=void 0,o="",p=0,q=void 0,g.length=0,h=0,r=!1}}}({onEvent:a=>{f.enqueue(a)},onError(b){"function"==typeof a&&a(b),("terminate"===a||"max-buffer-size-exceeded"===b.type)&&f.error(b)},onRetry:b,onComment:c,maxBufferSize:d})},transform(a){e.feed(a)}})}}a.s(["EventSourceParserStream",0,n],925034);let o=Symbol.for("workflow-serialize"),p=Symbol.for("workflow-deserialize");async function q(a,b){if(null==a)return Promise.resolve();let c=null==b?void 0:b.abortSignal;return new Promise((b,d)=>{if(null==c?void 0:c.aborted)return void d(r());let e=setTimeout(()=>{f(),b()},a),f=()=>{clearTimeout(e),null==c||c.removeEventListener("abort",g)},g=()=>{f(),d(r())};null==c||c.addEventListener("abort",g)})}function r(){return new DOMException("Delay was aborted","AbortError")}a.s(["WORKFLOW_DESERIALIZE",0,p,"WORKFLOW_SERIALIZE",0,o],912735);var s=new TextDecoder;async function t(a){return"string"==typeof a?a:a instanceof ArrayBuffer||ArrayBuffer.isView(a)?s.decode(a):"u">typeof Blob&&a instanceof Blob?a.text():String(a)}async function u(a,{highWaterMark:b=1048576,pollIntervalMs:c=20,abortSignal:d}={}){for(var e;1===a.readyState&&(null!=(e=a.bufferedAmount)?e:0)>b;){if((null==d?void 0:d.aborted)===!0)return;await q(c)}}function v(a){let b=!1;return new ReadableStream({async pull(c){if(!b)try{let{value:b,done:d}=await a.next();d?c.close():c.enqueue(b)}catch(a){c.error(a)}},async cancel(c){if(b=!0,a.return)try{await a.return(c)}catch(a){}}})}var{btoa:w,atob:x}=globalThis;function y(a){let b=x(a.replace(/-/g,"+").replace(/_/g,"/"));return Uint8Array.from(b,a=>a.codePointAt(0))}function z(a){let b="";for(let c=0;c<a.length;c++)b+=String.fromCodePoint(a[c]);return w(b)}var A=Symbol.for("vercel.ai.providerStreamError"),B=class{constructor(){this.status={type:"pending"},this._resolve=void 0,this._reject=void 0}get promise(){return this._promise||(this._promise=new Promise((a,b)=>{"resolved"===this.status.type?a(this.status.value):"rejected"===this.status.type&&b(this.status.error),this._resolve=a,this._reject=b})),this._promise}resolve(a){var b;this.status={type:"resolved",value:a},this._promise&&(null==(b=this._resolve)||b.call(this,a))}reject(a){var b;this.status={type:"rejected",error:a},this._promise&&(null==(b=this._reject)||b.call(this,a))}isResolved(){return"resolved"===this.status.type}isRejected(){return"rejected"===this.status.type}isPending(){return"pending"===this.status.type}};function C(a){return Object.fromEntries([...a.headers])}function D(a=globalThis){var b,c,d;return a.window?"runtime/browser":(null==(b=a.navigator)?void 0:b.userAgent)?`runtime/${a.navigator.userAgent.toLowerCase()}`:(null==(d=null==(c=a.process)?void 0:c.versions)?void 0:d.node)?`runtime/node.js/${a.process.version.substring(0)}`:a.EdgeRuntime?"runtime/vercel-edge":"runtime/unknown"}function E(a){return(a instanceof Error||a instanceof DOMException)&&("AbortError"===a.name||"ResponseAborted"===a.name||"TimeoutError"===a.name)}var F=["fetch failed","failed to fetch"],G=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 H({error:a,url:b,requestBodyValues:c}){if(E(a))return a;if(a instanceof TypeError&&F.includes(a.message.toLowerCase())){let d=a.cause;if(null!=d)return new g.APICallError({message:`Cannot connect to API: ${d.message}`,cause:d,url:b,requestBodyValues:c,isRetryable:!0})}let d=function(a){let b=new Set,c=a;for(;c instanceof Error&&!b.has(c);){b.add(c);let a=c;if("string"==typeof a.code&&G.has(a.code))return a;c=c.cause}}(a);return null!=d?new g.APICallError(g.APICallError.isInstance(a)?{message:a.message,cause:a.cause,url:a.url,requestBodyValues:a.requestBodyValues,statusCode:a.statusCode,responseHeaders:a.responseHeaders,responseBody:a.responseBody,data:a.data,isRetryable:!0}:{message:`Cannot connect to API: ${a instanceof Error?a.message:d.message}`,cause:a,url:b,requestBodyValues:c,isRetryable:!0}):a}var I="5.0.36";function J(a){if(null==a)return{};let b={};if(a instanceof Headers)a.forEach((a,c)=>{b[c.toLowerCase()]=a});else for(let[c,d]of(Array.isArray(a)||(a=Object.entries(a)),a))null!=d&&(b[c.toLowerCase()]=d);return b}function K(a,...b){let c=new Headers(J(a)),d=c.get("user-agent")||"";return c.set("user-agent",[d,...b].filter(Boolean).join(" ")),Object.fromEntries(c.entries())}var L=()=>globalThis.fetch,M=async({url:a,headers:b={},failedResponseHandler:c,successfulResponseHandler:d,abortSignal:e,fetch:f=L()})=>{try{let h=await f(a,{method:"DELETE",headers:K(b,`ai-sdk/provider-utils/${I}`,D()),signal:e}),i=C(h);if(!h.ok){let b;try{b=await c({response:h,url:a,requestBodyValues:{}})}catch(b){if(E(b)||g.APICallError.isInstance(b))throw b;throw new g.APICallError({message:"Failed to process error response",cause:b,statusCode:h.status,url:a,responseHeaders:i,requestBodyValues:{}})}throw b.value}try{return await d({response:h,url:a,requestBodyValues:{}})}catch(b){if(b instanceof Error&&(E(b)||g.APICallError.isInstance(b)))throw b;throw new g.APICallError({message:"Failed to process successful response",cause:b,statusCode:h.status,url:a,responseHeaders:i,requestBodyValues:{}})}}catch(b){throw H({error:b,url:a,requestBodyValues:{}})}},N=[{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]}],O=[{mediaType:"application/pdf",bytesPrefix:[37,80,68,70]}],P=[{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]}],Q=[{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 R(a,b){if("string"!=typeof a)return a.length>b?a.subarray(0,b):a;let c=4*Math.ceil(b/3),d=y(a.substring(0,Math.min(a.length,c)));return d.length>b?d.subarray(0,b):d}function S({data:a,signatures:b}){var c,d;let e,f=R(a,18);for(let g of((c=f).length>10&&73===c[0]&&68===c[1]&&51===c[2]&&(e=(127&(d=R(a,131084))[6])<<21|(127&d[7])<<14|(127&d[8])<<7|127&d[9],f=d.subarray(e+10)),b))if(f.length>=g.bytesPrefix.length&&g.bytesPrefix.every((a,b)=>null===a||f[b]===a))return g.mediaType}var T={image:N,audio:[...P,{mediaType:"audio/mp4",bytesPrefix:[0,0,0,null,102,116,121,112]}],video:Q,application:O};function U({data:a,topLevelType:b}){if(void 0===b)return S({data:a,signatures:[...N,...O,...P,...Q]});let c=T[b];if(void 0!==c)return S({data:a,signatures:c})}function V(a){let b=a.indexOf("/");return -1===b?a:a.substring(0,b)}function W(a){let b=a.indexOf("/");if(-1===b)return!1;let c=a.substring(b+1);return c.length>0&&"*"!==c}async function X(a){var b;try{await (null==(b=a.body)?void 0:b.cancel())}catch(a){}}var Y="AI_DownloadError",Z=`vercel.ai.error.${Y}`,$=Symbol.for(Z),_=class extends(c=g.AISDKError,b=$,c){constructor({url:a,statusCode:c,statusText:d,cause:e,message:f=null==e?`Failed to download ${a}: ${c} ${d}`:`Failed to download ${a}: ${e}`}){super({name:Y,message:f,cause:e}),this[b]=!0,this.url=a,this.statusCode=c,this.statusText=d}static isInstance(a){return g.AISDKError.hasMarker(a,Z)}};function aa(a,b){try{return new URL(a).origin===new URL(b).origin}catch(a){return!1}}function ab(a){let b;try{b=new URL(a)}catch(b){throw new _({url:a,message:`Invalid URL: ${a}`})}if("data:"===b.protocol)return;if("http:"!==b.protocol&&"https:"!==b.protocol)throw new _({url:a,message:`URL scheme must be http, https, or data, got ${b.protocol}`});let c=b.hostname.toLowerCase().replace(/\.+$/,"");if(!c)throw new _({url:a,message:"URL must have a hostname"});if("localhost"===c||c.endsWith(".local")||c.endsWith(".localhost"))throw new _({url:a,message:`URL with hostname ${c} is not allowed`});if(c.startsWith("[")&&c.endsWith("]")){if(ae(c.slice(1,-1)))throw new _({url:a,message:`URL with IPv6 address ${c} is not allowed`});return}if(ac(c)){if(ad(c))throw new _({url:a,message:`URL with IP address ${c} is not allowed`});return}}function ac(a){let b=a.split(".");return 4===b.length&&b.every(a=>{let b=Number(a);return Number.isInteger(b)&&b>=0&&b<=255&&String(b)===a})}function ad(a){let[b,c,d]=a.split(".").map(Number);return 0===b||10===b||100===b&&c>=64&&c<=127||127===b||169===b&&254===c||172===b&&c>=16&&c<=31||192===b&&0===c&&0===d||192===b&&0===c&&2===d||192===b&&168===c||198===b&&(18===c||19===c)||198===b&&51===c&&100===d||203===b&&0===c&&113===d||b>=224||!1}function ae(a){let b=function(a){let b=a.toLowerCase(),c=b.indexOf("%");-1!==c&&(b=b.slice(0,c));let d=b.split("::");if(d.length>2)return null;let e=a=>{if(""===a)return[];let b=[],c=a.split(":");for(let a=0;a<c.length;a++){let d=c[a];if(d.includes(".")){if(a!==c.length-1||!ac(d))return null;let[e,f,g,h]=d.split(".").map(Number);b.push(e<<8|f,g<<8|h);continue}if(!/^[0-9a-f]{1,4}$/.test(d))return null;b.push(parseInt(d,16))}return b},f=e(d[0]);if(null===f)return null;if(2===d.length){let a=e(d[1]);if(null===a)return null;let b=8-f.length-a.length;return b<0?null:[...f,...Array(b).fill(0),...a]}return 8===f.length?f:null}(a);if(null===b)return!0;let c=a=>b.slice(0,a).every(a=>0===a);if(c(7)&&(0===b[7]||1===b[7])||(65024&b[0])==64512||(65472&b[0])==65152||(65472&b[0])==65216||(65280&b[0])==65280||8193===b[0]&&3512===b[1]||16383===b[0]&&(61440&b[1])==0)return!0;if(c(6)||c(5)&&65535===b[5]||c(4)&&65535===b[4]&&0===b[5]||100===b[0]&&65435===b[1]&&0===b[2]&&0===b[3]&&0===b[4]&&0===b[5]||100===b[0]&&65435===b[1]&&1===b[2]){let a=b[6]>>8&255,c=255&b[6],d=b[7]>>8&255,e=255&b[7];return ad(`${a}.${c}.${d}.${e}`)}return!1}var af=globalThis.fetch,ag=function(a){if("function"!=typeof a)return!1;let b=Function.prototype.toString.call(a);return b.includes("internal/deps/undici")||b.includes("lazy loading of undici")}(af);async function ah(){var a,b;let c;return(null==(a=null==(c=globalThis.process)?void 0:c.release)?void 0:a.name)==="node"&&(null==(b=c.versions)?void 0:b.bun)==null&&ag&&globalThis.fetch===af?null!=d?d:d=Promise.resolve().then(ai):globalThis.fetch}function ai(){let{createRequire:a}=aj("node:module"),{lookup:b}=aj("node:dns"),{Agent:c,fetch:d}=a(function a(){let b=Error.prepareStackTrace;try{Error.prepareStackTrace=(a,b)=>b;let b=Error("Capture current module path");Error.captureStackTrace(b,a);let[c]=b.stack,d=null==c?void 0:c.getFileName();if(null==d)throw Error("Unable to determine the current module path");return d}finally{Error.prepareStackTrace=b}}())("undici"),e=new c({connect:{lookup:(a,c,d)=>{b(a,{...c,all:!0},(b,e)=>{if(b)return void d(b);try{let[b]=e;if(null==b)throw Error(`Hostname ${a} did not resolve to an address`);for(let{address:b,family:c}of e)!function({address:a,family:b,hostname:c}){if(4===b?!ac(a)||ad(a):6!==b||ae(a))throw new _({url:c,message:`Hostname ${c} resolved to disallowed IP address ${a}`})}({address:b,family:c,hostname:a});!0===c.all?d(null,e):d(null,b.address,b.family)}catch(a){d(a instanceof Error?a:Error(String(a)))}})}}});return(a,b)=>d(a,{...b,dispatcher:e})}function aj(a){var b;let c=globalThis.process,d=null==(b=null==c?void 0:c.getBuiltinModule)?void 0:b.call(c,a);if(null==d)throw Error(`Node.js built-in module ${a} is unavailable`);return d}var ak=["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"],al=new Set([301,302,303,307,308]);async function am({url:a,headers:b,abortSignal:c,maxRedirects:d=10,fetch:e,trustedOrigin:f}){let g=void 0===b?void 0:function(a){let b=new Headers(a);for(let a of ak)b.delete(a);return b}(b),h=a=>{let b={signal:c,redirect:a};return void 0!==g&&(b.headers=new Headers(g)),b},i=a;for(let b=0;b<=d;b++){let b=void 0!==f&&aa(i,f);b||ab(i);let c=null!=e?e:b?globalThis.fetch:await ah(),d=await c(i,h("manual"));if("opaqueredirect"===d.type){if(!function(a=globalThis){return null!=a.window}())throw new _({url:a,message:`Redirect from ${i} could not be validated and was blocked`});return await c(i,h("follow"))}let j=d.headers.get("location");if(al.has(d.status)&&j){await X(d);let a=new URL(j,i).toString();if(void 0!==g&&!aa(a,i)){let a=g.get("user-agent");g=new Headers(null==a?void 0:{"user-agent":a})}i=a;continue}return d}throw new _({url:a,message:`Too many redirects (max ${d})`})}async function an({response:a,url:b,maxBytes:c=0x80000000}){let d=a.headers.get("content-length");if(null!=d){let e=parseInt(d,10);if(!isNaN(e)&&e>c)throw await X(a),new _({url:b,message:`Download of ${b} exceeded maximum size of ${c} bytes (Content-Length: ${e}).`})}let e=a.body;if(null==e)return new Uint8Array(0);let f=e.getReader(),g=[],h=0;try{for(;;){let{done:a,value:d}=await f.read();if(a)break;if((h+=d.length)>c)throw new _({url:b,message:`Download of ${b} exceeded maximum size of ${c} bytes.`});g.push(d)}}finally{try{await f.cancel()}catch(a){}finally{f.releaseLock()}}let i=new Uint8Array(h),j=0;for(let a of g)i.set(a,j),j+=a.length;return i}async function ao(a,b){var c,d;try{let e=await am({url:a,abortSignal:null==b?void 0:b.abortSignal});if(!e.ok)throw await X(e),new _({url:a,statusCode:e.status,statusText:e.statusText});let f=await an({response:e,url:a,maxBytes:null!=(c=null==b?void 0:b.maxBytes)?c:0x80000000}),g=null!=(d=e.headers.get("content-type"))?d:void 0;return new Blob([f],g?{type:g}:void 0)}catch(b){if(_.isInstance(b))throw b;throw new _({url:a,cause:b})}}var ap=Symbol.for("vercel.ai.embeddingModel.maxInputBytesPerCall"),aq=({prefix:a,size:b=16,alphabet:c="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz",separator:d="-"}={})=>{let e=()=>{let a=c.length,d=Array(b);for(let e=0;e<b;e++)d[e]=c[Math.random()*a|0];return d.join("")};if(null==a)return e;if(c.includes(d))throw new g.InvalidArgumentError({argument:"separator",message:`The separator "${d}" must not be part of the alphabet "${c}".`});return()=>`${a}${d}${e()}`},ar=aq(),as=async({url:a,headers:b={},successfulResponseHandler:c,failedResponseHandler:d,abortSignal:e,fetch:f,validateUrl:h,credentialedOrigin:i,trustedOrigin:j})=>{try{let k=null!=f?f:globalThis.fetch,l=void 0===i||aa(a,i)?b:{},m=K(l,`ai-sdk/provider-utils/${I}`,D()),n=h?await am({url:a,headers:m,abortSignal:e,fetch:f,trustedOrigin:j}):await k(a,{method:"GET",headers:m,signal:e}),o=C(n);if(!n.ok){let b;try{b=await d({response:n,url:a,requestBodyValues:{}})}catch(b){if(E(b)||g.APICallError.isInstance(b))throw b;throw new g.APICallError({message:"Failed to process error response",cause:b,statusCode:n.status,url:a,responseHeaders:o,requestBodyValues:{}})}throw b.value}try{return await c({response:n,url:a,requestBodyValues:{}})}catch(b){if(b instanceof Error&&(E(b)||g.APICallError.isInstance(b)))throw b;throw new g.APICallError({message:"Failed to process successful response",cause:b,statusCode:n.status,url:a,responseHeaders:o,requestBodyValues:{}})}}catch(b){throw H({error:b,url:a,requestBodyValues:{}})}};function at(a){var b,c;return null!=(c=null==(b=globalThis.Buffer)?void 0:b.isBuffer(a))&&c}function au(a){return null!=a&&"object"==typeof a&&!Array.isArray(a)}var av={minimal:.02,low:.1,medium:.3,high:.6,xhigh:.9};function aw(a){return null!=a&&Number.isSafeInteger(a)&&a>=0}var ax=/"(?:_|\\u005[Ff])(?:_|\\u005[Ff])(?:p|\\u0070)(?:r|\\u0072)(?:o|\\u006[Ff])(?:t|\\u0074)(?:o|\\u006[Ff])(?:_|\\u005[Ff])(?:_|\\u005[Ff])"\s*:/,ay=/"(?: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 az(a){let b=JSON.parse(a);return null===b||"object"!=typeof b||!1===ax.test(a)&&!1===ay.test(a)?b:function(a){let b=[a];for(;b.length;){let a=b;for(let c of(b=[],a)){if(Object.prototype.hasOwnProperty.call(c,"__proto__")||Object.prototype.hasOwnProperty.call(c,"constructor")&&null!==c.constructor&&"object"==typeof c.constructor&&Object.prototype.hasOwnProperty.call(c.constructor,"prototype"))throw SyntaxError("Object contains forbidden prototype property");for(let a in c){let d=c[a];d&&"object"==typeof d&&b.push(d)}}}return a}(b)}function aA(a){let{stackTraceLimit:b}=Error;try{Error.stackTraceLimit=0}catch(b){return az(a)}try{return az(a)}finally{Error.stackTraceLimit=b}}function aB(a){if("object"===a.type||Array.isArray(a.type)&&a.type.includes("object")){let{additionalProperties:b}=a;a.additionalProperties=null!=b&&"boolean"!=typeof b&&aC(b);let{properties:c}=a;if(null!=c)for(let a of Object.keys(c))c[a]=aC(c[a])}null!=a.items&&(a.items=Array.isArray(a.items)?a.items.map(aC):aC(a.items)),null!=a.anyOf&&(a.anyOf=a.anyOf.map(aC)),null!=a.allOf&&(a.allOf=a.allOf.map(aC)),null!=a.oneOf&&(a.oneOf=a.oneOf.map(aC));let{definitions:b}=a;if(null!=b)for(let a of Object.keys(b))b[a]=aC(b[a]);return a}function aC(a){return"boolean"==typeof a?a:aB(a)}var aD=Symbol("Let zodToJsonSchema decide on which parser to use"),aE={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 aF(a,b){return a$(a.type._def,b)}var aG=void 0,aH=/^[cC][^\s-]{8,}$/,aI=/^[0-9a-z]+$/,aJ=/^[0-9A-HJKMNP-TV-Z]{26}$/,aK=/^(?!\.)(?!.*\.\.)([a-zA-Z0-9_'+\-\.]*)[a-zA-Z0-9_+-]@([a-zA-Z0-9][a-zA-Z0-9\-]*\.)+[a-zA-Z]{2,}$/,aL=()=>(void 0===aG&&(aG=RegExp("^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$","u")),aG),aM=/^(?:(?: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])$/,aN=/^(([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])$/,aO=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,aP=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,aQ=/^[a-zA-Z0-9_-]{21}$/,aR=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/;function aS(a,b){let c={type:"string"};if(a.checks)for(let d of a.checks)switch(d.kind){case"min":c.minLength="number"==typeof c.minLength?Math.max(c.minLength,d.value):d.value;break;case"max":c.maxLength="number"==typeof c.maxLength?Math.min(c.maxLength,d.value):d.value;break;case"email":switch(b.emailStrategy){case"format:email":aV(c,"email",d.message,b);break;case"format:idn-email":aV(c,"idn-email",d.message,b);break;case"pattern:zod":aW(c,aK,d.message,b)}break;case"url":aV(c,"uri",d.message,b);break;case"uuid":aV(c,"uuid",d.message,b);break;case"regex":aW(c,d.regex,d.message,b);break;case"cuid":aW(c,aH,d.message,b);break;case"cuid2":aW(c,aI,d.message,b);break;case"startsWith":aW(c,RegExp(`^${aT(d.value,b)}`),d.message,b);break;case"endsWith":aW(c,RegExp(`${aT(d.value,b)}$`),d.message,b);break;case"datetime":aV(c,"date-time",d.message,b);break;case"date":aV(c,"date",d.message,b);break;case"time":aV(c,"time",d.message,b);break;case"duration":aV(c,"duration",d.message,b);break;case"length":c.minLength="number"==typeof c.minLength?Math.max(c.minLength,d.value):d.value,c.maxLength="number"==typeof c.maxLength?Math.min(c.maxLength,d.value):d.value;break;case"includes":aW(c,RegExp(aT(d.value,b)),d.message,b);break;case"ip":"v6"!==d.version&&aV(c,"ipv4",d.message,b),"v4"!==d.version&&aV(c,"ipv6",d.message,b);break;case"base64url":aW(c,aP,d.message,b);break;case"jwt":aW(c,aR,d.message,b);break;case"cidr":"v6"!==d.version&&aW(c,aM,d.message,b),"v4"!==d.version&&aW(c,aN,d.message,b);break;case"emoji":aW(c,aL(),d.message,b);break;case"ulid":aW(c,aJ,d.message,b);break;case"base64":switch(b.base64Strategy){case"format:binary":aV(c,"binary",d.message,b);break;case"contentEncoding:base64":c.contentEncoding="base64";break;case"pattern:zod":aW(c,aO,d.message,b)}break;case"nanoid":aW(c,aQ,d.message,b)}return c}function aT(a,b){return"escape"===b.patternStrategy?function(a){let b="";for(let c=0;c<a.length;c++)aU.has(a[c])||(b+="\\"),b+=a[c];return b}(a):a}var aU=new Set("ABCDEFGHIJKLMNOPQRSTUVXYZabcdefghijklmnopqrstuvxyz0123456789");function aV(a,b,c,d){var e;a.format||(null==(e=a.anyOf)?void 0:e.some(a=>a.format))?(a.anyOf||(a.anyOf=[]),a.format&&(a.anyOf.push({format:a.format}),delete a.format),a.anyOf.push({format:b,...c&&d.errorMessages&&{errorMessage:{format:c}}})):a.format=b}function aW(a,b,c,d){var e;a.pattern||(null==(e=a.allOf)?void 0:e.some(a=>a.pattern))?(a.allOf||(a.allOf=[]),a.pattern&&(a.allOf.push({pattern:a.pattern}),delete a.pattern),a.allOf.push({pattern:aX(b,d),...c&&d.errorMessages&&{errorMessage:{pattern:c}}})):a.pattern=aX(b,d)}function aX(a,b){var c;if(!b.applyRegexFlags||!a.flags)return a.source;let d={i:a.flags.includes("i"),m:a.flags.includes("m"),s:a.flags.includes("s")},e=d.i?a.source.toLowerCase():a.source,f="",g=!1,h=!1,i=!1;for(let a=0;a<e.length;a++){if(g){f+=e[a],g=!1;continue}if(d.i){if(h){if(e[a].match(/[a-z]/)){i?(f+=e[a],f+=`${e[a-2]}-${e[a]}`.toUpperCase(),i=!1):"-"===e[a+1]&&(null==(c=e[a+2])?void 0:c.match(/[a-z]/))?(f+=e[a],i=!0):f+=`${e[a]}${e[a].toUpperCase()}`;continue}}else if(e[a].match(/[a-z]/)){f+=`[${e[a]}${e[a].toUpperCase()}]`;continue}}if(d.m){if("^"===e[a]){f+=`(^|(?<=[\r
|
|
156
|
+
]))`;continue}else if("$"===e[a]){f+=`($|(?=[\r
|
|
157
|
+
]))`;continue}}if(d.s&&"."===e[a]){f+=h?`${e[a]}\r
|
|
158
|
+
`:`[${e[a]}\r
|
|
159
|
+
]`;continue}f+=e[a],"\\"===e[a]?g=!0:h&&"]"===e[a]?h=!1:h||"["!==e[a]||(h=!0)}try{new RegExp(f)}catch(c){return console.warn(`Could not convert regex pattern at ${b.currentPath.join("/")} to a flag-independent form! Falling back to the flag-ignorant source`),a.source}return f}function aY(a,b){var c,d,e,f,g,h;let i={type:"object",additionalProperties:null!=(c=a$(a.valueType._def,{...b,currentPath:[...b.currentPath,"additionalProperties"]}))?c:b.allowedAdditionalProperties};if((null==(d=a.keyType)?void 0:d._def.typeName)==="ZodString"&&(null==(e=a.keyType._def.checks)?void 0:e.length)){let{type:c,...d}=aS(a.keyType._def,b);return{...i,propertyNames:d}}if((null==(f=a.keyType)?void 0:f._def.typeName)==="ZodEnum")return{...i,propertyNames:{enum:a.keyType._def.values}};if((null==(g=a.keyType)?void 0:g._def.typeName)==="ZodBranded"&&"ZodString"===a.keyType._def.type._def.typeName&&(null==(h=a.keyType._def.type._def.checks)?void 0:h.length)){let{type:c,...d}=aF(a.keyType._def,b);return{...i,propertyNames:d}}return i}var aZ={ZodString:"string",ZodNumber:"number",ZodBigInt:"integer",ZodBoolean:"boolean",ZodNull:"null"};function a$(a,b,c=!1){var d;let e=b.seen.get(a);if(b.override){let f=null==(d=b.override)?void 0:d.call(b,a,b,e,c);if(f!==aD)return f}if(e&&!c){let a=a_(e,b);if(void 0!==a)return a}let f={def:a,path:b.currentPath,jsonSchema:void 0};b.seen.set(a,f);let g=((a,b,c)=>{var d,e,f,g,h,i;switch(b){case"ZodString":return aS(a,c);case"ZodNumber":let j={type:"number"};if(!a.checks)return j;for(let b of a.checks)switch(b.kind){case"int":j.type="integer";break;case"min":b.inclusive?j.minimum=b.value:j.exclusiveMinimum=b.value;break;case"max":b.inclusive?j.maximum=b.value:j.exclusiveMaximum=b.value;break;case"multipleOf":j.multipleOf=b.value}return j;case"ZodObject":return function(a,b){let c={type:"object",properties:{}},d=[],e=a.shape();for(let a in e){let f=e[a];if(void 0===f||void 0===f._def)continue;let g=function(a){try{return a.isOptional()}catch(a){return!0}}(f),h=a$(f._def,{...b,currentPath:[...b.currentPath,"properties",a],propertyPath:[...b.currentPath,"properties",a]});void 0!==h&&(c.properties[a]=h,g||d.push(a))}d.length&&(c.required=d);let f=function(a,b){if("ZodNever"!==a.catchall._def.typeName)return a$(a.catchall._def,{...b,currentPath:[...b.currentPath,"additionalProperties"]});switch(a.unknownKeys){case"passthrough":return b.allowedAdditionalProperties;case"strict":return b.rejectedAdditionalProperties;case"strip":return"strict"===b.removeAdditionalStrategy?b.allowedAdditionalProperties:b.rejectedAdditionalProperties}}(a,b);return void 0!==f&&(c.additionalProperties=f),c}(a,c);case"ZodBigInt":let k={type:"integer",format:"int64"};if(!a.checks)return k;for(let b of a.checks)switch(b.kind){case"min":b.inclusive?k.minimum=b.value:k.exclusiveMinimum=b.value;break;case"max":b.inclusive?k.maximum=b.value:k.exclusiveMaximum=b.value;break;case"multipleOf":k.multipleOf=b.value}return k;case"ZodBoolean":return{type:"boolean"};case"ZodDate":return function a(b,c,d){let e=null!=d?d:c.dateStrategy;if(Array.isArray(e))return{anyOf:e.map(d=>a(b,c,d))};switch(e){case"string":case"format:date-time":return{type:"string",format:"date-time"};case"format:date":return{type:"string",format:"date"};case"integer":var f=b;let g={type:"integer",format:"unix-time"};for(let a of f.checks)switch(a.kind){case"min":g.minimum=a.value;break;case"max":g.maximum=a.value}return g}}(a,c);case"ZodUndefined":case"ZodNaN":case"ZodNever":return{not:{}};case"ZodNull":return{type:"null"};case"ZodArray":let l;return l={type:"array"},(null==(f=a.type)?void 0:f._def)&&(null==(h=null==(g=a.type)?void 0:g._def)?void 0:h.typeName)!=="ZodAny"&&(l.items=a$(a.type._def,{...c,currentPath:[...c.currentPath,"items"]})),a.minLength&&(l.minItems=a.minLength.value),a.maxLength&&(l.maxItems=a.maxLength.value),a.exactLength&&(l.minItems=a.exactLength.value,l.maxItems=a.exactLength.value),l;case"ZodUnion":case"ZodDiscriminatedUnion":let m,n=a.options instanceof Map?Array.from(a.options.values()):a.options;if(n.every(a=>a._def.typeName in aZ&&(!a._def.checks||!a._def.checks.length))){let a=n.reduce((a,b)=>{let c=aZ[b._def.typeName];return c&&!a.includes(c)?[...a,c]:a},[]);return{type:a.length>1?a:a[0]}}if(n.every(a=>"ZodLiteral"===a._def.typeName&&!a.description)){let a=n.reduce((a,b)=>{let c=typeof b._def.value;switch(c){case"string":case"number":case"boolean":return[...a,c];case"bigint":return[...a,"integer"];case"object":if(null===b._def.value)return[...a,"null"];default:return a}},[]);if(a.length===n.length){let b=a.filter((a,b,c)=>c.indexOf(a)===b);return{type:b.length>1?b:b[0],enum:n.reduce((a,b)=>a.includes(b._def.value)?a:[...a,b._def.value],[])}}}else if(n.every(a=>"ZodEnum"===a._def.typeName))return{type:"string",enum:n.reduce((a,b)=>[...a,...b._def.values.filter(b=>!a.includes(b))],[])};return d=a,e=c,(m=(d.options instanceof Map?Array.from(d.options.values()):d.options).map((a,b)=>a$(a._def,{...e,currentPath:[...e.currentPath,"anyOf",`${b}`]})).filter(a=>!!a&&(!e.strictUnions||"object"==typeof a&&Object.keys(a).length>0))).length?{anyOf:m}:void 0;case"ZodIntersection":let o,p;return o=[a$(a.left._def,{...c,currentPath:[...c.currentPath,"allOf","0"]}),a$(a.right._def,{...c,currentPath:[...c.currentPath,"allOf","1"]})].filter(a=>!!a),p=[],o.forEach(a=>{if((!("type"in a)||"string"!==a.type)&&"allOf"in a)p.push(...a.allOf);else{let b=a;if("additionalProperties"in a&&!1===a.additionalProperties){let{additionalProperties:c,...d}=a;b=d}p.push(b)}}),p.length?{allOf:p}:void 0;case"ZodTuple":return a.rest?{type:"array",minItems:a.items.length,items:a.items.map((a,b)=>a$(a._def,{...c,currentPath:[...c.currentPath,"items",`${b}`]})).reduce((a,b)=>void 0===b?a:[...a,b],[]),additionalItems:a$(a.rest._def,{...c,currentPath:[...c.currentPath,"additionalItems"]})}:{type:"array",minItems:a.items.length,maxItems:a.items.length,items:a.items.map((a,b)=>a$(a._def,{...c,currentPath:[...c.currentPath,"items",`${b}`]})).reduce((a,b)=>void 0===b?a:[...a,b],[])};case"ZodRecord":return aY(a,c);case"ZodLiteral":let q;return"bigint"!=(q=typeof a.value)&&"number"!==q&&"boolean"!==q&&"string"!==q?{type:Array.isArray(a.value)?"array":"object"}:{type:"bigint"===q?"integer":q,const:a.value};case"ZodEnum":return{type:"string",enum:Array.from(a.values)};case"ZodNativeEnum":let r,s,t;return r=a.values,{type:1===(t=Array.from(new Set((s=Object.keys(a.values).filter(a=>"number"!=typeof r[r[a]]).map(a=>r[a])).map(a=>typeof a)))).length?"string"===t[0]?"string":"number":["string","number"],enum:s};case"ZodNullable":if(["ZodString","ZodNumber","ZodBigInt","ZodBoolean","ZodNull"].includes(a.innerType._def.typeName)&&(!a.innerType._def.checks||!a.innerType._def.checks.length))return{type:[aZ[a.innerType._def.typeName],"null"]};let u=a$(a.innerType._def,{...c,currentPath:[...c.currentPath,"anyOf","0"]});return u&&{anyOf:[u,{type:"null"}]};case"ZodOptional":if(c.currentPath.toString()===(null==(i=c.propertyPath)?void 0:i.toString()))return a$(a.innerType._def,c);let v=a$(a.innerType._def,{...c,currentPath:[...c.currentPath,"anyOf","1"]});return v?{anyOf:[{not:{}},v]}:{};case"ZodMap":if("record"===c.mapStrategy)return aY(a,c);return{type:"array",maxItems:125,items:{type:"array",items:[a$(a.keyType._def,{...c,currentPath:[...c.currentPath,"items","items","0"]})||{},a$(a.valueType._def,{...c,currentPath:[...c.currentPath,"items","items","1"]})||{}],minItems:2,maxItems:2}};case"ZodSet":let w;return w={type:"array",uniqueItems:!0,items:a$(a.valueType._def,{...c,currentPath:[...c.currentPath,"items"]})},a.minSize&&(w.minItems=a.minSize.value),a.maxSize&&(w.maxItems=a.maxSize.value),w;case"ZodLazy":return()=>a.getter()._def;case"ZodPromise":return a$(a.type._def,c);case"ZodEffects":return"input"===c.effectStrategy?a$(a.schema._def,c):{};case"ZodAny":case"ZodUnknown":return{};case"ZodDefault":return{...a$(a.innerType._def,c),default:a.defaultValue()};case"ZodBranded":return aF(a,c);case"ZodReadonly":case"ZodCatch":return a$(a.innerType._def,c);case"ZodPipeline":if("input"===c.pipeStrategy)return a$(a.in._def,c);if("output"===c.pipeStrategy)return a$(a.out._def,c);let x=a$(a.in._def,{...c,currentPath:[...c.currentPath,"allOf","0"]}),y=a$(a.out._def,{...c,currentPath:[...c.currentPath,"allOf",x?"1":"0"]});return{allOf:[x,y].filter(a=>void 0!==a)};default:return}})(a,a.typeName,b),h="function"==typeof g?a$(g(),b):g;if(h&&a0(a,b,h),b.postProcess){let c=b.postProcess(h,a,b);return f.jsonSchema=h,c}return f.jsonSchema=h,h}var a_=(a,b)=>{switch(b.$refStrategy){case"root":return{$ref:a.path.join("/")};case"relative":return{$ref:((a,b)=>{let c=0;for(;c<a.length&&c<b.length&&a[c]===b[c];c++);return[(a.length-c).toString(),...b.slice(c)].join("/")})(b.currentPath,a.path)};case"none":case"seen":if(a.path.length<b.currentPath.length&&a.path.every((a,c)=>b.currentPath[c]===a))return console.warn(`Recursive reference detected at ${b.currentPath.join("/")}! Defaulting to any`),{};return"seen"===b.$refStrategy?{}:void 0}},a0=(a,b,c)=>(a.description&&(c.description=a.description),c),a1=Symbol.for("vercel.ai.schema");function a2(a,{validate:b}={}){return{[a1]:!0,_type:void 0,get jsonSchema(){return"function"==typeof a&&(a=a()),a},validate:b}}function a3(a){var b;return null==a?a2({type:"object",properties:{},additionalProperties:!1}):"object"==typeof a&&null!==a&&a1 in a&&!0===a[a1]&&"jsonSchema"in a&&"validate"in a?a:"~standard"in a?"zod"===a["~standard"].vendor?a4(a):(b=a,a2(()=>{if(null==b["~standard"].jsonSchema)throw Error(`Standard schema vendor '${b["~standard"].vendor}' does not support JSON Schema conversion.`);return aB(b["~standard"].jsonSchema.input({target:"draft-07"}))},{validate:async a=>{let c=await b["~standard"].validate(a);return"value"in c?{success:!0,value:c.value}:{success:!1,error:new g.TypeValidationError({value:a,cause:c.issues})}}})):a()}function a4(a,b){var c,d;let e;if("_zod"in a){let d;return d=null!=(c=null==b?void 0:b.useReferences)&&c,a2(()=>aB((0,i.toJSONSchema)(a,{target:"draft-7",io:"input",reused:d?"ref":"inline"})),{validate:async b=>{let c=await (0,h.safeParseAsync)(a,b);return c.success?{success:!0,value:c.data}:{success:!1,error:c.error}}})}return e=null!=(d=null==b?void 0:b.useReferences)&&d,a2(()=>((a,b)=>{var c;let d,e,f=(e=void 0!==(d="string"==typeof b?{...aE,name:b}:{...aE,...b}).name?[...d.basePath,d.definitionPath,d.name]:d.basePath,{...d,currentPath:e,propertyPath:void 0,seen:new Map(Object.entries(d.definitions).map(([a,b])=>[b._def,{def:b._def,path:[...d.basePath,d.definitionPath,a],jsonSchema:void 0}]))}),g="object"==typeof b&&b.definitions?Object.entries(b.definitions).reduce((a,[b,c])=>{var d;return{...a,[b]:null!=(d=a$(c._def,{...f,currentPath:[...f.basePath,f.definitionPath,b]},!0))?d:{}}},{}):void 0,h="string"==typeof b?b:(null==b?void 0:b.nameStrategy)==="title"||null==b?void 0:b.name,i=null!=(c=a$(a._def,void 0===h?f:{...f,currentPath:[...f.basePath,f.definitionPath,h]},!1))?c:{},j="object"==typeof b&&void 0!==b.name&&"title"===b.nameStrategy?b.name:void 0;void 0!==j&&(i.title=j);let k=void 0===h?g?{...i,[f.definitionPath]:g}:i:{$ref:[..."relative"===f.$refStrategy?[]:f.basePath,f.definitionPath,h].join("/"),[f.definitionPath]:{...g,[h]:i}};return k.$schema="http://json-schema.org/draft-07/schema#",k})(a,{$refStrategy:e?"root":"none"}),{validate:async b=>{let c=await a.safeParseAsync(b);return c.success?{success:!0,value:c.data}:{success:!1,error:c.error}}})}async function a5({value:a,schema:b,context:c}){let d=await a6({value:a,schema:b,context:c});if(!d.success)throw g.TypeValidationError.wrap({value:a,cause:d.error,context:c});return d.value}async function a6({value:a,schema:b,context:c}){let d=a3(b);try{if(null==d.validate)return{success:!0,value:a,rawValue:a};let b=await d.validate(a);if(b.success)return{success:!0,value:b.value,rawValue:a};return{success:!1,error:g.TypeValidationError.wrap({value:a,cause:b.error,context:c}),rawValue:a}}catch(b){return{success:!1,error:g.TypeValidationError.wrap({value:a,cause:b,context:c}),rawValue:a}}}async function a7({text:a,schema:b}){try{let c=aA(a);if(null==b)return c;return await a5({value:c,schema:b})}catch(b){if(g.JSONParseError.isInstance(b)||g.TypeValidationError.isInstance(b))throw b;throw new g.JSONParseError({text:a,cause:b})}}async function a8({text:a,schema:b}){try{let c=aA(a);if(null==b)return{success:!0,value:c,rawValue:c};return await a6({value:c,schema:b})}catch(b){return{success:!1,error:g.JSONParseError.isInstance(b)?b:new g.JSONParseError({text:a,cause:b}),rawValue:void 0}}}function a9({stream:a,schema:b}){return a.pipeThrough(new TextDecoderStream).pipeThrough(new n).pipeThrough(new TransformStream({async transform({data:a},c){"[DONE]"!==a&&c.enqueue(await a8({text:a,schema:b}))}}))}async function ba({provider:a,providerOptions:b,schema:c}){if((null==b?void 0:b[a])==null)return;let d=await a6({value:b[a],schema:c});if(!d.success)throw new g.InvalidArgumentError({argument:"providerOptions",message:`invalid ${a} provider options`,cause:d.error});return d.value}var bb=()=>globalThis.fetch;function bc(a){return a.replace(/[\r\n]/g,"").replace(/\\/g,"\\\\").replace(/"/g,'\\"')}var bd=async({url:a,headers:b={},parts:c,failedResponseHandler:d,successfulResponseHandler:e,abortSignal:f,fetch:h=bb()})=>{let i,j,k,l,m=`ai-sdk-multipart-${ar()}`,n=Object.fromEntries(c.map(a=>{var b;return[a.name,"field"===a.type?a.value:`<file:${null!=(b=a.filename)?b:a.name}>`]})),o=(j=new TextEncoder,k=!1,l=new Set,{stream:v(async function*(){var a,b;for(let d of c){if(k)return;let c=`--${m}\r
|
|
160
|
+
Content-Disposition: form-data; name="${bc(d.name)}"`;if("field"===d.type){yield j.encode(`${c}\r
|
|
161
|
+
\r
|
|
162
|
+
${d.value}\r
|
|
163
|
+
`);continue}let e=`; filename="${bc(null!=(a=d.filename)?a:"blob")}"`,f=(null!=(b=d.mediaType)?b:"application/octet-stream").replace(/[\r\n]/g,"");if(yield j.encode(`${c}${e}\r
|
|
164
|
+
Content-Type: ${f}\r
|
|
165
|
+
\r
|
|
166
|
+
`),d.content instanceof Uint8Array)yield d.content;else{let a=d.content.getReader();i=a,l.add(d.content);let b=!1;try{for(;;){let{done:c,value:d}=await a.read();if(c||k){b=c;break}yield d}}finally{i=void 0,b||await a.cancel().catch(()=>{}),a.releaseLock()}if(k)return}yield j.encode("\r\n")}yield j.encode(`--${m}--\r
|
|
167
|
+
`)}()),async dispose(a){if(k)return;k=!0;let b=i;for(let d of(null!=b&&await b.cancel(a).catch(()=>{}),c))"file"!==d.type||d.content instanceof Uint8Array||l.has(d.content)||await d.content.cancel(a).catch(()=>{})}});try{let c={method:"POST",headers:K({...b,"Content-Type":`multipart/form-data; boundary=${m}`},`ai-sdk/provider-utils/${I}`,D()),body:o.stream,duplex:"half",signal:f},i=await h(a,c),j=C(i);if(!i.ok){let b;try{b=await d({response:i,url:a,requestBodyValues:n})}catch(b){if(E(b)||g.APICallError.isInstance(b))throw b;throw new g.APICallError({message:"Failed to process error response",cause:b,statusCode:i.status,url:a,responseHeaders:j,requestBodyValues:n})}throw b.value}try{return await e({response:i,url:a,requestBodyValues:n})}catch(b){if(b instanceof Error&&(E(b)||g.APICallError.isInstance(b)))throw b;throw new g.APICallError({message:"Failed to process successful response",cause:b,statusCode:i.status,url:a,responseHeaders:j,requestBodyValues:n})}}catch(b){throw await o.dispose(b),H({error:b,url:a,requestBodyValues:n})}},be=()=>globalThis.fetch,bf=async({url:a,headers:b,body:c,failedResponseHandler:d,successfulResponseHandler:e,abortSignal:f,fetch:g})=>await bh({url:a,headers:{"Content-Type":"application/json",...b},body:{content:JSON.stringify(c),values:c},failedResponseHandler:d,successfulResponseHandler:e,abortSignal:f,fetch:g}),bg=async({url:a,headers:b,formData:c,failedResponseHandler:d,successfulResponseHandler:e,abortSignal:f,fetch:g})=>await bh({url:a,headers:b,body:{content:c,values:Object.fromEntries(c.entries())},failedResponseHandler:d,successfulResponseHandler:e,abortSignal:f,fetch:g}),bh=async({url:a,headers:b={},body:c,successfulResponseHandler:d,failedResponseHandler:e,abortSignal:f,fetch:h=be()})=>{try{let i=await h(a,{method:"POST",headers:K(b,`ai-sdk/provider-utils/${I}`,D()),body:c.content,signal:f}),j=C(i);if(!i.ok){let b;try{b=await e({response:i,url:a,requestBodyValues:c.values})}catch(b){if(E(b)||g.APICallError.isInstance(b))throw b;throw new g.APICallError({message:"Failed to process error response",cause:b,statusCode:i.status,url:a,responseHeaders:j,requestBodyValues:c.values})}throw b.value}try{return await d({response:i,url:a,requestBodyValues:c.values})}catch(b){if(b instanceof Error&&(E(b)||g.APICallError.isInstance(b)))throw b;throw new g.APICallError({message:"Failed to process successful response",cause:b,statusCode:i.status,url:a,responseHeaders:j,requestBodyValues:c.values})}}catch(b){throw H({error:b,url:a,requestBodyValues:c.values})}};function bi(a){return a}async function bj(a){return"function"==typeof a&&(a=a()),Promise.resolve(a)}async function bk(a,{maxRetries:b,delayInMs:c,backoffFactor:d,abortSignal:e,shouldRetry:f,getDelayInMs:h,createRetryError:i},j=[]){try{return await a()}catch(n){if(E(n)||0===b)throw n;let k=(0,g.getErrorMessage)(n),l=[...j,n],m=l.length;if(m>b)throw i({message:`Failed after ${m} attempts. Last error: ${k}`,reason:"maxRetriesExceeded",errors:l});if(await f(n)&&m<=b)return await q(h({error:n,exponentialBackoffDelay:c}),{abortSignal:e}),bk(a,{maxRetries:b,delayInMs:d*c,backoffFactor:d,abortSignal:e,shouldRetry:f,getDelayInMs:h,createRetryError:i},l);if(1===m)throw n;throw i({message:`Failed after ${m} attempts with non-retryable error: '${k}'`,reason:"errorNotRetryable",errors:l})}}var bl=new TextDecoder;function bm({stream:a,url:b,requestBodyValues:c,statusCode:d,responseHeaders:e}){let f=a.getReader(),h=!1,i=()=>{h||(f.releaseLock(),h=!0)};return new ReadableStream({async pull(a){try{let{done:b,value:c}=await f.read();b?(i(),a.close()):a.enqueue(c)}catch(f){if(i(),E(f))return void a.error(f);a.error(H({error:new g.APICallError({message:"Failed to process successful response",cause:f,statusCode:d,url:b,responseHeaders:e,requestBodyValues:c}),url:b,requestBodyValues:c}))}},async cancel(a){try{await f.cancel(a)}finally{i()}}})}async function bn({response:a,url:b}){return bl.decode(await an({response:a,url:b}))}async function*bo({stream:a,schema:b}){let c=a.getReader(),d=new TextDecoder,e="",f=!1;try{for(;;){let{done:a,value:g}=await c.read();if(a){f=!0,e+=d.decode();break}let h=(e+=d.decode(g,{stream:!0})).indexOf("\n");for(;-1!==h;){let a=e.slice(0,h).replace(/\r$/,"");e=e.slice(h+1),a.trim().length>0&&(yield await a7({text:a,schema:b})),h=e.indexOf("\n")}}let a=e.replace(/\r$/,"");a.trim().length>0&&(yield await a7({text:a,schema:b}))}finally{f||await c.cancel().catch(()=>{}),c.releaseLock()}}function bp(a){if(null==a)return!0;let b=typeof a;return"string"===b||"number"===b||"boolean"===b||"function"!==b&&"symbol"!==b&&"bigint"!==b&&(Array.isArray(a)?a.every(bp):Object.getPrototypeOf(a)===Object.prototype&&Object.values(a).every(bp))}var bq="AI_SerializationError",br=`vercel.ai.error.${bq}`,bs=Symbol.for(br),bt=class extends(f=g.AISDKError,e=bs,f){constructor({message:a="Failed to serialize value.",cause:b}={}){super({name:bq,message:a,cause:b}),this[e]=!0}static isInstance(a){return g.AISDKError.hasMarker(a,br)}},bu=class{constructor(a,b={}){var c,d;this.toolCalls=new Set,this.toolCallsById=new Map,this.toolCallsByIndex=new Map,this.controller=a,this._generateId=null!=(c=b.generateId)?c:ar,this.typeValidation=null!=(d=b.typeValidation)?d:"none",this.extractMetadata=b.extractMetadata,this.buildToolCallProviderMetadata=b.buildToolCallProviderMetadata}processDelta(a){let{id:b,index:c}=a,d=null!=b&&b.length>0?this.toolCallsById.get(b):null!=c?this.toolCallsByIndex.get(c):this.latestToolCall;null==d?d=this.processNewToolCall(a):this.processExistingToolCall(d,a),null!=c&&this.toolCallsByIndex.set(c,d),this.latestToolCall=d}flush(){for(let a of this.toolCalls)a.hasFinished||this.finishToolCall(a)}processNewToolCall(a){var b,c,d;if("required"===this.typeValidation){if("function"!==a.type)throw new g.InvalidResponseDataError({data:a,message:"Expected 'function' type."})}else if("if-present"===this.typeValidation&&null!=a.type&&"function"!==a.type)throw new g.InvalidResponseDataError({data:a,message:"Expected 'function' type."});if(null==a.id)throw new g.InvalidResponseDataError({data:a,message:"Expected 'id' to be a string."});if((null==(b=a.function)?void 0:b.name)==null)throw new g.InvalidResponseDataError({data:a,message:"Expected 'function.name' to be a string."});this.controller.enqueue({type:"tool-input-start",id:a.id,toolName:a.function.name});let e=null==(c=this.extractMetadata)?void 0:c.call(this,a),f={id:a.id,type:"function",function:{name:a.function.name,arguments:null!=(d=a.function.arguments)?d:""},hasFinished:!1,metadata:e};return this.toolCalls.add(f),f.id.length>0&&this.toolCallsById.set(f.id,f),f.function.arguments.length>0&&this.controller.enqueue({type:"tool-input-delta",id:f.id,delta:f.function.arguments}),f}processExistingToolCall(a,b){var c;a.hasFinished||(null==(c=b.function)?void 0:c.arguments)!=null&&(a.function.arguments+=b.function.arguments,this.controller.enqueue({type:"tool-input-delta",id:a.id,delta:b.function.arguments}))}finishToolCall(a){var b,c;this.controller.enqueue({type:"tool-input-end",id:a.id});let d=null==(b=this.buildToolCallProviderMetadata)?void 0:b.call(this,a.metadata);this.controller.enqueue({type:"tool-call",toolCallId:null!=(c=a.id)?c:this._generateId(),toolName:a.function.name,input:a.function.arguments,...d?{providerMetadata:d}:{}}),a.hasFinished=!0}};function bv(a){return"string"==typeof a}function bw(a){return"number"==typeof a}function bx(a,b){return void 0===a||b(a)}function by(a){return au(a)&&bv(a.type)}function bz(a){return au(a)&&bv(a.text)&&bw(a.startSecond)&&bw(a.endSecond)}async function*bA({tool:a,input:b,options:c}){let d=a.execute(b,c);if(null!=d&&"function"==typeof d[Symbol.asyncIterator]){let a;for await(let b of d)a=b,yield{type:"preliminary",output:b};yield{type:"final",output:a}}else yield{type:"final",output:await d}}a.s(["DEFAULT_MAX_DOWNLOAD_SIZE",0,0x80000000,"DelayedPromise",0,B,"DownloadError",0,_,"EXPERIMENTAL_EMBEDDING_MODEL_MAX_INPUT_BYTES_PER_CALL",0,ap,"EXPERIMENTAL_TRANSCRIPTION_STREAM_AUDIO_DONE_FRAME_TYPE",0,"transcription-stream.audio-done","EXPERIMENTAL_TRANSCRIPTION_STREAM_START_FRAME_TYPE",0,"transcription-stream.start","StreamingToolCallTracker",0,bu,"asArray",0,function(a){return void 0===a?[]:Array.isArray(a)?a:[a]},"asSchema",0,a3,"cancelResponseBody",0,X,"combineHeaders",0,function(...a){return a.reduce((a,b)=>({...a,...null!=b?b:{}}),{})},"connectToWebSocket",0,function({url:a,protocols:b,headers:c,webSocket:d,abortSignal:e,onOpen:f,onMessageText:g,onProcessingError:h,onSocketError:i,onClose:j,onAbort:k}){var l,m;let n,o,p=a=>{null!=o&&(null==e||e.removeEventListener("abort",o),o=void 0);try{null==n||n.close(a)}catch(a){}};if(null==e?void 0:e.aborted)return null==k||k(null!=(l=e.reason)?l:Error("Aborted")),{socket:void 0,close:p};try{n=new(function(a){let b=null!=a?a:globalThis.WebSocket;if(null==b)throw Error("No WebSocket implementation available.");return b}(d))(a,b,{headers:(m=null!=c?c:{},Object.fromEntries(Object.entries(m).filter(([a,b])=>null!=b)))})}catch(a){return h(a),{socket:void 0,close:p}}null!=e&&null!=k&&(o=()=>{var a;return k(null!=(a=e.reason)?a:Error("Aborted"))},e.addEventListener("abort",o,{once:!0}));let q=n;n.onopen=()=>{try{null==f||f(q)}catch(a){h(a)}};let r=Promise.resolve();return n.onmessage=a=>{r=r.then(()=>t(a.data)).then(a=>g(a)).catch(h)},n.onerror=()=>{r=r.then(()=>null==i?void 0:i()).catch(h)},n.onclose=a=>{let b="number"==typeof(null==a?void 0:a.code)?a.code:void 0,c="string"==typeof(null==a?void 0:a.reason)?a.reason:void 0;r=r.then(()=>null==j?void 0:j({code:b,reason:c})).catch(h)},{socket:n,close:p}},"convertAsyncIteratorToReadableStream",0,v,"convertBase64ToUint8Array",0,y,"convertImageModelFileToDataUri",0,function(a){return"url"===a.type?a.url:`data:${a.mediaType};base64,${"string"==typeof a.data?a.data:z(a.data)}`},"convertInlineFileDataToUint8Array",0,function(a){if("stream"===a.type){let b=new g.UnsupportedFunctionalityError({functionality:"streaming file upload"});throw a.stream.cancel(b).catch(()=>{}),b}return"text"===a.type?new TextEncoder().encode(a.text):a.data instanceof Uint8Array?a.data:a.data instanceof ArrayBuffer?new Uint8Array(a.data):y(a.data)},"convertToBase64",0,function(a){return a instanceof Uint8Array?z(a):a},"convertToFormData",0,function(a,b={}){let{useArrayBrackets:c=!0}=b,d=new FormData;for(let[b,e]of Object.entries(a))if(null!=e){if(Array.isArray(e)){if(1===e.length){d.append(b,e[0]);continue}let a=c?`${b}[]`:b;for(let b of e)d.append(a,b);continue}d.append(b,e)}return d},"convertUint8ArrayToBase64",0,z,"createBinaryResponseHandler",0,()=>async({response:a,url:b,requestBodyValues:c})=>{let d=C(a);if(!a.body)throw new g.APICallError({message:"Response body is empty",url:b,requestBodyValues:c,statusCode:a.status,responseHeaders:d,responseBody:void 0});try{let b=await a.arrayBuffer();return{responseHeaders:d,value:new Uint8Array(b)}}catch(e){throw new g.APICallError({message:"Failed to read response as array buffer",url:b,requestBodyValues:c,statusCode:a.status,responseHeaders:d,responseBody:void 0,cause:e})}},"createBinaryStreamResponseHandler",0,()=>async({response:a,url:b,requestBodyValues:c})=>{let d=C(a);if(null==a.body)throw new g.EmptyResponseBodyError({});return{responseHeaders:d,value:bm({stream:a.body,url:b,requestBodyValues:c,statusCode:a.status,responseHeaders:d})}},"createEventSourceResponseHandler",0,a=>async({response:b,url:c,requestBodyValues:d})=>{let e=C(b);if(null==b.body)throw new g.EmptyResponseBodyError({});return{responseHeaders:e,value:a9({stream:bm({stream:b.body,url:c,requestBodyValues:d,statusCode:b.status,responseHeaders:e}),schema:a})}},"createIdGenerator",0,aq,"createJsonErrorResponseHandler",0,({errorSchema:a,errorToMessage:b,isRetryable:c})=>async({response:d,url:e,requestBodyValues:f})=>{let h=await bn({response:d,url:e}),i=C(d);if(""===h.trim())return{responseHeaders:i,value:new g.APICallError({message:d.statusText,url:e,requestBodyValues:f,statusCode:d.status,responseHeaders:i,responseBody:h,isRetryable:null==c?void 0:c(d)})};try{let j=await a7({text:h,schema:a});return{responseHeaders:i,value:new g.APICallError({message:b(j),url:e,requestBodyValues:f,statusCode:d.status,responseHeaders:i,responseBody:h,data:j,isRetryable:null==c?void 0:c(d,j)})}}catch(a){return{responseHeaders:i,value:new g.APICallError({message:d.statusText,url:e,requestBodyValues:f,statusCode:d.status,responseHeaders:i,responseBody:h,isRetryable:null==c?void 0:c(d)})}}},"createJsonLinesResponseHandler",0,a=>async({response:b})=>{let c=C(b);if(null==b.body)throw new g.EmptyResponseBodyError({});return{responseHeaders:c,value:bo({stream:b.body,schema:a})}},"createJsonResponseHandler",0,a=>async({response:b,url:c,requestBodyValues:d})=>{let e=await bn({response:b,url:c}),f=await a8({text:e,schema:a}),h=C(b);if(!f.success)throw new g.APICallError({message:"Invalid JSON response",cause:f.error,statusCode:b.status,responseHeaders:h,responseBody:e,url:c,requestBodyValues:d});return{responseHeaders:h,value:f.value,rawValue:f.rawValue}},"createLanguageModelResponseMetadata",0,function({id:a,model:b,created:c}){return{id:null!=a?a:void 0,modelId:null!=b?b:void 0,timestamp:null!=c?new Date(1e3*c):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:a,inputSchema:b}){return({execute:c,outputSchema:d,needsApproval:e,toModelOutput:f,onInputStart:g,onInputDelta:h,onInputAvailable:i,...j})=>bi({type:"provider",isProviderExecuted:!1,id:a,args:j,inputSchema:b,outputSchema:d,execute:c,needsApproval:e,toModelOutput:f,onInputStart:g,onInputDelta:h,onInputAvailable:i})},"createProviderDefinedToolFactoryWithOutputSchema",0,function({id:a,inputSchema:b,outputSchema:c}){return({execute:d,needsApproval:e,toModelOutput:f,onInputStart:g,onInputDelta:h,onInputAvailable:i,...j})=>bi({type:"provider",isProviderExecuted:!1,id:a,args:j,inputSchema:b,outputSchema:c,execute:d,needsApproval:e,toModelOutput:f,onInputStart:g,onInputDelta:h,onInputAvailable:i})},"createProviderExecutedToolFactory",0,function({id:a,inputSchema:b,outputSchema:c,supportsDeferredResults:d}){return({onInputStart:e,onInputDelta:f,onInputAvailable:g,...h})=>bi({type:"provider",isProviderExecuted:!0,id:a,args:h,inputSchema:b,outputSchema:c,onInputStart:e,onInputDelta:f,onInputAvailable:g,supportsDeferredResults:d})},"createProviderStreamError",0,function({message:a,type:b,code:c,statusCode:d,isRetryable:e,data:f}){let g={message:a,type:b,code:c,statusCode:d,isRetryable:e,data:f};return Object.defineProperty(g,A,{value:!0}),g},"createStatusCodeErrorResponseHandler",0,()=>async({response:a,url:b,requestBodyValues:c})=>{let d=C(a),e=await bn({response:a,url:b});return{responseHeaders:d,value:new g.APICallError({message:a.statusText,url:b,requestBodyValues:c,statusCode:a.status,responseHeaders:d,responseBody:e})}},"createToolNameMapping",0,function({tools:a=[],providerToolNames:b}){let c={},d={};for(let e of a)if("provider"===e.type&&e.id in b){let a=b[e.id];c[e.name]=a,d[a]=e.name}return{toProviderToolName:a=>{var b;return null!=(b=c[a])?b:a},toCustomToolName:a=>{var b;return null!=(b=d[a])?b:a}}},"delay",0,q,"deleteFromApi",0,M,"detectMediaType",0,U,"downloadBlob",0,ao,"dynamicTool",0,function(a){return{...a,type:"dynamic"}},"executeTool",0,bA,"experimental_getToolCaller",0,function(a){return null==a?void 0:a.experimental_toolCaller},"experimental_parseTranscriptionStreamPart",0,function(a){let b;try{b=aA(a)}catch(a){return}if(null==b||"object"!=typeof b||Array.isArray(b))return;let c=b;switch(c.type){case"stream-start":return Array.isArray(c.warnings)&&c.warnings.every(by)?c:void 0;case"transcript-delta":return bv(c.delta)&&bx(c.id,bv)&&bx(c.providerMetadata,au)?c:void 0;case"transcript-partial":return bv(c.text)&&bx(c.id,bv)&&bx(c.startSecond,bw)&&bx(c.durationInSeconds,bw)&&bx(c.channelIndex,bw)&&bx(c.providerMetadata,au)?c:void 0;case"transcript-final":return bv(c.text)&&bx(c.id,bv)&&bx(c.startSecond,bw)&&bx(c.endSecond,bw)&&bx(c.channelIndex,bw)&&bx(c.providerMetadata,au)?c:void 0;case"finish":return bv(c.text)&&Array.isArray(c.segments)&&c.segments.every(bz)&&bx(c.language,bv)&&bx(c.durationInSeconds,bw)&&bx(c.providerMetadata,au)?c:void 0;case"response-metadata":{if(!(bx(c.modelId,bv)&&bx(c.headers,au)))return;let a=c.timestamp;if(null==a)return{...c,timestamp:void 0};if("string"!=typeof a)return;let b=new Date(a);return Number.isNaN(b.getTime())?void 0:{...c,timestamp:b}}case"raw":return"rawValue"in c?c:void 0;case"error":return"error"in c?c:void 0;default:return}},"experimental_toolCaller",0,function(a,b){return Object.defineProperty({...a},"experimental_toolCaller",{value:b})},"extractResponseHeaders",0,C,"fetchWithValidatedRedirects",0,am,"filterNullable",0,function(...a){return a.filter(a=>null!=a)},"generateId",0,ar,"getFromApi",0,as,"getRuntimeEnvironmentUserAgent",0,D,"getTopLevelMediaType",0,V,"isAbortError",0,E,"isBuffer",0,at,"isCustomReasoning",0,function(a){return void 0!==a&&"provider-default"!==a},"isExecutableTool",0,function(a){return null!=a&&"function"==typeof a.execute},"isFullMediaType",0,W,"isNonNullable",0,function(a){return null!=a},"isProviderReference",0,function(a){return"object"==typeof a&&null!==a&&!(a instanceof Uint8Array)&&!(a instanceof URL)&&!(a instanceof ArrayBuffer)&&!at(a)&&!("type"in a)},"isProviderStreamError",0,function(a){return"object"==typeof a&&null!=a&&!0===a[A]},"isRecord",0,au,"isSameOrigin",0,aa,"isUrlSupported",0,function({mediaType:a,url:b,supportedUrls:c}){b=b.toLowerCase();let d=!(a=a.toLowerCase()).includes("/");return Object.entries(c).map(([a,b])=>{let c=a.toLowerCase();return"*"===c||"*/*"===c?{mediaTypePrefix:"",regexes:b}:{mediaTypePrefix:c.replace(/\*/,""),regexes:b}}).filter(({mediaTypePrefix:b})=>""===b||(d?`${a}/`===b:a.startsWith(b))).flatMap(({regexes:a})=>a).some(a=>(function(a,b){if(!a.global&&!a.sticky)return a.test(b);let c=a.lastIndex;a.lastIndex=0;try{return a.test(b)}finally{a.lastIndex=c}})(a,b))},"jsonSchema",0,a2,"lazySchema",0,function(a){let b;return()=>(null==b&&(b=a()),b)},"loadApiKey",0,function({apiKey:a,environmentVariableName:b,apiKeyParameterName:c="apiKey",description:d}){if("string"==typeof a)return a;if(null!=a)throw new g.LoadAPIKeyError({message:`${d} API key must be a string.`});if("u"<typeof process)throw new g.LoadAPIKeyError({message:`${d} API key is missing. Pass it using the '${c}' parameter. Environment variables are not supported in this environment.`});if(null==(a=process.env[b]))throw new g.LoadAPIKeyError({message:`${d} API key is missing. Pass it using the '${c}' parameter or the ${b} environment variable.`});if("string"!=typeof a)throw new g.LoadAPIKeyError({message:`${d} API key must be a string. The value of the ${b} environment variable is not a string.`});return a},"loadOptionalSetting",0,function({settingValue:a,environmentVariableName:b}){return"string"==typeof a?a:null!=a||"u"<typeof process?void 0:null!=(a=process.env[b])&&"string"==typeof a?a:void 0},"mapReasoningToProviderBudget",0,function({reasoning:a,maxOutputTokens:b,maxReasoningBudget:c,minReasoningBudget:d=1024,budgetPercentages:e=av,warnings:f}){let g=e[a];return null==g?void f.push({type:"unsupported",feature:"reasoning",details:`reasoning "${a}" is not supported by this model.`}):Math.min(c,Math.max(d,Math.round(b*g)))},"mapReasoningToProviderEffort",0,function({reasoning:a,effortMap:b,warnings:c}){let d=b[a];return null==d?void c.push({type:"unsupported",feature:"reasoning",details:`reasoning "${a}" is not supported by this model.`}):(d!==a&&c.push({type:"compatibility",feature:"reasoning",details:`reasoning "${a}" is not directly supported by this model. mapped to effort "${d}".`}),d)},"mediaTypeToExtension",0,function(a){var b;let[c,d=""]=a.toLowerCase().split("/");return null!=(b=({mpeg:"mp3","x-wav":"wav",opus:"ogg",mp4:"m4a","x-m4a":"m4a"})[d])?b:d},"normalizeBatchRequestCounts",0,function({total:a,pending:b,completed:c,failed:d}){if(aw(a)&&aw(b)&&aw(c)&&aw(d)&&b+c+d===a)return{total:a,pending:b,completed:c,failed:d}},"normalizeHeaders",0,J,"parseJSON",0,a7,"parseJsonEventStream",0,a9,"parseProviderOptions",0,ba,"postFormDataToApi",0,bg,"postJsonToApi",0,bf,"postMultipartStreamToApi",0,bd,"postToApi",0,bh,"readResponseWithSizeLimit",0,an,"resolve",0,bj,"resolveFullMediaType",0,function({part:a}){if(W(a.mediaType))return a.mediaType;if("data"===a.data.type){let b=U({data:a.data.data,topLevelType:V(a.mediaType)});if(b)return b;throw new g.UnsupportedFunctionalityError({functionality:`file of media type "${a.mediaType}" must specify subtype since it could not be auto-detected`})}throw new g.UnsupportedFunctionalityError({functionality:`file of media type "${a.mediaType}" must specify subtype since it is not passed as inline bytes`})},"resolveProviderReference",0,function({reference:a,provider:b}){let c=a[b];if(null!=c)return c;throw new g.NoSuchProviderReferenceError({provider:b,reference:a})},"retryWithExponentialBackoff",0,({maxRetries:a=2,initialDelayInMs:b=2e3,backoffFactor:c=2,abortSignal:d,shouldRetry:e,getDelayInMs:f=({exponentialBackoffDelay:a})=>a,createRetryError:g=({message:a})=>Error(a)})=>async h=>bk(h,{maxRetries:a,delayInMs:b,backoffFactor:c,abortSignal:d,shouldRetry:e,getDelayInMs:f,createRetryError:g}),"safeParseJSON",0,a8,"safeValidateTypes",0,a6,"secureJsonParse",0,aA,"serializeModelOptions",0,function(a){let b={};for(let[c,d]of Object.entries(a.config))if("headers"===c){let a=function(a){let b=a;if("function"==typeof a&&(b=a()),b instanceof Promise)throw new bt({message:"Cannot serialize asynchronous model options."});return b}(d);bp(a)&&(b[c]=a)}else bp(d)&&(b[c]=d);return{modelId:a.modelId,config:b}},"toWebSocketUrl",0,function(a){let b=new URL(a);return"http:"===b.protocol?b.protocol="ws:":"https:"===b.protocol&&(b.protocol="wss:"),b},"tool",0,bi,"validateBaseURL",0,function(a){if((null==a?void 0:a.trim())==="")throw new g.InvalidArgumentError({argument:"baseURL",message:"baseURL must be a non-empty string."});return a},"validateDownloadUrl",0,ab,"validateTypes",0,a5,"waitForWebSocketBufferDrain",0,u,"withUserAgentSuffix",0,K,"withoutTrailingSlash",0,function(a){return null==a?void 0:a.replace(/\/$/,"")},"zodSchema",0,a4],527990)},652685,a=>{"use strict";var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F="vercel.ai.error",G=Symbol.for(F),H=class a extends(c=Error,b=G,c){constructor({name:a,message:c,cause:d}){super(c),this[b]=!0,this.name=a,this.cause=d}static isInstance(b){return a.hasMarker(b,F)}static hasMarker(a,b){let c=Symbol.for(b);return null!=a&&"object"==typeof a&&c in a&&"boolean"==typeof a[c]&&!0===a[c]}},I="AI_APICallError",J=`vercel.ai.error.${I}`,K=Symbol.for(J),L=class extends(e=H,d=K,e){constructor({message:a,url:b,requestBodyValues:c,statusCode:e,responseHeaders:f,responseBody:g,cause:h,isRetryable:i=null!=e&&(408===e||409===e||429===e||e>=500),data:j}){super({name:I,message:a,cause:h}),this[d]=!0,this.url=b,this.requestBodyValues=c,this.statusCode=e,this.responseHeaders=f,this.responseBody=g,this.isRetryable=i,this.data=j}static isInstance(a){return H.hasMarker(a,J)}},M="AI_EmptyResponseBodyError",N=`vercel.ai.error.${M}`,O=Symbol.for(N),P=class extends(g=H,f=O,g){constructor({message:a="Empty response body"}={}){super({name:M,message:a}),this[f]=!0}static isInstance(a){return H.hasMarker(a,N)}};function Q(a){return null==a?"unknown error":"string"==typeof a?a:a instanceof Error?a.toString():JSON.stringify(a)}var R="AI_InvalidArgumentError",S=`vercel.ai.error.${R}`,T=Symbol.for(S),U=class extends(i=H,h=T,i){constructor({message:a,cause:b,argument:c}){super({name:R,message:a,cause:b}),this[h]=!0,this.argument=c}static isInstance(a){return H.hasMarker(a,S)}},V="AI_InvalidPromptError",W=`vercel.ai.error.${V}`,X=Symbol.for(W),Y=class extends(k=H,j=X,k){constructor({prompt:a,message:b,cause:c}){super({name:V,message:`Invalid prompt: ${b}`,cause:c}),this[j]=!0,this.prompt=a}static isInstance(a){return H.hasMarker(a,W)}},Z="AI_InvalidResponseDataError",$=`vercel.ai.error.${Z}`,_=Symbol.for($),aa=class extends(m=H,l=_,m){constructor({data:a,message:b=`Invalid response data: ${JSON.stringify(a)}.`}){super({name:Z,message:b}),this[l]=!0,this.data=a}static isInstance(a){return H.hasMarker(a,$)}},ab="AI_JSONParseError",ac=`vercel.ai.error.${ab}`,ad=Symbol.for(ac),ae=class extends(o=H,n=ad,o){constructor({text:a,cause:b}){super({name:ab,message:`JSON parsing failed: Text: ${a}.
|
|
168
|
+
Error message: ${Q(b)}`,cause:b}),this[n]=!0,this.text=a}static isInstance(a){return H.hasMarker(a,ac)}},af="AI_LoadAPIKeyError",ag=`vercel.ai.error.${af}`,ah=Symbol.for(ag),ai=class extends(q=H,p=ah,q){constructor({message:a}){super({name:af,message:a}),this[p]=!0}static isInstance(a){return H.hasMarker(a,ag)}},aj="AI_LoadSettingError",ak=`vercel.ai.error.${aj}`,al=Symbol.for(ak),am=class extends(s=H,r=al,s){constructor({message:a}){super({name:aj,message:a}),this[r]=!0}static isInstance(a){return H.hasMarker(a,ak)}},an="AI_NoContentGeneratedError",ao=`vercel.ai.error.${an}`,ap=Symbol.for(ao),aq=class extends(u=H,t=ap,u){constructor({message:a="No content generated."}={}){super({name:an,message:a}),this[t]=!0}static isInstance(a){return H.hasMarker(a,ao)}},ar="AI_NoSuchModelError",as=`vercel.ai.error.${ar}`,at=Symbol.for(as),au=class extends(w=H,v=at,w){constructor({errorName:a=ar,modelId:b,modelType:c,message:d=`No such ${c}: ${b}`}){super({name:a,message:d}),this[v]=!0,this.modelId=b,this.modelType=c}static isInstance(a){return H.hasMarker(a,as)}},av="AI_NoSuchProviderReferenceError",aw=`vercel.ai.error.${av}`,ax=Symbol.for(aw),ay=class extends(y=H,x=ax,y){constructor({provider:a,reference:b,message:c=`No provider reference found for provider '${a}'. Available providers: ${Object.keys(b).join(", ")}`}){super({name:av,message:c}),this[x]=!0,this.provider=a,this.reference=b}static isInstance(a){return H.hasMarker(a,aw)}},az="AI_TooManyEmbeddingValuesForCallError",aA=`vercel.ai.error.${az}`,aB=Symbol.for(aA),aC=class extends(A=H,z=aB,A){constructor(a){super({name:az,message:`Too many values for a single embedding call. The ${a.provider} model "${a.modelId}" can only embed up to ${a.maxEmbeddingsPerCall} values per call, but ${a.values.length} values were provided.`}),this[z]=!0,this.provider=a.provider,this.modelId=a.modelId,this.maxEmbeddingsPerCall=a.maxEmbeddingsPerCall,this.values=a.values}static isInstance(a){return H.hasMarker(a,aA)}},aD="AI_TypeValidationError",aE=`vercel.ai.error.${aD}`,aF=Symbol.for(aE),aG=class a extends(C=H,B=aF,C){constructor({value:a,cause:b,context:c}){let d="Type validation failed";if((null==c?void 0:c.field)&&(d+=` for ${c.field}`),(null==c?void 0:c.entityName)||(null==c?void 0:c.entityId)){d+=" (";const a=[];c.entityName&&a.push(c.entityName),c.entityId&&a.push(`id: "${c.entityId}"`),d+=a.join(", "),d+=")"}super({name:aD,message:`${d}: Value: ${JSON.stringify(a)}.
|
|
169
|
+
Error message: ${Q(b)}`,cause:b}),this[B]=!0,this.value=a,this.context=c}static isInstance(a){return H.hasMarker(a,aE)}static wrap({value:b,cause:c,context:d}){var e,f,g;return a.isInstance(c)&&c.value===b&&(null==(e=c.context)?void 0:e.field)===(null==d?void 0:d.field)&&(null==(f=c.context)?void 0:f.entityName)===(null==d?void 0:d.entityName)&&(null==(g=c.context)?void 0:g.entityId)===(null==d?void 0:d.entityId)?c:new a({value:b,cause:c,context:d})}},aH="AI_UnsupportedFunctionalityError",aI=`vercel.ai.error.${aH}`,aJ=Symbol.for(aI),aK=class extends(E=H,D=aJ,E){constructor({functionality:a,message:b=`'${a}' functionality not supported.`}){super({name:aH,message:b}),this[D]=!0,this.functionality=a}static isInstance(a){return H.hasMarker(a,aI)}};function aL(a){return null===a||"string"==typeof a||"number"==typeof a||"boolean"==typeof a||(Array.isArray(a)?a.every(aL):"object"==typeof a&&Object.entries(a).every(([a,b])=>"string"==typeof a&&(void 0===b||aL(b))))}a.s(["AISDKError",0,H,"APICallError",0,L,"EmptyResponseBodyError",0,P,"InvalidArgumentError",0,U,"InvalidPromptError",0,Y,"InvalidResponseDataError",0,aa,"JSONParseError",0,ae,"LoadAPIKeyError",0,ai,"LoadSettingError",0,am,"NoContentGeneratedError",0,aq,"NoSuchModelError",0,au,"NoSuchProviderReferenceError",0,ay,"TooManyEmbeddingValuesForCallError",0,aC,"TypeValidationError",0,aG,"UnsupportedFunctionalityError",0,aK,"getErrorMessage",0,Q,"isJSONArray",0,function(a){return Array.isArray(a)&&a.every(aL)},"isJSONObject",0,function(a){return null!=a&&"object"==typeof a&&Object.entries(a).every(([a,b])=>"string"==typeof a&&(void 0===b||aL(b)))}])},655819,a=>{"use strict";var b=a.i(652685),c=a.i(527990),d=a.i(912735),e=a.i(53112),f=e.z.object({imageDetail:e.z.enum(["low","high","auto"]).optional()});async function g(a){var d;let e=[];for(let{role:g,content:h}of a)switch(g){case"system":e.push({role:"system",content:h});break;case"user":{if(1===h.length&&"text"===h[0].type){e.push({role:"user",content:h[0].text});break}let a=[];for(let d of h)switch(d.type){case"text":a.push({type:"text",text:d.text});break;case"file":switch(d.data.type){case"reference":a.push({type:"file",file:{file_id:(0,c.resolveProviderReference)({reference:d.data.reference,provider:"xai"})}});break;case"text":throw new b.UnsupportedFunctionalityError({functionality:"text file parts"});case"url":case"data":if("image"===(0,c.getTopLevelMediaType)(d.mediaType)){let b=await (0,c.parseProviderOptions)({provider:"xai",providerOptions:d.providerOptions,schema:f});a.push({type:"image_url",image_url:{url:"url"===d.data.type?d.data.url.toString():`data:${(0,c.resolveFullMediaType)({part:d})};base64,${(0,c.convertToBase64)(d.data.data)}`,...(null==b?void 0:b.imageDetail)!=null&&{detail:b.imageDetail}}})}else throw new b.UnsupportedFunctionalityError({functionality:`file part media type ${d.mediaType}`})}}e.push({role:"user",content:a});break}case"assistant":{let a="",b=[];for(let c of h)switch(c.type){case"text":a+=c.text;break;case"tool-call":b.push({id:c.toolCallId,type:"function",function:{name:c.toolName,arguments:JSON.stringify(c.input)}})}e.push({role:"assistant",content:a,tool_calls:b.length>0?b:void 0});break}case"tool":for(let a of h){let b;if("tool-approval-response"===a.type)continue;let c=a.output;switch(c.type){case"text":case"error-text":b=c.value;break;case"execution-denied":b=null!=(d=c.reason)?d:"Tool call execution denied.";break;case"content":case"json":case"error-json":b=JSON.stringify(c.value)}e.push({role:"tool",tool_call_id:a.toolCallId,content:b})}break;default:throw Error(`Unsupported role: ${g}`)}return{messages:e,warnings:[]}}function h(a){var b,c,d,e;let f=null!=(c=null==(b=a.prompt_tokens_details)?void 0:b.cached_tokens)?c:0,g=null!=(e=null==(d=a.completion_tokens_details)?void 0:d.reasoning_tokens)?e:0,h=f<=a.prompt_tokens;return{inputTokens:{total:h?a.prompt_tokens:a.prompt_tokens+f,noCache:h?a.prompt_tokens-f:a.prompt_tokens,cacheRead:f,cacheWrite:void 0},outputTokens:{total:a.completion_tokens+g,text:a.completion_tokens,reasoning:g},raw:a}}function i({id:a,model:b,created:d,created_at:e}){return(0,c.createLanguageModelResponseMetadata)({id:a,model:b,created:null!=d?d:e})}function j(a){switch(a){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 k=/^grok-4\.20(-\d{4})?-(non-)?reasoning$/,l=e.z.object({type:e.z.literal("web"),country:e.z.string().length(2).optional(),excludedWebsites:e.z.array(e.z.string()).max(5).optional(),allowedWebsites:e.z.array(e.z.string()).max(5).optional(),safeSearch:e.z.boolean().optional()}),m=e.z.object({type:e.z.literal("x"),excludedXHandles:e.z.array(e.z.string()).optional(),includedXHandles:e.z.array(e.z.string()).optional(),postFavoriteCount:e.z.number().int().optional(),postViewCount:e.z.number().int().optional(),xHandles:e.z.array(e.z.string()).optional()}),n=e.z.object({type:e.z.literal("news"),country:e.z.string().length(2).optional(),excludedWebsites:e.z.array(e.z.string()).max(5).optional(),safeSearch:e.z.boolean().optional()}),o=e.z.object({type:e.z.literal("rss"),links:e.z.array(e.z.string().url()).max(1)}),p=e.z.discriminatedUnion("type",[l,m,n,o]),q=e.z.object({reasoningEffort:e.z.enum(["none","low","medium","high","xhigh"]).optional(),logprobs:e.z.boolean().optional(),topLogprobs:e.z.number().int().min(0).max(8).optional(),serviceTier:e.z.enum(["default","priority"]).optional(),parallel_function_calling:e.z.boolean().optional(),searchParameters:e.z.object({mode:e.z.enum(["off","auto","on"]),returnCitations:e.z.boolean().optional(),fromDate:e.z.string().optional(),toDate:e.z.string().optional(),maxSearchResults:e.z.number().min(1).max(50).optional(),sources:e.z.array(p).optional()}).optional()}),r=e.z.object({error:e.z.object({message:e.z.string(),type:e.z.string().nullish(),param:e.z.any().nullish(),code:e.z.union([e.z.string(),e.z.number()]).nullish()})}),s=e.z.object({code:e.z.string(),error:e.z.string()}),t=e.z.object({error:e.z.string()}),u=e.z.union([r,s,t]),v=(0,c.createJsonErrorResponseHandler)({errorSchema:u,errorToMessage:a=>"string"==typeof a.error?"code"in a?`${a.code}: ${a.error}`:a.error:a.error.message});function w(a){if(Array.isArray(a))return a.map(w);if(null==a||"object"!=typeof a)return a;let b={};for(let[c,d]of Object.entries(a))("additionalProperties"!==c||!1!==d)&&(b[c]=w(d));return b}var x=class a{constructor(a,b){this.specificationVersion="v4",this.supportedUrls={"image/*":[/^https?:\/\/.*$/]},this.modelId=a,this.config=b}static[d.WORKFLOW_SERIALIZE](a){return(0,c.serializeModelOptions)({modelId:a.modelId,config:a.config})}static[d.WORKFLOW_DESERIALIZE](b){return new a(b.modelId,b.config)}get provider(){return this.config.provider}async getArgs({prompt:a,maxOutputTokens:d,temperature:e,topP:f,topK:h,frequencyPenalty:i,presencePenalty:j,stopSequences:l,seed:m,reasoning:n,responseFormat:o,providerOptions:p,tools:r,toolChoice:s}){var t,u,v,x;let y=[],z=null!=(t=await (0,c.parseProviderOptions)({provider:"xai",providerOptions:p,schema:q}))?t:{};null!=h&&y.push({type:"unsupported",feature:"topK"}),null!=i&&y.push({type:"unsupported",feature:"frequencyPenalty"}),null!=j&&y.push({type:"unsupported",feature:"presencePenalty"}),null!=l&&y.push({type:"unsupported",feature:"stopSequences"});let{messages:A,warnings:B}=await g(a);y.push(...B);let{tools:C,toolChoice:D,toolWarnings:E}=function({tools:a,toolChoice:c}){a=(null==a?void 0:a.length)?a:void 0;let d=[];if(null==a)return{tools:void 0,toolChoice:void 0,toolWarnings:d};let e=[];for(let b of a)"provider"===b.type?d.push({type:"unsupported",feature:`provider-defined tool ${b.name}`}):e.push({type:"function",function:{name:b.name,description:b.description,parameters:w(b.inputSchema),...null!=b.strict?{strict:b.strict}:{}}});if(null==c)return{tools:e,toolChoice:void 0,toolWarnings:d};let f=c.type;switch(f){case"auto":case"none":return{tools:e,toolChoice:f,toolWarnings:d};case"required":return{tools:e,toolChoice:"required",toolWarnings:d};case"tool":return{tools:e,toolChoice:{type:"function",function:{name:c.toolName}},toolWarnings:d};default:throw new b.UnsupportedFunctionalityError({functionality:`tool choice type: ${f}`})}}({tools:r,toolChoice:s});y.push(...E);let F=z.reasoningEffort;return null==F&&(0,c.isCustomReasoning)(n)&&((x=this.modelId,k.test(x))?y.push({type:"unsupported",feature:"reasoning",details:`reasoning "${n}" is not supported by this model.`}):F="none"===n?"none":(0,c.mapReasoningToProviderEffort)({reasoning:n,effortMap:{minimal:"low",low:"low",medium:"medium",high:"high",xhigh:"grok-4.6"===this.modelId?"xhigh":"high"},warnings:y})),{args:{model:this.modelId,logprobs:!0===z.logprobs||null!=z.topLogprobs||void 0,top_logprobs:z.topLogprobs,max_completion_tokens:d,temperature:e,top_p:f,seed:m,reasoning_effort:F,service_tier:z.serviceTier,parallel_function_calling:z.parallel_function_calling,response_format:(null==o?void 0:o.type)==="json"?null!=o.schema?{type:"json_schema",json_schema:{name:null!=(u=o.name)?u:"response",schema:o.schema,strict:!0}}:{type:"json_object"}:void 0,search_parameters:z.searchParameters?{mode:z.searchParameters.mode,return_citations:z.searchParameters.returnCitations,from_date:z.searchParameters.fromDate,to_date:z.searchParameters.toDate,max_search_results:z.searchParameters.maxSearchResults,sources:null==(v=z.searchParameters.sources)?void 0:v.map(a=>{var b;return{type:a.type,..."web"===a.type&&{country:a.country,excluded_websites:a.excludedWebsites,allowed_websites:a.allowedWebsites,safe_search:a.safeSearch},..."x"===a.type&&{excluded_x_handles:a.excludedXHandles,included_x_handles:null!=(b=a.includedXHandles)?b:a.xHandles,post_favorite_count:a.postFavoriteCount,post_view_count:a.postViewCount},..."news"===a.type&&{country:a.country,excluded_websites:a.excludedWebsites,safe_search:a.safeSearch},..."rss"===a.type&&{links:a.links}}})}:void 0,messages:A,tools:C,tool_choice:D},warnings:y}}async doGenerate(a){var d,e,f,g;let{args:k,warnings:l}=await this.getArgs(a),m=`${null!=(d=this.config.baseURL)?d:"https://api.x.ai/v1"}/chat/completions`,{responseHeaders:n,value:o,rawValue:p}=await (0,c.postJsonToApi)({url:m,headers:(0,c.combineHeaders)(null==(f=(e=this.config).headers)?void 0:f.call(e),a.headers),body:k,failedResponseHandler:v,successfulResponseHandler:(0,c.createJsonResponseHandler)(z),abortSignal:a.abortSignal,fetch:this.config.fetch});if(null!=o.error)throw new b.APICallError({message:o.error,url:m,requestBodyValues:k,statusCode:200,responseHeaders:n,responseBody:JSON.stringify(p),isRetryable:"The service is currently unavailable"===o.code});let q=o.choices[0],r=[];if(null!=q.message.content&&q.message.content.length>0){let a=q.message.content,b=k.messages[k.messages.length-1];(null==b?void 0:b.role)==="assistant"&&a===b.content&&(a=""),a.length>0&&r.push({type:"text",text:a})}if(null!=q.message.reasoning_content&&q.message.reasoning_content.length>0&&r.push({type:"reasoning",text:q.message.reasoning_content}),null!=q.message.tool_calls)for(let a of q.message.tool_calls)r.push({type:"tool-call",toolCallId:a.id,toolName:a.function.name,input:a.function.arguments});if(null!=o.citations)for(let a of o.citations)r.push({type:"source",sourceType:"url",id:this.config.generateId(),url:a});return{content:r,finishReason:{unified:j(q.finish_reason),raw:null!=(g=q.finish_reason)?g:void 0},usage:o.usage?h(o.usage):{inputTokens:{total:0,noCache:0,cacheRead:0,cacheWrite:0},outputTokens:{total:0,text:0,reasoning:0}},...null!=o.service_tier&&{providerMetadata:{xai:{serviceTier:o.service_tier}}},request:{body:k},response:{...i(o),headers:n,body:p},warnings:l}}async doStream(a){var d,e,f;let g,k,l,{args:m,warnings:n}=await this.getArgs(a),o={...m,stream:!0,stream_options:{include_usage:!0}},p=`${null!=(d=this.config.baseURL)?d:"https://api.x.ai/v1"}/chat/completions`,{responseHeaders:q,value:r}=await (0,c.postJsonToApi)({url:p,headers:(0,c.combineHeaders)(null==(f=(e=this.config).headers)?void 0:f.call(e),a.headers),body:o,failedResponseHandler:v,successfulResponseHandler:async({response:a})=>{let d=(0,c.extractResponseHeaders)(a),e=a.headers.get("content-type");if(null==e?void 0:e.includes("application/json")){let e=await a.text(),f=await (0,c.safeParseJSON)({text:e,schema:B});if(f.success)throw new b.APICallError({message:f.value.error,url:p,requestBodyValues:o,statusCode:200,responseHeaders:d,responseBody:e,isRetryable:"The service is currently unavailable"===f.value.code});throw new b.APICallError({message:"Invalid JSON response",url:p,requestBodyValues:o,statusCode:200,responseHeaders:d,responseBody:e})}return(0,c.createEventSourceResponseHandler)(A)({response:a,url:p,requestBodyValues:o})},abortSignal:a.abortSignal,fetch:this.config.fetch}),s={unified:"other",raw:void 0},t=!0,u={},w={},x=this;return{stream:r.pipeThrough(new TransformStream({start(a){a.enqueue({type:"stream-start",warnings:n})},transform(b,c){if(a.includeRawChunks&&c.enqueue({type:"raw",rawValue:b.rawValue}),!b.success)return void c.enqueue({type:"error",error:b.error});let d=b.value;if(t&&(c.enqueue({type:"response-metadata",...i(d)}),t=!1),null!=d.citations)for(let a of d.citations)c.enqueue({type:"source",sourceType:"url",id:x.config.generateId(),url:a});null!=d.usage&&(g=h(d.usage)),null!=d.service_tier&&(k=d.service_tier);let e=d.choices[0];if((null==e?void 0:e.finish_reason)!=null&&(s={unified:j(e.finish_reason),raw:e.finish_reason}),(null==e?void 0:e.delta)==null)return;let f=e.delta,m=e.index;if(null!=f.content&&f.content.length>0){let a=f.content;null==l||u[l].ended||(c.enqueue({type:"reasoning-end",id:l}),u[l].ended=!0,l=void 0);let b=o.messages[o.messages.length-1];if((null==b?void 0:b.role)==="assistant"&&a===b.content)return;let e=`text-${d.id||m}`;null==u[e]&&(u[e]={type:"text",ended:!1},c.enqueue({type:"text-start",id:e})),c.enqueue({type:"text-delta",id:e,delta:a})}if(null!=f.reasoning_content&&f.reasoning_content.length>0){let a=`reasoning-${d.id||m}`;if(w[a]===f.reasoning_content)return;w[a]=f.reasoning_content,null==u[a]&&(u[a]={type:"reasoning",ended:!1},l=a,c.enqueue({type:"reasoning-start",id:a})),c.enqueue({type:"reasoning-delta",id:a,delta:f.reasoning_content})}if(null!=f.tool_calls)for(let a of(null==l||u[l].ended||(c.enqueue({type:"reasoning-end",id:l}),u[l].ended=!0,l=void 0),f.tool_calls)){let b=a.id;c.enqueue({type:"tool-input-start",id:b,toolName:a.function.name}),c.enqueue({type:"tool-input-delta",id:b,delta:a.function.arguments}),c.enqueue({type:"tool-input-end",id:b}),c.enqueue({type:"tool-call",toolCallId:b,toolName:a.function.name,input:a.function.arguments})}},flush(a){for(let[b,c]of Object.entries(u))c.ended||a.enqueue({type:"text"===c.type?"text-end":"reasoning-end",id:b});a.enqueue({type:"finish",finishReason:s,usage:null!=g?g:{inputTokens:{total:0,noCache:0,cacheRead:0,cacheWrite:0},outputTokens:{total:0,text:0,reasoning:0}},...null!=k&&{providerMetadata:{xai:{serviceTier:k}}}})}})),request:{body:o},response:{headers:q}}}},y=e.z.object({prompt_tokens:e.z.number(),completion_tokens:e.z.number(),total_tokens:e.z.number(),cost_in_usd_ticks:e.z.number().nullish(),prompt_tokens_details:e.z.object({text_tokens:e.z.number().nullish(),audio_tokens:e.z.number().nullish(),image_tokens:e.z.number().nullish(),cached_tokens:e.z.number().nullish()}).catchall(e.z.json()).nullish(),completion_tokens_details:e.z.object({reasoning_tokens:e.z.number().nullish(),audio_tokens:e.z.number().nullish(),accepted_prediction_tokens:e.z.number().nullish(),rejected_prediction_tokens:e.z.number().nullish()}).catchall(e.z.json()).nullish()}).catchall(e.z.json()),z=e.z.object({id:e.z.string().nullish(),created:e.z.number().nullish(),model:e.z.string().nullish(),choices:e.z.array(e.z.object({message:e.z.object({role:e.z.enum(["assistant","tool"]),content:e.z.string().nullish(),reasoning_content:e.z.string().nullish(),tool_calls:e.z.array(e.z.object({id:e.z.string(),type:e.z.literal("function"),function:e.z.object({name:e.z.string(),arguments:e.z.string()})})).nullish()}),index:e.z.number(),finish_reason:e.z.string().nullish()})).nullish(),object:e.z.literal("chat.completion").nullish(),usage:y.nullish(),citations:e.z.array(e.z.string().url()).nullish(),service_tier:e.z.string().nullish(),code:e.z.string().nullish(),error:e.z.string().nullish()}),A=e.z.object({id:e.z.string().nullish(),created:e.z.number().nullish(),model:e.z.string().nullish(),choices:e.z.array(e.z.object({delta:e.z.object({role:e.z.enum(["assistant"]).optional(),content:e.z.string().nullish(),reasoning_content:e.z.string().nullish(),tool_calls:e.z.array(e.z.object({id:e.z.string(),type:e.z.literal("function"),function:e.z.object({name:e.z.string(),arguments:e.z.string()})})).nullish()}),finish_reason:e.z.string().nullish(),index:e.z.number()})),usage:y.nullish(),citations:e.z.array(e.z.string().url()).nullish(),service_tier:e.z.string().nullish()}),B=e.z.object({code:e.z.string(),error:e.z.string()}),C=e.z.object({aspect_ratio:e.z.string().optional(),output_format:e.z.string().optional(),sync_mode:e.z.boolean().optional(),resolution:e.z.enum(["1k","2k"]).optional(),quality:e.z.enum(["low","medium","high"]).optional(),user:e.z.string().optional()}),D=class a{constructor(a,b){this.modelId=a,this.config=b,this.specificationVersion="v4",this.maxImagesPerCall=3}get provider(){return this.config.provider}static[d.WORKFLOW_SERIALIZE](a){return(0,c.serializeModelOptions)({modelId:a.modelId,config:a.config})}static[d.WORKFLOW_DESERIALIZE](b){return new a(b.modelId,b.config)}async doGenerate({prompt:a,n:b,size:d,aspectRatio:e,seed:f,providerOptions:g,headers:h,abortSignal:i,files:j,mask:k}){var l,m,n,o,p,q,r;let s=[];null!=d&&s.push({type:"unsupported",feature:"size",details:"This model does not support the `size` option. Use `aspectRatio` instead."}),null!=f&&s.push({type:"unsupported",feature:"seed"}),null!=k&&s.push({type:"unsupported",feature:"mask"});let t=await (0,c.parseProviderOptions)({provider:"xai",providerOptions:g,schema:C}),u=null!=j&&j.length>0,w=u?j.map(a=>(0,c.convertImageModelFileToDataUri)(a)):[],x={model:this.modelId,prompt:a,n:b,response_format:"b64_json"};null!=e&&(x.aspect_ratio=e),(null==t?void 0:t.output_format)!=null&&(x.output_format=t.output_format),(null==t?void 0:t.sync_mode)!=null&&(x.sync_mode=t.sync_mode),(null==t?void 0:t.aspect_ratio)!=null&&null==e&&(x.aspect_ratio=t.aspect_ratio),(null==t?void 0:t.resolution)!=null&&(x.resolution=t.resolution),(null==t?void 0:t.quality)!=null&&(x.quality=t.quality),(null==t?void 0:t.user)!=null&&(x.user=t.user),1===w.length?x.image={url:w[0],type:"image_url"}:w.length>1&&(x.images=w.map(a=>({url:a,type:"image_url"})));let y=null!=(l=this.config.baseURL)?l:"https://api.x.ai/v1",z=null!=(o=null==(n=null==(m=this.config._internal)?void 0:m.currentDate)?void 0:n.call(m))?o:new Date,{value:A,responseHeaders:B}=await (0,c.postJsonToApi)({url:`${y}${u?"/images/edits":"/images/generations"}`,headers:(0,c.combineHeaders)(null==(q=(p=this.config).headers)?void 0:q.call(p),h),body:x,failedResponseHandler:v,successfulResponseHandler:(0,c.createJsonResponseHandler)(E),abortSignal:i,fetch:this.config.fetch});if(A.data.some(a=>!1===a.respect_moderation))throw Error("Image generation was blocked due to a content policy violation.");return{images:A.data.every(a=>null!=a.b64_json)?A.data.map(a=>a.b64_json):await Promise.all(A.data.map(a=>this.downloadImage(a.url,i))),warnings:s,response:{timestamp:z,modelId:this.modelId,headers:B},providerMetadata:{xai:{images:A.data.map(a=>({...a.revised_prompt?{revisedPrompt:a.revised_prompt}:{}})),...(null==(r=A.usage)?void 0:r.cost_in_usd_ticks)!=null?{costInUsdTicks:A.usage.cost_in_usd_ticks}:{}}}}}async downloadImage(a,b){let{value:d}=await (0,c.getFromApi)({url:a,validateUrl:!0,trustedOrigin:this.config.baseURL,abortSignal:b,failedResponseHandler:(0,c.createStatusCodeErrorResponseHandler)(),successfulResponseHandler:(0,c.createBinaryResponseHandler)(),fetch:this.config.fetch});return d}},E=e.z.object({data:e.z.array(e.z.object({url:e.z.string().nullish(),b64_json:e.z.string().nullish(),revised_prompt:e.z.string().nullish(),respect_moderation:e.z.boolean().nullish()})),usage:e.z.object({cost_in_usd_ticks:e.z.number().nullish()}).nullish()}),F=(0,c.lazySchema)(()=>(0,c.zodSchema)(e.z.object({id:e.z.string(),object:e.z.string().nullish(),bytes:e.z.number().nullish(),created_at:e.z.number().nullish(),expires_at:e.z.number().nullish(),filename:e.z.string().nullish(),purpose:e.z.string().nullish(),status:e.z.string().nullish()}))),G=(0,c.lazySchema)(()=>(0,c.zodSchema)(e.z.object({id:e.z.string(),object:e.z.string().nullish(),deleted:e.z.boolean()})));async function H({prompt:a}){var d,e,g,h,i,j,k,l,m;let n=[],o=[];for(let p of a)switch(p.role){case"system":n.push({role:"system",content:p.content});break;case"user":{let a=[];for(let d of p.content)switch(d.type){case"text":a.push({type:"input_text",text:d.text});break;case"file":switch(d.data.type){case"reference":a.push({type:"input_file",file_id:(0,c.resolveProviderReference)({reference:d.data.reference,provider:"xai"})});break;case"text":throw new b.UnsupportedFunctionalityError({functionality:"text file parts"});case"url":case"data":if("image"===(0,c.getTopLevelMediaType)(d.mediaType)){let b="url"===d.data.type?d.data.url.toString():`data:${(0,c.resolveFullMediaType)({part:d})};base64,${(0,c.convertToBase64)(d.data.data)}`,e=await (0,c.parseProviderOptions)({provider:"xai",providerOptions:d.providerOptions,schema:f});a.push({type:"input_image",image_url:b,...(null==e?void 0:e.imageDetail)!=null&&{detail:e.imageDetail}})}else if("url"===d.data.type)a.push({type:"input_file",file_url:d.data.url.toString()});else throw new b.UnsupportedFunctionalityError({functionality:`file part media type ${d.mediaType} as inline data (xAI Responses requires a URL or a Files API reference for non-image files)`})}break;default:o.push({type:"other",message:"xAI Responses API does not support this content type in user messages"})}n.push({role:"user",content:a});break}case"assistant":for(let a of p.content)switch(a.type){case"text":{let b="string"==typeof(null==(e=null==(d=a.providerOptions)?void 0:d.xai)?void 0:e.itemId)?a.providerOptions.xai.itemId:void 0;n.push({role:"assistant",content:a.text,id:b});break}case"tool-call":{if(a.providerExecuted)break;let b="string"==typeof(null==(h=null==(g=a.providerOptions)?void 0:g.xai)?void 0:h.itemId)?a.providerOptions.xai.itemId:void 0;n.push({type:"function_call",id:null!=b?b:a.toolCallId,call_id:a.toolCallId,name:a.toolName,arguments:JSON.stringify(a.input),status:"completed"});break}case"tool-result":break;case"reasoning":{let b="string"==typeof(null==(j=null==(i=a.providerOptions)?void 0:i.xai)?void 0:j.itemId)?a.providerOptions.xai.itemId:void 0,c="string"==typeof(null==(l=null==(k=a.providerOptions)?void 0:k.xai)?void 0:l.reasoningEncryptedContent)?a.providerOptions.xai.reasoningEncryptedContent:void 0;if(null!=b||null!=c){let d=[];a.text.length>0&&d.push({type:"summary_text",text:a.text}),n.push({type:"reasoning",id:null!=b?b:"",summary:d,status:"completed",...null!=c&&{encrypted_content:c}})}else o.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":o.push({type:"other",message:`xAI Responses API does not support ${a.type} in assistant messages`});break;default:o.push({type:"other",message:"xAI Responses API does not support this content type in assistant messages"})}break;case"tool":for(let a of p.content){let b;if("tool-approval-response"===a.type)continue;let d=a.output;switch(d.type){case"text":case"error-text":b=d.value;break;case"execution-denied":b=null!=(m=d.reason)?m:"tool execution denied";break;case"json":case"error-json":b=JSON.stringify(d.value);break;case"content":for(let a of(b=[],d.value))switch(a.type){case"text":b.push({type:"input_text",text:a.text});break;case"file":"image"===(0,c.getTopLevelMediaType)(a.mediaType)&&("data"===a.data.type||"url"===a.data.type)&&b.push({type:"input_image",image_url:"url"===a.data.type?a.data.url.toString():`data:${(0,c.resolveFullMediaType)({part:a})};base64,${(0,c.convertToBase64)(a.data.data)}`})}break;default:b=""}n.push({type:"function_call_output",call_id:a.toolCallId,output:b})}break;default:o.push({type:"other",message:"unsupported message role"})}return{input:n,inputWarnings:o}}function I(a){var b,c,d,e;let f=null!=(c=null==(b=a.input_tokens_details)?void 0:b.cached_tokens)?c:0,g=null!=(e=null==(d=a.output_tokens_details)?void 0:d.reasoning_tokens)?e:0,h=f<=a.input_tokens;return{inputTokens:{total:h?a.input_tokens:a.input_tokens+f,noCache:h?a.input_tokens-f:a.input_tokens,cacheRead:f,cacheWrite:void 0},outputTokens:{total:a.output_tokens,text:a.output_tokens-g,reasoning:g},raw:a}}function J(a){switch(a){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 K=e.z.union([e.z.object({type:e.z.literal("url_citation"),url:e.z.string(),title:e.z.string().optional()}),e.z.object({type:e.z.string()})]),L=e.z.object({type:e.z.string(),text:e.z.string().optional(),logprobs:e.z.array(e.z.any()).optional(),annotations:e.z.array(K).optional()}),M=e.z.object({type:e.z.string(),text:e.z.string()}),N=e.z.object({name:e.z.string().optional(),arguments:e.z.string().optional(),input:e.z.string().optional(),call_id:e.z.string().optional(),id:e.z.string(),status:e.z.string(),action:e.z.any().optional()}),O=e.z.object({type:e.z.literal("url"),url:e.z.string()}),P=e.z.discriminatedUnion("type",[e.z.object({type:e.z.literal("search"),query:e.z.string().nullish(),queries:e.z.array(e.z.string()).nullish(),sources:e.z.array(e.z.unknown()).nullish()}),e.z.object({type:e.z.literal("open_page"),url:e.z.string().nullish(),sources:e.z.array(e.z.unknown()).nullish()}),e.z.object({type:e.z.literal("find_in_page"),url:e.z.string().nullish(),pattern:e.z.string().nullish(),sources:e.z.array(e.z.unknown()).nullish()})]),Q=e.z.object({name:e.z.string().optional(),arguments:e.z.string().optional(),output:e.z.string().optional(),error:e.z.string().optional(),id:e.z.string(),status:e.z.string(),server_label:e.z.string().optional()}),R=e.z.discriminatedUnion("type",[e.z.object({type:e.z.literal("web_search_call"),...N.shape}),e.z.object({type:e.z.literal("x_search_call"),...N.shape}),e.z.object({type:e.z.literal("code_interpreter_call"),...N.shape}),e.z.object({type:e.z.literal("code_execution_call"),...N.shape}),e.z.object({type:e.z.literal("view_image_call"),...N.shape}),e.z.object({type:e.z.literal("view_x_video_call"),...N.shape}),e.z.object({type:e.z.literal("file_search_call"),id:e.z.string(),status:e.z.string(),queries:e.z.array(e.z.string()).optional(),results:e.z.array(e.z.object({file_id:e.z.string(),filename:e.z.string(),score:e.z.number(),text:e.z.string()})).nullish()}),e.z.object({type:e.z.literal("image_generation_call"),id:e.z.string(),status:e.z.string(),prompt:e.z.string().nullish(),result:e.z.string().nullish()}),e.z.object({type:e.z.literal("custom_tool_call"),...N.shape}),e.z.object({type:e.z.literal("mcp_call"),...Q.shape}),e.z.object({type:e.z.literal("message"),role:e.z.string(),content:e.z.array(L),id:e.z.string(),status:e.z.string()}),e.z.object({type:e.z.literal("function_call"),name:e.z.string(),arguments:e.z.string(),call_id:e.z.string(),id:e.z.string()}),e.z.object({type:e.z.literal("reasoning"),id:e.z.string(),summary:e.z.array(M),content:e.z.array(e.z.object({type:e.z.string(),text:e.z.string()})).nullish(),status:e.z.string(),encrypted_content:e.z.string().nullish()})]),S=e.z.object({input_tokens:e.z.number(),output_tokens:e.z.number(),total_tokens:e.z.number().optional(),input_tokens_details:e.z.object({cached_tokens:e.z.number().optional()}).catchall(e.z.json()).optional(),output_tokens_details:e.z.object({reasoning_tokens:e.z.number().optional()}).catchall(e.z.json()).optional(),num_sources_used:e.z.number().optional(),num_server_side_tools_used:e.z.number().optional(),cost_in_usd_ticks:e.z.number().nullish()}).catchall(e.z.json()),T=e.z.object({id:e.z.string().nullish(),created_at:e.z.number().nullish(),model:e.z.string().nullish(),object:e.z.literal("response"),output:e.z.array(R),usage:S.nullish(),status:e.z.string(),service_tier:e.z.string().nullish()}),U=e.z.union([e.z.object({type:e.z.literal("response.created"),response:T.partial({usage:!0,status:!0})}),e.z.object({type:e.z.literal("response.in_progress"),response:T.partial({usage:!0,status:!0})}),e.z.object({type:e.z.literal("response.output_item.added"),item:R,output_index:e.z.number()}),e.z.object({type:e.z.literal("response.output_item.done"),item:R,output_index:e.z.number()}),e.z.object({type:e.z.literal("response.content_part.added"),item_id:e.z.string(),output_index:e.z.number(),content_index:e.z.number(),part:L}),e.z.object({type:e.z.literal("response.content_part.done"),item_id:e.z.string(),output_index:e.z.number(),content_index:e.z.number(),part:L}),e.z.object({type:e.z.literal("response.output_text.delta"),item_id:e.z.string(),output_index:e.z.number(),content_index:e.z.number(),delta:e.z.string(),logprobs:e.z.array(e.z.any()).optional()}),e.z.object({type:e.z.literal("response.output_text.done"),item_id:e.z.string(),output_index:e.z.number(),content_index:e.z.number(),text:e.z.string(),logprobs:e.z.array(e.z.any()).optional(),annotations:e.z.array(K).optional()}),e.z.object({type:e.z.literal("response.output_text.annotation.added"),item_id:e.z.string(),output_index:e.z.number(),content_index:e.z.number(),annotation_index:e.z.number(),annotation:K}),e.z.object({type:e.z.literal("response.reasoning_summary_part.added"),item_id:e.z.string(),output_index:e.z.number(),summary_index:e.z.number(),part:M}),e.z.object({type:e.z.literal("response.reasoning_summary_part.done"),item_id:e.z.string(),output_index:e.z.number(),summary_index:e.z.number(),part:M}),e.z.object({type:e.z.literal("response.reasoning_summary_text.delta"),item_id:e.z.string(),output_index:e.z.number(),summary_index:e.z.number(),delta:e.z.string()}),e.z.object({type:e.z.literal("response.reasoning_summary_text.done"),item_id:e.z.string(),output_index:e.z.number(),summary_index:e.z.number(),text:e.z.string()}),e.z.object({type:e.z.literal("response.reasoning_text.delta"),item_id:e.z.string(),output_index:e.z.number(),content_index:e.z.number(),delta:e.z.string()}),e.z.object({type:e.z.literal("response.reasoning_text.done"),item_id:e.z.string(),output_index:e.z.number(),content_index:e.z.number(),text:e.z.string()}),e.z.object({type:e.z.literal("response.web_search_call.in_progress"),item_id:e.z.string(),output_index:e.z.number()}),e.z.object({type:e.z.literal("response.web_search_call.searching"),item_id:e.z.string(),output_index:e.z.number()}),e.z.object({type:e.z.literal("response.web_search_call.completed"),item_id:e.z.string(),output_index:e.z.number()}),e.z.object({type:e.z.literal("response.x_search_call.in_progress"),item_id:e.z.string(),output_index:e.z.number()}),e.z.object({type:e.z.literal("response.x_search_call.searching"),item_id:e.z.string(),output_index:e.z.number()}),e.z.object({type:e.z.literal("response.x_search_call.completed"),item_id:e.z.string(),output_index:e.z.number()}),e.z.object({type:e.z.literal("response.file_search_call.in_progress"),item_id:e.z.string(),output_index:e.z.number()}),e.z.object({type:e.z.literal("response.file_search_call.searching"),item_id:e.z.string(),output_index:e.z.number()}),e.z.object({type:e.z.literal("response.file_search_call.completed"),item_id:e.z.string(),output_index:e.z.number()}),e.z.object({type:e.z.literal("response.image_generation_call.in_progress"),item_id:e.z.string(),output_index:e.z.number()}),e.z.object({type:e.z.literal("response.image_generation_call.generating"),item_id:e.z.string(),output_index:e.z.number()}),e.z.object({type:e.z.literal("response.image_generation_call.completed"),item_id:e.z.string(),output_index:e.z.number()}),e.z.object({type:e.z.literal("response.code_execution_call.in_progress"),item_id:e.z.string(),output_index:e.z.number()}),e.z.object({type:e.z.literal("response.code_execution_call.executing"),item_id:e.z.string(),output_index:e.z.number()}),e.z.object({type:e.z.literal("response.code_execution_call.completed"),item_id:e.z.string(),output_index:e.z.number()}),e.z.object({type:e.z.literal("response.code_interpreter_call.in_progress"),item_id:e.z.string(),output_index:e.z.number()}),e.z.object({type:e.z.literal("response.code_interpreter_call.executing"),item_id:e.z.string(),output_index:e.z.number()}),e.z.object({type:e.z.literal("response.code_interpreter_call.interpreting"),item_id:e.z.string(),output_index:e.z.number()}),e.z.object({type:e.z.literal("response.code_interpreter_call.completed"),item_id:e.z.string(),output_index:e.z.number()}),e.z.object({type:e.z.literal("response.code_interpreter_call_code.delta"),item_id:e.z.string(),output_index:e.z.number(),delta:e.z.string()}),e.z.object({type:e.z.literal("response.code_interpreter_call_code.done"),item_id:e.z.string(),output_index:e.z.number(),code:e.z.string()}),e.z.object({type:e.z.literal("response.custom_tool_call_input.delta"),item_id:e.z.string(),output_index:e.z.number(),delta:e.z.string()}),e.z.object({type:e.z.literal("response.custom_tool_call_input.done"),item_id:e.z.string(),output_index:e.z.number(),input:e.z.string()}),e.z.object({type:e.z.literal("response.function_call_arguments.delta"),item_id:e.z.string(),output_index:e.z.number(),delta:e.z.string()}),e.z.object({type:e.z.literal("response.function_call_arguments.done"),item_id:e.z.string(),output_index:e.z.number(),arguments:e.z.string()}),e.z.object({type:e.z.literal("response.mcp_call.in_progress"),item_id:e.z.string(),output_index:e.z.number()}),e.z.object({type:e.z.literal("response.mcp_call.executing"),item_id:e.z.string(),output_index:e.z.number()}),e.z.object({type:e.z.literal("response.mcp_call.completed"),item_id:e.z.string(),output_index:e.z.number()}),e.z.object({type:e.z.literal("response.mcp_call.failed"),item_id:e.z.string(),output_index:e.z.number()}),e.z.object({type:e.z.literal("response.mcp_call_arguments.delta"),item_id:e.z.string(),output_index:e.z.number(),delta:e.z.string()}),e.z.object({type:e.z.literal("response.mcp_call_arguments.done"),item_id:e.z.string(),output_index:e.z.number(),arguments:e.z.string().optional()}),e.z.object({type:e.z.literal("response.mcp_call_output.delta"),item_id:e.z.string(),output_index:e.z.number(),delta:e.z.string()}),e.z.object({type:e.z.literal("response.mcp_call_output.done"),item_id:e.z.string(),output_index:e.z.number(),output:e.z.string().optional()}),e.z.object({type:e.z.literal("response.incomplete"),response:e.z.object({incomplete_details:e.z.object({reason:e.z.string()}).nullish(),usage:S.nullish(),service_tier:e.z.string().nullish()})}),e.z.object({type:e.z.literal("response.failed"),response:e.z.object({error:e.z.object({code:e.z.string().nullish(),message:e.z.string()}).nullish(),incomplete_details:e.z.object({reason:e.z.string()}).nullish(),usage:S.nullish()})}),e.z.object({type:e.z.literal("error"),code:e.z.string().nullish(),message:e.z.string(),param:e.z.string().nullish()}),e.z.object({type:e.z.literal("response.done"),response:T}),e.z.object({type:e.z.literal("response.completed"),response:T})]),V=e.z.object({reasoningEffort:e.z.enum(["none","low","medium","high","xhigh"]).optional(),reasoningSummary:e.z.enum(["auto","concise","detailed"]).optional(),logprobs:e.z.boolean().optional(),topLogprobs:e.z.number().int().min(0).max(8).optional(),serviceTier:e.z.enum(["default","priority"]).optional(),store:e.z.boolean().optional(),previousResponseId:e.z.string().optional(),include:e.z.array(e.z.enum(["file_search_call.results"])).nullish()}),W=(0,c.lazySchema)(()=>(0,c.zodSchema)(e.z.object({vectorStoreIds:e.z.array(e.z.string()),maxNumResults:e.z.number().optional()}))),X=(0,c.lazySchema)(()=>(0,c.zodSchema)(e.z.object({queries:e.z.array(e.z.string()),results:e.z.array(e.z.object({fileId:e.z.string(),filename:e.z.string(),score:e.z.number().min(0).max(1),text:e.z.string()})).nullable()}))),Y=(0,c.createProviderExecutedToolFactory)({id:"xai.file_search",inputSchema:(0,c.lazySchema)(()=>(0,c.zodSchema)(e.z.object({}))),outputSchema:X}),Z=(0,c.lazySchema)(()=>(0,c.zodSchema)(e.z.object({action:e.z.enum(["auto","generate","edit"]).optional()}))),$=(0,c.lazySchema)(()=>(0,c.zodSchema)(e.z.object({}))),_=(0,c.lazySchema)(()=>(0,c.zodSchema)(e.z.object({result:e.z.string(),prompt:e.z.string().optional()}))),aa=(0,c.createProviderExecutedToolFactory)({id:"xai.image_generation",inputSchema:$,outputSchema:_}),ab=(0,c.lazySchema)(()=>(0,c.zodSchema)(e.z.object({serverUrl:e.z.string().describe("The URL of the MCP server"),serverLabel:e.z.string().optional().describe("A label for the MCP server"),serverDescription:e.z.string().optional().describe("Description of the MCP server"),allowedTools:e.z.array(e.z.string()).optional().describe("List of allowed tool names"),headers:e.z.record(e.z.string(),e.z.string()).optional().describe("Custom headers to send"),authorization:e.z.string().optional().describe("Authorization header value")}))),ac=(0,c.lazySchema)(()=>(0,c.zodSchema)(e.z.object({name:e.z.string(),arguments:e.z.string(),result:e.z.unknown()}))),ad=(0,c.createProviderExecutedToolFactory)({id:"xai.mcp",inputSchema:(0,c.lazySchema)(()=>(0,c.zodSchema)(e.z.object({}))),outputSchema:ac}),ae=(0,c.lazySchema)(()=>(0,c.zodSchema)(e.z.object({allowedDomains:e.z.array(e.z.string()).max(5).optional(),excludedDomains:e.z.array(e.z.string()).max(5).optional(),enableImageSearch:e.z.boolean().optional(),enableImageUnderstanding:e.z.boolean().optional()}))),af=(0,c.lazySchema)(()=>(0,c.zodSchema)(e.z.object({action:e.z.discriminatedUnion("type",[e.z.object({type:e.z.literal("search"),query:e.z.string().optional(),queries:e.z.array(e.z.string()).optional()}),e.z.object({type:e.z.literal("openPage"),url:e.z.string().nullish()}),e.z.object({type:e.z.literal("findInPage"),url:e.z.string().nullish(),pattern:e.z.string().nullish()})]).optional(),sources:e.z.array(e.z.object({type:e.z.literal("url"),url:e.z.string()})).optional()}))),ag=(0,c.createProviderExecutedToolFactory)({id:"xai.web_search",inputSchema:(0,c.lazySchema)(()=>(0,c.zodSchema)(e.z.object({}))),outputSchema:af}),ah=(0,c.lazySchema)(()=>(0,c.zodSchema)(e.z.object({allowedXHandles:e.z.array(e.z.string()).max(10).optional(),excludedXHandles:e.z.array(e.z.string()).max(10).optional(),fromDate:e.z.string().optional(),toDate:e.z.string().optional(),enableImageUnderstanding:e.z.boolean().optional(),enableVideoUnderstanding:e.z.boolean().optional()}))),ai=(0,c.lazySchema)(()=>(0,c.zodSchema)(e.z.object({query:e.z.string(),posts:e.z.array(e.z.object({author:e.z.string(),text:e.z.string(),url:e.z.string(),likes:e.z.number()}))}))),aj=(0,c.createProviderExecutedToolFactory)({id:"xai.x_search",inputSchema:(0,c.lazySchema)(()=>(0,c.zodSchema)(e.z.object({}))),outputSchema:ai});async function ak({tools:a,toolChoice:d}){let e=(null==a?void 0:a.length)?a:void 0,f=[];if(null==e)return{tools:void 0,toolChoice:void 0,toolWarnings:f};let g=[],h=new Map;for(let a of e)if(h.set(a.name,a),"provider"===a.type)switch(a.id){case"xai.web_search":{let b=await (0,c.validateTypes)({value:a.args,schema:ae});g.push({type:"web_search",allowed_domains:b.allowedDomains,excluded_domains:b.excludedDomains,enable_image_search:b.enableImageSearch,enable_image_understanding:b.enableImageUnderstanding});break}case"xai.x_search":{let b=await (0,c.validateTypes)({value:a.args,schema:ah});g.push({type:"x_search",allowed_x_handles:b.allowedXHandles,excluded_x_handles:b.excludedXHandles,from_date:b.fromDate,to_date:b.toDate,enable_image_understanding:b.enableImageUnderstanding,enable_video_understanding:b.enableVideoUnderstanding});break}case"xai.code_execution":g.push({type:"code_interpreter"});break;case"xai.view_image":g.push({type:"view_image"});break;case"xai.view_x_video":g.push({type:"view_x_video"});break;case"xai.image_generation":{let b=await (0,c.validateTypes)({value:a.args,schema:Z});g.push({type:"image_generation",action:b.action});break}case"xai.file_search":{let b=await (0,c.validateTypes)({value:a.args,schema:W});g.push({type:"file_search",vector_store_ids:b.vectorStoreIds,max_num_results:b.maxNumResults});break}case"xai.mcp":{let b=await (0,c.validateTypes)({value:a.args,schema:ab});g.push({type:"mcp",server_url:b.serverUrl,server_label:b.serverLabel,server_description:b.serverDescription,allowed_tools:b.allowedTools,headers:b.headers,authorization:b.authorization});break}default:f.push({type:"unsupported",feature:`provider-defined tool ${a.name}`})}else g.push({type:"function",name:a.name,description:a.description,parameters:w(a.inputSchema),...null!=a.strict?{strict:a.strict}:{}});if(null==d)return{tools:g,toolChoice:void 0,toolWarnings:f};let i=d.type;switch(i){case"auto":case"none":return{tools:g,toolChoice:i,toolWarnings:f};case"required":return{tools:g,toolChoice:"required",toolWarnings:f};case"tool":{let a=h.get(d.toolName);if(null==a)return{tools:g,toolChoice:void 0,toolWarnings:f};if("provider"===a.type)return f.push({type:"unsupported",feature:`toolChoice for server-side tool "${a.name}"`}),{tools:g,toolChoice:void 0,toolWarnings:f};return{tools:g,toolChoice:{type:"function",name:a.name},toolWarnings:f}}default:throw new b.UnsupportedFunctionalityError({functionality:`tool choice type: ${i}`})}}function al({message:a,code:b,eventType:d,data:e}){var f,g;let h,i="number"==typeof(h="string"==typeof(f=b)&&/^\d{3}$/.test(f)?Number(f):f)&&Number.isInteger(h)&&h>=400&&h<=599?h:void 0;return(0,c.createProviderStreamError)({message:a,type:d,code:null!=b?b:void 0,...null!=i?{statusCode:i,isRetryable:408===(g=i)||409===g||429===g||g>=500}:function(a){switch(a){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{}}}(b),data:e})}var am=class a{constructor(a,b){this.specificationVersion="v4",this.supportedUrls={"image/*":[/^https?:\/\/.*$/],"application/pdf":[/^https?:\/\/.*$/],"text/*":[/^https?:\/\/.*$/]},this.modelId=a,this.config=b}static[d.WORKFLOW_SERIALIZE](a){return(0,c.serializeModelOptions)({modelId:a.modelId,config:a.config})}static[d.WORKFLOW_DESERIALIZE](b){return new a(b.modelId,b.config)}get provider(){return this.config.provider}async getArgs({prompt:a,maxOutputTokens:b,temperature:d,topP:e,topK:f,frequencyPenalty:g,presencePenalty:h,stopSequences:i,seed:j,responseFormat:l,providerOptions:m,tools:n,toolChoice:o,reasoning:p}){var q,r,s,t,u,v,w,x,y,z;let A=[],B=null!=(q=await (0,c.parseProviderOptions)({provider:"xai",providerOptions:m,schema:V}))?q:{};null!=f&&A.push({type:"unsupported",feature:"topK"}),null!=g&&A.push({type:"unsupported",feature:"frequencyPenalty"}),null!=h&&A.push({type:"unsupported",feature:"presencePenalty"}),null!=i&&A.push({type:"unsupported",feature:"stopSequences"});let C=null==(r=null==n?void 0:n.find(a=>"provider"===a.type&&"xai.web_search"===a.id))?void 0:r.name,D=null==(s=null==n?void 0:n.find(a=>"provider"===a.type&&"xai.x_search"===a.id))?void 0:s.name,E=null==(t=null==n?void 0:n.find(a=>"provider"===a.type&&"xai.code_execution"===a.id))?void 0:t.name,F=null==(u=null==n?void 0:n.find(a=>"provider"===a.type&&"xai.mcp"===a.id))?void 0:u.name,G=null==(v=null==n?void 0:n.find(a=>"provider"===a.type&&"xai.file_search"===a.id))?void 0:v.name,I=null==(w=null==n?void 0:n.find(a=>"provider"===a.type&&"xai.image_generation"===a.id))?void 0:w.name,{input:J,inputWarnings:K}=await H({prompt:a,store:null==(x=B.store)||x});A.push(...K);let{tools:L,toolChoice:M,toolWarnings:N}=await ak({tools:n,toolChoice:o});A.push(...N);let O=B.include?[...B.include]:void 0;!1===B.store&&(O=null==O?["reasoning.encrypted_content"]:[...O,"reasoning.encrypted_content"]);let P=B.reasoningEffort;null==P&&(0,c.isCustomReasoning)(p)&&((z=this.modelId,k.test(z))?A.push({type:"unsupported",feature:"reasoning",details:`reasoning "${p}" is not supported by this model.`}):P="none"===p?"none":(0,c.mapReasoningToProviderEffort)({reasoning:p,effortMap:{minimal:"low",low:"low",medium:"medium",high:"high",xhigh:"grok-4.6"===this.modelId?"xhigh":"high"},warnings:A}));let Q={model:this.modelId,input:J,logprobs:!0===B.logprobs||null!=B.topLogprobs||void 0,top_logprobs:B.topLogprobs,max_output_tokens:b,temperature:d,top_p:e,seed:j,...(null==l?void 0:l.type)==="json"&&{text:{format:null!=l.schema?{type:"json_schema",strict:!0,name:null!=(y=l.name)?y:"response",description:l.description,schema:l.schema}:{type:"json_object"}}},...(null!=P||null!=B.reasoningSummary)&&{reasoning:{...null!=P&&{effort:P},...null!=B.reasoningSummary&&{summary:B.reasoningSummary}}},...!1===B.store&&{store:B.store},...null!=O&&{include:O},...null!=B.previousResponseId&&{previous_response_id:B.previousResponseId},...null!=B.serviceTier&&{service_tier:B.serviceTier}};return L&&L.length>0&&(Q.tools=L),null!=M&&(Q.tool_choice=M),{args:Q,warnings:A,webSearchToolName:C,xSearchToolName:D,codeExecutionToolName:E,mcpToolName:F,fileSearchToolName:G,imageGenerationToolName:I}}async doGenerate(a){var b,d,e,f,g,h,j,k,l,m,n,o,p,q,r,s,t,u;let{args:w,warnings:x,webSearchToolName:y,xSearchToolName:z,codeExecutionToolName:A,mcpToolName:B,fileSearchToolName:C,imageGenerationToolName:D}=await this.getArgs(a),{responseHeaders:E,value:F,rawValue:G}=await (0,c.postJsonToApi)({url:`${null!=(b=this.config.baseURL)?b:"https://api.x.ai/v1"}/responses`,headers:(0,c.combineHeaders)(null==(e=(d=this.config).headers)?void 0:e.call(d),a.headers),body:w,failedResponseHandler:v,successfulResponseHandler:(0,c.createJsonResponseHandler)(T),abortSignal:a.abortSignal,fetch:this.config.fetch}),H=[],K=!1,L=["web_search","web_search_with_snippets","browse_page"],M=["x_user_search","x_keyword_search","x_semantic_search","x_thread_fetch"];for(let a of F.output){if("file_search_call"===a.type){let b=null!=C?C:"file_search";H.push({type:"tool-call",toolCallId:a.id,toolName:b,input:"",providerExecuted:!0}),H.push({type:"tool-result",toolCallId:a.id,toolName:b,result:{queries:null!=(f=a.queries)?f:[],results:null!=(h=null==(g=a.results)?void 0:g.map(a=>({fileId:a.file_id,filename:a.filename,score:a.score,text:a.text})))?h:null}});continue}if("image_generation_call"===a.type){let b=null!=D?D:"image_generation";H.push({type:"tool-call",toolCallId:a.id,toolName:b,input:"{}",providerExecuted:!0}),null!=a.result?H.push({type:"tool-result",toolCallId:a.id,toolName:b,result:{result:a.result,...null!=a.prompt&&{prompt:a.prompt}}}):H.push({type:"tool-result",toolCallId:a.id,toolName:b,isError:!0,result:`Image generation failed (status: ${a.status}).`});continue}if("web_search_call"===a.type||"x_search_call"===a.type||"code_interpreter_call"===a.type||"code_execution_call"===a.type||"view_image_call"===a.type||"view_x_video_call"===a.type||"custom_tool_call"===a.type||"mcp_call"===a.type){let b=null!=(j=a.name)?j:"";L.includes(null!=(k=a.name)?k:"")||"web_search_call"===a.type?b=null!=y?y:"web_search":M.includes(null!=(l=a.name)?l:"")||"x_search_call"===a.type?b=null!=z?z:"x_search":"code_execution"===a.name||"code_interpreter_call"===a.type||"code_execution_call"===a.type?b=null!=A?A:"code_execution":"mcp_call"===a.type&&(b=null!=(m=null!=B?B:a.name)?m:"mcp");let c="custom_tool_call"===a.type?null!=(n=a.input)?n:"":"mcp_call"===a.type?null!=(o=a.arguments)?o:"":null!=(p=a.arguments)?p:"";H.push({type:"tool-call",toolCallId:a.id,toolName:b,input:c,providerExecuted:!0}),"web_search_call"===a.type&&H.push({type:"tool-result",toolCallId:a.id,toolName:b,result:an(a.action)});continue}switch(a.type){case"message":for(let b of a.content)if(b.text&&H.push({type:"text",text:b.text}),b.annotations)for(let a of b.annotations)"url_citation"===a.type&&"url"in a&&H.push({type:"source",sourceType:"url",id:this.config.generateId(),url:a.url,title:null!=(q=a.title)?q:a.url});break;case"function_call":K=!0,H.push({type:"tool-call",toolCallId:a.call_id,toolName:a.name,input:a.arguments});break;case"reasoning":{let b=(a.summary.length>0?a.summary.map(a=>a.text):(null!=(r=a.content)?r:[]).map(a=>a.text)).filter(a=>a&&a.length>0).join("");if(b||a.encrypted_content){let c=a.encrypted_content||a.id;H.push({type:"reasoning",text:b,...c&&{providerMetadata:{xai:{...a.encrypted_content&&{reasoningEncryptedContent:a.encrypted_content},...a.id&&{itemId:a.id}}}}})}}}}return{content:H,finishReason:{unified:K?"tool-calls":J(F.status),raw:null!=(s=F.status)?s:void 0},usage:F.usage?I(F.usage):{inputTokens:{total:0,noCache:0,cacheRead:0,cacheWrite:0},outputTokens:{total:0,text:0,reasoning:0}},...((null==(t=F.usage)?void 0:t.cost_in_usd_ticks)!=null||null!=F.service_tier)&&{providerMetadata:{xai:{...(null==(u=F.usage)?void 0:u.cost_in_usd_ticks)!=null&&{costInUsdTicks:F.usage.cost_in_usd_ticks},...null!=F.service_tier&&{serviceTier:F.service_tier}}}},request:{body:w},response:{...i(F),headers:E,body:G},warnings:x}}async doStream(a){var b,d,e;let f,g,h,{args:j,warnings:k,webSearchToolName:l,xSearchToolName:m,codeExecutionToolName:n,mcpToolName:o,fileSearchToolName:p,imageGenerationToolName:q}=await this.getArgs(a),r={...j,stream:!0},{responseHeaders:s,value:t}=await (0,c.postJsonToApi)({url:`${null!=(b=this.config.baseURL)?b:"https://api.x.ai/v1"}/responses`,headers:(0,c.combineHeaders)(null==(e=(d=this.config).headers)?void 0:e.call(d),a.headers),body:r,failedResponseHandler:v,successfulResponseHandler:(0,c.createEventSourceResponseHandler)(U),abortSignal:a.abortSignal,fetch:this.config.fetch}),u={unified:"other",raw:void 0},w=!1,x=!0,y={},z=new Set,A={},B={},C=this;return{stream:t.pipeThrough(new TransformStream({start(a){a.enqueue({type:"stream-start",warnings:k})},transform(b,c){var d,e,j,k,r,s,t,v,D,E,F,G,H,K,L,M,N;if(a.includeRawChunks&&c.enqueue({type:"raw",rawValue:b.rawValue}),!b.success)return void c.enqueue({type:"error",error:b.error});let O=b.value;if("response.created"===O.type||"response.in_progress"===O.type){x&&(c.enqueue({type:"response-metadata",...i(O.response)}),x=!1);return}if("response.reasoning_summary_part.added"===O.type){let a=`reasoning-${O.item_id}`;null==B[O.item_id]&&(B[O.item_id]={},c.enqueue({type:"reasoning-start",id:a,providerMetadata:{xai:{itemId:O.item_id}}}))}if("response.reasoning_summary_text.delta"===O.type){let a=`reasoning-${O.item_id}`;c.enqueue({type:"reasoning-delta",id:a,delta:O.delta,providerMetadata:{xai:{itemId:O.item_id}}});return}if("response.reasoning_summary_text.done"===O.type)return;if("response.reasoning_text.delta"===O.type){let a=`reasoning-${O.item_id}`;null==B[O.item_id]&&(B[O.item_id]={},c.enqueue({type:"reasoning-start",id:a,providerMetadata:{xai:{itemId:O.item_id}}})),c.enqueue({type:"reasoning-delta",id:a,delta:O.delta,providerMetadata:{xai:{itemId:O.item_id}}});return}if("response.reasoning_text.done"!==O.type){if("response.output_text.delta"===O.type){let a=`text-${O.item_id}`;null==y[a]&&(y[a]={type:"text"},c.enqueue({type:"text-start",id:a})),c.enqueue({type:"text-delta",id:a,delta:O.delta});return}if("response.output_text.done"===O.type){if(O.annotations)for(let a of O.annotations)"url_citation"===a.type&&"url"in a&&c.enqueue({type:"source",sourceType:"url",id:C.config.generateId(),url:a.url,title:null!=(d=a.title)?d:a.url});return}if("response.output_text.annotation.added"===O.type){let a=O.annotation;"url_citation"===a.type&&"url"in a&&c.enqueue({type:"source",sourceType:"url",id:C.config.generateId(),url:a.url,title:null!=(e=a.title)?e:a.url});return}if("response.done"===O.type||"response.completed"===O.type||"response.incomplete"===O.type){let a=O.response;if(a.usage&&(f=I(a.usage),g=null!=(j=a.usage.cost_in_usd_ticks)?j:void 0),h=null!=(k=a.service_tier)?k:void 0,"response.incomplete"===O.type){let b="incomplete_details"in a?null==(r=a.incomplete_details)?void 0:r.reason:void 0;u={unified:b?J(b):"other",raw:null!=b?b:"incomplete"}}else"status"in a&&a.status&&(u={unified:w?"tool-calls":J(a.status),raw:a.status});return}if("response.failed"===O.type){let a=null==(s=O.response.incomplete_details)?void 0:s.reason;u={unified:a?J(a):"error",raw:null!=a?a:"error"},O.response.usage&&(f=I(O.response.usage)),null!=O.response.error&&c.enqueue({type:"error",error:al({message:O.response.error.message,code:O.response.error.code,eventType:O.type,data:O})});return}if("error"===O.type)return void c.enqueue({type:"error",error:al({message:O.message,code:O.code,eventType:O.type,data:O})});if("response.custom_tool_call_input.delta"!==O.type&&"response.custom_tool_call_input.done"!==O.type){if("response.function_call_arguments.delta"===O.type){let a=A[O.output_index];null!=a&&c.enqueue({type:"tool-input-delta",id:a.toolCallId,delta:O.delta});return}if("response.function_call_arguments.done"!==O.type){if("response.image_generation_call.in_progress"===O.type||"response.image_generation_call.generating"===O.type||"response.image_generation_call.completed"===O.type){if(!z.has(O.item_id)){z.add(O.item_id);let a=null!=q?q:"image_generation";c.enqueue({type:"tool-input-start",id:O.item_id,toolName:a}),c.enqueue({type:"tool-input-delta",id:O.item_id,delta:"{}"}),c.enqueue({type:"tool-input-end",id:O.item_id}),c.enqueue({type:"tool-call",toolCallId:O.item_id,toolName:a,input:"{}",providerExecuted:!0})}return}if("response.output_item.added"===O.type||"response.output_item.done"===O.type){let a=O.item;if("reasoning"===a.type){if("response.output_item.done"===O.type){let b=`reasoning-${a.id}`;a.id in B||(B[a.id]={},c.enqueue({type:"reasoning-start",id:b,providerMetadata:{xai:{...a.id&&{itemId:a.id}}}})),c.enqueue({type:"reasoning-end",id:b,providerMetadata:{xai:{...a.encrypted_content&&{reasoningEncryptedContent:a.encrypted_content},...a.id&&{itemId:a.id}}}}),delete B[a.id]}return}if("file_search_call"===a.type){let b=null!=p?p:"file_search";z.has(a.id)||(z.add(a.id),c.enqueue({type:"tool-input-start",id:a.id,toolName:b}),c.enqueue({type:"tool-input-delta",id:a.id,delta:""}),c.enqueue({type:"tool-input-end",id:a.id}),c.enqueue({type:"tool-call",toolCallId:a.id,toolName:b,input:"",providerExecuted:!0})),"response.output_item.done"===O.type&&c.enqueue({type:"tool-result",toolCallId:a.id,toolName:b,result:{queries:null!=(t=a.queries)?t:[],results:null!=(D=null==(v=a.results)?void 0:v.map(a=>({fileId:a.file_id,filename:a.filename,score:a.score,text:a.text})))?D:null}});return}if("image_generation_call"===a.type){let b=null!=q?q:"image_generation";z.has(a.id)||(z.add(a.id),c.enqueue({type:"tool-input-start",id:a.id,toolName:b}),c.enqueue({type:"tool-input-delta",id:a.id,delta:"{}"}),c.enqueue({type:"tool-input-end",id:a.id}),c.enqueue({type:"tool-call",toolCallId:a.id,toolName:b,input:"{}",providerExecuted:!0})),"response.output_item.done"===O.type&&(null!=a.result?c.enqueue({type:"tool-result",toolCallId:a.id,toolName:b,result:{result:a.result,...null!=a.prompt&&{prompt:a.prompt}}}):c.enqueue({type:"tool-result",toolCallId:a.id,toolName:b,isError:!0,result:`Image generation failed (status: ${a.status}).`}));return}if("web_search_call"===a.type||"x_search_call"===a.type||"code_interpreter_call"===a.type||"code_execution_call"===a.type||"view_image_call"===a.type||"view_x_video_call"===a.type||"custom_tool_call"===a.type||"mcp_call"===a.type){let b=null!=(E=a.name)?E:"";["web_search","web_search_with_snippets","browse_page"].includes(null!=(F=a.name)?F:"")||"web_search_call"===a.type?b=null!=l?l:"web_search":["x_user_search","x_keyword_search","x_semantic_search","x_thread_fetch"].includes(null!=(G=a.name)?G:"")||"x_search_call"===a.type?b=null!=m?m:"x_search":"code_execution"===a.name||"code_interpreter_call"===a.type||"code_execution_call"===a.type?b=null!=n?n:"code_execution":"mcp_call"===a.type&&(b=null!=(H=null!=o?o:a.name)?H:"mcp");let d="custom_tool_call"===a.type?null!=(K=a.input)?K:"":"mcp_call"===a.type?null!=(L=a.arguments)?L:"":null!=(M=a.arguments)?M:"";("custom_tool_call"===a.type?"response.output_item.done"!==O.type:z.has(a.id))||z.has(a.id)||(z.add(a.id),c.enqueue({type:"tool-input-start",id:a.id,toolName:b}),c.enqueue({type:"tool-input-delta",id:a.id,delta:d}),c.enqueue({type:"tool-input-end",id:a.id}),c.enqueue({type:"tool-call",toolCallId:a.id,toolName:b,input:d,providerExecuted:!0})),"response.output_item.done"===O.type&&c.enqueue({type:"tool-result",toolCallId:a.id,toolName:b,result:"web_search_call"===a.type?an(a.action):{}});return}if("message"===a.type)for(let b of a.content){if(b.text&&b.text.length>0){let d=`text-${a.id}`;null==y[d]&&(y[d]={type:"text"},c.enqueue({type:"text-start",id:d}),c.enqueue({type:"text-delta",id:d,delta:b.text}))}if(b.annotations)for(let a of b.annotations)"url_citation"===a.type&&"url"in a&&c.enqueue({type:"source",sourceType:"url",id:C.config.generateId(),url:a.url,title:null!=(N=a.title)?N:a.url})}else"function_call"===a.type&&("response.output_item.added"===O.type?(A[O.output_index]={toolName:a.name,toolCallId:a.call_id},c.enqueue({type:"tool-input-start",id:a.call_id,toolName:a.name})):"response.output_item.done"===O.type&&(w=!0,A[O.output_index]=void 0,c.enqueue({type:"tool-input-end",id:a.call_id}),c.enqueue({type:"tool-call",toolCallId:a.call_id,toolName:a.name,input:a.arguments})))}}}}},flush(a){for(let[b,c]of Object.entries(y))"text"===c.type&&a.enqueue({type:"text-end",id:b});a.enqueue({type:"finish",finishReason:u,usage:null!=f?f:{inputTokens:{total:0,noCache:0,cacheRead:0,cacheWrite:0},outputTokens:{total:0,text:0,reasoning:0}},...(null!=g||null!=h)&&{providerMetadata:{xai:{...null!=g&&{costInUsdTicks:g},...null!=h&&{serviceTier:h}}}}})}})),request:{body:r},response:{headers:s}}}};function an(a){var b;let c=P.safeParse(a);if(!c.success)return{};let d=c.data,e=null==(b=d.sources)?void 0:b.flatMap(a=>{let b=O.safeParse(a);return b.success?[b.data]:[]}),f=null!=e&&e.length>0?{sources:e}:{};switch(d.type){case"search":return{action:{type:"search",...null!=d.query&&{query:d.query},...null!=d.queries&&{queries:d.queries}},...f};case"open_page":return{action:{type:"openPage",url:d.url},...f};case"find_in_page":return{action:{type:"findInPage",url:d.url,pattern:d.pattern},...f}}}var ao=(0,c.lazySchema)(()=>(0,c.zodSchema)(e.z.object({inputFileExpiresAfter:e.z.number().int().min(3600).max(2592e3).optional()}))),ap=(0,c.lazySchema)(()=>(0,c.zodSchema)(e.z.object({batch_id:e.z.string(),name:e.z.string().nullish(),create_time:e.z.string().nullish(),expire_time:e.z.string().nullish(),cancel_time:e.z.string().nullish(),cancel_by_xai_message:e.z.string().nullish(),state:e.z.object({num_requests:e.z.number().nullish(),num_pending:e.z.number().nullish(),num_success:e.z.number().nullish(),num_error:e.z.number().nullish(),num_cancelled:e.z.number().nullish()}).nullish()}))),aq=e.z.object({code:e.z.union([e.z.string(),e.z.number()]).nullish(),message:e.z.string().nullish()}),ar=e.z.object({batch_request_id:e.z.string(),batch_result:e.z.object({response:e.z.object({chat_get_completion:e.z.unknown().nullish()}).nullish(),error:aq.nullish()}).nullish(),error_message:e.z.string().nullish()}),as=(0,c.lazySchema)(()=>(0,c.zodSchema)(e.z.object({results:e.z.array(ar),pagination_token:e.z.string().nullish()}))),at=class{constructor(a){this.options=a}async startBatch(a){var b,d;let e=[],f=null==a.webhookUrl?[]:[{warning:{type:"unsupported",feature:"webhookUrl",details:"The xAI Batch API does not support per-batch webhook URLs."}}],g=await (0,c.parseProviderOptions)({provider:"xai",providerOptions:a.providerOptions,schema:ao});for(let b of a.requests){let a=await this.options.prepareRequest(b);for(let c of(e.push(JSON.stringify({custom_id:b.id,method:"POST",url:"/v1/responses",body:a.body}),"\n"),a.warnings))f.push({requestId:b.id,warning:c})}let h=new Blob(e,{type:"application/jsonl"});e.length=0;let i=new FormData;(null==g?void 0:g.inputFileExpiresAfter)!=null&&i.append("expires_after",String(g.inputFileExpiresAfter)),i.append("file",h,"batch.jsonl");let j=(0,c.combineHeaders)(null==(d=(b=this.options.config).headers)?void 0:d.call(b),a.headers),{value:k}=await (0,c.postFormDataToApi)({url:this.getUrl("/files"),headers:j,formData:i,failedResponseHandler:v,successfulResponseHandler:(0,c.createJsonResponseHandler)(F),abortSignal:a.abortSignal,fetch:this.options.config.fetch}),{value:l}=await (0,c.postJsonToApi)({url:this.getUrl("/batches"),headers:j,body:{name:"ai-sdk-text-batch",input_file_id:k.id},failedResponseHandler:v,successfulResponseHandler:(0,c.createJsonResponseHandler)(ap),abortSignal:a.abortSignal,fetch:this.options.config.fetch});return{batchId:l.batch_id,...av(l),providerMetadata:{xai:{inputFileId:k.id,...null!=k.expires_at?{inputFileExpiresAt:new Date(1e3*k.expires_at).toISOString()}:{}}},warnings:f}}async getBatchStatus(a){return av(await this.retrieveBatch(a))}async getBatchResults(a){if("pending"===av(await this.retrieveBatch(a)).status)throw new b.InvalidArgumentError({argument:"batchId",message:`xAI batch "${a.batchId}" is not complete.`});return(0,c.convertAsyncIteratorToReadableStream)(this.iterateBatchResults(a))}async retrieveBatch(a){var b,d;let{value:e}=await (0,c.getFromApi)({url:this.getUrl(`/batches/${encodeURIComponent(a.batchId)}`),headers:(0,c.combineHeaders)(null==(d=(b=this.options.config).headers)?void 0:d.call(b),a.headers),failedResponseHandler:v,successfulResponseHandler:(0,c.createJsonResponseHandler)(ap),abortSignal:a.abortSignal,fetch:this.options.config.fetch,validateUrl:!1});return e}async *iterateBatchResults(a){var b,d,e;let f;do{let g=new URLSearchParams({limit:String(1e3)});null!=f&&g.set("pagination_token",f);let{value:h}=await (0,c.getFromApi)({url:this.getUrl(`/batches/${encodeURIComponent(a.batchId)}/results?${g}`),headers:(0,c.combineHeaders)(null==(d=(b=this.options.config).headers)?void 0:d.call(b),a.headers),failedResponseHandler:v,successfulResponseHandler:(0,c.createJsonResponseHandler)(as),abortSignal:a.abortSignal,fetch:this.options.config.fetch,validateUrl:!1});for(let a of h.results)yield await this.convertBatchResult(a);f=null!=(e=h.pagination_token)?e:void 0}while(null!=f)}async convertBatchResult(a){var b,d,e,f,g,k,l,m,n;let o=null==(b=a.batch_result)?void 0:b.error;if((null!=(e=null==(d=a.error_message)?void 0:d.length)?e:0)>0||(null==o?void 0:o.code)!=null&&0!==o.code&&"0"!==o.code||(null==o?void 0:o.code)==null&&(null!=(g=null==(f=null==o?void 0:o.message)?void 0:f.length)?g:0)>0){let b,c,d=(b=null==(m=(l=a).batch_result)?void 0:m.error,{message:l.error_message||(null==b?void 0:b.message)||"xAI batch request failed.",...(null==b?void 0:b.code)!=null&&0!==b.code&&"0"!==b.code?{code:String(b.code)}:{}});return{id:a.batch_request_id,status:(c=String(n=null==o?void 0:o.code).toLowerCase(),1===n||"1"===c||"cancelled"===c||"batch_cancelled"===c)?"cancelled":"failed",error:d}}let p=null==(k=a.batch_result)?void 0:k.response;if((null==p?void 0:p.chat_get_completion)!=null){let b=await (0,c.safeValidateTypes)({value:p.chat_get_completion,schema:z});if(!b.success)return aw(a.batch_request_id);let d=function(a){var b,d,e,f,g,k;let l;if(null!=a.error)return{success:!1,error:{message:a.error,...null!=a.code?{code:a.code}:{}}};let m=a.choices;if(null==m||0===m.length)return{success:!1,error:{message:"xAI returned a batch response without any choices.",code:"invalid_response"}};let n=[],o=new Set(m.filter(a=>"tool"===a.message.role).flatMap(a=>{var b;return(null!=(b=a.message.tool_calls)?b:[]).map(a=>a.id)}));for(let a of m){if("tool"===a.message.role){if(null!=a.message.content)for(let c of null!=(b=a.message.tool_calls)?b:[])n.push({type:"tool-result",toolCallId:c.id,toolName:c.function.name,result:a.message.content,dynamic:!0});continue}for(let b of(l=a,a.message.content&&n.push({type:"text",text:a.message.content}),a.message.reasoning_content&&n.push({type:"reasoning",text:a.message.reasoning_content}),null!=(d=a.message.tool_calls)?d:[]))n.push({type:"tool-call",toolCallId:b.id,toolName:b.function.name,input:b.function.arguments,...o.has(b.id)?{providerExecuted:!0,dynamic:!0}:{}})}for(let b of null!=(e=a.citations)?e:[])n.push({type:"source",sourceType:"url",id:b,url:b});return{success:!0,result:{content:n,finishReason:{unified:j(null==l?void 0:l.finish_reason),raw:null!=(f=null==l?void 0:l.finish_reason)?f:void 0},usage:a.usage?h(a.usage):(0,c.createNullLanguageModelUsage)(),response:i(a),warnings:[],...((null==(g=a.usage)?void 0:g.cost_in_usd_ticks)!=null||null!=a.service_tier)&&{providerMetadata:{xai:{...(null==(k=a.usage)?void 0:k.cost_in_usd_ticks)!=null?{costInUsdTicks:a.usage.cost_in_usd_ticks}:{},...null!=a.service_tier?{serviceTier:a.service_tier}:{}}}}}}}(b.value);return d.success?{id:a.batch_request_id,status:"succeeded",result:d.result}:{id:a.batch_request_id,status:"failed",error:d.error}}return aw(a.batch_request_id)}getUrl(a){var b;return`${null!=(b=this.options.config.baseURL)?b:"https://api.x.ai/v1"}${a}`}},au=class a extends am{static[d.WORKFLOW_SERIALIZE](a){return am[d.WORKFLOW_SERIALIZE](a)}static[d.WORKFLOW_DESERIALIZE](b){return new a(b.modelId,b.config)}constructor(a,b){super(a,b),this.batch=new at({config:b,prepareRequest:async a=>{let{args:b,warnings:c}=await this.getArgs(a.options);return{body:b,warnings:c}}})}experimental_doStartBatch(a){return this.batch.startBatch(a)}experimental_doGetBatchStatus(a){return this.batch.getBatchStatus(a)}experimental_doGetBatchResults(a){return this.batch.getBatchResults(a)}};function av(a){var b,d,e,f,g,h;let i=(0,c.normalizeBatchRequestCounts)({total:null==(b=a.state)?void 0:b.num_requests,pending:null==(d=a.state)?void 0:d.num_pending,completed:null==(e=a.state)?void 0:e.num_success,failed:(null==(f=a.state)?void 0:f.num_error)!=null&&(null==(g=a.state)?void 0:g.num_cancelled)!=null?a.state.num_error+a.state.num_cancelled:void 0}),j=null!=a.cancel_time||null!=a.cancel_by_xai_message,k=function(a){if(null==a)return!1;let b=Date.parse(a);return!Number.isNaN(b)&&b<=Date.now()}(a.expire_time);return{status:j||k?"failed":null!=i&&i.total>0&&0===i.pending?"completed":"pending",...null!=i?{requestCounts:i}:{},...j?{error:{message:null!=(h=a.cancel_by_xai_message)?h:`xAI batch "${a.batch_id}" was cancelled.`,code:"batch_cancelled"}}:k?{error:{message:`xAI batch "${a.batch_id}" expired.`,code:"batch_expired"}}:{},...null!=a.create_time?{createdAt:a.create_time}:{},...null!=a.expire_time?{expiresAt:a.expire_time}:{}}}function aw(a){return{id:a,status:"failed",error:{message:"xAI returned an invalid Responses batch result.",code:"invalid_response"}}}function ax(a){var b;let c={};null!=a.instructions&&(c.instructions=a.instructions),null!=a.voice&&(c.voice=a.voice);let d={};if(null!=a.inputAudioFormat&&(d.input={format:{type:a.inputAudioFormat.type,...null!=a.inputAudioFormat.rate?{rate:a.inputAudioFormat.rate}:{}}}),null!=a.outputAudioFormat&&(d.output={format:{type:a.outputAudioFormat.type,...null!=a.outputAudioFormat.rate?{rate:a.outputAudioFormat.rate}:{}}}),Object.keys(d).length>0&&(c.audio=d),null!=a.turnDetection)if("disabled"===a.turnDetection.type)c.turn_detection=null;else{let b={type:"server_vad"};null!=a.turnDetection.threshold&&(b.threshold=a.turnDetection.threshold),null!=a.turnDetection.silenceDurationMs&&(b.silence_duration_ms=a.turnDetection.silenceDurationMs),null!=a.turnDetection.prefixPaddingMs&&(b.prefix_padding_ms=a.turnDetection.prefixPaddingMs),c.turn_detection=b}if(null!=a.tools&&a.tools.length>0&&(c.tools=a.tools.map(a=>({type:a.type,name:a.name,description:a.description,parameters:a.parameters}))),null!=a.providerOptions){let d=a.providerOptions;if(Array.isArray(d.tools)){let a=null!=(b=c.tools)?b:[];c.tools=[...a,...d.tools]}for(let[a,b]of Object.entries(d))"tools"!==a&&(c[a]=b)}return c}var ay=class{constructor(a,b){this.specificationVersion="v4",this.modelId=a,this.provider=b.provider,this.config=b}async doCreateClientSecret(a){var b;let c=null!=(b=this.config.fetch)?b:fetch,d=`${this.config.baseURL}/realtime/client_secrets`,e={};null!=a.expiresAfterSeconds&&(e.expires_after={seconds:a.expiresAfterSeconds});let f=await c(d,{method:"POST",headers:{...this.config.headers(),"Content-Type":"application/json"},body:JSON.stringify(e)});if(!f.ok){let a=await f.text();throw Error(`xAI realtime client secret request failed: ${f.status} ${a}`)}let g=await f.json();return{token:g.value,url:`wss://${new URL(this.config.baseURL).host}/v1/realtime?model=${encodeURIComponent(this.modelId)}`,expiresAt:g.expires_at}}getWebSocketConfig(a){return{url:a.url,protocols:[`xai-client-secret.${a.token}`]}}parseServerEvent(a){return function(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t;let u=a.type;switch(u){case"session.created":return{type:"session-created",sessionId:null==(b=a.session)?void 0:b.id,raw:a};case"session.updated":return{type:"session-updated",raw:a};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:u,raw:a};case"input_audio_buffer.speech_started":return{type:"speech-started",itemId:a.item_id,raw:a};case"input_audio_buffer.speech_stopped":return{type:"speech-stopped",itemId:a.item_id,raw:a};case"input_audio_buffer.committed":return{type:"audio-committed",itemId:a.item_id,previousItemId:a.previous_item_id,raw:a};case"conversation.item.added":return{type:"conversation-item-added",itemId:null!=(d=null==(c=a.item)?void 0:c.id)?d:a.item_id,item:a.item,raw:a};case"conversation.item.input_audio_transcription.completed":return{type:"input-transcription-completed",itemId:a.item_id,transcript:null!=(e=a.transcript)?e:"",raw:a};case"response.created":return{type:"response-created",responseId:null!=(g=null==(f=a.response)?void 0:f.id)?g:a.response_id,raw:a};case"response.done":return{type:"response-done",responseId:null!=(i=null==(h=a.response)?void 0:h.id)?i:a.response_id,status:null!=(k=null==(j=a.response)?void 0:j.status)?k:"completed",raw:a};case"response.output_item.added":return{type:"output-item-added",responseId:a.response_id,itemId:null!=(m=null==(l=a.item)?void 0:l.id)?m:a.item_id,raw:a};case"response.output_item.done":return{type:"output-item-done",responseId:a.response_id,itemId:null!=(o=null==(n=a.item)?void 0:n.id)?o:a.item_id,raw:a};case"response.content_part.added":return{type:"content-part-added",responseId:a.response_id,itemId:a.item_id,raw:a};case"response.content_part.done":return{type:"content-part-done",responseId:a.response_id,itemId:a.item_id,raw:a};case"response.output_audio.delta":return{type:"audio-delta",responseId:a.response_id,itemId:a.item_id,delta:a.delta,raw:a};case"response.output_audio.done":return{type:"audio-done",responseId:a.response_id,itemId:a.item_id,raw:a};case"response.output_audio_transcript.delta":return{type:"audio-transcript-delta",responseId:a.response_id,itemId:a.item_id,delta:a.delta,raw:a};case"response.output_audio_transcript.done":return{type:"audio-transcript-done",responseId:a.response_id,itemId:a.item_id,transcript:a.transcript,raw:a};case"response.text.delta":return{type:"text-delta",responseId:a.response_id,itemId:a.item_id,delta:a.delta,raw:a};case"response.text.done":return{type:"text-done",responseId:a.response_id,itemId:a.item_id,text:a.text,raw:a};case"response.function_call_arguments.delta":return{type:"function-call-arguments-delta",responseId:a.response_id,itemId:a.item_id,callId:a.call_id,delta:a.delta,raw:a};case"response.function_call_arguments.done":return{type:"function-call-arguments-done",responseId:a.response_id,itemId:a.item_id,callId:a.call_id,name:a.name,arguments:a.arguments,raw:a};case"error":return{type:"error",message:null!=(r=null!=(q=null==(p=a.error)?void 0:p.message)?q:a.message)?r:"Unknown error",code:null!=(t=null==(s=a.error)?void 0:s.code)?t:a.code,raw:a}}}(a)}serializeClientEvent(a){switch(a.type){case"session-update":return{type:"session.update",session:ax(a.config)};case"input-audio-append":return{type:"input_audio_buffer.append",audio:a.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 b=a.item;switch(b.type){case"text-message":return{type:"conversation.item.create",item:{type:"message",role:b.role,content:[{type:"input_text",text:b.text}]}};case"audio-message":return{type:"conversation.item.create",item:{type:"message",role:b.role,content:[{type:"input_audio",audio:b.audio}]}};case"function-call-output":return{type:"conversation.item.create",item:{type:"function_call_output",call_id:b.callId,output:b.output}}}break}case"conversation-item-truncate":break;case"response-create":return{type:"response.create",...null!=a.options?{response:{...null!=a.options.modalities?{modalities:a.options.modalities}:{},...null!=a.options.instructions?{instructions:a.options.instructions}:{}}}:{}};case"response-cancel":return{type:"response.cancel"}}}buildSessionConfig(a){return ax(a)}},az=e.z.object({output:e.z.string().describe("the output of the code execution"),error:e.z.string().optional().describe("any error that occurred")}),aA=(0,c.createProviderExecutedToolFactory)({id:"xai.code_execution",inputSchema:e.z.object({}).describe("no input parameters"),outputSchema:az}),aB=e.z.object({description:e.z.string().describe("description of the image"),objects:e.z.array(e.z.string()).optional().describe("objects detected in the image")}),aC=(0,c.createProviderExecutedToolFactory)({id:"xai.view_image",inputSchema:e.z.object({}).describe("no input parameters"),outputSchema:aB}),aD=e.z.object({transcript:e.z.string().optional().describe("transcript of the video"),description:e.z.string().describe("description of the video content"),duration:e.z.number().optional().describe("duration in seconds")}),aE=(0,c.createProviderExecutedToolFactory)({id:"xai.view_x_video",inputSchema:e.z.object({}).describe("no input parameters"),outputSchema:aD}),aF={codeExecution:(a={})=>aA(a),fileSearch:a=>Y(a),imageGeneration:(a={})=>aa(a),mcpServer:a=>ad(a),viewImage:(a={})=>aC(a),viewXVideo:(a={})=>aE(a),webSearch:(a={})=>ag(a),xSearch:(a={})=>aj(a)},aG=(0,c.lazySchema)(()=>(0,c.zodSchema)(e.z.looseObject({teamId:e.z.string().optional(),filePath:e.z.string().optional(),expiresAfter:e.z.number().int().min(3600).max(2592e3).optional()})));function aH(a){let b=encodeURIComponent(a);return"."===b?"%252E":".."===b?"%252E%252E":b}var aI=class{constructor(a){this.config=a,this.specificationVersion="v4"}get provider(){return this.config.provider}getFileId(a){let c=a.xai;if(null==c||""===c.trim())throw new b.InvalidArgumentError({argument:"file",message:"file reference is missing an 'xai' file id."});return c}getHeaders(a){return(0,c.combineHeaders)(this.config.headers(),a)}async uploadFile({data:a,mediaType:b,filename:d,abortSignal:e,headers:f,providerOptions:g}){var h,i;let j,k;try{j=await (0,c.parseProviderOptions)({provider:"xai",providerOptions:g,schema:aG})}catch(b){throw"stream"===a.type&&await a.stream.cancel(b).catch(()=>{}),b}let l=this.getHeaders(f),m=`${this.config.baseURL}/files`;if("stream"===a.type){let f=[];(null==j?void 0:j.expiresAfter)!=null&&f.push({type:"field",name:"expires_after",value:String(j.expiresAfter)}),(null==j?void 0:j.teamId)!=null&&f.push({type:"field",name:"team_id",value:j.teamId}),f.push({type:"file",name:"file",filename:d,mediaType:b,content:a.stream}),{value:k}=await (0,c.postMultipartStreamToApi)({url:m,headers:l,parts:f,failedResponseHandler:v,successfulResponseHandler:(0,c.createJsonResponseHandler)(F),abortSignal:e,fetch:this.config.fetch})}else{let f=new Blob([(0,c.convertInlineFileDataToUint8Array)(a)],{type:b}),g=new FormData;(null==j?void 0:j.expiresAfter)!=null&&g.append("expires_after",String(j.expiresAfter)),(null==j?void 0:j.teamId)!=null&&g.append("team_id",j.teamId),null!=d?g.append("file",f,d):g.append("file",f),{value:k}=await (0,c.postFormDataToApi)({url:m,headers:l,formData:g,failedResponseHandler:v,successfulResponseHandler:(0,c.createJsonResponseHandler)(F),abortSignal:e,fetch:this.config.fetch})}return{warnings:[],providerReference:{xai:k.id},...(null!=(h=k.filename)?h:d)?{filename:null!=(i=k.filename)?i:d}:{},...null!=b?{mediaType:b}:{},...null!=k.bytes?{byteSize:k.bytes}:{},...null!=k.created_at?{createdAt:new Date(1e3*k.created_at)}:{},...null!=k.expires_at?{expiresAt:new Date(1e3*k.expires_at)}:{},providerMetadata:{xai:this.toFileMetadata(k)}}}async getFileMetadata({file:a,abortSignal:b,headers:d}){let e=this.getFileId(a),{value:f}=await (0,c.getFromApi)({url:`${this.config.baseURL}/files/${aH(e)}`,headers:this.getHeaders(d),failedResponseHandler:v,successfulResponseHandler:(0,c.createJsonResponseHandler)(F),abortSignal:b,fetch:this.config.fetch,validateUrl:!1});return{warnings:[],providerReference:{xai:f.id},...null!=f.filename?{filename:f.filename}:{},...null!=f.bytes?{byteSize:f.bytes}:{},...null!=f.created_at?{createdAt:new Date(1e3*f.created_at)}:{},...null!=f.expires_at?{expiresAt:new Date(1e3*f.expires_at)}:{},providerMetadata:{xai:this.toFileMetadata(f)}}}async downloadFile({file:a,abortSignal:b,headers:d}){var e;let f=this.getFileId(a),{value:g,responseHeaders:h}=await (0,c.getFromApi)({url:`${this.config.baseURL}/files/${aH(f)}/content`,headers:this.getHeaders(d),failedResponseHandler:v,successfulResponseHandler:(0,c.createBinaryStreamResponseHandler)(),abortSignal:b,fetch:this.config.fetch,validateUrl:!1}),i=null==(e=null==h?void 0:h["content-type"])?void 0:e.split(";")[0].trim();return{warnings:[],content:g,...i?{mediaType:i}:{}}}async deleteFile({file:a,abortSignal:b,headers:d}){let e=this.getFileId(a),{value:f}=await (0,c.deleteFromApi)({url:`${this.config.baseURL}/files/${aH(e)}`,headers:this.getHeaders(d),failedResponseHandler:v,successfulResponseHandler:(0,c.createJsonResponseHandler)(G),abortSignal:b,fetch:this.config.fetch});return{warnings:[],providerReference:{xai:f.id},deleted:f.deleted}}toFileMetadata(a){return{...null!=a.filename?{filename:a.filename}:{},...null!=a.purpose?{purpose:a.purpose}:{},...null!=a.bytes?{bytes:a.bytes}:{},...null!=a.created_at?{createdAt:a.created_at}:{},...null!=a.status?{status:a.status}:{},...null!=a.expires_at?{expiresAt:a.expires_at}:{}}}},aJ=e.z.string().min(1),aK=e.z.enum(["480p","720p","1080p"]),aL=e.z.enum(["edit-video","extend-video","reference-to-video"]),aM={pollIntervalMs:e.z.number().positive().nullish(),pollTimeoutMs:e.z.number().positive().nullish(),resolution:aK.nullish()},aN=e.z.looseObject({mode:aL.optional(),videoUrl:aJ.optional(),referenceImageUrls:e.z.array(aJ).min(1).max(7).optional(),referenceVoiceIds:e.z.array(aJ).max(3).optional(),user:e.z.string().optional(),...aM}),aO=(0,c.lazySchema)(()=>(0,c.zodSchema)(aN)),aP={"1920x1080":"1080p","1280x720":"720p","854x480":"480p","640x480":"480p"};function aQ(a){var b,c;return null==(c=null==(b=a.frameImages)?void 0:b.find(a=>"first_frame"===a.frameType))?void 0:c.image}var aR=a=>null!=a.mediaType&&"video"===(0,c.getTopLevelMediaType)(a.mediaType),aS=a=>null==a.mediaType||"image"===(0,c.getTopLevelMediaType)(a.mediaType);function aT(a){if("url"===a.type)return a.url;let b="string"==typeof a.data?a.data:(0,c.convertUint8ArrayToBase64)(a.data);return`data:${a.mediaType};base64,${b}`}function aU(a){var b,c;return null!=(c=null==(b=a.inputReferences)?void 0:b.some(aS))&&c}var aV=class{constructor(a,b){this.modelId=a,this.config=b,this.specificationVersion="v4",this.maxVideosPerCall=1}get provider(){return this.config.provider}async buildRequestBody(a){var b,d,e;let f=[],g=await (0,c.parseProviderOptions)({provider:"xai",providerOptions:a.providerOptions,schema:aO}),h=function(a,b){if((null==b?void 0:b.mode)!=null)return b.mode;if((null==b?void 0:b.videoUrl)!=null)return"edit-video";let c=null!=a.frameImages&&a.frameImages.length>0,d=(null==b?void 0:b.referenceImageUrls)!=null&&b.referenceImageUrls.length>0;if(!c&&(aU(a)||d))return"reference-to-video"}(a,g),i="edit-video"===h,j="extend-video"===h,k="reference-to-video"===h;null!=a.fps&&f.push({type:"unsupported",feature:"fps",details:"xAI video models do not support custom FPS."}),null!=a.seed&&f.push({type:"unsupported",feature:"seed",details:"xAI video models do not support seed."}),null!=a.n&&a.n>1&&f.push({type:"unsupported",feature:"n",details:"xAI video models do not support generating multiple videos per call. Only 1 video will be generated."}),i&&null!=a.duration&&f.push({type:"unsupported",feature:"duration",details:"xAI video editing does not support custom duration."}),i&&null!=a.aspectRatio&&f.push({type:"unsupported",feature:"aspectRatio",details:"xAI video editing does not support custom aspect ratio."}),i&&((null==g?void 0:g.resolution)!=null||null!=a.resolution)&&f.push({type:"unsupported",feature:"resolution",details:"xAI video editing does not support custom resolution."}),j&&null!=a.aspectRatio&&f.push({type:"unsupported",feature:"aspectRatio",details:"xAI video extension does not support custom aspect ratio."}),j&&((null==g?void 0:g.resolution)!=null||null!=a.resolution)&&f.push({type:"unsupported",feature:"resolution",details:"xAI video extension does not support custom resolution."});let l={model:this.modelId,prompt:a.prompt},m=!i&&!j;if(i||null==a.duration||(l.duration=a.duration),i||j||null==a.aspectRatio||(l.aspect_ratio=a.aspectRatio),m&&(null==g?void 0:g.resolution)!=null)l.resolution=g.resolution;else if(m&&null!=a.resolution){let b=aP[a.resolution];null!=b?l.resolution=b:f.push({type:"unsupported",feature:"resolution",details:`Unrecognized resolution "${a.resolution}". Use providerOptions.xai.resolution with "480p", "720p", or "1080p" instead.`})}i&&(l.video={url:g.videoUrl}),j&&(l.video={url:g.videoUrl});let n=null!=(b=aQ(a))?b:a.image;if(null!=n)if(aR(n)){let b=null!=aQ(a);f.push({type:"unsupported",feature:b?"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 l.image={url:aT(n)};let o=null==(e=null==(d=a.frameImages)?void 0:d.find(a=>"last_frame"===a.frameType))?void 0:e.image;if(null!=o&&f.push({type:"unsupported",feature:"frameImages",details:aR(o)?'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.'}),k){let b=function(a,b,c){if(null!=a.inputReferences&&a.inputReferences.length>0){let b=[];for(let d of a.inputReferences){if(!aS(d)){c.push({type:"unsupported",feature:"inputReferences",details:aR(d)?'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}b.push(d)}return b.length>0?b.map(a=>({url:aT(a)})):void 0}if((null==b?void 0:b.referenceImageUrls)!=null&&b.referenceImageUrls.length>0)return b.referenceImageUrls.map(a=>({url:a}))}(a,g,f);null!=b?l.reference_images=b:f.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 c=null==g?void 0:g.referenceVoiceIds;null!=c&&c.length>0&&(l.reference_audios=c.map(a=>({voice_id:a}))),"1080p"===l.resolution&&(f.push({type:"unsupported",feature:"resolution",details:"xAI reference-to-video is limited to 720p. The request was downgraded from 1080p to 720p."}),l.resolution="720p")}if("1080p"===l.resolution&&"grok-imagine-video"===this.modelId&&f.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!=a.inputReferences&&a.inputReferences.length>0&&!k&&f.push({type:"unsupported",feature:"inputReferences",details:aU(a)?"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==g?void 0:g.referenceVoiceIds)!=null&&g.referenceVoiceIds.length>0&&!k&&f.push({type:"unsupported",feature:"referenceVoiceIds",details:"xAI only supports reference voices for reference-to-video generation. The reference voices were ignored."}),j||(null==g?void 0:g.user)===void 0||(l.user=g.user),null!=g)for(let[a,b]of Object.entries(g))["mode","pollIntervalMs","pollTimeoutMs","resolution","videoUrl","referenceImageUrls","referenceVoiceIds","user"].includes(a)||(l[a]=b);return{body:l,warnings:f,xaiOptions:g,isEdit:i,isExtension:j,hasReferenceImages:k,effectiveMode:h}}async doStart(a){var d,e,f,g;let h,i=null!=(f=null==(e=null==(d=this.config._internal)?void 0:d.currentDate)?void 0:e.call(d))?f:new Date,{body:j,warnings:k,isEdit:l,isExtension:m}=await this.buildRequestBody(a),n=null!=(g=this.config.baseURL)?g:"https://api.x.ai/v1";h=l?`${n}/videos/edits`:m?`${n}/videos/extensions`:`${n}/videos/generations`;let{value:o,responseHeaders:p}=await (0,c.postJsonToApi)({url:h,headers:(0,c.combineHeaders)(this.config.headers(),a.headers),body:j,failedResponseHandler:v,successfulResponseHandler:(0,c.createJsonResponseHandler)(aW),abortSignal:a.abortSignal,fetch:this.config.fetch}),q=o.request_id;if(!q)throw new b.AISDKError({name:"XAI_VIDEO_GENERATION_ERROR",message:"No request_id returned from xAI API."});return{operation:{requestId:q},warnings:k,response:{timestamp:i,modelId:this.modelId,headers:p}}}async doStatus(a){var b,d,e,f,g,h,i,j,k,l,m;let n,o=null!=(e=null==(d=null==(b=this.config._internal)?void 0:b.currentDate)?void 0:d.call(b))?e:new Date,{requestId:p}=a.operation,q=null!=(f=this.config.baseURL)?f:"https://api.x.ai/v1",{value:r,responseHeaders:s}=await (0,c.getFromApi)({url:`${q}/videos/${"."===(n=encodeURIComponent(p))?"%252E":".."===n?"%252E%252E":n}`,validateUrl:!1,headers:(0,c.combineHeaders)(this.config.headers(),a.headers),successfulResponseHandler:a_,failedResponseHandler:v,abortSignal:a.abortSignal,fetch:this.config.fetch});if("expired"===r.status)return{status:"error",error:"Video generation request expired.",response:{timestamp:o,modelId:this.modelId,headers:s}};if("failed"===r.status){let a=null!=(i=null==(g=r.error)?void 0:g.message)?i:null==(h=r.error)?void 0:h.code;return{status:"error",error:null!=a?`Video generation failed: ${a}`:"Video generation failed.",response:{timestamp:o,modelId:this.modelId,headers:s}}}return"done"===r.status||null==r.status&&(null==(j=r.video)?void 0:j.url)?(null==(k=r.video)?void 0:k.respect_moderation)===!1?{status:"error",error:"Video generation was blocked due to a content policy violation.",response:{timestamp:o,modelId:this.modelId,headers:s}}:(null==(l=r.video)?void 0:l.url)?{status:"completed",videos:[{type:"url",url:r.video.url,mediaType:"video/mp4"}],warnings:[],response:{timestamp:o,modelId:this.modelId,headers:s},providerMetadata:{xai:{requestId:p,videoUrl:r.video.url,...null!=r.video.duration?{duration:r.video.duration}:{},...(null==(m=r.usage)?void 0:m.cost_in_usd_ticks)!=null?{costInUsdTicks:r.usage.cost_in_usd_ticks}:{},...null!=r.progress?{progress:r.progress}:{}}}}:{status:"error",error:"Video generation completed but no video URL was returned.",response:{timestamp:o,modelId:this.modelId,headers:s}}:{status:"pending",response:{timestamp:o,modelId:this.modelId,headers:s}}}},aW=e.z.object({request_id:e.z.string().nullish()}),aX=e.z.object({status:e.z.string().nullish(),video:e.z.object({url:e.z.string(),duration:e.z.number().nullish(),respect_moderation:e.z.boolean().nullish()}).nullish(),model:e.z.string().nullish(),usage:e.z.object({cost_in_usd_ticks:e.z.number().nullish()}).nullish(),progress:e.z.number().nullish(),error:e.z.object({code:e.z.string().nullish(),message:e.z.string().nullish()}).nullish()}),aY=(0,c.createJsonResponseHandler)(aX),aZ=new TextDecoder;async function a$({response:a,url:d,requestBodyValues:e}){if(null==a.body)return"";let f=a.body.getReader(),g=[],h=0;try{for(;;){let{done:i,value:j}=await f.read();if(i)break;if((h+=j.length)>1048576)throw new b.APICallError({message:"xAI video status response exceeded 1048576 bytes",url:d,requestBodyValues:e,statusCode:a.status,responseHeaders:(0,c.extractResponseHeaders)(a)});g.push(j)}}finally{f.releaseLock()}let i=new Uint8Array(h),j=0;for(let a of g)i.set(a,j),j+=a.length;return aZ.decode(i)}var a_=async a=>{if(202===a.response.status){let b=(0,c.extractResponseHeaders)(a.response),d=await a$(a);if(0===d.trim().length)return{responseHeaders:b,value:{status:"pending"}};let e=await (0,c.safeParseJSON)({text:d,schema:aX});return{responseHeaders:b,value:e.success?e.value:{status:"pending"}}}return aY(a)},a0=(0,c.lazySchema)(()=>(0,c.zodSchema)(e.z.object({sampleRate:e.z.union([e.z.literal(8e3),e.z.literal(16e3),e.z.literal(22050),e.z.literal(24e3),e.z.literal(44100),e.z.literal(48e3)]).nullish(),bitRate:e.z.union([e.z.literal(32e3),e.z.literal(64e3),e.z.literal(96e3),e.z.literal(128e3),e.z.literal(192e3)]).nullish(),optimizeStreamingLatency:e.z.union([e.z.literal(0),e.z.literal(1),e.z.literal(2)]).nullish(),textNormalization:e.z.boolean().nullish(),withTimestamps:e.z.boolean().nullish(),replace:e.z.record(e.z.string(),e.z.string()).nullish()}))),a1=class a{constructor(a,b){this.modelId=a,this.config=b,this.specificationVersion="v4"}static[d.WORKFLOW_SERIALIZE](a){return(0,c.serializeModelOptions)({modelId:a.modelId,config:a.config})}static[d.WORKFLOW_DESERIALIZE](b){return new a(b.modelId,b.config)}get provider(){return this.config.provider}async getArgs({text:a,voice:b="eve",outputFormat:d="mp3",instructions:e,speed:f,language:g="auto",providerOptions:h}){let i=[],j=await (0,c.parseProviderOptions)({provider:"xai",providerOptions:h,schema:a0}),k="mp3";["mp3","wav","pcm","mulaw","alaw"].includes(d)?k=d:i.push({type:"unsupported",feature:"outputFormat",details:`Unsupported output format: ${d}. Using mp3 instead.`}),null!=e&&i.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 l={codec:k};return(null==j?void 0:j.sampleRate)!=null&&(l.sample_rate=j.sampleRate),(null==j?void 0:j.bitRate)!=null&&("mp3"===k?l.bit_rate=j.bitRate:i.push({type:"unsupported",feature:"providerOptions",details:"xAI `bitRate` is supported only for mp3 output. It was ignored."})),{requestBody:{text:a,voice_id:b,language:g,output_format:l,speed:f,optimize_streaming_latency:null==j?void 0:j.optimizeStreamingLatency,text_normalization:null==j?void 0:j.textNormalization,with_timestamps:null==j?void 0:j.withTimestamps,replace:null==j?void 0:j.replace},warnings:i,withTimestamps:(null==j?void 0:j.withTimestamps)===!0}}async doGenerate(a){var b,d,e;let f,g,h=null!=(e=null==(d=null==(b=this.config._internal)?void 0:b.currentDate)?void 0:d.call(b))?e:new Date,{requestBody:i,warnings:j,withTimestamps:k}=await this.getArgs(a),{value:l,responseHeaders:m,rawValue:n}=await (0,c.postJsonToApi)({url:`${this.config.baseURL}/tts`,headers:(0,c.combineHeaders)(this.config.headers?await (0,c.resolve)(this.config.headers):void 0,a.headers),body:i,failedResponseHandler:v,successfulResponseHandler:k?(0,c.createJsonResponseHandler)(a2):(0,c.createBinaryResponseHandler)(),abortSignal:a.abortSignal,fetch:this.config.fetch});f=l instanceof Uint8Array?l:null!=(g=l).audio?(0,c.convertBase64ToUint8Array)(g.audio):new Uint8Array(0);let o=null==m?void 0:m["x-trace-id"];return{audio:f,warnings:j,request:{body:JSON.stringify(i)},response:{timestamp:h,modelId:this.modelId,headers:m,body:n},providerMetadata:{xai:{...null!=o?{traceId:o}:{},...(null==g?void 0:g.duration)!=null?{duration:g.duration}:{},...(null==g?void 0:g.content_type)!=null?{contentType:g.content_type}:{},...(null==g?void 0:g.audio_timestamps)!=null?{audioTimestamps:{graphChars:g.audio_timestamps.graph_chars,graphTimes:g.audio_timestamps.graph_times}}:{}}}}}},a2=e.z.object({audio:e.z.string().nullish(),content_type:e.z.string().nullish(),duration:e.z.number().nullish(),audio_timestamps:e.z.object({graph_chars:e.z.array(e.z.string()),graph_times:e.z.array(e.z.tuple([e.z.number(),e.z.number()]))}).nullish()}),a3=(0,c.lazySchema)(()=>(0,c.zodSchema)(e.z.object({audioFormat:e.z.enum(["pcm","mulaw","alaw"]).nullish(),sampleRate:e.z.union([e.z.literal(8e3),e.z.literal(16e3),e.z.literal(22050),e.z.literal(24e3),e.z.literal(44100),e.z.literal(48e3)]).nullish(),language:e.z.string().nullish(),format:e.z.boolean().nullish(),multichannel:e.z.boolean().nullish(),channels:e.z.number().int().min(2).max(8).nullish(),diarize:e.z.boolean().nullish(),keyterm:e.z.union([e.z.string(),e.z.array(e.z.string())]).nullish(),fillerWords:e.z.boolean().nullish(),streaming:e.z.object({interimResults:e.z.boolean().optional(),endpointing:e.z.number().int().min(0).max(5e3).optional(),smartTurn:e.z.number().min(0).max(1).optional(),smartTurnTimeout:e.z.number().int().min(1).max(5e3).optional()}).optional()}))),a4=class a{constructor(a,b){this.modelId=a,this.config=b,this.specificationVersion="v4"}static[d.WORKFLOW_SERIALIZE](a){return(0,c.serializeModelOptions)({modelId:a.modelId,config:a.config})}static[d.WORKFLOW_DESERIALIZE](b){return new a(b.modelId,b.config)}get provider(){return this.config.provider}async getArgs({audio:a,mediaType:b,providerOptions:d}){let e=await (0,c.parseProviderOptions)({provider:"xai",providerOptions:d,schema:a3}),f=new FormData;for(let[a,b]of Object.entries({audio_format:null==e?void 0:e.audioFormat,sample_rate:null==e?void 0:e.sampleRate,language:null==e?void 0:e.language,format:null==e?void 0:e.format,multichannel:null==e?void 0:e.multichannel,channels:null==e?void 0:e.channels,diarize:null==e?void 0:e.diarize,filler_words:null==e?void 0:e.fillerWords}))null!=b&&f.append(a,String(b));if((null==e?void 0:e.keyterm)!=null)for(let a of Array.isArray(e.keyterm)?e.keyterm:[e.keyterm])f.append("keyterm",a);let g=a instanceof Uint8Array?new Blob([a]):new Blob([(0,c.convertBase64ToUint8Array)(a)]),h=(0,c.mediaTypeToExtension)(b);return f.append("file",new File([g],"audio",{type:b}),`audio.${h}`),{formData:f,warnings:[]}}async doGenerate(a){var b,d,e,f,g,h,i,j,k;let l=null!=(e=null==(d=null==(b=this.config._internal)?void 0:b.currentDate)?void 0:d.call(b))?e:new Date,{formData:m,warnings:n}=await this.getArgs(a),{value:o,responseHeaders:p,rawValue:q}=await (0,c.postFormDataToApi)({url:`${null!=(f=this.config.baseURL)?f:"https://api.x.ai/v1"}/stt`,headers:(0,c.combineHeaders)(null==(h=(g=this.config).headers)?void 0:h.call(g),a.headers),formData:m,failedResponseHandler:v,successfulResponseHandler:(0,c.createJsonResponseHandler)(a6),abortSignal:a.abortSignal,fetch:this.config.fetch});return{text:o.text,segments:null!=(j=null==(i=o.words)?void 0:i.map(a=>({text:a.text,startSecond:a.start,endSecond:a.end})))?j:[],language:o.language||void 0,durationInSeconds:null!=(k=o.duration)?k:void 0,warnings:n,response:{timestamp:l,modelId:this.modelId,headers:p,body:q}}}async doStream(a){var d,e,f,g,h,i,j,k;let l=null!=(f=null==(e=null==(d=this.config._internal)?void 0:d.currentDate)?void 0:e.call(d))?f:new Date,m=[],n=await (0,c.parseProviderOptions)({provider:"xai",providerOptions:a.providerOptions,schema:a3});if((null==n?void 0:n.multichannel)===!0&&null==n.channels)throw new b.InvalidArgumentError({argument:"providerOptions",message:"providerOptions.xai.channels is required when providerOptions.xai.multichannel is true"});(null==n?void 0:n.format)!=null&&m.push({type:"unsupported",feature:"providerOptions.xai.format",details:"xAI streaming transcription does not support format."}),(null==n?void 0:n.audioFormat)==null&&"audio/pcm"!==(k=a.inputAudioFormat.type)&&"audio/pcmu"!==k&&"audio/pcma"!==k&&m.push({type:"other",message:`Unrecognized inputAudioFormat.type "${a.inputAudioFormat.type}"; falling back to raw PCM encoding. Use audio/pcm, audio/pcmu, or audio/pcma, or set providerOptions.xai.audioFormat explicitly.`});let o=function({baseURL:a,inputAudioFormat:b,providerOptions:d}){var e,f,g,h,i,j;let k=(0,c.toWebSocketUrl)(`${a}/stt`);if(a5(k,"sample_rate",null!=(e=null==d?void 0:d.sampleRate)?e:b.rate),a5(k,"encoding",null!=(f=null==d?void 0:d.audioFormat)?f:function(a){switch(a){case"audio/pcmu":return"mulaw";case"audio/pcma":return"alaw";default:return"pcm"}}(b.type)),a5(k,"language",null==d?void 0:d.language),a5(k,"diarize",null==d?void 0:d.diarize),a5(k,"filler_words",null==d?void 0:d.fillerWords),a5(k,"multichannel",null==d?void 0:d.multichannel),a5(k,"channels",null==d?void 0:d.channels),a5(k,"interim_results",null==(g=null==d?void 0:d.streaming)?void 0:g.interimResults),a5(k,"endpointing",null==(h=null==d?void 0:d.streaming)?void 0:h.endpointing),a5(k,"smart_turn",null==(i=null==d?void 0:d.streaming)?void 0:i.smartTurn),a5(k,"smart_turn_timeout",null==(j=null==d?void 0:d.streaming)?void 0:j.smartTurnTimeout),(null==d?void 0:d.keyterm)!=null)for(let a of Array.isArray(d.keyterm)?d.keyterm:[d.keyterm])k.searchParams.append("keyterm",a);return k}({baseURL:null!=(g=this.config.baseURL)?g:"https://api.x.ai/v1",inputAudioFormat:a.inputAudioFormat,providerOptions:n}),p=(0,c.combineHeaders)(null==(i=(h=this.config).headers)?void 0:i.call(h),a.headers);return{request:{body:o.toString()},response:{timestamp:l,modelId:this.modelId},stream:function({webSocket:a,url:b,headers:d,warnings:e,language:f,expectedDoneCount:g,audio:h,abortSignal:i,includeRawChunks:j}){let k=!1,l=()=>{};return new ReadableStream({start:m=>{let n,o,p,q=new Map,r=new Map,s=new Map;l=a=>{null!=o?o.cancel().catch(()=>{}):h.cancel().catch(()=>{}),null==p||p.close(a)};let t=a=>{k||(k=!0,l(),m.error(a))},u=async a=>{o=h.getReader();try{for(;;){let{done:b,value:d}=await o.read();if(b||k)break;a.send(d instanceof Uint8Array?d:(0,c.convertBase64ToUint8Array)(d)),await (0,c.waitForWebSocketBufferDrain)(a)}}finally{o.releaseLock(),o=void 0}k||a.send(JSON.stringify({type:"audio.done"}))};p=(0,c.connectToWebSocket)({url:b,headers:d,webSocket:a,abortSignal:i,onAbort:t,onProcessingError:t,onMessageText:async a=>{var b,d,h,i,o,v,w,x,y,z,A;let B=await (0,c.safeParseJSON)({text:a});if(!B.success)return;let C=B.value;switch(j&&m.enqueue({type:"raw",rawValue:C}),C.type){case"transcript.created":{m.enqueue({type:"stream-start",warnings:e});let a=null==p?void 0:p.socket;if(null==a){t(Error("WebSocket is not connected."));break}u(a).catch(t);break}case"transcript.partial":{let a=null==(z=C.channel_index)?void 0:`channel-${z}`,c=null!=(b=C.channel_index)?b:0;if(C.is_final&&C.speech_final){let b={...null!=(A=C).start?{startSecond:A.start}:{},...null!=A.start&&null!=A.duration?{endSecond:A.start+A.duration}:{}};C.text&&r.set(c,[...null!=(d=r.get(c))?d:[],C.text]),s.delete(c),m.enqueue({type:"transcript-final",id:a,text:null!=(h=C.text)?h:"",...b,channelIndex:C.channel_index})}else s.set(c,null!=(i=C.text)?i:""),m.enqueue({type:"transcript-partial",id:a,text:null!=(o=C.text)?o:"",startSecond:C.start,durationInSeconds:C.duration,channelIndex:C.channel_index});break}case"transcript.done":{let a=null!=(v=C.channel_index)?v:0,b=[...null!=(w=r.get(a))?w:[],...s.get(a)?[s.get(a)]:[]].join(" ");q.set(a,C.text||b),n=null!=(x=C.duration)?x:n,(()=>{if(k||q.size<g)return;k=!0;let a=[...q.entries()].sort(([a],[b])=>a-b).map(([,a])=>a).join("\n");m.enqueue({type:"finish",text:a,segments:[],language:f,durationInSeconds:n}),m.close(),l(1e3)})();break}case"error":t(Error(null!=(y=C.message)?y:"xAI STT error"))}},onSocketError:()=>{t(Error("xAI streaming transcription error."+(null==a?" 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:()=>{k||(k=!0,l(),m.close())}})},cancel:()=>{k||(k=!0,l())}})}({webSocket:this.config.webSocket,url:o,headers:p,warnings:m,language:null!=(j=null==n?void 0:n.language)?j:void 0,expectedDoneCount:(null==n?void 0:n.multichannel)===!0?n.channels:1,audio:a.audio,abortSignal:a.abortSignal,includeRawChunks:a.includeRawChunks})}}};function a5(a,b,c){null!=c&&a.searchParams.set(b,String(c))}var a6=e.z.object({text:e.z.string(),language:e.z.string().nullish(),duration:e.z.number().nullish(),words:e.z.array(e.z.object({text:e.z.string(),start:e.z.number(),end:e.z.number()})).nullish()});function a7(a={}){var d;let e=(0,c.withoutTrailingSlash)(null!=(d=a.baseURL)?d:"https://api.x.ai/v1"),f=()=>(0,c.withUserAgentSuffix)({Authorization:`Bearer ${(0,c.loadApiKey)({apiKey:a.apiKey,environmentVariableName:"XAI_API_KEY",description:"xAI API key"})}`,...a.headers},"ai-sdk/xai/4.0.54"),g=b=>new au(b,{provider:"xai.responses",baseURL:e,headers:f,generateId:c.generateId,fetch:a.fetch}),h=b=>new D(b,{provider:"xai.image",baseURL:e,headers:f,fetch:a.fetch}),i=b=>new aV(b,{provider:"xai.video",baseURL:e,headers:f,fetch:a.fetch}),j=b=>new ay(b,{provider:"xai.realtime",baseURL:null!=e?e:"https://api.x.ai/v1",headers:f,fetch:a.fetch}),k=()=>new a1("",{provider:"xai.speech",baseURL:e,headers:f,fetch:a.fetch}),l=()=>new a4("",{provider:"xai.transcription",baseURL:e,headers:f,fetch:a.fetch,webSocket:a.webSocket}),m=Object.assign(a=>j(a),{getToken:async a=>{let b=j(a.model),c=await b.doCreateClientSecret({sessionConfig:a.sessionConfig,expiresAfterSeconds:a.expiresAfterSeconds});return{token:c.token,url:c.url,expiresAt:c.expiresAt}}}),n=a=>g(a);return n.specificationVersion="v4",n.languageModel=g,n.chat=b=>new x(b,{provider:"xai.chat",baseURL:e,headers:f,generateId:c.generateId,fetch:a.fetch}),n.responses=g,n.embeddingModel=a=>{throw new b.NoSuchModelError({modelId:a,modelType:"embeddingModel"})},n.textEmbeddingModel=n.embeddingModel,n.imageModel=h,n.image=h,n.videoModel=i,n.video=i,n.experimental_realtime=m,n.speechModel=k,n.speech=k,n.transcriptionModel=l,n.transcription=l,n.files=()=>new aI({provider:"xai.files",baseURL:e,headers:f,fetch:a.fetch}),n.tools=aF,n}a7(),a.s(["createXai",0,a7])},236338,(a,b,c)=>{"use strict";var d=Object.defineProperty,e=Object.getOwnPropertyDescriptor,f=Object.getOwnPropertyNames,g=Object.prototype.hasOwnProperty,h={},i={SYMBOL_FOR_REQ_CONTEXT:()=>k,getContext:()=>l};for(var j in i)d(h,j,{get:i[j],enumerable:!0});b.exports=((a,b,c)=>{if(b&&"object"==typeof b||"function"==typeof b)for(let h of f(b))g.call(a,h)||void 0===h||d(a,h,{get:()=>b[h],enumerable:!(c=e(b,h))||c.enumerable});return a})(d({},"__esModule",{value:!0}),h);let k=Symbol.for("@vercel/request-context");function l(){let a=globalThis;return a[k]?.get?.()??{}}},817547,(a,b,c)=>{"use strict";var d=Object.defineProperty,e=Object.getOwnPropertyDescriptor,f=Object.getOwnPropertyNames,g=Object.prototype.hasOwnProperty,h={},i={getVercelOidcToken:()=>m,getVercelOidcTokenSync:()=>n};for(var j in i)d(h,j,{get:i[j],enumerable:!0});b.exports=((a,b,c)=>{if(b&&"object"==typeof b||"function"==typeof b)for(let h of f(b))g.call(a,h)||void 0===h||d(a,h,{get:()=>b[h],enumerable:!(c=e(b,h))||c.enumerable});return a})(d({},"__esModule",{value:!0}),h);var k=a.r(236338),l=a.r(580949);async function m(b){let c,d="";try{d=n()}catch(a){c=a}try{let[{getTokenPayload:c,isExpired:e},{refreshToken:f}]=await Promise.all([await a.A(682672),await a.A(966249)]);(!d||e(c(d),b?.expirationBufferMs))&&(await f(b),d=n())}catch(b){let a=c instanceof Error?c.message:"";if(b instanceof Error&&(a=`${a}
|
|
183
170
|
${b.message}`),a)throw new l.VercelOidcTokenError(a);throw b}return d}function n(){let a=(0,k.getContext)().headers?.["x-vercel-oidc-token"]??process.env.VERCEL_OIDC_TOKEN;if(!a)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 a}},784628,(a,b,c)=>{"use strict";var d=Object.defineProperty,e=Object.getOwnPropertyDescriptor,f=Object.getOwnPropertyNames,g=Object.prototype.hasOwnProperty,h={},i={AccessTokenMissingError:()=>m.AccessTokenMissingError,RefreshAccessTokenFailedError:()=>m.RefreshAccessTokenFailedError,getContext:()=>l.getContext,getVercelOidcToken:()=>k.getVercelOidcToken,getVercelOidcTokenSync:()=>k.getVercelOidcTokenSync,getVercelToken:()=>n.getVercelToken};for(var j in i)d(h,j,{get:i[j],enumerable:!0});b.exports=((a,b,c)=>{if(b&&"object"==typeof b||"function"==typeof b)for(let h of f(b))g.call(a,h)||void 0===h||d(a,h,{get:()=>b[h],enumerable:!(c=e(b,h))||c.enumerable});return a})(d({},"__esModule",{value:!0}),h);var k=a.r(817547),l=a.r(236338),m=a.r(351275),n=a.r(72918)},438766,a=>{"use strict";var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x=a.i(527990),y=a.i(652685),z=a.i(794219),A=a.i(912735),B=a.i(784628),C="ai-gateway-transcription.v1";function D(a,b,c){let d=[a,`ai-gateway-auth.${b}`];return(null==c?void 0:c.teamIdOrSlug)&&d.push(`ai-gateway-team.${function(a){let b=new TextEncoder().encode(a),c="";for(let a of b)c+=String.fromCharCode(a);return btoa(c).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/u,"")}(c.teamIdOrSlug)}`),d}var E={any:z.any,array:z.array,boolean:z.boolean,discriminatedUnion:z.discriminatedUnion,enum:z.enum,literal:z.literal,number:z.number,object:z.object,record:z.record,string:z.string,union:z.union,unknown:z.unknown},F=Symbol.for("vercel.ai.gateway.error"),G=class a extends(c=Error,b=F,c){constructor({message:a,statusCode:c=500,cause:d,generationId:e,isRetryable:f=null!=c&&(408===c||409===c||429===c||c>=500)}){super(e?`${a} [${e}]`:a),this[b]=!0,this.statusCode=c,this.cause=d,this.generationId=e,this.isRetryable=f}static isInstance(b){return a.hasMarker(b)}static hasMarker(a){return"object"==typeof a&&null!==a&&F in a&&!0===a[F]}},H="GatewayAuthenticationError",I=Symbol.for(`vercel.ai.gateway.error.${H}`),J=class a extends(e=G,d=I,e){constructor({message:a="Authentication failed",statusCode:b=401,cause:c,generationId:e}={}){super({message:a,statusCode:b,cause:c,generationId:e}),this[d]=!0,this.name=H,this.type="authentication_error"}static isInstance(a){return G.hasMarker(a)&&I in a}static createContextualError({apiKeyProvided:b,oidcTokenProvided:c,statusCode:d=401,cause:e,generationId:f}){return new a({message:b?`AI Gateway authentication failed: Invalid API key or token.
|
|
184
171
|
|
|
185
172
|
Create a new API key: https://vercel.com/d?to=%2F%5Bteam%5D%2F%7E%2Fai%2Fapi-keys
|
|
@@ -214,7 +201,7 @@ ${d}
|
|
|
214
201
|
${e}
|
|
215
202
|
${h}`);return crypto.subtle.verify("HMAC",g,i,a)}return!1}async function ds({secret:a,approvalId:b,toolCallId:c,toolName:d,input:e}){if(null!=a)return dq({secret:a,approvalId:b,toolCallId:c,toolName:d,input:e})}async function dt({approvedToolApprovals:a,tools:b,toolApproval:c,messages:d,toolsContext:e,runtimeContext:f,toolApprovalSecret:g}){var h;let i=[],j=[],k=[];for(let l of a){let{toolCall:a,approvalRequest:m}=l,n=ct(b,a.toolName);if(null!=g){if(null==m.signature)throw new af({approvalId:m.approvalId,toolCallId:a.toolCallId,reason:"missing signature"});if(!await dr({secret:g,signature:m.signature,approvalId:m.approvalId,toolCallId:a.toolCallId,toolName:a.toolName,input:a.input}))throw new af({approvalId:m.approvalId,toolCallId:a.toolCallId,reason:"invalid signature"})}if((0,R.isExecutableTool)(n)&&null!=n.inputSchema){let b=await (0,R.safeValidateTypes)({value:a.input,schema:(0,R.asSchema)(n.inputSchema)});if(!b.success){k.push({...l,error:new aj({toolName:a.toolName,toolInput:JSON.stringify(a.input),cause:b.error})});continue}}let o=await cZ({tools:b,toolApproval:c,toolCall:a,messages:d,toolsContext:e,runtimeContext:f});"denied"===o.type?j.push({...l,approvalResponse:{...l.approvalResponse,approved:!1,reason:null!=(h=o.reason)?h:l.approvalResponse.reason}}):i.push(l)}return{approvedToolApprovals:i,deniedToolApprovals:j,invalidToolApprovals:k}}var du=(0,R.createIdGenerator)({prefix:"aitxt",size:24}),dv=(0,R.createIdGenerator)({prefix:"call",size:24});async function dw({model:a,tools:b,toolChoice:c,instructions:d,system:e,prompt:f,messages:g,allowSystemInMessages:h,maxRetries:i,abortSignal:j,timeout:k,headers:l,stopWhen:m=dc(1),experimental_sandbox:n,output:o,toolApproval:p,experimental_toolCallers:q,experimental_toolApprovalSecret:r,experimental_telemetry:s,telemetry:t=s,providerOptions:u,activeTools:v,toolOrder:w,prepareStep:x,experimental_repairToolCall:y,repairToolCall:z=y,experimental_refineToolInput:A,experimental_download:B,runtimeContext:C={},toolsContext:D={},experimental_include:E,include:F=E,_internal:{generateId:G=du,generateCallId:H=dv,now:I=cv}={},onStart:J,experimental_onStart:K,onStepStart:L,experimental_onStepStart:M,onLanguageModelCallStart:N,experimental_onLanguageModelCallStart:O,onLanguageModelCallEnd:P,experimental_onLanguageModelCallEnd:Q,onToolExecutionStart:T,onToolExecutionEnd:U,experimental_onToolCallStart:V,experimental_onToolCallFinish:W,onStepEnd:X,onStepFinish:Y,onFinish:Z,onEnd:$=Z,..._}){var aa,ab,ac,ad;F={requestBody:null!=(aa=null==F?void 0:F.requestBody)&&aa,requestMessages:null!=(ab=null==F?void 0:F.requestMessages)&&ab,responseBody:null!=(ac=null==F?void 0:F.responseBody)&&ac};let ae=bC(a),af=dh({tools:b,toolCallers:q}),ag=(0,R.asArray)(m),ah=null!=J?J:K,ai=null!=L?L:M,aj=null!=N?N:O,ak=null!=P?P:Q,al=null!=T?T:V,am=null!=U?U:W,an=null!=X?X:Y,ao=[];null!=b$(k)&&ao.push({type:"unsupported",feature:"timeout.firstChunkMs",details:"The firstChunkMs timeout is only supported by streaming functions."}),null!=b_(k)&&ao.push({type:"unsupported",feature:"timeout.chunkMs",details:"The chunkMs timeout is only supported by streaming functions."}),ao.length>0&&bp({warnings:ao,provider:ae.provider,model:ae.modelId});let ap=bY(k),aq=bZ(k),ar=null!=aq?new AbortController:void 0,as=cu(j,ap,null==ar?void 0:ar.signal),{maxRetries:at,retry:au}=cx({maxRetries:i,abortSignal:as}),av=bV(_),aw=(0,R.withUserAgentSuffix)(null!=l?l:{},`ai/${bF}`),ax=await cn({instructions:d,system:e,prompt:f,messages:g,allowSystemInMessages:h}),ay=H(),az=db({telemetry:t,includeRuntimeContext:null==t?void 0:t.includeRuntimeContext,includeToolsContext:null==t?void 0:t.includeToolsContext}),aA=null!=(ad=az.runInTracingChannelSpan)?ad:async({execute:a})=>await a(),aB={callId:ay,operationId:"ai.generateText",provider:ae.provider,modelId:ae.modelId,instructions:ax.instructions,messages:ax.messages,tools:b,toolChoice:c,activeTools:v,toolOrder:w,maxOutputTokens:av.maxOutputTokens,temperature:av.temperature,topP:av.topP,topK:av.topK,presencePenalty:av.presencePenalty,frequencyPenalty:av.frequencyPenalty,stopSequences:av.stopSequences,seed:av.seed,reasoning:av.reasoning,maxRetries:at,timeout:k,headers:aw,providerOptions:u,output:o,runtimeContext:C,toolsContext:D},aC=async()=>{var a;await cw({event:aB,callbacks:[ah,az.onStart]});try{let a,d,e=ax.messages,f=[],{approvedToolApprovals:g,deniedToolApprovals:h}=cA({messages:e}),{approvedToolApprovals:i,deniedToolApprovals:j,invalidToolApprovals:l}=await dt({approvedToolApprovals:g.filter(a=>!a.toolCall.providerExecuted),tools:b,toolApproval:p,messages:e,toolsContext:D,runtimeContext:C,toolApprovalSecret:r}),m=[...h,...j].filter(a=>null==a.existingToolResult);if(m.length>0||i.length>0||l.length>0){let a=await dx({toolCalls:i.map(a=>a.toolCall),tools:b,callId:ay,messages:e,abortSignal:as,timeout:k,experimental_sandbox:n,toolsContext:D,onToolExecutionStart:a=>cw({event:a,callbacks:[al,az.onToolExecutionStart]}),onToolExecutionEnd:a=>cw({event:a,callbacks:[am,az.onToolExecutionEnd]}),executeToolInTelemetryContext:az.executeTool,runInTracingChannelSpan:aA}),c=[];for(let d of a){let a=d.output,e=await bT({toolCallId:a.toolCallId,input:a.input,tool:ct(b,a.toolName),output:"tool-result"===a.type?a.output:a.error,errorMode:"tool-error"===a.type?"text":"none"});c.push({type:"tool-result",toolCallId:a.toolCallId,toolName:a.toolName,output:e})}for(let a of l)c.push({type:"tool-result",toolCallId:a.toolCall.toolCallId,toolName:a.toolCall.toolName,output:await bT({toolCallId:a.toolCall.toolCallId,input:a.toolCall.input,tool:ct(b,a.toolCall.toolName),output:a.error,errorMode:"text"})});for(let a of m)c.push({type:"tool-result",toolCallId:a.toolCall.toolCallId,toolName:a.toolCall.toolName,output:{type:"execution-denied",reason:a.approvalResponse.reason,...a.toolCall.providerExecuted&&{providerOptions:{openai:{approvalId:a.approvalResponse.approvalId}}}}});f.push({role:"tool",content:c})}let q=bV(_),s=[],t=[],y=[],E=[],H=[],J=ax.instructions,K=[...e,...f],L=new Map;do{H.length>0&&(null==as||as.throwIfAborted());let d=cy({abortController:ar,label:"Step",timeoutMs:aq}),g=H.length;try{await aA({type:"step",event:{callId:ay,stepNumber:g},execute:async()=>{var d,h,i,j,l,m,M,N,O,P,Q,R,T,U,V,W,X;let Y=[...f,...H.flatMap(a=>a.response.messages)],Z=K,$=await (null==x?void 0:x({model:ae,steps:H,stepNumber:H.length,instructions:J,initialInstructions:ax.instructions,messages:Z,initialMessages:e,responseMessages:Y,runtimeContext:C,toolsContext:D,experimental_sandbox:n})),_=null!=(d=null==$?void 0:$.experimental_sandbox)?d:n,aa=bC(null!=(h=null==$?void 0:$.model)?h:ae),ab=null!=(j=null!=(i=null==$?void 0:$.instructions)?i:null==$?void 0:$.system)?j:J,ac=await bM({prompt:{instructions:ab,messages:null!=(l=null==$?void 0:$.messages)?l:Z},supportedUrls:await aa.supportedUrls,download:B,provider:aa.provider.split(".")[0]});C=null!=(m=null==$?void 0:$.runtimeContext)?m:C,D=null!=(M=null==$?void 0:$.toolsContext)?M:D;let ad=cG({tools:b,activeTools:null!=(N=null==$?void 0:$.activeTools)?N:v}),{executionTools:ag,modelTools:ah}=di({tools:ad,toolCallers:af}),ao=null!=(O=null==$?void 0:$.toolOrder)?O:w,ap=await bX({tools:ah,toolOrder:ao,toolsContext:D,experimental_sandbox:_}),aq=bW({toolChoice:null!=(P=null==$?void 0:$.toolChoice)?P:c}),ar=null!=(Q=null==$?void 0:$.messages)?Q:Z,at=bH(u,null==$?void 0:$.providerOptions),av=cX({callSettings:q,stepSettings:$});await cw({event:{callId:ay,provider:aa.provider,modelId:aa.modelId,stepNumber:g,instructions:ab,messages:ar,tools:b,toolChoice:null!=(R=null==$?void 0:$.toolChoice)?R:c,activeTools:null!=(T=null==$?void 0:$.activeTools)?T:v,toolOrder:ao,steps:[...H],providerOptions:at,output:o,runtimeContext:C,promptMessages:ac,stepTools:ap,stepToolChoice:aq,toolsContext:D},callbacks:[ai,az.onStepStart]});let aB={provider:aa.provider,modelId:aa.modelId,instructions:ab,messages:ar,tools:ap,...av},aC={callId:ay,...aB},aD=I();await cw({event:aC,callbacks:[aj,az.onLanguageModelCallStart]});let aE=null!=(U=az.executeLanguageModelCall)?U:async({execute:a})=>await a();a=await au(async()=>{var a,b,c,d,e,f,g,h;let i=await aE({...aC,execute:async()=>await aa.doGenerate({...av,tools:ap,toolChoice:aq,responseFormat:await (null==o?void 0:o.responseFormat),prompt:ac,providerOptions:at,abortSignal:as,headers:aw})}),j={id:null!=(b=null==(a=i.response)?void 0:a.id)?b:G(),timestamp:null!=(d=null==(c=i.response)?void 0:c.timestamp)?d:new Date,modelId:null!=(f=null==(e=i.response)?void 0:e.modelId)?f:aa.modelId,headers:null==(g=i.response)?void 0:g.headers,body:null==(h=i.response)?void 0:h.body};return{...i,response:j}});let aF=I()-aD,aG=cp(a.usage),aH=await Promise.all(a.content.filter(a=>"tool-call"===a.type).map(a=>cT({toolCall:a,tools:ag,repairToolCall:z,refineToolInput:A,instructions:ab,messages:ar}))),aI={},aJ={},aK=new Set,aL=cD({content:a.content,toolCalls:aH,toolOutputs:[],toolApprovalRequests:[],toolApprovalResponses:[],tools:b});await cw({event:{callId:ay,provider:aa.provider,modelId:a.response.modelId,finishReason:a.finishReason.unified,usage:aG,content:aL,responseId:a.response.id,...null!=a.providerMetadata?{providerMetadata:a.providerMetadata}:{},performance:{responseTimeMs:aF,effectiveOutputTokensPerSecond:cz({tokens:aG.outputTokens,durationMs:aF}),outputTokensPerSecond:void 0,inputTokensPerSecond:void 0,effectiveTotalTokensPerSecond:cz({tokens:de(aG.inputTokens,aG.outputTokens),durationMs:aF}),timeToFirstOutputMs:void 0}},callbacks:[ak,az.onLanguageModelCallEnd]});let aM="required"===aq.type||"tool"===aq.type?aq:void 0;if(null!=aM&&!aH.some(a=>"required"===aM.type||a.toolName===aM.toolName))throw new a4({toolChoice:aM,finishReason:a.finishReason.unified,provider:aa.provider,modelId:aa.modelId,content:a.content});for(let a of aH){if(a.invalid)continue;let b=ct(ag,a.toolName);if(null==b)continue;null!=b.onInputStart&&await b.onInputStart({toolCallId:a.toolCallId,messages:ar,abortSignal:as,context:C}),(null==b?void 0:b.onInputAvailable)!=null&&await b.onInputAvailable({input:a.input,toolCallId:a.toolCallId,messages:ar,abortSignal:as,context:C});let c=await cZ({tools:ag,toolApproval:p,toolCall:a,messages:ar,toolsContext:D,runtimeContext:C});if("not-applicable"===c.type)continue;let d=G(),e=await ds({secret:r,approvalId:d,toolCallId:a.toolCallId,toolName:a.toolName,input:a.input});switch(c.type){case"user-approval":aI[a.toolCallId]={type:"tool-approval-request",approvalId:d,toolCall:a,...null!=c.reason?{reason:c.reason}:{},...null!=e?{signature:e}:{}},aK.add(a.toolCallId);break;case"approved":aI[a.toolCallId]={type:"tool-approval-request",approvalId:d,toolCall:a,isAutomatic:!0,...null!=e?{signature:e}:{}},aJ[a.toolCallId]={type:"tool-approval-response",approvalId:d,toolCall:a,approved:!0,reason:c.reason,providerExecuted:a.providerExecuted};break;case"denied":aI[a.toolCallId]={type:"tool-approval-request",approvalId:d,toolCall:a,isAutomatic:!0,...null!=e?{signature:e}:{}},aJ[a.toolCallId]={type:"tool-approval-response",approvalId:d,toolCall:a,approved:!1,reason:c.reason,providerExecuted:a.providerExecuted},aK.add(a.toolCallId)}}let aN=aH.filter(a=>a.invalid&&a.dynamic&&!a.providerExecuted);for(let a of(t=[],aN))t.push({type:"tool-error",toolCallId:a.toolCallId,toolName:a.toolName,input:a.input,error:(0,S.getErrorMessage)(a.error),dynamic:!0});s=aH.filter(a=>!a.providerExecuted),E=(y=Object.values(aJ)).filter(a=>!1===a.approved);let aO={};if(null!=ag&&cH(a.finishReason.unified))for(let a of(await dx({toolCalls:s.filter(a=>!a.invalid&&!aK.has(a.toolCallId)),tools:ag,callId:ay,messages:ar,abortSignal:as,timeout:k,experimental_sandbox:_,toolsContext:D,onToolExecutionStart:a=>cw({event:a,callbacks:[al,az.onToolExecutionStart]}),onToolExecutionEnd:a=>cw({event:a,callbacks:[am,az.onToolExecutionEnd]}),executeToolInTelemetryContext:az.executeTool,runInTracingChannelSpan:aA})))aO[a.output.toolCallId]=a.toolExecutionMs,t.push(a.output);let aP=I()-aD,aQ={effectiveOutputTokensPerSecond:cz({tokens:aG.outputTokens,durationMs:aF}),outputTokensPerSecond:void 0,inputTokensPerSecond:void 0,effectiveTotalTokensPerSecond:cz({tokens:de(aG.inputTokens,aG.outputTokens),durationMs:aF}),stepTimeMs:aP,responseTimeMs:aF,toolExecutionMs:aO,timeToFirstOutputMs:void 0};for(let b of aH){if(!b.providerExecuted)continue;let c=ct(ag,b.toolName);(null==c?void 0:c.type)==="provider"&&c.supportsDeferredResults&&(a.content.some(a=>"tool-result"===a.type&&a.toolCallId===b.toolCallId)||L.set(b.toolCallId,{toolName:b.toolName}))}for(let b of a.content)"tool-result"===b.type&&L.delete(b.toolCallId);let aR=cD({content:a.content,toolCalls:aH,toolOutputs:t,toolApprovalRequests:Object.values(aI),toolApprovalResponses:y,tools:b}),aS=await df({content:aR,tools:b}),aT={...a.request,body:F.requestBody?null==(V=a.request)?void 0:V.body:void 0,messages:F.requestMessages?bE(ar):void 0},aU={...a.response,messages:bE(aS),body:F.responseBody?null==(W=a.response)?void 0:W.body:void 0},aV=new c6({callId:ay,stepNumber:g,provider:aa.provider,modelId:aa.modelId,runtimeContext:C,content:aR,finishReason:a.finishReason.unified,rawFinishReason:a.finishReason.raw,usage:aG,performance:aQ,warnings:a.warnings,providerMetadata:a.providerMetadata,request:aT,response:aU,toolsContext:D});return bp({warnings:null!=(X=a.warnings)?X:[],provider:aa.provider,model:aa.modelId}),H.push(aV),J=ab,K=[...ar,...aS],await cw({event:aV,callbacks:[an,az.onStepEnd]}),aV}})}finally{null!=d&&clearTimeout(d)}}while(t.length+E.length===s.length&&(s.length>0||L.size>0)&&!await dd({stopConditions:ag,steps:H}))let M=H[H.length-1],N=H.reduce((a,b)=>cr(a,b.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}),O=H.flatMap(a=>a.files),P=H.flatMap(a=>a.sources),Q=H.flatMap(a=>a.toolCalls),R=H.flatMap(a=>a.staticToolCalls),T=H.flatMap(a=>a.dynamicToolCalls),U=H.flatMap(a=>a.toolResults),V=H.flatMap(a=>a.staticToolResults),W=H.flatMap(a=>a.dynamicToolResults),X=H.flatMap(a=>{var b;return null!=(b=a.warnings)?b:[]}),Y={callId:ay,stepNumber:M.stepNumber,model:M.model,runtimeContext:M.runtimeContext,finishReason:M.finishReason,rawFinishReason:M.rawFinishReason,usage:N,totalUsage:N,content:H.flatMap(a=>a.content),text:M.text,reasoning:M.reasoning,reasoningText:M.reasoningText,files:O,sources:P,toolCalls:Q,staticToolCalls:R,dynamicToolCalls:T,toolResults:U,staticToolResults:V,dynamicToolResults:W,responseMessages:[...f,...H.flatMap(a=>a.response.messages)],warnings:X,request:M.request,response:M.response,providerMetadata:M.providerMetadata,steps:H,finalStep:M,toolsContext:D};if(await cw({event:Y,callbacks:[$,az.onEnd]}),"stop"===M.finishReason||"tool-calls"!==M.finishReason&&M.text.length>0){let a=null!=o?o:cM();d=await a.parseCompleteOutput({text:M.text},{response:M.response,usage:M.usage,finishReason:M.finishReason})}return new dy({initialResponseMessages:f,steps:H,totalUsage:N,output:d})}catch(b){throw await (null==(a=az.onError)?void 0:a.call(az,{callId:ay,error:b})),co(b)}};return await aA({type:"generateText",event:aB,execute:aC})}async function dx({toolCalls:a,tools:b,callId:c,messages:d,abortSignal:e,timeout:f,experimental_sandbox:g,toolsContext:h,onToolExecutionStart:i,onToolExecutionEnd:j,executeToolInTelemetryContext:k,runInTracingChannelSpan:l}){return(await Promise.all(a.map(async a=>await cF({toolCall:a,tools:b,callId:c,messages:d,abortSignal:e,timeout:f,experimental_sandbox:g,toolsContext:h,onToolExecutionStart:i,onToolExecutionEnd:j,executeToolInTelemetryContext:k,runInTracingChannelSpan:l})))).filter(a=>null!=a)}var dy=class{constructor(a){this.initialResponseMessages=a.initialResponseMessages,this.steps=a.steps,this._output=a.output,this.totalUsage=a.totalUsage}get finalStep(){return this.steps.at(-1)}get content(){return this.steps.flatMap(a=>a.content)}get text(){return this.finalStep.text}get files(){return this.steps.flatMap(a=>a.files)}get reasoningText(){return this.finalStep.reasoningText}get reasoning(){return cY(this.finalStep.reasoning)}get toolCalls(){return this.steps.flatMap(a=>a.toolCalls)}get staticToolCalls(){return this.steps.flatMap(a=>a.staticToolCalls)}get dynamicToolCalls(){return this.steps.flatMap(a=>a.dynamicToolCalls)}get toolResults(){return this.steps.flatMap(a=>a.toolResults)}get staticToolResults(){return this.steps.flatMap(a=>a.staticToolResults)}get dynamicToolResults(){return this.steps.flatMap(a=>a.dynamicToolResults)}get sources(){return this.steps.flatMap(a=>a.sources)}get finishReason(){return this.finalStep.finishReason}get rawFinishReason(){return this.finalStep.rawFinishReason}get warnings(){return this.steps.flatMap(a=>{var b;return null!=(b=a.warnings)?b:[]})}get providerMetadata(){return this.finalStep.providerMetadata}get response(){return this.finalStep.response}get responseMessages(){return[...this.initialResponseMessages,...this.steps.flatMap(a=>a.response.messages)]}get request(){return this.finalStep.request}get usage(){return this.totalUsage}get output(){if(null==this._output)throw new aD;return this._output}};function dz(a,b){let c=new Headers(null!=a?a:{});for(let[a,d]of Object.entries(b))c.has(a)||c.set(a,d);return c}function dA({response:a,status:b,statusText:c,headers:d,stream:e}){let f=null!=b?b:200;void 0!==c?a.writeHead(f,c,d):a.writeHead(f,d);let g=e.getReader();return(async()=>{try{for(;;){let{done:b,value:c}=await g.read();if(b)break;let d=a.write(c),e=a.flush;"function"==typeof e&&e.call(a),d||await new Promise(b=>{a.once("drain",b)})}}catch(a){throw a}finally{a.end()}})()}var dB=class extends TransformStream{constructor(){super({transform(a,b){b.enqueue(`data: ${JSON.stringify(a)}
|
|
216
203
|
|
|
217
|
-
`)},flush(a){a.enqueue("data: [DONE]\n\n")}})}},dC={"content-type":"text/event-stream","cache-control":"no-cache",connection:"keep-alive","x-vercel-ai-ui-message-stream":"v1","x-accel-buffering":"no"},dD=b0.record(b0.string(),b1.optional());function dE(){return Object.create(null)}function dF(a){return a.type.startsWith("tool-")}function dG(a){return dF(a)||"dynamic-tool"===a.type}function dH(a){return a.type.split("-").slice(1).join("-")}function dI(a){var b;return(b=a.pipeThrough(new TransformStream))[Symbol.asyncIterator]=function(){let a=this.getReader(),b=!1;async function c(c){var d;if(!b){b=!0;try{c&&await (null==(d=a.cancel)?void 0:d.call(a))}finally{try{a.releaseLock()}catch(a){}}}}return{async next(){let d;if(b)return{done:!0,value:void 0};try{d=await a.read()}catch(a){throw await c(!1),a}let{done:e,value:f}=d;return e?(await c(!0),{done:!0,value:void 0}):{done:!1,value:f}},return:async()=>(await c(!0),{done:!0,value:void 0}),async throw(a){throw await c(!0),a}}},b}async function dJ({stream:a,onError:b,abortSignal:c}){let d=a.getReader(),e=()=>{d.cancel().catch(()=>{})};(null==c?void 0:c.aborted)?e():null==c||c.addEventListener("abort",e,{once:!0});try{for(;;){let{done:a}=await d.read();if(a)break}}catch(a){null==b||b(a)}finally{null==c||c.removeEventListener("abort",e),d.releaseLock()}}function dK(){let a,b;return{promise:new Promise((c,d)=>{a=c,b=d}),resolve:a,reject:b}}(0,R.lazySchema)(()=>(0,R.zodSchema)(b0.union([b0.looseObject({type:b0.literal("text-start"),id:b0.string(),providerMetadata:b2.optional()}),b0.looseObject({type:b0.literal("text-delta"),id:b0.string(),delta:b0.string(),providerMetadata:b2.optional()}),b0.looseObject({type:b0.literal("text-end"),id:b0.string(),providerMetadata:b2.optional()}),b0.looseObject({type:b0.literal("error"),errorText:b0.string()}),b0.looseObject({type:b0.literal("tool-input-start"),toolCallId:b0.string(),toolName:b0.string(),providerExecuted:b0.boolean().optional(),providerMetadata:b2.optional(),toolMetadata:dD.optional(),dynamic:b0.boolean().optional(),title:b0.string().optional()}),b0.looseObject({type:b0.literal("tool-input-delta"),toolCallId:b0.string(),inputTextDelta:b0.string()}),b0.looseObject({type:b0.literal("tool-input-available"),toolCallId:b0.string(),toolName:b0.string(),input:b0.unknown(),providerExecuted:b0.boolean().optional(),providerMetadata:b2.optional(),toolMetadata:dD.optional(),dynamic:b0.boolean().optional(),title:b0.string().optional()}),b0.looseObject({type:b0.literal("tool-input-error"),toolCallId:b0.string(),toolName:b0.string(),input:b0.unknown(),providerExecuted:b0.boolean().optional(),providerMetadata:b2.optional(),toolMetadata:dD.optional(),dynamic:b0.boolean().optional(),errorText:b0.string(),title:b0.string().optional()}),b0.looseObject({type:b0.literal("tool-approval-request"),approvalId:b0.string(),toolCallId:b0.string(),approvalDescriptor:b0.unknown().optional(),reason:b0.string().optional(),isAutomatic:b0.boolean().optional(),signature:b0.string().optional()}),b0.looseObject({type:b0.literal("tool-approval-response"),approvalId:b0.string(),approved:b0.boolean(),reason:b0.string().optional(),providerExecuted:b0.boolean().optional(),providerMetadata:b2.optional()}),b0.looseObject({type:b0.literal("tool-output-available"),toolCallId:b0.string(),output:b0.unknown(),providerExecuted:b0.boolean().optional(),providerMetadata:b2.optional(),toolMetadata:dD.optional(),dynamic:b0.boolean().optional(),preliminary:b0.boolean().optional()}),b0.looseObject({type:b0.literal("tool-output-error"),toolCallId:b0.string(),errorText:b0.string(),providerExecuted:b0.boolean().optional(),providerMetadata:b2.optional(),toolMetadata:dD.optional(),dynamic:b0.boolean().optional()}),b0.looseObject({type:b0.literal("tool-output-denied"),toolCallId:b0.string()}),b0.looseObject({type:b0.literal("reasoning-start"),id:b0.string(),providerMetadata:b2.optional()}),b0.looseObject({type:b0.literal("reasoning-delta"),id:b0.string(),delta:b0.string(),providerMetadata:b2.optional()}),b0.looseObject({type:b0.literal("reasoning-end"),id:b0.string(),providerMetadata:b2.optional()}),b0.looseObject({type:b0.literal("custom"),kind:b0.string().transform(a=>a),providerMetadata:b2.optional()}),b0.looseObject({type:b0.literal("source-url"),sourceId:b0.string(),url:b0.string(),title:b0.string().optional(),providerMetadata:b2.optional()}),b0.looseObject({type:b0.literal("source-document"),sourceId:b0.string(),mediaType:b0.string(),title:b0.string(),filename:b0.string().optional(),providerMetadata:b2.optional()}),b0.looseObject({type:b0.literal("file"),url:b0.string(),mediaType:b0.string(),providerMetadata:b2.optional()}),b0.looseObject({type:b0.literal("reasoning-file"),url:b0.string(),mediaType:b0.string(),providerMetadata:b2.optional()}),b0.looseObject({type:b0.custom(a=>"string"==typeof a&&a.startsWith("data-"),{message:'Type must start with "data-"'}),id:b0.string().optional(),data:b0.unknown(),transient:b0.boolean().optional()}),b0.looseObject({type:b0.literal("start-step")}),b0.looseObject({type:b0.literal("finish-step")}),b0.looseObject({type:b0.literal("reset-step")}),b0.looseObject({type:b0.literal("start"),messageId:b0.string().optional(),messageMetadata:b0.unknown().optional()}),b0.looseObject({type:b0.literal("finish"),finishReason:b0.enum(["stop","length","content-filter","tool-calls","error","other"]).optional(),messageMetadata:b0.unknown().optional()}),b0.looseObject({type:b0.literal("abort"),reason:b0.string().optional()}),b0.looseObject({type:b0.literal("message-metadata"),messageMetadata:b0.unknown()})])));var dL=Symbol("streamRetryAttemptBoundary");function dM(a){return"object"==typeof a&&null!=a&&dL in a}function dN(a){return"object"==typeof a&&null!=a?a:void 0}function dO(a){return"string"==typeof a?a:void 0}function dP(a){return"string"==typeof a||"number"==typeof a?a:void 0}function dQ(a){return"boolean"==typeof a?a:void 0}function dR(a){let b="string"==typeof a&&/^\d{3}$/.test(a)?Number(a):a;return"number"==typeof b&&Number.isInteger(b)&&b>=400&&b<=599?b:void 0}var dS=(0,R.createIdGenerator)({prefix:"aitxt",size:24}),dT=(0,R.createIdGenerator)({prefix:"call",size:24});async function dU({model:a,tools:b,toolOrder:c,output:d,toolChoice:e,prompt:f,system:g,instructions:h,messages:i,allowSystemInMessages:j,download:k,abortSignal:l,headers:m,includeRawChunks:n,providerOptions:o,repairToolCall:p,refineToolInput:q,executeLanguageModelCallInTelemetryContext:r=async({execute:a})=>await a(),callId:s,toolsContext:t,experimental_sandbox:u,_internal:{generateId:v=dS,generateCallId:w=dT,now:x=cv}={},onStart:y,onLanguageModelCallStart:z,onLanguageModelCallEnd:A,...B}){let C=bC(a),D=null!=s?s:w(),E=await cn({instructions:h,system:g,prompt:f,messages:i,allowSystemInMessages:j}),F=await bM({prompt:{instructions:E.instructions,messages:E.messages},supportedUrls:await C.supportedUrls,download:k,provider:C.provider.split(".")[0]}),G=await bX({tools:b,toolOrder:c,toolsContext:t,experimental_sandbox:u}),H=bW({toolChoice:e});await cw({event:{promptMessages:F},callbacks:y});let I={callId:D,...{provider:C.provider,modelId:C.modelId,instructions:E.instructions,messages:E.messages,tools:G,...B}};await cw({event:I,callbacks:z});let J=x(),{stream:K,response:L,request:M}=await r({...I,execute:async()=>await C.doStream({...B,tools:G,toolChoice:H,responseFormat:await (null==d?void 0:d.responseFormat),prompt:F,providerOptions:o,abortSignal:l,headers:m,includeRawChunks:n})});return{stream:dI(K.pipeThrough(function({tools:a,instructions:b,messages:c,repairToolCall:d,refineToolInput:e,callId:f,provider:g,modelId:h,generateId:i,now:j,callStartTimestampMs:k,onLanguageModelCallEnd:l}){let m,n,o=new Map,p=[],q=new Map,r=new Map,s=i(),t=h,u=[];return new TransformStream({async transform(h,i){var v,w,x,y,z;if("text-delta"===(y=h).type&&y.delta.length>0||"reasoning-delta"===y.type&&y.delta.length>0||"tool-input-delta"===y.type&&y.delta.length>0||"file"===y.type||"reasoning-file"===y.type||"tool-call"===y.type){let a=j();null==m?m=a-k:null!=n&&u.push(a-n),n=a}switch(h.type){case"error":i.enqueue({type:"error",error:function(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s;if((r=a)instanceof Error||"[object Error]"===Object.prototype.toString.call(r)||S.AISDKError.isInstance(a)||aY.isInstance(a))return a;let t=dN(a);if(null==t)return a;let u=(0,R.isProviderStreamError)(a),v=u?t:null!=(d=null!=(c=dN(null==(b=dN(t.response))?void 0:b.error))?c:dN(t.error))?d:t;if("string"!=typeof v.message)return a;let w=null!=(e=dO(v.type))?e:dO(t.type),x=null!=(f=dP(v.code))?f:dP(t.code),y=null!=(m=null!=(l=null!=(k=null!=(j=null!=(i=null!=(h=null!=(g=dR(v.statusCode))?g:dR(t.statusCode))?h:dR(v.status_code))?i:dR(t.status_code))?j:dR(v.status))?k:dR(t.status))?l:dR(v.code))?m:dR(t.code),z=function(a){switch(a.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}}(v.message),A=null!=y?y:null==z?void 0:z.statusCode,B=null!=(p=null!=(o=null!=(n=dQ(v.isRetryable))?n:dQ(t.isRetryable))?o:dQ(v.is_retryable))?p:dQ(t.is_retryable);return new aY({message:v.message,type:w,code:x,statusCode:A,isRetryable:null!=(q=null!=B?B:null==z?void 0:z.isRetryable)?q:null!=(s=A)&&(408===s||409===s||429===s||s>=500),data:u?a.data:a})}(h.error)});break;case"text-start":dW({content:p,partIndexes:q,id:h.id,type:"text",providerMetadata:h.providerMetadata}),i.enqueue(h);break;case"text-delta":dW({content:p,partIndexes:q,id:h.id,type:"text",textDelta:h.delta,providerMetadata:h.providerMetadata}),i.enqueue({type:"text-delta",id:h.id,text:h.delta,providerMetadata:h.providerMetadata});break;case"text-end":dW({content:p,partIndexes:q,id:h.id,type:"text",providerMetadata:h.providerMetadata}),q.delete(h.id),i.enqueue(h);break;case"reasoning-start":dW({content:p,partIndexes:r,id:h.id,type:"reasoning",providerMetadata:h.providerMetadata}),i.enqueue(h);break;case"reasoning-delta":dW({content:p,partIndexes:r,id:h.id,type:"reasoning",textDelta:h.delta,providerMetadata:h.providerMetadata}),i.enqueue({type:"reasoning-delta",id:h.id,text:h.delta,providerMetadata:h.providerMetadata});break;case"reasoning-end":dW({content:p,partIndexes:r,id:h.id,type:"reasoning",providerMetadata:h.providerMetadata}),r.delete(h.id),i.enqueue(h);break;case"file":case"reasoning-file":{let a=new cC({data:"data"===h.data.type?h.data.data:h.data.url.toString(),mediaType:h.mediaType});p.push({type:h.type,file:a,...null!=h.providerMetadata?{providerMetadata:h.providerMetadata}:{}}),i.enqueue({type:h.type,file:a,providerMetadata:h.providerMetadata});break}case"finish":{let a,b,c=cp(h.usage),d=j()-k,e={responseTimeMs:d,effectiveOutputTokensPerSecond:cz({tokens:c.outputTokens,durationMs:d}),outputTokensPerSecond:null==m?void 0:cz({tokens:c.outputTokens,durationMs:d-m}),inputTokensPerSecond:null==m?void 0:cz({tokens:c.inputTokens,durationMs:m}),effectiveTotalTokensPerSecond:cz({tokens:de(c.inputTokens,c.outputTokens),durationMs:d}),timeToFirstOutputMs:m,timeBetweenOutputChunksMs:u.length>0?(a=[...z=u].sort((a,b)=>a-b),b=z.reduce((a,b)=>a+b,0),{min:a[0],p10:dV(a,.1),median:dV(a,.5),avg:b/z.length,p90:dV(a,.9),max:a[a.length-1]}):void 0};await cw({event:{callId:f,provider:g,modelId:t,finishReason:h.finishReason.unified,usage:c,content:p,responseId:s,...null!=h.providerMetadata?{providerMetadata:h.providerMetadata}:{},performance:e},callbacks:l}),i.enqueue({type:"model-call-end",finishReason:h.finishReason.unified,rawFinishReason:h.finishReason.raw,usage:c,providerMetadata:h.providerMetadata,performance:e});break}case"tool-call":try{let f=await cT({toolCall:h,tools:a,repairToolCall:d,refineToolInput:e,instructions:b,messages:c});o.set(f.toolCallId,f),i.enqueue(f),p.push(f),f.invalid&&(f.providerExecuted||i.enqueue({type:"tool-error",toolCallId:f.toolCallId,toolName:f.toolName,input:f.input,error:(0,S.getErrorMessage)(f.error),dynamic:!0,title:f.title,...null!=f.toolMetadata?{toolMetadata:f.toolMetadata}:{}}))}catch(a){i.enqueue({type:"error",error:a})}break;case"tool-approval-request":{let a=o.get(h.toolCallId);if(null==a){i.enqueue({type:"error",error:new an({toolCallId:h.toolCallId,approvalId:h.approvalId})});break}let b={type:"tool-approval-request",approvalId:h.approvalId,toolCall:a};i.enqueue(b),p.push(b);break}case"tool-result":{let a=h.toolName,b=o.get(h.toolCallId),c=h.isError?{type:"tool-error",toolCallId:h.toolCallId,toolName:a,input:null==b?void 0:b.input,providerExecuted:!0,error:h.result,dynamic:h.dynamic,...null!=h.providerMetadata?{providerMetadata:h.providerMetadata}:{},...(null==b?void 0:b.toolMetadata)!=null?{toolMetadata:b.toolMetadata}:{}}:{type:"tool-result",toolCallId:h.toolCallId,toolName:a,input:null==b?void 0:b.input,output:h.result,providerExecuted:!0,dynamic:h.dynamic,...null!=h.providerMetadata?{providerMetadata:h.providerMetadata}:{},...(null==b?void 0:b.toolMetadata)!=null?{toolMetadata:b.toolMetadata}:{}};i.enqueue(c),p.push(c);break}case"tool-input-start":{let b=ct(a,h.toolName);i.enqueue({...h,dynamic:null!=(v=h.dynamic)?v:(null==b?void 0:b.type)==="dynamic",title:null==b?void 0:b.title,...(null==b?void 0:b.metadata)!=null?{toolMetadata:b.metadata}:{}});break}case"stream-start":i.enqueue({type:"model-call-start",warnings:h.warnings});break;case"response-metadata":s=null!=(w=h.id)?w:s,t=null!=(x=h.modelId)?x:t,i.enqueue({type:"model-call-response-metadata",id:h.id,timestamp:h.timestamp,modelId:h.modelId});break;default:("custom"===h.type||"source"===h.type)&&p.push(h),i.enqueue(h)}}})}({tools:b,instructions:E.instructions,messages:E.messages,repairToolCall:p,refineToolInput:q,callId:D,provider:C.provider,modelId:C.modelId,generateId:v,now:x,callStartTimestampMs:J,onLanguageModelCallEnd:A}))),response:L,request:M}}function dV(a,b){return a[Math.ceil(b*a.length)-1]}function dW({content:a,partIndexes:b,id:c,type:d,textDelta:e,providerMetadata:f}){let g=b.get(c);null==g&&(g=a.push({type:d,text:"",...null!=f?{providerMetadata:f}:{}})-1,b.set(c,g));let h=a[g];null!=e&&(h.text+=e),null!=f&&(h.providerMetadata=f)}var dX=(0,R.createIdGenerator)({prefix:"aitxt",size:24}),dY=(0,R.createIdGenerator)({prefix:"call",size:24}),dZ={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 d$(a){if(!dZ[a.type])return!1;switch(a.type){case"text-delta":case"reasoning-delta":return a.text.length>0;case"tool-input-delta":return a.delta.length>0;case"file":case"reasoning-file":case"tool-call":return!0;default:return!1}}var d_=Symbol("streamRetryBoundary");async function d0(a){try{await a}catch(a){}}var d1=class{constructor({model:a,telemetry:b,headers:c,settings:d,maxRetries:e,streamRetries:f,abortSignal:g,stepTimeoutMs:h,stepAbortController:i,firstChunkTimeoutMs:j,firstChunkAbortController:k,chunkTimeoutMs:l,chunkAbortController:m,instructions:n,system:o,prompt:p,messages:q,allowSystemInMessages:r,experimental_sandbox:s,tools:t,toolChoice:u,transforms:v,activeTools:w,toolOrder:x,repairToolCall:y,refineToolInput:z,stopConditions:A,output:B,toolApproval:C,experimental_toolCallers:D,experimental_toolApprovalSecret:E,providerOptions:F,prepareStep:G,now:H,generateId:I,generateCallId:J,timeout:K,onChunk:L,onError:M,canRetryStreamViaOnError:N,onEnd:O,onAbort:P,onStepFinish:Q,onStart:T,onStepStart:U,onLanguageModelCallStart:V,onLanguageModelCallEnd:W,onToolExecutionStart:X,onToolExecutionEnd:Y,runtimeContext:Z,toolsContext:$,download:_,include:aa}){let ab,ac,ad,ae,af,ag;this._totalUsage=new R.DelayedPromise,this._finishReason=new R.DelayedPromise,this._rawFinishReason=new R.DelayedPromise,this._steps=new R.DelayedPromise,this._initialResponseMessages=new R.DelayedPromise,this.outputSpecification=B,this.tools=t;const ah=dh({tools:t,toolCallers:D}),ai=db({telemetry:b,includeRuntimeContext:null==b?void 0:b.includeRuntimeContext,includeToolsContext:null==b?void 0:b.includeToolsContext});let aj=[],ak={},al=[],am=[];const an=[],ao=[];let ap=[];const aq=()=>{let a=new Set;return b=>{if(!a.has(b))return a.add(b),b;let c=I(),d=c,e=0;for(;a.has(d);)d=`${c}-${++e}`;return a.add(d),d}},ar=aq(),as=aq(),at=new Map;let au=dE(),av=dE();const aw=new Set,ax=new TransformStream({async transform(b,c){var d,e,f,g,h;if(d_ in b){let a=b[d_];aj=[],av=dE(),au=dE(),ak=a.request,al=null!=(d=a.request.messages)?d:[],am=a.warnings;return}let{part:i}=b;c.enqueue(b);let j="error"===i.type&&aw.has(i.error);if(j||await cw({event:{chunk:i},callbacks:L}),"error"===i.type){let a=co(i.error);aD.isInstance(a)&&(ad=a),j?aw.delete(i.error):await cw({event:{error:a},callbacks:async a=>{await M(a)}})}if(("custom"===i.type||"source"===i.type||"tool-call"===i.type||"tool-approval-request"===i.type||"tool-approval-response"===i.type||"tool-error"===i.type)&&aj.push(i),"text-start"===i.type&&(au[i.id]={type:"text",text:"",providerMetadata:i.providerMetadata},aj.push(au[i.id])),"text-delta"===i.type){let a=au[i.id];if(null==a)return void c.enqueue({part:{type:"error",error:`text part ${i.id} not found`},partialOutput:void 0});a.text+=i.text,a.providerMetadata=null!=(e=i.providerMetadata)?e:a.providerMetadata}if("text-end"===i.type){let a=au[i.id];if(null==a)return void c.enqueue({part:{type:"error",error:`text part ${i.id} not found`},partialOutput:void 0});a.providerMetadata=null!=(f=i.providerMetadata)?f:a.providerMetadata,delete au[i.id]}if("reasoning-start"===i.type&&(av[i.id]={type:"reasoning",text:"",providerMetadata:i.providerMetadata},aj.push(av[i.id])),"reasoning-delta"===i.type){let a=av[i.id];if(null==a)return void c.enqueue({part:{type:"error",error:`reasoning part ${i.id} not found`},partialOutput:void 0});a.text+=i.text,a.providerMetadata=null!=(g=i.providerMetadata)?g:a.providerMetadata}if("reasoning-end"===i.type){let a=av[i.id];if(null==a)return void c.enqueue({part:{type:"error",error:`reasoning part ${i.id} not found`},partialOutput:void 0});a.providerMetadata=null!=(h=i.providerMetadata)?h:a.providerMetadata,delete av[i.id]}if(("file"===i.type||"reasoning-file"===i.type)&&aj.push({type:i.type,file:i.file,...null!=i.providerMetadata?{providerMetadata:i.providerMetadata}:{}}),"tool-result"!==i.type||i.preliminary||aj.push(i),"start-step"===i.type&&(aj=[],av=dE(),au=dE(),ak=i.request,am=i.warnings),"finish-step"===i.type){let b=await df({content:aj,tools:t}),c=new c6({callId:aH,stepNumber:an.length,provider:a.provider,modelId:a.modelId,runtimeContext:Z,toolsContext:$,content:aj,finishReason:i.finishReason,rawFinishReason:i.rawFinishReason,usage:i.usage,performance:i.performance,warnings:am,request:{...ak,messages:aa.requestMessages?bE(al):void 0},response:{...i.response,messages:bE(b)},providerMetadata:i.providerMetadata});await cw({event:c,callbacks:[Q,ai.onStepEnd]}),bp({warnings:am,provider:a.provider,model:a.modelId}),an.push(c),ac=[...ap,...b],ab.resolve()}"finish"===i.type&&(ag=i.totalUsage,ae=i.finishReason,af=i.rawFinishReason)},async flush(a){try{if(0===an.length||null!=ad){let a=(null==g?void 0:g.aborted)?g.reason:null!=ad?ad:new aD({message:"No output generated. Check the stream for errors."});aG.rejectResultPromises(a);return}let a=null!=ae?ae:"other",b=null!=ag?ag:cq();aG._finishReason.resolve(a),aG._rawFinishReason.resolve(af),aG._totalUsage.resolve(b),aG._steps.resolve(an);let c=an[an.length-1],d=an.flatMap(a=>a.content),e=an.flatMap(a=>a.files),f=an.flatMap(a=>a.sources),h=an.flatMap(a=>a.toolCalls),i=an.flatMap(a=>a.staticToolCalls),j=an.flatMap(a=>a.dynamicToolCalls),k=an.flatMap(a=>a.toolResults),l=an.flatMap(a=>a.staticToolResults),m=an.flatMap(a=>a.dynamicToolResults),n=an.flatMap(a=>{var b;return null!=(b=a.warnings)?b:[]}),o=null==O?void 0:async a=>{let b=null==B?void 0:await aG.getOutputPromise().catch(()=>void 0);await O({...a,...null!=B?{output:b}:{}})},p={callId:aH,toolsContext:c.toolsContext,stepNumber:c.stepNumber,model:c.model,runtimeContext:c.runtimeContext,finishReason:c.finishReason,rawFinishReason:c.rawFinishReason,usage:b,totalUsage:b,content:d,text:c.text,reasoning:c.reasoning,reasoningText:c.reasoningText,files:e,sources:f,toolCalls:h,staticToolCalls:i,dynamicToolCalls:j,toolResults:k,staticToolResults:l,dynamicToolResults:m,responseMessages:[...ao,...an.flatMap(a=>a.response.messages)],warnings:n,request:c.request,response:c.response,providerMetadata:c.providerMetadata,steps:an,finalStep:c};await Promise.all([cw({event:p,callbacks:o}),cw({event:p,callbacks:ai.onEnd})])}catch(b){a.error(b)}}}),ay=function(){let a=[],b=null,c=!1,d=!1,e=dK(),f=()=>{d||(c=!0,e.resolve(),a.forEach(({reader:a,onCancel:b})=>{null==b||b(),a.cancel()}),a=[],null==b||b.close())},g=async()=>{var h;if(d)return;if(c&&0===a.length){null==b||b.close();return}if(0===a.length)return e=dK(),await e.promise,await g();let i=a[0];try{let{value:e,done:f}=await i.reader.read();if(d)return;f?(a.shift(),0===a.length&&c?null==b||b.close():await g()):null==b||b.enqueue(e)}catch(c){if(d)return;null==(h=i.onError)||h.call(i,c),null==b||b.error(c),a.shift(),f()}};return{stream:new ReadableStream({start(a){b=a},pull:g,async cancel(){for(let{reader:b,onCancel:f}of(d=!0,c=!0,e.resolve(),a))null==f||f(),await b.cancel();a=[]}}),addStream:(b,f)=>{var g;if(d){null==(g=null==f?void 0:f.onCancel)||g.call(f),b.cancel().catch(()=>{});return}if(c)throw Error("Cannot add inner stream: outer stream is closed");a.push({reader:b.getReader(),...f}),e.resolve()},close:()=>{d||(c=!0,e.resolve(),0===a.length&&(null==b||b.close()))},terminate:f}}();this.addStream=ay.addStream,this.closeStream=ay.close;const az=ay.stream.getReader();let aA=new ReadableStream({async start(a){a.enqueue({type:"start"})},async pull(a){async function b(){await cw({event:{callId:aH,steps:an,...(null==g?void 0:g.reason)!==void 0?{reason:g.reason}:{}},callbacks:[P,ai.onAbort]}),a.enqueue({type:"abort",...(null==g?void 0:g.reason)!==void 0?{reason:(0,S.getErrorMessage)(g.reason)}:{}}),a.close()}try{let{done:c,value:d}=await az.read();if(c)return void a.close();if(null==g?void 0:g.aborted)return void await b();a.enqueue(d)}catch(c){(0,R.isAbortError)(c)&&(null==g?void 0:g.aborted)?await b():a.error(c)}},cancel:a=>ay.stream.cancel(a)}),aB=!0;aA=function({stream:a,transforms:b,tools:c,stopStream:d}){let e,f,g=a.getReader(),h=!1;return new ReadableStream({async pull(a){null!=f||(f=(()=>{let a=new ReadableStream({async pull(a){let{done:b,value:c}=await g.read();if(b){h=!0,a.close();return}if(d_ in c){e=c,a.close();return}a.enqueue(c)},cancel:a=>g.cancel(a)},{highWaterMark:0});for(let e of b)a=a.pipeThrough(e({tools:c,stopStream:d}));return a.getReader()})());let{done:i,value:j}=await f.read();if(!i)return void a.enqueue(j);if(f=void 0,null!=e){a.enqueue(e),e=void 0;return}h&&a.close()},async cancel(a){await (null==f?void 0:f.cancel(a)),await g.cancel(a)}})}({stream:aA=aA.pipeThrough(new TransformStream({async transform(a,b){aB&&b.enqueue(a)}})),transforms:v,tools:t,stopStream(){ay.terminate(),aB=!1}}),this.baseStream=aA.pipeThrough(function(a){let b,c,d="",e="",f="";function g({controller:a,chunk:b}){a.enqueue(b)}function h({controller:a,partialOutput:d}){g({controller:a,chunk:{part:{type:"text-delta",id:b,text:e,providerMetadata:c},partialOutput:d}}),e=""}return new TransformStream({async transform(i,j){var k;if(d_ in i){b=void 0,d="",e="",c=void 0,f="",j.enqueue(i);return}if("finish-step"===i.type&&e.length>0&&h({controller:j}),"text-delta"!==i.type&&"text-start"!==i.type&&"text-end"!==i.type)return void g({controller:j,chunk:{part:i,partialOutput:void 0}});if(null==b)b=i.id;else if(i.id!==b)return void g({controller:j,chunk:{part:i,partialOutput:void 0}});if("text-start"===i.type)return void g({controller:j,chunk:{part:i,partialOutput:void 0}});if("text-end"===i.type){e.length>0&&h({controller:j}),g({controller:j,chunk:{part:i,partialOutput:void 0}});return}if(d+=i.text,e+=i.text,c=null!=(k=i.providerMetadata)?k:c,0===i.text.length&&null!=i.providerMetadata)return void g({controller:j,chunk:{part:i,partialOutput:void 0}});let l=await a.parsePartialOutput({text:d});if(void 0!==l){let a="string"==typeof l.partial?l.partial:JSON.stringify(l.partial);a!==f&&(h({controller:j,partialOutput:l.partial}),f=a)}}})}(null!=B?B:cM())).pipeThrough(ax);const{maxRetries:aC}=cx({maxRetries:e,abortSignal:g}),{maxRetries:aE}=cx({maxRetries:f,abortSignal:g,parameter:"streamRetries",defaultMaxRetries:0}),aF=bV(d),aG=this,aH=J();(async()=>{var b;let d=await cn({instructions:n,system:o,prompt:p,messages:q,allowSystemInMessages:r}),e={callId:aH,operationId:"ai.streamText",provider:a.provider,modelId:a.modelId,instructions:d.instructions,messages:d.messages,tools:t,toolChoice:u,activeTools:w,toolOrder:x,maxOutputTokens:aF.maxOutputTokens,temperature:aF.temperature,topP:aF.topP,topK:aF.topK,presencePenalty:aF.presencePenalty,frequencyPenalty:aF.frequencyPenalty,stopSequences:aF.stopSequences,seed:aF.seed,reasoning:aF.reasoning,maxRetries:aC,timeout:K,headers:c,providerOptions:F,output:B,runtimeContext:Z,toolsContext:$},f=null==(b=ai.startTracingChannelContext)?void 0:b.call(ai,{type:"streamText",event:e,completion:aG._totalUsage.promise.then(()=>void 0)}),v=a=>{var b;return null!=(b=null==f?void 0:f.run(a))?b:a()},D=null==ai.runInTracingChannelSpan?void 0:a=>v(()=>ai.runInTracingChannelSpan(a));await cw({event:e,callbacks:[T,ai.onStart]});let J=d.messages,O=d.instructions,{approvedToolApprovals:P,deniedToolApprovals:Q}=cA({messages:J});if(Q.length>0||P.length>0){let a,{approvedToolApprovals:b,deniedToolApprovals:c,invalidToolApprovals:d}=await dt({approvedToolApprovals:P.filter(a=>!a.toolCall.providerExecuted),tools:t,toolApproval:C,messages:J,toolsContext:$,runtimeContext:Z,toolApprovalSecret:E}),e=[...Q.filter(a=>!a.toolCall.providerExecuted),...c],f=e.filter(a=>null==a.existingToolResult),h=Q.filter(a=>a.toolCall.providerExecuted),i=new ReadableStream({start(b){a=b}});aG.addStream(i);try{for(let b of[...e,...h])null==a||a.enqueue({type:"tool-output-denied",toolCallId:b.toolCall.toolCallId,toolName:b.toolCall.toolName});for(let b of d)null==a||a.enqueue({type:"tool-error",toolCallId:b.toolCall.toolCallId,toolName:b.toolCall.toolName,input:b.toolCall.input,error:(0,S.getErrorMessage)(b.error),title:b.toolCall.title,...!0===b.toolCall.dynamic?{dynamic:!0}:{},...null!=b.toolCall.toolMetadata?{toolMetadata:b.toolCall.toolMetadata}:{}});let c=[];if(await Promise.all(b.map(async b=>{let d=await cF({toolCall:b.toolCall,tools:t,callId:aH,messages:J,abortSignal:g,timeout:K,experimental_sandbox:s,toolsContext:$,onToolExecutionStart:(0,R.filterNullable)(X,ai.onToolExecutionStart),onToolExecutionEnd:(0,R.filterNullable)(Y,ai.onToolExecutionEnd),executeToolInTelemetryContext:ai.executeTool,runInTracingChannelSpan:D,onPreliminaryToolResult:b=>{null==a||a.enqueue(b)}});null!=d&&(null==a||a.enqueue(d.output),c.push(d.output))})),c.length>0||f.length>0||d.length>0){let a=[];for(let b of c)a.push({type:"tool-result",toolCallId:b.toolCallId,toolName:b.toolName,output:await bT({toolCallId:b.toolCallId,input:b.input,tool:ct(t,b.toolName),output:"tool-result"===b.type?b.output:b.error,errorMode:"tool-error"===b.type?"text":"none"})});for(let b of d)a.push({type:"tool-result",toolCallId:b.toolCall.toolCallId,toolName:b.toolCall.toolName,output:await bT({toolCallId:b.toolCall.toolCallId,input:b.toolCall.input,tool:ct(t,b.toolCall.toolName),output:b.error,errorMode:"text"})});for(let b of f)a.push({type:"tool-result",toolCallId:b.toolCall.toolCallId,toolName:b.toolCall.toolName,output:{type:"execution-denied",reason:b.approvalResponse.reason}});ao.push({role:"tool",content:a})}}finally{null==a||a.close()}}async function ad({currentStep:b,usage:e}){var f,n,o,p,q,D,P,Q,S,T,ae,af;let ag,aj,ak=cy({abortController:i,label:"Step",timeoutMs:h});function am(){null!=ag&&(clearTimeout(ag),ag=void 0)}function aq(){null!=aj&&clearTimeout(aj),aj=cy({abortController:m,label:"Chunk",timeoutMs:l})}function au(){null==g||g.removeEventListener("abort",au),null!=ak&&clearTimeout(ak),am(),null!=aj&&(clearTimeout(aj),aj=void 0)}null==g||g.addEventListener("abort",au,{once:!0});try{let h,i,l;ab=new R.DelayedPromise;let m=null==(f=ai.startTracingChannelContext)?void 0:f.call(ai,{type:"step",event:{callId:aH,stepNumber:b},completion:ab.promise}),aj=a=>{var b;return null!=(b=null==m?void 0:m.run(a))?b:a()},ak=an.flatMap(a=>a.response.messages),av=[...ao,...ak],ax=null!=ac?ac:[...J,...ao],ay=await (null==G?void 0:G({model:a,steps:an,stepNumber:an.length,instructions:O,initialInstructions:d.instructions,messages:ax,initialMessages:J,responseMessages:av,toolsContext:$,runtimeContext:Z,experimental_sandbox:s})),az=null!=(n=null==ay?void 0:ay.experimental_sandbox)?n:s;Z=null!=(o=null==ay?void 0:ay.runtimeContext)?o:Z,$=null!=(p=null==ay?void 0:ay.toolsContext)?p:$;let aA=bC(null!=(q=null==ay?void 0:ay.model)?q:a),aB=cG({tools:t,activeTools:null!=(D=null==ay?void 0:ay.activeTools)?D:w}),{executionTools:aI,modelTools:aJ}=di({tools:aB,toolCallers:ah}),aK=null!=(P=null==ay?void 0:ay.toolOrder)?P:x,aL=await bX({tools:aJ,toolOrder:aK,toolsContext:$,experimental_sandbox:az}),aM=bW({toolChoice:null!=(Q=null==ay?void 0:ay.toolChoice)?Q:u}),aN=null!=(S=null==ay?void 0:ay.messages)?S:ax;ap=aN;let aO=null!=(ae=null!=(T=null==ay?void 0:ay.instructions)?T:null==ay?void 0:ay.system)?ae:O;O=aO;let aP=bH(F,null==ay?void 0:ay.providerOptions),aQ=cX({callSettings:aF,stepSettings:ay}),aR=H(),{retry:aS}=cx({maxRetries:aC,abortSignal:g}),aT=!1,aU=()=>aj(()=>aS(async()=>{var b,d;return dU({model:null!=(b=null==ay?void 0:ay.model)?b:a,tools:aJ,toolOrder:aK,toolChoice:null!=(d=null==ay?void 0:ay.toolChoice)?d:u,instructions:aO,messages:aN,allowSystemInMessages:r,repairToolCall:y,refineToolInput:z,abortSignal:g,headers:c,includeRawChunks:aa.rawChunks,providerOptions:aP,download:_,output:B,callId:aH,executeLanguageModelCallInTelemetryContext:ai.executeLanguageModelCall,toolsContext:$,experimental_sandbox:az,onLanguageModelCallStart:(0,R.filterNullable)(V,ai.onLanguageModelCallStart),onLanguageModelCallEnd:(0,R.filterNullable)(W,ai.onLanguageModelCallEnd),onStart:async({promptMessages:a})=>{var b,c;aT||(aT=!0,await cw({event:{callId:aH,provider:aA.provider,modelId:aA.modelId,stepNumber:an.length,instructions:aO,messages:aN,tools:t,toolChoice:null!=(b=null==ay?void 0:ay.toolChoice)?b:u,activeTools:null!=(c=null==ay?void 0:ay.activeTools)?c:w,toolOrder:aK,steps:[...an],providerOptions:aP,runtimeContext:Z,toolsContext:$,output:B,promptMessages:a,stepTools:aL,stepToolChoice:aM},callbacks:[U,ai.onStepStart]}))},_internal:{now:H},...aQ})})),aV=await aU(),aW=aV.request,aX=aV.response,aY=aV.stream.getReader(),aZ=0,a$=0,a_=[],a0=new WeakSet,a1=new Set,a2=new Set,a3=!1,a4=aE>0||N,a5=new ReadableStream({async pull(a){let b=b=>{switch(b.type){case"text-start":a1.add(b.id);break;case"text-end":a1.delete(b.id);break;case"reasoning-start":a2.add(b.id);break;case"reasoning-end":a2.delete(b.id)}a.enqueue(b)},c=()=>{for(let a of a_)b(a);a_=[]},d=()=>{for(let b of a1)a.enqueue({type:"text-end",id:b});for(let b of(a1.clear(),a2))a.enqueue({type:"reasoning-end",id:b});a2.clear()};for(;;){let e,f,{done:g,value:h}=await aY.read();if(a3&&(a.enqueue(function({warnings:a}){return{[dL]:!0,warnings:a}}({warnings:g||"model-call-start"!==h.type?[]:h.warnings})),a3=!1),g){c(),a.close();return}let i="tool-input-start"===h.type||"tool-input-delta"===h.type||"tool-input-end"===h.type||"tool-call"===h.type||"tool-approval-request"===h.type||"tool-approval-response"===h.type||"tool-result"===h.type||"tool-error"===h.type;if("model-call-end"===h.type){c(),b(h);return}if(a4&&"error"!==h.type&&(i||a_.length>0)){d$(h)&&(am(),aq(),a0.add(h)),a_.push(h);continue}if("error"!==h.type)return void b(h);await cw({event:{chunk:h},callbacks:L});let j=co(h.error);try{e=await M({error:j})}catch(a){}let k=N&&"object"==typeof e&&null!=e&&"retry"in e&&!0===e.retry,l=aZ<aE,m=!l&&k&&a$<1;if(!l&&!m){c(),aw.add(h.error),a.enqueue(h);return}l?aZ++:a$++,await aY.cancel(j),a_=[],d();try{f=await aU()}catch(b){a.enqueue({type:"error",error:b}),a.close();return}aW=f.request,aX=f.response,aY=f.stream.getReader(),a3=!0}},cancel:a=>aY.cancel(a)});null!=g&&g.aborted||(ag=cy({abortController:k,label:"First chunk",timeoutMs:j}));let a6=function({stream:a,tools:b,stepInputMessages:c,abortSignal:d,runtimeContext:e}){if(null==b)return a;let f=dE();return a.pipeThrough(new TransformStream({async transform(a,g){if(g.enqueue(a),!dM(a))switch(a.type){case"tool-input-start":{f[a.id]=a.toolName;let g=ct(b,a.toolName);(null==g?void 0:g.onInputStart)!=null&&await g.onInputStart({toolCallId:a.id,messages:c,abortSignal:d,context:e});break}case"tool-input-delta":{let g=ct(b,f[a.id]);(null==g?void 0:g.onInputDelta)!=null&&await g.onInputDelta({inputTextDelta:a.delta,toolCallId:a.id,messages:c,abortSignal:d,context:e});break}case"tool-call":{let g=ct(b,f[a.toolCallId]);delete f[a.toolCallId],(null==g?void 0:g.onInputAvailable)!=null&&await g.onInputAvailable({input:a.input,toolCallId:a.toolCallId,messages:c,abortSignal:d,context:e})}}}}))}({stream:a5,tools:aI,stepInputMessages:aN,abortSignal:g,runtimeContext:Z}),a7=null==ai.runInTracingChannelSpan?void 0:a=>aj(()=>ai.runInTracingChannelSpan(a)),a8=function({stream:a,tools:b,callId:c,messages:d,abortSignal:e,timeout:f,experimental_sandbox:g,toolsContext:h,toolApproval:i,runtimeContext:j,toolApprovalSecret:k,generateId:l,onToolExecutionStart:m,onToolExecutionEnd:n,executeToolInTelemetryContext:o,runInTracingChannelSpan:p}){let q=[];return a.pipeThrough(new TransformStream({async transform(a,r){if(r.enqueue(a),dM(a)){q.length=0;return}switch(a.type){case"tool-call":{if(a.invalid)return;let c=ct(b,a.toolName);if(null==c)return;let e=await cZ({tools:b,toolCall:a,toolApproval:i,messages:d,toolsContext:h,runtimeContext:j});if("not-applicable"===e.type){null!=c.execute&&!0!==a.providerExecuted&&q.push(a);return}let f=l(),g=await ds({secret:k,approvalId:f,toolCallId:a.toolCallId,toolName:a.toolName,input:a.input});switch(e.type){case"user-approval":return void r.enqueue({type:"tool-approval-request",approvalId:f,toolCall:a,...null!=e.reason?{reason:e.reason}:{},...null!=g?{signature:g}:{}});case"denied":r.enqueue({type:"tool-approval-request",approvalId:f,toolCall:a,isAutomatic:!0,...null!=g?{signature:g}:{}}),r.enqueue({type:"tool-approval-response",approvalId:f,approved:!1,toolCall:a,reason:e.reason,providerExecuted:a.providerExecuted});return;case"approved":r.enqueue({type:"tool-approval-request",approvalId:f,toolCall:a,isAutomatic:!0,...null!=g?{signature:g}:{}}),r.enqueue({type:"tool-approval-response",approvalId:f,approved:!0,toolCall:a,reason:e.reason,providerExecuted:a.providerExecuted})}null!=c.execute&&!0!==a.providerExecuted&&q.push(a);return}case"model-call-end":if(!cH(a.finishReason))return;await Promise.all(q.map(async a=>{try{let i=await cF({toolCall:a,tools:b,callId:c,messages:d,abortSignal:e,timeout:f,experimental_sandbox:g,toolsContext:h,onToolExecutionStart:m,onToolExecutionEnd:n,executeToolInTelemetryContext:o,runInTracingChannelSpan:p,onPreliminaryToolResult:a=>{r.enqueue(a)}});null!=i&&(r.enqueue({type:"tool-execution-end",toolCallId:i.output.toolCallId,toolExecutionMs:i.toolExecutionMs}),r.enqueue(i.output))}catch(a){r.enqueue({type:"error",error:a})}}));return}}}))}({stream:a6,tools:aI,callId:aH,messages:aN,abortSignal:g,timeout:K,experimental_sandbox:az,toolsContext:$,toolApproval:C,runtimeContext:Z,toolApprovalSecret:E,generateId:I,onToolExecutionStart:(0,R.filterNullable)(X,ai.onToolExecutionStart),onToolExecutionEnd:(0,R.filterNullable)(Y,ai.onToolExecutionEnd),executeToolInTelemetryContext:ai.executeTool,runInTracingChannelSpan:a7}),a9=()=>({...aW,body:aa.requestBody?null==aW?void 0:aW.body:void 0,messages:aa.requestMessages?bE(aN):void 0});al=null!=(af=a9().messages)?af:[];let ba=[],bb=[],bc=[],bd="other",be=!1,bf=!1,bg=cq(),bh=!0,bi=()=>({responseTimeMs:0,effectiveOutputTokensPerSecond:0,outputTokensPerSecond:void 0,inputTokensPerSecond:void 0,effectiveTotalTokensPerSecond:0,timeToFirstOutputMs:void 0,timeBetweenOutputChunksMs:void 0}),bj=bi(),bk={},bl=()=>({id:I(),timestamp:new Date,modelId:a.modelId}),bm=bl(),bn=new Map,bo=new Map,bp=(a,b)=>{a.enqueue(b)};aG.addStream(a8.pipeThrough(new TransformStream({async transform(a,b){var c,d,e,f,g,j,k;if(dM(a)){h=a.warnings,bd="other",l=void 0,be=!1,bf=!1,bg=cq(),i=void 0,bj=bi(),bm=bl(),bn.clear(),bo.clear(),b.enqueue({[d_]:{request:a9(),warnings:h}});return}if("model-call-start"===a.type){h=a.warnings;return}bh&&(bh=!1,bp(b,{type:"start-step",request:a9(),warnings:null!=h?h:[]}));let m=a.type;if(d$(a)){let b=a0.has(a);bf||b||am(),bf=!0,b||aq()}switch(m){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":bp(b,a);break;case"text-start":{let c=ar(a.id);bn.set(a.id,c),bp(b,{...a,id:c});break}case"text-delta":(a.text.length>0||null!=a.providerMetadata)&&bp(b,{...a,id:null!=(c=bn.get(a.id))?c:a.id});break;case"text-end":bp(b,{...a,id:null!=(d=bn.get(a.id))?d:a.id}),bn.delete(a.id);break;case"reasoning-start":{let c=as(a.id);bo.set(a.id,c),bp(b,{...a,id:c});break}case"reasoning-delta":bp(b,{...a,id:null!=(e=bo.get(a.id))?e:a.id});break;case"reasoning-end":bp(b,{...a,id:null!=(f=bo.get(a.id))?f:a.id}),bo.delete(a.id);break;case"tool-call":bp(b,a),ba.push(a);break;case"tool-approval-response":bp(b,a),bc.push(a);break;case"tool-result":bp(b,a),a.preliminary||bb.push(a);break;case"tool-error":bp(b,a),bb.push(a);break;case"tool-execution-end":bk[a.toolCallId]=a.toolExecutionMs;break;case"model-call-response-metadata":bm={id:null!=(g=a.id)?g:bm.id,timestamp:null!=(j=a.timestamp)?j:bm.timestamp,modelId:null!=(k=a.modelId)?k:bm.modelId};break;case"model-call-end":be=!0,bg=a.usage,bd=a.finishReason,l=a.rawFinishReason,i=a.providerMetadata,bj=a.performance;break;case"error":be=!0,bp(b,a),bd="error";break;case"raw":aa.rawChunks&&bp(b,a);break;default:throw Error(`Unknown chunk type: ${m}`)}},async flush(a){if(!be&&!bf){bp(a,{type:"error",error:new aD({message:"No output generated. The model stream ended without a finish chunk."})}),au(),aG.closeStream();return}let c=H()-aR,d={type:"finish-step",finishReason:bd,rawFinishReason:l,usage:bg,performance:{stepTimeMs:c,toolExecutionMs:bk,...bj},providerMetadata:i,response:{...bm,headers:null==aX?void 0:aX.headers}};bp(a,d);let f=cr(e,bg);await ab.promise;let g=ba.filter(a=>!0!==a.providerExecuted),h=bb.filter(a=>!0!==a.providerExecuted),j=bc.filter(a=>!1===a.approved);for(let a of ba){if(!0!==a.providerExecuted)continue;let b=ct(aI,a.toolName);(null==b?void 0:b.type)==="provider"&&b.supportsDeferredResults&&(bb.some(b=>("tool-result"===b.type||"tool-error"===b.type)&&b.toolCallId===a.toolCallId)||at.set(a.toolCallId,{toolName:a.toolName}))}for(let a of bb)("tool-result"===a.type||"tool-error"===a.type)&&at.delete(a.toolCallId);if(au(),g.length===h.length+j.length&&(g.length>0||at.size>0)&&!await dd({stopConditions:A,steps:an}))try{await v(()=>ad({currentStep:b+1,usage:f}))}catch(b){bp(a,{type:"error",error:b}),aG.closeStream()}else bp(a,{type:"finish",finishReason:bd,rawFinishReason:l,totalUsage:f}),aG.closeStream()}})),{onError:au,onCancel:au})}catch(a){throw au(),a}}aG._initialResponseMessages.resolve(ao),await v(()=>ad({currentStep:0,usage:cq()}))})().catch(async a=>{var b;await (null==(b=ai.onError)?void 0:b.call(ai,{callId:aH,error:a})),aG._initialResponseMessages.reject(a),d0(aG._initialResponseMessages.promise),aG.addStream(new ReadableStream({start(b){b.enqueue({type:"error",error:a}),b.close()}})),aG.closeStream()})}get steps(){return this.consumeStream(),this._steps.promise}get finalStep(){return this.steps.then(a=>a.at(-1))}get content(){return this.steps.then(a=>a.flatMap(a=>a.content))}get warnings(){return this.steps.then(a=>a.flatMap(a=>{var b;return null!=(b=a.warnings)?b:[]}))}get providerMetadata(){return this.finalStep.then(a=>a.providerMetadata)}get text(){return this.finalStep.then(a=>a.text)}get reasoningText(){return this.finalStep.then(a=>a.reasoningText)}get reasoning(){return this.finalStep.then(a=>cY(a.reasoning))}get sources(){return this.steps.then(a=>a.flatMap(a=>a.sources))}get files(){return this.steps.then(a=>a.flatMap(a=>a.files))}get toolCalls(){return this.steps.then(a=>a.flatMap(a=>a.toolCalls))}get staticToolCalls(){return this.steps.then(a=>a.flatMap(a=>a.staticToolCalls))}get dynamicToolCalls(){return this.steps.then(a=>a.flatMap(a=>a.dynamicToolCalls))}get toolResults(){return this.steps.then(a=>a.flatMap(a=>a.toolResults))}get staticToolResults(){return this.steps.then(a=>a.flatMap(a=>a.staticToolResults))}get dynamicToolResults(){return this.steps.then(a=>a.flatMap(a=>a.dynamicToolResults))}get usage(){return this.totalUsage}get request(){return this.finalStep.then(a=>a.request)}get response(){return this.finalStep.then(a=>a.response)}get responseMessages(){return Promise.all([this._initialResponseMessages.promise,this.steps]).then(([a,b])=>[...a,...b.flatMap(a=>a.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[a,b]=this.baseStream.tee();return this.baseStream=b,a}get textStream(){return dI(function({stream:a}){return a.pipeThrough(new TransformStream({transform(a,b){"text-delta"===a.type&&b.enqueue(a.text)}}))}({stream:this.stream}))}get stream(){return dI(this.teeStream().pipeThrough(new TransformStream({transform({part:a},b){b.enqueue(a)}})))}get fullStream(){return this.stream}rejectResultPromises(a){this.rejectResultPromise({delayedPromise:this._finishReason,error:a}),this.rejectResultPromise({delayedPromise:this._rawFinishReason,error:a}),this.rejectResultPromise({delayedPromise:this._totalUsage,error:a}),this.rejectResultPromise({delayedPromise:this._steps,error:a}),this.rejectResultPromise({delayedPromise:this._initialResponseMessages,error:a})}rejectResultPromise({delayedPromise:a,error:b}){a.isPending()&&(a.reject(b),d0(a.promise))}async consumeStream(a){var b;try{await dJ({stream:this.stream,onError:b=>{var c;this.rejectResultPromises(b),null==(c=null==a?void 0:a.onError)||c.call(a,b)}})}catch(c){this.rejectResultPromises(c),null==(b=null==a?void 0:a.onError)||b.call(a,c)}}get experimental_partialOutputStream(){return this.partialOutputStream}get partialOutputStream(){return dI(this.teeStream().pipeThrough(new TransformStream({transform({partialOutput:a},b){null!=a&&b.enqueue(a)}})))}get elementStream(){var a,b,c;let d=null==(a=this.outputSpecification)?void 0:a.createElementStreamTransform();if(null==d)throw new S.UnsupportedFunctionalityError({functionality:`element streams in ${null!=(c=null==(b=this.outputSpecification)?void 0:b.name)?c:"text"} mode`});return dI(this.teeStream().pipeThrough(d))}getOutputPromise(){return null==this.outputPromise&&(this.outputPromise=this.finalStep.then(a=>{var b;return(null!=(b=this.outputSpecification)?b:cM()).parseCompleteOutput({text:a.text},{response:a.response,usage:a.usage,finishReason:a.finishReason})})),this.outputPromise}get output(){return this.getOutputPromise()}toUIMessageStream({originalMessages:a,generateMessageId:b,onEnd:c,onFinish:d,messageMetadata:e,sendReasoning:f,sendSources:g,sendStart:h,sendFinish:i,onError:j}={}){return dI(function({stream:a,tools:b,sendReasoning:c=!0,sendSources:d=!1,sendStart:e=!0,sendFinish:f=!0,onError:g=()=>"An error occurred.",messageMetadata:h,originalMessages:i,generateMessageId:j,onEnd:k,onFinish:l}){let m={status:"unknown"},n=!1,o=a=>{n||"completed"===m.status||"aborted"===m.status||"unknown"===a.status||"unknown"!==m.status&&"failed"===a.status||(m=a)},p=a=>{n=!0,m={status:"failed",error:a}},q=null!=j?function({originalMessages:a,responseMessageId:b}){if(null==a)return;let c=a[a.length-1];return(null==c?void 0:c.role)==="assistant"?c.id:"function"==typeof b?b():b}({originalMessages:i,responseMessageId:j}):void 0,r=a.getReader(),s=!1,t=!1,u=()=>{s||(r.releaseLock(),s=!0)};return function({messageId:a,originalMessages:b=[],onStepEnd:c,onStepFinish:d,onEnd:e,onFinish:f,onError:g,stream:h,getOutcome:i}){let j,k=null==b?void 0:b[b.length-1];(null==k?void 0:k.role)!=="assistant"?k=void 0:a=k.id;let l=!1,m=!1,n=a=>{m=!0,j=a},o=h.pipeThrough(new TransformStream({transform(b,c){try{let d=b;"start"===b.type&&null==b.messageId&&null!=a&&(d={...b,messageId:a}),"abort"===b.type&&(l=!0),c.enqueue(d)}catch(a){throw n(a),a}}})),p=null!=c?c:d,q=null!=e?e:f;if(null==q&&null==p)return o;let r=function({lastMessage:a,messageId:b}){return{message:(null==a?void 0:a.role)==="assistant"?a:{id:b,metadata:void 0,role:"assistant",parts:[]},activeTextParts:dE(),activeReasoningParts:dE(),partialToolCalls:dE()}}({lastMessage:k?structuredClone(k):void 0,messageId:null!=a?a:""}),s=!1,t=async()=>{var a;if(s||!q)return;s=!0;let c=r.message.id===(null==k?void 0:k.id),d=null!=(a=null==i?void 0:i())?a:{status:"unknown"},e=m?{status:"failed",error:j}:"unknown"===d.status&&l?{status:"aborted"}:d;await q({isAborted:l||"aborted"===e.status,isContinuation:c,outcome:e,responseMessage:r.message,messages:[...c?b.slice(0,-1):b,r.message],finishReason:r.finishReason})},u=async()=>{if(!p)return;let a=r.message.id===(null==k?void 0:k.id);try{await p({isContinuation:a,responseMessage:structuredClone(r.message),messages:[...a?b.slice(0,-1):b,structuredClone(r.message)]})}catch(a){g(a)}};return(function({stream:a,messageMetadataSchema:b,dataPartSchemas:c,runUpdateMessageJob:d,onError:e,onToolCall:f,onData:g}){return a.pipeThrough(new TransformStream({async transform(a,h){await d(async({state:d,write:i})=>{var j,k,l,m;function n(){let a=d.message.parts,b=a.length-1;for(;b>=0&&"step-start"!==a[b].type;)b--;return a.slice(b+1)}function o(a){let b=n().filter(dG).find(b=>b.toolCallId===a);if(null==b){let c=d.message.parts;for(let d=c.length-1;d>=0;d--){let e=c[d];if(dG(e)&&e.toolCallId===a){b=e;break}}}if(null==b)throw new a9({chunkType:"tool-invocation",chunkId:a,message:`No tool invocation found for tool call ID "${a}".`});return b}function p(a,b){var c;let e=null!=b?b:n().find(b=>dF(b)&&b.toolCallId===a.toolCallId);if(null!=e){e.state=a.state,e.input=a.input,e.output=a.output,e.errorText=a.errorText,e.rawInput=a.rawInput,e.preliminary=a.preliminary,void 0!==a.title&&(e.title=a.title),void 0!==a.toolMetadata&&(e.toolMetadata=a.toolMetadata),e.providerExecuted=null!=(c=a.providerExecuted)?c:e.providerExecuted;let b=a.providerMetadata;null!=b&&("output-available"===a.state||"output-error"===a.state?e.resultProviderMetadata=b:e.callProviderMetadata=b)}else d.message.parts.push({type:`tool-${a.toolName}`,toolCallId:a.toolCallId,state:a.state,title:a.title,...void 0!==a.toolMetadata?{toolMetadata:a.toolMetadata}:{},input:a.input,output:a.output,rawInput:a.rawInput,errorText:a.errorText,providerExecuted:a.providerExecuted,preliminary:a.preliminary,...null!=a.providerMetadata&&("output-available"===a.state||"output-error"===a.state)?{resultProviderMetadata:a.providerMetadata}:{},...null!=a.providerMetadata&&"output-available"!==a.state&&"output-error"!==a.state?{callProviderMetadata:a.providerMetadata}:{}})}function q(a,b){var c,e;let f=null!=b?b:n().find(b=>"dynamic-tool"===b.type&&b.toolCallId===a.toolCallId);if(null!=f){f.state=a.state,f.toolName=a.toolName,f.input=a.input,f.output=a.output,f.errorText=a.errorText,f.rawInput=null!=(c=a.rawInput)?c:f.rawInput,f.preliminary=a.preliminary,void 0!==a.title&&(f.title=a.title),void 0!==a.toolMetadata&&(f.toolMetadata=a.toolMetadata),f.providerExecuted=null!=(e=a.providerExecuted)?e:f.providerExecuted;let b=a.providerMetadata;null!=b&&("output-available"===a.state||"output-error"===a.state?f.resultProviderMetadata=b:f.callProviderMetadata=b)}else d.message.parts.push({type:"dynamic-tool",toolName:a.toolName,toolCallId:a.toolCallId,state:a.state,input:a.input,output:a.output,errorText:a.errorText,preliminary:a.preliminary,providerExecuted:a.providerExecuted,title:a.title,...void 0!==a.toolMetadata?{toolMetadata:a.toolMetadata}:{},...null!=a.providerMetadata&&("output-available"===a.state||"output-error"===a.state)?{resultProviderMetadata:a.providerMetadata}:{},...null!=a.providerMetadata&&"output-available"!==a.state&&"output-error"!==a.state?{callProviderMetadata:a.providerMetadata}:{}})}async function r(a){if(null!=a){let c=null!=d.message.metadata?bH(d.message.metadata,a):a;null!=b&&await (0,R.validateTypes)({value:c,schema:b,context:{field:"message.metadata",entityId:d.message.id}}),d.message.metadata=c}}switch(a.type){case"text-start":{let b={type:"text",text:"",providerMetadata:a.providerMetadata,state:"streaming"};d.activeTextParts[a.id]=b,d.message.parts.push(b),i();break}case"text-delta":{let b=d.activeTextParts[a.id];if(null==b)throw new a9({chunkType:"text-delta",chunkId:a.id,message:`Received text-delta for missing text part with ID "${a.id}". Ensure a "text-start" chunk is sent before any "text-delta" chunks.`});b.text+=a.delta,b.providerMetadata=null!=(j=a.providerMetadata)?j:b.providerMetadata,i();break}case"text-end":{let b=d.activeTextParts[a.id];if(null==b)throw new a9({chunkType:"text-end",chunkId:a.id,message:`Received text-end for missing text part with ID "${a.id}". Ensure a "text-start" chunk is sent before any "text-end" chunks.`});b.state="done",b.providerMetadata=null!=(k=a.providerMetadata)?k:b.providerMetadata,delete d.activeTextParts[a.id],i();break}case"custom":{let b={type:"custom",kind:a.kind,providerMetadata:a.providerMetadata};d.message.parts.push(b),i();break}case"reasoning-start":{let b={type:"reasoning",id:a.id,text:"",providerMetadata:a.providerMetadata,state:"streaming"};d.activeReasoningParts[a.id]=b,d.message.parts.push(b),i();break}case"reasoning-delta":{let b=d.activeReasoningParts[a.id];if(null==b)throw new a9({chunkType:"reasoning-delta",chunkId:a.id,message:`Received reasoning-delta for missing reasoning part with ID "${a.id}". Ensure a "reasoning-start" chunk is sent before any "reasoning-delta" chunks.`});b.text+=a.delta,b.providerMetadata=null!=(l=a.providerMetadata)?l:b.providerMetadata,i();break}case"reasoning-end":{let b=d.activeReasoningParts[a.id];if(null==b)throw new a9({chunkType:"reasoning-end",chunkId:a.id,message:`Received reasoning-end for missing reasoning part with ID "${a.id}". Ensure a "reasoning-start" chunk is sent before any "reasoning-end" chunks.`});b.providerMetadata=null!=(m=a.providerMetadata)?m:b.providerMetadata,b.state="done",delete d.activeReasoningParts[a.id],i();break}case"file":case"reasoning-file":d.message.parts.push({type:a.type,mediaType:a.mediaType,url:a.url,...null!=a.providerMetadata?{providerMetadata:a.providerMetadata}:{}}),i();break;case"source-url":d.message.parts.push({type:"source-url",sourceId:a.sourceId,url:a.url,title:a.title,providerMetadata:a.providerMetadata}),i();break;case"source-document":d.message.parts.push({type:"source-document",sourceId:a.sourceId,mediaType:a.mediaType,title:a.title,filename:a.filename,providerMetadata:a.providerMetadata}),i();break;case"tool-input-start":{let b=n().filter(dF);d.partialToolCalls[a.toolCallId]={text:"",toolName:a.toolName,index:b.length,dynamic:a.dynamic,title:a.title,toolMetadata:a.toolMetadata},a.dynamic?q({toolCallId:a.toolCallId,toolName:a.toolName,state:"input-streaming",input:void 0,providerExecuted:a.providerExecuted,title:a.title,toolMetadata:a.toolMetadata,providerMetadata:a.providerMetadata}):p({toolCallId:a.toolCallId,toolName:a.toolName,state:"input-streaming",input:void 0,providerExecuted:a.providerExecuted,title:a.title,toolMetadata:a.toolMetadata,providerMetadata:a.providerMetadata}),i();break}case"tool-input-delta":{let b=d.partialToolCalls[a.toolCallId];if(null==b)throw new a9({chunkType:"tool-input-delta",chunkId:a.toolCallId,message:`Received tool-input-delta for missing tool call with ID "${a.toolCallId}". Ensure a "tool-input-start" chunk is sent before any "tool-input-delta" chunks.`});b.text+=a.inputTextDelta;let{value:c}=await cL(b.text);b.dynamic?q({toolCallId:a.toolCallId,toolName:b.toolName,state:"input-streaming",input:c,title:b.title,toolMetadata:b.toolMetadata}):p({toolCallId:a.toolCallId,toolName:b.toolName,state:"input-streaming",input:c,title:b.title,toolMetadata:b.toolMetadata}),i();break}case"tool-input-available":a.dynamic?q({toolCallId:a.toolCallId,toolName:a.toolName,state:"input-available",input:a.input,providerExecuted:a.providerExecuted,providerMetadata:a.providerMetadata,title:a.title,toolMetadata:a.toolMetadata}):p({toolCallId:a.toolCallId,toolName:a.toolName,state:"input-available",input:a.input,providerExecuted:a.providerExecuted,providerMetadata:a.providerMetadata,title:a.title,toolMetadata:a.toolMetadata}),i(),f&&!a.providerExecuted&&await f({toolCall:a});break;case"tool-input-error":{let b=n().filter(dG).find(b=>b.toolCallId===a.toolCallId);(null!=b?"dynamic-tool"===b.type:a.dynamic)?q({toolCallId:a.toolCallId,toolName:a.toolName,state:"output-error",input:a.input,errorText:a.errorText,providerExecuted:a.providerExecuted,providerMetadata:a.providerMetadata,toolMetadata:a.toolMetadata}):p({toolCallId:a.toolCallId,toolName:a.toolName,state:"output-error",input:void 0,rawInput:a.input,errorText:a.errorText,providerExecuted:a.providerExecuted,providerMetadata:a.providerMetadata,toolMetadata:a.toolMetadata}),i();break}case"tool-approval-request":{let b=o(a.toolCallId);b.state="approval-requested",b.approval={id:a.approvalId,...null!=a.approvalDescriptor?{descriptor:a.approvalDescriptor}:{},...null!=a.reason?{requestReason:a.reason}:{},...!0===a.isAutomatic?{isAutomatic:!0}:{},...null!=a.signature?{signature:a.signature}:{}},i();break}case"tool-approval-response":{let b=function(a){let b=d.message.parts.filter(dG).find(b=>{var c;return(null==(c=b.approval)?void 0:c.id)===a});if(null==b)throw new a9({chunkType:"tool-approval-response",chunkId:a,message:`No tool invocation found for approval ID "${a}".`});return b}(a.approvalId),c=null==b.approval?{id:a.approvalId}:b.approval;b.state="approval-responded",b.approval={...c,id:a.approvalId,approved:a.approved,...null!=a.reason?{reason:a.reason}:{}},null!=a.providerExecuted&&(b.providerExecuted=a.providerExecuted),null!=a.providerMetadata&&(b.callProviderMetadata=a.providerMetadata),i();break}case"tool-output-denied":o(a.toolCallId).state="output-denied",i();break;case"tool-output-available":{let b=o(a.toolCallId);"dynamic-tool"===b.type?q({toolCallId:a.toolCallId,toolName:b.toolName,state:"output-available",input:b.input,output:a.output,preliminary:a.preliminary,providerExecuted:a.providerExecuted,providerMetadata:a.providerMetadata,title:b.title,toolMetadata:b.toolMetadata},b):p({toolCallId:a.toolCallId,toolName:dH(b),state:"output-available",input:b.input,output:a.output,providerExecuted:a.providerExecuted,preliminary:a.preliminary,providerMetadata:a.providerMetadata,title:b.title,toolMetadata:b.toolMetadata},b),i();break}case"tool-output-error":{let b=o(a.toolCallId);"dynamic-tool"===b.type?q({toolCallId:a.toolCallId,toolName:b.toolName,state:"output-error",input:b.input,errorText:a.errorText,providerExecuted:a.providerExecuted,providerMetadata:a.providerMetadata,title:b.title,toolMetadata:b.toolMetadata},b):p({toolCallId:a.toolCallId,toolName:dH(b),state:"output-error",input:b.input,rawInput:b.rawInput,errorText:a.errorText,providerExecuted:a.providerExecuted,providerMetadata:a.providerMetadata,title:b.title,toolMetadata:b.toolMetadata},b),i();break}case"start-step":d.message.parts.push({type:"step-start"});break;case"finish-step":break;case"reset-step":{let a=n();d.activeTextParts=dE(),d.activeReasoningParts=dE(),d.partialToolCalls=dE(),a.length>0&&(d.message.parts.splice(d.message.parts.length-a.length,a.length),i());break}case"start":null!=a.messageId&&(d.message.id=a.messageId),await r(a.messageMetadata),(null!=a.messageId||null!=a.messageMetadata)&&i({updateStatus:!1});break;case"finish":null!=a.finishReason&&(d.finishReason=a.finishReason),await r(a.messageMetadata),null!=a.messageMetadata&&i();break;case"message-metadata":await r(a.messageMetadata),null!=a.messageMetadata&&i();break;case"error":null==e||e(Error(a.errorText));break;default:if(a.type.startsWith("data-")){if((null==c?void 0:c[a.type])!=null){let b=d.message.parts.findIndex(b=>"id"in b&&"data"in b&&b.id===a.id&&b.type===a.type),e=b>=0?b:d.message.parts.length;await (0,R.validateTypes)({value:a.data,schema:c[a.type],context:{field:`message.parts[${e}].data`,entityName:a.type,entityId:a.id}})}if(a.transient){null==g||g(a);break}let b=null!=a.id?d.message.parts.find(b=>a.type===b.type&&a.id===b.id):void 0;null!=b?b.data=a.data:d.message.parts.push(a),null==g||g(a),i()}}h.enqueue(a)})}}))})({stream:o,runUpdateMessageJob:async a=>{try{await a({state:r,write:()=>{}})}catch(a){throw n(a),a}},onError:g}).pipeThrough(new TransformStream({async transform(a,b){"finish-step"===a.type&&await u(),b.enqueue(a)},async cancel(){await t()},async flush(){await t()}}))}({stream:new ReadableStream({async pull(a){try{let{done:b,value:c}=await r.read();b?(u(),t||a.close()):a.enqueue(c)}catch(b){u(),t||(p(b),a.error(b))}},async cancel(a){if(t=!0,!s)try{await r.cancel(a)}finally{u()}}}).pipeThrough(new TransformStream({transform:async(a,i)=>{try{let j=null==h?void 0:h({part:a}),k=function(a,{tools:b,sendReasoning:c=!0,sendSources:d=!1,sendStart:e=!0,sendFinish:f=!0,onError:g=()=>"An error occurred.",messageMetadata:h,responseMessageId:i}={}){let j=a=>{let c=null==b?void 0:b[a.toolName];return null==c?a.dynamic:(null==c?void 0:c.type)==="dynamic"||void 0},k=a.type;switch(k){case"text-start":return{type:"text-start",id:a.id,...null!=a.providerMetadata?{providerMetadata:a.providerMetadata}:{}};case"text-delta":return{type:"text-delta",id:a.id,delta:a.text,...null!=a.providerMetadata?{providerMetadata:a.providerMetadata}:{}};case"text-end":return{type:"text-end",id:a.id,...null!=a.providerMetadata?{providerMetadata:a.providerMetadata}:{}};case"reasoning-start":case"reasoning-end":if(!c)return;return{type:k,id:a.id,...null!=a.providerMetadata?{providerMetadata:a.providerMetadata}:{}};case"reasoning-delta":if(!c)return;return{type:"reasoning-delta",id:a.id,delta:a.text,...null!=a.providerMetadata?{providerMetadata:a.providerMetadata}:{}};case"file":case"reasoning-file":if("reasoning-file"===k&&!c)return;return{type:a.type,mediaType:a.file.mediaType,url:`data:${a.file.mediaType};base64,${a.file.base64}`,...null!=a.providerMetadata?{providerMetadata:a.providerMetadata}:{}};case"source":if(!d)return;if("url"===a.sourceType)return{type:"source-url",sourceId:a.id,url:a.url,title:a.title,...null!=a.providerMetadata?{providerMetadata:a.providerMetadata}:{}};if("document"===a.sourceType)return{type:"source-document",sourceId:a.id,mediaType:a.mediaType,title:a.title,filename:a.filename,...null!=a.providerMetadata?{providerMetadata:a.providerMetadata}:{}};return;case"custom":return{type:"custom",kind:a.kind,...null!=a.providerMetadata?{providerMetadata:a.providerMetadata}:{}};case"tool-input-start":{let b=j(a);return{type:"tool-input-start",toolCallId:a.id,toolName:a.toolName,...null!=a.providerExecuted?{providerExecuted:a.providerExecuted}:{},...null!=a.providerMetadata?{providerMetadata:a.providerMetadata}:{},...null!=a.toolMetadata?{toolMetadata:a.toolMetadata}:{},...null!=b?{dynamic:b}:{},...null!=a.title?{title:a.title}:{}}}case"tool-input-delta":return{type:"tool-input-delta",toolCallId:a.id,inputTextDelta:a.delta};case"tool-call":{let b=j(a);if(a.invalid)return{type:"tool-input-error",toolCallId:a.toolCallId,toolName:a.toolName,input:a.input,...null!=a.providerExecuted?{providerExecuted:a.providerExecuted}:{},...null!=a.providerMetadata?{providerMetadata:a.providerMetadata}:{},...null!=a.toolMetadata?{toolMetadata:a.toolMetadata}:{},...null!=b?{dynamic:b}:{},errorText:g(a.error),...null!=a.title?{title:a.title}:{}};return{type:"tool-input-available",toolCallId:a.toolCallId,toolName:a.toolName,input:a.input,...null!=a.providerExecuted?{providerExecuted:a.providerExecuted}:{},...null!=a.providerMetadata?{providerMetadata:a.providerMetadata}:{},...null!=a.toolMetadata?{toolMetadata:a.toolMetadata}:{},...null!=b?{dynamic:b}:{},...null!=a.title?{title:a.title}:{}}}case"tool-approval-request":return{type:"tool-approval-request",approvalId:a.approvalId,toolCallId:a.toolCall.toolCallId,...null!=a.reason?{reason:a.reason}:{},...null!=a.isAutomatic?{isAutomatic:a.isAutomatic}:{},...null!=a.signature?{signature:a.signature}:{}};case"tool-approval-response":return{type:"tool-approval-response",approvalId:a.approvalId,approved:a.approved,...null!=a.reason?{reason:a.reason}:{},...null!=a.providerExecuted?{providerExecuted:a.providerExecuted}:{}};case"tool-result":{let b=j(a);return{type:"tool-output-available",toolCallId:a.toolCallId,output:void 0===a.output?null:a.output,...null!=a.providerExecuted?{providerExecuted:a.providerExecuted}:{},...null!=a.providerMetadata?{providerMetadata:a.providerMetadata}:{},...null!=a.toolMetadata?{toolMetadata:a.toolMetadata}:{},...null!=a.preliminary?{preliminary:a.preliminary}:{},...null!=b?{dynamic:b}:{}}}case"tool-error":{let b=j(a);return{type:"tool-output-error",toolCallId:a.toolCallId,errorText:a.providerExecuted?"string"==typeof a.error?a.error:JSON.stringify(a.error):g(a.error),...null!=a.providerExecuted?{providerExecuted:a.providerExecuted}:{},...null!=a.providerMetadata?{providerMetadata:a.providerMetadata}:{},...null!=a.toolMetadata?{toolMetadata:a.toolMetadata}:{},...null!=b?{dynamic:b}:{}}}case"tool-output-denied":return{type:"tool-output-denied",toolCallId:a.toolCallId};case"error":return{type:"error",errorText:g(a.error)};case"start-step":return{type:"start-step"};case"finish-step":return{type:"finish-step"};case"start":if(!e)return;return{type:"start",...null!=h?{messageMetadata:h}:{},...null!=i?{messageId:i}:{}};case"finish":if(!f)return;return{type:"finish",finishReason:a.finishReason,...null!=h?{messageMetadata:h}:{}};case"abort":return a;case"tool-input-end":case"raw":return;default:throw Error(`Unknown chunk type: ${k}`)}}(a,{tools:b,sendReasoning:c,sendSources:d,sendStart:e,sendFinish:f,onError:g,messageMetadata:j,responseMessageId:q});null!=k&&i.enqueue(k),null!=j&&"start"!==a.type&&"finish"!==a.type&&i.enqueue({type:"message-metadata",messageMetadata:j}),"finish"===a.type?o({status:"completed"}):"abort"===a.type?o({status:"aborted"}):"error"===a.type&&o({status:"failed",error:a.error})}catch(a){throw p(a),a}}})),messageId:null!=q?q:null==j?void 0:j(),originalMessages:i,onEnd:null!=k?k:l,onError:g,getOutcome:()=>m})}({stream:this.stream,tools:this.tools,originalMessages:a,generateMessageId:b,onEnd:null!=c?c:d,messageMetadata:e,sendReasoning:f,sendSources:g,sendStart:h,sendFinish:i,onError:j}))}pipeUIMessageStreamToResponse(a,{originalMessages:b,generateMessageId:c,onEnd:d,onFinish:e,messageMetadata:f,sendReasoning:g,sendSources:h,sendFinish:i,sendStart:j,onError:k,...l}={}){return function({response:a,status:b,statusText:c,headers:d,stream:e,consumeSseStream:f}){let g=e.pipeThrough(new dB);if(f){let[a,b]=g.tee();g=a,f({stream:b})}return dA({response:a,status:b,statusText:c,headers:Object.fromEntries(dz(d,dC).entries()),stream:g.pipeThrough(new TextEncoderStream)})}({response:a,stream:this.toUIMessageStream({originalMessages:b,generateMessageId:c,onEnd:null!=d?d:e,messageMetadata:f,sendReasoning:g,sendSources:h,sendFinish:i,sendStart:j,onError:k}),...l})}pipeTextStreamToResponse(a,b){return function({response:a,status:b,statusText:c,headers:d,stream:e}){return dA({response:a,status:b,statusText:c,headers:Object.fromEntries(dz(d,{"content-type":"text/plain; charset=utf-8"}).entries()),stream:e.pipeThrough(new TextEncoderStream)})}({response:a,stream:this.textStream,...b})}toUIMessageStreamResponse({originalMessages:a,generateMessageId:b,onEnd:c,onFinish:d,messageMetadata:e,sendReasoning:f,sendSources:g,sendFinish:h,sendStart:i,onError:j,...k}={}){return function({status:a,statusText:b,headers:c,stream:d,consumeSseStream:e}){let f=d.pipeThrough(new dB);if(e){let[a,b]=f.tee();f=a,e({stream:b})}return new Response(f.pipeThrough(new TextEncoderStream),{status:a,statusText:b,headers:dz(c,dC)})}({stream:this.toUIMessageStream({originalMessages:a,generateMessageId:b,onEnd:null!=c?c:d,messageMetadata:e,sendReasoning:f,sendSources:g,sendFinish:h,sendStart:i,onError:j}),...k})}toTextStreamResponse(a){return function({status:a,statusText:b,headers:c,stream:d}){return new Response(d.pipeThrough(new TextEncoderStream),{status:null!=a?a:200,statusText:b,headers:dz(c,{"content-type":"text/plain; charset=utf-8"})})}({stream:this.textStream,...a})}},d2=class{constructor(a){this.version="agent-v1";const{onFinish:b,onEnd:c=b}=a;this.settings={...a,onEnd:c}}get id(){return this.settings.id}get tools(){return this.settings.tools}async prepareCall(a){var b,c,d,e;if(null!=this.settings.callOptionsSchema&&void 0!==a.options){let b=await (0,R.validateTypes)({value:a.options,schema:this.settings.callOptionsSchema,context:{field:"options"}});a={...a,options:b}}let{onStart:f,experimental_onStart:g,onStepStart:h,experimental_onStepStart:i,onToolExecutionStart:j,onToolExecutionEnd:k,onStepEnd:l,onStepFinish:m,onFinish:n,onEnd:o,...p}=this.settings,q={...p,stopWhen:null!=(b=this.settings.stopWhen)?b:dc(20),...a},{instructions:r,allowSystemInMessages:s,messages:t,prompt:u,runtimeContext:v,...w}=null!=(e=await (null==(d=(c=this.settings).prepareCall)?void 0:d.call(c,q)))?e:q,x={instructions:r,allowSystemInMessages:s,messages:t,prompt:u};return void 0===v?{...w,...x}:{...w,runtimeContext:v,...x}}agentHeaders(a){var b;return(0,R.withUserAgentSuffix)(null!=(b=a.headers)?b:{},"ai-sdk-agent/tool-loop")}async generate({abortSignal:a,timeout:b,experimental_sandbox:c,onStart:d,experimental_onStart:e,onStepStart:f,experimental_onStepStart:g,onToolExecutionStart:h,onToolExecutionEnd:i,onStepEnd:j,onStepFinish:k,onFinish:l,onEnd:m=l,...n}){var o,p,q;let r=await this.prepareCall({...n,experimental_sandbox:c}),s={abortSignal:a,timeout:null!=b?b:r.timeout,experimental_sandbox:c,onStart:c_(null!=(o=this.settings.onStart)?o:this.settings.experimental_onStart,null!=d?d:e),onStepStart:c_(null!=(p=this.settings.onStepStart)?p:this.settings.experimental_onStepStart,null!=f?f:g),onToolExecutionStart:c_(this.settings.onToolExecutionStart,h),onToolExecutionEnd:c_(this.settings.onToolExecutionEnd,i),onStepEnd:c_(null!=(q=this.settings.onStepEnd)?q:this.settings.onStepFinish,null!=j?j:k),onEnd:c_(this.settings.onEnd,m)};return await dw({...r,...s,headers:this.agentHeaders(r)})}async stream({abortSignal:a,timeout:b,experimental_sandbox:c,experimental_transform:d,onStart:e,experimental_onStart:f,onStepStart:g,experimental_onStepStart:h,onToolExecutionStart:i,onToolExecutionEnd:j,onStepEnd:k,onStepFinish:l,onFinish:m,onEnd:n=m,...o}){var p,q,r;let s=await this.prepareCall({...o,experimental_sandbox:c}),t={abortSignal:a,timeout:null!=b?b:s.timeout,experimental_sandbox:c,experimental_transform:d,onStart:c_(null!=(p=this.settings.onStart)?p:this.settings.experimental_onStart,null!=e?e:f),onStepStart:c_(null!=(q=this.settings.onStepStart)?q:this.settings.experimental_onStepStart,null!=g?g:h),onToolExecutionStart:c_(this.settings.onToolExecutionStart,i),onToolExecutionEnd:c_(this.settings.onToolExecutionEnd,j),onStepEnd:c_(null!=(r=this.settings.onStepEnd)?r:this.settings.onStepFinish,null!=k?k:l),onEnd:c_(this.settings.onEnd,n)};return await function({model:a,tools:b,toolChoice:c,instructions:d,system:e,prompt:f,messages:g,allowSystemInMessages:h,maxRetries:i,streamRetries:j,abortSignal:k,timeout:l,headers:m,stopWhen:n=dc(1),experimental_sandbox:o,output:p,toolApproval:q,experimental_toolCallers:r,experimental_toolApprovalSecret:s,experimental_telemetry:t,telemetry:u=t,prepareStep:v,providerOptions:w,activeTools:x,toolOrder:y,experimental_repairToolCall:z,repairToolCall:A=z,experimental_refineToolInput:B,experimental_transform:C,experimental_download:D,includeRawChunks:E,onChunk:F,onError:G,onFinish:H,onEnd:I=H,onAbort:J,onStepEnd:K,onStepFinish:L,onStart:M,experimental_onStart:N,onStepStart:O,experimental_onStepStart:P,onLanguageModelCallStart:Q,experimental_onLanguageModelCallStart:S,onLanguageModelCallEnd:T,experimental_onLanguageModelCallEnd:U,onToolExecutionStart:V,onToolExecutionEnd:W,experimental_onToolCallStart:X,experimental_onToolCallFinish:Y,runtimeContext:Z={},toolsContext:$={},experimental_include:_,include:aa=_,_internal:{now:ab=cv,generateId:ac=dX,generateCallId:ad=dY}={},...ae}){var af,ag,ah,ai;let aj=bY(l),ak=bZ(l),al=b$(l),am=b_(l),an=null!=ak?new AbortController:void 0,ao=null!=al?new AbortController:void 0,ap=null!=am?new AbortController:void 0,aq=null!=G?G:({error:a})=>{console.error(a)};return new d1({model:bC(a),telemetry:u,headers:m,settings:ae,maxRetries:i,streamRetries:j,abortSignal:cu(k,aj,null==an?void 0:an.signal,null==ao?void 0:ao.signal,null==ap?void 0:ap.signal),stepTimeoutMs:ak,stepAbortController:an,firstChunkTimeoutMs:al,firstChunkAbortController:ao,chunkTimeoutMs:am,chunkAbortController:ap,instructions:d,system:e,prompt:f,messages:g,allowSystemInMessages:h,experimental_sandbox:o,tools:b,toolsContext:$,runtimeContext:Z,toolChoice:c,transforms:(0,R.asArray)(C),activeTools:x,toolOrder:y,repairToolCall:A,refineToolInput:B,stopConditions:(0,R.asArray)(n),output:p,toolApproval:q,experimental_toolCallers:r,experimental_toolApprovalSecret:s,providerOptions:w,prepareStep:v,timeout:l,onChunk:F,onError:aq,canRetryStreamViaOnError:void 0!==j&&null!=G,onEnd:I,onAbort:J,onStepFinish:null!=K?K:L,onStart:null!=M?M:N,onStepStart:null!=O?O:P,onLanguageModelCallStart:null!=Q?Q:S,onLanguageModelCallEnd:null!=T?T:U,onToolExecutionStart:null!=V?V:X,onToolExecutionEnd:null!=W?W:Y,now:ab,generateId:ac,generateCallId:ad,download:D,include:{requestBody:null!=(af=null==aa?void 0:aa.requestBody)&&af,requestMessages:null!=(ag=null==aa?void 0:aa.requestMessages)&&ag,rawChunks:null!=(ai=null!=(ah=null==aa?void 0:aa.rawChunks)?ah:E)&&ai}})}({...s,...t,headers:this.agentHeaders(s)})}},d3=b0.record(b0.string(),b1.optional()),d4=b0.record(b0.string(),b0.string());function d5(a){if(a instanceof Uint8Array)return a;if("string"==typeof a)try{return(0,R.convertBase64ToUint8Array)(a)}catch(b){throw new bd({message:"Invalid data content. Content string is not a base64-encoded media.",content:a,cause:b})}if(a instanceof ArrayBuffer)return new Uint8Array(a);throw new bd({content:a})}(0,R.lazySchema)(()=>(0,R.zodSchema)(b0.array(b0.object({id:b0.string(),role:b0.enum(["system","user","assistant"]),metadata:b0.unknown().optional(),parts:b0.array(b0.union([b0.object({type:b0.literal("text"),text:b0.string(),state:b0.enum(["streaming","done"]).optional(),providerMetadata:b2.optional()}),b0.object({type:b0.literal("reasoning"),id:b0.string().optional(),text:b0.string(),state:b0.enum(["streaming","done"]).optional(),providerMetadata:b2.optional()}),b0.object({type:b0.literal("custom"),kind:b0.string(),providerMetadata:b2.optional()}),b0.object({type:b0.literal("source-url"),sourceId:b0.string(),url:b0.string(),title:b0.string().optional(),providerMetadata:b2.optional()}),b0.object({type:b0.literal("source-document"),sourceId:b0.string(),mediaType:b0.string(),title:b0.string(),filename:b0.string().optional(),providerMetadata:b2.optional()}),b0.object({type:b0.literal("file"),mediaType:b0.string(),filename:b0.string().optional(),url:b0.string(),providerReference:d4.optional(),providerMetadata:b2.optional()}),b0.object({type:b0.literal("reasoning-file"),mediaType:b0.string(),url:b0.string(),providerMetadata:b2.optional()}),b0.object({type:b0.literal("step-start")}),b0.object({type:b0.string().startsWith("data-"),id:b0.string().optional(),data:b0.unknown()}),b0.object({type:b0.literal("dynamic-tool"),toolName:b0.string(),toolCallId:b0.string(),title:b0.string().optional(),toolMetadata:d3.optional(),state:b0.literal("input-streaming"),input:b0.unknown().optional(),providerExecuted:b0.boolean().optional(),callProviderMetadata:b2.optional(),output:b0.never().optional(),errorText:b0.never().optional(),approval:b0.never().optional()}),b0.object({type:b0.literal("dynamic-tool"),toolName:b0.string(),toolCallId:b0.string(),title:b0.string().optional(),toolMetadata:d3.optional(),state:b0.literal("input-available"),input:b0.unknown(),providerExecuted:b0.boolean().optional(),output:b0.never().optional(),errorText:b0.never().optional(),callProviderMetadata:b2.optional(),approval:b0.never().optional()}),b0.object({type:b0.literal("dynamic-tool"),toolName:b0.string(),toolCallId:b0.string(),title:b0.string().optional(),toolMetadata:d3.optional(),state:b0.literal("approval-requested"),input:b0.unknown(),providerExecuted:b0.boolean().optional(),output:b0.never().optional(),errorText:b0.never().optional(),callProviderMetadata:b2.optional(),approval:b0.object({id:b0.string(),approved:b0.never().optional(),descriptor:b0.unknown().optional(),requestReason:b0.string().optional(),reason:b0.never().optional(),isAutomatic:b0.boolean().optional(),signature:b0.string().optional()})}),b0.object({type:b0.literal("dynamic-tool"),toolName:b0.string(),toolCallId:b0.string(),title:b0.string().optional(),toolMetadata:d3.optional(),state:b0.literal("approval-responded"),input:b0.unknown(),providerExecuted:b0.boolean().optional(),output:b0.never().optional(),errorText:b0.never().optional(),callProviderMetadata:b2.optional(),approval:b0.object({id:b0.string(),approved:b0.boolean(),descriptor:b0.unknown().optional(),requestReason:b0.string().optional(),reason:b0.string().optional(),isAutomatic:b0.boolean().optional(),signature:b0.string().optional()})}),b0.object({type:b0.literal("dynamic-tool"),toolName:b0.string(),toolCallId:b0.string(),title:b0.string().optional(),toolMetadata:d3.optional(),state:b0.literal("output-available"),input:b0.unknown(),providerExecuted:b0.boolean().optional(),output:b0.unknown(),errorText:b0.never().optional(),callProviderMetadata:b2.optional(),resultProviderMetadata:b2.optional(),preliminary:b0.boolean().optional(),approval:b0.object({id:b0.string(),approved:b0.literal(!0),descriptor:b0.unknown().optional(),requestReason:b0.string().optional(),reason:b0.string().optional(),isAutomatic:b0.boolean().optional(),signature:b0.string().optional()}).optional()}),b0.object({type:b0.literal("dynamic-tool"),toolName:b0.string(),toolCallId:b0.string(),title:b0.string().optional(),toolMetadata:d3.optional(),state:b0.literal("output-error"),input:b0.unknown().optional(),rawInput:b0.unknown().optional(),providerExecuted:b0.boolean().optional(),output:b0.never().optional(),errorText:b0.string(),callProviderMetadata:b2.optional(),resultProviderMetadata:b2.optional(),approval:b0.object({id:b0.string(),approved:b0.literal(!0),descriptor:b0.unknown().optional(),requestReason:b0.string().optional(),reason:b0.string().optional(),isAutomatic:b0.boolean().optional(),signature:b0.string().optional()}).optional()}),b0.object({type:b0.literal("dynamic-tool"),toolName:b0.string(),toolCallId:b0.string(),title:b0.string().optional(),toolMetadata:d3.optional(),state:b0.literal("output-denied"),input:b0.unknown(),providerExecuted:b0.boolean().optional(),output:b0.never().optional(),errorText:b0.never().optional(),callProviderMetadata:b2.optional(),approval:b0.object({id:b0.string(),approved:b0.literal(!1),descriptor:b0.unknown().optional(),requestReason:b0.string().optional(),reason:b0.string().optional(),isAutomatic:b0.boolean().optional(),signature:b0.string().optional()})}),b0.object({type:b0.string().startsWith("tool-"),toolCallId:b0.string(),title:b0.string().optional(),toolMetadata:d3.optional(),state:b0.literal("input-streaming"),providerExecuted:b0.boolean().optional(),callProviderMetadata:b2.optional(),input:b0.unknown().optional(),output:b0.never().optional(),errorText:b0.never().optional(),approval:b0.never().optional()}),b0.object({type:b0.string().startsWith("tool-"),toolCallId:b0.string(),title:b0.string().optional(),toolMetadata:d3.optional(),state:b0.literal("input-available"),providerExecuted:b0.boolean().optional(),input:b0.unknown(),output:b0.never().optional(),errorText:b0.never().optional(),callProviderMetadata:b2.optional(),approval:b0.never().optional()}),b0.object({type:b0.string().startsWith("tool-"),toolCallId:b0.string(),title:b0.string().optional(),toolMetadata:d3.optional(),state:b0.literal("approval-requested"),input:b0.unknown(),providerExecuted:b0.boolean().optional(),output:b0.never().optional(),errorText:b0.never().optional(),callProviderMetadata:b2.optional(),approval:b0.object({id:b0.string(),approved:b0.never().optional(),descriptor:b0.unknown().optional(),requestReason:b0.string().optional(),reason:b0.never().optional(),isAutomatic:b0.boolean().optional(),signature:b0.string().optional()})}),b0.object({type:b0.string().startsWith("tool-"),toolCallId:b0.string(),title:b0.string().optional(),toolMetadata:d3.optional(),state:b0.literal("approval-responded"),input:b0.unknown(),providerExecuted:b0.boolean().optional(),output:b0.never().optional(),errorText:b0.never().optional(),callProviderMetadata:b2.optional(),approval:b0.object({id:b0.string(),approved:b0.boolean(),descriptor:b0.unknown().optional(),requestReason:b0.string().optional(),reason:b0.string().optional(),isAutomatic:b0.boolean().optional(),signature:b0.string().optional()})}),b0.object({type:b0.string().startsWith("tool-"),toolCallId:b0.string(),title:b0.string().optional(),toolMetadata:d3.optional(),state:b0.literal("output-available"),providerExecuted:b0.boolean().optional(),input:b0.unknown(),output:b0.unknown(),errorText:b0.never().optional(),callProviderMetadata:b2.optional(),resultProviderMetadata:b2.optional(),preliminary:b0.boolean().optional(),approval:b0.object({id:b0.string(),approved:b0.literal(!0),descriptor:b0.unknown().optional(),requestReason:b0.string().optional(),reason:b0.string().optional(),isAutomatic:b0.boolean().optional(),signature:b0.string().optional()}).optional()}),b0.object({type:b0.string().startsWith("tool-"),toolCallId:b0.string(),title:b0.string().optional(),toolMetadata:d3.optional(),state:b0.literal("output-error"),providerExecuted:b0.boolean().optional(),input:b0.unknown().optional(),rawInput:b0.unknown().optional(),output:b0.never().optional(),errorText:b0.string(),callProviderMetadata:b2.optional(),resultProviderMetadata:b2.optional(),approval:b0.object({id:b0.string(),approved:b0.literal(!0),descriptor:b0.unknown().optional(),requestReason:b0.string().optional(),reason:b0.string().optional(),isAutomatic:b0.boolean().optional(),signature:b0.string().optional()}).optional()}),b0.object({type:b0.string().startsWith("tool-"),toolCallId:b0.string(),title:b0.string().optional(),toolMetadata:d3.optional(),state:b0.literal("output-denied"),providerExecuted:b0.boolean().optional(),input:b0.unknown(),output:b0.never().optional(),errorText:b0.never().optional(),callProviderMetadata:b2.optional(),approval:b0.object({id:b0.string(),approved:b0.literal(!1),descriptor:b0.unknown().optional(),requestReason:b0.string().optional(),reason:b0.string().optional(),isAutomatic:b0.boolean().optional(),signature:b0.string().optional()})})]))}).superRefine((a,b)=>{"assistant"!==a.role&&0===a.parts.length&&b.addIssue({origin:"array",code:"too_small",minimum:1,inclusive:!0,input:a.parts,path:["parts"],message:"Message must contain at least one part"})})).nonempty("Messages array must not be empty"))),(0,R.createIdGenerator)({prefix:"call",size:24}),(0,R.createIdGenerator)({prefix:"call",size:24}),new TextEncoder;var d6=["cost","gatewayCost","inferenceCost","inputInferenceCost","marketCost","outputInferenceCost","surchargeCost"];async function d7({model:a,prompt:b,n:c=1,maxImagesPerCall:d,size:e,aspectRatio:f,seed:g,providerOptions:h,maxRetries:i,abortSignal:j,headers:k}){var l,m,n;let o=function(a){if("string"==typeof a)return bD().imageModel(a);if(!["v4","v3","v2"].includes(a.specificationVersion))throw new a5({version:a.specificationVersion,provider:a.provider,modelId:a.modelId});return bt(a)}(a),p=(0,R.withUserAgentSuffix)(null!=k?k:{},`ai/${bF}`),{retry:q}=cx({maxRetries:i,abortSignal:j}),r=null!=(l=null!=d?d:await d9(o))?l:1,s=Math.ceil(c/r),t=Array.from({length:s},(a,b)=>{if(b<s-1)return r;let d=c%r;return 0===d?r:d}),u=await Promise.all(t.map(async a=>await q(()=>{var c;let{prompt:d,files:i,mask:k}="string"==typeof(c=b)?{prompt:c,files:void 0,mask:void 0}:{prompt:c.text,files:c.images.map(ea),mask:c.mask?ea(c.mask):void 0};return o.doGenerate({prompt:d,files:i,mask:k,n:a,abortSignal:j,headers:p,size:e,aspectRatio:f,seed:g,providerOptions:null!=h?h:{}})}))),v=[],w=[],x=[],y=[],z={},A={inputTokens:void 0,outputTokens:void 0,totalTokens:void 0};for(let a of u){let b=a.images.map((b,c)=>{var d;return new cB({data:b,mediaType:null!=(d=(0,R.detectMediaType)({data:b,topLevelType:"image"}))?d:"image/png",providerMetadata:function(a,b){var c;let d;if(null!=a){for(let[e,f]of Object.entries(a)){let a=null==(c=f.images)?void 0:c[b];(0,S.isJSONObject)(a)&&!Array.isArray(a)&&((null!=d?d:d={})[e]=a)}return d}}(a.providerMetadata,c)})});if(v.push(...b),w.push({images:b,providerMetadata:a.providerMetadata,response:a.response,warnings:a.warnings,usage:a.usage}),x.push(...a.warnings),null!=a.usage&&(m=A,n=a.usage,A={inputTokens:cs(m.inputTokens,n.inputTokens),outputTokens:cs(m.outputTokens,n.outputTokens),totalTokens:cs(m.totalTokens,n.totalTokens)}),a.providerMetadata)for(let[b,c]of Object.entries(a.providerMetadata))if("gateway"===b){let a=z[b];if(null!=a&&"object"==typeof a){let d=c;z[b]={...a,...c,...Object.fromEntries(d6.flatMap(b=>{let c=function(a,b){if("string"!=typeof a||"string"!=typeof b||!/^\d+(?:\.\d+)?$/.test(a)||!/^\d+(?:\.\d+)?$/.test(b))return;let[c,d=""]=a.split("."),[e,f=""]=b.split("."),g=Math.max(d.length,f.length),h=(BigInt(c+d.padEnd(g,"0"))+BigInt(e+f.padEnd(g,"0"))).toString().padStart(g+1,"0");return 0===g?h:`${h.slice(0,-g)}.${h.slice(-g)}`.replace(/\.?0+$/,"")}(a[b],d[b]);return null==c?[]:[[b,c]]}))}}else z[b]={...c};let d=z[b].images;Array.isArray(d)&&0===d.length&&delete z[b].images}else null!=z[b]||(z[b]={images:[]}),z[b].images.push(...c.images);y.push(a.response)}if(bp({warnings:x,provider:o.provider,model:o.modelId}),!v.length)throw new av({calls:w,responses:y});return new d8({images:v,calls:w,warnings:x,responses:y,providerMetadata:z,usage:A})}var d8=class{constructor(a){this.images=a.images,this.calls=a.calls,this.warnings=a.warnings,this.responses=a.responses,this.providerMetadata=a.providerMetadata,this.usage=a.usage}get image(){return this.images[0]}};async function d9(a){return a.maxImagesPerCall instanceof Function?a.maxImagesPerCall({modelId:a.modelId}):a.maxImagesPerCall}function ea(a){if("string"==typeof a&&a.startsWith("http"))return{type:"url",url:a};if("string"==typeof a&&a.startsWith("data:")){let{mediaType:b,base64Content:c}=bI(a);if(null!=c){let a=(0,R.convertBase64ToUint8Array)(c);return{type:"file",data:a,mediaType:b||(0,R.detectMediaType)({data:a,topLevelType:"image"})||"image/png"}}}let b=d5(a);return{type:"file",data:b,mediaType:(0,R.detectMediaType)({data:b,topLevelType:"image"})||"image/png"}}function eb(a){return({url:b,abortSignal:c})=>bG({url:b,maxBytes:null==a?void 0:a.maxBytes,abortSignal:c})}(0,R.createIdGenerator)({prefix:"aiobj",size:24}),(0,R.createIdGenerator)({prefix:"aiobj",size:24});var ec=class extends cB{constructor({data:a,mediaType:b}){super({data:a,mediaType:b});let c="mp3";if(b){const a=b.split("/");2===a.length&&"audio/mpeg"!==b&&(c=a[1])}if(!c)throw Error("Audio format must be provided or determinable from media type");this.format=c}};async function ed({model:a,text:b,voice:c,outputFormat:d,instructions:e,speed:f,language:g,providerOptions:h={},maxRetries:i,abortSignal:j,headers:k}){var l;let m=function(a){var b,c;if("string"==typeof a)return null==(c=(b=bD()).speechModel)?void 0:c.call(b,a);if(!["v4","v3","v2"].includes(a.specificationVersion))throw new a5({version:a.specificationVersion,provider:a.provider,modelId:a.modelId});return bz(a)}(a);if(!m)throw Error("Model could not be resolved");let n=(0,R.withUserAgentSuffix)(null!=k?k:{},`ai/${bF}`),{retry:o}=cx({maxRetries:i,abortSignal:j}),p=await o(()=>m.doGenerate({text:b,voice:c,outputFormat:d,instructions:e,speed:f,language:g,abortSignal:j,headers:n,providerOptions:h}));if(!p.audio||0===p.audio.length)throw new aH({responses:[p.response]});return bp({warnings:p.warnings,provider:m.provider,model:m.modelId}),new ee({audio:new ec({data:p.audio,mediaType:null!=(l=(0,R.detectMediaType)({data:p.audio,topLevelType:"audio"}))?l:"audio/mp3"}),warnings:p.warnings,responses:[p.response],providerMetadata:p.providerMetadata})}var ee=class{constructor(a){var b;this.audio=a.audio,this.warnings=a.warnings,this.responses=a.responses,this.providerMetadata=null!=(b=a.providerMetadata)?b:{}}},ef=eb();async function eg({model:a,prompt:b,n:c=1,maxVideosPerCall:d,aspectRatio:e,resolution:f,duration:g,fps:h,seed:i,frameImages:j,inputReferences:k,generateAudio:l,providerOptions:m,maxRetries:n,abortSignal:o,headers:p,download:q=ef,poll:r,webhook:s}){var t;let u=function(a){var b;if("string"==typeof a){let c=(null!=(b=globalThis.AI_SDK_DEFAULT_PROVIDER)?b:Q.gateway).videoModel;if(!c)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 c(a)}if(!["v4","v3"].includes(a.specificationVersion))throw new a5({version:a.specificationVersion,provider:a.provider,modelId:a.modelId});return"v4"===a.specificationVersion?a:new Proxy(a,{get:(a,b)=>"specificationVersion"===b?"v4":a[b]})}(a),v=(0,R.withUserAgentSuffix)(null!=p?p:{},`ai/${bF}`),{retry:w}=cx({maxRetries:n,abortSignal:o}),{prompt:x,resolvedImage:y,normalizedFrameImages:z,effectiveInputReferences:A,warnings:B}=function({promptArg:a,frameImages:b,inputReferences:c}){var d;let{prompt:e,image:f}="string"==typeof a?{prompt:a,image:void 0}:{prompt:a.text,image:null!=a.image?el(a.image):void 0},g=null==b?void 0:b.flatMap(a=>{let b=el(a.image);return null!=b?[{image:b,frameType:a.frameType}]:[]}),h=null==c?void 0:c.flatMap(a=>{let b=function(a){if(!("object"==typeof a&&null!=a&&!(a instanceof Uint8Array)&&!(a instanceof ArrayBuffer)&&"data"in a))return el(a,{restrictToImages:!1});let b=el(a.data,{restrictToImages:!1});return null==b?b:{...b,...null!=a.mediaType?{mediaType:a.mediaType}:{}}}(a);return null!=b?[b]:[]}),i=null!=g&&g.length>0?void 0:h,j=[];null!=g&&g.length>0&&null!=h&&h.length>0&&j.push({type:"other",message:"inputReferences were ignored because frameImages were provided; frameImages and inputReferences cannot be combined."});let k=null==(d=null==g?void 0:g.find(a=>"first_frame"===a.frameType))?void 0:d.image;return null!=f&&null!=k&&j.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:e,resolvedImage:null!=k?k:f,normalizedFrameImages:g,effectiveInputReferences:i,warnings:j}}({promptArg:b,frameImages:j,inputReferences:k}),C=null!=(t=null!=d?d:await em(u))?t:1,D=null!=u.doStart&&null!=u.doStatus,E=D&&(null!=r||null!=s||null==u.doGenerate);if(null==u.doGenerate&&!D)throw Error(`Video model ${u.modelId} does not implement doGenerate or doStart/doStatus.`);null==r&&null==s||D||bp({warnings:[{type:"other",message:"poll/webhook options were provided but the model does not support doStart/doStatus. Falling back to doGenerate."}],provider:u.provider,model:u.modelId});let F=Array.from({length:Math.ceil(c/C)},(a,b)=>Math.min(c-b*C,C)),G=await Promise.all(F.map(async a=>{let b={prompt:x,n:a,aspectRatio:e,resolution:f,duration:g,fps:h,seed:i,image:y,frameImages:z,inputReferences:A,generateAudio:l,providerOptions:null!=m?m:{},headers:v,abortSignal:o};return E?eh({model:u,callOptions:b,poll:r,webhook:s,retry:w}):w(()=>u.doGenerate(b))})),H=[],I=[],J={};for(let a of G){for(let b of a.videos)switch(b.type){case"url":{let{data:a,mediaType:c}=await q({url:new URL(b.url),abortSignal:o}),d=a=>!!a&&"application/octet-stream"!==a,e=d(b.mediaType)&&b.mediaType||d(c)&&c||(0,R.detectMediaType)({data:a,topLevelType:"video"})||"video/mp4";H.push(new cB({data:a,mediaType:e}));break}case"base64":H.push(new cB({data:b.data,mediaType:b.mediaType||"video/mp4"}));break;case"binary":{let a=b.mediaType||(0,R.detectMediaType)({data:b.data,topLevelType:"video"})||"video/mp4";H.push(new cB({data:b.data,mediaType:a}))}}B.push(...a.warnings),I.push({timestamp:a.response.timestamp,modelId:a.response.modelId,headers:a.response.headers,providerMetadata:a.providerMetadata}),null!=a.providerMetadata&&ej(J,a.providerMetadata)}if(0===H.length)throw new aQ({responses:I});return B.length>0&&bp({warnings:B,provider:u.provider,model:u.modelId}),{video:H[0],videos:H,warnings:B,responses:I,providerMetadata:J}}async function eh({model:a,callOptions:b,poll:c,webhook:d,retry:e}){var f,g,h,i;let j,k,l=[];if(null!=d)if(null!=a.handleWebhookOption){let b=await a.handleWebhookOption({webhook:d});j=b.webhookUrl,k=b.received}else l.push({type:"unsupported",feature:"webhook",details:"This model does not support webhooks. Falling back to polling."});let m=Object.entries(null!=(f=b.headers)?f:{}).find(([a,b])=>"idempotency-key"===a.toLowerCase()&&void 0!==b),n={...b,headers:{...b.headers,...m?{}:{"idempotency-key":`aisdk_vid_${(0,R.generateId)()}`}},webhookUrl:j},o=await e(()=>a.doStart(n)),p=[...l,...o.warnings],q=null==o.providerMetadata?void 0:{...o.providerMetadata},r=null!=(g=null==c?void 0:c.intervalMs)?g:5e3,s=null!=(h=null==c?void 0:c.timeoutMs)?h:6e5,t=null!=(i=null==c?void 0:c.delay)?i:R.delay,u=Date.now();for(null!=k&&await ei({received:k,timeoutMs:s,abortSignal:b.abortSignal,delay:t});;){if(null==k){let a=Date.now()-u;if(a>=s||(await t(Math.min(r,s-a),{abortSignal:b.abortSignal}),Date.now()-u>=s))throw Error(`Video generation timed out after ${s}ms.`)}let c=await e(()=>a.doStatus({operation:o.operation,abortSignal:b.abortSignal,headers:b.headers}));if("error"===c.status)throw Error(c.error);if(null!=c.warnings&&p.push(...c.warnings),null!=c.providerMetadata&&(null!=q||(q={}),ej(q,c.providerMetadata)),"completed"===c.status)return{videos:c.videos,warnings:p,providerMetadata:q,response:c.response};if(null!=k)throw Error("Video generation did not complete after webhook notification.")}}async function ei({received:a,timeoutMs:b,abortSignal:c,delay:d}){let e="function"==typeof globalThis.AbortController?new globalThis.AbortController:void 0;try{await Promise.race([a,d(b,{abortSignal:null==e?c:cu(c,e.signal)}).then(()=>{throw Error(`Video generation timed out after ${b}ms.`)})])}finally{null==e||e.abort()}}function ej(a,b){for(let[c,d]of Object.entries(b)){let b=a[c];null!=b&&"object"==typeof b&&null!=d&&"object"==typeof d?(a[c]={...b,...d},"videos"in b&&Array.isArray(b.videos)&&"videos"in d&&Array.isArray(d.videos)&&(a[c].videos=[...b.videos,...d.videos])):a[c]=d}}function ek(a,b){let c=b?(0,R.detectMediaType)({data:a,topLevelType:"image"}):(0,R.detectMediaType)({data:a});return null!=c?c:"image/png"}function el(a,{restrictToImages:b=!0}={}){if("string"==typeof a){if(a.startsWith("http://")||a.startsWith("https://"))return{type:"url",url:a};if(a.startsWith("data:")){let{mediaType:c,base64Content:d}=bI(a),e=(0,R.convertBase64ToUint8Array)(null!=d?d:"");return{type:"file",mediaType:null!=c?c:ek(e,b),data:e}}let c=(0,R.convertBase64ToUint8Array)(a);return{type:"file",mediaType:ek(c,b),data:c}}if(a instanceof Uint8Array||a instanceof ArrayBuffer){let c=a instanceof Uint8Array?a:new Uint8Array(a);return{type:"file",mediaType:ek(c,b),data:c}}}async function em(a){return"function"==typeof a.maxVideosPerCall?await a.maxVideosPerCall({modelId:a.modelId}):a.maxVideosPerCall}Symbol.for("vercel.ai.error.AI_NoSuchProviderError");S.NoSuchModelError,(0,R.createIdGenerator)({prefix:"call",size:24});var en=eb();async function eo({model:a,audio:b,providerOptions:c={},maxRetries:d,abortSignal:e,headers:f,download:g=en}){let h=function(a){var b,c;if("string"==typeof a)return null==(c=(b=bD()).transcriptionModel)?void 0:c.call(b,a);if(!["v4","v3","v2"].includes(a.specificationVersion))throw new a5({version:a.specificationVersion,provider:a.provider,modelId:a.modelId});return bB(a)}(a);if(!h)throw Error("Model could not be resolved");let{retry:i}=cx({maxRetries:d,abortSignal:e}),j=(0,R.withUserAgentSuffix)(null!=f?f:{},`ai/${bF}`),k=b instanceof URL?(await g({url:b,abortSignal:e})).data:d5(b),l=await i(()=>{var a;return h.doGenerate({audio:k,abortSignal:e,headers:j,providerOptions:c,mediaType:null!=(a=(0,R.detectMediaType)({data:k,topLevelType:"audio"}))?a:"audio/wav"})});if(bp({warnings:l.warnings,provider:h.provider,model:h.modelId}),!l.text)throw new aL({responses:[l.response]});return new ep({text:l.text,segments:l.segments,language:l.language,durationInSeconds:l.durationInSeconds,warnings:l.warnings,responses:[l.response],providerMetadata:l.providerMetadata})}var ep=class{constructor(a){var b;this.text=a.text,this.segments=a.segments,this.language=a.language,this.durationInSeconds=a.durationInSeconds,this.warnings=a.warnings,this.responses=a.responses,this.providerMetadata=null!=(b=a.providerMetadata)?b:{}}};a.s(["NoOutputGeneratedError",0,aD,"RetryError",0,bm,"ToolLoopAgent",0,d2,"experimental_generateVideo",0,eg,"generateImage",0,d7,"generateSpeech",0,ed,"generateText",0,dw,"hasToolCall",0,function(...a){return({steps:b})=>{var c,d,e;return null!=(e=null==(d=null==(c=b[b.length-1])?void 0:c.toolCalls)?void 0:d.some(b=>a.includes(b.toolName)))&&e}},"pruneMessages",0,function({messages:a,reasoning:b="none",toolCalls:c=[],emptyMessages:d="remove"}){for(let d of(("all"===b||"before-last-message"===b)&&(a=a.map((c,d)=>"assistant"!==c.role||"string"==typeof c.content||"before-last-message"===b&&d===a.length-1?c:{...c,content:c.content.filter(a=>"reasoning"!==a.type)})),"none"===c?c=[]:"all"===c?c=[{type:"all"}]:"before-last-message"===c?c=[{type:"before-last-message"}]:"string"==typeof c&&(c=[{type:c}]),c)){let b="all"===d.type?void 0:"before-last-message"===d.type?1:Number(d.type.slice(12).slice(0,-9)),c=new Set,e=new Set;if(null!=b){for(let d of a.slice(-b))if(("assistant"===d.role||"tool"===d.role)&&"string"!=typeof d.content)for(let a of d.content)"tool-call"===a.type||"tool-result"===a.type?c.add(a.toolCallId):("tool-approval-request"===a.type||"tool-approval-response"===a.type)&&e.add(a.approvalId)}let f=new Map;for(let b of a)if(("assistant"===b.role||"tool"===b.role)&&"string"!=typeof b.content)for(let a of b.content)("tool-call"===a.type||"tool-result"===a.type)&&f.set(a.toolCallId,a.toolName);let g=new Map;for(let b of a)if(("assistant"===b.role||"tool"===b.role)&&"string"!=typeof b.content){for(let a of b.content)if("tool-approval-request"===a.type){let b=f.get(a.toolCallId);null!=b&&g.set(a.approvalId,b)}}a=a.map((f,h)=>"assistant"!==f.role&&"tool"!==f.role||"string"==typeof f.content||b&&h>=a.length-b?f:{...f,content:f.content.filter(a=>{if("tool-call"!==a.type&&"tool-result"!==a.type&&"tool-approval-request"!==a.type&&"tool-approval-response"!==a.type||("tool-call"===a.type||"tool-result"===a.type)&&c.has(a.toolCallId)||("tool-approval-request"===a.type||"tool-approval-response"===a.type)&&e.has(a.approvalId))return!0;let b="tool-call"===a.type||"tool-result"===a.type?a.toolName:g.get(a.approvalId);return null!=d.tools&&null!=b&&!d.tools.includes(b)})})}return"remove"===d&&(a=a.filter(a=>a.content.length>0)),a},"stepCountIs",0,dc,"transcribe",0,eo,"wrapLanguageModel",0,({model:a,middleware:b,modelId:c,providerId:d})=>{let e=bx(a);return[...(0,R.asArray)(b)].reverse().reduce((a,b)=>(({model:a,middleware:{transformParams:b,wrapGenerate:c,wrapStream:d,overrideProvider:e,overrideModelId:f,overrideSupportedUrls:g},modelId:h,providerId:i})=>{var j,k,l;async function m({params:c,type:d}){return b?await b({params:c,type:d,model:a}):c}return{specificationVersion:"v4",provider:null!=(j=null!=i?i:null==e?void 0:e({model:a}))?j:a.provider,modelId:null!=(k=null!=h?h:null==f?void 0:f({model:a}))?k:a.modelId,supportedUrls:null!=(l=null==g?void 0:g({model:a}))?l:a.supportedUrls,async doGenerate(b){let d=await m({params:b,type:"generate"}),e=async()=>await a.doGenerate(d),f=async()=>await a.doStream(d);return c?await c({doGenerate:e,doStream:f,params:d,model:a}):await e()},async doStream(b){let c=await m({params:b,type:"stream"}),e=async()=>await a.doGenerate(c),f=async()=>await a.doStream(c);return d?await d({doGenerate:e,doStream:f,params:c,model:a}):await f()}}})({model:a,middleware:b,modelId:c,providerId:d}),e)}])},18956,696818,868023,889650,399602,979309,247355,a=>{"use strict";var b;let c=Symbol.for("constructDateFrom");function d(a,b){return"function"==typeof a?a(b):a&&"object"==typeof a&&c in a?a[c](b):a instanceof Date?new a.constructor(b):new Date(b)}a.s(["constructFromSymbol",0,c,"millisecondsInDay",0,864e5,"millisecondsInMinute",0,6e4,"millisecondsInWeek",0,6048e5,"minutesInDay",0,1440,"minutesInMonth",0,43200,"minutesInYear",0,525600],696818),a.s(["constructFrom",0,d],18956);let e={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 f(a){return (b={})=>{let c=b.width?String(b.width):a.defaultWidth;return a.formats[c]||a.formats[a.defaultWidth]}}let g={date:f({formats:{full:"EEEE, MMMM do, y",long:"MMMM do, y",medium:"MMM d, y",short:"MM/dd/yyyy"},defaultWidth:"full"}),time:f({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:f({formats:{full:"{{date}} 'at' {{time}}",long:"{{date}} 'at' {{time}}",medium:"{{date}}, {{time}}",short:"{{date}}, {{time}}"},defaultWidth:"full"})},h={lastWeek:"'last' eeee 'at' p",yesterday:"'yesterday at' p",today:"'today at' p",tomorrow:"'tomorrow at' p",nextWeek:"eeee 'at' p",other:"P"};function i(a){return(b,c)=>{let d;if("formatting"===(c?.context?String(c.context):"standalone")&&a.formattingValues){let b=a.defaultFormattingWidth||a.defaultWidth,e=c?.width?String(c.width):b;d=a.formattingValues[e]||a.formattingValues[b]}else{let b=a.defaultWidth,e=c?.width?String(c.width):a.defaultWidth;d=a.values[e]||a.values[b]}return d[a.argumentCallback?a.argumentCallback(b):b]}}let j={ordinalNumber:(a,b)=>{let c=Number(a),d=c%100;if(d>20||d<10)switch(d%10){case 1:return c+"st";case 2:return c+"nd";case 3:return c+"rd"}return c+"th"},era:i({values:{narrow:["B","A"],abbreviated:["BC","AD"],wide:["Before Christ","Anno Domini"]},defaultWidth:"wide"}),quarter:i({values:{narrow:["1","2","3","4"],abbreviated:["Q1","Q2","Q3","Q4"],wide:["1st quarter","2nd quarter","3rd quarter","4th quarter"]},defaultWidth:"wide",argumentCallback:a=>a-1}),month:i({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:i({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:i({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 k(a){return(b,c={})=>{let d,e=c.width,f=e&&a.matchPatterns[e]||a.matchPatterns[a.defaultMatchWidth],g=b.match(f);if(!g)return null;let h=g[0],i=e&&a.parsePatterns[e]||a.parsePatterns[a.defaultParseWidth],j=Array.isArray(i)?function(a,b){for(let c=0;c<a.length;c++)if(b(a[c]))return c}(i,a=>a.test(h)):function(a,b){for(let c in a)if(Object.prototype.hasOwnProperty.call(a,c)&&b(a[c]))return c}(i,a=>a.test(h));return d=a.valueCallback?a.valueCallback(j):j,{value:d=c.valueCallback?c.valueCallback(d):d,rest:b.slice(h.length)}}}let l={ordinalNumber:(b={matchPattern:/^(\d+)(th|st|nd|rd)?/i,parsePattern:/\d+/i,valueCallback:a=>parseInt(a,10)},(a,c={})=>{let d=a.match(b.matchPattern);if(!d)return null;let e=d[0],f=a.match(b.parsePattern);if(!f)return null;let g=b.valueCallback?b.valueCallback(f[0]):f[0];return{value:g=c.valueCallback?c.valueCallback(g):g,rest:a.slice(e.length)}}),era:k({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:k({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:a=>a+1}),month:k({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:k({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:k({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"})};a.s(["defaultLocale",0,{code:"en-US",formatDistance:(a,b,c)=>{let d,f=e[a];if(d="string"==typeof f?f:1===b?f.one:f.other.replace("{{count}}",b.toString()),c?.addSuffix)if(c.comparison&&c.comparison>0)return"in "+d;else return d+" ago";return d},formatLong:g,formatRelative:(a,b,c,d)=>h[a],localize:j,match:l,options:{weekStartsOn:0,firstWeekContainsDate:1}}],868023);let m={};function n(a,b){return d(b||a,a)}a.s(["getDefaultOptions",0,function(){return m}],889650),a.s(["toDate",0,n],399602),a.s(["getTimezoneOffsetInMilliseconds",0,function(a){let b=n(a),c=new Date(Date.UTC(b.getFullYear(),b.getMonth(),b.getDate(),b.getHours(),b.getMinutes(),b.getSeconds(),b.getMilliseconds()));return c.setUTCFullYear(b.getFullYear()),a-c}],979309),a.s(["normalizeDates",0,function(a,...b){let c=d.bind(null,a||b.find(a=>"object"==typeof a));return b.map(c)}],247355)},12208,a=>{"use strict";var b=a.i(868023),c=a.i(889650),d=a.i(979309),e=a.i(247355),f=a.i(696818),g=a.i(399602);function h(a,b){let c=(0,g.toDate)(a,b?.in);return c.setHours(0,0,0,0),c}function i(a,b){let d=(0,c.getDefaultOptions)(),e=b?.weekStartsOn??b?.locale?.options?.weekStartsOn??d.weekStartsOn??d.locale?.options?.weekStartsOn??0,f=(0,g.toDate)(a,b?.in),h=f.getDay();return f.setDate(f.getDate()-(7*(h<e)+h-e)),f.setHours(0,0,0,0),f}function j(a,b){return i(a,{...b,weekStartsOn:1})}var k=a.i(18956);function l(a,b){let c=(0,g.toDate)(a,b?.in),d=c.getFullYear(),e=(0,k.constructFrom)(c,0);e.setFullYear(d+1,0,4),e.setHours(0,0,0,0);let f=j(e),h=(0,k.constructFrom)(c,0);h.setFullYear(d,0,4),h.setHours(0,0,0,0);let i=j(h);return c.getTime()>=f.getTime()?d+1:c.getTime()>=i.getTime()?d:d-1}function m(a,b){let d=(0,g.toDate)(a,b?.in),e=d.getFullYear(),f=(0,c.getDefaultOptions)(),h=b?.firstWeekContainsDate??b?.locale?.options?.firstWeekContainsDate??f.firstWeekContainsDate??f.locale?.options?.firstWeekContainsDate??1,j=(0,k.constructFrom)(b?.in||a,0);j.setFullYear(e+1,0,h),j.setHours(0,0,0,0);let l=i(j,b),m=(0,k.constructFrom)(b?.in||a,0);m.setFullYear(e,0,h),m.setHours(0,0,0,0);let n=i(m,b);return+d>=+l?e+1:+d>=+n?e:e-1}function n(a,b){let c=Math.abs(a).toString().padStart(b,"0");return(a<0?"-":"")+c}let o={y(a,b){let c=a.getFullYear(),d=c>0?c:1-c;return n("yy"===b?d%100:d,b.length)},M(a,b){let c=a.getMonth();return"M"===b?String(c+1):n(c+1,2)},d:(a,b)=>n(a.getDate(),b.length),a(a,b){let c=a.getHours()/12>=1?"pm":"am";switch(b){case"a":case"aa":return c.toUpperCase();case"aaa":return c;case"aaaaa":return c[0];default:return"am"===c?"a.m.":"p.m."}},h:(a,b)=>n(a.getHours()%12||12,b.length),H:(a,b)=>n(a.getHours(),b.length),m:(a,b)=>n(a.getMinutes(),b.length),s:(a,b)=>n(a.getSeconds(),b.length),S(a,b){let c=b.length;return n(Math.trunc(a.getMilliseconds()*Math.pow(10,c-3)),b.length)}},p={G:function(a,b,c){let d=+(a.getFullYear()>0);switch(b){case"G":case"GG":case"GGG":return c.era(d,{width:"abbreviated"});case"GGGGG":return c.era(d,{width:"narrow"});default:return c.era(d,{width:"wide"})}},y:function(a,b,c){if("yo"===b){let b=a.getFullYear();return c.ordinalNumber(b>0?b:1-b,{unit:"year"})}return o.y(a,b)},Y:function(a,b,c,d){let e=m(a,d),f=e>0?e:1-e;return"YY"===b?n(f%100,2):"Yo"===b?c.ordinalNumber(f,{unit:"year"}):n(f,b.length)},R:function(a,b){return n(l(a),b.length)},u:function(a,b){return n(a.getFullYear(),b.length)},Q:function(a,b,c){let d=Math.ceil((a.getMonth()+1)/3);switch(b){case"Q":return String(d);case"QQ":return n(d,2);case"Qo":return c.ordinalNumber(d,{unit:"quarter"});case"QQQ":return c.quarter(d,{width:"abbreviated",context:"formatting"});case"QQQQQ":return c.quarter(d,{width:"narrow",context:"formatting"});default:return c.quarter(d,{width:"wide",context:"formatting"})}},q:function(a,b,c){let d=Math.ceil((a.getMonth()+1)/3);switch(b){case"q":return String(d);case"qq":return n(d,2);case"qo":return c.ordinalNumber(d,{unit:"quarter"});case"qqq":return c.quarter(d,{width:"abbreviated",context:"standalone"});case"qqqqq":return c.quarter(d,{width:"narrow",context:"standalone"});default:return c.quarter(d,{width:"wide",context:"standalone"})}},M:function(a,b,c){let d=a.getMonth();switch(b){case"M":case"MM":return o.M(a,b);case"Mo":return c.ordinalNumber(d+1,{unit:"month"});case"MMM":return c.month(d,{width:"abbreviated",context:"formatting"});case"MMMMM":return c.month(d,{width:"narrow",context:"formatting"});default:return c.month(d,{width:"wide",context:"formatting"})}},L:function(a,b,c){let d=a.getMonth();switch(b){case"L":return String(d+1);case"LL":return n(d+1,2);case"Lo":return c.ordinalNumber(d+1,{unit:"month"});case"LLL":return c.month(d,{width:"abbreviated",context:"standalone"});case"LLLLL":return c.month(d,{width:"narrow",context:"standalone"});default:return c.month(d,{width:"wide",context:"standalone"})}},w:function(a,b,d,e){let h,j,l,o,p,q=Math.round((i(h=(0,g.toDate)(a,e?.in),e)-(j=(0,c.getDefaultOptions)(),l=e?.firstWeekContainsDate??e?.locale?.options?.firstWeekContainsDate??j.firstWeekContainsDate??j.locale?.options?.firstWeekContainsDate??1,o=m(h,e),(p=(0,k.constructFrom)(e?.in||h,0)).setFullYear(o,0,l),p.setHours(0,0,0,0),i(p,e)))/f.millisecondsInWeek)+1;return"wo"===b?d.ordinalNumber(q,{unit:"week"}):n(q,b.length)},I:function(a,b,c){let d,e,h,i=Math.round((j(d=(0,g.toDate)(a,void 0))-(e=l(d,void 0),(h=(0,k.constructFrom)(d,0)).setFullYear(e,0,4),h.setHours(0,0,0,0),j(h)))/f.millisecondsInWeek)+1;return"Io"===b?c.ordinalNumber(i,{unit:"week"}):n(i,b.length)},d:function(a,b,c){return"do"===b?c.ordinalNumber(a.getDate(),{unit:"date"}):o.d(a,b)},D:function(a,b,c){let i,j,k=function(a,b){let[c,g]=(0,e.normalizeDates)(void 0,a,b),i=h(c),j=h(g);return Math.round((i-(0,d.getTimezoneOffsetInMilliseconds)(i)-(j-(0,d.getTimezoneOffsetInMilliseconds)(j)))/f.millisecondsInDay)}(i=(0,g.toDate)(a,void 0),((j=(0,g.toDate)(i,void 0)).setFullYear(j.getFullYear(),0,1),j.setHours(0,0,0,0),j))+1;return"Do"===b?c.ordinalNumber(k,{unit:"dayOfYear"}):n(k,b.length)},E:function(a,b,c){let d=a.getDay();switch(b){case"E":case"EE":case"EEE":return c.day(d,{width:"abbreviated",context:"formatting"});case"EEEEE":return c.day(d,{width:"narrow",context:"formatting"});case"EEEEEE":return c.day(d,{width:"short",context:"formatting"});default:return c.day(d,{width:"wide",context:"formatting"})}},e:function(a,b,c,d){let e=a.getDay(),f=(e-d.weekStartsOn+8)%7||7;switch(b){case"e":return String(f);case"ee":return n(f,2);case"eo":return c.ordinalNumber(f,{unit:"day"});case"eee":return c.day(e,{width:"abbreviated",context:"formatting"});case"eeeee":return c.day(e,{width:"narrow",context:"formatting"});case"eeeeee":return c.day(e,{width:"short",context:"formatting"});default:return c.day(e,{width:"wide",context:"formatting"})}},c:function(a,b,c,d){let e=a.getDay(),f=(e-d.weekStartsOn+8)%7||7;switch(b){case"c":return String(f);case"cc":return n(f,b.length);case"co":return c.ordinalNumber(f,{unit:"day"});case"ccc":return c.day(e,{width:"abbreviated",context:"standalone"});case"ccccc":return c.day(e,{width:"narrow",context:"standalone"});case"cccccc":return c.day(e,{width:"short",context:"standalone"});default:return c.day(e,{width:"wide",context:"standalone"})}},i:function(a,b,c){let d=a.getDay(),e=0===d?7:d;switch(b){case"i":return String(e);case"ii":return n(e,b.length);case"io":return c.ordinalNumber(e,{unit:"day"});case"iii":return c.day(d,{width:"abbreviated",context:"formatting"});case"iiiii":return c.day(d,{width:"narrow",context:"formatting"});case"iiiiii":return c.day(d,{width:"short",context:"formatting"});default:return c.day(d,{width:"wide",context:"formatting"})}},a:function(a,b,c){let d=a.getHours()/12>=1?"pm":"am";switch(b){case"a":case"aa":return c.dayPeriod(d,{width:"abbreviated",context:"formatting"});case"aaa":return c.dayPeriod(d,{width:"abbreviated",context:"formatting"}).toLowerCase();case"aaaaa":return c.dayPeriod(d,{width:"narrow",context:"formatting"});default:return c.dayPeriod(d,{width:"wide",context:"formatting"})}},b:function(a,b,c){let d,e=a.getHours();switch(d=12===e?"noon":0===e?"midnight":e/12>=1?"pm":"am",b){case"b":case"bb":return c.dayPeriod(d,{width:"abbreviated",context:"formatting"});case"bbb":return c.dayPeriod(d,{width:"abbreviated",context:"formatting"}).toLowerCase();case"bbbbb":return c.dayPeriod(d,{width:"narrow",context:"formatting"});default:return c.dayPeriod(d,{width:"wide",context:"formatting"})}},B:function(a,b,c){let d,e=a.getHours();switch(d=e>=17?"evening":e>=12?"afternoon":e>=4?"morning":"night",b){case"B":case"BB":case"BBB":return c.dayPeriod(d,{width:"abbreviated",context:"formatting"});case"BBBBB":return c.dayPeriod(d,{width:"narrow",context:"formatting"});default:return c.dayPeriod(d,{width:"wide",context:"formatting"})}},h:function(a,b,c){if("ho"===b){let b=a.getHours()%12;return 0===b&&(b=12),c.ordinalNumber(b,{unit:"hour"})}return o.h(a,b)},H:function(a,b,c){return"Ho"===b?c.ordinalNumber(a.getHours(),{unit:"hour"}):o.H(a,b)},K:function(a,b,c){let d=a.getHours()%12;return"Ko"===b?c.ordinalNumber(d,{unit:"hour"}):n(d,b.length)},k:function(a,b,c){let d=a.getHours();return(0===d&&(d=24),"ko"===b)?c.ordinalNumber(d,{unit:"hour"}):n(d,b.length)},m:function(a,b,c){return"mo"===b?c.ordinalNumber(a.getMinutes(),{unit:"minute"}):o.m(a,b)},s:function(a,b,c){return"so"===b?c.ordinalNumber(a.getSeconds(),{unit:"second"}):o.s(a,b)},S:function(a,b){return o.S(a,b)},X:function(a,b,c){let d=a.getTimezoneOffset();if(0===d)return"Z";switch(b){case"X":return r(d);case"XXXX":case"XX":return s(d);default:return s(d,":")}},x:function(a,b,c){let d=a.getTimezoneOffset();switch(b){case"x":return r(d);case"xxxx":case"xx":return s(d);default:return s(d,":")}},O:function(a,b,c){let d=a.getTimezoneOffset();switch(b){case"O":case"OO":case"OOO":return"GMT"+q(d,":");default:return"GMT"+s(d,":")}},z:function(a,b,c){let d=a.getTimezoneOffset();switch(b){case"z":case"zz":case"zzz":return"GMT"+q(d,":");default:return"GMT"+s(d,":")}},t:function(a,b,c){return n(Math.trunc(a/1e3),b.length)},T:function(a,b,c){return n(+a,b.length)}};function q(a,b=""){let c=a>0?"-":"+",d=Math.abs(a),e=Math.trunc(d/60),f=d%60;return 0===f?c+String(e):c+String(e)+b+n(f,2)}function r(a,b){return a%60==0?(a>0?"-":"+")+n(Math.abs(a)/60,2):s(a,b)}function s(a,b=""){let c=Math.abs(a);return(a>0?"-":"+")+n(Math.trunc(c/60),2)+b+n(c%60,2)}let t=(a,b)=>{switch(a){case"P":return b.date({width:"short"});case"PP":return b.date({width:"medium"});case"PPP":return b.date({width:"long"});default:return b.date({width:"full"})}},u=(a,b)=>{switch(a){case"p":return b.time({width:"short"});case"pp":return b.time({width:"medium"});case"ppp":return b.time({width:"long"});default:return b.time({width:"full"})}},v={p:u,P:(a,b)=>{let c,d=a.match(/(P+)(p+)?/)||[],e=d[1],f=d[2];if(!f)return t(a,b);switch(e){case"P":c=b.dateTime({width:"short"});break;case"PP":c=b.dateTime({width:"medium"});break;case"PPP":c=b.dateTime({width:"long"});break;default:c=b.dateTime({width:"full"})}return c.replace("{{date}}",t(e,b)).replace("{{time}}",u(f,b))}},w=/^D+$/,x=/^Y+$/,y=["D","DD","YY","YYYY"],z=/[yYQqMLwIdDecihHKkms]o|(\w)\1*|''|'(''|[^'])+('|$)|./g,A=/P+p+|P+|p+|''|'(''|[^'])+('|$)|./g,B=/^'([^]*?)'?$/,C=/''/g,D=/[a-zA-Z]/;a.s(["format",0,function(a,d,e){let f=(0,c.getDefaultOptions)(),h=e?.locale??f.locale??b.defaultLocale,i=e?.firstWeekContainsDate??e?.locale?.options?.firstWeekContainsDate??f.firstWeekContainsDate??f.locale?.options?.firstWeekContainsDate??1,j=e?.weekStartsOn??e?.locale?.options?.weekStartsOn??f.weekStartsOn??f.locale?.options?.weekStartsOn??0,k=(0,g.toDate)(a,e?.in);if(!(k instanceof Date||"object"==typeof k&&"[object Date]"===Object.prototype.toString.call(k))&&"number"!=typeof k||isNaN(+(0,g.toDate)(k)))throw RangeError("Invalid time value");let l=d.match(A).map(a=>{let b=a[0];return"p"===b||"P"===b?(0,v[b])(a,h.formatLong):a}).join("").match(z).map(a=>{if("''"===a)return{isToken:!1,value:"'"};let b=a[0];if("'"===b){var c;let b;return{isToken:!1,value:(b=(c=a).match(B))?b[1].replace(C,"'"):c}}if(p[b])return{isToken:!0,value:a};if(b.match(D))throw RangeError("Format string contains an unescaped latin alphabet character `"+b+"`");return{isToken:!1,value:a}});h.localize.preprocessor&&(l=h.localize.preprocessor(k,l));let m={firstWeekContainsDate:i,weekStartsOn:j,locale:h};return l.map(b=>{if(!b.isToken)return b.value;let c=b.value;return(!e?.useAdditionalWeekYearTokens&&x.test(c)||!e?.useAdditionalDayOfYearTokens&&w.test(c))&&function(a,b,c){var d,e,f;let g,h=(d=a,e=b,f=c,g="Y"===d[0]?"years":"days of the month",`Use \`${d.toLowerCase()}\` instead of \`${d}\` (in \`${e}\`) for formatting ${g} to the input \`${f}\`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md`);if(console.warn(h),y.includes(a))throw RangeError(h)}(c,d,String(a)),(0,p[c[0]])(k,c,h.localize,m)}).join("")}],12208)},868468,a=>{"use strict";var b=a.i(18956),c=a.i(868023),d=a.i(889650),e=a.i(979309),f=a.i(247355),g=a.i(399602),h=a.i(696818);a.s(["formatDistanceToNowStrict",0,function(a,i){return function(a,b,i){var j;let k,l,m=(0,d.getDefaultOptions)(),n=i?.locale??m.locale??c.defaultLocale,o=(l=(0,g.toDate)(a)-(0,g.toDate)(b))<0?-1:l>0?1:l;if(isNaN(o))throw RangeError("Invalid time value");let p=Object.assign({},i,{addSuffix:i?.addSuffix,comparison:o}),[q,r]=(0,f.normalizeDates)(i?.in,...o>0?[b,a]:[a,b]),s=(j=i?.roundingMethod??"round",a=>{let b=(j?Math[j]:Math.trunc)(a);return 0===b?0:b}),t=r.getTime()-q.getTime(),u=t/h.millisecondsInMinute,v=(t-((0,e.getTimezoneOffsetInMilliseconds)(r)-(0,e.getTimezoneOffsetInMilliseconds)(q)))/h.millisecondsInMinute,w=i?.unit;if("second"===(k=w||(u<1?"second":u<60?"minute":u<h.minutesInDay?"hour":v<h.minutesInMonth?"day":v<h.minutesInYear?"month":"year"))){let a=s(t/1e3);return n.formatDistance("xSeconds",a,p)}if("minute"===k){let a=s(u);return n.formatDistance("xMinutes",a,p)}if("hour"===k){let a=s(u/60);return n.formatDistance("xHours",a,p)}if("day"===k){let a=s(v/h.minutesInDay);return n.formatDistance("xDays",a,p)}if("month"===k){let a=s(v/h.minutesInMonth);return 12===a&&"month"!==w?n.formatDistance("xYears",1,p):n.formatDistance("xMonths",a,p)}else{let a=s(v/h.minutesInYear);return n.formatDistance("xYears",a,p)}}(a,(0,b.constructFrom)(a,Date.now()),i)}],868468)},72906,(a,b,c)=>{b.exports=e,e.sync=function(a,b){return f(d.statSync(a),b)};var d=a.r(522734);function e(a,b,c){d.stat(a,function(a,d){c(a,!a&&f(d,b))})}function f(a,b){var c,d,e,f,g,h,i,j,k;return a.isFile()&&(c=a,d=b,e=c.mode,f=c.uid,g=c.gid,h=void 0!==d.uid?d.uid:process.getuid&&process.getuid(),i=void 0!==d.gid?d.gid:process.getgid&&process.getgid(),j=parseInt("100",8),k=parseInt("010",8),e&parseInt("001",8)||e&k&&g===i||e&j&&f===h||e&(j|k)&&0===h)}},490400,(a,b,c)=>{b.exports=f,f.sync=function(a,b){return e(d.statSync(a),a,b)};var d=a.r(522734);function e(a,b,c){if(!a.isSymbolicLink()&&!a.isFile())return!1;var d=void 0!==c.pathExt?c.pathExt:process.env.PATHEXT;if(!d||-1!==(d=d.split(";")).indexOf(""))return!0;for(var e=0;e<d.length;e++){var f=d[e].toLowerCase();if(f&&b.substr(-f.length).toLowerCase()===f)return!0}return!1}function f(a,b,c){d.stat(a,function(d,f){c(d,!d&&e(f,a,b))})}},929177,(a,b,c)=>{var d;function e(a,b,c){if("function"==typeof b&&(c=b,b={}),!c){if("function"!=typeof Promise)throw TypeError("callback not provided");return new Promise(function(c,d){e(a,b||{},function(a,b){a?d(a):c(b)})})}d(a,b||{},function(a,d){a&&("EACCES"===a.code||b&&b.ignoreErrors)&&(a=null,d=!1),c(a,d)})}a.r(522734),d="win32"===process.platform||a.g.TESTING_WINDOWS?a.r(490400):a.r(72906),b.exports=e,e.sync=function(a,b){try{return d.sync(a,b||{})}catch(a){if(b&&b.ignoreErrors||"EACCES"===a.code)return!1;throw a}}},38795,(a,b,c)=>{let d="win32"===process.platform||"cygwin"===process.env.OSTYPE||"msys"===process.env.OSTYPE,e=a.r(814747),f=d?";":":",g=a.r(929177),h=a=>Object.assign(Error(`not found: ${a}`),{code:"ENOENT"}),i=(a,b)=>{let c=b.colon||f,e=a.match(/\//)||d&&a.match(/\\/)?[""]:[...d?[process.cwd()]:[],...(b.path||process.env.PATH||"").split(c)],g=d?b.pathExt||process.env.PATHEXT||".EXE;.CMD;.BAT;.COM":"",h=d?g.split(c):[""];return d&&-1!==a.indexOf(".")&&""!==h[0]&&h.unshift(""),{pathEnv:e,pathExt:h,pathExtExe:g}},j=(a,b,c)=>{"function"==typeof b&&(c=b,b={}),b||(b={});let{pathEnv:d,pathExt:f,pathExtExe:j}=i(a,b),k=[],l=c=>new Promise((f,g)=>{if(c===d.length)return b.all&&k.length?f(k):g(h(a));let i=d[c],j=/^".*"$/.test(i)?i.slice(1,-1):i,l=e.join(j,a);f(m(!j&&/^\.[\\\/]/.test(a)?a.slice(0,2)+l:l,c,0))}),m=(a,c,d)=>new Promise((e,h)=>{if(d===f.length)return e(l(c+1));let i=f[d];g(a+i,{pathExt:j},(f,g)=>{if(!f&&g)if(!b.all)return e(a+i);else k.push(a+i);return e(m(a,c,d+1))})});return c?l(0).then(a=>c(null,a),c):l(0)};b.exports=j,j.sync=(a,b)=>{let{pathEnv:c,pathExt:d,pathExtExe:f}=i(a,b=b||{}),j=[];for(let h=0;h<c.length;h++){let i=c[h],k=/^".*"$/.test(i)?i.slice(1,-1):i,l=e.join(k,a),m=!k&&/^\.[\\\/]/.test(a)?a.slice(0,2)+l:l;for(let a=0;a<d.length;a++){let c=m+d[a];try{if(g.sync(c,{pathExt:f}))if(!b.all)return c;else j.push(c)}catch(a){}}}if(b.all&&j.length)return j;if(b.nothrow)return null;throw h(a)}},87721,(a,b,c)=>{"use strict";let d=(a={})=>{let b=a.env||process.env;return"win32"!==(a.platform||process.platform)?"PATH":Object.keys(b).reverse().find(a=>"PATH"===a.toUpperCase())||"Path"};b.exports=d,b.exports.default=d},145803,(a,b,c)=>{"use strict";let d=a.r(814747),e=a.r(38795),f=a.r(87721);function g(a,b){let c,g=a.options.env||process.env,h=process.cwd(),i=null!=a.options.cwd,j=i&&void 0!==process.chdir&&!process.chdir.disabled;if(j)try{process.chdir(a.options.cwd)}catch(a){}try{c=e.sync(a.command,{path:g[f({env:g})],pathExt:b?d.delimiter:void 0})}catch(a){}finally{j&&process.chdir(h)}return c&&(c=d.resolve(i?a.options.cwd:"",c)),c}b.exports=function(a){return g(a)||g(a,!0)}},389998,(a,b,c)=>{"use strict";let d=/([()\][%!^"`<>&|;, *?])/g;b.exports.command=function(a){return a.replace(d,"^$1")},b.exports.argument=function(a,b){return a=(a=(a=`${a}`).replace(/(?=(\\+?)?)\1"/g,'$1$1\\"')).replace(/(?=(\\+?)?)\1$/,"$1$1"),a=(a=`"${a}"`).replace(d,"^$1"),b&&(a=a.replace(d,"^$1")),a}},632419,(a,b,c)=>{"use strict";b.exports=/^#!(.*)/},641310,(a,b,c)=>{"use strict";let d=a.r(632419);b.exports=(a="")=>{let b=a.match(d);if(!b)return null;let[c,e]=b[0].replace(/#! ?/,"").split(" "),f=c.split("/").pop();return"env"===f?e:e?`${f} ${e}`:f}},555192,(a,b,c)=>{"use strict";let d=a.r(522734),e=a.r(641310);b.exports=function(a){let b,c=Buffer.alloc(150);try{b=d.openSync(a,"r"),d.readSync(b,c,0,150,0),d.closeSync(b)}catch(a){}return e(c.toString())}},817830,(a,b,c)=>{"use strict";a.r(814747),a.r(145803),a.r(389998),a.r(555192),process.platform,b.exports=function(a,b,c){b&&!Array.isArray(b)&&(c=b,b=null);let d={command:a,args:b=b?b.slice(0):[],options:c=Object.assign({},c),file:void 0,original:{command:a,args:b}};return c.shell,d}},941952,(a,b,c)=>{"use strict";process.platform,b.exports={hookChildProcess:function(a,b){},verifyENOENT:function(a,b){return null},verifyENOENTSync:function(a,b){return null},notFoundError:function(a,b){return Object.assign(Error(`${b} ${a.command} ENOENT`),{code:"ENOENT",errno:"ENOENT",syscall:`${b} ${a.command}`,path:a.command,spawnargs:a.args})}}},908441,(a,b,c)=>{"use strict";let d=a.r(233405),e=a.r(817830),f=a.r(941952);function g(a,b,c){let g=e(a,b,c),h=d.spawn(g.command,g.args,g.options);return f.hookChildProcess(h,g),h}b.exports=g,b.exports.spawn=g,b.exports.sync=function(a,b,c){let g=e(a,b,c),h=d.spawnSync(g.command,g.args,g.options);return h.error=h.error||f.verifyENOENTSync(h.status,g),h},b.exports._parse=e,b.exports._enoent=f},64203,a=>{"use strict";var b,c,d=a.i(527990),e=a.i(53112),f=a.i(652685),g=a.i(908441),h=e.z.optional(e.z.record(e.z.string(),e.z.unknown())),i=e.z.looseObject({name:e.z.string(),version:e.z.string(),title:e.z.optional(e.z.string())}),j=e.z.looseObject({_meta:e.z.optional(e.z.object({}).loose())}),k=j.extend({resultType:e.z.optional(e.z.string())}),l=e.z.object({method:e.z.string(),params:e.z.optional(j)}),m=e.z.object({applyDefaults:e.z.optional(e.z.boolean())}).loose(),n=e.z.looseObject({experimental:e.z.optional(e.z.object({}).loose()),logging:e.z.optional(e.z.object({}).loose()),completions:e.z.optional(e.z.object({}).loose()),prompts:e.z.optional(e.z.looseObject({listChanged:e.z.optional(e.z.boolean())})),resources:e.z.optional(e.z.looseObject({subscribe:e.z.optional(e.z.boolean()),listChanged:e.z.optional(e.z.boolean())})),tools:e.z.optional(e.z.looseObject({listChanged:e.z.optional(e.z.boolean())})),elicitation:e.z.optional(m)});e.z.object({elicitation:e.z.optional(m)}).loose(),k.extend({supportedVersions:e.z.array(e.z.string()),capabilities:n,instructions:e.z.optional(e.z.string()),ttlMs:e.z.optional(e.z.number()),cacheScope:e.z.optional(e.z.union([e.z.literal("public"),e.z.literal("private")]))}),k.extend({protocolVersion:e.z.string(),capabilities:n,serverInfo:i,instructions:e.z.optional(e.z.string())});var o=k.extend({nextCursor:e.z.optional(e.z.string())}),p=e.z.object({name:e.z.string(),title:e.z.optional(e.z.string()),description:e.z.optional(e.z.string()),inputSchema:e.z.looseObject({type:e.z.optional(e.z.unknown()),properties:e.z.optional(e.z.object({}).loose())}),outputSchema:e.z.optional(e.z.object({}).loose()),annotations:e.z.optional(e.z.object({title:e.z.optional(e.z.string()),readOnlyHint:e.z.optional(e.z.boolean()),destructiveHint:e.z.optional(e.z.boolean()),idempotentHint:e.z.optional(e.z.boolean()),openWorldHint:e.z.optional(e.z.boolean())}).loose()),_meta:h}).loose();o.extend({tools:e.z.array(p)});var q=e.z.object({type:e.z.literal("text"),text:e.z.string()}).loose(),r=e.z.object({type:e.z.literal("image"),data:e.z.base64(),mimeType:e.z.string()}).loose(),s=e.z.object({uri:e.z.string(),name:e.z.string(),title:e.z.optional(e.z.string()),description:e.z.optional(e.z.string()),mimeType:e.z.optional(e.z.string()),size:e.z.optional(e.z.number())}).loose();o.extend({resources:e.z.array(s)});var t=e.z.object({uri:e.z.string(),name:e.z.optional(e.z.string()),title:e.z.optional(e.z.string()),mimeType:e.z.optional(e.z.string())}).loose(),u=t.extend({text:e.z.string()}),v=t.extend({blob:e.z.base64()}),w=e.z.object({type:e.z.literal("resource"),resource:e.z.union([u,v])}).loose(),x=e.z.object({type:e.z.literal("resource_link"),uri:e.z.string(),name:e.z.string(),description:e.z.optional(e.z.string()),mimeType:e.z.optional(e.z.string())}).loose(),y=e.z.object({type:e.z.string()}).loose().refine(a=>!["text","image","resource","resource_link"].includes(a.type),{message:"Known content types must match their schema"}),z=k.extend({content:e.z.array(e.z.union([q,r,w,x,y])),structuredContent:e.z.optional(e.z.unknown()),isError:e.z.boolean().default(!1).optional()}),A=k.extend({content:e.z.never().optional(),structuredContent:e.z.json(),isError:e.z.boolean().default(!1).optional()}).transform(a=>({...a,content:[{type:"text",text:JSON.stringify(a.structuredContent)}]})).pipe(z);z.or(A).or(k.extend({toolResult:e.z.unknown().nonoptional()}));var B=e.z.object({uriTemplate:e.z.string(),name:e.z.string(),title:e.z.optional(e.z.string()),description:e.z.optional(e.z.string()),mimeType:e.z.optional(e.z.string())}).loose();k.extend({resourceTemplates:e.z.array(B)}),k.extend({contents:e.z.array(e.z.union([u,v]))});var C=e.z.object({type:e.z.literal("ref/prompt"),name:e.z.string()}).loose(),D=e.z.object({type:e.z.literal("ref/resource"),uri:e.z.string()}).loose(),E=e.z.object({name:e.z.string(),value:e.z.string()}).loose();j.extend({ref:e.z.union([C,D]),argument:E,context:e.z.optional(e.z.object({arguments:e.z.record(e.z.string(),e.z.string())}).loose())}),k.extend({completion:e.z.object({values:e.z.array(e.z.string()).max(100),total:e.z.optional(e.z.number().int()),hasMore:e.z.optional(e.z.boolean())}).loose()});var F=e.z.object({name:e.z.string(),description:e.z.optional(e.z.string()),required:e.z.optional(e.z.boolean())}).loose(),G=e.z.object({name:e.z.string(),title:e.z.optional(e.z.string()),description:e.z.optional(e.z.string()),arguments:e.z.optional(e.z.array(F))}).loose();o.extend({prompts:e.z.array(G)});var H=e.z.object({role:e.z.union([e.z.literal("user"),e.z.literal("assistant")]),content:e.z.union([q,r,w,x])}).loose();k.extend({description:e.z.optional(e.z.string()),messages:e.z.array(H)});var I=j.extend({message:e.z.string(),requestedSchema:e.z.unknown()});l.extend({method:e.z.literal("elicitation/create"),params:I}),k.extend({action:e.z.union([e.z.literal("accept"),e.z.literal("decline"),e.z.literal("cancel")]),content:e.z.optional(e.z.record(e.z.string(),e.z.unknown()))});var J=e.z.object({jsonrpc:e.z.literal("2.0"),id:e.z.union([e.z.string(),e.z.number().int()])}).merge(l).strict(),K=e.z.object({jsonrpc:e.z.literal("2.0"),id:e.z.union([e.z.string(),e.z.number().int()]),result:k}).strict(),L=e.z.object({jsonrpc:e.z.literal("2.0"),id:e.z.optional(e.z.union([e.z.string(),e.z.number().int()])),error:e.z.object({code:e.z.number().int(),message:e.z.string(),data:e.z.optional(e.z.unknown())})}).strict(),M=e.z.object({jsonrpc:e.z.literal("2.0")}).merge(e.z.object({method:e.z.string(),params:e.z.optional(j)})).strict(),N=e.z.union([J,M,K,L]);async function O(a){var b;return b=await (0,d.parseJSON)({text:a}),N.parse(b)}var P="vercel.ai.error.AI_MCPClientError",Q=Symbol.for(P),R=class extends(c=f.AISDKError,b=Q,c){constructor({name:a="MCPClientError",message:c,cause:d,data:e,code:f,statusCode:g,url:h,responseBody:i}){super({name:a,message:c,cause:d}),this[b]=!0,this.data=e,this.code=f,this.statusCode=g,this.url=h,this.responseBody=i}static isInstance(a){return f.AISDKError.hasMarker(a,P)}},S=class{constructor(a){this.supportsProtocolVersionDiscovery=!0,this.abortController=new AbortController,this.readBuffer=new T,this.serverParams=a}async start(){if(this.process)throw new R({message:"StdioMCPTransport already started."});return new Promise((a,b)=>{var c,d,e,f;try{let f=function(a,b){var c,d,e;if("win32"===globalThis.process.platform&&[a.command,...null!=(c=a.args)?c:[]].some(a=>/[\r\n]/.test(a)))throw TypeError("Stdio MCP commands and arguments must not contain line breaks on Windows.");return(0,g.default)(a.command,null!=(d=a.args)?d:[],{env:function(a){let b="win32"===globalThis.process.platform?["APPDATA","HOMEDRIVE","HOMEPATH","LOCALAPPDATA","PATH","PROCESSOR_ARCHITECTURE","SYSTEMDRIVE","SYSTEMROOT","TEMP","USERNAME","USERPROFILE"]:["HOME","LOGNAME","PATH","SHELL","TERM","USER"],c=a?{...a}:{};for(let a of b){let b=globalThis.process.env[a];void 0!==b&&(b.startsWith("()")||(c[a]=b))}return c}(a.env),stdio:["pipe","pipe",null!=(e=a.stderr)?e:"inherit"],shell:!1,signal:b,windowsHide:"win32"===globalThis.process.platform&&"type"in globalThis.process,cwd:a.cwd})}(this.serverParams,this.abortController.signal);this.process=f,this.process.on("error",a=>{var c,d;if("AbortError"===a.name){null==(c=this.onclose)||c.call(this);return}b(a),null==(d=this.onerror)||d.call(this,a)}),this.process.on("spawn",()=>{a()}),this.process.on("close",a=>{var b;this.process=void 0,null==(b=this.onclose)||b.call(this)}),null==(c=this.process.stdin)||c.on("error",a=>{var b;null==(b=this.onerror)||b.call(this,a)}),null==(d=this.process.stdout)||d.on("data",a=>{this.readBuffer.append(a),this.processReadBuffer()}),null==(e=this.process.stdout)||e.on("error",a=>{var b;null==(b=this.onerror)||b.call(this,a)})}catch(a){b(a),null==(f=this.onerror)||f.call(this,a)}})}async processReadBuffer(){for(var a,b;;){let c=this.readBuffer.readLine();if(null===c)break;try{let b=await U(c);null==(a=this.onmessage)||a.call(this,b)}catch(a){null==(b=this.onerror)||b.call(this,a)}}}async close(){this.abortController.abort(),this.process=void 0,this.readBuffer.clear()}send(a){return new Promise(b=>{var c;if(!(null==(c=this.process)?void 0:c.stdin))throw new R({message:"StdioClientTransport not connected"});let d=JSON.stringify(a)+"\n";this.process.stdin.write(d)?b():this.process.stdin.once("drain",b)})}},T=class{append(a){this.buffer=this.buffer?Buffer.concat([this.buffer,a]):a}readLine(){if(!this.buffer)return null;let a=this.buffer.indexOf("\n");if(-1===a)return null;let b=this.buffer.toString("utf8",0,a);return this.buffer=this.buffer.subarray(a+1),b}clear(){this.buffer=void 0}};async function U(a){return O(a)}a.s(["Experimental_StdioMCPTransport",0,S])},927267,(a,b,c)=>{"use strict";let d=Symbol.for("yaml.alias"),e=Symbol.for("yaml.document"),f=Symbol.for("yaml.map"),g=Symbol.for("yaml.pair"),h=Symbol.for("yaml.scalar"),i=Symbol.for("yaml.seq"),j=Symbol.for("yaml.node.type"),k=a=>!!a&&"object"==typeof a&&a[j]===h;function l(a){if(a&&"object"==typeof a)switch(a[j]){case f:case i:return!0}return!1}c.ALIAS=d,c.DOC=e,c.MAP=f,c.NODE_TYPE=j,c.PAIR=g,c.SCALAR=h,c.SEQ=i,c.hasAnchor=a=>(k(a)||l(a))&&!!a.anchor,c.isAlias=a=>!!a&&"object"==typeof a&&a[j]===d,c.isCollection=l,c.isDocument=a=>!!a&&"object"==typeof a&&a[j]===e,c.isMap=a=>!!a&&"object"==typeof a&&a[j]===f,c.isNode=function(a){if(a&&"object"==typeof a)switch(a[j]){case d:case f:case h:case i:return!0}return!1},c.isPair=a=>!!a&&"object"==typeof a&&a[j]===g,c.isScalar=k,c.isSeq=a=>!!a&&"object"==typeof a&&a[j]===i},685927,(a,b,c)=>{"use strict";var d=a.r(927267);let e=Symbol("break visit"),f=Symbol("skip children"),g=Symbol("remove node");function h(a,b){let c=l(b);d.isDocument(a)?i(null,a.contents,c,Object.freeze([a]))===g&&(a.contents=null):i(null,a,c,Object.freeze([]))}function i(a,b,c,f){let h=m(a,b,c,f);if(d.isNode(h)||d.isPair(h))return n(a,f,h),i(a,h,c,f);if("symbol"!=typeof h){if(d.isCollection(b)){f=Object.freeze(f.concat(b));for(let a=0;a<b.items.length;++a){let d=i(a,b.items[a],c,f);if("number"==typeof d)a=d-1;else{if(d===e)return e;d===g&&(b.items.splice(a,1),a-=1)}}}else if(d.isPair(b)){f=Object.freeze(f.concat(b));let a=i("key",b.key,c,f);if(a===e)return e;a===g&&(b.key=null);let d=i("value",b.value,c,f);if(d===e)return e;d===g&&(b.value=null)}}return h}async function j(a,b){let c=l(b);d.isDocument(a)?await k(null,a.contents,c,Object.freeze([a]))===g&&(a.contents=null):await k(null,a,c,Object.freeze([]))}async function k(a,b,c,f){let h=await m(a,b,c,f);if(d.isNode(h)||d.isPair(h))return n(a,f,h),k(a,h,c,f);if("symbol"!=typeof h){if(d.isCollection(b)){f=Object.freeze(f.concat(b));for(let a=0;a<b.items.length;++a){let d=await k(a,b.items[a],c,f);if("number"==typeof d)a=d-1;else{if(d===e)return e;d===g&&(b.items.splice(a,1),a-=1)}}}else if(d.isPair(b)){f=Object.freeze(f.concat(b));let a=await k("key",b.key,c,f);if(a===e)return e;a===g&&(b.key=null);let d=await k("value",b.value,c,f);if(d===e)return e;d===g&&(b.value=null)}}return h}function l(a){return"object"==typeof a&&(a.Collection||a.Node||a.Value)?Object.assign({Alias:a.Node,Map:a.Node,Scalar:a.Node,Seq:a.Node},a.Value&&{Map:a.Value,Scalar:a.Value,Seq:a.Value},a.Collection&&{Map:a.Collection,Seq:a.Collection},a):a}function m(a,b,c,e){return"function"==typeof c?c(a,b,e):d.isMap(b)?c.Map?.(a,b,e):d.isSeq(b)?c.Seq?.(a,b,e):d.isPair(b)?c.Pair?.(a,b,e):d.isScalar(b)?c.Scalar?.(a,b,e):d.isAlias(b)?c.Alias?.(a,b,e):void 0}function n(a,b,c){let e=b[b.length-1];if(d.isCollection(e))e.items[a]=c;else if(d.isPair(e))"key"===a?e.key=c:e.value=c;else if(d.isDocument(e))e.contents=c;else{let a=d.isAlias(e)?"alias":"scalar";throw Error(`Cannot replace node with ${a} parent`)}}h.BREAK=e,h.SKIP=f,h.REMOVE=g,j.BREAK=e,j.SKIP=f,j.REMOVE=g,c.visit=h,c.visitAsync=j},374957,(a,b,c)=>{"use strict";var d=a.r(927267),e=a.r(685927);let f={"!":"%21",",":"%2C","[":"%5B","]":"%5D","{":"%7B","}":"%7D"},g=a=>a.replace(/[!,[\]{}]/g,a=>f[a]);class h{constructor(a,b){this.docStart=null,this.docEnd=!1,this.yaml=Object.assign({},h.defaultYaml,a),this.tags=Object.assign({},h.defaultTags,b)}clone(){let a=new h(this.yaml,this.tags);return a.docStart=this.docStart,a}atDocument(){let a=new h(this.yaml,this.tags);switch(this.yaml.version){case"1.1":this.atNextDocument=!0;break;case"1.2":this.atNextDocument=!1,this.yaml={explicit:h.defaultYaml.explicit,version:"1.2"},this.tags=Object.assign({},h.defaultTags)}return a}add(a,b){this.atNextDocument&&(this.yaml={explicit:h.defaultYaml.explicit,version:"1.1"},this.tags=Object.assign({},h.defaultTags),this.atNextDocument=!1);let c=a.trim().split(/[ \t]+/),d=c.shift();switch(d){case"%TAG":{if(2!==c.length&&(b(0,"%TAG directive should contain exactly two parts"),c.length<2))return!1;let[a,d]=c;return this.tags[a]=d,!0}case"%YAML":{if(this.yaml.explicit=!0,1!==c.length)return b(0,"%YAML directive should contain exactly one part"),!1;let[a]=c;if("1.1"===a||"1.2"===a)return this.yaml.version=a,!0;{let c=/^\d+\.\d+$/.test(a);return b(6,`Unsupported YAML version ${a}`,c),!1}}default:return b(0,`Unknown directive ${d}`,!0),!1}}tagName(a,b){if("!"===a)return"!";if("!"!==a[0])return b(`Not a valid tag: ${a}`),null;if("<"===a[1]){let c=a.slice(2,-1);return"!"===c||"!!"===c?(b(`Verbatim tags aren't resolved, so ${a} is invalid.`),null):(">"!==a[a.length-1]&&b("Verbatim tags must end with a >"),c)}let[,c,d]=a.match(/^(.*!)([^!]*)$/s);d||b(`The ${a} tag has no suffix`);let e=this.tags[c];if(e)try{return e+decodeURIComponent(d)}catch(a){return b(String(a)),null}return"!"===c?a:(b(`Could not resolve tag: ${a}`),null)}tagString(a){for(let[b,c]of Object.entries(this.tags))if(a.startsWith(c))return b+g(a.substring(c.length));return"!"===a[0]?a:`!<${a}>`}toString(a){let b,c=this.yaml.explicit?[`%YAML ${this.yaml.version||"1.2"}`]:[],f=Object.entries(this.tags);if(a&&f.length>0&&d.isNode(a.contents)){let c={};e.visit(a.contents,(a,b)=>{d.isNode(b)&&b.tag&&(c[b.tag]=!0)}),b=Object.keys(c)}else b=[];for(let[d,e]of f)("!!"!==d||"tag:yaml.org,2002:"!==e)&&(!a||b.some(a=>a.startsWith(e)))&&c.push(`%TAG ${d} ${e}`);return c.join("\n")}}h.defaultYaml={explicit:!1,version:"1.2"},h.defaultTags={"!!":"tag:yaml.org,2002:"},c.Directives=h},210937,(a,b,c)=>{"use strict";var d=a.r(927267),e=a.r(685927);function f(a){let b=new Set;return e.visit(a,{Value(a,c){c.anchor&&b.add(c.anchor)}}),b}function g(a,b){for(let c=1;;++c){let d=`${a}${c}`;if(!b.has(d))return d}}c.anchorIsValid=function(a){if(/[\x00-\x19\s,[\]{}]/.test(a)){let b=JSON.stringify(a);throw Error(`Anchor must not contain whitespace or control characters: ${b}`)}return!0},c.anchorNames=f,c.createNodeAnchors=function(a,b){let c=[],e=new Map,h=null;return{onAnchor:d=>{c.push(d),h??(h=f(a));let e=g(b,h);return h.add(e),e},setAnchors:()=>{for(let a of c){let b=e.get(a);if("object"==typeof b&&b.anchor&&(d.isScalar(b.node)||d.isCollection(b.node)))b.node.anchor=b.anchor;else{let b=Error("Failed to resolve repeated object (this should not happen)");throw b.source=a,b}}},sourceObjects:e}},c.findNewAnchor=g},159588,(a,b,c)=>{"use strict";c.applyReviver=function a(b,c,d,e){if(e&&"object"==typeof e)if(Array.isArray(e))for(let c=0,d=e.length;c<d;++c){let d=e[c],f=a(b,e,String(c),d);void 0===f?delete e[c]:f!==d&&(e[c]=f)}else if(e instanceof Map)for(let c of Array.from(e.keys())){let d=e.get(c),f=a(b,e,c,d);void 0===f?e.delete(c):f!==d&&e.set(c,f)}else if(e instanceof Set)for(let c of Array.from(e)){let d=a(b,e,c,c);void 0===d?e.delete(c):d!==c&&(e.delete(c),e.add(d))}else for(let[c,d]of Object.entries(e)){let f=a(b,e,c,d);void 0===f?delete e[c]:f!==d&&(e[c]=f)}return b.call(c,d,e)}},500094,(a,b,c)=>{"use strict";var d=a.r(927267);c.toJS=function a(b,c,e){if(Array.isArray(b))return b.map((b,c)=>a(b,String(c),e));if(b&&"function"==typeof b.toJSON){if(!e||!d.hasAnchor(b))return b.toJSON(c,e);let a={aliasCount:0,count:1,res:void 0};e.anchors.set(b,a),e.onCreate=b=>{a.res=b,delete e.onCreate};let f=b.toJSON(c,e);return e.onCreate&&e.onCreate(f),f}return"bigint"!=typeof b||e?.keep?b:Number(b)}},125154,(a,b,c)=>{"use strict";var d=a.r(159588),e=a.r(927267),f=a.r(500094);c.NodeBase=class{constructor(a){Object.defineProperty(this,e.NODE_TYPE,{value:a})}clone(){let a=Object.create(Object.getPrototypeOf(this),Object.getOwnPropertyDescriptors(this));return this.range&&(a.range=this.range.slice()),a}toJS(a,{mapAsMap:b,maxAliasCount:c,onAnchor:g,reviver:h}={}){if(!e.isDocument(a))throw TypeError("A document argument is required");let i={anchors:new Map,doc:a,keep:!0,mapAsMap:!0===b,mapKeyWarned:!1,maxAliasCount:"number"==typeof c?c:100},j=f.toJS(this,"",i);if("function"==typeof g)for(let{count:a,res:b}of i.anchors.values())g(b,a);return"function"==typeof h?d.applyReviver(h,{"":j},"",j):j}}},421562,(a,b,c)=>{"use strict";var d=a.r(210937),e=a.r(685927),f=a.r(927267),g=a.r(125154),h=a.r(500094);class i extends g.NodeBase{constructor(a){super(f.ALIAS),this.source=a,Object.defineProperty(this,"tag",{set(){throw Error("Alias nodes cannot have tags")}})}resolve(a,b){let c,d;if(b?.maxAliasCount===0)throw ReferenceError("Alias resolution is disabled");for(let g of(b?.aliasResolveCache?c=b.aliasResolveCache:(c=[],e.visit(a,{Node:(a,b)=>{(f.isAlias(b)||f.hasAnchor(b))&&c.push(b)}}),b&&(b.aliasResolveCache=c)),c)){if(g===this)break;g.anchor===this.source&&(d=g)}return d}toJSON(a,b){if(!b)return{source:this.source};let{anchors:c,doc:d,maxAliasCount:e}=b,g=this.resolve(d,b);if(!g)throw ReferenceError(`Unresolved alias (the anchor must be set before the alias): ${this.source}`);let i=c.get(g);if(i||(h.toJS(g,null,b),i=c.get(g)),i?.res===void 0)throw ReferenceError("This should not happen: Alias anchor was not resolved?");if(e>=0&&(i.count+=1,0===i.aliasCount&&(i.aliasCount=function a(b,c,d){if(f.isAlias(c)){let a=c.resolve(b),e=d&&a&&d.get(a);return e?e.count*e.aliasCount:0}if(f.isCollection(c)){let e=0;for(let f of c.items){let c=a(b,f,d);c>e&&(e=c)}return e}return f.isPair(c)?Math.max(a(b,c.key,d),a(b,c.value,d)):1}(d,g,c)),i.count*i.aliasCount>e))throw ReferenceError("Excessive alias count indicates a resource exhaustion attack");return i.res}toString(a,b,c){let e=`*${this.source}`;if(a){if(d.anchorIsValid(this.source),a.options.verifyAliasOrder&&!a.anchors.has(this.source))throw Error(`Unresolved alias (the anchor must be set before the alias): ${this.source}`);if(a.implicitKey)return`${e} `}return e}}c.Alias=i},427853,(a,b,c)=>{"use strict";var d=a.r(927267),e=a.r(125154),f=a.r(500094);class g extends e.NodeBase{constructor(a){super(d.SCALAR),this.value=a}toJSON(a,b){return b?.keep?this.value:f.toJS(this.value,a,b)}toString(){return String(this.value)}}g.BLOCK_FOLDED="BLOCK_FOLDED",g.BLOCK_LITERAL="BLOCK_LITERAL",g.PLAIN="PLAIN",g.QUOTE_DOUBLE="QUOTE_DOUBLE",g.QUOTE_SINGLE="QUOTE_SINGLE",c.Scalar=g,c.isScalarValue=a=>!a||"function"!=typeof a&&"object"!=typeof a},510882,(a,b,c)=>{"use strict";var d=a.r(421562),e=a.r(927267),f=a.r(427853);c.createNode=function(a,b,c){let g;if(e.isDocument(a)&&(a=a.contents),e.isNode(a))return a;if(e.isPair(a)){let b=c.schema[e.MAP].createNode?.(c.schema,null,c);return b.items.push(a),b}(a instanceof String||a instanceof Number||a instanceof Boolean||"u">typeof BigInt&&a instanceof BigInt)&&(a=a.valueOf());let{aliasDuplicateObjects:h,onAnchor:i,onTagObj:j,schema:k,sourceObjects:l}=c;if(h&&a&&"object"==typeof a){if(g=l.get(a))return g.anchor??(g.anchor=i(a)),new d.Alias(g.anchor);g={anchor:null,node:null},l.set(a,g)}b?.startsWith("!!")&&(b="tag:yaml.org,2002:"+b.slice(2));let m=function(a,b,c){if(b){let a=c.filter(a=>a.tag===b),d=a.find(a=>!a.format)??a[0];if(!d)throw Error(`Tag ${b} not found`);return d}return c.find(b=>b.identify?.(a)&&!b.format)}(a,b,k.tags);if(!m){if(a&&"function"==typeof a.toJSON&&(a=a.toJSON()),!a||"object"!=typeof a){let b=new f.Scalar(a);return g&&(g.node=b),b}m=a instanceof Map?k[e.MAP]:Symbol.iterator in Object(a)?k[e.SEQ]:k[e.MAP]}j&&(j(m),delete c.onTagObj);let n=m?.createNode?m.createNode(c.schema,a,c):"function"==typeof m?.nodeClass?.from?m.nodeClass.from(c.schema,a,c):new f.Scalar(a);return b?n.tag=b:m.default||(n.tag=m.tag),g&&(g.node=n),n}},735249,(a,b,c)=>{"use strict";var d=a.r(510882),e=a.r(927267),f=a.r(125154);function g(a,b,c){let e=c;for(let a=b.length-1;a>=0;--a){let c=b[a];if("number"==typeof c&&Number.isInteger(c)&&c>=0){let a=[];a[c]=e,e=a}else e=new Map([[c,e]])}return d.createNode(e,void 0,{aliasDuplicateObjects:!1,keepUndefined:!1,onAnchor:()=>{throw Error("This should not happen, please report a bug.")},schema:a,sourceObjects:new Map})}let h=a=>null==a||"object"==typeof a&&!!a[Symbol.iterator]().next().done;class i extends f.NodeBase{constructor(a,b){super(a),Object.defineProperty(this,"schema",{value:b,configurable:!0,enumerable:!1,writable:!0})}clone(a){let b=Object.create(Object.getPrototypeOf(this),Object.getOwnPropertyDescriptors(this));return a&&(b.schema=a),b.items=b.items.map(b=>e.isNode(b)||e.isPair(b)?b.clone(a):b),this.range&&(b.range=this.range.slice()),b}addIn(a,b){if(h(a))this.add(b);else{let[c,...d]=a,f=this.get(c,!0);if(e.isCollection(f))f.addIn(d,b);else if(void 0===f&&this.schema)this.set(c,g(this.schema,d,b));else throw Error(`Expected YAML collection at ${c}. Remaining path: ${d}`)}}deleteIn(a){let[b,...c]=a;if(0===c.length)return this.delete(b);let d=this.get(b,!0);if(e.isCollection(d))return d.deleteIn(c);throw Error(`Expected YAML collection at ${b}. Remaining path: ${c}`)}getIn(a,b){let[c,...d]=a,f=this.get(c,!0);return 0===d.length?!b&&e.isScalar(f)?f.value:f:e.isCollection(f)?f.getIn(d,b):void 0}hasAllNullValues(a){return this.items.every(b=>{if(!e.isPair(b))return!1;let c=b.value;return null==c||a&&e.isScalar(c)&&null==c.value&&!c.commentBefore&&!c.comment&&!c.tag})}hasIn(a){let[b,...c]=a;if(0===c.length)return this.has(b);let d=this.get(b,!0);return!!e.isCollection(d)&&d.hasIn(c)}setIn(a,b){let[c,...d]=a;if(0===d.length)this.set(c,b);else{let a=this.get(c,!0);if(e.isCollection(a))a.setIn(d,b);else if(void 0===a&&this.schema)this.set(c,g(this.schema,d,b));else throw Error(`Expected YAML collection at ${c}. Remaining path: ${d}`)}}}c.Collection=i,c.collectionFromPath=g,c.isEmptyPath=h},253074,(a,b,c)=>{"use strict";function d(a,b){return/^\n+$/.test(a)?a.substring(1):b?a.replace(/^(?! *$)/gm,b):a}c.indentComment=d,c.lineComment=(a,b,c)=>a.endsWith("\n")?d(c,b):c.includes("\n")?"\n"+d(c,b):(a.endsWith(" ")?"":" ")+c,c.stringifyComment=a=>a.replace(/^(?!$)(?: $)?/gm,"#")},859245,(a,b,c)=>{"use strict";let d="block",e="quoted";function f(a,b,c){let d=b,e=b+1,f=a[e];for(;" "===f||" "===f;)if(b<e+c)f=a[++b];else{do f=a[++b];while(f&&"\n"!==f)d=b,f=a[e=b+1]}return d}c.FOLD_BLOCK=d,c.FOLD_FLOW="flow",c.FOLD_QUOTED=e,c.foldFlowLines=function(a,b,c="flow",{indentAtStart:g,lineWidth:h=80,minContentWidth:i=20,onFold:j,onOverflow:k}={}){let l,m,n;if(!h||h<0)return a;h<i&&(i=0);let o=Math.max(1+i,1+h-b.length);if(a.length<=o)return a;let p=[],q={},r=h-b.length;"number"==typeof g&&(g>h-Math.max(2,i)?p.push(0):r=h-g);let s=!1,t=-1,u=-1,v=-1;for(c===d&&-1!==(t=f(a,t,b.length))&&(r=t+o);n=a[t+=1];){if(c===e&&"\\"===n){switch(u=t,a[t+1]){case"x":t+=3;break;case"u":t+=5;break;case"U":t+=9;break;default:t+=1}v=t}if("\n"===n)c===d&&(t=f(a,t,b.length)),r=t+b.length+o,l=void 0;else{if(" "===n&&m&&" "!==m&&"\n"!==m&&" "!==m){let b=a[t+1];b&&" "!==b&&"\n"!==b&&" "!==b&&(l=t)}if(t>=r)if(l)p.push(l),r=l+o,l=void 0;else if(c===e){for(;" "===m||" "===m;)m=n,n=a[t+=1],s=!0;let b=t>v+1?t-2:u-1;if(q[b])return a;p.push(b),q[b]=!0,r=b+o,l=void 0}else s=!0}m=n}if(s&&k&&k(),0===p.length)return a;j&&j();let w=a.slice(0,p[0]);for(let d=0;d<p.length;++d){let f=p[d],g=p[d+1]||a.length;0===f?w=`
|
|
204
|
+
`)},flush(a){a.enqueue("data: [DONE]\n\n")}})}},dC={"content-type":"text/event-stream","cache-control":"no-cache",connection:"keep-alive","x-vercel-ai-ui-message-stream":"v1","x-accel-buffering":"no"},dD=b0.record(b0.string(),b1.optional());function dE(){return Object.create(null)}function dF(a){return a.type.startsWith("tool-")}function dG(a){return dF(a)||"dynamic-tool"===a.type}function dH(a){return a.type.split("-").slice(1).join("-")}function dI(a){var b;return(b=a.pipeThrough(new TransformStream))[Symbol.asyncIterator]=function(){let a=this.getReader(),b=!1;async function c(c){var d;if(!b){b=!0;try{c&&await (null==(d=a.cancel)?void 0:d.call(a))}finally{try{a.releaseLock()}catch(a){}}}}return{async next(){let d;if(b)return{done:!0,value:void 0};try{d=await a.read()}catch(a){throw await c(!1),a}let{done:e,value:f}=d;return e?(await c(!0),{done:!0,value:void 0}):{done:!1,value:f}},return:async()=>(await c(!0),{done:!0,value:void 0}),async throw(a){throw await c(!0),a}}},b}async function dJ({stream:a,onError:b,abortSignal:c}){let d=a.getReader(),e=()=>{d.cancel().catch(()=>{})};(null==c?void 0:c.aborted)?e():null==c||c.addEventListener("abort",e,{once:!0});try{for(;;){let{done:a}=await d.read();if(a)break}}catch(a){null==b||b(a)}finally{null==c||c.removeEventListener("abort",e),d.releaseLock()}}function dK(){let a,b;return{promise:new Promise((c,d)=>{a=c,b=d}),resolve:a,reject:b}}(0,R.lazySchema)(()=>(0,R.zodSchema)(b0.union([b0.looseObject({type:b0.literal("text-start"),id:b0.string(),providerMetadata:b2.optional()}),b0.looseObject({type:b0.literal("text-delta"),id:b0.string(),delta:b0.string(),providerMetadata:b2.optional()}),b0.looseObject({type:b0.literal("text-end"),id:b0.string(),providerMetadata:b2.optional()}),b0.looseObject({type:b0.literal("error"),errorText:b0.string()}),b0.looseObject({type:b0.literal("tool-input-start"),toolCallId:b0.string(),toolName:b0.string(),providerExecuted:b0.boolean().optional(),providerMetadata:b2.optional(),toolMetadata:dD.optional(),dynamic:b0.boolean().optional(),title:b0.string().optional()}),b0.looseObject({type:b0.literal("tool-input-delta"),toolCallId:b0.string(),inputTextDelta:b0.string()}),b0.looseObject({type:b0.literal("tool-input-available"),toolCallId:b0.string(),toolName:b0.string(),input:b0.unknown(),providerExecuted:b0.boolean().optional(),providerMetadata:b2.optional(),toolMetadata:dD.optional(),dynamic:b0.boolean().optional(),title:b0.string().optional()}),b0.looseObject({type:b0.literal("tool-input-error"),toolCallId:b0.string(),toolName:b0.string(),input:b0.unknown(),providerExecuted:b0.boolean().optional(),providerMetadata:b2.optional(),toolMetadata:dD.optional(),dynamic:b0.boolean().optional(),errorText:b0.string(),title:b0.string().optional()}),b0.looseObject({type:b0.literal("tool-approval-request"),approvalId:b0.string(),toolCallId:b0.string(),approvalDescriptor:b0.unknown().optional(),reason:b0.string().optional(),isAutomatic:b0.boolean().optional(),signature:b0.string().optional()}),b0.looseObject({type:b0.literal("tool-approval-response"),approvalId:b0.string(),approved:b0.boolean(),reason:b0.string().optional(),providerExecuted:b0.boolean().optional(),providerMetadata:b2.optional()}),b0.looseObject({type:b0.literal("tool-output-available"),toolCallId:b0.string(),output:b0.unknown(),providerExecuted:b0.boolean().optional(),providerMetadata:b2.optional(),toolMetadata:dD.optional(),dynamic:b0.boolean().optional(),preliminary:b0.boolean().optional()}),b0.looseObject({type:b0.literal("tool-output-error"),toolCallId:b0.string(),errorText:b0.string(),providerExecuted:b0.boolean().optional(),providerMetadata:b2.optional(),toolMetadata:dD.optional(),dynamic:b0.boolean().optional()}),b0.looseObject({type:b0.literal("tool-output-denied"),toolCallId:b0.string()}),b0.looseObject({type:b0.literal("reasoning-start"),id:b0.string(),providerMetadata:b2.optional()}),b0.looseObject({type:b0.literal("reasoning-delta"),id:b0.string(),delta:b0.string(),providerMetadata:b2.optional()}),b0.looseObject({type:b0.literal("reasoning-end"),id:b0.string(),providerMetadata:b2.optional()}),b0.looseObject({type:b0.literal("custom"),kind:b0.string().transform(a=>a),providerMetadata:b2.optional()}),b0.looseObject({type:b0.literal("source-url"),sourceId:b0.string(),url:b0.string(),title:b0.string().optional(),providerMetadata:b2.optional()}),b0.looseObject({type:b0.literal("source-document"),sourceId:b0.string(),mediaType:b0.string(),title:b0.string(),filename:b0.string().optional(),providerMetadata:b2.optional()}),b0.looseObject({type:b0.literal("file"),url:b0.string(),mediaType:b0.string(),providerMetadata:b2.optional()}),b0.looseObject({type:b0.literal("reasoning-file"),url:b0.string(),mediaType:b0.string(),providerMetadata:b2.optional()}),b0.looseObject({type:b0.custom(a=>"string"==typeof a&&a.startsWith("data-"),{message:'Type must start with "data-"'}),id:b0.string().optional(),data:b0.unknown(),transient:b0.boolean().optional()}),b0.looseObject({type:b0.literal("start-step")}),b0.looseObject({type:b0.literal("finish-step")}),b0.looseObject({type:b0.literal("reset-step")}),b0.looseObject({type:b0.literal("start"),messageId:b0.string().optional(),messageMetadata:b0.unknown().optional()}),b0.looseObject({type:b0.literal("finish"),finishReason:b0.enum(["stop","length","content-filter","tool-calls","error","other"]).optional(),messageMetadata:b0.unknown().optional()}),b0.looseObject({type:b0.literal("abort"),reason:b0.string().optional()}),b0.looseObject({type:b0.literal("message-metadata"),messageMetadata:b0.unknown()})])));var dL=Symbol("streamRetryAttemptBoundary");function dM(a){return"object"==typeof a&&null!=a&&dL in a}function dN(a){return"object"==typeof a&&null!=a?a:void 0}function dO(a){return"string"==typeof a?a:void 0}function dP(a){return"string"==typeof a||"number"==typeof a?a:void 0}function dQ(a){return"boolean"==typeof a?a:void 0}function dR(a){let b="string"==typeof a&&/^\d{3}$/.test(a)?Number(a):a;return"number"==typeof b&&Number.isInteger(b)&&b>=400&&b<=599?b:void 0}var dS=(0,R.createIdGenerator)({prefix:"aitxt",size:24}),dT=(0,R.createIdGenerator)({prefix:"call",size:24});async function dU({model:a,tools:b,toolOrder:c,output:d,toolChoice:e,prompt:f,system:g,instructions:h,messages:i,allowSystemInMessages:j,download:k,abortSignal:l,headers:m,includeRawChunks:n,providerOptions:o,repairToolCall:p,refineToolInput:q,executeLanguageModelCallInTelemetryContext:r=async({execute:a})=>await a(),callId:s,toolsContext:t,experimental_sandbox:u,_internal:{generateId:v=dS,generateCallId:w=dT,now:x=cv}={},onStart:y,onLanguageModelCallStart:z,onLanguageModelCallEnd:A,...B}){let C=bC(a),D=null!=s?s:w(),E=await cn({instructions:h,system:g,prompt:f,messages:i,allowSystemInMessages:j}),F=await bM({prompt:{instructions:E.instructions,messages:E.messages},supportedUrls:await C.supportedUrls,download:k,provider:C.provider.split(".")[0]}),G=await bX({tools:b,toolOrder:c,toolsContext:t,experimental_sandbox:u}),H=bW({toolChoice:e});await cw({event:{promptMessages:F},callbacks:y});let I={callId:D,...{provider:C.provider,modelId:C.modelId,instructions:E.instructions,messages:E.messages,tools:G,...B}};await cw({event:I,callbacks:z});let J=x(),{stream:K,response:L,request:M}=await r({...I,execute:async()=>await C.doStream({...B,tools:G,toolChoice:H,responseFormat:await (null==d?void 0:d.responseFormat),prompt:F,providerOptions:o,abortSignal:l,headers:m,includeRawChunks:n})});return{stream:dI(K.pipeThrough(function({tools:a,instructions:b,messages:c,repairToolCall:d,refineToolInput:e,callId:f,provider:g,modelId:h,generateId:i,now:j,callStartTimestampMs:k,onLanguageModelCallEnd:l}){let m,n,o=new Map,p=[],q=new Map,r=new Map,s=i(),t=h,u=[];return new TransformStream({async transform(h,i){var v,w,x,y,z;if("text-delta"===(y=h).type&&y.delta.length>0||"reasoning-delta"===y.type&&y.delta.length>0||"tool-input-delta"===y.type&&y.delta.length>0||"file"===y.type||"reasoning-file"===y.type||"tool-call"===y.type){let a=j();null==m?m=a-k:null!=n&&u.push(a-n),n=a}switch(h.type){case"error":i.enqueue({type:"error",error:function(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s;if((r=a)instanceof Error||"[object Error]"===Object.prototype.toString.call(r)||S.AISDKError.isInstance(a)||aY.isInstance(a))return a;let t=dN(a);if(null==t)return a;let u=(0,R.isProviderStreamError)(a),v=u?t:null!=(d=null!=(c=dN(null==(b=dN(t.response))?void 0:b.error))?c:dN(t.error))?d:t;if("string"!=typeof v.message)return a;let w=null!=(e=dO(v.type))?e:dO(t.type),x=null!=(f=dP(v.code))?f:dP(t.code),y=null!=(m=null!=(l=null!=(k=null!=(j=null!=(i=null!=(h=null!=(g=dR(v.statusCode))?g:dR(t.statusCode))?h:dR(v.status_code))?i:dR(t.status_code))?j:dR(v.status))?k:dR(t.status))?l:dR(v.code))?m:dR(t.code),z=function(a){switch(a.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}}(v.message),A=null!=y?y:null==z?void 0:z.statusCode,B=null!=(p=null!=(o=null!=(n=dQ(v.isRetryable))?n:dQ(t.isRetryable))?o:dQ(v.is_retryable))?p:dQ(t.is_retryable);return new aY({message:v.message,type:w,code:x,statusCode:A,isRetryable:null!=(q=null!=B?B:null==z?void 0:z.isRetryable)?q:null!=(s=A)&&(408===s||409===s||429===s||s>=500),data:u?a.data:a})}(h.error)});break;case"text-start":dW({content:p,partIndexes:q,id:h.id,type:"text",providerMetadata:h.providerMetadata}),i.enqueue(h);break;case"text-delta":dW({content:p,partIndexes:q,id:h.id,type:"text",textDelta:h.delta,providerMetadata:h.providerMetadata}),i.enqueue({type:"text-delta",id:h.id,text:h.delta,providerMetadata:h.providerMetadata});break;case"text-end":dW({content:p,partIndexes:q,id:h.id,type:"text",providerMetadata:h.providerMetadata}),q.delete(h.id),i.enqueue(h);break;case"reasoning-start":dW({content:p,partIndexes:r,id:h.id,type:"reasoning",providerMetadata:h.providerMetadata}),i.enqueue(h);break;case"reasoning-delta":dW({content:p,partIndexes:r,id:h.id,type:"reasoning",textDelta:h.delta,providerMetadata:h.providerMetadata}),i.enqueue({type:"reasoning-delta",id:h.id,text:h.delta,providerMetadata:h.providerMetadata});break;case"reasoning-end":dW({content:p,partIndexes:r,id:h.id,type:"reasoning",providerMetadata:h.providerMetadata}),r.delete(h.id),i.enqueue(h);break;case"file":case"reasoning-file":{let a=new cC({data:"data"===h.data.type?h.data.data:h.data.url.toString(),mediaType:h.mediaType});p.push({type:h.type,file:a,...null!=h.providerMetadata?{providerMetadata:h.providerMetadata}:{}}),i.enqueue({type:h.type,file:a,providerMetadata:h.providerMetadata});break}case"finish":{let a,b,c=cp(h.usage),d=j()-k,e={responseTimeMs:d,effectiveOutputTokensPerSecond:cz({tokens:c.outputTokens,durationMs:d}),outputTokensPerSecond:null==m?void 0:cz({tokens:c.outputTokens,durationMs:d-m}),inputTokensPerSecond:null==m?void 0:cz({tokens:c.inputTokens,durationMs:m}),effectiveTotalTokensPerSecond:cz({tokens:de(c.inputTokens,c.outputTokens),durationMs:d}),timeToFirstOutputMs:m,timeBetweenOutputChunksMs:u.length>0?(a=[...z=u].sort((a,b)=>a-b),b=z.reduce((a,b)=>a+b,0),{min:a[0],p10:dV(a,.1),median:dV(a,.5),avg:b/z.length,p90:dV(a,.9),max:a[a.length-1]}):void 0};await cw({event:{callId:f,provider:g,modelId:t,finishReason:h.finishReason.unified,usage:c,content:p,responseId:s,...null!=h.providerMetadata?{providerMetadata:h.providerMetadata}:{},performance:e},callbacks:l}),i.enqueue({type:"model-call-end",finishReason:h.finishReason.unified,rawFinishReason:h.finishReason.raw,usage:c,providerMetadata:h.providerMetadata,performance:e});break}case"tool-call":try{let f=await cT({toolCall:h,tools:a,repairToolCall:d,refineToolInput:e,instructions:b,messages:c});o.set(f.toolCallId,f),i.enqueue(f),p.push(f),f.invalid&&(f.providerExecuted||i.enqueue({type:"tool-error",toolCallId:f.toolCallId,toolName:f.toolName,input:f.input,error:(0,S.getErrorMessage)(f.error),dynamic:!0,title:f.title,...null!=f.toolMetadata?{toolMetadata:f.toolMetadata}:{}}))}catch(a){i.enqueue({type:"error",error:a})}break;case"tool-approval-request":{let a=o.get(h.toolCallId);if(null==a){i.enqueue({type:"error",error:new an({toolCallId:h.toolCallId,approvalId:h.approvalId})});break}let b={type:"tool-approval-request",approvalId:h.approvalId,toolCall:a};i.enqueue(b),p.push(b);break}case"tool-result":{let a=h.toolName,b=o.get(h.toolCallId),c=h.isError?{type:"tool-error",toolCallId:h.toolCallId,toolName:a,input:null==b?void 0:b.input,providerExecuted:!0,error:h.result,dynamic:h.dynamic,...null!=h.providerMetadata?{providerMetadata:h.providerMetadata}:{},...(null==b?void 0:b.toolMetadata)!=null?{toolMetadata:b.toolMetadata}:{}}:{type:"tool-result",toolCallId:h.toolCallId,toolName:a,input:null==b?void 0:b.input,output:h.result,providerExecuted:!0,dynamic:h.dynamic,...null!=h.providerMetadata?{providerMetadata:h.providerMetadata}:{},...(null==b?void 0:b.toolMetadata)!=null?{toolMetadata:b.toolMetadata}:{}};i.enqueue(c),p.push(c);break}case"tool-input-start":{let b=ct(a,h.toolName);i.enqueue({...h,dynamic:null!=(v=h.dynamic)?v:(null==b?void 0:b.type)==="dynamic",title:null==b?void 0:b.title,...(null==b?void 0:b.metadata)!=null?{toolMetadata:b.metadata}:{}});break}case"stream-start":i.enqueue({type:"model-call-start",warnings:h.warnings});break;case"response-metadata":s=null!=(w=h.id)?w:s,t=null!=(x=h.modelId)?x:t,i.enqueue({type:"model-call-response-metadata",id:h.id,timestamp:h.timestamp,modelId:h.modelId});break;default:("custom"===h.type||"source"===h.type)&&p.push(h),i.enqueue(h)}}})}({tools:b,instructions:E.instructions,messages:E.messages,repairToolCall:p,refineToolInput:q,callId:D,provider:C.provider,modelId:C.modelId,generateId:v,now:x,callStartTimestampMs:J,onLanguageModelCallEnd:A}))),response:L,request:M}}function dV(a,b){return a[Math.ceil(b*a.length)-1]}function dW({content:a,partIndexes:b,id:c,type:d,textDelta:e,providerMetadata:f}){let g=b.get(c);null==g&&(g=a.push({type:d,text:"",...null!=f?{providerMetadata:f}:{}})-1,b.set(c,g));let h=a[g];null!=e&&(h.text+=e),null!=f&&(h.providerMetadata=f)}var dX=(0,R.createIdGenerator)({prefix:"aitxt",size:24}),dY=(0,R.createIdGenerator)({prefix:"call",size:24}),dZ={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 d$(a){if(!dZ[a.type])return!1;switch(a.type){case"text-delta":case"reasoning-delta":return a.text.length>0;case"tool-input-delta":return a.delta.length>0;case"file":case"reasoning-file":case"tool-call":return!0;default:return!1}}var d_=Symbol("streamRetryBoundary");async function d0(a){try{await a}catch(a){}}var d1=class{constructor({model:a,telemetry:b,headers:c,settings:d,maxRetries:e,streamRetries:f,abortSignal:g,stepTimeoutMs:h,stepAbortController:i,firstChunkTimeoutMs:j,firstChunkAbortController:k,chunkTimeoutMs:l,chunkAbortController:m,instructions:n,system:o,prompt:p,messages:q,allowSystemInMessages:r,experimental_sandbox:s,tools:t,toolChoice:u,transforms:v,activeTools:w,toolOrder:x,repairToolCall:y,refineToolInput:z,stopConditions:A,output:B,toolApproval:C,experimental_toolCallers:D,experimental_toolApprovalSecret:E,providerOptions:F,prepareStep:G,now:H,generateId:I,generateCallId:J,timeout:K,onChunk:L,onError:M,canRetryStreamViaOnError:N,onEnd:O,onAbort:P,onStepFinish:Q,onStart:T,onStepStart:U,onLanguageModelCallStart:V,onLanguageModelCallEnd:W,onToolExecutionStart:X,onToolExecutionEnd:Y,runtimeContext:Z,toolsContext:$,download:_,include:aa}){let ab,ac,ad,ae,af,ag;this._totalUsage=new R.DelayedPromise,this._finishReason=new R.DelayedPromise,this._rawFinishReason=new R.DelayedPromise,this._steps=new R.DelayedPromise,this._initialResponseMessages=new R.DelayedPromise,this.outputSpecification=B,this.tools=t;const ah=dh({tools:t,toolCallers:D}),ai=db({telemetry:b,includeRuntimeContext:null==b?void 0:b.includeRuntimeContext,includeToolsContext:null==b?void 0:b.includeToolsContext});let aj=[],ak={},al=[],am=[];const an=[],ao=[];let ap=[];const aq=()=>{let a=new Set;return b=>{if(!a.has(b))return a.add(b),b;let c=I(),d=c,e=0;for(;a.has(d);)d=`${c}-${++e}`;return a.add(d),d}},ar=aq(),as=aq(),at=new Map;let au=dE(),av=dE();const aw=new Set,ax=new TransformStream({async transform(b,c){var d,e,f,g,h;if(d_ in b){let a=b[d_];aj=[],av=dE(),au=dE(),ak=a.request,al=null!=(d=a.request.messages)?d:[],am=a.warnings;return}let{part:i}=b;c.enqueue(b);let j="error"===i.type&&aw.has(i.error);if(j||await cw({event:{chunk:i},callbacks:L}),"error"===i.type){let a=co(i.error);aD.isInstance(a)&&(ad=a),j?aw.delete(i.error):await cw({event:{error:a},callbacks:async a=>{await M(a)}})}if(("custom"===i.type||"source"===i.type||"tool-call"===i.type||"tool-approval-request"===i.type||"tool-approval-response"===i.type||"tool-error"===i.type)&&aj.push(i),"text-start"===i.type&&(au[i.id]={type:"text",text:"",providerMetadata:i.providerMetadata},aj.push(au[i.id])),"text-delta"===i.type){let a=au[i.id];if(null==a)return void c.enqueue({part:{type:"error",error:`text part ${i.id} not found`},partialOutput:void 0});a.text+=i.text,a.providerMetadata=null!=(e=i.providerMetadata)?e:a.providerMetadata}if("text-end"===i.type){let a=au[i.id];if(null==a)return void c.enqueue({part:{type:"error",error:`text part ${i.id} not found`},partialOutput:void 0});a.providerMetadata=null!=(f=i.providerMetadata)?f:a.providerMetadata,delete au[i.id]}if("reasoning-start"===i.type&&(av[i.id]={type:"reasoning",text:"",providerMetadata:i.providerMetadata},aj.push(av[i.id])),"reasoning-delta"===i.type){let a=av[i.id];if(null==a)return void c.enqueue({part:{type:"error",error:`reasoning part ${i.id} not found`},partialOutput:void 0});a.text+=i.text,a.providerMetadata=null!=(g=i.providerMetadata)?g:a.providerMetadata}if("reasoning-end"===i.type){let a=av[i.id];if(null==a)return void c.enqueue({part:{type:"error",error:`reasoning part ${i.id} not found`},partialOutput:void 0});a.providerMetadata=null!=(h=i.providerMetadata)?h:a.providerMetadata,delete av[i.id]}if(("file"===i.type||"reasoning-file"===i.type)&&aj.push({type:i.type,file:i.file,...null!=i.providerMetadata?{providerMetadata:i.providerMetadata}:{}}),"tool-result"!==i.type||i.preliminary||aj.push(i),"start-step"===i.type&&(aj=[],av=dE(),au=dE(),ak=i.request,am=i.warnings),"finish-step"===i.type){let b=await df({content:aj,tools:t}),c=new c6({callId:aH,stepNumber:an.length,provider:a.provider,modelId:a.modelId,runtimeContext:Z,toolsContext:$,content:aj,finishReason:i.finishReason,rawFinishReason:i.rawFinishReason,usage:i.usage,performance:i.performance,warnings:am,request:{...ak,messages:aa.requestMessages?bE(al):void 0},response:{...i.response,messages:bE(b)},providerMetadata:i.providerMetadata});await cw({event:c,callbacks:[Q,ai.onStepEnd]}),bp({warnings:am,provider:a.provider,model:a.modelId}),an.push(c),ac=[...ap,...b],ab.resolve()}"finish"===i.type&&(ag=i.totalUsage,ae=i.finishReason,af=i.rawFinishReason)},async flush(a){try{if(0===an.length||null!=ad){let a=(null==g?void 0:g.aborted)?g.reason:null!=ad?ad:new aD({message:"No output generated. Check the stream for errors."});aG.rejectResultPromises(a);return}let a=null!=ae?ae:"other",b=null!=ag?ag:cq();aG._finishReason.resolve(a),aG._rawFinishReason.resolve(af),aG._totalUsage.resolve(b),aG._steps.resolve(an);let c=an[an.length-1],d=an.flatMap(a=>a.content),e=an.flatMap(a=>a.files),f=an.flatMap(a=>a.sources),h=an.flatMap(a=>a.toolCalls),i=an.flatMap(a=>a.staticToolCalls),j=an.flatMap(a=>a.dynamicToolCalls),k=an.flatMap(a=>a.toolResults),l=an.flatMap(a=>a.staticToolResults),m=an.flatMap(a=>a.dynamicToolResults),n=an.flatMap(a=>{var b;return null!=(b=a.warnings)?b:[]}),o=null==O?void 0:async a=>{let b=null==B?void 0:await aG.getOutputPromise().catch(()=>void 0);await O({...a,...null!=B?{output:b}:{}})},p={callId:aH,toolsContext:c.toolsContext,stepNumber:c.stepNumber,model:c.model,runtimeContext:c.runtimeContext,finishReason:c.finishReason,rawFinishReason:c.rawFinishReason,usage:b,totalUsage:b,content:d,text:c.text,reasoning:c.reasoning,reasoningText:c.reasoningText,files:e,sources:f,toolCalls:h,staticToolCalls:i,dynamicToolCalls:j,toolResults:k,staticToolResults:l,dynamicToolResults:m,responseMessages:[...ao,...an.flatMap(a=>a.response.messages)],warnings:n,request:c.request,response:c.response,providerMetadata:c.providerMetadata,steps:an,finalStep:c};await Promise.all([cw({event:p,callbacks:o}),cw({event:p,callbacks:ai.onEnd})])}catch(b){a.error(b)}}}),ay=function(){let a=[],b=null,c=!1,d=!1,e=dK(),f=()=>{d||(c=!0,e.resolve(),a.forEach(({reader:a,onCancel:b})=>{null==b||b(),a.cancel()}),a=[],null==b||b.close())},g=async()=>{var h;if(d)return;if(c&&0===a.length){null==b||b.close();return}if(0===a.length)return e=dK(),await e.promise,await g();let i=a[0];try{let{value:e,done:f}=await i.reader.read();if(d)return;f?(a.shift(),0===a.length&&c?null==b||b.close():await g()):null==b||b.enqueue(e)}catch(c){if(d)return;null==(h=i.onError)||h.call(i,c),null==b||b.error(c),a.shift(),f()}};return{stream:new ReadableStream({start(a){b=a},pull:g,async cancel(){for(let{reader:b,onCancel:f}of(d=!0,c=!0,e.resolve(),a))null==f||f(),await b.cancel();a=[]}}),addStream:(b,f)=>{var g;if(d){null==(g=null==f?void 0:f.onCancel)||g.call(f),b.cancel().catch(()=>{});return}if(c)throw Error("Cannot add inner stream: outer stream is closed");a.push({reader:b.getReader(),...f}),e.resolve()},close:()=>{d||(c=!0,e.resolve(),0===a.length&&(null==b||b.close()))},terminate:f}}();this.addStream=ay.addStream,this.closeStream=ay.close;const az=ay.stream.getReader();let aA=new ReadableStream({async start(a){a.enqueue({type:"start"})},async pull(a){async function b(){await cw({event:{callId:aH,steps:an,...(null==g?void 0:g.reason)!==void 0?{reason:g.reason}:{}},callbacks:[P,ai.onAbort]}),a.enqueue({type:"abort",...(null==g?void 0:g.reason)!==void 0?{reason:(0,S.getErrorMessage)(g.reason)}:{}}),a.close()}try{let{done:c,value:d}=await az.read();if(c)return void a.close();if(null==g?void 0:g.aborted)return void await b();a.enqueue(d)}catch(c){(0,R.isAbortError)(c)&&(null==g?void 0:g.aborted)?await b():a.error(c)}},cancel:a=>ay.stream.cancel(a)}),aB=!0;aA=function({stream:a,transforms:b,tools:c,stopStream:d}){let e,f,g=a.getReader(),h=!1;return new ReadableStream({async pull(a){null!=f||(f=(()=>{let a=new ReadableStream({async pull(a){let{done:b,value:c}=await g.read();if(b){h=!0,a.close();return}if(d_ in c){e=c,a.close();return}a.enqueue(c)},cancel:a=>g.cancel(a)},{highWaterMark:0});for(let e of b)a=a.pipeThrough(e({tools:c,stopStream:d}));return a.getReader()})());let{done:i,value:j}=await f.read();if(!i)return void a.enqueue(j);if(f=void 0,null!=e){a.enqueue(e),e=void 0;return}h&&a.close()},async cancel(a){await (null==f?void 0:f.cancel(a)),await g.cancel(a)}})}({stream:aA=aA.pipeThrough(new TransformStream({async transform(a,b){aB&&b.enqueue(a)}})),transforms:v,tools:t,stopStream(){ay.terminate(),aB=!1}}),this.baseStream=aA.pipeThrough(function(a){let b,c,d="",e="",f="";function g({controller:a,chunk:b}){a.enqueue(b)}function h({controller:a,partialOutput:d}){g({controller:a,chunk:{part:{type:"text-delta",id:b,text:e,providerMetadata:c},partialOutput:d}}),e=""}return new TransformStream({async transform(i,j){var k;if(d_ in i){b=void 0,d="",e="",c=void 0,f="",j.enqueue(i);return}if("finish-step"===i.type&&e.length>0&&h({controller:j}),"text-delta"!==i.type&&"text-start"!==i.type&&"text-end"!==i.type)return void g({controller:j,chunk:{part:i,partialOutput:void 0}});if(null==b)b=i.id;else if(i.id!==b)return void g({controller:j,chunk:{part:i,partialOutput:void 0}});if("text-start"===i.type)return void g({controller:j,chunk:{part:i,partialOutput:void 0}});if("text-end"===i.type){e.length>0&&h({controller:j}),g({controller:j,chunk:{part:i,partialOutput:void 0}});return}if(d+=i.text,e+=i.text,c=null!=(k=i.providerMetadata)?k:c,0===i.text.length&&null!=i.providerMetadata)return void g({controller:j,chunk:{part:i,partialOutput:void 0}});let l=await a.parsePartialOutput({text:d});if(void 0!==l){let a="string"==typeof l.partial?l.partial:JSON.stringify(l.partial);a!==f&&(h({controller:j,partialOutput:l.partial}),f=a)}}})}(null!=B?B:cM())).pipeThrough(ax);const{maxRetries:aC}=cx({maxRetries:e,abortSignal:g}),{maxRetries:aE}=cx({maxRetries:f,abortSignal:g,parameter:"streamRetries",defaultMaxRetries:0}),aF=bV(d),aG=this,aH=J();(async()=>{var b;let d=await cn({instructions:n,system:o,prompt:p,messages:q,allowSystemInMessages:r}),e={callId:aH,operationId:"ai.streamText",provider:a.provider,modelId:a.modelId,instructions:d.instructions,messages:d.messages,tools:t,toolChoice:u,activeTools:w,toolOrder:x,maxOutputTokens:aF.maxOutputTokens,temperature:aF.temperature,topP:aF.topP,topK:aF.topK,presencePenalty:aF.presencePenalty,frequencyPenalty:aF.frequencyPenalty,stopSequences:aF.stopSequences,seed:aF.seed,reasoning:aF.reasoning,maxRetries:aC,timeout:K,headers:c,providerOptions:F,output:B,runtimeContext:Z,toolsContext:$},f=null==(b=ai.startTracingChannelContext)?void 0:b.call(ai,{type:"streamText",event:e,completion:aG._totalUsage.promise.then(()=>void 0)}),v=a=>{var b;return null!=(b=null==f?void 0:f.run(a))?b:a()},D=null==ai.runInTracingChannelSpan?void 0:a=>v(()=>ai.runInTracingChannelSpan(a));await cw({event:e,callbacks:[T,ai.onStart]});let J=d.messages,O=d.instructions,{approvedToolApprovals:P,deniedToolApprovals:Q}=cA({messages:J});if(Q.length>0||P.length>0){let a,{approvedToolApprovals:b,deniedToolApprovals:c,invalidToolApprovals:d}=await dt({approvedToolApprovals:P.filter(a=>!a.toolCall.providerExecuted),tools:t,toolApproval:C,messages:J,toolsContext:$,runtimeContext:Z,toolApprovalSecret:E}),e=[...Q.filter(a=>!a.toolCall.providerExecuted),...c],f=e.filter(a=>null==a.existingToolResult),h=Q.filter(a=>a.toolCall.providerExecuted),i=new ReadableStream({start(b){a=b}});aG.addStream(i);try{for(let b of[...e,...h])null==a||a.enqueue({type:"tool-output-denied",toolCallId:b.toolCall.toolCallId,toolName:b.toolCall.toolName});for(let b of d)null==a||a.enqueue({type:"tool-error",toolCallId:b.toolCall.toolCallId,toolName:b.toolCall.toolName,input:b.toolCall.input,error:(0,S.getErrorMessage)(b.error),title:b.toolCall.title,...!0===b.toolCall.dynamic?{dynamic:!0}:{},...null!=b.toolCall.toolMetadata?{toolMetadata:b.toolCall.toolMetadata}:{}});let c=[];if(await Promise.all(b.map(async b=>{let d=await cF({toolCall:b.toolCall,tools:t,callId:aH,messages:J,abortSignal:g,timeout:K,experimental_sandbox:s,toolsContext:$,onToolExecutionStart:(0,R.filterNullable)(X,ai.onToolExecutionStart),onToolExecutionEnd:(0,R.filterNullable)(Y,ai.onToolExecutionEnd),executeToolInTelemetryContext:ai.executeTool,runInTracingChannelSpan:D,onPreliminaryToolResult:b=>{null==a||a.enqueue(b)}});null!=d&&(null==a||a.enqueue(d.output),c.push(d.output))})),c.length>0||f.length>0||d.length>0){let a=[];for(let b of c)a.push({type:"tool-result",toolCallId:b.toolCallId,toolName:b.toolName,output:await bT({toolCallId:b.toolCallId,input:b.input,tool:ct(t,b.toolName),output:"tool-result"===b.type?b.output:b.error,errorMode:"tool-error"===b.type?"text":"none"})});for(let b of d)a.push({type:"tool-result",toolCallId:b.toolCall.toolCallId,toolName:b.toolCall.toolName,output:await bT({toolCallId:b.toolCall.toolCallId,input:b.toolCall.input,tool:ct(t,b.toolCall.toolName),output:b.error,errorMode:"text"})});for(let b of f)a.push({type:"tool-result",toolCallId:b.toolCall.toolCallId,toolName:b.toolCall.toolName,output:{type:"execution-denied",reason:b.approvalResponse.reason}});ao.push({role:"tool",content:a})}}finally{null==a||a.close()}}async function ad({currentStep:b,usage:e}){var f,n,o,p,q,D,P,Q,S,T,ae,af;let ag,aj,ak=cy({abortController:i,label:"Step",timeoutMs:h});function am(){null!=ag&&(clearTimeout(ag),ag=void 0)}function aq(){null!=aj&&clearTimeout(aj),aj=cy({abortController:m,label:"Chunk",timeoutMs:l})}function au(){null==g||g.removeEventListener("abort",au),null!=ak&&clearTimeout(ak),am(),null!=aj&&(clearTimeout(aj),aj=void 0)}null==g||g.addEventListener("abort",au,{once:!0});try{let h,i,l;ab=new R.DelayedPromise;let m=null==(f=ai.startTracingChannelContext)?void 0:f.call(ai,{type:"step",event:{callId:aH,stepNumber:b},completion:ab.promise}),aj=a=>{var b;return null!=(b=null==m?void 0:m.run(a))?b:a()},ak=an.flatMap(a=>a.response.messages),av=[...ao,...ak],ax=null!=ac?ac:[...J,...ao],ay=await (null==G?void 0:G({model:a,steps:an,stepNumber:an.length,instructions:O,initialInstructions:d.instructions,messages:ax,initialMessages:J,responseMessages:av,toolsContext:$,runtimeContext:Z,experimental_sandbox:s})),az=null!=(n=null==ay?void 0:ay.experimental_sandbox)?n:s;Z=null!=(o=null==ay?void 0:ay.runtimeContext)?o:Z,$=null!=(p=null==ay?void 0:ay.toolsContext)?p:$;let aA=bC(null!=(q=null==ay?void 0:ay.model)?q:a),aB=cG({tools:t,activeTools:null!=(D=null==ay?void 0:ay.activeTools)?D:w}),{executionTools:aI,modelTools:aJ}=di({tools:aB,toolCallers:ah}),aK=null!=(P=null==ay?void 0:ay.toolOrder)?P:x,aL=await bX({tools:aJ,toolOrder:aK,toolsContext:$,experimental_sandbox:az}),aM=bW({toolChoice:null!=(Q=null==ay?void 0:ay.toolChoice)?Q:u}),aN=null!=(S=null==ay?void 0:ay.messages)?S:ax;ap=aN;let aO=null!=(ae=null!=(T=null==ay?void 0:ay.instructions)?T:null==ay?void 0:ay.system)?ae:O;O=aO;let aP=bH(F,null==ay?void 0:ay.providerOptions),aQ=cX({callSettings:aF,stepSettings:ay}),aR=H(),{retry:aS}=cx({maxRetries:aC,abortSignal:g}),aT=!1,aU=()=>aj(()=>aS(async()=>{var b,d;return dU({model:null!=(b=null==ay?void 0:ay.model)?b:a,tools:aJ,toolOrder:aK,toolChoice:null!=(d=null==ay?void 0:ay.toolChoice)?d:u,instructions:aO,messages:aN,allowSystemInMessages:r,repairToolCall:y,refineToolInput:z,abortSignal:g,headers:c,includeRawChunks:aa.rawChunks,providerOptions:aP,download:_,output:B,callId:aH,executeLanguageModelCallInTelemetryContext:ai.executeLanguageModelCall,toolsContext:$,experimental_sandbox:az,onLanguageModelCallStart:(0,R.filterNullable)(V,ai.onLanguageModelCallStart),onLanguageModelCallEnd:(0,R.filterNullable)(W,ai.onLanguageModelCallEnd),onStart:async({promptMessages:a})=>{var b,c;aT||(aT=!0,await cw({event:{callId:aH,provider:aA.provider,modelId:aA.modelId,stepNumber:an.length,instructions:aO,messages:aN,tools:t,toolChoice:null!=(b=null==ay?void 0:ay.toolChoice)?b:u,activeTools:null!=(c=null==ay?void 0:ay.activeTools)?c:w,toolOrder:aK,steps:[...an],providerOptions:aP,runtimeContext:Z,toolsContext:$,output:B,promptMessages:a,stepTools:aL,stepToolChoice:aM},callbacks:[U,ai.onStepStart]}))},_internal:{now:H},...aQ})})),aV=await aU(),aW=aV.request,aX=aV.response,aY=aV.stream.getReader(),aZ=0,a$=0,a_=[],a0=new WeakSet,a1=new Set,a2=new Set,a3=!1,a4=aE>0||N,a5=new ReadableStream({async pull(a){let b=b=>{switch(b.type){case"text-start":a1.add(b.id);break;case"text-end":a1.delete(b.id);break;case"reasoning-start":a2.add(b.id);break;case"reasoning-end":a2.delete(b.id)}a.enqueue(b)},c=()=>{for(let a of a_)b(a);a_=[]},d=()=>{for(let b of a1)a.enqueue({type:"text-end",id:b});for(let b of(a1.clear(),a2))a.enqueue({type:"reasoning-end",id:b});a2.clear()};for(;;){let e,f,{done:g,value:h}=await aY.read();if(a3&&(a.enqueue(function({warnings:a}){return{[dL]:!0,warnings:a}}({warnings:g||"model-call-start"!==h.type?[]:h.warnings})),a3=!1),g){c(),a.close();return}let i="tool-input-start"===h.type||"tool-input-delta"===h.type||"tool-input-end"===h.type||"tool-call"===h.type||"tool-approval-request"===h.type||"tool-approval-response"===h.type||"tool-result"===h.type||"tool-error"===h.type;if("model-call-end"===h.type){c(),b(h);return}if(a4&&"error"!==h.type&&(i||a_.length>0)){d$(h)&&(am(),aq(),a0.add(h)),a_.push(h);continue}if("error"!==h.type)return void b(h);await cw({event:{chunk:h},callbacks:L});let j=co(h.error);try{e=await M({error:j})}catch(a){}let k=N&&"object"==typeof e&&null!=e&&"retry"in e&&!0===e.retry,l=aZ<aE,m=!l&&k&&a$<1;if(!l&&!m){c(),aw.add(h.error),a.enqueue(h);return}l?aZ++:a$++,await aY.cancel(j),a_=[],d();try{f=await aU()}catch(b){a.enqueue({type:"error",error:b}),a.close();return}aW=f.request,aX=f.response,aY=f.stream.getReader(),a3=!0}},cancel:a=>aY.cancel(a)});null!=g&&g.aborted||(ag=cy({abortController:k,label:"First chunk",timeoutMs:j}));let a6=function({stream:a,tools:b,stepInputMessages:c,abortSignal:d,runtimeContext:e}){if(null==b)return a;let f=dE();return a.pipeThrough(new TransformStream({async transform(a,g){if(g.enqueue(a),!dM(a))switch(a.type){case"tool-input-start":{f[a.id]=a.toolName;let g=ct(b,a.toolName);(null==g?void 0:g.onInputStart)!=null&&await g.onInputStart({toolCallId:a.id,messages:c,abortSignal:d,context:e});break}case"tool-input-delta":{let g=ct(b,f[a.id]);(null==g?void 0:g.onInputDelta)!=null&&await g.onInputDelta({inputTextDelta:a.delta,toolCallId:a.id,messages:c,abortSignal:d,context:e});break}case"tool-call":{let g=ct(b,f[a.toolCallId]);delete f[a.toolCallId],(null==g?void 0:g.onInputAvailable)!=null&&await g.onInputAvailable({input:a.input,toolCallId:a.toolCallId,messages:c,abortSignal:d,context:e})}}}}))}({stream:a5,tools:aI,stepInputMessages:aN,abortSignal:g,runtimeContext:Z}),a7=null==ai.runInTracingChannelSpan?void 0:a=>aj(()=>ai.runInTracingChannelSpan(a)),a8=function({stream:a,tools:b,callId:c,messages:d,abortSignal:e,timeout:f,experimental_sandbox:g,toolsContext:h,toolApproval:i,runtimeContext:j,toolApprovalSecret:k,generateId:l,onToolExecutionStart:m,onToolExecutionEnd:n,executeToolInTelemetryContext:o,runInTracingChannelSpan:p}){let q=[];return a.pipeThrough(new TransformStream({async transform(a,r){if(r.enqueue(a),dM(a)){q.length=0;return}switch(a.type){case"tool-call":{if(a.invalid)return;let c=ct(b,a.toolName);if(null==c)return;let e=await cZ({tools:b,toolCall:a,toolApproval:i,messages:d,toolsContext:h,runtimeContext:j});if("not-applicable"===e.type){null!=c.execute&&!0!==a.providerExecuted&&q.push(a);return}let f=l(),g=await ds({secret:k,approvalId:f,toolCallId:a.toolCallId,toolName:a.toolName,input:a.input});switch(e.type){case"user-approval":return void r.enqueue({type:"tool-approval-request",approvalId:f,toolCall:a,...null!=e.reason?{reason:e.reason}:{},...null!=g?{signature:g}:{}});case"denied":r.enqueue({type:"tool-approval-request",approvalId:f,toolCall:a,isAutomatic:!0,...null!=g?{signature:g}:{}}),r.enqueue({type:"tool-approval-response",approvalId:f,approved:!1,toolCall:a,reason:e.reason,providerExecuted:a.providerExecuted});return;case"approved":r.enqueue({type:"tool-approval-request",approvalId:f,toolCall:a,isAutomatic:!0,...null!=g?{signature:g}:{}}),r.enqueue({type:"tool-approval-response",approvalId:f,approved:!0,toolCall:a,reason:e.reason,providerExecuted:a.providerExecuted})}null!=c.execute&&!0!==a.providerExecuted&&q.push(a);return}case"model-call-end":if(!cH(a.finishReason))return;await Promise.all(q.map(async a=>{try{let i=await cF({toolCall:a,tools:b,callId:c,messages:d,abortSignal:e,timeout:f,experimental_sandbox:g,toolsContext:h,onToolExecutionStart:m,onToolExecutionEnd:n,executeToolInTelemetryContext:o,runInTracingChannelSpan:p,onPreliminaryToolResult:a=>{r.enqueue(a)}});null!=i&&(r.enqueue({type:"tool-execution-end",toolCallId:i.output.toolCallId,toolExecutionMs:i.toolExecutionMs}),r.enqueue(i.output))}catch(a){r.enqueue({type:"error",error:a})}}));return}}}))}({stream:a6,tools:aI,callId:aH,messages:aN,abortSignal:g,timeout:K,experimental_sandbox:az,toolsContext:$,toolApproval:C,runtimeContext:Z,toolApprovalSecret:E,generateId:I,onToolExecutionStart:(0,R.filterNullable)(X,ai.onToolExecutionStart),onToolExecutionEnd:(0,R.filterNullable)(Y,ai.onToolExecutionEnd),executeToolInTelemetryContext:ai.executeTool,runInTracingChannelSpan:a7}),a9=()=>({...aW,body:aa.requestBody?null==aW?void 0:aW.body:void 0,messages:aa.requestMessages?bE(aN):void 0});al=null!=(af=a9().messages)?af:[];let ba=[],bb=[],bc=[],bd="other",be=!1,bf=!1,bg=cq(),bh=!0,bi=()=>({responseTimeMs:0,effectiveOutputTokensPerSecond:0,outputTokensPerSecond:void 0,inputTokensPerSecond:void 0,effectiveTotalTokensPerSecond:0,timeToFirstOutputMs:void 0,timeBetweenOutputChunksMs:void 0}),bj=bi(),bk={},bl=()=>({id:I(),timestamp:new Date,modelId:a.modelId}),bm=bl(),bn=new Map,bo=new Map,bp=(a,b)=>{a.enqueue(b)};aG.addStream(a8.pipeThrough(new TransformStream({async transform(a,b){var c,d,e,f,g,j,k;if(dM(a)){h=a.warnings,bd="other",l=void 0,be=!1,bf=!1,bg=cq(),i=void 0,bj=bi(),bm=bl(),bn.clear(),bo.clear(),b.enqueue({[d_]:{request:a9(),warnings:h}});return}if("model-call-start"===a.type){h=a.warnings;return}bh&&(bh=!1,bp(b,{type:"start-step",request:a9(),warnings:null!=h?h:[]}));let m=a.type;if(d$(a)){let b=a0.has(a);bf||b||am(),bf=!0,b||aq()}switch(m){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":bp(b,a);break;case"text-start":{let c=ar(a.id);bn.set(a.id,c),bp(b,{...a,id:c});break}case"text-delta":(a.text.length>0||null!=a.providerMetadata)&&bp(b,{...a,id:null!=(c=bn.get(a.id))?c:a.id});break;case"text-end":bp(b,{...a,id:null!=(d=bn.get(a.id))?d:a.id}),bn.delete(a.id);break;case"reasoning-start":{let c=as(a.id);bo.set(a.id,c),bp(b,{...a,id:c});break}case"reasoning-delta":bp(b,{...a,id:null!=(e=bo.get(a.id))?e:a.id});break;case"reasoning-end":bp(b,{...a,id:null!=(f=bo.get(a.id))?f:a.id}),bo.delete(a.id);break;case"tool-call":bp(b,a),ba.push(a);break;case"tool-approval-response":bp(b,a),bc.push(a);break;case"tool-result":bp(b,a),a.preliminary||bb.push(a);break;case"tool-error":bp(b,a),bb.push(a);break;case"tool-execution-end":bk[a.toolCallId]=a.toolExecutionMs;break;case"model-call-response-metadata":bm={id:null!=(g=a.id)?g:bm.id,timestamp:null!=(j=a.timestamp)?j:bm.timestamp,modelId:null!=(k=a.modelId)?k:bm.modelId};break;case"model-call-end":be=!0,bg=a.usage,bd=a.finishReason,l=a.rawFinishReason,i=a.providerMetadata,bj=a.performance;break;case"error":be=!0,bp(b,a),bd="error";break;case"raw":aa.rawChunks&&bp(b,a);break;default:throw Error(`Unknown chunk type: ${m}`)}},async flush(a){if(!be&&!bf){bp(a,{type:"error",error:new aD({message:"No output generated. The model stream ended without a finish chunk."})}),au(),aG.closeStream();return}let c=H()-aR,d={type:"finish-step",finishReason:bd,rawFinishReason:l,usage:bg,performance:{stepTimeMs:c,toolExecutionMs:bk,...bj},providerMetadata:i,response:{...bm,headers:null==aX?void 0:aX.headers}};bp(a,d);let f=cr(e,bg);await ab.promise;let g=ba.filter(a=>!0!==a.providerExecuted),h=bb.filter(a=>!0!==a.providerExecuted),j=bc.filter(a=>!1===a.approved);for(let a of ba){if(!0!==a.providerExecuted)continue;let b=ct(aI,a.toolName);(null==b?void 0:b.type)==="provider"&&b.supportsDeferredResults&&(bb.some(b=>("tool-result"===b.type||"tool-error"===b.type)&&b.toolCallId===a.toolCallId)||at.set(a.toolCallId,{toolName:a.toolName}))}for(let a of bb)("tool-result"===a.type||"tool-error"===a.type)&&at.delete(a.toolCallId);if(au(),g.length===h.length+j.length&&(g.length>0||at.size>0)&&!await dd({stopConditions:A,steps:an}))try{await v(()=>ad({currentStep:b+1,usage:f}))}catch(b){bp(a,{type:"error",error:b}),aG.closeStream()}else bp(a,{type:"finish",finishReason:bd,rawFinishReason:l,totalUsage:f}),aG.closeStream()}})),{onError:au,onCancel:au})}catch(a){throw au(),a}}aG._initialResponseMessages.resolve(ao),await v(()=>ad({currentStep:0,usage:cq()}))})().catch(async a=>{var b;await (null==(b=ai.onError)?void 0:b.call(ai,{callId:aH,error:a})),aG._initialResponseMessages.reject(a),d0(aG._initialResponseMessages.promise),aG.addStream(new ReadableStream({start(b){b.enqueue({type:"error",error:a}),b.close()}})),aG.closeStream()})}get steps(){return this.consumeStream(),this._steps.promise}get finalStep(){return this.steps.then(a=>a.at(-1))}get content(){return this.steps.then(a=>a.flatMap(a=>a.content))}get warnings(){return this.steps.then(a=>a.flatMap(a=>{var b;return null!=(b=a.warnings)?b:[]}))}get providerMetadata(){return this.finalStep.then(a=>a.providerMetadata)}get text(){return this.finalStep.then(a=>a.text)}get reasoningText(){return this.finalStep.then(a=>a.reasoningText)}get reasoning(){return this.finalStep.then(a=>cY(a.reasoning))}get sources(){return this.steps.then(a=>a.flatMap(a=>a.sources))}get files(){return this.steps.then(a=>a.flatMap(a=>a.files))}get toolCalls(){return this.steps.then(a=>a.flatMap(a=>a.toolCalls))}get staticToolCalls(){return this.steps.then(a=>a.flatMap(a=>a.staticToolCalls))}get dynamicToolCalls(){return this.steps.then(a=>a.flatMap(a=>a.dynamicToolCalls))}get toolResults(){return this.steps.then(a=>a.flatMap(a=>a.toolResults))}get staticToolResults(){return this.steps.then(a=>a.flatMap(a=>a.staticToolResults))}get dynamicToolResults(){return this.steps.then(a=>a.flatMap(a=>a.dynamicToolResults))}get usage(){return this.totalUsage}get request(){return this.finalStep.then(a=>a.request)}get response(){return this.finalStep.then(a=>a.response)}get responseMessages(){return Promise.all([this._initialResponseMessages.promise,this.steps]).then(([a,b])=>[...a,...b.flatMap(a=>a.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[a,b]=this.baseStream.tee();return this.baseStream=b,a}get textStream(){return dI(function({stream:a}){return a.pipeThrough(new TransformStream({transform(a,b){"text-delta"===a.type&&b.enqueue(a.text)}}))}({stream:this.stream}))}get stream(){return dI(this.teeStream().pipeThrough(new TransformStream({transform({part:a},b){b.enqueue(a)}})))}get fullStream(){return this.stream}rejectResultPromises(a){this.rejectResultPromise({delayedPromise:this._finishReason,error:a}),this.rejectResultPromise({delayedPromise:this._rawFinishReason,error:a}),this.rejectResultPromise({delayedPromise:this._totalUsage,error:a}),this.rejectResultPromise({delayedPromise:this._steps,error:a}),this.rejectResultPromise({delayedPromise:this._initialResponseMessages,error:a})}rejectResultPromise({delayedPromise:a,error:b}){a.isPending()&&(a.reject(b),d0(a.promise))}async consumeStream(a){var b;try{await dJ({stream:this.stream,onError:b=>{var c;this.rejectResultPromises(b),null==(c=null==a?void 0:a.onError)||c.call(a,b)}})}catch(c){this.rejectResultPromises(c),null==(b=null==a?void 0:a.onError)||b.call(a,c)}}get experimental_partialOutputStream(){return this.partialOutputStream}get partialOutputStream(){return dI(this.teeStream().pipeThrough(new TransformStream({transform({partialOutput:a},b){null!=a&&b.enqueue(a)}})))}get elementStream(){var a,b,c;let d=null==(a=this.outputSpecification)?void 0:a.createElementStreamTransform();if(null==d)throw new S.UnsupportedFunctionalityError({functionality:`element streams in ${null!=(c=null==(b=this.outputSpecification)?void 0:b.name)?c:"text"} mode`});return dI(this.teeStream().pipeThrough(d))}getOutputPromise(){return null==this.outputPromise&&(this.outputPromise=this.finalStep.then(a=>{var b;return(null!=(b=this.outputSpecification)?b:cM()).parseCompleteOutput({text:a.text},{response:a.response,usage:a.usage,finishReason:a.finishReason})})),this.outputPromise}get output(){return this.getOutputPromise()}toUIMessageStream({originalMessages:a,generateMessageId:b,onEnd:c,onFinish:d,messageMetadata:e,sendReasoning:f,sendSources:g,sendStart:h,sendFinish:i,onError:j}={}){return dI(function({stream:a,tools:b,sendReasoning:c=!0,sendSources:d=!1,sendStart:e=!0,sendFinish:f=!0,onError:g=()=>"An error occurred.",messageMetadata:h,originalMessages:i,generateMessageId:j,onEnd:k,onFinish:l}){let m={status:"unknown"},n=!1,o=a=>{n||"completed"===m.status||"aborted"===m.status||"unknown"===a.status||"unknown"!==m.status&&"failed"===a.status||(m=a)},p=a=>{n=!0,m={status:"failed",error:a}},q=null!=j?function({originalMessages:a,responseMessageId:b}){if(null==a)return;let c=a[a.length-1];return(null==c?void 0:c.role)==="assistant"?c.id:"function"==typeof b?b():b}({originalMessages:i,responseMessageId:j}):void 0,r=a.getReader(),s=!1,t=!1,u=()=>{s||(r.releaseLock(),s=!0)};return function({messageId:a,originalMessages:b=[],onStepEnd:c,onStepFinish:d,onEnd:e,onFinish:f,onError:g,stream:h,getOutcome:i}){let j,k=null==b?void 0:b[b.length-1];(null==k?void 0:k.role)!=="assistant"?k=void 0:a=k.id;let l=!1,m=!1,n=a=>{m=!0,j=a},o=h.pipeThrough(new TransformStream({transform(b,c){try{let d=b;"start"===b.type&&null==b.messageId&&null!=a&&(d={...b,messageId:a}),"abort"===b.type&&(l=!0),c.enqueue(d)}catch(a){throw n(a),a}}})),p=null!=c?c:d,q=null!=e?e:f;if(null==q&&null==p)return o;let r=function({lastMessage:a,messageId:b}){return{message:(null==a?void 0:a.role)==="assistant"?a:{id:b,metadata:void 0,role:"assistant",parts:[]},activeTextParts:dE(),activeReasoningParts:dE(),partialToolCalls:dE()}}({lastMessage:k?structuredClone(k):void 0,messageId:null!=a?a:""}),s=!1,t=async()=>{var a;if(s||!q)return;s=!0;let c=r.message.id===(null==k?void 0:k.id),d=null!=(a=null==i?void 0:i())?a:{status:"unknown"},e=m?{status:"failed",error:j}:"unknown"===d.status&&l?{status:"aborted"}:d;await q({isAborted:l||"aborted"===e.status,isContinuation:c,outcome:e,responseMessage:r.message,messages:[...c?b.slice(0,-1):b,r.message],finishReason:r.finishReason})},u=async()=>{if(!p)return;let a=r.message.id===(null==k?void 0:k.id);try{await p({isContinuation:a,responseMessage:structuredClone(r.message),messages:[...a?b.slice(0,-1):b,structuredClone(r.message)]})}catch(a){g(a)}};return(function({stream:a,messageMetadataSchema:b,dataPartSchemas:c,runUpdateMessageJob:d,onError:e,onToolCall:f,onData:g}){return a.pipeThrough(new TransformStream({async transform(a,h){await d(async({state:d,write:i})=>{var j,k,l,m;function n(){let a=d.message.parts,b=a.length-1;for(;b>=0&&"step-start"!==a[b].type;)b--;return a.slice(b+1)}function o(a){let b=n().filter(dG).find(b=>b.toolCallId===a);if(null==b){let c=d.message.parts;for(let d=c.length-1;d>=0;d--){let e=c[d];if(dG(e)&&e.toolCallId===a){b=e;break}}}if(null==b)throw new a9({chunkType:"tool-invocation",chunkId:a,message:`No tool invocation found for tool call ID "${a}".`});return b}function p(a,b){var c;let e=null!=b?b:n().find(b=>dF(b)&&b.toolCallId===a.toolCallId);if(null!=e){e.state=a.state,e.input=a.input,e.output=a.output,e.errorText=a.errorText,e.rawInput=a.rawInput,e.preliminary=a.preliminary,void 0!==a.title&&(e.title=a.title),void 0!==a.toolMetadata&&(e.toolMetadata=a.toolMetadata),e.providerExecuted=null!=(c=a.providerExecuted)?c:e.providerExecuted;let b=a.providerMetadata;null!=b&&("output-available"===a.state||"output-error"===a.state?e.resultProviderMetadata=b:e.callProviderMetadata=b)}else d.message.parts.push({type:`tool-${a.toolName}`,toolCallId:a.toolCallId,state:a.state,title:a.title,...void 0!==a.toolMetadata?{toolMetadata:a.toolMetadata}:{},input:a.input,output:a.output,rawInput:a.rawInput,errorText:a.errorText,providerExecuted:a.providerExecuted,preliminary:a.preliminary,...null!=a.providerMetadata&&("output-available"===a.state||"output-error"===a.state)?{resultProviderMetadata:a.providerMetadata}:{},...null!=a.providerMetadata&&"output-available"!==a.state&&"output-error"!==a.state?{callProviderMetadata:a.providerMetadata}:{}})}function q(a,b){var c,e;let f=null!=b?b:n().find(b=>"dynamic-tool"===b.type&&b.toolCallId===a.toolCallId);if(null!=f){f.state=a.state,f.toolName=a.toolName,f.input=a.input,f.output=a.output,f.errorText=a.errorText,f.rawInput=null!=(c=a.rawInput)?c:f.rawInput,f.preliminary=a.preliminary,void 0!==a.title&&(f.title=a.title),void 0!==a.toolMetadata&&(f.toolMetadata=a.toolMetadata),f.providerExecuted=null!=(e=a.providerExecuted)?e:f.providerExecuted;let b=a.providerMetadata;null!=b&&("output-available"===a.state||"output-error"===a.state?f.resultProviderMetadata=b:f.callProviderMetadata=b)}else d.message.parts.push({type:"dynamic-tool",toolName:a.toolName,toolCallId:a.toolCallId,state:a.state,input:a.input,output:a.output,errorText:a.errorText,preliminary:a.preliminary,providerExecuted:a.providerExecuted,title:a.title,...void 0!==a.toolMetadata?{toolMetadata:a.toolMetadata}:{},...null!=a.providerMetadata&&("output-available"===a.state||"output-error"===a.state)?{resultProviderMetadata:a.providerMetadata}:{},...null!=a.providerMetadata&&"output-available"!==a.state&&"output-error"!==a.state?{callProviderMetadata:a.providerMetadata}:{}})}async function r(a){if(null!=a){let c=null!=d.message.metadata?bH(d.message.metadata,a):a;null!=b&&await (0,R.validateTypes)({value:c,schema:b,context:{field:"message.metadata",entityId:d.message.id}}),d.message.metadata=c}}switch(a.type){case"text-start":{let b={type:"text",text:"",providerMetadata:a.providerMetadata,state:"streaming"};d.activeTextParts[a.id]=b,d.message.parts.push(b),i();break}case"text-delta":{let b=d.activeTextParts[a.id];if(null==b)throw new a9({chunkType:"text-delta",chunkId:a.id,message:`Received text-delta for missing text part with ID "${a.id}". Ensure a "text-start" chunk is sent before any "text-delta" chunks.`});b.text+=a.delta,b.providerMetadata=null!=(j=a.providerMetadata)?j:b.providerMetadata,i();break}case"text-end":{let b=d.activeTextParts[a.id];if(null==b)throw new a9({chunkType:"text-end",chunkId:a.id,message:`Received text-end for missing text part with ID "${a.id}". Ensure a "text-start" chunk is sent before any "text-end" chunks.`});b.state="done",b.providerMetadata=null!=(k=a.providerMetadata)?k:b.providerMetadata,delete d.activeTextParts[a.id],i();break}case"custom":{let b={type:"custom",kind:a.kind,providerMetadata:a.providerMetadata};d.message.parts.push(b),i();break}case"reasoning-start":{let b={type:"reasoning",id:a.id,text:"",providerMetadata:a.providerMetadata,state:"streaming"};d.activeReasoningParts[a.id]=b,d.message.parts.push(b),i();break}case"reasoning-delta":{let b=d.activeReasoningParts[a.id];if(null==b)throw new a9({chunkType:"reasoning-delta",chunkId:a.id,message:`Received reasoning-delta for missing reasoning part with ID "${a.id}". Ensure a "reasoning-start" chunk is sent before any "reasoning-delta" chunks.`});b.text+=a.delta,b.providerMetadata=null!=(l=a.providerMetadata)?l:b.providerMetadata,i();break}case"reasoning-end":{let b=d.activeReasoningParts[a.id];if(null==b)throw new a9({chunkType:"reasoning-end",chunkId:a.id,message:`Received reasoning-end for missing reasoning part with ID "${a.id}". Ensure a "reasoning-start" chunk is sent before any "reasoning-end" chunks.`});b.providerMetadata=null!=(m=a.providerMetadata)?m:b.providerMetadata,b.state="done",delete d.activeReasoningParts[a.id],i();break}case"file":case"reasoning-file":d.message.parts.push({type:a.type,mediaType:a.mediaType,url:a.url,...null!=a.providerMetadata?{providerMetadata:a.providerMetadata}:{}}),i();break;case"source-url":d.message.parts.push({type:"source-url",sourceId:a.sourceId,url:a.url,title:a.title,providerMetadata:a.providerMetadata}),i();break;case"source-document":d.message.parts.push({type:"source-document",sourceId:a.sourceId,mediaType:a.mediaType,title:a.title,filename:a.filename,providerMetadata:a.providerMetadata}),i();break;case"tool-input-start":{let b=n().filter(dF);d.partialToolCalls[a.toolCallId]={text:"",toolName:a.toolName,index:b.length,dynamic:a.dynamic,title:a.title,toolMetadata:a.toolMetadata},a.dynamic?q({toolCallId:a.toolCallId,toolName:a.toolName,state:"input-streaming",input:void 0,providerExecuted:a.providerExecuted,title:a.title,toolMetadata:a.toolMetadata,providerMetadata:a.providerMetadata}):p({toolCallId:a.toolCallId,toolName:a.toolName,state:"input-streaming",input:void 0,providerExecuted:a.providerExecuted,title:a.title,toolMetadata:a.toolMetadata,providerMetadata:a.providerMetadata}),i();break}case"tool-input-delta":{let b=d.partialToolCalls[a.toolCallId];if(null==b)throw new a9({chunkType:"tool-input-delta",chunkId:a.toolCallId,message:`Received tool-input-delta for missing tool call with ID "${a.toolCallId}". Ensure a "tool-input-start" chunk is sent before any "tool-input-delta" chunks.`});b.text+=a.inputTextDelta;let{value:c}=await cL(b.text);b.dynamic?q({toolCallId:a.toolCallId,toolName:b.toolName,state:"input-streaming",input:c,title:b.title,toolMetadata:b.toolMetadata}):p({toolCallId:a.toolCallId,toolName:b.toolName,state:"input-streaming",input:c,title:b.title,toolMetadata:b.toolMetadata}),i();break}case"tool-input-available":a.dynamic?q({toolCallId:a.toolCallId,toolName:a.toolName,state:"input-available",input:a.input,providerExecuted:a.providerExecuted,providerMetadata:a.providerMetadata,title:a.title,toolMetadata:a.toolMetadata}):p({toolCallId:a.toolCallId,toolName:a.toolName,state:"input-available",input:a.input,providerExecuted:a.providerExecuted,providerMetadata:a.providerMetadata,title:a.title,toolMetadata:a.toolMetadata}),i(),f&&!a.providerExecuted&&await f({toolCall:a});break;case"tool-input-error":{let b=n().filter(dG).find(b=>b.toolCallId===a.toolCallId);(null!=b?"dynamic-tool"===b.type:a.dynamic)?q({toolCallId:a.toolCallId,toolName:a.toolName,state:"output-error",input:a.input,errorText:a.errorText,providerExecuted:a.providerExecuted,providerMetadata:a.providerMetadata,toolMetadata:a.toolMetadata}):p({toolCallId:a.toolCallId,toolName:a.toolName,state:"output-error",input:void 0,rawInput:a.input,errorText:a.errorText,providerExecuted:a.providerExecuted,providerMetadata:a.providerMetadata,toolMetadata:a.toolMetadata}),i();break}case"tool-approval-request":{let b=o(a.toolCallId);b.state="approval-requested",b.approval={id:a.approvalId,...null!=a.approvalDescriptor?{descriptor:a.approvalDescriptor}:{},...null!=a.reason?{requestReason:a.reason}:{},...!0===a.isAutomatic?{isAutomatic:!0}:{},...null!=a.signature?{signature:a.signature}:{}},i();break}case"tool-approval-response":{let b=function(a){let b=d.message.parts.filter(dG).find(b=>{var c;return(null==(c=b.approval)?void 0:c.id)===a});if(null==b)throw new a9({chunkType:"tool-approval-response",chunkId:a,message:`No tool invocation found for approval ID "${a}".`});return b}(a.approvalId),c=null==b.approval?{id:a.approvalId}:b.approval;b.state="approval-responded",b.approval={...c,id:a.approvalId,approved:a.approved,...null!=a.reason?{reason:a.reason}:{}},null!=a.providerExecuted&&(b.providerExecuted=a.providerExecuted),null!=a.providerMetadata&&(b.callProviderMetadata=a.providerMetadata),i();break}case"tool-output-denied":o(a.toolCallId).state="output-denied",i();break;case"tool-output-available":{let b=o(a.toolCallId);"dynamic-tool"===b.type?q({toolCallId:a.toolCallId,toolName:b.toolName,state:"output-available",input:b.input,output:a.output,preliminary:a.preliminary,providerExecuted:a.providerExecuted,providerMetadata:a.providerMetadata,title:b.title,toolMetadata:b.toolMetadata},b):p({toolCallId:a.toolCallId,toolName:dH(b),state:"output-available",input:b.input,output:a.output,providerExecuted:a.providerExecuted,preliminary:a.preliminary,providerMetadata:a.providerMetadata,title:b.title,toolMetadata:b.toolMetadata},b),i();break}case"tool-output-error":{let b=o(a.toolCallId);"dynamic-tool"===b.type?q({toolCallId:a.toolCallId,toolName:b.toolName,state:"output-error",input:b.input,errorText:a.errorText,providerExecuted:a.providerExecuted,providerMetadata:a.providerMetadata,title:b.title,toolMetadata:b.toolMetadata},b):p({toolCallId:a.toolCallId,toolName:dH(b),state:"output-error",input:b.input,rawInput:b.rawInput,errorText:a.errorText,providerExecuted:a.providerExecuted,providerMetadata:a.providerMetadata,title:b.title,toolMetadata:b.toolMetadata},b),i();break}case"start-step":d.message.parts.push({type:"step-start"});break;case"finish-step":break;case"reset-step":{let a=n();d.activeTextParts=dE(),d.activeReasoningParts=dE(),d.partialToolCalls=dE(),a.length>0&&(d.message.parts.splice(d.message.parts.length-a.length,a.length),i());break}case"start":null!=a.messageId&&(d.message.id=a.messageId),await r(a.messageMetadata),(null!=a.messageId||null!=a.messageMetadata)&&i({updateStatus:!1});break;case"finish":null!=a.finishReason&&(d.finishReason=a.finishReason),await r(a.messageMetadata),null!=a.messageMetadata&&i();break;case"message-metadata":await r(a.messageMetadata),null!=a.messageMetadata&&i();break;case"error":null==e||e(Error(a.errorText));break;default:if(a.type.startsWith("data-")){if((null==c?void 0:c[a.type])!=null){let b=d.message.parts.findIndex(b=>"id"in b&&"data"in b&&b.id===a.id&&b.type===a.type),e=b>=0?b:d.message.parts.length;await (0,R.validateTypes)({value:a.data,schema:c[a.type],context:{field:`message.parts[${e}].data`,entityName:a.type,entityId:a.id}})}if(a.transient){null==g||g(a);break}let b=null!=a.id?d.message.parts.find(b=>a.type===b.type&&a.id===b.id):void 0;null!=b?b.data=a.data:d.message.parts.push(a),null==g||g(a),i()}}h.enqueue(a)})}}))})({stream:o,runUpdateMessageJob:async a=>{try{await a({state:r,write:()=>{}})}catch(a){throw n(a),a}},onError:g}).pipeThrough(new TransformStream({async transform(a,b){"finish-step"===a.type&&await u(),b.enqueue(a)},async cancel(){await t()},async flush(){await t()}}))}({stream:new ReadableStream({async pull(a){try{let{done:b,value:c}=await r.read();b?(u(),t||a.close()):a.enqueue(c)}catch(b){u(),t||(p(b),a.error(b))}},async cancel(a){if(t=!0,!s)try{await r.cancel(a)}finally{u()}}}).pipeThrough(new TransformStream({transform:async(a,i)=>{try{let j=null==h?void 0:h({part:a}),k=function(a,{tools:b,sendReasoning:c=!0,sendSources:d=!1,sendStart:e=!0,sendFinish:f=!0,onError:g=()=>"An error occurred.",messageMetadata:h,responseMessageId:i}={}){let j=a=>{let c=null==b?void 0:b[a.toolName];return null==c?a.dynamic:(null==c?void 0:c.type)==="dynamic"||void 0},k=a.type;switch(k){case"text-start":return{type:"text-start",id:a.id,...null!=a.providerMetadata?{providerMetadata:a.providerMetadata}:{}};case"text-delta":return{type:"text-delta",id:a.id,delta:a.text,...null!=a.providerMetadata?{providerMetadata:a.providerMetadata}:{}};case"text-end":return{type:"text-end",id:a.id,...null!=a.providerMetadata?{providerMetadata:a.providerMetadata}:{}};case"reasoning-start":case"reasoning-end":if(!c)return;return{type:k,id:a.id,...null!=a.providerMetadata?{providerMetadata:a.providerMetadata}:{}};case"reasoning-delta":if(!c)return;return{type:"reasoning-delta",id:a.id,delta:a.text,...null!=a.providerMetadata?{providerMetadata:a.providerMetadata}:{}};case"file":case"reasoning-file":if("reasoning-file"===k&&!c)return;return{type:a.type,mediaType:a.file.mediaType,url:`data:${a.file.mediaType};base64,${a.file.base64}`,...null!=a.providerMetadata?{providerMetadata:a.providerMetadata}:{}};case"source":if(!d)return;if("url"===a.sourceType)return{type:"source-url",sourceId:a.id,url:a.url,title:a.title,...null!=a.providerMetadata?{providerMetadata:a.providerMetadata}:{}};if("document"===a.sourceType)return{type:"source-document",sourceId:a.id,mediaType:a.mediaType,title:a.title,filename:a.filename,...null!=a.providerMetadata?{providerMetadata:a.providerMetadata}:{}};return;case"custom":return{type:"custom",kind:a.kind,...null!=a.providerMetadata?{providerMetadata:a.providerMetadata}:{}};case"tool-input-start":{let b=j(a);return{type:"tool-input-start",toolCallId:a.id,toolName:a.toolName,...null!=a.providerExecuted?{providerExecuted:a.providerExecuted}:{},...null!=a.providerMetadata?{providerMetadata:a.providerMetadata}:{},...null!=a.toolMetadata?{toolMetadata:a.toolMetadata}:{},...null!=b?{dynamic:b}:{},...null!=a.title?{title:a.title}:{}}}case"tool-input-delta":return{type:"tool-input-delta",toolCallId:a.id,inputTextDelta:a.delta};case"tool-call":{let b=j(a);if(a.invalid)return{type:"tool-input-error",toolCallId:a.toolCallId,toolName:a.toolName,input:a.input,...null!=a.providerExecuted?{providerExecuted:a.providerExecuted}:{},...null!=a.providerMetadata?{providerMetadata:a.providerMetadata}:{},...null!=a.toolMetadata?{toolMetadata:a.toolMetadata}:{},...null!=b?{dynamic:b}:{},errorText:g(a.error),...null!=a.title?{title:a.title}:{}};return{type:"tool-input-available",toolCallId:a.toolCallId,toolName:a.toolName,input:a.input,...null!=a.providerExecuted?{providerExecuted:a.providerExecuted}:{},...null!=a.providerMetadata?{providerMetadata:a.providerMetadata}:{},...null!=a.toolMetadata?{toolMetadata:a.toolMetadata}:{},...null!=b?{dynamic:b}:{},...null!=a.title?{title:a.title}:{}}}case"tool-approval-request":return{type:"tool-approval-request",approvalId:a.approvalId,toolCallId:a.toolCall.toolCallId,...null!=a.reason?{reason:a.reason}:{},...null!=a.isAutomatic?{isAutomatic:a.isAutomatic}:{},...null!=a.signature?{signature:a.signature}:{}};case"tool-approval-response":return{type:"tool-approval-response",approvalId:a.approvalId,approved:a.approved,...null!=a.reason?{reason:a.reason}:{},...null!=a.providerExecuted?{providerExecuted:a.providerExecuted}:{}};case"tool-result":{let b=j(a);return{type:"tool-output-available",toolCallId:a.toolCallId,output:void 0===a.output?null:a.output,...null!=a.providerExecuted?{providerExecuted:a.providerExecuted}:{},...null!=a.providerMetadata?{providerMetadata:a.providerMetadata}:{},...null!=a.toolMetadata?{toolMetadata:a.toolMetadata}:{},...null!=a.preliminary?{preliminary:a.preliminary}:{},...null!=b?{dynamic:b}:{}}}case"tool-error":{let b=j(a);return{type:"tool-output-error",toolCallId:a.toolCallId,errorText:a.providerExecuted?"string"==typeof a.error?a.error:JSON.stringify(a.error):g(a.error),...null!=a.providerExecuted?{providerExecuted:a.providerExecuted}:{},...null!=a.providerMetadata?{providerMetadata:a.providerMetadata}:{},...null!=a.toolMetadata?{toolMetadata:a.toolMetadata}:{},...null!=b?{dynamic:b}:{}}}case"tool-output-denied":return{type:"tool-output-denied",toolCallId:a.toolCallId};case"error":return{type:"error",errorText:g(a.error)};case"start-step":return{type:"start-step"};case"finish-step":return{type:"finish-step"};case"start":if(!e)return;return{type:"start",...null!=h?{messageMetadata:h}:{},...null!=i?{messageId:i}:{}};case"finish":if(!f)return;return{type:"finish",finishReason:a.finishReason,...null!=h?{messageMetadata:h}:{}};case"abort":return a;case"tool-input-end":case"raw":return;default:throw Error(`Unknown chunk type: ${k}`)}}(a,{tools:b,sendReasoning:c,sendSources:d,sendStart:e,sendFinish:f,onError:g,messageMetadata:j,responseMessageId:q});null!=k&&i.enqueue(k),null!=j&&"start"!==a.type&&"finish"!==a.type&&i.enqueue({type:"message-metadata",messageMetadata:j}),"finish"===a.type?o({status:"completed"}):"abort"===a.type?o({status:"aborted"}):"error"===a.type&&o({status:"failed",error:a.error})}catch(a){throw p(a),a}}})),messageId:null!=q?q:null==j?void 0:j(),originalMessages:i,onEnd:null!=k?k:l,onError:g,getOutcome:()=>m})}({stream:this.stream,tools:this.tools,originalMessages:a,generateMessageId:b,onEnd:null!=c?c:d,messageMetadata:e,sendReasoning:f,sendSources:g,sendStart:h,sendFinish:i,onError:j}))}pipeUIMessageStreamToResponse(a,{originalMessages:b,generateMessageId:c,onEnd:d,onFinish:e,messageMetadata:f,sendReasoning:g,sendSources:h,sendFinish:i,sendStart:j,onError:k,...l}={}){return function({response:a,status:b,statusText:c,headers:d,stream:e,consumeSseStream:f}){let g=e.pipeThrough(new dB);if(f){let[a,b]=g.tee();g=a,f({stream:b})}return dA({response:a,status:b,statusText:c,headers:Object.fromEntries(dz(d,dC).entries()),stream:g.pipeThrough(new TextEncoderStream)})}({response:a,stream:this.toUIMessageStream({originalMessages:b,generateMessageId:c,onEnd:null!=d?d:e,messageMetadata:f,sendReasoning:g,sendSources:h,sendFinish:i,sendStart:j,onError:k}),...l})}pipeTextStreamToResponse(a,b){return function({response:a,status:b,statusText:c,headers:d,stream:e}){return dA({response:a,status:b,statusText:c,headers:Object.fromEntries(dz(d,{"content-type":"text/plain; charset=utf-8"}).entries()),stream:e.pipeThrough(new TextEncoderStream)})}({response:a,stream:this.textStream,...b})}toUIMessageStreamResponse({originalMessages:a,generateMessageId:b,onEnd:c,onFinish:d,messageMetadata:e,sendReasoning:f,sendSources:g,sendFinish:h,sendStart:i,onError:j,...k}={}){return function({status:a,statusText:b,headers:c,stream:d,consumeSseStream:e}){let f=d.pipeThrough(new dB);if(e){let[a,b]=f.tee();f=a,e({stream:b})}return new Response(f.pipeThrough(new TextEncoderStream),{status:a,statusText:b,headers:dz(c,dC)})}({stream:this.toUIMessageStream({originalMessages:a,generateMessageId:b,onEnd:null!=c?c:d,messageMetadata:e,sendReasoning:f,sendSources:g,sendFinish:h,sendStart:i,onError:j}),...k})}toTextStreamResponse(a){return function({status:a,statusText:b,headers:c,stream:d}){return new Response(d.pipeThrough(new TextEncoderStream),{status:null!=a?a:200,statusText:b,headers:dz(c,{"content-type":"text/plain; charset=utf-8"})})}({stream:this.textStream,...a})}},d2=class{constructor(a){this.version="agent-v1";const{onFinish:b,onEnd:c=b}=a;this.settings={...a,onEnd:c}}get id(){return this.settings.id}get tools(){return this.settings.tools}async prepareCall(a){var b,c,d,e;if(null!=this.settings.callOptionsSchema&&void 0!==a.options){let b=await (0,R.validateTypes)({value:a.options,schema:this.settings.callOptionsSchema,context:{field:"options"}});a={...a,options:b}}let{onStart:f,experimental_onStart:g,onStepStart:h,experimental_onStepStart:i,onToolExecutionStart:j,onToolExecutionEnd:k,onStepEnd:l,onStepFinish:m,onFinish:n,onEnd:o,...p}=this.settings,q={...p,stopWhen:null!=(b=this.settings.stopWhen)?b:dc(20),...a},{instructions:r,allowSystemInMessages:s,messages:t,prompt:u,runtimeContext:v,...w}=null!=(e=await (null==(d=(c=this.settings).prepareCall)?void 0:d.call(c,q)))?e:q,x={instructions:r,allowSystemInMessages:s,messages:t,prompt:u};return void 0===v?{...w,...x}:{...w,runtimeContext:v,...x}}agentHeaders(a){var b;return(0,R.withUserAgentSuffix)(null!=(b=a.headers)?b:{},"ai-sdk-agent/tool-loop")}async generate({abortSignal:a,timeout:b,experimental_sandbox:c,onStart:d,experimental_onStart:e,onStepStart:f,experimental_onStepStart:g,onToolExecutionStart:h,onToolExecutionEnd:i,onStepEnd:j,onStepFinish:k,onFinish:l,onEnd:m=l,...n}){var o,p,q;let r=await this.prepareCall({...n,experimental_sandbox:c}),s={abortSignal:a,timeout:null!=b?b:r.timeout,experimental_sandbox:c,onStart:c_(null!=(o=this.settings.onStart)?o:this.settings.experimental_onStart,null!=d?d:e),onStepStart:c_(null!=(p=this.settings.onStepStart)?p:this.settings.experimental_onStepStart,null!=f?f:g),onToolExecutionStart:c_(this.settings.onToolExecutionStart,h),onToolExecutionEnd:c_(this.settings.onToolExecutionEnd,i),onStepEnd:c_(null!=(q=this.settings.onStepEnd)?q:this.settings.onStepFinish,null!=j?j:k),onEnd:c_(this.settings.onEnd,m)};return await dw({...r,...s,headers:this.agentHeaders(r)})}async stream({abortSignal:a,timeout:b,experimental_sandbox:c,experimental_transform:d,onStart:e,experimental_onStart:f,onStepStart:g,experimental_onStepStart:h,onToolExecutionStart:i,onToolExecutionEnd:j,onStepEnd:k,onStepFinish:l,onFinish:m,onEnd:n=m,...o}){var p,q,r;let s=await this.prepareCall({...o,experimental_sandbox:c}),t={abortSignal:a,timeout:null!=b?b:s.timeout,experimental_sandbox:c,experimental_transform:d,onStart:c_(null!=(p=this.settings.onStart)?p:this.settings.experimental_onStart,null!=e?e:f),onStepStart:c_(null!=(q=this.settings.onStepStart)?q:this.settings.experimental_onStepStart,null!=g?g:h),onToolExecutionStart:c_(this.settings.onToolExecutionStart,i),onToolExecutionEnd:c_(this.settings.onToolExecutionEnd,j),onStepEnd:c_(null!=(r=this.settings.onStepEnd)?r:this.settings.onStepFinish,null!=k?k:l),onEnd:c_(this.settings.onEnd,n)};return await function({model:a,tools:b,toolChoice:c,instructions:d,system:e,prompt:f,messages:g,allowSystemInMessages:h,maxRetries:i,streamRetries:j,abortSignal:k,timeout:l,headers:m,stopWhen:n=dc(1),experimental_sandbox:o,output:p,toolApproval:q,experimental_toolCallers:r,experimental_toolApprovalSecret:s,experimental_telemetry:t,telemetry:u=t,prepareStep:v,providerOptions:w,activeTools:x,toolOrder:y,experimental_repairToolCall:z,repairToolCall:A=z,experimental_refineToolInput:B,experimental_transform:C,experimental_download:D,includeRawChunks:E,onChunk:F,onError:G,onFinish:H,onEnd:I=H,onAbort:J,onStepEnd:K,onStepFinish:L,onStart:M,experimental_onStart:N,onStepStart:O,experimental_onStepStart:P,onLanguageModelCallStart:Q,experimental_onLanguageModelCallStart:S,onLanguageModelCallEnd:T,experimental_onLanguageModelCallEnd:U,onToolExecutionStart:V,onToolExecutionEnd:W,experimental_onToolCallStart:X,experimental_onToolCallFinish:Y,runtimeContext:Z={},toolsContext:$={},experimental_include:_,include:aa=_,_internal:{now:ab=cv,generateId:ac=dX,generateCallId:ad=dY}={},...ae}){var af,ag,ah,ai;let aj=bY(l),ak=bZ(l),al=b$(l),am=b_(l),an=null!=ak?new AbortController:void 0,ao=null!=al?new AbortController:void 0,ap=null!=am?new AbortController:void 0,aq=null!=G?G:({error:a})=>{console.error(a)};return new d1({model:bC(a),telemetry:u,headers:m,settings:ae,maxRetries:i,streamRetries:j,abortSignal:cu(k,aj,null==an?void 0:an.signal,null==ao?void 0:ao.signal,null==ap?void 0:ap.signal),stepTimeoutMs:ak,stepAbortController:an,firstChunkTimeoutMs:al,firstChunkAbortController:ao,chunkTimeoutMs:am,chunkAbortController:ap,instructions:d,system:e,prompt:f,messages:g,allowSystemInMessages:h,experimental_sandbox:o,tools:b,toolsContext:$,runtimeContext:Z,toolChoice:c,transforms:(0,R.asArray)(C),activeTools:x,toolOrder:y,repairToolCall:A,refineToolInput:B,stopConditions:(0,R.asArray)(n),output:p,toolApproval:q,experimental_toolCallers:r,experimental_toolApprovalSecret:s,providerOptions:w,prepareStep:v,timeout:l,onChunk:F,onError:aq,canRetryStreamViaOnError:void 0!==j&&null!=G,onEnd:I,onAbort:J,onStepFinish:null!=K?K:L,onStart:null!=M?M:N,onStepStart:null!=O?O:P,onLanguageModelCallStart:null!=Q?Q:S,onLanguageModelCallEnd:null!=T?T:U,onToolExecutionStart:null!=V?V:X,onToolExecutionEnd:null!=W?W:Y,now:ab,generateId:ac,generateCallId:ad,download:D,include:{requestBody:null!=(af=null==aa?void 0:aa.requestBody)&&af,requestMessages:null!=(ag=null==aa?void 0:aa.requestMessages)&&ag,rawChunks:null!=(ai=null!=(ah=null==aa?void 0:aa.rawChunks)?ah:E)&&ai}})}({...s,...t,headers:this.agentHeaders(s)})}},d3=b0.record(b0.string(),b1.optional()),d4=b0.record(b0.string(),b0.string());function d5(a){if(a instanceof Uint8Array)return a;if("string"==typeof a)try{return(0,R.convertBase64ToUint8Array)(a)}catch(b){throw new bd({message:"Invalid data content. Content string is not a base64-encoded media.",content:a,cause:b})}if(a instanceof ArrayBuffer)return new Uint8Array(a);throw new bd({content:a})}(0,R.lazySchema)(()=>(0,R.zodSchema)(b0.array(b0.object({id:b0.string(),role:b0.enum(["system","user","assistant"]),metadata:b0.unknown().optional(),parts:b0.array(b0.union([b0.object({type:b0.literal("text"),text:b0.string(),state:b0.enum(["streaming","done"]).optional(),providerMetadata:b2.optional()}),b0.object({type:b0.literal("reasoning"),id:b0.string().optional(),text:b0.string(),state:b0.enum(["streaming","done"]).optional(),providerMetadata:b2.optional()}),b0.object({type:b0.literal("custom"),kind:b0.string(),providerMetadata:b2.optional()}),b0.object({type:b0.literal("source-url"),sourceId:b0.string(),url:b0.string(),title:b0.string().optional(),providerMetadata:b2.optional()}),b0.object({type:b0.literal("source-document"),sourceId:b0.string(),mediaType:b0.string(),title:b0.string(),filename:b0.string().optional(),providerMetadata:b2.optional()}),b0.object({type:b0.literal("file"),mediaType:b0.string(),filename:b0.string().optional(),url:b0.string(),providerReference:d4.optional(),providerMetadata:b2.optional()}),b0.object({type:b0.literal("reasoning-file"),mediaType:b0.string(),url:b0.string(),providerMetadata:b2.optional()}),b0.object({type:b0.literal("step-start")}),b0.object({type:b0.string().startsWith("data-"),id:b0.string().optional(),data:b0.unknown()}),b0.object({type:b0.literal("dynamic-tool"),toolName:b0.string(),toolCallId:b0.string(),title:b0.string().optional(),toolMetadata:d3.optional(),state:b0.literal("input-streaming"),input:b0.unknown().optional(),providerExecuted:b0.boolean().optional(),callProviderMetadata:b2.optional(),output:b0.never().optional(),errorText:b0.never().optional(),approval:b0.never().optional()}),b0.object({type:b0.literal("dynamic-tool"),toolName:b0.string(),toolCallId:b0.string(),title:b0.string().optional(),toolMetadata:d3.optional(),state:b0.literal("input-available"),input:b0.unknown(),providerExecuted:b0.boolean().optional(),output:b0.never().optional(),errorText:b0.never().optional(),callProviderMetadata:b2.optional(),approval:b0.never().optional()}),b0.object({type:b0.literal("dynamic-tool"),toolName:b0.string(),toolCallId:b0.string(),title:b0.string().optional(),toolMetadata:d3.optional(),state:b0.literal("approval-requested"),input:b0.unknown(),providerExecuted:b0.boolean().optional(),output:b0.never().optional(),errorText:b0.never().optional(),callProviderMetadata:b2.optional(),approval:b0.object({id:b0.string(),approved:b0.never().optional(),descriptor:b0.unknown().optional(),requestReason:b0.string().optional(),reason:b0.never().optional(),isAutomatic:b0.boolean().optional(),signature:b0.string().optional()})}),b0.object({type:b0.literal("dynamic-tool"),toolName:b0.string(),toolCallId:b0.string(),title:b0.string().optional(),toolMetadata:d3.optional(),state:b0.literal("approval-responded"),input:b0.unknown(),providerExecuted:b0.boolean().optional(),output:b0.never().optional(),errorText:b0.never().optional(),callProviderMetadata:b2.optional(),approval:b0.object({id:b0.string(),approved:b0.boolean(),descriptor:b0.unknown().optional(),requestReason:b0.string().optional(),reason:b0.string().optional(),isAutomatic:b0.boolean().optional(),signature:b0.string().optional()})}),b0.object({type:b0.literal("dynamic-tool"),toolName:b0.string(),toolCallId:b0.string(),title:b0.string().optional(),toolMetadata:d3.optional(),state:b0.literal("output-available"),input:b0.unknown(),providerExecuted:b0.boolean().optional(),output:b0.unknown(),errorText:b0.never().optional(),callProviderMetadata:b2.optional(),resultProviderMetadata:b2.optional(),preliminary:b0.boolean().optional(),approval:b0.object({id:b0.string(),approved:b0.literal(!0),descriptor:b0.unknown().optional(),requestReason:b0.string().optional(),reason:b0.string().optional(),isAutomatic:b0.boolean().optional(),signature:b0.string().optional()}).optional()}),b0.object({type:b0.literal("dynamic-tool"),toolName:b0.string(),toolCallId:b0.string(),title:b0.string().optional(),toolMetadata:d3.optional(),state:b0.literal("output-error"),input:b0.unknown().optional(),rawInput:b0.unknown().optional(),providerExecuted:b0.boolean().optional(),output:b0.never().optional(),errorText:b0.string(),callProviderMetadata:b2.optional(),resultProviderMetadata:b2.optional(),approval:b0.object({id:b0.string(),approved:b0.literal(!0),descriptor:b0.unknown().optional(),requestReason:b0.string().optional(),reason:b0.string().optional(),isAutomatic:b0.boolean().optional(),signature:b0.string().optional()}).optional()}),b0.object({type:b0.literal("dynamic-tool"),toolName:b0.string(),toolCallId:b0.string(),title:b0.string().optional(),toolMetadata:d3.optional(),state:b0.literal("output-denied"),input:b0.unknown(),providerExecuted:b0.boolean().optional(),output:b0.never().optional(),errorText:b0.never().optional(),callProviderMetadata:b2.optional(),approval:b0.object({id:b0.string(),approved:b0.literal(!1),descriptor:b0.unknown().optional(),requestReason:b0.string().optional(),reason:b0.string().optional(),isAutomatic:b0.boolean().optional(),signature:b0.string().optional()})}),b0.object({type:b0.string().startsWith("tool-"),toolCallId:b0.string(),title:b0.string().optional(),toolMetadata:d3.optional(),state:b0.literal("input-streaming"),providerExecuted:b0.boolean().optional(),callProviderMetadata:b2.optional(),input:b0.unknown().optional(),output:b0.never().optional(),errorText:b0.never().optional(),approval:b0.never().optional()}),b0.object({type:b0.string().startsWith("tool-"),toolCallId:b0.string(),title:b0.string().optional(),toolMetadata:d3.optional(),state:b0.literal("input-available"),providerExecuted:b0.boolean().optional(),input:b0.unknown(),output:b0.never().optional(),errorText:b0.never().optional(),callProviderMetadata:b2.optional(),approval:b0.never().optional()}),b0.object({type:b0.string().startsWith("tool-"),toolCallId:b0.string(),title:b0.string().optional(),toolMetadata:d3.optional(),state:b0.literal("approval-requested"),input:b0.unknown(),providerExecuted:b0.boolean().optional(),output:b0.never().optional(),errorText:b0.never().optional(),callProviderMetadata:b2.optional(),approval:b0.object({id:b0.string(),approved:b0.never().optional(),descriptor:b0.unknown().optional(),requestReason:b0.string().optional(),reason:b0.never().optional(),isAutomatic:b0.boolean().optional(),signature:b0.string().optional()})}),b0.object({type:b0.string().startsWith("tool-"),toolCallId:b0.string(),title:b0.string().optional(),toolMetadata:d3.optional(),state:b0.literal("approval-responded"),input:b0.unknown(),providerExecuted:b0.boolean().optional(),output:b0.never().optional(),errorText:b0.never().optional(),callProviderMetadata:b2.optional(),approval:b0.object({id:b0.string(),approved:b0.boolean(),descriptor:b0.unknown().optional(),requestReason:b0.string().optional(),reason:b0.string().optional(),isAutomatic:b0.boolean().optional(),signature:b0.string().optional()})}),b0.object({type:b0.string().startsWith("tool-"),toolCallId:b0.string(),title:b0.string().optional(),toolMetadata:d3.optional(),state:b0.literal("output-available"),providerExecuted:b0.boolean().optional(),input:b0.unknown(),output:b0.unknown(),errorText:b0.never().optional(),callProviderMetadata:b2.optional(),resultProviderMetadata:b2.optional(),preliminary:b0.boolean().optional(),approval:b0.object({id:b0.string(),approved:b0.literal(!0),descriptor:b0.unknown().optional(),requestReason:b0.string().optional(),reason:b0.string().optional(),isAutomatic:b0.boolean().optional(),signature:b0.string().optional()}).optional()}),b0.object({type:b0.string().startsWith("tool-"),toolCallId:b0.string(),title:b0.string().optional(),toolMetadata:d3.optional(),state:b0.literal("output-error"),providerExecuted:b0.boolean().optional(),input:b0.unknown().optional(),rawInput:b0.unknown().optional(),output:b0.never().optional(),errorText:b0.string(),callProviderMetadata:b2.optional(),resultProviderMetadata:b2.optional(),approval:b0.object({id:b0.string(),approved:b0.literal(!0),descriptor:b0.unknown().optional(),requestReason:b0.string().optional(),reason:b0.string().optional(),isAutomatic:b0.boolean().optional(),signature:b0.string().optional()}).optional()}),b0.object({type:b0.string().startsWith("tool-"),toolCallId:b0.string(),title:b0.string().optional(),toolMetadata:d3.optional(),state:b0.literal("output-denied"),providerExecuted:b0.boolean().optional(),input:b0.unknown(),output:b0.never().optional(),errorText:b0.never().optional(),callProviderMetadata:b2.optional(),approval:b0.object({id:b0.string(),approved:b0.literal(!1),descriptor:b0.unknown().optional(),requestReason:b0.string().optional(),reason:b0.string().optional(),isAutomatic:b0.boolean().optional(),signature:b0.string().optional()})})]))}).superRefine((a,b)=>{"assistant"!==a.role&&0===a.parts.length&&b.addIssue({origin:"array",code:"too_small",minimum:1,inclusive:!0,input:a.parts,path:["parts"],message:"Message must contain at least one part"})})).nonempty("Messages array must not be empty"))),(0,R.createIdGenerator)({prefix:"call",size:24}),(0,R.createIdGenerator)({prefix:"call",size:24}),new TextEncoder;var d6=["cost","gatewayCost","inferenceCost","inputInferenceCost","marketCost","outputInferenceCost","surchargeCost"];async function d7({model:a,prompt:b,n:c=1,maxImagesPerCall:d,size:e,aspectRatio:f,seed:g,providerOptions:h,maxRetries:i,abortSignal:j,headers:k}){var l,m,n;let o=function(a){if("string"==typeof a)return bD().imageModel(a);if(!["v4","v3","v2"].includes(a.specificationVersion))throw new a5({version:a.specificationVersion,provider:a.provider,modelId:a.modelId});return bt(a)}(a),p=(0,R.withUserAgentSuffix)(null!=k?k:{},`ai/${bF}`),{retry:q}=cx({maxRetries:i,abortSignal:j}),r=null!=(l=null!=d?d:await d9(o))?l:1,s=Math.ceil(c/r),t=Array.from({length:s},(a,b)=>{if(b<s-1)return r;let d=c%r;return 0===d?r:d}),u=await Promise.all(t.map(async a=>await q(()=>{var c;let{prompt:d,files:i,mask:k}="string"==typeof(c=b)?{prompt:c,files:void 0,mask:void 0}:{prompt:c.text,files:c.images.map(ea),mask:c.mask?ea(c.mask):void 0};return o.doGenerate({prompt:d,files:i,mask:k,n:a,abortSignal:j,headers:p,size:e,aspectRatio:f,seed:g,providerOptions:null!=h?h:{}})}))),v=[],w=[],x=[],y=[],z={},A={inputTokens:void 0,outputTokens:void 0,totalTokens:void 0};for(let a of u){let b=a.images.map((b,c)=>{var d;return new cB({data:b,mediaType:null!=(d=(0,R.detectMediaType)({data:b,topLevelType:"image"}))?d:"image/png",providerMetadata:function(a,b){var c;let d;if(null!=a){for(let[e,f]of Object.entries(a)){let a=null==(c=f.images)?void 0:c[b];(0,S.isJSONObject)(a)&&!Array.isArray(a)&&((null!=d?d:d={})[e]=a)}return d}}(a.providerMetadata,c)})});if(v.push(...b),w.push({images:b,providerMetadata:a.providerMetadata,response:a.response,warnings:a.warnings,usage:a.usage}),x.push(...a.warnings),null!=a.usage&&(m=A,n=a.usage,A={inputTokens:cs(m.inputTokens,n.inputTokens),outputTokens:cs(m.outputTokens,n.outputTokens),totalTokens:cs(m.totalTokens,n.totalTokens)}),a.providerMetadata)for(let[b,c]of Object.entries(a.providerMetadata))if("gateway"===b){let a=z[b];if(null!=a&&"object"==typeof a){let d=c;z[b]={...a,...c,...Object.fromEntries(d6.flatMap(b=>{let c=function(a,b){if("string"!=typeof a||"string"!=typeof b||!/^\d+(?:\.\d+)?$/.test(a)||!/^\d+(?:\.\d+)?$/.test(b))return;let[c,d=""]=a.split("."),[e,f=""]=b.split("."),g=Math.max(d.length,f.length),h=(BigInt(c+d.padEnd(g,"0"))+BigInt(e+f.padEnd(g,"0"))).toString().padStart(g+1,"0");return 0===g?h:`${h.slice(0,-g)}.${h.slice(-g)}`.replace(/\.?0+$/,"")}(a[b],d[b]);return null==c?[]:[[b,c]]}))}}else z[b]={...c};let d=z[b].images;Array.isArray(d)&&0===d.length&&delete z[b].images}else null!=z[b]||(z[b]={images:[]}),z[b].images.push(...c.images);y.push(a.response)}if(bp({warnings:x,provider:o.provider,model:o.modelId}),!v.length)throw new av({calls:w,responses:y});return new d8({images:v,calls:w,warnings:x,responses:y,providerMetadata:z,usage:A})}var d8=class{constructor(a){this.images=a.images,this.calls=a.calls,this.warnings=a.warnings,this.responses=a.responses,this.providerMetadata=a.providerMetadata,this.usage=a.usage}get image(){return this.images[0]}};async function d9(a){return a.maxImagesPerCall instanceof Function?a.maxImagesPerCall({modelId:a.modelId}):a.maxImagesPerCall}function ea(a){if("string"==typeof a&&a.startsWith("http"))return{type:"url",url:a};if("string"==typeof a&&a.startsWith("data:")){let{mediaType:b,base64Content:c}=bI(a);if(null!=c){let a=(0,R.convertBase64ToUint8Array)(c);return{type:"file",data:a,mediaType:b||(0,R.detectMediaType)({data:a,topLevelType:"image"})||"image/png"}}}let b=d5(a);return{type:"file",data:b,mediaType:(0,R.detectMediaType)({data:b,topLevelType:"image"})||"image/png"}}function eb(a){return({url:b,abortSignal:c})=>bG({url:b,maxBytes:null==a?void 0:a.maxBytes,abortSignal:c})}(0,R.createIdGenerator)({prefix:"aiobj",size:24}),(0,R.createIdGenerator)({prefix:"aiobj",size:24});var ec=class extends cB{constructor({data:a,mediaType:b}){super({data:a,mediaType:b});let c="mp3";if(b){const a=b.split("/");2===a.length&&"audio/mpeg"!==b&&(c=a[1])}if(!c)throw Error("Audio format must be provided or determinable from media type");this.format=c}};async function ed({model:a,text:b,voice:c,outputFormat:d,instructions:e,speed:f,language:g,providerOptions:h={},maxRetries:i,abortSignal:j,headers:k}){var l;let m=function(a){var b,c;if("string"==typeof a)return null==(c=(b=bD()).speechModel)?void 0:c.call(b,a);if(!["v4","v3","v2"].includes(a.specificationVersion))throw new a5({version:a.specificationVersion,provider:a.provider,modelId:a.modelId});return bz(a)}(a);if(!m)throw Error("Model could not be resolved");let n=(0,R.withUserAgentSuffix)(null!=k?k:{},`ai/${bF}`),{retry:o}=cx({maxRetries:i,abortSignal:j}),p=await o(()=>m.doGenerate({text:b,voice:c,outputFormat:d,instructions:e,speed:f,language:g,abortSignal:j,headers:n,providerOptions:h}));if(!p.audio||0===p.audio.length)throw new aH({responses:[p.response]});return bp({warnings:p.warnings,provider:m.provider,model:m.modelId}),new ee({audio:new ec({data:p.audio,mediaType:null!=(l=(0,R.detectMediaType)({data:p.audio,topLevelType:"audio"}))?l:"audio/mp3"}),warnings:p.warnings,responses:[p.response],providerMetadata:p.providerMetadata})}var ee=class{constructor(a){var b;this.audio=a.audio,this.warnings=a.warnings,this.responses=a.responses,this.providerMetadata=null!=(b=a.providerMetadata)?b:{}}},ef=eb();async function eg({model:a,prompt:b,n:c=1,maxVideosPerCall:d,aspectRatio:e,resolution:f,duration:g,fps:h,seed:i,frameImages:j,inputReferences:k,generateAudio:l,providerOptions:m,maxRetries:n,abortSignal:o,headers:p,download:q=ef,poll:r,webhook:s}){var t;let u=function(a){var b;if("string"==typeof a){let c=(null!=(b=globalThis.AI_SDK_DEFAULT_PROVIDER)?b:Q.gateway).videoModel;if(!c)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 c(a)}if(!["v4","v3"].includes(a.specificationVersion))throw new a5({version:a.specificationVersion,provider:a.provider,modelId:a.modelId});return"v4"===a.specificationVersion?a:new Proxy(a,{get:(a,b)=>"specificationVersion"===b?"v4":a[b]})}(a),v=(0,R.withUserAgentSuffix)(null!=p?p:{},`ai/${bF}`),{retry:w}=cx({maxRetries:n,abortSignal:o}),{prompt:x,resolvedImage:y,normalizedFrameImages:z,effectiveInputReferences:A,warnings:B}=function({promptArg:a,frameImages:b,inputReferences:c}){var d;let{prompt:e,image:f}="string"==typeof a?{prompt:a,image:void 0}:{prompt:a.text,image:null!=a.image?el(a.image):void 0},g=null==b?void 0:b.flatMap(a=>{let b=el(a.image);return null!=b?[{image:b,frameType:a.frameType}]:[]}),h=null==c?void 0:c.flatMap(a=>{let b=function(a){if(!("object"==typeof a&&null!=a&&!(a instanceof Uint8Array)&&!(a instanceof ArrayBuffer)&&"data"in a))return el(a,{restrictToImages:!1});let b=el(a.data,{restrictToImages:!1});return null==b?b:{...b,...null!=a.mediaType?{mediaType:a.mediaType}:{}}}(a);return null!=b?[b]:[]}),i=null!=g&&g.length>0?void 0:h,j=[];null!=g&&g.length>0&&null!=h&&h.length>0&&j.push({type:"other",message:"inputReferences were ignored because frameImages were provided; frameImages and inputReferences cannot be combined."});let k=null==(d=null==g?void 0:g.find(a=>"first_frame"===a.frameType))?void 0:d.image;return null!=f&&null!=k&&j.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:e,resolvedImage:null!=k?k:f,normalizedFrameImages:g,effectiveInputReferences:i,warnings:j}}({promptArg:b,frameImages:j,inputReferences:k}),C=null!=(t=null!=d?d:await em(u))?t:1,D=null!=u.doStart&&null!=u.doStatus,E=D&&(null!=r||null!=s||null==u.doGenerate);if(null==u.doGenerate&&!D)throw Error(`Video model ${u.modelId} does not implement doGenerate or doStart/doStatus.`);null==r&&null==s||D||bp({warnings:[{type:"other",message:"poll/webhook options were provided but the model does not support doStart/doStatus. Falling back to doGenerate."}],provider:u.provider,model:u.modelId});let F=Array.from({length:Math.ceil(c/C)},(a,b)=>Math.min(c-b*C,C)),G=await Promise.all(F.map(async a=>{let b={prompt:x,n:a,aspectRatio:e,resolution:f,duration:g,fps:h,seed:i,image:y,frameImages:z,inputReferences:A,generateAudio:l,providerOptions:null!=m?m:{},headers:v,abortSignal:o};return E?eh({model:u,callOptions:b,poll:r,webhook:s,retry:w}):w(()=>u.doGenerate(b))})),H=[],I=[],J={};for(let a of G){for(let b of a.videos)switch(b.type){case"url":{let{data:a,mediaType:c}=await q({url:new URL(b.url),abortSignal:o}),d=a=>!!a&&"application/octet-stream"!==a,e=d(b.mediaType)&&b.mediaType||d(c)&&c||(0,R.detectMediaType)({data:a,topLevelType:"video"})||"video/mp4";H.push(new cB({data:a,mediaType:e}));break}case"base64":H.push(new cB({data:b.data,mediaType:b.mediaType||"video/mp4"}));break;case"binary":{let a=b.mediaType||(0,R.detectMediaType)({data:b.data,topLevelType:"video"})||"video/mp4";H.push(new cB({data:b.data,mediaType:a}))}}B.push(...a.warnings),I.push({timestamp:a.response.timestamp,modelId:a.response.modelId,headers:a.response.headers,providerMetadata:a.providerMetadata}),null!=a.providerMetadata&&ej(J,a.providerMetadata)}if(0===H.length)throw new aQ({responses:I});return B.length>0&&bp({warnings:B,provider:u.provider,model:u.modelId}),{video:H[0],videos:H,warnings:B,responses:I,providerMetadata:J}}async function eh({model:a,callOptions:b,poll:c,webhook:d,retry:e}){var f,g,h,i;let j,k,l=[];if(null!=d)if(null!=a.handleWebhookOption){let b=await a.handleWebhookOption({webhook:d});j=b.webhookUrl,k=b.received}else l.push({type:"unsupported",feature:"webhook",details:"This model does not support webhooks. Falling back to polling."});let m=Object.entries(null!=(f=b.headers)?f:{}).find(([a,b])=>"idempotency-key"===a.toLowerCase()&&void 0!==b),n={...b,headers:{...b.headers,...m?{}:{"idempotency-key":`aisdk_vid_${(0,R.generateId)()}`}},webhookUrl:j},o=await e(()=>a.doStart(n)),p=[...l,...o.warnings],q=null==o.providerMetadata?void 0:{...o.providerMetadata},r=null!=(g=null==c?void 0:c.intervalMs)?g:5e3,s=null!=(h=null==c?void 0:c.timeoutMs)?h:6e5,t=null!=(i=null==c?void 0:c.delay)?i:R.delay,u=Date.now();for(null!=k&&await ei({received:k,timeoutMs:s,abortSignal:b.abortSignal,delay:t});;){if(null==k){let a=Date.now()-u;if(a>=s||(await t(Math.min(r,s-a),{abortSignal:b.abortSignal}),Date.now()-u>=s))throw Error(`Video generation timed out after ${s}ms.`)}let c=await e(()=>a.doStatus({operation:o.operation,abortSignal:b.abortSignal,headers:b.headers}));if("error"===c.status)throw Error(c.error);if(null!=c.warnings&&p.push(...c.warnings),null!=c.providerMetadata&&(null!=q||(q={}),ej(q,c.providerMetadata)),"completed"===c.status)return{videos:c.videos,warnings:p,providerMetadata:q,response:c.response};if(null!=k)throw Error("Video generation did not complete after webhook notification.")}}async function ei({received:a,timeoutMs:b,abortSignal:c,delay:d}){let e="function"==typeof globalThis.AbortController?new globalThis.AbortController:void 0;try{await Promise.race([a,d(b,{abortSignal:null==e?c:cu(c,e.signal)}).then(()=>{throw Error(`Video generation timed out after ${b}ms.`)})])}finally{null==e||e.abort()}}function ej(a,b){for(let[c,d]of Object.entries(b)){let b=a[c];null!=b&&"object"==typeof b&&null!=d&&"object"==typeof d?(a[c]={...b,...d},"videos"in b&&Array.isArray(b.videos)&&"videos"in d&&Array.isArray(d.videos)&&(a[c].videos=[...b.videos,...d.videos])):a[c]=d}}function ek(a,b){let c=b?(0,R.detectMediaType)({data:a,topLevelType:"image"}):(0,R.detectMediaType)({data:a});return null!=c?c:"image/png"}function el(a,{restrictToImages:b=!0}={}){if("string"==typeof a){if(a.startsWith("http://")||a.startsWith("https://"))return{type:"url",url:a};if(a.startsWith("data:")){let{mediaType:c,base64Content:d}=bI(a),e=(0,R.convertBase64ToUint8Array)(null!=d?d:"");return{type:"file",mediaType:null!=c?c:ek(e,b),data:e}}let c=(0,R.convertBase64ToUint8Array)(a);return{type:"file",mediaType:ek(c,b),data:c}}if(a instanceof Uint8Array||a instanceof ArrayBuffer){let c=a instanceof Uint8Array?a:new Uint8Array(a);return{type:"file",mediaType:ek(c,b),data:c}}}async function em(a){return"function"==typeof a.maxVideosPerCall?await a.maxVideosPerCall({modelId:a.modelId}):a.maxVideosPerCall}Symbol.for("vercel.ai.error.AI_NoSuchProviderError");S.NoSuchModelError,(0,R.createIdGenerator)({prefix:"call",size:24});var en=eb();async function eo({model:a,audio:b,providerOptions:c={},maxRetries:d,abortSignal:e,headers:f,download:g=en}){let h=function(a){var b,c;if("string"==typeof a)return null==(c=(b=bD()).transcriptionModel)?void 0:c.call(b,a);if(!["v4","v3","v2"].includes(a.specificationVersion))throw new a5({version:a.specificationVersion,provider:a.provider,modelId:a.modelId});return bB(a)}(a);if(!h)throw Error("Model could not be resolved");let{retry:i}=cx({maxRetries:d,abortSignal:e}),j=(0,R.withUserAgentSuffix)(null!=f?f:{},`ai/${bF}`),k=b instanceof URL?(await g({url:b,abortSignal:e})).data:d5(b),l=await i(()=>{var a;return h.doGenerate({audio:k,abortSignal:e,headers:j,providerOptions:c,mediaType:null!=(a=(0,R.detectMediaType)({data:k,topLevelType:"audio"}))?a:"audio/wav"})});if(bp({warnings:l.warnings,provider:h.provider,model:h.modelId}),!l.text)throw new aL({responses:[l.response]});return new ep({text:l.text,segments:l.segments,language:l.language,durationInSeconds:l.durationInSeconds,warnings:l.warnings,responses:[l.response],providerMetadata:l.providerMetadata})}var ep=class{constructor(a){var b;this.text=a.text,this.segments=a.segments,this.language=a.language,this.durationInSeconds=a.durationInSeconds,this.warnings=a.warnings,this.responses=a.responses,this.providerMetadata=null!=(b=a.providerMetadata)?b:{}}};a.s(["RetryError",0,bm,"ToolLoopAgent",0,d2,"experimental_generateVideo",0,eg,"generateImage",0,d7,"generateSpeech",0,ed,"generateText",0,dw,"pruneMessages",0,function({messages:a,reasoning:b="none",toolCalls:c=[],emptyMessages:d="remove"}){for(let d of(("all"===b||"before-last-message"===b)&&(a=a.map((c,d)=>"assistant"!==c.role||"string"==typeof c.content||"before-last-message"===b&&d===a.length-1?c:{...c,content:c.content.filter(a=>"reasoning"!==a.type)})),"none"===c?c=[]:"all"===c?c=[{type:"all"}]:"before-last-message"===c?c=[{type:"before-last-message"}]:"string"==typeof c&&(c=[{type:c}]),c)){let b="all"===d.type?void 0:"before-last-message"===d.type?1:Number(d.type.slice(12).slice(0,-9)),c=new Set,e=new Set;if(null!=b){for(let d of a.slice(-b))if(("assistant"===d.role||"tool"===d.role)&&"string"!=typeof d.content)for(let a of d.content)"tool-call"===a.type||"tool-result"===a.type?c.add(a.toolCallId):("tool-approval-request"===a.type||"tool-approval-response"===a.type)&&e.add(a.approvalId)}let f=new Map;for(let b of a)if(("assistant"===b.role||"tool"===b.role)&&"string"!=typeof b.content)for(let a of b.content)("tool-call"===a.type||"tool-result"===a.type)&&f.set(a.toolCallId,a.toolName);let g=new Map;for(let b of a)if(("assistant"===b.role||"tool"===b.role)&&"string"!=typeof b.content){for(let a of b.content)if("tool-approval-request"===a.type){let b=f.get(a.toolCallId);null!=b&&g.set(a.approvalId,b)}}a=a.map((f,h)=>"assistant"!==f.role&&"tool"!==f.role||"string"==typeof f.content||b&&h>=a.length-b?f:{...f,content:f.content.filter(a=>{if("tool-call"!==a.type&&"tool-result"!==a.type&&"tool-approval-request"!==a.type&&"tool-approval-response"!==a.type||("tool-call"===a.type||"tool-result"===a.type)&&c.has(a.toolCallId)||("tool-approval-request"===a.type||"tool-approval-response"===a.type)&&e.has(a.approvalId))return!0;let b="tool-call"===a.type||"tool-result"===a.type?a.toolName:g.get(a.approvalId);return null!=d.tools&&null!=b&&!d.tools.includes(b)})})}return"remove"===d&&(a=a.filter(a=>a.content.length>0)),a},"stepCountIs",0,dc,"transcribe",0,eo,"wrapLanguageModel",0,({model:a,middleware:b,modelId:c,providerId:d})=>{let e=bx(a);return[...(0,R.asArray)(b)].reverse().reduce((a,b)=>(({model:a,middleware:{transformParams:b,wrapGenerate:c,wrapStream:d,overrideProvider:e,overrideModelId:f,overrideSupportedUrls:g},modelId:h,providerId:i})=>{var j,k,l;async function m({params:c,type:d}){return b?await b({params:c,type:d,model:a}):c}return{specificationVersion:"v4",provider:null!=(j=null!=i?i:null==e?void 0:e({model:a}))?j:a.provider,modelId:null!=(k=null!=h?h:null==f?void 0:f({model:a}))?k:a.modelId,supportedUrls:null!=(l=null==g?void 0:g({model:a}))?l:a.supportedUrls,async doGenerate(b){let d=await m({params:b,type:"generate"}),e=async()=>await a.doGenerate(d),f=async()=>await a.doStream(d);return c?await c({doGenerate:e,doStream:f,params:d,model:a}):await e()},async doStream(b){let c=await m({params:b,type:"stream"}),e=async()=>await a.doGenerate(c),f=async()=>await a.doStream(c);return d?await d({doGenerate:e,doStream:f,params:c,model:a}):await f()}}})({model:a,middleware:b,modelId:c,providerId:d}),e)}])},248900,a=>{"use strict";var b=a.i(979309),c=a.i(247355),d=a.i(696818),e=a.i(399602);function f(a,b){let c=(0,e.toDate)(a,b?.in);return c.setHours(0,0,0,0),c}var g=a.i(889650);function h(a,b){let c=(0,g.getDefaultOptions)(),d=b?.weekStartsOn??b?.locale?.options?.weekStartsOn??c.weekStartsOn??c.locale?.options?.weekStartsOn??0,f=(0,e.toDate)(a,b?.in),h=f.getDay();return f.setDate(f.getDate()-(7*(h<d)+h-d)),f.setHours(0,0,0,0),f}function i(a,b){return h(a,{...b,weekStartsOn:1})}var j=a.i(18956);function k(a,b){let c=(0,e.toDate)(a,b?.in),d=c.getFullYear(),f=(0,j.constructFrom)(c,0);f.setFullYear(d+1,0,4),f.setHours(0,0,0,0);let g=i(f),h=(0,j.constructFrom)(c,0);h.setFullYear(d,0,4),h.setHours(0,0,0,0);let k=i(h);return c.getTime()>=g.getTime()?d+1:c.getTime()>=k.getTime()?d:d-1}function l(a,b){let c=(0,e.toDate)(a,b?.in),d=c.getFullYear(),f=(0,g.getDefaultOptions)(),i=b?.firstWeekContainsDate??b?.locale?.options?.firstWeekContainsDate??f.firstWeekContainsDate??f.locale?.options?.firstWeekContainsDate??1,k=(0,j.constructFrom)(b?.in||a,0);k.setFullYear(d+1,0,i),k.setHours(0,0,0,0);let l=h(k,b),m=(0,j.constructFrom)(b?.in||a,0);m.setFullYear(d,0,i),m.setHours(0,0,0,0);let n=h(m,b);return+c>=+l?d+1:+c>=+n?d:d-1}function m(a,b){let c=Math.abs(a).toString().padStart(b,"0");return(a<0?"-":"")+c}let n={y(a,b){let c=a.getFullYear(),d=c>0?c:1-c;return m("yy"===b?d%100:d,b.length)},M(a,b){let c=a.getMonth();return"M"===b?String(c+1):m(c+1,2)},d:(a,b)=>m(a.getDate(),b.length),a(a,b){let c=a.getHours()/12>=1?"pm":"am";switch(b){case"a":case"aa":return c.toUpperCase();case"aaa":return c;case"aaaaa":return c[0];default:return"am"===c?"a.m.":"p.m."}},h:(a,b)=>m(a.getHours()%12||12,b.length),H:(a,b)=>m(a.getHours(),b.length),m:(a,b)=>m(a.getMinutes(),b.length),s:(a,b)=>m(a.getSeconds(),b.length),S(a,b){let c=b.length;return m(Math.trunc(a.getMilliseconds()*Math.pow(10,c-3)),b.length)}};function o(a,b=""){let c=a>0?"-":"+",d=Math.abs(a),e=Math.trunc(d/60),f=d%60;return 0===f?c+String(e):c+String(e)+b+m(f,2)}function p(a,b){return a%60==0?(a>0?"-":"+")+m(Math.abs(a)/60,2):q(a,b)}function q(a,b=""){let c=Math.abs(a);return(a>0?"-":"+")+m(Math.trunc(c/60),2)+b+m(c%60,2)}a.s(["formatters",0,{G:function(a,b,c){let d=+(a.getFullYear()>0);switch(b){case"G":case"GG":case"GGG":return c.era(d,{width:"abbreviated"});case"GGGGG":return c.era(d,{width:"narrow"});default:return c.era(d,{width:"wide"})}},y:function(a,b,c){if("yo"===b){let b=a.getFullYear();return c.ordinalNumber(b>0?b:1-b,{unit:"year"})}return n.y(a,b)},Y:function(a,b,c,d){let e=l(a,d),f=e>0?e:1-e;return"YY"===b?m(f%100,2):"Yo"===b?c.ordinalNumber(f,{unit:"year"}):m(f,b.length)},R:function(a,b){return m(k(a),b.length)},u:function(a,b){return m(a.getFullYear(),b.length)},Q:function(a,b,c){let d=Math.ceil((a.getMonth()+1)/3);switch(b){case"Q":return String(d);case"QQ":return m(d,2);case"Qo":return c.ordinalNumber(d,{unit:"quarter"});case"QQQ":return c.quarter(d,{width:"abbreviated",context:"formatting"});case"QQQQQ":return c.quarter(d,{width:"narrow",context:"formatting"});default:return c.quarter(d,{width:"wide",context:"formatting"})}},q:function(a,b,c){let d=Math.ceil((a.getMonth()+1)/3);switch(b){case"q":return String(d);case"qq":return m(d,2);case"qo":return c.ordinalNumber(d,{unit:"quarter"});case"qqq":return c.quarter(d,{width:"abbreviated",context:"standalone"});case"qqqqq":return c.quarter(d,{width:"narrow",context:"standalone"});default:return c.quarter(d,{width:"wide",context:"standalone"})}},M:function(a,b,c){let d=a.getMonth();switch(b){case"M":case"MM":return n.M(a,b);case"Mo":return c.ordinalNumber(d+1,{unit:"month"});case"MMM":return c.month(d,{width:"abbreviated",context:"formatting"});case"MMMMM":return c.month(d,{width:"narrow",context:"formatting"});default:return c.month(d,{width:"wide",context:"formatting"})}},L:function(a,b,c){let d=a.getMonth();switch(b){case"L":return String(d+1);case"LL":return m(d+1,2);case"Lo":return c.ordinalNumber(d+1,{unit:"month"});case"LLL":return c.month(d,{width:"abbreviated",context:"standalone"});case"LLLLL":return c.month(d,{width:"narrow",context:"standalone"});default:return c.month(d,{width:"wide",context:"standalone"})}},w:function(a,b,c,f){let i,k,n,o,p,q=Math.round((h(i=(0,e.toDate)(a,f?.in),f)-(k=(0,g.getDefaultOptions)(),n=f?.firstWeekContainsDate??f?.locale?.options?.firstWeekContainsDate??k.firstWeekContainsDate??k.locale?.options?.firstWeekContainsDate??1,o=l(i,f),(p=(0,j.constructFrom)(f?.in||i,0)).setFullYear(o,0,n),p.setHours(0,0,0,0),h(p,f)))/d.millisecondsInWeek)+1;return"wo"===b?c.ordinalNumber(q,{unit:"week"}):m(q,b.length)},I:function(a,b,c){let f,g,h,l=Math.round((i(f=(0,e.toDate)(a,void 0))-(g=k(f,void 0),(h=(0,j.constructFrom)(f,0)).setFullYear(g,0,4),h.setHours(0,0,0,0),i(h)))/d.millisecondsInWeek)+1;return"Io"===b?c.ordinalNumber(l,{unit:"week"}):m(l,b.length)},d:function(a,b,c){return"do"===b?c.ordinalNumber(a.getDate(),{unit:"date"}):n.d(a,b)},D:function(a,g,h){let i,j,k=function(a,e){let[g,h]=(0,c.normalizeDates)(void 0,a,e),i=f(g),j=f(h);return Math.round((i-(0,b.getTimezoneOffsetInMilliseconds)(i)-(j-(0,b.getTimezoneOffsetInMilliseconds)(j)))/d.millisecondsInDay)}(i=(0,e.toDate)(a,void 0),((j=(0,e.toDate)(i,void 0)).setFullYear(j.getFullYear(),0,1),j.setHours(0,0,0,0),j))+1;return"Do"===g?h.ordinalNumber(k,{unit:"dayOfYear"}):m(k,g.length)},E:function(a,b,c){let d=a.getDay();switch(b){case"E":case"EE":case"EEE":return c.day(d,{width:"abbreviated",context:"formatting"});case"EEEEE":return c.day(d,{width:"narrow",context:"formatting"});case"EEEEEE":return c.day(d,{width:"short",context:"formatting"});default:return c.day(d,{width:"wide",context:"formatting"})}},e:function(a,b,c,d){let e=a.getDay(),f=(e-d.weekStartsOn+8)%7||7;switch(b){case"e":return String(f);case"ee":return m(f,2);case"eo":return c.ordinalNumber(f,{unit:"day"});case"eee":return c.day(e,{width:"abbreviated",context:"formatting"});case"eeeee":return c.day(e,{width:"narrow",context:"formatting"});case"eeeeee":return c.day(e,{width:"short",context:"formatting"});default:return c.day(e,{width:"wide",context:"formatting"})}},c:function(a,b,c,d){let e=a.getDay(),f=(e-d.weekStartsOn+8)%7||7;switch(b){case"c":return String(f);case"cc":return m(f,b.length);case"co":return c.ordinalNumber(f,{unit:"day"});case"ccc":return c.day(e,{width:"abbreviated",context:"standalone"});case"ccccc":return c.day(e,{width:"narrow",context:"standalone"});case"cccccc":return c.day(e,{width:"short",context:"standalone"});default:return c.day(e,{width:"wide",context:"standalone"})}},i:function(a,b,c){let d=a.getDay(),e=0===d?7:d;switch(b){case"i":return String(e);case"ii":return m(e,b.length);case"io":return c.ordinalNumber(e,{unit:"day"});case"iii":return c.day(d,{width:"abbreviated",context:"formatting"});case"iiiii":return c.day(d,{width:"narrow",context:"formatting"});case"iiiiii":return c.day(d,{width:"short",context:"formatting"});default:return c.day(d,{width:"wide",context:"formatting"})}},a:function(a,b,c){let d=a.getHours()/12>=1?"pm":"am";switch(b){case"a":case"aa":return c.dayPeriod(d,{width:"abbreviated",context:"formatting"});case"aaa":return c.dayPeriod(d,{width:"abbreviated",context:"formatting"}).toLowerCase();case"aaaaa":return c.dayPeriod(d,{width:"narrow",context:"formatting"});default:return c.dayPeriod(d,{width:"wide",context:"formatting"})}},b:function(a,b,c){let d,e=a.getHours();switch(d=12===e?"noon":0===e?"midnight":e/12>=1?"pm":"am",b){case"b":case"bb":return c.dayPeriod(d,{width:"abbreviated",context:"formatting"});case"bbb":return c.dayPeriod(d,{width:"abbreviated",context:"formatting"}).toLowerCase();case"bbbbb":return c.dayPeriod(d,{width:"narrow",context:"formatting"});default:return c.dayPeriod(d,{width:"wide",context:"formatting"})}},B:function(a,b,c){let d,e=a.getHours();switch(d=e>=17?"evening":e>=12?"afternoon":e>=4?"morning":"night",b){case"B":case"BB":case"BBB":return c.dayPeriod(d,{width:"abbreviated",context:"formatting"});case"BBBBB":return c.dayPeriod(d,{width:"narrow",context:"formatting"});default:return c.dayPeriod(d,{width:"wide",context:"formatting"})}},h:function(a,b,c){if("ho"===b){let b=a.getHours()%12;return 0===b&&(b=12),c.ordinalNumber(b,{unit:"hour"})}return n.h(a,b)},H:function(a,b,c){return"Ho"===b?c.ordinalNumber(a.getHours(),{unit:"hour"}):n.H(a,b)},K:function(a,b,c){let d=a.getHours()%12;return"Ko"===b?c.ordinalNumber(d,{unit:"hour"}):m(d,b.length)},k:function(a,b,c){let d=a.getHours();return(0===d&&(d=24),"ko"===b)?c.ordinalNumber(d,{unit:"hour"}):m(d,b.length)},m:function(a,b,c){return"mo"===b?c.ordinalNumber(a.getMinutes(),{unit:"minute"}):n.m(a,b)},s:function(a,b,c){return"so"===b?c.ordinalNumber(a.getSeconds(),{unit:"second"}):n.s(a,b)},S:function(a,b){return n.S(a,b)},X:function(a,b,c){let d=a.getTimezoneOffset();if(0===d)return"Z";switch(b){case"X":return p(d);case"XXXX":case"XX":return q(d);default:return q(d,":")}},x:function(a,b,c){let d=a.getTimezoneOffset();switch(b){case"x":return p(d);case"xxxx":case"xx":return q(d);default:return q(d,":")}},O:function(a,b,c){let d=a.getTimezoneOffset();switch(b){case"O":case"OO":case"OOO":return"GMT"+o(d,":");default:return"GMT"+q(d,":")}},z:function(a,b,c){let d=a.getTimezoneOffset();switch(b){case"z":case"zz":case"zzz":return"GMT"+o(d,":");default:return"GMT"+q(d,":")}},t:function(a,b,c){return m(Math.trunc(a/1e3),b.length)},T:function(a,b,c){return m(+a,b.length)}}],248900)},831378,a=>{"use strict";let b=(a,b)=>{switch(a){case"P":return b.date({width:"short"});case"PP":return b.date({width:"medium"});case"PPP":return b.date({width:"long"});default:return b.date({width:"full"})}},c=(a,b)=>{switch(a){case"p":return b.time({width:"short"});case"pp":return b.time({width:"medium"});case"ppp":return b.time({width:"long"});default:return b.time({width:"full"})}};a.s(["longFormatters",0,{p:c,P:(a,d)=>{let e,f=a.match(/(P+)(p+)?/)||[],g=f[1],h=f[2];if(!h)return b(a,d);switch(g){case"P":e=d.dateTime({width:"short"});break;case"PP":e=d.dateTime({width:"medium"});break;case"PPP":e=d.dateTime({width:"long"});break;default:e=d.dateTime({width:"full"})}return e.replace("{{date}}",b(g,d)).replace("{{time}}",c(h,d))}}])},261666,a=>{"use strict";let b=/^D+$/,c=/^Y+$/,d=["D","DD","YY","YYYY"];a.s(["isProtectedDayOfYearToken",0,function(a){return b.test(a)},"isProtectedWeekYearToken",0,function(a){return c.test(a)},"warnOrThrowProtectedError",0,function(a,b,c){var e,f,g;let h,i=(e=a,f=b,g=c,h="Y"===e[0]?"years":"days of the month",`Use \`${e.toLowerCase()}\` instead of \`${e}\` (in \`${f}\`) for formatting ${h} to the input \`${g}\`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md`);if(console.warn(i),d.includes(a))throw RangeError(i)}])},629366,a=>{"use strict";var b=a.i(399602);a.s(["isValid",0,function(a){return!(!(a instanceof Date||"object"==typeof a&&"[object Date]"===Object.prototype.toString.call(a))&&"number"!=typeof a||isNaN(+(0,b.toDate)(a)))}],629366)},12208,a=>{"use strict";var b=a.i(868023),c=a.i(889650),d=a.i(248900),e=a.i(831378),f=a.i(261666),g=a.i(629366),h=a.i(399602);let i=/[yYQqMLwIdDecihHKkms]o|(\w)\1*|''|'(''|[^'])+('|$)|./g,j=/P+p+|P+|p+|''|'(''|[^'])+('|$)|./g,k=/^'([^]*?)'?$/,l=/''/g,m=/[a-zA-Z]/;a.s(["format",0,function(a,n,o){let p=(0,c.getDefaultOptions)(),q=o?.locale??p.locale??b.defaultLocale,r=o?.firstWeekContainsDate??o?.locale?.options?.firstWeekContainsDate??p.firstWeekContainsDate??p.locale?.options?.firstWeekContainsDate??1,s=o?.weekStartsOn??o?.locale?.options?.weekStartsOn??p.weekStartsOn??p.locale?.options?.weekStartsOn??0,t=(0,h.toDate)(a,o?.in);if(!(0,g.isValid)(t))throw RangeError("Invalid time value");let u=n.match(j).map(a=>{let b=a[0];return"p"===b||"P"===b?(0,e.longFormatters[b])(a,q.formatLong):a}).join("").match(i).map(a=>{if("''"===a)return{isToken:!1,value:"'"};let b=a[0];if("'"===b){var c;let b;return{isToken:!1,value:(b=(c=a).match(k))?b[1].replace(l,"'"):c}}if(d.formatters[b])return{isToken:!0,value:a};if(b.match(m))throw RangeError("Format string contains an unescaped latin alphabet character `"+b+"`");return{isToken:!1,value:a}});q.localize.preprocessor&&(u=q.localize.preprocessor(t,u));let v={firstWeekContainsDate:r,weekStartsOn:s,locale:q};return u.map(b=>{if(!b.isToken)return b.value;let c=b.value;return(!o?.useAdditionalWeekYearTokens&&(0,f.isProtectedWeekYearToken)(c)||!o?.useAdditionalDayOfYearTokens&&(0,f.isProtectedDayOfYearToken)(c))&&(0,f.warnOrThrowProtectedError)(c,n,String(a)),(0,d.formatters[c[0]])(t,c,q.localize,v)}).join("")}])},18956,696818,a=>{"use strict";let b=Symbol.for("constructDateFrom");a.s(["constructFromSymbol",0,b,"millisecondsInDay",0,864e5,"millisecondsInMinute",0,6e4,"millisecondsInWeek",0,6048e5,"minutesInDay",0,1440,"minutesInMonth",0,43200,"minutesInYear",0,525600],696818),a.s(["constructFrom",0,function(a,c){return"function"==typeof a?a(c):a&&"object"==typeof a&&b in a?a[b](c):a instanceof Date?new a.constructor(c):new Date(c)}],18956)},365047,a=>{"use strict";var b=a.i(18956);a.s(["constructNow",0,function(a){return(0,b.constructFrom)(a,Date.now())}])},868468,a=>{"use strict";var b=a.i(365047),c=a.i(868023),d=a.i(889650),e=a.i(979309),f=a.i(247355),g=a.i(399602),h=a.i(696818);a.s(["formatDistanceToNowStrict",0,function(a,i){return function(a,b,i){var j;let k,l,m=(0,d.getDefaultOptions)(),n=i?.locale??m.locale??c.defaultLocale,o=(l=(0,g.toDate)(a)-(0,g.toDate)(b))<0?-1:l>0?1:l;if(isNaN(o))throw RangeError("Invalid time value");let p=Object.assign({},i,{addSuffix:i?.addSuffix,comparison:o}),[q,r]=(0,f.normalizeDates)(i?.in,...o>0?[b,a]:[a,b]),s=(j=i?.roundingMethod??"round",a=>{let b=(j?Math[j]:Math.trunc)(a);return 0===b?0:b}),t=r.getTime()-q.getTime(),u=t/h.millisecondsInMinute,v=(t-((0,e.getTimezoneOffsetInMilliseconds)(r)-(0,e.getTimezoneOffsetInMilliseconds)(q)))/h.millisecondsInMinute,w=i?.unit;if("second"===(k=w||(u<1?"second":u<60?"minute":u<h.minutesInDay?"hour":v<h.minutesInMonth?"day":v<h.minutesInYear?"month":"year"))){let a=s(t/1e3);return n.formatDistance("xSeconds",a,p)}if("minute"===k){let a=s(u);return n.formatDistance("xMinutes",a,p)}if("hour"===k){let a=s(u/60);return n.formatDistance("xHours",a,p)}if("day"===k){let a=s(v/h.minutesInDay);return n.formatDistance("xDays",a,p)}if("month"===k){let a=s(v/h.minutesInMonth);return 12===a&&"month"!==w?n.formatDistance("xYears",1,p):n.formatDistance("xMonths",a,p)}else{let a=s(v/h.minutesInYear);return n.formatDistance("xYears",a,p)}}(a,(0,b.constructNow)(a),i)}],868468)},868023,a=>{"use strict";var b;let c={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 d(a){return (b={})=>{let c=b.width?String(b.width):a.defaultWidth;return a.formats[c]||a.formats[a.defaultWidth]}}let e={date:d({formats:{full:"EEEE, MMMM do, y",long:"MMMM do, y",medium:"MMM d, y",short:"MM/dd/yyyy"},defaultWidth:"full"}),time:d({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:d({formats:{full:"{{date}} 'at' {{time}}",long:"{{date}} 'at' {{time}}",medium:"{{date}}, {{time}}",short:"{{date}}, {{time}}"},defaultWidth:"full"})},f={lastWeek:"'last' eeee 'at' p",yesterday:"'yesterday at' p",today:"'today at' p",tomorrow:"'tomorrow at' p",nextWeek:"eeee 'at' p",other:"P"};function g(a){return(b,c)=>{let d;if("formatting"===(c?.context?String(c.context):"standalone")&&a.formattingValues){let b=a.defaultFormattingWidth||a.defaultWidth,e=c?.width?String(c.width):b;d=a.formattingValues[e]||a.formattingValues[b]}else{let b=a.defaultWidth,e=c?.width?String(c.width):a.defaultWidth;d=a.values[e]||a.values[b]}return d[a.argumentCallback?a.argumentCallback(b):b]}}let h={ordinalNumber:(a,b)=>{let c=Number(a),d=c%100;if(d>20||d<10)switch(d%10){case 1:return c+"st";case 2:return c+"nd";case 3:return c+"rd"}return c+"th"},era:g({values:{narrow:["B","A"],abbreviated:["BC","AD"],wide:["Before Christ","Anno Domini"]},defaultWidth:"wide"}),quarter:g({values:{narrow:["1","2","3","4"],abbreviated:["Q1","Q2","Q3","Q4"],wide:["1st quarter","2nd quarter","3rd quarter","4th quarter"]},defaultWidth:"wide",argumentCallback:a=>a-1}),month:g({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:g({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:g({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 i(a){return(b,c={})=>{let d,e=c.width,f=e&&a.matchPatterns[e]||a.matchPatterns[a.defaultMatchWidth],g=b.match(f);if(!g)return null;let h=g[0],i=e&&a.parsePatterns[e]||a.parsePatterns[a.defaultParseWidth],j=Array.isArray(i)?function(a,b){for(let c=0;c<a.length;c++)if(b(a[c]))return c}(i,a=>a.test(h)):function(a,b){for(let c in a)if(Object.prototype.hasOwnProperty.call(a,c)&&b(a[c]))return c}(i,a=>a.test(h));return d=a.valueCallback?a.valueCallback(j):j,{value:d=c.valueCallback?c.valueCallback(d):d,rest:b.slice(h.length)}}}let j={ordinalNumber:(b={matchPattern:/^(\d+)(th|st|nd|rd)?/i,parsePattern:/\d+/i,valueCallback:a=>parseInt(a,10)},(a,c={})=>{let d=a.match(b.matchPattern);if(!d)return null;let e=d[0],f=a.match(b.parsePattern);if(!f)return null;let g=b.valueCallback?b.valueCallback(f[0]):f[0];return{value:g=c.valueCallback?c.valueCallback(g):g,rest:a.slice(e.length)}}),era:i({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:i({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:a=>a+1}),month:i({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:i({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:i({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"})};a.s(["defaultLocale",0,{code:"en-US",formatDistance:(a,b,d)=>{let e,f=c[a];if(e="string"==typeof f?f:1===b?f.one:f.other.replace("{{count}}",b.toString()),d?.addSuffix)if(d.comparison&&d.comparison>0)return"in "+e;else return e+" ago";return e},formatLong:e,formatRelative:(a,b,c,d)=>f[a],localize:h,match:j,options:{weekStartsOn:0,firstWeekContainsDate:1}}],868023)},889650,a=>{"use strict";let b={};a.s(["getDefaultOptions",0,function(){return b}])},399602,a=>{"use strict";var b=a.i(18956);a.s(["toDate",0,function(a,c){return(0,b.constructFrom)(c||a,a)}])},979309,247355,a=>{"use strict";var b=a.i(399602);a.s(["getTimezoneOffsetInMilliseconds",0,function(a){let c=(0,b.toDate)(a),d=new Date(Date.UTC(c.getFullYear(),c.getMonth(),c.getDate(),c.getHours(),c.getMinutes(),c.getSeconds(),c.getMilliseconds()));return d.setUTCFullYear(c.getFullYear()),a-d}],979309);var c=a.i(18956);a.s(["normalizeDates",0,function(a,...b){let d=c.constructFrom.bind(null,a||b.find(a=>"object"==typeof a));return b.map(d)}],247355)},72906,(a,b,c)=>{b.exports=e,e.sync=function(a,b){return f(d.statSync(a),b)};var d=a.r(522734);function e(a,b,c){d.stat(a,function(a,d){c(a,!a&&f(d,b))})}function f(a,b){var c,d,e,f,g,h,i,j,k;return a.isFile()&&(c=a,d=b,e=c.mode,f=c.uid,g=c.gid,h=void 0!==d.uid?d.uid:process.getuid&&process.getuid(),i=void 0!==d.gid?d.gid:process.getgid&&process.getgid(),j=parseInt("100",8),k=parseInt("010",8),e&parseInt("001",8)||e&k&&g===i||e&j&&f===h||e&(j|k)&&0===h)}},490400,(a,b,c)=>{b.exports=f,f.sync=function(a,b){return e(d.statSync(a),a,b)};var d=a.r(522734);function e(a,b,c){if(!a.isSymbolicLink()&&!a.isFile())return!1;var d=void 0!==c.pathExt?c.pathExt:process.env.PATHEXT;if(!d||-1!==(d=d.split(";")).indexOf(""))return!0;for(var e=0;e<d.length;e++){var f=d[e].toLowerCase();if(f&&b.substr(-f.length).toLowerCase()===f)return!0}return!1}function f(a,b,c){d.stat(a,function(d,f){c(d,!d&&e(f,a,b))})}},929177,(a,b,c)=>{var d;function e(a,b,c){if("function"==typeof b&&(c=b,b={}),!c){if("function"!=typeof Promise)throw TypeError("callback not provided");return new Promise(function(c,d){e(a,b||{},function(a,b){a?d(a):c(b)})})}d(a,b||{},function(a,d){a&&("EACCES"===a.code||b&&b.ignoreErrors)&&(a=null,d=!1),c(a,d)})}a.r(522734),d="win32"===process.platform||a.g.TESTING_WINDOWS?a.r(490400):a.r(72906),b.exports=e,e.sync=function(a,b){try{return d.sync(a,b||{})}catch(a){if(b&&b.ignoreErrors||"EACCES"===a.code)return!1;throw a}}},38795,(a,b,c)=>{let d="win32"===process.platform||"cygwin"===process.env.OSTYPE||"msys"===process.env.OSTYPE,e=a.r(814747),f=d?";":":",g=a.r(929177),h=a=>Object.assign(Error(`not found: ${a}`),{code:"ENOENT"}),i=(a,b)=>{let c=b.colon||f,e=a.match(/\//)||d&&a.match(/\\/)?[""]:[...d?[process.cwd()]:[],...(b.path||process.env.PATH||"").split(c)],g=d?b.pathExt||process.env.PATHEXT||".EXE;.CMD;.BAT;.COM":"",h=d?g.split(c):[""];return d&&-1!==a.indexOf(".")&&""!==h[0]&&h.unshift(""),{pathEnv:e,pathExt:h,pathExtExe:g}},j=(a,b,c)=>{"function"==typeof b&&(c=b,b={}),b||(b={});let{pathEnv:d,pathExt:f,pathExtExe:j}=i(a,b),k=[],l=c=>new Promise((f,g)=>{if(c===d.length)return b.all&&k.length?f(k):g(h(a));let i=d[c],j=/^".*"$/.test(i)?i.slice(1,-1):i,l=e.join(j,a);f(m(!j&&/^\.[\\\/]/.test(a)?a.slice(0,2)+l:l,c,0))}),m=(a,c,d)=>new Promise((e,h)=>{if(d===f.length)return e(l(c+1));let i=f[d];g(a+i,{pathExt:j},(f,g)=>{if(!f&&g)if(!b.all)return e(a+i);else k.push(a+i);return e(m(a,c,d+1))})});return c?l(0).then(a=>c(null,a),c):l(0)};b.exports=j,j.sync=(a,b)=>{let{pathEnv:c,pathExt:d,pathExtExe:f}=i(a,b=b||{}),j=[];for(let h=0;h<c.length;h++){let i=c[h],k=/^".*"$/.test(i)?i.slice(1,-1):i,l=e.join(k,a),m=!k&&/^\.[\\\/]/.test(a)?a.slice(0,2)+l:l;for(let a=0;a<d.length;a++){let c=m+d[a];try{if(g.sync(c,{pathExt:f}))if(!b.all)return c;else j.push(c)}catch(a){}}}if(b.all&&j.length)return j;if(b.nothrow)return null;throw h(a)}},87721,(a,b,c)=>{"use strict";let d=(a={})=>{let b=a.env||process.env;return"win32"!==(a.platform||process.platform)?"PATH":Object.keys(b).reverse().find(a=>"PATH"===a.toUpperCase())||"Path"};b.exports=d,b.exports.default=d},145803,(a,b,c)=>{"use strict";let d=a.r(814747),e=a.r(38795),f=a.r(87721);function g(a,b){let c,g=a.options.env||process.env,h=process.cwd(),i=null!=a.options.cwd,j=i&&void 0!==process.chdir&&!process.chdir.disabled;if(j)try{process.chdir(a.options.cwd)}catch(a){}try{c=e.sync(a.command,{path:g[f({env:g})],pathExt:b?d.delimiter:void 0})}catch(a){}finally{j&&process.chdir(h)}return c&&(c=d.resolve(i?a.options.cwd:"",c)),c}b.exports=function(a){return g(a)||g(a,!0)}},389998,(a,b,c)=>{"use strict";let d=/([()\][%!^"`<>&|;, *?])/g;b.exports.command=function(a){return a.replace(d,"^$1")},b.exports.argument=function(a,b){return a=(a=(a=`${a}`).replace(/(?=(\\+?)?)\1"/g,'$1$1\\"')).replace(/(?=(\\+?)?)\1$/,"$1$1"),a=(a=`"${a}"`).replace(d,"^$1"),b&&(a=a.replace(d,"^$1")),a}},632419,(a,b,c)=>{"use strict";b.exports=/^#!(.*)/},641310,(a,b,c)=>{"use strict";let d=a.r(632419);b.exports=(a="")=>{let b=a.match(d);if(!b)return null;let[c,e]=b[0].replace(/#! ?/,"").split(" "),f=c.split("/").pop();return"env"===f?e:e?`${f} ${e}`:f}},555192,(a,b,c)=>{"use strict";let d=a.r(522734),e=a.r(641310);b.exports=function(a){let b,c=Buffer.alloc(150);try{b=d.openSync(a,"r"),d.readSync(b,c,0,150,0),d.closeSync(b)}catch(a){}return e(c.toString())}},817830,(a,b,c)=>{"use strict";a.r(814747),a.r(145803),a.r(389998),a.r(555192),process.platform,b.exports=function(a,b,c){b&&!Array.isArray(b)&&(c=b,b=null);let d={command:a,args:b=b?b.slice(0):[],options:c=Object.assign({},c),file:void 0,original:{command:a,args:b}};return c.shell,d}},941952,(a,b,c)=>{"use strict";process.platform,b.exports={hookChildProcess:function(a,b){},verifyENOENT:function(a,b){return null},verifyENOENTSync:function(a,b){return null},notFoundError:function(a,b){return Object.assign(Error(`${b} ${a.command} ENOENT`),{code:"ENOENT",errno:"ENOENT",syscall:`${b} ${a.command}`,path:a.command,spawnargs:a.args})}}},908441,(a,b,c)=>{"use strict";let d=a.r(233405),e=a.r(817830),f=a.r(941952);function g(a,b,c){let g=e(a,b,c),h=d.spawn(g.command,g.args,g.options);return f.hookChildProcess(h,g),h}b.exports=g,b.exports.spawn=g,b.exports.sync=function(a,b,c){let g=e(a,b,c),h=d.spawnSync(g.command,g.args,g.options);return h.error=h.error||f.verifyENOENTSync(h.status,g),h},b.exports._parse=e,b.exports._enoent=f},64203,a=>{"use strict";var b,c,d=a.i(527990),e=a.i(53112),f=a.i(652685),g=a.i(908441),h=e.z.optional(e.z.record(e.z.string(),e.z.unknown())),i=e.z.looseObject({name:e.z.string(),version:e.z.string(),title:e.z.optional(e.z.string())}),j=e.z.looseObject({_meta:e.z.optional(e.z.object({}).loose())}),k=j.extend({resultType:e.z.optional(e.z.string())}),l=e.z.object({method:e.z.string(),params:e.z.optional(j)}),m=e.z.object({applyDefaults:e.z.optional(e.z.boolean())}).loose(),n=e.z.looseObject({experimental:e.z.optional(e.z.object({}).loose()),logging:e.z.optional(e.z.object({}).loose()),completions:e.z.optional(e.z.object({}).loose()),prompts:e.z.optional(e.z.looseObject({listChanged:e.z.optional(e.z.boolean())})),resources:e.z.optional(e.z.looseObject({subscribe:e.z.optional(e.z.boolean()),listChanged:e.z.optional(e.z.boolean())})),tools:e.z.optional(e.z.looseObject({listChanged:e.z.optional(e.z.boolean())})),elicitation:e.z.optional(m)});e.z.object({elicitation:e.z.optional(m)}).loose(),k.extend({supportedVersions:e.z.array(e.z.string()),capabilities:n,instructions:e.z.optional(e.z.string()),ttlMs:e.z.optional(e.z.number()),cacheScope:e.z.optional(e.z.union([e.z.literal("public"),e.z.literal("private")]))}),k.extend({protocolVersion:e.z.string(),capabilities:n,serverInfo:i,instructions:e.z.optional(e.z.string())});var o=k.extend({nextCursor:e.z.optional(e.z.string())}),p=e.z.object({name:e.z.string(),title:e.z.optional(e.z.string()),description:e.z.optional(e.z.string()),inputSchema:e.z.looseObject({type:e.z.optional(e.z.unknown()),properties:e.z.optional(e.z.object({}).loose())}),outputSchema:e.z.optional(e.z.object({}).loose()),annotations:e.z.optional(e.z.object({title:e.z.optional(e.z.string()),readOnlyHint:e.z.optional(e.z.boolean()),destructiveHint:e.z.optional(e.z.boolean()),idempotentHint:e.z.optional(e.z.boolean()),openWorldHint:e.z.optional(e.z.boolean())}).loose()),_meta:h}).loose();o.extend({tools:e.z.array(p)});var q=e.z.object({type:e.z.literal("text"),text:e.z.string()}).loose(),r=e.z.object({type:e.z.literal("image"),data:e.z.base64(),mimeType:e.z.string()}).loose(),s=e.z.object({uri:e.z.string(),name:e.z.string(),title:e.z.optional(e.z.string()),description:e.z.optional(e.z.string()),mimeType:e.z.optional(e.z.string()),size:e.z.optional(e.z.number())}).loose();o.extend({resources:e.z.array(s)});var t=e.z.object({uri:e.z.string(),name:e.z.optional(e.z.string()),title:e.z.optional(e.z.string()),mimeType:e.z.optional(e.z.string())}).loose(),u=t.extend({text:e.z.string()}),v=t.extend({blob:e.z.base64()}),w=e.z.object({type:e.z.literal("resource"),resource:e.z.union([u,v])}).loose(),x=e.z.object({type:e.z.literal("resource_link"),uri:e.z.string(),name:e.z.string(),description:e.z.optional(e.z.string()),mimeType:e.z.optional(e.z.string())}).loose(),y=e.z.object({type:e.z.string()}).loose().refine(a=>!["text","image","resource","resource_link"].includes(a.type),{message:"Known content types must match their schema"}),z=k.extend({content:e.z.array(e.z.union([q,r,w,x,y])),structuredContent:e.z.optional(e.z.unknown()),isError:e.z.boolean().default(!1).optional()}),A=k.extend({content:e.z.never().optional(),structuredContent:e.z.json(),isError:e.z.boolean().default(!1).optional()}).transform(a=>({...a,content:[{type:"text",text:JSON.stringify(a.structuredContent)}]})).pipe(z);z.or(A).or(k.extend({toolResult:e.z.unknown().nonoptional()}));var B=e.z.object({uriTemplate:e.z.string(),name:e.z.string(),title:e.z.optional(e.z.string()),description:e.z.optional(e.z.string()),mimeType:e.z.optional(e.z.string())}).loose();k.extend({resourceTemplates:e.z.array(B)}),k.extend({contents:e.z.array(e.z.union([u,v]))});var C=e.z.object({type:e.z.literal("ref/prompt"),name:e.z.string()}).loose(),D=e.z.object({type:e.z.literal("ref/resource"),uri:e.z.string()}).loose(),E=e.z.object({name:e.z.string(),value:e.z.string()}).loose();j.extend({ref:e.z.union([C,D]),argument:E,context:e.z.optional(e.z.object({arguments:e.z.record(e.z.string(),e.z.string())}).loose())}),k.extend({completion:e.z.object({values:e.z.array(e.z.string()).max(100),total:e.z.optional(e.z.number().int()),hasMore:e.z.optional(e.z.boolean())}).loose()});var F=e.z.object({name:e.z.string(),description:e.z.optional(e.z.string()),required:e.z.optional(e.z.boolean())}).loose(),G=e.z.object({name:e.z.string(),title:e.z.optional(e.z.string()),description:e.z.optional(e.z.string()),arguments:e.z.optional(e.z.array(F))}).loose();o.extend({prompts:e.z.array(G)});var H=e.z.object({role:e.z.union([e.z.literal("user"),e.z.literal("assistant")]),content:e.z.union([q,r,w,x])}).loose();k.extend({description:e.z.optional(e.z.string()),messages:e.z.array(H)});var I=j.extend({message:e.z.string(),requestedSchema:e.z.unknown()});l.extend({method:e.z.literal("elicitation/create"),params:I}),k.extend({action:e.z.union([e.z.literal("accept"),e.z.literal("decline"),e.z.literal("cancel")]),content:e.z.optional(e.z.record(e.z.string(),e.z.unknown()))});var J=e.z.object({jsonrpc:e.z.literal("2.0"),id:e.z.union([e.z.string(),e.z.number().int()])}).merge(l).strict(),K=e.z.object({jsonrpc:e.z.literal("2.0"),id:e.z.union([e.z.string(),e.z.number().int()]),result:k}).strict(),L=e.z.object({jsonrpc:e.z.literal("2.0"),id:e.z.optional(e.z.union([e.z.string(),e.z.number().int()])),error:e.z.object({code:e.z.number().int(),message:e.z.string(),data:e.z.optional(e.z.unknown())})}).strict(),M=e.z.object({jsonrpc:e.z.literal("2.0")}).merge(e.z.object({method:e.z.string(),params:e.z.optional(j)})).strict(),N=e.z.union([J,M,K,L]);async function O(a){var b;return b=await (0,d.parseJSON)({text:a}),N.parse(b)}var P="vercel.ai.error.AI_MCPClientError",Q=Symbol.for(P),R=class extends(c=f.AISDKError,b=Q,c){constructor({name:a="MCPClientError",message:c,cause:d,data:e,code:f,statusCode:g,url:h,responseBody:i}){super({name:a,message:c,cause:d}),this[b]=!0,this.data=e,this.code=f,this.statusCode=g,this.url=h,this.responseBody=i}static isInstance(a){return f.AISDKError.hasMarker(a,P)}},S=class{constructor(a){this.supportsProtocolVersionDiscovery=!0,this.abortController=new AbortController,this.readBuffer=new T,this.serverParams=a}async start(){if(this.process)throw new R({message:"StdioMCPTransport already started."});return new Promise((a,b)=>{var c,d,e,f;try{let f=function(a,b){var c,d,e;if("win32"===globalThis.process.platform&&[a.command,...null!=(c=a.args)?c:[]].some(a=>/[\r\n]/.test(a)))throw TypeError("Stdio MCP commands and arguments must not contain line breaks on Windows.");return(0,g.default)(a.command,null!=(d=a.args)?d:[],{env:function(a){let b="win32"===globalThis.process.platform?["APPDATA","HOMEDRIVE","HOMEPATH","LOCALAPPDATA","PATH","PROCESSOR_ARCHITECTURE","SYSTEMDRIVE","SYSTEMROOT","TEMP","USERNAME","USERPROFILE"]:["HOME","LOGNAME","PATH","SHELL","TERM","USER"],c=a?{...a}:{};for(let a of b){let b=globalThis.process.env[a];void 0!==b&&(b.startsWith("()")||(c[a]=b))}return c}(a.env),stdio:["pipe","pipe",null!=(e=a.stderr)?e:"inherit"],shell:!1,signal:b,windowsHide:"win32"===globalThis.process.platform&&"type"in globalThis.process,cwd:a.cwd})}(this.serverParams,this.abortController.signal);this.process=f,this.process.on("error",a=>{var c,d;if("AbortError"===a.name){null==(c=this.onclose)||c.call(this);return}b(a),null==(d=this.onerror)||d.call(this,a)}),this.process.on("spawn",()=>{a()}),this.process.on("close",a=>{var b;this.process=void 0,null==(b=this.onclose)||b.call(this)}),null==(c=this.process.stdin)||c.on("error",a=>{var b;null==(b=this.onerror)||b.call(this,a)}),null==(d=this.process.stdout)||d.on("data",a=>{this.readBuffer.append(a),this.processReadBuffer()}),null==(e=this.process.stdout)||e.on("error",a=>{var b;null==(b=this.onerror)||b.call(this,a)})}catch(a){b(a),null==(f=this.onerror)||f.call(this,a)}})}async processReadBuffer(){for(var a,b;;){let c=this.readBuffer.readLine();if(null===c)break;try{let b=await U(c);null==(a=this.onmessage)||a.call(this,b)}catch(a){null==(b=this.onerror)||b.call(this,a)}}}async close(){this.abortController.abort(),this.process=void 0,this.readBuffer.clear()}send(a){return new Promise(b=>{var c;if(!(null==(c=this.process)?void 0:c.stdin))throw new R({message:"StdioClientTransport not connected"});let d=JSON.stringify(a)+"\n";this.process.stdin.write(d)?b():this.process.stdin.once("drain",b)})}},T=class{append(a){this.buffer=this.buffer?Buffer.concat([this.buffer,a]):a}readLine(){if(!this.buffer)return null;let a=this.buffer.indexOf("\n");if(-1===a)return null;let b=this.buffer.toString("utf8",0,a);return this.buffer=this.buffer.subarray(a+1),b}clear(){this.buffer=void 0}};async function U(a){return O(a)}a.s(["Experimental_StdioMCPTransport",0,S])},927267,(a,b,c)=>{"use strict";let d=Symbol.for("yaml.alias"),e=Symbol.for("yaml.document"),f=Symbol.for("yaml.map"),g=Symbol.for("yaml.pair"),h=Symbol.for("yaml.scalar"),i=Symbol.for("yaml.seq"),j=Symbol.for("yaml.node.type"),k=a=>!!a&&"object"==typeof a&&a[j]===h;function l(a){if(a&&"object"==typeof a)switch(a[j]){case f:case i:return!0}return!1}c.ALIAS=d,c.DOC=e,c.MAP=f,c.NODE_TYPE=j,c.PAIR=g,c.SCALAR=h,c.SEQ=i,c.hasAnchor=a=>(k(a)||l(a))&&!!a.anchor,c.isAlias=a=>!!a&&"object"==typeof a&&a[j]===d,c.isCollection=l,c.isDocument=a=>!!a&&"object"==typeof a&&a[j]===e,c.isMap=a=>!!a&&"object"==typeof a&&a[j]===f,c.isNode=function(a){if(a&&"object"==typeof a)switch(a[j]){case d:case f:case h:case i:return!0}return!1},c.isPair=a=>!!a&&"object"==typeof a&&a[j]===g,c.isScalar=k,c.isSeq=a=>!!a&&"object"==typeof a&&a[j]===i},685927,(a,b,c)=>{"use strict";var d=a.r(927267);let e=Symbol("break visit"),f=Symbol("skip children"),g=Symbol("remove node");function h(a,b){let c=l(b);d.isDocument(a)?i(null,a.contents,c,Object.freeze([a]))===g&&(a.contents=null):i(null,a,c,Object.freeze([]))}function i(a,b,c,f){let h=m(a,b,c,f);if(d.isNode(h)||d.isPair(h))return n(a,f,h),i(a,h,c,f);if("symbol"!=typeof h){if(d.isCollection(b)){f=Object.freeze(f.concat(b));for(let a=0;a<b.items.length;++a){let d=i(a,b.items[a],c,f);if("number"==typeof d)a=d-1;else{if(d===e)return e;d===g&&(b.items.splice(a,1),a-=1)}}}else if(d.isPair(b)){f=Object.freeze(f.concat(b));let a=i("key",b.key,c,f);if(a===e)return e;a===g&&(b.key=null);let d=i("value",b.value,c,f);if(d===e)return e;d===g&&(b.value=null)}}return h}async function j(a,b){let c=l(b);d.isDocument(a)?await k(null,a.contents,c,Object.freeze([a]))===g&&(a.contents=null):await k(null,a,c,Object.freeze([]))}async function k(a,b,c,f){let h=await m(a,b,c,f);if(d.isNode(h)||d.isPair(h))return n(a,f,h),k(a,h,c,f);if("symbol"!=typeof h){if(d.isCollection(b)){f=Object.freeze(f.concat(b));for(let a=0;a<b.items.length;++a){let d=await k(a,b.items[a],c,f);if("number"==typeof d)a=d-1;else{if(d===e)return e;d===g&&(b.items.splice(a,1),a-=1)}}}else if(d.isPair(b)){f=Object.freeze(f.concat(b));let a=await k("key",b.key,c,f);if(a===e)return e;a===g&&(b.key=null);let d=await k("value",b.value,c,f);if(d===e)return e;d===g&&(b.value=null)}}return h}function l(a){return"object"==typeof a&&(a.Collection||a.Node||a.Value)?Object.assign({Alias:a.Node,Map:a.Node,Scalar:a.Node,Seq:a.Node},a.Value&&{Map:a.Value,Scalar:a.Value,Seq:a.Value},a.Collection&&{Map:a.Collection,Seq:a.Collection},a):a}function m(a,b,c,e){return"function"==typeof c?c(a,b,e):d.isMap(b)?c.Map?.(a,b,e):d.isSeq(b)?c.Seq?.(a,b,e):d.isPair(b)?c.Pair?.(a,b,e):d.isScalar(b)?c.Scalar?.(a,b,e):d.isAlias(b)?c.Alias?.(a,b,e):void 0}function n(a,b,c){let e=b[b.length-1];if(d.isCollection(e))e.items[a]=c;else if(d.isPair(e))"key"===a?e.key=c:e.value=c;else if(d.isDocument(e))e.contents=c;else{let a=d.isAlias(e)?"alias":"scalar";throw Error(`Cannot replace node with ${a} parent`)}}h.BREAK=e,h.SKIP=f,h.REMOVE=g,j.BREAK=e,j.SKIP=f,j.REMOVE=g,c.visit=h,c.visitAsync=j},374957,(a,b,c)=>{"use strict";var d=a.r(927267),e=a.r(685927);let f={"!":"%21",",":"%2C","[":"%5B","]":"%5D","{":"%7B","}":"%7D"},g=a=>a.replace(/[!,[\]{}]/g,a=>f[a]);class h{constructor(a,b){this.docStart=null,this.docEnd=!1,this.yaml=Object.assign({},h.defaultYaml,a),this.tags=Object.assign({},h.defaultTags,b)}clone(){let a=new h(this.yaml,this.tags);return a.docStart=this.docStart,a}atDocument(){let a=new h(this.yaml,this.tags);switch(this.yaml.version){case"1.1":this.atNextDocument=!0;break;case"1.2":this.atNextDocument=!1,this.yaml={explicit:h.defaultYaml.explicit,version:"1.2"},this.tags=Object.assign({},h.defaultTags)}return a}add(a,b){this.atNextDocument&&(this.yaml={explicit:h.defaultYaml.explicit,version:"1.1"},this.tags=Object.assign({},h.defaultTags),this.atNextDocument=!1);let c=a.trim().split(/[ \t]+/),d=c.shift();switch(d){case"%TAG":{if(2!==c.length&&(b(0,"%TAG directive should contain exactly two parts"),c.length<2))return!1;let[a,d]=c;return this.tags[a]=d,!0}case"%YAML":{if(this.yaml.explicit=!0,1!==c.length)return b(0,"%YAML directive should contain exactly one part"),!1;let[a]=c;if("1.1"===a||"1.2"===a)return this.yaml.version=a,!0;{let c=/^\d+\.\d+$/.test(a);return b(6,`Unsupported YAML version ${a}`,c),!1}}default:return b(0,`Unknown directive ${d}`,!0),!1}}tagName(a,b){if("!"===a)return"!";if("!"!==a[0])return b(`Not a valid tag: ${a}`),null;if("<"===a[1]){let c=a.slice(2,-1);return"!"===c||"!!"===c?(b(`Verbatim tags aren't resolved, so ${a} is invalid.`),null):(">"!==a[a.length-1]&&b("Verbatim tags must end with a >"),c)}let[,c,d]=a.match(/^(.*!)([^!]*)$/s);d||b(`The ${a} tag has no suffix`);let e=this.tags[c];if(e)try{return e+decodeURIComponent(d)}catch(a){return b(String(a)),null}return"!"===c?a:(b(`Could not resolve tag: ${a}`),null)}tagString(a){for(let[b,c]of Object.entries(this.tags))if(a.startsWith(c))return b+g(a.substring(c.length));return"!"===a[0]?a:`!<${a}>`}toString(a){let b,c=this.yaml.explicit?[`%YAML ${this.yaml.version||"1.2"}`]:[],f=Object.entries(this.tags);if(a&&f.length>0&&d.isNode(a.contents)){let c={};e.visit(a.contents,(a,b)=>{d.isNode(b)&&b.tag&&(c[b.tag]=!0)}),b=Object.keys(c)}else b=[];for(let[d,e]of f)("!!"!==d||"tag:yaml.org,2002:"!==e)&&(!a||b.some(a=>a.startsWith(e)))&&c.push(`%TAG ${d} ${e}`);return c.join("\n")}}h.defaultYaml={explicit:!1,version:"1.2"},h.defaultTags={"!!":"tag:yaml.org,2002:"},c.Directives=h},210937,(a,b,c)=>{"use strict";var d=a.r(927267),e=a.r(685927);function f(a){let b=new Set;return e.visit(a,{Value(a,c){c.anchor&&b.add(c.anchor)}}),b}function g(a,b){for(let c=1;;++c){let d=`${a}${c}`;if(!b.has(d))return d}}c.anchorIsValid=function(a){if(/[\x00-\x19\s,[\]{}]/.test(a)){let b=JSON.stringify(a);throw Error(`Anchor must not contain whitespace or control characters: ${b}`)}return!0},c.anchorNames=f,c.createNodeAnchors=function(a,b){let c=[],e=new Map,h=null;return{onAnchor:d=>{c.push(d),h??(h=f(a));let e=g(b,h);return h.add(e),e},setAnchors:()=>{for(let a of c){let b=e.get(a);if("object"==typeof b&&b.anchor&&(d.isScalar(b.node)||d.isCollection(b.node)))b.node.anchor=b.anchor;else{let b=Error("Failed to resolve repeated object (this should not happen)");throw b.source=a,b}}},sourceObjects:e}},c.findNewAnchor=g},159588,(a,b,c)=>{"use strict";c.applyReviver=function a(b,c,d,e){if(e&&"object"==typeof e)if(Array.isArray(e))for(let c=0,d=e.length;c<d;++c){let d=e[c],f=a(b,e,String(c),d);void 0===f?delete e[c]:f!==d&&(e[c]=f)}else if(e instanceof Map)for(let c of Array.from(e.keys())){let d=e.get(c),f=a(b,e,c,d);void 0===f?e.delete(c):f!==d&&e.set(c,f)}else if(e instanceof Set)for(let c of Array.from(e)){let d=a(b,e,c,c);void 0===d?e.delete(c):d!==c&&(e.delete(c),e.add(d))}else for(let[c,d]of Object.entries(e)){let f=a(b,e,c,d);void 0===f?delete e[c]:f!==d&&(e[c]=f)}return b.call(c,d,e)}},500094,(a,b,c)=>{"use strict";var d=a.r(927267);c.toJS=function a(b,c,e){if(Array.isArray(b))return b.map((b,c)=>a(b,String(c),e));if(b&&"function"==typeof b.toJSON){if(!e||!d.hasAnchor(b))return b.toJSON(c,e);let a={aliasCount:0,count:1,res:void 0};e.anchors.set(b,a),e.onCreate=b=>{a.res=b,delete e.onCreate};let f=b.toJSON(c,e);return e.onCreate&&e.onCreate(f),f}return"bigint"!=typeof b||e?.keep?b:Number(b)}},125154,(a,b,c)=>{"use strict";var d=a.r(159588),e=a.r(927267),f=a.r(500094);c.NodeBase=class{constructor(a){Object.defineProperty(this,e.NODE_TYPE,{value:a})}clone(){let a=Object.create(Object.getPrototypeOf(this),Object.getOwnPropertyDescriptors(this));return this.range&&(a.range=this.range.slice()),a}toJS(a,{mapAsMap:b,maxAliasCount:c,onAnchor:g,reviver:h}={}){if(!e.isDocument(a))throw TypeError("A document argument is required");let i={anchors:new Map,doc:a,keep:!0,mapAsMap:!0===b,mapKeyWarned:!1,maxAliasCount:"number"==typeof c?c:100},j=f.toJS(this,"",i);if("function"==typeof g)for(let{count:a,res:b}of i.anchors.values())g(b,a);return"function"==typeof h?d.applyReviver(h,{"":j},"",j):j}}},421562,(a,b,c)=>{"use strict";var d=a.r(210937),e=a.r(685927),f=a.r(927267),g=a.r(125154),h=a.r(500094);class i extends g.NodeBase{constructor(a){super(f.ALIAS),this.source=a,Object.defineProperty(this,"tag",{set(){throw Error("Alias nodes cannot have tags")}})}resolve(a,b){let c,d;if(b?.maxAliasCount===0)throw ReferenceError("Alias resolution is disabled");for(let g of(b?.aliasResolveCache?c=b.aliasResolveCache:(c=[],e.visit(a,{Node:(a,b)=>{(f.isAlias(b)||f.hasAnchor(b))&&c.push(b)}}),b&&(b.aliasResolveCache=c)),c)){if(g===this)break;g.anchor===this.source&&(d=g)}return d}toJSON(a,b){if(!b)return{source:this.source};let{anchors:c,doc:d,maxAliasCount:e}=b,g=this.resolve(d,b);if(!g)throw ReferenceError(`Unresolved alias (the anchor must be set before the alias): ${this.source}`);let i=c.get(g);if(i||(h.toJS(g,null,b),i=c.get(g)),i?.res===void 0)throw ReferenceError("This should not happen: Alias anchor was not resolved?");if(e>=0&&(i.count+=1,0===i.aliasCount&&(i.aliasCount=function a(b,c,d){if(f.isAlias(c)){let a=c.resolve(b),e=d&&a&&d.get(a);return e?e.count*e.aliasCount:0}if(f.isCollection(c)){let e=0;for(let f of c.items){let c=a(b,f,d);c>e&&(e=c)}return e}return f.isPair(c)?Math.max(a(b,c.key,d),a(b,c.value,d)):1}(d,g,c)),i.count*i.aliasCount>e))throw ReferenceError("Excessive alias count indicates a resource exhaustion attack");return i.res}toString(a,b,c){let e=`*${this.source}`;if(a){if(d.anchorIsValid(this.source),a.options.verifyAliasOrder&&!a.anchors.has(this.source))throw Error(`Unresolved alias (the anchor must be set before the alias): ${this.source}`);if(a.implicitKey)return`${e} `}return e}}c.Alias=i},427853,(a,b,c)=>{"use strict";var d=a.r(927267),e=a.r(125154),f=a.r(500094);class g extends e.NodeBase{constructor(a){super(d.SCALAR),this.value=a}toJSON(a,b){return b?.keep?this.value:f.toJS(this.value,a,b)}toString(){return String(this.value)}}g.BLOCK_FOLDED="BLOCK_FOLDED",g.BLOCK_LITERAL="BLOCK_LITERAL",g.PLAIN="PLAIN",g.QUOTE_DOUBLE="QUOTE_DOUBLE",g.QUOTE_SINGLE="QUOTE_SINGLE",c.Scalar=g,c.isScalarValue=a=>!a||"function"!=typeof a&&"object"!=typeof a},510882,(a,b,c)=>{"use strict";var d=a.r(421562),e=a.r(927267),f=a.r(427853);c.createNode=function(a,b,c){let g;if(e.isDocument(a)&&(a=a.contents),e.isNode(a))return a;if(e.isPair(a)){let b=c.schema[e.MAP].createNode?.(c.schema,null,c);return b.items.push(a),b}(a instanceof String||a instanceof Number||a instanceof Boolean||"u">typeof BigInt&&a instanceof BigInt)&&(a=a.valueOf());let{aliasDuplicateObjects:h,onAnchor:i,onTagObj:j,schema:k,sourceObjects:l}=c;if(h&&a&&"object"==typeof a){if(g=l.get(a))return g.anchor??(g.anchor=i(a)),new d.Alias(g.anchor);g={anchor:null,node:null},l.set(a,g)}b?.startsWith("!!")&&(b="tag:yaml.org,2002:"+b.slice(2));let m=function(a,b,c){if(b){let a=c.filter(a=>a.tag===b),d=a.find(a=>!a.format)??a[0];if(!d)throw Error(`Tag ${b} not found`);return d}return c.find(b=>b.identify?.(a)&&!b.format)}(a,b,k.tags);if(!m){if(a&&"function"==typeof a.toJSON&&(a=a.toJSON()),!a||"object"!=typeof a){let b=new f.Scalar(a);return g&&(g.node=b),b}m=a instanceof Map?k[e.MAP]:Symbol.iterator in Object(a)?k[e.SEQ]:k[e.MAP]}j&&(j(m),delete c.onTagObj);let n=m?.createNode?m.createNode(c.schema,a,c):"function"==typeof m?.nodeClass?.from?m.nodeClass.from(c.schema,a,c):new f.Scalar(a);return b?n.tag=b:m.default||(n.tag=m.tag),g&&(g.node=n),n}},735249,(a,b,c)=>{"use strict";var d=a.r(510882),e=a.r(927267),f=a.r(125154);function g(a,b,c){let e=c;for(let a=b.length-1;a>=0;--a){let c=b[a];if("number"==typeof c&&Number.isInteger(c)&&c>=0){let a=[];a[c]=e,e=a}else e=new Map([[c,e]])}return d.createNode(e,void 0,{aliasDuplicateObjects:!1,keepUndefined:!1,onAnchor:()=>{throw Error("This should not happen, please report a bug.")},schema:a,sourceObjects:new Map})}let h=a=>null==a||"object"==typeof a&&!!a[Symbol.iterator]().next().done;class i extends f.NodeBase{constructor(a,b){super(a),Object.defineProperty(this,"schema",{value:b,configurable:!0,enumerable:!1,writable:!0})}clone(a){let b=Object.create(Object.getPrototypeOf(this),Object.getOwnPropertyDescriptors(this));return a&&(b.schema=a),b.items=b.items.map(b=>e.isNode(b)||e.isPair(b)?b.clone(a):b),this.range&&(b.range=this.range.slice()),b}addIn(a,b){if(h(a))this.add(b);else{let[c,...d]=a,f=this.get(c,!0);if(e.isCollection(f))f.addIn(d,b);else if(void 0===f&&this.schema)this.set(c,g(this.schema,d,b));else throw Error(`Expected YAML collection at ${c}. Remaining path: ${d}`)}}deleteIn(a){let[b,...c]=a;if(0===c.length)return this.delete(b);let d=this.get(b,!0);if(e.isCollection(d))return d.deleteIn(c);throw Error(`Expected YAML collection at ${b}. Remaining path: ${c}`)}getIn(a,b){let[c,...d]=a,f=this.get(c,!0);return 0===d.length?!b&&e.isScalar(f)?f.value:f:e.isCollection(f)?f.getIn(d,b):void 0}hasAllNullValues(a){return this.items.every(b=>{if(!e.isPair(b))return!1;let c=b.value;return null==c||a&&e.isScalar(c)&&null==c.value&&!c.commentBefore&&!c.comment&&!c.tag})}hasIn(a){let[b,...c]=a;if(0===c.length)return this.has(b);let d=this.get(b,!0);return!!e.isCollection(d)&&d.hasIn(c)}setIn(a,b){let[c,...d]=a;if(0===d.length)this.set(c,b);else{let a=this.get(c,!0);if(e.isCollection(a))a.setIn(d,b);else if(void 0===a&&this.schema)this.set(c,g(this.schema,d,b));else throw Error(`Expected YAML collection at ${c}. Remaining path: ${d}`)}}}c.Collection=i,c.collectionFromPath=g,c.isEmptyPath=h},253074,(a,b,c)=>{"use strict";function d(a,b){return/^\n+$/.test(a)?a.substring(1):b?a.replace(/^(?! *$)/gm,b):a}c.indentComment=d,c.lineComment=(a,b,c)=>a.endsWith("\n")?d(c,b):c.includes("\n")?"\n"+d(c,b):(a.endsWith(" ")?"":" ")+c,c.stringifyComment=a=>a.replace(/^(?!$)(?: $)?/gm,"#")},859245,(a,b,c)=>{"use strict";let d="block",e="quoted";function f(a,b,c){let d=b,e=b+1,f=a[e];for(;" "===f||" "===f;)if(b<e+c)f=a[++b];else{do f=a[++b];while(f&&"\n"!==f)d=b,f=a[e=b+1]}return d}c.FOLD_BLOCK=d,c.FOLD_FLOW="flow",c.FOLD_QUOTED=e,c.foldFlowLines=function(a,b,c="flow",{indentAtStart:g,lineWidth:h=80,minContentWidth:i=20,onFold:j,onOverflow:k}={}){let l,m,n;if(!h||h<0)return a;h<i&&(i=0);let o=Math.max(1+i,1+h-b.length);if(a.length<=o)return a;let p=[],q={},r=h-b.length;"number"==typeof g&&(g>h-Math.max(2,i)?p.push(0):r=h-g);let s=!1,t=-1,u=-1,v=-1;for(c===d&&-1!==(t=f(a,t,b.length))&&(r=t+o);n=a[t+=1];){if(c===e&&"\\"===n){switch(u=t,a[t+1]){case"x":t+=3;break;case"u":t+=5;break;case"U":t+=9;break;default:t+=1}v=t}if("\n"===n)c===d&&(t=f(a,t,b.length)),r=t+b.length+o,l=void 0;else{if(" "===n&&m&&" "!==m&&"\n"!==m&&" "!==m){let b=a[t+1];b&&" "!==b&&"\n"!==b&&" "!==b&&(l=t)}if(t>=r)if(l)p.push(l),r=l+o,l=void 0;else if(c===e){for(;" "===m||" "===m;)m=n,n=a[t+=1],s=!0;let b=t>v+1?t-2:u-1;if(q[b])return a;p.push(b),q[b]=!0,r=b+o,l=void 0}else s=!0}m=n}if(s&&k&&k(),0===p.length)return a;j&&j();let w=a.slice(0,p[0]);for(let d=0;d<p.length;++d){let f=p[d],g=p[d+1]||a.length;0===f?w=`
|
|
218
205
|
${b}${a.slice(0,g)}`:(c===e&&q[f]&&(w+=`${a[f]}\\`),w+=`
|
|
219
206
|
${b}${a.slice(f+1,g)}`)}return w}},688583,(a,b,c)=>{"use strict";let d;var e=a.r(427853),f=a.r(859245);let g=(a,b)=>({indentAtStart:b?a.indent.length:a.indentAtStart,lineWidth:a.options.lineWidth,minContentWidth:a.options.minContentWidth});function h(a,b){let c=JSON.stringify(a);if(b.options.doubleQuotedAsJSON)return c;let{implicitKey:d}=b,e=b.options.doubleQuotedMinMultiLineLength,h=b.indent||(/^(%|---|\.\.\.)/m.test(a)?" ":""),i="",j=0;for(let a=0,b=c[a];b;b=c[++a])if(" "===b&&"\\"===c[a+1]&&"n"===c[a+2]&&(i+=c.slice(j,a)+"\\ ",a+=1,j=a,b="\\"),"\\"===b)switch(c[a+1]){case"u":{i+=c.slice(j,a);let b=c.substr(a+2,4);switch(b){case"0000":i+="\\0";break;case"0007":i+="\\a";break;case"000b":i+="\\v";break;case"001b":i+="\\e";break;case"0085":i+="\\N";break;case"00a0":i+="\\_";break;case"2028":i+="\\L";break;case"2029":i+="\\P";break;default:"00"===b.substr(0,2)?i+="\\x"+b.substr(2):i+=c.substr(a,6)}a+=5,j=a+1}break;case"n":if(d||'"'===c[a+2]||c.length<e)a+=1;else{for(i+=c.slice(j,a)+"\n\n";"\\"===c[a+2]&&"n"===c[a+3]&&'"'!==c[a+4];)i+="\n",a+=2;i+=h," "===c[a+2]&&(i+="\\"),a+=1,j=a+1}break;default:a+=1}return i=j?i+c.slice(j):c,d?i:f.foldFlowLines(i,h,f.FOLD_QUOTED,g(b,!1))}function i(a,b){if(!1===b.options.singleQuote||b.implicitKey&&a.includes("\n")||/[ \t]\n|\n[ \t]/.test(a))return h(a,b);let c=b.indent||(/^(%|---|\.\.\.)/m.test(a)?" ":""),d="'"+a.replace(/'/g,"''").replace(/\n+/g,`$&
|
|
220
207
|
${c}`)+"'";return b.implicitKey?d:f.foldFlowLines(d,c,f.FOLD_FLOW,g(b,!1))}function j(a,b){let c,{singleQuote:d}=b.options;if(!1===d)c=h;else{let b=a.includes('"'),e=a.includes("'");c=b&&!e?i:e&&!b?h:d?i:h}return c(a,b)}try{d=RegExp("(^|(?<!\n))\n+(?!\n|$)","g")}catch{d=/\n+(?!\n|$)/g}function k({comment:a,type:b,value:c},h,i,l){let m,n,o,p,{blockQuote:q,commentString:r,lineWidth:s}=h.options;if(!q||/\n[\t ]+$/.test(c))return j(c,h);let t=h.indent||(h.forceBlockIndent||(p=c,/^(%|---|\.\.\.)/m.test(p))?" ":""),u="literal"===q||"folded"!==q&&b!==e.Scalar.BLOCK_FOLDED&&(b===e.Scalar.BLOCK_LITERAL||!function(a,b,c){if(!b||b<0)return!1;let d=b-c,e=a.length;if(e<=d)return!1;for(let b=0,c=0;b<e;++b)if("\n"===a[b]){if(b-c>d)return!0;if(e-(c=b+1)<=d)return!1}return!0}(c,s,t.length));if(!c)return u?"|\n":">\n";for(n=c.length;n>0;--n){let a=c[n-1];if("\n"!==a&&" "!==a&&" "!==a)break}let v=c.substring(n),w=v.indexOf("\n");-1===w?m="-":c===v||w!==v.length-1?(m="+",l&&l()):m="",v&&(c=c.slice(0,-v.length),"\n"===v[v.length-1]&&(v=v.slice(0,-1)),v=v.replace(d,`$&${t}`));let x=!1,y=-1;for(o=0;o<c.length;++o){let a=c[o];if(" "===a)x=!0;else if("\n"===a)y=o;else break}let z=c.substring(0,y<o?y+1:o);z&&(c=c.substring(z.length),z=z.replace(/\n+/g,`$&${t}`));let A=t?"2":"1",B=(x?A:"")+m;if(a&&(B+=" "+r(a.replace(/ ?[\r\n]+/g," ")),i&&i()),!u){let a=c.replace(/\n+/g,"\n$&").replace(/(?:^|\n)([\t ].*)(?:([\n\t ]*)\n(?![\n\t ]))?/g,"$1$2").replace(/\n+/g,`$&${t}`),d=!1,i=g(h,!0);"folded"!==q&&b!==e.Scalar.BLOCK_FOLDED&&(i.onOverflow=()=>{d=!0});let j=f.foldFlowLines(`${z}${a}${v}`,t,f.FOLD_BLOCK,i);if(!d)return`>${B}
|
|
@@ -240,4 +227,4 @@ ${b}`:c}else{let a=e.commentBefore;e.commentBefore=a?`${c}
|
|
|
240
227
|
${a}`:c}}if(b){for(let b=0;b<this.errors.length;++b)a.errors.push(this.errors[b]);for(let b=0;b<this.warnings.length;++b)a.warnings.push(this.warnings[b])}else a.errors=this.errors,a.warnings=this.warnings;this.prelude=[],this.errors=[],this.warnings=[]}streamInfo(){return{comment:l(this.prelude).comment,directives:this.directives,errors:this.errors,warnings:this.warnings}}*compose(a,b=!1,c=-1){for(let b of a)yield*this.next(b);yield*this.end(b,c)}*next(a){switch(d.env.LOG_STREAM&&console.dir(a,{depth:null}),a.type){case"directive":this.directives.add(a.source,(b,c,d)=>{let e=k(a);e[0]+=b,this.onError(e,"BAD_DIRECTIVE",c,d)}),this.prelude.push(a.source),this.atDirectives=!0;break;case"document":{let b=i.composeDoc(this.options,this.directives,a,this.onError);this.atDirectives&&!b.directives.docStart&&this.onError(a,"MISSING_CHAR","Missing directives-end/doc-start indicator line"),this.decorate(b,!1),this.doc&&(yield this.doc),this.doc=b,this.atDirectives=!1;break}case"byte-order-mark":case"space":break;case"comment":case"newline":this.prelude.push(a.source);break;case"error":{let b=a.source?`${a.message}: ${JSON.stringify(a.source)}`:a.message,c=new g.YAMLParseError(k(a),"UNEXPECTED_TOKEN",b);this.atDirectives||!this.doc?this.errors.push(c):this.doc.errors.push(c);break}case"doc-end":{if(!this.doc){this.errors.push(new g.YAMLParseError(k(a),"UNEXPECTED_TOKEN","Unexpected doc-end without preceding document"));break}this.doc.directives.docEnd=!0;let b=j.resolveEnd(a.end,a.offset+a.source.length,this.doc.options.strict,this.onError);if(this.decorate(this.doc,!0),b.comment){let a=this.doc.comment;this.doc.comment=a?`${a}
|
|
241
228
|
${b.comment}`:b.comment}this.doc.range[2]=b.offset;break}default:this.errors.push(new g.YAMLParseError(k(a),"UNEXPECTED_TOKEN",`Unsupported token ${a.type}`))}}*end(a=!1,b=-1){if(this.doc)this.decorate(this.doc,!0),yield this.doc,this.doc=null;else if(a){let a=Object.assign({_directives:this.directives},this.options),c=new f.Document(void 0,a);this.atDirectives&&this.onError(b,"MISSING_CHAR","Missing directives-end indicator line"),c.range=[0,b,b],this.decorate(c,!1),yield c}}}},286888,(a,b,c)=>{"use strict";var d=a.r(871014),e=a.r(121525),f=a.r(725717),g=a.r(688583);function h(a,b){if(b)for(let c of b)switch(c.type){case"space":case"comment":a.push(c);break;case"newline":return a.push(c),!0}return!1}function i(a,b,c){switch(a.type){case"scalar":case"double-quoted-scalar":case"single-quoted-scalar":a.type=c,a.source=b;break;case"block-scalar":{let d=a.props.slice(1),e=b.length;for(let b of("block-scalar-header"===a.props[0].type&&(e-=a.props[0].source.length),d))b.offset+=e;delete a.props,Object.assign(a,{type:c,source:b,end:d});break}case"block-map":case"block-seq":{let d={type:"newline",offset:a.offset+b.length,indent:a.indent,source:"\n"};delete a.items,Object.assign(a,{type:c,source:b,end:[d]});break}default:{let d="indent"in a?a.indent:-1,e="end"in a&&Array.isArray(a.end)?a.end.filter(a=>"space"===a.type||"comment"===a.type||"newline"===a.type):[];for(let b of Object.keys(a))"type"!==b&&"offset"!==b&&delete a[b];Object.assign(a,{type:c,indent:d,source:b,end:e})}}}c.createScalarToken=function(a,b){let{implicitKey:c=!1,indent:d,inFlow:e=!1,offset:f=-1,type:i="PLAIN"}=b,j=g.stringifyString({type:i,value:a},{implicitKey:c,indent:d>0?" ".repeat(d):"",inFlow:e,options:{blockQuote:!0,lineWidth:-1}}),k=b.end??[{type:"newline",offset:-1,indent:d,source:"\n"}];switch(j[0]){case"|":case">":{let a=j.indexOf("\n"),b=j.substring(0,a),c=j.substring(a+1)+"\n",e=[{type:"block-scalar-header",offset:f,indent:d,source:b}];return h(e,k)||e.push({type:"newline",offset:-1,indent:d,source:"\n"}),{type:"block-scalar",offset:f,indent:d,props:e,source:c}}case'"':return{type:"double-quoted-scalar",offset:f,indent:d,source:j,end:k};case"'":return{type:"single-quoted-scalar",offset:f,indent:d,source:j,end:k};default:return{type:"scalar",offset:f,indent:d,source:j,end:k}}},c.resolveAsScalar=function(a,b=!0,c){if(a){let g=(a,b,d)=>{let e="number"==typeof a?a:Array.isArray(a)?a[0]:a.offset;if(c)c(e,b,d);else throw new f.YAMLParseError([e,e+1],b,d)};switch(a.type){case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":return e.resolveFlowScalar(a,b,g);case"block-scalar":return d.resolveBlockScalar({options:{strict:b}},a,g)}}return null},c.setScalarValue=function(a,b,c={}){let{afterKey:d=!1,implicitKey:e=!1,inFlow:f=!1,type:j}=c,k="indent"in a?a.indent:null;if(d&&"number"==typeof k&&(k+=2),!j)switch(a.type){case"single-quoted-scalar":j="QUOTE_SINGLE";break;case"double-quoted-scalar":j="QUOTE_DOUBLE";break;case"block-scalar":{let b=a.props[0];if("block-scalar-header"!==b.type)throw Error("Invalid block scalar header");j=">"===b.source[0]?"BLOCK_FOLDED":"BLOCK_LITERAL";break}default:j="PLAIN"}let l=g.stringifyString({type:j,value:b},{implicitKey:e||null===k,indent:null!==k&&k>0?" ".repeat(k):"",inFlow:f,options:{blockQuote:!0,lineWidth:-1}});switch(l[0]){case"|":case">":!function(a,b){let c=b.indexOf("\n"),d=b.substring(0,c),e=b.substring(c+1)+"\n";if("block-scalar"===a.type){let b=a.props[0];if("block-scalar-header"!==b.type)throw Error("Invalid block scalar header");b.source=d,a.source=e}else{let{offset:b}=a,c="indent"in a?a.indent:-1,f=[{type:"block-scalar-header",offset:b,indent:c,source:d}];for(let b of(h(f,"end"in a?a.end:void 0)||f.push({type:"newline",offset:-1,indent:c,source:"\n"}),Object.keys(a)))"type"!==b&&"offset"!==b&&delete a[b];Object.assign(a,{type:"block-scalar",indent:c,props:f,source:e})}}(a,l);break;case'"':i(a,l,"double-quoted-scalar");break;case"'":i(a,l,"single-quoted-scalar");break;default:i(a,l,"scalar")}}},825449,(a,b,c)=>{"use strict";function d(a){switch(a.type){case"block-scalar":{let b="";for(let c of a.props)b+=d(c);return b+a.source}case"block-map":case"block-seq":{let b="";for(let c of a.items)b+=e(c);return b}case"flow-collection":{let b=a.start.source;for(let c of a.items)b+=e(c);for(let c of a.end)b+=c.source;return b}case"document":{let b=e(a);if(a.end)for(let c of a.end)b+=c.source;return b}default:{let b=a.source;if("end"in a&&a.end)for(let c of a.end)b+=c.source;return b}}}function e({start:a,key:b,sep:c,value:f}){let g="";for(let b of a)g+=b.source;if(b&&(g+=d(b)),c)for(let a of c)g+=a.source;return f&&(g+=d(f)),g}c.stringify=a=>"type"in a?d(a):e(a)},402135,(a,b,c)=>{"use strict";let d=Symbol("break visit"),e=Symbol("skip children"),f=Symbol("remove item");function g(a,b){"type"in a&&"document"===a.type&&(a={start:a.start,value:a.value}),function a(b,c,e){let g=e(c,b);if("symbol"==typeof g)return g;for(let h of["key","value"]){let i=c[h];if(i&&"items"in i){for(let c=0;c<i.items.length;++c){let g=a(Object.freeze(b.concat([[h,c]])),i.items[c],e);if("number"==typeof g)c=g-1;else{if(g===d)return d;g===f&&(i.items.splice(c,1),c-=1)}}"function"==typeof g&&"key"===h&&(g=g(c,b))}}return"function"==typeof g?g(c,b):g}(Object.freeze([]),a,b)}g.BREAK=d,g.SKIP=e,g.REMOVE=f,g.itemAtPath=(a,b)=>{let c=a;for(let[a,d]of b){let b=c?.[a];if(!b||!("items"in b))return;c=b.items[d]}return c},g.parentCollection=(a,b)=>{let c=g.itemAtPath(a,b.slice(0,-1)),d=b[b.length-1][0],e=c?.[d];if(e&&"items"in e)return e;throw Error("Parent collection not found")},c.visit=g},2704,(a,b,c)=>{"use strict";var d=a.r(286888),e=a.r(825449),f=a.r(402135);c.createScalarToken=d.createScalarToken,c.resolveAsScalar=d.resolveAsScalar,c.setScalarValue=d.setScalarValue,c.stringify=e.stringify,c.visit=f.visit,c.BOM="\uFEFF",c.DOCUMENT="\x02",c.FLOW_END="\x18",c.SCALAR="\x1f",c.isCollection=a=>!!a&&"items"in a,c.isScalar=a=>!!a&&("scalar"===a.type||"single-quoted-scalar"===a.type||"double-quoted-scalar"===a.type||"block-scalar"===a.type),c.prettyToken=function(a){switch(a){case"\uFEFF":return"<BOM>";case"\x02":return"<DOC>";case"\x18":return"<FLOW_END>";case"\x1f":return"<SCALAR>";default:return JSON.stringify(a)}},c.tokenType=function(a){switch(a){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(a[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}},66326,(a,b,c)=>{"use strict";var d=a.r(2704);function e(a){switch(a){case void 0:case" ":case"\n":case"\r":case" ":return!0;default:return!1}}let f=new Set("0123456789ABCDEFabcdef"),g=new Set("0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-#;/?:@&=+$_.!~*'()"),h=new Set(",[]{}"),i=new Set(" ,[]{}\n\r "),j=a=>!a||i.has(a);c.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(a,b=!1){if(a){if("string"!=typeof a)throw TypeError("source is not a string");this.buffer=this.buffer?this.buffer+a:a,this.lineEndPos=null}this.atEnd=!b;let c=this.next??"stream";for(;c&&(b||this.hasChars(1));)c=yield*this.parseNext(c)}atLineEnd(){let a=this.pos,b=this.buffer[a];for(;" "===b||" "===b;)b=this.buffer[++a];return!b||"#"===b||"\n"===b||"\r"===b&&"\n"===this.buffer[a+1]}charAt(a){return this.buffer[this.pos+a]}continueScalar(a){let b=this.buffer[a];if(this.indentNext>0){let c=0;for(;" "===b;)b=this.buffer[++c+a];if("\r"===b){let b=this.buffer[c+a+1];if("\n"===b||!b&&!this.atEnd)return a+c+1}return"\n"!==b&&!(c>=this.indentNext)&&(b||this.atEnd)?-1:a+c}if("-"===b||"."===b){let b=this.buffer.substr(a,3);if(("---"===b||"..."===b)&&e(this.buffer[a+3]))return -1}return a}getLine(){let a=this.lineEndPos;return(("number"!=typeof a||-1!==a&&a<this.pos)&&(a=this.buffer.indexOf("\n",this.pos),this.lineEndPos=a),-1===a)?this.atEnd?this.buffer.substring(this.pos):null:("\r"===this.buffer[a-1]&&(a-=1),this.buffer.substring(this.pos,a))}hasChars(a){return this.pos+a<=this.buffer.length}setNext(a){return this.buffer=this.buffer.substring(this.pos),this.pos=0,this.lineEndPos=null,this.next=a,null}peek(a){return this.buffer.substr(this.pos,a)}*parseNext(a){switch(a){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 a=this.getLine();if(null===a)return this.setNext("stream");if(a[0]===d.BOM&&(yield*this.pushCount(1),a=a.substring(1)),"%"===a[0]){let b=a.length,c=a.indexOf("#");for(;-1!==c;){let d=a[c-1];if(" "===d||" "===d){b=c-1;break}c=a.indexOf("#",c+1)}for(;;){let c=a[b-1];if(" "===c||" "===c)b-=1;else break}let d=(yield*this.pushCount(b))+(yield*this.pushSpaces(!0));return yield*this.pushCount(a.length-d),this.pushNewline(),"stream"}if(this.atLineEnd()){let b=yield*this.pushSpaces(!0);return yield*this.pushCount(a.length-b),yield*this.pushNewline(),"stream"}return yield d.DOCUMENT,yield*this.parseLineStart()}*parseLineStart(){let a=this.charAt(0);if(!a&&!this.atEnd)return this.setNext("line-start");if("-"===a||"."===a){if(!this.atEnd&&!this.hasChars(4))return this.setNext("line-start");let a=this.peek(3);if(("---"===a||"..."===a)&&e(this.charAt(3)))return yield*this.pushCount(3),this.indentValue=0,this.indentNext=0,"---"===a?"doc":"stream"}return this.indentValue=yield*this.pushSpaces(!1),this.indentNext>this.indentValue&&!e(this.charAt(1))&&(this.indentNext=this.indentValue),yield*this.parseBlockStart()}*parseBlockStart(){let[a,b]=this.peek(2);if(!b&&!this.atEnd)return this.setNext("block-start");if(("-"===a||"?"===a||":"===a)&&e(b)){let a=(yield*this.pushCount(1))+(yield*this.pushSpaces(!0));return this.indentNext=this.indentValue+1,this.indentValue+=a,"block-start"}return"doc"}*parseDocument(){yield*this.pushSpaces(!0);let a=this.getLine();if(null===a)return this.setNext("doc");let b=yield*this.pushIndicators();switch(a[b]){case"#":yield*this.pushCount(a.length-b);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(j),"doc";case'"':case"'":return yield*this.parseQuotedScalar();case"|":case">":return b+=yield*this.parseBlockScalarHeader(),b+=yield*this.pushSpaces(!0),yield*this.pushCount(a.length-b),yield*this.pushNewline(),yield*this.parseBlockScalar();default:return yield*this.parsePlainScalar()}}*parseFlowCollection(){let a,b,c=-1;do(a=yield*this.pushNewline())>0?(b=yield*this.pushSpaces(!1),this.indentValue=c=b):b=0,b+=yield*this.pushSpaces(!0);while(a+b>0)let f=this.getLine();if(null===f)return this.setNext("flow");if((-1!==c&&c<this.indentNext&&"#"!==f[0]||0===c&&(f.startsWith("---")||f.startsWith("..."))&&e(f[3]))&&(c!==this.indentNext-1||1!==this.flowLevel||"]"!==f[0]&&"}"!==f[0]))return this.flowLevel=0,yield d.FLOW_END,yield*this.parseLineStart();let g=0;for(;","===f[g];)g+=yield*this.pushCount(1),g+=yield*this.pushSpaces(!0),this.flowKey=!1;switch(f[g+=yield*this.pushIndicators()]){case void 0:return"flow";case"#":return yield*this.pushCount(f.length-g),"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(j),"flow";case'"':case"'":return this.flowKey=!0,yield*this.parseQuotedScalar();case":":{let a=this.charAt(1);if(this.flowKey||e(a)||","===a)return this.flowKey=!1,yield*this.pushCount(1),yield*this.pushSpaces(!0),"flow"}default:return this.flowKey=!1,yield*this.parsePlainScalar()}}*parseQuotedScalar(){let a=this.charAt(0),b=this.buffer.indexOf(a,this.pos+1);if("'"===a)for(;-1!==b&&"'"===this.buffer[b+1];)b=this.buffer.indexOf("'",b+2);else for(;-1!==b;){let a=0;for(;"\\"===this.buffer[b-1-a];)a+=1;if(a%2==0)break;b=this.buffer.indexOf('"',b+1)}let c=this.buffer.substring(0,b),d=c.indexOf("\n",this.pos);if(-1!==d){for(;-1!==d;){let a=this.continueScalar(d+1);if(-1===a)break;d=c.indexOf("\n",a)}-1!==d&&(b=d-("\r"===c[d-1]?2:1))}if(-1===b){if(!this.atEnd)return this.setNext("quoted-scalar");b=this.buffer.length}return yield*this.pushToIndex(b+1,!1),this.flowLevel?"flow":"doc"}*parseBlockScalarHeader(){this.blockScalarIndent=-1,this.blockScalarKeep=!1;let a=this.pos;for(;;){let b=this.buffer[++a];if("+"===b)this.blockScalarKeep=!0;else if(b>"0"&&b<="9")this.blockScalarIndent=Number(b)-1;else if("-"!==b)break}return yield*this.pushUntil(a=>e(a)||"#"===a)}*parseBlockScalar(){let a,b=this.pos-1,c=0;b:for(let d=this.pos;a=this.buffer[d];++d)switch(a){case" ":c+=1;break;case"\n":b=d,c=0;break;case"\r":{let a=this.buffer[d+1];if(!a&&!this.atEnd)return this.setNext("block-scalar");if("\n"===a)break}default:break b}if(!a&&!this.atEnd)return this.setNext("block-scalar");if(c>=this.indentNext){-1===this.blockScalarIndent?this.indentNext=c:this.indentNext=this.blockScalarIndent+(0===this.indentNext?1:this.indentNext);do{let a=this.continueScalar(b+1);if(-1===a)break;b=this.buffer.indexOf("\n",a)}while(-1!==b)if(-1===b){if(!this.atEnd)return this.setNext("block-scalar");b=this.buffer.length}}let e=b+1;for(a=this.buffer[e];" "===a;)a=this.buffer[++e];if(" "===a){for(;" "===a||" "===a||"\r"===a||"\n"===a;)a=this.buffer[++e];b=e-1}else if(!this.blockScalarKeep)for(;;){let a=b-1,d=this.buffer[a];"\r"===d&&(d=this.buffer[--a]);let e=a;for(;" "===d;)d=this.buffer[--a];if("\n"===d&&a>=this.pos&&a+1+c>e)b=a;else break}return yield d.SCALAR,yield*this.pushToIndex(b+1,!0),yield*this.parseLineStart()}*parsePlainScalar(){let a,b=this.flowLevel>0,c=this.pos-1,f=this.pos-1;for(;a=this.buffer[++f];)if(":"===a){let a=this.buffer[f+1];if(e(a)||b&&h.has(a))break;c=f}else if(e(a)){let d=this.buffer[f+1];if("\r"===a&&("\n"===d?(f+=1,a="\n",d=this.buffer[f+1]):c=f),"#"===d||b&&h.has(d))break;if("\n"===a){let a=this.continueScalar(f+1);if(-1===a)break;f=Math.max(f,a-2)}}else{if(b&&h.has(a))break;c=f}return a||this.atEnd?(yield d.SCALAR,yield*this.pushToIndex(c+1,!0),b?"flow":"doc"):this.setNext("plain-scalar")}*pushCount(a){return a>0?(yield this.buffer.substr(this.pos,a),this.pos+=a,a):0}*pushToIndex(a,b){let c=this.buffer.slice(this.pos,a);return c?(yield c,this.pos+=c.length,c.length):(b&&(yield""),0)}*pushIndicators(){let a=0;for(;;){switch(this.charAt(0)){case"!":a+=yield*this.pushTag(),a+=yield*this.pushSpaces(!0);continue;case"&":a+=yield*this.pushUntil(j),a+=yield*this.pushSpaces(!0);continue;case"-":case"?":case":":{let b=this.flowLevel>0,c=this.charAt(1);if(e(c)||b&&h.has(c)){b?this.flowKey&&(this.flowKey=!1):this.indentNext=this.indentValue+1,a+=yield*this.pushCount(1),a+=yield*this.pushSpaces(!0);continue}}}break}return a}*pushTag(){if("<"===this.charAt(1)){let a=this.pos+2,b=this.buffer[a];for(;!e(b)&&">"!==b;)b=this.buffer[++a];return yield*this.pushToIndex(">"===b?a+1:a,!1)}{let a=this.pos+1,b=this.buffer[a];for(;b;)if(g.has(b))b=this.buffer[++a];else if("%"===b&&f.has(this.buffer[a+1])&&f.has(this.buffer[a+2]))b=this.buffer[a+=3];else break;return yield*this.pushToIndex(a,!1)}}*pushNewline(){let a=this.buffer[this.pos];return"\n"===a?yield*this.pushCount(1):"\r"===a&&"\n"===this.charAt(1)?yield*this.pushCount(2):0}*pushSpaces(a){let b,c=this.pos-1;do b=this.buffer[++c];while(" "===b||a&&" "===b)let d=c-this.pos;return d>0&&(yield this.buffer.substr(this.pos,d),this.pos=c),d}*pushUntil(a){let b=this.pos,c=this.buffer[b];for(;!a(c);)c=this.buffer[++b];return yield*this.pushToIndex(b,!1)}}},746987,(a,b,c)=>{"use strict";c.LineCounter=class{constructor(){this.lineStarts=[],this.addNewLine=a=>this.lineStarts.push(a),this.linePos=a=>{let b=0,c=this.lineStarts.length;for(;b<c;){let d=b+c>>1;this.lineStarts[d]<a?b=d+1:c=d}if(this.lineStarts[b]===a)return{line:b+1,col:1};if(0===b)return{line:0,col:a};let d=this.lineStarts[b-1];return{line:b,col:a-d+1}}}}},309575,(a,b,c)=>{"use strict";var d=a.r(605365),e=a.r(2704),f=a.r(66326);function g(a,b){for(let c=0;c<a.length;++c)if(a[c].type===b)return!0;return!1}function h(a){for(let b=0;b<a.length;++b)switch(a[b].type){case"space":case"comment":case"newline":break;default:return b}return -1}function i(a){switch(a?.type){case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":case"flow-collection":return!0;default:return!1}}function j(a){switch(a.type){case"document":return a.start;case"block-map":{let b=a.items[a.items.length-1];return b.sep??b.start}case"block-seq":return a.items[a.items.length-1].start;default:return[]}}function k(a){if(0===a.length)return[];let b=a.length;b:for(;--b>=0;)switch(a[b].type){case"doc-start":case"explicit-key-ind":case"map-value-ind":case"seq-item-ind":case"newline":break b}for(;a[++b]?.type==="space";);return a.splice(b,a.length)}function l(a,b){if(b.length<1e5)Array.prototype.push.apply(a,b);else for(let c=0;c<b.length;++c)a.push(b[c])}function m(a){if("flow-seq-start"===a.start.type)for(let b of a.items)!b.sep||b.value||g(b.start,"explicit-key-ind")||g(b.sep,"map-value-ind")||(b.key&&(b.value=b.key),delete b.key,i(b.value)?b.value.end?l(b.value.end,b.sep):b.value.end=b.sep:l(b.start,b.sep),delete b.sep)}c.Parser=class{constructor(a){this.atNewLine=!0,this.atScalar=!1,this.indent=0,this.offset=0,this.onKeyLine=!1,this.stack=[],this.source="",this.type="",this.lexer=new f.Lexer,this.onNewLine=a}*parse(a,b=!1){for(let c of(this.onNewLine&&0===this.offset&&this.onNewLine(0),this.lexer.lex(a,b)))yield*this.next(c);b||(yield*this.end())}*next(a){if(this.source=a,d.env.LOG_TOKENS&&console.log("|",e.prettyToken(a)),this.atScalar){this.atScalar=!1,yield*this.step(),this.offset+=a.length;return}let b=e.tokenType(a);if(b)if("scalar"===b)this.atNewLine=!1,this.atScalar=!0,this.type="scalar";else{switch(this.type=b,yield*this.step(),b){case"newline":this.atNewLine=!0,this.indent=0,this.onNewLine&&this.onNewLine(this.offset+a.length);break;case"space":this.atNewLine&&" "===a[0]&&(this.indent+=a.length);break;case"explicit-key-ind":case"map-value-ind":case"seq-item-ind":this.atNewLine&&(this.indent+=a.length);break;case"doc-mode":case"flow-error-end":return;default:this.atNewLine=!1}this.offset+=a.length}else{let b=`Not a YAML token: ${a}`;yield*this.pop({type:"error",offset:this.offset,message:b,source:a}),this.offset+=a.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 a=this.peek(1);if("doc-end"===this.type&&a?.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(!a)return yield*this.stream();switch(a.type){case"document":return yield*this.document(a);case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":return yield*this.scalar(a);case"block-scalar":return yield*this.blockScalar(a);case"block-map":return yield*this.blockMap(a);case"block-seq":return yield*this.blockSequence(a);case"flow-collection":return yield*this.flowCollection(a);case"doc-end":return yield*this.documentEnd(a)}yield*this.pop()}peek(a){return this.stack[this.stack.length-a]}*pop(a){let b=a??this.stack.pop();if(b)if(0===this.stack.length)yield b;else{let a=this.peek(1);switch("block-scalar"===b.type?b.indent="indent"in a?a.indent:0:"flow-collection"===b.type&&"document"===a.type&&(b.indent=0),"flow-collection"===b.type&&m(b),a.type){case"document":a.value=b;break;case"block-scalar":a.props.push(b);break;case"block-map":{let c=a.items[a.items.length-1];if(c.value){a.items.push({start:[],key:b,sep:[]}),this.onKeyLine=!0;return}if(c.sep)c.value=b;else{Object.assign(c,{key:b,sep:[]}),this.onKeyLine=!c.explicitKey;return}break}case"block-seq":{let c=a.items[a.items.length-1];c.value?a.items.push({start:[],value:b}):c.value=b;break}case"flow-collection":{let c=a.items[a.items.length-1];!c||c.value?a.items.push({start:[],key:b,sep:[]}):c.sep?c.value=b:Object.assign(c,{key:b,sep:[]});return}default:yield*this.pop(),yield*this.pop(b)}if(("document"===a.type||"block-map"===a.type||"block-seq"===a.type)&&("block-map"===b.type||"block-seq"===b.type)){let c=b.items[b.items.length-1];c&&!c.sep&&!c.value&&c.start.length>0&&-1===h(c.start)&&(0===b.indent||c.start.every(a=>"comment"!==a.type||a.indent<b.indent))&&("document"===a.type?a.end=c.start:a.items.push({start:c.start}),b.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 a={type:"document",offset:this.offset,start:[]};"doc-start"===this.type&&a.start.push(this.sourceToken),this.stack.push(a);return}}yield{type:"error",offset:this.offset,message:`Unexpected ${this.type} token in YAML stream`,source:this.source}}*document(a){if(a.value)return yield*this.lineEnd(a);switch(this.type){case"doc-start":-1!==h(a.start)?(yield*this.pop(),yield*this.step()):a.start.push(this.sourceToken);return;case"anchor":case"tag":case"space":case"comment":case"newline":a.start.push(this.sourceToken);return}let b=this.startBlockValue(a);b?this.stack.push(b):yield{type:"error",offset:this.offset,message:`Unexpected ${this.type} token in YAML document`,source:this.source}}*scalar(a){if("map-value-ind"===this.type){let b,c=k(j(this.peek(2)));a.end?((b=a.end).push(this.sourceToken),delete a.end):b=[this.sourceToken];let d={type:"block-map",offset:a.offset,indent:a.indent,items:[{start:c,key:a,sep:b}]};this.onKeyLine=!0,this.stack[this.stack.length-1]=d}else yield*this.lineEnd(a)}*blockScalar(a){switch(this.type){case"space":case"comment":case"newline":a.props.push(this.sourceToken);return;case"scalar":if(a.source=this.source,this.atNewLine=!0,this.indent=0,this.onNewLine){let a=this.source.indexOf("\n")+1;for(;0!==a;)this.onNewLine(this.offset+a),a=this.source.indexOf("\n",a)+1}yield*this.pop();break;default:yield*this.pop(),yield*this.step()}}*blockMap(a){let b=a.items[a.items.length-1];switch(this.type){case"newline":if(this.onKeyLine=!1,b.value){let c="end"in b.value?b.value.end:void 0,d=Array.isArray(c)?c[c.length-1]:void 0;d?.type==="comment"?c?.push(this.sourceToken):a.items.push({start:[this.sourceToken]})}else b.sep?b.sep.push(this.sourceToken):b.start.push(this.sourceToken);return;case"space":case"comment":if(b.value)a.items.push({start:[this.sourceToken]});else if(b.sep)b.sep.push(this.sourceToken);else{if(this.atIndentedComment(b.start,a.indent)){let c=a.items[a.items.length-2],d=c?.value?.end;if(Array.isArray(d)){l(d,b.start),d.push(this.sourceToken),a.items.pop();return}}b.start.push(this.sourceToken)}return}if(this.indent>=a.indent){let c=!this.onKeyLine&&this.indent===a.indent,d=c&&(b.sep||b.explicitKey)&&"seq-item-ind"!==this.type,e=[];if(d&&b.sep&&!b.value){let c=[];for(let d=0;d<b.sep.length;++d){let e=b.sep[d];switch(e.type){case"newline":c.push(d);break;case"space":break;case"comment":e.indent>a.indent&&(c.length=0);break;default:c.length=0}}c.length>=2&&(e=b.sep.splice(c[1]))}switch(this.type){case"anchor":case"tag":d||b.value?(e.push(this.sourceToken),a.items.push({start:e}),this.onKeyLine=!0):b.sep?b.sep.push(this.sourceToken):b.start.push(this.sourceToken);return;case"explicit-key-ind":b.sep||b.explicitKey?d||b.value?(e.push(this.sourceToken),a.items.push({start:e,explicitKey:!0})):this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:[this.sourceToken],explicitKey:!0}]}):(b.start.push(this.sourceToken),b.explicitKey=!0),this.onKeyLine=!0;return;case"map-value-ind":if(b.explicitKey)if(b.sep)if(b.value)a.items.push({start:[],key:null,sep:[this.sourceToken]});else if(g(b.sep,"map-value-ind"))this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:e,key:null,sep:[this.sourceToken]}]});else if(i(b.key)&&!g(b.sep,"newline")){let a=k(b.start),c=b.key,d=b.sep;d.push(this.sourceToken),delete b.key,delete b.sep,this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:a,key:c,sep:d}]})}else e.length>0?b.sep=b.sep.concat(e,this.sourceToken):b.sep.push(this.sourceToken);else if(g(b.start,"newline"))Object.assign(b,{key:null,sep:[this.sourceToken]});else{let a=k(b.start);this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:a,key:null,sep:[this.sourceToken]}]})}else b.sep?b.value||d?a.items.push({start:e,key:null,sep:[this.sourceToken]}):g(b.sep,"map-value-ind")?this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:[],key:null,sep:[this.sourceToken]}]}):b.sep.push(this.sourceToken):Object.assign(b,{key:null,sep:[this.sourceToken]});this.onKeyLine=!0;return;case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":{let c=this.flowScalar(this.type);d||b.value?(a.items.push({start:e,key:c,sep:[]}),this.onKeyLine=!0):b.sep?this.stack.push(c):(Object.assign(b,{key:c,sep:[]}),this.onKeyLine=!0);return}default:{let d=this.startBlockValue(a);if(d){if("block-seq"===d.type){if(!b.explicitKey&&b.sep&&!g(b.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 c&&a.items.push({start:e});this.stack.push(d);return}}}}yield*this.pop(),yield*this.step()}*blockSequence(a){let b=a.items[a.items.length-1];switch(this.type){case"newline":if(b.value){let c="end"in b.value?b.value.end:void 0,d=Array.isArray(c)?c[c.length-1]:void 0;d?.type==="comment"?c?.push(this.sourceToken):a.items.push({start:[this.sourceToken]})}else b.start.push(this.sourceToken);return;case"space":case"comment":if(b.value)a.items.push({start:[this.sourceToken]});else{if(this.atIndentedComment(b.start,a.indent)){let c=a.items[a.items.length-2],d=c?.value?.end;if(Array.isArray(d)){l(d,b.start),d.push(this.sourceToken),a.items.pop();return}}b.start.push(this.sourceToken)}return;case"anchor":case"tag":if(b.value||this.indent<=a.indent)break;b.start.push(this.sourceToken);return;case"seq-item-ind":if(this.indent!==a.indent)break;b.value||g(b.start,"seq-item-ind")?a.items.push({start:[this.sourceToken]}):b.start.push(this.sourceToken);return}if(this.indent>a.indent){let b=this.startBlockValue(a);if(b)return void this.stack.push(b)}yield*this.pop(),yield*this.step()}*flowCollection(a){let b=a.items[a.items.length-1];if("flow-error-end"===this.type){let a;do yield*this.pop(),a=this.peek(1);while(a?.type==="flow-collection")}else if(0===a.end.length){switch(this.type){case"comma":case"explicit-key-ind":!b||b.sep?a.items.push({start:[this.sourceToken]}):b.start.push(this.sourceToken);return;case"map-value-ind":!b||b.value?a.items.push({start:[],key:null,sep:[this.sourceToken]}):b.sep?b.sep.push(this.sourceToken):Object.assign(b,{key:null,sep:[this.sourceToken]});return;case"space":case"comment":case"newline":case"anchor":case"tag":!b||b.value?a.items.push({start:[this.sourceToken]}):b.sep?b.sep.push(this.sourceToken):b.start.push(this.sourceToken);return;case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":{let c=this.flowScalar(this.type);!b||b.value?a.items.push({start:[],key:c,sep:[]}):b.sep?this.stack.push(c):Object.assign(b,{key:c,sep:[]});return}case"flow-map-end":case"flow-seq-end":a.end.push(this.sourceToken);return}let c=this.startBlockValue(a);c?this.stack.push(c):(yield*this.pop(),yield*this.step())}else{let b=this.peek(2);if("block-map"!==b.type||("map-value-ind"!==this.type||b.indent!==a.indent)&&("newline"!==this.type||b.items[b.items.length-1].sep))if("map-value-ind"===this.type&&"flow-collection"!==b.type){let c=k(j(b));m(a);let d=a.end.splice(1,a.end.length);d.push(this.sourceToken);let e={type:"block-map",offset:a.offset,indent:a.indent,items:[{start:c,key:a,sep:d}]};this.onKeyLine=!0,this.stack[this.stack.length-1]=e}else yield*this.lineEnd(a);else yield*this.pop(),yield*this.step()}}flowScalar(a){if(this.onNewLine){let a=this.source.indexOf("\n")+1;for(;0!==a;)this.onNewLine(this.offset+a),a=this.source.indexOf("\n",a)+1}return{type:a,offset:this.offset,indent:this.indent,source:this.source}}startBlockValue(a){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 b=k(j(a));return b.push(this.sourceToken),{type:"block-map",offset:this.offset,indent:this.indent,items:[{start:b,explicitKey:!0}]}}case"map-value-ind":{this.onKeyLine=!0;let b=k(j(a));return{type:"block-map",offset:this.offset,indent:this.indent,items:[{start:b,key:null,sep:[this.sourceToken]}]}}}return null}atIndentedComment(a,b){return"comment"===this.type&&!(this.indent<=b)&&a.every(a=>"newline"===a.type||"space"===a.type)}*documentEnd(a){"doc-mode"!==this.type&&(a.end?a.end.push(this.sourceToken):a.end=[this.sourceToken],"newline"===this.type&&(yield*this.pop()))}*lineEnd(a){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:a.end?a.end.push(this.sourceToken):a.end=[this.sourceToken],"newline"===this.type&&(yield*this.pop())}}}},5013,(a,b,c)=>{"use strict";var d=a.r(719662),e=a.r(885774),f=a.r(725717),g=a.r(918114),h=a.r(927267),i=a.r(746987),j=a.r(309575);function k(a){let b=!1!==a.prettyErrors;return{lineCounter:a.lineCounter||b&&new i.LineCounter||null,prettyErrors:b}}function l(a,b={}){let{lineCounter:c,prettyErrors:e}=k(b),g=new j.Parser(c?.addNewLine),h=new d.Composer(b),i=null;for(let b of h.compose(g.parse(a),!0,a.length))if(i){if("silent"!==i.options.logLevel){i.errors.push(new f.YAMLParseError(b.range.slice(0,2),"MULTIPLE_DOCS","Source contains multiple documents; please use YAML.parseAllDocuments()"));break}}else i=b;return e&&c&&(i.errors.forEach(f.prettifyError(a,c)),i.warnings.forEach(f.prettifyError(a,c))),i}c.parse=function(a,b,c){let d;"function"==typeof b?d=b:void 0===c&&b&&"object"==typeof b&&(c=b);let e=l(a,c);if(!e)return null;if(e.warnings.forEach(a=>g.warn(e.options.logLevel,a)),e.errors.length>0)if("silent"!==e.options.logLevel)throw e.errors[0];else e.errors=[];return e.toJS(Object.assign({reviver:d},c))},c.parseAllDocuments=function(a,b={}){let{lineCounter:c,prettyErrors:e}=k(b),g=new j.Parser(c?.addNewLine),h=new d.Composer(b),i=Array.from(h.compose(g.parse(a)));if(e&&c)for(let b of i)b.errors.forEach(f.prettifyError(a,c)),b.warnings.forEach(f.prettifyError(a,c));return i.length>0?i:Object.assign([],{empty:!0},h.streamInfo())},c.parseDocument=l,c.stringify=function(a,b,c){let d=null;if("function"==typeof b||Array.isArray(b)?d=b:void 0===c&&b&&(c=b),"string"==typeof c&&(c=c.length),"number"==typeof c){let a=Math.round(c);c=a<1?void 0:a>8?{indent:8}:{indent:a}}if(void 0===a){let{keepUndefined:a}=c??b??{};if(!a)return}return h.isDocument(a)&&!d?a.toString(c):new e.Document(a,d,c).toString(c)}},622650,(a,b,c)=>{"use strict";var d=a.r(719662),e=a.r(885774),f=a.r(798027),g=a.r(725717),h=a.r(421562),i=a.r(927267),j=a.r(417602),k=a.r(427853),l=a.r(147544),m=a.r(907621),n=a.r(2704),o=a.r(66326),p=a.r(746987),q=a.r(309575),r=a.r(5013),s=a.r(685927);c.Composer=d.Composer,c.Document=e.Document,c.Schema=f.Schema,c.YAMLError=g.YAMLError,c.YAMLParseError=g.YAMLParseError,c.YAMLWarning=g.YAMLWarning,c.Alias=h.Alias,c.isAlias=i.isAlias,c.isCollection=i.isCollection,c.isDocument=i.isDocument,c.isMap=i.isMap,c.isNode=i.isNode,c.isPair=i.isPair,c.isScalar=i.isScalar,c.isSeq=i.isSeq,c.Pair=j.Pair,c.Scalar=k.Scalar,c.YAMLMap=l.YAMLMap,c.YAMLSeq=m.YAMLSeq,c.CST=n,c.Lexer=o.Lexer,c.LineCounter=p.LineCounter,c.Parser=q.Parser,c.parse=r.parse,c.parseAllDocuments=r.parseAllDocuments,c.parseDocument=r.parseDocument,c.stringify=r.stringify,c.visit=s.visit,c.visitAsync=s.visitAsync}];
|
|
242
229
|
|
|
243
|
-
//# sourceMappingURL=
|
|
230
|
+
//# sourceMappingURL=_02oc_h5._.js.map
|