thursday-agent 0.23.0 → 0.24.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.next/BUILD_ID +1 -1
- package/.next/build-manifest.json +3 -3
- package/.next/prerender-manifest.json +3 -3
- 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 +2 -2
- package/.next/server/app/_not-found.segments/_full.segment.rsc +2 -2
- package/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +2 -2
- package/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/api/artifact/route.js.nft.json +1 -1
- package/.next/server/app/api/bot/memory/files/route.js.nft.json +1 -1
- package/.next/server/app/api/bot/memory/route.js.nft.json +1 -1
- package/.next/server/app/api/bot/route.js.nft.json +1 -1
- package/.next/server/app/api/bot/thread/[id]/route.js.nft.json +1 -1
- package/.next/server/app/api/bot/thread/file/route.js +2 -2
- package/.next/server/app/api/bot/thread/file/route.js.nft.json +1 -1
- package/.next/server/app/api/bot/thread/route.js.nft.json +1 -1
- package/.next/server/app/api/config/route.js.nft.json +1 -1
- package/.next/server/app/api/file/[...path]/route.js.nft.json +1 -1
- package/.next/server/app/api/llm-model/automatic/route.js +2 -2
- package/.next/server/app/api/llm-model/automatic/route.js.nft.json +1 -1
- package/.next/server/app/api/llm-model/catalog/[provider]/route.js +2 -2
- package/.next/server/app/api/llm-model/catalog/[provider]/route.js.nft.json +1 -1
- package/.next/server/app/api/llm-model/credits/[provider]/route.js +2 -2
- package/.next/server/app/api/llm-model/credits/[provider]/route.js.nft.json +1 -1
- package/.next/server/app/api/llm-model/route.js +2 -2
- package/.next/server/app/api/llm-model/route.js.nft.json +1 -1
- package/.next/server/app/api/llm-model/subscription/route.js +2 -2
- package/.next/server/app/api/llm-model/subscription/route.js.nft.json +1 -1
- package/.next/server/app/api/mcp/[name]/route.js.nft.json +1 -1
- package/.next/server/app/api/mcp/oauth/callback/route.js +3 -3
- package/.next/server/app/api/mcp/oauth/callback/route.js.nft.json +1 -1
- package/.next/server/app/api/mcp/route.js.nft.json +1 -1
- package/.next/server/app/api/mcp/tools/route.js.nft.json +1 -1
- package/.next/server/app/api/memory/edit/route.js +2 -2
- package/.next/server/app/api/memory/edit/route.js.nft.json +1 -1
- package/.next/server/app/api/reach/route.js +2 -2
- package/.next/server/app/api/reach/route.js.nft.json +1 -1
- package/.next/server/app/api/routine/route.js.nft.json +1 -1
- package/.next/server/app/api/signins/route.js.nft.json +1 -1
- package/.next/server/app/api/skills/[source]/[name]/route.js.nft.json +1 -1
- package/.next/server/app/api/skills/route.js.nft.json +1 -1
- package/.next/server/app/api/thursday/call/end/route.js.nft.json +1 -1
- package/.next/server/app/api/thursday/call/plan/route.js +3 -3
- package/.next/server/app/api/thursday/call/plan/route.js.nft.json +1 -1
- package/.next/server/app/api/thursday/call/route.js.nft.json +1 -1
- package/.next/server/app/api/thursday/settings/route.js.nft.json +1 -1
- package/.next/server/app/api/thursday/text/route.js +2 -2
- package/.next/server/app/api/thursday/text/route.js.nft.json +1 -1
- package/.next/server/app/api/thursday/tool-call/route.js +3 -3
- package/.next/server/app/api/thursday/tool-call/route.js.nft.json +1 -1
- package/.next/server/app/api/workspace/files/route.js.nft.json +1 -1
- package/.next/server/app/api/workspace/route.js.nft.json +1 -1
- package/.next/server/app/artifact/[...path]/page/server-reference-manifest.json +11 -11
- package/.next/server/app/artifact/[...path]/page.js +2 -2
- 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/page/react-loadable-manifest.json +1 -1
- package/.next/server/app/page/server-reference-manifest.json +63 -63
- package/.next/server/app/page.js +2 -2
- package/.next/server/app/page.js.nft.json +1 -1
- package/.next/server/app/page_client-reference-manifest.js +1 -1
- package/.next/server/chunks/[root-of-the-server]__0582p46._.js +1 -1
- package/.next/server/chunks/{[root-of-the-server]__0d00o4_._.js → [root-of-the-server]__06_ck92._.js} +1 -1
- package/.next/server/chunks/[root-of-the-server]__06kxzw-._.js +1 -1
- package/.next/server/chunks/[root-of-the-server]__0d-dfqm._.js +1 -1
- package/.next/server/chunks/{[root-of-the-server]__1mowvzz._.js → [root-of-the-server]__0f8quhc._.js} +1 -1
- package/.next/server/chunks/[root-of-the-server]__0lg1fok._.js +1 -1
- package/.next/server/chunks/[root-of-the-server]__0mh1tgg._.js +1 -1
- package/.next/server/chunks/{[root-of-the-server]__0eem_66._.js → [root-of-the-server]__0tsqr_i._.js} +1 -1
- package/.next/server/chunks/{[root-of-the-server]__1yiqjfx._.js → [root-of-the-server]__0z8s0g8._.js} +1 -1
- package/.next/server/chunks/[root-of-the-server]__11e22s7._.js +1 -1
- package/.next/server/chunks/[root-of-the-server]__1478lu3._.js +1 -1
- package/.next/server/chunks/[root-of-the-server]__17kdjf6._.js +1 -1
- package/.next/server/chunks/[root-of-the-server]__17m7ag9._.js +1 -1
- package/.next/server/chunks/[root-of-the-server]__181zc_o._.js +1 -1
- package/.next/server/chunks/{[root-of-the-server]__1ivfglf._.js → [root-of-the-server]__1mwe6in._.js} +1 -1
- package/.next/server/chunks/{[root-of-the-server]__1r_d-gv._.js → [root-of-the-server]__1nzt9ia._.js} +1 -1
- package/.next/server/chunks/[root-of-the-server]__1v5jpk9._.js +1 -1
- package/.next/server/chunks/{[root-of-the-server]__0pp2355._.js → [root-of-the-server]__1vz_k4p._.js} +1 -1
- package/.next/server/chunks/_008vczq._.js +1 -1
- package/.next/server/chunks/_00aztuo._.js +1 -1
- package/.next/server/chunks/_021kabv._.js +20 -20
- package/.next/server/chunks/_05gl-xy._.js +48 -40
- package/.next/server/chunks/_07mczew._.js +1 -1
- package/.next/server/chunks/_0la8s6t._.js +1 -1
- package/.next/server/chunks/_0rn3c_0._.js +31 -31
- package/.next/server/chunks/_0wkhub3._.js +1 -1
- package/.next/server/chunks/{_0q2y48v._.js → _0z9l1-a._.js} +1 -1
- package/.next/server/chunks/_0zwjr-g._.js +1 -1
- package/.next/server/chunks/_12-7atf._.js +1 -1
- package/.next/server/chunks/_124q1p2._.js +1 -1
- package/.next/server/chunks/_13qoxq9._.js +31 -31
- package/.next/server/chunks/_15-_mie._.js +1 -1
- package/.next/server/chunks/_18sj4xf._.js +1 -1
- package/.next/server/chunks/_19kea1l._.js +46 -38
- package/.next/server/chunks/{_0-934yz._.js → _1ao-3d8._.js} +1 -1
- package/.next/server/chunks/{_0a09g1e._.js → _1cc2hkg._.js} +1 -1
- package/.next/server/chunks/_1chy-lk._.js +1 -1
- package/.next/server/chunks/_1cok9lj._.js +76 -0
- package/.next/server/chunks/_1d5zmy8._.js +1 -1
- package/.next/server/chunks/{_0ocmvv0._.js → _1h7ll0h._.js} +1 -1
- package/.next/server/chunks/_1hw1ujv._.js +20 -20
- package/.next/server/chunks/_1lg0lsu._.js +24 -24
- package/.next/server/chunks/_1mzdpal._.js +76 -0
- package/.next/server/chunks/_1q42187._.js +2 -2
- package/.next/server/chunks/_1u2plme._.js +3 -0
- package/.next/server/chunks/_1ufbxe1._.js +1 -1
- package/.next/server/chunks/_1unludv._.js +1 -1
- package/.next/server/chunks/_1v4id5q._.js +20 -20
- package/.next/server/chunks/_1v5qol2._.js +20 -20
- package/.next/server/chunks/_1wg0cqo._.js +1 -1
- package/.next/server/chunks/_1x2xiyw._.js +1 -1
- package/.next/server/chunks/_1znrlca._.js +1 -1
- package/.next/server/chunks/node_modules_09fdt86._.js +26 -0
- package/.next/server/chunks/node_modules_0u_q4-b._.js +26 -0
- package/.next/server/chunks/node_modules_1oo0z5r._.js +26 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__09u-n6y._.js +112 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__0glkz9k._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__0rpmgnt._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__0tgkj13._.js +3 -0
- package/.next/server/chunks/ssr/{[root-of-the-server]__203utm3._.js → [root-of-the-server]__0wrprhy._.js} +1 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__17yeveo._.js +1 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__1867koj._.js +1 -1
- package/.next/server/chunks/ssr/{[root-of-the-server]__0zt_au4._.js → [root-of-the-server]__1ft98nl._.js} +2 -2
- package/.next/server/chunks/ssr/[root-of-the-server]__1gv2nbd._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__1kos36s._.js +6 -0
- package/.next/server/chunks/ssr/{[root-of-the-server]__0y03pu0._.js → [root-of-the-server]__1n2hycp._.js} +1 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__20floom._.js +2 -2
- package/.next/server/chunks/ssr/{_0eprrig._.js → _0-y517w._.js} +2 -2
- package/.next/server/chunks/ssr/{_03vw3u5._.js → _02sda-9._.js} +2 -2
- package/.next/server/chunks/ssr/_03n27qx._.js +85 -0
- package/.next/server/chunks/ssr/_04jb10a._.js +3 -0
- package/.next/server/chunks/ssr/_09a6bpd._.js +1 -1
- package/.next/server/chunks/ssr/_0akma_h._.js +3 -0
- package/.next/server/chunks/ssr/_0cd6g3l._.js +44 -36
- package/.next/server/chunks/ssr/_0fx7w0u._.js +3 -0
- package/.next/server/chunks/ssr/_0gfa_rb._.js +3 -0
- package/.next/server/chunks/ssr/_0ghdb00._.js +3 -0
- package/.next/server/chunks/ssr/_0ingto_._.js +3 -0
- package/.next/server/chunks/ssr/_0jgsxrg._.js +6 -0
- package/.next/server/chunks/ssr/{_0a_pedm._.js → _0ktd2qg._.js} +2 -2
- package/.next/server/chunks/ssr/{_0bt2e10._.js → _0kvhn--._.js} +2 -2
- package/.next/server/chunks/ssr/_0poypri._.js +3 -0
- package/.next/server/chunks/ssr/_0tg3o37._.js +1 -1
- package/.next/server/chunks/ssr/_0y0ubpl._.js +85 -0
- package/.next/server/chunks/ssr/_11l9kc0._.js +1 -1
- package/.next/server/chunks/ssr/_12-hlgn._.js +3 -0
- package/.next/server/chunks/ssr/_12_ail7._.js +1 -1
- package/.next/server/chunks/ssr/_12n2oxe._.js +3 -0
- package/.next/server/chunks/ssr/_16_7zeo._.js +1 -1
- package/.next/server/chunks/ssr/_1a_w_du._.js +3 -0
- package/.next/server/chunks/ssr/_1bfrntd._.js +2 -2
- package/.next/server/chunks/ssr/_1e_9qjr._.js +3 -0
- package/.next/server/chunks/ssr/{_0kmldic._.js → _1gqjgsr._.js} +2 -2
- package/.next/server/chunks/ssr/_1kyjimg._.js +162 -0
- package/.next/server/chunks/ssr/_1l-3enz._.js +5 -5
- package/.next/server/chunks/ssr/_1neoj22._.js +1 -1
- package/.next/server/chunks/ssr/{_0x9f717._.js → _1odlery._.js} +2 -2
- package/.next/server/chunks/ssr/_1soynbw._.js +2 -2
- package/.next/server/chunks/ssr/components_ui_markdown-body_tsx_0eaiq36._.js +3 -0
- package/.next/server/chunks/ssr/features_ai_components_model-picker_tsx_0ucb1y9._.js +1 -1
- package/.next/server/chunks/ssr/features_bot_components_01ye2wp._.js +3 -0
- package/.next/server/chunks/ssr/features_bot_components_bot-setting_tsx_01ajft6._.js +4 -0
- package/.next/server/chunks/ssr/features_bot_components_thread-setting_tsx_0yae7zy._.js +3 -0
- package/.next/server/chunks/ssr/features_config_components_config-setting_tsx_0xfwqdg._.js +20 -0
- package/.next/server/chunks/ssr/features_connectors_components_mcp-setting_tsx_0jmbgvp._.js +1 -1
- package/.next/server/chunks/ssr/features_memory_components_memory-setting_tsx_0oa43sw._.js +1 -1
- package/.next/server/chunks/ssr/features_routine_components_routine-setting_tsx_055fknz._.js +1 -1
- package/.next/server/chunks/ssr/features_skills_components_skills-setting_tsx_1wtuuip._.js +3 -0
- package/.next/server/chunks/ssr/features_thursday_0tni574._.js +3 -0
- package/.next/server/chunks/ssr/features_thursday_components_thursday-setting_tsx_1_6ydrc._.js +3 -0
- package/.next/server/chunks/ssr/lib_date-like_ts_02is0pw._.js +3 -0
- package/.next/server/chunks/ssr/node_modules_017gqu8._.js +3 -0
- package/.next/server/chunks/ssr/node_modules_01alue6._.js +3 -0
- package/.next/server/chunks/ssr/node_modules_01htpr-._.js +17 -0
- package/.next/server/chunks/ssr/node_modules_01pxb8b._.js +26 -0
- package/.next/server/chunks/ssr/node_modules_01tm_tp._.js +3 -0
- package/.next/server/chunks/ssr/node_modules_02n9-pb._.js +3 -0
- package/.next/server/chunks/ssr/node_modules_02pi0yq._.js +17 -0
- package/.next/server/chunks/ssr/node_modules_03-o46i._.js +3 -0
- package/.next/server/chunks/ssr/{node_modules_@mermaid-js_parser_dist_chunks_mermaid-parser_core_0ir6p7s._.js → node_modules_04aag9b._.js} +2 -2
- package/.next/server/chunks/ssr/node_modules_04si41m._.js +3 -0
- package/.next/server/chunks/ssr/{node_modules_d3-scale_src_1tr1qwb._.js → node_modules_05-8wqp._.js} +2 -2
- package/.next/server/chunks/ssr/node_modules_063ofsn._.js +64 -0
- package/.next/server/chunks/ssr/node_modules_0794bsw._.js +20 -20
- package/.next/server/chunks/ssr/node_modules_09zjj0q._.js +3 -0
- package/.next/server/chunks/ssr/node_modules_0_aoyhl._.js +24 -0
- package/.next/server/chunks/ssr/node_modules_0_nsswh._.js +3 -0
- package/.next/server/chunks/ssr/node_modules_0_ps6bu._.js +3 -0
- package/.next/server/chunks/ssr/{node_modules_0y_k4h5._.js → node_modules_0bxpl07._.js} +2 -2
- package/.next/server/chunks/ssr/node_modules_0bz_arm._.js +3 -0
- package/.next/server/chunks/ssr/node_modules_0dxcji9._.js +3 -0
- package/.next/server/chunks/ssr/node_modules_0f5_pdq._.js +40 -0
- package/.next/server/chunks/ssr/node_modules_0fibdri._.js +3 -0
- package/.next/server/chunks/ssr/node_modules_0gtb11b._.js +3 -0
- package/.next/server/chunks/ssr/node_modules_0hlr1-8._.js +24 -0
- package/.next/server/chunks/ssr/{node_modules_111pp7w._.js → node_modules_0klo3i5._.js} +2 -2
- package/.next/server/chunks/ssr/{node_modules_0xht9wg._.js → node_modules_0koo_87._.js} +2 -2
- package/.next/server/chunks/ssr/node_modules_0kyd5t1._.js +3 -0
- package/.next/server/chunks/ssr/node_modules_0kzqz7r._.js +3 -0
- package/.next/server/chunks/ssr/node_modules_0lf6itx._.js +3 -0
- package/.next/server/chunks/ssr/node_modules_0pejed0._.js +3 -0
- package/.next/server/chunks/ssr/node_modules_0pf0mdn._.js +43 -0
- package/.next/server/chunks/ssr/node_modules_0q3wqo6._.js +3 -0
- package/.next/server/chunks/ssr/node_modules_0qw862r._.js +3 -0
- package/.next/server/chunks/ssr/node_modules_0rr5bhc._.js +3 -0
- package/.next/server/chunks/ssr/node_modules_0u1te_7._.js +3 -0
- package/.next/server/chunks/ssr/node_modules_0udp97e._.js +3 -0
- package/.next/server/chunks/ssr/node_modules_0v47nij._.js +43 -0
- package/.next/server/chunks/ssr/node_modules_0x7tjjt._.js +17 -0
- package/.next/server/chunks/ssr/node_modules_0xhtcgd._.js +3 -0
- package/.next/server/chunks/ssr/{node_modules_0ayoorn._.js → node_modules_0xon57z._.js} +2 -2
- package/.next/server/chunks/ssr/node_modules_0z1zutp._.js +17 -0
- package/.next/server/chunks/ssr/node_modules_0z7xnqk._.js +17 -0
- package/.next/server/chunks/ssr/node_modules_11bryw1._.js +3 -0
- package/.next/server/chunks/ssr/{node_modules_00mh9o-._.js → node_modules_13eo1xw._.js} +2 -2
- package/.next/server/chunks/ssr/node_modules_13udj58._.js +3 -0
- package/.next/server/chunks/ssr/node_modules_15vxln6._.js +17 -0
- package/.next/server/chunks/ssr/node_modules_15yal8y._.js +17 -0
- package/.next/server/chunks/ssr/{node_modules_@mermaid-js_parser_dist_chunks_mermaid-parser_core_1ejf5ye._.js → node_modules_17q6-cb._.js} +2 -2
- package/.next/server/chunks/ssr/node_modules_17sis9w._.js +17 -0
- package/.next/server/chunks/ssr/node_modules_19v9p62._.js +17 -0
- package/.next/server/chunks/ssr/node_modules_19xlry2._.js +3 -0
- package/.next/server/chunks/ssr/node_modules_1afgbir._.js +17 -0
- package/.next/server/chunks/ssr/node_modules_1asq18n._.js +29 -0
- package/.next/server/chunks/ssr/node_modules_1bo15xl._.js +3 -0
- package/.next/server/chunks/ssr/node_modules_1crkt86._.js +3 -0
- package/.next/server/chunks/ssr/{node_modules_04f_uw2._.js → node_modules_1fpm85j._.js} +2 -2
- package/.next/server/chunks/ssr/node_modules_1gkjtk-._.js +3 -0
- package/.next/server/chunks/ssr/node_modules_1hj50tu._.js +3 -0
- package/.next/server/chunks/ssr/node_modules_1hv0kyf._.js +3 -0
- package/.next/server/chunks/ssr/node_modules_1i5fr0j._.js +3 -0
- package/.next/server/chunks/ssr/node_modules_1k3cymo._.js +3 -0
- package/.next/server/chunks/ssr/node_modules_1ki78ma._.js +3 -0
- package/.next/server/chunks/ssr/{node_modules_07udd3z._.js → node_modules_1lrg_ju._.js} +2 -2
- package/.next/server/chunks/ssr/node_modules_1lt565w._.js +3 -0
- package/.next/server/chunks/ssr/node_modules_1oxvn1l._.js +3 -0
- package/.next/server/chunks/ssr/node_modules_1qgcqvi._.js +3 -0
- package/.next/server/chunks/ssr/node_modules_1r_497y._.js +3 -0
- package/.next/server/chunks/ssr/node_modules_1thrjjl._.js +3 -0
- package/.next/server/chunks/ssr/node_modules_1tsuh_o._.js +17 -0
- package/.next/server/chunks/ssr/node_modules_1vhpjvn._.js +3 -0
- package/.next/server/chunks/ssr/{node_modules_1b5rxw5._.js → node_modules_1xpa_a4._.js} +2 -2
- package/.next/server/chunks/ssr/node_modules_1xtyj97._.js +26 -0
- package/.next/server/chunks/ssr/{node_modules_@mermaid-js_parser_dist_0dlpxwr._.js → node_modules_@mermaid-js_parser_dist_066fcep._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_@mermaid-js_parser_dist_0eji647._.js → node_modules_@mermaid-js_parser_dist_0_301m2._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_@mermaid-js_parser_dist_0lct0v1._.js → node_modules_@mermaid-js_parser_dist_0it10w8._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_@mermaid-js_parser_dist_13hksv_._.js → node_modules_@mermaid-js_parser_dist_0m-ahsg._.js} +1 -1
- package/.next/server/chunks/ssr/node_modules_@mermaid-js_parser_dist_0n8rqkj._.js +3 -0
- package/.next/server/chunks/ssr/node_modules_@mermaid-js_parser_dist_0nb4v-i._.js +3 -0
- package/.next/server/chunks/ssr/node_modules_@mermaid-js_parser_dist_0tdjo9s._.js +3 -0
- package/.next/server/chunks/ssr/node_modules_@mermaid-js_parser_dist_12betp4._.js +3 -0
- package/.next/server/chunks/ssr/node_modules_@mermaid-js_parser_dist_1mu01rb._.js +3 -0
- package/.next/server/chunks/ssr/node_modules_@mermaid-js_parser_dist_1xda76v._.js +3 -0
- package/.next/server/chunks/ssr/node_modules_@mermaid-js_parser_dist_1z2f7i3._.js +3 -0
- package/.next/server/chunks/ssr/node_modules_katex_dist_katex_mjs_0gtpcr6._.js +3 -0
- package/.next/server/chunks/ssr/node_modules_katex_dist_katex_mjs_0o4db0q._.js +3 -0
- package/.next/server/chunks/ssr/node_modules_mermaid_dist_chunks_mermaid_core_0e5n4p5._.js +3 -0
- package/.next/server/chunks/ssr/node_modules_mermaid_dist_chunks_mermaid_core_chunk-Y2CYZVJY_mjs_20i4m4_._.js +3 -0
- package/.next/server/chunks/ssr/node_modules_streamdown_dist_0lptw6m._.js +3 -0
- package/.next/server/chunks/ssr/node_modules_streamdown_dist_1-e49om._.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 +64 -64
- package/.next/static/chunks/{1ettmta9iet7b.js → 03_uoxripq3nc.js} +1 -1
- package/.next/static/chunks/{396enq-m0sss5.js → 0776-hu4_eek7.js} +2 -2
- package/.next/static/chunks/0akv-2v88qow0.js +1 -0
- package/.next/static/chunks/{1oh4hbusfz97l.js → 0rq_fqeaz_bvd.js} +1 -1
- package/.next/static/chunks/0zardk7icrprd.js +4 -0
- package/.next/static/chunks/17rnkwd0nvzhn.js +1 -0
- package/.next/static/chunks/{0fklfoj8o_msg.js → 1cmwusx1ey_yw.js} +1 -1
- package/.next/static/chunks/{1j4rndg17wgfk.js → 1grvc88py7u6u.js} +1 -1
- package/.next/static/chunks/1ob3lsnuwfj-n.js +70 -0
- package/.next/static/chunks/{411uyd0is9u5s.js → 1qmqv6cr2nr5g.js} +1 -1
- package/.next/static/chunks/1yrz0aw09rjij.js +1 -0
- package/.next/static/chunks/1z2_9pl3nezly.js +3 -0
- package/.next/static/chunks/{1mpz4epyg-7pz.js → 2-zwoj9evpp_d.js} +2 -2
- package/.next/static/chunks/{11c3uijgqik4m.js → 20w8bgikzj9nl.js} +1 -1
- package/.next/static/chunks/{2sxclirl-c-um.js → 2abjsec0elgbx.js} +1 -1
- package/.next/static/chunks/{3_deesw_pbmkd.js → 2fxn-xltgy2un.js} +1 -1
- package/.next/static/chunks/2hq0xxr8bwwjx.js +1 -0
- package/.next/static/chunks/2jf2ckv1t70es.js +1 -0
- package/.next/static/chunks/2k8ou_gpe91k1.js +1 -0
- package/.next/static/chunks/{2zhiqxw61qowv.js → 2vk1rx8_abchj.js} +1 -1
- package/.next/static/chunks/{22jb4s3-8ckup.js → 2vz587tsy9sw-.js} +1 -1
- package/.next/static/chunks/33qtnlc00c9gq.js +1 -0
- package/.next/static/chunks/34ih-rod1rypo.js +1 -0
- package/.next/static/chunks/{3uf32hp_g9stz.js → 399la1vg4mefu.js} +1 -1
- package/.next/static/chunks/3b8uta6_6no_3.css +1 -0
- package/.next/static/chunks/3eeapb56_2bu2.js +2 -0
- package/.next/static/chunks/{081kl7k8r6f8z.js → 3h29tl1whfjs2.js} +1 -1
- package/.next/static/chunks/3l4m3_ojnhbav.js +1 -0
- package/.next/static/chunks/3pia1ryvrhyfr.js +1 -0
- package/.next/static/chunks/3qzf68zb5zlh8.js +1 -0
- package/.next/static/chunks/{3ph9u-51x6jhe.js → 3w6r10nihrl3l.js} +5 -5
- package/.next/static/chunks/3xloayc4c096r.js +1 -0
- package/README.md +10 -1
- package/guide/bots.md +35 -26
- package/node_modules/@types/ws/README.md +1 -1
- package/node_modules/@types/ws/index.d.mts +4 -0
- package/node_modules/@types/ws/index.d.ts +4 -0
- package/node_modules/@types/ws/package.json +3 -3
- package/package.json +2 -2
- package/.next/server/chunks/_1fn6cvh._.js +0 -3
- package/.next/server/chunks/_1jtvbp9._.js +0 -76
- package/.next/server/chunks/node_modules_@ai-sdk_1o5ydf6._.js +0 -26
- package/.next/server/chunks/ssr/[root-of-the-server]__0jjj49d._.js +0 -3
- package/.next/server/chunks/ssr/[root-of-the-server]__1qn0axo._.js +0 -6
- package/.next/server/chunks/ssr/[root-of-the-server]__1u42eh0._.js +0 -3
- package/.next/server/chunks/ssr/_0-s7ria._.js +0 -3
- package/.next/server/chunks/ssr/_088qe9a._.js +0 -162
- package/.next/server/chunks/ssr/_0ali_i8._.js +0 -3
- package/.next/server/chunks/ssr/_0flnog5._.js +0 -3
- package/.next/server/chunks/ssr/_0iuvjnw._.js +0 -3
- package/.next/server/chunks/ssr/_0k-gl8l._.js +0 -3
- package/.next/server/chunks/ssr/_0ks03l-._.js +0 -3
- package/.next/server/chunks/ssr/_0mng-y8._.js +0 -6
- package/.next/server/chunks/ssr/_0ugzm_0._.js +0 -3
- package/.next/server/chunks/ssr/_0wnv6c0._.js +0 -3
- package/.next/server/chunks/ssr/_0z9zkd-._.js +0 -3
- package/.next/server/chunks/ssr/_123y-ah._.js +0 -3
- package/.next/server/chunks/ssr/_14j205q._.js +0 -85
- package/.next/server/chunks/ssr/_16wjbs2._.js +0 -3
- package/.next/server/chunks/ssr/_18rmqqu._.js +0 -3
- package/.next/server/chunks/ssr/_1ckje8g._.js +0 -3
- package/.next/server/chunks/ssr/_1h3qetc._.js +0 -3
- package/.next/server/chunks/ssr/_1kpvfmn._.js +0 -4
- package/.next/server/chunks/ssr/_1pkw8wf._.js +0 -85
- package/.next/server/chunks/ssr/_1xwtbdz._.js +0 -3
- package/.next/server/chunks/ssr/features_bot_0-7flc-._.js +0 -3
- package/.next/server/chunks/ssr/features_config_10xs4l1._.js +0 -20
- package/.next/server/chunks/ssr/features_thursday_0cf9y0b._.js +0 -3
- package/.next/server/chunks/ssr/node_modules_04f6p6a._.js +0 -24
- package/.next/server/chunks/ssr/node_modules_08-pj-2._.js +0 -3
- package/.next/server/chunks/ssr/node_modules_098h6h5._.js +0 -29
- package/.next/server/chunks/ssr/node_modules_0_7yfem._.js +0 -3
- package/.next/server/chunks/ssr/node_modules_0bp3vfu._.js +0 -3
- package/.next/server/chunks/ssr/node_modules_0ch5hqr._.js +0 -3
- package/.next/server/chunks/ssr/node_modules_0e-hyim._.js +0 -64
- package/.next/server/chunks/ssr/node_modules_0ffm9w3._.js +0 -26
- package/.next/server/chunks/ssr/node_modules_0il0v7d._.js +0 -3
- package/.next/server/chunks/ssr/node_modules_0jzyuwk._.js +0 -3
- package/.next/server/chunks/ssr/node_modules_0ln4iwf._.js +0 -3
- package/.next/server/chunks/ssr/node_modules_0my2hph._.js +0 -3
- package/.next/server/chunks/ssr/node_modules_0ql0igl._.js +0 -17
- package/.next/server/chunks/ssr/node_modules_0qwth-_._.js +0 -17
- package/.next/server/chunks/ssr/node_modules_0y9byl5._.js +0 -3
- package/.next/server/chunks/ssr/node_modules_10bzndo._.js +0 -43
- package/.next/server/chunks/ssr/node_modules_19f7b4c._.js +0 -3
- package/.next/server/chunks/ssr/node_modules_1b_h09q._.js +0 -3
- package/.next/server/chunks/ssr/node_modules_1e83j9e._.js +0 -26
- package/.next/server/chunks/ssr/node_modules_1e9ugfy._.js +0 -3
- package/.next/server/chunks/ssr/node_modules_1hd66k0._.js +0 -64
- package/.next/server/chunks/ssr/node_modules_1inwr2m._.js +0 -43
- package/.next/server/chunks/ssr/node_modules_1j9xx1k._.js +0 -3
- package/.next/server/chunks/ssr/node_modules_1k8kypa._.js +0 -3
- package/.next/server/chunks/ssr/node_modules_1oeu85h._.js +0 -3
- package/.next/server/chunks/ssr/node_modules_1r2ghv5._.js +0 -3
- package/.next/server/chunks/ssr/node_modules_1rg7lj4._.js +0 -40
- package/.next/server/chunks/ssr/node_modules_1ttpnib._.js +0 -29
- package/.next/server/chunks/ssr/node_modules_201yvda._.js +0 -17
- package/.next/server/chunks/ssr/node_modules_@mermaid-js_parser_dist_17wxxyr._.js +0 -3
- package/.next/server/chunks/ssr/node_modules_@mermaid-js_parser_dist_18pinup._.js +0 -3
- package/.next/server/chunks/ssr/node_modules_@mermaid-js_parser_dist_1feyqvf._.js +0 -3
- package/.next/server/chunks/ssr/node_modules_@mermaid-js_parser_dist_1ok0411._.js +0 -3
- package/.next/server/chunks/ssr/node_modules_@mermaid-js_parser_dist_1sgfrma._.js +0 -3
- package/.next/server/chunks/ssr/node_modules_d3-shape_src_arc_1-w13bo.js +0 -3
- package/.next/server/chunks/ssr/node_modules_mermaid_dist_chunks_mermaid_core_0jkhu0x._.js +0 -3
- package/.next/server/chunks/ssr/node_modules_mermaid_dist_chunks_mermaid_core_0thh8pk._.js +0 -17
- package/.next/server/chunks/ssr/node_modules_mermaid_dist_chunks_mermaid_core_1o1kg4c._.js +0 -3
- package/.next/server/chunks/ssr/node_modules_mermaid_dist_chunks_mermaid_core_1rxlz7e._.js +0 -3
- package/.next/server/chunks/ssr/node_modules_mermaid_dist_chunks_mermaid_core_1turj0n._.js +0 -3
- package/.next/server/chunks/ssr/node_modules_mermaid_dist_chunks_mermaid_core_1v463pe._.js +0 -17
- package/.next/server/chunks/ssr/node_modules_mermaid_dist_chunks_mermaid_core_chunk-5VM5RSS4_mjs_0tg6kya._.js +0 -17
- package/.next/server/chunks/ssr/node_modules_mermaid_dist_chunks_mermaid_core_chunk-F27PBJKO_mjs_0ms0zmb._.js +0 -3
- package/.next/server/chunks/ssr/node_modules_mermaid_dist_chunks_mermaid_core_dagre-GXQ25YYZ_mjs_0k_lz8d._.js +0 -3
- package/.next/server/chunks/ssr/node_modules_mermaid_dist_chunks_mermaid_core_sizeCapture-INFHLROL_mjs_179zv_p._.js +0 -3
- package/.next/server/chunks/ssr/node_modules_streamdown_dist_highlighted-body-KPVGNVTW_1fnf894.js +0 -3
- package/.next/server/chunks/ssr/node_modules_streamdown_dist_mermaid-HWGCJPDP_093xi20.js +0 -3
- package/.next/static/chunks/02lze_e5sagjn.js +0 -1
- package/.next/static/chunks/0ve2gb0hw3wkq.js +0 -1
- package/.next/static/chunks/16np6727e61io.js +0 -1
- package/.next/static/chunks/18amidjlaqexf.js +0 -1
- package/.next/static/chunks/1u4jowlgjgeip.js +0 -70
- package/.next/static/chunks/236le5kv_yj6a.css +0 -1
- package/.next/static/chunks/24op50z6sqi_5.js +0 -1
- package/.next/static/chunks/2eczs-lporqt6.js +0 -1
- package/.next/static/chunks/2z4sodeldj_86.js +0 -1
- package/.next/static/chunks/3ezjz93yvzmop.js +0 -4
- package/.next/static/chunks/3h6rqjx92wva9.js +0 -1
- package/.next/static/chunks/3w7zt3xzyjn86.js +0 -3
- package/.next/static/chunks/3xkx7vqefm7on.js +0 -2
- package/.next/static/chunks/3ygk41pgsw7nv.js +0 -1
- package/.next/static/chunks/4384atd5zerir.js +0 -1
- /package/.next/static/{6tIYlzfG_5P4sIxxgmucO → WKQCaSVcySHM4bjkWJXEH}/_buildManifest.js +0 -0
- /package/.next/static/{6tIYlzfG_5P4sIxxgmucO → WKQCaSVcySHM4bjkWJXEH}/_clientMiddlewareManifest.js +0 -0
- /package/.next/static/{6tIYlzfG_5P4sIxxgmucO → WKQCaSVcySHM4bjkWJXEH}/_ssgManifest.js +0 -0
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
module.exports=[113022,e=>e.a(async(t,n)=>{try{var o=e.i(691296),r=e.i(588762),i=e.i(333925),a=e.i(986507),s=e.i(636608),l=e.i(423620),u=e.i(330436),c=e.i(448548),d=e.i(690285),p=e.i(759118),h=e.i(391830),m=e.i(303583),g=e.i(308070),f=e.i(907883),y=e.i(156732),b=e.i(594537),_=e.i(51083),z=e.i(859727),w=e.i(951056),v=e.i(343229),k=e.i(871096),x=e.i(900533),S=e.i(938281),T=e.i(212389),I=e.i(610150),O=e.i(64774),E=t([a,l,p,h,m,g,f,b,v]);async function C(t){let{listThreadOverview:n}=await e.A(193435),o=await n();if(!o.length)return"No thread has been started yet.";let r=o.map(e=>`"${e.label}" (${e.bot}, ${e.status})`).join(", ");return`There is no thread called "${t}". The latest are: ${r}. Call again with one of those labels.`}async function A(e,t){let n=[];for(let[e,r]of Object.entries(t)){let t=await (0,o.asSchema)(r.inputSchema).jsonSchema,i="string"==typeof r.description?r.description:"";n.push({name:e,tokens:(0,I.estimateTokens)(i)+(0,I.estimateTokens)(JSON.stringify(t))})}n.sort((e,t)=>t.tokens-e.tokens);let r=n.reduce((e,t)=>e+t.tokens,0);S.logger.debug(`${e} tools ${r} tokens over ${n.length} — ${n.map(e=>`${e.name} ${e.tokens}`).join(", ")}`)}async function j(e){let t=await R(e);return i.IS_DEV&&await A(e.target,t),t}async function R(t){if("memory-edit"===t.target)return(0,h.createMemoryTools)("user",null,{countReads:!1});let n=(0,h.createMemoryTools)("call","thursday"===t.target?t.callId??null:null),S=await (0,k.openWorkspace)();if("thursday"===t.target){var I;let c,p,h=t.readSkills?(0,b.createSkillTools)({sandbox:S,skills:await (0,v.loadSkills)(S)}):{},f=!!(t.written&&t.model&&(0,a.seesToolImages)(t.model));return{...n,...h,...(0,z.createWorkspaceTools)(S,{write:!1,timeoutMs:i.CALL_EXEC_TIMEOUT_MS}),...!1===t.webSearch?{}:await (0,g.createCallSearchTool)(S),...Object.fromEntries(Object.entries((I=t.callId,c=async t=>{let{resolveThread:n}=await e.A(193435);return(t.trim()?await n(t.trim()):null)??await C(t)},p=async(t,n,o)=>{let r=await e.A(327784);try{return await r.answerThread(t,n,"thursday",o)}catch(e){if((0,T.isPublicError)(e))return e.message;throw e}},{[_.TOOL_NAMES.thread_start]:(0,o.tool)({description:l.threadStartSpec.description,inputSchema:l.threadStartSpec.parameters,execute:async({bot:t,request:n,label:o})=>{let{findJobBot:r,listJobBots:i}=await e.A(242792),a=await r(t);if(!a||a.disabled){let e=(await i()).map(e=>e.name);return`There is no bot called "${t}". The bots are: ${e.join(", ")}. Nothing was started — call again with one of those.`}let{startThread:s}=await e.A(327784);return{threadId:await s({bot:a.name,request:n,label:o,callId:I,from:"thursday"}),bot:a.name,label:o,note:`${a.name} has "${o}". Its updates reach the conversation on their own. Anything further about this work — a correction, the next step once it finishes — is \`${_.TOOL_NAMES.thread_tell}\` with "${o}"; a question it asks is answered with \`${_.TOOL_NAMES.thread_answer}\`.`}}}),[_.TOOL_NAMES.thread_tell]:(0,o.tool)({description:l.threadTellSpec.description,inputSchema:l.threadTellSpec.parameters,execute:async({thread:e,words:t})=>{let n=await c(e);if("string"==typeof n)return n;if(!t.trim())return"Say what to pass on.";let o=await p(n.id,t.trim());return"string"==typeof o?o:o?.answered?{label:n.label,answered:o.answered,note:`${o.answered.bot} was waiting on a question, and took this as its answer.`}:{label:n.label,bot:o?.to??n.bot,status:"running",note:"running"===n.status?"The bot reads it before its next step.":"The bot picks the thread back up from there."}}}),[_.TOOL_NAMES.thread_answer]:(0,o.tool)({description:l.threadAnswerSpec.description,inputSchema:l.threadAnswerSpec.parameters,execute:async({thread:t,bot:n,answer:o})=>{let r=await c(t);if("string"==typeof r)return r;if(!o.trim())return"Say what the answer is.";let{findThreadView:i}=await e.A(193435),a=(await i(r.id))?.room.questions??[],s=a.find(e=>e.bot.toLowerCase()===n.trim().toLowerCase());if(!s)return a.length?`${n} is not asking anything in "${r.label}". Waiting there: ${a.map(e=>e.bot).join(", ")}. Call again with that bot.`:`No question is waiting in "${r.label}". To say something else to it, use \`${_.TOOL_NAMES.thread_tell}\`.`;let l=await p(r.id,o.trim(),s.bot);return"string"==typeof l?l:{label:r.label,answered:l?.answered??{bot:s.bot,question:s.text},note:`${s.bot} has the answer to its question and goes on from it.`}}}),[_.TOOL_NAMES.thread_status]:(0,o.tool)({description:l.threadStatusSpec.description,inputSchema:l.threadStatusSpec.parameters,execute:async({thread:t})=>{let{listThreadOverview:n,findThreadView:o}=await e.A(193435),a={now:(0,s.clockNow)()},l=e=>(0,r.formatDistanceToNowStrict)((0,x.toDate)(e),{addSuffix:!0});if(!(!t.trim()||"all"===t.trim().toLowerCase())){let e=await c(t);if("string"==typeof e)return e;let n=(await o(e.id))?.room;return{...a,label:e.label,id:e.id,bot:e.bot,participants:n?.participants??[],questions:n?.questions??[],status:e.status,since:l(e.updatedAt),outcome:e.outcome,..."waiting"===e.status&&e.pending?.options.length?{options:e.pending.options}:{}}}let u=await n();return u.length?{...a,threads:u.map(e=>({id:e.id,label:e.label,bot:e.bot,status:e.status,participants:e.room.participants,questions:e.room.questions.map(e=>({...e,text:(0,O.clip)(e.text,i.PROMPT_LINE.threadStatus)})),since:l(e.updatedAt),...e.ask?{asking:e.ask.question,options:e.ask.options}:{},..."running"===e.status?{now:(0,w.threadActivity)(e.lines)}:{},...e.outcome&&"waiting"!==e.status?{outcome:(0,O.clip)(e.outcome,i.PROMPT_LINE.threadStatus)}:{}}))}:"No thread has been started yet."}}),[_.TOOL_NAMES.thread_cancel]:(0,o.tool)({description:l.threadCancelSpec.description,inputSchema:l.threadCancelSpec.parameters,execute:async({thread:t})=>{let n=await c(t);if("string"==typeof n)return n;let{cancelThread:o}=await e.A(327784);return await o(n.id),{label:n.label,status:"cancelled"}}}),[_.TOOL_NAMES.thread_show]:(0,o.tool)({description:l.threadShowSpec.description,inputSchema:l.threadShowSpec.parameters,execute:async({thread:t})=>{let n=await c(t);if("string"==typeof n)return n;let{appEvents:o}=await e.A(102473),{filesOnDisk:r}=await e.A(51833),{leadFirst:i,pathsIn:a,viewKindOf:s}=await e.A(890054),l=(await r(a(n.outcome??""),null)).filter(e=>"none"!==s(e));if(!l.length)return o.emit({type:"showThread",threadId:n.id}),{label:n.label,showing:"the thread"};let u=i(l);o.emit({type:"showFile",paths:u});let{markSeen:d}=await e.A(193435);return await d([n.id]),{label:n.label,showing:u[0]}}}),[_.TOOL_NAMES.thread_seen]:(0,o.tool)({description:l.threadSeenSpec.description,inputSchema:l.threadSeenSpec.parameters,execute:async({thread:t})=>{let n=await c(t);if("string"==typeof n)return n;let{markSeen:o}=await e.A(193435);return await o([n.id]),{label:n.label,seen:!0}}})})).filter(([e])=>!(t.phone&&e===_.TOOL_NAMES.thread_show))),...(0,m.createRoutineTools)(),...f?(0,d.createLookTool)():{},...t.written?{}:(0,u.callTools)()}}let E=await (0,v.loadSkills)(S,t.bot),A={...(0,k.jobShellEnv)(t.session),...(0,k.botShellEnv)(t.bot,(await (await e.A(242792)).findJobBot(t.bot))?.icon)},j=!!(t.model&&(0,a.seesToolImages)(t.model.ref));return{[_.TOOL_NAMES.memory_recall]:(0,h.createMemoryTools)("call",null,{tidies:!1})[_.TOOL_NAMES.memory_recall],...await (0,g.createSearchTool)(t.model,S),...(0,z.createWorkspaceTools)(S,{write:!0,env:A,guide:!0,bot:t.bot}),...await (0,p.createMcpTools)(t.bot,S),...(0,b.createSkillTools)({sandbox:S,skills:E,bot:t.bot}),...await (0,f.createSelfTools)(t.bot),...(0,c.createDeckTools)(S,t.bot,A,j),...j?(0,d.createLookTool)():{},...(0,y.createSignInTools)(S,t.bot,(0,k.jobShellEnv)(t.session)),...await (0,l.createThreadRecallTool)(t.bot,t.thread??null)}}[a,l,p,h,m,g,f,b,v]=E.then?(await E)():E,e.s(["loadTools",0,j]),n()}catch(e){n(e)}},!1),463103,e=>e.a(async(t,n)=>{try{e.i(333925);var o=e.i(724185),r=e.i(938281),i=e.i(212389);e.i(64774);var a=e.i(864328),s=t([o]);[o]=s.then?(await s)():s;let c={"x-ai":"spacexai","z-ai":"zai",mistralai:"mistral","meta-llama":"meta",qwen:"alibaba","bytedance-seed":"bytedance"},d=e=>{let t=e.slice(0,e.indexOf("/")).replace(/^~/,"");return c[t]??t};function l(e){if(null==e||""===e)return null;let t=Number(e);return!Number.isFinite(t)||t<0?null:Math.round(1e6*t*1e4)/1e4}async function u(){let e=await fetch("https://openrouter.ai/api/v1/models",{headers:{accept:"application/json"}}).catch(e=>{r.logger.warn({cause:e},"openrouter catalog unreachable"),(0,i.publicError)("Could not reach OpenRouter")});return e.ok||(0,i.publicError)(`OpenRouter answered ${e.status}`),((await e.json()).data??[]).filter(e=>!!e.id).map(e=>{let t,n,o,r;return{id:e.id,label:e.name||e.id,owner:d(e.id),type:(e.architecture?.output_modalities??[]).includes("text")?a.CATALOG_TEXT:null,tags:(e.supported_parameters??[]).includes("tools")?[a.CATALOG_TOOL_USE]:[],price:(t=l(e.pricing?.prompt),n=l(e.pricing?.completion),0===t&&0===n?{in:0,out:0,note:null,free:!0}:{in:t,out:n,note:null===t&&null===n?"per model it picks":null,free:!1}),retiring:!!e.expiration_date,contextWindow:"number"==typeof e.context_length&&e.context_length>0?e.context_length:null,efforts:(o=e.reasoning?.supported_efforts??[],(r=a.EFFORTS.filter(e=>o.includes(e))).length?r:null)}})}e.s(["fetchOpenRouterCatalog",0,u,"vendorOf",0,d]),n()}catch(e){n(e)}},!1),986507,e=>e.a(async(t,n)=>{try{var o=e.i(128278),r=e.i(882630),i=e.i(285346),a=e.i(885612),s=e.i(527133),l=e.i(605184),u=e.i(19698),c=e.i(352392),d=e.i(955066),p=e.i(970354),h=e.i(717433),m=e.i(853421),g=e.i(800405),f=e.i(296194),y=e.i(784913),b=e.i(734732),_=e.i(333925),z=e.i(656719),w=e.i(724185),v=e.i(938281),k=e.i(212389),x=e.i(64774),S=e.i(396217),T=e.i(864328),I=e.i(463103),O=t([w,S,I]);[w,S,I]=O.then?(await O)():O;let F=/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 E(e){return C(e).some(e=>{let{statusCode:t,message:n,error:o}=e;if(void 0!==t&&400!==t&&413!==t)return!1;let r=f.APICallError.isInstance(e)?e.responseBody:null;return[n,o,r].some(e=>"string"==typeof e&&F.test(e))})}let H=new Set([408,409,429]);function C(e){let t=[],n=[e];for(;n.length&&t.length<12;){let e=n.shift();!("object"!=typeof e||null===e||t.includes(e))&&(t.push(e),b.RetryError.isInstance(e)&&n.push(...e.errors),"cause"in e&&n.push(e.cause))}return t}let B=(e,t)=>({ref:e,model:t,searchTools:null}),W={};function A(e){if(null==e||""===e)return null;let t=Number(e);return Number.isFinite(t)?Math.round(1e6*t*1e4)/1e4:null}async function j(e){let t=W[e];if(t&&Date.now()-t.at<_.CATALOG_MS)return t.models;let n=("openrouter"===e?await (0,I.fetchOpenRouterCatalog)():await R()).sort((e,t)=>e.id.localeCompare(t.id));return W[e]={at:Date.now(),models:n},n}async function R(){let e=await fetch("https://ai-gateway.vercel.sh/v1/models",{headers:{accept:"application/json"}}).catch(e=>{v.logger.warn({cause:e},"gateway catalog unreachable"),(0,k.publicError)("Could not reach the gateway")});return e.ok||(0,k.publicError)(`The gateway answered ${e.status}`),((await e.json()).data??[]).filter(e=>!!e.id).map(e=>{let t,n;return{id:e.id,label:e.name||e.id,owner:e.owned_by||e.id.slice(0,e.id.indexOf("/")),type:e.type??null,tags:e.tags??[],price:function(e){let t=e.pricing??{},n=A(t.input),o=A(t.output);if((e.tags??[]).includes("free")||0===n)return{in:0,out:0,note:null,free:!0};let r=t.transcription_duration_cost_per_second??t.realtime_session_duration_cost_per_second;if(r)return{in:null,out:null,note:`$${r}/s`,free:!1};if(t.speech_input_character_cost)return{in:null,out:null,note:"per character",free:!1};let i=Array.isArray(t.video_duration_pricing)?t.video_duration_pricing[0]:null;if(i?.cost_per_second)return{in:null,out:null,note:`$${i.cost_per_second}/s ${i.resolution??""}`.trimEnd(),free:!1};let a=t.image?`$${t.image}/image`:t.image_dimension_quality_pricing?"per image, by size":null;return null===n&&null===o?{in:null,out:null,note:a,free:!1}:{in:n,out:o,note:t.input_tiers?"tiered":t.varies_by_provider?"varies":a&&"+ per image",free:!1}}(e),retiring:!!e.deprecated_at,contextWindow:"number"==typeof e.context_window&&e.context_window>0?e.context_window:null,efforts:(t=(e.reasoning_options??[]).find(e=>e?.type==="effort"),(n=T.EFFORTS.filter(e=>t?.values?.includes(e))).length?n:null)}})}async function $(e,t){if(t&&t>0)return t;let n=await M(e);return(0,T.compactAtFor)((0,T.contextWindowOf)(e.provider,e.model,n))}async function M(e){return(0,T.isCatalogProvider)(e.provider)?await j(e.provider).catch(()=>[]):[]}async function N(e,t){let n=t??T.effortSchema.safeParse(await (0,w.readConfig)(z.DEFAULT_EFFORT_KEY)).data;if(!n)return;let o=await M(e);return(0,T.effortsOf)(e.provider,e.model,o)?.includes(n)?n:void 0}async function L(e){return await j(e).then(e=>new Set(e.map(e=>e.id))).catch(()=>null)}async function P(e,t){if(!(0,T.isCatalogProvider)(e))return t;let n=await L(e);if(!n)return t;let o=t.filter(e=>n.has(e.id));return o.length>0?o:t}async function U(e){let{label:t,apiKeyName:n,signIn:f}=T.TEXT_MODEL_PROVIDERS[e.provider],_=await (0,w.readConfig)(n);return _||(0,k.publicError)(await (0,w.missingKeyWords)(n,f?`${t} is not signed in — sign in from Settings › API keys.`:`No ${t} key — add one in Settings › API keys.`)),function(e,t){switch(e.provider){case"openai":{let n=(0,p.createOpenAI)({apiKey:t});return{ref:e,model:n(e.model),searchTools:{search:n.tools.webSearch()}}}case"chatgpt":return{ref:e,model:(0,S.chatGptModel)(e.model),searchTools:{search:(0,S.chatGptSearch)()}};case"anthropic":{let n=(0,o.createAnthropic)({apiKey:t});return{ref:e,model:n(e.model),searchTools:{search:n.tools.webSearch_20260209()}}}case"google":{let n=(0,u.createGoogleGenerativeAI)({apiKey:t});return{ref:e,model:n(e.model),searchTools:{search:n.tools.googleSearch({})}}}case"xai":{let n=(0,m.createXai)({apiKey:t});return{ref:e,model:n(e.model),searchTools:{search:n.tools.webSearch()}}}case"mistral":return B(e,(0,d.createMistral)({apiKey:t})(e.model));case"deepseek":return B(e,(0,s.createDeepSeek)({apiKey:t})(e.model));case"groq":return B(e,(0,c.createGroq)({apiKey:t})(e.model));case"cerebras":return B(e,(0,r.createCerebras)({apiKey:t})(e.model));case"togetherai":return B(e,(0,h.createTogetherAI)({apiKey:t})(e.model));case"fireworks":return B(e,(0,l.createFireworks)({apiKey:t})(e.model));case"deepinfra":return B(e,(0,a.createDeepInfra)({apiKey:t})(e.model));case"cohere":return B(e,(0,i.createCohere)({apiKey:t})(e.model));case"vercel-ai-gateway":{let n=(0,y.createGateway)({apiKey:t});return{ref:e,model:n(e.model),searchTools:null}}case"openrouter":{var n;let o=(0,g.createOpenRouter)({apiKey:t});return{ref:e,model:(n=o(e.model),(0,b.wrapLanguageModel)({model:n,middleware:{specificationVersion:"v4",transformParams:async({params:e})=>e.reasoning&&"provider-default"!==e.reasoning?{...e,providerOptions:{...e.providerOptions,openrouter:{...e.providerOptions?.openrouter,reasoning:{effort:e.reasoning}}}}:e}})),searchTools:{search:o.tools.webSearch({})}}}default:(0,k.publicError)(`Not supported provider: ${String(e.provider)}`)}}(e,_)}async function q(e,{quiet:t=!1}={}){let n=async e=>(0,T.defaultModelOf)({defaultTier:"chatgpt"===e.id&&await (0,S.readChatGptPlan)()==="free"?"small":e.defaultTier,suggestModels:await P(e.id,e.suggestModels)}),o=e?T.TEXT_MODEL_PROVIDER_LIST.find(t=>t.id===e):void 0,r=["chatgpt","openai","xai"].map(e=>({...T.TEXT_MODEL_PROVIDERS[e],id:e}));if(o){let e=await n(o);if(e)return{provider:o.id,model:e}}let i=(0,T.parseTextModel)(await (0,w.readConfig)(z.DEFAULT_MODEL_KEY)??void 0);if(i){let{label:e,apiKeyName:t,signIn:n}=T.TEXT_MODEL_PROVIDERS[i.provider];if(await (0,w.readConfig)(t))return i;(0,k.publicError)(await (0,w.missingKeyWords)(t,n?`The default model is ${i.model} on ${e}, which is signed out — sign in again, or pick another in Settings › Models.`:`The default model is ${i.model}, and there is no ${e} key any more — add it in Settings › API keys, or pick another in Settings › Models.`))}for(let e of[...r,...T.TEXT_MODEL_PROVIDER_LIST]){if(!await (0,w.readConfig)(e.apiKeyName))continue;let o=await n(e);if(o)return t||v.logger.info(`no model set, falling back to ${e.id}/${o}`),{provider:e.id,model:o}}(0,k.publicError)("No model key is set — add one in Settings › API keys.")}async function D(e){let t=(0,T.parseMediaModel)(await (0,w.readConfig)(z.MEDIA_MODEL_KEYS[e]));if(!t){let t=await (0,w.readConfig)(T.MEDIA_MODEL_PROVIDERS.chatgpt.apiKeyName),n=t?(0,T.planMediaOf)(e,{plan:await (0,S.readChatGptPlan)()}):null;return n&&t?{ref:n,apiKey:t}:null}if(!(0,T.canMakeKind)(t.provider,e))return null;let n=await (0,w.readConfig)(T.MEDIA_MODEL_PROVIDERS[t.provider].apiKeyName);return n?{ref:t,apiKey:n}:null}e.s(["buildImageModel",0,function(e,t){switch(e.provider){case"openai":return(0,p.createOpenAI)({apiKey:t}).image(e.model);case"chatgpt":return(0,S.chatGptImageModel)(e.model);case"google":return(0,u.createGoogleGenerativeAI)({apiKey:t}).image(e.model);case"xai":return(0,m.createXai)({apiKey:t}).image(e.model);case"vercel-ai-gateway":return(0,y.createGateway)({apiKey:t}).image(e.model);default:(0,k.publicError)(`Not supported image provider: ${String(e.provider)}`)}},"buildSpeechModel",0,function(e,t){switch(e.provider){case"openai":return(0,p.createOpenAI)({apiKey:t}).speech(e.model);case"google":return(0,u.createGoogleGenerativeAI)({apiKey:t}).speech(e.model);case"xai":return(0,m.createXai)({apiKey:t}).speech();case"vercel-ai-gateway":return(0,y.createGateway)({apiKey:t}).speech(e.model);default:(0,k.publicError)(`Not supported speech provider: ${String(e.provider)}`)}},"buildTranscriptionModel",0,function(e,t){switch(e.provider){case"openai":return(0,p.createOpenAI)({apiKey:t}).transcription(e.model);case"google":return(0,u.createGoogleGenerativeAI)({apiKey:t}).transcription(e.model);case"xai":return(0,m.createXai)({apiKey:t}).transcription();case"vercel-ai-gateway":return(0,y.createGateway)({apiKey:t}).transcription(e.model);default:(0,k.publicError)(`Not supported transcription provider: ${String(e.provider)}`)}},"buildVideoModel",0,function(e,t){switch(e.provider){case"google":return(0,u.createGoogleGenerativeAI)({apiKey:t}).video(e.model);case"xai":return(0,m.createXai)({apiKey:t}).video(e.model);case"vercel-ai-gateway":return(0,y.createGateway)({apiKey:t}).video(e.model);default:(0,k.publicError)(`${e.provider} has no video model`)}},"compactBudget",0,$,"getTextModel",0,U,"isContextOverflow",0,E,"isKeyRefused",0,function(e){return C(e).some(e=>401===e.statusCode)},"isPlanSpent",0,function(e){return C(e).some(e=>{if(!f.APICallError.isInstance(e)||402!==e.statusCode)return!1;try{let{code:t}=JSON.parse(e.responseBody??"").error??{};return"string"==typeof t&&S.PLAN_SPENT_CODE.test(t)}catch{return!1}})},"isProviderRefusal",0,function(e){return!E(e)&&C(e).some(e=>{let{statusCode:t}=e;return"number"==typeof t&&t>=400&&t<500&&!H.has(t)})},"modelErrorToString",0,function(e){if(!f.APICallError.isInstance(e))return(0,x.errorToString)(e);let t=e.statusCode?`(${e.statusCode})`:"",n=e.responseBody?.trim(),o=n&&!(e.message&&n.includes(e.message))?(0,x.clip)(n,300):"";return[e.message,t,o].filter(Boolean).join(" ")},"promptCacheOptions",0,function(e,t){switch(e.provider){case"openai":case"chatgpt":return t?{openai:{promptCacheKey:t}}:{};case"anthropic":return{anthropic:{cacheControl:{type:"ephemeral"}}};case"vercel-ai-gateway":return{gateway:{caching:"auto"}};case"openrouter":return"anthropic"===(0,I.vendorOf)(e.model)?{openrouter:{cacheControl:{type:"ephemeral"}}}:{};default:return{}}},"resolveDefaultModel",0,q,"resolveMediaRef",0,D,"runEffort",0,N,"seesToolImages",0,function(e){let t="vercel-ai-gateway"===e.provider?T.VENDOR_PROVIDERS[e.model.split("/")[0]]:"openrouter"===e.provider?T.VENDOR_PROVIDERS[(0,I.vendorOf)(e.model)]:e.provider;return void 0!==t&&["openai","chatgpt","anthropic","google","xai"].includes(t)}]),n()}catch(e){n(e)}},!1),475235,e=>e.a(async(t,n)=>{try{var o=e.i(489938),r=e.i(333925),i=e.i(973589),a=e.i(51083),s=e.i(75752),l=e.i(799791),u=e.i(951056),c=e.i(776857),d=e.i(352985),p=e.i(600690),h=e.i(5509),m=e.i(993195),g=e.i(1363),f=e.i(343229),y=e.i(375814),b=e.i(871096),_=e.i(900533),z=e.i(64774),w=e.i(340697),v=e.i(636608),k=t([l,h,m,g,f,w]);async function x(e,t,n,i){var c,d,p,k,x,O,E,C,A,j;let R,$,M,N,L,P,U,q,D,F=await (0,b.openWorkspace)(),H=e.trim(),[B,W,K,V,J,G,Y,Z,X]=await Promise.all([(0,f.loadSkills)(F,H),(0,g.listNoteIndex)(),(0,w.listConnectedToolNames)(),(0,m.findPinnedTools)(H),(0,l.listJobBots)(),(0,s.listBotMemory)(H),(0,l.readBotMemoryOn)(),(0,b.readMachineTools)(F),(0,h.listBotWork)(H,n?.thread??null)]),Q=J.filter(e=>e.name!==H),ee=J.find(e=>e.name===H)??await (0,l.findJobBot)(H),et=[(c=H,d=ee,p=n,$=(R=p?.owner??c)===c?"**You** coordinate this thread: its result goes from you to Thursday.":`**${R}** coordinates this thread and brings its result to Thursday.`,M=p?`
|
|
1
|
+
module.exports=[113022,e=>e.a(async(t,n)=>{try{var o=e.i(691296),r=e.i(588762),i=e.i(333925),a=e.i(986507),s=e.i(636608),l=e.i(423620),u=e.i(330436),c=e.i(448548),d=e.i(690285),p=e.i(759118),h=e.i(391830),m=e.i(303583),g=e.i(308070),f=e.i(907883),y=e.i(156732),b=e.i(594537),_=e.i(51083),w=e.i(859727),z=e.i(951056),v=e.i(343229),k=e.i(871096),x=e.i(900533),S=e.i(938281),T=e.i(212389),I=e.i(610150),O=e.i(64774),E=t([a,l,p,h,m,g,f,b,v]);async function C(t){let{listThreadOverview:n}=await e.A(193435),o=await n();if(!o.length)return"No thread has been started yet.";let r=o.map(e=>`"${e.label}" (${e.bot}, ${e.status})`).join(", ");return`There is no thread called "${t}". The latest are: ${r}. Call again with one of those labels.`}async function A(e,t){let n=[];for(let[e,r]of Object.entries(t)){let t=await (0,o.asSchema)(r.inputSchema).jsonSchema,i="string"==typeof r.description?r.description:"";n.push({name:e,tokens:(0,I.estimateTokens)(i)+(0,I.estimateTokens)(JSON.stringify(t))})}n.sort((e,t)=>t.tokens-e.tokens);let r=n.reduce((e,t)=>e+t.tokens,0);S.logger.debug(`${e} tools ${r} tokens over ${n.length} — ${n.map(e=>`${e.name} ${e.tokens}`).join(", ")}`)}async function j(e){let t=await R(e);return i.IS_DEV&&await A(e.target,t),t}async function R(t){if("memory-edit"===t.target)return(0,h.createMemoryTools)("user",null,{countReads:!1});let n=(0,h.createMemoryTools)("call","thursday"===t.target?t.callId??null:null),S=await (0,k.openWorkspace)();if("thursday"===t.target){var I;let c,p,h=t.readSkills?(0,b.createSkillTools)({sandbox:S,skills:await (0,v.loadSkills)(S)}):{},f=!!(t.written&&t.model&&(0,a.seesToolImages)(t.model));return{...n,...h,...(0,w.createWorkspaceTools)(S,{write:!1,timeoutMs:i.CALL_EXEC_TIMEOUT_MS}),...!1===t.webSearch?{}:await (0,g.createCallSearchTool)(S),...Object.fromEntries(Object.entries((I=t.callId,c=async t=>{let{resolveThread:n}=await e.A(193435);return(t.trim()?await n(t.trim()):null)??await C(t)},p=async(t,n,o)=>{let r=await e.A(327784);try{return await r.answerThread(t,n,"thursday",o)}catch(e){if((0,T.isPublicError)(e))return e.message;throw e}},{[_.TOOL_NAMES.thread_start]:(0,o.tool)({description:l.threadStartSpec.description,inputSchema:l.threadStartSpec.parameters,execute:async({bot:t,request:n,label:o})=>{let{findJobBot:r,listJobBots:i}=await e.A(242792),a=await r(t);if(!a||a.disabled){let e=(await i()).map(e=>e.name);return`There is no bot called "${t}". The bots are: ${e.join(", ")}. Nothing was started — call again with one of those.`}let{startThread:s}=await e.A(327784);return{threadId:await s({bot:a.name,request:n,label:o,callId:I,from:"thursday"}),bot:a.name,label:o,note:`${a.name} has "${o}". Its updates reach the conversation on their own. Anything further about this work — a correction, the next step once it finishes — is \`${_.TOOL_NAMES.thread_tell}\` with "${o}"; a question it asks is answered with \`${_.TOOL_NAMES.thread_answer}\`.`}}}),[_.TOOL_NAMES.thread_tell]:(0,o.tool)({description:l.threadTellSpec.description,inputSchema:l.threadTellSpec.parameters,execute:async({thread:e,words:t})=>{let n=await c(e);if("string"==typeof n)return n;if(!t.trim())return"Say what to pass on.";let o=await p(n.id,t.trim());return"string"==typeof o?o:o?.answered?{label:n.label,answered:o.answered,note:`${o.answered.bot} was waiting on a question, and took this as its answer.`}:{label:n.label,bot:o?.to??n.bot,status:"running",note:"running"===n.status?"The bot reads it before its next step.":"The bot picks the thread back up from there."}}}),[_.TOOL_NAMES.thread_answer]:(0,o.tool)({description:l.threadAnswerSpec.description,inputSchema:l.threadAnswerSpec.parameters,execute:async({thread:t,bot:n,answer:o})=>{let r=await c(t);if("string"==typeof r)return r;if(!o.trim())return"Say what the answer is.";let{findThreadView:i}=await e.A(193435),a=(await i(r.id))?.room.questions??[],s=a.find(e=>e.bot.toLowerCase()===n.trim().toLowerCase());if(!s)return a.length?`${n} is not asking anything in "${r.label}". Waiting there: ${a.map(e=>e.bot).join(", ")}. Call again with that bot.`:`No question is waiting in "${r.label}". To say something else to it, use \`${_.TOOL_NAMES.thread_tell}\`.`;let l=await p(r.id,o.trim(),s.bot);return"string"==typeof l?l:{label:r.label,answered:l?.answered??{bot:s.bot,question:s.text},note:`${s.bot} has the answer to its question and goes on from it.`}}}),[_.TOOL_NAMES.thread_status]:(0,o.tool)({description:l.threadStatusSpec.description,inputSchema:l.threadStatusSpec.parameters,execute:async({thread:t})=>{let{listThreadOverview:n,findThreadView:o}=await e.A(193435),a={now:(0,s.clockNow)()},l=e=>(0,r.formatDistanceToNowStrict)((0,x.toDate)(e),{addSuffix:!0});if(!(!t.trim()||"all"===t.trim().toLowerCase())){let e=await c(t);if("string"==typeof e)return e;let n=(await o(e.id))?.room;return{...a,label:e.label,id:e.id,bot:e.bot,participants:n?.participants??[],questions:n?.questions??[],status:e.status,since:l(e.updatedAt),outcome:e.outcome,..."waiting"===e.status&&e.pending?.options.length?{options:e.pending.options}:{}}}let u=await n();return u.length?{...a,threads:u.map(e=>({id:e.id,label:e.label,bot:e.bot,status:e.status,participants:e.room.participants,questions:e.room.questions.map(e=>({...e,text:(0,O.clip)(e.text,i.PROMPT_LINE.threadStatus)})),since:l(e.updatedAt),...e.ask?{asking:e.ask.question,options:e.ask.options}:{},..."running"===e.status?{now:(0,z.threadActivity)(e.lines)}:{},...e.outcome&&"waiting"!==e.status?{outcome:(0,O.clip)(e.outcome,i.PROMPT_LINE.threadStatus)}:{}}))}:"No thread has been started yet."}}),[_.TOOL_NAMES.thread_cancel]:(0,o.tool)({description:l.threadCancelSpec.description,inputSchema:l.threadCancelSpec.parameters,execute:async({thread:t})=>{let n=await c(t);if("string"==typeof n)return n;let{cancelThread:o}=await e.A(327784);return await o(n.id),{label:n.label,status:"cancelled"}}}),[_.TOOL_NAMES.thread_show]:(0,o.tool)({description:l.threadShowSpec.description,inputSchema:l.threadShowSpec.parameters,execute:async({thread:t})=>{let n=await c(t);if("string"==typeof n)return n;let{appEvents:o}=await e.A(102473),{filesOnDisk:r}=await e.A(51833),{leadFirst:i,pathsIn:a,viewKindOf:s}=await e.A(890054),l=(await r(a(n.outcome??""),null)).filter(e=>"none"!==s(e));if(!l.length)return o.emit({type:"showThread",threadId:n.id}),{label:n.label,showing:"the thread"};let u=i(l);o.emit({type:"showFile",paths:u});let{markSeen:d}=await e.A(193435);return await d([n.id]),{label:n.label,showing:u[0]}}}),[_.TOOL_NAMES.thread_seen]:(0,o.tool)({description:l.threadSeenSpec.description,inputSchema:l.threadSeenSpec.parameters,execute:async({thread:t})=>{let n=await c(t);if("string"==typeof n)return n;let{markSeen:o}=await e.A(193435);return await o([n.id]),{label:n.label,seen:!0}}})})).filter(([e])=>!(t.phone&&e===_.TOOL_NAMES.thread_show))),...(0,m.createRoutineTools)(),...f?(0,d.createLookTool)():{},...t.written?{}:(0,u.callTools)()}}let E=await (0,v.loadSkills)(S,t.bot),A={...(0,k.jobShellEnv)(t.session),...(0,k.botShellEnv)(t.bot,(await (await e.A(242792)).findJobBot(t.bot))?.icon)},j=!!(t.model&&(0,a.seesToolImages)(t.model.ref));return{[_.TOOL_NAMES.memory_recall]:(0,h.createMemoryTools)("call",null,{tidies:!1})[_.TOOL_NAMES.memory_recall],...await (0,g.createSearchTool)(t.model,S),...(0,w.createWorkspaceTools)(S,{write:!0,env:A,guide:!0,bot:t.bot}),...await (0,p.createMcpTools)(t.bot,S),...(0,b.createSkillTools)({sandbox:S,skills:E,bot:t.bot}),...await (0,f.createSelfTools)(t.bot),...(0,c.createDeckTools)(S,t.bot,A,j),...j?(0,d.createLookTool)():{},...(0,y.createSignInTools)(S,t.bot,(0,k.jobShellEnv)(t.session)),...await (0,l.createThreadRecallTool)(t.bot,t.thread??null)}}[a,l,p,h,m,g,f,b,v]=E.then?(await E)():E,e.s(["loadTools",0,j]),n()}catch(e){n(e)}},!1),463103,e=>e.a(async(t,n)=>{try{e.i(333925);var o=e.i(724185),r=e.i(938281),i=e.i(212389);e.i(64774);var a=e.i(864328),s=t([o]);[o]=s.then?(await s)():s;let c={"x-ai":"spacexai","z-ai":"zai",mistralai:"mistral","meta-llama":"meta",qwen:"alibaba","bytedance-seed":"bytedance"},d=e=>{let t=e.slice(0,e.indexOf("/")).replace(/^~/,"");return c[t]??t};function l(e){if(null==e||""===e)return null;let t=Number(e);return!Number.isFinite(t)||t<0?null:Math.round(1e6*t*1e4)/1e4}async function u(){let e=await fetch("https://openrouter.ai/api/v1/models",{headers:{accept:"application/json"}}).catch(e=>{r.logger.warn({cause:e},"openrouter catalog unreachable"),(0,i.publicError)("Could not reach OpenRouter")});return e.ok||(0,i.publicError)(`OpenRouter answered ${e.status}`),((await e.json()).data??[]).filter(e=>!!e.id).map(e=>{let t,n,o,r;return{id:e.id,label:e.name||e.id,owner:d(e.id),type:(e.architecture?.output_modalities??[]).includes("text")?a.CATALOG_TEXT:null,tags:(e.supported_parameters??[]).includes("tools")?[a.CATALOG_TOOL_USE]:[],price:(t=l(e.pricing?.prompt),n=l(e.pricing?.completion),0===t&&0===n?{in:0,out:0,note:null,free:!0}:{in:t,out:n,note:null===t&&null===n?"per model it picks":null,free:!1}),retiring:!!e.expiration_date,contextWindow:"number"==typeof e.context_length&&e.context_length>0?e.context_length:null,efforts:(o=e.reasoning?.supported_efforts??[],(r=a.EFFORTS.filter(e=>o.includes(e))).length?r:null)}})}e.s(["fetchOpenRouterCatalog",0,u,"vendorOf",0,d]),n()}catch(e){n(e)}},!1),986507,e=>e.a(async(t,n)=>{try{var o=e.i(128278),r=e.i(882630),i=e.i(285346),a=e.i(885612),s=e.i(527133),l=e.i(605184),u=e.i(19698),c=e.i(352392),d=e.i(955066),p=e.i(970354),h=e.i(717433),m=e.i(853421),g=e.i(800405),f=e.i(296194),y=e.i(784913),b=e.i(734732),_=e.i(333925),w=e.i(656719),z=e.i(724185),v=e.i(938281),k=e.i(212389),x=e.i(64774),S=e.i(396217),T=e.i(864328),I=e.i(463103),O=t([z,S,I]);[z,S,I]=O.then?(await O)():O;let F=/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 E(e){return C(e).some(e=>{let{statusCode:t,message:n,error:o}=e;if(void 0!==t&&400!==t&&413!==t)return!1;let r=f.APICallError.isInstance(e)?e.responseBody:null;return[n,o,r].some(e=>"string"==typeof e&&F.test(e))})}let H=new Set([408,409,429]);function C(e){let t=[],n=[e];for(;n.length&&t.length<12;){let e=n.shift();!("object"!=typeof e||null===e||t.includes(e))&&(t.push(e),b.RetryError.isInstance(e)&&n.push(...e.errors),"cause"in e&&n.push(e.cause))}return t}let B=(e,t)=>({ref:e,model:t,searchTools:null}),W={};function A(e){if(null==e||""===e)return null;let t=Number(e);return Number.isFinite(t)?Math.round(1e6*t*1e4)/1e4:null}async function j(e){let t=W[e];if(t&&Date.now()-t.at<_.CATALOG_MS)return t.models;let n=("openrouter"===e?await (0,I.fetchOpenRouterCatalog)():await R()).sort((e,t)=>e.id.localeCompare(t.id));return W[e]={at:Date.now(),models:n},n}async function R(){let e=await fetch("https://ai-gateway.vercel.sh/v1/models",{headers:{accept:"application/json"}}).catch(e=>{v.logger.warn({cause:e},"gateway catalog unreachable"),(0,k.publicError)("Could not reach the gateway")});return e.ok||(0,k.publicError)(`The gateway answered ${e.status}`),((await e.json()).data??[]).filter(e=>!!e.id).map(e=>{let t,n;return{id:e.id,label:e.name||e.id,owner:e.owned_by||e.id.slice(0,e.id.indexOf("/")),type:e.type??null,tags:e.tags??[],price:function(e){let t=e.pricing??{},n=A(t.input),o=A(t.output);if((e.tags??[]).includes("free")||0===n)return{in:0,out:0,note:null,free:!0};let r=t.transcription_duration_cost_per_second??t.realtime_session_duration_cost_per_second;if(r)return{in:null,out:null,note:`$${r}/s`,free:!1};if(t.speech_input_character_cost)return{in:null,out:null,note:"per character",free:!1};let i=Array.isArray(t.video_duration_pricing)?t.video_duration_pricing[0]:null;if(i?.cost_per_second)return{in:null,out:null,note:`$${i.cost_per_second}/s ${i.resolution??""}`.trimEnd(),free:!1};let a=t.image?`$${t.image}/image`:t.image_dimension_quality_pricing?"per image, by size":null;return null===n&&null===o?{in:null,out:null,note:a,free:!1}:{in:n,out:o,note:t.input_tiers?"tiered":t.varies_by_provider?"varies":a&&"+ per image",free:!1}}(e),retiring:!!e.deprecated_at,contextWindow:"number"==typeof e.context_window&&e.context_window>0?e.context_window:null,efforts:(t=(e.reasoning_options??[]).find(e=>e?.type==="effort"),(n=T.EFFORTS.filter(e=>t?.values?.includes(e))).length?n:null)}})}async function $(e,t){if(t&&t>0)return t;let n=await M(e);return(0,T.compactAtFor)((0,T.contextWindowOf)(e.provider,e.model,n))}async function M(e){return(0,T.isCatalogProvider)(e.provider)?await j(e.provider).catch(()=>[]):[]}async function N(e,t){let n=t??T.effortSchema.safeParse(await (0,z.readConfig)(w.DEFAULT_EFFORT_KEY)).data;if(!n)return;let o=await M(e);return(0,T.effortsOf)(e.provider,e.model,o)?.includes(n)?n:void 0}async function L(e){return await j(e).then(e=>new Set(e.map(e=>e.id))).catch(()=>null)}async function P(e,t){if(!(0,T.isCatalogProvider)(e))return t;let n=await L(e);if(!n)return t;let o=t.filter(e=>n.has(e.id));return o.length>0?o:t}async function U(e){let{label:t,apiKeyName:n,signIn:f}=T.TEXT_MODEL_PROVIDERS[e.provider],_=await (0,z.readConfig)(n);return _||(0,k.publicError)(await (0,z.missingKeyWords)(n,f?`${t} is not signed in — sign in from Settings › API keys.`:`No ${t} key — add one in Settings › API keys.`)),function(e,t){switch(e.provider){case"openai":{let n=(0,p.createOpenAI)({apiKey:t});return{ref:e,model:n(e.model),searchTools:{search:n.tools.webSearch()}}}case"chatgpt":return{ref:e,model:(0,S.chatGptModel)(e.model),searchTools:{search:(0,S.chatGptSearch)()}};case"anthropic":{let n=(0,o.createAnthropic)({apiKey:t});return{ref:e,model:n(e.model),searchTools:{search:n.tools.webSearch_20260209()}}}case"google":{let n=(0,u.createGoogleGenerativeAI)({apiKey:t});return{ref:e,model:n(e.model),searchTools:{search:n.tools.googleSearch({})}}}case"xai":{let n=(0,m.createXai)({apiKey:t});return{ref:e,model:n(e.model),searchTools:{search:n.tools.webSearch()}}}case"mistral":return B(e,(0,d.createMistral)({apiKey:t})(e.model));case"deepseek":return B(e,(0,s.createDeepSeek)({apiKey:t})(e.model));case"groq":return B(e,(0,c.createGroq)({apiKey:t})(e.model));case"cerebras":return B(e,(0,r.createCerebras)({apiKey:t})(e.model));case"togetherai":return B(e,(0,h.createTogetherAI)({apiKey:t})(e.model));case"fireworks":return B(e,(0,l.createFireworks)({apiKey:t})(e.model));case"deepinfra":return B(e,(0,a.createDeepInfra)({apiKey:t})(e.model));case"cohere":return B(e,(0,i.createCohere)({apiKey:t})(e.model));case"vercel-ai-gateway":{let n=(0,y.createGateway)({apiKey:t});return{ref:e,model:n(e.model),searchTools:null}}case"openrouter":{var n;let o=(0,g.createOpenRouter)({apiKey:t});return{ref:e,model:(n=o(e.model),(0,b.wrapLanguageModel)({model:n,middleware:{specificationVersion:"v4",transformParams:async({params:e})=>e.reasoning&&"provider-default"!==e.reasoning?{...e,providerOptions:{...e.providerOptions,openrouter:{...e.providerOptions?.openrouter,reasoning:{effort:e.reasoning}}}}:e}})),searchTools:{search:o.tools.webSearch({})}}}default:(0,k.publicError)(`Not supported provider: ${String(e.provider)}`)}}(e,_)}async function q(e,{quiet:t=!1}={}){let n=async e=>(0,T.defaultModelOf)({defaultTier:"chatgpt"===e.id&&await (0,S.readChatGptPlan)()==="free"?"small":e.defaultTier,suggestModels:await P(e.id,e.suggestModels)}),o=e?T.TEXT_MODEL_PROVIDER_LIST.find(t=>t.id===e):void 0,r=["chatgpt","openai","xai"].map(e=>({...T.TEXT_MODEL_PROVIDERS[e],id:e}));if(o){let e=await n(o);if(e)return{provider:o.id,model:e}}let i=(0,T.parseTextModel)(await (0,z.readConfig)(w.DEFAULT_MODEL_KEY)??void 0);if(i){let{label:e,apiKeyName:t,signIn:n}=T.TEXT_MODEL_PROVIDERS[i.provider];if(await (0,z.readConfig)(t))return i;(0,k.publicError)(await (0,z.missingKeyWords)(t,n?`The default model is ${i.model} on ${e}, which is signed out — sign in again, or pick another in Settings › Models.`:`The default model is ${i.model}, and there is no ${e} key any more — add it in Settings › API keys, or pick another in Settings › Models.`))}for(let e of[...r,...T.TEXT_MODEL_PROVIDER_LIST]){if(!await (0,z.readConfig)(e.apiKeyName))continue;let o=await n(e);if(o)return t||v.logger.info(`no model set, falling back to ${e.id}/${o}`),{provider:e.id,model:o}}(0,k.publicError)("No model key is set — add one in Settings › API keys.")}async function D(e){let t=(0,T.parseMediaModel)(await (0,z.readConfig)(w.MEDIA_MODEL_KEYS[e]));if(!t){let t=await (0,z.readConfig)(T.MEDIA_MODEL_PROVIDERS.chatgpt.apiKeyName),n=t?(0,T.planMediaOf)(e,{plan:await (0,S.readChatGptPlan)()}):null;return n&&t?{ref:n,apiKey:t}:null}if(!(0,T.canMakeKind)(t.provider,e))return null;let n=await (0,z.readConfig)(T.MEDIA_MODEL_PROVIDERS[t.provider].apiKeyName);return n?{ref:t,apiKey:n}:null}e.s(["buildImageModel",0,function(e,t){switch(e.provider){case"openai":return(0,p.createOpenAI)({apiKey:t}).image(e.model);case"chatgpt":return(0,S.chatGptImageModel)(e.model);case"google":return(0,u.createGoogleGenerativeAI)({apiKey:t}).image(e.model);case"xai":return(0,m.createXai)({apiKey:t}).image(e.model);case"vercel-ai-gateway":return(0,y.createGateway)({apiKey:t}).image(e.model);default:(0,k.publicError)(`Not supported image provider: ${String(e.provider)}`)}},"buildSpeechModel",0,function(e,t){switch(e.provider){case"openai":return(0,p.createOpenAI)({apiKey:t}).speech(e.model);case"google":return(0,u.createGoogleGenerativeAI)({apiKey:t}).speech(e.model);case"xai":return(0,m.createXai)({apiKey:t}).speech();case"vercel-ai-gateway":return(0,y.createGateway)({apiKey:t}).speech(e.model);default:(0,k.publicError)(`Not supported speech provider: ${String(e.provider)}`)}},"buildTranscriptionModel",0,function(e,t){switch(e.provider){case"openai":return(0,p.createOpenAI)({apiKey:t}).transcription(e.model);case"google":return(0,u.createGoogleGenerativeAI)({apiKey:t}).transcription(e.model);case"xai":return(0,m.createXai)({apiKey:t}).transcription();case"vercel-ai-gateway":return(0,y.createGateway)({apiKey:t}).transcription(e.model);default:(0,k.publicError)(`Not supported transcription provider: ${String(e.provider)}`)}},"buildVideoModel",0,function(e,t){switch(e.provider){case"google":return(0,u.createGoogleGenerativeAI)({apiKey:t}).video(e.model);case"xai":return(0,m.createXai)({apiKey:t}).video(e.model);case"vercel-ai-gateway":return(0,y.createGateway)({apiKey:t}).video(e.model);default:(0,k.publicError)(`${e.provider} has no video model`)}},"compactBudget",0,$,"getTextModel",0,U,"isContextOverflow",0,E,"isKeyRefused",0,function(e){return C(e).some(e=>401===e.statusCode)},"isPlanSpent",0,function(e){return C(e).some(e=>{if(!f.APICallError.isInstance(e)||402!==e.statusCode)return!1;try{let{code:t}=JSON.parse(e.responseBody??"").error??{};return"string"==typeof t&&S.PLAN_SPENT_CODE.test(t)}catch{return!1}})},"isProviderRefusal",0,function(e){return!E(e)&&C(e).some(e=>{let{statusCode:t}=e;return"number"==typeof t&&t>=400&&t<500&&!H.has(t)})},"modelErrorToString",0,function(e){if(!f.APICallError.isInstance(e))return(0,x.errorToString)(e);let t=e.statusCode?`(${e.statusCode})`:"",n=e.responseBody?.trim(),o=n&&!(e.message&&n.includes(e.message))?(0,x.clip)(n,300):"";return[e.message,t,o].filter(Boolean).join(" ")},"promptCacheOptions",0,function(e,t){switch(e.provider){case"openai":case"chatgpt":return t?{openai:{promptCacheKey:t}}:{};case"anthropic":return{anthropic:{cacheControl:{type:"ephemeral"}}};case"vercel-ai-gateway":return{gateway:{caching:"auto"}};case"openrouter":return"anthropic"===(0,I.vendorOf)(e.model)?{openrouter:{cacheControl:{type:"ephemeral"}}}:{};default:return{}}},"resolveDefaultModel",0,q,"resolveMediaRef",0,D,"runEffort",0,N,"seesToolImages",0,function(e){let t="vercel-ai-gateway"===e.provider?T.VENDOR_PROVIDERS[e.model.split("/")[0]]:"openrouter"===e.provider?T.VENDOR_PROVIDERS[(0,I.vendorOf)(e.model)]:e.provider;return void 0!==t&&["openai","chatgpt","anthropic","google","xai"].includes(t)}]),n()}catch(e){n(e)}},!1),475235,e=>e.a(async(t,n)=>{try{var o=e.i(489938),r=e.i(333925),i=e.i(973589),a=e.i(51083),s=e.i(75752),l=e.i(799791),u=e.i(951056),c=e.i(776857),d=e.i(352985),p=e.i(600690),h=e.i(5509),m=e.i(993195),g=e.i(1363),f=e.i(343229),y=e.i(375814),b=e.i(871096),_=e.i(900533),w=e.i(64774),z=e.i(340697),v=e.i(636608),k=t([l,h,m,g,f,z]);async function x(e,t,n,i){var c,d,p,k,x,O,E,C,A,j;let R,$,M,N,L,P,U,q,D,F=await (0,b.openWorkspace)(),H=e.trim(),[B,W,K,V,J,G,Y,Z,X]=await Promise.all([(0,f.loadSkills)(F,H),(0,g.listNoteIndex)(),(0,z.listConnectedToolNames)(),(0,m.findPinnedTools)(H),(0,l.listJobBots)(),(0,s.listBotMemory)(H),(0,l.readBotMemoryOn)(),(0,b.readMachineTools)(F),(0,h.listBotWork)(H,n?.thread??null)]),Q=J.filter(e=>e.name!==H),ee=J.find(e=>e.name===H)??await (0,l.findJobBot)(H),et=[(c=H,d=ee,p=n,$=(R=p?.owner??c)===c?"**You** coordinate this thread: its result goes from you to Thursday.":`**${R}** coordinates this thread and brings its result to Thursday.`,M=p?`
|
|
2
2
|
|
|
3
3
|
Current conversation: ${p.caller} → ${c}. Your final text goes back to ${p.caller}.`:"",N=d?`
|
|
4
4
|
Others know you as: ${(0,u.rosterLine)(d)}`:"",L=S(c,p)?"your tools, the other bots, this machine":`your tools, this machine, and the other bots through ${R}`,`You are ${c}, one of the bots in this thread. ${(0,v.todayLine)()}${N}
|
|
@@ -24,7 +24,7 @@ Names only: \`${a.TOOL_NAMES.tool_search}\` returns what each one takes, \`${a.T
|
|
|
24
24
|
|
|
25
25
|
Written-down ways of doing things. Open one with \`${a.TOOL_NAMES.load_skill}\` before a job it covers, unless its instructions are already in your conversation.
|
|
26
26
|
|
|
27
|
-
${(0,v.skillLines)(x)}`),I(F.cwd,Z,i),Y?(O=(0,s.botMemoryFolder)(H),P=(E=G).entries.length?E.entries.map(({file:e,line:t,at:n})=>{let i=t?` — ${(0,
|
|
27
|
+
${(0,v.skillLines)(x)}`),I(F.cwd,Z,i),Y?(O=(0,s.botMemoryFolder)(H),P=(E=G).entries.length?E.entries.map(({file:e,line:t,at:n})=>{let i=t?` — ${(0,w.clip)(t,r.PROMPT_LINE.botMemory)}`:"";return`- ${e}${i} \xb7 ${(0,o.format)((0,_.toDate)(n),"yyyy-MM-dd")}`}).join("\n"):"Empty.",U=E.total>E.entries.length?`
|
|
28
28
|
|
|
29
29
|
The newest ${E.entries.length} of ${E.total}; \`ls ${O}\` for the rest.`:"",`## Your memory
|
|
30
30
|
|
|
@@ -32,7 +32,7 @@ What you learned on your own earlier jobs, in \`${O}/\`: one topic per file, its
|
|
|
32
32
|
|
|
33
33
|
${P}${U}`):"",(C=`${(0,b.botFolder)(H)}/${r.PATHS.skills.own}`,`## Your own skills
|
|
34
34
|
|
|
35
|
-
A skill in \`${C}/\` is listed to you alone, and read on every step you take, so keep few. Write one only when the job is a kind that comes again — a routine runs it, or your other threads show the same kind of job — and doing it well took a way of working, not a fact your memory can hold. Before writing one, improve the one of yours that covers the job instead. Write it as the skill-creator skill says; the job you just did is its test, so validate it and run no test prompts. Say in one line of your answer which skill you wrote or changed. Any skill outside that folder changes only when the user asks.`),function(e,t){if(!t.open.length&&!t.recent.length)return"";let n=t=>{let n=t.said?` — ${(0,
|
|
35
|
+
A skill in \`${C}/\` is listed to you alone, and read on every step you take, so keep few. Write one only when the job is a kind that comes again — a routine runs it, or your other threads show the same kind of job — and doing it well took a way of working, not a fact your memory can hold. Before writing one, improve the one of yours that covers the job instead. Write it as the skill-creator skill says; the job you just did is its test, so validate it and run no test prompts. Say in one line of your answer which skill you wrote or changed. Any skill outside that folder changes only when the user asks.`),function(e,t){if(!t.open.length&&!t.recent.length)return"";let n=t=>{let n=t.said?` — ${(0,w.clip)(t.said,r.BOT_WORK.said)}`:"",o=t.said?(0,y.pathsIn)(t.said).slice(0,r.BOT_WORK.files):[],i=o.length?` \xb7 ${o.map(e=>`\`${e}\``).join(", ")}`:"";return`- ${t.cut?`[${(0,u.workHandle)(t.id)}] `:""}${(0,v.botWorkHead)(t,e)}${n}${i}`},o=(e,t)=>t.length?`${e}
|
|
36
36
|
${t.map(n).join("\n")}`:"",i=[...t.open,...t.recent].some(e=>e.cut)?` A line with an id in brackets was cut short: \`${a.TOOL_NAMES.thread_recall}\` opens that one whole, for when this job builds on it.`:"";return`## Your other threads
|
|
37
37
|
|
|
38
38
|
Your threads besides this one. You remember none of them here: each line is where it stands, your own last words there, and the files those words name.${i}
|
|
@@ -55,7 +55,7 @@ Nobody sees your work but you: ${q} sees only your final text, so it has to stan
|
|
|
55
55
|
|
|
56
56
|
Your final text is your answer to ${q}, and all they see of your work: give them everything they need to carry on. When you cannot go on without something — from them, from another bot, or a fact only the user has, such as a date, a name, a place or an amount — end with that question instead of guessing it or leaving a blank; ${q} gets it for you, and their reply brings you back with all you have done still in front of you.
|
|
57
57
|
|
|
58
|
-
${D}`),T(H,t)].filter(Boolean).join("\n\n");return(0,v.logPromptSize)("bot",et),{text:et}}[l,h,m,g,f,
|
|
58
|
+
${D}`),T(H,t)].filter(Boolean).join("\n\n");return(0,v.logPromptSize)("bot",et),{text:et}}[l,h,m,g,f,z]=k.then?(await k)():k;let T=(e,t)=>{let n=t?.trim();return n?(0,c.findBotSeed)(e)?.systemPrompt.trim()===n||(0,d.wasSeedRole)(e,n)?`## Your role
|
|
59
59
|
|
|
60
60
|
What this bot is for, as the app sets it up. Where it and anything above disagree, it wins. The form it names is where to start: a job that asks for another — one page, slides, a sheet, a few lines — gets that one.
|
|
61
61
|
|
|
@@ -84,7 +84,7 @@ ${(0,i.botGuideLine)()}`};function S(e,t){return!t||(0,p.isCoordinatorSeat)(e,t.
|
|
|
84
84
|
|
|
85
85
|
${e.request.trim()}`}];let{from:t}=e.job;return[{type:"text",text:`You are ${e.bot}. ${t} brings you into this thread, ${t===e.coordinator?"which they coordinate":`which ${e.coordinator} coordinates`}.`},{type:"text",text:`## ${t} → ${e.bot}: the job
|
|
86
86
|
|
|
87
|
-
${e.job.text.trim()}`}]},"buildThreadOpening",0,function(e){if(e.routine){let{when:t,last:n}=e.routine,i=n?` Its last run ended ${(0,o.format)(n.at,"yyyy-MM-dd HH:mm")}: ${(0,
|
|
87
|
+
${e.job.text.trim()}`}]},"buildThreadOpening",0,function(e){if(e.routine){let{when:t,last:n}=e.routine,i=n?` Its last run ended ${(0,o.format)(n.at,"yyyy-MM-dd HH:mm")}: ${(0,w.clip)(n.said,r.PROMPT_LINE.jobOutcome)}`:" This is its first run.";return[{type:"text",text:`You are ${e.bot}. A routine the user set up hands you this thread: it starts by itself, ${t}, and nobody is watching as it does.${i}`},{type:"text",text:`## The routine → ${e.bot}: the job
|
|
88
88
|
|
|
89
89
|
${e.request.trim()}`}]}let t="user"===e.from?"The user":"Thursday";return[{type:"text",text:`You are ${e.bot}. ${t} hands you this thread${"user"===e.from?" on screen":" during a call"}.`},{type:"text",text:`## ${t} → ${e.bot}: the job
|
|
90
90
|
|
|
@@ -95,19 +95,19 @@ Their own words, on top of the character above: how you talk to them, how much t
|
|
|
95
95
|
${e.trim()}`:"","thursdayIdentity",0,(e=new Date,t)=>`You are Thursday, this user's own: their friend first, and their assistant second — someone they call because they want to talk to you, who can also get whatever they need done in the background: your bots work on this computer, with a shell, a browser and their files, while you two keep talking, and what they make stays here as a page or a file. Named after Friday, the AI in *Iron Man*: a name, not a day of the week. ${((e=new Date)=>`**Now**: ${d(e)}`)(e)}${m(t)?`
|
|
96
96
|
${m(t)}`:""}
|
|
97
97
|
|
|
98
|
-
What they tell you is kept, so you know them better over time.`,"tidying",0,e=>({crowded:e.reduce((e,t)=>e+t.factCount,0)>o.MEMORY_LIMITS.facts,heavy:e.filter(e=>e.factCount>o.MEMORY_LIMITS.factsPerNote)}),"todayLine",0,(e=new Date)=>`**Today**: ${p(e)}, ${Intl.DateTimeFormat().resolvedOptions().timeZone} — \`date\` has the exact time`])},423620,e=>e.a(async(t,n)=>{try{var o=e.i(691296),r=e.i(749906),i=e.i(333925),a=e.i(636608),s=e.i(51083),l=e.i(951056),u=e.i(600690),c=e.i(5509),d=e.i(64774),p=t([c]);[c]=p.then?(await p)():p;let m=r.string().describe("Its label or id."),g={description:"Start a new thread: hand work to a bot. Returns a receipt at once; the work runs in the background and its updates reach the conversation on their own.",parameters:r.object({bot:r.string().describe("A name from the bot list."),request:r.string().describe("The whole of the work. 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 work 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:r.string().describe("Two or three words naming the thread, in the user's language. Used on screen and said out loud.")})},f={description:"Say something to a thread that exists. Its bot reads it with everything the thread already holds.",parameters:r.object({thread:m,words:r.string().describe("What to tell its bot, in the user's language and words.")})},y={description:`Answer a question a bot asked the user. Only for a question that is waiting; anything else said to a thread is \`${s.TOOL_NAMES.thread_tell}\`.`,parameters:r.object({thread:m,bot:r.string().describe("The bot that asked."),answer:r.string().describe("The user's answer, in their words.")})},b={description:`Read threads as they are now. "all" lists up to ${i.THREAD_STATUS_LIMIT}, running and waiting work before recent endings; a label or an id reads that one whole, with its result and any question waiting.`,parameters:r.object({thread:r.string().describe('"all", or one thread by its label or its id.')})},_={description:"Stop a thread now: its bot stops where it is. The thread is kept, and saying more to it later carries it on.",parameters:r.object({thread:m})},
|
|
98
|
+
What they tell you is kept, so you know them better over time.`,"tidying",0,e=>({crowded:e.reduce((e,t)=>e+t.factCount,0)>o.MEMORY_LIMITS.facts,heavy:e.filter(e=>e.factCount>o.MEMORY_LIMITS.factsPerNote)}),"todayLine",0,(e=new Date)=>`**Today**: ${p(e)}, ${Intl.DateTimeFormat().resolvedOptions().timeZone} — \`date\` has the exact time`])},423620,e=>e.a(async(t,n)=>{try{var o=e.i(691296),r=e.i(749906),i=e.i(333925),a=e.i(636608),s=e.i(51083),l=e.i(951056),u=e.i(600690),c=e.i(5509),d=e.i(64774),p=t([c]);[c]=p.then?(await p)():p;let m=r.string().describe("Its label or id."),g={description:"Start a new thread: hand work to a bot. Returns a receipt at once; the work runs in the background and its updates reach the conversation on their own.",parameters:r.object({bot:r.string().describe("A name from the bot list."),request:r.string().describe("The whole of the work. 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 work 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:r.string().describe("Two or three words naming the thread, in the user's language. Used on screen and said out loud.")})},f={description:"Say something to a thread that exists. Its bot reads it with everything the thread already holds.",parameters:r.object({thread:m,words:r.string().describe("What to tell its bot, in the user's language and words.")})},y={description:`Answer a question a bot asked the user. Only for a question that is waiting; anything else said to a thread is \`${s.TOOL_NAMES.thread_tell}\`.`,parameters:r.object({thread:m,bot:r.string().describe("The bot that asked."),answer:r.string().describe("The user's answer, in their words.")})},b={description:`Read threads as they are now. "all" lists up to ${i.THREAD_STATUS_LIMIT}, running and waiting work before recent endings; a label or an id reads that one whole, with its result and any question waiting.`,parameters:r.object({thread:r.string().describe('"all", or one thread by its label or its id.')})},_={description:"Stop a thread now: its bot stops where it is. The thread is kept, and saying more to it later carries it on.",parameters:r.object({thread:m})},w={description:"Put a thread in front of the user on their screen: the file it made, or the thread itself when it made none. Showing it also counts as them having seen its result.",parameters:r.object({thread:m})},z={description:"Mark a thread's result as seen by the user. It leaves the work waiting on them.",parameters:r.object({thread:m})},v={description:"Hand part of the job to another bot, or put a question to the user through Thursday; the receipt comes back at once. A bot answers with the last words of its turn, which reach you later as a new message and start your next turn. Your own result reaches the user as the last words of your turn, so Thursday takes only questions.",parameters:u.RoomMessageSchema.extend({kind:u.RoomMessageSchema.shape.kind.describe("question to Thursday when only the user can answer: it ends your turn, and you continue when the answer arrives. message to a bot."),options:u.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:r.string().trim().min(1).describe("A bot from the roster, or Thursday for a question to the user."),text:r.string().trim().min(1).describe("Write the message and include the context the recipient needs. **What the user asked, never your reading of it**: a condition, a caution or a smaller goal they did not say is how work comes back as the wrong thing. A question to Thursday is put to the user word for word, on screen, on their phone and read aloud: write it to them."),why:r.string().trim().min(1).describe("What you need from them, in a few words, written for the user to read: they see who was brought in and what for."),after:u.RoomMessageSchema.shape.after.describe("Bots already working for you whose answers this work needs. It goes out with their answers attached once they are all back and you end the turn in which you read them, so hand it out now rather than holding it yourself. If an answer shows the work cannot go yet, send that bot more or ask the user in that turn, and it keeps waiting.")})},k={description:"Open one of your other threads whole: what you were asked there and your last words in full.",parameters:r.object({id:r.string().describe("The id in brackets on its line under Your other threads.")})};async function h(e,t){let n=await (0,c.listBotWork)(e,t),r=[...n.open,...n.recent];if(!r.some(e=>e.cut))return{};let u=new Set;return{[s.TOOL_NAMES.thread_recall]:(0,o.tool)({description:k.description,inputSchema:k.parameters,execute:async({id:t})=>{let n=t.trim().replace(/^\[|\]$/g,"").toLowerCase(),o=r.find(e=>n.length>=4&&(e.id.startsWith(n)||e.label.toLowerCase()===n));if(!o)return`No thread "${t}" on your list. The ids there: ${r.filter(e=>e.cut).map(e=>(0,l.workHandle)(e.id)).join(", ")}.`;if(!o.cut)return"Its line already shows all of it.";if(u.has(o.id))return"Already opened above, this turn.";if(u.size>=i.BOT_WORK.reads)return`${i.BOT_WORK.reads} threads are open already this turn. Carry on with what you have.`;u.add(o.id);let s=await (0,c.readBotAsk)(e,o),p=o.said??"";return[(0,a.botWorkHead)(o,e),s?`You were asked: ${(0,d.clip)(s,i.BOT_WORK.asked)}`:"",`Your last words there:
|
|
99
99
|
${p.length>i.BOT_WORK.readChars?`${p.slice(0,i.BOT_WORK.readChars)}
|
|
100
|
-
[Cut here; the files it names hold the rest.]`:p}`].filter(Boolean).join("\n\n")}})}}e.s(["createThreadRecallTool",0,h,"sendMessageSpec",0,v,"threadAnswerSpec",0,y,"threadCancelSpec",0,_,"threadSeenSpec",0,
|
|
100
|
+
[Cut here; the files it names hold the rest.]`:p}`].filter(Boolean).join("\n\n")}})}}e.s(["createThreadRecallTool",0,h,"sendMessageSpec",0,v,"threadAnswerSpec",0,y,"threadCancelSpec",0,_,"threadSeenSpec",0,z,"threadShowSpec",0,w,"threadStartSpec",0,g,"threadStatusSpec",0,b,"threadTellSpec",0,f]),n()}catch(e){n(e)}},!1),330436,e=>{"use strict";var t=e.i(691296),n=e.i(749906),o=e.i(51083);let r=Object.keys({A:[".##.","#..#","####","#..#","#..#"],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:["####","...#",".##.","#...","####"],0:[".##.","#.##","#..#","##.#",".##."],1:[".#.","##.",".#.",".#.","###"],2:["###.","...#",".##.","#...","####"],3:["###.","...#",".##.","...#","###."],4:["#..#","#..#","####","...#","...#"],5:["####","#...","###.","...#","###."],6:[".##.","#...","###.","#..#",".##."],7:["####","...#","..#.",".#..",".#.."],8:[".##.","#..#",".##.","#..#",".##."],9:[".##.","#..#",".###","...#",".##."],"!":["#","#","#",".","#"],"?":["###.","...#",".##.","....",".#.."],".":[".",".",".",".","#"],",":["..","..","..",".#","#."],"'":["#","#",".",".","."],"-":["...","...","###","...","..."],"+":["...",".#.","###",".#.","..."],":":[".","#",".","#","."],"(":[".#","#.","#.","#.",".#"],")":["#.",".#",".#",".#","#."],"<":["..#",".#.","#..",".#.","..#"],">":["#..",".#.","..#",".#.","#.."],"^":[".#.","#.#","...","...","..."],"~":["....",".#.#","#.#.","....","...."],"♥":[".#.#.","#####","#####",".###.","..#.."]," ":["..","..","..","..",".."]}).filter(e=>!/^[A-Z0-9 ]$/.test(e)),i={description:`End the call.
|
|
101
101
|
|
|
102
|
-
The line stays open until this runs, and drops once the goodbye being said is over.`,parameters:n.object({})},a=(0,t.tool)({description:i.description,inputSchema:i.parameters}),s={description:"Show a short word on your face for a few seconds.",parameters:n.object({text:n.string().describe(`Up to 8 characters: A-Z, 0-9, space and ${r.join(" ")}.`)})},l=(0,t.tool)({description:s.description,inputSchema:s.parameters});e.s(["callTools",0,function(){return{[o.TOOL_NAMES.end_call]:a,[o.TOOL_NAMES.emote]:l}}],330436)},448548,e=>{"use strict";var t=e.i(874533),n=e.i(912714),o=e.i(660526),r=e.i(750227),i=e.i(812057),a=e.i(691296),s=e.i(517435),l=e.i(333925),u=e.i(51083),c=e.i(375814),d=e.i(871096);let p=(0,r.join)(l.APP_DIR,l.PATHS.skills.default,"artifact",l.PATHS.skills.runtime,"deck","deck.mjs"),h=e=>s.default.string().trim().max(e),m=h(100).nullish().describe("A source or a date along the foot of the slide."),g=h(1500).nullish().describe("What the presenter says over it, as speech; a video of the deck reads it aloud. Never shown."),f=h(500).describe("Workspace path of a png, jpg, webp, gif or svg. It is copied beside the deck."),y=s.default.object({layout:s.default.literal("cover"),title:h(110).describe("The deck's subject, as its title."),eyebrow:h(40).nullish().describe("A word or two above the title."),subtitle:h(180).nullish().describe("One line under the title."),footer:m,notes:g}),b=s.default.object({layout:s.default.literal("statement"),title:h(120).describe("The one claim, as a sentence."),subtitle:h(140).nullish().describe("One line under it."),notes:g}),_=s.default.object({layout:s.default.literal("cards"),title:h(90).describe("The point the cards make together."),cards:s.default.array(s.default.object({title:h(60).describe("Its point."),text:h(160).nullish().describe("One line under it.")})).min(2).max(4).describe("Two to four, side by side and numbered."),footer:m,notes:g}),z=s.default.object({layout:s.default.literal("number"),value:h(10).describe("The figure as it reads: 1.4M, 62%, £2,900. Only one you were given."),label:h(80).nullish().describe("What it counts, above it."),subtitle:h(160).nullish().describe("What it means or is compared with, under it."),footer:m,notes:g}),w=s.default.object({layout:s.default.literal("table"),title:h(90).describe("What the comparison shows."),columns:s.default.array(h(40)).min(2).max(5).describe("The header row. The first column names the rows; its header may be blank."),rows:s.default.array(s.default.array(h(60))).min(1).max(6).describe("Up to six, a cell for each column."),stress:s.default.number().int().min(0).max(4).nullish().describe("Which column, counted from 0, to set in the accent: the one the slide argues for."),footer:m,notes:g}),v=s.default.object({layout:s.default.literal("quote"),quote:h(280).describe("Someone's own words, exactly as you were given them. Never made up."),who:h(60).describe("Who said it."),role:h(80).nullish().describe("Their role, place or date."),notes:g}),k=s.default.object({layout:s.default.literal("image"),title:h(90).describe("The heading beside the picture."),subtitle:h(280).nullish().describe("A line or two under it."),image:f,alt:h(160).describe("What it shows, for someone who cannot see it."),fit:s.default.enum(["fill","whole"]).nullish().describe("fill crops a photo to its box; whole shows a chart or screenshot uncropped. Null for fill."),footer:m,notes:g}),x=s.default.object({layout:s.default.literal("picture"),image:f,alt:h(160).describe("What it shows, for someone who cannot see it."),text:h(110).describe("The line under the picture: what it shows, in short everyday words."),more:h(110).nullish().describe("A second, lighter line, only when one more is needed."),term:h(40).nullish().describe("The new word this slide names, exactly as `text` writes it: it is marked there. Only on the slide whose picture has just shown the thing."),fit:s.default.enum(["whole","fill"]).nullish().describe("whole shows a drawing, chart or screenshot uncropped; fill crops a photo to its box. Null for whole."),footer:m,notes:g}),S=s.default.object({layout:s.default.literal("quiz"),question:h(120).describe("One question about what the slides before it showed."),choices:s.default.array(s.default.object({text:h(40).describe("The pick, in a word or two."),image:f.nullish()})).min(2).max(4).describe("Two to four picks, side by side."),right:s.default.number().int().min(0).max(3).describe("Which pick is right, counted from 0."),answer:h(160).describe("Why that one is right, in a sentence: shown once a pick is made, and printed."),notes:g}),T=s.default.object({layout:s.default.literal("close"),title:h(120).describe("The sentence to repeat to someone who was not there."),steps:s.default.array(s.default.object({label:h(24).describe("A word or two: Next, Owner, By."),text:h(120).describe("What it is.")})).max(3).nullish().describe("Up to three next steps."),notes:g}),I=s.default.object({layout:s.default.literal("timeline"),title:h(90).describe("What the dates show together."),steps:s.default.array(s.default.object({when:h(24).describe("When, as you were given it: a date, a week, a phase."),title:h(60).describe("What happens then."),text:h(120).nullish().describe("One line under it.")})).min(2).max(5).describe("Two to five, in order, along one line."),footer:m,notes:g}),O=s.default.object({layout:s.default.literal("compare"),title:h(90).describe("What changes between the two, as a sentence."),sides:s.default.array(s.default.object({label:h(30).describe("Which side it is: Now, After, Option A."),points:s.default.array(h(90)).min(1).max(4)})).length(2).describe("The two, left then right; the right is set in the accent: the side the slide argues for."),footer:m,notes:g}),E=s.default.object({layout:s.default.literal("stats"),title:h(90).describe("What the figures say together."),stats:s.default.array(s.default.object({value:h(12).describe("The figure as it reads: 1.4M, 62%, 6 hours. Only one you were given."),label:h(80).describe("What it counts, under it.")})).min(2).max(4).describe("Two to four figures side by side."),footer:m,notes:g}),C=s.default.discriminatedUnion("layout",[y,b,_,z,w,v,k,x,S,I,O,E,T]),A=s.default.object({deck:h(300).describe("A name for a new deck, or the name or workspace path of one to change. A deck another bot made is reached by its path."),title:h(90).describe("The deck's title, shown in its head."),theme:s.default.enum(["forest","sea","clay","ink","paper","night"]).nullish().describe("forest (deep green on paper, serif headings), sea (blue, sans), clay (terracotta on warm paper, serif), ink (gold on near-black, sans), paper (black on white, bold sans) or night (white on black, bold sans). Null keeps the deck's own; a new one starts in forest."),revision:s.default.string().nullish().describe("What the last call on this deck answered with. Null for a new deck."),slides:s.default.array(C).min(1).max(l.DECK.slides).describe("Every slide in order: the whole deck, each time. Someone who reads only the titles follows the argument; one idea a slide.")}),j=/^[\p{L}\p{N}][\p{L}\p{N}_-]{0,79}$/u,R=/^(slide-\d+|slides)\.png$/i;class $ extends Error{}function M(e){let t=e.replace(/[^\p{L}\p{N}_-]+/gu,"-").replace(/^[-_]+|-+$/g,"").slice(0,80);if(!j.test(t))throw new $(`"${e}" is not a deck name: use letters, numbers, - and _.`);return t}async function N(e,t){let o=(0,d.botArtifacts)(t);if(!e.includes("/")&&!e.endsWith(".html")){let t=M(e);return`${o}/${t}/${t}.html`}let i=await (0,d.insideWorkspace)(e);if(!i)throw new $(`${e} is outside the workspace. Give a deck's path in it.`);let a=await (0,n.realpath)(d.WORKSPACE).catch(()=>d.WORKSPACE),s=await (0,n.stat)(i).catch(()=>null),l=s?.isDirectory()?(0,r.join)(i,`${(0,r.basename)(i)}.html`):i;if((await (0,n.stat)(l).catch(()=>null))?.isFile())return(0,r.relative)(a,l);let u=await (0,d.insideWorkspace)(o);if(!u||!i.startsWith(`${u}${r.sep}`))throw new $(`There is no deck at ${e}. A new deck is made in your own folder: give it a name.`);let c=M((0,r.basename)(i,".html"));return(0,r.relative)(a,(0,r.join)((0,r.dirname)(i),c,`${c}.html`))}async function L(e,t,o){let i=t.resolve(o),a=new Map,s=async(e,o)=>{let s=(0,r.join)(i,o),l=!o.includes("/")&&await (0,n.stat)(s).catch(()=>null)?s:t.resolve(o);if("image"!==(0,c.viewKindOf)(l))throw new $(`Slide ${e+1}: ${o} is not a picture. Give a png, jpg, webp, gif or svg.`);if(!(await (0,n.stat)(l).catch(()=>null))?.isFile())throw new $(`Slide ${e+1}: there is no file at ${o}. Give its path from the workspace root, as \`ls\` shows it.`);let u=a.get(l);if(!u){if((0,r.dirname)(l)===i)u=(0,r.basename)(l);else{let e=await P(i,l,new Set(a.values()));u=e.name,e.there||(await (0,n.mkdir)(i,{recursive:!0}),await (0,n.copyFile)(l,(0,r.join)(i,u)))}a.set(l,u)}return u},l=[];for(let[t,n]of e.entries())if("table"===n.layout){let e=n.rows.findIndex(e=>e.length>n.columns.length);if(-1!==e)throw new $(`Slide ${t+1}: row ${e+1} has ${n.rows[e].length} cells, and there are ${n.columns.length} columns.`);l.push({...n,rows:n.rows.map(e=>n.columns.map((t,n)=>e[n]??""))})}else if("image"===n.layout||"picture"===n.layout)l.push({...n,image:await s(t,n.image)});else if("quiz"===n.layout){if(n.right>=n.choices.length)throw new $(`Slide ${t+1}: right is ${n.right}, and there are ${n.choices.length} picks, counted from 0.`);let e=[];for(let o of n.choices)e.push(o.image?{...o,image:await s(t,o.image)}:o);l.push({...n,choices:e})}else l.push(n);return l}async function P(e,t,o){let i=(0,r.extname)(t),a=(0,r.basename)(t,i),s=R.test((0,r.basename)(t))?`picture-${a}`:a,l=await (0,n.readFile)(t);for(let t=1;;t++){let a=1===t?`${s}${i}`:`${s}-${t}${i}`;if(o.has(a))continue;let u=await (0,n.readFile)((0,r.join)(e,a)).catch(()=>null);if(!u)return{name:a,there:!1};if(u.equals(l))return{name:a,there:!0}}}let U=(0,i.promisify)(t.execFile);async function q(e,t,i,a,s){let l=await (0,n.mkdtemp)((0,r.join)((0,o.tmpdir)(),"thursday-deck-"));try{let o=(0,r.join)(l,"deck.json");await (0,n.writeFile)(o,JSON.stringify(t));let u=[p,"put",(0,r.join)(d.WORKSPACE,e),o];i&&u.push("--revision",i);let c=await U(process.execPath,u,{env:{NODE_ENV:"production",PATH:process.env.PATH??"",THURSDAY_BOT:a,...s?{THURSDAY_BOT_MARK:s}:{}},maxBuffer:0x1000000}).catch(e=>{if(3===e.code&&e.stdout)return{stdout:e.stdout};throw new $(e.stderr?.trim().split("\n").at(-1)||"The deck could not be written.")});return JSON.parse(c.stdout.trim().split("\n").at(-1)??"")}finally{await (0,n.rm)(l,{recursive:!0,force:!0})}}async function D(e,t,n,o){let i=await e.exec('node "$DECK_SCRIPT" shots "$DECK_FILE"',{env:{...n,DECK_SCRIPT:p,DECK_FILE:(0,r.join)(d.WORKSPACE,t)},timeoutMs:l.DECK.shotsMs,signal:o});if(0!==i.exitCode)return{failed:i.stderr.trim().split("\n").at(-1)||"no pictures were made"};let a=JSON.parse(i.stdout.trim().split("\n").at(-1)??"{}");return{pictures:a.pictures.map(e=>(0,r.relative)(d.WORKSPACE,e)),sheet:a.sheet?(0,r.relative)(d.WORKSPACE,a.sheet):null,cut:a.cut}}e.s(["createDeckTools",0,(e,t,o,i)=>({[u.TOOL_NAMES.make_deck]:(0,a.tool)({description:"Make a slide deck, or change one: each slide a layout whose fields you fill, drawn and fitted by the app into one HTML file that opens offline, presents full screen and prints a slide a page, with a picture of every slide beside it.",inputSchema:A,execute:async(n,{abortSignal:i})=>{try{let a,s=await N(n.deck,t),l=await L(n.slides,e,(0,r.dirname)(s)),c=await q(s,{title:n.title,theme:n.theme??null,slides:l},n.revision?.trim()??"",t,o.THURSDAY_BOT_MARK);if("changed"in c){if(!c.deck)return`${s} is not a deck made of slides, so it cannot be changed here. Give the deck another name.`;let e=n.revision?.trim()?`${s} has changed since that revision — edited in the app, or by another job`:`there is already a deck at ${s}`;return{deck:s,revision:c.revision,note:`Nothing was written: ${e}. This is the deck as it stands. To change it, make your change on these slides and call \`${u.TOOL_NAMES.make_deck}\` again with revision ${c.revision} and the whole deck; for a deck of its own, give a new name.`,current:c.deck}}let d=`${l.length} slide${1===l.length?"":"s"}, revision ${c.revision}`,p=await D(e,s,o,i);if("failed"in p)return`${s}
|
|
102
|
+
The line stays open until this runs, and drops once the goodbye being said is over.`,parameters:n.object({})},a=(0,t.tool)({description:i.description,inputSchema:i.parameters}),s={description:"Show a short word on your face for a few seconds.",parameters:n.object({text:n.string().describe(`Up to 8 characters: A-Z, 0-9, space and ${r.join(" ")}.`)})},l=(0,t.tool)({description:s.description,inputSchema:s.parameters});e.s(["callTools",0,function(){return{[o.TOOL_NAMES.end_call]:a,[o.TOOL_NAMES.emote]:l}}],330436)},448548,e=>{"use strict";var t=e.i(874533),n=e.i(912714),o=e.i(660526),r=e.i(750227),i=e.i(812057),a=e.i(691296),s=e.i(517435),l=e.i(333925),u=e.i(51083),c=e.i(375814),d=e.i(871096);let p=(0,r.join)(l.APP_DIR,l.PATHS.skills.default,"artifact",l.PATHS.skills.runtime,"deck","deck.mjs"),h=e=>s.default.string().trim().max(e),m=h(100).nullish().describe("A source or a date along the foot of the slide."),g=h(1500).nullish().describe("What the presenter says over it, as speech; a video of the deck reads it aloud. Never shown."),f=h(500).describe("Workspace path of a png, jpg, webp, gif or svg. It is copied beside the deck."),y=s.default.object({layout:s.default.literal("cover"),title:h(110).describe("The deck's subject, as its title."),eyebrow:h(40).nullish().describe("A word or two above the title."),subtitle:h(180).nullish().describe("One line under the title."),footer:m,notes:g}),b=s.default.object({layout:s.default.literal("statement"),title:h(120).describe("The one claim, as a sentence."),subtitle:h(140).nullish().describe("One line under it."),notes:g}),_=s.default.object({layout:s.default.literal("cards"),title:h(90).describe("The point the cards make together."),cards:s.default.array(s.default.object({title:h(60).describe("Its point."),text:h(160).nullish().describe("One line under it.")})).min(2).max(4).describe("Two to four, side by side and numbered."),footer:m,notes:g}),w=s.default.object({layout:s.default.literal("number"),value:h(10).describe("The figure as it reads: 1.4M, 62%, £2,900. Only one you were given."),label:h(80).nullish().describe("What it counts, above it."),subtitle:h(160).nullish().describe("What it means or is compared with, under it."),footer:m,notes:g}),z=s.default.object({layout:s.default.literal("table"),title:h(90).describe("What the comparison shows."),columns:s.default.array(h(40)).min(2).max(5).describe("The header row. The first column names the rows; its header may be blank."),rows:s.default.array(s.default.array(h(60))).min(1).max(6).describe("Up to six, a cell for each column."),stress:s.default.number().int().min(0).max(4).nullish().describe("Which column, counted from 0, to set in the accent: the one the slide argues for."),footer:m,notes:g}),v=s.default.object({layout:s.default.literal("quote"),quote:h(280).describe("Someone's own words, exactly as you were given them. Never made up."),who:h(60).describe("Who said it."),role:h(80).nullish().describe("Their role, place or date."),notes:g}),k=s.default.object({layout:s.default.literal("image"),title:h(90).describe("The heading beside the picture."),subtitle:h(280).nullish().describe("A line or two under it."),image:f,alt:h(160).describe("What it shows, for someone who cannot see it."),fit:s.default.enum(["fill","whole"]).nullish().describe("fill crops a photo to its box; whole shows a chart or screenshot uncropped. Null for fill."),footer:m,notes:g}),x=s.default.object({layout:s.default.literal("picture"),image:f,alt:h(160).describe("What it shows, for someone who cannot see it."),text:h(110).describe("The line under the picture: what it shows, in short everyday words."),more:h(110).nullish().describe("A second, lighter line, only when one more is needed."),term:h(40).nullish().describe("The new word this slide names, exactly as `text` writes it: it is marked there. Only on the slide whose picture has just shown the thing."),fit:s.default.enum(["whole","fill"]).nullish().describe("whole shows a drawing, chart or screenshot uncropped; fill crops a photo to its box. Null for whole."),footer:m,notes:g}),S=s.default.object({layout:s.default.literal("quiz"),question:h(120).describe("One question about what the slides before it showed."),choices:s.default.array(s.default.object({text:h(40).describe("The pick, in a word or two."),image:f.nullish()})).min(2).max(4).describe("Two to four picks, side by side."),right:s.default.number().int().min(0).max(3).describe("Which pick is right, counted from 0."),answer:h(160).describe("Why that one is right, in a sentence: shown once a pick is made, and printed."),notes:g}),T=s.default.object({layout:s.default.literal("close"),title:h(120).describe("The sentence to repeat to someone who was not there."),steps:s.default.array(s.default.object({label:h(24).describe("A word or two: Next, Owner, By."),text:h(120).describe("What it is.")})).max(3).nullish().describe("Up to three next steps."),notes:g}),I=s.default.object({layout:s.default.literal("timeline"),title:h(90).describe("What the dates show together."),steps:s.default.array(s.default.object({when:h(24).describe("When, as you were given it: a date, a week, a phase."),title:h(60).describe("What happens then."),text:h(120).nullish().describe("One line under it.")})).min(2).max(5).describe("Two to five, in order, along one line."),footer:m,notes:g}),O=s.default.object({layout:s.default.literal("compare"),title:h(90).describe("What changes between the two, as a sentence."),sides:s.default.array(s.default.object({label:h(30).describe("Which side it is: Now, After, Option A."),points:s.default.array(h(90)).min(1).max(4)})).length(2).describe("The two, left then right; the right is set in the accent: the side the slide argues for."),footer:m,notes:g}),E=s.default.object({layout:s.default.literal("stats"),title:h(90).describe("What the figures say together."),stats:s.default.array(s.default.object({value:h(12).describe("The figure as it reads: 1.4M, 62%, 6 hours. Only one you were given."),label:h(80).describe("What it counts, under it.")})).min(2).max(4).describe("Two to four figures side by side."),footer:m,notes:g}),C=s.default.discriminatedUnion("layout",[y,b,_,w,z,v,k,x,S,I,O,E,T]),A=s.default.object({deck:h(300).describe("A name for a new deck, or the name or workspace path of one to change. A deck another bot made is reached by its path."),title:h(90).describe("The deck's title, shown in its head."),theme:s.default.enum(["forest","sea","clay","ink","paper","night"]).nullish().describe("forest (deep green on paper, serif headings), sea (blue, sans), clay (terracotta on warm paper, serif), ink (gold on near-black, sans), paper (black on white, bold sans) or night (white on black, bold sans). Null keeps the deck's own; a new one starts in forest."),revision:s.default.string().nullish().describe("What the last call on this deck answered with. Null for a new deck."),slides:s.default.array(C).min(1).max(l.DECK.slides).describe("Every slide in order: the whole deck, each time. Someone who reads only the titles follows the argument; one idea a slide.")}),j=/^[\p{L}\p{N}][\p{L}\p{N}_-]{0,79}$/u,R=/^(slide-\d+|slides)\.png$/i;class $ extends Error{}function M(e){let t=e.replace(/[^\p{L}\p{N}_-]+/gu,"-").replace(/^[-_]+|-+$/g,"").slice(0,80);if(!j.test(t))throw new $(`"${e}" is not a deck name: use letters, numbers, - and _.`);return t}async function N(e,t){let o=(0,d.botArtifacts)(t);if(!e.includes("/")&&!e.endsWith(".html")){let t=M(e);return`${o}/${t}/${t}.html`}let i=await (0,d.insideWorkspace)(e);if(!i)throw new $(`${e} is outside the workspace. Give a deck's path in it.`);let a=await (0,n.realpath)(d.WORKSPACE).catch(()=>d.WORKSPACE),s=await (0,n.stat)(i).catch(()=>null),l=s?.isDirectory()?(0,r.join)(i,`${(0,r.basename)(i)}.html`):i;if((await (0,n.stat)(l).catch(()=>null))?.isFile())return(0,r.relative)(a,l);let u=await (0,d.insideWorkspace)(o);if(!u||!i.startsWith(`${u}${r.sep}`))throw new $(`There is no deck at ${e}. A new deck is made in your own folder: give it a name.`);let c=M((0,r.basename)(i,".html"));return(0,r.relative)(a,(0,r.join)((0,r.dirname)(i),c,`${c}.html`))}async function L(e,t,o){let i=t.resolve(o),a=new Map,s=async(e,o)=>{let s=(0,r.join)(i,o),l=!o.includes("/")&&await (0,n.stat)(s).catch(()=>null)?s:t.resolve(o);if("image"!==(0,c.viewKindOf)(l))throw new $(`Slide ${e+1}: ${o} is not a picture. Give a png, jpg, webp, gif or svg.`);if(!(await (0,n.stat)(l).catch(()=>null))?.isFile())throw new $(`Slide ${e+1}: there is no file at ${o}. Give its path from the workspace root, as \`ls\` shows it.`);let u=a.get(l);if(!u){if((0,r.dirname)(l)===i)u=(0,r.basename)(l);else{let e=await P(i,l,new Set(a.values()));u=e.name,e.there||(await (0,n.mkdir)(i,{recursive:!0}),await (0,n.copyFile)(l,(0,r.join)(i,u)))}a.set(l,u)}return u},l=[];for(let[t,n]of e.entries())if("table"===n.layout){let e=n.rows.findIndex(e=>e.length>n.columns.length);if(-1!==e)throw new $(`Slide ${t+1}: row ${e+1} has ${n.rows[e].length} cells, and there are ${n.columns.length} columns.`);l.push({...n,rows:n.rows.map(e=>n.columns.map((t,n)=>e[n]??""))})}else if("image"===n.layout||"picture"===n.layout)l.push({...n,image:await s(t,n.image)});else if("quiz"===n.layout){if(n.right>=n.choices.length)throw new $(`Slide ${t+1}: right is ${n.right}, and there are ${n.choices.length} picks, counted from 0.`);let e=[];for(let o of n.choices)e.push(o.image?{...o,image:await s(t,o.image)}:o);l.push({...n,choices:e})}else l.push(n);return l}async function P(e,t,o){let i=(0,r.extname)(t),a=(0,r.basename)(t,i),s=R.test((0,r.basename)(t))?`picture-${a}`:a,l=await (0,n.readFile)(t);for(let t=1;;t++){let a=1===t?`${s}${i}`:`${s}-${t}${i}`;if(o.has(a))continue;let u=await (0,n.readFile)((0,r.join)(e,a)).catch(()=>null);if(!u)return{name:a,there:!1};if(u.equals(l))return{name:a,there:!0}}}let U=(0,i.promisify)(t.execFile);async function q(e,t,i,a,s){let l=await (0,n.mkdtemp)((0,r.join)((0,o.tmpdir)(),"thursday-deck-"));try{let o=(0,r.join)(l,"deck.json");await (0,n.writeFile)(o,JSON.stringify(t));let u=[p,"put",(0,r.join)(d.WORKSPACE,e),o];i&&u.push("--revision",i);let c=await U(process.execPath,u,{env:{NODE_ENV:"production",PATH:process.env.PATH??"",THURSDAY_BOT:a,...s?{THURSDAY_BOT_MARK:s}:{}},maxBuffer:0x1000000}).catch(e=>{if(3===e.code&&e.stdout)return{stdout:e.stdout};throw new $(e.stderr?.trim().split("\n").at(-1)||"The deck could not be written.")});return JSON.parse(c.stdout.trim().split("\n").at(-1)??"")}finally{await (0,n.rm)(l,{recursive:!0,force:!0})}}async function D(e,t,n,o){let i=await e.exec('node "$DECK_SCRIPT" shots "$DECK_FILE"',{env:{...n,DECK_SCRIPT:p,DECK_FILE:(0,r.join)(d.WORKSPACE,t)},timeoutMs:l.DECK.shotsMs,signal:o});if(0!==i.exitCode)return{failed:i.stderr.trim().split("\n").at(-1)||"no pictures were made"};let a=JSON.parse(i.stdout.trim().split("\n").at(-1)??"{}");return{pictures:a.pictures.map(e=>(0,r.relative)(d.WORKSPACE,e)),sheet:a.sheet?(0,r.relative)(d.WORKSPACE,a.sheet):null,cut:a.cut}}e.s(["createDeckTools",0,(e,t,o,i)=>({[u.TOOL_NAMES.make_deck]:(0,a.tool)({description:"Make a slide deck, or change one: each slide a layout whose fields you fill, drawn and fitted by the app into one HTML file that opens offline, presents full screen and prints a slide a page, with a picture of every slide beside it.",inputSchema:A,execute:async(n,{abortSignal:i})=>{try{let a,s=await N(n.deck,t),l=await L(n.slides,e,(0,r.dirname)(s)),c=await q(s,{title:n.title,theme:n.theme??null,slides:l},n.revision?.trim()??"",t,o.THURSDAY_BOT_MARK);if("changed"in c){if(!c.deck)return`${s} is not a deck made of slides, so it cannot be changed here. Give the deck another name.`;let e=n.revision?.trim()?`${s} has changed since that revision — edited in the app, or by another job`:`there is already a deck at ${s}`;return{deck:s,revision:c.revision,note:`Nothing was written: ${e}. This is the deck as it stands. To change it, make your change on these slides and call \`${u.TOOL_NAMES.make_deck}\` again with revision ${c.revision} and the whole deck; for a deck of its own, give a new name.`,current:c.deck}}let d=`${l.length} slide${1===l.length?"":"s"}, revision ${c.revision}`,p=await D(e,s,o,i);if("failed"in p)return`${s}
|
|
103
103
|
${d}. The pictures of its slides could not be made (${p.failed}), so nothing checked that every slide fits. Hand back the deck's path.`;let h=`call \`${u.TOOL_NAMES.make_deck}\` again with revision ${c.revision} and the whole deck`,m=p.sheet?`${(0,r.basename)(p.sheet)} holds every slide, numbered, and each is on its own beside it from slide-01.png`:"Its pictures are beside it, slide-01.png on";return[s,p.sheet??p.pictures[0]??"",p.cut.length?`${d}. ${a=p.cut,1===a.length?`Slide ${a[0]} does`:`Slides ${a.slice(0,-1).join(", ")} and ${a.at(-1)} do`} not fit even with the type at its smallest: say less there, then ${h}. ${m}.`:`${d}. Every slide fits. ${m}. Hand back the deck's path; to change it, ${h}.`].filter(Boolean).join("\n")}catch(e){if(e instanceof $)return e.message;throw e}},toModelOutput:async({output:e})=>{if("string"!=typeof e)return{type:"json",value:e};let t=e.split("\n")[1]??"";if(!i||!t.endsWith(".png"))return{type:"text",value:e};let o=await (0,d.insideWorkspace)(t),r=o?await (0,n.readFile)(o).catch(()=>null):null;return!r||r.byteLength>l.LOOK.maxBytes?{type:"text",value:e}:{type:"content",value:[{type:"text",text:`${e}
|
|
104
104
|
|
|
105
105
|
${t}, as an image:`},{type:"file",mediaType:"image/png",data:{type:"data",data:r.toString("base64")}}]}}})})])},690285,e=>{"use strict";var t=e.i(912714),n=e.i(691296),o=e.i(517435),r=e.i(333925),i=e.i(51083),a=e.i(375814),s=e.i(871096),l=e.i(64774);async function u(e){let n=await (0,s.insideWorkspace)(e.trim()),o=n?await (0,t.stat)(n).catch(()=>null):null;return n&&o?.isFile()?(0,a.isPicture)(e)?o.size>r.LOOK.maxBytes?{tooBig:o.size}:{full:n,mediaType:(0,a.mimeOf)(e),bytes:o.size}:{notPicture:!0}:{missing:!0}}let c=(e,t)=>`${e} is ${(0,l.formatBytes)(t)}, over the ${(0,l.formatBytes)(r.LOOK.maxBytes)} a picture sent to a model can be. Make a smaller copy in the shell first (on a Mac: sips -Z 1600 in.png --out out.png), then look at that.`;e.s(["checkPicture",0,u,"createLookTool",0,function(){return{[i.TOOL_NAMES.look_at]:(0,n.tool)({description:"See an image file yourself: a screenshot you took, a picture the user handed over, a chart you made. For what a picture shows — text files are read in the shell.",inputSchema:o.default.object({path:o.default.string().describe("Workspace-relative path to a png, jpg, webp or gif.")}),execute:async({path:e})=>{let t=await u(e);return"missing"in t?`There is no file at ${e}. Give the path from the workspace root, as \`ls\` shows it.`:"notPicture"in t?`${e} is not a png, jpg, webp or gif. Read it in the shell instead.`:"tooBig"in t?c(e,t.tooBig):{path:e.trim(),mediaType:t.mediaType}},toModelOutput:async({output:e})=>{if("string"==typeof e)return{type:"text",value:e};let n=await (0,s.insideWorkspace)(e.path),o=n?await (0,t.readFile)(n).catch(()=>null):null;return o?{type:"content",value:[{type:"text",text:`${e.path}, as an image:`},{type:"file",mediaType:e.mediaType,data:{type:"data",data:o.toString("base64")}}]}:{type:"text",value:`${e.path} is no longer there.`}}})}},"tooBigToSee",0,c])},759118,e=>e.a(async(t,n)=>{try{var o=e.i(691296),r=e.i(749906),i=e.i(333925),a=e.i(51083),s=e.i(993195),l=e.i(871096),u=e.i(340697),c=t([s,u]);[s,u]=c.then?(await c)():c;let h={[a.TOOL_NAMES.tool_search]:{description:`Return the description and exact inputSchema of tools on a connected server, so they can be called with \`${a.TOOL_NAMES.tool_call}\`.`,parameters:r.object({server:r.string().describe("A server name, exactly as the Connected tools section writes it."),tools:r.string().array().describe(`Tool names listed under that server. Only the ones you may actually call — schemas are large, and at most ${i.TOOL_SEARCH_SCHEMAS} come back.`)})},[a.TOOL_NAMES.tool_call]:{description:`Run one tool whose definition came back from \`${a.TOOL_NAMES.tool_search}\`.`,parameters:r.object({server:r.string().describe("The server the tool lives on."),tool:r.string().describe("Its name, as search returned it."),args:r.looseObject({}).nullish().describe("Arguments matching the inputSchema search returned — do not guess. Null when it takes none."),description:r.string().nullish().describe("One short line for the user: what this call is for. Shown on their screen while it runs.")})}},m=(e,t)=>`${e.replace(/[^a-zA-Z0-9]+/g,"_")}__${t.replace(/[^a-zA-Z0-9_-]+/g,"_")}`.slice(0,64);async function d(e,t){let[n,r]=await Promise.all([(0,u.listConnectedToolNames)(),(0,s.findPinnedTools)(e)]),i={},a=(0,l.botArtifacts)(e);for(let e of r){let n=m(e.server,e.name);i[n]||(i[n]=(0,o.tool)({description:e.description??`${e.name} on the ${e.server} server.`,inputSchema:(0,o.jsonSchema)(e.inputSchema??{type:"object",properties:{}}),execute:(n,{abortSignal:o})=>(0,u.callConnectedTool)(t,e.server,e.name,n??void 0,{artifacts:a,abortSignal:o})}))}return n.length>r.length&&Object.assign(i,g(t,a)),i}async function p(e){let t=(await (0,u.listConnectedToolNames)(e)).map(e=>e.name);if(t.length)return`Tools on "${e}": ${t.join(", ")}.`;let n=await (0,u.listConnectedServerNames)();return n.length?`There is no server called "${e}". Connected: ${n.join(", ")}.`:"Nothing is connected."}let g=(e,t)=>({[a.TOOL_NAMES.tool_search]:(0,o.tool)({description:h[a.TOOL_NAMES.tool_search].description,inputSchema:h[a.TOOL_NAMES.tool_search].parameters,execute:async({server:e,tools:t})=>{let n=[...new Set(t.map(e=>e.trim()).filter(Boolean))],o=n.slice(0,i.TOOL_SEARCH_SCHEMAS),r=await (0,u.findConnectedSchemas)(e.trim(),o);if(!r.length)return{tools:[],note:await p(e)};let a=o.filter(e=>!r.some(t=>t.name===e)),s=n.slice(i.TOOL_SEARCH_SCHEMAS),l=[a.length?`Not on "${e}": ${a.join(", ")}.`:"",s.length?`Only ${i.TOOL_SEARCH_SCHEMAS} at a time — ask again for: ${s.join(", ")}.`:""].filter(Boolean);return{tools:r,...l.length?{note:l.join(" ")}:{}}}}),[a.TOOL_NAMES.tool_call]:(0,o.tool)({description:h[a.TOOL_NAMES.tool_call].description,inputSchema:h[a.TOOL_NAMES.tool_call].parameters,execute:async({server:n,tool:o,args:r},{abortSignal:i})=>(await (0,u.listConnectedToolNames)(n.trim())).some(e=>e.name===o.trim())?(0,u.callConnectedTool)(e,n.trim(),o.trim(),r??void 0,{artifacts:t,abortSignal:i}):{status:"error",text:await p(n)}})});e.s(["createMcpTools",0,d]),n()}catch(e){n(e)}},!1),391830,e=>e.a(async(t,n)=>{try{var o=e.i(691296),r=e.i(749906),i=e.i(333925),a=e.i(636608),s=e.i(51083),l=e.i(1363),u=e.i(232549),c=t([l]);[l]=c.then?(await c)():c;let d=u.MEMORY_PATHS.map(e=>e.path.endsWith("/")?`${e.path}<name>`:e.path).join(", "),p="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.",h=e=>`Nothing on the listing called ${e}.`,m=e=>({...e,facts:e.facts.map(({saidAt:e,...t})=>e?{...t,said:(0,a.saidStamp)(e)}:t),factCount:e.facts.length}),g=e=>e>i.MEMORY_LIMITS.factsPerNote?` This note now holds ${e} facts, past the ${i.MEMORY_LIMITS.factsPerNote} one note holds well. Ask the user which of it is no longer true and delete what they name.`:"",f=e=>e.length>i.MEMORY_LIMITS.descriptionChars?{note:`That line runs to ${e.length} characters; a note's line is one line, under ${i.MEMORY_LIMITS.descriptionChars}. Say what the note is about — the facts inside say the rest.`}:null,y=r.string().describe("Exactly as the listing writes it — the path."),b=r.string().describe('One statement that stands on its own later — a date as a date, never "next week".');e.s(["createMemoryTools",0,(e,t=null,{countReads:n=!0,tidies:i=!0}={})=>({[s.TOOL_NAMES.memory_recall]:(0,o.tool)({description:"Open one note from the listing, whole.",inputSchema:r.object({path:y}),execute:async({path:e})=>{let{notes:t}=await (0,l.readNotes)([e],{touch:n}),o=t[0];if(!o)return{note:h(e.trim())};let r=i?g(o.facts.length):"";return r?{...m(o),note:r.trim()}:m(o)}}),[s.TOOL_NAMES.memory_create]:(0,o.tool)({description:"Start a note for a subject that is not on the listing: its path, the line it is listed by, and its first facts.",inputSchema:r.object({path:r.string().describe(`A new path following the listing's convention — one of ${d} — for the person, project or topic the facts are about. A fact goes under the one note it is about; other notes name it rather than repeat it.`),description:r.string().describe("One line saying what this note is about, with the names the user calls it by, so the listing alone tells whether to open it. What it is about — never a list of what is inside."),facts:r.object({text:b}).array().min(1).describe("What to keep under it. Send everything that came up at once: one call is one pause in the conversation, three calls are three.")}),execute:async({path:n,description:o,facts:r})=>{let i=n.trim(),a=o.trim();if(!(0,u.isMemoryPath)(i))return{note:`Nothing was saved: "${i}" is not a path this listing can carry. Write it again under one of ${d}.`};if((0,u.isAlwaysListed)(i))return{note:`${i} is always on the listing: \`${s.TOOL_NAMES.memory_remember}\` adds to it.`};let c=f(a);if(c)return c;let h=await (0,l.createNoteWithFacts)(i,a,r,e,t);if(!h)return{note:`${i} is already on the listing: \`${s.TOOL_NAMES.memory_remember}\` adds to it, \`${s.TOOL_NAMES.memory_describe}\` changes its line.`};let y=m(h);return{...y,note:`${p}${g(y.factCount)}`}}}),[s.TOOL_NAMES.memory_remember]:(0,o.tool)({description:"Write facts under a note that is on the listing.",inputSchema:r.object({path:y,facts:r.object({text:b,replaces:r.number().int().nullish().describe(`The id of the fact this replaces — from this note as handed back here or by \`${s.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.`)}).array().min(1).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.")}),execute:async({path:n,facts:o})=>{let r=n.trim(),i=await (0,l.writeFacts)(r,o,e,t);if(!i)return{note:`${h(r)} A subject that is not on the listing gets a note of its own: \`${s.TOOL_NAMES.memory_create}\`, with its line.`};let a=m(i);return{...a,note:`${p}${g(a.factCount)}`}}}),[s.TOOL_NAMES.memory_describe]:(0,o.tool)({description:"Change the line a note is listed by, when it no longer says what the note is about.",inputSchema:r.object({path:y,description:r.string().describe("The new line, whole: what this note is about, with the names the user calls it by. Never a list of what is inside.")}),execute:async({path:e,description:t})=>{let n=e.trim(),o=t.trim();if((0,u.isAlwaysListed)(n))return{note:`${u.MEMORY_ALWAYS_LISTED.join(" and ")} keep their own line; it is not yours to change.`};let r=f(o);return r||(await (0,l.describeNote)(n,o)?{path:n,description:o,note:"Renamed. The listing in your instructions is from when this session opened and still shows the old line until the next one."}:{note:h(n)})}}),[s.TOOL_NAMES.memory_forget]:(0,o.tool)({description:"Delete facts for good.",inputSchema:r.object({factIds:r.number().int().array().min(1).describe("The ids that came with the facts when their notes were opened — every one to delete, in one call.")}),execute:async({factIds:e})=>{let t=[],n=[],o=new Set;for(let r of new Set(e)){let e=await (0,l.forgetFactById)(r);if(!e){t.push(r);continue}e.noteGone?(o.delete(e.path),n.push(e.path)):o.add(e.path)}if(!n.length&&!o.size)return{note:`No fact with id ${t.join(", ")}. Nothing was deleted.`};let r=["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===n.length?`That was the last fact under ${n[0]}, so the note went with it.`:n.length?`That was the last of ${n.join(", ")}, so those notes went with them.`:"",t.length?`No fact with id ${t.join(", ")}, so those were skipped.`:""].filter(Boolean).join(" ");if(!o.size)return{note:r};let{notes:i}=await (0,l.readNotes)([...o],{touch:!1});return{notes:i.map(m),note:r}}})})]),n()}catch(e){n(e)}},!1),303583,e=>e.a(async(t,n)=>{try{var o=e.i(691296),r=e.i(749906),i=e.i(333925),a=e.i(51083),s=e.i(799791),l=e.i(519645),u=e.i(275841),c=e.i(900533),d=e.i(212389),p=e.i(64774),h=t([s,l]);[s,l]=h.then?(await h)():h;let f={description:`Routines: work that starts by itself, each one a bot, the work and a time — once at a moment, a time of day on chosen days, or every few hours. List them, make one, change one, or delete one. Every start opens a thread like one started by hand; its result reaches the conversation the same way. At most ${i.ROUTINE.max} exist.`,parameters:r.object({action:r.enum(["list","create","change","delete"]),routine:r.string().nullish().describe("With change or delete: the routine, by its name or ID."),bot:r.string().nullish().describe("With create: a name from the bot list. With change: a new bot."),label:r.string().nullish().describe("With create: two or three words naming it, in the user's language. It names every thread the routine opens, on screen and out loud."),request:r.string().nullish().describe("With create: the whole of the work, handed to the bot as written every time it starts. Nobody is there then to fill in what is missing, so everything it needs goes here, in the user's own language and words. Their request, never your reading of it."),at:r.string().nullish().describe('Starts once, at this moment, "YYYY-MM-DD HH:MM" in the user\'s own time, then switches itself off. Count "in an hour" or "tomorrow at eight" from **Now**. Give one of `at`, `time` or `everyHours`.'),time:r.string().nullish().describe('Starts at this time of day, 24-hour "HH:MM" in the user\'s own time, on `days`. Give one of `at`, `time` or `everyHours`.'),days:r.array(r.number().int().min(1).max(7)).nullish().describe("With `time`: the days it starts, 1 Monday to 7 Sunday. Omit for every day."),everyHours:r.number().int().nullish().describe(`Starts again this many hours after it last started, ${i.ROUTINE.minHours} at least. Give one of \`at\`, \`time\` or \`everyHours\`.`),enabled:r.boolean().nullish().describe("With change: false switches it off without deleting it, true back on.")})};function m(e){let t=e.runs[0];return{id:e.id,label:e.label,bot:e.bot,when:(0,u.scheduleText)(e.schedule),enabled:e.enabled,...e.enabled?{next:(0,c.whenOf)((0,c.toDate)(e.nextRunAt))}:{},request:(0,p.clip)(e.request,i.PROMPT_LINE.routineRequest),...t?{lastRun:{thread:t.id,status:t.status,at:(0,c.whenOf)((0,c.toDate)(t.updatedAt)),...t.outcome?{outcome:(0,p.clip)(t.outcome,i.PROMPT_LINE.routineOutcome)}:{}}}:{}}}let y=e=>{if((0,d.isPublicError)(e))return e.message;throw e};async function g(e){let t=(await (0,l.listRoutines)()).map(e=>`"${e.label}"`);return t.length?e?`There is no single routine called "${e}". The routines are: ${t.join(", ")}. Call again with one of those, or its ID.`:`Name the routine. The routines are: ${t.join(", ")}.`:"There are no routines yet."}e.s(["createRoutineTools",0,function(){return{[a.TOOL_NAMES.routine]:(0,o.tool)({description:f.description,inputSchema:f.parameters,execute:async e=>{if("list"===e.action)return{routines:(await (0,l.listRoutines)()).map(m)};let t=function(e){if([e.at,e.time,e.everyHours].filter(Boolean).length>1)return"Give one of `at`, `time` or `everyHours`, not two.";let t=e.at?{kind:"once",at:e.at}:e.time?{kind:"daily",time:e.time,days:e.days?.length?e.days:[1,2,3,4,5,6,7]}:e.everyHours?{kind:"every",hours:e.everyHours}:null;if(!t)return null;let n=u.RoutineScheduleSchema.safeParse(t);return n.success?n.data:n.error.issues[0].message}(e);if("string"==typeof t)return t;if("create"===e.action){if(!t)return"Say when it starts: `at`, `time` (with `days`), or `everyHours`.";let n=u.RoutineInputSchema.safeParse({bot:e.bot??"",label:e.label??"",request:e.request??"",schedule:t});if(!n.success)return`${n.error.issues[0].message}. Nothing was made — call again with bot, label, request and when.`;let o=(await (0,s.listJobBots)()).map(e=>e.name);if(!o.some(e=>e.toLowerCase()===n.data.bot.toLowerCase()))return`There is no bot called "${n.data.bot}". The bots are: ${o.join(", ")}. Nothing was made — call again with one of those.`;let r=await (0,l.createRoutine)(n.data).catch(y);if("string"==typeof r)return r;let i=(0,c.whenOf)((0,c.toDate)(r.nextRunAt));return{...m(r),note:"once"===r.schedule.kind?`${r.bot} starts "${r.label}" once, ${i}, and the routine then switches itself off. The start is a thread of its own, and its result reaches the conversation like any thread's.`:`${r.bot} starts "${r.label}" by itself, ${(0,u.scheduleText)(r.schedule)}, first ${i}. Each start is a thread of its own, and its result reaches the conversation like any thread's.`}}let n=e.routine?await (0,l.resolveRoutine)(e.routine):null;if(!n)return await g(e.routine);if("delete"===e.action)return await (0,l.deleteRoutine)(n.id),`"${n.label}" is deleted and starts no more. The threads it already opened stay.`;let o={...e.bot?{bot:e.bot}:{},...e.label?.trim()?{label:e.label.trim()}:{},...e.request?.trim()?{request:e.request.trim()}:{},...t?{schedule:t}:{},..."boolean"==typeof e.enabled?{enabled:e.enabled}:{}};if(!Object.keys(o).length)return"Nothing to change was given: bot, label, request, when, or enabled.";let r=await (0,l.updateRoutine)(n.id,o).catch(y);return"string"==typeof r?r:r?m(r):await g(e.routine)}})}}]),n()}catch(e){n(e)}},!1),308070,e=>e.a(async(t,n)=>{try{var o=e.i(734732),r=e.i(691296),i=e.i(517435),a=e.i(333925),s=e.i(51083),l=e.i(656719),u=e.i(724185),c=e.i(64774),d=t([u]);[u]=d.then?(await d)():d;let g=`Answer the question from the web. Lead with the answer, then
|
|
106
106
|
what supports it. Say plainly what you could not find or confirm — do not fill
|
|
107
107
|
the gap with a guess. Every number carries the date you saw it. Be brief: this
|
|
108
108
|
is read by another model, not by a person.`,f=i.default.string().describe("What you want to know, as one full question. Put the place and the time in when they matter — the searcher sees nothing but this line.");async function p(e,t,n){let o=await fetch("https://api.exa.ai/search",{method:"POST",signal:n,headers:{"content-type":"application/json","x-api-key":e},body:JSON.stringify({query:t,type:"auto",numResults:a.SEARCH.sources,contents:{text:{maxCharacters:a.SEARCH.excerptChars},livecrawl:"fallback",livecrawlTimeout:5e3}})});if(!o.ok)return{text:`Exa answered ${o.status}: ${(0,c.clip)((await o.text()).trim(),200)}`,sources:[]};let r=(await o.json()).results??[];if(!r.length)return{text:"Nothing came back for that. Try other words, or open the page itself.",sources:[]};let i=r.flatMap(e=>e.url?.trim()?[{url:e.url.trim(),...e.title?.trim()?{title:e.title.trim()}:{}}]:[]);return{text:r.map(e=>{let t=[e.title?.trim(),e.url?.trim()].filter(Boolean).join(" — "),n=e.publishedDate?.slice(0,10);return[n?`${t} \xb7 ${n}`:t,e.text?.trim()].filter(Boolean).join("\n")}).join("\n\n"),sources:i}}async function h(e,t,n){let{text:r,sources:i}=await (0,o.generateText)({model:e.model,tools:e.tools,instructions:g,prompt:t,abortSignal:n}),s=[...new Set(i.flatMap(e=>"url"===e.sourceType?[e.title?`${e.title} — ${e.url}`:e.url]:[]))].slice(0,a.SEARCH.sources);return{text:[r.trim(),s.length?`Sources:
|
|
109
|
-
${s.join("\n")}`:""].filter(Boolean).join("\n\n"),sources:[]}}async function m(e,t,n){let o=AbortSignal.timeout(a.SEARCH.timeoutMs),r=t?AbortSignal.any([t,o]):o;return e(r).catch(e=>{if(t?.aborted)throw e;return{text:o.aborted?`The search did not come back in ${a.SEARCH.timeoutMs/1e3}s. ${n.slow}`:`Search failed: ${(0,c.errorToString)(e)}. ${n.failed}`,sources:[]}})}let y=async(e,t)=>{let n=await (0,u.readConfig)(l.EXA_API_KEY),o=e?.searchTools?{model:e.model,tools:e.searchTools}:null,a=n?(e,t)=>p(n,e,t):o?(e,t)=>h(o,e,t):null;return a?{[s.TOOL_NAMES.web_search]:(0,r.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:i.default.object({query:f}),execute:async({query:e},{abortSignal:n})=>{let o=await m(t=>a(e,t),n,{slow:"Ask something narrower, or open the page in the browser.",failed:"The browser is the other way in."});return t.fold(o.text,"web-search")}})}:{}},b=async e=>{let t=await (0,u.readConfig)(l.EXA_API_KEY);return t?{[s.TOOL_NAMES.web_search]:(0,r.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.",inputSchema:i.default.object({query:f}),execute:async({query:n},{abortSignal:o})=>{let r=await m(e=>p(t,n,e),o,{slow:"Ask something narrower, or hand it to a bot.",failed:"A bot can open the page instead."});return{results:await e.fold(r.text,"web-search"),sources:r.sources}}})}:{}};e.s(["createCallSearchTool",0,b,"createSearchTool",0,y]),n()}catch(e){n(e)}},!1),907883,e=>e.a(async(t,n)=>{try{var o=e.i(691296),r=e.i(517435),i=e.i(333925),a=e.i(51083),s=e.i(799791),l=t([s]);async function u(e){let t=await (0,s.ownLineOf)(e);if(!t)return{};let n=t.line?` It replaces the line you wrote before: "${t.line}".`:"";return{[a.TOOL_NAMES.describe_self]:(0,o.tool)({description:`Write your own line: a few words the roster reads after the description the user gave you, where Thursday and the other bots pick who gets a job.${n} Use it rarely — only when what you do has changed for good: the user told you what you are for, you now hold a skill of your own the description does not name, or the same kind of job keeps coming to you and it misses it. Never for one job, and never to describe a job.`,inputSchema:r.default.object({line:r.default.string().trim().min(1).max(i.COMMON_VALIDATE.shortDescription.max).describe("The whole line, in the words people ask with: what you do that the description does not say. Leave out any subject another bot's line in the roster already names, or a job has two bots to go to."),reason:r.default.string().trim().min(1).describe("What changed for good, in a sentence: why the roster should read this now.")}),execute:async({line:t,reason:n})=>{let o=await (0,s.writeOwnLine)(e,t,n);return o?o.was===t?"That is your line already; nothing changed.":{was:o.was,now:t,reason:n,note:"Thursday and the other bots read it from their next turn. Say in your answer that you wrote it, and why."}:"Nothing was written: the user keeps your line as it is now."}})}}[s]=l.then?(await l)():l,e.s(["createSelfTools",0,u]),n()}catch(e){n(e)}},!1),156732,e=>{"use strict";var t=e.i(691296),n=e.i(517435),o=e.i(333925),r=e.i(51083),i=e.i(379651),a=e.i(377205),s=e.i(871096),l=e.i(938281);let u=n.default.string().describe("The site's address, like instagram.com. No path, no https://.");e.s(["createSignInTools",0,function(e,c,d){let p=async t=>{let n=await e.exec(t,{env:d,timeoutMs:o.BROWSER_CLI.loadMs});return 0===n.exitCode?null:(n.stderr||n.stdout).trim().slice(0,300)||`exit ${n.exitCode}`},h=async(t,n)=>{if(!await (0,i.sessionWindow)(e,d).catch(()=>!1))return"";let a=await e.exec('playwright-cli --raw run-code "async page => page.url()"',{env:d,timeoutMs:o.BROWSER_CLI.readMs}),s="";try{s=String(JSON.parse(a.stdout))}catch{}let l=await p("playwright-cli close")??await p("playwright-cli open")??await p(`playwright-cli state-load ${t}`);l?(0,i.forgetBrowser)(d):await (0,i.carryHold)(e,d);let u=l??(/^https?:/.test(s)?await p(`playwright-cli goto '${s.replaceAll("'","'\\''")}'`):null),c=`\`${r.TOOL_NAMES.sign_in_use}\` with ${n.site} and \`account\` ${n.account}`;return u?`The window closed, but your browser did not come back signed in: ${u}. Open it (\`playwright-cli open\`) and call ${c}.`:`The window was for the sign-in, so it is closed: your browser goes on without one, signed in, on the same page. When what comes next is theirs to see, open it \`--headed\` and call ${c} again.`};return{[r.TOOL_NAMES.sign_in_use]:(0,t.tool)({description:"Sign your browser in to a site with a sign-in the user already made and the app kept. Open your browser first: the sign-in goes into the browser you have open, and opening another one afterwards throws it away.",inputSchema:n.default.object({site:u,account:n.default.string().nullish().describe("Which of the site's accounts, as the app names them, when it keeps more than one.")}),execute:({site:t,account:n})=>(0,i.inBrowser)(d,async()=>{if(await (0,i.sessionBrowser)(e,d)==="theirs")return"You are working in their own Chrome: it is already signed in as them, and nothing is loaded into it. Go to the site.";await (0,i.renewHeld)(e,d).catch(e=>l.logger.warn(`${c}: kept sign-ins were not renewed`,e));let o=await (0,i.borrowSignIn)(t,c,n);if("none"===o.kind)return o.kept.length?`Nothing is kept for ${(0,a.siteOf)(t)}. Kept: ${o.kept.join(", ")} — call again with one of those if it is the same site. Otherwise open the site's sign-in page in a window they can see, ask them to sign in there, and call \`${r.TOOL_NAMES.sign_in_keep}\` once they have.`:`Nothing is kept for ${(0,a.siteOf)(t)}. Open its sign-in page in a window they can see, ask them to sign in there, and call \`${r.TOOL_NAMES.sign_in_keep}\` once they have.`;if("pick"===o.kind)return n?.trim()?`Nothing is kept for ${o.site} as ${n.trim()}. Kept there: ${o.accounts.join(", ")} — call again with one of those as it is written. For another account, open the site's sign-in page in a new browser they can see (\`playwright-cli open <its sign-in url> --headed\`), ask them to sign in there, and call \`${r.TOOL_NAMES.sign_in_keep}\` once they have.`:`${o.site} keeps more than one account: ${o.accounts.join(", ")}. Call again with \`account\`, the one this work is for; when the user has not said which, ask them.`;if("ask"===o.kind)return`The user keeps a ${o.signIn.site} sign-in (${o.signIn.account}) and has not let you use it. Ask them, as a question, whether you may; they allow it on screen. Call again with \`account\` ${o.signIn.account} once they have said yes.`;let u=(0,s.browserStateFile)();await e.writeFile(u,JSON.stringify(o.state));let h=await p(`playwright-cli state-load ${u}`).finally(()=>e.exec(`rm -f ${u}`));return h?(0,i.forgetBrowser)(d):await (0,i.holdSignIn)(e,d,c,o.signIn,"loaded"),h?`The sign-in could not be loaded into your browser: ${h}. Open the browser you mean to keep (\`playwright-cli open …\`, headed if you want a window), then call this again — opening another browser after this throws the sign-in away.`:`Signed in to ${o.signIn.site} as ${o.signIn.account}. Go to the site again (\`goto\`) — a page drawn before this still looks signed out. If it still shows you signed out after that, the site does not accept a sign-in carried over from another browser, and signing in again here will not last either: work in their own Chrome instead, \`playwright-cli attach --extension=chrome\`.`})}),[r.TOOL_NAMES.sign_in_keep]:(0,t.tool)({description:"Keep the sign-in the user just made in your browser window, so later work is signed in without asking them again. Call it right after they say they signed in. The window was for the sign-in: it closes, and your browser goes on without one, signed in, on the same page.",inputSchema:n.default.object({site:u,account:n.default.string().describe("Who it is signed in as, as the site shows it — a handle, an email. The site's name when nothing is shown."),keepWindow:n.default.boolean().nullish().describe("True when what comes next on this site is theirs to see — the products to choose, a checkout to confirm — and the window stays up."),another:n.default.boolean().nullish().describe("True when this is a different account from the ones the app keeps for the site.")}),execute:({site:t,account:n,keepWindow:o,another:r})=>(0,i.inBrowser)(d,async()=>{if(await (0,i.sessionBrowser)(e,d)==="theirs")return"You are working in their own Chrome: it stays signed in as them by itself, and nothing is kept from it.";(0,i.releaseSignIn)(d,t);let a=(0,s.browserStateFile)(),l=await p((0,s.saveBrowserState)(a));if(l)return await e.exec(`rm -f ${a}`),`The browser's state could not be read: ${l}. Nothing was kept.`;try{let s=JSON.parse(await e.readFile(a,"utf-8")),l=await (0,i.keepSignIn)({site:t,account:n,bot:c,state:s,another:r});if("unlisted"===l.kind)return`Not kept yet: ${l.site} keeps ${l.accounts.join(", ")}. If they signed in again as one of those, call this again with \`account\` written as it is there; if this is a different account, call again with \`another\` set to true.`;if("clash"===l.kind)return`Not kept yet: ${l.site} keeps a sign-in as ${n.trim()||l.site} already. If this is that account signed in again, call this again without \`another\`; if it is a different one, call again with an \`account\` that tells it apart from ${l.accounts.join(", ")} — what the site shows for it, or what the user calls it.`;if("taken"===l.kind)return`Not kept: the user already keeps a ${l.signIn.site} sign-in (${l.signIn.account}) for other bots, and only they choose who uses it. This browser stays signed in for this job. Ask them, as a question, whether you may use the kept one — they allow it under Settings › Sign-ins — or, if this one should replace it, to sign out of the kept one there first; then call this again.`;await (0,i.holdSignIn)(e,d,c,l.signIn,"kept");let u=`Kept: ${l.signIn.site} as ${l.signIn.account}${l.replaced?", in place of the sign-in kept under that name before":""}. It is listed for them under Settings › Sign-ins, where they can sign out of it.`;return o?u:`${u} ${await h(a,l.signIn)}`.trim()}finally{await e.exec(`rm -f ${a}`)}})})}}])},594537,e=>e.a(async(t,n)=>{try{var o=e.i(691296),r=e.i(517435),i=e.i(333925),a=e.i(51083),s=e.i(343229),l=e.i(202837),u=t([s,l]);[s,l]=u.then?(await u)():u,e.s(["createSkillTools",0,({skills:e,sandbox:t,bot:n})=>({[a.TOOL_NAMES.load_skill]:(0,o.tool)({description:"Load one skill: its instructions, and the files that ship with it.",inputSchema:r.default.object({name:r.default.string().describe("Exact name from the Skills list, or of a skill installed during this job. Do not guess names.")}),execute:async({name:o},{messages:r})=>{let u=(e,t)=>e.find(e=>e.name.toLowerCase()===t.toLowerCase()),c=u(e,o)?e:await (0,s.loadSkills)(t,n),d=u(c,o)?void 0:i.SKILLS_FOLDED[o.toLowerCase()],p=u(c,d??o);if(!p)return{error:`No skill named '${o}'.`,available:c.map(e=>e.name)};let h=`${p.path}/SKILL.md`;if(r.some(e=>Array.isArray(e.content)&&e.content.some(e=>{if("tool-result"!==e.type||e.toolName!==a.TOOL_NAMES.load_skill||"json"!==e.output.type)return!1;let t=e.output.value;return t?.skillDirectory===p.path&&"string"==typeof t.content})))return{skillDirectory:p.path,note:`Use the full '${p.name}' instructions already in your conversation. To check for changes on disk, read ${h} with the shell.`};let m=await t.readFile(h,"utf-8"),{body:g}=(0,l.splitFrontmatter)(m),{files:f,total:y}=await t.listFiles(p.path,{limit:i.SKILL_FILES_LISTED,skip:[i.PATHS.skills.runtime]});return{skillDirectory:p.path,files:f.map(e=>`${p.path}/${e}`),...y>f.length&&{more:`${y-f.length} more files, deeper in these folders. List a folder in the shell to see them.`},...d&&{note:`'${o}' is part of '${p.name}' now: these are its instructions.`},content:g}}})})]),n()}catch(e){n(e)}},!1),437905,e=>e.a(async(t,n)=>{try{var o=e.i(912714),r=e.i(750227),i=e.i(734732),a=e.i(489938),s=e.i(517435),l=e.i(333925),u=e.i(986507),c=e.i(51083),d=e.i(375814),p=e.i(938281),h=e.i(64774),m=t([u]);function g(e){return{...e,execute:(t,n)=>{let o=e.inputSchema.safeParse(t);if(!o.success)throw Error(s.default.prettifyError(o.error));return e.execute(o.data,n)}}}function f(e,t){let n=(0,h.slug)(e),o=(0,a.format)(new Date,"yyyyMMdd-HHmmss");return`${o}${n?`-${n}`:""}.${t}`}async function y(e,t,n,o){let r=`${t}/${n}`;return await e.exec(`mkdir -p ${t}`),await e.writeFile(r,Buffer.from(o)),r}async function b(e,t){let n=t.trim();if("image"!==(0,d.viewKindOf)(n))return`${n} is not a picture. Work from a png, jpg, webp or gif.`;let r=e.resolve(n),i=await (0,o.stat)(r).catch(()=>null);return i?.isFile()?i.size>l.LOOK.maxBytes?`${n} is ${Math.ceil(i.size/1024/1024)} MB, over the ${l.LOOK.maxBytes/1024/1024} MB one picture takes. Make a smaller copy in the shell first (on a Mac: sips -Z 1600 in.png --out out.png), then use that.`:(0,o.readFile)(r):`There is no file at ${n}. Give the path from the workspace root, as \`ls\` shows it.`}[u]=m.then?(await m)():m;let w=e=>`${e}
|
|
110
|
-
Saved. Give the user this path — the file opens from the thread row. Do not describe it back to them; they can open it.`,v=(e,t)=>e?.split("/")[1]?.split(";")[0]||t,k=["1:1","16:9","9:16","4:3","3:4"],x=async()=>{let e=await (0,u.resolveMediaRef)("image");if(!e)return null;let t=(0,u.buildImageModel)(e.ref,e.apiKey);return g({name:c.STUDIO_TOOLS.generate_image,description:"Draw an image and save it as a file in the workspace, or change pictures already there. What comes back is its path.",inputSchema:s.default.object({prompt:s.default.string().describe("What to draw, described: subject, style, mood, what is in frame. With `images`, what to change about them. The image model does not see the job or the conversation, so nothing can be left implied."),images:s.default.array(s.default.string()).nullish().describe("Workspace paths of pictures to work from: the one being changed, or ones to draw from. Hand the picture over rather than describing it — whatever the words leave out is kept. Null to draw from nothing."),aspectRatio:s.default.enum(k).nullish().describe("Aspect ratio. Null for square, or for the shape of what `images` names.")}),execute:async({prompt:e,images:n,aspectRatio:o},{sandbox:r,artifacts:a,abortSignal:s})=>{let l=[];for(let e of n??[]){let t=await b(r,e);if("string"==typeof t)return t;l.push(t)}let{image:u}=await (0,i.generateImage)({model:t,prompt:l.length?{images:l,text:e}:e,aspectRatio:o??(l.length?void 0:"1:1"),abortSignal:s}),c=await y(r,a,f(e,v(u.mediaType,"png")),u.uint8Array);return
|
|
109
|
+
${s.join("\n")}`:""].filter(Boolean).join("\n\n"),sources:[]}}async function m(e,t,n){let o=AbortSignal.timeout(a.SEARCH.timeoutMs),r=t?AbortSignal.any([t,o]):o;return e(r).catch(e=>{if(t?.aborted)throw e;return{text:o.aborted?`The search did not come back in ${a.SEARCH.timeoutMs/1e3}s. ${n.slow}`:`Search failed: ${(0,c.errorToString)(e)}. ${n.failed}`,sources:[]}})}let y=async(e,t)=>{let n=await (0,u.readConfig)(l.EXA_API_KEY),o=e?.searchTools?{model:e.model,tools:e.searchTools}:null,a=n?(e,t)=>p(n,e,t):o?(e,t)=>h(o,e,t):null;return a?{[s.TOOL_NAMES.web_search]:(0,r.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:i.default.object({query:f}),execute:async({query:e},{abortSignal:n})=>{let o=await m(t=>a(e,t),n,{slow:"Ask something narrower, or open the page in the browser.",failed:"The browser is the other way in."});return t.fold(o.text,"web-search")}})}:{}},b=async e=>{let t=await (0,u.readConfig)(l.EXA_API_KEY);return t?{[s.TOOL_NAMES.web_search]:(0,r.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.",inputSchema:i.default.object({query:f}),execute:async({query:n},{abortSignal:o})=>{let r=await m(e=>p(t,n,e),o,{slow:"Ask something narrower, or hand it to a bot.",failed:"A bot can open the page instead."});return{results:await e.fold(r.text,"web-search"),sources:r.sources}}})}:{}};e.s(["createCallSearchTool",0,b,"createSearchTool",0,y]),n()}catch(e){n(e)}},!1),907883,e=>e.a(async(t,n)=>{try{var o=e.i(691296),r=e.i(517435),i=e.i(333925),a=e.i(51083),s=e.i(799791),l=t([s]);async function u(e){let t=await (0,s.ownLineOf)(e);if(!t)return{};let n=t.line?` It replaces the line you wrote before: "${t.line}".`:"";return{[a.TOOL_NAMES.describe_self]:(0,o.tool)({description:`Write your own line: a few words the roster reads after the description the user gave you, where Thursday and the other bots pick who gets a job.${n} Use it rarely — only when what you do has changed for good: the user told you what you are for, you now hold a skill of your own the description does not name, or the same kind of job keeps coming to you and it misses it. Never for one job, and never to describe a job.`,inputSchema:r.default.object({line:r.default.string().trim().min(1).max(i.COMMON_VALIDATE.shortDescription.max).describe("The whole line, in the words people ask with: what you do that the description does not say. Leave out any subject another bot's line in the roster already names, or a job has two bots to go to."),reason:r.default.string().trim().min(1).describe("What changed for good, in a sentence: why the roster should read this now.")}),execute:async({line:t,reason:n})=>{let o=await (0,s.writeOwnLine)(e,t,n);return o?o.was===t?"That is your line already; nothing changed.":{was:o.was,now:t,reason:n,note:"Thursday and the other bots read it from their next turn. Say in your answer that you wrote it, and why."}:"Nothing was written: the user keeps your line as it is now."}})}}[s]=l.then?(await l)():l,e.s(["createSelfTools",0,u]),n()}catch(e){n(e)}},!1),156732,e=>{"use strict";var t=e.i(691296),n=e.i(517435),o=e.i(333925),r=e.i(51083),i=e.i(379651),a=e.i(377205),s=e.i(871096),l=e.i(938281);let u=n.default.string().describe("The site's address, like instagram.com. No path, no https://.");e.s(["createSignInTools",0,function(e,c,d){let p=async t=>{let n=await e.exec(t,{env:d,timeoutMs:o.BROWSER_CLI.loadMs});return 0===n.exitCode?null:(n.stderr||n.stdout).trim().slice(0,300)||`exit ${n.exitCode}`},h=async(t,n)=>{if(!await (0,i.sessionWindow)(e,d).catch(()=>!1))return"";let a=await e.exec('playwright-cli --raw run-code "async page => page.url()"',{env:d,timeoutMs:o.BROWSER_CLI.readMs}),s="";try{s=String(JSON.parse(a.stdout))}catch{}let l=await p("playwright-cli close")??await p("playwright-cli open")??await p(`playwright-cli state-load ${t}`);l?(0,i.forgetBrowser)(d):await (0,i.carryHold)(e,d);let u=l??(/^https?:/.test(s)?await p(`playwright-cli goto '${s.replaceAll("'","'\\''")}'`):null),c=`\`${r.TOOL_NAMES.sign_in_use}\` with ${n.site} and \`account\` ${n.account}`;return u?`The window closed, but your browser did not come back signed in: ${u}. Open it (\`playwright-cli open\`) and call ${c}.`:`The window was for the sign-in, so it is closed: your browser goes on without one, signed in, on the same page. When what comes next is theirs to see, open it \`--headed\` and call ${c} again.`};return{[r.TOOL_NAMES.sign_in_use]:(0,t.tool)({description:"Sign your browser in to a site with a sign-in the user already made and the app kept. Open your browser first: the sign-in goes into the browser you have open, and opening another one afterwards throws it away.",inputSchema:n.default.object({site:u,account:n.default.string().nullish().describe("Which of the site's accounts, as the app names them, when it keeps more than one.")}),execute:({site:t,account:n})=>(0,i.inBrowser)(d,async()=>{if(await (0,i.sessionBrowser)(e,d)==="theirs")return"You are working in their own Chrome: it is already signed in as them, and nothing is loaded into it. Go to the site.";await (0,i.renewHeld)(e,d).catch(e=>l.logger.warn(`${c}: kept sign-ins were not renewed`,e));let o=await (0,i.borrowSignIn)(t,c,n);if("none"===o.kind)return o.kept.length?`Nothing is kept for ${(0,a.siteOf)(t)}. Kept: ${o.kept.join(", ")} — call again with one of those if it is the same site. Otherwise open the site's sign-in page in a window they can see, ask them to sign in there, and call \`${r.TOOL_NAMES.sign_in_keep}\` once they have.`:`Nothing is kept for ${(0,a.siteOf)(t)}. Open its sign-in page in a window they can see, ask them to sign in there, and call \`${r.TOOL_NAMES.sign_in_keep}\` once they have.`;if("pick"===o.kind)return n?.trim()?`Nothing is kept for ${o.site} as ${n.trim()}. Kept there: ${o.accounts.join(", ")} — call again with one of those as it is written. For another account, open the site's sign-in page in a new browser they can see (\`playwright-cli open <its sign-in url> --headed\`), ask them to sign in there, and call \`${r.TOOL_NAMES.sign_in_keep}\` once they have.`:`${o.site} keeps more than one account: ${o.accounts.join(", ")}. Call again with \`account\`, the one this work is for; when the user has not said which, ask them.`;if("ask"===o.kind)return`The user keeps a ${o.signIn.site} sign-in (${o.signIn.account}) and has not let you use it. Ask them, as a question, whether you may; they allow it on screen. Call again with \`account\` ${o.signIn.account} once they have said yes.`;let u=(0,s.browserStateFile)();await e.writeFile(u,JSON.stringify(o.state));let h=await p(`playwright-cli state-load ${u}`).finally(()=>e.exec(`rm -f ${u}`));return h?(0,i.forgetBrowser)(d):await (0,i.holdSignIn)(e,d,c,o.signIn,"loaded"),h?`The sign-in could not be loaded into your browser: ${h}. Open the browser you mean to keep (\`playwright-cli open …\`, headed if you want a window), then call this again — opening another browser after this throws the sign-in away.`:`Signed in to ${o.signIn.site} as ${o.signIn.account}. Go to the site again (\`goto\`) — a page drawn before this still looks signed out. If it still shows you signed out after that, the site does not accept a sign-in carried over from another browser, and signing in again here will not last either: work in their own Chrome instead, \`playwright-cli attach --extension=chrome\`.`})}),[r.TOOL_NAMES.sign_in_keep]:(0,t.tool)({description:"Keep the sign-in the user just made in your browser window, so later work is signed in without asking them again. Call it right after they say they signed in. The window was for the sign-in: it closes, and your browser goes on without one, signed in, on the same page.",inputSchema:n.default.object({site:u,account:n.default.string().describe("Who it is signed in as, as the site shows it — a handle, an email. The site's name when nothing is shown."),keepWindow:n.default.boolean().nullish().describe("True when what comes next on this site is theirs to see — the products to choose, a checkout to confirm — and the window stays up."),another:n.default.boolean().nullish().describe("True when this is a different account from the ones the app keeps for the site.")}),execute:({site:t,account:n,keepWindow:o,another:r})=>(0,i.inBrowser)(d,async()=>{if(await (0,i.sessionBrowser)(e,d)==="theirs")return"You are working in their own Chrome: it stays signed in as them by itself, and nothing is kept from it.";(0,i.releaseSignIn)(d,t);let a=(0,s.browserStateFile)(),l=await p((0,s.saveBrowserState)(a));if(l)return await e.exec(`rm -f ${a}`),`The browser's state could not be read: ${l}. Nothing was kept.`;try{let s=JSON.parse(await e.readFile(a,"utf-8")),l=await (0,i.keepSignIn)({site:t,account:n,bot:c,state:s,another:r});if("unlisted"===l.kind)return`Not kept yet: ${l.site} keeps ${l.accounts.join(", ")}. If they signed in again as one of those, call this again with \`account\` written as it is there; if this is a different account, call again with \`another\` set to true.`;if("clash"===l.kind)return`Not kept yet: ${l.site} keeps a sign-in as ${n.trim()||l.site} already. If this is that account signed in again, call this again without \`another\`; if it is a different one, call again with an \`account\` that tells it apart from ${l.accounts.join(", ")} — what the site shows for it, or what the user calls it.`;if("taken"===l.kind)return`Not kept: the user already keeps a ${l.signIn.site} sign-in (${l.signIn.account}) for other bots, and only they choose who uses it. This browser stays signed in for this job. Ask them, as a question, whether you may use the kept one — they allow it under Settings › Sign-ins — or, if this one should replace it, to sign out of the kept one there first; then call this again.`;await (0,i.holdSignIn)(e,d,c,l.signIn,"kept");let u=`Kept: ${l.signIn.site} as ${l.signIn.account}${l.replaced?", in place of the sign-in kept under that name before":""}. It is listed for them under Settings › Sign-ins, where they can sign out of it.`;return o?u:`${u} ${await h(a,l.signIn)}`.trim()}finally{await e.exec(`rm -f ${a}`)}})})}}])},594537,e=>e.a(async(t,n)=>{try{var o=e.i(691296),r=e.i(517435),i=e.i(333925),a=e.i(51083),s=e.i(343229),l=e.i(202837),u=t([s,l]);[s,l]=u.then?(await u)():u,e.s(["createSkillTools",0,({skills:e,sandbox:t,bot:n})=>({[a.TOOL_NAMES.load_skill]:(0,o.tool)({description:"Load one skill: its instructions, and the files that ship with it.",inputSchema:r.default.object({name:r.default.string().describe("Exact name from the Skills list, or of a skill installed during this job. Do not guess names.")}),execute:async({name:o},{messages:r})=>{let u=(e,t)=>e.find(e=>e.name.toLowerCase()===t.toLowerCase()),c=u(e,o)?e:await (0,s.loadSkills)(t,n),d=u(c,o)?void 0:i.SKILLS_FOLDED[o.toLowerCase()],p=u(c,d??o);if(!p)return{error:`No skill named '${o}'.`,available:c.map(e=>e.name)};let h=`${p.path}/SKILL.md`;if(r.some(e=>Array.isArray(e.content)&&e.content.some(e=>{if("tool-result"!==e.type||e.toolName!==a.TOOL_NAMES.load_skill||"json"!==e.output.type)return!1;let t=e.output.value;return t?.skillDirectory===p.path&&"string"==typeof t.content})))return{skillDirectory:p.path,note:`Use the full '${p.name}' instructions already in your conversation. To check for changes on disk, read ${h} with the shell.`};let m=await t.readFile(h,"utf-8"),{body:g}=(0,l.splitFrontmatter)(m),{files:f,total:y}=await t.listFiles(p.path,{limit:i.SKILL_FILES_LISTED,skip:[i.PATHS.skills.runtime]});return{skillDirectory:p.path,files:f.map(e=>`${p.path}/${e}`),...y>f.length&&{more:`${y-f.length} more files, deeper in these folders. List a folder in the shell to see them.`},...d&&{note:`'${o}' is part of '${p.name}' now: these are its instructions.`},content:g}}})})]),n()}catch(e){n(e)}},!1),437905,e=>e.a(async(t,n)=>{try{var o=e.i(912714),r=e.i(750227),i=e.i(734732),a=e.i(489938),s=e.i(517435),l=e.i(333925),u=e.i(986507),c=e.i(51083),d=e.i(375814),p=e.i(938281),h=e.i(64774),m=t([u]);function g(e){return{...e,execute:(t,n)=>{let o=e.inputSchema.safeParse(t);if(!o.success)throw Error(s.default.prettifyError(o.error));return e.execute(o.data,n)}}}function f(e,t){let n=(0,h.slug)(e),o=(0,a.format)(new Date,"yyyyMMdd-HHmmss");return`${o}${n?`-${n}`:""}.${t}`}async function y(e,t,n,o){let r=`${t}/${n}`;return await e.exec(`mkdir -p ${t}`),await e.writeFile(r,Buffer.from(o)),r}async function b(e,t){let n=t.trim();if("image"!==(0,d.viewKindOf)(n))return`${n} is not a picture. Work from a png, jpg, webp or gif.`;let r=e.resolve(n),i=await (0,o.stat)(r).catch(()=>null);return i?.isFile()?i.size>l.LOOK.maxBytes?`${n} is ${Math.ceil(i.size/1024/1024)} MB, over the ${l.LOOK.maxBytes/1024/1024} MB one picture takes. Make a smaller copy in the shell first (on a Mac: sips -Z 1600 in.png --out out.png), then use that.`:(0,o.readFile)(r):`There is no file at ${n}. Give the path from the workspace root, as \`ls\` shows it.`}[u]=m.then?(await m)():m;let z=e=>`${e}
|
|
110
|
+
Saved. Give the user this path — the file opens from the thread row. Do not describe it back to them; they can open it.`,v=(e,t)=>e?.split("/")[1]?.split(";")[0]||t,k=["1:1","16:9","9:16","4:3","3:4"],x=async()=>{let e=await (0,u.resolveMediaRef)("image");if(!e)return null;let t=(0,u.buildImageModel)(e.ref,e.apiKey);return g({name:c.STUDIO_TOOLS.generate_image,description:"Draw an image and save it as a file in the workspace, or change pictures already there. What comes back is its path.",inputSchema:s.default.object({prompt:s.default.string().describe("What to draw, described: subject, style, mood, what is in frame. With `images`, what to change about them. The image model does not see the job or the conversation, so nothing can be left implied."),images:s.default.array(s.default.string()).nullish().describe("Workspace paths of pictures to work from: the one being changed, or ones to draw from. Hand the picture over rather than describing it — whatever the words leave out is kept. Null to draw from nothing."),aspectRatio:s.default.enum(k).nullish().describe("Aspect ratio. Null for square, or for the shape of what `images` names.")}),execute:async({prompt:e,images:n,aspectRatio:o},{sandbox:r,artifacts:a,abortSignal:s})=>{let l=[];for(let e of n??[]){let t=await b(r,e);if("string"==typeof t)return t;l.push(t)}let{image:u}=await (0,i.generateImage)({model:t,prompt:l.length?{images:l,text:e}:e,aspectRatio:o??(l.length?void 0:"1:1"),abortSignal:s}),c=await y(r,a,f(e,v(u.mediaType,"png")),u.uint8Array);return z(c)}})},S=async()=>{let e=await (0,u.resolveMediaRef)("speech");if(!e)return null;let t=(0,u.buildSpeechModel)(e.ref,e.apiKey);return g({name:c.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:s.default.object({text:s.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:s.default.string().nullish().describe("A voice name the provider knows. Null for its default."),instructions:s.default.string().nullish().describe('How to read it — "slowly", "warm", "like a news anchor". Null for plain.')}),execute:async({text:e,voice:n,instructions:o},{sandbox:r,artifacts:a,abortSignal:s})=>{let{audio:l}=await (0,i.generateSpeech)({model:t,text:e,voice:n??void 0,instructions:o??void 0,outputFormat:"mp3",abortSignal:s}),u=await y(r,a,f(e.slice(0,60),l.format||"mp3"),l.uint8Array);return z(u)}})},T=async()=>{let e=await (0,u.resolveMediaRef)("transcription");if(!e)return null;let t=(0,u.buildTranscriptionModel)(e.ref,e.apiKey);return g({name:c.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:s.default.object({path:s.default.string().min(1).describe("The audio file: a path relative to the workspace, or an absolute one anywhere on this machine.")}),execute:async({path:e},{sandbox:n,artifacts:a,abortSignal:s})=>{var l,u;let c,d=await (0,o.readFile)(n.resolve(e)),p=await (0,i.transcribe)({model:t,audio:d,abortSignal:s}),h=(0,r.basename)(e,(0,r.extname)(e)),m=await y(n,a,f(h,"md"),Buffer.from((l=p.text,c=(u=p.segments).length?`
|
|
111
111
|
|
|
112
112
|
## Timeline
|
|
113
113
|
|
|
@@ -116,17 +116,17 @@ ${u.map(e=>{var t;let n,o;return`- ${t=e.startSecond,n=Math.floor(t/60),o=Math.f
|
|
|
116
116
|
${l.trim()}${c}
|
|
117
117
|
`)));return`${m}
|
|
118
118
|
|
|
119
|
-
${await n.fold(p.text,"transcript")}`}})},I=async()=>{let e=await (0,u.resolveMediaRef)("video");if(!e)return null;let t=(0,u.buildVideoModel)(e.ref,e.apiKey);return g({name:c.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:s.default.object({prompt:s.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:s.default.enum(["16:9","9:16"]).nullish().describe("Aspect ratio. Null for 16:9."),seconds:s.default.number().int().min(2).max(10).nullish().describe("Length in seconds, 2 to 10. Null for the provider's default.")}),execute:async({prompt:e,aspectRatio:n,seconds:o},{sandbox:r,artifacts:a,abortSignal:s})=>{let{video:l}=await (0,i.experimental_generateVideo)({model:t,prompt:e,aspectRatio:n??"16:9",duration:o??void 0,maxRetries:0,abortSignal:s}),u=await y(r,a,f(e,v(l.mediaType,"mp4")),l.uint8Array);return
|
|
119
|
+
${await n.fold(p.text,"transcript")}`}})},I=async()=>{let e=await (0,u.resolveMediaRef)("video");if(!e)return null;let t=(0,u.buildVideoModel)(e.ref,e.apiKey);return g({name:c.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:s.default.object({prompt:s.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:s.default.enum(["16:9","9:16"]).nullish().describe("Aspect ratio. Null for 16:9."),seconds:s.default.number().int().min(2).max(10).nullish().describe("Length in seconds, 2 to 10. Null for the provider's default.")}),execute:async({prompt:e,aspectRatio:n,seconds:o},{sandbox:r,artifacts:a,abortSignal:s})=>{let{video:l}=await (0,i.experimental_generateVideo)({model:t,prompt:e,aspectRatio:n??"16:9",duration:o??void 0,maxRetries:0,abortSignal:s}),u=await y(r,a,f(e,v(l.mediaType,"mp4")),l.uint8Array);return z(u)}})};async function _(){return(await Promise.all([w(x),w(S),w(T),w(I)])).filter(e=>null!==e)}async function w(e){try{return await e()}catch(e){return p.logger.warn(`studio: a tool could not be built — ${(0,h.errorToString)(e)}`),null}}e.s(["loadStudio",0,_]),n()}catch(e){n(e)}},!1),340697,e=>e.a(async(t,n)=>{try{var o=e.i(517435),r=e.i(333925),i=e.i(539904),a=e.i(993195),s=e.i(64774),l=e.i(437905),u=t([i,a,l]);async function c(e){let[t,n]=await Promise.all([!e||e===r.STUDIO_SERVER?(0,l.loadStudio)():[],e===r.STUDIO_SERVER?[]:(0,a.listToolNames)(e)]);return[...t.map(e=>({server:r.STUDIO_SERVER,name:e.name})),...n]}[i,a,l]=u.then?(await u)():u;let g=async()=>{let[e,t]=await Promise.all([(0,l.loadStudio)(),(0,a.listServerNames)()]);return[...e.length?[r.STUDIO_SERVER]:[],...t.map(e=>e.name)]};async function d(e,t){if(e===r.STUDIO_SERVER){let e=new Set(t);return(await (0,l.loadStudio)()).filter(t=>e.has(t.name)).map(e=>({name:e.name,description:e.description,inputSchema:o.default.toJSONSchema(e.inputSchema)}))}return(await (0,a.findToolSchemas)(e,t)).map(e=>({name:e.name,description:e.description??null,inputSchema:e.inputSchema??null}))}async function p(e,t,n,o,{artifacts:a,abortSignal:l}){let u=AbortSignal.timeout(r.CONNECTED_TOOL_TIMEOUT_MS),c=l?AbortSignal.any([l,u]):u;try{let i=t===r.STUDIO_SERVER?await h(e,n,o,a,c):await m(t,n,o,c);if("string"!=typeof i)return i;return{status:"ok",text:await e.fold(i,`${t}-${n}`)}}catch(e){if(e instanceof i.McpAuthRequiredError)return{status:"auth_required",server:t,authorizationUrl:e.authorizationUrl};if(u.aborted&&!l?.aborted)return{status:"error",text:`${n} on ${t} gave no answer in ${r.CONNECTED_TOOL_TIMEOUT_MS/6e4} minutes and was given up on.`};return{status:"error",text:(0,s.errorToString)(e)}}}async function h(e,t,n,o,i){let a=(await (0,l.loadStudio)()).find(e=>e.name===t);if(!a)throw Error(`"${t}" is not in the ${r.STUDIO_SERVER} right now — the key that runs it is gone.`);return a.execute(n??{},{sandbox:e,artifacts:o,abortSignal:i})}async function m(e,t,n,o){let r=function(e){let t=e??{},n=!0===t.isError;if(!Array.isArray(t.content)){let e=void 0===t.toolResult?"":"string"==typeof t.toolResult?t.toolResult:JSON.stringify(t.toolResult);return{status:n?"error":"ok",text:e||f(n)}}let o=t.content.map(e=>"text"===e.type&&"string"==typeof e.text?e.text:`[${e.type}${e.mimeType?` ${e.mimeType}`:""} — not shown]`).join("\n").trim();return{status:n?"error":"ok",text:o||f(n)}}(await i.mcpManager.callTool(e,t,n,o));return"ok"===r.status?r.text:r}let f=e=>e?"The tool failed without a message.":"Done.";e.s(["callConnectedTool",0,p,"findConnectedSchemas",0,d,"listConnectedServerNames",0,g,"listConnectedToolNames",0,c]),n()}catch(e){n(e)}},!1),859727,e=>{"use strict";var t=e.i(750227),n=e.i(691296),o=e.i(517435),r=e.i(333925),i=e.i(51083),a=e.i(75752),s=e.i(871096),l=e.i(73829);let u=`## The shell here
|
|
120
120
|
|
|
121
121
|
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.
|
|
122
122
|
|
|
123
123
|
Nothing is watching it. A command that stops to ask never gets an answer and is killed after ${r.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.
|
|
124
124
|
|
|
125
125
|
Keys are not in the environment: every variable named like a key, a token or a secret is removed before the shell starts. An empty one is not an unset one — say which it was, and ask for what a command needs.`;e.s(["createWorkspaceTools",0,(e,r)=>{let c=!0===r.guide,d=async e=>{let t=r.bot;if(!t)return{result:await e(),memory:null};let n=await (0,a.holdBotMemory)(t);return{result:await e(),memory:await (0,a.keepBotMemory)(t,n)}},p=(0,n.tool)({description:l.BASH?"Run a bash command.":"Run a command in sh: this machine has no bash, so bash-only syntax fails.",inputSchema:o.default.object({command:o.default.string(),description:o.default.string().nullish().describe("One short line for the user: what this command does and why. Shown on their screen while it runs — not a restatement of the command.")}),execute:async({command:t},{abortSignal:n})=>{let{result:o,memory:i}=await d(()=>e.exec(t,{signal:n,env:r.env,timeoutMs:r.timeoutMs})),a=i?{...o,memory:i}:o;return c?(c=!1,{...a,guide:u}):a}});if(!r.write)return{[i.TOOL_NAMES.bash]:p};let h=(0,n.tool)({description:"Write a whole file — what was there is gone. Parent directories are created.",inputSchema:o.default.object({path:o.default.string().describe("Relative to the working directory — under one of its folders — or absolute"),content:o.default.string(),description:o.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:n,content:o})=>{let i,a=e.resolve(n),l=(0,s.writeRefusal)(a,r.bot);if(l)return l;let{memory:u}=await d(()=>e.writeFile(n,o));return u??`Wrote ${(i=(0,t.relative)(e.cwd,a))&&!i.startsWith("..")?i:a} (${o.split("\n").length} lines)`}});return{[i.TOOL_NAMES.bash]:p,[i.TOOL_NAMES.write_file]:h}}])},450220,e=>{"use strict";e.s(["asWords",0,function(e,t,n=e=>e){let o=[];for(let r of e){if("tool"===r.role)continue;if("system"===r.role){o.push(r);continue}if("user"===r.role){o.push("string"==typeof r.content?{role:"user",content:n(r.content)}:{...r,content:r.content.map(e=>"text"===e.type?{...e,text:n(e.text)}:e)});continue}let e="string"==typeof r.content?[{type:"text",text:r.content}]:r.content,i=e.flatMap(e=>"text"===e.type?[e.text]:[]).join("\n").trim()||e.flatMap(e=>"tool-call"===e.type?[t(e.toolName,e.input)]:[]).join("\n");if(!i)continue;let a=o.at(-1);a?.role==="assistant"&&"string"==typeof a.content?o[o.length-1]={role:"assistant",content:`${a.content}
|
|
126
|
-
${n(i)}`}:o.push({role:"assistant",content:n(i)})}return o}])},75752,e=>{"use strict";var t=e.i(912714),n=e.i(750227),o=e.i(333925),r=e.i(871096);let i=e=>`${(0,r.botFolder)(e)}/memory`;async function a(e,t=o.BOT_MEMORY_LIMITS.files){let l=i(e),u=(0,n.join)(r.WORKSPACE,l),c=(await s(u)).sort((e,t)=>t.info.mtimeMs-e.info.mtimeMs),p=await Promise.all(c.slice(0,t).map(async({name:e,info:t})=>({file:e,path:`${l}/${e}`,line:await d((0,n.join)(u,e)),at:new Date(t.mtimeMs),bytes:t.size})));return{folder:l,entries:p,total:c.length}}async function s(e){let o=await (0,t.readdir)(e).catch(()=>[]);return(await Promise.all(o.filter(e=>!e.startsWith(".")).map(async o=>{let r=await (0,t.stat)((0,n.join)(e,o)).catch(()=>null);return r?.isFile()?{name:o,info:r}:null}))).filter(e=>null!==e)}async function l(e){let a=(0,n.join)(r.WORKSPACE,i(e)),l=new Map;return await Promise.all((await s(a)).map(async({name:e,info:r})=>{let i=r.size>4*o.BOT_MEMORY_LIMITS.chars?null:await (0,t.readFile)((0,n.join)(a,e),"utf8").catch(()=>null);l.set(e,{text:null!==i&&c(i)<=o.BOT_MEMORY_LIMITS.chars?i:null,size:r.size,mtimeMs:r.mtimeMs,atime:r.atime,mtime:r.mtime})})),l}async function u(e,a){let l=i(e),u=(0,n.join)(r.WORKSPACE,l),{files:d,chars:p}=o.BOT_MEMORY_LIMITS,h=[],m=[],g=0;for(let{name:e,info:o}of(await s(u))){g+=1;let r=a.get(e);if(r&&r.size===o.size&&r.mtimeMs===o.mtimeMs)continue;let i=(0,n.join)(u,e),s=c(await (0,t.readFile)(i,"utf8").catch(()=>""));if(s<=p){r||m.push(e);continue}let d=`${s.toLocaleString("en-US")} characters, past the ${p.toLocaleString("en-US")} a memory file holds`;r?null!==r.text?(await (0,t.writeFile)(i,r.text),await (0,t.utimes)(i,r.atime,r.mtime),h.push(`Not kept: \`${l}/${e}\` came to ${d}, so it is back as it was. Write it again shorter.`)):h.push(`\`${l}/${e}\` is ${d}. Shorten it.`):(await (0,t.rm)(i,{force:!0}),g-=1,h.push(`Not kept: \`${l}/${e}\` came to ${d}, so it was removed. Write it again shorter.`))}if(g>d&&m.length){await Promise.all(m.map(e=>(0,t.rm)((0,n.join)(u,e),{force:!0})));let e=m.map(e=>`\`${l}/${e}\``).join(", ");h.push(`Not kept: your memory holds ${d} files at most and this made ${g}, so ${e} ${1===m.length?"was":"were"} removed. Delete or merge files no longer worth keeping, then write it again.`)}return h.length?h.join("\n"):null}let c=e=>[...e.trim()].length;async function d(e){let n=await (0,t.open)(e,"r").catch(()=>null);if(!n)return"";try{let e=Buffer.alloc(1024),{bytesRead:t}=await n.read(e,0,1024,0),o=e.toString("utf8",0,t).split("\n").map(e=>e.trim()).filter(Boolean);if("---"===o[0]){let e=o.find(e=>e.startsWith("description:"));if(e)return e.slice(12).trim().replace(/^["']|["']$/g,"");let t=o.indexOf("---",1);return t>0?(o[t+1]??"").replace(/^#+\s*/,""):""}return(o[0]??"").replace(/^#+\s*/,"")}finally{await n.close()}}e.s(["botMemoryFolder",0,i,"holdBotMemory",0,l,"keepBotMemory",0,u,"listBotMemory",0,a])},277259,e=>e.a(async(t,n)=>{try{var o=e.i(666680),r=e.i(734732),i=e.i(691296),a=e.i(333925),s=e.i(113022),l=e.i(986507),u=e.i(475235),c=e.i(423620),d=e.i(51083),p=e.i(450220),h=e.i(951056),m=e.i(379651),g=e.i(871096),f=e.i(938281),y=e.i(610150),b=e.i(799791),_=e.i(600690),
|
|
126
|
+
${n(i)}`}:o.push({role:"assistant",content:n(i)})}return o}])},75752,e=>{"use strict";var t=e.i(912714),n=e.i(750227),o=e.i(333925),r=e.i(871096);let i=e=>`${(0,r.botFolder)(e)}/memory`;async function a(e,t=o.BOT_MEMORY_LIMITS.files){let l=i(e),u=(0,n.join)(r.WORKSPACE,l),c=(await s(u)).sort((e,t)=>t.info.mtimeMs-e.info.mtimeMs),p=await Promise.all(c.slice(0,t).map(async({name:e,info:t})=>({file:e,path:`${l}/${e}`,line:await d((0,n.join)(u,e)),at:new Date(t.mtimeMs),bytes:t.size})));return{folder:l,entries:p,total:c.length}}async function s(e){let o=await (0,t.readdir)(e).catch(()=>[]);return(await Promise.all(o.filter(e=>!e.startsWith(".")).map(async o=>{let r=await (0,t.stat)((0,n.join)(e,o)).catch(()=>null);return r?.isFile()?{name:o,info:r}:null}))).filter(e=>null!==e)}async function l(e){let a=(0,n.join)(r.WORKSPACE,i(e)),l=new Map;return await Promise.all((await s(a)).map(async({name:e,info:r})=>{let i=r.size>4*o.BOT_MEMORY_LIMITS.chars?null:await (0,t.readFile)((0,n.join)(a,e),"utf8").catch(()=>null);l.set(e,{text:null!==i&&c(i)<=o.BOT_MEMORY_LIMITS.chars?i:null,size:r.size,mtimeMs:r.mtimeMs,atime:r.atime,mtime:r.mtime})})),l}async function u(e,a){let l=i(e),u=(0,n.join)(r.WORKSPACE,l),{files:d,chars:p}=o.BOT_MEMORY_LIMITS,h=[],m=[],g=0;for(let{name:e,info:o}of(await s(u))){g+=1;let r=a.get(e);if(r&&r.size===o.size&&r.mtimeMs===o.mtimeMs)continue;let i=(0,n.join)(u,e),s=c(await (0,t.readFile)(i,"utf8").catch(()=>""));if(s<=p){r||m.push(e);continue}let d=`${s.toLocaleString("en-US")} characters, past the ${p.toLocaleString("en-US")} a memory file holds`;r?null!==r.text?(await (0,t.writeFile)(i,r.text),await (0,t.utimes)(i,r.atime,r.mtime),h.push(`Not kept: \`${l}/${e}\` came to ${d}, so it is back as it was. Write it again shorter.`)):h.push(`\`${l}/${e}\` is ${d}. Shorten it.`):(await (0,t.rm)(i,{force:!0}),g-=1,h.push(`Not kept: \`${l}/${e}\` came to ${d}, so it was removed. Write it again shorter.`))}if(g>d&&m.length){await Promise.all(m.map(e=>(0,t.rm)((0,n.join)(u,e),{force:!0})));let e=m.map(e=>`\`${l}/${e}\``).join(", ");h.push(`Not kept: your memory holds ${d} files at most and this made ${g}, so ${e} ${1===m.length?"was":"were"} removed. Delete or merge files no longer worth keeping, then write it again.`)}return h.length?h.join("\n"):null}let c=e=>[...e.trim()].length;async function d(e){let n=await (0,t.open)(e,"r").catch(()=>null);if(!n)return"";try{let e=Buffer.alloc(1024),{bytesRead:t}=await n.read(e,0,1024,0),o=e.toString("utf8",0,t).split("\n").map(e=>e.trim()).filter(Boolean);if("---"===o[0]){let e=o.find(e=>e.startsWith("description:"));if(e)return e.slice(12).trim().replace(/^["']|["']$/g,"");let t=o.indexOf("---",1);return t>0?(o[t+1]??"").replace(/^#+\s*/,""):""}return(o[0]??"").replace(/^#+\s*/,"")}finally{await n.close()}}e.s(["botMemoryFolder",0,i,"holdBotMemory",0,l,"keepBotMemory",0,u,"listBotMemory",0,a])},277259,e=>e.a(async(t,n)=>{try{var o=e.i(666680),r=e.i(734732),i=e.i(691296),a=e.i(333925),s=e.i(113022),l=e.i(986507),u=e.i(475235),c=e.i(423620),d=e.i(51083),p=e.i(450220),h=e.i(951056),m=e.i(379651),g=e.i(871096),f=e.i(938281),y=e.i(610150),b=e.i(799791),_=e.i(600690),w=e.i(5509),z=t([s,l,u,c,b,w]);[s,l,u,c,b,w]=z.then?(await z)():z;let T=a.BOT_RUN.steps;async function v(e,t){var n;let o,p,z,v,S,E,C,A,j,R=t.parent??null,$=await (0,b.findJobBot)(e.bot.trim()),M=$?.name??e.bot.trim(),N=e=>t.emit({...e,bot:M,parent:R});if(!$)return void await N({type:"error",message:`No bot named "${e.bot}". Use a name from the list.`,retry:!1});let L=e.messages,P=await function(e,t={}){return e.provider&&e.model?(0,l.getTextModel)({provider:e.provider,model:e.model}):(0,l.resolveDefaultModel)(void 0,t).then(l.getTextModel)}($),U=t.threadId?await (0,w.findThread)(t.threadId):null,[q,{own:D,artifacts:F}]=await Promise.all([t.threadId?(0,g.openJobScratch)(t.threadId,U?.label??"job"):null,(0,g.openBotFolders)(M)]),H=t.session??(t.threadId?(0,g.botBrowserSession)(t.threadId,M):null),[B,W]=await Promise.all([(0,u.loadBotPrompt)(M,$.systemPrompt,{thread:t.threadId??null,owner:t.owner,caller:t.caller},{scratch:q,own:D,artifacts:F}),(0,s.loadTools)({target:"bot",bot:M,thread:t.threadId??null,session:H,model:P})]),K=Math.min(await (0,l.compactBudget)(P.ref,$.compactAt),t.contextBudget||1/0),V=await (0,l.runEffort)(P.ref,$.effort),J=(0,l.promptCacheOptions)(P.ref,t.threadId?O(t.threadId,M):null),G=!1,Y=(0,_.isCoordinatorSeat)(M,t.owner,t.caller)?{...W,[d.TOOL_NAMES.send_message]:(0,i.tool)({description:c.sendMessageSpec.description,inputSchema:c.sendMessageSpec.parameters,execute:async(e,n)=>{let o=await t.send({...e,id:n.toolCallId});return"question"===e.kind&&(G=!0),o}})}:W,Z=new Set,X=(n=a.BOT_RUN.silenceMs,p=new AbortController,z=0,v=!1,S=()=>{clearTimeout(o),o=void 0,v||z>0||(o=setTimeout(()=>{p.abort(new DOMException(`The model sent nothing for ${Math.round(n/6e4)} minutes.`,"TimeoutError"))},n))},{signal:p.signal,touch:S,hold:()=>{z+=1,S()},release:()=>{z=Math.max(0,z-1),S()},end:()=>{v=!0,S()}});for(let[e,n]of Object.entries(Y)){let o=n.execute;o&&(n.execute=(n,r)=>{let i=(async()=>{t.signal?.throwIfAborted(),await N({type:"tool",id:r.toolCallId,name:e,input:n}),X.hold();try{t.signal?.throwIfAborted();let i=await o(n,r);if(i&&"object"==typeof i&&Symbol.asyncIterator in i){let e;for await(let t of i)e=t;i=e}return await N({type:"tool-result",id:r.toolCallId,name:e,output:i}),i}catch(t){throw await N({type:"tool-result",id:r.toolCallId,name:e,output:(0,l.modelErrorToString)(t),error:!0}),t}finally{X.release()}})();return Z.add(i),i.finally(()=>Z.delete(i)).catch(()=>{}),i})}let Q=Promise.resolve(),ee=()=>{},et=0,en=new r.ToolLoopAgent({model:P.model,instructions:B.text,tools:Y,reasoning:V,providerOptions:J,stopWhen:[(0,r.stepCountIs)(T),()=>G],prepareStep:async({stepNumber:e,steps:n,messages:o})=>{await Q,t.signal?.throwIfAborted();let r={},i=(n.at(-1)?.usage.inputTokens??0)||o.reduce((e,t)=>e+(0,y.estimateTokens)("string"==typeof t.content?t.content:JSON.stringify(t.content))+4,0);et=i;let a=o,s=t.compactNow?.()??!1;if((i>K||s)&&o.length>2){X.hold();let e=await x(P.model,Y,o,{signal:t.signal,budget:K,instructions:B.text,providerOptions:J}).finally(X.release);f.logger.debug(`compacted ${o.length} messages at ${i} tokens (budget ${K})`);let n=`${e.text}${await k(U?.id??null,o,q)}`;await N({type:"compact",text:n,usage:e.usage,messages:o.length,tokens:i}),a=[o[0],{role:"user",content:n}]}let l=e>0?await t.notes?.()??[]:[];return(l.length&&(a=[...a,...l.map(e=>({role:"user",content:e}))]),a===o)?r:{...r,messages:a}}}),eo=(E=[],C=[],A=!1,{push(e){let t=C.shift();t?t(e):E.push(e)},take(){let e=E.shift();return e?Promise.resolve(e):A?Promise.resolve(null):new Promise(e=>C.push(e))},end(){for(let e of(A=!0,C.splice(0)))e(null)}}),er=t.signal?AbortSignal.any([t.signal,X.signal]):X.signal;X.touch();let ei=new AbortController,ea=AbortSignal.any([er,ei.signal]);try{j=await en.stream({messages:L,abortSignal:ea,onStepEnd:e=>{Q=new Promise(e=>{ee=e}),eo.push({messages:function(e){if(!e.toolResults.length)return e.response.messages;let t=new Map(e.toolResults.map(e=>[e.toolCallId,e.output]));return e.response.messages.map(e=>"tool"!==e.role?e:{...e,content:e.content.map(e=>{if("tool-result"!==e.type||!t.has(e.toolCallId))return e;let n=t.get(e.toolCallId);return{...e,output:"string"==typeof n?{type:"text",value:n}:{type:"json",value:n}}})})}(e),usage:I(e.usage)})}})}catch(e){throw X.end(),ei.abort(),await Promise.allSettled([...Z]),e}let es="",el="",eu=null,ec=e=>{f.logger.error(`${M}: the model run broke`,e);let t=(0,l.modelErrorToString)(e),n=!(0,l.isProviderRefusal)(e),o=(0,l.isKeyRefused)(e)?{refused:P.ref.provider}:{};if(!(0,l.isContextOverflow)(e))return{type:"error",message:t,retry:n,...o};let r=Math.floor(Math.min(K,et||K)*a.BOT_RUN.overflowShrink);return{type:"error",message:t,budget:Math.max(h.COMPACT_AT_MIN,r),retry:n,...o}};er.addEventListener("abort",()=>{eo.end(),ee()},{once:!0});try{for await(let e of j.stream)switch(X.touch(),e.type){case"start-step":el="",es="";break;case"text-delta":es+=e.text;break;case"text-end":{let e=es.trim();if(es="",!e)break;el=[el,e].filter(Boolean).join("\n\n"),await N({type:"text",text:e});break}case"tool-call":await N({type:"tool",id:e.toolCallId,name:e.toolName,input:e.input,providerExecuted:e.providerExecuted,providerOptions:e.providerMetadata});break;case"tool-result":await N({type:"tool-result",id:e.toolCallId,name:e.toolName,output:e.output});break;case"tool-error":await N({type:"tool-result",id:e.toolCallId,name:e.toolName,output:(0,l.modelErrorToString)(e.error),error:!0});break;case"finish-step":{eu=e.finishReason;let t=await eo.take();t&&await N({type:"step",...t,budget:K}),ee();break}case"abort":if(t.signal?.aborted)return;await N(ec(e.reason??"The model stopped sending."));return;case"error":await N(ec(e.error));return}}finally{ei.abort(),eo.end(),X.end(),ee(),await Promise.allSettled([...Z]),H&&(0,m.renewSignIns)(H).catch(e=>f.logger.warn(`${M}: kept sign-ins were not renewed`,e))}try{await j.finalStep}catch(e){if(t.signal?.aborted)return;await N(ec(e));return}"content-filter"===eu?await N({type:"error",message:"The provider's content filter stopped the response.",retry:!1}):await N({type:"turn-end",text:el,stopped:!G&&("length"===eu||"error"===eu||"tool-calls"===eu)})}async function k(e,t,n){try{let o=e?await (0,w.listWrittenPaths)(e):(0,w.writtenPathsIn)(t.map(e=>e.content)),r=await (0,g.filesOnDisk)(o,n);if(!r.length)return"";let i=r.slice(-a.BOT_RUN.compactFiles),s=r.length-i.length,l=i.map(e=>`- ${e}`);return s&&l.unshift(`- …and ${s} older ones`),`
|
|
127
127
|
|
|
128
128
|
Files this job has on disk now — open one rather than fetching again what is in it:
|
|
129
|
-
${l.join("\n")}`}catch(e){return f.logger.warn("files under the summary could not be listed",e),""}}async function x(e,t,n,o){let r;try{return await S(e,t,n,o)}catch(e){if(o.signal?.aborted)throw e;r=e}if((0,l.isContextOverflow)(r)){let i=(0,p.asWords)(n,(e,t)=>`${e}: ${(0,
|
|
129
|
+
${l.join("\n")}`}catch(e){return f.logger.warn("files under the summary could not be listed",e),""}}async function x(e,t,n,o){let r;try{return await S(e,t,n,o)}catch(e){if(o.signal?.aborted)throw e;r=e}if((0,l.isContextOverflow)(r)){let i=(0,p.asWords)(n,(e,t)=>`${e}: ${(0,w.argumentLine)(e,t)}`);try{return await S(e,t,i,o)}catch(e){if(o.signal?.aborted)throw e;r=e}}throw Error(`Could not compact the context (${(0,l.modelErrorToString)(r)}).`,{cause:r})}async function S(e,t,n,o){let i,{text:s,usage:l}=await (0,r.generateText)({model:e,instructions:o.instructions,tools:t,toolChoice:"none",messages:[...n,{role:"user",content:(i=(e=>{let{min:t,max:n,perTokens:o}=a.BOT_RUN.summaryWords;return Math.min(n,Math.max(t,Math.round(e/o)))})(o.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.
|
|
130
130
|
|
|
131
131
|
Cover all of it, and prefer a fact over a description of a fact:
|
|
132
132
|
|
|
@@ -140,8 +140,8 @@ Cover all of it, and prefer a fact over a description of a fact:
|
|
|
140
140
|
Plain text, under ${i} words. No preamble, no headings about the summary itself, no account of how you have been going.`)}],abortSignal:o.signal,timeout:a.BOT_RUN.silenceMs,providerOptions:o.providerOptions}),u=s.trim();if(!u)throw Error("The summary of the context came back empty, so there is nothing to carry on from.");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.
|
|
141
141
|
|
|
142
142
|
${u}`,usage:I(l)}}let I=e=>({input:e.inputTokens??0,output:e.outputTokens??0,cacheRead:e.inputTokenDetails?.cacheReadTokens??0,cacheWrite:e.inputTokenDetails?.cacheWriteTokens??0}),O=(e,t)=>(0,o.createHash)("sha256").update(`${e}
|
|
143
|
-
${t}`).digest("hex").slice(0,32);e.s(["resumeTranscript",0,function(e,t=new Map){let n=new Map,o=new Set;for(let t of e)if(("tool"===t.role||"assistant"===t.role)&&Array.isArray(t.content))for(let e of t.content)"tool-result"===e.type&&(n.has(e.toolCallId)||n.set(e.toolCallId,e),"assistant"===t.role&&o.add(e.toolCallId));let r=[],i=new Set;for(let a of e){if("tool"===a.role){let e=a.content.filter(e=>"tool-result"!==e.type);e.length&&r.push({...a,content:e});continue}if("assistant"!==a.role||"string"==typeof a.content){r.push(a);continue}let e=[],s=[];for(let r of a.content){if("tool-call"!==r.type){s.push(r);continue}if(i.has(r.toolCallId))continue;let a=r.input;if("string"==typeof a)try{a=JSON.parse(a)}catch{a=void 0}if(!r.toolCallId||void 0===a){s.push({type:"text",text:"A tool argument stream was interrupted before a complete call was recorded. Inspect the saved work before continuing."});continue}let l=r.toolName===d.TOOL_NAMES.send_message?t.get(r.toolCallId):void 0,u=n.get(r.toolCallId)??(l?{type:"tool-result",toolCallId:r.toolCallId,toolName:r.toolName,output:{type:"json",value:l}}:void 0);if(r.providerExecuted&&(!u||!o.has(r.toolCallId))){s.push({type:"text",text:u?`The provider operation ${r.toolName} returned this data before its native continuation was interrupted: ${JSON.stringify(u.output)}`:`The provider operation ${r.toolName} was interrupted without a recorded result. Its remote execution state is unknown.`});continue}i.add(r.toolCallId),s.push({...r,input:a}),o.has(r.toolCallId)||e.push(u??{type:"tool-result",toolCallId:r.toolCallId,toolName:r.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."}})}s.length&&r.push({...a,content:s}),e.length&&r.push({role:"tool",content:e})}return r},"runBot",0,v]),n()}catch(e){n(e)}},!1),49002,e=>e.a(async(t,n)=>{try{var o=e.i(136340),r=e.i(232347),i=e.i(333925),a=e.i(986507),s=e.i(475235),l=e.i(520401),u=e.i(375814),c=e.i(871096),d=e.i(528803),p=e.i(938281),h=e.i(212389),m=e.i(991243),g=e.i(64774),f=e.i(799791),y=e.i(277259),b=e.i(951056),_=e.i(811592),
|
|
144
|
-
${t}`;async function k(e){let t=await (0,f.findJobBot)(e.bot);(!t||t.disabled)&&(0,h.publicError)("Choose an enabled bot.");let{from:n,routine:o,...r}={...e,bot:t.name},i=(0,s.buildThreadOpening)({bot:r.bot,request:r.request,from:n,routine:o}),a=await (0,w.insertThread)({...r,routineId:o?.id??null,startedBy:o?null:n,opening:i});return await S(a.id),a.id}async function x(e,t,n="user",o,r){let i=null;return await L(e,async()=>{let a=await (0,w.findThread)(e);if(a||(0,h.publicError)("No such thread."),o){let t=(await (0,_.listRoomWork)(e)).find(e=>e.bot.toLowerCase()===o.trim().toLowerCase());t&&t.bot!==z.ROOM_THURSDAY||(0,h.publicError)("Choose a participant in this thread."),o=t.bot}t.trim()===b.THREAD_CONTINUE&&(0,b.isAppStop)(a.pending)?(await (0,_.resumeRoom)(e),(await (0,_.listRoomWork)(e)).some(e=>"queued"===e.state)||(i=await (0,_.tellRoom)(e,"Continue from the saved conversation.","user"===n?z.ROOM_USER:z.ROOM_THURSDAY,o,void 0,!1))):i=await (0,_.tellRoom)(e,t,"user"===n?z.ROOM_USER:z.ROOM_THURSDAY,o,r)}),await S(e),i}async function S(e){await L(e,async()=>{for(let t=0;t<2;t++){let t;for(;t=await (0,_.claimRoomWork)(e);)!function(e){let t,n=new AbortController,o=new Promise(e=>{t=e});N.set(e.id,{threadId:e.threadId,stop:n,done:o}),T(e,n.signal).catch(t=>p.logger.error(`thread ${e.threadId}: participant`,t)).finally(()=>{N.delete(e.id),t(),S(e.threadId).catch(t=>p.logger.error(`thread ${e.threadId}: scheduling`,t))})}(t);await (0,_.settleRoom)(e)}})}async function T(e,t){let n=await I(e,t);if(n?.failure?.retry&&!t.aborted&&(await (0,_.noteRoomBreak)(e,n.failure.message),await (0,o.setTimeout)(i.BOT_RUN.retryMs,void 0,{signal:t}).catch(()=>{}),t.aborted||(n=await I(e,t,!1))),!n||t.aborted)return;let a=n.failure?.message,s=n.ending;if(a||!s||s.stopped){let t=a??"The turn was interrupted. Continue from the saved conversation.";L(e.threadId,async()=>{let o=(await (0,_.listRoomWork)(e.threadId)).find(t=>t.id===e.id);if(o?.state!=="running"||o.generation!==e.generation)return;let r=O(e.threadId);await (0,_.pauseRoom)(e.threadId,t,n.failure?.refused),await r}).catch(t=>p.logger.error(`thread ${e.threadId}: pausing`,t));return}await (0,_.finishRoomWork)(e,s.text);let h=await (0,w.findThread)(e.threadId);if(h?.status==="done"){let e=(0,g.plainText)(h.outcome??"").slice(0,i.FINISHED_NOTICE.words);r.presence.watching||await (0,l.isAnyCallLive)()||(0,d.desktopNotify)(h.label,e);let t=await (0,c.filesOnDisk)((0,u.pathsIn)(h.outcome??""),null);r.appEvents.emit({type:"finished",threadId:h.id,label:h.label,bot:h.bot,words:e,paths:(0,u.leadFirst)(t)})}}async function I(e,t,n=!0){let o=new q(e,t),r=null,i=null;try{let a=await (0,w.findThread)(e.threadId);if(!a)return null;if((await (0,_.listParticipantTranscript)(e.threadId,e.bot)).length||await (0,_.joinRoom)(e,t=>(0,s.buildJoinOpening)({bot:e.bot,coordinator:a.bot,job:t,request:a.request})),await (0,_.consumeRoomInbox)(e),n&&(0,z.isCoordinatorSeat)(e.bot,a.bot,e.caller)){let t=await (0,_.roomBoard)(e);t&&await (0,_.appendRoomMessage)(e.threadId,{bot:e.bot,parent:e.id,role:"user",content:t,hidden:!0})}let l=await (0,_.listParticipantTranscript)(e.threadId,e.bot);await (0,y.runBot)({bot:e.bot,messages:(0,y.resumeTranscript)(l,await (0,_.listRoomReceipts)(e.threadId,e.bot,l))},{signal:t,threadId:e.threadId,parent:e.id,caller:e.caller,owner:a.bot,contextBudget:await (0,_.roomContextBudget)(e.threadId,e.bot),compactNow:()=>P.delete(U(e.threadId,e.bot)),session:(0,c.botBrowserSession)(e.threadId,e.bot),notes:()=>(0,_.consumeRoomInbox)(e),send:async n=>{t.throwIfAborted();let o=n.to.trim();if(o.toLowerCase()===z.ROOM_THURSDAY.toLowerCase())o=z.ROOM_THURSDAY;else{let e=await (0,f.findJobBot)(o);(!e||e.disabled)&&(0,h.publicError)(`No enabled bot named "${o}".`),o=e.name}let r=await (0,_.sendRoomMessage)(e,{...n,to:o});return S(e.threadId).catch(e=>p.logger.error("room message scheduling",e)),r},emit:async n=>{(!t.aborted||"tool-result"===n.type)&&(await o.on(n),"step"===n.type&&await (0,w.addThreadUsage)(e.threadId,n.usage,e.bot===a.bot?{tokens:n.usage.input,budget:n.budget}:null),"compact"===n.type&&await (0,w.addThreadUsage)(e.threadId,n.usage),"turn-end"===n.type&&(r=n),"error"===n.type&&(i={message:n.message,retry:n.retry,refused:n.refused},n.budget&&await (0,_.lowerRoomContextBudget)(e,n.budget)))}})}catch(n){t.aborted||(p.logger.error(`thread ${e.threadId}: ${e.bot} broke`,n),i={message:(0,a.modelErrorToString)(n),retry:!(0,h.isPublicError)(n)&&!(0,a.isProviderRefusal)(n)})}return{ending:r,failure:i}}class q{work;signal;lane;assistant;tool;parts;calls;results;constructor(e,t){this.work=e,this.signal=t,this.lane=(0,g.PromiseChain)(),this.assistant=null,this.tool=null,this.parts={assistant:[],tool:[]},this.calls=new Set,this.results=new Set}async write(e,t,n=!1){let o={bot:this.work.bot,parent:this.work.id,role:t.role,content:t.content,compact:n,note:n};return null===e?(0,_.appendRoomMessage)(this.work.threadId,o):(await (0,w.upsertMessage)(this.work.threadId,e,o),e)}on(e){return this.lane(async()=>{if(!this.signal.aborted||"tool-result"===e.type)if("text"===e.type)this.parts.assistant.push({type:"text",text:e.text}),this.assistant=await this.write(this.assistant,{role:"assistant",content:this.parts.assistant});else if("tool"===e.type){if(this.calls.has(e.id)){let t=this.parts.assistant.find(t=>"tool-call"===t.type&&t.toolCallId===e.id);t&&"tool-call"===t.type&&e.providerOptions&&(t.providerOptions=e.providerOptions,this.assistant=await this.write(this.assistant,{role:"assistant",content:this.parts.assistant}));return}this.calls.add(e.id),this.parts.assistant.push({type:"tool-call",toolCallId:e.id,toolName:e.name,input:e.input,...e.providerExecuted?{providerExecuted:!0}:{},...e.providerOptions?{providerOptions:e.providerOptions}:{}}),this.assistant=await this.write(this.assistant,{role:"assistant",content:this.parts.assistant})}else if("tool-result"===e.type){if(this.results.has(e.id))return;this.results.add(e.id),this.parts.tool.push({type:"tool-result",toolCallId:e.id,toolName:e.name,output:e.error?{type:"error-text",value:String(e.output)}:"string"==typeof e.output?{type:"text",value:e.output}:{type:"json",value:e.output}}),this.tool=await this.write(this.tool,{role:"tool",content:this.parts.tool})}else if("step"===e.type){let t=[this.assistant,this.tool];for(let[n,o]of e.messages.entries())await this.write(t[n]??null,o);let n=t.slice(e.messages.length).filter(e=>null!==e);n.length&&await (0,w.deleteMessages)(this.work.threadId,n),this.assistant=this.tool=null,this.parts={assistant:[],tool:[]}}else"compact"===e.type&&await this.write(null,{role:"user",content:e.text},!0)})}}async function O(e){let t=[...N.values()].filter(t=>t.threadId===e);for(let e of t)e.stop.abort();await Promise.all(t.map(e=>e.done))}async function E(e){await L(e,async()=>{let t=await (0,w.findThread)(e);t||(0,h.publicError)("No such thread."),t.endedAt&&(0,h.publicError)("That thread has already ended."),await (0,_.cancelRoom)(e),await (0,w.updateThread)(e,{status:"cancelled",outcome:null,pending:null,seen:!0,endedAt:new Date}),await O(e),await (0,c.closeJobShell)(e)})}async function C(e){return L(e,()=>A(e))}async function A(e){let t=await (0,w.findThread)(e);await (0,_.cancelRoom)(e),await O(e),await (0,c.removeJobBrowsers)(e);let n=await (0,w.deleteThread)(e);return n&&t&&await (0,c.removeJobScratch)(e,t.label),n}async function j(e){let t=e?.getTime(),n=e=>void 0===t||(e.endedAt??e.updatedAt).getTime()<t,o=0;for(let e of(await (0,w.listThreadFolders)()))("done"===e.status||"cancelled"===e.status)&&n(e)&&await L(e.id,async()=>{let t=await (0,w.findThread)(e.id);t?.status!=="done"&&t?.status!=="cancelled"||n(t)&&await A(e.id)&&(o+=1)});return o}async function R(){let e=Date.now()-i.WORKSPACE_KEEP.forMs,t=t=>("done"===t.status||"cancelled"===t.status)&&(t.endedAt??t.updatedAt).getTime()<e,n=new Set(await (0,c.listScratchFolders)()),o=[];for(let e of(await (0,w.listThreadFolders)())){let r=(0,c.jobScratch)(e.id,e.label);n.delete(r)&&t(e)&&await L(e.id,async()=>{let n=await (0,w.findThread)(e.id);n&&t(n)&&(await (0,c.closeHiddenBrowser)(e.id),await (0,c.removeJobScratch)(e.id,e.label),o.push(r))})}return o.push(...await (0,c.removeUnchangedFolders)([...n])),await (0,c.pruneJobFiles)(),o.length&&p.logger.info(`cleared ${o.length} old job folder(s): ${o.join(", ")}`),o}async function $(){for(let e of(await (0,w.listRunningThreadIds)()))await L(e,async()=>{[...N.values()].some(t=>t.threadId===e)||(await (0,w.findThread)(e))?.status==="running"&&await (0,_.pauseRoom)(e,"The server restarted. Resume from the saved conversation.")})}async function M(e){let t=await (0,w.listRunningThreadIds)();await Promise.all(t.map(t=>L(t,async()=>{(await (0,w.findThread)(t))?.status==="running"&&(await O(t),await (0,_.pauseRoom)(t,e))})))}e.s(["answerThread",0,x,"askCompact",0,function(e,t){P.add(U(e,t))},"cancelThread",0,E,"pauseThreads",0,M,"removeFinishedThreads",0,j,"removeThread",0,C,"startThread",0,k,"sweepJobFiles",0,R,"sweepThreads",0,$]),n()}catch(e){n(e)}},!1),539904,e=>e.a(async(t,n)=>{try{var o,r=e.i(753955),i=e.i(940655),a=e.i(333925),s=e.i(938281),l=e.i(64774),u=e.i(993195),c=e.i(950262),d=t([u]);[u]=d.then?(await d)():d;class p extends Error{serverName;authorizationUrl;constructor(e,t){super(`MCP server "${e}" requires authorization`),this.serverName=e,this.authorizationUrl=t,this.name="McpAuthRequiredError"}}class h{store;serverName;oauth;callbackUrl;clientName;lastAuthorizationUrl;constructor(e,t,n,o,r){this.store=e,this.serverName=t,this.oauth=n,this.callbackUrl=o,this.clientName=r}get redirectUrl(){return this.callbackUrl}get clientMetadata(){return{client_name:this.clientName,redirect_uris:[this.callbackUrl],grant_types:["authorization_code","refresh_token"],response_types:["code"],token_endpoint_auth_method:"client_secret_post"}}async persist(e){this.oauth={...this.oauth,...e},await this.store.saveOAuth(this.serverName,this.oauth)}clientInformation(){return this.oauth.clientInformation}async saveClientInformation(e){await this.persist({clientInformation:e})}tokens(){return this.oauth.tokens}async saveTokens(e){await this.persist({tokens:e})}authorizationServerInformation(){return this.oauth.authorizationServer}async saveAuthorizationServerInformation(e){await this.persist({authorizationServer:e})}codeVerifier(){if(!this.oauth.codeVerifier)throw Error("No code verifier saved");return this.oauth.codeVerifier}async saveCodeVerifier(e){await this.persist({codeVerifier:e})}state(){return crypto.randomUUID()}async saveState(e){await this.persist({state:e})}storedState(){return this.oauth.state}redirectToAuthorization(e){this.lastAuthorizationUrl=e}async invalidateCredentials(e){let t={...this.oauth};("all"===e||"client"===e)&&(t.clientInformation=void 0),("all"===e||"tokens"===e)&&(t.tokens=void 0),("all"===e||"verifier"===e)&&(t.codeVerifier=void 0),this.oauth=t,await this.store.saveOAuth(this.serverName,t)}}let m=globalThis;m.__thursdayMcpManager&&m.__thursdayMcpManager.dispose(),o={callbackUrl:new URL("/api/mcp/oauth/callback",a.APP_URL).href,clientName:a.APP_NAME},m.__thursdayMcpManager=new class e{store;sessions;connecting;callbackUrl;clientName;constructor(e,t){this.store=e,this.sessions=new Map,this.connecting=new Map,this.callbackUrl=t.callbackUrl,this.clientName=t.clientName??a.APP_NAME}async connect(e){let t=this.connecting.get(e);if(t)return t;let n=this.doConnect(e).finally(()=>this.connecting.delete(e));return this.connecting.set(e,n),n}async callTool(e,t,n,o){let i=await this.ensureClient(e);try{let r=await i.callTool({name:t,arguments:n,options:o?{signal:o}:void 0});return this.touch(e),r}catch(t){if(t instanceof r.UnauthorizedError)throw await this.closeSession(e),new p(e);throw t}}async finishAuthorization(e){let t=e.get("state"),n=e.get("code");if(!t||!n)throw Error("OAuth callback is missing code or state");let o=await this.store.findByOAuthState(t);if(!o||!(0,c.isRemoteConfig)(o.config))throw Error("No server is waiting for this authorization");let i=this.providerFor(o),a=await (0,r.auth)(i,{serverUrl:o.config.url,authorizationCode:n,callbackState:t});if("AUTHORIZED"!==a)throw Error(`Token exchange ended in "${a}"`);return await i.invalidateCredentials("verifier"),await this.connect(o.name),o.name}async disconnect(e){await this.closeSession(e)}async dispose(){await Promise.all([...this.sessions.keys()].map(e=>this.closeSession(e)))}async doConnect(e){await this.closeSession(e);let t=await this.store.load(e);if(!t)throw Error(`Unknown MCP server "${e}"`);let n={};try{let o=await this.openClient(t,n),r=(await o.listTools()).tools.map(e=>({name:e.name,description:e.description,inputSchema:e.inputSchema,outputSchema:e.outputSchema}));return this.adopt(e,o),await this.store.saveConnectionResult(e,{toolInfo:r,lastError:null}),s.logger.info(`mcp "${e}" connected — ${r.length} tools`),{status:"connected",tools:r}}catch(d){var o,i;let a;if(d instanceof r.UnauthorizedError||d?.cause instanceof r.UnauthorizedError){let t=n.href;if(t)return await this.store.saveConnectionResult(e,{toolInfo:[],lastError:"Authorization required — finish sign-in in the opened tab"}),{status:"auth_required",authorizationUrl:t}}let u=(o=d,i=t,a=(0,l.errorToString)(o),(0,c.isRemoteConfig)(i.config)&&!i.oauth?.clientInformation&&/Invalid OAuth error response/.test(a)?`This server does not let an app register itself for sign-in, so it cannot be connected here. It answered: ${a}`:a);throw await this.store.saveConnectionResult(e,{toolInfo:[],lastError:u}),s.logger.warn(`mcp "${e}" failed — ${u}`),Error(u,{cause:d})}}async openClient(e,t={}){if((0,c.isRemoteConfig)(e.config)){let n=this.providerFor(e);try{return await (0,r.createMCPClient)({name:this.clientName,transport:{type:"http",url:e.config.url,headers:e.config.headers,authProvider:n,redirect:"follow"}})}finally{t.href=n.lastAuthorizationUrl?.href}}return(0,r.createMCPClient)({name:this.clientName,transport:new i.Experimental_StdioMCPTransport({command:e.config.command,args:e.config.args,env:e.config.env})})}providerFor(e){return new h(this.store,e.name,e.oauth??{},this.callbackUrl,this.clientName)}async ensureClient(e){let t=this.sessions.get(e);if(t)return t.client;let n=await this.connect(e);if("auth_required"===n.status)throw new p(e,n.authorizationUrl);let o=this.sessions.get(e);if(!o)throw Error(`Session for "${e}" vanished mid-connect`);return o.client}adopt(e,t){this.sessions.set(e,{client:t,idleTimer:this.armIdleTimer(e)})}touch(e){let t=this.sessions.get(e);t&&(clearTimeout(t.idleTimer),t.idleTimer=this.armIdleTimer(e))}armIdleTimer(e){let t=setTimeout(()=>{this.closeSession(e)},a.MCP_IDLE_MS);return t.unref?.(),t}async closeSession(e){let t=this.sessions.get(e);t&&(this.sessions.delete(e),clearTimeout(t.idleTimer),await t.client.close().catch(()=>{}))}}({load:e=>(0,u.findServer)(e),saveOAuth:(e,t)=>(0,u.saveOAuthData)(e,t),saveConnectionResult:(e,t)=>null===t.lastError?(0,u.syncServerTools)(e,t.toolInfo):(0,u.saveConnectionError)(e,t.lastError),findByOAuthState:e=>(0,u.findServerByOAuthState)(e)},o);let g=m.__thursdayMcpManager;e.s(["McpAuthRequiredError",0,p,"mcpManager",0,g]),n()}catch(e){n(e)}},!1),519645,e=>e.a(async(t,n)=>{try{var o=e.i(336763),r=e.i(157406),i=e.i(396918),a=e.i(232347),s=e.i(333925),l=e.i(876393),u=e.i(220376),c=e.i(799791),d=e.i(212389),p=e.i(275841),h=t([l,c]);[l,c]=h.then?(await h)():h;let I=()=>a.appEvents.emit({type:"routines"});async function m(e,t){return l.database.select({id:u.threadTable.id,status:u.threadTable.status,outcome:u.threadTable.outcome,updatedAt:u.threadTable.updatedAt}).from(u.threadTable).where((0,o.eq)(u.threadTable.routineId,e)).orderBy((0,i.desc)(u.threadTable.createdAt)).limit(t)}let O=async e=>{let{createdAt:t,...n}=e;return{...n,runs:await m(e.id,s.ROUTINE.runsShown)}};async function g(){let e=await l.database.select().from(u.routineTable).orderBy(u.routineTable.createdAt);return Promise.all(e.map(O))}async function f(e){let[t]=await l.database.select().from(u.routineTable).where((0,o.eq)(u.routineTable.id,e));return t?O(t):null}async function y(e){let t=await f(e.trim());if(t)return t;let n=e.trim().toLowerCase(),o=(await g()).filter(e=>e.label.toLowerCase()===n);return 1===o.length?o[0]:null}async function b(e){let t=await (0,c.findJobBot)(e);return(!t||t.disabled)&&(0,d.publicError)("Choose an enabled bot."),t.name}function _(e,t){t&&"once"===e.kind&&(0,p.momentOf)(e.at)<=new Date&&(0,d.publicError)("That time has passed. Pick a later one.")}async function z(e){let[{total:t}]=await l.database.select({total:(0,r.count)()}).from(u.routineTable);t>=s.ROUTINE.max&&(0,d.publicError)(`There are already ${s.ROUTINE.max} routines. Delete one to make another.`),_(e.schedule,!0);let[n]=await l.database.insert(u.routineTable).values({id:crypto.randomUUID(),...e,bot:await b(e.bot),nextRunAt:(0,p.nextRun)(e.schedule,new Date)}).returning();return I(),O(n)}async function w(e,t){let[n]=await l.database.select().from(u.routineTable).where((0,o.eq)(u.routineTable.id,e));if(!n)return null;let r=t.schedule??n.schedule,i=!!(t.schedule&&!(0,p.sameSchedule)(t.schedule,n.schedule))||t.enabled&&!n.enabled;i&&_(r,t.enabled??n.enabled);let[a]=await l.database.update(u.routineTable).set({...t,...t.bot?{bot:await b(t.bot)}:{},...i?{nextRunAt:(0,p.nextRun)(r,new Date)}:{}}).where((0,o.eq)(u.routineTable.id,e)).returning();return I(),O(a)}async function v(e){let t=await l.database.delete(u.routineTable).where((0,o.eq)(u.routineTable.id,e)).returning({id:u.routineTable.id});return t.length&&I(),t.length>0}async function k(e){return l.database.select().from(u.routineTable).where((0,o.and)((0,o.eq)(u.routineTable.enabled,!0),(0,o.lte)(u.routineTable.nextRunAt,e))).orderBy(u.routineTable.nextRunAt)}async function x(e,t){let n=await l.database.update(u.routineTable).set("once"===e.schedule.kind?{enabled:!1}:{nextRunAt:(0,p.nextRun)(e.schedule,t)}).where((0,o.and)((0,o.eq)(u.routineTable.id,e.id),(0,o.eq)(u.routineTable.enabled,!0),(0,o.eq)(u.routineTable.nextRunAt,e.nextRunAt))).returning({id:u.routineTable.id});return n.length&&I(),n.length>0}async function S(e){return(await m(e,1))[0]??null}async function T(e){return(await l.database.select({id:u.threadTable.id}).from(u.threadTable).where((0,o.and)((0,o.eq)(u.threadTable.routineId,e),(0,o.eq)(u.threadTable.seen,!1),(0,o.inArray)(u.threadTable.status,["done","cancelled"])))).map(e=>e.id)}e.s(["claimRoutine",0,x,"createRoutine",0,z,"deleteRoutine",0,v,"latestRun",0,S,"listDueRoutines",0,k,"listRoutines",0,g,"listUnseenRunIds",0,T,"resolveRoutine",0,y,"updateRoutine",0,w]),n()}catch(e){n(e)}},!1),275841,e=>{"use strict";var t=e.i(517435),n=e.i(333925),o=e.i(900533);let r=t.default.string().regex(/^([01]\d|2[0-3]):[0-5]\d$/,"A time is HH:MM, 00:00 to 23:59");function i(e){let[t,n]=e.split(" "),[o,r,i]=t.split("-").map(Number),[a,s]=n.split(":").map(Number);return new Date(o,r-1,i,a,s)}let a=/^\d{4}-\d\d-\d\d ([01]\d|2[0-3]):[0-5]\d$/,s=t.default.string().regex(a,'A moment is "YYYY-MM-DD HH:MM"').refine(e=>{if(!a.test(e))return!0;let t=i(e);return t.getMonth()===Number(e.slice(5,7))-1&&t.getDate()===Number(e.slice(8,10))},"There is no such day"),l=t.default.discriminatedUnion("kind",[t.default.object({kind:t.default.literal("once"),at:s}),t.default.object({kind:t.default.literal("daily"),time:r,days:t.default.array(t.default.number().int().min(1).max(7)).min(1,"Pick at least one day").transform(e=>[...new Set(e)].sort((e,t)=>e-t))}),t.default.object({kind:t.default.literal("every"),hours:t.default.number().int().min(n.ROUTINE.minHours,`No more often than every ${n.ROUTINE.minHours}h`).max(168)})]),u=t.default.object({bot:t.default.string().trim().min(1,"Pick a bot"),label:t.default.string().trim().min(1,"Give it a name").max(80),request:t.default.string().trim().min(1,"Say what it should do"),schedule:l}),c=t.default.object({id:t.default.string(),status:t.default.enum(["running","waiting","done","cancelled"]),outcome:t.default.string().nullable(),updatedAt:o.DateLikeSchema});u.extend({id:t.default.string(),enabled:t.default.boolean(),nextRunAt:o.DateLikeSchema,runs:t.default.array(c)});let d=["Mon","Tue","Wed","Thu","Fri","Sat","Sun"],p=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];e.s(["RoutineInputSchema",0,u,"RoutineScheduleSchema",0,l,"momentOf",0,i,"nextRun",0,function(e,t){if("once"===e.kind)return i(e.at);if("every"===e.kind)return new Date(t.getTime()+36e5*e.hours);let[n,o]=e.time.split(":").map(Number);for(let r=0;r<=7;r++){let i=new Date(t);i.setDate(i.getDate()+r),i.setHours(n,o,0,0);let a=0===i.getDay()?7:i.getDay();if(i>t&&e.days.includes(a))return i}return new Date(t.getTime()+864e5)},"sameSchedule",0,function(e,t){if("once"===e.kind)return"once"===t.kind&&e.at===t.at;if("every"===e.kind)return"every"===t.kind&&e.hours===t.hours;let n=e=>[...e].sort((e,t)=>e-t).join();return"daily"===t.kind&&e.time===t.time&&n(e.days)===n(t.days)},"scheduleText",0,function(e){if("once"===e.kind){let[t,n]=e.at.split(" "),[,o,r]=t.split("-").map(Number);return`Once \xb7 ${p[o-1]} ${r} ${n}`}if("every"===e.kind)return 1===e.hours?"Every hour":`Every ${e.hours} hours`;let{days:t,time:n}=e;if(7===t.length)return`Daily ${n}`;if(1===t.length)return`${d[t[0]-1]} ${n}`;let o=t.every((e,n)=>0===n||e===t[n-1]+1)?`${d[t[0]-1]}–${d[t.at(-1)-1]}`:t.map(e=>d[e-1]).join(" ");return`Daily ${n} \xb7 ${o}`}])},397140,e=>{"use strict";var t=e.i(333925);e.s(["seedKitName",0,e=>{let n=e.trim().toLowerCase();return Object.hasOwn(t.SEED_KITS_RENAMED,n)?t.SEED_KITS_RENAMED[n]:n}])},343229,e=>e.a(async(t,n)=>{try{var o=e.i(666680),r=e.i(750227),i=e.i(333925),a=e.i(871096),s=e.i(938281),l=e.i(64774),u=e.i(397140),c=e.i(202837),d=t([c]);[c]=d.then?(await d)():d;let h=(0,r.join)(i.APP_DIR,i.PATHS.skills.default),m=(0,r.join)(i.APP_DIR,i.PATHS.skills.seeds),g=(0,r.join)(i.DATA_DIR,i.PATHS.skills.custom),f=async(e,t)=>{let n,o=t?(n=(0,u.seedKitName)(t),/^[a-z0-9][a-z0-9_-]*$/.test(n)?(0,r.join)(m,n):null):null;return p(e,t?[h,...o?[o]:[],(0,r.join)(a.WORKSPACE,(0,a.botFolder)(t),i.PATHS.skills.own),g]:[h,g],await (0,c.readSkillsOff)(),await (0,c.readRetired)())};async function p(e,t,n=new Set,r=new Map){let i=[],a=new Set;for(let u of t){let t;try{t=await e.readdir(u,{withFileTypes:!0})}catch{continue}for(let d of t){let t,p;if(!d.isDirectory())continue;let h=`${u}/${d.name}`,m=`${h}/SKILL.md`;try{t=await e.readFile(m,"utf-8")}catch{continue}try{p=(0,c.parseFrontmatter)(t)}catch(e){s.logger.warn(`skill ${h}: SKILL.md front matter did not load — ${(0,l.errorToString)(e)}`);continue}if(!(0,c.runsHere)(p))continue;let g=r.get(p.name);!(g?.has((0,o.createHash)("sha256").update(t,"utf8").digest("hex"))||a.has(p.name))&&(a.add(p.name),(0,c.isSkillOff)(p,n)||i.push({name:p.name,description:p.description,path:h}))}}return i}e.s(["loadSkills",0,f]),n()}catch(e){n(e)}},!1),202837,e=>e.a(async(t,n)=>{try{let f;e.i(666680);var o=e.i(912714),r=e.i(750227),i=e.i(891906),a=e.i(333925),s=e.i(799791),l=e.i(724185),u=e.i(546686);e.i(871096);var c=e.i(938281),d=e.i(212389),p=e.i(64774);e.i(397140);var h=t([s,l]);function m(e){let t=e.match(/^---\r?\n([\s\S]*?)\r?\n---\r?\n?/);if(!t)return{head:null,body:e.trim(),rest:e,fence:""};let n=e.slice(t[0].length);return{head:t[1]??null,body:n.trim(),rest:n,fence:t[0]}}async function g(){try{return(0,u.parseSkillsOff)(await (0,l.readConfig)(u.SKILLS_OFF_KEY))}catch(e){return c.logger.warn(`skills switched off could not be read — ${(0,p.errorToString)(e)}`),new Set}}[s,l]=h.then?(await h)():h,e.s(["isSkillOff",0,(e,t)=>!0===e.disabled||t.has(e.name.toLowerCase()),"parseFrontmatter",0,function(e){let t,{head:n}=m(e);n||(0,d.publicError)("SKILL.md needs a YAML block with name and description");try{t=(0,i.parse)(n)}catch{(0,d.publicError)("SKILL.md frontmatter is not valid YAML")}let o=u.SkillFrontmatterSchema.safeParse(t);return o.success||(0,d.publicError)(`SKILL.md frontmatter: ${o.error.issues[0]?.message??"invalid"}`),o.data},"readRetired",0,()=>f??=(0,o.readFile)((0,r.join)(a.APP_DIR,a.PATHS.skills.seeds,"retired.json"),"utf8").then(e=>{let{sha256:t}=JSON.parse(e);return new Map(Object.entries(t).map(([e,t])=>[e,new Set(t)]))}).catch(()=>new Map),"readSkillsOff",0,g,"runsHere",0,e=>{let t=function({metadata:e,platforms:t}){let n=e?.platforms;return"string"==typeof n?n.split(/[\s,]+/).filter(Boolean):t}(e);return!t?.length||t.includes(process.platform)},"splitFrontmatter",0,m]),n()}catch(e){n(e)}},!1),546686,e=>{"use strict";var t=e.i(853205);t.z.union([t.z.enum(["custom","default"]),t.z.templateLiteral(["kit:",t.z.string().regex(/^[\p{L}\p{N}_-]+$/u)]),t.z.templateLiteral(["own:",t.z.string().regex(/^[\p{L}\p{N}_-]+$/u)])]);let n=t.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"),o=t.z.string().trim().min(1,"Skill name is required").max(64,"Skill name is too long"),r=t.z.object({name:o,description:t.z.string().trim().min(1,"Description is required"),metadata:t.z.record(t.z.string(),t.z.unknown()).optional(),disabled:t.z.boolean().optional(),platforms:t.z.array(t.z.string()).optional()});r.extend({name:n,content:t.z.string().trim().min(1,"Content is required")}),e.s(["SKILLS_OFF_KEY",0,"SKILLS_OFF","SkillFrontmatterSchema",0,r,"firstSentence",0,e=>e.trim().split(/(?<=[.。])\s|\n/)[0].trim(),"parseSkillsOff",0,function(e){if(!e)return new Set;try{let t=JSON.parse(e);return new Set(Array.isArray(t)?t.filter(e=>"string"==typeof e).map(e=>e.trim().toLowerCase()):[])}catch{return new Set}}])},293822,e=>{"use strict";var t=e.i(51083);let n={[t.TOOL_NAMES.memory_recall]:"Checking your notes",[t.TOOL_NAMES.memory_create]:"Starting a note",[t.TOOL_NAMES.memory_remember]:"Noting that down",[t.TOOL_NAMES.memory_describe]:"Renaming a note",[t.TOOL_NAMES.memory_forget]:"Forgetting that",[t.TOOL_NAMES.bash]:"Doing it on this computer",[t.TOOL_NAMES.web_search]:"Searching the web",[t.TOOL_NAMES.load_skill]:"Reading how to do this",[t.TOOL_NAMES.look_at]:"Looking at the picture",[t.TOOL_NAMES.make_deck]:"Making the deck",[t.TOOL_NAMES.end_call]:"Ending the call",[t.TOOL_NAMES.routine]:"Checking your routines"};function o(e,t=28){let n=e.trim().replace(/\s+/g," ");if(n.length<=t)return n;let r=n.slice(0,t),i=r.lastIndexOf(" ");return`${(i>t/2?r.slice(0,i):r).trimEnd()}…`}let r=(e,t)=>"string"==typeof e[t]?e[t].trim():"";t.TOOL_NAMES.thread_tell,t.TOOL_NAMES.thread_answer,t.TOOL_NAMES.thread_status,t.TOOL_NAMES.thread_show,t.TOOL_NAMES.thread_cancel,t.TOOL_NAMES.thread_seen,e.s(["searchOf",0,function(e,n){if(e!==t.TOOL_NAMES.web_search)return null;try{var o;let e=JSON.parse(n);return{query:"string"==typeof e.query?e.query:null,sources:(o=e.sources,Array.isArray(o)?o.flatMap(e=>e&&"object"==typeof e&&"string"==typeof e.url?[e]:[]):[])}}catch{return null}},"startedLabel",0,function(e,n){if(e!==t.TOOL_NAMES.thread_start)return null;try{let e=JSON.parse(n);return"string"==typeof e.label?e.label:null}catch{return null}},"toolLine",0,function(e,i,a=null){let s;if(e===t.TOOL_NAMES.tool_search||e===t.TOOL_NAMES.tool_call)return"Reaching a connected service";let l=function(e){if(!e)return null;try{let t=JSON.parse(e);if(t&&"object"==typeof t&&!Array.isArray(t))return t}catch{}return null}(i);return(l&&function(e,n,i){if(e===t.TOOL_NAMES.memory_remember||e===t.TOOL_NAMES.memory_create){let i=r(n,"path"),a=function(e){if(!Array.isArray(e.facts))return null;let t=e.facts.map(e=>e&&"object"==typeof e&&"string"==typeof e.text?e.text.trim():"").filter(Boolean);return t.length?{text:t[0],more:t.length-1}:null}(n),s=e===t.TOOL_NAMES.memory_create?"Starting":"Noting";if(!i)return null;if(!a)return`${s} ${i}`;let l=a.more>0?` (+${a.more})`:"";return`${s} ${i}: ${o(a.text)}${l}`}if(e===t.TOOL_NAMES.memory_recall){let e=r(n,"path");return e?`Checking \xb7 ${e}`:null}if(e===t.TOOL_NAMES.memory_describe){let e=r(n,"path");return e?`Renaming \xb7 ${e}`:null}if(e===t.TOOL_NAMES.bash){let e=r(n,"description")||r(n,"command");return e?`On this computer \xb7 ${o(e,44)}`:null}if(e===t.TOOL_NAMES.load_skill){let e=r(n,"name");return e?`Reading the ${e} skill`:null}if(e===t.TOOL_NAMES.look_at){let e=r(n,"path");return e?`Looking at ${e.split("/").filter(Boolean).at(-1)??""}`:null}if(e===t.TOOL_NAMES.make_deck){let e=r(n,"title");return e?`Making the deck \xb7 ${o(e,44)}`:null}if(e===t.TOOL_NAMES.thread_start){let e=r(n,"bot");return e?`Handing this to ${e}`:"Handing this over"}if(e===t.TOOL_NAMES.web_search){let e=r(n,"query");return e?`Searching \xb7 ${e}`:null}if(e===t.TOOL_NAMES.routine){if("create"===n.action){let e=[r(n,"bot"),function(e){if("string"==typeof e.at&&e.at.length>=16){let[t,n]=e.at.split(" "),[o,r,i]=t.split("-").map(Number),a=new Date(o,r-1,i);if(a.toDateString()===new Date().toDateString())return`once at ${n}`;let s=a.toLocaleDateString("en-US",{month:"short",day:"numeric"});return`once, ${s} ${n}`}return"string"==typeof e.time&&e.time?`daily at ${e.time}`:"number"==typeof e.everyHours?`every ${e.everyHours} hours`:null}(n)].filter(Boolean).join(", ");return e?`Setting a routine \xb7 ${e}`:"Setting a routine"}return"change"===n.action?"Changing a routine":"delete"===n.action?"Deleting a routine":null}let a=r(n,"thread");return e===t.TOOL_NAMES.thread_tell?i?`Telling ${i}`:"Passing that on":e===t.TOOL_NAMES.thread_answer?i?`Answering ${i}`:"Answering that":e===t.TOOL_NAMES.thread_cancel?a?`Stopping ${a}`:"Stopping that":e===t.TOOL_NAMES.thread_seen?a?`Marking ${a} as read`:"Marking that as read":e===t.TOOL_NAMES.thread_show?a?`Opening ${a}`:"Opening that":e===t.TOOL_NAMES.thread_status?a&&"all"!==a.toLowerCase()?`Checking on ${a}`:"Checking on the work":null}(e,l,a))??n[e]??((s=e.indexOf("__"))<=0?null:`Reaching ${e.slice(0,s).replace(/[-_]/g," ")}`)}])},528803,e=>{"use strict";var t=e.i(874533),n=e.i(333925);let o=`on run argv
|
|
143
|
+
${t}`).digest("hex").slice(0,32);e.s(["resumeTranscript",0,function(e,t=new Map){let n=new Map,o=new Set;for(let t of e)if(("tool"===t.role||"assistant"===t.role)&&Array.isArray(t.content))for(let e of t.content)"tool-result"===e.type&&(n.has(e.toolCallId)||n.set(e.toolCallId,e),"assistant"===t.role&&o.add(e.toolCallId));let r=[],i=new Set;for(let a of e){if("tool"===a.role){let e=a.content.filter(e=>"tool-result"!==e.type);e.length&&r.push({...a,content:e});continue}if("assistant"!==a.role||"string"==typeof a.content){r.push(a);continue}let e=[],s=[];for(let r of a.content){if("tool-call"!==r.type){s.push(r);continue}if(i.has(r.toolCallId))continue;let a=r.input;if("string"==typeof a)try{a=JSON.parse(a)}catch{a=void 0}if(!r.toolCallId||void 0===a){s.push({type:"text",text:"A tool argument stream was interrupted before a complete call was recorded. Inspect the saved work before continuing."});continue}let l=r.toolName===d.TOOL_NAMES.send_message?t.get(r.toolCallId):void 0,u=n.get(r.toolCallId)??(l?{type:"tool-result",toolCallId:r.toolCallId,toolName:r.toolName,output:{type:"json",value:l}}:void 0);if(r.providerExecuted&&(!u||!o.has(r.toolCallId))){s.push({type:"text",text:u?`The provider operation ${r.toolName} returned this data before its native continuation was interrupted: ${JSON.stringify(u.output)}`:`The provider operation ${r.toolName} was interrupted without a recorded result. Its remote execution state is unknown.`});continue}i.add(r.toolCallId),s.push({...r,input:a}),o.has(r.toolCallId)||e.push(u??{type:"tool-result",toolCallId:r.toolCallId,toolName:r.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."}})}s.length&&r.push({...a,content:s}),e.length&&r.push({role:"tool",content:e})}return r},"runBot",0,v]),n()}catch(e){n(e)}},!1),49002,e=>e.a(async(t,n)=>{try{var o=e.i(136340),r=e.i(232347),i=e.i(333925),a=e.i(986507),s=e.i(475235),l=e.i(520401),u=e.i(375814),c=e.i(871096),d=e.i(528803),p=e.i(938281),h=e.i(212389),m=e.i(991243),g=e.i(64774),f=e.i(799791),y=e.i(277259),b=e.i(951056),_=e.i(811592),w=e.i(600690),z=e.i(5509),v=t([a,s,l,f,y,_,z]);[a,s,l,f,y,_,z]=v.then?(await v)():v;let N=globalThis.__roomRuns??=new Map,L=globalThis.__roomThreadLock??=(0,m.createKeyedLock)(),P=globalThis.__roomCompactAsked??=new Set,U=(e,t)=>`${e}
|
|
144
|
+
${t}`;async function k(e){let t=await (0,f.findJobBot)(e.bot);(!t||t.disabled)&&(0,h.publicError)("Choose an enabled bot.");let{from:n,routine:o,...r}={...e,bot:t.name},i=(0,s.buildThreadOpening)({bot:r.bot,request:r.request,from:n,routine:o}),a=await (0,z.insertThread)({...r,routineId:o?.id??null,startedBy:o?null:n,opening:i});return await S(a.id),a.id}async function x(e,t,n="user",o,r){let i=null;return await L(e,async()=>{let a=await (0,z.findThread)(e);if(a||(0,h.publicError)("No such thread."),o){let t=(await (0,_.listRoomWork)(e)).find(e=>e.bot.toLowerCase()===o.trim().toLowerCase());t&&t.bot!==w.ROOM_THURSDAY||(0,h.publicError)("Choose a participant in this thread."),o=t.bot}t.trim()===b.THREAD_CONTINUE&&(0,b.isAppStop)(a.pending)?(await (0,_.resumeRoom)(e),(await (0,_.listRoomWork)(e)).some(e=>"queued"===e.state)||(i=await (0,_.tellRoom)(e,"Continue from the saved conversation.","user"===n?w.ROOM_USER:w.ROOM_THURSDAY,o,void 0,!1))):i=await (0,_.tellRoom)(e,t,"user"===n?w.ROOM_USER:w.ROOM_THURSDAY,o,r)}),await S(e),i}async function S(e){await L(e,async()=>{for(let t=0;t<2;t++){let t;for(;t=await (0,_.claimRoomWork)(e);)!function(e){let t,n=new AbortController,o=new Promise(e=>{t=e});N.set(e.id,{threadId:e.threadId,stop:n,done:o}),T(e,n.signal).catch(t=>p.logger.error(`thread ${e.threadId}: participant`,t)).finally(()=>{N.delete(e.id),t(),S(e.threadId).catch(t=>p.logger.error(`thread ${e.threadId}: scheduling`,t))})}(t);await (0,_.settleRoom)(e)}})}async function T(e,t){let n=await I(e,t);if(n?.failure?.retry&&!t.aborted&&(await (0,_.noteRoomBreak)(e,n.failure.message),await (0,o.setTimeout)(i.BOT_RUN.retryMs,void 0,{signal:t}).catch(()=>{}),t.aborted||(n=await I(e,t,!1))),!n||t.aborted)return;let a=n.failure?.message,s=n.ending;if(a||!s||s.stopped){let t=a??"The turn was interrupted. Continue from the saved conversation.";L(e.threadId,async()=>{let o=(await (0,_.listRoomWork)(e.threadId)).find(t=>t.id===e.id);if(o?.state!=="running"||o.generation!==e.generation)return;let r=O(e.threadId);await (0,_.pauseRoom)(e.threadId,t,n.failure?.refused),await r}).catch(t=>p.logger.error(`thread ${e.threadId}: pausing`,t));return}await (0,_.finishRoomWork)(e,s.text);let h=await (0,z.findThread)(e.threadId);if(h?.status==="done"){let e=(0,g.plainText)(h.outcome??"").slice(0,i.FINISHED_NOTICE.words);r.presence.watching||await (0,l.isAnyCallLive)()||(0,d.desktopNotify)(h.label,e);let t=await (0,c.filesOnDisk)((0,u.pathsIn)(h.outcome??""),null);r.appEvents.emit({type:"finished",threadId:h.id,label:h.label,bot:h.bot,words:e,paths:(0,u.leadFirst)(t)})}}async function I(e,t,n=!0){let o=new q(e,t),r=null,i=null;try{let a=await (0,z.findThread)(e.threadId);if(!a)return null;if((await (0,_.listParticipantTranscript)(e.threadId,e.bot)).length||await (0,_.joinRoom)(e,t=>(0,s.buildJoinOpening)({bot:e.bot,coordinator:a.bot,job:t,request:a.request})),await (0,_.consumeRoomInbox)(e),n&&(0,w.isCoordinatorSeat)(e.bot,a.bot,e.caller)){let t=await (0,_.roomBoard)(e);t&&await (0,_.appendRoomMessage)(e.threadId,{bot:e.bot,parent:e.id,role:"user",content:t,hidden:!0})}let l=await (0,_.listParticipantTranscript)(e.threadId,e.bot);await (0,y.runBot)({bot:e.bot,messages:(0,y.resumeTranscript)(l,await (0,_.listRoomReceipts)(e.threadId,e.bot,l))},{signal:t,threadId:e.threadId,parent:e.id,caller:e.caller,owner:a.bot,contextBudget:await (0,_.roomContextBudget)(e.threadId,e.bot),compactNow:()=>P.delete(U(e.threadId,e.bot)),session:(0,c.botBrowserSession)(e.threadId,e.bot),notes:()=>(0,_.consumeRoomInbox)(e),send:async n=>{t.throwIfAborted();let o=n.to.trim();if(o.toLowerCase()===w.ROOM_THURSDAY.toLowerCase())o=w.ROOM_THURSDAY;else{let e=await (0,f.findJobBot)(o);(!e||e.disabled)&&(0,h.publicError)(`No enabled bot named "${o}".`),o=e.name}let r=await (0,_.sendRoomMessage)(e,{...n,to:o});return S(e.threadId).catch(e=>p.logger.error("room message scheduling",e)),r},emit:async n=>{(!t.aborted||"tool-result"===n.type)&&(await o.on(n),"step"===n.type&&await (0,z.addThreadUsage)(e.threadId,n.usage,e.bot===a.bot?{tokens:n.usage.input,budget:n.budget}:null),"compact"===n.type&&await (0,z.addThreadUsage)(e.threadId,n.usage),"turn-end"===n.type&&(r=n),"error"===n.type&&(i={message:n.message,retry:n.retry,refused:n.refused},n.budget&&await (0,_.lowerRoomContextBudget)(e,n.budget)))}})}catch(n){t.aborted||(p.logger.error(`thread ${e.threadId}: ${e.bot} broke`,n),i={message:(0,a.modelErrorToString)(n),retry:!(0,h.isPublicError)(n)&&!(0,a.isProviderRefusal)(n)})}return{ending:r,failure:i}}class q{work;signal;lane;assistant;tool;parts;calls;results;constructor(e,t){this.work=e,this.signal=t,this.lane=(0,g.PromiseChain)(),this.assistant=null,this.tool=null,this.parts={assistant:[],tool:[]},this.calls=new Set,this.results=new Set}async write(e,t,n=!1){let o={bot:this.work.bot,parent:this.work.id,role:t.role,content:t.content,compact:n,note:n};return null===e?(0,_.appendRoomMessage)(this.work.threadId,o):(await (0,z.upsertMessage)(this.work.threadId,e,o),e)}on(e){return this.lane(async()=>{if(!this.signal.aborted||"tool-result"===e.type)if("text"===e.type)this.parts.assistant.push({type:"text",text:e.text}),this.assistant=await this.write(this.assistant,{role:"assistant",content:this.parts.assistant});else if("tool"===e.type){if(this.calls.has(e.id)){let t=this.parts.assistant.find(t=>"tool-call"===t.type&&t.toolCallId===e.id);t&&"tool-call"===t.type&&e.providerOptions&&(t.providerOptions=e.providerOptions,this.assistant=await this.write(this.assistant,{role:"assistant",content:this.parts.assistant}));return}this.calls.add(e.id),this.parts.assistant.push({type:"tool-call",toolCallId:e.id,toolName:e.name,input:e.input,...e.providerExecuted?{providerExecuted:!0}:{},...e.providerOptions?{providerOptions:e.providerOptions}:{}}),this.assistant=await this.write(this.assistant,{role:"assistant",content:this.parts.assistant})}else if("tool-result"===e.type){if(this.results.has(e.id))return;this.results.add(e.id),this.parts.tool.push({type:"tool-result",toolCallId:e.id,toolName:e.name,output:e.error?{type:"error-text",value:String(e.output)}:"string"==typeof e.output?{type:"text",value:e.output}:{type:"json",value:e.output}}),this.tool=await this.write(this.tool,{role:"tool",content:this.parts.tool})}else if("step"===e.type){let t=[this.assistant,this.tool];for(let[n,o]of e.messages.entries())await this.write(t[n]??null,o);let n=t.slice(e.messages.length).filter(e=>null!==e);n.length&&await (0,z.deleteMessages)(this.work.threadId,n),this.assistant=this.tool=null,this.parts={assistant:[],tool:[]}}else"compact"===e.type&&await this.write(null,{role:"user",content:e.text},!0)})}}async function O(e){let t=[...N.values()].filter(t=>t.threadId===e);for(let e of t)e.stop.abort();await Promise.all(t.map(e=>e.done))}async function E(e){await L(e,async()=>{let t=await (0,z.findThread)(e);t||(0,h.publicError)("No such thread."),t.endedAt&&(0,h.publicError)("That thread has already ended."),await (0,_.cancelRoom)(e),await (0,z.updateThread)(e,{status:"cancelled",outcome:null,pending:null,seen:!0,endedAt:new Date}),await O(e),await (0,c.closeJobShell)(e)})}async function C(e){return L(e,()=>A(e))}async function A(e){let t=await (0,z.findThread)(e);await (0,_.cancelRoom)(e),await O(e),await (0,c.removeJobBrowsers)(e);let n=await (0,z.deleteThread)(e);return n&&t&&await (0,c.removeJobScratch)(e,t.label),n}async function j(e){let t=e?.getTime(),n=e=>void 0===t||(e.endedAt??e.updatedAt).getTime()<t,o=0;for(let e of(await (0,z.listThreadFolders)()))("done"===e.status||"cancelled"===e.status)&&n(e)&&await L(e.id,async()=>{let t=await (0,z.findThread)(e.id);t?.status!=="done"&&t?.status!=="cancelled"||n(t)&&await A(e.id)&&(o+=1)});return o}async function R(){let e=Date.now()-i.WORKSPACE_KEEP.forMs,t=t=>("done"===t.status||"cancelled"===t.status)&&(t.endedAt??t.updatedAt).getTime()<e,n=new Set(await (0,c.listScratchFolders)()),o=[];for(let e of(await (0,z.listThreadFolders)())){let r=(0,c.jobScratch)(e.id,e.label);n.delete(r)&&t(e)&&await L(e.id,async()=>{let n=await (0,z.findThread)(e.id);n&&t(n)&&(await (0,c.closeHiddenBrowser)(e.id),await (0,c.removeJobScratch)(e.id,e.label),o.push(r))})}return o.push(...await (0,c.removeUnchangedFolders)([...n])),await (0,c.pruneJobFiles)(),o.length&&p.logger.info(`cleared ${o.length} old job folder(s): ${o.join(", ")}`),o}async function $(){for(let e of(await (0,z.listRunningThreadIds)()))await L(e,async()=>{[...N.values()].some(t=>t.threadId===e)||(await (0,z.findThread)(e))?.status==="running"&&await (0,_.pauseRoom)(e,"The server restarted. Resume from the saved conversation.")})}async function M(e){let t=await (0,z.listRunningThreadIds)();await Promise.all(t.map(t=>L(t,async()=>{(await (0,z.findThread)(t))?.status==="running"&&(await O(t),await (0,_.pauseRoom)(t,e))})))}e.s(["answerThread",0,x,"askCompact",0,function(e,t){P.add(U(e,t))},"cancelThread",0,E,"pauseThreads",0,M,"removeFinishedThreads",0,j,"removeThread",0,C,"startThread",0,k,"sweepJobFiles",0,R,"sweepThreads",0,$]),n()}catch(e){n(e)}},!1),539904,e=>e.a(async(t,n)=>{try{var o,r=e.i(753955),i=e.i(940655),a=e.i(333925),s=e.i(938281),l=e.i(64774),u=e.i(993195),c=e.i(950262),d=t([u]);[u]=d.then?(await d)():d;class p extends Error{serverName;authorizationUrl;constructor(e,t){super(`MCP server "${e}" requires authorization`),this.serverName=e,this.authorizationUrl=t,this.name="McpAuthRequiredError"}}class h{store;serverName;oauth;callbackUrl;clientName;lastAuthorizationUrl;constructor(e,t,n,o,r){this.store=e,this.serverName=t,this.oauth=n,this.callbackUrl=o,this.clientName=r}get redirectUrl(){return this.callbackUrl}get clientMetadata(){return{client_name:this.clientName,redirect_uris:[this.callbackUrl],grant_types:["authorization_code","refresh_token"],response_types:["code"],token_endpoint_auth_method:"client_secret_post"}}async persist(e){this.oauth={...this.oauth,...e},await this.store.saveOAuth(this.serverName,this.oauth)}clientInformation(){return this.oauth.clientInformation}async saveClientInformation(e){await this.persist({clientInformation:e})}tokens(){return this.oauth.tokens}async saveTokens(e){await this.persist({tokens:e})}authorizationServerInformation(){return this.oauth.authorizationServer}async saveAuthorizationServerInformation(e){await this.persist({authorizationServer:e})}codeVerifier(){if(!this.oauth.codeVerifier)throw Error("No code verifier saved");return this.oauth.codeVerifier}async saveCodeVerifier(e){await this.persist({codeVerifier:e})}state(){return crypto.randomUUID()}async saveState(e){await this.persist({state:e})}storedState(){return this.oauth.state}redirectToAuthorization(e){this.lastAuthorizationUrl=e}async invalidateCredentials(e){let t={...this.oauth};("all"===e||"client"===e)&&(t.clientInformation=void 0),("all"===e||"tokens"===e)&&(t.tokens=void 0),("all"===e||"verifier"===e)&&(t.codeVerifier=void 0),this.oauth=t,await this.store.saveOAuth(this.serverName,t)}}let m=globalThis;m.__thursdayMcpManager&&m.__thursdayMcpManager.dispose(),o={callbackUrl:new URL("/api/mcp/oauth/callback",a.APP_URL).href,clientName:a.APP_NAME},m.__thursdayMcpManager=new class e{store;sessions;connecting;callbackUrl;clientName;constructor(e,t){this.store=e,this.sessions=new Map,this.connecting=new Map,this.callbackUrl=t.callbackUrl,this.clientName=t.clientName??a.APP_NAME}async connect(e){let t=this.connecting.get(e);if(t)return t;let n=this.doConnect(e).finally(()=>this.connecting.delete(e));return this.connecting.set(e,n),n}async callTool(e,t,n,o){let i=await this.ensureClient(e);try{let r=await i.callTool({name:t,arguments:n,options:o?{signal:o}:void 0});return this.touch(e),r}catch(t){if(t instanceof r.UnauthorizedError)throw await this.closeSession(e),new p(e);throw t}}async finishAuthorization(e){let t=e.get("state"),n=e.get("code");if(!t||!n)throw Error("OAuth callback is missing code or state");let o=await this.store.findByOAuthState(t);if(!o||!(0,c.isRemoteConfig)(o.config))throw Error("No server is waiting for this authorization");let i=this.providerFor(o),a=await (0,r.auth)(i,{serverUrl:o.config.url,authorizationCode:n,callbackState:t});if("AUTHORIZED"!==a)throw Error(`Token exchange ended in "${a}"`);return await i.invalidateCredentials("verifier"),await this.connect(o.name),o.name}async disconnect(e){await this.closeSession(e)}async dispose(){await Promise.all([...this.sessions.keys()].map(e=>this.closeSession(e)))}async doConnect(e){await this.closeSession(e);let t=await this.store.load(e);if(!t)throw Error(`Unknown MCP server "${e}"`);let n={};try{let o=await this.openClient(t,n),r=(await o.listTools()).tools.map(e=>({name:e.name,description:e.description,inputSchema:e.inputSchema,outputSchema:e.outputSchema}));return this.adopt(e,o),await this.store.saveConnectionResult(e,{toolInfo:r,lastError:null}),s.logger.info(`mcp "${e}" connected — ${r.length} tools`),{status:"connected",tools:r}}catch(d){var o,i;let a;if(d instanceof r.UnauthorizedError||d?.cause instanceof r.UnauthorizedError){let t=n.href;if(t)return await this.store.saveConnectionResult(e,{toolInfo:[],lastError:"Authorization required — finish sign-in in the opened tab"}),{status:"auth_required",authorizationUrl:t}}let u=(o=d,i=t,a=(0,l.errorToString)(o),(0,c.isRemoteConfig)(i.config)&&!i.oauth?.clientInformation&&/Invalid OAuth error response/.test(a)?`This server does not let an app register itself for sign-in, so it cannot be connected here. It answered: ${a}`:a);throw await this.store.saveConnectionResult(e,{toolInfo:[],lastError:u}),s.logger.warn(`mcp "${e}" failed — ${u}`),Error(u,{cause:d})}}async openClient(e,t={}){if((0,c.isRemoteConfig)(e.config)){let n=this.providerFor(e);try{return await (0,r.createMCPClient)({name:this.clientName,transport:{type:"http",url:e.config.url,headers:e.config.headers,authProvider:n,redirect:"follow"}})}finally{t.href=n.lastAuthorizationUrl?.href}}return(0,r.createMCPClient)({name:this.clientName,transport:new i.Experimental_StdioMCPTransport({command:e.config.command,args:e.config.args,env:e.config.env})})}providerFor(e){return new h(this.store,e.name,e.oauth??{},this.callbackUrl,this.clientName)}async ensureClient(e){let t=this.sessions.get(e);if(t)return t.client;let n=await this.connect(e);if("auth_required"===n.status)throw new p(e,n.authorizationUrl);let o=this.sessions.get(e);if(!o)throw Error(`Session for "${e}" vanished mid-connect`);return o.client}adopt(e,t){this.sessions.set(e,{client:t,idleTimer:this.armIdleTimer(e)})}touch(e){let t=this.sessions.get(e);t&&(clearTimeout(t.idleTimer),t.idleTimer=this.armIdleTimer(e))}armIdleTimer(e){let t=setTimeout(()=>{this.closeSession(e)},a.MCP_IDLE_MS);return t.unref?.(),t}async closeSession(e){let t=this.sessions.get(e);t&&(this.sessions.delete(e),clearTimeout(t.idleTimer),await t.client.close().catch(()=>{}))}}({load:e=>(0,u.findServer)(e),saveOAuth:(e,t)=>(0,u.saveOAuthData)(e,t),saveConnectionResult:(e,t)=>null===t.lastError?(0,u.syncServerTools)(e,t.toolInfo):(0,u.saveConnectionError)(e,t.lastError),findByOAuthState:e=>(0,u.findServerByOAuthState)(e)},o);let g=m.__thursdayMcpManager;e.s(["McpAuthRequiredError",0,p,"mcpManager",0,g]),n()}catch(e){n(e)}},!1),519645,e=>e.a(async(t,n)=>{try{var o=e.i(336763),r=e.i(157406),i=e.i(396918),a=e.i(232347),s=e.i(333925),l=e.i(876393),u=e.i(220376),c=e.i(799791),d=e.i(212389),p=e.i(275841),h=t([l,c]);[l,c]=h.then?(await h)():h;let I=()=>a.appEvents.emit({type:"routines"});async function m(e,t){return l.database.select({id:u.threadTable.id,status:u.threadTable.status,outcome:u.threadTable.outcome,updatedAt:u.threadTable.updatedAt}).from(u.threadTable).where((0,o.eq)(u.threadTable.routineId,e)).orderBy((0,i.desc)(u.threadTable.createdAt)).limit(t)}let O=async e=>{let{createdAt:t,...n}=e;return{...n,runs:await m(e.id,s.ROUTINE.runsShown)}};async function g(){let e=await l.database.select().from(u.routineTable).orderBy(u.routineTable.createdAt);return Promise.all(e.map(O))}async function f(e){let[t]=await l.database.select().from(u.routineTable).where((0,o.eq)(u.routineTable.id,e));return t?O(t):null}async function y(e){let t=await f(e.trim());if(t)return t;let n=e.trim().toLowerCase(),o=(await g()).filter(e=>e.label.toLowerCase()===n);return 1===o.length?o[0]:null}async function b(e){let t=await (0,c.findJobBot)(e);return(!t||t.disabled)&&(0,d.publicError)("Choose an enabled bot."),t.name}function _(e,t){t&&"once"===e.kind&&(0,p.momentOf)(e.at)<=new Date&&(0,d.publicError)("That time has passed. Pick a later one.")}async function w(e){let[{total:t}]=await l.database.select({total:(0,r.count)()}).from(u.routineTable);t>=s.ROUTINE.max&&(0,d.publicError)(`There are already ${s.ROUTINE.max} routines. Delete one to make another.`),_(e.schedule,!0);let[n]=await l.database.insert(u.routineTable).values({id:crypto.randomUUID(),...e,bot:await b(e.bot),nextRunAt:(0,p.nextRun)(e.schedule,new Date)}).returning();return I(),O(n)}async function z(e,t){let[n]=await l.database.select().from(u.routineTable).where((0,o.eq)(u.routineTable.id,e));if(!n)return null;let r=t.schedule??n.schedule,i=!!(t.schedule&&!(0,p.sameSchedule)(t.schedule,n.schedule))||t.enabled&&!n.enabled;i&&_(r,t.enabled??n.enabled);let[a]=await l.database.update(u.routineTable).set({...t,...t.bot?{bot:await b(t.bot)}:{},...i?{nextRunAt:(0,p.nextRun)(r,new Date)}:{}}).where((0,o.eq)(u.routineTable.id,e)).returning();return I(),O(a)}async function v(e){let t=await l.database.delete(u.routineTable).where((0,o.eq)(u.routineTable.id,e)).returning({id:u.routineTable.id});return t.length&&I(),t.length>0}async function k(e){return l.database.select().from(u.routineTable).where((0,o.and)((0,o.eq)(u.routineTable.enabled,!0),(0,o.lte)(u.routineTable.nextRunAt,e))).orderBy(u.routineTable.nextRunAt)}async function x(e,t){let n=await l.database.update(u.routineTable).set("once"===e.schedule.kind?{enabled:!1}:{nextRunAt:(0,p.nextRun)(e.schedule,t)}).where((0,o.and)((0,o.eq)(u.routineTable.id,e.id),(0,o.eq)(u.routineTable.enabled,!0),(0,o.eq)(u.routineTable.nextRunAt,e.nextRunAt))).returning({id:u.routineTable.id});return n.length&&I(),n.length>0}async function S(e){return(await m(e,1))[0]??null}async function T(e){return(await l.database.select({id:u.threadTable.id}).from(u.threadTable).where((0,o.and)((0,o.eq)(u.threadTable.routineId,e),(0,o.eq)(u.threadTable.seen,!1),(0,o.inArray)(u.threadTable.status,["done","cancelled"])))).map(e=>e.id)}e.s(["claimRoutine",0,x,"createRoutine",0,w,"deleteRoutine",0,v,"latestRun",0,S,"listDueRoutines",0,k,"listRoutines",0,g,"listUnseenRunIds",0,T,"resolveRoutine",0,y,"updateRoutine",0,z]),n()}catch(e){n(e)}},!1),275841,e=>{"use strict";var t=e.i(517435),n=e.i(333925),o=e.i(900533);let r=t.default.string().regex(/^([01]\d|2[0-3]):[0-5]\d$/,"A time is HH:MM, 00:00 to 23:59");function i(e){let[t,n]=e.split(" "),[o,r,i]=t.split("-").map(Number),[a,s]=n.split(":").map(Number);return new Date(o,r-1,i,a,s)}let a=/^\d{4}-\d\d-\d\d ([01]\d|2[0-3]):[0-5]\d$/,s=t.default.string().regex(a,'A moment is "YYYY-MM-DD HH:MM"').refine(e=>{if(!a.test(e))return!0;let t=i(e);return t.getMonth()===Number(e.slice(5,7))-1&&t.getDate()===Number(e.slice(8,10))},"There is no such day"),l=t.default.discriminatedUnion("kind",[t.default.object({kind:t.default.literal("once"),at:s}),t.default.object({kind:t.default.literal("daily"),time:r,days:t.default.array(t.default.number().int().min(1).max(7)).min(1,"Pick at least one day").transform(e=>[...new Set(e)].sort((e,t)=>e-t))}),t.default.object({kind:t.default.literal("every"),hours:t.default.number().int().min(n.ROUTINE.minHours,`No more often than every ${n.ROUTINE.minHours}h`).max(168)})]),u=t.default.object({bot:t.default.string().trim().min(1,"Pick a bot"),label:t.default.string().trim().min(1,"Give it a name").max(80),request:t.default.string().trim().min(1,"Say what it should do"),schedule:l}),c=t.default.object({id:t.default.string(),status:t.default.enum(["running","waiting","done","cancelled"]),outcome:t.default.string().nullable(),updatedAt:o.DateLikeSchema});u.extend({id:t.default.string(),enabled:t.default.boolean(),nextRunAt:o.DateLikeSchema,runs:t.default.array(c)});let d=["Mon","Tue","Wed","Thu","Fri","Sat","Sun"],p=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];e.s(["RoutineInputSchema",0,u,"RoutineScheduleSchema",0,l,"momentOf",0,i,"nextRun",0,function(e,t){if("once"===e.kind)return i(e.at);if("every"===e.kind)return new Date(t.getTime()+36e5*e.hours);let[n,o]=e.time.split(":").map(Number);for(let r=0;r<=7;r++){let i=new Date(t);i.setDate(i.getDate()+r),i.setHours(n,o,0,0);let a=0===i.getDay()?7:i.getDay();if(i>t&&e.days.includes(a))return i}return new Date(t.getTime()+864e5)},"sameSchedule",0,function(e,t){if("once"===e.kind)return"once"===t.kind&&e.at===t.at;if("every"===e.kind)return"every"===t.kind&&e.hours===t.hours;let n=e=>[...e].sort((e,t)=>e-t).join();return"daily"===t.kind&&e.time===t.time&&n(e.days)===n(t.days)},"scheduleText",0,function(e){if("once"===e.kind){let[t,n]=e.at.split(" "),[,o,r]=t.split("-").map(Number);return`Once \xb7 ${p[o-1]} ${r} ${n}`}if("every"===e.kind)return 1===e.hours?"Every hour":`Every ${e.hours} hours`;let{days:t,time:n}=e;if(7===t.length)return`Daily ${n}`;if(1===t.length)return`${d[t[0]-1]} ${n}`;let o=t.every((e,n)=>0===n||e===t[n-1]+1)?`${d[t[0]-1]}–${d[t.at(-1)-1]}`:t.map(e=>d[e-1]).join(" ");return`Daily ${n} \xb7 ${o}`}])},397140,e=>{"use strict";var t=e.i(333925);e.s(["seedKitName",0,e=>{let n=e.trim().toLowerCase();return Object.hasOwn(t.SEED_KITS_RENAMED,n)?t.SEED_KITS_RENAMED[n]:n}])},343229,e=>e.a(async(t,n)=>{try{var o=e.i(666680),r=e.i(750227),i=e.i(333925),a=e.i(871096),s=e.i(938281),l=e.i(64774),u=e.i(397140),c=e.i(202837),d=t([c]);[c]=d.then?(await d)():d;let h=(0,r.join)(i.APP_DIR,i.PATHS.skills.default),m=(0,r.join)(i.APP_DIR,i.PATHS.skills.seeds),g=(0,r.join)(i.DATA_DIR,i.PATHS.skills.custom),f=async(e,t)=>{let n,o=t?(n=(0,u.seedKitName)(t),/^[a-z0-9][a-z0-9_-]*$/.test(n)?(0,r.join)(m,n):null):null;return p(e,t?[h,...o?[o]:[],(0,r.join)(a.WORKSPACE,(0,a.botFolder)(t),i.PATHS.skills.own),g]:[h,g],await (0,c.readSkillsOff)(),await (0,c.readRetired)())};async function p(e,t,n=new Set,r=new Map){let i=[],a=new Set;for(let u of t){let t;try{t=await e.readdir(u,{withFileTypes:!0})}catch{continue}for(let d of t){let t,p;if(!d.isDirectory())continue;let h=`${u}/${d.name}`,m=`${h}/SKILL.md`;try{t=await e.readFile(m,"utf-8")}catch{continue}try{p=(0,c.parseFrontmatter)(t)}catch(e){s.logger.warn(`skill ${h}: SKILL.md front matter did not load — ${(0,l.errorToString)(e)}`);continue}if(!(0,c.runsHere)(p))continue;let g=r.get(p.name);!(g?.has((0,o.createHash)("sha256").update(t,"utf8").digest("hex"))||a.has(p.name))&&(a.add(p.name),(0,c.isSkillOff)(p,n)||i.push({name:p.name,description:p.description,path:h}))}}return i}e.s(["loadSkills",0,f]),n()}catch(e){n(e)}},!1),202837,e=>e.a(async(t,n)=>{try{let f;e.i(666680);var o=e.i(912714),r=e.i(750227),i=e.i(891906),a=e.i(333925),s=e.i(799791),l=e.i(724185),u=e.i(546686);e.i(871096);var c=e.i(938281),d=e.i(212389),p=e.i(64774);e.i(397140);var h=t([s,l]);function m(e){let t=e.match(/^---\r?\n([\s\S]*?)\r?\n---\r?\n?/);if(!t)return{head:null,body:e.trim(),rest:e,fence:""};let n=e.slice(t[0].length);return{head:t[1]??null,body:n.trim(),rest:n,fence:t[0]}}async function g(){try{return(0,u.parseSkillsOff)(await (0,l.readConfig)(u.SKILLS_OFF_KEY))}catch(e){return c.logger.warn(`skills switched off could not be read — ${(0,p.errorToString)(e)}`),new Set}}[s,l]=h.then?(await h)():h,e.s(["isSkillOff",0,(e,t)=>!0===e.disabled||t.has(e.name.toLowerCase()),"parseFrontmatter",0,function(e){let t,{head:n}=m(e);n||(0,d.publicError)("SKILL.md needs a YAML block with name and description");try{t=(0,i.parse)(n)}catch{(0,d.publicError)("SKILL.md frontmatter is not valid YAML")}let o=u.SkillFrontmatterSchema.safeParse(t);return o.success||(0,d.publicError)(`SKILL.md frontmatter: ${o.error.issues[0]?.message??"invalid"}`),o.data},"readRetired",0,()=>f??=(0,o.readFile)((0,r.join)(a.APP_DIR,a.PATHS.skills.seeds,"retired.json"),"utf8").then(e=>{let{sha256:t}=JSON.parse(e);return new Map(Object.entries(t).map(([e,t])=>[e,new Set(t)]))}).catch(()=>new Map),"readSkillsOff",0,g,"runsHere",0,e=>{let t=function({metadata:e,platforms:t}){let n=e?.platforms;return"string"==typeof n?n.split(/[\s,]+/).filter(Boolean):t}(e);return!t?.length||t.includes(process.platform)},"splitFrontmatter",0,m]),n()}catch(e){n(e)}},!1),546686,e=>{"use strict";var t=e.i(853205);t.z.union([t.z.enum(["custom","default"]),t.z.templateLiteral(["kit:",t.z.string().regex(/^[\p{L}\p{N}_-]+$/u)]),t.z.templateLiteral(["own:",t.z.string().regex(/^[\p{L}\p{N}_-]+$/u)])]);let n=t.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"),o=t.z.string().trim().min(1,"Skill name is required").max(64,"Skill name is too long"),r=t.z.object({name:o,description:t.z.string().trim().min(1,"Description is required"),metadata:t.z.record(t.z.string(),t.z.unknown()).optional(),disabled:t.z.boolean().optional(),platforms:t.z.array(t.z.string()).optional()});r.extend({name:n,content:t.z.string().trim().min(1,"Content is required")}),e.s(["SKILLS_OFF_KEY",0,"SKILLS_OFF","SkillFrontmatterSchema",0,r,"firstSentence",0,e=>e.trim().split(/(?<=[.。])\s|\n/)[0].trim(),"parseSkillsOff",0,function(e){if(!e)return new Set;try{let t=JSON.parse(e);return new Set(Array.isArray(t)?t.filter(e=>"string"==typeof e).map(e=>e.trim().toLowerCase()):[])}catch{return new Set}}])},293822,e=>{"use strict";var t=e.i(51083);let n={[t.TOOL_NAMES.memory_recall]:"Checking your notes",[t.TOOL_NAMES.memory_create]:"Starting a note",[t.TOOL_NAMES.memory_remember]:"Noting that down",[t.TOOL_NAMES.memory_describe]:"Renaming a note",[t.TOOL_NAMES.memory_forget]:"Forgetting that",[t.TOOL_NAMES.bash]:"Doing it on this computer",[t.TOOL_NAMES.web_search]:"Searching the web",[t.TOOL_NAMES.load_skill]:"Reading how to do this",[t.TOOL_NAMES.look_at]:"Looking at the picture",[t.TOOL_NAMES.make_deck]:"Making the deck",[t.TOOL_NAMES.end_call]:"Ending the call",[t.TOOL_NAMES.routine]:"Checking your routines"};function o(e,t=28){let n=e.trim().replace(/\s+/g," ");if(n.length<=t)return n;let r=n.slice(0,t),i=r.lastIndexOf(" ");return`${(i>t/2?r.slice(0,i):r).trimEnd()}…`}let r=(e,t)=>"string"==typeof e[t]?e[t].trim():"";t.TOOL_NAMES.thread_tell,t.TOOL_NAMES.thread_answer,t.TOOL_NAMES.thread_status,t.TOOL_NAMES.thread_show,t.TOOL_NAMES.thread_cancel,t.TOOL_NAMES.thread_seen,e.s(["searchOf",0,function(e,n){if(e!==t.TOOL_NAMES.web_search)return null;try{var o;let e=JSON.parse(n);return{query:"string"==typeof e.query?e.query:null,sources:(o=e.sources,Array.isArray(o)?o.flatMap(e=>e&&"object"==typeof e&&"string"==typeof e.url?[e]:[]):[])}}catch{return null}},"startedLabel",0,function(e,n){if(e!==t.TOOL_NAMES.thread_start)return null;try{let e=JSON.parse(n);return"string"==typeof e.label?e.label:null}catch{return null}},"toolLine",0,function(e,i,a=null){let s;if(e===t.TOOL_NAMES.tool_search||e===t.TOOL_NAMES.tool_call)return"Reaching a connected service";let l=function(e){if(!e)return null;try{let t=JSON.parse(e);if(t&&"object"==typeof t&&!Array.isArray(t))return t}catch{}return null}(i);return(l&&function(e,n,i){if(e===t.TOOL_NAMES.memory_remember||e===t.TOOL_NAMES.memory_create){let i=r(n,"path"),a=function(e){if(!Array.isArray(e.facts))return null;let t=e.facts.map(e=>e&&"object"==typeof e&&"string"==typeof e.text?e.text.trim():"").filter(Boolean);return t.length?{text:t[0],more:t.length-1}:null}(n),s=e===t.TOOL_NAMES.memory_create?"Starting":"Noting";if(!i)return null;if(!a)return`${s} ${i}`;let l=a.more>0?` (+${a.more})`:"";return`${s} ${i}: ${o(a.text)}${l}`}if(e===t.TOOL_NAMES.memory_recall){let e=r(n,"path");return e?`Checking \xb7 ${e}`:null}if(e===t.TOOL_NAMES.memory_describe){let e=r(n,"path");return e?`Renaming \xb7 ${e}`:null}if(e===t.TOOL_NAMES.bash){let e=r(n,"description")||r(n,"command");return e?`On this computer \xb7 ${o(e,44)}`:null}if(e===t.TOOL_NAMES.load_skill){let e=r(n,"name");return e?`Reading the ${e} skill`:null}if(e===t.TOOL_NAMES.look_at){let e=r(n,"path");return e?`Looking at ${e.split("/").filter(Boolean).at(-1)??""}`:null}if(e===t.TOOL_NAMES.make_deck){let e=r(n,"title");return e?`Making the deck \xb7 ${o(e,44)}`:null}if(e===t.TOOL_NAMES.thread_start){let e=r(n,"bot");return e?`Handing this to ${e}`:"Handing this over"}if(e===t.TOOL_NAMES.web_search){let e=r(n,"query");return e?`Searching \xb7 ${e}`:null}if(e===t.TOOL_NAMES.routine){if("create"===n.action){let e=[r(n,"bot"),function(e){if("string"==typeof e.at&&e.at.length>=16){let[t,n]=e.at.split(" "),[o,r,i]=t.split("-").map(Number),a=new Date(o,r-1,i);if(a.toDateString()===new Date().toDateString())return`once at ${n}`;let s=a.toLocaleDateString("en-US",{month:"short",day:"numeric"});return`once, ${s} ${n}`}return"string"==typeof e.time&&e.time?`daily at ${e.time}`:"number"==typeof e.everyHours?`every ${e.everyHours} hours`:null}(n)].filter(Boolean).join(", ");return e?`Setting a routine \xb7 ${e}`:"Setting a routine"}return"change"===n.action?"Changing a routine":"delete"===n.action?"Deleting a routine":null}let a=r(n,"thread");return e===t.TOOL_NAMES.thread_tell?i?`Telling ${i}`:"Passing that on":e===t.TOOL_NAMES.thread_answer?i?`Answering ${i}`:"Answering that":e===t.TOOL_NAMES.thread_cancel?a?`Stopping ${a}`:"Stopping that":e===t.TOOL_NAMES.thread_seen?a?`Marking ${a} as read`:"Marking that as read":e===t.TOOL_NAMES.thread_show?a?`Opening ${a}`:"Opening that":e===t.TOOL_NAMES.thread_status?a&&"all"!==a.toLowerCase()?`Checking on ${a}`:"Checking on the work":null}(e,l,a))??n[e]??((s=e.indexOf("__"))<=0?null:`Reaching ${e.slice(0,s).replace(/[-_]/g," ")}`)}])},528803,e=>{"use strict";var t=e.i(874533),n=e.i(333925);let o=`on run argv
|
|
145
145
|
display notification (item 2 of argv) with title (item 1 of argv)
|
|
146
146
|
end run`,r=`
|
|
147
147
|
$ErrorActionPreference = 'Stop'
|
|
@@ -152,8 +152,8 @@ $text = $xml.GetElementsByTagName('text')
|
|
|
152
152
|
[void]$text.Item(1).AppendChild($xml.CreateTextNode($env:NOTIFY_BODY))
|
|
153
153
|
$id = '{1AC14E77-02E7-4E5D-B744-2EB1AE5198B7}\\WindowsPowerShell\\v1.0\\powershell.exe'
|
|
154
154
|
[Windows.UI.Notifications.ToastNotificationManager]::CreateToastNotifier($id).Show([Windows.UI.Notifications.ToastNotification]::new($xml))
|
|
155
|
-
`,i={darwin:(e,t)=>["osascript",["-e",o,"--",e,t]],win32:()=>["powershell.exe",["-NoProfile","-NonInteractive","-Command",r]],linux:(e,t)=>["notify-send",["--app-name",n.APP_NAME,"--",e,t]]};e.s(["desktopNotify",0,function(e,n){let o=e.slice(0,80),r=n.slice(0,200),a=i[process.platform]?.(o,r);if(!a)return;let[s,l]=a;(0,t.execFile)(s,l,{env:{...process.env,NOTIFY_TITLE:o,NOTIFY_BODY:r},timeout:1e4,windowsHide:!0},()=>{})}])},610150,e=>{"use strict";let t=/[\u1100-\u11ff\u3040-\u30ff\u3130-\u318f\u4e00-\u9fff\uac00-\ud7af]/;function n(e){let n=0,o=0;for(let r of e)t.test(r)?n+=1:o+=1;return Math.ceil(n/1.3+o/4)}e.s(["estimateTokens",0,n,"sectionTokens",0,function(e){return e.split(/\n(?=## )/).map(e=>({name:e.startsWith("## ")?e.slice(3,e.indexOf("\n")):"identity",tokens:n(e)})).sort((e,t)=>t.tokens-e.tokens)}])},128278,e=>{"use strict";var t=e.i(296194),n=e.i(691296),o=e.i(167361),r=e.i(853205),i=e.i(548874),a=(0,n.lazySchema)(()=>(0,n.zodSchema)(r.z.object({type:r.z.literal("error"),error:r.z.object({type:r.z.string(),message:r.z.string()})}))),s=(0,n.createJsonErrorResponseHandler)({errorSchema:a,errorToMessage:e=>e.error.message}),l=(0,n.lazySchema)(()=>(0,n.zodSchema)(r.z.object({id:r.z.string(),type:r.z.literal("file"),filename:r.z.string(),mime_type:r.z.string(),size_bytes:r.z.number(),created_at:r.z.string(),downloadable:r.z.boolean().nullish()}))),u=class{constructor(e){this.config=e,this.specificationVersion="v4"}get provider(){return this.config.provider}async uploadFile({data:e,mediaType:t,filename:o,abortSignal:r,headers:i}){let a=new Blob([(0,n.convertInlineFileDataToUint8Array)(e)],{type:t}),u=new FormData;null!=o?u.append("file",a,o):u.append("file",a);let{value:c}=await (0,n.postFormDataToApi)({url:`${this.config.baseURL}/files`,headers:(0,n.combineHeaders)(this.config.headers(),{"anthropic-beta":"files-api-2025-04-14"},i),formData:u,failedResponseHandler:s,successfulResponseHandler:(0,n.createJsonResponseHandler)(l),abortSignal:r,fetch:this.config.fetch});return{warnings:[],providerReference:{anthropic:c.id},mediaType:c.mime_type??t,filename:c.filename??o,providerMetadata:{anthropic:{filename:c.filename,mimeType:c.mime_type,sizeBytes:c.size_bytes,createdAt:c.created_at,...null!=c.downloadable?{downloadable:c.downloadable}:{}}}}}},c=r.z.object({type:r.z.string(),category:r.z.string().nullish(),explanation:r.z.string().nullish(),recommended_model:r.z.string().nullish()}),d=r.z.object({type:r.z.string(),status:r.z.object({type:r.z.string(),tool_uses:r.z.record(r.z.string(),r.z.object({type:r.z.string(),outcome:r.z.string().nullish(),explanation:r.z.string().nullish()})).nullish()})}),p=r.z.union([r.z.object({type:r.z.literal("code_execution_20250825"),tool_id:r.z.string()}),r.z.object({type:r.z.literal("code_execution_20260120"),tool_id:r.z.string()}),r.z.object({type:r.z.literal("direct")})]),h=r.z.discriminatedUnion("type",[r.z.object({type:r.z.literal("web_search_result_location"),cited_text:r.z.string(),url:r.z.string(),title:r.z.string().nullable(),encrypted_index:r.z.string()}),r.z.object({type:r.z.literal("page_location"),cited_text:r.z.string(),document_index:r.z.number(),document_title:r.z.string().nullable(),start_page_number:r.z.number(),end_page_number:r.z.number(),file_id:r.z.string().nullish()}),r.z.object({type:r.z.literal("char_location"),cited_text:r.z.string(),document_index:r.z.number(),document_title:r.z.string().nullable(),start_char_index:r.z.number(),end_char_index:r.z.number(),file_id:r.z.string().nullish()}),r.z.object({type:r.z.literal("content_block_location"),cited_text:r.z.string(),document_index:r.z.number(),document_title:r.z.string().nullable(),start_block_index:r.z.number(),end_block_index:r.z.number(),file_id:r.z.string().nullable()}),r.z.object({type:r.z.literal("search_result_location"),cited_text:r.z.string(),search_result_index:r.z.number(),source:r.z.string(),title:r.z.string().nullable(),start_block_index:r.z.number(),end_block_index:r.z.number()})]),m=r.z.union([r.z.string(),r.z.array(r.z.union([r.z.string(),r.z.object({type:r.z.literal("text"),text:r.z.string(),citations:r.z.array(r.z.json()).nullable().optional()})]))]),g=r.z.object({type:r.z.string(),path:r.z.string(),reason:r.z.string()}),f=(0,n.lazySchema)(()=>(0,n.zodSchema)(r.z.object({type:r.z.literal("message"),id:r.z.string().nullish(),model:r.z.string().nullish(),content:r.z.array(r.z.discriminatedUnion("type",[r.z.object({type:r.z.literal("text"),text:r.z.string(),citations:r.z.array(h).nullable().optional()}),r.z.object({type:r.z.literal("thinking"),thinking:r.z.string(),signature:r.z.string()}),r.z.object({type:r.z.literal("redacted_thinking"),data:r.z.string()}),r.z.object({type:r.z.literal("compaction"),content:r.z.string().nullish(),signature:r.z.string().nullish()}),r.z.object({type:r.z.literal("tool_use"),id:r.z.string(),name:r.z.string(),input:r.z.unknown(),caller:p.optional(),toolset_name:r.z.string().nullish()}),r.z.object({type:r.z.literal("server_tool_use"),id:r.z.string(),name:r.z.string(),input:r.z.record(r.z.string(),r.z.unknown()).nullish(),caller:p.optional()}),r.z.object({type:r.z.literal("mcp_tool_use"),id:r.z.string(),name:r.z.string(),input:r.z.unknown(),server_name:r.z.string()}),r.z.object({type:r.z.literal("mcp_tool_result"),tool_use_id:r.z.string(),is_error:r.z.boolean(),content:m}),r.z.object({type:r.z.literal("web_fetch_tool_result"),tool_use_id:r.z.string(),caller:p.optional(),content:r.z.union([r.z.object({type:r.z.literal("web_fetch_result"),url:r.z.string(),retrieved_at:r.z.string().nullable(),content:r.z.object({type:r.z.literal("document"),title:r.z.string().nullable(),citations:r.z.object({enabled:r.z.boolean()}).optional(),source:r.z.union([r.z.object({type:r.z.literal("base64"),media_type:r.z.literal("application/pdf"),data:r.z.string()}),r.z.object({type:r.z.literal("text"),media_type:r.z.literal("text/plain"),data:r.z.string()})])})}),r.z.object({type:r.z.literal("web_fetch_tool_result_error"),error_code:r.z.string()})])}),r.z.object({type:r.z.literal("web_search_tool_result"),tool_use_id:r.z.string(),caller:p.optional(),content:r.z.union([r.z.array(r.z.object({type:r.z.literal("web_search_result"),url:r.z.string(),title:r.z.string().nullable(),encrypted_content:r.z.string(),page_age:r.z.string().nullish()})),r.z.object({type:r.z.literal("web_search_tool_result_error"),error_code:r.z.string()})])}),r.z.object({type:r.z.literal("code_execution_tool_result"),tool_use_id:r.z.string(),content:r.z.union([r.z.object({type:r.z.literal("code_execution_result"),stdout:r.z.string(),stderr:r.z.string(),return_code:r.z.number(),content:r.z.array(r.z.object({type:r.z.literal("code_execution_output"),file_id:r.z.string()})).optional().default([])}),r.z.object({type:r.z.literal("encrypted_code_execution_result"),encrypted_stdout:r.z.string(),stderr:r.z.string(),return_code:r.z.number(),content:r.z.array(r.z.object({type:r.z.literal("code_execution_output"),file_id:r.z.string()})).optional().default([])}),r.z.object({type:r.z.literal("code_execution_tool_result_error"),error_code:r.z.string()})])}),r.z.object({type:r.z.literal("bash_code_execution_tool_result"),tool_use_id:r.z.string(),content:r.z.discriminatedUnion("type",[r.z.object({type:r.z.literal("bash_code_execution_result"),content:r.z.array(r.z.object({type:r.z.literal("bash_code_execution_output"),file_id:r.z.string()})),stdout:r.z.string(),stderr:r.z.string(),return_code:r.z.number()}),r.z.object({type:r.z.literal("bash_code_execution_tool_result_error"),error_code:r.z.string()})])}),r.z.object({type:r.z.literal("text_editor_code_execution_tool_result"),tool_use_id:r.z.string(),content:r.z.discriminatedUnion("type",[r.z.object({type:r.z.literal("text_editor_code_execution_tool_result_error"),error_code:r.z.string()}),r.z.object({type:r.z.literal("text_editor_code_execution_view_result"),content:r.z.string(),file_type:r.z.string(),num_lines:r.z.number().nullable(),start_line:r.z.number().nullable(),total_lines:r.z.number().nullable()}),r.z.object({type:r.z.literal("text_editor_code_execution_create_result"),is_file_update:r.z.boolean()}),r.z.object({type:r.z.literal("text_editor_code_execution_str_replace_result"),lines:r.z.array(r.z.string()).nullable(),new_lines:r.z.number().nullable(),new_start:r.z.number().nullable(),old_lines:r.z.number().nullable(),old_start:r.z.number().nullable()})])}),r.z.object({type:r.z.literal("tool_search_tool_result"),tool_use_id:r.z.string(),content:r.z.union([r.z.object({type:r.z.literal("tool_search_tool_search_result"),tool_references:r.z.array(r.z.object({type:r.z.literal("tool_reference"),tool_name:r.z.string()}))}),r.z.object({type:r.z.literal("tool_search_tool_result_error"),error_code:r.z.string()})])}),r.z.object({type:r.z.literal("container_upload"),file_id:r.z.string()}),r.z.object({type:r.z.literal("advisor_tool_result"),tool_use_id:r.z.string(),content:r.z.discriminatedUnion("type",[r.z.object({type:r.z.literal("advisor_result"),text:r.z.string(),stop_reason:r.z.string().nullish()}),r.z.object({type:r.z.literal("advisor_redacted_result"),encrypted_content:r.z.string(),stop_reason:r.z.string().nullish()}),r.z.object({type:r.z.literal("advisor_tool_result_error"),error_code:r.z.string()})])}),r.z.object({type:r.z.literal("fallback")})])),stop_reason:r.z.string().nullish(),stop_sequence:r.z.string().nullish(),stop_details:c.nullish(),input_transformations:r.z.array(g).nullish(),safeguard_results:r.z.array(d).nullish(),usage:r.z.looseObject({input_tokens:r.z.number(),output_tokens:r.z.number(),output_tokens_details:r.z.object({thinking_tokens:r.z.number().nullish()}).nullish(),cache_creation_input_tokens:r.z.number().nullish(),cache_read_input_tokens:r.z.number().nullish(),iterations:r.z.array(r.z.object({type:r.z.union([r.z.literal("compaction"),r.z.literal("message"),r.z.literal("advisor_message"),r.z.literal("fallback_message")]),model:r.z.string().nullish(),input_tokens:r.z.number(),output_tokens:r.z.number(),cache_creation_input_tokens:r.z.number().nullish(),cache_read_input_tokens:r.z.number().nullish()})).nullish()}),container:r.z.object({expires_at:r.z.string(),id:r.z.string(),skills:r.z.array(r.z.object({type:r.z.union([r.z.literal("anthropic"),r.z.literal("custom")]),skill_id:r.z.string(),version:r.z.string()})).nullish()}).nullish(),context_management:r.z.object({applied_edits:r.z.array(r.z.union([r.z.object({type:r.z.literal("clear_tool_uses_20250919"),cleared_tool_uses:r.z.number(),cleared_input_tokens:r.z.number()}),r.z.object({type:r.z.literal("clear_thinking_20251015"),cleared_thinking_turns:r.z.number(),cleared_input_tokens:r.z.number()}),r.z.object({type:r.z.literal("compact_20260112")})]))}).nullish()}))),y=(0,n.lazySchema)(()=>(0,n.zodSchema)(r.z.discriminatedUnion("type",[r.z.object({type:r.z.literal("message_start"),message:r.z.object({id:r.z.string().nullish(),model:r.z.string().nullish(),role:r.z.string().nullish(),usage:r.z.looseObject({input_tokens:r.z.number(),cache_creation_input_tokens:r.z.number().nullish(),cache_read_input_tokens:r.z.number().nullish()}),content:r.z.array(r.z.discriminatedUnion("type",[r.z.object({type:r.z.literal("tool_use"),id:r.z.string(),name:r.z.string(),input:r.z.unknown(),caller:p.optional(),toolset_name:r.z.string().nullish()})])).nullish(),stop_reason:r.z.string().nullish(),input_transformations:r.z.array(g).nullish(),container:r.z.object({expires_at:r.z.string(),id:r.z.string()}).nullish()})}),r.z.object({type:r.z.literal("content_block_start"),index:r.z.number(),content_block:r.z.discriminatedUnion("type",[r.z.object({type:r.z.literal("text"),text:r.z.string()}),r.z.object({type:r.z.literal("thinking"),thinking:r.z.string()}),r.z.object({type:r.z.literal("tool_use"),id:r.z.string(),name:r.z.string(),input:r.z.record(r.z.string(),r.z.unknown()).optional(),caller:p.optional(),toolset_name:r.z.string().nullish()}),r.z.object({type:r.z.literal("redacted_thinking"),data:r.z.string()}),r.z.object({type:r.z.literal("compaction"),content:r.z.string().nullish(),signature:r.z.string().nullish()}),r.z.object({type:r.z.literal("server_tool_use"),id:r.z.string(),name:r.z.string(),input:r.z.record(r.z.string(),r.z.unknown()).nullish(),caller:p.optional()}),r.z.object({type:r.z.literal("mcp_tool_use"),id:r.z.string(),name:r.z.string(),input:r.z.unknown(),server_name:r.z.string()}),r.z.object({type:r.z.literal("mcp_tool_result"),tool_use_id:r.z.string(),is_error:r.z.boolean(),content:m}),r.z.object({type:r.z.literal("web_fetch_tool_result"),tool_use_id:r.z.string(),caller:p.optional(),content:r.z.union([r.z.object({type:r.z.literal("web_fetch_result"),url:r.z.string(),retrieved_at:r.z.string().nullable(),content:r.z.object({type:r.z.literal("document"),title:r.z.string().nullable(),citations:r.z.object({enabled:r.z.boolean()}).optional(),source:r.z.union([r.z.object({type:r.z.literal("base64"),media_type:r.z.literal("application/pdf"),data:r.z.string()}),r.z.object({type:r.z.literal("text"),media_type:r.z.literal("text/plain"),data:r.z.string()})])})}),r.z.object({type:r.z.literal("web_fetch_tool_result_error"),error_code:r.z.string()})])}),r.z.object({type:r.z.literal("web_search_tool_result"),tool_use_id:r.z.string(),caller:p.optional(),content:r.z.union([r.z.array(r.z.object({type:r.z.literal("web_search_result"),url:r.z.string(),title:r.z.string().nullable(),encrypted_content:r.z.string(),page_age:r.z.string().nullish()})),r.z.object({type:r.z.literal("web_search_tool_result_error"),error_code:r.z.string()})])}),r.z.object({type:r.z.literal("code_execution_tool_result"),tool_use_id:r.z.string(),content:r.z.union([r.z.object({type:r.z.literal("code_execution_result"),stdout:r.z.string(),stderr:r.z.string(),return_code:r.z.number(),content:r.z.array(r.z.object({type:r.z.literal("code_execution_output"),file_id:r.z.string()})).optional().default([])}),r.z.object({type:r.z.literal("encrypted_code_execution_result"),encrypted_stdout:r.z.string(),stderr:r.z.string(),return_code:r.z.number(),content:r.z.array(r.z.object({type:r.z.literal("code_execution_output"),file_id:r.z.string()})).optional().default([])}),r.z.object({type:r.z.literal("code_execution_tool_result_error"),error_code:r.z.string()})])}),r.z.object({type:r.z.literal("bash_code_execution_tool_result"),tool_use_id:r.z.string(),content:r.z.discriminatedUnion("type",[r.z.object({type:r.z.literal("bash_code_execution_result"),content:r.z.array(r.z.object({type:r.z.literal("bash_code_execution_output"),file_id:r.z.string()})),stdout:r.z.string(),stderr:r.z.string(),return_code:r.z.number()}),r.z.object({type:r.z.literal("bash_code_execution_tool_result_error"),error_code:r.z.string()})])}),r.z.object({type:r.z.literal("text_editor_code_execution_tool_result"),tool_use_id:r.z.string(),content:r.z.discriminatedUnion("type",[r.z.object({type:r.z.literal("text_editor_code_execution_tool_result_error"),error_code:r.z.string()}),r.z.object({type:r.z.literal("text_editor_code_execution_view_result"),content:r.z.string(),file_type:r.z.string(),num_lines:r.z.number().nullable(),start_line:r.z.number().nullable(),total_lines:r.z.number().nullable()}),r.z.object({type:r.z.literal("text_editor_code_execution_create_result"),is_file_update:r.z.boolean()}),r.z.object({type:r.z.literal("text_editor_code_execution_str_replace_result"),lines:r.z.array(r.z.string()).nullable(),new_lines:r.z.number().nullable(),new_start:r.z.number().nullable(),old_lines:r.z.number().nullable(),old_start:r.z.number().nullable()})])}),r.z.object({type:r.z.literal("tool_search_tool_result"),tool_use_id:r.z.string(),content:r.z.union([r.z.object({type:r.z.literal("tool_search_tool_search_result"),tool_references:r.z.array(r.z.object({type:r.z.literal("tool_reference"),tool_name:r.z.string()}))}),r.z.object({type:r.z.literal("tool_search_tool_result_error"),error_code:r.z.string()})])}),r.z.object({type:r.z.literal("advisor_tool_result"),tool_use_id:r.z.string(),content:r.z.discriminatedUnion("type",[r.z.object({type:r.z.literal("advisor_result"),text:r.z.string(),stop_reason:r.z.string().nullish()}),r.z.object({type:r.z.literal("advisor_redacted_result"),encrypted_content:r.z.string(),stop_reason:r.z.string().nullish()}),r.z.object({type:r.z.literal("advisor_tool_result_error"),error_code:r.z.string()})])}),r.z.object({type:r.z.literal("fallback")})])}),r.z.object({type:r.z.literal("content_block_delta"),index:r.z.number(),delta:r.z.discriminatedUnion("type",[r.z.object({type:r.z.literal("input_json_delta"),partial_json:r.z.string()}),r.z.object({type:r.z.literal("text_delta"),text:r.z.string()}),r.z.object({type:r.z.literal("thinking_delta"),thinking:r.z.string()}),r.z.object({type:r.z.literal("signature_delta"),signature:r.z.string()}),r.z.object({type:r.z.literal("compaction_delta"),content:r.z.string().nullish()}),r.z.object({type:r.z.literal("citations_delta"),citation:h})])}),r.z.object({type:r.z.literal("content_block_stop"),index:r.z.number()}),r.z.object({type:r.z.literal("error"),error:r.z.object({type:r.z.string(),message:r.z.string(),code:r.z.union([r.z.string(),r.z.number()]).nullish(),statusCode:r.z.number().nullish(),isRetryable:r.z.boolean().nullish(),data:r.z.unknown().nullish()})}),r.z.object({type:r.z.literal("message_delta"),delta:r.z.object({stop_reason:r.z.string().nullish(),stop_sequence:r.z.string().nullish(),stop_details:c.nullish(),safeguard_results:r.z.array(d).nullish(),container:r.z.object({expires_at:r.z.string(),id:r.z.string(),skills:r.z.array(r.z.object({type:r.z.union([r.z.literal("anthropic"),r.z.literal("custom")]),skill_id:r.z.string(),version:r.z.string()})).nullish()}).nullish()}),usage:r.z.looseObject({input_tokens:r.z.number().nullish(),output_tokens:r.z.number(),output_tokens_details:r.z.object({thinking_tokens:r.z.number().nullish()}).nullish(),cache_creation_input_tokens:r.z.number().nullish(),cache_read_input_tokens:r.z.number().nullish(),iterations:r.z.array(r.z.object({type:r.z.union([r.z.literal("compaction"),r.z.literal("message"),r.z.literal("advisor_message"),r.z.literal("fallback_message")]),model:r.z.string().nullish(),input_tokens:r.z.number(),output_tokens:r.z.number(),cache_creation_input_tokens:r.z.number().nullish(),cache_read_input_tokens:r.z.number().nullish()})).nullish()}),input_transformations:r.z.array(g).nullish(),context_management:r.z.object({applied_edits:r.z.array(r.z.union([r.z.object({type:r.z.literal("clear_tool_uses_20250919"),cleared_tool_uses:r.z.number(),cleared_input_tokens:r.z.number()}),r.z.object({type:r.z.literal("clear_thinking_20251015"),cleared_thinking_turns:r.z.number(),cleared_input_tokens:r.z.number()}),r.z.object({type:r.z.literal("compact_20260112")})]))}).nullish()}),r.z.object({type:r.z.literal("message_stop")}),r.z.object({type:r.z.literal("ping")})]))),b=(0,n.lazySchema)(()=>(0,n.zodSchema)(r.z.object({signature:r.z.string().optional(),redactedData:r.z.string().optional()}))),_=r.z.object({containerUpload:r.z.boolean().optional(),citations:r.z.object({enabled:r.z.boolean()}).optional(),title:r.z.string().optional(),context:r.z.string().optional()}),z=r.z.object({clearAt:r.z.literal("next_user_message").optional(),effort:r.z.enum(["low","medium","high","xhigh","max"]).optional(),toolChanges:r.z.array(r.z.discriminatedUnion("type",[r.z.object({type:r.z.literal("tool_addition"),toolName:r.z.string()}),r.z.object({type:r.z.literal("tool_removal"),toolName:r.z.string()})])).optional()}),w=r.z.object({sendReasoning:r.z.boolean().optional(),structuredOutputMode:r.z.enum(["outputFormat","jsonTool","auto"]).optional(),thinking:r.z.union([r.z.discriminatedUnion("type",[r.z.object({type:r.z.literal("adaptive"),display:r.z.enum(["omitted","summarized","updates"]).optional(),blockBinding:r.z.object({prefixMismatchBehavior:r.z.enum(["error","drop_block"])}).optional()}),r.z.object({type:r.z.literal("enabled"),budgetTokens:r.z.number().optional()}),r.z.object({type:r.z.literal("disabled")})]),r.z.object({type:r.z.never().optional(),blockBinding:r.z.object({prefixMismatchBehavior:r.z.enum(["error","drop_block"])})})]).optional(),disableParallelToolUse:r.z.boolean().optional(),cacheControl:r.z.object({type:r.z.literal("ephemeral"),ttl:r.z.union([r.z.literal("5m"),r.z.literal("1h")]).optional()}).optional(),metadata:r.z.object({userId:r.z.string().optional()}).optional(),mcpServers:r.z.array(r.z.object({type:r.z.literal("url"),name:r.z.string(),url:r.z.string(),authorizationToken:r.z.string().nullish(),toolConfiguration:r.z.object({enabled:r.z.boolean().nullish(),allowedTools:r.z.array(r.z.string()).nullish()}).nullish()})).optional(),container:r.z.object({id:r.z.string().optional(),skills:r.z.array(r.z.discriminatedUnion("type",[r.z.object({type:r.z.literal("anthropic"),skillId:r.z.string(),version:r.z.string().optional()}),r.z.object({type:r.z.literal("custom"),providerReference:r.z.record(r.z.string(),r.z.string()),version:r.z.string().optional()})])).optional()}).optional(),toolStreaming:r.z.boolean().optional(),effort:r.z.enum(["low","medium","high","xhigh","max"]).optional(),taskBudget:r.z.object({type:r.z.literal("tokens"),total:r.z.number().int().min(2e4),remaining:r.z.number().int().min(0).optional()}).optional(),speed:r.z.enum(["fast","standard"]).optional(),serviceTier:r.z.enum(["auto","standard_only"]).optional(),inferenceGeo:r.z.enum(["us","global"]).optional(),fallbacks:r.z.union([r.z.literal("default"),r.z.array(r.z.object({model:r.z.string(),max_tokens:r.z.number().int().optional(),thinking:r.z.record(r.z.string(),r.z.unknown()).optional(),output_config:r.z.record(r.z.string(),r.z.unknown()).optional(),speed:r.z.enum(["fast","standard"]).optional()}))]).optional(),anthropicBeta:r.z.array(r.z.string()).optional(),safeguards:r.z.array(r.z.object({type:r.z.literal("dangerous_tool_use"),classifierContext:r.z.record(r.z.string(),r.z.unknown()).optional()})).optional(),compaction:r.z.object({type:r.z.literal("summarize"),instructions:r.z.string().optional()}).optional(),contextManagement:r.z.object({edits:r.z.array(r.z.discriminatedUnion("type",[r.z.object({type:r.z.literal("clear_tool_uses_20250919"),trigger:r.z.discriminatedUnion("type",[r.z.object({type:r.z.literal("input_tokens"),value:r.z.number()}),r.z.object({type:r.z.literal("tool_uses"),value:r.z.number()})]).optional(),keep:r.z.object({type:r.z.literal("tool_uses"),value:r.z.number()}).optional(),clearAtLeast:r.z.object({type:r.z.literal("input_tokens"),value:r.z.number()}).optional(),clearToolInputs:r.z.boolean().optional(),excludeTools:r.z.array(r.z.string()).optional()}),r.z.object({type:r.z.literal("clear_thinking_20251015"),keep:r.z.union([r.z.literal("all"),r.z.object({type:r.z.literal("thinking_turns"),value:r.z.number()})]).optional()}),r.z.object({type:r.z.literal("compact_20260112"),trigger:r.z.object({type:r.z.literal("input_tokens"),value:r.z.number()}).optional(),pauseAfterCompaction:r.z.boolean().optional(),instructions:r.z.string().optional()})]))}).optional()}),v=class{constructor(){this.breakpointCount=0,this.warnings=[]}getCacheControl(e,t){let n,o=(n=e?.anthropic,n?.cacheControl??n?.cache_control);if(o)return t.canCache?(this.breakpointCount++,this.breakpointCount>4)?void this.warnings.push({type:"unsupported",feature:"cacheControl breakpoint limit",details:`Maximum 4 cache breakpoints exceeded (found ${this.breakpointCount}). This breakpoint will be ignored.`}):o:void this.warnings.push({type:"unsupported",feature:"cache_control on non-cacheable context",details:`cache_control cannot be set on ${t.type}. It will be ignored.`})}getWarnings(){return this.warnings}},k=(0,n.lazySchema)(()=>(0,n.zodSchema)(r.z.object({model:r.z.string(),maxUses:r.z.number().optional(),maxTokens:r.z.number().int().min(1024).optional(),caching:r.z.object({type:r.z.literal("ephemeral"),ttl:r.z.union([r.z.literal("5m"),r.z.literal("1h")])}).optional()}))),x=(0,n.lazySchema)(()=>(0,n.zodSchema)(r.z.discriminatedUnion("type",[r.z.object({type:r.z.literal("advisor_result"),text:r.z.string(),stopReason:r.z.string().optional()}),r.z.object({type:r.z.literal("advisor_redacted_result"),encryptedContent:r.z.string(),stopReason:r.z.string().optional()}),r.z.object({type:r.z.literal("advisor_tool_result_error"),errorCode:r.z.string()})]))),S=(0,n.lazySchema)(()=>(0,n.zodSchema)(r.z.object({}).strict())),T=(0,n.createProviderExecutedToolFactory)({id:"anthropic.advisor_20260301",inputSchema:S,outputSchema:x,supportsDeferredResults:!0}),I=["screenshot","zoom","left_click","right_click","middle_click","double_click","triple_click","left_click_drag","mouse_move","left_mouse_down","left_mouse_up","cursor_position","scroll","type","key","hold_key","wait"],O=(0,n.lazySchema)(()=>(0,n.zodSchema)(r.z.object({action:r.z.enum(I),coordinate:r.z.tuple([r.z.number().int(),r.z.number().int()]).optional(),duration:r.z.number().optional(),region:r.z.tuple([r.z.number().int(),r.z.number().int(),r.z.number().int(),r.z.number().int()]).optional(),repeat:r.z.number().int().optional(),scroll_amount:r.z.number().optional(),scroll_direction:r.z.enum(["up","down","left","right"]).optional(),start_coordinate:r.z.tuple([r.z.number().int(),r.z.number().int()]).optional(),text:r.z.string().optional()}))),E=(0,n.lazySchema)(()=>(0,n.zodSchema)(r.z.object({configs:r.z.partialRecord(r.z.enum(I),r.z.object({enabled:r.z.boolean().optional(),deferLoading:r.z.boolean().optional()})).optional()}))),C=(0,n.createProviderDefinedToolFactory)({id:"anthropic.computer_toolset_20260801",inputSchema:O}),A=(0,n.lazySchema)(()=>(0,n.zodSchema)(r.z.object({maxCharacters:r.z.number().optional()}))),j=(0,n.lazySchema)(()=>(0,n.zodSchema)(r.z.object({command:r.z.enum(["view","create","str_replace","insert"]),path:r.z.string(),file_text:r.z.string().optional(),insert_line:r.z.number().int().optional(),new_str:r.z.string().optional(),insert_text:r.z.string().optional(),old_str:r.z.string().optional(),view_range:r.z.array(r.z.number().int()).optional()}))),R=(0,n.createProviderDefinedToolFactory)({id:"anthropic.text_editor_20250728",inputSchema:j}),$=(0,n.lazySchema)(()=>(0,n.zodSchema)(r.z.object({maxUses:r.z.number().optional(),allowedDomains:r.z.array(r.z.string()).optional(),blockedDomains:r.z.array(r.z.string()).optional(),userLocation:r.z.object({type:r.z.literal("approximate"),city:r.z.string().optional(),region:r.z.string().optional(),country:r.z.string().optional(),timezone:r.z.string().optional()}).optional(),responseInclusion:r.z.enum(["full","excluded"]).optional()}))),M=(0,n.lazySchema)(()=>(0,n.zodSchema)(r.z.array(r.z.object({url:r.z.string(),title:r.z.string().nullable(),pageAge:r.z.string().nullable(),encryptedContent:r.z.string(),type:r.z.literal("web_search_result")})))),N=(0,n.lazySchema)(()=>(0,n.zodSchema)(r.z.object({query:r.z.string()}))),L=(0,n.createProviderExecutedToolFactory)({id:"anthropic.web_search_20260318",inputSchema:N,outputSchema:M,supportsDeferredResults:!0}),P=(0,n.lazySchema)(()=>(0,n.zodSchema)(r.z.object({maxUses:r.z.number().optional(),allowedDomains:r.z.array(r.z.string()).optional(),blockedDomains:r.z.array(r.z.string()).optional(),userLocation:r.z.object({type:r.z.literal("approximate"),city:r.z.string().optional(),region:r.z.string().optional(),country:r.z.string().optional(),timezone:r.z.string().optional()}).optional()}))),U=(0,n.lazySchema)(()=>(0,n.zodSchema)(r.z.array(r.z.object({url:r.z.string(),title:r.z.string().nullable(),pageAge:r.z.string().nullable(),encryptedContent:r.z.string(),type:r.z.literal("web_search_result")})))),q=(0,n.lazySchema)(()=>(0,n.zodSchema)(r.z.object({query:r.z.string()}))),D=(0,n.createProviderExecutedToolFactory)({id:"anthropic.web_search_20260209",inputSchema:q,outputSchema:U,supportsDeferredResults:!0}),F=(0,n.lazySchema)(()=>(0,n.zodSchema)(r.z.object({maxUses:r.z.number().optional(),allowedDomains:r.z.array(r.z.string()).optional(),blockedDomains:r.z.array(r.z.string()).optional(),userLocation:r.z.object({type:r.z.literal("approximate"),city:r.z.string().optional(),region:r.z.string().optional(),country:r.z.string().optional(),timezone:r.z.string().optional()}).optional()}))),H=(0,n.lazySchema)(()=>(0,n.zodSchema)(r.z.array(r.z.object({url:r.z.string(),title:r.z.string().nullable(),pageAge:r.z.string().nullable(),encryptedContent:r.z.string(),type:r.z.literal("web_search_result")})))),B=(0,n.lazySchema)(()=>(0,n.zodSchema)(r.z.object({query:r.z.string()}))),W=(0,n.createProviderExecutedToolFactory)({id:"anthropic.web_search_20250305",inputSchema:B,outputSchema:H,supportsDeferredResults:!0}),K=(0,n.lazySchema)(()=>(0,n.zodSchema)(r.z.object({maxUses:r.z.number().optional(),allowedDomains:r.z.array(r.z.string()).optional(),blockedDomains:r.z.array(r.z.string()).optional(),citations:r.z.object({enabled:r.z.boolean()}).optional(),maxContentTokens:r.z.number().optional(),useCache:r.z.boolean().optional(),responseInclusion:r.z.enum(["full","excluded"]).optional()}))),V=(0,n.lazySchema)(()=>(0,n.zodSchema)(r.z.object({type:r.z.literal("web_fetch_result"),url:r.z.string(),content:r.z.object({type:r.z.literal("document"),title:r.z.string().nullable(),citations:r.z.object({enabled:r.z.boolean()}).optional(),source:r.z.union([r.z.object({type:r.z.literal("base64"),mediaType:r.z.literal("application/pdf"),data:r.z.string()}),r.z.object({type:r.z.literal("text"),mediaType:r.z.literal("text/plain"),data:r.z.string()})])}),retrievedAt:r.z.string().nullable()}))),J=(0,n.lazySchema)(()=>(0,n.zodSchema)(r.z.object({url:r.z.string()}))),G=(0,n.createProviderExecutedToolFactory)({id:"anthropic.web_fetch_20260318",inputSchema:J,outputSchema:V,supportsDeferredResults:!0}),Y=(0,n.lazySchema)(()=>(0,n.zodSchema)(r.z.object({maxUses:r.z.number().optional(),allowedDomains:r.z.array(r.z.string()).optional(),blockedDomains:r.z.array(r.z.string()).optional(),citations:r.z.object({enabled:r.z.boolean()}).optional(),maxContentTokens:r.z.number().optional()}))),Z=(0,n.lazySchema)(()=>(0,n.zodSchema)(r.z.object({type:r.z.literal("web_fetch_result"),url:r.z.string(),content:r.z.object({type:r.z.literal("document"),title:r.z.string().nullable(),citations:r.z.object({enabled:r.z.boolean()}).optional(),source:r.z.union([r.z.object({type:r.z.literal("base64"),mediaType:r.z.literal("application/pdf"),data:r.z.string()}),r.z.object({type:r.z.literal("text"),mediaType:r.z.literal("text/plain"),data:r.z.string()})])}),retrievedAt:r.z.string().nullable()}))),X=(0,n.lazySchema)(()=>(0,n.zodSchema)(r.z.object({url:r.z.string()}))),Q=(0,n.createProviderExecutedToolFactory)({id:"anthropic.web_fetch_20260209",inputSchema:X,outputSchema:Z,supportsDeferredResults:!0}),ee=(0,n.lazySchema)(()=>(0,n.zodSchema)(r.z.object({maxUses:r.z.number().optional(),allowedDomains:r.z.array(r.z.string()).optional(),blockedDomains:r.z.array(r.z.string()).optional(),citations:r.z.object({enabled:r.z.boolean()}).optional(),maxContentTokens:r.z.number().optional()}))),et=(0,n.lazySchema)(()=>(0,n.zodSchema)(r.z.object({type:r.z.literal("web_fetch_result"),url:r.z.string(),content:r.z.object({type:r.z.literal("document"),title:r.z.string().nullable(),citations:r.z.object({enabled:r.z.boolean()}).optional(),source:r.z.union([r.z.object({type:r.z.literal("base64"),mediaType:r.z.literal("application/pdf"),data:r.z.string()}),r.z.object({type:r.z.literal("text"),mediaType:r.z.literal("text/plain"),data:r.z.string()})])}),retrievedAt:r.z.string().nullable()}))),en=(0,n.lazySchema)(()=>(0,n.zodSchema)(r.z.object({url:r.z.string()}))),eo=(0,n.createProviderExecutedToolFactory)({id:"anthropic.web_fetch_20250910",inputSchema:en,outputSchema:et,supportsDeferredResults:!0});async function er({tools:e,toolChoice:o,disableParallelToolUse:r,cacheControlValidator:i,supportsStructuredOutput:a,supportsStrictTools:s,defaultEagerInputStreaming:l=!1,rejectsForcedToolUse:u=!1}){e=e?.length?e:void 0;let c=[],d=new Set,p=i||new v;if(null==e)return{tools:void 0,toolChoice:void 0,toolWarnings:c,betas:d};let h=[];for(let t of e)switch(t.type){case"function":{let e=p.getCacheControl(t.providerOptions,{type:"tool definition",canCache:!0}),n=t.providerOptions?.anthropic,o=n?.eagerInputStreaming??l,r=n?.deferLoading,i=n?.allowedCallers;s||null==t.strict||c.push({type:"unsupported",feature:"strict",details:`Tool '${t.name}' has strict: ${t.strict}, but strict mode is not supported by this provider. The strict property will be ignored.`}),h.push({name:t.name,description:t.description,input_schema:t.inputSchema,cache_control:e,...o?{eager_input_streaming:!0}:{},...!0===s&&null!=t.strict?{strict:t.strict}:{},...null!=r?{defer_loading:r}:{},...null!=i?{allowed_callers:i}:{},...null!=t.inputExamples?{input_examples:t.inputExamples.map(e=>e.input)}:{}}),!0===a&&d.add("structured-outputs-2025-11-13"),(null!=t.inputExamples||null!=i)&&d.add("advanced-tool-use-2025-11-20");break}case"provider":switch(t.id){case"anthropic.code_execution_20250522":d.add("code-execution-2025-05-22"),h.push({type:"code_execution_20250522",name:"code_execution",cache_control:void 0});break;case"anthropic.code_execution_20250825":d.add("code-execution-2025-08-25"),h.push({type:"code_execution_20250825",name:"code_execution"});break;case"anthropic.code_execution_20260120":h.push({type:"code_execution_20260120",name:"code_execution"});break;case"anthropic.computer_20250124":d.add("computer-use-2025-01-24"),h.push({name:"computer",type:"computer_20250124",display_width_px:t.args.displayWidthPx,display_height_px:t.args.displayHeightPx,display_number:t.args.displayNumber,cache_control:void 0});break;case"anthropic.computer_20251124":d.add("computer-use-2025-11-24"),h.push({name:"computer",type:"computer_20251124",display_width_px:t.args.displayWidthPx,display_height_px:t.args.displayHeightPx,display_number:t.args.displayNumber,enable_zoom:t.args.enableZoom,cache_control:void 0});break;case"anthropic.computer_toolset_20260801":{let e=await (0,n.validateTypes)({value:t.args,schema:E}),o=null!=e.configs?Object.fromEntries(Object.entries(e.configs).map(([e,t])=>[e,{...t?.enabled!=null&&{enabled:t.enabled},...t?.deferLoading!=null&&{defer_loading:t.deferLoading}}])):void 0;h.push({type:"computer_toolset_20260801",...null!=o&&{configs:o},cache_control:void 0});break}case"anthropic.computer_20241022":d.add("computer-use-2024-10-22"),h.push({name:"computer",type:"computer_20241022",display_width_px:t.args.displayWidthPx,display_height_px:t.args.displayHeightPx,display_number:t.args.displayNumber,cache_control:void 0});break;case"anthropic.text_editor_20250124":d.add("computer-use-2025-01-24"),h.push({name:"str_replace_editor",type:"text_editor_20250124",cache_control:void 0});break;case"anthropic.text_editor_20241022":d.add("computer-use-2024-10-22"),h.push({name:"str_replace_editor",type:"text_editor_20241022",cache_control:void 0});break;case"anthropic.text_editor_20250429":d.add("computer-use-2025-01-24"),h.push({name:"str_replace_based_edit_tool",type:"text_editor_20250429",cache_control:void 0});break;case"anthropic.text_editor_20250728":{let e=await (0,n.validateTypes)({value:t.args,schema:A});h.push({name:"str_replace_based_edit_tool",type:"text_editor_20250728",max_characters:e.maxCharacters,cache_control:void 0});break}case"anthropic.bash_20250124":d.add("computer-use-2025-01-24"),h.push({name:"bash",type:"bash_20250124",cache_control:void 0});break;case"anthropic.bash_20241022":d.add("computer-use-2024-10-22"),h.push({name:"bash",type:"bash_20241022",cache_control:void 0});break;case"anthropic.memory_20250818":d.add("context-management-2025-06-27"),h.push({name:"memory",type:"memory_20250818"});break;case"anthropic.web_fetch_20250910":{d.add("web-fetch-2025-09-10");let e=await (0,n.validateTypes)({value:t.args,schema:ee});h.push({type:"web_fetch_20250910",name:"web_fetch",max_uses:e.maxUses,allowed_domains:e.allowedDomains,blocked_domains:e.blockedDomains,citations:e.citations,max_content_tokens:e.maxContentTokens,cache_control:void 0});break}case"anthropic.web_fetch_20260209":{d.add("code-execution-web-tools-2026-02-09");let e=await (0,n.validateTypes)({value:t.args,schema:Y});h.push({type:"web_fetch_20260209",name:"web_fetch",max_uses:e.maxUses,allowed_domains:e.allowedDomains,blocked_domains:e.blockedDomains,citations:e.citations,max_content_tokens:e.maxContentTokens,cache_control:void 0});break}case"anthropic.web_fetch_20260318":{let e=await (0,n.validateTypes)({value:t.args,schema:K});h.push({type:"web_fetch_20260318",name:"web_fetch",max_uses:e.maxUses,allowed_domains:e.allowedDomains,blocked_domains:e.blockedDomains,citations:e.citations,max_content_tokens:e.maxContentTokens,use_cache:e.useCache,response_inclusion:e.responseInclusion,cache_control:void 0});break}case"anthropic.web_search_20250305":{let e=await (0,n.validateTypes)({value:t.args,schema:F});h.push({type:"web_search_20250305",name:"web_search",max_uses:e.maxUses,allowed_domains:e.allowedDomains,blocked_domains:e.blockedDomains,user_location:e.userLocation,cache_control:void 0});break}case"anthropic.web_search_20260209":{d.add("code-execution-web-tools-2026-02-09");let e=await (0,n.validateTypes)({value:t.args,schema:P});h.push({type:"web_search_20260209",name:"web_search",max_uses:e.maxUses,allowed_domains:e.allowedDomains,blocked_domains:e.blockedDomains,user_location:e.userLocation,cache_control:void 0});break}case"anthropic.web_search_20260318":{let e=await (0,n.validateTypes)({value:t.args,schema:$});h.push({type:"web_search_20260318",name:"web_search",max_uses:e.maxUses,allowed_domains:e.allowedDomains,blocked_domains:e.blockedDomains,user_location:e.userLocation,response_inclusion:e.responseInclusion,cache_control:void 0});break}case"anthropic.tool_search_regex_20251119":h.push({type:"tool_search_tool_regex_20251119",name:"tool_search_tool_regex"});break;case"anthropic.tool_search_bm25_20251119":h.push({type:"tool_search_tool_bm25_20251119",name:"tool_search_tool_bm25"});break;case"anthropic.advisor_20260301":{d.add("advisor-tool-2026-03-01");let e=await (0,n.validateTypes)({value:t.args,schema:k});h.push({type:"advisor_20260301",name:"advisor",model:e.model,...void 0!==e.maxUses&&{max_uses:e.maxUses},...void 0!==e.maxTokens&&{max_tokens:e.maxTokens},...void 0!==e.caching&&{caching:e.caching}});break}default:c.push({type:"unsupported",feature:`provider-defined tool ${t.id}`})}break;default:c.push({type:"unsupported",feature:`tool ${t}`})}if(null==o)return{tools:h,toolChoice:r?{type:"auto",disable_parallel_tool_use:r}:void 0,toolWarnings:c,betas:d};let m=o.type;switch(m){case"auto":return{tools:h,toolChoice:{type:"auto",disable_parallel_tool_use:r},toolWarnings:c,betas:d};case"required":if(u)return c.push({type:"unsupported",feature:"toolChoice",details:"toolChoice 'required' is not supported by this model because it rejects forced tool use. Using 'auto' instead. Instruct the model to use a tool in the prompt and verify that a tool call was made."}),{tools:h,toolChoice:{type:"auto",disable_parallel_tool_use:r},toolWarnings:c,betas:d};return{tools:h,toolChoice:{type:"any",disable_parallel_tool_use:r},toolWarnings:c,betas:d};case"none":return{tools:void 0,toolChoice:void 0,toolWarnings:c,betas:d};case"tool":if(u)return c.push({type:"unsupported",feature:"toolChoice",details:`toolChoice 'tool' is not supported by this model because it rejects forced tool use. Only the '${o.toolName}' tool is sent with 'auto' tool choice. Instruct the model to use the tool in the prompt and verify that a tool call was made.`}),{tools:h.filter(e=>"name"in e&&e.name===o.toolName),toolChoice:{type:"auto",disable_parallel_tool_use:r},toolWarnings:c,betas:d};return{tools:h,toolChoice:{type:"tool",name:o.toolName,disable_parallel_tool_use:r},toolWarnings:c,betas:d};default:throw new t.UnsupportedFunctionalityError({functionality:`tool choice type: ${m}`})}}function ei({usage:e,rawUsage:t}){let n,o,r=e.cache_creation_input_tokens??0,i=e.cache_read_input_tokens??0,a=e.output_tokens_details?.thinking_tokens??void 0,s=e.iterations?.some(e=>"fallback_message"===e.type);if(e.iterations&&e.iterations.length>0&&!s){let t=e.iterations.filter(e=>"compaction"===e.type||"message"===e.type);if(t.length>0){let e=t.reduce((e,t)=>({input:e.input+t.input_tokens,output:e.output+t.output_tokens}),{input:0,output:0});n=e.input,o=e.output}else n=e.input_tokens,o=e.output_tokens}else n=e.input_tokens,o=e.output_tokens;return{inputTokens:{total:n+r+i,noCache:n,cacheRead:i,cacheWrite:r},outputTokens:{total:o,text:null==a?void 0:o-a,reasoning:a},raw:t??e}}var ea=(0,n.lazySchema)(()=>(0,n.zodSchema)(r.z.object({type:r.z.literal("code_execution_result"),stdout:r.z.string(),stderr:r.z.string(),return_code:r.z.number(),content:r.z.array(r.z.object({type:r.z.literal("code_execution_output"),file_id:r.z.string()})).optional().default([])}))),es=(0,n.lazySchema)(()=>(0,n.zodSchema)(r.z.object({code:r.z.string()}))),el=(0,n.createProviderExecutedToolFactory)({id:"anthropic.code_execution_20250522",inputSchema:es,outputSchema:ea}),eu=(0,n.lazySchema)(()=>(0,n.zodSchema)(r.z.discriminatedUnion("type",[r.z.object({type:r.z.literal("code_execution_result"),stdout:r.z.string(),stderr:r.z.string(),return_code:r.z.number(),content:r.z.array(r.z.object({type:r.z.literal("code_execution_output"),file_id:r.z.string()})).optional().default([])}),r.z.object({type:r.z.literal("bash_code_execution_result"),content:r.z.array(r.z.object({type:r.z.literal("bash_code_execution_output"),file_id:r.z.string()})),stdout:r.z.string(),stderr:r.z.string(),return_code:r.z.number()}),r.z.object({type:r.z.literal("bash_code_execution_tool_result_error"),error_code:r.z.string()}),r.z.object({type:r.z.literal("text_editor_code_execution_tool_result_error"),error_code:r.z.string()}),r.z.object({type:r.z.literal("text_editor_code_execution_view_result"),content:r.z.string(),file_type:r.z.string(),num_lines:r.z.number().nullable(),start_line:r.z.number().nullable(),total_lines:r.z.number().nullable()}),r.z.object({type:r.z.literal("text_editor_code_execution_create_result"),is_file_update:r.z.boolean()}),r.z.object({type:r.z.literal("text_editor_code_execution_str_replace_result"),lines:r.z.array(r.z.string()).nullable(),new_lines:r.z.number().nullable(),new_start:r.z.number().nullable(),old_lines:r.z.number().nullable(),old_start:r.z.number().nullable()})]))),ec=(0,n.lazySchema)(()=>(0,n.zodSchema)(r.z.discriminatedUnion("type",[r.z.object({type:r.z.literal("programmatic-tool-call"),code:r.z.string()}),r.z.object({type:r.z.literal("bash_code_execution"),command:r.z.string()}),r.z.discriminatedUnion("command",[r.z.object({type:r.z.literal("text_editor_code_execution"),command:r.z.literal("view"),path:r.z.string()}),r.z.object({type:r.z.literal("text_editor_code_execution"),command:r.z.literal("create"),path:r.z.string(),file_text:r.z.string().nullish()}),r.z.object({type:r.z.literal("text_editor_code_execution"),command:r.z.literal("str_replace"),path:r.z.string(),old_str:r.z.string(),new_str:r.z.string()})])]))),ed=(0,n.createProviderExecutedToolFactory)({id:"anthropic.code_execution_20250825",inputSchema:ec,outputSchema:eu,supportsDeferredResults:!0}),ep=(0,n.lazySchema)(()=>(0,n.zodSchema)(r.z.discriminatedUnion("type",[r.z.object({type:r.z.literal("code_execution_result"),stdout:r.z.string(),stderr:r.z.string(),return_code:r.z.number(),content:r.z.array(r.z.object({type:r.z.literal("code_execution_output"),file_id:r.z.string()})).optional().default([])}),r.z.object({type:r.z.literal("encrypted_code_execution_result"),encrypted_stdout:r.z.string(),stderr:r.z.string(),return_code:r.z.number(),content:r.z.array(r.z.object({type:r.z.literal("code_execution_output"),file_id:r.z.string()})).optional().default([])}),r.z.object({type:r.z.literal("bash_code_execution_result"),content:r.z.array(r.z.object({type:r.z.literal("bash_code_execution_output"),file_id:r.z.string()})),stdout:r.z.string(),stderr:r.z.string(),return_code:r.z.number()}),r.z.object({type:r.z.literal("bash_code_execution_tool_result_error"),error_code:r.z.string()}),r.z.object({type:r.z.literal("text_editor_code_execution_tool_result_error"),error_code:r.z.string()}),r.z.object({type:r.z.literal("text_editor_code_execution_view_result"),content:r.z.string(),file_type:r.z.string(),num_lines:r.z.number().nullable(),start_line:r.z.number().nullable(),total_lines:r.z.number().nullable()}),r.z.object({type:r.z.literal("text_editor_code_execution_create_result"),is_file_update:r.z.boolean()}),r.z.object({type:r.z.literal("text_editor_code_execution_str_replace_result"),lines:r.z.array(r.z.string()).nullable(),new_lines:r.z.number().nullable(),new_start:r.z.number().nullable(),old_lines:r.z.number().nullable(),old_start:r.z.number().nullable()})]))),eh=(0,n.lazySchema)(()=>(0,n.zodSchema)(r.z.discriminatedUnion("type",[r.z.object({type:r.z.literal("programmatic-tool-call"),code:r.z.string()}),r.z.object({type:r.z.literal("bash_code_execution"),command:r.z.string()}),r.z.discriminatedUnion("command",[r.z.object({type:r.z.literal("text_editor_code_execution"),command:r.z.literal("view"),path:r.z.string()}),r.z.object({type:r.z.literal("text_editor_code_execution"),command:r.z.literal("create"),path:r.z.string(),file_text:r.z.string().nullish()}),r.z.object({type:r.z.literal("text_editor_code_execution"),command:r.z.literal("str_replace"),path:r.z.string(),old_str:r.z.string(),new_str:r.z.string()})])]))),em=(0,n.createProviderExecutedToolFactory)({id:"anthropic.code_execution_20260120",inputSchema:eh,outputSchema:ep,supportsDeferredResults:!0}),eg=(0,n.lazySchema)(()=>(0,n.zodSchema)(r.z.array(r.z.object({type:r.z.literal("tool_reference"),toolName:r.z.string()})))),ef=(0,n.lazySchema)(()=>(0,n.zodSchema)(r.z.object({pattern:r.z.string(),limit:r.z.number().optional()}))),ey=(0,n.createProviderExecutedToolFactory)({id:"anthropic.tool_search_regex_20251119",inputSchema:ef,outputSchema:eg,supportsDeferredResults:!0});function eb(e){try{if("string"==typeof e)return(0,n.secureJsonParse)(e);if("object"==typeof e&&null!==e)return e}catch{let t=e?.errorCode;return{errorCode:"string"==typeof t?t:"unavailable"}}return{}}async function e_({prompt:e,sendReasoning:o,warnings:r,cacheControlValidator:i,toolNameMapping:a,toolsetNames:s={}}){let l,u=new Set,c=function(e){let t,n=[];for(let o of e){let{role:e}=o;switch(e){case"system":t?.type!=="system"&&(t={type:"system",messages:[]},n.push(t)),t.messages.push(o);break;case"assistant":t?.type!=="assistant"&&(t={type:"assistant",messages:[]},n.push(t)),t.messages.push(o);break;case"user":case"tool":t?.type!=="user"&&(t={type:"user",messages:[]},n.push(t)),t.messages.push(o);break;default:throw Error(`Unsupported role: ${e}`)}}return n}(e),d=i||new v,p=[];async function h(e){let t=await (0,n.parseProviderOptions)({provider:"anthropic",providerOptions:e,schema:_});return t?.citations?.enabled??!1}async function m(e){let t=await (0,n.parseProviderOptions)({provider:"anthropic",providerOptions:e,schema:_});return t?.containerUpload??!1}async function g(e){let t=await (0,n.parseProviderOptions)({provider:"anthropic",providerOptions:e,schema:_});return{title:t?.title,context:t?.context}}for(let e=0;e<c.length;e++){let i=c[e],y=e===c.length-1,_=i.type;switch(_){case"system":{let t=[];for(let{content:e,providerOptions:o}of i.messages){let r=await (0,n.parseProviderOptions)({provider:"anthropic",providerOptions:o,schema:z}),i=r?.toolChanges??[],s=[];for(let t of((""!==e||0===i.length&&r?.clearAt==null&&r?.effort==null)&&s.push({type:"text",text:e,cache_control:d.getCacheControl(o,{type:"system message",canCache:!0})}),i))s.push({type:t.type,tool:{type:"tool_reference",name:a.toProviderToolName(t.toolName)}});t.push({content:s,clearAt:r?.clearAt,effort:r?.effort,toolChangeCount:i.length})}let o=t.reduce((e,t)=>e+t.toolChangeCount,0),s=t.some(e=>null!=e.clearAt||null!=e.effort);if(0!==e&&(null!=l||0!==o||s))for(let e of(u.add("mid-conversation-system-2026-04-07"),t))p.push({role:"system",content:e.content,...null!=e.clearAt&&{clear_at:e.clearAt},...null!=e.effort&&{output_config:{effort:e.effort}}}),e.toolChangeCount>0&&u.add("mid-conversation-tool-changes-2026-07-01"),null!=e.clearAt&&u.add("mid-conversation-system-clear-at-2026-08-21"),null!=e.effort&&u.add("mid-conversation-output-config-2026-07-01");else{for(let e of(o>0&&r.push({type:"other",message:"tool changes on the initial system message are not supported by Anthropic. Configure the initial tool set via the tools option instead. The tool changes have been ignored."}),t))0===e.content.length&&null==e.clearAt&&null!=e.effort?(p.push({role:"system",content:[],output_config:{effort:e.effort}}),u.add("mid-conversation-output-config-2026-07-01")):(null!=e.clearAt||null!=e.effort)&&r.push({type:"other",message:"clearAt and effort on this initial system message are not supported by Anthropic. Use a separate effort-only system message with empty content to set effort. These options have been ignored."});l=t.flatMap(e=>e.content.filter(e=>"text"===e.type))}break}case"user":{let e=[];for(let o of i.messages){let{role:i,content:a}=o;switch(i){case"user":for(let r=0;r<a.length;r++){let i=a[r],s=r===a.length-1,l=d.getCacheControl(i.providerOptions,{type:"user message part",canCache:!0})??(s?d.getCacheControl(o.providerOptions,{type:"user message",canCache:!0}):void 0);switch(i.type){case"text":e.push({type:"text",text:i.text,cache_control:l});break;case"file":switch(i.data.type){case"reference":{let t=(0,n.resolveProviderReference)({reference:i.data.reference,provider:"anthropic"});u.add("files-api-2025-04-14"),await m(i.providerOptions)?e.push({type:"container_upload",file_id:t}):"image"===(0,n.getTopLevelMediaType)(i.mediaType)?e.push({type:"image",source:{type:"file",file_id:t},cache_control:l}):e.push({type:"document",source:{type:"file",file_id:t},cache_control:l});break}case"text":{let t=await h(i.providerOptions),n=await g(i.providerOptions);e.push({type:"document",source:{type:"text",media_type:"text/plain",data:i.data.text},title:n.title??i.filename,...n.context&&{context:n.context},...t&&{citations:{enabled:!0}},cache_control:l});break}case"url":case"data":{let o=(0,n.getTopLevelMediaType)(i.mediaType);if("image"===o)e.push({type:"image",source:"url"===i.data.type?{type:"url",url:i.data.url.toString()}:{type:"base64",media_type:(0,n.resolveFullMediaType)({part:i}),data:(0,n.convertToBase64)(i.data.data)},cache_control:l});else if("application"===o&&("url"===i.data.type?"application/pdf"===i.mediaType:"application/pdf"===(0,n.resolveFullMediaType)({part:i}))){u.add("pdfs-2024-09-25");let t=await h(i.providerOptions),o=await g(i.providerOptions);e.push({type:"document",source:"url"===i.data.type?{type:"url",url:i.data.url.toString()}:{type:"base64",media_type:"application/pdf",data:(0,n.convertToBase64)(i.data.data)},title:o.title??i.filename,...o.context&&{context:o.context},...t&&{citations:{enabled:!0}},cache_control:l})}else if("text/plain"===i.mediaType){var f;let t=await h(i.providerOptions),o=await g(i.providerOptions);e.push({type:"document",source:"url"===i.data.type?{type:"url",url:i.data.url.toString()}:{type:"text",media_type:"text/plain",data:"string"==typeof(f=i.data.data)?new TextDecoder().decode((0,n.convertBase64ToUint8Array)(f)):new TextDecoder().decode(f)},title:o.title??i.filename,...o.context&&{context:o.context},...t&&{citations:{enabled:!0}},cache_control:l})}else throw new t.UnsupportedFunctionalityError({functionality:`media type: ${i.mediaType}`})}}}}break;case"tool":for(let t=0;t<a.length;t++){let i,l=a[t];if("tool-approval-response"===l.type)continue;let c=l.output,p="providerOptions"in c?c.providerOptions:"content"===c.type?c.value.find(e=>null!=e.providerOptions)?.providerOptions:void 0,h=t===a.length-1,m=d.getCacheControl(l.providerOptions,{type:"tool result part",canCache:!0})??d.getCacheControl(p,{type:"tool result output",canCache:!0})??(h?d.getCacheControl(o.providerOptions,{type:"tool result message",canCache:!0}):void 0);switch(c.type){case"content":i=c.value.map(e=>{switch(e.type){case"text":return{type:"text",text:e.text};case"file":{let t=(0,n.getTopLevelMediaType)(e.mediaType);if("url"===e.data.type){if("image"===t)return{type:"image",source:{type:"url",url:e.data.url.toString()}};return{type:"document",source:{type:"url",url:e.data.url.toString()}}}if("data"===e.data.type){if("image"===t)return{type:"image",source:{type:"base64",media_type:(0,n.resolveFullMediaType)({part:e}),data:(0,n.convertToBase64)(e.data.data)}};if("application/pdf"===(0,n.resolveFullMediaType)({part:e}))return u.add("pdfs-2024-09-25"),{type:"document",source:{type:"base64",media_type:"application/pdf",data:(0,n.convertToBase64)(e.data.data)}};r.push({type:"other",message:`unsupported tool content part type: ${e.type} with media type: ${e.mediaType}`});return}r.push({type:"other",message:`unsupported tool content part type: ${e.type} with data type: ${e.data.type}`});return}case"custom":{let t=e.providerOptions?.anthropic;if(t?.type==="tool-reference")return{type:"tool_reference",tool_name:t.toolName};r.push({type:"other",message:"unsupported custom tool content part"});return}default:return void r.push({type:"other",message:`unsupported tool content part type: ${e.type}`})}}).filter(n.isNonNullable);break;case"text":case"error-text":i=c.value;break;case"execution-denied":i=c.reason??"Tool call execution denied.";break;default:i=JSON.stringify(c.value)}let g=ez({toolName:l.toolName,providerOptions:l.providerOptions,toolsetNames:s});e.push({type:"tool_result",tool_use_id:l.toolCallId,...null!=g&&{toolset_name:g},content:i,is_error:"error-text"===c.type||"error-json"===c.type||void 0,cache_control:m})}break;default:throw Error(`Unsupported role: ${i}`)}}p.push({role:"user",content:e});break}case"assistant":{let e=[],t=new Set;for(let l=0;l<i.messages.length;l++){let c=i.messages[l],p=l===i.messages.length-1,{content:h}=c;for(let i=0;i<h.length;i++){let l=h[i],m=i===h.length-1,g=d.getCacheControl(l.providerOptions,{type:"assistant message part",canCache:!0})??(m?d.getCacheControl(c.providerOptions,{type:"assistant message",canCache:!0}):void 0);switch(l.type){case"text":{let t=l.providerOptions?.anthropic;if(t?.type==="compaction"){if(""===l.text)break;"string"==typeof t.signature&&u.add("compact-2026-09-04"),e.push({type:"compaction",content:l.text,..."string"==typeof t.signature&&{signature:t.signature},cache_control:g})}else e.push({type:"text",text:y&&p&&m?l.text.trim():l.text,...t?.citations!=null&&{citations:t.citations},cache_control:g});break}case"reasoning":if(o){let t=await (0,n.parseProviderOptions)({provider:"anthropic",providerOptions:l.providerOptions,schema:b});null!=t?null!=t.signature?(d.getCacheControl(l.providerOptions,{type:"thinking block",canCache:!1}),e.push({type:"thinking",thinking:l.text,signature:t.signature})):null!=t.redactedData?(d.getCacheControl(l.providerOptions,{type:"redacted thinking block",canCache:!1}),e.push({type:"redacted_thinking",data:t.redactedData})):r.push({type:"other",message:"unsupported reasoning metadata"}):r.push({type:"other",message:"unsupported reasoning metadata"})}else r.push({type:"other",message:"sending reasoning content is disabled for this model"});break;case"tool-call":{let n=ew(l.providerOptions);if(l.providerExecuted){let o=a.toProviderToolName(l.toolName);if(l.providerOptions?.anthropic?.type==="mcp-tool-use"){t.add(l.toolCallId);let n=l.providerOptions?.anthropic?.serverName;if(null==n||"string"!=typeof n){r.push({type:"other",message:"mcp tool use server name is required and must be a string"});break}e.push({type:"mcp_tool_use",id:l.toolCallId,name:l.toolName,input:l.input,server_name:n,cache_control:g})}else if("code_execution"===o&&null!=l.input&&"object"==typeof l.input&&"type"in l.input&&"string"==typeof l.input.type&&("bash_code_execution"===l.input.type||"text_editor_code_execution"===l.input.type)){let{type:t,...o}=l.input;e.push({type:"server_tool_use",id:l.toolCallId,name:t,input:o,...n&&{caller:n},cache_control:g})}else if("code_execution"===o&&null!=l.input&&"object"==typeof l.input&&"type"in l.input&&"programmatic-tool-call"===l.input.type){let{type:t,...o}=l.input;e.push({type:"server_tool_use",id:l.toolCallId,name:"code_execution",input:o,...n&&{caller:n},cache_control:g})}else"code_execution"===o||"web_fetch"===o||"web_search"===o||"tool_search_tool_regex"===o||"tool_search_tool_bm25"===o?e.push({type:"server_tool_use",id:l.toolCallId,name:o,input:l.input,...n&&{caller:n},cache_control:g}):"advisor"===o?e.push({type:"server_tool_use",id:l.toolCallId,name:"advisor",input:{},...n&&{caller:n},cache_control:g}):r.push({type:"other",message:`provider executed tool call for tool ${l.toolName} is not supported`});break}let o=ez({toolName:l.toolName,providerOptions:l.providerOptions,toolsetNames:s});if(null!=o){let{action:t,...i}=ev(l.input);if("string"!=typeof t){r.push({type:"other",message:`toolset tool call for tool ${l.toolName} is missing the action`});break}e.push({type:"tool_use",id:l.toolCallId,name:t,toolset_name:o,input:i,...n&&{caller:n},cache_control:g});break}e.push({type:"tool_use",id:l.toolCallId,name:l.toolName,input:ev(l.input),...n&&{caller:n},cache_control:g});break}case"tool-result":{let o=a.toProviderToolName(l.toolName),i=ew(l.providerOptions);if(t.has(l.toolCallId)){let t=l.output;if("json"!==t.type&&"error-json"!==t.type){r.push({type:"other",message:`provider executed tool result output type ${t.type} for tool ${l.toolName} is not supported`});break}e.push({type:"mcp_tool_result",tool_use_id:l.toolCallId,is_error:"error-json"===t.type,content:t.value,cache_control:g})}else if("code_execution"===o){let t=l.output;if("error-text"===t.type||"error-json"===t.type){let o={};try{"string"==typeof t.value?o=(0,n.secureJsonParse)(t.value):"object"==typeof t.value&&null!==t.value&&(o=t.value)}catch{}"code_execution_tool_result_error"===o.type?e.push({type:"code_execution_tool_result",tool_use_id:l.toolCallId,content:{type:"code_execution_tool_result_error",error_code:o.errorCode??"unknown"},cache_control:g}):e.push({type:"bash_code_execution_tool_result",tool_use_id:l.toolCallId,cache_control:g,content:{type:"bash_code_execution_tool_result_error",error_code:o.errorCode??"unknown"}});break}if("json"!==t.type){r.push({type:"other",message:`provider executed tool result output type ${t.type} for tool ${l.toolName} is not supported`});break}if(null==t.value||"object"!=typeof t.value||!("type"in t.value)||"string"!=typeof t.value.type){r.push({type:"other",message:`provider executed tool result output value is not a valid code execution result for tool ${l.toolName}`});break}if("code_execution_result"===t.value.type){let o=await (0,n.validateTypes)({value:t.value,schema:ea});e.push({type:"code_execution_tool_result",tool_use_id:l.toolCallId,content:{type:o.type,stdout:o.stdout,stderr:o.stderr,return_code:o.return_code,content:o.content??[]},cache_control:g})}else if("encrypted_code_execution_result"===t.value.type){let o=await (0,n.validateTypes)({value:t.value,schema:ep});"encrypted_code_execution_result"===o.type&&e.push({type:"code_execution_tool_result",tool_use_id:l.toolCallId,content:{type:o.type,encrypted_stdout:o.encrypted_stdout,stderr:o.stderr,return_code:o.return_code,content:o.content??[]},cache_control:g})}else{let o=await (0,n.validateTypes)({value:t.value,schema:eu});"code_execution_result"===o.type?e.push({type:"code_execution_tool_result",tool_use_id:l.toolCallId,content:{type:o.type,stdout:o.stdout,stderr:o.stderr,return_code:o.return_code,content:o.content??[]},cache_control:g}):"bash_code_execution_result"===o.type||"bash_code_execution_tool_result_error"===o.type?e.push({type:"bash_code_execution_tool_result",tool_use_id:l.toolCallId,cache_control:g,content:"bash_code_execution_result"===o.type?{type:o.type,stdout:o.stdout,stderr:o.stderr,return_code:o.return_code,content:o.content}:o}):e.push({type:"text_editor_code_execution_tool_result",tool_use_id:l.toolCallId,cache_control:g,content:o})}break}if("web_fetch"===o){let t=l.output;if("error-json"===t.type){e.push({type:"web_fetch_tool_result",tool_use_id:l.toolCallId,content:{type:"web_fetch_tool_result_error",error_code:eb(t.value).errorCode??"unavailable"},...i&&{caller:i},cache_control:g});break}if("json"!==t.type){r.push({type:"other",message:`provider executed tool result output type ${t.type} for tool ${l.toolName} is not supported`});break}let o=await (0,n.validateTypes)({value:t.value,schema:et});e.push({type:"web_fetch_tool_result",tool_use_id:l.toolCallId,content:{type:"web_fetch_result",url:o.url,retrieved_at:o.retrievedAt,content:{type:"document",title:o.content.title,citations:o.content.citations,source:{type:o.content.source.type,media_type:o.content.source.mediaType,data:o.content.source.data}}},...i&&{caller:i},cache_control:g});break}if("web_search"===o){let t=l.output;if("error-json"===t.type){e.push({type:"web_search_tool_result",tool_use_id:l.toolCallId,content:{type:"web_search_tool_result_error",error_code:eb(t.value).errorCode??"unavailable"},...i&&{caller:i},cache_control:g});break}if("json"!==t.type){r.push({type:"other",message:`provider executed tool result output type ${t.type} for tool ${l.toolName} is not supported`});break}let o=await (0,n.validateTypes)({value:t.value,schema:H});e.push({type:"web_search_tool_result",tool_use_id:l.toolCallId,content:o.map(e=>({url:e.url,title:e.title,page_age:e.pageAge,encrypted_content:e.encryptedContent,type:e.type})),...i&&{caller:i},cache_control:g});break}if("tool_search_tool_regex"===o||"tool_search_tool_bm25"===o){let t=l.output;if("json"!==t.type){r.push({type:"other",message:`provider executed tool result output type ${t.type} for tool ${l.toolName} is not supported`});break}let o=(await (0,n.validateTypes)({value:t.value,schema:eg})).map(e=>({type:"tool_reference",tool_name:e.toolName}));e.push({type:"tool_search_tool_result",tool_use_id:l.toolCallId,content:{type:"tool_search_tool_search_result",tool_references:o},cache_control:g});break}if("advisor"===o){let t=l.output;if("json"!==t.type&&"error-json"!==t.type){r.push({type:"other",message:`provider executed tool result output type ${t.type} for tool ${l.toolName} is not supported`});break}let o=await (0,n.validateTypes)({value:t.value,schema:x});"advisor_result"===o.type?e.push({type:"advisor_tool_result",tool_use_id:l.toolCallId,content:{type:"advisor_result",text:o.text,...void 0!==o.stopReason&&{stop_reason:o.stopReason}},cache_control:g}):"advisor_redacted_result"===o.type?e.push({type:"advisor_tool_result",tool_use_id:l.toolCallId,content:{type:"advisor_redacted_result",encrypted_content:o.encryptedContent,...void 0!==o.stopReason&&{stop_reason:o.stopReason}},cache_control:g}):e.push({type:"advisor_tool_result",tool_use_id:l.toolCallId,content:{type:"advisor_tool_result_error",error_code:o.errorCode},cache_control:g});break}r.push({type:"other",message:`provider executed tool result for tool ${l.toolName} is not supported`})}}}}e.length>0&&p.push({role:"assistant",content:function(e){let t=[],n=[];function o(){t.push(...n.filter(e=>"tool_use"!==e.type),...n.filter(e=>"tool_use"===e.type)),n=[]}for(let r of e)"thinking"===r.type||"redacted_thinking"===r.type?(o(),t.push(r)):n.push(r);return o(),t}(e)});break}default:throw Error(`content type: ${_}`)}}return{prompt:{system:l,messages:p},betas:u}}function ez({toolName:e,providerOptions:t,toolsetNames:n}){let o=n[e];if(null!=o)return o;let r=t?.anthropic?.toolsetName;return"string"==typeof r?r:void 0}function ew(e){let t=e?.anthropic?.caller;return(t?.type==="code_execution_20250825"||t?.type==="code_execution_20260120")&&t.toolId?{type:t.type,tool_id:t.toolId}:t?.type==="direct"?{type:"direct"}:void 0}function ev(e){return"object"!=typeof e||null===e||Array.isArray(e)?{rawInvalidInput:e}:e}function ek({finishReason:e,isJsonResponseFromTool:t}){switch(e){case"pause_turn":case"end_turn":case"stop_sequence":return"stop";case"refusal":return"content-filter";case"tool_use":return t?"stop":"tool-calls";case"max_tokens":case"model_context_window_exceeded":return"length";default:return"other"}}var ex=new Set(["date-time","time","date","duration","email","hostname","uri","ipv4","ipv6","uuid"]),eS=["minimum","maximum","exclusiveMinimum","exclusiveMaximum","multipleOf","minLength","maxLength","pattern","minItems","maxItems","uniqueItems","minProperties","maxProperties","not"];function eT(e){return"boolean"!=typeof e&&(0,n.isRecord)(e)?eI(e):e}function eI(e){var t;let n,o={};if(null!=e.$ref)return{$ref:e.$ref};null!=e.$schema&&(o.$schema=e.$schema),null!=e.$id&&(o.$id=e.$id),null!=e.title&&(o.title=e.title),null!=e.description&&(o.description=e.description),void 0!==e.default&&(o.default=e.default),void 0!==e.const&&(o.const=e.const),null!=e.enum&&(o.enum=e.enum),null!=e.type&&(o.type=e.type),null!=e.anyOf?o.anyOf=e.anyOf.map(eT):null!=e.oneOf&&(o.anyOf=e.oneOf.map(eT)),null!=e.allOf&&(o.allOf=e.allOf.map(eT)),null!=e.definitions&&(o.definitions=Object.fromEntries(Object.entries(e.definitions).map(([e,t])=>[e,eT(t)]))),null!=e.$defs&&(o.$defs=Object.fromEntries(Object.entries(e.$defs).map(([e,t])=>[e,eT(t)]))),("object"===e.type||null!=e.properties)&&(null!=e.properties&&(o.properties=Object.fromEntries(Object.entries(e.properties).map(([e,t])=>[e,eT(t)]))),o.additionalProperties=!1,null!=e.required&&(o.required=e.required)),null!=e.items&&(o.items=Array.isArray(e.items)?e.items.map(eT):eT(e.items)),"string"==typeof e.format&&ex.has(e.format)&&(o.format=e.format);let r=(t=e,n=eS.flatMap(e=>{var n;let o=t[e];return null==o||!1===o?[]:`${e.replace(/[A-Z]/g,e=>` ${e.toLowerCase()}`)}: ${"string"==typeof(n=o)?n:JSON.stringify(n)}`}),"string"!=typeof t.format||ex.has(t.format)||n.push(`format: ${t.format}`),0===n.length?void 0:`${n.join("; ")}.`);return null!=r&&(o.description=null==o.description?r:`${o.description}
|
|
156
|
-
${r}`),o}function eO(e,t,n){if("web_search_result_location"===e.type)return{type:"source",sourceType:"url",id:n(),url:e.url,title:e.title??void 0,providerMetadata:{anthropic:{citedText:e.cited_text,encryptedIndex:e.encrypted_index}}};if("page_location"!==e.type&&"char_location"!==e.type)return;let o=t[e.document_index];if(o)return{type:"source",sourceType:"document",id:n(),mediaType:o.mediaType,title:e.document_title??o.title,filename:o.filename,providerMetadata:{anthropic:"page_location"===e.type?{citedText:e.cited_text,startPageNumber:e.start_page_number,endPageNumber:e.end_page_number}:{citedText:e.cited_text,startCharIndex:e.start_char_index,endCharIndex:e.end_char_index}}}}function eE(e){return null==e?void 0:{type:e.type,toolId:"tool_id"in e?e.tool_id:void 0}}function eC(e){let t=eE(e);return null==t?{}:{providerMetadata:{anthropic:{caller:t}}}}function eA({memberName:e,input:t}){return{action:e,..."object"==typeof t&&null!==t&&!Array.isArray(t)?t:{}}}var ej=class e{constructor(e,t){this.specificationVersion="v4",this.modelId=e,this.config=t,this.generateId=t.generateId??n.generateId}static[i.WORKFLOW_SERIALIZE](e){return(0,n.serializeModelOptions)({modelId:e.modelId,config:e.config})}static[i.WORKFLOW_DESERIALIZE](t){return new e(t.modelId,t.config)}supportsUrl(e){return"https:"===e.protocol}get provider(){return this.config.provider}get supportedUrls(){return this.config.supportedUrls?.()??{}}static async prepareRequest({modelId:e,config:o,options:{userSuppliedBetas:r,prompt:i,maxOutputTokens:a,temperature:s,topP:l,topK:u,frequencyPenalty:c,presencePenalty:d,stopSequences:p,responseFormat:h,seed:m,tools:g,toolChoice:f,reasoning:y,providerOptions:b,stream:_}}){var z;let k,x=[];null!=c&&x.push({type:"unsupported",feature:"frequencyPenalty"}),null!=d&&x.push({type:"unsupported",feature:"presencePenalty"}),null!=m&&x.push({type:"unsupported",feature:"seed"}),null!=s&&s>1?(x.push({type:"unsupported",feature:"temperature",details:`${s} exceeds anthropic maximum of 1.0. clamped to 1.0`}),s=1):null!=s&&s<0&&(x.push({type:"unsupported",feature:"temperature",details:`${s} is below anthropic minimum of 0. clamped to 0`}),s=0),h?.type==="json"&&null==h.schema&&x.push({type:"unsupported",feature:"responseFormat",details:"JSON response format requires a schema. The response format is ignored."});let S=-1===(k=(z=o.provider).indexOf("."))?z:z.substring(0,k),T=await (0,n.parseProviderOptions)({provider:"anthropic",providerOptions:b,schema:w}),I="anthropic"!==S?await (0,n.parseProviderOptions)({provider:S,providerOptions:b,schema:w}):null,O=null!=I,E=Object.assign({},T??{},I??{}),{maxOutputTokens:C,supportsStructuredOutput:A,supportsAdaptiveThinking:j,rejectsSamplingParameters:R,supportsXhighEffort:$,rejectsThinkingDisabledAboveHighEffort:M,rejectsThinkingDisabled:N,rejectsForcedToolUse:L,isKnownModel:P}=function(e){if(e.includes("claude-opus-5-5"))return{maxOutputTokens:128e3,supportsStructuredOutput:!0,supportsAdaptiveThinking:!0,rejectsSamplingParameters:!0,supportsXhighEffort:!0,rejectsThinkingDisabledAboveHighEffort:!0,rejectsThinkingDisabled:!0,rejectsForcedToolUse:!0,isKnownModel:!0};if(e.includes("claude-opus-5"))return{maxOutputTokens:128e3,supportsStructuredOutput:!0,supportsAdaptiveThinking:!0,rejectsSamplingParameters:!0,supportsXhighEffort:!0,rejectsThinkingDisabledAboveHighEffort:!0,rejectsThinkingDisabled:!1,rejectsForcedToolUse:!1,isKnownModel:!0};if(e.includes("claude-fable-5-1"))return{maxOutputTokens:128e3,supportsStructuredOutput:!0,supportsAdaptiveThinking:!0,rejectsSamplingParameters:!0,supportsXhighEffort:!0,rejectsThinkingDisabledAboveHighEffort:!1,rejectsThinkingDisabled:!0,rejectsForcedToolUse:!0,isKnownModel:!0};if(e.includes("claude-fable-5"))return{maxOutputTokens:128e3,supportsStructuredOutput:!0,supportsAdaptiveThinking:!0,rejectsSamplingParameters:!0,supportsXhighEffort:!0,rejectsThinkingDisabledAboveHighEffort:!1,rejectsThinkingDisabled:!0,rejectsForcedToolUse:!1,isKnownModel:!0};if(e.includes("claude-opus-4-8")||e.includes("claude-opus-4-7")||e.includes("claude-sonnet-5"))return{maxOutputTokens:128e3,supportsStructuredOutput:!0,supportsAdaptiveThinking:!0,rejectsSamplingParameters:!0,supportsXhighEffort:!0,rejectsThinkingDisabledAboveHighEffort:!1,rejectsThinkingDisabled:!1,rejectsForcedToolUse:!1,isKnownModel:!0};else if(e.includes("claude-sonnet-4-6")||e.includes("claude-opus-4-6"))return{maxOutputTokens:128e3,supportsStructuredOutput:!0,supportsAdaptiveThinking:!0,rejectsSamplingParameters:!1,supportsXhighEffort:!1,rejectsThinkingDisabledAboveHighEffort:!1,rejectsThinkingDisabled:!1,rejectsForcedToolUse:!1,isKnownModel:!0};else if(e.includes("claude-sonnet-4-5")||e.includes("claude-opus-4-5")||e.includes("claude-haiku-4-5"))return{maxOutputTokens:64e3,supportsStructuredOutput:!0,supportsAdaptiveThinking:!1,rejectsSamplingParameters:!1,supportsXhighEffort:!1,rejectsThinkingDisabledAboveHighEffort:!1,rejectsThinkingDisabled:!1,rejectsForcedToolUse:!1,isKnownModel:!0};else if(e.includes("claude-opus-4-1"))return{maxOutputTokens:32e3,supportsStructuredOutput:!0,supportsAdaptiveThinking:!1,rejectsSamplingParameters:!1,supportsXhighEffort:!1,rejectsThinkingDisabledAboveHighEffort:!1,rejectsThinkingDisabled:!1,rejectsForcedToolUse:!1,isKnownModel:!0};else if(/claude-sonnet-4(?:-|@)/.test(e))return{maxOutputTokens:64e3,supportsStructuredOutput:!1,supportsAdaptiveThinking:!1,rejectsSamplingParameters:!1,supportsXhighEffort:!1,rejectsThinkingDisabledAboveHighEffort:!1,rejectsThinkingDisabled:!1,rejectsForcedToolUse:!1,isKnownModel:!0};else if(/claude-opus-4(?:-|@)/.test(e))return{maxOutputTokens:32e3,supportsStructuredOutput:!1,supportsAdaptiveThinking:!1,rejectsSamplingParameters:!1,supportsXhighEffort:!1,rejectsThinkingDisabledAboveHighEffort:!1,rejectsThinkingDisabled:!1,rejectsForcedToolUse:!1,isKnownModel:!0};else if(e.includes("claude-3-haiku"))return{maxOutputTokens:4096,supportsStructuredOutput:!1,supportsAdaptiveThinking:!1,rejectsSamplingParameters:!1,supportsXhighEffort:!1,rejectsThinkingDisabledAboveHighEffort:!1,rejectsThinkingDisabled:!1,rejectsForcedToolUse:!1,isKnownModel:!0};else if(/claude-(?:instant(?:-|$)|v?2(?=$|[-.:])|3(?=$|[-.]))/.test(e))return{maxOutputTokens:4096,supportsStructuredOutput:!1,supportsAdaptiveThinking:!1,rejectsSamplingParameters:!1,supportsXhighEffort:!1,rejectsThinkingDisabledAboveHighEffort:!1,rejectsThinkingDisabled:!1,rejectsForcedToolUse:!1,isKnownModel:!1};else if(e.includes("claude-"))return{maxOutputTokens:128e3,supportsStructuredOutput:!0,supportsAdaptiveThinking:!0,rejectsSamplingParameters:!0,supportsXhighEffort:!0,rejectsThinkingDisabledAboveHighEffort:!0,rejectsThinkingDisabled:!1,rejectsForcedToolUse:!1,isKnownModel:!1};else return{maxOutputTokens:4096,supportsStructuredOutput:!1,supportsAdaptiveThinking:!1,rejectsSamplingParameters:!1,supportsXhighEffort:!1,rejectsThinkingDisabledAboveHighEffort:!1,rejectsThinkingDisabled:!1,rejectsForcedToolUse:!1,isKnownModel:!1}}(e);P||null!=a||x.push({type:"compatibility",feature:"maxOutputTokens",details:`The model "${e}" is unknown. The max output tokens have been limited to ${C}. Set maxOutputTokens explicitly to override this limit.`}),R&&(null!=s&&(x.push({type:"unsupported",feature:"temperature",details:`temperature is not supported by ${e} and will be ignored`}),s=void 0),null!=u&&(x.push({type:"unsupported",feature:"topK",details:`topK is not supported by ${e} and will be ignored`}),u=void 0),null!=l&&(x.push({type:"unsupported",feature:"topP",details:`topP is not supported by ${e} and will be ignored`}),l=void 0));let U=P||e.includes("claude-"),q=(o.supportsNativeStructuredOutput??!0)&&A,D=(o.supportsStrictTools??!0)&&A,F=E?.structuredOutputMode??"auto",H="outputFormat"===F||"auto"===F&&q;!H&&L&&q&&h?.type==="json"&&null!=h.schema&&(x.push({type:"unsupported",feature:"providerOptions.anthropic.structuredOutputMode",details:`structuredOutputMode 'jsonTool' is not supported by ${e} because it rejects forced tool use. Using 'outputFormat' instead.`}),H=!0);let B=h?.type!=="json"||null==h.schema||H?void 0:{type:"function",name:"json",description:"Respond with a JSON object.",inputSchema:h.schema};null!=B&&E?.disableParallelToolUse===!1&&x.push({type:"unsupported",feature:"providerOptions.anthropic.disableParallelToolUse",details:"`disableParallelToolUse: false` is ignored when using the JSON response tool. Parallel tool use is disabled to ensure a single coherent JSON tool call."});let W=E?.contextManagement,K=E?.compaction;if(null!=W&&null!=K)throw new t.InvalidArgumentError({argument:"providerOptions",message:"Anthropic provider options `compaction` and `contextManagement` cannot be used together."});let V=new v,J=(0,n.createToolNameMapping)({tools:g,providerToolNames:{"anthropic.code_execution_20250522":"code_execution","anthropic.code_execution_20250825":"code_execution","anthropic.code_execution_20260120":"code_execution","anthropic.computer_20241022":"computer","anthropic.computer_20250124":"computer","anthropic.computer_20251124":"computer","anthropic.computer_toolset_20260801":"computer","anthropic.text_editor_20241022":"str_replace_editor","anthropic.text_editor_20250124":"str_replace_editor","anthropic.text_editor_20250429":"str_replace_based_edit_tool","anthropic.text_editor_20250728":"str_replace_based_edit_tool","anthropic.bash_20241022":"bash","anthropic.bash_20250124":"bash","anthropic.memory_20250818":"memory","anthropic.web_search_20250305":"web_search","anthropic.web_search_20260209":"web_search","anthropic.web_search_20260318":"web_search","anthropic.web_fetch_20250910":"web_fetch","anthropic.web_fetch_20260209":"web_fetch","anthropic.web_fetch_20260318":"web_fetch","anthropic.tool_search_regex_20251119":"tool_search_tool_regex","anthropic.tool_search_bm25_20251119":"tool_search_tool_bm25","anthropic.advisor_20260301":"advisor"}}),G=function(e){let t={};for(let n of e??[])"provider"===n.type&&"anthropic.computer_toolset_20260801"===n.id&&(t[n.name]="computer");return t}(g),{prompt:Y,betas:Z}=await e_({prompt:i,sendReasoning:E?.sendReasoning??!0,warnings:x,cacheControlValidator:V,toolNameMapping:J,toolsetNames:G});if((0,n.isCustomReasoning)(y)&&E?.effort==null){let t=function({reasoning:e,modelId:t,supportsAdaptiveThinking:o,supportsXhighEffort:r,rejectsThinkingDisabled:i,maxOutputTokensForModel:a,warnings:s}){if(!(0,n.isCustomReasoning)(e))return;if("none"===e)return i?(s.push({type:"compatibility",feature:"reasoning",details:`reasoning 'none' is not supported by ${t}; it always uses adaptive thinking. Using effort 'low' to minimize thinking instead.`}),{effort:"low"}):{thinking:{type:"disabled"}};if(o)return{thinking:{type:"adaptive",display:"summarized"},effort:(0,n.mapReasoningToProviderEffort)({reasoning:e,effortMap:{minimal:"low",low:"low",medium:"medium",high:"high",xhigh:r?"xhigh":"max"},warnings:s})};let l=(0,n.mapReasoningToProviderBudget)({reasoning:e,maxOutputTokens:a,maxReasoningBudget:a,warnings:s});if(null!=l)return{thinking:{type:"enabled",budgetTokens:l}}}({reasoning:y,modelId:e,supportsAdaptiveThinking:j,supportsXhighEffort:$,rejectsThinkingDisabled:N,maxOutputTokensForModel:C,warnings:x});null!=t&&(null==E.thinking&&(E.thinking=t.thinking),null!=t.effort&&E.thinking?.type!=="disabled"&&(E.effort=t.effort))}if(N&&E?.thinking!=null){let t=E.thinking;"disabled"===t.type?(x.push({type:"unsupported",feature:"providerOptions.anthropic.thinking",details:`thinking cannot be disabled for ${e}; it always uses adaptive thinking. The thinking setting has been removed. Lower 'effort' to reduce thinking.`}),E.thinking=void 0):"enabled"===t.type&&(x.push({type:"unsupported",feature:"providerOptions.anthropic.thinking",details:`budget-based thinking is not supported by ${e}; it always uses adaptive thinking. Using adaptive thinking instead. Use 'effort' to control how much the model thinks.`}),E.thinking={type:"adaptive"})}M&&E?.thinking?.type==="disabled"&&("xhigh"===E.effort||"max"===E.effort)&&(x.push({type:"unsupported",feature:"providerOptions.anthropic.effort",details:`effort '${E.effort}' is not supported by ${e} when thinking is disabled. The effort has been lowered to 'high'.`}),E.effort="high");let X=E?.thinking?.type,Q="enabled"===X||"adaptive"===X,ee=E?.thinking!=null&&"blockBinding"in E.thinking?E.thinking.blockBinding:void 0,et=Q||"disabled"===X||null!=ee,en="enabled"===X?E?.thinking?.budgetTokens:void 0,eo="adaptive"===X?E?.thinking?.display:void 0,ei=a??C,ea={model:e,max_tokens:ei,temperature:s,top_k:u,top_p:l,stop_sequences:p,...et&&{thinking:{...null!=X&&{type:X},...null!=en&&{budget_tokens:en},...null!=eo&&{display:eo},...null!=ee&&{block_binding:{prefix_mismatch_behavior:ee.prefixMismatchBehavior}}}},...(E?.effort||E?.taskBudget||H&&h?.type==="json"&&null!=h.schema)&&{output_config:{...E?.effort&&{effort:E.effort},...E?.taskBudget&&{task_budget:{type:E.taskBudget.type,total:E.taskBudget.total,...null!=E.taskBudget.remaining&&{remaining:E.taskBudget.remaining}}},...H&&h?.type==="json"&&null!=h.schema&&{format:{type:"json_schema",schema:eI(h.schema)}}}},...E?.speed&&{speed:E.speed},...E?.serviceTier&&{service_tier:E.serviceTier},...E?.inferenceGeo&&{inference_geo:E.inferenceGeo},...E?.fallbacks!=null&&("default"===E.fallbacks||E.fallbacks.length>0)&&{fallbacks:E.fallbacks},...E?.cacheControl&&{cache_control:E.cacheControl},...E?.metadata?.userId!=null&&{metadata:{user_id:E.metadata.userId}},...E?.mcpServers&&E.mcpServers.length>0&&{mcp_servers:E.mcpServers.map(e=>({type:e.type,name:e.name,url:e.url,authorization_token:e.authorizationToken,tool_configuration:e.toolConfiguration?{allowed_tools:e.toolConfiguration.allowedTools,enabled:e.toolConfiguration.enabled}:void 0}))},...E?.container&&{container:E.container.skills&&E.container.skills.length>0?{id:E.container.id,skills:E.container.skills.map(e=>({type:e.type,skill_id:"custom"===e.type?(0,n.resolveProviderReference)({reference:e.providerReference,provider:"anthropic"}):e.skillId,version:e.version}))}:E.container.id},system:Y.system,messages:Y.messages,...E?.safeguards&&E.safeguards.length>0&&{safeguards:E.safeguards.map(e=>({type:e.type,...void 0!==e.classifierContext&&{classifier_context:e.classifierContext}}))},...K&&{compaction:{type:K.type,...void 0!==K.instructions&&{instructions:K.instructions}}},...W&&{context_management:{edits:W.edits.map(e=>{let t=e.type;switch(t){case"clear_tool_uses_20250919":return{type:e.type,...void 0!==e.trigger&&{trigger:e.trigger},...void 0!==e.keep&&{keep:e.keep},...void 0!==e.clearAtLeast&&{clear_at_least:e.clearAtLeast},...void 0!==e.clearToolInputs&&{clear_tool_inputs:e.clearToolInputs},...void 0!==e.excludeTools&&{exclude_tools:e.excludeTools}};case"clear_thinking_20251015":return{type:e.type,...void 0!==e.keep&&{keep:e.keep}};case"compact_20260112":return{type:e.type,...void 0!==e.trigger&&{trigger:e.trigger},...void 0!==e.pauseAfterCompaction&&{pause_after_compaction:e.pauseAfterCompaction},...void 0!==e.instructions&&{instructions:e.instructions}};default:x.push({type:"other",message:`Unknown context management strategy: ${t}`});return}}).filter(e=>void 0!==e)}}};Q?("enabled"===X&&null==en&&(x.push({type:"compatibility",feature:"extended thinking",details:"thinking budget is required when thinking is enabled. using default budget of 1024 tokens."}),ea.thinking={type:"enabled",budget_tokens:1024},en=1024),null!=ea.temperature&&(ea.temperature=void 0,x.push({type:"unsupported",feature:"temperature",details:"temperature is not supported when thinking is enabled"})),null!=u&&(ea.top_k=void 0,x.push({type:"unsupported",feature:"topK",details:"topK is not supported when thinking is enabled"})),null!=l&&(ea.top_p=void 0,x.push({type:"unsupported",feature:"topP",details:"topP is not supported when thinking is enabled"})),ea.max_tokens=ei+(en??0)):U&&null!=l&&null!=s&&(x.push({type:"unsupported",feature:"topP",details:"topP is not supported when temperature is set. topP is ignored."}),ea.top_p=void 0),P&&ea.max_tokens>C&&(null!=a&&x.push({type:"unsupported",feature:"maxOutputTokens",details:`${ea.max_tokens} (maxOutputTokens + thinkingBudget) is greater than ${e} ${C} max output tokens. The max output tokens have been limited to ${C}.`}),ea.max_tokens=C),E?.mcpServers&&E.mcpServers.length>0&&Z.add("mcp-client-2025-04-04"),E?.safeguards&&E.safeguards.length>0&&Z.add("dangerous-tool-use-2026-09-03"),K&&Z.add("compact-2026-09-04"),W&&(Z.add("context-management-2025-06-27"),W.edits.some(e=>"compact_20260112"===e.type)&&Z.add("compact-2026-01-12")),E?.container&&E.container.skills&&E.container.skills.length>0&&(Z.add("code-execution-2025-08-25"),Z.add("skills-2025-10-02"),Z.add("files-api-2025-04-14"),g?.some(e=>"provider"===e.type&&("anthropic.code_execution_20250825"===e.id||"anthropic.code_execution_20260120"===e.id))||x.push({type:"other",message:"code execution tool is required when using skills"})),E?.taskBudget&&Z.add("task-budgets-2026-03-13"),E?.speed==="fast"&&Z.add("fast-mode-2026-02-01"),"updates"===eo&&Z.add("thinking-display-updates-2026-08-18"),null!=ee&&Z.add("thinking-binding-controls-2026-08-01"),E?.fallbacks==="default"?Z.add("server-side-fallback-2026-07-01"):E?.fallbacks&&E.fallbacks.length>0&&Z.add("server-side-fallback-2026-06-01");let es=_&&(E?.toolStreaming??!0),{tools:el,toolChoice:eu,toolWarnings:ec,betas:ed}=await er(null!=B?{tools:[...g??[],B],toolChoice:{type:"required"},disableParallelToolUse:!0,cacheControlValidator:V,supportsStructuredOutput:!1,supportsStrictTools:D,defaultEagerInputStreaming:es,rejectsForcedToolUse:L}:{tools:g??[],toolChoice:f,disableParallelToolUse:E?.disableParallelToolUse,cacheControlValidator:V,supportsStructuredOutput:q,supportsStrictTools:D,defaultEagerInputStreaming:es,rejectsForcedToolUse:L}),ep=V.getWarnings();return{args:{...ea,tools:el,tool_choice:eu,stream:!0===_||void 0},warnings:[...x,...ec,...ep],betas:new Set([...Z,...ed,...r,...E?.anthropicBeta??[]]),usesJsonResponseTool:null!=B,toolNameMapping:J,providerOptionsName:S,usedCustomProviderKey:O}}getArgs(t){return e.prepareRequest({modelId:this.modelId,config:this.config,options:t})}async getHeaders({betas:e,headers:t}){return(0,n.combineHeaders)(this.config.headers?await (0,n.resolve)(this.config.headers):void 0,t,e.size>0?{"anthropic-beta":Array.from(e).join(",")}:{})}async getBetasFromHeaders(e){let t=this.config.headers?await (0,n.resolve)(this.config.headers):void 0,o=t?.["anthropic-beta"]??"",r=e?.["anthropic-beta"]??"";return new Set([...o.toLowerCase().split(","),...r.toLowerCase().split(",")].map(e=>e.trim()).filter(e=>""!==e))}buildRequestUrl(e){return this.config.buildRequestUrl?.(this.config.baseURL,e)??`${this.config.baseURL}/messages`}transformRequestBody(e,t){return this.config.transformRequestBody?.(e,t)??e}extractCitationDocuments(e){return e.filter(e=>"user"===e.role).flatMap(e=>e.content).filter(e=>{if("file"!==e.type||"application/pdf"!==e.mediaType&&"text/plain"!==e.mediaType)return!1;let t=e.providerOptions?.anthropic,n=t?.citations;return n?.enabled??!1}).map(e=>({title:e.filename??"Untitled Document",filename:e.filename,mediaType:e.mediaType}))}async doGenerate(e){let t,o,r,{args:i,warnings:a,betas:l,usesJsonResponseTool:u,toolNameMapping:c,providerOptionsName:d,usedCustomProviderKey:p}=await this.getArgs({...e,stream:!1,userSuppliedBetas:await this.getBetasFromHeaders(e.headers)}),h=[...this.extractCitationDocuments(e.prompt)],m=eR(i.tools),{responseHeaders:g,value:y,rawValue:b}=await (0,n.postJsonToApi)({url:this.buildRequestUrl(!1),headers:await this.getHeaders({betas:l,headers:e.headers}),body:this.transformRequestBody(i,l),failedResponseHandler:s,successfulResponseHandler:(0,n.createJsonResponseHandler)(f),abortSignal:e.abortSignal,fetch:this.config.fetch}),_=[],z={},w={},v=!1;for(let e of y.content)switch(e.type){case"text":if(!u){let t=e.citations?.filter(e=>"web_search_result_location"===e.type);if(_.push({type:"text",text:e.text,...null!=t&&t.length>0&&{providerMetadata:{anthropic:{citations:t}}}}),e.citations)for(let t of e.citations){let e=eO(t,h,this.generateId);e&&_.push(e)}}break;case"thinking":_.push({type:"reasoning",text:e.thinking,providerMetadata:{anthropic:{signature:e.signature}}});break;case"redacted_thinking":_.push({type:"reasoning",text:"",providerMetadata:{anthropic:{redactedData:e.data}}});break;case"container_upload":_.push({type:"custom",kind:"anthropic.container_upload",providerMetadata:{anthropic:{fileId:e.file_id}}});break;case"compaction":if(!e.content)break;_.push({type:"text",text:e.content,providerMetadata:{anthropic:{type:"compaction",...null!=e.signature&&{signature:e.signature}}}});break;case"tool_use":u&&"json"===e.name?(v=!0,_.push({type:"text",text:JSON.stringify(e.input)})):null!=e.toolset_name?_.push({type:"tool-call",toolCallId:e.id,toolName:c.toCustomToolName(e.toolset_name),input:JSON.stringify(eA({memberName:e.name,input:e.input})),providerMetadata:{anthropic:{toolsetName:e.toolset_name,...eC(e.caller).providerMetadata?.anthropic}}}):_.push({type:"tool-call",toolCallId:e.id,toolName:e.name,input:JSON.stringify(e.input),...eC(e.caller)});break;case"server_tool_use":if("text_editor_code_execution"===e.name||"bash_code_execution"===e.name)_.push({type:"tool-call",toolCallId:e.id,toolName:c.toCustomToolName("code_execution"),input:JSON.stringify({type:e.name,...e.input}),providerExecuted:!0,...m&&1?{dynamic:!0}:{},...eC(e.caller)});else if("web_search"===e.name||"code_execution"===e.name||"web_fetch"===e.name){let t="code_execution"===e.name&&null!=e.input&&"object"==typeof e.input&&"code"in e.input&&!("type"in e.input)?{type:"programmatic-tool-call",...e.input}:e.input;_.push({type:"tool-call",toolCallId:e.id,toolName:c.toCustomToolName(e.name),input:JSON.stringify(t),providerExecuted:!0,...m&&"code_execution"===e.name?{dynamic:!0}:{},...eC(e.caller)})}else"tool_search_tool_regex"===e.name||"tool_search_tool_bm25"===e.name?(w[e.id]=e.name,_.push({type:"tool-call",toolCallId:e.id,toolName:c.toCustomToolName(e.name),input:JSON.stringify(e.input),providerExecuted:!0,...eC(e.caller)})):"advisor"===e.name&&_.push({type:"tool-call",toolCallId:e.id,toolName:c.toCustomToolName("advisor"),input:JSON.stringify(e.input),providerExecuted:!0,...eC(e.caller)});break;case"mcp_tool_use":z[e.id]={type:"tool-call",toolCallId:e.id,toolName:e.name,input:JSON.stringify(e.input),providerExecuted:!0,dynamic:!0,providerMetadata:{anthropic:{type:"mcp-tool-use",serverName:e.server_name}}},_.push(z[e.id]);break;case"mcp_tool_result":_.push({type:"tool-result",toolCallId:e.tool_use_id,toolName:z[e.tool_use_id].toolName,isError:e.is_error,result:e.content,dynamic:!0,providerMetadata:z[e.tool_use_id].providerMetadata});break;case"web_fetch_tool_result":"web_fetch_result"===e.content.type?(h.push({title:e.content.content.title??e.content.url,mediaType:e.content.content.source.media_type}),_.push({type:"tool-result",toolCallId:e.tool_use_id,toolName:c.toCustomToolName("web_fetch"),result:{type:"web_fetch_result",url:e.content.url,retrievedAt:e.content.retrieved_at,content:{type:e.content.content.type,title:e.content.content.title,citations:e.content.content.citations,source:{type:e.content.content.source.type,mediaType:e.content.content.source.media_type,data:e.content.content.source.data}}},...eC(e.caller)})):"web_fetch_tool_result_error"===e.content.type&&_.push({type:"tool-result",toolCallId:e.tool_use_id,toolName:c.toCustomToolName("web_fetch"),isError:!0,result:{type:"web_fetch_tool_result_error",errorCode:e.content.error_code},...eC(e.caller)});break;case"web_search_tool_result":if(Array.isArray(e.content))for(let t of(_.push({type:"tool-result",toolCallId:e.tool_use_id,toolName:c.toCustomToolName("web_search"),result:e.content.map(e=>({url:e.url,...null!=e.title?{title:e.title}:{},pageAge:e.page_age??null,encryptedContent:e.encrypted_content,type:e.type})),...eC(e.caller)}),e.content))_.push({type:"source",sourceType:"url",id:this.generateId(),url:t.url,...null!=t.title?{title:t.title}:{},providerMetadata:{anthropic:{pageAge:t.page_age??null}}});else _.push({type:"tool-result",toolCallId:e.tool_use_id,toolName:c.toCustomToolName("web_search"),isError:!0,result:{type:"web_search_tool_result_error",errorCode:e.content.error_code},...eC(e.caller)});break;case"code_execution_tool_result":"code_execution_result"===e.content.type?_.push({type:"tool-result",toolCallId:e.tool_use_id,toolName:c.toCustomToolName("code_execution"),result:{type:e.content.type,stdout:e.content.stdout,stderr:e.content.stderr,return_code:e.content.return_code,content:e.content.content??[]}}):"encrypted_code_execution_result"===e.content.type?_.push({type:"tool-result",toolCallId:e.tool_use_id,toolName:c.toCustomToolName("code_execution"),result:{type:e.content.type,encrypted_stdout:e.content.encrypted_stdout,stderr:e.content.stderr,return_code:e.content.return_code,content:e.content.content??[]}}):"code_execution_tool_result_error"===e.content.type&&_.push({type:"tool-result",toolCallId:e.tool_use_id,toolName:c.toCustomToolName("code_execution"),isError:!0,result:{type:"code_execution_tool_result_error",errorCode:e.content.error_code}});break;case"bash_code_execution_tool_result":case"text_editor_code_execution_tool_result":_.push({type:"tool-result",toolCallId:e.tool_use_id,toolName:c.toCustomToolName("code_execution"),result:e.content});break;case"tool_search_tool_result":{let t=w[e.tool_use_id];if(null==t){let e=c.toCustomToolName("tool_search_tool_bm25");c.toCustomToolName("tool_search_tool_regex"),t="tool_search_tool_bm25"!==e?"tool_search_tool_bm25":"tool_search_tool_regex"}"tool_search_tool_search_result"===e.content.type?_.push({type:"tool-result",toolCallId:e.tool_use_id,toolName:c.toCustomToolName(t),result:e.content.tool_references.map(e=>({type:e.type,toolName:e.tool_name}))}):_.push({type:"tool-result",toolCallId:e.tool_use_id,toolName:c.toCustomToolName(t),isError:!0,result:{type:"tool_search_tool_result_error",errorCode:e.content.error_code}});break}case"advisor_tool_result":{let t=c.toCustomToolName("advisor");"advisor_result"===e.content.type?_.push({type:"tool-result",toolCallId:e.tool_use_id,toolName:t,result:{type:"advisor_result",text:e.content.text,...null!=e.content.stop_reason&&{stopReason:e.content.stop_reason}}}):"advisor_redacted_result"===e.content.type?_.push({type:"tool-result",toolCallId:e.tool_use_id,toolName:t,result:{type:"advisor_redacted_result",encryptedContent:e.content.encrypted_content,...null!=e.content.stop_reason&&{stopReason:e.content.stop_reason}}}):_.push({type:"tool-result",toolCallId:e.tool_use_id,toolName:t,isError:!0,result:{type:"advisor_tool_result_error",errorCode:e.content.error_code}})}}return{content:_,finishReason:{unified:ek({finishReason:y.stop_reason,isJsonResponseFromTool:v}),raw:y.stop_reason??void 0},usage:ei({usage:y.usage}),request:{body:i},response:{id:y.id??void 0,modelId:y.model??void 0,headers:g,body:b},warnings:a,providerMetadata:(t=eM(y.stop_details),r={anthropic:o={usage:y.usage,stopSequence:y.stop_sequence??null,...null!=t?{stopDetails:t}:{},...null!=y.input_transformations?{inputTransformations:y.input_transformations}:{},...null!=y.safeguard_results?{safeguardResults:y.safeguard_results}:{},iterations:y.usage.iterations?y.usage.iterations.map(e=>({type:e.type,...null!=e.model?{model:e.model}:{},inputTokens:e.input_tokens,outputTokens:e.output_tokens,...e.cache_creation_input_tokens?{cacheCreationInputTokens:e.cache_creation_input_tokens}:{},...e.cache_read_input_tokens?{cacheReadInputTokens:e.cache_read_input_tokens}:{}})):null,container:y.container?{expiresAt:y.container.expires_at,id:y.container.id,skills:y.container.skills?.map(e=>({type:e.type,skillId:e.skill_id,version:e.version}))??null}:null,contextManagement:e$(y.context_management)??null}},p&&"anthropic"!==d&&(r[d]=o),r)}}async doStream(e){let o,r,i,a,l,u,{args:c,warnings:d,betas:p,usesJsonResponseTool:h,toolNameMapping:m,providerOptionsName:g,usedCustomProviderKey:f}=await this.getArgs({...e,stream:!0,userSuppliedBetas:await this.getBetasFromHeaders(e.headers)}),b=[...this.extractCitationDocuments(e.prompt)],_=eR(c.tools),z=this.buildRequestUrl(!0),{responseHeaders:w,value:v}=await (0,n.postJsonToApi)({url:z,headers:await this.getHeaders({betas:p,headers:e.headers}),body:this.transformRequestBody(c,p),failedResponseHandler:s,successfulResponseHandler:(0,n.createEventSourceResponseHandler)(y),abortSignal:e.abortSignal,fetch:this.config.fetch}),k={unified:"other",raw:void 0},x={input_tokens:0,output_tokens:0,cache_creation_input_tokens:0,cache_read_input_tokens:0,iterations:null},S={},T={},I={},O=null,E=null,C=null,A=!1,j=!1,R=!1,$=this.generateId,[M,N]=v.pipeThrough(new TransformStream({start(e){e.enqueue({type:"stream-start",warnings:d})},transform(s,c){if(R)return;if(e.includeRawChunks&&c.enqueue({type:"raw",rawValue:s.rawValue}),!s.success)return void c.enqueue({type:"error",error:s.error});let d=s.value;switch(d.type){case"ping":return;case"content_block_start":{let e=d.content_block,t=e.type;if("fallback"===t)return;switch(u=t,t){case"text":if(h)return;S[d.index]={type:"text",citations:[]},c.enqueue({type:"text-start",id:String(d.index)});return;case"thinking":S[d.index]={type:"reasoning"},c.enqueue({type:"reasoning-start",id:String(d.index)});return;case"redacted_thinking":S[d.index]={type:"reasoning"},c.enqueue({type:"reasoning-start",id:String(d.index),providerMetadata:{anthropic:{redactedData:e.data}}});return;case"compaction":S[d.index]={type:"text",citations:[]},c.enqueue({type:"text-start",id:String(d.index),providerMetadata:{anthropic:{type:"compaction",...null!=e.signature&&{signature:e.signature}}}}),null!=e.signature&&null!=e.content&&""!==e.content&&c.enqueue({type:"text-delta",id:String(d.index),delta:e.content});return;case"tool_use":if(h&&"json"===e.name)A=!0,S[d.index]={type:"text",citations:[]},c.enqueue({type:"text-start",id:String(d.index)});else if(null!=e.toolset_name){let t=eE(e.caller),n=m.toCustomToolName(e.toolset_name),o=e.input&&Object.keys(e.input).length>0;S[d.index]={type:"tool-call",toolCallId:e.id,toolName:n,input:o?JSON.stringify(e.input):"",firstDelta:!0,toolset:{name:e.toolset_name,memberName:e.name},...t&&{caller:t}},c.enqueue({type:"tool-input-start",id:e.id,toolName:n})}else{let t=eE(e.caller),n=e.input&&Object.keys(e.input).length>0?JSON.stringify(e.input):"";S[d.index]={type:"tool-call",toolCallId:e.id,toolName:e.name,input:n,firstDelta:0===n.length,...t&&{caller:t}},c.enqueue({type:"tool-input-start",id:e.id,toolName:e.name})}return;case"server_tool_use":{let t=eE(e.caller);if(["web_fetch","web_search","code_execution","text_editor_code_execution","bash_code_execution"].includes(e.name)){let n="text_editor_code_execution"===e.name||"bash_code_execution"===e.name?"code_execution":e.name,o="text_editor_code_execution"===e.name||"bash_code_execution"===e.name?e.name:"code_execution"===e.name?"programmatic-tool-call":void 0,r=m.toCustomToolName(n),i=null!=e.input&&"object"==typeof e.input&&Object.keys(e.input).length>0?JSON.stringify(e.input):"";S[d.index]={type:"tool-call",toolCallId:e.id,toolName:r,input:i,providerExecuted:!0,..._&&"code_execution"===n?{dynamic:!0}:{},firstDelta:0===i.length,providerToolName:n,providerToolInputType:o,...t&&{caller:t}},c.enqueue({type:"tool-input-start",id:e.id,toolName:r,providerExecuted:!0,..._&&"code_execution"===n?{dynamic:!0}:{}})}else if("tool_search_tool_regex"===e.name||"tool_search_tool_bm25"===e.name){I[e.id]=e.name;let n=m.toCustomToolName(e.name);S[d.index]={type:"tool-call",toolCallId:e.id,toolName:n,input:"",providerExecuted:!0,firstDelta:!0,providerToolName:e.name,...t&&{caller:t}},c.enqueue({type:"tool-input-start",id:e.id,toolName:n,providerExecuted:!0})}else if("advisor"===e.name){let n=m.toCustomToolName("advisor");S[d.index]={type:"tool-call",toolCallId:e.id,toolName:n,input:"{}",providerExecuted:!0,firstDelta:!0,providerToolName:e.name,...t&&{caller:t}},c.enqueue({type:"tool-input-start",id:e.id,toolName:n,providerExecuted:!0})}return}case"web_fetch_tool_result":"web_fetch_result"===e.content.type?(b.push({title:e.content.content.title??e.content.url,mediaType:e.content.content.source.media_type}),c.enqueue({type:"tool-result",toolCallId:e.tool_use_id,toolName:m.toCustomToolName("web_fetch"),result:{type:"web_fetch_result",url:e.content.url,retrievedAt:e.content.retrieved_at,content:{type:e.content.content.type,title:e.content.content.title,citations:e.content.content.citations,source:{type:e.content.content.source.type,mediaType:e.content.content.source.media_type,data:e.content.content.source.data}}},...eC(e.caller)})):"web_fetch_tool_result_error"===e.content.type&&c.enqueue({type:"tool-result",toolCallId:e.tool_use_id,toolName:m.toCustomToolName("web_fetch"),isError:!0,result:{type:"web_fetch_tool_result_error",errorCode:e.content.error_code},...eC(e.caller)});return;case"web_search_tool_result":if(Array.isArray(e.content))for(let t of(c.enqueue({type:"tool-result",toolCallId:e.tool_use_id,toolName:m.toCustomToolName("web_search"),result:e.content.map(e=>({url:e.url,...null!=e.title?{title:e.title}:{},pageAge:e.page_age??null,encryptedContent:e.encrypted_content,type:e.type})),...eC(e.caller)}),e.content))c.enqueue({type:"source",sourceType:"url",id:$(),url:t.url,...null!=t.title?{title:t.title}:{},providerMetadata:{anthropic:{pageAge:t.page_age??null}}});else c.enqueue({type:"tool-result",toolCallId:e.tool_use_id,toolName:m.toCustomToolName("web_search"),isError:!0,result:{type:"web_search_tool_result_error",errorCode:e.content.error_code},...eC(e.caller)});return;case"code_execution_tool_result":"code_execution_result"===e.content.type?c.enqueue({type:"tool-result",toolCallId:e.tool_use_id,toolName:m.toCustomToolName("code_execution"),result:{type:e.content.type,stdout:e.content.stdout,stderr:e.content.stderr,return_code:e.content.return_code,content:e.content.content??[]}}):"encrypted_code_execution_result"===e.content.type?c.enqueue({type:"tool-result",toolCallId:e.tool_use_id,toolName:m.toCustomToolName("code_execution"),result:{type:e.content.type,encrypted_stdout:e.content.encrypted_stdout,stderr:e.content.stderr,return_code:e.content.return_code,content:e.content.content??[]}}):"code_execution_tool_result_error"===e.content.type&&c.enqueue({type:"tool-result",toolCallId:e.tool_use_id,toolName:m.toCustomToolName("code_execution"),isError:!0,result:{type:"code_execution_tool_result_error",errorCode:e.content.error_code}});return;case"bash_code_execution_tool_result":case"text_editor_code_execution_tool_result":return void c.enqueue({type:"tool-result",toolCallId:e.tool_use_id,toolName:m.toCustomToolName("code_execution"),result:e.content});case"tool_search_tool_result":{let t=I[e.tool_use_id];if(null==t){let e=m.toCustomToolName("tool_search_tool_bm25");m.toCustomToolName("tool_search_tool_regex"),t="tool_search_tool_bm25"!==e?"tool_search_tool_bm25":"tool_search_tool_regex"}"tool_search_tool_search_result"===e.content.type?c.enqueue({type:"tool-result",toolCallId:e.tool_use_id,toolName:m.toCustomToolName(t),result:e.content.tool_references.map(e=>({type:e.type,toolName:e.tool_name}))}):c.enqueue({type:"tool-result",toolCallId:e.tool_use_id,toolName:m.toCustomToolName(t),isError:!0,result:{type:"tool_search_tool_result_error",errorCode:e.content.error_code}});return}case"advisor_tool_result":{let t=m.toCustomToolName("advisor");"advisor_result"===e.content.type?c.enqueue({type:"tool-result",toolCallId:e.tool_use_id,toolName:t,result:{type:"advisor_result",text:e.content.text,...null!=e.content.stop_reason&&{stopReason:e.content.stop_reason}}}):"advisor_redacted_result"===e.content.type?c.enqueue({type:"tool-result",toolCallId:e.tool_use_id,toolName:t,result:{type:"advisor_redacted_result",encryptedContent:e.content.encrypted_content,...null!=e.content.stop_reason&&{stopReason:e.content.stop_reason}}}):c.enqueue({type:"tool-result",toolCallId:e.tool_use_id,toolName:t,isError:!0,result:{type:"advisor_tool_result_error",errorCode:e.content.error_code}});return}case"mcp_tool_use":T[e.id]={type:"tool-call",toolCallId:e.id,toolName:e.name,input:JSON.stringify(e.input),providerExecuted:!0,dynamic:!0,providerMetadata:{anthropic:{type:"mcp-tool-use",serverName:e.server_name}}},c.enqueue(T[e.id]);return;case"mcp_tool_result":return void c.enqueue({type:"tool-result",toolCallId:e.tool_use_id,toolName:T[e.tool_use_id].toolName,isError:e.is_error,result:e.content,dynamic:!0,providerMetadata:T[e.tool_use_id].providerMetadata});default:throw Error(`Unsupported content block type: ${t}`)}}case"content_block_stop":if(null!=S[d.index]){let e=S[d.index];switch(e.type){case"text":c.enqueue({type:"text-end",id:String(d.index),...e.citations.length>0&&{providerMetadata:{anthropic:{citations:e.citations}}}});break;case"reasoning":c.enqueue({type:"reasoning-end",id:String(d.index)});break;case"tool-call":if(!(h&&"json"===e.toolName)){if(null!=e.toolset){let t={};try{t=""===e.input?{}:(0,n.secureJsonParse)(e.input)}catch{t=void 0}e.input=void 0===t?e.input:JSON.stringify(eA({memberName:e.toolset.memberName,input:t})),c.enqueue({type:"tool-input-delta",id:e.toolCallId,delta:e.input})}c.enqueue({type:"tool-input-end",id:e.toolCallId});let t=""===e.input?"{}":e.input;if("code_execution"===e.providerToolName)try{let e=(0,n.secureJsonParse)(t);null!=e&&"object"==typeof e&&"code"in e&&!("type"in e)&&(t=JSON.stringify({type:"programmatic-tool-call",...e}))}catch{}c.enqueue({type:"tool-call",toolCallId:e.toolCallId,toolName:e.toolName,input:t,providerExecuted:e.providerExecuted,..._&&"code_execution"===e.providerToolName?{dynamic:!0}:{},...(e.caller||e.toolset)&&{providerMetadata:{anthropic:{...e.toolset&&{toolsetName:e.toolset.name},...e.caller&&{caller:e.caller}}}}})}}delete S[d.index]}u=void 0;return;case"content_block_delta":{let e=d.delta.type;switch(e){case"text_delta":if(h)return;c.enqueue({type:"text-delta",id:String(d.index),delta:d.delta.text});return;case"thinking_delta":return void c.enqueue({type:"reasoning-delta",id:String(d.index),delta:d.delta.thinking});case"signature_delta":"thinking"===u&&c.enqueue({type:"reasoning-delta",id:String(d.index),delta:"",providerMetadata:{anthropic:{signature:d.delta.signature}}});return;case"compaction_delta":null!=d.delta.content&&c.enqueue({type:"text-delta",id:String(d.index),delta:d.delta.content});return;case"input_json_delta":{let e=S[d.index],t=d.delta.partial_json;if(0===t.length)return;if(A){if(e?.type!=="text")return;c.enqueue({type:"text-delta",id:String(d.index),delta:t})}else{if(e?.type!=="tool-call")return;if(null!=e.toolset){e.input+=t;return}e.firstDelta&&null!=e.providerToolInputType&&(t=`{"type": "${e.providerToolInputType}",${t.substring(1)}`),c.enqueue({type:"tool-input-delta",id:e.toolCallId,delta:t}),e.input+=t,e.firstDelta=!1}return}case"citations_delta":{let e=d.delta.citation,t=S[d.index];t?.type==="text"&&"web_search_result_location"===e.type&&t.citations.push(e);let n=eO(e,b,$);n&&c.enqueue(n);return}default:throw Error(`Unsupported delta type: ${e}`)}}case"message_start":if(j){if(i===d.message.id)return;R=!0,c.enqueue({type:"error",error:new t.InvalidResponseDataError({data:d,message:`Received message_start for message ${JSON.stringify(d.message.id)} while message ${JSON.stringify(i)} is still open.`})});return}if(j=!0,i=d.message.id,x.input_tokens=d.message.usage.input_tokens,x.cache_read_input_tokens=d.message.usage.cache_read_input_tokens??0,x.cache_creation_input_tokens=d.message.usage.cache_creation_input_tokens??0,a={...d.message.usage},null!=d.message.input_transformations&&(o=d.message.input_transformations),null!=d.message.container&&(C={expiresAt:d.message.container.expires_at,id:d.message.container.id,skills:null}),null!=d.message.stop_reason&&(k={unified:ek({finishReason:d.message.stop_reason,isJsonResponseFromTool:A}),raw:d.message.stop_reason}),c.enqueue({type:"response-metadata",id:d.message.id??void 0,modelId:d.message.model??void 0}),null!=d.message.content)for(let e=0;e<d.message.content.length;e++){let t=d.message.content[e];if("tool_use"===t.type){let e=eE(t.caller);c.enqueue({type:"tool-input-start",id:t.id,toolName:t.name});let n=JSON.stringify(t.input??{});c.enqueue({type:"tool-input-delta",id:t.id,delta:n}),c.enqueue({type:"tool-input-end",id:t.id}),c.enqueue({type:"tool-call",toolCallId:t.id,toolName:t.name,input:n,...e&&{providerMetadata:{anthropic:{caller:e}}}})}}return;case"message_delta":null!=d.usage.input_tokens&&x.input_tokens!==d.usage.input_tokens&&(x.input_tokens=d.usage.input_tokens),x.output_tokens=d.usage.output_tokens,null!=d.usage.output_tokens_details&&(x.output_tokens_details=d.usage.output_tokens_details),null!=d.usage.cache_read_input_tokens&&(x.cache_read_input_tokens=d.usage.cache_read_input_tokens),null!=d.usage.cache_creation_input_tokens&&(x.cache_creation_input_tokens=d.usage.cache_creation_input_tokens),null!=d.usage.iterations&&(x.iterations=d.usage.iterations),k={unified:ek({finishReason:d.delta.stop_reason,isJsonResponseFromTool:A}),raw:d.delta.stop_reason??void 0},E=d.delta.stop_sequence??null,l=eM(d.delta.stop_details),C=null!=d.delta.container?{expiresAt:d.delta.container.expires_at,id:d.delta.container.id,skills:d.delta.container.skills?.map(e=>({type:e.type,skillId:e.skill_id,version:e.version}))??null}:null,d.context_management&&(O=e$(d.context_management)),null!=d.input_transformations&&(o=d.input_transformations),null!=d.delta.safeguard_results&&(r=d.delta.safeguard_results),a={...a,...d.usage};return;case"message_stop":{j=!1,i=void 0;let e={usage:a??null,stopSequence:E,...null!=l?{stopDetails:l}:{},...null!=o?{inputTransformations:o}:{},...null!=r?{safeguardResults:r}:{},iterations:x.iterations?x.iterations.map(e=>({type:e.type,...null!=e.model?{model:e.model}:{},inputTokens:e.input_tokens,outputTokens:e.output_tokens,...e.cache_creation_input_tokens?{cacheCreationInputTokens:e.cache_creation_input_tokens}:{},...e.cache_read_input_tokens?{cacheReadInputTokens:e.cache_read_input_tokens}:{}})):null,container:C,contextManagement:O},t={anthropic:e};f&&"anthropic"!==g&&(t[g]=e),c.enqueue({type:"finish",finishReason:k,usage:ei({usage:x,rawUsage:a}),providerMetadata:t});return}case"error":var p;let y;return void c.enqueue({type:"error",error:(y=function(e){switch(e){case"api_error":return{statusCode:500,isRetryable:!0};case"overloaded_error":return{statusCode:529,isRetryable:!0};case"rate_limit_error":return{statusCode:429,isRetryable:!0};case"request_too_large":return{statusCode:413,isRetryable:!1};case"authentication_error":return{statusCode:401,isRetryable:!1};case"permission_error":return{statusCode:403,isRetryable:!1};case"not_found_error":return{statusCode:404,isRetryable:!1};case"billing_error":case"invalid_request_error":return{statusCode:400,isRetryable:!1};default:return{}}}((p=d.error).type),(0,n.createProviderStreamError)({message:p.message,type:p.type,code:p.code??void 0,statusCode:p.statusCode??y.statusCode,isRetryable:p.isRetryable??y.isRetryable,data:"data"in p?p.data:p}))});default:throw Error(`Unsupported chunk type: ${d}`)}}})).tee(),L=M.getReader();try{await L.read();let e=await L.read();if(e.value?.type==="raw"&&(e=await L.read()),e.value?.type==="error"){let o=e.value.error;if(!(0,n.isProviderStreamError)(o))throw Error("Expected a normalized Anthropic stream error");throw new t.APICallError({message:o.message,url:z,requestBodyValues:c,statusCode:o.statusCode??500,responseHeaders:w,responseBody:JSON.stringify(o.data),isRetryable:o.isRetryable??!1})}}finally{L.cancel().catch(()=>{}),L.releaseLock()}return{stream:N,request:{body:c},response:{headers:w}}}};function eR(e){if(!e)return!1;let t=!1,n=!1;for(let o of e){if("type"in o&&("web_fetch_20260209"===o.type||"web_fetch_20260318"===o.type||"web_search_20260209"===o.type||"web_search_20260318"===o.type)){t=!0;continue}if("type"in o&&("code_execution_20250522"===o.type||"code_execution_20250825"===o.type||"code_execution_20260120"===o.type)){n=!0;break}}return t&&!n}function e$(e){return e?{appliedEdits:e.applied_edits.map(e=>{switch(e.type){case"clear_tool_uses_20250919":return{type:e.type,clearedToolUses:e.cleared_tool_uses,clearedInputTokens:e.cleared_input_tokens};case"clear_thinking_20251015":return{type:e.type,clearedThinkingTurns:e.cleared_thinking_turns,clearedInputTokens:e.cleared_input_tokens};case"compact_20260112":return{type:e.type}}}).filter(e=>void 0!==e)}:null}function eM(e){if(null!=e)return{type:e.type,...null!=e.category?{category:e.category}:{},...null!=e.explanation?{explanation:e.explanation}:{},...null!=e.recommended_model?{recommendedModel:e.recommended_model}:{}}}var eN=/^[A-Za-z0-9_-]{1,64}$/,eL=w.pick({anthropicBeta:!0}),eP=()=>r.z.object({id:r.z.string(),type:r.z.literal("message_batch"),processing_status:r.z.string(),request_counts:r.z.object({processing:r.z.number(),succeeded:r.z.number(),errored:r.z.number(),canceled:r.z.number(),expired:r.z.number()}),created_at:r.z.string(),expires_at:r.z.string(),archived_at:r.z.string().nullish(),cancel_initiated_at:r.z.string().nullish(),ended_at:r.z.string().nullish(),results_url:r.z.string().nullish()}),eU=(0,n.lazySchema)(()=>(0,n.zodSchema)(eP())),eq=(0,n.lazySchema)(()=>(0,n.zodSchema)(r.z.object({data:r.z.array(eP()),has_more:r.z.boolean(),last_id:r.z.string().nullish()}))),eD=new Set(["advisor_tool_result","bash_code_execution_tool_result","code_execution_tool_result","compaction","container_upload","fallback","mcp_tool_result","mcp_tool_use","redacted_thinking","server_tool_use","text","text_editor_code_execution_tool_result","thinking","tool_search_tool_result","tool_use","web_fetch_tool_result","web_search_tool_result"]),eF=(0,n.lazySchema)(()=>(0,n.zodSchema)(r.z.discriminatedUnion("type",[r.z.object({type:r.z.literal("succeeded"),message:r.z.unknown()}),r.z.object({type:r.z.literal("errored"),error:r.z.object({type:r.z.literal("error"),error:r.z.object({type:r.z.string(),message:r.z.string()}),request_id:r.z.string().nullish()})}),r.z.object({type:r.z.literal("canceled")}),r.z.object({type:r.z.literal("expired")})]))),eH=(0,n.lazySchema)(()=>(0,n.zodSchema)(r.z.object({custom_id:r.z.string(),result:r.z.unknown()}))),eB=class{constructor(e){this.options=e,this.specificationVersion="v4",this.provider=e.provider,this.supportedUrls=e.supportedUrls,this.generateId=e.config.generateId??n.generateId}async doStartBatch({requests:e,providerOptions:o,headers:r,abortSignal:i,webhookUrl:a}){for(let n of e){let e=n.type;if("text"!==e)throw new t.UnsupportedFunctionalityError({functionality:`batch request type: ${e}`,message:`The Anthropic Message Batches API does not support batch requests with type "${e}".`})}var l=e;let u=new Set;for(let e of l){if(!eN.test(e.id))throw new t.InvalidArgumentError({argument:"requests",message:`Anthropic batch request ID "${e.id}" must match ^[A-Za-z0-9_-]{1,64}$.`});if(u.has(e.id))throw new t.InvalidArgumentError({argument:"requests",message:`Anthropic batch request IDs must be unique; duplicate ID "${e.id}".`});u.add(e.id)}let c=new Set(await eW({provider:this.options.config.provider,providerOptions:o})),d=new Set(c),p=[],h=null==a?[]:[{warning:{type:"unsupported",feature:"webhookUrl",details:"The Anthropic Message Batches API does not support completion webhooks."}}];for(let n of e){if((await eW({provider:this.options.config.provider,providerOptions:n.options.providerOptions})).length>0)throw new t.UnsupportedFunctionalityError({functionality:"per-request providerOptions.anthropic.anthropicBeta",message:`Anthropic Message Batches do not support per-request betas (request "${n.id}"). Set providerOptions.anthropic.anthropicBeta on startBatch instead.`});let e=await ej.prepareRequest({modelId:n.modelId,config:this.options.config,options:{...n.options,stream:!1,userSuppliedBetas:new Set(c)}});if(e.usesJsonResponseTool)throw new t.UnsupportedFunctionalityError({functionality:"batch responseFormat JSON-tool fallback",message:`Anthropic Message Batches cannot decode the JSON-tool structured-output fallback (request "${n.id}") because batch results are retrieved independently of the start call. Use a model that supports native output_format structured outputs.`});let o=n.options.tools?.find(t=>"provider"===t.type&&e.toolNameMapping.toProviderToolName(t.name)!==t.name);if(null!=o)throw new t.UnsupportedFunctionalityError({functionality:"aliased provider tool names in batches",message:`Anthropic Message Batches cannot restore the custom provider-tool name "${o.name}" when results are retrieved independently of the start call (request "${n.id}"). Use the provider's canonical tool name.`});let r=this.options.config.transformRequestBody?.(e.args,e.betas)??e.args;for(let o of(function({body:e,requestId:n}){if(null!=e.speed)throw new t.UnsupportedFunctionalityError({functionality:"providerOptions.anthropic.speed",message:`Anthropic Message Batches do not support speed (request "${n}").`});if(Array.isArray(e.fallbacks)&&e.fallbacks.some(e=>null!=e&&"object"==typeof e&&"speed"in e&&null!=e.speed))throw new t.UnsupportedFunctionalityError({functionality:"providerOptions.anthropic.fallbacks[].speed",message:`Anthropic Message Batches do not support fallback speed (request "${n}").`})}({body:r,requestId:n.id}),p.push({custom_id:n.id,params:r}),e.betas))d.add(o);for(let t of e.warnings)h.push({requestId:n.id,warning:t})}let{value:m}=await (0,n.postJsonToApi)({url:this.getBatchUrl(""),headers:await this.getStartBatchHeaders({betas:d,headers:r}),body:{requests:p},failedResponseHandler:s,successfulResponseHandler:(0,n.createJsonResponseHandler)(eU),abortSignal:i,fetch:this.options.config.fetch});return{batchId:m.id,...eK(m),warnings:h}}async doGetBatchStatus(e){return eK(await this.retrieveBatch(e))}async doCancelBatch(e){return await (0,n.postJsonToApi)({url:this.getBatchUrl(`/${encodeURIComponent(e.batchId)}/cancel`),headers:await this.getBatchHeaders(e.headers),body:{},failedResponseHandler:s,successfulResponseHandler:(0,n.createJsonResponseHandler)(eU),abortSignal:e.abortSignal,fetch:this.options.config.fetch}),{}}async doListBatches(e){let t=new URL(this.getBatchUrl(""));null!=e.limit&&t.searchParams.set("limit",String(e.limit)),null!=e.cursor&&t.searchParams.set("after_id",e.cursor);let{value:o}=await (0,n.getFromApi)({url:t.toString(),validateUrl:!1,headers:await this.getBatchHeaders(e.headers),failedResponseHandler:s,successfulResponseHandler:(0,n.createJsonResponseHandler)(eq),abortSignal:e.abortSignal,fetch:this.options.config.fetch});return{batches:o.data.map(e=>({batchId:e.id,...eK(e)})),...o.has_more&&null!=o.last_id?{nextCursor:o.last_id}:{}}}async doGetBatchResults(e){let o=await this.retrieveBatch(e);if("pending"===eK(o).status)throw new t.InvalidArgumentError({argument:"batchId",message:`Anthropic batch "${e.batchId}" is not complete.`});if(null!=o.archived_at)throw new t.InvalidArgumentError({argument:"batchId",message:`Anthropic batch "${e.batchId}" results are no longer available.`});if(null==o.results_url)throw new t.InvalidResponseDataError({data:o,message:`Anthropic batch "${e.batchId}" completed without batch output.`});let{value:r}=await (0,n.getFromApi)({url:o.results_url,validateUrl:!0,credentialedOrigin:this.options.config.baseURL,trustedOrigin:this.options.config.baseURL,headers:await this.getBatchHeaders(e.headers),failedResponseHandler:s,successfulResponseHandler:(0,n.createJsonLinesResponseHandler)(eH),abortSignal:e.abortSignal,fetch:this.options.config.fetch});return(0,n.convertAsyncIteratorToReadableStream)(this.iterateBatchResults(r))}async retrieveBatch(e){let{value:t}=await (0,n.getFromApi)({url:this.getBatchUrl(`/${encodeURIComponent(e.batchId)}`),validateUrl:!1,headers:await this.getBatchHeaders(e.headers),failedResponseHandler:s,successfulResponseHandler:(0,n.createJsonResponseHandler)(eU),abortSignal:e.abortSignal,fetch:this.options.config.fetch});return t}async *iterateBatchResults(e){for await(let t of e)yield await eV(t,this.generateId)}getBatchUrl(e){return`${this.options.config.baseURL}/messages/batches${e}`}async getStartBatchHeaders({betas:e,headers:t}){return(0,n.combineHeaders)((0,n.normalizeHeaders)(await this.getBatchHeaders(t)),{"anthropic-beta":e.size>0?Array.from(e).join(","):void 0})}async getBatchHeaders(e){return(0,n.combineHeaders)(this.options.config.headers?await (0,n.resolve)(this.options.config.headers):void 0,e)}};async function eW({provider:e,providerOptions:t}){let o=e.split(".")[0];return Object.assign({},await (0,n.parseProviderOptions)({provider:"anthropic",providerOptions:t,schema:eL})??{},("anthropic"!==o?await (0,n.parseProviderOptions)({provider:o,providerOptions:t,schema:eL}):void 0)??{}).anthropicBeta??[]}function eK(e){var t;let o=(t=e.request_counts,(0,n.normalizeBatchRequestCounts)({total:t.processing+t.succeeded+t.errored+t.canceled+t.expired,pending:t.processing,completed:t.succeeded,failed:t.errored+t.canceled+t.expired}));return{status:"ended"===e.processing_status?"completed":"pending",rawStatus:e.processing_status,...null!=o?{requestCounts:o}:{},createdAt:e.created_at,expiresAt:e.expires_at,providerMetadata:{anthropic:{archivedAt:e.archived_at??null,cancelInitiatedAt:e.cancel_initiated_at??null,endedAt:e.ended_at??null,requestCounts:e.request_counts,resultsUrl:e.results_url??null}}}}async function eV(e,t){let o=await (0,n.safeValidateTypes)({value:e.result,schema:eF});if(!o.success)return eJ(e.custom_id);let r=o.value;switch(r.type){case"canceled":return{type:"text",id:e.custom_id,status:"cancelled"};case"expired":return{type:"text",id:e.custom_id,status:"expired"};case"errored":{let t=r.error.request_id;return{type:"text",id:e.custom_id,status:"failed",error:{message:r.error.error.message,type:r.error.error.type},...null!=t?{providerMetadata:{anthropic:{requestId:t}}}:{}}}case"succeeded":{let n=await eG(r.message);if(null==n)return eJ(e.custom_id);return{type:"text",id:e.custom_id,status:"succeeded",result:function(e,t){var n,o;let r,i=[],a={},s={};for(let n of e.content)switch(n.type){case"text":let e=n.citations;for(let o of(i.push({type:"text",text:n.text,...null!=e&&e.length>0&&{providerMetadata:{anthropic:{citations:e}}}}),n.citations??[])){let e=eO(o,[],t);null!=e&&i.push(e)}break;case"thinking":i.push({type:"reasoning",text:n.thinking,providerMetadata:{anthropic:{signature:n.signature}}});break;case"redacted_thinking":i.push({type:"reasoning",text:"",providerMetadata:{anthropic:{redactedData:n.data}}});break;case"container_upload":i.push({type:"custom",kind:"anthropic.container_upload",providerMetadata:{anthropic:{fileId:n.file_id}}});break;case"compaction":if(!n.content)break;i.push({type:"text",text:n.content,providerMetadata:{anthropic:{type:"compaction",...null!=n.signature&&{signature:n.signature}}}});break;case"tool_use":i.push({type:"tool-call",toolCallId:n.id,toolName:n.name,input:JSON.stringify(n.input),...eY(n.caller)});break;case"server_tool_use":{let e="bash_code_execution"===n.name||"text_editor_code_execution"===n.name,t=e||"code_execution"===n.name,o=e?"code_execution":n.name;("tool_search_tool_bm25"===n.name||"tool_search_tool_regex"===n.name)&&(s[n.id]=n.name),i.push({type:"tool-call",toolCallId:n.id,toolName:o,input:JSON.stringify(e?{type:n.name,...n.input}:"code_execution"===n.name&&null!=n.input&&"code"in n.input&&!("type"in n.input)?{type:"programmatic-tool-call",...n.input}:n.input),providerExecuted:!0,...t?{dynamic:!0}:{},...eY(n.caller)});break}case"mcp_tool_use":{let e={type:"tool-call",toolCallId:n.id,toolName:n.name,input:JSON.stringify(n.input),providerExecuted:!0,dynamic:!0,providerMetadata:{anthropic:{serverName:n.server_name,type:"mcp-tool-use"}}};a[n.id]=e,i.push(e);break}case"mcp_tool_result":{let e=a[n.tool_use_id];i.push({type:"tool-result",toolCallId:n.tool_use_id,toolName:e?.toolName??"mcp",isError:n.is_error,result:n.content,dynamic:!0,...e?.providerMetadata!=null&&{providerMetadata:e.providerMetadata}});break}case"web_fetch_tool_result":i.push({type:"tool-result",toolCallId:n.tool_use_id,toolName:"web_fetch",..."web_fetch_tool_result_error"===n.content.type?{isError:!0,result:{errorCode:n.content.error_code,type:n.content.type}}:{result:{content:{citations:n.content.content.citations,source:{data:n.content.content.source.data,mediaType:n.content.content.source.media_type,type:n.content.content.source.type},title:n.content.content.title,type:n.content.content.type},retrievedAt:n.content.retrieved_at,type:n.content.type,url:n.content.url}},...eY(n.caller)});break;case"web_search_tool_result":if(i.push({type:"tool-result",toolCallId:n.tool_use_id,toolName:"web_search",...Array.isArray(n.content)?{result:n.content.map(e=>({encryptedContent:e.encrypted_content,pageAge:e.page_age??null,...null!=e.title?{title:e.title}:{},type:e.type,url:e.url}))}:{isError:!0,result:{errorCode:n.content.error_code,type:n.content.type}},...eY(n.caller)}),Array.isArray(n.content))for(let e of n.content)i.push({type:"source",sourceType:"url",id:t(),url:e.url,...null!=e.title?{title:e.title}:{},providerMetadata:{anthropic:{pageAge:e.page_age??null}}});break;case"code_execution_tool_result":i.push({type:"tool-result",toolCallId:n.tool_use_id,toolName:"code_execution",..."code_execution_tool_result_error"===n.content.type?{isError:!0,result:{errorCode:n.content.error_code,type:n.content.type}}:{result:n.content}});break;case"bash_code_execution_tool_result":case"text_editor_code_execution_tool_result":i.push({type:"tool-result",toolCallId:n.tool_use_id,toolName:"code_execution",result:n.content});break;case"tool_search_tool_result":{let e=s[n.tool_use_id]??"tool_search_tool_regex";i.push({type:"tool-result",toolCallId:n.tool_use_id,toolName:e,..."tool_search_tool_result_error"===n.content.type?{isError:!0,result:{errorCode:n.content.error_code,type:n.content.type}}:{result:n.content.tool_references.map(e=>({toolName:e.tool_name,type:e.type}))}});break}case"advisor_tool_result":"advisor_result"===n.content.type?i.push({type:"tool-result",toolCallId:n.tool_use_id,toolName:"advisor",result:{type:n.content.type,text:n.content.text,...null!=n.content.stop_reason?{stopReason:n.content.stop_reason}:{}}}):"advisor_redacted_result"===n.content.type?i.push({type:"tool-result",toolCallId:n.tool_use_id,toolName:"advisor",result:{type:n.content.type,encryptedContent:n.content.encrypted_content,...null!=n.content.stop_reason?{stopReason:n.content.stop_reason}:{}}}):i.push({type:"tool-result",toolCallId:n.tool_use_id,toolName:"advisor",isError:!0,result:{errorCode:n.content.error_code,type:n.content.type}})}return{content:i,finishReason:{unified:ek({finishReason:e.stop_reason}),raw:e.stop_reason??void 0},usage:ei({usage:e.usage}),response:{id:e.id??void 0,modelId:e.model??void 0},warnings:[],providerMetadata:{anthropic:(r=function(e){if(null!=e)return{type:e.type,...null!=e.category?{category:e.category}:{},...null!=e.explanation?{explanation:e.explanation}:{},...null!=e.recommended_model?{recommendedModel:e.recommended_model}:{}}}((n=e).stop_details),{usage:n.usage,stopSequence:n.stop_sequence??null,...null!=r?{stopDetails:r}:{},...null!=n.input_transformations?{inputTransformations:n.input_transformations}:{},...null!=n.safeguard_results?{safeguardResults:n.safeguard_results}:{},iterations:n.usage.iterations?n.usage.iterations.map(e=>({type:e.type,...null!=e.model?{model:e.model}:{},inputTokens:e.input_tokens,outputTokens:e.output_tokens,...e.cache_creation_input_tokens?{cacheCreationInputTokens:e.cache_creation_input_tokens}:{},...e.cache_read_input_tokens?{cacheReadInputTokens:e.cache_read_input_tokens}:{}})):null,container:n.container?{expiresAt:n.container.expires_at,id:n.container.id,skills:n.container.skills?.map(e=>({type:e.type,skillId:e.skill_id,version:e.version}))??null}:null,contextManagement:(o=n.context_management)?{appliedEdits:o.applied_edits.map(e=>{switch(e.type){case"clear_tool_uses_20250919":return{type:e.type,clearedToolUses:e.cleared_tool_uses,clearedInputTokens:e.cleared_input_tokens};case"clear_thinking_20251015":return{type:e.type,clearedThinkingTurns:e.cleared_thinking_turns,clearedInputTokens:e.cleared_input_tokens};case"compact_20260112":return{type:e.type}}})}:null})}}}(n,t)}}}}function eJ(e){return{type:"text",id:e,status:"failed",error:{message:"Anthropic returned an invalid Message batch result.",code:"invalid_response"}}}async function eG(e){let t=await (0,n.safeValidateTypes)({value:e,schema:f});if(t.success)return t.value;if(!(0,n.isRecord)(e)||!Array.isArray(e.content))return;let o=[];for(let t of e.content){let r=await (0,n.safeValidateTypes)({value:{...e,content:[t]},schema:f});if(r.success){let[e]=r.value.content;null!=e&&o.push(e)}else if(!(0,n.isRecord)(t)||"string"!=typeof t.type||eD.has(t.type))return}let r=await (0,n.safeValidateTypes)({value:{...e,content:o},schema:f});return r.success?r.value:void 0}function eY(e){return null==e?{}:{providerMetadata:{anthropic:{caller:{type:e.type,toolId:e.tool_id}}}}}var eZ=(0,n.lazySchema)(()=>(0,n.zodSchema)(r.z.object({command:r.z.string(),restart:r.z.boolean().optional()}))),eX=(0,n.createProviderDefinedToolFactory)({id:"anthropic.bash_20241022",inputSchema:eZ}),eQ=(0,n.lazySchema)(()=>(0,n.zodSchema)(r.z.object({command:r.z.string(),restart:r.z.boolean().optional()}))),e0=(0,n.createProviderDefinedToolFactory)({id:"anthropic.bash_20250124",inputSchema:eQ}),e1=(0,n.lazySchema)(()=>(0,n.zodSchema)(r.z.object({action:r.z.enum(["key","type","mouse_move","left_click","left_click_drag","right_click","middle_click","double_click","screenshot","cursor_position"]),coordinate:r.z.array(r.z.number().int()).optional(),text:r.z.string().optional()}))),e2=(0,n.createProviderDefinedToolFactory)({id:"anthropic.computer_20241022",inputSchema:e1}),e4=(0,n.lazySchema)(()=>(0,n.zodSchema)(r.z.object({action:r.z.enum(["key","hold_key","type","cursor_position","mouse_move","left_mouse_down","left_mouse_up","left_click","left_click_drag","right_click","middle_click","double_click","triple_click","scroll","wait","screenshot"]),coordinate:r.z.tuple([r.z.number().int(),r.z.number().int()]).optional(),duration:r.z.number().optional(),scroll_amount:r.z.number().optional(),scroll_direction:r.z.enum(["up","down","left","right"]).optional(),start_coordinate:r.z.tuple([r.z.number().int(),r.z.number().int()]).optional(),text:r.z.string().optional()}))),e3=(0,n.createProviderDefinedToolFactory)({id:"anthropic.computer_20250124",inputSchema:e4}),e5=(0,n.lazySchema)(()=>(0,n.zodSchema)(r.z.object({action:r.z.enum(["key","hold_key","type","cursor_position","mouse_move","left_mouse_down","left_mouse_up","left_click","left_click_drag","right_click","middle_click","double_click","triple_click","scroll","wait","screenshot","zoom"]),coordinate:r.z.tuple([r.z.number().int(),r.z.number().int()]).optional(),duration:r.z.number().optional(),region:r.z.tuple([r.z.number().int(),r.z.number().int(),r.z.number().int(),r.z.number().int()]).optional(),scroll_amount:r.z.number().optional(),scroll_direction:r.z.enum(["up","down","left","right"]).optional(),start_coordinate:r.z.tuple([r.z.number().int(),r.z.number().int()]).optional(),text:r.z.string().optional()}))),e6=(0,n.createProviderDefinedToolFactory)({id:"anthropic.computer_20251124",inputSchema:e5}),e9=(0,n.lazySchema)(()=>(0,n.zodSchema)(r.z.discriminatedUnion("command",[r.z.object({command:r.z.literal("view"),path:r.z.string(),view_range:r.z.tuple([r.z.number(),r.z.number()]).optional()}),r.z.object({command:r.z.literal("create"),path:r.z.string(),file_text:r.z.string()}),r.z.object({command:r.z.literal("str_replace"),path:r.z.string(),old_str:r.z.string(),new_str:r.z.string()}),r.z.object({command:r.z.literal("insert"),path:r.z.string(),insert_line:r.z.number(),insert_text:r.z.string()}),r.z.object({command:r.z.literal("delete"),path:r.z.string()}),r.z.object({command:r.z.literal("rename"),old_path:r.z.string(),new_path:r.z.string()})]))),e8=(0,n.createProviderDefinedToolFactory)({id:"anthropic.memory_20250818",inputSchema:e9}),e7=(0,n.lazySchema)(()=>(0,n.zodSchema)(r.z.object({command:r.z.enum(["view","create","str_replace","insert","undo_edit"]),path:r.z.string(),file_text:r.z.string().optional(),insert_line:r.z.number().int().optional(),new_str:r.z.string().optional(),insert_text:r.z.string().optional(),old_str:r.z.string().optional(),view_range:r.z.array(r.z.number().int()).optional()}))),te=(0,n.createProviderDefinedToolFactory)({id:"anthropic.text_editor_20241022",inputSchema:e7}),tt=(0,n.lazySchema)(()=>(0,n.zodSchema)(r.z.object({command:r.z.enum(["view","create","str_replace","insert","undo_edit"]),path:r.z.string(),file_text:r.z.string().optional(),insert_line:r.z.number().int().optional(),new_str:r.z.string().optional(),insert_text:r.z.string().optional(),old_str:r.z.string().optional(),view_range:r.z.array(r.z.number().int()).optional()}))),tn=(0,n.createProviderDefinedToolFactory)({id:"anthropic.text_editor_20250124",inputSchema:tt}),to=(0,n.lazySchema)(()=>(0,n.zodSchema)(r.z.object({command:r.z.enum(["view","create","str_replace","insert"]),path:r.z.string(),file_text:r.z.string().optional(),insert_line:r.z.number().int().optional(),new_str:r.z.string().optional(),insert_text:r.z.string().optional(),old_str:r.z.string().optional(),view_range:r.z.array(r.z.number().int()).optional()}))),tr=(0,n.createProviderDefinedToolFactory)({id:"anthropic.text_editor_20250429",inputSchema:to}),ti=(0,n.lazySchema)(()=>(0,n.zodSchema)(r.z.array(r.z.object({type:r.z.literal("tool_reference"),toolName:r.z.string()})))),ta=(0,n.lazySchema)(()=>(0,n.zodSchema)(r.z.object({query:r.z.string(),limit:r.z.number().optional()}))),ts=(0,n.createProviderExecutedToolFactory)({id:"anthropic.tool_search_bm25_20251119",inputSchema:ta,outputSchema:ti,supportsDeferredResults:!0}),tl={advisor_20260301:e=>T(e),bash_20241022:function(e={}){let{execute:t,...n}=e;return void 0===t?eX({...n,execute:async({command:e},{abortSignal:t,experimental_sandbox:n})=>{if(!n)throw Error("Sandbox session is not available");return await n.run({command:e,abortSignal:t})}}):eX({...n,...null===t?{}:{execute:t}})},bash_20250124:function(e={}){let{execute:t,...n}=e;return void 0===t?e0({...n,execute:async({command:e},{abortSignal:t,experimental_sandbox:n})=>{if(!n)throw Error("Sandbox session is not available");return await n.run({command:e,abortSignal:t})}}):e0({...n,...null===t?{}:{execute:t}})},codeExecution_20250522:(e={})=>el(e),codeExecution_20250825:(e={})=>(0,n.experimental_toolCaller)(ed(e),{type:"provider",prepareProviderOptions:e=>{let t=e?.anthropic;return{...e,anthropic:{...t,allowedCallers:[...new Set([...t?.allowedCallers??[],"code_execution_20250825"])]}}}}),codeExecution_20260120:(e={})=>(0,n.experimental_toolCaller)(em(e),{type:"provider",prepareProviderOptions:e=>{let t=e?.anthropic;return{...e,anthropic:{...t,allowedCallers:[...new Set([...t?.allowedCallers??[],"code_execution_20260120"])]}}}}),computer_20241022:e2,computer_20250124:e3,computer_20251124:e6,computerToolset_20260801:C,memory_20250818:e8,textEditor_20241022:te,textEditor_20250124:tn,textEditor_20250429:tr,textEditor_20250728:(e={})=>R(e),webFetch_20250910:(e={})=>eo(e),webFetch_20260209:(e={})=>Q(e),webFetch_20260318:(e={})=>G(e),webSearch_20250305:(e={})=>W(e),webSearch_20260209:(e={})=>D(e),webSearch_20260318:(e={})=>L(e),toolSearchRegex_20251119:(e={})=>ey(e),toolSearchBm25_20251119:(e={})=>ts(e)},tu=(0,n.lazySchema)(()=>(0,n.zodSchema)(r.z.object({id:r.z.string(),display_title:r.z.string().nullish(),name:r.z.string().nullish(),description:r.z.string().nullish(),latest_version:r.z.string().nullish(),source:r.z.string(),created_at:r.z.string(),updated_at:r.z.string()})));(0,n.lazySchema)(()=>(0,n.zodSchema)(r.z.object({data:r.z.array(r.z.object({version:r.z.string()}))})));var tc=(0,n.lazySchema)(()=>(0,n.zodSchema)(r.z.object({type:r.z.string(),skill_id:r.z.string(),name:r.z.string().nullish(),description:r.z.string().nullish()})));function td(e){let t=encodeURIComponent(e);return"."===t?"%252E":".."===t?"%252E%252E":t}var tp=class{constructor(e){this.config=e,this.specificationVersion="v4"}get provider(){return this.config.provider}async getHeaders(){return(0,n.combineHeaders)(await (0,n.resolve)(this.config.headers),{"anthropic-beta":"skills-2025-10-02"})}async fetchVersionMetadata({skillId:e,version:t,headers:o}){let{value:r}=await (0,n.getFromApi)({url:`${this.config.baseURL}/skills/${td(e)}/versions/${td(t)}`,validateUrl:!1,headers:o,failedResponseHandler:s,successfulResponseHandler:(0,n.createJsonResponseHandler)(tc),fetch:this.config.fetch});return{...null!=r.name?{name:r.name}:{},...null!=r.description?{description:r.description}:{}}}async uploadSkill(e){let t=new FormData;for(let o of(null!=e.displayTitle&&t.append("display_title",e.displayTitle),e.files)){let e=(0,n.convertInlineFileDataToUint8Array)(o.data);t.append("files[]",new Blob([e]),o.path)}let o=await this.getHeaders(),{value:r}=await (0,n.postFormDataToApi)({url:`${this.config.baseURL}/skills`,headers:o,formData:t,failedResponseHandler:s,successfulResponseHandler:(0,n.createJsonResponseHandler)(tu),fetch:this.config.fetch}),i=null!=r.latest_version?await this.fetchVersionMetadata({skillId:r.id,version:r.latest_version,headers:o}):{},a=i.name??r.name,l=i.description??r.description;return{providerReference:{anthropic:r.id},...null!=r.display_title?{displayTitle:r.display_title}:{},...null!=a?{name:a}:{},...null!=l?{description:l}:{},...null!=r.latest_version?{latestVersion:r.latest_version}:{},providerMetadata:{anthropic:{...null!=r.source?{source:r.source}:{},...null!=r.created_at?{createdAt:r.created_at}:{},...null!=r.updated_at?{updatedAt:r.updated_at}:{}}},warnings:[]}}},th="https://api.anthropic.com",tm=`${th}/v1`;function tg(e={}){var r;let i,a=(r=(0,n.loadOptionalSetting)({settingValue:e.baseURL,environmentVariableName:"ANTHROPIC_BASE_URL"}),((i=(0,n.withoutTrailingSlash)((0,n.validateBaseURL)(r)))===th?tm:i)??tm),s=e.name??"anthropic.messages",l={"image/*":[/^https?:\/\/.*$/],"application/pdf":[/^https?:\/\/.*$/]};if(e.apiKey&&e.authToken)throw new t.InvalidArgumentError({argument:"apiKey/authToken",message:"Both apiKey and authToken were provided. Please use only one authentication method."});let c=()=>{let t=e.authToken?{Authorization:`Bearer ${e.authToken}`}:{"x-api-key":(0,n.loadApiKey)({apiKey:e.apiKey,environmentVariableName:"ANTHROPIC_API_KEY",description:"Anthropic"})};return(0,n.withUserAgentSuffix)({"anthropic-version":"2023-06-01",...t,...e.headers},"ai-sdk/anthropic/4.0.65")},d={provider:s,baseURL:a,headers:c,fetch:e.fetch,generateId:e.generateId??n.generateId,supportedUrls:()=>l},p=e=>new ej(e,d),h=function(e){if(new.target)throw Error("The Anthropic model function cannot be called with the new keyword.");return p(e)};return h.specificationVersion="v4",h.languageModel=p,h.chat=p,h.messages=p,h.evaluationModel=e=>new o.Experimental_EvaluationLanguageModel({model:p(e),provider:`${s.replace(/\.messages$/,"")}.evaluation`}),h.experimental_batch=()=>new eB({provider:`${s.replace(/\.messages$/,"")}.batch`,config:d,supportedUrls:l}),h.embeddingModel=e=>{throw new t.NoSuchModelError({modelId:e,modelType:"embeddingModel"})},h.textEmbeddingModel=h.embeddingModel,h.imageModel=e=>{throw new t.NoSuchModelError({modelId:e,modelType:"imageModel"})},h.files=()=>new u({provider:s,baseURL:a,headers:c,fetch:e.fetch}),h.skills=()=>new tp({provider:`${s.replace(".messages","")}.skills`,baseURL:a,headers:c,fetch:e.fetch}),h.tools=tl,h}tg(),e.s(["createAnthropic",0,tg])},788147,e=>{"use strict";var t=e.i(296194),n=e.i(691296),o=e.i(548874),r=e.i(853205);function i(e){return e.replace(/[_-]([a-z])/g,e=>e[1].toUpperCase())}function a({rawName:e,providerOptions:t,warnings:n}){let o=i(e);o!==e&&t?.[e]!=null&&n.push({type:"deprecated",setting:`providerOptions key '${e}'`,message:`Use '${o}' instead.`})}var s={errorSchema:r.z.object({error:r.z.object({message:r.z.string(),type:r.z.string().nullish(),param:r.z.any().nullish(),code:r.z.union([r.z.string(),r.z.number()]).nullish()})}),errorToMessage:e=>e.error.message};function l(e){return e?.providerOptions?.openaiCompatible??{}}function u({id:e,model:t,created:o}){return(0,n.createLanguageModelResponseMetadata)({id:e,model:t,created:o||void 0})}function c(e){switch(e){case"stop":return"stop";case"length":return"length";case"content_filter":return"content-filter";case"function_call":case"tool_calls":return"tool-calls";default:return"other"}}var d=r.z.object({user:r.z.string().optional(),reasoningEffort:r.z.string().optional(),textVerbosity:r.z.string().optional(),strictJsonSchema:r.z.boolean().optional()}),p=class e{constructor(e,t){this.specificationVersion="v4",this.modelId=e,this.config=t;const o=t.errorStructure??s;this.chunkSchema=b(o.errorSchema),this.failedResponseHandler=(0,n.createJsonErrorResponseHandler)(o),this.supportsStructuredOutputs=t.supportsStructuredOutputs??!1}static[o.WORKFLOW_SERIALIZE](e){return(0,n.serializeModelOptions)({modelId:e.modelId,config:e.config})}static[o.WORKFLOW_DESERIALIZE](t){return new e(t.modelId,t.config)}get provider(){return this.config.provider}get providerOptionsName(){return this.config.provider.split(".")[0].trim()}get supportedUrls(){return this.config.supportedUrls?.()??{}}transformRequestBody(e){return this.config.transformRequestBody?.(e)??e}convertUsage(e){return this.config.convertUsage?.(e)??function(e){if(null==e)return(0,n.createNullLanguageModelUsage)();let t=e.prompt_tokens??0,o=e.completion_tokens??0,r=e.prompt_tokens_details?.cached_tokens??0,i=e.completion_tokens_details?.reasoning_tokens??0;return{inputTokens:{total:t,noCache:t-r,cacheRead:r,cacheWrite:void 0},outputTokens:{total:o,text:Math.max(0,o-i),reasoning:i},raw:e}}(e)}async getArgs({prompt:e,maxOutputTokens:o,temperature:r,topP:s,topK:u,frequencyPenalty:c,presencePenalty:p,reasoning:h,providerOptions:m,stopSequences:g,responseFormat:f,seed:y,toolChoice:b,tools:_}){var z;let w,v=[],k=await (0,n.parseProviderOptions)({provider:"openai-compatible",providerOptions:m,schema:d});null!=k&&v.push({type:"deprecated",setting:"providerOptions key 'openai-compatible'",message:"Use 'openaiCompatible' instead."}),a({rawName:this.providerOptionsName,providerOptions:m,warnings:v});let x=Object.assign(k??{},await (0,n.parseProviderOptions)({provider:"openaiCompatible",providerOptions:m,schema:d})??{},await (0,n.parseProviderOptions)({provider:this.providerOptionsName,providerOptions:m,schema:d})??{},await (0,n.parseProviderOptions)({provider:i(this.providerOptionsName),providerOptions:m,schema:d})??{}),S=x?.strictJsonSchema??!0;null!=u&&v.push({type:"unsupported",feature:"topK"}),f?.type!=="json"||null==f.schema||this.supportsStructuredOutputs||v.push({type:"unsupported",feature:"responseFormat",details:"JSON response format schema is only supported with structuredOutputs"});let{tools:T,toolChoice:I,toolWarnings:O}=function({tools:e,toolChoice:n}){e=e?.length?e:void 0;let o=[];if(null==e)return{tools:void 0,toolChoice:void 0,toolWarnings:o};let r=[];for(let t of e)"provider"===t.type?o.push({type:"unsupported",feature:`provider-defined tool ${t.id}`}):r.push({type:"function",function:{name:t.name,description:t.description,parameters:t.inputSchema,...null!=t.strict?{strict:t.strict}:{}}});if(null==n)return{tools:r,toolChoice:void 0,toolWarnings:o};let i=n.type;switch(i){case"auto":case"none":case"required":return{tools:r,toolChoice:i,toolWarnings:o};case"tool":return{tools:r,toolChoice:{type:"function",function:{name:n.toolName}},toolWarnings:o};default:throw new t.UnsupportedFunctionalityError({functionality:`tool choice type: ${i}`})}}({tools:_,toolChoice:b}),E=(z=this.providerOptionsName,(w=i(z))!==z&&m?.[w]!=null?w:z);return{metadataKey:E,args:{model:this.modelId,user:x.user,max_tokens:o,temperature:r,top_p:s,frequency_penalty:c,presence_penalty:p,response_format:f?.type==="json"?!0===this.supportsStructuredOutputs&&null!=f.schema?{type:"json_schema",json_schema:{schema:f.schema,strict:S,name:f.name??"response",description:f.description}}:{type:"json_object"}:void 0,stop:g,seed:y,...Object.fromEntries(Object.entries({...m?.[this.providerOptionsName],...m?.[i(this.providerOptionsName)]}).filter(([e])=>!Object.keys(d.shape).includes(e))),reasoning_effort:x.reasoningEffort??((0,n.isCustomReasoning)(h)?h:void 0),verbosity:x.textVerbosity,messages:function(e,{providerOptionsKey:o="google"}={}){let r=[];for(let{role:i,content:a,...s}of e){let e=l({...s});switch(i){case"system":r.push({role:"system",content:a,...e});break;case"user":if(1===a.length&&"text"===a[0].type){r.push({role:"user",content:a[0].text,...l(a[0])});break}r.push({role:"user",content:a.map(e=>{let o=l(e);switch(e.type){case"text":return{type:"text",text:e.text,...o};case"file":switch(e.data.type){case"reference":throw new t.UnsupportedFunctionalityError({functionality:"file parts with provider references"});case"text":throw new t.UnsupportedFunctionalityError({functionality:"text file parts"});case"url":case"data":{let r=(0,n.getTopLevelMediaType)(e.mediaType);if("image"===r)return{type:"image_url",image_url:{url:"url"===e.data.type?e.data.url.toString():`data:${(0,n.resolveFullMediaType)({part:e})};base64,${(0,n.convertToBase64)(e.data.data)}`},...o};if("video"===r)return{type:"video_url",video_url:{url:"url"===e.data.type?e.data.url.toString():`data:${(0,n.resolveFullMediaType)({part:e})};base64,${(0,n.convertToBase64)(e.data.data)}`},...o};if("audio"===r){if("url"===e.data.type)throw new t.UnsupportedFunctionalityError({functionality:"audio file parts with URLs"});let r=(0,n.resolveFullMediaType)({part:e}),i=function(e){switch(e){case"audio/wav":return"wav";case"audio/mp3":case"audio/mpeg":return"mp3";default:return null}}(r);if(null===i)throw new t.UnsupportedFunctionalityError({functionality:`audio media type ${r}`});return{type:"input_audio",input_audio:{data:(0,n.convertToBase64)(e.data.data),format:i},...o}}if("application"===r){if("url"===e.data.type)throw new t.UnsupportedFunctionalityError({functionality:"PDF file parts with URLs"});let r=(0,n.resolveFullMediaType)({part:e});if("application/pdf"!==r)throw new t.UnsupportedFunctionalityError({functionality:`file part media type ${r}`});return{type:"file",file:{filename:e.filename??"document.pdf",file_data:`data:application/pdf;base64,${(0,n.convertToBase64)(e.data.data)}`},...o}}if("text"===r)return{type:"text",text:"url"===e.data.type?e.data.url.toString():"string"==typeof e.data.data?new TextDecoder().decode((0,n.convertBase64ToUint8Array)(e.data.data)):new TextDecoder().decode(e.data.data),...o};throw new t.UnsupportedFunctionalityError({functionality:`file part media type ${e.mediaType}`})}}}}),...e});break;case"assistant":{let t="",n="",i=[];for(let e of a){let r=l(e);switch(e.type){case"text":t+=e.text;break;case"reasoning":n+=e.text;break;case"tool-call":{let t=e.providerOptions?.[o]?.thoughtSignature??e.providerOptions?.google?.thoughtSignature;i.push({id:e.toolCallId,type:"function",function:{name:e.toolName,arguments:JSON.stringify(e.input)},...r,...t?{extra_content:{google:{thought_signature:String(t)}}}:{}})}}}r.push({role:"assistant",content:i.length>0?t||null:t,...n.length>0?{reasoning_content:n}:{},tool_calls:i.length>0?i:void 0,...e});break}case"tool":for(let e of a){let t;if("tool-approval-response"===e.type)continue;let n=e.output;switch(n.type){case"text":case"error-text":t=n.value;break;case"execution-denied":t=n.reason??"Tool call execution denied.";break;case"content":case"json":case"error-json":t=JSON.stringify(n.value)}let o=l(e);r.push({role:"tool",tool_call_id:e.toolCallId,content:t,...o})}break;default:throw Error(`Unsupported role: ${i}`)}}return r}(e,{providerOptionsKey:E}),tools:T,tool_choice:I},warnings:[...v,...O]}}async doGenerate(e){let{args:o,warnings:r,metadataKey:i}=await this.getArgs({...e}),a=this.transformRequestBody(o),s=JSON.stringify(a),{responseHeaders:l,value:d,rawValue:p}=await (0,n.postJsonToApi)({url:this.config.url({path:"/chat/completions",modelId:this.modelId}),headers:(0,n.combineHeaders)(this.config.headers?.(),e.headers),body:a,failedResponseHandler:this.failedResponseHandler,successfulResponseHandler:(0,n.createJsonResponseHandler)(f),abortSignal:e.abortSignal,fetch:this.config.fetch}),h=d.choices[0];if(null==h)throw new t.InvalidResponseDataError({data:p,message:"Response did not contain any choices."});let m=[];m.push(...g(h.message.content));let y=h.message.reasoning_content??h.message.reasoning;if(null!=y&&y.length>0&&m.push({type:"reasoning",text:y}),null!=h.message.tool_calls)for(let e of h.message.tool_calls){let t=e.extra_content?.google?.thought_signature;m.push({type:"tool-call",toolCallId:e.id||(0,n.generateId)(),toolName:e.function.name,input:e.function.arguments,...t?{providerMetadata:{[i]:{thoughtSignature:t}}}:{}})}let b={[i]:{},...await this.config.metadataExtractor?.extractMetadata?.({parsedBody:p})},_=d.usage?.completion_tokens_details;return _?.accepted_prediction_tokens!=null&&(b[i].acceptedPredictionTokens=_?.accepted_prediction_tokens),_?.rejected_prediction_tokens!=null&&(b[i].rejectedPredictionTokens=_?.rejected_prediction_tokens),{content:m,finishReason:{unified:c(h.finish_reason),raw:h.finish_reason??void 0},usage:this.convertUsage(d.usage),providerMetadata:b,request:{body:s},response:{...u(d),headers:l,body:p},warnings:r}}async doStream(e){let o,r,i,{args:a,warnings:s,metadataKey:l}=await this.getArgs({...e}),d=this.transformRequestBody({...a,stream:!0,stream_options:this.config.includeUsage?{include_usage:!0}:void 0}),p=this.config.metadataExtractor?.createStreamExtractor(),{responseHeaders:h,value:m}=await (0,n.postJsonToApi)({url:this.config.url({path:"/chat/completions",modelId:this.modelId}),headers:(0,n.combineHeaders)(this.config.headers?.(),e.headers),body:d,failedResponseHandler:this.failedResponseHandler,successfulResponseHandler:(0,n.createEventSourceResponseHandler)(this.chunkSchema),abortSignal:e.abortSignal,fetch:this.config.fetch}),f=new Map,y=new Set,b=e=>{let t=e.index;if(null==t||y.has(t))return void o.processDelta(e);let n=f.get(t);null==n?(n={id:e.id??null,bufferedArguments:"",extraContent:e.extra_content??null},f.set(t,n)):(null==n.id&&null!=e.id&&(n.id=e.id),null==n.extraContent&&null!=e.extra_content&&(n.extraContent=e.extra_content));let r=e.function?.arguments;null!=r&&(n.bufferedArguments+=r);let i=e.function?.name;if(null!=i){let e={index:t,id:n.id,function:{name:i,arguments:n.bufferedArguments},extra_content:n.extraContent??void 0};o.processDelta(e),f.delete(t),y.add(t)}},_=!1,z=!1,w=!1,v=e=>this.convertUsage(e);return{stream:m.pipeThrough(new TransformStream({start(e){o=new n.StreamingToolCallTracker(e,{generateId:n.generateId,extractMetadata:e=>{let t=e.extra_content?.google?.thought_signature;return t?{[l]:{thoughtSignature:t}}:void 0},buildToolCallProviderMetadata:e=>e}),e.enqueue({type:"stream-start",warnings:s})},transform(t,n){if(e.includeRawChunks&&n.enqueue({type:"raw",rawValue:t.rawValue}),!t.success){r={unified:"error",raw:void 0},n.enqueue({type:"error",error:t.error});return}if(p?.processChunk(t.rawValue),"error"in t.value){r={unified:"error",raw:void 0},n.enqueue({type:"error",error:t.value.error});return}let o=t.value;if(!_){let e=u(o);Object.values(e).some(Boolean)&&(_=!0,n.enqueue({type:"response-metadata",...e}))}null!=o.usage&&(i=o.usage);let a=o.choices[0];if(a?.finish_reason!=null&&(r={unified:c(a.finish_reason),raw:a.finish_reason??void 0}),a?.delta==null)return;let s=a.delta,l=e=>{w&&(n.enqueue({type:"text-end",id:"txt-0"}),w=!1),z||(n.enqueue({type:"reasoning-start",id:"reasoning-0"}),z=!0),n.enqueue({type:"reasoning-delta",id:"reasoning-0",delta:e})},d=e=>{z&&(n.enqueue({type:"reasoning-end",id:"reasoning-0"}),z=!1),w||(n.enqueue({type:"text-start",id:"txt-0"}),w=!0),n.enqueue({type:"text-delta",id:"txt-0",delta:e})},h=s.reasoning_content??s.reasoning;for(let e of(h&&l(h),g(s.content)))"reasoning"===e.type?l(e.text):d(e.text);if(null!=s.tool_calls&&s.tool_calls.length>0)for(let e of(z&&(n.enqueue({type:"reasoning-end",id:"reasoning-0"}),z=!1),s.tool_calls))b(e)},flush(e){for(let[t,n]of(z&&e.enqueue({type:"reasoning-end",id:"reasoning-0"}),w&&e.enqueue({type:"text-end",id:"txt-0"}),f))o.processDelta({index:t,id:n.id,function:{arguments:n.bufferedArguments}});f.clear(),o.flush(),null==r&&(r={unified:"error",raw:void 0},e.enqueue({type:"error",error:new t.InvalidResponseDataError({data:void 0,message:"Response stream ended without a finish reason."})}));let n={[l]:{},...p?.buildMetadata()};i?.completion_tokens_details?.accepted_prediction_tokens!=null&&(n[l].acceptedPredictionTokens=i?.completion_tokens_details?.accepted_prediction_tokens),i?.completion_tokens_details?.rejected_prediction_tokens!=null&&(n[l].rejectedPredictionTokens=i?.completion_tokens_details?.rejected_prediction_tokens),e.enqueue({type:"finish",finishReason:r,usage:v(i),providerMetadata:n})}})),request:{body:d},response:{headers:h}}}},h=r.z.looseObject({prompt_tokens:r.z.number().nullish(),completion_tokens:r.z.number().nullish(),total_tokens:r.z.number().nullish(),prompt_tokens_details:r.z.looseObject({cached_tokens:r.z.number().nullish()}).nullish(),completion_tokens_details:r.z.looseObject({reasoning_tokens:r.z.number().nullish(),accepted_prediction_tokens:r.z.number().nullish(),rejected_prediction_tokens:r.z.number().nullish()}).nullish()}).nullish(),m=r.z.union([r.z.string(),r.z.array(r.z.looseObject({type:r.z.string()}))]).nullish();function g(e){if(null==e)return[];if("string"==typeof e)return e.length>0?[{type:"text",text:e}]:[];let t=[];for(let n of e)if("text"===n.type&&"string"==typeof n.text)n.text.length>0&&t.push({type:"text",text:n.text});else if("thinking"===n.type&&Array.isArray(n.thinking)){let e=n.thinking.filter(e=>null!=e&&"object"==typeof e&&"type"in e&&"text"===e.type&&"text"in e&&"string"==typeof e.text).map(e=>e.text).join("");e.length>0&&t.push({type:"reasoning",text:e})}return t}var f=r.z.looseObject({id:r.z.string().nullish(),created:r.z.number().nullish(),model:r.z.string().nullish(),choices:r.z.array(r.z.object({message:r.z.object({role:r.z.literal("assistant").nullish(),content:m,reasoning_content:r.z.string().nullish(),reasoning:r.z.string().nullish(),tool_calls:r.z.array(r.z.object({id:r.z.string().nullish(),function:r.z.object({name:r.z.string(),arguments:r.z.string()}),extra_content:r.z.object({google:r.z.object({thought_signature:r.z.string().nullish()}).nullish()}).nullish()})).nullish()}),finish_reason:r.z.string().nullish()})),usage:h}),y=r.z.looseObject({id:r.z.string().nullish(),created:r.z.number().nullish(),model:r.z.string().nullish(),choices:r.z.array(r.z.object({delta:r.z.object({role:r.z.enum(["assistant",""]).nullish(),content:m,reasoning_content:r.z.string().nullish(),reasoning:r.z.string().nullish(),tool_calls:r.z.array(r.z.object({index:r.z.number().nullish(),id:r.z.string().nullish(),function:r.z.object({name:r.z.string().nullish(),arguments:r.z.string().nullish()}),extra_content:r.z.object({google:r.z.object({thought_signature:r.z.string().nullish()}).nullish()}).nullish()})).nullish()}).nullish(),finish_reason:r.z.string().nullish()})),usage:h}),b=e=>r.z.union([y,e]);function _(e){if(null==e)return(0,n.createNullLanguageModelUsage)();let t=e.prompt_tokens??0,o=e.completion_tokens??0;return{inputTokens:{total:t,noCache:t,cacheRead:void 0,cacheWrite:void 0},outputTokens:{total:o,text:o,reasoning:void 0},raw:e}}function z(e){switch(e){case"stop":return"stop";case"length":return"length";case"content_filter":return"content-filter";case"function_call":case"tool_calls":return"tool-calls";default:return"other"}}var w=r.z.object({echo:r.z.boolean().optional(),logitBias:r.z.record(r.z.string(),r.z.number()).optional(),suffix:r.z.string().optional(),user:r.z.string().optional()}),v=class e{constructor(e,t){this.specificationVersion="v4",this.modelId=e,this.config=t;const o=t.errorStructure??s;this.chunkSchema=S(o.errorSchema),this.failedResponseHandler=(0,n.createJsonErrorResponseHandler)(o)}static[o.WORKFLOW_SERIALIZE](e){return(0,n.serializeModelOptions)({modelId:e.modelId,config:e.config})}static[o.WORKFLOW_DESERIALIZE](t){return new e(t.modelId,t.config)}get provider(){return this.config.provider}get providerOptionsName(){return this.config.provider.split(".")[0].trim()}get supportedUrls(){return this.config.supportedUrls?.()??{}}async getArgs({prompt:e,maxOutputTokens:o,temperature:r,topP:s,topK:l,frequencyPenalty:u,presencePenalty:c,stopSequences:d,responseFormat:p,seed:h,providerOptions:m,tools:g,toolChoice:f}){let y=[];a({rawName:this.providerOptionsName,providerOptions:m,warnings:y});let b=Object.assign(await (0,n.parseProviderOptions)({provider:this.providerOptionsName,providerOptions:m,schema:w})??{},await (0,n.parseProviderOptions)({provider:i(this.providerOptionsName),providerOptions:m,schema:w})??{});null!=l&&y.push({type:"unsupported",feature:"topK"}),g?.length&&y.push({type:"unsupported",feature:"tools"}),null!=f&&y.push({type:"unsupported",feature:"toolChoice"}),null!=p&&"text"!==p.type&&y.push({type:"unsupported",feature:"responseFormat",details:"JSON response format is not supported."});let{prompt:_,stopSequences:z}=function({prompt:e,user:n="user",assistant:o="assistant"}){let r="";for(let{role:i,content:a}of("system"===e[0].role&&(r+=`${e[0].content}
|
|
155
|
+
`,i={darwin:(e,t)=>["osascript",["-e",o,"--",e,t]],win32:()=>["powershell.exe",["-NoProfile","-NonInteractive","-Command",r]],linux:(e,t)=>["notify-send",["--app-name",n.APP_NAME,"--",e,t]]};e.s(["desktopNotify",0,function(e,n){let o=e.slice(0,80),r=n.slice(0,200),a=i[process.platform]?.(o,r);if(!a)return;let[s,l]=a;(0,t.execFile)(s,l,{env:{...process.env,NOTIFY_TITLE:o,NOTIFY_BODY:r},timeout:1e4,windowsHide:!0},()=>{})}])},610150,e=>{"use strict";let t=/[\u1100-\u11ff\u3040-\u30ff\u3130-\u318f\u4e00-\u9fff\uac00-\ud7af]/;function n(e){let n=0,o=0;for(let r of e)t.test(r)?n+=1:o+=1;return Math.ceil(n/1.3+o/4)}e.s(["estimateTokens",0,n,"sectionTokens",0,function(e){return e.split(/\n(?=## )/).map(e=>({name:e.startsWith("## ")?e.slice(3,e.indexOf("\n")):"identity",tokens:n(e)})).sort((e,t)=>t.tokens-e.tokens)}])},128278,e=>{"use strict";var t=e.i(296194),n=e.i(548874),o=e.i(691296),r=e.i(167361),i=e.i(853205);let a=(0,o.lazySchema)(()=>(0,o.zodSchema)(i.z.object({type:i.z.literal("error"),error:i.z.object({type:i.z.string(),message:i.z.string()})}))),s=(0,o.createJsonErrorResponseHandler)({errorSchema:a,errorToMessage:e=>e.error.message}),l=(0,o.lazySchema)(()=>(0,o.zodSchema)(i.z.object({id:i.z.string(),type:i.z.literal("file"),filename:i.z.string(),mime_type:i.z.string(),size_bytes:i.z.number(),created_at:i.z.string(),downloadable:i.z.boolean().nullish()})));var u=class{get provider(){return this.config.provider}constructor(e){this.config=e,this.specificationVersion="v4"}async uploadFile({data:e,mediaType:t,filename:n,abortSignal:r,headers:i}){let a=new Blob([(0,o.convertInlineFileDataToUint8Array)(e)],{type:t}),u=new FormData;null!=n?u.append("file",a,n):u.append("file",a);let{value:c}=await (0,o.postFormDataToApi)({url:`${this.config.baseURL}/files`,headers:(0,o.combineHeaders)(this.config.headers(),{"anthropic-beta":"files-api-2025-04-14"},i),formData:u,failedResponseHandler:s,successfulResponseHandler:(0,o.createJsonResponseHandler)(l),abortSignal:r,fetch:this.config.fetch});return{warnings:[],providerReference:{anthropic:c.id},mediaType:c.mime_type??t,filename:c.filename??n,providerMetadata:{anthropic:{filename:c.filename,mimeType:c.mime_type,sizeBytes:c.size_bytes,createdAt:c.created_at,...null!=c.downloadable?{downloadable:c.downloadable}:{}}}}}};let c=i.z.object({type:i.z.literal("fallback"),from:i.z.object({model:i.z.string()}),to:i.z.object({model:i.z.string()})}),d=i.z.object({type:i.z.string(),category:i.z.string().nullish(),explanation:i.z.string().nullish(),recommended_model:i.z.string().nullish()}),p=i.z.object({type:i.z.string(),status:i.z.object({type:i.z.string(),tool_uses:i.z.record(i.z.string(),i.z.object({type:i.z.string(),outcome:i.z.string().nullish(),explanation:i.z.string().nullish()})).nullish()})}),h=i.z.union([i.z.object({type:i.z.literal("code_execution_20250825"),tool_id:i.z.string()}),i.z.object({type:i.z.literal("code_execution_20260120"),tool_id:i.z.string()}),i.z.object({type:i.z.literal("direct")})]),m=i.z.discriminatedUnion("type",[i.z.object({type:i.z.literal("web_search_result_location"),cited_text:i.z.string(),url:i.z.string(),title:i.z.string().nullable(),encrypted_index:i.z.string()}),i.z.object({type:i.z.literal("page_location"),cited_text:i.z.string(),document_index:i.z.number(),document_title:i.z.string().nullable(),start_page_number:i.z.number(),end_page_number:i.z.number(),file_id:i.z.string().nullish()}),i.z.object({type:i.z.literal("char_location"),cited_text:i.z.string(),document_index:i.z.number(),document_title:i.z.string().nullable(),start_char_index:i.z.number(),end_char_index:i.z.number(),file_id:i.z.string().nullish()}),i.z.object({type:i.z.literal("content_block_location"),cited_text:i.z.string(),document_index:i.z.number(),document_title:i.z.string().nullable(),start_block_index:i.z.number(),end_block_index:i.z.number(),file_id:i.z.string().nullable()}),i.z.object({type:i.z.literal("search_result_location"),cited_text:i.z.string(),search_result_index:i.z.number(),source:i.z.string(),title:i.z.string().nullable(),start_block_index:i.z.number(),end_block_index:i.z.number()})]),g=i.z.union([i.z.string(),i.z.array(i.z.union([i.z.string(),i.z.object({type:i.z.literal("text"),text:i.z.string(),citations:i.z.array(i.z.json()).nullable().optional()})]))]),f=i.z.object({type:i.z.string(),path:i.z.string(),reason:i.z.string()}),y=(0,o.lazySchema)(()=>(0,o.zodSchema)(i.z.object({type:i.z.literal("message"),id:i.z.string().nullish(),model:i.z.string().nullish(),content:i.z.array(i.z.discriminatedUnion("type",[i.z.object({type:i.z.literal("text"),text:i.z.string(),citations:i.z.array(m).nullable().optional()}),i.z.object({type:i.z.literal("thinking"),thinking:i.z.string(),signature:i.z.string()}),i.z.object({type:i.z.literal("redacted_thinking"),data:i.z.string()}),i.z.object({type:i.z.literal("compaction"),content:i.z.string().nullish(),signature:i.z.string().nullish()}),i.z.object({type:i.z.literal("tool_use"),id:i.z.string(),name:i.z.string(),input:i.z.unknown(),caller:h.optional(),toolset_name:i.z.string().nullish()}),i.z.object({type:i.z.literal("server_tool_use"),id:i.z.string(),name:i.z.string(),input:i.z.record(i.z.string(),i.z.unknown()).nullish(),caller:h.optional()}),i.z.object({type:i.z.literal("mcp_tool_use"),id:i.z.string(),name:i.z.string(),input:i.z.unknown(),server_name:i.z.string()}),i.z.object({type:i.z.literal("mcp_tool_result"),tool_use_id:i.z.string(),is_error:i.z.boolean(),content:g}),i.z.object({type:i.z.literal("web_fetch_tool_result"),tool_use_id:i.z.string(),caller:h.optional(),content:i.z.union([i.z.object({type:i.z.literal("web_fetch_result"),url:i.z.string(),retrieved_at:i.z.string().nullable(),content:i.z.object({type:i.z.literal("document"),title:i.z.string().nullable(),citations:i.z.object({enabled:i.z.boolean()}).optional(),source:i.z.union([i.z.object({type:i.z.literal("base64"),media_type:i.z.literal("application/pdf"),data:i.z.string()}),i.z.object({type:i.z.literal("text"),media_type:i.z.literal("text/plain"),data:i.z.string()})])})}),i.z.object({type:i.z.literal("web_fetch_tool_result_error"),error_code:i.z.string()})])}),i.z.object({type:i.z.literal("web_search_tool_result"),tool_use_id:i.z.string(),caller:h.optional(),content:i.z.union([i.z.array(i.z.object({type:i.z.literal("web_search_result"),url:i.z.string(),title:i.z.string().nullable(),encrypted_content:i.z.string(),page_age:i.z.string().nullish()})),i.z.object({type:i.z.literal("web_search_tool_result_error"),error_code:i.z.string()})])}),i.z.object({type:i.z.literal("code_execution_tool_result"),tool_use_id:i.z.string(),content:i.z.union([i.z.object({type:i.z.literal("code_execution_result"),stdout:i.z.string(),stderr:i.z.string(),return_code:i.z.number(),content:i.z.array(i.z.object({type:i.z.literal("code_execution_output"),file_id:i.z.string()})).optional().default([])}),i.z.object({type:i.z.literal("encrypted_code_execution_result"),encrypted_stdout:i.z.string(),stderr:i.z.string(),return_code:i.z.number(),content:i.z.array(i.z.object({type:i.z.literal("code_execution_output"),file_id:i.z.string()})).optional().default([])}),i.z.object({type:i.z.literal("code_execution_tool_result_error"),error_code:i.z.string()})])}),i.z.object({type:i.z.literal("bash_code_execution_tool_result"),tool_use_id:i.z.string(),content:i.z.discriminatedUnion("type",[i.z.object({type:i.z.literal("bash_code_execution_result"),content:i.z.array(i.z.object({type:i.z.literal("bash_code_execution_output"),file_id:i.z.string()})),stdout:i.z.string(),stderr:i.z.string(),return_code:i.z.number()}),i.z.object({type:i.z.literal("bash_code_execution_tool_result_error"),error_code:i.z.string()})])}),i.z.object({type:i.z.literal("text_editor_code_execution_tool_result"),tool_use_id:i.z.string(),content:i.z.discriminatedUnion("type",[i.z.object({type:i.z.literal("text_editor_code_execution_tool_result_error"),error_code:i.z.string()}),i.z.object({type:i.z.literal("text_editor_code_execution_view_result"),content:i.z.string(),file_type:i.z.string(),num_lines:i.z.number().nullable(),start_line:i.z.number().nullable(),total_lines:i.z.number().nullable()}),i.z.object({type:i.z.literal("text_editor_code_execution_create_result"),is_file_update:i.z.boolean()}),i.z.object({type:i.z.literal("text_editor_code_execution_str_replace_result"),lines:i.z.array(i.z.string()).nullable(),new_lines:i.z.number().nullable(),new_start:i.z.number().nullable(),old_lines:i.z.number().nullable(),old_start:i.z.number().nullable()})])}),i.z.object({type:i.z.literal("tool_search_tool_result"),tool_use_id:i.z.string(),content:i.z.union([i.z.object({type:i.z.literal("tool_search_tool_search_result"),tool_references:i.z.array(i.z.object({type:i.z.literal("tool_reference"),tool_name:i.z.string()}))}),i.z.object({type:i.z.literal("tool_search_tool_result_error"),error_code:i.z.string()})])}),i.z.object({type:i.z.literal("container_upload"),file_id:i.z.string()}),i.z.object({type:i.z.literal("advisor_tool_result"),tool_use_id:i.z.string(),content:i.z.discriminatedUnion("type",[i.z.object({type:i.z.literal("advisor_result"),text:i.z.string(),stop_reason:i.z.string().nullish()}),i.z.object({type:i.z.literal("advisor_redacted_result"),encrypted_content:i.z.string(),stop_reason:i.z.string().nullish()}),i.z.object({type:i.z.literal("advisor_tool_result_error"),error_code:i.z.string()})])}),c])),stop_reason:i.z.string().nullish(),stop_sequence:i.z.string().nullish(),stop_details:d.nullish(),input_transformations:i.z.array(f).nullish(),safeguard_results:i.z.array(p).nullish(),usage:i.z.looseObject({input_tokens:i.z.number(),output_tokens:i.z.number(),output_tokens_details:i.z.object({thinking_tokens:i.z.number().nullish()}).nullish(),cache_creation_input_tokens:i.z.number().nullish(),cache_read_input_tokens:i.z.number().nullish(),iterations:i.z.array(i.z.object({type:i.z.union([i.z.literal("compaction"),i.z.literal("message"),i.z.literal("advisor_message"),i.z.literal("fallback_message")]),model:i.z.string().nullish(),input_tokens:i.z.number(),output_tokens:i.z.number(),cache_creation_input_tokens:i.z.number().nullish(),cache_read_input_tokens:i.z.number().nullish()})).nullish()}),container:i.z.object({expires_at:i.z.string(),id:i.z.string(),skills:i.z.array(i.z.object({type:i.z.union([i.z.literal("anthropic"),i.z.literal("custom")]),skill_id:i.z.string(),version:i.z.string()})).nullish()}).nullish(),context_management:i.z.object({applied_edits:i.z.array(i.z.union([i.z.object({type:i.z.literal("clear_tool_uses_20250919"),cleared_tool_uses:i.z.number(),cleared_input_tokens:i.z.number()}),i.z.object({type:i.z.literal("clear_thinking_20251015"),cleared_thinking_turns:i.z.number(),cleared_input_tokens:i.z.number()}),i.z.object({type:i.z.literal("compact_20260112")})]))}).nullish()}))),b=(0,o.lazySchema)(()=>(0,o.zodSchema)(i.z.discriminatedUnion("type",[i.z.object({type:i.z.literal("message_start"),message:i.z.object({id:i.z.string().nullish(),model:i.z.string().nullish(),role:i.z.string().nullish(),usage:i.z.looseObject({input_tokens:i.z.number(),cache_creation_input_tokens:i.z.number().nullish(),cache_read_input_tokens:i.z.number().nullish()}),content:i.z.array(i.z.discriminatedUnion("type",[i.z.object({type:i.z.literal("tool_use"),id:i.z.string(),name:i.z.string(),input:i.z.unknown(),caller:h.optional(),toolset_name:i.z.string().nullish()})])).nullish(),stop_reason:i.z.string().nullish(),input_transformations:i.z.array(f).nullish(),container:i.z.object({expires_at:i.z.string(),id:i.z.string()}).nullish()})}),i.z.object({type:i.z.literal("content_block_start"),index:i.z.number(),content_block:i.z.discriminatedUnion("type",[i.z.object({type:i.z.literal("text"),text:i.z.string()}),i.z.object({type:i.z.literal("thinking"),thinking:i.z.string()}),i.z.object({type:i.z.literal("tool_use"),id:i.z.string(),name:i.z.string(),input:i.z.record(i.z.string(),i.z.unknown()).optional(),caller:h.optional(),toolset_name:i.z.string().nullish()}),i.z.object({type:i.z.literal("redacted_thinking"),data:i.z.string()}),i.z.object({type:i.z.literal("compaction"),content:i.z.string().nullish(),signature:i.z.string().nullish()}),i.z.object({type:i.z.literal("server_tool_use"),id:i.z.string(),name:i.z.string(),input:i.z.record(i.z.string(),i.z.unknown()).nullish(),caller:h.optional()}),i.z.object({type:i.z.literal("mcp_tool_use"),id:i.z.string(),name:i.z.string(),input:i.z.unknown(),server_name:i.z.string()}),i.z.object({type:i.z.literal("mcp_tool_result"),tool_use_id:i.z.string(),is_error:i.z.boolean(),content:g}),i.z.object({type:i.z.literal("web_fetch_tool_result"),tool_use_id:i.z.string(),caller:h.optional(),content:i.z.union([i.z.object({type:i.z.literal("web_fetch_result"),url:i.z.string(),retrieved_at:i.z.string().nullable(),content:i.z.object({type:i.z.literal("document"),title:i.z.string().nullable(),citations:i.z.object({enabled:i.z.boolean()}).optional(),source:i.z.union([i.z.object({type:i.z.literal("base64"),media_type:i.z.literal("application/pdf"),data:i.z.string()}),i.z.object({type:i.z.literal("text"),media_type:i.z.literal("text/plain"),data:i.z.string()})])})}),i.z.object({type:i.z.literal("web_fetch_tool_result_error"),error_code:i.z.string()})])}),i.z.object({type:i.z.literal("web_search_tool_result"),tool_use_id:i.z.string(),caller:h.optional(),content:i.z.union([i.z.array(i.z.object({type:i.z.literal("web_search_result"),url:i.z.string(),title:i.z.string().nullable(),encrypted_content:i.z.string(),page_age:i.z.string().nullish()})),i.z.object({type:i.z.literal("web_search_tool_result_error"),error_code:i.z.string()})])}),i.z.object({type:i.z.literal("code_execution_tool_result"),tool_use_id:i.z.string(),content:i.z.union([i.z.object({type:i.z.literal("code_execution_result"),stdout:i.z.string(),stderr:i.z.string(),return_code:i.z.number(),content:i.z.array(i.z.object({type:i.z.literal("code_execution_output"),file_id:i.z.string()})).optional().default([])}),i.z.object({type:i.z.literal("encrypted_code_execution_result"),encrypted_stdout:i.z.string(),stderr:i.z.string(),return_code:i.z.number(),content:i.z.array(i.z.object({type:i.z.literal("code_execution_output"),file_id:i.z.string()})).optional().default([])}),i.z.object({type:i.z.literal("code_execution_tool_result_error"),error_code:i.z.string()})])}),i.z.object({type:i.z.literal("bash_code_execution_tool_result"),tool_use_id:i.z.string(),content:i.z.discriminatedUnion("type",[i.z.object({type:i.z.literal("bash_code_execution_result"),content:i.z.array(i.z.object({type:i.z.literal("bash_code_execution_output"),file_id:i.z.string()})),stdout:i.z.string(),stderr:i.z.string(),return_code:i.z.number()}),i.z.object({type:i.z.literal("bash_code_execution_tool_result_error"),error_code:i.z.string()})])}),i.z.object({type:i.z.literal("text_editor_code_execution_tool_result"),tool_use_id:i.z.string(),content:i.z.discriminatedUnion("type",[i.z.object({type:i.z.literal("text_editor_code_execution_tool_result_error"),error_code:i.z.string()}),i.z.object({type:i.z.literal("text_editor_code_execution_view_result"),content:i.z.string(),file_type:i.z.string(),num_lines:i.z.number().nullable(),start_line:i.z.number().nullable(),total_lines:i.z.number().nullable()}),i.z.object({type:i.z.literal("text_editor_code_execution_create_result"),is_file_update:i.z.boolean()}),i.z.object({type:i.z.literal("text_editor_code_execution_str_replace_result"),lines:i.z.array(i.z.string()).nullable(),new_lines:i.z.number().nullable(),new_start:i.z.number().nullable(),old_lines:i.z.number().nullable(),old_start:i.z.number().nullable()})])}),i.z.object({type:i.z.literal("tool_search_tool_result"),tool_use_id:i.z.string(),content:i.z.union([i.z.object({type:i.z.literal("tool_search_tool_search_result"),tool_references:i.z.array(i.z.object({type:i.z.literal("tool_reference"),tool_name:i.z.string()}))}),i.z.object({type:i.z.literal("tool_search_tool_result_error"),error_code:i.z.string()})])}),i.z.object({type:i.z.literal("advisor_tool_result"),tool_use_id:i.z.string(),content:i.z.discriminatedUnion("type",[i.z.object({type:i.z.literal("advisor_result"),text:i.z.string(),stop_reason:i.z.string().nullish()}),i.z.object({type:i.z.literal("advisor_redacted_result"),encrypted_content:i.z.string(),stop_reason:i.z.string().nullish()}),i.z.object({type:i.z.literal("advisor_tool_result_error"),error_code:i.z.string()})])}),c])}),i.z.object({type:i.z.literal("content_block_delta"),index:i.z.number(),delta:i.z.discriminatedUnion("type",[i.z.object({type:i.z.literal("input_json_delta"),partial_json:i.z.string()}),i.z.object({type:i.z.literal("text_delta"),text:i.z.string()}),i.z.object({type:i.z.literal("thinking_delta"),thinking:i.z.string()}),i.z.object({type:i.z.literal("signature_delta"),signature:i.z.string()}),i.z.object({type:i.z.literal("compaction_delta"),content:i.z.string().nullish()}),i.z.object({type:i.z.literal("citations_delta"),citation:m})])}),i.z.object({type:i.z.literal("content_block_stop"),index:i.z.number()}),i.z.object({type:i.z.literal("error"),error:i.z.object({type:i.z.string(),message:i.z.string(),code:i.z.union([i.z.string(),i.z.number()]).nullish(),statusCode:i.z.number().nullish(),isRetryable:i.z.boolean().nullish(),data:i.z.unknown().nullish()})}),i.z.object({type:i.z.literal("message_delta"),delta:i.z.object({stop_reason:i.z.string().nullish(),stop_sequence:i.z.string().nullish(),stop_details:d.nullish(),safeguard_results:i.z.array(p).nullish(),container:i.z.object({expires_at:i.z.string(),id:i.z.string(),skills:i.z.array(i.z.object({type:i.z.union([i.z.literal("anthropic"),i.z.literal("custom")]),skill_id:i.z.string(),version:i.z.string()})).nullish()}).nullish()}),usage:i.z.looseObject({input_tokens:i.z.number().nullish(),output_tokens:i.z.number(),output_tokens_details:i.z.object({thinking_tokens:i.z.number().nullish()}).nullish(),cache_creation_input_tokens:i.z.number().nullish(),cache_read_input_tokens:i.z.number().nullish(),iterations:i.z.array(i.z.object({type:i.z.union([i.z.literal("compaction"),i.z.literal("message"),i.z.literal("advisor_message"),i.z.literal("fallback_message")]),model:i.z.string().nullish(),input_tokens:i.z.number(),output_tokens:i.z.number(),cache_creation_input_tokens:i.z.number().nullish(),cache_read_input_tokens:i.z.number().nullish()})).nullish()}),input_transformations:i.z.array(f).nullish(),context_management:i.z.object({applied_edits:i.z.array(i.z.union([i.z.object({type:i.z.literal("clear_tool_uses_20250919"),cleared_tool_uses:i.z.number(),cleared_input_tokens:i.z.number()}),i.z.object({type:i.z.literal("clear_thinking_20251015"),cleared_thinking_turns:i.z.number(),cleared_input_tokens:i.z.number()}),i.z.object({type:i.z.literal("compact_20260112")})]))}).nullish()}),i.z.object({type:i.z.literal("message_stop")}),i.z.object({type:i.z.literal("ping")})]))),_=(0,o.lazySchema)(()=>(0,o.zodSchema)(i.z.object({signature:i.z.string().optional(),redactedData:i.z.string().optional()}))),w=i.z.object({containerUpload:i.z.boolean().optional(),citations:i.z.object({enabled:i.z.boolean()}).optional(),title:i.z.string().optional(),context:i.z.string().optional()}),z=i.z.object({clearAt:i.z.literal("next_user_message").optional(),effort:i.z.enum(["low","medium","high","xhigh","max"]).optional(),toolChanges:i.z.array(i.z.discriminatedUnion("type",[i.z.object({type:i.z.literal("tool_addition"),toolName:i.z.string()}),i.z.object({type:i.z.literal("tool_removal"),toolName:i.z.string()})])).optional()}),v=i.z.object({sendReasoning:i.z.boolean().optional(),structuredOutputMode:i.z.enum(["outputFormat","jsonTool","auto"]).optional(),thinking:i.z.union([i.z.discriminatedUnion("type",[i.z.object({type:i.z.literal("adaptive"),display:i.z.enum(["omitted","summarized","updates"]).optional(),blockBinding:i.z.object({prefixMismatchBehavior:i.z.enum(["error","drop_block"])}).optional()}),i.z.object({type:i.z.literal("enabled"),budgetTokens:i.z.number().optional()}),i.z.object({type:i.z.literal("disabled")}),i.z.object({type:i.z.literal("between_tools")})]),i.z.object({type:i.z.never().optional(),blockBinding:i.z.object({prefixMismatchBehavior:i.z.enum(["error","drop_block"])})})]).optional(),disableParallelToolUse:i.z.boolean().optional(),cacheControl:i.z.object({type:i.z.literal("ephemeral"),ttl:i.z.union([i.z.literal("5m"),i.z.literal("1h")]).optional()}).optional(),metadata:i.z.object({userId:i.z.string().optional()}).optional(),mcpServers:i.z.array(i.z.object({type:i.z.literal("url"),name:i.z.string(),url:i.z.string(),authorizationToken:i.z.string().nullish(),toolConfiguration:i.z.object({enabled:i.z.boolean().nullish(),allowedTools:i.z.array(i.z.string()).nullish()}).nullish()})).optional(),container:i.z.object({id:i.z.string().optional(),skills:i.z.array(i.z.discriminatedUnion("type",[i.z.object({type:i.z.literal("anthropic"),skillId:i.z.string(),version:i.z.string().optional()}),i.z.object({type:i.z.literal("custom"),providerReference:i.z.record(i.z.string(),i.z.string()),version:i.z.string().optional()})])).optional()}).optional(),toolStreaming:i.z.boolean().optional(),effort:i.z.enum(["low","medium","high","xhigh","max"]).optional(),taskBudget:i.z.object({type:i.z.literal("tokens"),total:i.z.number().int().min(2e4),remaining:i.z.number().int().min(0).optional()}).optional(),speed:i.z.enum(["fast","standard"]).optional(),serviceTier:i.z.enum(["auto","standard_only"]).optional(),inferenceGeo:i.z.enum(["us","global"]).optional(),fallbacks:i.z.union([i.z.literal("default"),i.z.array(i.z.object({model:i.z.string(),max_tokens:i.z.number().int().optional(),thinking:i.z.record(i.z.string(),i.z.unknown()).optional(),output_config:i.z.record(i.z.string(),i.z.unknown()).optional(),speed:i.z.enum(["fast","standard"]).optional()}))]).optional(),anthropicBeta:i.z.array(i.z.string()).optional(),safeguards:i.z.array(i.z.object({type:i.z.literal("dangerous_tool_use"),classifierContext:i.z.record(i.z.string(),i.z.unknown()).optional()})).optional(),compaction:i.z.object({type:i.z.literal("summarize"),instructions:i.z.string().optional()}).optional(),contextManagement:i.z.object({edits:i.z.array(i.z.discriminatedUnion("type",[i.z.object({type:i.z.literal("clear_tool_uses_20250919"),trigger:i.z.discriminatedUnion("type",[i.z.object({type:i.z.literal("input_tokens"),value:i.z.number()}),i.z.object({type:i.z.literal("tool_uses"),value:i.z.number()})]).optional(),keep:i.z.object({type:i.z.literal("tool_uses"),value:i.z.number()}).optional(),clearAtLeast:i.z.object({type:i.z.literal("input_tokens"),value:i.z.number()}).optional(),clearToolInputs:i.z.boolean().optional(),excludeTools:i.z.array(i.z.string()).optional()}),i.z.object({type:i.z.literal("clear_thinking_20251015"),keep:i.z.union([i.z.literal("all"),i.z.object({type:i.z.literal("thinking_turns"),value:i.z.number()})]).optional()}),i.z.object({type:i.z.literal("compact_20260112"),trigger:i.z.object({type:i.z.literal("input_tokens"),value:i.z.number()}).optional(),pauseAfterCompaction:i.z.boolean().optional(),instructions:i.z.string().optional()})]))}).optional()});var k=class{constructor(){this.breakpointCount=0,this.warnings=[]}getCacheControl(e,t){let n,o=(n=e?.anthropic,n?.cacheControl??n?.cache_control);if(o)return t.canCache?(this.breakpointCount++,this.breakpointCount>4)?void this.warnings.push({type:"unsupported",feature:"cacheControl breakpoint limit",details:`Maximum 4 cache breakpoints exceeded (found ${this.breakpointCount}). This breakpoint will be ignored.`}):o:void this.warnings.push({type:"unsupported",feature:"cache_control on non-cacheable context",details:`cache_control cannot be set on ${t.type}. It will be ignored.`})}getWarnings(){return this.warnings}};let x=(0,o.lazySchema)(()=>(0,o.zodSchema)(i.z.object({model:i.z.string(),maxUses:i.z.number().optional(),maxTokens:i.z.number().int().min(1024).optional(),caching:i.z.object({type:i.z.literal("ephemeral"),ttl:i.z.union([i.z.literal("5m"),i.z.literal("1h")])}).optional()}))),S=(0,o.lazySchema)(()=>(0,o.zodSchema)(i.z.discriminatedUnion("type",[i.z.object({type:i.z.literal("advisor_result"),text:i.z.string(),stopReason:i.z.string().optional()}),i.z.object({type:i.z.literal("advisor_redacted_result"),encryptedContent:i.z.string(),stopReason:i.z.string().optional()}),i.z.object({type:i.z.literal("advisor_tool_result_error"),errorCode:i.z.string()})]))),T=(0,o.lazySchema)(()=>(0,o.zodSchema)(i.z.object({}).strict())),I=(0,o.createProviderExecutedToolFactory)({id:"anthropic.advisor_20260301",inputSchema:T,outputSchema:S,supportsDeferredResults:!0}),O=["screenshot","zoom","left_click","right_click","middle_click","double_click","triple_click","left_click_drag","mouse_move","left_mouse_down","left_mouse_up","cursor_position","scroll","type","key","hold_key","wait"],E=(0,o.lazySchema)(()=>(0,o.zodSchema)(i.z.object({action:i.z.enum(O),coordinate:i.z.tuple([i.z.number().int(),i.z.number().int()]).optional(),duration:i.z.number().optional(),region:i.z.tuple([i.z.number().int(),i.z.number().int(),i.z.number().int(),i.z.number().int()]).optional(),repeat:i.z.number().int().optional(),scroll_amount:i.z.number().optional(),scroll_direction:i.z.enum(["up","down","left","right"]).optional(),start_coordinate:i.z.tuple([i.z.number().int(),i.z.number().int()]).optional(),text:i.z.string().optional()}))),C=(0,o.lazySchema)(()=>(0,o.zodSchema)(i.z.object({configs:i.z.partialRecord(i.z.enum(O),i.z.object({enabled:i.z.boolean().optional(),deferLoading:i.z.boolean().optional()})).optional()}))),A=(0,o.createProviderDefinedToolFactory)({id:"anthropic.computer_toolset_20260801",inputSchema:E}),j=(0,o.lazySchema)(()=>(0,o.zodSchema)(i.z.object({maxCharacters:i.z.number().optional()}))),R=(0,o.lazySchema)(()=>(0,o.zodSchema)(i.z.object({command:i.z.enum(["view","create","str_replace","insert"]),path:i.z.string(),file_text:i.z.string().optional(),insert_line:i.z.number().int().optional(),new_str:i.z.string().optional(),insert_text:i.z.string().optional(),old_str:i.z.string().optional(),view_range:i.z.array(i.z.number().int()).optional()}))),$=(0,o.createProviderDefinedToolFactory)({id:"anthropic.text_editor_20250728",inputSchema:R}),M=(0,o.lazySchema)(()=>(0,o.zodSchema)(i.z.object({maxUses:i.z.number().optional(),allowedDomains:i.z.array(i.z.string()).optional(),blockedDomains:i.z.array(i.z.string()).optional(),userLocation:i.z.object({type:i.z.literal("approximate"),city:i.z.string().optional(),region:i.z.string().optional(),country:i.z.string().optional(),timezone:i.z.string().optional()}).optional(),responseInclusion:i.z.enum(["full","excluded"]).optional()}))),N=(0,o.lazySchema)(()=>(0,o.zodSchema)(i.z.array(i.z.object({url:i.z.string(),title:i.z.string().nullable(),pageAge:i.z.string().nullable(),encryptedContent:i.z.string(),type:i.z.literal("web_search_result")})))),L=(0,o.lazySchema)(()=>(0,o.zodSchema)(i.z.object({query:i.z.string()}))),P=(0,o.createProviderExecutedToolFactory)({id:"anthropic.web_search_20260318",inputSchema:L,outputSchema:N,supportsDeferredResults:!0}),U=(0,o.lazySchema)(()=>(0,o.zodSchema)(i.z.object({maxUses:i.z.number().optional(),allowedDomains:i.z.array(i.z.string()).optional(),blockedDomains:i.z.array(i.z.string()).optional(),userLocation:i.z.object({type:i.z.literal("approximate"),city:i.z.string().optional(),region:i.z.string().optional(),country:i.z.string().optional(),timezone:i.z.string().optional()}).optional()}))),q=(0,o.lazySchema)(()=>(0,o.zodSchema)(i.z.array(i.z.object({url:i.z.string(),title:i.z.string().nullable(),pageAge:i.z.string().nullable(),encryptedContent:i.z.string(),type:i.z.literal("web_search_result")})))),D=(0,o.lazySchema)(()=>(0,o.zodSchema)(i.z.object({query:i.z.string()}))),F=(0,o.createProviderExecutedToolFactory)({id:"anthropic.web_search_20260209",inputSchema:D,outputSchema:q,supportsDeferredResults:!0}),H=(0,o.lazySchema)(()=>(0,o.zodSchema)(i.z.object({maxUses:i.z.number().optional(),allowedDomains:i.z.array(i.z.string()).optional(),blockedDomains:i.z.array(i.z.string()).optional(),userLocation:i.z.object({type:i.z.literal("approximate"),city:i.z.string().optional(),region:i.z.string().optional(),country:i.z.string().optional(),timezone:i.z.string().optional()}).optional()}))),B=(0,o.lazySchema)(()=>(0,o.zodSchema)(i.z.array(i.z.object({url:i.z.string(),title:i.z.string().nullable(),pageAge:i.z.string().nullable(),encryptedContent:i.z.string(),type:i.z.literal("web_search_result")})))),W=(0,o.lazySchema)(()=>(0,o.zodSchema)(i.z.object({query:i.z.string()}))),K=(0,o.createProviderExecutedToolFactory)({id:"anthropic.web_search_20250305",inputSchema:W,outputSchema:B,supportsDeferredResults:!0}),V=(0,o.lazySchema)(()=>(0,o.zodSchema)(i.z.object({maxUses:i.z.number().optional(),allowedDomains:i.z.array(i.z.string()).optional(),blockedDomains:i.z.array(i.z.string()).optional(),citations:i.z.object({enabled:i.z.boolean()}).optional(),maxContentTokens:i.z.number().optional(),useCache:i.z.boolean().optional(),responseInclusion:i.z.enum(["full","excluded"]).optional()}))),J=(0,o.lazySchema)(()=>(0,o.zodSchema)(i.z.object({type:i.z.literal("web_fetch_result"),url:i.z.string(),content:i.z.object({type:i.z.literal("document"),title:i.z.string().nullable(),citations:i.z.object({enabled:i.z.boolean()}).optional(),source:i.z.union([i.z.object({type:i.z.literal("base64"),mediaType:i.z.literal("application/pdf"),data:i.z.string()}),i.z.object({type:i.z.literal("text"),mediaType:i.z.literal("text/plain"),data:i.z.string()})])}),retrievedAt:i.z.string().nullable()}))),G=(0,o.lazySchema)(()=>(0,o.zodSchema)(i.z.object({url:i.z.string()}))),Y=(0,o.createProviderExecutedToolFactory)({id:"anthropic.web_fetch_20260318",inputSchema:G,outputSchema:J,supportsDeferredResults:!0}),Z=(0,o.lazySchema)(()=>(0,o.zodSchema)(i.z.object({maxUses:i.z.number().optional(),allowedDomains:i.z.array(i.z.string()).optional(),blockedDomains:i.z.array(i.z.string()).optional(),citations:i.z.object({enabled:i.z.boolean()}).optional(),maxContentTokens:i.z.number().optional()}))),X=(0,o.lazySchema)(()=>(0,o.zodSchema)(i.z.object({type:i.z.literal("web_fetch_result"),url:i.z.string(),content:i.z.object({type:i.z.literal("document"),title:i.z.string().nullable(),citations:i.z.object({enabled:i.z.boolean()}).optional(),source:i.z.union([i.z.object({type:i.z.literal("base64"),mediaType:i.z.literal("application/pdf"),data:i.z.string()}),i.z.object({type:i.z.literal("text"),mediaType:i.z.literal("text/plain"),data:i.z.string()})])}),retrievedAt:i.z.string().nullable()}))),Q=(0,o.lazySchema)(()=>(0,o.zodSchema)(i.z.object({url:i.z.string()}))),ee=(0,o.createProviderExecutedToolFactory)({id:"anthropic.web_fetch_20260209",inputSchema:Q,outputSchema:X,supportsDeferredResults:!0}),et=(0,o.lazySchema)(()=>(0,o.zodSchema)(i.z.object({maxUses:i.z.number().optional(),allowedDomains:i.z.array(i.z.string()).optional(),blockedDomains:i.z.array(i.z.string()).optional(),citations:i.z.object({enabled:i.z.boolean()}).optional(),maxContentTokens:i.z.number().optional()}))),en=(0,o.lazySchema)(()=>(0,o.zodSchema)(i.z.object({type:i.z.literal("web_fetch_result"),url:i.z.string(),content:i.z.object({type:i.z.literal("document"),title:i.z.string().nullable(),citations:i.z.object({enabled:i.z.boolean()}).optional(),source:i.z.union([i.z.object({type:i.z.literal("base64"),mediaType:i.z.literal("application/pdf"),data:i.z.string()}),i.z.object({type:i.z.literal("text"),mediaType:i.z.literal("text/plain"),data:i.z.string()})])}),retrievedAt:i.z.string().nullable()}))),eo=(0,o.lazySchema)(()=>(0,o.zodSchema)(i.z.object({url:i.z.string()}))),er=(0,o.createProviderExecutedToolFactory)({id:"anthropic.web_fetch_20250910",inputSchema:eo,outputSchema:en,supportsDeferredResults:!0});async function ei({tools:e,toolChoice:n,disableParallelToolUse:r,cacheControlValidator:i,supportsStructuredOutput:a,supportsStrictTools:s,defaultEagerInputStreaming:l=!1,rejectsForcedToolUse:u=!1}){e=e?.length?e:void 0;let c=[],d=new Set,p=i||new k;if(null==e)return{tools:void 0,toolChoice:void 0,toolWarnings:c,betas:d};let h=[];for(let t of e)switch(t.type){case"function":{let e=p.getCacheControl(t.providerOptions,{type:"tool definition",canCache:!0}),n=t.providerOptions?.anthropic,o=n?.eagerInputStreaming??l,r=n?.deferLoading,i=n?.allowedCallers;s||null==t.strict||c.push({type:"unsupported",feature:"strict",details:`Tool '${t.name}' has strict: ${t.strict}, but strict mode is not supported by this provider. The strict property will be ignored.`}),h.push({name:t.name,description:t.description,input_schema:t.inputSchema,cache_control:e,...o?{eager_input_streaming:!0}:{},...!0===s&&null!=t.strict?{strict:t.strict}:{},...null!=r?{defer_loading:r}:{},...null!=i?{allowed_callers:i}:{},...null!=t.inputExamples?{input_examples:t.inputExamples.map(e=>e.input)}:{}}),!0===a&&d.add("structured-outputs-2025-11-13"),(null!=t.inputExamples||null!=i)&&d.add("advanced-tool-use-2025-11-20");break}case"provider":switch(t.id){case"anthropic.code_execution_20250522":d.add("code-execution-2025-05-22"),h.push({type:"code_execution_20250522",name:"code_execution",cache_control:void 0});break;case"anthropic.code_execution_20250825":d.add("code-execution-2025-08-25"),h.push({type:"code_execution_20250825",name:"code_execution"});break;case"anthropic.code_execution_20260120":h.push({type:"code_execution_20260120",name:"code_execution"});break;case"anthropic.computer_20250124":d.add("computer-use-2025-01-24"),h.push({name:"computer",type:"computer_20250124",display_width_px:t.args.displayWidthPx,display_height_px:t.args.displayHeightPx,display_number:t.args.displayNumber,cache_control:void 0});break;case"anthropic.computer_20251124":d.add("computer-use-2025-11-24"),h.push({name:"computer",type:"computer_20251124",display_width_px:t.args.displayWidthPx,display_height_px:t.args.displayHeightPx,display_number:t.args.displayNumber,enable_zoom:t.args.enableZoom,cache_control:void 0});break;case"anthropic.computer_toolset_20260801":{let e=await (0,o.validateTypes)({value:t.args,schema:C}),n=null!=e.configs?Object.fromEntries(Object.entries(e.configs).map(([e,t])=>[e,{...t?.enabled!=null&&{enabled:t.enabled},...t?.deferLoading!=null&&{defer_loading:t.deferLoading}}])):void 0;h.push({type:"computer_toolset_20260801",...null!=n&&{configs:n},cache_control:void 0});break}case"anthropic.computer_20241022":d.add("computer-use-2024-10-22"),h.push({name:"computer",type:"computer_20241022",display_width_px:t.args.displayWidthPx,display_height_px:t.args.displayHeightPx,display_number:t.args.displayNumber,cache_control:void 0});break;case"anthropic.text_editor_20250124":d.add("computer-use-2025-01-24"),h.push({name:"str_replace_editor",type:"text_editor_20250124",cache_control:void 0});break;case"anthropic.text_editor_20241022":d.add("computer-use-2024-10-22"),h.push({name:"str_replace_editor",type:"text_editor_20241022",cache_control:void 0});break;case"anthropic.text_editor_20250429":d.add("computer-use-2025-01-24"),h.push({name:"str_replace_based_edit_tool",type:"text_editor_20250429",cache_control:void 0});break;case"anthropic.text_editor_20250728":{let e=await (0,o.validateTypes)({value:t.args,schema:j});h.push({name:"str_replace_based_edit_tool",type:"text_editor_20250728",max_characters:e.maxCharacters,cache_control:void 0});break}case"anthropic.bash_20250124":d.add("computer-use-2025-01-24"),h.push({name:"bash",type:"bash_20250124",cache_control:void 0});break;case"anthropic.bash_20241022":d.add("computer-use-2024-10-22"),h.push({name:"bash",type:"bash_20241022",cache_control:void 0});break;case"anthropic.memory_20250818":d.add("context-management-2025-06-27"),h.push({name:"memory",type:"memory_20250818"});break;case"anthropic.web_fetch_20250910":{d.add("web-fetch-2025-09-10");let e=await (0,o.validateTypes)({value:t.args,schema:et});h.push({type:"web_fetch_20250910",name:"web_fetch",max_uses:e.maxUses,allowed_domains:e.allowedDomains,blocked_domains:e.blockedDomains,citations:e.citations,max_content_tokens:e.maxContentTokens,cache_control:void 0});break}case"anthropic.web_fetch_20260209":{d.add("code-execution-web-tools-2026-02-09");let e=await (0,o.validateTypes)({value:t.args,schema:Z});h.push({type:"web_fetch_20260209",name:"web_fetch",max_uses:e.maxUses,allowed_domains:e.allowedDomains,blocked_domains:e.blockedDomains,citations:e.citations,max_content_tokens:e.maxContentTokens,cache_control:void 0});break}case"anthropic.web_fetch_20260318":{let e=await (0,o.validateTypes)({value:t.args,schema:V});h.push({type:"web_fetch_20260318",name:"web_fetch",max_uses:e.maxUses,allowed_domains:e.allowedDomains,blocked_domains:e.blockedDomains,citations:e.citations,max_content_tokens:e.maxContentTokens,use_cache:e.useCache,response_inclusion:e.responseInclusion,cache_control:void 0});break}case"anthropic.web_search_20250305":{let e=await (0,o.validateTypes)({value:t.args,schema:H});h.push({type:"web_search_20250305",name:"web_search",max_uses:e.maxUses,allowed_domains:e.allowedDomains,blocked_domains:e.blockedDomains,user_location:e.userLocation,cache_control:void 0});break}case"anthropic.web_search_20260209":{d.add("code-execution-web-tools-2026-02-09");let e=await (0,o.validateTypes)({value:t.args,schema:U});h.push({type:"web_search_20260209",name:"web_search",max_uses:e.maxUses,allowed_domains:e.allowedDomains,blocked_domains:e.blockedDomains,user_location:e.userLocation,cache_control:void 0});break}case"anthropic.web_search_20260318":{let e=await (0,o.validateTypes)({value:t.args,schema:M});h.push({type:"web_search_20260318",name:"web_search",max_uses:e.maxUses,allowed_domains:e.allowedDomains,blocked_domains:e.blockedDomains,user_location:e.userLocation,response_inclusion:e.responseInclusion,cache_control:void 0});break}case"anthropic.tool_search_regex_20251119":h.push({type:"tool_search_tool_regex_20251119",name:"tool_search_tool_regex"});break;case"anthropic.tool_search_bm25_20251119":h.push({type:"tool_search_tool_bm25_20251119",name:"tool_search_tool_bm25"});break;case"anthropic.advisor_20260301":{d.add("advisor-tool-2026-03-01");let e=await (0,o.validateTypes)({value:t.args,schema:x});h.push({type:"advisor_20260301",name:"advisor",model:e.model,...void 0!==e.maxUses&&{max_uses:e.maxUses},...void 0!==e.maxTokens&&{max_tokens:e.maxTokens},...void 0!==e.caching&&{caching:e.caching}});break}default:c.push({type:"unsupported",feature:`provider-defined tool ${t.id}`})}break;default:c.push({type:"unsupported",feature:`tool ${t}`})}if(null==n)return{tools:h,toolChoice:r?{type:"auto",disable_parallel_tool_use:r}:void 0,toolWarnings:c,betas:d};let m=n.type;switch(m){case"auto":return{tools:h,toolChoice:{type:"auto",disable_parallel_tool_use:r},toolWarnings:c,betas:d};case"required":if(u)return c.push({type:"unsupported",feature:"toolChoice",details:"toolChoice 'required' is not supported by this model because it rejects forced tool use. Using 'auto' instead. Instruct the model to use a tool in the prompt and verify that a tool call was made."}),{tools:h,toolChoice:{type:"auto",disable_parallel_tool_use:r},toolWarnings:c,betas:d};return{tools:h,toolChoice:{type:"any",disable_parallel_tool_use:r},toolWarnings:c,betas:d};case"none":return{tools:void 0,toolChoice:void 0,toolWarnings:c,betas:d};case"tool":if(u)return c.push({type:"unsupported",feature:"toolChoice",details:`toolChoice 'tool' is not supported by this model because it rejects forced tool use. Only the '${n.toolName}' tool is sent with 'auto' tool choice. Instruct the model to use the tool in the prompt and verify that a tool call was made.`}),{tools:h.filter(e=>"name"in e&&e.name===n.toolName),toolChoice:{type:"auto",disable_parallel_tool_use:r},toolWarnings:c,betas:d};return{tools:h,toolChoice:{type:"tool",name:n.toolName,disable_parallel_tool_use:r},toolWarnings:c,betas:d};default:throw new t.UnsupportedFunctionalityError({functionality:`tool choice type: ${m}`})}}function ea({usage:e,rawUsage:t}){let n,o,r=e.cache_creation_input_tokens??0,i=e.cache_read_input_tokens??0,a=e.output_tokens_details?.thinking_tokens??void 0,s=e.iterations?.some(e=>"fallback_message"===e.type);if(e.iterations&&e.iterations.length>0&&!s){let t=e.iterations.filter(e=>"compaction"===e.type||"message"===e.type);if(t.length>0){let e=t.reduce((e,t)=>({input:e.input+t.input_tokens,output:e.output+t.output_tokens}),{input:0,output:0});n=e.input,o=e.output}else n=e.input_tokens,o=e.output_tokens}else n=e.input_tokens,o=e.output_tokens;return{inputTokens:{total:n+r+i,noCache:n,cacheRead:i,cacheWrite:r},outputTokens:{total:o,text:null==a?void 0:o-a,reasoning:a},raw:t??e}}let es=(0,o.lazySchema)(()=>(0,o.zodSchema)(i.z.object({type:i.z.literal("code_execution_result"),stdout:i.z.string(),stderr:i.z.string(),return_code:i.z.number(),content:i.z.array(i.z.object({type:i.z.literal("code_execution_output"),file_id:i.z.string()})).optional().default([])}))),el=(0,o.lazySchema)(()=>(0,o.zodSchema)(i.z.object({code:i.z.string()}))),eu=(0,o.createProviderExecutedToolFactory)({id:"anthropic.code_execution_20250522",inputSchema:el,outputSchema:es}),ec=(0,o.lazySchema)(()=>(0,o.zodSchema)(i.z.discriminatedUnion("type",[i.z.object({type:i.z.literal("code_execution_result"),stdout:i.z.string(),stderr:i.z.string(),return_code:i.z.number(),content:i.z.array(i.z.object({type:i.z.literal("code_execution_output"),file_id:i.z.string()})).optional().default([])}),i.z.object({type:i.z.literal("bash_code_execution_result"),content:i.z.array(i.z.object({type:i.z.literal("bash_code_execution_output"),file_id:i.z.string()})),stdout:i.z.string(),stderr:i.z.string(),return_code:i.z.number()}),i.z.object({type:i.z.literal("bash_code_execution_tool_result_error"),error_code:i.z.string()}),i.z.object({type:i.z.literal("text_editor_code_execution_tool_result_error"),error_code:i.z.string()}),i.z.object({type:i.z.literal("text_editor_code_execution_view_result"),content:i.z.string(),file_type:i.z.string(),num_lines:i.z.number().nullable(),start_line:i.z.number().nullable(),total_lines:i.z.number().nullable()}),i.z.object({type:i.z.literal("text_editor_code_execution_create_result"),is_file_update:i.z.boolean()}),i.z.object({type:i.z.literal("text_editor_code_execution_str_replace_result"),lines:i.z.array(i.z.string()).nullable(),new_lines:i.z.number().nullable(),new_start:i.z.number().nullable(),old_lines:i.z.number().nullable(),old_start:i.z.number().nullable()})]))),ed=(0,o.lazySchema)(()=>(0,o.zodSchema)(i.z.discriminatedUnion("type",[i.z.object({type:i.z.literal("programmatic-tool-call"),code:i.z.string()}),i.z.object({type:i.z.literal("bash_code_execution"),command:i.z.string()}),i.z.discriminatedUnion("command",[i.z.object({type:i.z.literal("text_editor_code_execution"),command:i.z.literal("view"),path:i.z.string()}),i.z.object({type:i.z.literal("text_editor_code_execution"),command:i.z.literal("create"),path:i.z.string(),file_text:i.z.string().nullish()}),i.z.object({type:i.z.literal("text_editor_code_execution"),command:i.z.literal("str_replace"),path:i.z.string(),old_str:i.z.string(),new_str:i.z.string()})])]))),ep=(0,o.createProviderExecutedToolFactory)({id:"anthropic.code_execution_20250825",inputSchema:ed,outputSchema:ec,supportsDeferredResults:!0}),eh=(0,o.lazySchema)(()=>(0,o.zodSchema)(i.z.discriminatedUnion("type",[i.z.object({type:i.z.literal("code_execution_result"),stdout:i.z.string(),stderr:i.z.string(),return_code:i.z.number(),content:i.z.array(i.z.object({type:i.z.literal("code_execution_output"),file_id:i.z.string()})).optional().default([])}),i.z.object({type:i.z.literal("encrypted_code_execution_result"),encrypted_stdout:i.z.string(),stderr:i.z.string(),return_code:i.z.number(),content:i.z.array(i.z.object({type:i.z.literal("code_execution_output"),file_id:i.z.string()})).optional().default([])}),i.z.object({type:i.z.literal("bash_code_execution_result"),content:i.z.array(i.z.object({type:i.z.literal("bash_code_execution_output"),file_id:i.z.string()})),stdout:i.z.string(),stderr:i.z.string(),return_code:i.z.number()}),i.z.object({type:i.z.literal("bash_code_execution_tool_result_error"),error_code:i.z.string()}),i.z.object({type:i.z.literal("text_editor_code_execution_tool_result_error"),error_code:i.z.string()}),i.z.object({type:i.z.literal("text_editor_code_execution_view_result"),content:i.z.string(),file_type:i.z.string(),num_lines:i.z.number().nullable(),start_line:i.z.number().nullable(),total_lines:i.z.number().nullable()}),i.z.object({type:i.z.literal("text_editor_code_execution_create_result"),is_file_update:i.z.boolean()}),i.z.object({type:i.z.literal("text_editor_code_execution_str_replace_result"),lines:i.z.array(i.z.string()).nullable(),new_lines:i.z.number().nullable(),new_start:i.z.number().nullable(),old_lines:i.z.number().nullable(),old_start:i.z.number().nullable()})]))),em=(0,o.lazySchema)(()=>(0,o.zodSchema)(i.z.discriminatedUnion("type",[i.z.object({type:i.z.literal("programmatic-tool-call"),code:i.z.string()}),i.z.object({type:i.z.literal("bash_code_execution"),command:i.z.string()}),i.z.discriminatedUnion("command",[i.z.object({type:i.z.literal("text_editor_code_execution"),command:i.z.literal("view"),path:i.z.string()}),i.z.object({type:i.z.literal("text_editor_code_execution"),command:i.z.literal("create"),path:i.z.string(),file_text:i.z.string().nullish()}),i.z.object({type:i.z.literal("text_editor_code_execution"),command:i.z.literal("str_replace"),path:i.z.string(),old_str:i.z.string(),new_str:i.z.string()})])]))),eg=(0,o.createProviderExecutedToolFactory)({id:"anthropic.code_execution_20260120",inputSchema:em,outputSchema:eh,supportsDeferredResults:!0}),ef=(0,o.lazySchema)(()=>(0,o.zodSchema)(i.z.array(i.z.object({type:i.z.literal("tool_reference"),toolName:i.z.string()})))),ey=(0,o.lazySchema)(()=>(0,o.zodSchema)(i.z.object({pattern:i.z.string(),limit:i.z.number().optional()}))),eb=(0,o.createProviderExecutedToolFactory)({id:"anthropic.tool_search_regex_20251119",inputSchema:ey,outputSchema:ef,supportsDeferredResults:!0});function e_(e){try{if("string"==typeof e)return(0,o.secureJsonParse)(e);if("object"==typeof e&&null!==e)return e}catch{let t=e?.errorCode;return{errorCode:"string"==typeof t?t:"unavailable"}}return{}}async function ew({prompt:e,sendReasoning:n,warnings:r,cacheControlValidator:i,toolNameMapping:a,toolsetNames:s={}}){let l,u=new Set,d=function(e){let t,n=[];for(let o of e){let{role:e}=o;switch(e){case"system":t?.type!=="system"&&(t={type:"system",messages:[]},n.push(t)),t.messages.push(o);break;case"assistant":t?.type!=="assistant"&&(t={type:"assistant",messages:[]},n.push(t)),t.messages.push(o);break;case"user":case"tool":t?.type!=="user"&&(t={type:"user",messages:[]},n.push(t)),t.messages.push(o);break;default:throw Error(`Unsupported role: ${e}`)}}return n}(e),p=i||new k,h=[],m=-1;async function g(e){return(await (0,o.parseProviderOptions)({provider:"anthropic",providerOptions:e,schema:w}))?.citations?.enabled??!1}async function f(e){return(await (0,o.parseProviderOptions)({provider:"anthropic",providerOptions:e,schema:w}))?.containerUpload??!1}async function y(e){let t=await (0,o.parseProviderOptions)({provider:"anthropic",providerOptions:e,schema:w});return{title:t?.title,context:t?.context}}for(let e=0;e<d.length;e++){let i=d[e],w=e===d.length-1,v=i.type;switch(v){case"system":{let t=[];for(let{content:e,providerOptions:n}of i.messages){let r=await (0,o.parseProviderOptions)({provider:"anthropic",providerOptions:n,schema:z}),i=r?.toolChanges??[],s=[];for(let t of((""!==e||0===i.length&&r?.clearAt==null&&r?.effort==null)&&s.push({type:"text",text:e,cache_control:p.getCacheControl(n,{type:"system message",canCache:!0})}),i))s.push({type:t.type,tool:{type:"tool_reference",name:a.toProviderToolName(t.toolName)}});t.push({content:s,clearAt:r?.clearAt,effort:r?.effort,toolChangeCount:i.length})}let n=t.reduce((e,t)=>e+t.toolChangeCount,0),s=t.some(e=>null!=e.clearAt||null!=e.effort);if(0!==e&&(null!=l||0!==n||s))for(let e of(u.add("mid-conversation-system-2026-04-07"),t))h.push({role:"system",content:e.content,...null!=e.clearAt&&{clear_at:e.clearAt},...null!=e.effort&&{output_config:{effort:e.effort}}}),e.toolChangeCount>0&&u.add("mid-conversation-tool-changes-2026-07-01"),null!=e.clearAt&&u.add("mid-conversation-system-clear-at-2026-08-21"),null!=e.effort&&u.add("mid-conversation-output-config-2026-07-01");else{for(let e of(n>0&&r.push({type:"other",message:"tool changes on the initial system message are not supported by Anthropic. Configure the initial tool set via the tools option instead. The tool changes have been ignored."}),t))0===e.content.length&&null==e.clearAt&&null!=e.effort?(h.push({role:"system",content:[],output_config:{effort:e.effort}}),u.add("mid-conversation-output-config-2026-07-01")):(null!=e.clearAt||null!=e.effort)&&r.push({type:"other",message:"clearAt and effort on this initial system message are not supported by Anthropic. Use a separate effort-only system message with empty content to set effort. These options have been ignored."});l=t.flatMap(e=>e.content.filter(e=>"text"===e.type))}break}case"user":{let e=[];for(let n of i.messages){let{role:i,content:a}=n;switch(i){case"user":a.length>0&&(m=h.length);for(let r=0;r<a.length;r++){let i=a[r],s=r===a.length-1,l=p.getCacheControl(i.providerOptions,{type:"user message part",canCache:!0})??(s?p.getCacheControl(n.providerOptions,{type:"user message",canCache:!0}):void 0);switch(i.type){case"text":e.push({type:"text",text:i.text,cache_control:l});break;case"file":switch(i.data.type){case"reference":{let t=(0,o.resolveProviderReference)({reference:i.data.reference,provider:"anthropic"});u.add("files-api-2025-04-14"),await f(i.providerOptions)?e.push({type:"container_upload",file_id:t}):"image"===(0,o.getTopLevelMediaType)(i.mediaType)?e.push({type:"image",source:{type:"file",file_id:t},cache_control:l}):e.push({type:"document",source:{type:"file",file_id:t},cache_control:l});break}case"text":{let t=await g(i.providerOptions),n=await y(i.providerOptions);e.push({type:"document",source:{type:"text",media_type:"text/plain",data:i.data.text},title:n.title??i.filename,...n.context&&{context:n.context},...t&&{citations:{enabled:!0}},cache_control:l});break}case"url":case"data":{let n=(0,o.getTopLevelMediaType)(i.mediaType);if("image"===n)e.push({type:"image",source:"url"===i.data.type?{type:"url",url:i.data.url.toString()}:{type:"base64",media_type:(0,o.resolveFullMediaType)({part:i}),data:(0,o.convertToBase64)(i.data.data)},cache_control:l});else if("application"===n&&("url"===i.data.type?"application/pdf"===i.mediaType:"application/pdf"===(0,o.resolveFullMediaType)({part:i}))){u.add("pdfs-2024-09-25");let t=await g(i.providerOptions),n=await y(i.providerOptions);e.push({type:"document",source:"url"===i.data.type?{type:"url",url:i.data.url.toString()}:{type:"base64",media_type:"application/pdf",data:(0,o.convertToBase64)(i.data.data)},title:n.title??i.filename,...n.context&&{context:n.context},...t&&{citations:{enabled:!0}},cache_control:l})}else if("text/plain"===i.mediaType){var b;let t=await g(i.providerOptions),n=await y(i.providerOptions);e.push({type:"document",source:"url"===i.data.type?{type:"url",url:i.data.url.toString()}:{type:"text",media_type:"text/plain",data:"string"==typeof(b=i.data.data)?new TextDecoder().decode((0,o.convertBase64ToUint8Array)(b)):new TextDecoder().decode(b)},title:n.title??i.filename,...n.context&&{context:n.context},...t&&{citations:{enabled:!0}},cache_control:l})}else throw new t.UnsupportedFunctionalityError({functionality:`media type: ${i.mediaType}`})}}}}break;case"tool":for(let t=0;t<a.length;t++){let i,l=a[t];if("tool-approval-response"===l.type)continue;let c=l.output,d="providerOptions"in c?c.providerOptions:"content"===c.type?c.value.find(e=>null!=e.providerOptions)?.providerOptions:void 0,h=t===a.length-1,m=p.getCacheControl(l.providerOptions,{type:"tool result part",canCache:!0})??p.getCacheControl(d,{type:"tool result output",canCache:!0})??(h?p.getCacheControl(n.providerOptions,{type:"tool result message",canCache:!0}):void 0);switch(c.type){case"content":i=c.value.map(e=>{switch(e.type){case"text":return{type:"text",text:e.text};case"file":{let t=(0,o.getTopLevelMediaType)(e.mediaType);if("url"===e.data.type){if("image"===t)return{type:"image",source:{type:"url",url:e.data.url.toString()}};return{type:"document",source:{type:"url",url:e.data.url.toString()}}}if("data"===e.data.type){if("image"===t)return{type:"image",source:{type:"base64",media_type:(0,o.resolveFullMediaType)({part:e}),data:(0,o.convertToBase64)(e.data.data)}};if("application/pdf"===(0,o.resolveFullMediaType)({part:e}))return u.add("pdfs-2024-09-25"),{type:"document",source:{type:"base64",media_type:"application/pdf",data:(0,o.convertToBase64)(e.data.data)}};r.push({type:"other",message:`unsupported tool content part type: ${e.type} with media type: ${e.mediaType}`});return}r.push({type:"other",message:`unsupported tool content part type: ${e.type} with data type: ${e.data.type}`});return}case"custom":{let t=e.providerOptions?.anthropic;if(t?.type==="tool-reference")return{type:"tool_reference",tool_name:t.toolName};r.push({type:"other",message:"unsupported custom tool content part"});return}default:r.push({type:"other",message:`unsupported tool content part type: ${e.type}`});return}}).filter(o.isNonNullable);break;case"text":case"error-text":i=c.value;break;case"execution-denied":i=c.reason??"Tool call execution denied.";break;default:i=JSON.stringify(c.value)}let g=ez({toolName:l.toolName,providerOptions:l.providerOptions,toolsetNames:s});e.push({type:"tool_result",tool_use_id:l.toolCallId,...null!=g&&{toolset_name:g},content:i,is_error:"error-text"===c.type||"error-json"===c.type||void 0,cache_control:m})}break;default:throw Error(`Unsupported role: ${i}`)}}h.push({role:"user",content:e});break}case"assistant":{let e=[],t=new Set;for(let l=0;l<i.messages.length;l++){let d=i.messages[l],h=l===i.messages.length-1,{content:m}=d;for(let i=0;i<m.length;i++){let l=m[i],g=i===m.length-1,f=p.getCacheControl(l.providerOptions,{type:"assistant message part",canCache:!0})??(g?p.getCacheControl(d.providerOptions,{type:"assistant message",canCache:!0}):void 0);switch(l.type){case"text":{let t=l.providerOptions?.anthropic;if(t?.type==="compaction"){if(""===l.text)break;"string"==typeof t.signature&&u.add("compact-2026-09-04"),e.push({type:"compaction",content:l.text,..."string"==typeof t.signature&&{signature:t.signature},cache_control:f})}else e.push({type:"text",text:w&&h&&g?l.text.trim():l.text,...t?.citations!=null&&{citations:t.citations},cache_control:f});break}case"reasoning":if(n){let t=await (0,o.parseProviderOptions)({provider:"anthropic",providerOptions:l.providerOptions,schema:_});null!=t?null!=t.signature?(p.getCacheControl(l.providerOptions,{type:"thinking block",canCache:!1}),e.push({type:"thinking",thinking:l.text,signature:t.signature})):null!=t.redactedData?(p.getCacheControl(l.providerOptions,{type:"redacted thinking block",canCache:!1}),e.push({type:"redacted_thinking",data:t.redactedData})):r.push({type:"other",message:"unsupported reasoning metadata"}):r.push({type:"other",message:"unsupported reasoning metadata"})}else r.push({type:"other",message:"sending reasoning content is disabled for this model"});break;case"custom":{if("anthropic.fallback"!==l.kind)break;let t=await (0,o.safeValidateTypes)({value:l.providerOptions?.anthropic,schema:c});if(!t.success){r.push({type:"other",message:"anthropic fallback metadata must include from.model and to.model"});break}e.push({type:"fallback",from:t.value.from,to:t.value.to});break}case"tool-call":{let n=ev(l.providerOptions);if(l.providerExecuted){let o=a.toProviderToolName(l.toolName);if(l.providerOptions?.anthropic?.type==="mcp-tool-use"){t.add(l.toolCallId);let n=l.providerOptions?.anthropic?.serverName;if(null==n||"string"!=typeof n){r.push({type:"other",message:"mcp tool use server name is required and must be a string"});break}e.push({type:"mcp_tool_use",id:l.toolCallId,name:l.toolName,input:l.input,server_name:n,cache_control:f})}else if("code_execution"===o&&null!=l.input&&"object"==typeof l.input&&"type"in l.input&&"string"==typeof l.input.type&&("bash_code_execution"===l.input.type||"text_editor_code_execution"===l.input.type)){let{type:t,...o}=l.input;e.push({type:"server_tool_use",id:l.toolCallId,name:t,input:o,...n&&{caller:n},cache_control:f})}else if("code_execution"===o&&null!=l.input&&"object"==typeof l.input&&"type"in l.input&&"programmatic-tool-call"===l.input.type){let{type:t,...o}=l.input;e.push({type:"server_tool_use",id:l.toolCallId,name:"code_execution",input:o,...n&&{caller:n},cache_control:f})}else"code_execution"===o||"web_fetch"===o||"web_search"===o||"tool_search_tool_regex"===o||"tool_search_tool_bm25"===o?e.push({type:"server_tool_use",id:l.toolCallId,name:o,input:l.input,...n&&{caller:n},cache_control:f}):"advisor"===o?e.push({type:"server_tool_use",id:l.toolCallId,name:"advisor",input:{},...n&&{caller:n},cache_control:f}):r.push({type:"other",message:`provider executed tool call for tool ${l.toolName} is not supported`});break}let o=ez({toolName:l.toolName,providerOptions:l.providerOptions,toolsetNames:s});if(null!=o){let{action:t,...i}=ek(l.input);if("string"!=typeof t){r.push({type:"other",message:`toolset tool call for tool ${l.toolName} is missing the action`});break}e.push({type:"tool_use",id:l.toolCallId,name:t,toolset_name:o,input:i,...n&&{caller:n},cache_control:f});break}e.push({type:"tool_use",id:l.toolCallId,name:l.toolName,input:ek(l.input),...n&&{caller:n},cache_control:f});break}case"tool-result":{let n=a.toProviderToolName(l.toolName),i=ev(l.providerOptions);if(t.has(l.toolCallId)){let t=l.output;if("json"!==t.type&&"error-json"!==t.type){r.push({type:"other",message:`provider executed tool result output type ${t.type} for tool ${l.toolName} is not supported`});break}e.push({type:"mcp_tool_result",tool_use_id:l.toolCallId,is_error:"error-json"===t.type,content:t.value,cache_control:f})}else if("code_execution"===n){let t=l.output;if("error-text"===t.type||"error-json"===t.type){let n={};try{"string"==typeof t.value?n=(0,o.secureJsonParse)(t.value):"object"==typeof t.value&&null!==t.value&&(n=t.value)}catch{}"code_execution_tool_result_error"===n.type?e.push({type:"code_execution_tool_result",tool_use_id:l.toolCallId,content:{type:"code_execution_tool_result_error",error_code:n.errorCode??"unknown"},cache_control:f}):e.push({type:"bash_code_execution_tool_result",tool_use_id:l.toolCallId,cache_control:f,content:{type:"bash_code_execution_tool_result_error",error_code:n.errorCode??"unknown"}});break}if("json"!==t.type){r.push({type:"other",message:`provider executed tool result output type ${t.type} for tool ${l.toolName} is not supported`});break}if(null==t.value||"object"!=typeof t.value||!("type"in t.value)||"string"!=typeof t.value.type){r.push({type:"other",message:`provider executed tool result output value is not a valid code execution result for tool ${l.toolName}`});break}if("code_execution_result"===t.value.type){let n=await (0,o.validateTypes)({value:t.value,schema:es});e.push({type:"code_execution_tool_result",tool_use_id:l.toolCallId,content:{type:n.type,stdout:n.stdout,stderr:n.stderr,return_code:n.return_code,content:n.content??[]},cache_control:f})}else if("encrypted_code_execution_result"===t.value.type){let n=await (0,o.validateTypes)({value:t.value,schema:eh});"encrypted_code_execution_result"===n.type&&e.push({type:"code_execution_tool_result",tool_use_id:l.toolCallId,content:{type:n.type,encrypted_stdout:n.encrypted_stdout,stderr:n.stderr,return_code:n.return_code,content:n.content??[]},cache_control:f})}else{let n=await (0,o.validateTypes)({value:t.value,schema:ec});"code_execution_result"===n.type?e.push({type:"code_execution_tool_result",tool_use_id:l.toolCallId,content:{type:n.type,stdout:n.stdout,stderr:n.stderr,return_code:n.return_code,content:n.content??[]},cache_control:f}):"bash_code_execution_result"===n.type||"bash_code_execution_tool_result_error"===n.type?e.push({type:"bash_code_execution_tool_result",tool_use_id:l.toolCallId,cache_control:f,content:"bash_code_execution_result"===n.type?{type:n.type,stdout:n.stdout,stderr:n.stderr,return_code:n.return_code,content:n.content}:n}):e.push({type:"text_editor_code_execution_tool_result",tool_use_id:l.toolCallId,cache_control:f,content:n})}break}if("web_fetch"===n){let t=l.output;if("error-json"===t.type){e.push({type:"web_fetch_tool_result",tool_use_id:l.toolCallId,content:{type:"web_fetch_tool_result_error",error_code:e_(t.value).errorCode??"unavailable"},...i&&{caller:i},cache_control:f});break}if("json"!==t.type){r.push({type:"other",message:`provider executed tool result output type ${t.type} for tool ${l.toolName} is not supported`});break}let n=await (0,o.validateTypes)({value:t.value,schema:en});e.push({type:"web_fetch_tool_result",tool_use_id:l.toolCallId,content:{type:"web_fetch_result",url:n.url,retrieved_at:n.retrievedAt,content:{type:"document",title:n.content.title,citations:n.content.citations,source:{type:n.content.source.type,media_type:n.content.source.mediaType,data:n.content.source.data}}},...i&&{caller:i},cache_control:f});break}if("web_search"===n){let t=l.output;if("error-json"===t.type){e.push({type:"web_search_tool_result",tool_use_id:l.toolCallId,content:{type:"web_search_tool_result_error",error_code:e_(t.value).errorCode??"unavailable"},...i&&{caller:i},cache_control:f});break}if("json"!==t.type){r.push({type:"other",message:`provider executed tool result output type ${t.type} for tool ${l.toolName} is not supported`});break}let n=await (0,o.validateTypes)({value:t.value,schema:B});e.push({type:"web_search_tool_result",tool_use_id:l.toolCallId,content:n.map(e=>({url:e.url,title:e.title,page_age:e.pageAge,encrypted_content:e.encryptedContent,type:e.type})),...i&&{caller:i},cache_control:f});break}if("tool_search_tool_regex"===n||"tool_search_tool_bm25"===n){let t=l.output;if("json"!==t.type){r.push({type:"other",message:`provider executed tool result output type ${t.type} for tool ${l.toolName} is not supported`});break}let n=(await (0,o.validateTypes)({value:t.value,schema:ef})).map(e=>({type:"tool_reference",tool_name:e.toolName}));e.push({type:"tool_search_tool_result",tool_use_id:l.toolCallId,content:{type:"tool_search_tool_search_result",tool_references:n},cache_control:f});break}if("advisor"===n){let t=l.output;if("json"!==t.type&&"error-json"!==t.type){r.push({type:"other",message:`provider executed tool result output type ${t.type} for tool ${l.toolName} is not supported`});break}let n=await (0,o.validateTypes)({value:t.value,schema:S});"advisor_result"===n.type?e.push({type:"advisor_tool_result",tool_use_id:l.toolCallId,content:{type:"advisor_result",text:n.text,...void 0!==n.stopReason&&{stop_reason:n.stopReason}},cache_control:f}):"advisor_redacted_result"===n.type?e.push({type:"advisor_tool_result",tool_use_id:l.toolCallId,content:{type:"advisor_redacted_result",encrypted_content:n.encryptedContent,...void 0!==n.stopReason&&{stop_reason:n.stopReason}},cache_control:f}):e.push({type:"advisor_tool_result",tool_use_id:l.toolCallId,content:{type:"advisor_tool_result_error",error_code:n.errorCode},cache_control:f});break}r.push({type:"other",message:`provider executed tool result for tool ${l.toolName} is not supported`})}}}}e.length>0&&h.push({role:"assistant",content:function(e){let t=[],n=[];function o(){t.push(...n.filter(e=>"tool_use"!==e.type),...n.filter(e=>"tool_use"===e.type)),n=[]}for(let r of e)"thinking"===r.type||"redacted_thinking"===r.type||"fallback"===r.type?(o(),t.push(r)):n.push(r);return o(),t}(e)});break}default:throw Error(`content type: ${v}`)}}let v=new Set;for(let e of h)if("assistant"===e.role)for(let t of e.content)"server_tool_use"===t.type&&"code_execution"===t.name&&v.add(t.id);let x=new Set;for(let e=0;e<m;e++){let t=h[e];if("assistant"===t.role)for(let e of t.content){if(!("caller"in e))continue;let t=e.caller;if(null==t||"direct"===t.type||v.has(t.tool_id))continue;let n="id"in e?e.id:e.tool_use_id;delete e.caller,x.has(n)||(x.add(n),r.push({type:"other",message:`Omitted caller metadata for tool ${n} because source code execution tool ${t.tool_id} is missing from the conversation history.`}))}}return{prompt:{system:l,messages:h},betas:u}}function ez({toolName:e,providerOptions:t,toolsetNames:n}){let o=n[e];if(null!=o)return o;let r=t?.anthropic?.toolsetName;return"string"==typeof r?r:void 0}function ev(e){let t=e?.anthropic?.caller;return(t?.type==="code_execution_20250825"||t?.type==="code_execution_20260120")&&t.toolId?{type:t.type,tool_id:t.toolId}:t?.type==="direct"?{type:"direct"}:void 0}function ek(e){return"object"!=typeof e||null===e||Array.isArray(e)?{rawInvalidInput:e}:e}function ex({finishReason:e,isJsonResponseFromTool:t}){switch(e){case"pause_turn":case"end_turn":case"stop_sequence":return"stop";case"refusal":return"content-filter";case"tool_use":return t?"stop":"tool-calls";case"max_tokens":case"model_context_window_exceeded":return"length";default:return"other"}}let eS=new Set(["date-time","time","date","duration","email","hostname","uri","ipv4","ipv6","uuid"]),eT=["minimum","maximum","exclusiveMinimum","exclusiveMaximum","multipleOf","minLength","maxLength","pattern","minItems","maxItems","uniqueItems","minProperties","maxProperties","not"];function eI(e){return"boolean"!=typeof e&&(0,o.isRecord)(e)?eO(e):e}function eO(e){var t;let n,o={};if(null!=e.$ref)return{$ref:e.$ref};null!=e.$schema&&(o.$schema=e.$schema),null!=e.$id&&(o.$id=e.$id),null!=e.title&&(o.title=e.title),null!=e.description&&(o.description=e.description),void 0!==e.default&&(o.default=e.default),void 0!==e.const&&(o.const=e.const),null!=e.enum&&(o.enum=e.enum),null!=e.type&&(o.type=e.type),null!=e.anyOf?o.anyOf=e.anyOf.map(eI):null!=e.oneOf&&(o.anyOf=e.oneOf.map(eI)),null!=e.allOf&&(o.allOf=e.allOf.map(eI)),null!=e.definitions&&(o.definitions=Object.fromEntries(Object.entries(e.definitions).map(([e,t])=>[e,eI(t)]))),null!=e.$defs&&(o.$defs=Object.fromEntries(Object.entries(e.$defs).map(([e,t])=>[e,eI(t)]))),("object"===e.type||null!=e.properties)&&(null!=e.properties&&(o.properties=Object.fromEntries(Object.entries(e.properties).map(([e,t])=>[e,eI(t)]))),o.additionalProperties=!1,null!=e.required&&(o.required=e.required)),null!=e.items&&(o.items=Array.isArray(e.items)?e.items.map(eI):eI(e.items)),"string"==typeof e.format&&eS.has(e.format)&&(o.format=e.format);let r=(t=e,n=eT.flatMap(e=>{var n;let o=t[e];return null==o||!1===o?[]:`${e.replace(/[A-Z]/g,e=>` ${e.toLowerCase()}`)}: ${"string"==typeof(n=o)?n:JSON.stringify(n)}`}),"string"!=typeof t.format||eS.has(t.format)||n.push(`format: ${t.format}`),0===n.length?void 0:`${n.join("; ")}.`);return null!=r&&(o.description=null==o.description?r:`${o.description}
|
|
156
|
+
${r}`),o}function eE(e,t,n){if("web_search_result_location"===e.type)return{type:"source",sourceType:"url",id:n(),url:e.url,title:e.title??void 0,providerMetadata:{anthropic:{citedText:e.cited_text,encryptedIndex:e.encrypted_index}}};if("page_location"!==e.type&&"char_location"!==e.type)return;let o=t[e.document_index];if(o)return{type:"source",sourceType:"document",id:n(),mediaType:o.mediaType,title:e.document_title??o.title,filename:o.filename,providerMetadata:{anthropic:"page_location"===e.type?{citedText:e.cited_text,startPageNumber:e.start_page_number,endPageNumber:e.end_page_number}:{citedText:e.cited_text,startCharIndex:e.start_char_index,endCharIndex:e.end_char_index}}}}function eC(e){return null==e?void 0:{type:e.type,toolId:"tool_id"in e?e.tool_id:void 0}}function eA(e){let t=eC(e);return null==t?{}:{providerMetadata:{anthropic:{caller:t}}}}function ej({memberName:e,input:t}){return{action:e,..."object"==typeof t&&null!==t&&!Array.isArray(t)?t:{}}}var eR=class e{static[n.WORKFLOW_SERIALIZE](e){return(0,o.serializeModelOptions)({modelId:e.modelId,config:e.config})}static[n.WORKFLOW_DESERIALIZE](t){return new e(t.modelId,t.config)}constructor(e,t){this.specificationVersion="v4",this.modelId=e,this.config=t,this.generateId=t.generateId??o.generateId}supportsUrl(e){return"https:"===e.protocol}get provider(){return this.config.provider}get supportedUrls(){return this.config.supportedUrls?.()??{}}static async prepareRequest({modelId:e,config:n,options:{userSuppliedBetas:r,prompt:i,maxOutputTokens:a,temperature:s,topP:l,topK:u,frequencyPenalty:c,presencePenalty:d,stopSequences:p,responseFormat:h,seed:m,tools:g,toolChoice:f,reasoning:y,providerOptions:b,stream:_}}){var w;let z,x=[];null!=c&&x.push({type:"unsupported",feature:"frequencyPenalty"}),null!=d&&x.push({type:"unsupported",feature:"presencePenalty"}),null!=m&&x.push({type:"unsupported",feature:"seed"}),null!=s&&s>1?(x.push({type:"unsupported",feature:"temperature",details:`${s} exceeds anthropic maximum of 1.0. clamped to 1.0`}),s=1):null!=s&&s<0&&(x.push({type:"unsupported",feature:"temperature",details:`${s} is below anthropic minimum of 0. clamped to 0`}),s=0),h?.type==="json"&&null==h.schema&&x.push({type:"unsupported",feature:"responseFormat",details:"JSON response format requires a schema. The response format is ignored."});let S=-1===(z=(w=n.provider).indexOf("."))?w:w.substring(0,z),T=await (0,o.parseProviderOptions)({provider:"anthropic",providerOptions:b,schema:v}),I="anthropic"!==S?await (0,o.parseProviderOptions)({provider:S,providerOptions:b,schema:v}):null,O=null!=I,E=Object.assign({},T??{},I??{}),{maxOutputTokens:C,supportsStructuredOutput:A,supportsAdaptiveThinking:j,rejectsSamplingParameters:R,supportsXhighEffort:$,rejectsThinkingDisabledAboveHighEffort:M,rejectsThinkingDisabled:N,rejectsForcedToolUse:L,supportsBetweenToolsThinking:P,isKnownModel:U}=function(e){if(e.includes("claude-sonnet-5-5"))return{maxOutputTokens:128e3,supportsStructuredOutput:!0,supportsAdaptiveThinking:!0,rejectsSamplingParameters:!0,supportsXhighEffort:!0,rejectsThinkingDisabledAboveHighEffort:!0,rejectsThinkingDisabled:!0,rejectsForcedToolUse:!0,supportsBetweenToolsThinking:!0,isKnownModel:!0};if(e.includes("claude-opus-5-5"))return{maxOutputTokens:128e3,supportsStructuredOutput:!0,supportsAdaptiveThinking:!0,rejectsSamplingParameters:!0,supportsXhighEffort:!0,rejectsThinkingDisabledAboveHighEffort:!0,rejectsThinkingDisabled:!0,rejectsForcedToolUse:!0,supportsBetweenToolsThinking:!1,isKnownModel:!0};if(e.includes("claude-opus-5"))return{maxOutputTokens:128e3,supportsStructuredOutput:!0,supportsAdaptiveThinking:!0,rejectsSamplingParameters:!0,supportsXhighEffort:!0,rejectsThinkingDisabledAboveHighEffort:!0,rejectsThinkingDisabled:!1,rejectsForcedToolUse:!1,supportsBetweenToolsThinking:!1,isKnownModel:!0};if(e.includes("claude-fable-5-1"))return{maxOutputTokens:128e3,supportsStructuredOutput:!0,supportsAdaptiveThinking:!0,rejectsSamplingParameters:!0,supportsXhighEffort:!0,rejectsThinkingDisabledAboveHighEffort:!1,rejectsThinkingDisabled:!0,rejectsForcedToolUse:!0,supportsBetweenToolsThinking:!1,isKnownModel:!0};if(e.includes("claude-fable-5"))return{maxOutputTokens:128e3,supportsStructuredOutput:!0,supportsAdaptiveThinking:!0,rejectsSamplingParameters:!0,supportsXhighEffort:!0,rejectsThinkingDisabledAboveHighEffort:!1,rejectsThinkingDisabled:!0,rejectsForcedToolUse:!1,supportsBetweenToolsThinking:!1,isKnownModel:!0};else if(e.includes("claude-opus-4-8")||e.includes("claude-opus-4-7")||e.includes("claude-sonnet-5"))return{maxOutputTokens:128e3,supportsStructuredOutput:!0,supportsAdaptiveThinking:!0,rejectsSamplingParameters:!0,supportsXhighEffort:!0,rejectsThinkingDisabledAboveHighEffort:!1,rejectsThinkingDisabled:!1,rejectsForcedToolUse:!1,supportsBetweenToolsThinking:!1,isKnownModel:!0};else if(e.includes("claude-sonnet-4-6")||e.includes("claude-opus-4-6"))return{maxOutputTokens:128e3,supportsStructuredOutput:!0,supportsAdaptiveThinking:!0,rejectsSamplingParameters:!1,supportsXhighEffort:!1,rejectsThinkingDisabledAboveHighEffort:!1,rejectsThinkingDisabled:!1,rejectsForcedToolUse:!1,supportsBetweenToolsThinking:!1,isKnownModel:!0};else if(e.includes("claude-sonnet-4-5")||e.includes("claude-opus-4-5")||e.includes("claude-haiku-4-5"))return{maxOutputTokens:64e3,supportsStructuredOutput:!0,supportsAdaptiveThinking:!1,rejectsSamplingParameters:!1,supportsXhighEffort:!1,rejectsThinkingDisabledAboveHighEffort:!1,rejectsThinkingDisabled:!1,rejectsForcedToolUse:!1,supportsBetweenToolsThinking:!1,isKnownModel:!0};else if(e.includes("claude-opus-4-1"))return{maxOutputTokens:32e3,supportsStructuredOutput:!0,supportsAdaptiveThinking:!1,rejectsSamplingParameters:!1,supportsXhighEffort:!1,rejectsThinkingDisabledAboveHighEffort:!1,rejectsThinkingDisabled:!1,rejectsForcedToolUse:!1,supportsBetweenToolsThinking:!1,isKnownModel:!0};else if(/claude-sonnet-4(?:-|@)/.test(e))return{maxOutputTokens:64e3,supportsStructuredOutput:!1,supportsAdaptiveThinking:!1,rejectsSamplingParameters:!1,supportsXhighEffort:!1,rejectsThinkingDisabledAboveHighEffort:!1,rejectsThinkingDisabled:!1,rejectsForcedToolUse:!1,supportsBetweenToolsThinking:!1,isKnownModel:!0};else if(/claude-opus-4(?:-|@)/.test(e))return{maxOutputTokens:32e3,supportsStructuredOutput:!1,supportsAdaptiveThinking:!1,rejectsSamplingParameters:!1,supportsXhighEffort:!1,rejectsThinkingDisabledAboveHighEffort:!1,rejectsThinkingDisabled:!1,rejectsForcedToolUse:!1,supportsBetweenToolsThinking:!1,isKnownModel:!0};else if(e.includes("claude-3-haiku"))return{maxOutputTokens:4096,supportsStructuredOutput:!1,supportsAdaptiveThinking:!1,rejectsSamplingParameters:!1,supportsXhighEffort:!1,rejectsThinkingDisabledAboveHighEffort:!1,rejectsThinkingDisabled:!1,rejectsForcedToolUse:!1,supportsBetweenToolsThinking:!1,isKnownModel:!0};else if(/claude-(?:instant(?:-|$)|v?2(?=$|[-.:])|3(?=$|[-.]))/.test(e))return{maxOutputTokens:4096,supportsStructuredOutput:!1,supportsAdaptiveThinking:!1,rejectsSamplingParameters:!1,supportsXhighEffort:!1,rejectsThinkingDisabledAboveHighEffort:!1,rejectsThinkingDisabled:!1,rejectsForcedToolUse:!1,supportsBetweenToolsThinking:!1,isKnownModel:!1};else if(e.includes("claude-"))return{maxOutputTokens:128e3,supportsStructuredOutput:!0,supportsAdaptiveThinking:!0,rejectsSamplingParameters:!0,supportsXhighEffort:!0,rejectsThinkingDisabledAboveHighEffort:!0,rejectsThinkingDisabled:!1,rejectsForcedToolUse:!1,supportsBetweenToolsThinking:!1,isKnownModel:!1};else return{maxOutputTokens:4096,supportsStructuredOutput:!1,supportsAdaptiveThinking:!1,rejectsSamplingParameters:!1,supportsXhighEffort:!1,rejectsThinkingDisabledAboveHighEffort:!1,rejectsThinkingDisabled:!1,rejectsForcedToolUse:!1,supportsBetweenToolsThinking:!1,isKnownModel:!1}}(e);U||null!=a||x.push({type:"compatibility",feature:"maxOutputTokens",details:`The model "${e}" is unknown. The max output tokens have been limited to ${C}. Set maxOutputTokens explicitly to override this limit.`}),R&&(null!=s&&(x.push({type:"unsupported",feature:"temperature",details:`temperature is not supported by ${e} and will be ignored`}),s=void 0),null!=u&&(x.push({type:"unsupported",feature:"topK",details:`topK is not supported by ${e} and will be ignored`}),u=void 0),null!=l&&(x.push({type:"unsupported",feature:"topP",details:`topP is not supported by ${e} and will be ignored`}),l=void 0));let q=U||e.includes("claude-"),D=(n.supportsNativeStructuredOutput??!0)&&A,F=(n.supportsStrictTools??!0)&&A,H=E?.structuredOutputMode??"auto",B="outputFormat"===H||"auto"===H&&D;!B&&L&&D&&h?.type==="json"&&null!=h.schema&&(x.push({type:"unsupported",feature:"providerOptions.anthropic.structuredOutputMode",details:`structuredOutputMode 'jsonTool' is not supported by ${e} because it rejects forced tool use. Using 'outputFormat' instead.`}),B=!0);let W=h?.type!=="json"||null==h.schema||B?void 0:{type:"function",name:"json",description:"Respond with a JSON object.",inputSchema:h.schema};null!=W&&E?.disableParallelToolUse===!1&&x.push({type:"unsupported",feature:"providerOptions.anthropic.disableParallelToolUse",details:"`disableParallelToolUse: false` is ignored when using the JSON response tool. Parallel tool use is disabled to ensure a single coherent JSON tool call."});let K=E?.contextManagement,V=E?.compaction;if(null!=K&&null!=V)throw new t.InvalidArgumentError({argument:"providerOptions",message:"Anthropic provider options `compaction` and `contextManagement` cannot be used together."});let J=new k,G=(0,o.createToolNameMapping)({tools:g,providerToolNames:{"anthropic.code_execution_20250522":"code_execution","anthropic.code_execution_20250825":"code_execution","anthropic.code_execution_20260120":"code_execution","anthropic.computer_20241022":"computer","anthropic.computer_20250124":"computer","anthropic.computer_20251124":"computer","anthropic.computer_toolset_20260801":"computer","anthropic.text_editor_20241022":"str_replace_editor","anthropic.text_editor_20250124":"str_replace_editor","anthropic.text_editor_20250429":"str_replace_based_edit_tool","anthropic.text_editor_20250728":"str_replace_based_edit_tool","anthropic.bash_20241022":"bash","anthropic.bash_20250124":"bash","anthropic.memory_20250818":"memory","anthropic.web_search_20250305":"web_search","anthropic.web_search_20260209":"web_search","anthropic.web_search_20260318":"web_search","anthropic.web_fetch_20250910":"web_fetch","anthropic.web_fetch_20260209":"web_fetch","anthropic.web_fetch_20260318":"web_fetch","anthropic.tool_search_regex_20251119":"tool_search_tool_regex","anthropic.tool_search_bm25_20251119":"tool_search_tool_bm25","anthropic.advisor_20260301":"advisor"}}),Y=function(e){let t={};for(let n of e??[])"provider"===n.type&&"anthropic.computer_toolset_20260801"===n.id&&(t[n.name]="computer");return t}(g),{prompt:Z,betas:X}=await ew({prompt:i,sendReasoning:E?.sendReasoning??!0,warnings:x,cacheControlValidator:J,toolNameMapping:G,toolsetNames:Y});if((0,o.isCustomReasoning)(y)&&E?.effort==null){let t=function({reasoning:e,modelId:t,supportsAdaptiveThinking:n,supportsXhighEffort:r,rejectsThinkingDisabled:i,supportsBetweenToolsThinking:a,maxOutputTokensForModel:s,warnings:l}){if(!(0,o.isCustomReasoning)(e))return;if("none"===e)return a?{thinking:{type:"between_tools"}}:i?(l.push({type:"compatibility",feature:"reasoning",details:`reasoning 'none' is not supported by ${t}; it always uses adaptive thinking. Using effort 'low' to minimize thinking instead.`}),{effort:"low"}):{thinking:{type:"disabled"}};if(n)return{thinking:{type:"adaptive",display:"summarized"},effort:(0,o.mapReasoningToProviderEffort)({reasoning:e,effortMap:{minimal:"low",low:"low",medium:"medium",high:"high",xhigh:r?"xhigh":"max"},warnings:l})};let u=(0,o.mapReasoningToProviderBudget)({reasoning:e,maxOutputTokens:s,maxReasoningBudget:s,warnings:l});if(null!=u)return{thinking:{type:"enabled",budgetTokens:u}}}({reasoning:y,modelId:e,supportsAdaptiveThinking:j,supportsXhighEffort:$,rejectsThinkingDisabled:N,supportsBetweenToolsThinking:P,maxOutputTokensForModel:C,warnings:x});null!=t&&(null==E.thinking&&(E.thinking=t.thinking),null!=t.effort&&E.thinking?.type!=="disabled"&&(E.effort=t.effort))}if(N&&E?.thinking!=null){let t=E.thinking;"disabled"===t.type&&P?(x.push({type:"unsupported",feature:"providerOptions.anthropic.thinking",details:`thinking cannot be disabled for ${e}. Using 'between_tools' thinking, the lowest thinking setting, instead.`}),E.thinking={type:"between_tools"}):"disabled"===t.type?(x.push({type:"unsupported",feature:"providerOptions.anthropic.thinking",details:`thinking cannot be disabled for ${e}; it always uses adaptive thinking. The thinking setting has been removed. Lower 'effort' to reduce thinking.`}),E.thinking=void 0):"enabled"===t.type&&(x.push({type:"unsupported",feature:"providerOptions.anthropic.thinking",details:`budget-based thinking is not supported by ${e}; it always uses adaptive thinking. Using adaptive thinking instead. Use 'effort' to control how much the model thinks.`}),E.thinking={type:"adaptive"})}M&&E?.thinking?.type==="disabled"&&("xhigh"===E.effort||"max"===E.effort)&&(x.push({type:"unsupported",feature:"providerOptions.anthropic.effort",details:`effort '${E.effort}' is not supported by ${e} when thinking is disabled. The effort has been lowered to 'high'.`}),E.effort="high"),E?.thinking?.type==="between_tools"&&("xhigh"===E.effort||"max"===E.effort)&&(x.push({type:"unsupported",feature:"providerOptions.anthropic.effort",details:`effort '${E.effort}' is not supported with 'between_tools' thinking. The effort has been lowered to 'high'.`}),E.effort="high");let Q=E?.thinking?.type,ee="enabled"===Q||"adaptive"===Q||"between_tools"===Q,et=E?.thinking!=null&&"blockBinding"in E.thinking?E.thinking.blockBinding:void 0,en=ee||"disabled"===Q||null!=et,eo="enabled"===Q?E?.thinking?.budgetTokens:void 0,er="adaptive"===Q?E?.thinking?.display:void 0,ea=a??C,es={model:e,max_tokens:ea,temperature:s,top_k:u,top_p:l,stop_sequences:p,...en&&{thinking:{...null!=Q&&{type:Q},...null!=eo&&{budget_tokens:eo},...null!=er&&{display:er},...null!=et&&{block_binding:{prefix_mismatch_behavior:et.prefixMismatchBehavior}}}},...(E?.effort||E?.taskBudget||B&&h?.type==="json"&&null!=h.schema)&&{output_config:{...E?.effort&&{effort:E.effort},...E?.taskBudget&&{task_budget:{type:E.taskBudget.type,total:E.taskBudget.total,...null!=E.taskBudget.remaining&&{remaining:E.taskBudget.remaining}}},...B&&h?.type==="json"&&null!=h.schema&&{format:{type:"json_schema",schema:eO(h.schema)}}}},...E?.speed&&{speed:E.speed},...E?.serviceTier&&{service_tier:E.serviceTier},...E?.inferenceGeo&&{inference_geo:E.inferenceGeo},...E?.fallbacks!=null&&("default"===E.fallbacks||E.fallbacks.length>0)&&{fallbacks:E.fallbacks},...E?.cacheControl&&{cache_control:E.cacheControl},...E?.metadata?.userId!=null&&{metadata:{user_id:E.metadata.userId}},...E?.mcpServers&&E.mcpServers.length>0&&{mcp_servers:E.mcpServers.map(e=>({type:e.type,name:e.name,url:e.url,authorization_token:e.authorizationToken,tool_configuration:e.toolConfiguration?{allowed_tools:e.toolConfiguration.allowedTools,enabled:e.toolConfiguration.enabled}:void 0}))},...E?.container&&{container:E.container.skills&&E.container.skills.length>0?{id:E.container.id,skills:E.container.skills.map(e=>({type:e.type,skill_id:"custom"===e.type?(0,o.resolveProviderReference)({reference:e.providerReference,provider:"anthropic"}):e.skillId,version:e.version}))}:E.container.id},system:Z.system,messages:Z.messages,...E?.safeguards&&E.safeguards.length>0&&{safeguards:E.safeguards.map(e=>({type:e.type,...void 0!==e.classifierContext&&{classifier_context:e.classifierContext}}))},...V&&{compaction:{type:V.type,...void 0!==V.instructions&&{instructions:V.instructions}}},...K&&{context_management:{edits:K.edits.map(e=>{let t=e.type;switch(t){case"clear_tool_uses_20250919":return{type:e.type,...void 0!==e.trigger&&{trigger:e.trigger},...void 0!==e.keep&&{keep:e.keep},...void 0!==e.clearAtLeast&&{clear_at_least:e.clearAtLeast},...void 0!==e.clearToolInputs&&{clear_tool_inputs:e.clearToolInputs},...void 0!==e.excludeTools&&{exclude_tools:e.excludeTools}};case"clear_thinking_20251015":return{type:e.type,...void 0!==e.keep&&{keep:e.keep}};case"compact_20260112":return{type:e.type,...void 0!==e.trigger&&{trigger:e.trigger},...void 0!==e.pauseAfterCompaction&&{pause_after_compaction:e.pauseAfterCompaction},...void 0!==e.instructions&&{instructions:e.instructions}};default:x.push({type:"other",message:`Unknown context management strategy: ${t}`});return}}).filter(e=>void 0!==e)}}};ee?("enabled"===Q&&null==eo&&(x.push({type:"compatibility",feature:"extended thinking",details:"thinking budget is required when thinking is enabled. using default budget of 1024 tokens."}),es.thinking={type:"enabled",budget_tokens:1024},eo=1024),null!=es.temperature&&(es.temperature=void 0,x.push({type:"unsupported",feature:"temperature",details:"temperature is not supported when thinking is enabled"})),null!=u&&(es.top_k=void 0,x.push({type:"unsupported",feature:"topK",details:"topK is not supported when thinking is enabled"})),null!=l&&(es.top_p=void 0,x.push({type:"unsupported",feature:"topP",details:"topP is not supported when thinking is enabled"})),es.max_tokens=ea+(eo??0)):q&&null!=l&&null!=s&&(x.push({type:"unsupported",feature:"topP",details:"topP is not supported when temperature is set. topP is ignored."}),es.top_p=void 0),U&&es.max_tokens>C&&(null!=a&&x.push({type:"unsupported",feature:"maxOutputTokens",details:`${es.max_tokens} (maxOutputTokens + thinkingBudget) is greater than ${e} ${C} max output tokens. The max output tokens have been limited to ${C}.`}),es.max_tokens=C),E?.mcpServers&&E.mcpServers.length>0&&X.add("mcp-client-2025-04-04"),E?.safeguards&&E.safeguards.length>0&&X.add("dangerous-tool-use-2026-09-03"),V&&X.add("compact-2026-09-04"),K&&(X.add("context-management-2025-06-27"),K.edits.some(e=>"compact_20260112"===e.type)&&X.add("compact-2026-01-12")),E?.container&&E.container.skills&&E.container.skills.length>0&&(X.add("code-execution-2025-08-25"),X.add("skills-2025-10-02"),X.add("files-api-2025-04-14"),g?.some(e=>"provider"===e.type&&("anthropic.code_execution_20250825"===e.id||"anthropic.code_execution_20260120"===e.id))||x.push({type:"other",message:"code execution tool is required when using skills"})),E?.taskBudget&&X.add("task-budgets-2026-03-13"),E?.speed==="fast"&&X.add("fast-mode-2026-02-01"),"updates"===er&&X.add("thinking-display-updates-2026-08-18"),null!=et&&X.add("thinking-binding-controls-2026-08-01"),E?.fallbacks==="default"?X.add("server-side-fallback-2026-07-01"):E?.fallbacks&&E.fallbacks.length>0&&X.add("server-side-fallback-2026-06-01");let el=_&&(E?.toolStreaming??!0),{tools:eu,toolChoice:ec,toolWarnings:ed,betas:ep}=await ei(null!=W?{tools:[...g??[],W],toolChoice:{type:"required"},disableParallelToolUse:!0,cacheControlValidator:J,supportsStructuredOutput:!1,supportsStrictTools:F,defaultEagerInputStreaming:el,rejectsForcedToolUse:L}:{tools:g??[],toolChoice:f,disableParallelToolUse:E?.disableParallelToolUse,cacheControlValidator:J,supportsStructuredOutput:D,supportsStrictTools:F,defaultEagerInputStreaming:el,rejectsForcedToolUse:L}),eh=J.getWarnings();return{args:{...es,tools:eu,tool_choice:ec,stream:!0===_||void 0},warnings:[...x,...ed,...eh],betas:new Set([...X,...ep,...r,...E?.anthropicBeta??[]]),usesJsonResponseTool:null!=W,toolNameMapping:G,providerOptionsName:S,usedCustomProviderKey:O}}getArgs(t){return e.prepareRequest({modelId:this.modelId,config:this.config,options:t})}async getHeaders({betas:e,headers:t}){return(0,o.combineHeaders)(this.config.headers?await (0,o.resolve)(this.config.headers):void 0,t,e.size>0?{"anthropic-beta":Array.from(e).join(",")}:{})}async getBetasFromHeaders(e){let t=(this.config.headers?await (0,o.resolve)(this.config.headers):void 0)?.["anthropic-beta"]??"",n=e?.["anthropic-beta"]??"";return new Set([...t.toLowerCase().split(","),...n.toLowerCase().split(",")].map(e=>e.trim()).filter(e=>""!==e))}buildRequestUrl(e){return this.config.buildRequestUrl?.(this.config.baseURL,e)??`${this.config.baseURL}/messages`}transformRequestBody(e,t){return this.config.transformRequestBody?.(e,t)??e}extractCitationDocuments(e){return e.filter(e=>"user"===e.role).flatMap(e=>e.content).filter(e=>"file"===e.type&&("application/pdf"===e.mediaType||"text/plain"===e.mediaType)&&(e.providerOptions?.anthropic?.citations?.enabled??!1)).map(e=>({title:e.filename??"Untitled Document",filename:e.filename,mediaType:e.mediaType}))}async doGenerate(e){let t,n,r,{args:i,warnings:a,betas:l,usesJsonResponseTool:u,toolNameMapping:c,providerOptionsName:d,usedCustomProviderKey:p}=await this.getArgs({...e,stream:!1,userSuppliedBetas:await this.getBetasFromHeaders(e.headers)}),h=[...this.extractCitationDocuments(e.prompt)],m=e$(i.tools),{responseHeaders:g,value:f,rawValue:b}=await (0,o.postJsonToApi)({url:this.buildRequestUrl(!1),headers:await this.getHeaders({betas:l,headers:e.headers}),body:this.transformRequestBody(i,l),failedResponseHandler:s,successfulResponseHandler:(0,o.createJsonResponseHandler)(y),abortSignal:e.abortSignal,fetch:this.config.fetch}),_=[],w={},z={},v=!1;for(let e of f.content)switch(e.type){case"text":if(!u){let t=e.citations?.filter(e=>"web_search_result_location"===e.type);if(_.push({type:"text",text:e.text,...null!=t&&t.length>0&&{providerMetadata:{anthropic:{citations:t}}}}),e.citations)for(let t of e.citations){let e=eE(t,h,this.generateId);e&&_.push(e)}}break;case"thinking":_.push({type:"reasoning",text:e.thinking,providerMetadata:{anthropic:{signature:e.signature}}});break;case"redacted_thinking":_.push({type:"reasoning",text:"",providerMetadata:{anthropic:{redactedData:e.data}}});break;case"container_upload":_.push({type:"custom",kind:"anthropic.container_upload",providerMetadata:{anthropic:{fileId:e.file_id}}});break;case"compaction":if(!e.content)break;_.push({type:"text",text:e.content,providerMetadata:{anthropic:{type:"compaction",...null!=e.signature&&{signature:e.signature}}}});break;case"tool_use":u&&"json"===e.name?(v=!0,_.push({type:"text",text:JSON.stringify(e.input)})):null!=e.toolset_name?_.push({type:"tool-call",toolCallId:e.id,toolName:c.toCustomToolName(e.toolset_name),input:JSON.stringify(ej({memberName:e.name,input:e.input})),providerMetadata:{anthropic:{toolsetName:e.toolset_name,...eA(e.caller).providerMetadata?.anthropic}}}):_.push({type:"tool-call",toolCallId:e.id,toolName:e.name,input:JSON.stringify(e.input),...eA(e.caller)});break;case"server_tool_use":if("text_editor_code_execution"===e.name||"bash_code_execution"===e.name)_.push({type:"tool-call",toolCallId:e.id,toolName:c.toCustomToolName("code_execution"),input:JSON.stringify({type:e.name,...e.input}),providerExecuted:!0,...m&&1?{dynamic:!0}:{},...eA(e.caller)});else if("web_search"===e.name||"code_execution"===e.name||"web_fetch"===e.name){let t="code_execution"===e.name&&null!=e.input&&"object"==typeof e.input&&"code"in e.input&&!("type"in e.input)?{type:"programmatic-tool-call",...e.input}:e.input;_.push({type:"tool-call",toolCallId:e.id,toolName:c.toCustomToolName(e.name),input:JSON.stringify(t),providerExecuted:!0,...m&&"code_execution"===e.name?{dynamic:!0}:{},...eA(e.caller)})}else"tool_search_tool_regex"===e.name||"tool_search_tool_bm25"===e.name?(z[e.id]=e.name,_.push({type:"tool-call",toolCallId:e.id,toolName:c.toCustomToolName(e.name),input:JSON.stringify(e.input),providerExecuted:!0,...eA(e.caller)})):"advisor"===e.name&&_.push({type:"tool-call",toolCallId:e.id,toolName:c.toCustomToolName("advisor"),input:JSON.stringify(e.input),providerExecuted:!0,...eA(e.caller)});break;case"mcp_tool_use":w[e.id]={type:"tool-call",toolCallId:e.id,toolName:e.name,input:JSON.stringify(e.input),providerExecuted:!0,dynamic:!0,providerMetadata:{anthropic:{type:"mcp-tool-use",serverName:e.server_name}}},_.push(w[e.id]);break;case"mcp_tool_result":_.push({type:"tool-result",toolCallId:e.tool_use_id,toolName:w[e.tool_use_id].toolName,isError:e.is_error,result:e.content,dynamic:!0,providerMetadata:w[e.tool_use_id].providerMetadata});break;case"web_fetch_tool_result":"web_fetch_result"===e.content.type?(h.push({title:e.content.content.title??e.content.url,mediaType:e.content.content.source.media_type}),_.push({type:"tool-result",toolCallId:e.tool_use_id,toolName:c.toCustomToolName("web_fetch"),result:{type:"web_fetch_result",url:e.content.url,retrievedAt:e.content.retrieved_at,content:{type:e.content.content.type,title:e.content.content.title,citations:e.content.content.citations,source:{type:e.content.content.source.type,mediaType:e.content.content.source.media_type,data:e.content.content.source.data}}},...eA(e.caller)})):"web_fetch_tool_result_error"===e.content.type&&_.push({type:"tool-result",toolCallId:e.tool_use_id,toolName:c.toCustomToolName("web_fetch"),isError:!0,result:{type:"web_fetch_tool_result_error",errorCode:e.content.error_code},...eA(e.caller)});break;case"web_search_tool_result":if(Array.isArray(e.content))for(let t of(_.push({type:"tool-result",toolCallId:e.tool_use_id,toolName:c.toCustomToolName("web_search"),result:e.content.map(e=>({url:e.url,...null!=e.title?{title:e.title}:{},pageAge:e.page_age??null,encryptedContent:e.encrypted_content,type:e.type})),...eA(e.caller)}),e.content))_.push({type:"source",sourceType:"url",id:this.generateId(),url:t.url,...null!=t.title?{title:t.title}:{},providerMetadata:{anthropic:{pageAge:t.page_age??null}}});else _.push({type:"tool-result",toolCallId:e.tool_use_id,toolName:c.toCustomToolName("web_search"),isError:!0,result:{type:"web_search_tool_result_error",errorCode:e.content.error_code},...eA(e.caller)});break;case"code_execution_tool_result":"code_execution_result"===e.content.type?_.push({type:"tool-result",toolCallId:e.tool_use_id,toolName:c.toCustomToolName("code_execution"),result:{type:e.content.type,stdout:e.content.stdout,stderr:e.content.stderr,return_code:e.content.return_code,content:e.content.content??[]}}):"encrypted_code_execution_result"===e.content.type?_.push({type:"tool-result",toolCallId:e.tool_use_id,toolName:c.toCustomToolName("code_execution"),result:{type:e.content.type,encrypted_stdout:e.content.encrypted_stdout,stderr:e.content.stderr,return_code:e.content.return_code,content:e.content.content??[]}}):"code_execution_tool_result_error"===e.content.type&&_.push({type:"tool-result",toolCallId:e.tool_use_id,toolName:c.toCustomToolName("code_execution"),isError:!0,result:{type:"code_execution_tool_result_error",errorCode:e.content.error_code}});break;case"bash_code_execution_tool_result":case"text_editor_code_execution_tool_result":_.push({type:"tool-result",toolCallId:e.tool_use_id,toolName:c.toCustomToolName("code_execution"),result:e.content});break;case"tool_search_tool_result":{let t=z[e.tool_use_id];if(null==t){let e=c.toCustomToolName("tool_search_tool_bm25");c.toCustomToolName("tool_search_tool_regex"),t="tool_search_tool_bm25"!==e?"tool_search_tool_bm25":"tool_search_tool_regex"}"tool_search_tool_search_result"===e.content.type?_.push({type:"tool-result",toolCallId:e.tool_use_id,toolName:c.toCustomToolName(t),result:e.content.tool_references.map(e=>({type:e.type,toolName:e.tool_name}))}):_.push({type:"tool-result",toolCallId:e.tool_use_id,toolName:c.toCustomToolName(t),isError:!0,result:{type:"tool_search_tool_result_error",errorCode:e.content.error_code}});break}case"advisor_tool_result":{let t=c.toCustomToolName("advisor");"advisor_result"===e.content.type?_.push({type:"tool-result",toolCallId:e.tool_use_id,toolName:t,result:{type:"advisor_result",text:e.content.text,...null!=e.content.stop_reason&&{stopReason:e.content.stop_reason}}}):"advisor_redacted_result"===e.content.type?_.push({type:"tool-result",toolCallId:e.tool_use_id,toolName:t,result:{type:"advisor_redacted_result",encryptedContent:e.content.encrypted_content,...null!=e.content.stop_reason&&{stopReason:e.content.stop_reason}}}):_.push({type:"tool-result",toolCallId:e.tool_use_id,toolName:t,isError:!0,result:{type:"advisor_tool_result_error",errorCode:e.content.error_code}});break}case"fallback":_.push({type:"custom",kind:"anthropic.fallback",providerMetadata:{anthropic:{type:"fallback",from:e.from,to:e.to}}})}return{content:_,finishReason:{unified:ex({finishReason:f.stop_reason,isJsonResponseFromTool:v}),raw:f.stop_reason??void 0},usage:ea({usage:f.usage}),request:{body:i},response:{id:f.id??void 0,modelId:f.model??void 0,headers:g,body:b},warnings:a,providerMetadata:(t=eN(f.stop_details),r={anthropic:n={usage:f.usage,stopSequence:f.stop_sequence??null,...null!=t?{stopDetails:t}:{},...null!=f.input_transformations?{inputTransformations:f.input_transformations}:{},...null!=f.safeguard_results?{safeguardResults:f.safeguard_results}:{},iterations:f.usage.iterations?f.usage.iterations.map(e=>({type:e.type,...null!=e.model?{model:e.model}:{},inputTokens:e.input_tokens,outputTokens:e.output_tokens,...e.cache_creation_input_tokens?{cacheCreationInputTokens:e.cache_creation_input_tokens}:{},...e.cache_read_input_tokens?{cacheReadInputTokens:e.cache_read_input_tokens}:{}})):null,container:f.container?{expiresAt:f.container.expires_at,id:f.container.id,skills:f.container.skills?.map(e=>({type:e.type,skillId:e.skill_id,version:e.version}))??null}:null,contextManagement:eM(f.context_management)??null}},p&&"anthropic"!==d&&(r[d]=n),r)}}async doStream(e){let n,r,i,a,l,u,{args:c,warnings:d,betas:p,usesJsonResponseTool:h,toolNameMapping:m,providerOptionsName:g,usedCustomProviderKey:f}=await this.getArgs({...e,stream:!0,userSuppliedBetas:await this.getBetasFromHeaders(e.headers)}),y=[...this.extractCitationDocuments(e.prompt)],_=e$(c.tools),w=this.buildRequestUrl(!0),{responseHeaders:z,value:v}=await (0,o.postJsonToApi)({url:w,headers:await this.getHeaders({betas:p,headers:e.headers}),body:this.transformRequestBody(c,p),failedResponseHandler:s,successfulResponseHandler:(0,o.createEventSourceResponseHandler)(b),abortSignal:e.abortSignal,fetch:this.config.fetch}),k={unified:"other",raw:void 0},x={input_tokens:0,output_tokens:0,cache_creation_input_tokens:0,cache_read_input_tokens:0,iterations:null},S={},T={},I={},O=null,E=null,C=null,A=!1,j=!1,R=!1,$=this.generateId,[M,N]=v.pipeThrough(new TransformStream({start(e){e.enqueue({type:"stream-start",warnings:d})},transform(s,c){if(R)return;if(e.includeRawChunks&&c.enqueue({type:"raw",rawValue:s.rawValue}),!s.success)return void c.enqueue({type:"error",error:s.error});let d=s.value;switch(d.type){case"ping":return;case"content_block_start":{let e=d.content_block,t=e.type;if("fallback"===t)return void c.enqueue({type:"custom",kind:"anthropic.fallback",providerMetadata:{anthropic:{type:"fallback",from:e.from,to:e.to}}});switch(u=t,t){case"text":if(h)return;S[d.index]={type:"text",citations:[]},c.enqueue({type:"text-start",id:String(d.index)});return;case"thinking":S[d.index]={type:"reasoning"},c.enqueue({type:"reasoning-start",id:String(d.index)});return;case"redacted_thinking":S[d.index]={type:"reasoning"},c.enqueue({type:"reasoning-start",id:String(d.index),providerMetadata:{anthropic:{redactedData:e.data}}});return;case"compaction":S[d.index]={type:"text",citations:[]},c.enqueue({type:"text-start",id:String(d.index),providerMetadata:{anthropic:{type:"compaction",...null!=e.signature&&{signature:e.signature}}}}),null!=e.signature&&null!=e.content&&""!==e.content&&c.enqueue({type:"text-delta",id:String(d.index),delta:e.content});return;case"tool_use":if(h&&"json"===e.name)A=!0,S[d.index]={type:"text",citations:[]},c.enqueue({type:"text-start",id:String(d.index)});else if(null!=e.toolset_name){let t=eC(e.caller),n=m.toCustomToolName(e.toolset_name),o=e.input&&Object.keys(e.input).length>0;S[d.index]={type:"tool-call",toolCallId:e.id,toolName:n,input:o?JSON.stringify(e.input):"",firstDelta:!0,toolset:{name:e.toolset_name,memberName:e.name},...t&&{caller:t}},c.enqueue({type:"tool-input-start",id:e.id,toolName:n})}else{let t=eC(e.caller),n=e.input&&Object.keys(e.input).length>0?JSON.stringify(e.input):"";S[d.index]={type:"tool-call",toolCallId:e.id,toolName:e.name,input:n,firstDelta:0===n.length,...t&&{caller:t}},c.enqueue({type:"tool-input-start",id:e.id,toolName:e.name})}return;case"server_tool_use":{let t=eC(e.caller);if(["web_fetch","web_search","code_execution","text_editor_code_execution","bash_code_execution"].includes(e.name)){let n="text_editor_code_execution"===e.name||"bash_code_execution"===e.name?"code_execution":e.name,o="text_editor_code_execution"===e.name||"bash_code_execution"===e.name?e.name:"code_execution"===e.name?"programmatic-tool-call":void 0,r=m.toCustomToolName(n),i=null!=e.input&&"object"==typeof e.input&&Object.keys(e.input).length>0?JSON.stringify(e.input):"";S[d.index]={type:"tool-call",toolCallId:e.id,toolName:r,input:i,providerExecuted:!0,..._&&"code_execution"===n?{dynamic:!0}:{},firstDelta:0===i.length,providerToolName:n,providerToolInputType:o,...t&&{caller:t}},c.enqueue({type:"tool-input-start",id:e.id,toolName:r,providerExecuted:!0,..._&&"code_execution"===n?{dynamic:!0}:{}})}else if("tool_search_tool_regex"===e.name||"tool_search_tool_bm25"===e.name){I[e.id]=e.name;let n=m.toCustomToolName(e.name);S[d.index]={type:"tool-call",toolCallId:e.id,toolName:n,input:"",providerExecuted:!0,firstDelta:!0,providerToolName:e.name,...t&&{caller:t}},c.enqueue({type:"tool-input-start",id:e.id,toolName:n,providerExecuted:!0})}else if("advisor"===e.name){let n=m.toCustomToolName("advisor");S[d.index]={type:"tool-call",toolCallId:e.id,toolName:n,input:"{}",providerExecuted:!0,firstDelta:!0,providerToolName:e.name,...t&&{caller:t}},c.enqueue({type:"tool-input-start",id:e.id,toolName:n,providerExecuted:!0})}return}case"web_fetch_tool_result":"web_fetch_result"===e.content.type?(y.push({title:e.content.content.title??e.content.url,mediaType:e.content.content.source.media_type}),c.enqueue({type:"tool-result",toolCallId:e.tool_use_id,toolName:m.toCustomToolName("web_fetch"),result:{type:"web_fetch_result",url:e.content.url,retrievedAt:e.content.retrieved_at,content:{type:e.content.content.type,title:e.content.content.title,citations:e.content.content.citations,source:{type:e.content.content.source.type,mediaType:e.content.content.source.media_type,data:e.content.content.source.data}}},...eA(e.caller)})):"web_fetch_tool_result_error"===e.content.type&&c.enqueue({type:"tool-result",toolCallId:e.tool_use_id,toolName:m.toCustomToolName("web_fetch"),isError:!0,result:{type:"web_fetch_tool_result_error",errorCode:e.content.error_code},...eA(e.caller)});return;case"web_search_tool_result":if(Array.isArray(e.content))for(let t of(c.enqueue({type:"tool-result",toolCallId:e.tool_use_id,toolName:m.toCustomToolName("web_search"),result:e.content.map(e=>({url:e.url,...null!=e.title?{title:e.title}:{},pageAge:e.page_age??null,encryptedContent:e.encrypted_content,type:e.type})),...eA(e.caller)}),e.content))c.enqueue({type:"source",sourceType:"url",id:$(),url:t.url,...null!=t.title?{title:t.title}:{},providerMetadata:{anthropic:{pageAge:t.page_age??null}}});else c.enqueue({type:"tool-result",toolCallId:e.tool_use_id,toolName:m.toCustomToolName("web_search"),isError:!0,result:{type:"web_search_tool_result_error",errorCode:e.content.error_code},...eA(e.caller)});return;case"code_execution_tool_result":"code_execution_result"===e.content.type?c.enqueue({type:"tool-result",toolCallId:e.tool_use_id,toolName:m.toCustomToolName("code_execution"),result:{type:e.content.type,stdout:e.content.stdout,stderr:e.content.stderr,return_code:e.content.return_code,content:e.content.content??[]}}):"encrypted_code_execution_result"===e.content.type?c.enqueue({type:"tool-result",toolCallId:e.tool_use_id,toolName:m.toCustomToolName("code_execution"),result:{type:e.content.type,encrypted_stdout:e.content.encrypted_stdout,stderr:e.content.stderr,return_code:e.content.return_code,content:e.content.content??[]}}):"code_execution_tool_result_error"===e.content.type&&c.enqueue({type:"tool-result",toolCallId:e.tool_use_id,toolName:m.toCustomToolName("code_execution"),isError:!0,result:{type:"code_execution_tool_result_error",errorCode:e.content.error_code}});return;case"bash_code_execution_tool_result":case"text_editor_code_execution_tool_result":c.enqueue({type:"tool-result",toolCallId:e.tool_use_id,toolName:m.toCustomToolName("code_execution"),result:e.content});return;case"tool_search_tool_result":{let t=I[e.tool_use_id];if(null==t){let e=m.toCustomToolName("tool_search_tool_bm25");m.toCustomToolName("tool_search_tool_regex"),t="tool_search_tool_bm25"!==e?"tool_search_tool_bm25":"tool_search_tool_regex"}"tool_search_tool_search_result"===e.content.type?c.enqueue({type:"tool-result",toolCallId:e.tool_use_id,toolName:m.toCustomToolName(t),result:e.content.tool_references.map(e=>({type:e.type,toolName:e.tool_name}))}):c.enqueue({type:"tool-result",toolCallId:e.tool_use_id,toolName:m.toCustomToolName(t),isError:!0,result:{type:"tool_search_tool_result_error",errorCode:e.content.error_code}});return}case"advisor_tool_result":{let t=m.toCustomToolName("advisor");"advisor_result"===e.content.type?c.enqueue({type:"tool-result",toolCallId:e.tool_use_id,toolName:t,result:{type:"advisor_result",text:e.content.text,...null!=e.content.stop_reason&&{stopReason:e.content.stop_reason}}}):"advisor_redacted_result"===e.content.type?c.enqueue({type:"tool-result",toolCallId:e.tool_use_id,toolName:t,result:{type:"advisor_redacted_result",encryptedContent:e.content.encrypted_content,...null!=e.content.stop_reason&&{stopReason:e.content.stop_reason}}}):c.enqueue({type:"tool-result",toolCallId:e.tool_use_id,toolName:t,isError:!0,result:{type:"advisor_tool_result_error",errorCode:e.content.error_code}});return}case"mcp_tool_use":T[e.id]={type:"tool-call",toolCallId:e.id,toolName:e.name,input:JSON.stringify(e.input),providerExecuted:!0,dynamic:!0,providerMetadata:{anthropic:{type:"mcp-tool-use",serverName:e.server_name}}},c.enqueue(T[e.id]);return;case"mcp_tool_result":c.enqueue({type:"tool-result",toolCallId:e.tool_use_id,toolName:T[e.tool_use_id].toolName,isError:e.is_error,result:e.content,dynamic:!0,providerMetadata:T[e.tool_use_id].providerMetadata});return;default:throw Error(`Unsupported content block type: ${t}`)}}case"content_block_stop":if(null!=S[d.index]){let e=S[d.index];switch(e.type){case"text":c.enqueue({type:"text-end",id:String(d.index),...e.citations.length>0&&{providerMetadata:{anthropic:{citations:e.citations}}}});break;case"reasoning":c.enqueue({type:"reasoning-end",id:String(d.index)});break;case"tool-call":if(!(h&&"json"===e.toolName)){if(null!=e.toolset){let t={};try{t=""===e.input?{}:(0,o.secureJsonParse)(e.input)}catch{t=void 0}e.input=void 0===t?e.input:JSON.stringify(ej({memberName:e.toolset.memberName,input:t})),c.enqueue({type:"tool-input-delta",id:e.toolCallId,delta:e.input})}c.enqueue({type:"tool-input-end",id:e.toolCallId});let t=""===e.input?"{}":e.input;if("code_execution"===e.providerToolName)try{let e=(0,o.secureJsonParse)(t);null!=e&&"object"==typeof e&&"code"in e&&!("type"in e)&&(t=JSON.stringify({type:"programmatic-tool-call",...e}))}catch{}c.enqueue({type:"tool-call",toolCallId:e.toolCallId,toolName:e.toolName,input:t,providerExecuted:e.providerExecuted,..._&&"code_execution"===e.providerToolName?{dynamic:!0}:{},...(e.caller||e.toolset)&&{providerMetadata:{anthropic:{...e.toolset&&{toolsetName:e.toolset.name},...e.caller&&{caller:e.caller}}}}})}}delete S[d.index]}u=void 0;return;case"content_block_delta":{let e=d.delta.type;switch(e){case"text_delta":if(h)return;c.enqueue({type:"text-delta",id:String(d.index),delta:d.delta.text});return;case"thinking_delta":c.enqueue({type:"reasoning-delta",id:String(d.index),delta:d.delta.thinking});return;case"signature_delta":"thinking"===u&&c.enqueue({type:"reasoning-delta",id:String(d.index),delta:"",providerMetadata:{anthropic:{signature:d.delta.signature}}});return;case"compaction_delta":null!=d.delta.content&&c.enqueue({type:"text-delta",id:String(d.index),delta:d.delta.content});return;case"input_json_delta":{let e=S[d.index],t=d.delta.partial_json;if(0===t.length)return;if(A){if(e?.type!=="text")return;c.enqueue({type:"text-delta",id:String(d.index),delta:t})}else{if(e?.type!=="tool-call")return;if(null!=e.toolset){e.input+=t;return}e.firstDelta&&null!=e.providerToolInputType&&(t=`{"type": "${e.providerToolInputType}",${t.substring(1)}`),c.enqueue({type:"tool-input-delta",id:e.toolCallId,delta:t}),e.input+=t,e.firstDelta=!1}return}case"citations_delta":{let e=d.delta.citation,t=S[d.index];t?.type==="text"&&"web_search_result_location"===e.type&&t.citations.push(e);let n=eE(e,y,$);n&&c.enqueue(n);return}default:throw Error(`Unsupported delta type: ${e}`)}}case"message_start":if(j){if(i===d.message.id)return;R=!0,c.enqueue({type:"error",error:new t.InvalidResponseDataError({data:d,message:`Received message_start for message ${JSON.stringify(d.message.id)} while message ${JSON.stringify(i)} is still open.`})});return}if(j=!0,i=d.message.id,x.input_tokens=d.message.usage.input_tokens,x.cache_read_input_tokens=d.message.usage.cache_read_input_tokens??0,x.cache_creation_input_tokens=d.message.usage.cache_creation_input_tokens??0,a={...d.message.usage},null!=d.message.input_transformations&&(n=d.message.input_transformations),null!=d.message.container&&(C={expiresAt:d.message.container.expires_at,id:d.message.container.id,skills:null}),null!=d.message.stop_reason&&(k={unified:ex({finishReason:d.message.stop_reason,isJsonResponseFromTool:A}),raw:d.message.stop_reason}),c.enqueue({type:"response-metadata",id:d.message.id??void 0,modelId:d.message.model??void 0}),null!=d.message.content)for(let e=0;e<d.message.content.length;e++){let t=d.message.content[e];if("tool_use"===t.type){let e=eC(t.caller);c.enqueue({type:"tool-input-start",id:t.id,toolName:t.name});let n=JSON.stringify(t.input??{});c.enqueue({type:"tool-input-delta",id:t.id,delta:n}),c.enqueue({type:"tool-input-end",id:t.id}),c.enqueue({type:"tool-call",toolCallId:t.id,toolName:t.name,input:n,...e&&{providerMetadata:{anthropic:{caller:e}}}})}}return;case"message_delta":null!=d.usage.input_tokens&&x.input_tokens!==d.usage.input_tokens&&(x.input_tokens=d.usage.input_tokens),x.output_tokens=d.usage.output_tokens,null!=d.usage.output_tokens_details&&(x.output_tokens_details=d.usage.output_tokens_details),null!=d.usage.cache_read_input_tokens&&(x.cache_read_input_tokens=d.usage.cache_read_input_tokens),null!=d.usage.cache_creation_input_tokens&&(x.cache_creation_input_tokens=d.usage.cache_creation_input_tokens),null!=d.usage.iterations&&(x.iterations=d.usage.iterations),k={unified:ex({finishReason:d.delta.stop_reason,isJsonResponseFromTool:A}),raw:d.delta.stop_reason??void 0},E=d.delta.stop_sequence??null,l=eN(d.delta.stop_details),C=null!=d.delta.container?{expiresAt:d.delta.container.expires_at,id:d.delta.container.id,skills:d.delta.container.skills?.map(e=>({type:e.type,skillId:e.skill_id,version:e.version}))??null}:null,d.context_management&&(O=eM(d.context_management)),null!=d.input_transformations&&(n=d.input_transformations),null!=d.delta.safeguard_results&&(r=d.delta.safeguard_results),a={...a,...d.usage};return;case"message_stop":{j=!1,i=void 0;let e={usage:a??null,stopSequence:E,...null!=l?{stopDetails:l}:{},...null!=n?{inputTransformations:n}:{},...null!=r?{safeguardResults:r}:{},iterations:x.iterations?x.iterations.map(e=>({type:e.type,...null!=e.model?{model:e.model}:{},inputTokens:e.input_tokens,outputTokens:e.output_tokens,...e.cache_creation_input_tokens?{cacheCreationInputTokens:e.cache_creation_input_tokens}:{},...e.cache_read_input_tokens?{cacheReadInputTokens:e.cache_read_input_tokens}:{}})):null,container:C,contextManagement:O},t={anthropic:e};f&&"anthropic"!==g&&(t[g]=e),c.enqueue({type:"finish",finishReason:k,usage:ea({usage:x,rawUsage:a}),providerMetadata:t});return}case"error":var p;let b;c.enqueue({type:"error",error:(b=function(e){switch(e){case"api_error":return{statusCode:500,isRetryable:!0};case"overloaded_error":return{statusCode:529,isRetryable:!0};case"rate_limit_error":return{statusCode:429,isRetryable:!0};case"request_too_large":return{statusCode:413,isRetryable:!1};case"authentication_error":return{statusCode:401,isRetryable:!1};case"permission_error":return{statusCode:403,isRetryable:!1};case"not_found_error":return{statusCode:404,isRetryable:!1};case"billing_error":case"invalid_request_error":return{statusCode:400,isRetryable:!1};default:return{}}}((p=d.error).type),(0,o.createProviderStreamError)({message:p.message,type:p.type,code:p.code??void 0,statusCode:p.statusCode??b.statusCode,isRetryable:p.isRetryable??b.isRetryable,data:"data"in p?p.data:p}))});return;default:throw Error(`Unsupported chunk type: ${d}`)}}})).tee(),L=M.getReader();try{await L.read();let e=await L.read();if(e.value?.type==="raw"&&(e=await L.read()),e.value?.type==="error"){let n=e.value.error;if(!(0,o.isProviderStreamError)(n))throw Error("Expected a normalized Anthropic stream error");throw new t.APICallError({message:n.message,url:w,requestBodyValues:c,statusCode:n.statusCode??500,responseHeaders:z,responseBody:JSON.stringify(n.data),isRetryable:n.isRetryable??!1})}}finally{L.cancel().catch(()=>{}),L.releaseLock()}return{stream:N,request:{body:c},response:{headers:z}}}};function e$(e){if(!e)return!1;let t=!1,n=!1;for(let o of e){if("type"in o&&("web_fetch_20260209"===o.type||"web_fetch_20260318"===o.type||"web_search_20260209"===o.type||"web_search_20260318"===o.type)){t=!0;continue}if("type"in o&&("code_execution_20250522"===o.type||"code_execution_20250825"===o.type||"code_execution_20260120"===o.type)){n=!0;break}}return t&&!n}function eM(e){return e?{appliedEdits:e.applied_edits.map(e=>{switch(e.type){case"clear_tool_uses_20250919":return{type:e.type,clearedToolUses:e.cleared_tool_uses,clearedInputTokens:e.cleared_input_tokens};case"clear_thinking_20251015":return{type:e.type,clearedThinkingTurns:e.cleared_thinking_turns,clearedInputTokens:e.cleared_input_tokens};case"compact_20260112":return{type:e.type}}}).filter(e=>void 0!==e)}:null}function eN(e){if(null!=e)return{type:e.type,...null!=e.category?{category:e.category}:{},...null!=e.explanation?{explanation:e.explanation}:{},...null!=e.recommended_model?{recommendedModel:e.recommended_model}:{}}}let eL=/^[A-Za-z0-9_-]{1,64}$/,eP=v.pick({anthropicBeta:!0}),eU=()=>i.z.object({id:i.z.string(),type:i.z.literal("message_batch"),processing_status:i.z.string(),request_counts:i.z.object({processing:i.z.number(),succeeded:i.z.number(),errored:i.z.number(),canceled:i.z.number(),expired:i.z.number()}),created_at:i.z.string(),expires_at:i.z.string(),archived_at:i.z.string().nullish(),cancel_initiated_at:i.z.string().nullish(),ended_at:i.z.string().nullish(),results_url:i.z.string().nullish()}),eq=(0,o.lazySchema)(()=>(0,o.zodSchema)(eU())),eD=(0,o.lazySchema)(()=>(0,o.zodSchema)(i.z.object({data:i.z.array(eU()),has_more:i.z.boolean(),last_id:i.z.string().nullish()}))),eF=new Set(["advisor_tool_result","bash_code_execution_tool_result","code_execution_tool_result","compaction","container_upload","fallback","mcp_tool_result","mcp_tool_use","redacted_thinking","server_tool_use","text","text_editor_code_execution_tool_result","thinking","tool_search_tool_result","tool_use","web_fetch_tool_result","web_search_tool_result"]),eH=(0,o.lazySchema)(()=>(0,o.zodSchema)(i.z.discriminatedUnion("type",[i.z.object({type:i.z.literal("succeeded"),message:i.z.unknown()}),i.z.object({type:i.z.literal("errored"),error:i.z.object({type:i.z.literal("error"),error:i.z.object({type:i.z.string(),message:i.z.string()}),request_id:i.z.string().nullish()})}),i.z.object({type:i.z.literal("canceled")}),i.z.object({type:i.z.literal("expired")})]))),eB=(0,o.lazySchema)(()=>(0,o.zodSchema)(i.z.object({custom_id:i.z.string(),result:i.z.unknown()})));var eW=class{constructor(e){this.options=e,this.specificationVersion="v4",this.provider=e.provider,this.supportedUrls=e.supportedUrls,this.generateId=e.config.generateId??o.generateId}async doStartBatch({requests:e,providerOptions:n,headers:r,abortSignal:i,webhookUrl:a}){for(let n of e){let e=n.type;if("text"!==e)throw new t.UnsupportedFunctionalityError({functionality:`batch request type: ${e}`,message:`The Anthropic Message Batches API does not support batch requests with type "${e}".`})}var l=e;let u=new Set;for(let e of l){if(!eL.test(e.id))throw new t.InvalidArgumentError({argument:"requests",message:`Anthropic batch request ID "${e.id}" must match ^[A-Za-z0-9_-]{1,64}$.`});if(u.has(e.id))throw new t.InvalidArgumentError({argument:"requests",message:`Anthropic batch request IDs must be unique; duplicate ID "${e.id}".`});u.add(e.id)}let c=new Set(await eK({provider:this.options.config.provider,providerOptions:n})),d=new Set(c),p=[],h=null==a?[]:[{warning:{type:"unsupported",feature:"webhookUrl",details:"The Anthropic Message Batches API does not support completion webhooks."}}];for(let n of e){if((await eK({provider:this.options.config.provider,providerOptions:n.options.providerOptions})).length>0)throw new t.UnsupportedFunctionalityError({functionality:"per-request providerOptions.anthropic.anthropicBeta",message:`Anthropic Message Batches do not support per-request betas (request "${n.id}"). Set providerOptions.anthropic.anthropicBeta on startBatch instead.`});let e=await eR.prepareRequest({modelId:n.modelId,config:this.options.config,options:{...n.options,stream:!1,userSuppliedBetas:new Set(c)}});if(e.usesJsonResponseTool)throw new t.UnsupportedFunctionalityError({functionality:"batch responseFormat JSON-tool fallback",message:`Anthropic Message Batches cannot decode the JSON-tool structured-output fallback (request "${n.id}") because batch results are retrieved independently of the start call. Use a model that supports native output_format structured outputs.`});let o=n.options.tools?.find(t=>"provider"===t.type&&e.toolNameMapping.toProviderToolName(t.name)!==t.name);if(null!=o)throw new t.UnsupportedFunctionalityError({functionality:"aliased provider tool names in batches",message:`Anthropic Message Batches cannot restore the custom provider-tool name "${o.name}" when results are retrieved independently of the start call (request "${n.id}"). Use the provider's canonical tool name.`});let r=this.options.config.transformRequestBody?.(e.args,e.betas)??e.args;for(let o of(function({body:e,requestId:n}){if(null!=e.speed)throw new t.UnsupportedFunctionalityError({functionality:"providerOptions.anthropic.speed",message:`Anthropic Message Batches do not support speed (request "${n}").`});if(Array.isArray(e.fallbacks)&&e.fallbacks.some(e=>null!=e&&"object"==typeof e&&"speed"in e&&null!=e.speed))throw new t.UnsupportedFunctionalityError({functionality:"providerOptions.anthropic.fallbacks[].speed",message:`Anthropic Message Batches do not support fallback speed (request "${n}").`})}({body:r,requestId:n.id}),p.push({custom_id:n.id,params:r}),e.betas))d.add(o);for(let t of e.warnings)h.push({requestId:n.id,warning:t})}let{value:m}=await (0,o.postJsonToApi)({url:this.getBatchUrl(""),headers:await this.getStartBatchHeaders({betas:d,headers:r}),body:{requests:p},failedResponseHandler:s,successfulResponseHandler:(0,o.createJsonResponseHandler)(eq),abortSignal:i,fetch:this.options.config.fetch});return{batchId:m.id,...eV(m),warnings:h}}async doGetBatchStatus(e){return eV(await this.retrieveBatch(e))}async doCancelBatch(e){return await (0,o.postJsonToApi)({url:this.getBatchUrl(`/${encodeURIComponent(e.batchId)}/cancel`),headers:await this.getBatchHeaders(e.headers),body:{},failedResponseHandler:s,successfulResponseHandler:(0,o.createJsonResponseHandler)(eq),abortSignal:e.abortSignal,fetch:this.options.config.fetch}),{}}async doListBatches(e){let t=new URL(this.getBatchUrl(""));null!=e.limit&&t.searchParams.set("limit",String(e.limit)),null!=e.cursor&&t.searchParams.set("after_id",e.cursor);let{value:n}=await (0,o.getFromApi)({url:t.toString(),validateUrl:!1,headers:await this.getBatchHeaders(e.headers),failedResponseHandler:s,successfulResponseHandler:(0,o.createJsonResponseHandler)(eD),abortSignal:e.abortSignal,fetch:this.options.config.fetch});return{batches:n.data.map(e=>({batchId:e.id,...eV(e)})),...n.has_more&&null!=n.last_id?{nextCursor:n.last_id}:{}}}async doGetBatchResults(e){let n=await this.retrieveBatch(e);if("pending"===eV(n).status)throw new t.InvalidArgumentError({argument:"batchId",message:`Anthropic batch "${e.batchId}" is not complete.`});if(null!=n.archived_at)throw new t.InvalidArgumentError({argument:"batchId",message:`Anthropic batch "${e.batchId}" results are no longer available.`});if(null==n.results_url)throw new t.InvalidResponseDataError({data:n,message:`Anthropic batch "${e.batchId}" completed without batch output.`});let{value:r}=await (0,o.getFromApi)({url:n.results_url,validateUrl:!0,credentialedOrigin:this.options.config.baseURL,trustedOrigin:this.options.config.baseURL,headers:await this.getBatchHeaders(e.headers),failedResponseHandler:s,successfulResponseHandler:(0,o.createJsonLinesResponseHandler)(eB),abortSignal:e.abortSignal,fetch:this.options.config.fetch});return(0,o.convertAsyncIteratorToReadableStream)(this.iterateBatchResults(r))}async retrieveBatch(e){let{value:t}=await (0,o.getFromApi)({url:this.getBatchUrl(`/${encodeURIComponent(e.batchId)}`),validateUrl:!1,headers:await this.getBatchHeaders(e.headers),failedResponseHandler:s,successfulResponseHandler:(0,o.createJsonResponseHandler)(eq),abortSignal:e.abortSignal,fetch:this.options.config.fetch});return t}async *iterateBatchResults(e){for await(let t of e)yield await eJ(t,this.generateId)}getBatchUrl(e){return`${this.options.config.baseURL}/messages/batches${e}`}async getStartBatchHeaders({betas:e,headers:t}){return(0,o.combineHeaders)((0,o.normalizeHeaders)(await this.getBatchHeaders(t)),{"anthropic-beta":e.size>0?Array.from(e).join(","):void 0})}async getBatchHeaders(e){return(0,o.combineHeaders)(this.options.config.headers?await (0,o.resolve)(this.options.config.headers):void 0,e)}};async function eK({provider:e,providerOptions:t}){let n=e.split(".")[0];return Object.assign({},await (0,o.parseProviderOptions)({provider:"anthropic",providerOptions:t,schema:eP})??{},("anthropic"!==n?await (0,o.parseProviderOptions)({provider:n,providerOptions:t,schema:eP}):void 0)??{}).anthropicBeta??[]}function eV(e){var t;let n=(t=e.request_counts,(0,o.normalizeBatchRequestCounts)({total:t.processing+t.succeeded+t.errored+t.canceled+t.expired,pending:t.processing,completed:t.succeeded,failed:t.errored+t.canceled+t.expired}));return{status:"ended"===e.processing_status?"completed":"pending",rawStatus:e.processing_status,...null!=n?{requestCounts:n}:{},createdAt:e.created_at,expiresAt:e.expires_at,providerMetadata:{anthropic:{archivedAt:e.archived_at??null,cancelInitiatedAt:e.cancel_initiated_at??null,endedAt:e.ended_at??null,requestCounts:e.request_counts,resultsUrl:e.results_url??null}}}}async function eJ(e,t){let n=await (0,o.safeValidateTypes)({value:e.result,schema:eH});if(!n.success)return eG(e.custom_id);let r=n.value;switch(r.type){case"canceled":return{type:"text",id:e.custom_id,status:"cancelled"};case"expired":return{type:"text",id:e.custom_id,status:"expired"};case"errored":{let t=r.error.request_id;return{type:"text",id:e.custom_id,status:"failed",error:{message:r.error.error.message,type:r.error.error.type},...null!=t?{providerMetadata:{anthropic:{requestId:t}}}:{}}}case"succeeded":{let n=await eY(r.message);if(null==n)return eG(e.custom_id);return{type:"text",id:e.custom_id,status:"succeeded",result:function(e,t){var n,o;let r,i=[],a={},s={};for(let n of e.content)switch(n.type){case"text":let e=n.citations;for(let o of(i.push({type:"text",text:n.text,...null!=e&&e.length>0&&{providerMetadata:{anthropic:{citations:e}}}}),n.citations??[])){let e=eE(o,[],t);null!=e&&i.push(e)}break;case"thinking":i.push({type:"reasoning",text:n.thinking,providerMetadata:{anthropic:{signature:n.signature}}});break;case"redacted_thinking":i.push({type:"reasoning",text:"",providerMetadata:{anthropic:{redactedData:n.data}}});break;case"container_upload":i.push({type:"custom",kind:"anthropic.container_upload",providerMetadata:{anthropic:{fileId:n.file_id}}});break;case"compaction":if(!n.content)break;i.push({type:"text",text:n.content,providerMetadata:{anthropic:{type:"compaction",...null!=n.signature&&{signature:n.signature}}}});break;case"tool_use":i.push({type:"tool-call",toolCallId:n.id,toolName:n.name,input:JSON.stringify(n.input),...eZ(n.caller)});break;case"server_tool_use":{let e="bash_code_execution"===n.name||"text_editor_code_execution"===n.name,t=e||"code_execution"===n.name,o=e?"code_execution":n.name;("tool_search_tool_bm25"===n.name||"tool_search_tool_regex"===n.name)&&(s[n.id]=n.name),i.push({type:"tool-call",toolCallId:n.id,toolName:o,input:JSON.stringify(e?{type:n.name,...n.input}:"code_execution"===n.name&&null!=n.input&&"code"in n.input&&!("type"in n.input)?{type:"programmatic-tool-call",...n.input}:n.input),providerExecuted:!0,...t?{dynamic:!0}:{},...eZ(n.caller)});break}case"mcp_tool_use":{let e={type:"tool-call",toolCallId:n.id,toolName:n.name,input:JSON.stringify(n.input),providerExecuted:!0,dynamic:!0,providerMetadata:{anthropic:{serverName:n.server_name,type:"mcp-tool-use"}}};a[n.id]=e,i.push(e);break}case"mcp_tool_result":{let e=a[n.tool_use_id];i.push({type:"tool-result",toolCallId:n.tool_use_id,toolName:e?.toolName??"mcp",isError:n.is_error,result:n.content,dynamic:!0,...e?.providerMetadata!=null&&{providerMetadata:e.providerMetadata}});break}case"web_fetch_tool_result":i.push({type:"tool-result",toolCallId:n.tool_use_id,toolName:"web_fetch",..."web_fetch_tool_result_error"===n.content.type?{isError:!0,result:{errorCode:n.content.error_code,type:n.content.type}}:{result:{content:{citations:n.content.content.citations,source:{data:n.content.content.source.data,mediaType:n.content.content.source.media_type,type:n.content.content.source.type},title:n.content.content.title,type:n.content.content.type},retrievedAt:n.content.retrieved_at,type:n.content.type,url:n.content.url}},...eZ(n.caller)});break;case"web_search_tool_result":if(i.push({type:"tool-result",toolCallId:n.tool_use_id,toolName:"web_search",...Array.isArray(n.content)?{result:n.content.map(e=>({encryptedContent:e.encrypted_content,pageAge:e.page_age??null,...null!=e.title?{title:e.title}:{},type:e.type,url:e.url}))}:{isError:!0,result:{errorCode:n.content.error_code,type:n.content.type}},...eZ(n.caller)}),Array.isArray(n.content))for(let e of n.content)i.push({type:"source",sourceType:"url",id:t(),url:e.url,...null!=e.title?{title:e.title}:{},providerMetadata:{anthropic:{pageAge:e.page_age??null}}});break;case"code_execution_tool_result":i.push({type:"tool-result",toolCallId:n.tool_use_id,toolName:"code_execution",..."code_execution_tool_result_error"===n.content.type?{isError:!0,result:{errorCode:n.content.error_code,type:n.content.type}}:{result:n.content}});break;case"bash_code_execution_tool_result":case"text_editor_code_execution_tool_result":i.push({type:"tool-result",toolCallId:n.tool_use_id,toolName:"code_execution",result:n.content});break;case"tool_search_tool_result":{let e=s[n.tool_use_id]??"tool_search_tool_regex";i.push({type:"tool-result",toolCallId:n.tool_use_id,toolName:e,..."tool_search_tool_result_error"===n.content.type?{isError:!0,result:{errorCode:n.content.error_code,type:n.content.type}}:{result:n.content.tool_references.map(e=>({toolName:e.tool_name,type:e.type}))}});break}case"advisor_tool_result":"advisor_result"===n.content.type?i.push({type:"tool-result",toolCallId:n.tool_use_id,toolName:"advisor",result:{type:n.content.type,text:n.content.text,...null!=n.content.stop_reason?{stopReason:n.content.stop_reason}:{}}}):"advisor_redacted_result"===n.content.type?i.push({type:"tool-result",toolCallId:n.tool_use_id,toolName:"advisor",result:{type:n.content.type,encryptedContent:n.content.encrypted_content,...null!=n.content.stop_reason?{stopReason:n.content.stop_reason}:{}}}):i.push({type:"tool-result",toolCallId:n.tool_use_id,toolName:"advisor",isError:!0,result:{errorCode:n.content.error_code,type:n.content.type}});break;case"fallback":i.push({type:"custom",kind:"anthropic.fallback",providerMetadata:{anthropic:{type:"fallback",from:n.from,to:n.to}}})}return{content:i,finishReason:{unified:ex({finishReason:e.stop_reason}),raw:e.stop_reason??void 0},usage:ea({usage:e.usage}),response:{id:e.id??void 0,modelId:e.model??void 0},warnings:[],providerMetadata:{anthropic:(r=function(e){if(null!=e)return{type:e.type,...null!=e.category?{category:e.category}:{},...null!=e.explanation?{explanation:e.explanation}:{},...null!=e.recommended_model?{recommendedModel:e.recommended_model}:{}}}((n=e).stop_details),{usage:n.usage,stopSequence:n.stop_sequence??null,...null!=r?{stopDetails:r}:{},...null!=n.input_transformations?{inputTransformations:n.input_transformations}:{},...null!=n.safeguard_results?{safeguardResults:n.safeguard_results}:{},iterations:n.usage.iterations?n.usage.iterations.map(e=>({type:e.type,...null!=e.model?{model:e.model}:{},inputTokens:e.input_tokens,outputTokens:e.output_tokens,...e.cache_creation_input_tokens?{cacheCreationInputTokens:e.cache_creation_input_tokens}:{},...e.cache_read_input_tokens?{cacheReadInputTokens:e.cache_read_input_tokens}:{}})):null,container:n.container?{expiresAt:n.container.expires_at,id:n.container.id,skills:n.container.skills?.map(e=>({type:e.type,skillId:e.skill_id,version:e.version}))??null}:null,contextManagement:(o=n.context_management)?{appliedEdits:o.applied_edits.map(e=>{switch(e.type){case"clear_tool_uses_20250919":return{type:e.type,clearedToolUses:e.cleared_tool_uses,clearedInputTokens:e.cleared_input_tokens};case"clear_thinking_20251015":return{type:e.type,clearedThinkingTurns:e.cleared_thinking_turns,clearedInputTokens:e.cleared_input_tokens};case"compact_20260112":return{type:e.type}}})}:null})}}}(n,t)}}}}function eG(e){return{type:"text",id:e,status:"failed",error:{message:"Anthropic returned an invalid Message batch result.",code:"invalid_response"}}}async function eY(e){let t=await (0,o.safeValidateTypes)({value:e,schema:y});if(t.success)return t.value;if(!(0,o.isRecord)(e)||!Array.isArray(e.content))return;let n=[];for(let t of e.content){let r=await (0,o.safeValidateTypes)({value:{...e,content:[t]},schema:y});if(r.success){let[e]=r.value.content;null!=e&&n.push(e)}else if(!(0,o.isRecord)(t)||"string"!=typeof t.type||eF.has(t.type))return}let r=await (0,o.safeValidateTypes)({value:{...e,content:n},schema:y});return r.success?r.value:void 0}function eZ(e){return null==e?{}:{providerMetadata:{anthropic:{caller:{type:e.type,toolId:e.tool_id}}}}}let eX=(0,o.lazySchema)(()=>(0,o.zodSchema)(i.z.object({command:i.z.string(),restart:i.z.boolean().optional()}))),eQ=(0,o.createProviderDefinedToolFactory)({id:"anthropic.bash_20241022",inputSchema:eX}),e0=(0,o.lazySchema)(()=>(0,o.zodSchema)(i.z.object({command:i.z.string(),restart:i.z.boolean().optional()}))),e1=(0,o.createProviderDefinedToolFactory)({id:"anthropic.bash_20250124",inputSchema:e0}),e2=(0,o.lazySchema)(()=>(0,o.zodSchema)(i.z.object({action:i.z.enum(["key","type","mouse_move","left_click","left_click_drag","right_click","middle_click","double_click","screenshot","cursor_position"]),coordinate:i.z.array(i.z.number().int()).optional(),text:i.z.string().optional()}))),e4=(0,o.createProviderDefinedToolFactory)({id:"anthropic.computer_20241022",inputSchema:e2}),e3=(0,o.lazySchema)(()=>(0,o.zodSchema)(i.z.object({action:i.z.enum(["key","hold_key","type","cursor_position","mouse_move","left_mouse_down","left_mouse_up","left_click","left_click_drag","right_click","middle_click","double_click","triple_click","scroll","wait","screenshot"]),coordinate:i.z.tuple([i.z.number().int(),i.z.number().int()]).optional(),duration:i.z.number().optional(),scroll_amount:i.z.number().optional(),scroll_direction:i.z.enum(["up","down","left","right"]).optional(),start_coordinate:i.z.tuple([i.z.number().int(),i.z.number().int()]).optional(),text:i.z.string().optional()}))),e5=(0,o.createProviderDefinedToolFactory)({id:"anthropic.computer_20250124",inputSchema:e3}),e6=(0,o.lazySchema)(()=>(0,o.zodSchema)(i.z.object({action:i.z.enum(["key","hold_key","type","cursor_position","mouse_move","left_mouse_down","left_mouse_up","left_click","left_click_drag","right_click","middle_click","double_click","triple_click","scroll","wait","screenshot","zoom"]),coordinate:i.z.tuple([i.z.number().int(),i.z.number().int()]).optional(),duration:i.z.number().optional(),region:i.z.tuple([i.z.number().int(),i.z.number().int(),i.z.number().int(),i.z.number().int()]).optional(),scroll_amount:i.z.number().optional(),scroll_direction:i.z.enum(["up","down","left","right"]).optional(),start_coordinate:i.z.tuple([i.z.number().int(),i.z.number().int()]).optional(),text:i.z.string().optional()}))),e9=(0,o.createProviderDefinedToolFactory)({id:"anthropic.computer_20251124",inputSchema:e6}),e8=(0,o.lazySchema)(()=>(0,o.zodSchema)(i.z.discriminatedUnion("command",[i.z.object({command:i.z.literal("view"),path:i.z.string(),view_range:i.z.tuple([i.z.number(),i.z.number()]).optional()}),i.z.object({command:i.z.literal("create"),path:i.z.string(),file_text:i.z.string()}),i.z.object({command:i.z.literal("str_replace"),path:i.z.string(),old_str:i.z.string(),new_str:i.z.string()}),i.z.object({command:i.z.literal("insert"),path:i.z.string(),insert_line:i.z.number(),insert_text:i.z.string()}),i.z.object({command:i.z.literal("delete"),path:i.z.string()}),i.z.object({command:i.z.literal("rename"),old_path:i.z.string(),new_path:i.z.string()})]))),e7=(0,o.createProviderDefinedToolFactory)({id:"anthropic.memory_20250818",inputSchema:e8}),te=(0,o.lazySchema)(()=>(0,o.zodSchema)(i.z.object({command:i.z.enum(["view","create","str_replace","insert","undo_edit"]),path:i.z.string(),file_text:i.z.string().optional(),insert_line:i.z.number().int().optional(),new_str:i.z.string().optional(),insert_text:i.z.string().optional(),old_str:i.z.string().optional(),view_range:i.z.array(i.z.number().int()).optional()}))),tt=(0,o.createProviderDefinedToolFactory)({id:"anthropic.text_editor_20241022",inputSchema:te}),tn=(0,o.lazySchema)(()=>(0,o.zodSchema)(i.z.object({command:i.z.enum(["view","create","str_replace","insert","undo_edit"]),path:i.z.string(),file_text:i.z.string().optional(),insert_line:i.z.number().int().optional(),new_str:i.z.string().optional(),insert_text:i.z.string().optional(),old_str:i.z.string().optional(),view_range:i.z.array(i.z.number().int()).optional()}))),to=(0,o.createProviderDefinedToolFactory)({id:"anthropic.text_editor_20250124",inputSchema:tn}),tr=(0,o.lazySchema)(()=>(0,o.zodSchema)(i.z.object({command:i.z.enum(["view","create","str_replace","insert"]),path:i.z.string(),file_text:i.z.string().optional(),insert_line:i.z.number().int().optional(),new_str:i.z.string().optional(),insert_text:i.z.string().optional(),old_str:i.z.string().optional(),view_range:i.z.array(i.z.number().int()).optional()}))),ti=(0,o.createProviderDefinedToolFactory)({id:"anthropic.text_editor_20250429",inputSchema:tr}),ta=(0,o.lazySchema)(()=>(0,o.zodSchema)(i.z.array(i.z.object({type:i.z.literal("tool_reference"),toolName:i.z.string()})))),ts=(0,o.lazySchema)(()=>(0,o.zodSchema)(i.z.object({query:i.z.string(),limit:i.z.number().optional()}))),tl=(0,o.createProviderExecutedToolFactory)({id:"anthropic.tool_search_bm25_20251119",inputSchema:ts,outputSchema:ta,supportsDeferredResults:!0}),tu={advisor_20260301:e=>I(e),bash_20241022:function(e={}){let{execute:t,...n}=e;return void 0===t?eQ({...n,execute:async({command:e},{abortSignal:t,experimental_sandbox:n})=>{if(!n)throw Error("Sandbox session is not available");return await n.run({command:e,abortSignal:t})}}):eQ({...n,...null===t?{}:{execute:t}})},bash_20250124:function(e={}){let{execute:t,...n}=e;return void 0===t?e1({...n,execute:async({command:e},{abortSignal:t,experimental_sandbox:n})=>{if(!n)throw Error("Sandbox session is not available");return await n.run({command:e,abortSignal:t})}}):e1({...n,...null===t?{}:{execute:t}})},codeExecution_20250522:(e={})=>eu(e),codeExecution_20250825:(e={})=>(0,o.experimental_toolCaller)(ep(e),{type:"provider",prepareProviderOptions:e=>{let t=e?.anthropic;return{...e,anthropic:{...t,allowedCallers:[...new Set([...t?.allowedCallers??[],"code_execution_20250825"])]}}}}),codeExecution_20260120:(e={})=>(0,o.experimental_toolCaller)(eg(e),{type:"provider",prepareProviderOptions:e=>{let t=e?.anthropic;return{...e,anthropic:{...t,allowedCallers:[...new Set([...t?.allowedCallers??[],"code_execution_20260120"])]}}}}),computer_20241022:e4,computer_20250124:e5,computer_20251124:e9,computerToolset_20260801:A,memory_20250818:e7,textEditor_20241022:tt,textEditor_20250124:to,textEditor_20250429:ti,textEditor_20250728:(e={})=>$(e),webFetch_20250910:(e={})=>er(e),webFetch_20260209:(e={})=>ee(e),webFetch_20260318:(e={})=>Y(e),webSearch_20250305:(e={})=>K(e),webSearch_20260209:(e={})=>F(e),webSearch_20260318:(e={})=>P(e),toolSearchRegex_20251119:(e={})=>eb(e),toolSearchBm25_20251119:(e={})=>tl(e)},tc=(0,o.lazySchema)(()=>(0,o.zodSchema)(i.z.object({id:i.z.string(),display_title:i.z.string().nullish(),name:i.z.string().nullish(),description:i.z.string().nullish(),latest_version:i.z.string().nullish(),source:i.z.string(),created_at:i.z.string(),updated_at:i.z.string()})));(0,o.lazySchema)(()=>(0,o.zodSchema)(i.z.object({data:i.z.array(i.z.object({version:i.z.string()}))})));let td=(0,o.lazySchema)(()=>(0,o.zodSchema)(i.z.object({type:i.z.string(),skill_id:i.z.string(),name:i.z.string().nullish(),description:i.z.string().nullish()})));function tp(e){let t=encodeURIComponent(e);return"."===t?"%252E":".."===t?"%252E%252E":t}var th=class{get provider(){return this.config.provider}constructor(e){this.config=e,this.specificationVersion="v4"}async getHeaders(){return(0,o.combineHeaders)(await (0,o.resolve)(this.config.headers),{"anthropic-beta":"skills-2025-10-02"})}async fetchVersionMetadata({skillId:e,version:t,headers:n}){let{value:r}=await (0,o.getFromApi)({url:`${this.config.baseURL}/skills/${tp(e)}/versions/${tp(t)}`,validateUrl:!1,headers:n,failedResponseHandler:s,successfulResponseHandler:(0,o.createJsonResponseHandler)(td),fetch:this.config.fetch});return{...null!=r.name?{name:r.name}:{},...null!=r.description?{description:r.description}:{}}}async uploadSkill(e){let t=new FormData;for(let n of(null!=e.displayTitle&&t.append("display_title",e.displayTitle),e.files)){let e=(0,o.convertInlineFileDataToUint8Array)(n.data);t.append("files[]",new Blob([e]),n.path)}let n=await this.getHeaders(),{value:r}=await (0,o.postFormDataToApi)({url:`${this.config.baseURL}/skills`,headers:n,formData:t,failedResponseHandler:s,successfulResponseHandler:(0,o.createJsonResponseHandler)(tc),fetch:this.config.fetch}),i=null!=r.latest_version?await this.fetchVersionMetadata({skillId:r.id,version:r.latest_version,headers:n}):{},a=i.name??r.name,l=i.description??r.description;return{providerReference:{anthropic:r.id},...null!=r.display_title?{displayTitle:r.display_title}:{},...null!=a?{name:a}:{},...null!=l?{description:l}:{},...null!=r.latest_version?{latestVersion:r.latest_version}:{},providerMetadata:{anthropic:{...null!=r.source?{source:r.source}:{},...null!=r.created_at?{createdAt:r.created_at}:{},...null!=r.updated_at?{updatedAt:r.updated_at}:{}}},warnings:[]}}};let tm="https://api.anthropic.com",tg=`${tm}/v1`;function tf(e={}){var n;let i,a=(n=(0,o.loadOptionalSetting)({settingValue:e.baseURL,environmentVariableName:"ANTHROPIC_BASE_URL"}),((i=(0,o.withoutTrailingSlash)((0,o.validateBaseURL)(n)))===tm?tg:i)??tg),s=e.name??"anthropic.messages",l={"image/*":[/^https?:\/\/.*$/],"application/pdf":[/^https?:\/\/.*$/]};if(e.apiKey&&e.authToken)throw new t.InvalidArgumentError({argument:"apiKey/authToken",message:"Both apiKey and authToken were provided. Please use only one authentication method."});let c=()=>{let t=e.authToken?{Authorization:`Bearer ${e.authToken}`}:{"x-api-key":(0,o.loadApiKey)({apiKey:e.apiKey,environmentVariableName:"ANTHROPIC_API_KEY",description:"Anthropic"})};return(0,o.withUserAgentSuffix)({"anthropic-version":"2023-06-01",...t,...e.headers},"ai-sdk-anthropic/4.0.69")},d={provider:s,baseURL:a,headers:c,fetch:e.fetch,generateId:e.generateId??o.generateId,supportedUrls:()=>l},p=e=>new eR(e,d),h=function(e){if(new.target)throw Error("The Anthropic model function cannot be called with the new keyword.");return p(e)};return h.specificationVersion="v4",h.languageModel=p,h.chat=p,h.messages=p,h.evaluationModel=e=>new r.Experimental_EvaluationLanguageModel({model:p(e),provider:`${s.replace(/\.messages$/,"")}.evaluation`}),h.experimental_batch=()=>new eW({provider:`${s.replace(/\.messages$/,"")}.batch`,config:d,supportedUrls:l}),h.embeddingModel=e=>{throw new t.NoSuchModelError({modelId:e,modelType:"embeddingModel"})},h.textEmbeddingModel=h.embeddingModel,h.imageModel=e=>{throw new t.NoSuchModelError({modelId:e,modelType:"imageModel"})},h.files=()=>new u({provider:s,baseURL:a,headers:c,fetch:e.fetch}),h.skills=()=>new th({provider:`${s.replace(".messages","")}.skills`,baseURL:a,headers:c,fetch:e.fetch}),h.tools=tu,h}tf(),e.s(["createAnthropic",0,tf])},788147,e=>{"use strict";var t=e.i(296194),n=e.i(691296),o=e.i(548874),r=e.i(853205);function i(e){return e.replace(/[_-]([a-z])/g,e=>e[1].toUpperCase())}function a({rawName:e,providerOptions:t,warnings:n}){let o=i(e);o!==e&&t?.[e]!=null&&n.push({type:"deprecated",setting:`providerOptions key '${e}'`,message:`Use '${o}' instead.`})}let s={errorSchema:r.z.object({error:r.z.object({message:r.z.string(),type:r.z.string().nullish(),param:r.z.any().nullish(),code:r.z.union([r.z.string(),r.z.number()]).nullish()})}),errorToMessage:e=>e.error.message};function l(e){return e?.providerOptions?.openaiCompatible??{}}function u({id:e,model:t,created:o}){return(0,n.createLanguageModelResponseMetadata)({id:e,model:t,created:o||void 0})}function c(e){switch(e){case"stop":return"stop";case"length":return"length";case"content_filter":return"content-filter";case"function_call":case"tool_calls":return"tool-calls";default:return"other"}}let d=r.z.object({user:r.z.string().optional(),reasoningEffort:r.z.string().optional(),textVerbosity:r.z.string().optional(),strictJsonSchema:r.z.boolean().optional()});var p=class e{static[o.WORKFLOW_SERIALIZE](e){return(0,n.serializeModelOptions)({modelId:e.modelId,config:e.config})}static[o.WORKFLOW_DESERIALIZE](t){return new e(t.modelId,t.config)}constructor(e,t){this.specificationVersion="v4",this.modelId=e,this.config=t;const o=t.errorStructure??s;this.chunkSchema=b(o.errorSchema),this.failedResponseHandler=(0,n.createJsonErrorResponseHandler)(o),this.supportsStructuredOutputs=t.supportsStructuredOutputs??!1}get provider(){return this.config.provider}get providerOptionsName(){return this.config.provider.split(".")[0].trim()}get supportedUrls(){return this.config.supportedUrls?.()??{}}transformRequestBody(e){return this.config.transformRequestBody?.(e)??e}convertUsage(e){return this.config.convertUsage?.(e)??function(e){if(null==e)return(0,n.createNullLanguageModelUsage)();let t=e.prompt_tokens??0,o=e.completion_tokens??0,r=e.prompt_tokens_details?.cached_tokens??0,i=e.completion_tokens_details?.reasoning_tokens??0;return{inputTokens:{total:t,noCache:t-r,cacheRead:r,cacheWrite:void 0},outputTokens:{total:o,text:Math.max(0,o-i),reasoning:i},raw:e}}(e)}async getArgs({prompt:e,maxOutputTokens:o,temperature:r,topP:s,topK:u,frequencyPenalty:c,presencePenalty:p,reasoning:h,providerOptions:m,stopSequences:g,responseFormat:f,seed:y,toolChoice:b,tools:_}){var w;let z,v=[],k=await (0,n.parseProviderOptions)({provider:"openai-compatible",providerOptions:m,schema:d});null!=k&&v.push({type:"deprecated",setting:"providerOptions key 'openai-compatible'",message:"Use 'openaiCompatible' instead."}),a({rawName:this.providerOptionsName,providerOptions:m,warnings:v});let x=Object.assign(k??{},await (0,n.parseProviderOptions)({provider:"openaiCompatible",providerOptions:m,schema:d})??{},await (0,n.parseProviderOptions)({provider:this.providerOptionsName,providerOptions:m,schema:d})??{},await (0,n.parseProviderOptions)({provider:i(this.providerOptionsName),providerOptions:m,schema:d})??{}),S=x?.strictJsonSchema??!0;null!=u&&v.push({type:"unsupported",feature:"topK"}),f?.type!=="json"||null==f.schema||this.supportsStructuredOutputs||v.push({type:"unsupported",feature:"responseFormat",details:"JSON response format schema is only supported with structuredOutputs"});let{tools:T,toolChoice:I,toolWarnings:O}=function({tools:e,toolChoice:n}){e=e?.length?e:void 0;let o=[];if(null==e)return{tools:void 0,toolChoice:void 0,toolWarnings:o};let r=[];for(let t of e)"provider"===t.type?o.push({type:"unsupported",feature:`provider-defined tool ${t.id}`}):r.push({type:"function",function:{name:t.name,description:t.description,parameters:t.inputSchema,...null!=t.strict?{strict:t.strict}:{}}});if(null==n)return{tools:r,toolChoice:void 0,toolWarnings:o};let i=n.type;switch(i){case"auto":case"none":case"required":return{tools:r,toolChoice:i,toolWarnings:o};case"tool":return{tools:r,toolChoice:{type:"function",function:{name:n.toolName}},toolWarnings:o};default:throw new t.UnsupportedFunctionalityError({functionality:`tool choice type: ${i}`})}}({tools:_,toolChoice:b}),E=(w=this.providerOptionsName,(z=i(w))!==w&&m?.[z]!=null?z:w);return{metadataKey:E,args:{model:this.modelId,user:x.user,max_tokens:o,temperature:r,top_p:s,frequency_penalty:c,presence_penalty:p,response_format:f?.type==="json"?!0===this.supportsStructuredOutputs&&null!=f.schema?{type:"json_schema",json_schema:{schema:f.schema,strict:S,name:f.name??"response",description:f.description}}:{type:"json_object"}:void 0,stop:g,seed:y,...Object.fromEntries(Object.entries({...m?.[this.providerOptionsName],...m?.[i(this.providerOptionsName)]}).filter(([e])=>!Object.keys(d.shape).includes(e))),reasoning_effort:x.reasoningEffort??((0,n.isCustomReasoning)(h)?h:void 0),verbosity:x.textVerbosity,messages:function(e,{providerOptionsKey:o="google"}={}){let r=[];for(let{role:i,content:a,...s}of e){let e=l({...s});switch(i){case"system":r.push({role:"system",content:a,...e});break;case"user":if(1===a.length&&"text"===a[0].type){r.push({role:"user",content:a[0].text,...l(a[0])});break}r.push({role:"user",content:a.map(e=>{let o=l(e);switch(e.type){case"text":return{type:"text",text:e.text,...o};case"file":switch(e.data.type){case"reference":throw new t.UnsupportedFunctionalityError({functionality:"file parts with provider references"});case"text":throw new t.UnsupportedFunctionalityError({functionality:"text file parts"});case"url":case"data":{let r=(0,n.getTopLevelMediaType)(e.mediaType);if("image"===r)return{type:"image_url",image_url:{url:"url"===e.data.type?e.data.url.toString():`data:${(0,n.resolveFullMediaType)({part:e})};base64,${(0,n.convertToBase64)(e.data.data)}`},...o};if("video"===r)return{type:"video_url",video_url:{url:"url"===e.data.type?e.data.url.toString():`data:${(0,n.resolveFullMediaType)({part:e})};base64,${(0,n.convertToBase64)(e.data.data)}`},...o};if("audio"===r){if("url"===e.data.type)throw new t.UnsupportedFunctionalityError({functionality:"audio file parts with URLs"});let r=(0,n.resolveFullMediaType)({part:e}),i=function(e){switch(e){case"audio/wav":return"wav";case"audio/mp3":case"audio/mpeg":return"mp3";default:return null}}(r);if(null===i)throw new t.UnsupportedFunctionalityError({functionality:`audio media type ${r}`});return{type:"input_audio",input_audio:{data:(0,n.convertToBase64)(e.data.data),format:i},...o}}if("application"===r){if("url"===e.data.type)throw new t.UnsupportedFunctionalityError({functionality:"PDF file parts with URLs"});let r=(0,n.resolveFullMediaType)({part:e});if("application/pdf"!==r)throw new t.UnsupportedFunctionalityError({functionality:`file part media type ${r}`});return{type:"file",file:{filename:e.filename??"document.pdf",file_data:`data:application/pdf;base64,${(0,n.convertToBase64)(e.data.data)}`},...o}}if("text"===r)return{type:"text",text:"url"===e.data.type?e.data.url.toString():"string"==typeof e.data.data?new TextDecoder().decode((0,n.convertBase64ToUint8Array)(e.data.data)):new TextDecoder().decode(e.data.data),...o};throw new t.UnsupportedFunctionalityError({functionality:`file part media type ${e.mediaType}`})}}}}),...e});break;case"assistant":{let t="",n="",i=[];for(let e of a){let r=l(e);switch(e.type){case"text":t+=e.text;break;case"reasoning":n+=e.text;break;case"tool-call":{let t=e.providerOptions?.[o]?.thoughtSignature??e.providerOptions?.google?.thoughtSignature;i.push({id:e.toolCallId,type:"function",function:{name:e.toolName,arguments:JSON.stringify(e.input)},...r,...t?{extra_content:{google:{thought_signature:String(t)}}}:{}})}}}r.push({role:"assistant",content:i.length>0?t||null:t,...n.length>0?{reasoning_content:n}:{},tool_calls:i.length>0?i:void 0,...e});break}case"tool":for(let e of a){let t;if("tool-approval-response"===e.type)continue;let n=e.output;switch(n.type){case"text":case"error-text":t=n.value;break;case"execution-denied":t=n.reason??"Tool call execution denied.";break;case"content":case"json":case"error-json":t=JSON.stringify(n.value)}let o=l(e);r.push({role:"tool",tool_call_id:e.toolCallId,content:t,...o})}break;default:throw Error(`Unsupported role: ${i}`)}}return r}(e,{providerOptionsKey:E}),tools:T,tool_choice:I},warnings:[...v,...O]}}async doGenerate(e){let{args:o,warnings:r,metadataKey:i}=await this.getArgs({...e}),a=this.transformRequestBody(o),s=JSON.stringify(a),{responseHeaders:l,value:d,rawValue:p}=await (0,n.postJsonToApi)({url:this.config.url({path:"/chat/completions",modelId:this.modelId}),headers:(0,n.combineHeaders)(this.config.headers?.(),e.headers),body:a,failedResponseHandler:this.failedResponseHandler,successfulResponseHandler:(0,n.createJsonResponseHandler)(f),abortSignal:e.abortSignal,fetch:this.config.fetch}),h=d.choices[0];if(null==h)throw new t.InvalidResponseDataError({data:p,message:"Response did not contain any choices."});let m=[];m.push(...g(h.message.content));let y=h.message.reasoning_content??h.message.reasoning;if(null!=y&&y.length>0&&m.push({type:"reasoning",text:y}),null!=h.message.tool_calls)for(let e of h.message.tool_calls){let t=e.extra_content?.google?.thought_signature;m.push({type:"tool-call",toolCallId:e.id||(0,n.generateId)(),toolName:e.function.name,input:e.function.arguments,...t?{providerMetadata:{[i]:{thoughtSignature:t}}}:{}})}let b={[i]:{},...await this.config.metadataExtractor?.extractMetadata?.({parsedBody:p})},_=d.usage?.completion_tokens_details;return _?.accepted_prediction_tokens!=null&&(b[i].acceptedPredictionTokens=_?.accepted_prediction_tokens),_?.rejected_prediction_tokens!=null&&(b[i].rejectedPredictionTokens=_?.rejected_prediction_tokens),{content:m,finishReason:{unified:c(h.finish_reason),raw:h.finish_reason??void 0},usage:this.convertUsage(d.usage),providerMetadata:b,request:{body:s},response:{...u(d),headers:l,body:p},warnings:r}}async doStream(e){let o,r,i,{args:a,warnings:s,metadataKey:l}=await this.getArgs({...e}),d=this.transformRequestBody({...a,stream:!0,stream_options:this.config.includeUsage?{include_usage:!0}:void 0}),p=this.config.metadataExtractor?.createStreamExtractor(),{responseHeaders:h,value:m}=await (0,n.postJsonToApi)({url:this.config.url({path:"/chat/completions",modelId:this.modelId}),headers:(0,n.combineHeaders)(this.config.headers?.(),e.headers),body:d,failedResponseHandler:this.failedResponseHandler,successfulResponseHandler:(0,n.createEventSourceResponseHandler)(this.chunkSchema),abortSignal:e.abortSignal,fetch:this.config.fetch}),f=new Map,y=new Set,b=e=>{let t=e.index;if(null==t||y.has(t))return void o.processDelta(e);let n=f.get(t);null==n?(n={id:e.id??null,bufferedArguments:"",extraContent:e.extra_content??null},f.set(t,n)):(null==n.id&&null!=e.id&&(n.id=e.id),null==n.extraContent&&null!=e.extra_content&&(n.extraContent=e.extra_content));let r=e.function?.arguments;null!=r&&(n.bufferedArguments+=r);let i=e.function?.name;if(null!=i){let e={index:t,id:n.id,function:{name:i,arguments:n.bufferedArguments},extra_content:n.extraContent??void 0};o.processDelta(e),f.delete(t),y.add(t)}},_=!1,w=!1,z=!1,v=e=>this.convertUsage(e);return{stream:m.pipeThrough(new TransformStream({start(e){o=new n.StreamingToolCallTracker(e,{generateId:n.generateId,extractMetadata:e=>{let t=e.extra_content?.google?.thought_signature;return t?{[l]:{thoughtSignature:t}}:void 0},buildToolCallProviderMetadata:e=>e}),e.enqueue({type:"stream-start",warnings:s})},transform(t,n){if(e.includeRawChunks&&n.enqueue({type:"raw",rawValue:t.rawValue}),!t.success){r={unified:"error",raw:void 0},n.enqueue({type:"error",error:t.error});return}if(p?.processChunk(t.rawValue),"error"in t.value){r={unified:"error",raw:void 0},n.enqueue({type:"error",error:t.value.error});return}let o=t.value;if(!_){let e=u(o);Object.values(e).some(Boolean)&&(_=!0,n.enqueue({type:"response-metadata",...e}))}null!=o.usage&&(i=o.usage);let a=o.choices[0];if(a?.finish_reason!=null&&(r={unified:c(a.finish_reason),raw:a.finish_reason??void 0}),a?.delta==null)return;let s=a.delta,l=e=>{z&&(n.enqueue({type:"text-end",id:"txt-0"}),z=!1),w||(n.enqueue({type:"reasoning-start",id:"reasoning-0"}),w=!0),n.enqueue({type:"reasoning-delta",id:"reasoning-0",delta:e})},d=e=>{w&&(n.enqueue({type:"reasoning-end",id:"reasoning-0"}),w=!1),z||(n.enqueue({type:"text-start",id:"txt-0"}),z=!0),n.enqueue({type:"text-delta",id:"txt-0",delta:e})},h=s.reasoning_content??s.reasoning;for(let e of(h&&l(h),g(s.content)))"reasoning"===e.type?l(e.text):d(e.text);if(null!=s.tool_calls&&s.tool_calls.length>0)for(let e of(w&&(n.enqueue({type:"reasoning-end",id:"reasoning-0"}),w=!1),s.tool_calls))b(e)},flush(e){for(let[t,n]of(w&&e.enqueue({type:"reasoning-end",id:"reasoning-0"}),z&&e.enqueue({type:"text-end",id:"txt-0"}),f))o.processDelta({index:t,id:n.id,function:{arguments:n.bufferedArguments}});f.clear(),o.flush(),null==r&&(r={unified:"error",raw:void 0},e.enqueue({type:"error",error:new t.InvalidResponseDataError({data:void 0,message:"Response stream ended without a finish reason."})}));let n={[l]:{},...p?.buildMetadata()};i?.completion_tokens_details?.accepted_prediction_tokens!=null&&(n[l].acceptedPredictionTokens=i?.completion_tokens_details?.accepted_prediction_tokens),i?.completion_tokens_details?.rejected_prediction_tokens!=null&&(n[l].rejectedPredictionTokens=i?.completion_tokens_details?.rejected_prediction_tokens),e.enqueue({type:"finish",finishReason:r,usage:v(i),providerMetadata:n})}})),request:{body:d},response:{headers:h}}}};let h=r.z.looseObject({prompt_tokens:r.z.number().nullish(),completion_tokens:r.z.number().nullish(),total_tokens:r.z.number().nullish(),prompt_tokens_details:r.z.looseObject({cached_tokens:r.z.number().nullish()}).nullish(),completion_tokens_details:r.z.looseObject({reasoning_tokens:r.z.number().nullish(),accepted_prediction_tokens:r.z.number().nullish(),rejected_prediction_tokens:r.z.number().nullish()}).nullish()}).nullish(),m=r.z.union([r.z.string(),r.z.array(r.z.looseObject({type:r.z.string()}))]).nullish();function g(e){if(null==e)return[];if("string"==typeof e)return e.length>0?[{type:"text",text:e}]:[];let t=[];for(let n of e)if("text"===n.type&&"string"==typeof n.text)n.text.length>0&&t.push({type:"text",text:n.text});else if("thinking"===n.type&&Array.isArray(n.thinking)){let e=n.thinking.filter(e=>null!=e&&"object"==typeof e&&"type"in e&&"text"===e.type&&"text"in e&&"string"==typeof e.text).map(e=>e.text).join("");e.length>0&&t.push({type:"reasoning",text:e})}return t}let f=r.z.looseObject({id:r.z.string().nullish(),created:r.z.number().nullish(),model:r.z.string().nullish(),choices:r.z.array(r.z.object({message:r.z.object({role:r.z.literal("assistant").nullish(),content:m,reasoning_content:r.z.string().nullish(),reasoning:r.z.string().nullish(),tool_calls:r.z.array(r.z.object({id:r.z.string().nullish(),function:r.z.object({name:r.z.string(),arguments:r.z.string()}),extra_content:r.z.object({google:r.z.object({thought_signature:r.z.string().nullish()}).nullish()}).nullish()})).nullish()}),finish_reason:r.z.string().nullish()})),usage:h}),y=r.z.looseObject({id:r.z.string().nullish(),created:r.z.number().nullish(),model:r.z.string().nullish(),choices:r.z.array(r.z.object({delta:r.z.object({role:r.z.enum(["assistant",""]).nullish(),content:m,reasoning_content:r.z.string().nullish(),reasoning:r.z.string().nullish(),tool_calls:r.z.array(r.z.object({index:r.z.number().nullish(),id:r.z.string().nullish(),function:r.z.object({name:r.z.string().nullish(),arguments:r.z.string().nullish()}),extra_content:r.z.object({google:r.z.object({thought_signature:r.z.string().nullish()}).nullish()}).nullish()})).nullish()}).nullish(),finish_reason:r.z.string().nullish()})),usage:h}),b=e=>r.z.union([y,e]);function _(e){if(null==e)return(0,n.createNullLanguageModelUsage)();let t=e.prompt_tokens??0,o=e.completion_tokens??0;return{inputTokens:{total:t,noCache:t,cacheRead:void 0,cacheWrite:void 0},outputTokens:{total:o,text:o,reasoning:void 0},raw:e}}function w(e){switch(e){case"stop":return"stop";case"length":return"length";case"content_filter":return"content-filter";case"function_call":case"tool_calls":return"tool-calls";default:return"other"}}let z=r.z.object({echo:r.z.boolean().optional(),logitBias:r.z.record(r.z.string(),r.z.number()).optional(),suffix:r.z.string().optional(),user:r.z.string().optional()});var v=class e{static[o.WORKFLOW_SERIALIZE](e){return(0,n.serializeModelOptions)({modelId:e.modelId,config:e.config})}static[o.WORKFLOW_DESERIALIZE](t){return new e(t.modelId,t.config)}constructor(e,t){this.specificationVersion="v4",this.modelId=e,this.config=t;const o=t.errorStructure??s;this.chunkSchema=S(o.errorSchema),this.failedResponseHandler=(0,n.createJsonErrorResponseHandler)(o)}get provider(){return this.config.provider}get providerOptionsName(){return this.config.provider.split(".")[0].trim()}get supportedUrls(){return this.config.supportedUrls?.()??{}}async getArgs({prompt:e,maxOutputTokens:o,temperature:r,topP:s,topK:l,frequencyPenalty:u,presencePenalty:c,stopSequences:d,responseFormat:p,seed:h,providerOptions:m,tools:g,toolChoice:f}){let y=[];a({rawName:this.providerOptionsName,providerOptions:m,warnings:y});let b=Object.assign(await (0,n.parseProviderOptions)({provider:this.providerOptionsName,providerOptions:m,schema:z})??{},await (0,n.parseProviderOptions)({provider:i(this.providerOptionsName),providerOptions:m,schema:z})??{});null!=l&&y.push({type:"unsupported",feature:"topK"}),g?.length&&y.push({type:"unsupported",feature:"tools"}),null!=f&&y.push({type:"unsupported",feature:"toolChoice"}),null!=p&&"text"!==p.type&&y.push({type:"unsupported",feature:"responseFormat",details:"JSON response format is not supported."});let{prompt:_,stopSequences:w}=function({prompt:e,user:n="user",assistant:o="assistant"}){let r="";for(let{role:i,content:a}of("system"===e[0].role&&(r+=`${e[0].content}
|
|
157
157
|
|
|
158
158
|
`,e=e.slice(1)),e))switch(i){case"system":throw new t.InvalidPromptError({message:"Unexpected system message in prompt: ${content}",prompt:e});case"user":{let e=a.map(e=>{if("text"===e.type)return e.text}).filter(Boolean).join("");r+=`${n}:
|
|
159
159
|
${e}
|
|
@@ -163,10 +163,10 @@ ${e}
|
|
|
163
163
|
|
|
164
164
|
`;break}case"tool":throw new t.UnsupportedFunctionalityError({functionality:"tool messages"});default:throw Error(`Unsupported role: ${i}`)}return{prompt:r+=`${o}:
|
|
165
165
|
`,stopSequences:[`
|
|
166
|
-
${n}:`]}}({prompt:e}),v=[...z??[],...d??[]];return{args:{model:this.modelId,echo:b.echo,logit_bias:b.logitBias,suffix:b.suffix,user:b.user,max_tokens:o,temperature:r,top_p:s,frequency_penalty:u,presence_penalty:c,seed:h,...m?.[this.providerOptionsName],...m?.[i(this.providerOptionsName)],prompt:_,stop:v.length>0?v:void 0},warnings:y}}async doGenerate(e){let{args:t,warnings:o}=await this.getArgs(e),{responseHeaders:r,value:i,rawValue:a}=await (0,n.postJsonToApi)({url:this.config.url({path:"/completions",modelId:this.modelId}),headers:(0,n.combineHeaders)(this.config.headers?.(),e.headers),body:t,failedResponseHandler:this.failedResponseHandler,successfulResponseHandler:(0,n.createJsonResponseHandler)(x),abortSignal:e.abortSignal,fetch:this.config.fetch}),s=i.choices[0],l=[];return null!=s.text&&s.text.length>0&&l.push({type:"text",text:s.text}),{content:l,usage:_(i.usage),finishReason:{unified:z(s.finish_reason),raw:s.finish_reason},request:{body:t},response:{...(0,n.createLanguageModelResponseMetadata)(i),headers:r,body:a},warnings:o}}async doStream(e){let t,{args:o,warnings:r}=await this.getArgs(e),i={...o,stream:!0,stream_options:this.config.includeUsage?{include_usage:!0}:void 0},{responseHeaders:a,value:s}=await (0,n.postJsonToApi)({url:this.config.url({path:"/completions",modelId:this.modelId}),headers:(0,n.combineHeaders)(this.config.headers?.(),e.headers),body:i,failedResponseHandler:this.failedResponseHandler,successfulResponseHandler:(0,n.createEventSourceResponseHandler)(this.chunkSchema),abortSignal:e.abortSignal,fetch:this.config.fetch}),l={unified:"other",raw:void 0},u=!0;return{stream:s.pipeThrough(new TransformStream({start(e){e.enqueue({type:"stream-start",warnings:r})},transform(o,r){if(e.includeRawChunks&&r.enqueue({type:"raw",rawValue:o.rawValue}),!o.success){l={unified:"error",raw:void 0},r.enqueue({type:"error",error:o.error});return}let i=o.value;if("error"in i){l={unified:"error",raw:void 0},r.enqueue({type:"error",error:i.error});return}u&&(u=!1,r.enqueue({type:"response-metadata",...(0,n.createLanguageModelResponseMetadata)(i)}),r.enqueue({type:"text-start",id:"0"})),null!=i.usage&&(t=i.usage);let a=i.choices[0];a?.finish_reason!=null&&(l={unified:z(a.finish_reason),raw:a.finish_reason??void 0}),a?.text!=null&&r.enqueue({type:"text-delta",id:"0",delta:a.text})},flush(e){u||e.enqueue({type:"text-end",id:"0"}),e.enqueue({type:"finish",finishReason:l,usage:_(t)})}})),request:{body:i},response:{headers:a}}}},k=r.z.looseObject({prompt_tokens:r.z.number(),completion_tokens:r.z.number(),total_tokens:r.z.number()}),x=r.z.object({id:r.z.string().nullish(),created:r.z.number().nullish(),model:r.z.string().nullish(),choices:r.z.array(r.z.object({text:r.z.string(),finish_reason:r.z.string()})),usage:k.nullish()}),S=e=>r.z.union([r.z.object({id:r.z.string().nullish(),created:r.z.number().nullish(),model:r.z.string().nullish(),choices:r.z.array(r.z.object({text:r.z.string(),finish_reason:r.z.string().nullish(),index:r.z.number()})),usage:k.nullish()}),e]),T=r.z.object({dimensions:r.z.number().optional(),user:r.z.string().optional()}),I=class e{constructor(e,t){this.specificationVersion="v4",this.modelId=e,this.config=t}get provider(){return this.config.provider}get maxEmbeddingsPerCall(){return this.config.maxEmbeddingsPerCall??2048}get supportsParallelCalls(){return this.config.supportsParallelCalls??!0}static[o.WORKFLOW_SERIALIZE](e){return(0,n.serializeModelOptions)({modelId:e.modelId,config:e.config})}static[o.WORKFLOW_DESERIALIZE](t){return new e(t.modelId,t.config)}get providerOptionsName(){return this.config.provider.split(".")[0].trim()}async doEmbed({values:e,headers:o,abortSignal:r,providerOptions:i}){let l=[],u=await (0,n.parseProviderOptions)({provider:"openai-compatible",providerOptions:i,schema:T});null!=u&&l.push({type:"deprecated",setting:"providerOptions key 'openai-compatible'",message:"Use 'openaiCompatible' instead."}),a({rawName:this.providerOptionsName,providerOptions:i,warnings:l});let c=Object.assign(u??{},await (0,n.parseProviderOptions)({provider:"openaiCompatible",providerOptions:i,schema:T})??{},await (0,n.parseProviderOptions)({provider:this.providerOptionsName,providerOptions:i,schema:T})??{});if(e.length>this.maxEmbeddingsPerCall)throw new t.TooManyEmbeddingValuesForCallError({provider:this.provider,modelId:this.modelId,maxEmbeddingsPerCall:this.maxEmbeddingsPerCall,values:e});let{responseHeaders:d,value:p,rawValue:h}=await (0,n.postJsonToApi)({url:this.config.url({path:"/embeddings",modelId:this.modelId}),headers:(0,n.combineHeaders)(this.config.headers?.(),o),body:{model:this.modelId,input:e,encoding_format:"float",dimensions:c.dimensions,user:c.user},failedResponseHandler:(0,n.createJsonErrorResponseHandler)(this.config.errorStructure??s),successfulResponseHandler:(0,n.createJsonResponseHandler)(O),abortSignal:r,fetch:this.config.fetch});return{warnings:l,embeddings:p.data.map(e=>e.embedding),usage:p.usage?{tokens:p.usage.prompt_tokens}:void 0,providerMetadata:p.providerMetadata,response:{headers:d,body:h}}}},O=r.z.object({data:r.z.array(r.z.object({embedding:r.z.array(r.z.number())})),usage:r.z.object({prompt_tokens:r.z.number()}).nullish(),providerMetadata:r.z.record(r.z.string(),r.z.record(r.z.string(),r.z.any())).optional()});o.WORKFLOW_SERIALIZE,o.WORKFLOW_DESERIALIZE,r.z.object({data:r.z.array(r.z.object({b64_json:r.z.string()})),usage:r.z.object({input_tokens:r.z.number().nullish(),output_tokens:r.z.number().nullish(),total_tokens:r.z.number().nullish()}).nullish()});e.s(["OpenAICompatibleChatLanguageModel",0,p,"OpenAICompatibleCompletionLanguageModel",0,v,"OpenAICompatibleEmbeddingModel",0,I])},882630,e=>{"use strict";var t=e.i(296194),n=e.i(691296),o=e.i(788147),r=e.i(548874),i=e.i(853205);function a({rawFinishReason:e,hasText:t,responseFormatType:n}){return"json"===n&&"tool_calls"===e&&t}var s=class e extends o.OpenAICompatibleChatLanguageModel{static[r.WORKFLOW_SERIALIZE](e){return(0,n.serializeModelOptions)({modelId:e.modelId,config:e.config})}static[r.WORKFLOW_DESERIALIZE](t){return new e(t.modelId,t.config)}async doGenerate(e){let t=await super.doGenerate(e);return a({rawFinishReason:t.finishReason.raw,hasText:t.content.some(e=>"text"===e.type&&e.text.length>0),responseFormatType:e.responseFormat?.type})?{...t,content:t.content.filter(e=>"tool-call"!==e.type),finishReason:{...t.finishReason,unified:"stop"}}:t}async doStream(e){let t=await super.doStream(e),n=!1;return{...t,stream:t.stream.pipeThrough(new TransformStream({transform(t,o){("text-delta"===t.type&&t.delta.length>0&&(n=!0),"finish"===t.type&&a({rawFinishReason:t.finishReason.raw,hasText:n,responseFormatType:e.responseFormat?.type}))?o.enqueue({...t,finishReason:{...t.finishReason,unified:"stop"}}):e.responseFormat?.type==="json"&&n&&("tool-input-start"===t.type||"tool-input-delta"===t.type||"tool-input-end"===t.type||"tool-call"===t.type)||o.enqueue(t)}}))}}},l={errorSchema:i.z.object({message:i.z.string(),type:i.z.string(),param:i.z.string(),code:i.z.string()}),errorToMessage:e=>e.message};function u(e){let{max_tokens:t,parallelToolCalls:n,topLogprobs:o,logitBias:r,serviceTier:i,reasoningFormat:a,promptCacheKey:s,...l}=e;return{...l,...void 0!==t&&{max_completion_tokens:t},...void 0!==n&&{parallel_tool_calls:n},...void 0!==o&&{top_logprobs:o},...void 0!==r&&{logit_bias:r},...void 0!==i&&{service_tier:i},...void 0!==a&&{reasoning_format:a},...void 0!==s&&{prompt_cache_key:s},messages:Array.isArray(e.messages)?e.messages.map(e=>{if(null==e||"object"!=typeof e||"assistant"!==e.role||!("reasoning_content"in e))return e;let{reasoning_content:t,...n}=e;return{...n,...!("reasoning"in n)&&void 0!==t?{reasoning:t}:{}}}):e.messages}}function c(e={}){let o=(0,n.withoutTrailingSlash)(e.baseURL??"https://api.cerebras.ai/v1"),r=()=>(0,n.withUserAgentSuffix)({Authorization:`Bearer ${(0,n.loadApiKey)({apiKey:e.apiKey,environmentVariableName:"CEREBRAS_API_KEY",description:"Cerebras API key"})}`,...e.headers},"ai-sdk/cerebras/3.0.57"),i=t=>new s(t,{provider:"cerebras.chat",url:({path:e})=>`${o}${e}`,headers:r,fetch:e.fetch,errorStructure:l,supportsStructuredOutputs:!0,transformRequestBody:u}),a=e=>i(e);return a.specificationVersion="v4",a.languageModel=i,a.chat=i,a.embeddingModel=e=>{throw new t.NoSuchModelError({modelId:e,modelType:"embeddingModel"})},a.textEmbeddingModel=a.embeddingModel,a.imageModel=e=>{throw new t.NoSuchModelError({modelId:e,modelType:"imageModel"})},a}c(),e.s(["createCerebras",0,c])},285346,e=>{"use strict";var t=e.i(296194),n=e.i(691296),o=e.i(548874),r=e.i(853205),i=r.z.object({thinking:r.z.object({type:r.z.enum(["enabled","disabled"]).optional(),tokenBudget:r.z.number().optional()}).optional()}),a=r.z.object({detail:r.z.enum(["auto","low","high"]).optional()}),s=r.z.object({message:r.z.string()}),l=(0,n.createJsonErrorResponseHandler)({errorSchema:s,errorToMessage:e=>e.message});function u(e){if(null==e)return(0,n.createNullLanguageModelUsage)();let t=e.tokens,o=t.input_tokens,r=t.output_tokens;return{inputTokens:{total:o,noCache:o,cacheRead:void 0,cacheWrite:void 0},outputTokens:{total:r,text:r,reasoning:void 0},raw:e}}async function c(e){let o=[],r=[];for(let{role:i,content:s}of e)switch(i){case"system":o.push({role:"system",content:s});break;case"user":{let e=[],i=!1;for(let o of s)switch(o.type){case"text":o.text.length>0&&e.push({type:"text",text:o.text});break;case"file":{let s;if("image"===(0,n.getTopLevelMediaType)(o.mediaType)){i=!0;let r=function({part:e}){switch(e.data.type){case"url":return e.data.url.toString();case"data":return`data:${(0,n.resolveFullMediaType)({part:e})};base64,${(0,n.convertToBase64)(e.data.data)}`;case"reference":throw new t.UnsupportedFunctionalityError({functionality:"image file parts with provider references"});case"text":throw new t.UnsupportedFunctionalityError({functionality:"image file parts with text data"})}}({part:o}),s=await (0,n.parseProviderOptions)({provider:"cohere",providerOptions:o.providerOptions,schema:a})??{};e.push({type:"image_url",image_url:{url:r,...s.detail?{detail:s.detail}:{}}});break}switch(o.data.type){case"reference":throw new t.UnsupportedFunctionalityError({functionality:"file parts with provider references"});case"url":throw new t.UnsupportedFunctionalityError({functionality:"File URL data",message:"URLs should be downloaded by the AI SDK and not reach this point. This indicates a configuration issue."});case"text":s=o.data.text;break;case"data":s="string"==typeof o.data.data?o.data.data:new TextDecoder().decode(o.data.data)}r.push({data:{text:s,title:o.filename}})}}i?o.push({role:"user",content:e}):o.push({role:"user",content:e.map(e=>"text"===e.type?e.text:"").join("")});break}case"assistant":{let e="",t=[];for(let n of s)switch(n.type){case"text":e+=n.text;break;case"tool-call":t.push({id:n.toolCallId,type:"function",function:{name:n.toolName,arguments:JSON.stringify(n.input)}})}o.push({role:"assistant",content:t.length>0?void 0:e,tool_calls:t.length>0?t:void 0,tool_plan:void 0});break}case"tool":o.push(...s.filter(e=>"tool-approval-response"!==e.type).map(e=>{let t,n=e.output;switch(n.type){case"text":case"error-text":t=n.value;break;case"execution-denied":t=n.reason??"Tool call execution denied.";break;case"content":case"json":case"error-json":t=JSON.stringify(n.value)}return{role:"tool",content:t,tool_call_id:e.toolCallId}}));break;default:throw Error(`Unsupported role: ${i}`)}return{messages:o,documents:r,warnings:[]}}function d(e){switch(e){case"COMPLETE":case"STOP_SEQUENCE":return"stop";case"MAX_TOKENS":return"length";case"ERROR":return"error";case"TOOL_CALL":return"tool-calls";default:return"other"}}var p=class e{constructor(e,t){this.specificationVersion="v4",this.supportedUrls={"image/*":[/^https?:\/\/.*$/]},this.modelId=e,this.config=t}static[o.WORKFLOW_SERIALIZE](e){return(0,n.serializeModelOptions)({modelId:e.modelId,config:e.config})}static[o.WORKFLOW_DESERIALIZE](t){return new e(t.modelId,t.config)}get provider(){return this.config.provider}async getArgs({prompt:e,maxOutputTokens:o,temperature:r,topP:a,topK:s,frequencyPenalty:l,presencePenalty:u,stopSequences:d,responseFormat:p,seed:h,reasoning:m,tools:g,toolChoice:f,providerOptions:y}){let b=[],_=await (0,n.parseProviderOptions)({provider:"cohere",providerOptions:y,schema:i})??{},{messages:z,documents:w,warnings:v}=await c(e),{tools:k,toolChoice:x,toolWarnings:S}=function({tools:e,toolChoice:n}){e=e?.length?e:void 0;let o=[];if(null==e)return{tools:void 0,toolChoice:void 0,toolWarnings:o};let r=[];for(let t of e)"provider"===t.type?o.push({type:"unsupported",feature:`provider-defined tool ${t.id}`}):r.push({type:"function",function:{name:t.name,description:t.description,parameters:t.inputSchema}});if(null==n)return{tools:r,toolChoice:void 0,toolWarnings:o};let i=n.type;switch(i){case"auto":return{tools:r,toolChoice:void 0,toolWarnings:o};case"none":return{tools:r,toolChoice:"NONE",toolWarnings:o};case"required":return{tools:r,toolChoice:"REQUIRED",toolWarnings:o};case"tool":return{tools:r.filter(e=>e.function.name===n.toolName),toolChoice:"REQUIRED",toolWarnings:o};default:throw new t.UnsupportedFunctionalityError({functionality:`tool choice type: ${i}`})}}({tools:g,toolChoice:f});return b.push(...S,...v),{args:{model:this.modelId,frequency_penalty:l,presence_penalty:u,max_tokens:o,temperature:r,p:a,k:s,seed:h,stop_sequences:d,response_format:p?.type==="json"?{type:"json_object",json_schema:p.schema}:void 0,messages:z,tools:k,tool_choice:x,...w.length>0&&{documents:w},...function({reasoning:e,cohereOptions:t,warnings:o}){if(t.thinking)return{thinking:{type:t.thinking.type??"enabled",token_budget:t.thinking.tokenBudget}};if(!(0,n.isCustomReasoning)(e))return{};if("none"===e)return{thinking:{type:"disabled"}};let r=(0,n.mapReasoningToProviderBudget)({reasoning:e,maxOutputTokens:32768,maxReasoningBudget:32768,warnings:o});return null==r?{}:{thinking:{type:"enabled",token_budget:r}}}({reasoning:m,cohereOptions:_,warnings:b})},warnings:b}}async doGenerate(e){let{args:t,warnings:o}=await this.getArgs(e),{responseHeaders:r,value:i,rawValue:a}=await (0,n.postJsonToApi)({url:`${this.config.baseURL}/chat`,headers:(0,n.combineHeaders)(this.config.headers?.(),e.headers),body:t,failedResponseHandler:l,successfulResponseHandler:(0,n.createJsonResponseHandler)(m),abortSignal:e.abortSignal,fetch:this.config.fetch}),s=[];for(let e of i.message.content??[]){if("text"===e.type&&e.text.length>0){s.push({type:"text",text:e.text});continue}if("thinking"===e.type&&e.thinking.length>0){s.push({type:"reasoning",text:e.thinking});continue}}for(let e of i.message.citations??[])s.push({type:"source",sourceType:"document",id:this.config.generateId(),mediaType:"text/plain",title:e.sources[0]?.document?.title||"Document",providerMetadata:{cohere:{start:e.start,end:e.end,text:e.text,sources:e.sources,...e.type&&{citationType:e.type}}}});for(let e of i.message.tool_calls??[])s.push({type:"tool-call",toolCallId:e.id,toolName:e.function.name,input:e.function.arguments.replace(/^null$/,"{}")});return{content:s,finishReason:{unified:d(i.finish_reason),raw:i.finish_reason??void 0},usage:u(i.usage),request:{body:t},response:{id:i.generation_id??void 0,headers:r,body:a},warnings:o}}async doStream(e){let t,{args:o,warnings:r}=await this.getArgs(e),{responseHeaders:i,value:a}=await (0,n.postJsonToApi)({url:`${this.config.baseURL}/chat`,headers:(0,n.combineHeaders)(this.config.headers?.(),e.headers),body:{...o,stream:!0},failedResponseHandler:l,successfulResponseHandler:(0,n.createEventSourceResponseHandler)(g),abortSignal:e.abortSignal,fetch:this.config.fetch}),s={unified:"other",raw:void 0},c=null,p=!1;return{stream:a.pipeThrough(new TransformStream({start(e){e.enqueue({type:"stream-start",warnings:r})},async transform(o,r){if(e.includeRawChunks&&r.enqueue({type:"raw",rawValue:o.rawValue}),!o.success){s={unified:"error",raw:void 0},r.enqueue({type:"error",error:o.error});return}let i=o.value;switch(i.type){case"content-start":if("thinking"===i.delta.message.content.type){r.enqueue({type:"reasoning-start",id:String(i.index)}),p=!0;return}r.enqueue({type:"text-start",id:String(i.index)});return;case"content-delta":if("thinking"in i.delta.message.content)return void r.enqueue({type:"reasoning-delta",id:String(i.index),delta:i.delta.message.content.thinking});r.enqueue({type:"text-delta",id:String(i.index),delta:i.delta.message.content.text});return;case"content-end":if(p){r.enqueue({type:"reasoning-end",id:String(i.index)}),p=!1;return}r.enqueue({type:"text-end",id:String(i.index)});return;case"tool-call-start":{let e=i.delta.message.tool_calls.id,t=i.delta.message.tool_calls.function.name,n=i.delta.message.tool_calls.function.arguments;c={id:e,name:t,arguments:n,hasFinished:!1},r.enqueue({type:"tool-input-start",id:e,toolName:t}),n.length>0&&r.enqueue({type:"tool-input-delta",id:e,delta:n});return}case"tool-call-delta":if(c&&!c.hasFinished){let e=i.delta.message.tool_calls.function.arguments;c.arguments+=e,r.enqueue({type:"tool-input-delta",id:c.id,delta:e})}return;case"tool-call-end":c&&!c.hasFinished&&(r.enqueue({type:"tool-input-end",id:c.id}),r.enqueue({type:"tool-call",toolCallId:c.id,toolName:c.name,input:JSON.stringify(await (0,n.parseJSON)({text:c.arguments?.trim()||"{}"}))}),c.hasFinished=!0,c=null);return;case"message-start":return void r.enqueue({type:"response-metadata",id:i.id??void 0});case"message-end":s={unified:d(i.delta.finish_reason),raw:i.delta.finish_reason},t=i.delta.usage;return}},flush(e){e.enqueue({type:"finish",finishReason:s,usage:u(t)})}})),request:{body:{...o,stream:!0}},response:{headers:i}}}},h=r.z.looseObject({billed_units:r.z.looseObject({input_tokens:r.z.number(),output_tokens:r.z.number()}).nullish(),tokens:r.z.looseObject({input_tokens:r.z.number(),output_tokens:r.z.number()}),cached_tokens:r.z.number().nullish()}),m=r.z.object({generation_id:r.z.string().nullish(),message:r.z.object({role:r.z.string(),content:r.z.array(r.z.union([r.z.object({type:r.z.literal("text"),text:r.z.string()}),r.z.object({type:r.z.literal("thinking"),thinking:r.z.string()})])).nullish(),tool_plan:r.z.string().nullish(),tool_calls:r.z.array(r.z.object({id:r.z.string(),type:r.z.literal("function"),function:r.z.object({name:r.z.string(),arguments:r.z.string()})})).nullish(),citations:r.z.array(r.z.object({start:r.z.number(),end:r.z.number(),text:r.z.string(),sources:r.z.array(r.z.object({type:r.z.string().optional(),id:r.z.string().optional(),document:r.z.object({id:r.z.string().optional(),text:r.z.string(),title:r.z.string()})})),type:r.z.string().optional()})).nullish()}),finish_reason:r.z.string(),usage:h}),g=r.z.discriminatedUnion("type",[r.z.object({type:r.z.literal("citation-start")}),r.z.object({type:r.z.literal("citation-end")}),r.z.object({type:r.z.literal("content-start"),index:r.z.number(),delta:r.z.object({message:r.z.object({content:r.z.union([r.z.object({type:r.z.literal("text"),text:r.z.string()}),r.z.object({type:r.z.literal("thinking"),thinking:r.z.string()})])})})}),r.z.object({type:r.z.literal("content-delta"),index:r.z.number(),delta:r.z.object({message:r.z.object({content:r.z.union([r.z.object({text:r.z.string()}),r.z.object({thinking:r.z.string()})])})})}),r.z.object({type:r.z.literal("content-end"),index:r.z.number()}),r.z.object({type:r.z.literal("message-start"),id:r.z.string().nullish()}),r.z.object({type:r.z.literal("message-end"),delta:r.z.object({finish_reason:r.z.string(),usage:h})}),r.z.object({type:r.z.literal("tool-plan-delta"),delta:r.z.object({message:r.z.object({tool_plan:r.z.string()})})}),r.z.object({type:r.z.literal("tool-call-start"),delta:r.z.object({message:r.z.object({tool_calls:r.z.object({id:r.z.string(),type:r.z.literal("function"),function:r.z.object({name:r.z.string(),arguments:r.z.string()})})})})}),r.z.object({type:r.z.literal("tool-call-delta"),delta:r.z.object({message:r.z.object({tool_calls:r.z.object({function:r.z.object({arguments:r.z.string()})})})})}),r.z.object({type:r.z.literal("tool-call-end")})]),f=r.z.object({inputType:r.z.enum(["search_document","search_query","classification","clustering"]).optional(),truncate:r.z.enum(["NONE","START","END"]).optional(),outputDimension:r.z.union([r.z.literal(256),r.z.literal(512),r.z.literal(1024),r.z.literal(1536)]).optional()}),y=class e{constructor(e,t){this.specificationVersion="v4",this.maxEmbeddingsPerCall=96,this.supportsParallelCalls=!0,this.modelId=e,this.config=t}static[o.WORKFLOW_SERIALIZE](e){return(0,n.serializeModelOptions)({modelId:e.modelId,config:e.config})}static[o.WORKFLOW_DESERIALIZE](t){return new e(t.modelId,t.config)}get provider(){return this.config.provider}async doEmbed({values:e,headers:o,abortSignal:r,providerOptions:i}){let a=await (0,n.parseProviderOptions)({provider:"cohere",providerOptions:i,schema:f});if(e.length>this.maxEmbeddingsPerCall)throw new t.TooManyEmbeddingValuesForCallError({provider:this.provider,modelId:this.modelId,maxEmbeddingsPerCall:this.maxEmbeddingsPerCall,values:e});let{responseHeaders:s,value:u,rawValue:c}=await (0,n.postJsonToApi)({url:`${this.config.baseURL}/embed`,headers:(0,n.combineHeaders)(this.config.headers?.(),o),body:{model:this.modelId,embedding_types:["float"],texts:e,input_type:a?.inputType??"search_query",truncate:a?.truncate,output_dimension:a?.outputDimension},failedResponseHandler:l,successfulResponseHandler:(0,n.createJsonResponseHandler)(b),abortSignal:r,fetch:this.config.fetch});return{warnings:[],embeddings:u.embeddings.float,usage:{tokens:u.meta.billed_units.input_tokens},response:{headers:s,body:c}}}},b=r.z.object({embeddings:r.z.object({float:r.z.array(r.z.array(r.z.number()))}),meta:r.z.object({billed_units:r.z.object({input_tokens:r.z.number()})})}),_=(0,n.lazySchema)(()=>(0,n.zodSchema)(r.z.object({id:r.z.string().nullish(),results:r.z.array(r.z.object({index:r.z.number(),relevance_score:r.z.number()})),meta:r.z.any()}))),z=(0,n.lazySchema)(()=>(0,n.zodSchema)(r.z.object({maxTokensPerDoc:r.z.number().optional(),priority:r.z.number().optional()}))),w=class{constructor(e,t){this.specificationVersion="v4",this.modelId=e,this.config=t}get provider(){return this.config.provider}async doRerank({documents:e,headers:t,query:o,topN:r,abortSignal:i,providerOptions:a}){let s=await (0,n.parseProviderOptions)({provider:"cohere",providerOptions:a,schema:z}),u=[];"object"===e.type&&u.push({type:"compatibility",feature:"object documents",details:"Object documents are converted to strings."});let{responseHeaders:c,value:d,rawValue:p}=await (0,n.postJsonToApi)({url:`${this.config.baseURL}/rerank`,headers:(0,n.combineHeaders)(this.config.headers(),t),body:{model:this.modelId,query:o,documents:"text"===e.type?e.values:e.values.map(e=>JSON.stringify(e)),top_n:r,max_tokens_per_doc:s?.maxTokensPerDoc,priority:s?.priority},failedResponseHandler:l,successfulResponseHandler:(0,n.createJsonResponseHandler)(_),abortSignal:i,fetch:this.config.fetch});return{ranking:d.results.map(e=>({index:e.index,relevanceScore:e.relevance_score})),warnings:u,response:{id:d.id??void 0,headers:c,body:p}}}};function v(e={}){let o=(0,n.withoutTrailingSlash)(e.baseURL)??"https://api.cohere.com/v2",r=()=>(0,n.withUserAgentSuffix)({Authorization:`Bearer ${(0,n.loadApiKey)({apiKey:e.apiKey,environmentVariableName:"COHERE_API_KEY",description:"Cohere"})}`,...e.headers},"ai-sdk/cohere/4.0.50"),i=t=>new p(t,{provider:"cohere.chat",baseURL:o,headers:r,fetch:e.fetch,generateId:e.generateId??n.generateId}),a=t=>new y(t,{provider:"cohere.textEmbedding",baseURL:o,headers:r,fetch:e.fetch}),s=t=>new w(t,{provider:"cohere.reranking",baseURL:o,headers:r,fetch:e.fetch}),l=function(e){if(new.target)throw Error("The Cohere model function cannot be called with the new keyword.");return i(e)};return l.specificationVersion="v4",l.languageModel=i,l.embedding=a,l.embeddingModel=a,l.textEmbedding=a,l.textEmbeddingModel=a,l.reranking=s,l.rerankingModel=s,l.imageModel=e=>{throw new t.NoSuchModelError({modelId:e,modelType:"imageModel"})},l}v(),e.s(["createCohere",0,v])},885612,e=>{"use strict";var t=e.i(788147),n=e.i(691296),o=e.i(548874),r=e.i(853205),i=(0,n.lazySchema)(()=>(0,n.zodSchema)(r.z.looseObject({negative_prompt:r.z.string().nullish(),num_inference_steps:r.z.number().nullish(),guidance_scale:r.z.number().nullish(),guidance:r.z.number().nullish(),response_format:r.z.enum(["b64_json"]).nullish(),quality:r.z.string().nullish(),style:r.z.string().nullish(),user:r.z.string().nullish()}))),a=class e{constructor(e,t){this.modelId=e,this.config=t,this.specificationVersion="v4",this.maxImagesPerCall=1}get provider(){return this.config.provider}static[o.WORKFLOW_SERIALIZE](e){return(0,n.serializeModelOptions)({modelId:e.modelId,config:e.config})}static[o.WORKFLOW_DESERIALIZE](t){return new e(t.modelId,t.config)}async doGenerate({prompt:e,n:t,size:o,aspectRatio:r,seed:a,providerOptions:p,headers:h,abortSignal:m,files:g,mask:f}){let y=[],b=this.config._internal?.currentDate?.()??new Date,_=await (0,n.parseProviderOptions)({provider:"deepinfra",providerOptions:p,schema:i});if(null!=g&&g.length>0){let{value:r,responseHeaders:i}=await (0,n.postFormDataToApi)({url:this.getEditUrl(),headers:(0,n.combineHeaders)(this.config.headers?.(),h),formData:(0,n.convertToFormData)({model:this.modelId,prompt:e,image:await Promise.all(g.map(e=>d(e))),mask:null!=f?await d(f):void 0,n:t,size:o,..._},{useArrayBrackets:!1}),failedResponseHandler:(0,n.createJsonErrorResponseHandler)({errorSchema:u,errorToMessage:e=>e.error?.message??"Unknown error"}),successfulResponseHandler:(0,n.createJsonResponseHandler)(c),abortSignal:m,fetch:this.config.fetch});return{images:r.data.map(e=>e.b64_json),warnings:y,response:{timestamp:b,modelId:this.modelId,headers:i}}}let z=o?.split("x"),{value:w,responseHeaders:v}=await (0,n.postJsonToApi)({url:`${this.config.baseURL}/${this.modelId}`,headers:(0,n.combineHeaders)(this.config.headers?.(),h),body:{prompt:e,num_images:t,...r&&{aspect_ratio:r},...z&&{width:z[0],height:z[1]},...null!=a&&{seed:a},..._},failedResponseHandler:(0,n.createJsonErrorResponseHandler)({errorSchema:s,errorToMessage:e=>e.detail.error}),successfulResponseHandler:(0,n.createJsonResponseHandler)(l),abortSignal:m,fetch:this.config.fetch});return{images:w.images.map(e=>e.replace(/^data:image\/\w+;base64,/,"")),warnings:y,response:{timestamp:b,modelId:this.modelId,headers:v}}}getEditUrl(){let e=this.config.baseURL.replace("/inference","/openai");return`${e}/images/edits`}},s=r.z.object({detail:r.z.object({error:r.z.string()})}),l=r.z.object({images:r.z.array(r.z.string())}),u=r.z.object({error:r.z.object({message:r.z.string()}).optional()}),c=r.z.object({data:r.z.array(r.z.object({b64_json:r.z.string()}))});async function d(e){return"url"===e.type?(0,n.downloadBlob)(e.url):new Blob([e.data instanceof Uint8Array?e.data:(0,n.convertBase64ToUint8Array)(e.data)],{type:e.mediaType})}var p=class e extends t.OpenAICompatibleChatLanguageModel{static[o.WORKFLOW_SERIALIZE](e){return(0,n.serializeModelOptions)({modelId:e.modelId,config:e.config})}static[o.WORKFLOW_DESERIALIZE](t){return new e(t.modelId,t.config)}fixUsageForGeminiModels(e){if(!e||!e.completion_tokens_details?.reasoning_tokens)return e;let t=e.completion_tokens??0,n=e.completion_tokens_details.reasoning_tokens;return n>t?{...e,completion_tokens:t+n,total_tokens:null!=e.total_tokens?e.total_tokens+n:void 0}:e}async doGenerate(e){let t=await super.doGenerate(e);if(t.usage?.raw){let e=this.fixUsageForGeminiModels(t.usage.raw);if(e!==t.usage.raw){let n=e.prompt_tokens??0,o=e.completion_tokens??0,r=e.prompt_tokens_details?.cached_tokens??0,i=e.completion_tokens_details?.reasoning_tokens??0;return{...t,usage:{inputTokens:{total:n,noCache:n-r,cacheRead:r,cacheWrite:void 0},outputTokens:{total:o,text:o-i,reasoning:i},raw:e}}}}return t}async doStream(e){let t=await super.doStream(e),n=t.stream,o=this.fixUsageForGeminiModels.bind(this),r=new ReadableStream({async start(e){let t=n.getReader();try{for(;;){let{done:n,value:r}=await t.read();if(n)break;if("finish"===r.type&&r.usage?.raw){let t=o(r.usage.raw);if(t!==r.usage.raw){let n=t.prompt_tokens??0,o=t.completion_tokens??0,i=t.prompt_tokens_details?.cached_tokens??0,a=t.completion_tokens_details?.reasoning_tokens??0;e.enqueue({...r,usage:{inputTokens:{total:n,noCache:n-i,cacheRead:i,cacheWrite:void 0},outputTokens:{total:o,text:o-a,reasoning:a},raw:t}})}else e.enqueue(r)}else e.enqueue(r)}e.close()}catch(t){e.error(t)}}});return{...t,stream:r}}};function h(e={}){let o=(0,n.withoutTrailingSlash)(e.baseURL??"https://api.deepinfra.com/v1"),r=()=>(0,n.withUserAgentSuffix)({Authorization:`Bearer ${(0,n.loadApiKey)({apiKey:e.apiKey,environmentVariableName:"DEEPINFRA_API_KEY",description:"DeepInfra's API key"})}`,...e.headers},"ai-sdk/deepinfra/3.0.57"),i=t=>({provider:`deepinfra.${t}`,url:({path:e})=>`${o}/openai${e}`,headers:r,fetch:e.fetch}),s=e=>new p(e,{...i("chat"),supportsStructuredOutputs:!0}),l=e=>new t.OpenAICompatibleEmbeddingModel(e,i("embedding")),u=e=>new a(e,{...i("image"),baseURL:o?`${o}/inference`:"https://api.deepinfra.com/v1/inference"}),c=e=>s(e);return c.specificationVersion="v4",c.completionModel=e=>new t.OpenAICompatibleCompletionLanguageModel(e,i("completion")),c.chatModel=s,c.image=u,c.imageModel=u,c.languageModel=s,c.embeddingModel=l,c.textEmbeddingModel=l,c}h(),e.s(["createDeepInfra",0,h])},527133,e=>{"use strict";var t=e.i(296194),n=e.i(691296),o=e.i(548874),r=e.i(853205),i=r.z.object({imageDetail:r.z.enum(["low","high","original","auto"]).optional(),fileData:r.z.literal(!0).optional()}),a=r.z.object({logprobs:r.z.boolean().optional(),topLogprobs:r.z.number().int().min(0).max(20).optional(),userId:r.z.string().regex(/^[a-zA-Z0-9_-]+$/,"userId must match /^[a-zA-Z0-9_-]+$/").max(512,"userId must be at most 512 characters long").optional(),thinking:r.z.object({type:r.z.enum(["adaptive","enabled","disabled"]).optional()}).optional(),reasoningEffort:r.z.enum(["low","medium","high","xhigh","max"]).optional(),strictJsonSchema:r.z.boolean().optional()}),s=r.z.object({name:r.z.string().optional()}).extend({prefix:r.z.literal(!0).optional()});function l(e){return e.includes("deepseek-v4")||e.startsWith("deepseek-flash")||e.startsWith("deepseek-pro")}var u=new Set(["image/gif","image/jpeg","image/jpg","image/png","image/webp"]);function c(e){let o=(0,n.resolveFullMediaType)({part:e});if(!u.has(o))throw new t.UnsupportedFunctionalityError({functionality:`DeepSeek image media type ${o}`,message:"DeepSeek supports JPEG, PNG, GIF, and WebP image inputs."});return o}function d({url:e,prompt:n}){if(e.length>8192)throw new t.InvalidPromptError({prompt:n,message:"DeepSeek image URLs must not exceed 8192 characters."})}async function p({prompt:e,responseFormat:o,modelId:r,providerOptionsName:a="deepseek",supportsAssistantPrefixCompletion:u=!1,supportsStructuredOutputs:h=!1}){let m=l(r),g=[],f=[];o?.type==="json"&&(null==o.schema?g.push({role:"system",content:"Return JSON."}):h||(g.push({role:"system",content:"Return JSON that conforms to the following schema: "+JSON.stringify(o.schema)}),f.push({type:"compatibility",feature:"responseFormat JSON schema",details:"JSON response schema is injected into the system message."})));let y=-1;for(let t=e.length-1;t>=0;t--)if("user"===e[t].role){y=t;break}let b=-1;for(let{role:o,content:r,providerOptions:l}of e){b++;let p=await (0,n.parseProviderOptions)({provider:a,providerOptions:l,schema:s});if(p?.prefix===!0&&"assistant"!==o)throw new t.InvalidPromptError({prompt:e,message:"DeepSeek assistant prefix completion requires `prefix: true` on an assistant message."});switch(o){case"system":g.push({role:"system",content:r,...p?.name!=null&&{name:p.name}});break;case"user":{if(!r.some(e=>"file"===e.type&&("reference"===e.data.type||"url"===e.data.type||"data"===e.data.type)&&"image"===(0,n.getTopLevelMediaType)(e.mediaType))){let e="";for(let t of r)"text"===t.type?e+=t.text:f.push({type:"unsupported",feature:`user message part type: ${t.type}`});g.push({role:"user",content:e,...p?.name!=null&&{name:p.name}});break}let o=[];for(let s of r)if("text"===s.type)o.push({type:"text",text:s.text});else if("file"===s.type&&"image"===(0,n.getTopLevelMediaType)(s.mediaType)){let r=await (0,n.parseProviderOptions)({provider:a,providerOptions:s.providerOptions,schema:i});if("reference"===s.data.type)o.push({type:"file",file_id:(0,n.resolveProviderReference)({reference:s.data.reference,provider:"deepseek"})});else if("url"===s.data.type||"data"===s.data.type){let i=c(s);if("url"===s.data.type){let n=s.data.url.toString();if(d({url:n,prompt:e}),r?.fileData===!0)throw new t.InvalidPromptError({prompt:e,message:"DeepSeek `fileData` image parts require inline data, not a URL."});o.push({type:"image_url",image_url:{url:n,...r?.imageDetail!=null&&{detail:r.imageDetail}}})}else{let a=`data:${"image/jpg"===i?"image/jpeg":i};base64,${(0,n.convertToBase64)(s.data.data)}`;if(r?.fileData===!0){if(null!=r.imageDetail)throw new t.InvalidPromptError({prompt:e,message:"DeepSeek `imageDetail` cannot be combined with `fileData`."});o.push({type:"file",file_data:a,...null!=s.filename&&{filename:s.filename}})}else o.push({type:"image_url",image_url:{url:a,...r?.imageDetail!=null&&{detail:r.imageDetail}}})}}else f.push({type:"unsupported",feature:`user message part type: ${s.type}`})}else f.push({type:"unsupported",feature:`user message part type: ${s.type}`});g.push({role:"user",content:o,...p?.name!=null&&{name:p.name}});break}case"assistant":{let n;if(p?.prefix===!0){if(b!==e.length-1)throw new t.InvalidPromptError({prompt:e,message:"DeepSeek assistant prefix completion requires the prefixed assistant message to be the final message."});if(!u)throw new t.UnsupportedFunctionalityError({functionality:"DeepSeek assistant prefix completion",message:"DeepSeek assistant prefix completion requires a beta base URL ending in `/beta`."})}let o="",i=[];for(let e of r)switch(e.type){case"text":o+=e.text;break;case"reasoning":if(b<=y&&!m)break;null==n?n=e.text:n+=e.text;break;case"tool-call":i.push({id:e.toolCallId,type:"function",function:{name:e.toolName,arguments:JSON.stringify(e.input)}})}g.push({role:"assistant",content:o,...p?.name!=null&&{name:p.name},...p?.prefix===!0&&{prefix:!0},reasoning_content:n??(m?"":void 0),tool_calls:i.length>0?i:void 0});break}case"tool":for(let t of(p?.name!=null&&f.push({type:"unsupported",feature:"message name on tool messages"}),r)){let o;if("tool-approval-response"===t.type)continue;let r=t.output;switch(r.type){case"text":case"error-text":o=r.value;break;case"execution-denied":o=r.reason??"Tool call execution denied.";break;case"json":case"error-json":o=JSON.stringify(r.value);break;case"content":if(!r.value.some(e=>"file"===e.type&&("reference"===e.data.type||"url"===e.data.type||"data"===e.data.type)&&"image"===(0,n.getTopLevelMediaType)(e.mediaType))){o=JSON.stringify(r.value);break}for(let t of(o=[],r.value))if("text"===t.type)o.push({type:"text",text:t.text});else if("file"===t.type&&("reference"===t.data.type||"url"===t.data.type||"data"===t.data.type)&&"image"===(0,n.getTopLevelMediaType)(t.mediaType)){let r;if("reference"===t.data.type){o.push({type:"file",file_id:(0,n.resolveProviderReference)({reference:t.data.reference,provider:"deepseek"})});continue}let s=await (0,n.parseProviderOptions)({provider:a,providerOptions:t.providerOptions,schema:i}),l=c(t);"url"===t.data.type?d({url:r=t.data.url.toString(),prompt:e}):r=`data:${"image/jpg"===l?"image/jpeg":l};base64,${(0,n.convertToBase64)(t.data.data)}`,o.push({type:"image_url",image_url:{url:r,...s?.imageDetail!=null&&{detail:s.imageDetail}}})}else f.push({type:"unsupported",feature:`tool result content part type: ${t.type}`})}g.push({role:"tool",tool_call_id:t.toolCallId,content:o})}break;default:f.push({type:"unsupported",feature:`message role: ${o}`})}}return{messages:g,warnings:f}}function h(e){if(null==e)return(0,n.createNullLanguageModelUsage)();let t=e.prompt_tokens??0,o=e.completion_tokens??0,r=e.prompt_cache_hit_tokens??0,i=e.completion_tokens_details?.reasoning_tokens??0;return{inputTokens:{total:t,noCache:t-r,cacheRead:r,cacheWrite:void 0},outputTokens:{total:o,text:Math.max(0,o-i),reasoning:i},raw:e}}var m=r.z.looseObject({prompt_tokens:r.z.number().nullish(),completion_tokens:r.z.number().nullish(),prompt_cache_hit_tokens:r.z.number().nullish(),prompt_cache_miss_tokens:r.z.number().nullish(),total_tokens:r.z.number().nullish(),prompt_tokens_details:r.z.looseObject({cached_tokens:r.z.number().nullish()}).nullish(),completion_tokens_details:r.z.looseObject({reasoning_tokens:r.z.number().nullish()}).nullish()}).nullish(),g=r.z.object({error:r.z.object({message:r.z.string(),type:r.z.string().nullish(),param:r.z.any().nullish(),code:r.z.union([r.z.string(),r.z.number()]).nullish()})}),f=r.z.object({token:r.z.string(),logprob:r.z.number(),bytes:r.z.array(r.z.number()).nullable(),top_logprobs:r.z.array(r.z.object({token:r.z.string(),logprob:r.z.number(),bytes:r.z.array(r.z.number()).nullable()}))}),y=r.z.object({content:r.z.array(f).nullish(),reasoning_content:r.z.array(f).nullish()}).nullish(),b=r.z.object({id:r.z.string().nullish(),created:r.z.number().nullish(),model:r.z.string().nullish(),object:r.z.literal("chat.completion").nullish(),system_fingerprint:r.z.string().nullish(),choices:r.z.array(r.z.object({index:r.z.number().nullish(),message:r.z.object({role:r.z.literal("assistant").nullish(),content:r.z.string().nullish(),reasoning_content:r.z.string().nullish(),tool_calls:r.z.array(r.z.object({id:r.z.string().nullish(),type:r.z.literal("function").nullish(),function:r.z.object({name:r.z.string(),arguments:r.z.string()})})).nullish()}),logprobs:y,finish_reason:r.z.string().nullish()})),usage:m}),_=(0,n.lazySchema)(()=>(0,n.zodSchema)(r.z.union([r.z.object({id:r.z.string().nullish(),created:r.z.number().nullish(),model:r.z.string().nullish(),object:r.z.literal("chat.completion.chunk").nullish(),system_fingerprint:r.z.string().nullish(),choices:r.z.array(r.z.object({index:r.z.number().nullish(),delta:r.z.object({role:r.z.enum(["assistant"]).nullish(),content:r.z.string().nullish(),reasoning_content:r.z.string().nullish(),tool_calls:r.z.array(r.z.object({index:r.z.number(),id:r.z.string().nullish(),type:r.z.literal("function").nullish(),function:r.z.object({name:r.z.string().nullish(),arguments:r.z.string().nullish()})})).nullish()}).nullish(),logprobs:y,finish_reason:r.z.string().nullish()})),usage:m}),g])));function z(e){switch(e){case"stop":return"stop";case"length":return"length";case"content_filter":return"content-filter";case"tool_calls":return"tool-calls";case"insufficient_system_resource":return"error";default:return"other"}}var w=class e{constructor(e,t){this.specificationVersion="v4",this.supportedUrls={"image/*":[/^https?:\/\/.*$/]},this.modelId=e,this.config=t,this.failedResponseHandler=(0,n.createJsonErrorResponseHandler)({errorSchema:g,errorToMessage:e=>e.error.message})}static[o.WORKFLOW_SERIALIZE](e){return(0,n.serializeModelOptions)({modelId:e.modelId,config:e.config})}static[o.WORKFLOW_DESERIALIZE](t){return new e(t.modelId,t.config)}get provider(){return this.config.provider}get providerOptionsName(){return this.config.provider.split(".")[0].trim()}async getArgs({prompt:e,maxOutputTokens:o,temperature:r,topP:i,topK:s,frequencyPenalty:u,presencePenalty:c,reasoning:d,providerOptions:h,stopSequences:m,responseFormat:g,seed:f,toolChoice:y,tools:b}){let _=await (0,n.parseProviderOptions)({provider:this.providerOptionsName,providerOptions:h,schema:a})??{},z=!0===this.config.supportsStructuredOutputs,w=!0===this.config.supportsPenaltySampling,{messages:v,warnings:k}=await p({prompt:e,responseFormat:g,modelId:this.modelId,providerOptionsName:this.providerOptionsName,supportsAssistantPrefixCompletion:this.config.supportsAssistantPrefixCompletion,supportsStructuredOutputs:z}),x=[...k];null!=s&&x.push({type:"unsupported",feature:"topK"}),null!=f&&x.push({type:"unsupported",feature:"seed"}),w||null==u||x.push({type:"deprecated",setting:"frequencyPenalty",message:"frequencyPenalty is deprecated by DeepSeek and has been omitted. Remove frequencyPenalty from the request."}),w||null==c||x.push({type:"deprecated",setting:"presencePenalty",message:"presencePenalty is deprecated by DeepSeek and has been omitted. Remove presencePenalty from the request."});let{tools:S,toolChoice:T,toolWarnings:I}=function({tools:e,toolChoice:n,supportsStrictToolCalls:o}){e=e?.length?e:void 0;let r=[];if(null==e)return{tools:void 0,toolChoice:void 0,toolWarnings:r};let i=e.filter(e=>"function"===e.type),a=i.some(e=>!0===e.strict);if(a&&!1===o)throw new t.UnsupportedFunctionalityError({functionality:"DeepSeek strict tool calls",message:"DeepSeek strict tool calls require a beta base URL ending in `/beta`."});if(a&&!0===o&&i.some(e=>!0!==e.strict))throw new t.UnsupportedFunctionalityError({functionality:"mixed DeepSeek strict and non-strict tool calls",message:"DeepSeek strict mode requires every function tool in the request to set `strict: true`."});let s=[];for(let t of e)"provider"===t.type?r.push({type:"unsupported",feature:`provider-defined tool ${t.id}`}):s.push({type:"function",function:{name:t.name,description:t.description,parameters:t.inputSchema,...null!=t.strict?{strict:t.strict}:{}}});if(null==n)return{tools:s,toolChoice:void 0,toolWarnings:r};let l=n?.type;switch(l){case"auto":case"none":case"required":return{tools:s,toolChoice:l,toolWarnings:r};case"tool":return{tools:s,toolChoice:{type:"function",function:{name:n.toolName}},toolWarnings:r};default:return{tools:s,toolChoice:void 0,toolWarnings:[...r,{type:"unsupported",feature:`tool choice type: ${l}`}]}}}({tools:b,toolChoice:y,supportsStrictToolCalls:this.config.supportsStrictToolCalls}),O=_.thinking?.type;"adaptive"===O&&x.push({type:"compatibility",feature:"thinking.type",details:'thinking.type "adaptive" is not a canonical DeepSeek value. mapped to "enabled".'});let E=!1===this.config.supportsThinking?void 0:null!=O?{type:"adaptive"===O?"enabled":O}:(0,n.isCustomReasoning)(d)?{type:"none"===d?"disabled":"enabled"}:void 0,C=!1!==this.config.supportsThinking&&E?.type!=="disabled"&&(null!=E||"deepseek-reasoner"===this.modelId||l(this.modelId));C&&null!=r&&x.push({type:"unsupported",feature:"temperature",details:"temperature has no effect when DeepSeek thinking is enabled. Set providerOptions.deepseek.thinking.type to 'disabled' to use temperature."}),C&&null!=i&&x.push({type:"unsupported",feature:"topP",details:"topP has no effect when DeepSeek thinking is enabled. Set providerOptions.deepseek.thinking.type to 'disabled' to use topP."});let A=null!=_.reasoningEffort?function({reasoningEffort:e,warnings:t}){let n="medium"===e?"high":"xhigh"===e?"max":e;return n!==e&&t.push({type:"compatibility",feature:"reasoningEffort",details:`reasoningEffort "${e}" is not a canonical DeepSeek value. mapped to "${n}".`}),n}({reasoningEffort:_.reasoningEffort,warnings:x}):(0,n.isCustomReasoning)(d)&&"none"!==d?(0,n.mapReasoningToProviderEffort)({reasoning:d,effortMap:{minimal:"low",low:"low",medium:"high",high:"high",xhigh:"max"},warnings:x}):void 0;return{args:{model:this.modelId,...(!0===_.logprobs||null!=_.topLogprobs)&&{logprobs:!0},...null!=_.topLogprobs&&{top_logprobs:_.topLogprobs},max_tokens:o,temperature:C?void 0:r,top_p:C?void 0:i,frequency_penalty:w?u:void 0,presence_penalty:w?c:void 0,response_format:g?.type==="json"?z&&null!=g.schema?{type:"json_schema",json_schema:{schema:g.schema,strict:_.strictJsonSchema??!0,name:g.name??"response",description:g.description}}:{type:"json_object"}:void 0,stop:m,messages:v,tools:S,tool_choice:T,thinking:E,...null!=_.userId&&{user_id:_.userId},...E?.type!=="disabled"&&null!=A&&{reasoning_effort:A}},warnings:[...x,...I]}}async doGenerate(e){let{args:o,warnings:r}=await this.getArgs({...e}),{responseHeaders:i,value:a,rawValue:s}=await (0,n.postJsonToApi)({url:this.config.url({path:"/chat/completions",modelId:this.modelId}),headers:(0,n.combineHeaders)(this.config.headers?.(),e.headers),body:o,failedResponseHandler:this.failedResponseHandler,successfulResponseHandler:(0,n.createJsonResponseHandler)(b),abortSignal:e.abortSignal,fetch:this.config.fetch}),l=a.choices[0];if(null==l)throw new t.InvalidResponseDataError({data:s,message:"Response did not contain any choices."});let u=[],c=l.message.reasoning_content;if(null!=c&&c.length>0&&u.push({type:"reasoning",text:c}),null!=l.message.tool_calls)for(let e of l.message.tool_calls)u.push({type:"tool-call",toolCallId:e.id||(0,n.generateId)(),toolName:e.function.name,input:e.function.arguments});let d=l.message.content;return null!=d&&d.length>0&&u.push({type:"text",text:d}),{content:u,finishReason:{unified:z(l.finish_reason),raw:l.finish_reason??void 0},usage:h(a.usage),providerMetadata:{[this.providerOptionsName]:{promptCacheHitTokens:a.usage?.prompt_cache_hit_tokens,promptCacheMissTokens:a.usage?.prompt_cache_miss_tokens,...null!=a.object&&{responseObject:a.object},...null!=l.index&&{choiceIndex:l.index},...null!=l.message.role&&{messageRole:l.message.role},...null!=l.message.tool_calls&&{toolCallTypes:l.message.tool_calls.map(e=>e.type).filter(e=>null!=e)},...null!=l.logprobs&&{logprobs:l.logprobs},...null!=a.system_fingerprint&&{systemFingerprint:a.system_fingerprint}}},request:{body:o},response:{...(0,n.createLanguageModelResponseMetadata)(a),headers:i,body:s},warnings:r}}async doStream(e){let t,o,r,i,a,s,{args:l,warnings:u}=await this.getArgs({...e}),c={...l,stream:!0,stream_options:{include_usage:!0}},{responseHeaders:d,value:p}=await (0,n.postJsonToApi)({url:this.config.url({path:"/chat/completions",modelId:this.modelId}),headers:(0,n.combineHeaders)(this.config.headers?.(),e.headers),body:c,failedResponseHandler:this.failedResponseHandler,successfulResponseHandler:(0,n.createEventSourceResponseHandler)(_),abortSignal:e.abortSignal,fetch:this.config.fetch}),m={unified:"other",raw:void 0},g=!0,f=this.providerOptionsName,y=!1,b=!1,w=new Map,v=[],k=[];return{stream:p.pipeThrough(new TransformStream({start(e){t=new n.StreamingToolCallTracker(e,{generateId:n.generateId}),e.enqueue({type:"stream-start",warnings:u})},transform(l,u){if(e.includeRawChunks&&u.enqueue({type:"raw",rawValue:l.rawValue}),!l.success){m={unified:"error",raw:void 0},u.enqueue({type:"error",error:l.error});return}let c=l.value;if("error"in c){var d;let e;m={unified:"error",raw:void 0},u.enqueue({type:"error",error:(d=c.error,e=function(e){var t,n;let o;if("insufficient_quota"===e.code||"insufficient_quota"===e.type)return{statusCode:429,isRetryable:!1};let r="number"==typeof(o="string"==typeof(t=e.code)&&/^\d{3}$/.test(t)?Number(t):t)&&Number.isInteger(o)&&o>=400&&o<=599?o:void 0;if(null!=r){return{statusCode:r,isRetryable:408===(n=r)||409===n||429===n||n>=500}}for(let t of[e.code,e.type])switch(t){case"rate_limit_exceeded":case"rate_limit_error":return{statusCode:429,isRetryable:!0};case"server_error":case"api_error":case"internal_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}}return{}}(d),(0,n.createProviderStreamError)({message:d.message,type:d.type??void 0,code:d.code??void 0,...e,data:c}))});return}g&&(g=!1,u.enqueue({type:"response-metadata",...(0,n.createLanguageModelResponseMetadata)(c)})),null!=c.usage&&(a=c.usage),null!=c.object&&(o=c.object),null!=c.system_fingerprint&&(s=c.system_fingerprint);let p=c.choices[0];if(p?.index!=null&&(r=p.index),p?.finish_reason!=null&&(m={unified:z(p.finish_reason),raw:p.finish_reason}),p?.logprobs?.content!=null&&v.push(...p.logprobs.content),p?.logprobs?.reasoning_content!=null&&k.push(...p.logprobs.reasoning_content),p?.delta==null)return;let h=p.delta;null!=h.role&&(i=h.role);let f=h.reasoning_content;if(f&&(y||(u.enqueue({type:"reasoning-start",id:"reasoning-0"}),y=!0),u.enqueue({type:"reasoning-delta",id:"reasoning-0",delta:f})),h.content&&(b||(u.enqueue({type:"text-start",id:"txt-0"}),b=!0),y&&(u.enqueue({type:"reasoning-end",id:"reasoning-0"}),y=!1),u.enqueue({type:"text-delta",id:"txt-0",delta:h.content})),null!=h.tool_calls&&h.tool_calls.length>0)for(let e of(y&&(u.enqueue({type:"reasoning-end",id:"reasoning-0"}),y=!1),h.tool_calls))null!=e.type&&w.set(e.index,e.type),t.processDelta(e)},flush(e){y&&e.enqueue({type:"reasoning-end",id:"reasoning-0"}),b&&e.enqueue({type:"text-end",id:"txt-0"}),t.flush(),e.enqueue({type:"finish",finishReason:m,usage:h(a),providerMetadata:{[f]:{promptCacheHitTokens:a?.prompt_cache_hit_tokens??void 0,promptCacheMissTokens:a?.prompt_cache_miss_tokens??void 0,...null!=o&&{responseObject:o},...null!=r&&{choiceIndex:r},...null!=i&&{messageRole:i},...w.size>0&&{toolCallTypes:[...w.entries()].sort(([e],[t])=>e-t).map(([,e])=>e)},...(v.length>0||k.length>0)&&{logprobs:{...v.length>0&&{content:v},...k.length>0&&{reasoning_content:k}}},...null!=s&&{systemFingerprint:s}}}})}})),request:{body:c},response:{headers:d}}}},v=(0,n.lazySchema)(()=>(0,n.zodSchema)(r.z.object({id:r.z.string(),object:r.z.literal("file").nullish(),bytes:r.z.number().int().nonnegative().nullish(),created_at:r.z.number().int().nonnegative().nullish(),filename:r.z.string().nullish(),purpose:r.z.literal("user_data").nullish(),expires_at:r.z.number().int().nonnegative().nullish()}))),k=(0,n.lazySchema)(()=>(0,n.zodSchema)(r.z.object({expiresAfter:r.z.number().int().min(3600).max(2592e3).optional()}))),x=(0,n.createJsonErrorResponseHandler)({errorSchema:g,errorToMessage:e=>e.error.message}),S=new Set(["image/gif","image/jpeg","image/jpg","image/png","image/webp"]),T=new Set(["","application/binary","application/octet-stream","binary/octet-stream","image","image/*"]),I=new Set(["gif","jpeg","jpg","png","webp"]),O=class{constructor(e){this.config=e,this.specificationVersion="v4"}get provider(){return this.config.provider}async uploadFile({data:e,mediaType:o,filename:r,abortSignal:i,headers:a,providerOptions:s}){let l=await (0,n.parseProviderOptions)({provider:"deepseek",providerOptions:s,schema:k}),u=(0,n.convertInlineFileDataToUint8Array)(e);!function({fileBytes:e,mediaType:o,filename:r}){if(e.length>0x4000000)throw new t.InvalidArgumentError({argument:"data",message:`DeepSeek file uploads must not exceed 64 MiB (${0x4000000.toLocaleString("en-US")} bytes). Received ${e.length.toLocaleString("en-US")} bytes.`});if(null!=r){let e=Array.from(r).length;if(e>512)throw new t.InvalidArgumentError({argument:"filename",message:`DeepSeek filenames must not exceed 512 characters. Received ${e} characters.`})}let i=o.split(";",1)[0].trim().toLowerCase(),a=(0,n.detectMediaType)({data:e});if(null!=a&&!S.has(a))throw new t.InvalidArgumentError({argument:"data",message:`DeepSeek file uploads support JPEG, PNG, GIF, and WebP images. Detected unsupported file content type "${a}".`});if(!S.has(i)){if(!T.has(i))throw new t.InvalidArgumentError({argument:"mediaType",message:`DeepSeek file uploads support JPEG, PNG, GIF, and WebP images. Received unsupported media type "${o}".`});if(!(null!=a||function(e){if(null==e)return!1;let t=e.lastIndexOf(".");return -1!==t&&I.has(e.slice(t+1).toLowerCase())}(r)))throw new t.InvalidArgumentError({argument:"mediaType",message:`DeepSeek file uploads support JPEG, PNG, GIF, and WebP images. Provide a supported media type or a filename ending in .jpg, .jpeg, .png, .gif, or .webp. Received "${o}".`})}}({fileBytes:u,mediaType:o,filename:r});let c=new Blob([u],{type:o}),d=new FormData;null!=r?d.append("file",c,r):d.append("file",c),d.append("purpose","user_data"),l?.expiresAfter!=null&&(d.append("expires_after[anchor]","created_at"),d.append("expires_after[seconds]",String(l.expiresAfter)));let{value:p}=await (0,n.postFormDataToApi)({url:`${this.config.baseURL}/files`,headers:(0,n.combineHeaders)(this.config.headers(),a),formData:d,failedResponseHandler:x,successfulResponseHandler:(0,n.createJsonResponseHandler)(v),abortSignal:i,fetch:this.config.fetch});return{warnings:[],providerReference:{deepseek:p.id},...p.filename??r?{filename:p.filename??r}:{},...null!=o?{mediaType:o}:{},providerMetadata:{deepseek:{...null!=p.object?{object:p.object}:{},...null!=p.filename?{filename:p.filename}:{},...null!=p.purpose?{purpose:p.purpose}:{},...null!=p.bytes?{bytes:p.bytes}:{},...null!=p.created_at?{createdAt:p.created_at}:{},...null!=p.expires_at?{expiresAt:p.expires_at}:{}}}}}};function E(e={}){let o=(0,n.withoutTrailingSlash)(e.baseURL??"https://api.deepseek.com")??"https://api.deepseek.com",r=()=>(0,n.withUserAgentSuffix)({Authorization:`Bearer ${(0,n.loadApiKey)({apiKey:e.apiKey,environmentVariableName:"DEEPSEEK_API_KEY",description:"DeepSeek API key"})}`,...e.headers},"ai-sdk/deepseek/3.0.54"),i=t=>new w(t,{provider:"deepseek.chat",url:({path:e})=>`${o}${e}`,headers:r,fetch:e.fetch,supportsAssistantPrefixCompletion:o.endsWith("/beta"),supportsStrictToolCalls:o.endsWith("/beta")}),a=e=>i(e);return a.specificationVersion="v4",a.languageModel=i,a.chat=i,a.files=()=>new O({provider:"deepseek.files",baseURL:o,headers:r,fetch:e.fetch}),a.embeddingModel=e=>{throw new t.NoSuchModelError({modelId:e,modelType:"embeddingModel"})},a.textEmbeddingModel=a.embeddingModel,a.imageModel=e=>{throw new t.NoSuchModelError({modelId:e,modelType:"imageModel"})},a}E(),e.s(["createDeepSeek",0,E])},605184,e=>{"use strict";var t=e.i(691296),n=e.i(548874),o=e.i(853205),r=e.i(788147),i=(0,t.lazySchema)(()=>(0,t.zodSchema)(o.z.object({request_id:o.z.string()}))),a=(0,t.lazySchema)(()=>(0,t.zodSchema)(o.z.object({id:o.z.string(),status:o.z.string(),result:o.z.object({sample:o.z.string().optional()}).nullable()}))),s=(0,t.lazySchema)(()=>(0,t.zodSchema)(o.z.looseObject({guidance_scale:o.z.number().optional(),num_inference_steps:o.z.number().int().optional(),output_format:o.z.enum(["jpeg","png"]).optional(),webhook_url:o.z.string().optional(),webhook_secret:o.z.string().optional(),prompt_upsampling:o.z.boolean().optional(),safety_tolerance:o.z.number().int().min(0).max(6).optional(),cfg_scale:o.z.number().optional(),steps:o.z.number().int().optional()}))),l={"accounts/fireworks/models/flux-1-dev-fp8":{urlFormat:"workflows"},"accounts/fireworks/models/flux-1-schnell-fp8":{urlFormat:"workflows"},"accounts/fireworks/models/flux-kontext-pro":{urlFormat:"workflows_async",supportsEditing:!0},"accounts/fireworks/models/flux-kontext-max":{urlFormat:"workflows_async",supportsEditing:!0},"accounts/fireworks/models/playground-v2-5-1024px-aesthetic":{urlFormat:"image_generation",supportsSize:!0},"accounts/fireworks/models/japanese-stable-diffusion-xl":{urlFormat:"image_generation",supportsSize:!0},"accounts/fireworks/models/playground-v2-1024px-aesthetic":{urlFormat:"image_generation",supportsSize:!0},"accounts/fireworks/models/stable-diffusion-xl-1024-v1-0":{urlFormat:"image_generation",supportsSize:!0},"accounts/fireworks/models/SSD-1B":{urlFormat:"image_generation",supportsSize:!0}};function u(e,t){let n=l[t];switch(n?.urlFormat){case"image_generation":return`${e}/image_generation/${t}`;case"workflows_async":return`${e}/workflows/${t}`;default:return`${e}/workflows/${t}/text_to_image`}}var c=class e{constructor(e,t){this.modelId=e,this.config=t,this.specificationVersion="v4",this.maxImagesPerCall=1}get provider(){return this.config.provider}static[n.WORKFLOW_SERIALIZE](e){return(0,t.serializeModelOptions)({modelId:e.modelId,config:e.config})}static[n.WORKFLOW_DESERIALIZE](t){return new e(t.modelId,t.config)}async doGenerate({prompt:e,n,size:o,aspectRatio:r,seed:i,providerOptions:a,headers:c,abortSignal:d,files:p,mask:h}){let m,g=[],f=l[this.modelId];f?.supportsSize||null==o||g.push({type:"unsupported",feature:"size",details:"This model does not support the `size` option. Use `aspectRatio` instead."}),f?.supportsSize&&null!=r&&g.push({type:"unsupported",feature:"aspectRatio",details:"This model does not support the `aspectRatio` option."}),null!=p&&p.length>0&&(m=(0,t.convertImageModelFileToDataUri)(p[0]),p.length>1&&g.push({type:"other",message:"Fireworks only supports a single input image. Additional images are ignored."})),null!=h&&g.push({type:"unsupported",feature:"mask",details:"Fireworks Kontext models do not support explicit masks. Use the prompt to describe the areas to edit."});let y=o?.split("x"),b=this.config._internal?.currentDate?.()??new Date,_=(0,t.combineHeaders)(this.config.headers?.(),c),z=await (0,t.parseProviderOptions)({provider:"fireworks",providerOptions:a,schema:s})??{},w={prompt:e,aspect_ratio:r,seed:i,samples:n,...m&&{input_image:m},...y&&{width:y[0],height:y[1]},...z};if(f?.urlFormat==="workflows_async")return this.doGenerateAsync({body:w,headers:_,abortSignal:d,warnings:g,currentDate:b});let{value:v,responseHeaders:k}=await (0,t.postJsonToApi)({url:u(this.config.baseURL,this.modelId),headers:_,body:w,failedResponseHandler:(0,t.createStatusCodeErrorResponseHandler)(),successfulResponseHandler:(0,t.createBinaryResponseHandler)(),abortSignal:d,fetch:this.config.fetch});return{images:[v],warnings:g,response:{timestamp:b,modelId:this.modelId,headers:k}}}async doGenerateAsync({body:e,headers:n,abortSignal:o,warnings:r,currentDate:a}){let{value:s}=await (0,t.postJsonToApi)({url:u(this.config.baseURL,this.modelId),headers:n,body:e,failedResponseHandler:(0,t.createStatusCodeErrorResponseHandler)(),successfulResponseHandler:(0,t.createJsonResponseHandler)(i),abortSignal:o,fetch:this.config.fetch}),l=s.request_id,c=await this.pollForImageUrl({requestId:l,headers:n,abortSignal:o}),{value:d,responseHeaders:p}=await (0,t.getFromApi)({url:c,validateUrl:!0,credentialedOrigin:this.config.baseURL,trustedOrigin:this.config.baseURL,headers:n,abortSignal:o,failedResponseHandler:(0,t.createStatusCodeErrorResponseHandler)(),successfulResponseHandler:(0,t.createBinaryResponseHandler)(),fetch:this.config.fetch});return{images:[d],warnings:r,response:{timestamp:a,modelId:this.modelId,headers:p}}}async pollForImageUrl({requestId:e,headers:n,abortSignal:o}){var r,i;let s=this.config.pollIntervalMillis??500,l=this.config.pollTimeoutMillis??12e4,u=(r=this.config.baseURL,i=this.modelId,`${r}/workflows/${i}/get_result`),c=new AbortController,d=!1,p=setTimeout(()=>{d=!0,c.abort()},l),h=null==o?c.signal:AbortSignal.any([o,c.signal]);try{for(;;){let{value:o}=await (0,t.postJsonToApi)({url:u,headers:n,body:{id:e},failedResponseHandler:(0,t.createStatusCodeErrorResponseHandler)(),successfulResponseHandler:(0,t.createJsonResponseHandler)(a),abortSignal:h,fetch:this.config.fetch}),r=o.status;if("Ready"===r){let e=o.result?.sample;if("string"==typeof e)return e;throw Error("Fireworks poll response is Ready but missing result.sample")}if("Error"===r||"Failed"===r)throw Error(`Fireworks image generation failed with status: ${r}`);await (0,t.delay)(s,{abortSignal:h})}}catch(e){if(d)throw Error(`Fireworks image generation timed out after ${l}ms`);throw e}finally{clearTimeout(p)}}},d={errorSchema:o.z.object({error:o.z.union([o.z.string(),o.z.object({message:o.z.string(),object:o.z.string().nullish(),type:o.z.string().nullish(),param:o.z.any().nullish(),code:o.z.union([o.z.string(),o.z.number()]).nullish()})])}),errorToMessage:e=>"string"==typeof e.error?e.error:e.error.message},p="https://api.fireworks.ai/inference/v1";function h(e={}){let n=(0,t.withoutTrailingSlash)(e.baseURL??p),o=()=>(0,t.withUserAgentSuffix)({Authorization:`Bearer ${(0,t.loadApiKey)({apiKey:e.apiKey,environmentVariableName:"FIREWORKS_API_KEY",description:"Fireworks API key"})}`,...e.headers},"ai-sdk/fireworks/3.0.60"),i=t=>({provider:`fireworks.${t}`,url:({path:e})=>`${n}${e}`,headers:o,fetch:e.fetch}),a=e=>new r.OpenAICompatibleChatLanguageModel(e,{...i("chat"),includeUsage:!0,errorStructure:d,supportsStructuredOutputs:!0,transformRequestBody:e=>{let t=e.thinking,n=e.reasoningHistory,o=e.promptCacheKey,r=e.serviceTier,{thinking:i,reasoningHistory:a,promptCacheKey:s,serviceTier:l,reasoning_effort:u,...c}=e;return{...c,...null!=u&&{reasoning_effort:"minimal"===u?"low":"xhigh"===u?"high":u},...void 0!==o&&{prompt_cache_key:o},...void 0!==r&&{service_tier:r},...t&&{thinking:{type:t.type,...void 0!==t.budgetTokens&&{budget_tokens:t.budgetTokens}}},...n&&{reasoning_history:n}}}}),s=e=>new r.OpenAICompatibleEmbeddingModel(e,{...i("embedding"),errorStructure:d}),l=e=>new c(e,{...i("image"),baseURL:n??p}),u=e=>a(e);return u.specificationVersion="v4",u.completionModel=e=>new r.OpenAICompatibleCompletionLanguageModel(e,{...i("completion"),includeUsage:!0,errorStructure:d}),u.chatModel=a,u.languageModel=a,u.embeddingModel=s,u.textEmbeddingModel=s,u.image=l,u.imageModel=l,u}h(),e.s(["createFireworks",0,h])},19698,e=>{"use strict";var t,n=e.i(691296),o=e.i(167361),r=e.i(296194),i=e.i(548874),a=e.i(853205),s=(0,n.lazySchema)(()=>(0,n.zodSchema)(a.z.object({error:a.z.object({code:a.z.number().nullable(),message:a.z.string(),status:a.z.string(),details:a.z.array(a.z.unknown()).nullish()})}))),l=(0,n.createJsonErrorResponseHandler)({errorSchema:s,errorToMessage:e=>e.error.message}),u=a.z.union([a.z.object({text:a.z.string()}),a.z.object({inlineData:a.z.object({mimeType:a.z.string(),data:a.z.string()})}),a.z.object({fileData:a.z.object({fileUri:a.z.string(),mimeType:a.z.string()})})]),c=(0,n.lazySchema)(()=>(0,n.zodSchema)(a.z.object({outputDimensionality:a.z.number().optional(),taskType:a.z.enum(["SEMANTIC_SIMILARITY","CLASSIFICATION","CLUSTERING","RETRIEVAL_DOCUMENT","RETRIEVAL_QUERY","QUESTION_ANSWERING","FACT_VERIFICATION","CODE_RETRIEVAL_QUERY"]).optional(),content:a.z.array(a.z.array(u).min(1).nullable()).optional()}))),d=class e{constructor(e,n){this.specificationVersion="v4",this.maxEmbeddingsPerCall=100,this.supportsParallelCalls=!0,this[t]=({providerOptions:e,values:t,startIndex:n,endIndex:o})=>{let r=e?.google?.content;return Array.isArray(r)?(m({multimodalContent:r,values:t}),{...e,google:{...e?.google,content:r.slice(n,o)}}):e},this.modelId=e,this.config=n}static[(t=n.EXPERIMENTAL_EMBEDDING_MODEL_PROVIDER_OPTIONS_TRANSFORMER,i.WORKFLOW_SERIALIZE)](e){return(0,n.serializeModelOptions)({modelId:e.modelId,config:e.config})}static[i.WORKFLOW_DESERIALIZE](t){return new e(t.modelId,t.config)}get provider(){return this.config.provider}async doEmbed({values:e,headers:t,abortSignal:o,providerOptions:i}){let a=await (0,n.parseProviderOptions)({provider:"google",providerOptions:i,schema:c});if(e.length>this.maxEmbeddingsPerCall)throw new r.TooManyEmbeddingValuesForCallError({provider:this.provider,modelId:this.modelId,maxEmbeddingsPerCall:this.maxEmbeddingsPerCall,values:e});let s=(0,n.combineHeaders)(this.config.headers?await (0,n.resolve)(this.config.headers):void 0,t),u=a?.content;if(m({multimodalContent:u,values:e}),1===e.length){let t=u?.[0],r=e[0]?[{text:e[0]}]:[],i=null!=t?[...r,...t]:[{text:e[0]}],{responseHeaders:c,value:d,rawValue:p}=await (0,n.postJsonToApi)({url:`${this.config.baseURL}/models/${this.modelId}:embedContent`,headers:s,body:{model:`models/${this.modelId}`,content:{parts:i},outputDimensionality:a?.outputDimensionality,taskType:a?.taskType},failedResponseHandler:l,successfulResponseHandler:(0,n.createJsonResponseHandler)(h),abortSignal:o,fetch:this.config.fetch});return{warnings:[],embeddings:[d.embedding.values],usage:void 0,response:{headers:c,body:p}}}let{responseHeaders:d,value:g,rawValue:f}=await (0,n.postJsonToApi)({url:`${this.config.baseURL}/models/${this.modelId}:batchEmbedContents`,headers:s,body:{requests:e.map((e,t)=>{let n=u?.[t];return{model:`models/${this.modelId}`,content:{role:"user",parts:null!=n?[...e?[{text:e}]:[],...n]:[{text:e}]},outputDimensionality:a?.outputDimensionality,taskType:a?.taskType}})},failedResponseHandler:l,successfulResponseHandler:(0,n.createJsonResponseHandler)(p),abortSignal:o,fetch:this.config.fetch});return{warnings:[],embeddings:g.embeddings.map(e=>e.values),usage:void 0,response:{headers:d,body:f}}}},p=(0,n.lazySchema)(()=>(0,n.zodSchema)(a.z.object({embeddings:a.z.array(a.z.object({values:a.z.array(a.z.number())}))}))),h=(0,n.lazySchema)(()=>(0,n.zodSchema)(a.z.object({embedding:a.z.object({values:a.z.array(a.z.number())})})));function m({multimodalContent:e,values:t}){if(null!=e&&e.length!==t.length)throw Error(`The number of multimodal content entries (${e.length}) must match the number of values (${t.length}).`)}function g(e){return e.includes("/")?e:`models/${e}`}function f(e){if(null==e)return(0,n.createNullLanguageModelUsage)();let t=e.promptTokenCount??0,o=e.candidatesTokenCount??0,r=e.toolUsePromptTokenCount??0,i=e.cachedContentTokenCount??0,a=e.thoughtsTokenCount??0,s=t+r;return{inputTokens:{total:s,noCache:s-i,cacheRead:i,cacheWrite:void 0},outputTokens:{total:o+a,text:o,reasoning:a},raw:e}}var y=a.z.object({language:a.z.string().describe("The programming language of the code."),code:a.z.string().describe("The code to be executed.")}),b=a.z.object({outcome:a.z.string().describe('The outcome of the execution (e.g., "OUTCOME_OK").'),output:a.z.string().describe("The output from the code execution.")}),_=(0,n.createProviderExecutedToolFactory)({id:"google.code_execution",inputSchema:y,outputSchema:b}),z=/^data:([^;,]+);base64,(.+)$/s;async function w(e,{abortSignal:t,maxBytes:n,supportedUrls:o={}}){let r=[];for(let i of e){if("assistant"===i.role){let e=[];for(let r of i.content)e.push("tool-result"===r.type?{...r,output:await v(r.output,{abortSignal:t,maxBytes:n,supportedUrls:o})}:r);r.push({...i,content:e});continue}if("tool"===i.role){let e=[];for(let r of i.content){if("tool-result"!==r.type){e.push(r);continue}e.push({...r,output:await v(r.output,{abortSignal:t,maxBytes:n,supportedUrls:o})})}r.push({...i,content:e});continue}r.push(i)}return r}async function v(e,{abortSignal:t,maxBytes:o,supportedUrls:r}){if("content"!==e.type)return e;let i=[];for(let a of e.value){if("file"!==a.type||"url"!==a.data.type||(0,n.isUrlSupported)({url:a.data.url.toString(),mediaType:a.mediaType,supportedUrls:r})){i.push(a);continue}let e=await (0,n.downloadBlob)(a.data.url.toString(),{abortSignal:t,maxBytes:o}),s=new Uint8Array(await e.arrayBuffer()),l=(0,n.detectMediaType)({data:s,topLevelType:"image"});i.push({...a,data:{type:"data",data:s},mediaType:l??(e.type&&!(0,n.isFullMediaType)(a.mediaType)?e.type:a.mediaType)})}return{...e,value:i}}function k(e){let{const:t,properties:n,items:o,additionalProperties:r,anyOf:i,oneOf:a,...s}=e;return{...s,...void 0!==t?{enum:[t]}:{},...null!=n?{properties:x(n)}:{},...null!=o?{items:Array.isArray(o)?o.map(S):S(o)}:{},...null!=r?{additionalProperties:"boolean"==typeof r?r:S(r)}:{},...null!=i?{anyOf:i.map(S)}:{},...null!=a?{oneOf:a.map(S)}:{},...null!=s.$defs?{$defs:x(s.$defs)}:{}}}function x(e){return Object.fromEntries(Object.entries(e).map(([e,t])=>[e,S(t)]))}function S(e){return"boolean"==typeof e?e:k(e)}var T=(0,n.lazySchema)(()=>(0,n.zodSchema)(a.z.object({responseModalities:a.z.array(a.z.enum(["TEXT","IMAGE"])).optional(),thinkingConfig:a.z.object({thinkingBudget:a.z.number().optional(),includeThoughts:a.z.boolean().optional(),thinkingLevel:a.z.enum(["minimal","low","medium","high"]).optional()}).optional(),cachedContent:a.z.string().optional(),structuredOutputs:a.z.boolean().optional(),safetySettings:a.z.array(a.z.object({category:a.z.enum(["HARM_CATEGORY_UNSPECIFIED","HARM_CATEGORY_HATE_SPEECH","HARM_CATEGORY_DANGEROUS_CONTENT","HARM_CATEGORY_HARASSMENT","HARM_CATEGORY_SEXUALLY_EXPLICIT","HARM_CATEGORY_CIVIC_INTEGRITY"]),threshold:a.z.enum(["HARM_BLOCK_THRESHOLD_UNSPECIFIED","BLOCK_LOW_AND_ABOVE","BLOCK_MEDIUM_AND_ABOVE","BLOCK_ONLY_HIGH","BLOCK_NONE","OFF"])})).optional(),threshold:a.z.enum(["HARM_BLOCK_THRESHOLD_UNSPECIFIED","BLOCK_LOW_AND_ABOVE","BLOCK_MEDIUM_AND_ABOVE","BLOCK_ONLY_HIGH","BLOCK_NONE","OFF"]).optional(),audioTimestamp:a.z.boolean().optional(),labels:a.z.record(a.z.string(),a.z.string()).optional(),mediaResolution:a.z.enum(["MEDIA_RESOLUTION_UNSPECIFIED","MEDIA_RESOLUTION_LOW","MEDIA_RESOLUTION_MEDIUM","MEDIA_RESOLUTION_HIGH"]).optional(),imageConfig:a.z.object({aspectRatio:a.z.enum(["1:1","2:3","3:2","3:4","4:3","4:5","5:4","9:16","16:9","21:9","1:8","8:1","1:4","4:1"]).optional(),imageSize:a.z.enum(["1K","2K","4K","512"]).optional(),personGeneration:a.z.enum(["PERSON_GENERATION_UNSPECIFIED","ALLOW_ALL","ALLOW_ADULT","ALLOW_NONE"]).optional(),prominentPeople:a.z.enum(["PROMINENT_PEOPLE_UNSPECIFIED","ALLOW_PROMINENT_PEOPLE","BLOCK_PROMINENT_PEOPLE"]).optional(),imageOutputOptions:a.z.object({mimeType:a.z.enum(["image/jpeg","image/png"]).optional(),compressionQuality:a.z.number().optional()}).optional()}).optional(),retrievalConfig:a.z.object({latLng:a.z.object({latitude:a.z.number(),longitude:a.z.number()}).optional()}).optional(),streamFunctionCallArguments:a.z.boolean().optional(),serviceTier:a.z.enum(["standard","flex","priority"]).optional(),sharedRequestType:a.z.enum(["priority","flex","standard"]).optional(),requestType:a.z.enum(["shared"]).optional()}))),I=/(^|\/)gemini-1(?:[.-]|$)/i,O=/(^|\/)gemini-2(?:[.-]|$)/i,E=/(^|\/)gemini-2\.5(?:[.-]|$)/i,C=/(^|\/)gemini-/i;function A(e){let t=C.test(e),n=O.test(e),o=I.test(e)||/(^|\/)gemini-pro(?:-vision)?$/i.test(e)||/(^|\/)gemini-robotics-er-1\.5(?:[.-]|$)/i.test(e),r=t&&!(o||n);return{supportsGemini2Tools:t&&!o||e.toLowerCase().includes("nano-banana"),supportsFileSearch:E.test(e)||r,usesGemini3Features:r}}function j(e){return{name:e.name,description:e.description??"",parametersJsonSchema:e.inputSchema}}var R=class{constructor(){this.accumulatedArgs={},this.jsonText="",this.pathStack=[],this.stringOpen=!1}processPartialArgs(e){let t="";for(let n of e){let e=n.jsonPath.replace(/^\$\./,"");if(!e)continue;let o=function(e){let t=[];for(let n of e.split(".")){let e=n.indexOf("[");if(-1===e)t.push(n);else for(let o of(e>0&&t.push(n.slice(0,e)),n.matchAll(/\[(\d+)\]/g)))t.push(parseInt(o[1],10))}return t}(e),r=function(e,t){let n=e;for(let e of t){if(null==n||"object"!=typeof n)return;let t=n;if(!$.call(t,e))return;n=t[e]}return n}(this.accumulatedArgs,o);if(null!=n.stringValue&&void 0!==r){let e=JSON.stringify(n.stringValue).slice(1,-1);N(this.accumulatedArgs,o,r+n.stringValue),t+=e;continue}let i=function(e){let t=e.stringValue??e.numberValue??e.boolValue;return null!=t?{value:t,json:JSON.stringify(t)}:"nullValue"in e?{value:null,json:"null"}:void 0}(n);null!=i&&(N(this.accumulatedArgs,o,i.value),t+=this.emitNavigationTo(o,n,i.json))}return this.jsonText+=t,{currentJSON:this.accumulatedArgs,textDelta:t}}finalize(){let e=JSON.stringify(this.accumulatedArgs),t=e.slice(this.jsonText.length);return{finalJSON:e,closingDelta:t}}ensureRoot(){return 0===this.pathStack.length?(this.pathStack.push({segment:"",isArray:!1,childCount:0}),"{"):""}emitNavigationTo(e,t,n){let o="";this.stringOpen&&(o+='"',this.stringOpen=!1),o+=this.ensureRoot();let r=e.slice(0,-1),i=e[e.length-1],a=this.findCommonStackDepth(r);return o+=this.closeDownTo(a),o+=this.openDownTo(r,i),o+=this.emitLeaf(i,t,n)}findCommonStackDepth(e){let t=Math.min(this.pathStack.length-1,e.length),n=0;for(let o=0;o<t;o++)if(this.pathStack[o+1].segment===e[o])n++;else break;return n+1}closeDownTo(e){let t="";for(;this.pathStack.length>e;)t+=this.pathStack.pop().isArray?"]":"}";return t}openDownTo(e,t){let n="",o=this.pathStack.length-1;for(let r=o;r<e.length;r++){let o=e[r],i=this.pathStack[this.pathStack.length-1];i.childCount>0&&(n+=","),i.childCount++,"string"==typeof o&&(n+=`${JSON.stringify(o)}:`);let a="number"==typeof(r+1<e.length?e[r+1]:t);n+=a?"[":"{",this.pathStack.push({segment:o,isArray:a,childCount:0})}return n}emitLeaf(e,t,n){let o="",r=this.pathStack[this.pathStack.length-1];return r.childCount>0&&(o+=","),r.childCount++,"string"==typeof e&&(o+=`${JSON.stringify(e)}:`),null!=t.stringValue&&t.willContinue?(o+=n.slice(0,-1),this.stringOpen=!0):o+=n,o}},$=Object.prototype.hasOwnProperty;function M(e,t,n){Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0})}function N(e,t,n){let o=e;for(let e=0;e<t.length-1;e++){var r;let n=t[e],i=t[e+1];r=o,$.call(r,n)&&null!=o[n]||M(o,n,"number"==typeof i?[]:{}),o=o[n]}M(o,t[t.length-1],n)}function L({finishReason:e,hasToolCalls:t}){switch(e){case"STOP":return t?"tool-calls":"stop";case"MAX_TOKENS":return"length";case"IMAGE_SAFETY":case"RECITATION":case"SAFETY":case"BLOCKLIST":case"PROHIBITED_CONTENT":case"SPII":return"content-filter";case"MALFORMED_FUNCTION_CALL":return"error";default:return"other"}}var P=["HARM_CATEGORY_HATE_SPEECH","HARM_CATEGORY_DANGEROUS_CONTENT","HARM_CATEGORY_HARASSMENT","HARM_CATEGORY_SEXUALLY_EXPLICIT"],U=/(^|\/)gemini-2\.5(?:[.-]|$)/i,q={"image/png":[/^gs:\/\/.*$/],"image/jpeg":[/^gs:\/\/.*$/],"image/webp":[/^gs:\/\/.*$/],"application/pdf":[/^gs:\/\/.*$/],"text/plain":[/^gs:\/\/.*$/]},D=class e{constructor(e,t){this.specificationVersion="v4",this.modelId=e,this.config=t,this.generateId=t.generateId??n.generateId}static[i.WORKFLOW_SERIALIZE](e){return(0,n.serializeModelOptions)({modelId:e.modelId,config:e.config})}static[i.WORKFLOW_DESERIALIZE](t){return new e(t.modelId,t.config)}get provider(){return this.config.provider}get supportedUrls(){return this.config.supportedUrls?.()??{}}static async prepareRequest({modelId:e,config:t,options:{prompt:o,maxOutputTokens:i,temperature:a,topP:s,topK:l,frequencyPenalty:u,presencePenalty:c,stopSequences:d,responseFormat:p,seed:h,tools:m,toolChoice:g,reasoning:f,providerOptions:_,abortSignal:v},isStreaming:x=!1}){let S,I=[],O=t.provider.includes("vertex")?["googleVertex","vertex"]:["google"];for(let e of O)if(null!=(S=await (0,n.parseProviderOptions)({provider:e,providerOptions:_,schema:T})))break;null!=S||O.includes("google")||(S=await (0,n.parseProviderOptions)({provider:"google",providerOptions:_,schema:T}));let E=t.provider.startsWith("google.vertex.");m?.some(e=>"provider"===e.type&&"google.vertex_rag_store"===e.id)&&!E&&I.push({type:"other",message:`The 'vertex_rag_store' tool is only supported with the Google Vertex provider and might not be supported or could behave unexpectedly with the current Google provider (${t.provider}).`}),S?.streamFunctionCallArguments&&!E&&I.push({type:"other",message:`'streamFunctionCallArguments' is only supported on the Vertex AI API and will be ignored with the current Google provider (${t.provider}). See https://docs.cloud.google.com/vertex-ai/generative-ai/docs/multimodal/function-calling#streaming-fc`}),S?.serviceTier&&E&&I.push({type:"other",message:"'serviceTier' is a Gemini API option and is not supported on Vertex AI. Use 'sharedRequestType' (and optionally 'requestType') instead. See https://docs.cloud.google.com/vertex-ai/generative-ai/docs/priority-paygo"}),(S?.sharedRequestType||S?.requestType)&&!E&&I.push({type:"other",message:`'sharedRequestType' and 'requestType' are Vertex AI options and are ignored with the current Google provider (${t.provider}).`});let C=E&&(S?.sharedRequestType||S?.requestType)?{...S.sharedRequestType&&{"X-Vertex-AI-LLM-Shared-Request-Type":S.sharedRequestType},...S.requestType&&{"X-Vertex-AI-LLM-Request-Type":S.requestType}}:void 0,R=E?void 0:S?.serviceTier,$=S?.imageConfig;if(null!=$&&!E){let{personGeneration:e,prominentPeople:n,imageOutputOptions:o,...r}=$,i=Object.entries({personGeneration:e,prominentPeople:n,imageOutputOptions:o}).filter(([,e])=>null!=e).map(([e])=>`'imageConfig.${e}'`);i.length>0&&(I.push({type:"other",message:`${i.join(", ")} ${1===i.length?"is a Vertex AI option and is":"are Vertex AI options and are"} ignored with the current Google provider (${t.provider}).`}),$=r)}let M=e.toLowerCase().startsWith("gemma-"),N=!E&&U.test(e);N&&null!=u&&I.push({type:"unsupported",feature:"frequencyPenalty"}),N&&null!=c&&I.push({type:"unsupported",feature:"presencePenalty"});let{usesGemini3Features:L}=A(e),D=L&&t.downloadToolResultFiles?.supportsGoogleCloudStorageUrls?q:void 0,{contents:F,systemInstruction:H}=function(e,t){let o=[],i=[],a=!0,s=t?.isGemmaModel??!1,l=t?.isGemini3Model??!1,u=t?.onWarning,c=t?.providerOptionsNames??["google"],d=!c.includes("google"),p=t?.supportsFunctionResponseParts??!0,h=t?.includeFunctionCallIds??!0,m=t?.supportedFunctionResponseUrls??{},g=!1,f=[],_=e=>(f.push(e),g=!0,"skip_thought_signature_validator"),w=e=>{for(let t of c){let n=e.providerOptions?.[t];if(null!=n)return n}return d?e.providerOptions?.google:e.providerOptions?.googleVertex??e.providerOptions?.vertex};for(let{role:t,content:s}of e)switch(t){case"system":if(!a)throw new r.UnsupportedFunctionalityError({functionality:"system messages are only supported at the beginning of the conversation"});o.push({text:s});break;case"user":{a=!1;let e=[];for(let t of s)switch(t.type){case"text":e.push({text:t.text});break;case"file":switch(t.data.type){case"url":e.push({fileData:{mimeType:(0,n.resolveFullMediaType)({part:t}),fileUri:"gs:"===t.data.url.protocol&&null!=t.data.originalUrl?t.data.originalUrl:t.data.url.toString()}});break;case"reference":if(d)throw new r.UnsupportedFunctionalityError({functionality:"file parts with provider references"});e.push({fileData:{mimeType:(0,n.resolveFullMediaType)({part:t}),fileUri:(0,n.resolveProviderReference)({reference:t.data.reference,provider:"google"})}});break;case"text":e.push({inlineData:{mimeType:(0,n.isFullMediaType)(t.mediaType)?t.mediaType:"text/plain",data:(0,n.convertToBase64)(new TextEncoder().encode(t.data.text))}});break;case"data":e.push({inlineData:{mimeType:(0,n.resolveFullMediaType)({part:t}),data:(0,n.convertToBase64)(t.data.data)}})}}i.push({role:"user",parts:e});break}case"assistant":{a=!1;let e=!1;i.push({role:"model",parts:s.map(t=>{let o=w(t),i=o?.thoughtSignature!=null?String(o.thoughtSignature):void 0;switch(t.type){case"text":return 0===t.text.length?void 0:{text:t.text,thoughtSignature:i};case"reasoning":return 0===t.text.length?void 0:{text:t.text,thought:!0,thoughtSignature:i};case"reasoning-file":switch(t.data.type){case"url":throw new r.UnsupportedFunctionalityError({functionality:"File data URLs in assistant messages are not supported"});case"data":return{inlineData:{mimeType:t.mediaType,data:(0,n.convertToBase64)(t.data.data)},thought:!0,thoughtSignature:i}}break;case"file":switch(t.data.type){case"url":throw new r.UnsupportedFunctionalityError({functionality:"File data URLs in assistant messages are not supported"});case"reference":if(d)throw new r.UnsupportedFunctionalityError({functionality:"file parts with provider references"});return{fileData:{mimeType:t.mediaType,fileUri:(0,n.resolveProviderReference)({reference:t.data.reference,provider:"google"})},...o?.thought===!0?{thought:!0}:{},thoughtSignature:i};case"text":return{inlineData:{mimeType:(0,n.isFullMediaType)(t.mediaType)?t.mediaType:"text/plain",data:(0,n.convertToBase64)(new TextEncoder().encode(t.data.text))},...o?.thought===!0?{thought:!0}:{},thoughtSignature:i};case"data":return{inlineData:{mimeType:t.mediaType,data:(0,n.convertToBase64)(t.data.data)},...o?.thought===!0?{thought:!0}:{},thoughtSignature:i}}break;case"tool-call":{if(!0===t.providerExecuted&&"code_execution"===t.toolName)return{executableCode:y.parse("string"==typeof t.input?(0,n.secureJsonParse)(t.input):t.input)};let r=o?.serverToolCallId!=null?String(o.serverToolCallId):void 0,a=o?.serverToolType!=null?String(o.serverToolType):void 0,s=null!=r&&null!=a,u=!s&&null==i&&e,c=i??(l&&!u?_(t.toolName):void 0);if(s||null==i||(e=!0),s)return{toolCall:{toolType:a,args:"string"==typeof t.input?(0,n.secureJsonParse)(t.input):t.input,id:r},thoughtSignature:c};return{functionCall:{...h&&null!=t.toolCallId?{id:t.toolCallId}:{},name:t.toolName,args:t.input},thoughtSignature:c}}case"tool-result":{if("code_execution"===t.toolName&&"json"===t.output.type)return{codeExecutionResult:b.parse(t.output.value)};let e=o?.serverToolCallId!=null?String(o.serverToolCallId):void 0,n=o?.serverToolType!=null?String(o.serverToolType):void 0;if(e&&n)return{toolResponse:{toolType:n,response:"json"===t.output.type?t.output.value:{},id:e},thoughtSignature:i};return}}}).filter(e=>void 0!==e)});break}case"tool":{a=!1;let e=[];for(let t of s){if("tool-approval-response"===t.type)continue;let o=w(t),r=o?.serverToolCallId!=null?String(o.serverToolCallId):void 0,a=o?.serverToolType!=null?String(o.serverToolType):void 0;if(r&&a){let e=o?.thoughtSignature!=null?String(o.thoughtSignature):void 0;if(i.length>0){let n=i[i.length-1];if("model"===n.role){n.parts.push({toolResponse:{toolType:a,response:"json"===t.output.type?t.output.value:{},id:r},thoughtSignature:e});continue}}}let s=t.output;if("content"===s.type)p?function(e,t,o,r,i=!0,a={}){let s=[],l=[];for(let e of o)switch(e.type){case"text":l.push(e.text);break;case"file":if("data"===e.data.type)s.push({inlineData:{mimeType:(0,n.resolveFullMediaType)({part:e}),data:(0,n.convertToBase64)(e.data.data)}});else if("url"===e.data.type){let t=e.data.url.toString(),o=function(e){let t=function(e){let t=z.exec(e);if(null!=t)return{mediaType:t[1],data:t[2]}}(e);if(null!=t)return{inlineData:{mimeType:t.mediaType,data:t.data}}}(t),r="gs:"===e.data.url.protocol&&null!=e.data.originalUrl?e.data.originalUrl:t;null!=o?s.push(o):(0,n.isFullMediaType)(e.mediaType)&&(0,n.isUrlSupported)({url:r,mediaType:e.mediaType,supportedUrls:a})?s.push({fileData:{mimeType:e.mediaType,fileUri:r}}):l.push(JSON.stringify(e))}else l.push(JSON.stringify(e));break;default:l.push(JSON.stringify(e))}e.push({functionResponse:{...i&&null!=r?{id:r}:{},name:t,response:{name:t,content:l.length>0?l.join("\n"):"Tool executed successfully."},...s.length>0?{parts:s}:{}}})}(e,t.toolName,s.value,t.toolCallId,h,m):function(e,t,o,r,i=!0){for(let a of o)switch(a.type){case"text":e.push({functionResponse:{...i&&null!=r?{id:r}:{},name:t,response:{name:t,content:a.text}}});break;case"file":if("data"===a.data.type){let t=(0,n.getTopLevelMediaType)(a.mediaType);e.push({inlineData:{mimeType:(0,n.resolveFullMediaType)({part:a}),data:(0,n.convertToBase64)(a.data.data)}},{text:`Tool executed successfully and returned this ${"image"===t?"image":"file"} as a response`})}else e.push({text:JSON.stringify(a)});break;default:e.push({text:JSON.stringify(a)})}}(e,t.toolName,s.value,t.toolCallId,h);else{var v;e.push({functionResponse:{...h&&null!=t.toolCallId?{id:t.toolCallId}:{},name:t.toolName,response:{name:t.toolName,content:"execution-denied"===s.type?s.reason??"Tool call execution denied.":!function e(t){return Array.isArray(t)?t.some(e):"object"==typeof t&&null!==t&&Object.entries(t).some(([t,n])=>"$ref"===t||e(n))}(v=s.value)?v:JSON.stringify(v)}}})}}i.push({role:"user",parts:e})}}if(s&&o.length>0&&i.length>0&&"user"===i[0].role){let e=o.map(e=>e.text).join("\n\n");i[0].parts.unshift({text:e+"\n\n"})}if(g&&null!=u){let e=Array.from(new Set(f));u({type:"other",message:`Replayed ${f.length} \`functionCall\` part(s) for a Gemini 3 model without a \`thoughtSignature\` (tools: ${e.map(e=>`\`${e}\``).join(", ")}). Injected the documented \`skip_thought_signature_validator\` sentinel to keep the request from failing with HTTP 400. The likely cause is application code that drops \`providerOptions.google.thoughtSignature\` when persisting or serializing assistant tool-call messages. See https://ai.google.dev/gemini-api/docs/thought-signatures.`})}return{systemInstruction:o.length>0&&!s?{parts:o}:void 0,contents:i}}(t.downloadToolResultFiles?await w(o,{abortSignal:v,maxBytes:t.downloadToolResultFiles.maxBytes,supportedUrls:D}):o,{isGemmaModel:M,isGemini3Model:L,onWarning:e=>I.push(e),providerOptionsNames:O,supportsFunctionResponseParts:L,includeFunctionCallIds:!E,supportedFunctionResponseUrls:D}),{tools:B,toolConfig:W,toolWarnings:K}=function({tools:e,toolChoice:t,modelId:n,isVertexProvider:o=!1}){e=e?.length?e:void 0;let i=[],{supportsGemini2Tools:a,supportsFileSearch:s,usesGemini3Features:l}=A(n);if(null==e)return{tools:void 0,toolConfig:void 0,toolWarnings:i};let u=e.some(e=>"function"===e.type),c=e.some(e=>"provider"===e.type);if(u&&c&&!l&&i.push({type:"unsupported",feature:"combination of function and provider-defined tools"}),c){let n=[];if(e.filter(e=>"provider"===e.type).forEach(e=>{switch(e.id){case"google.google_search":a?n.push({googleSearch:{...e.args}}):i.push({type:"unsupported",feature:`provider-defined tool ${e.id}`,details:"Google Search requires Gemini 2.0 or newer."});break;case"google.enterprise_web_search":a?n.push({enterpriseWebSearch:{}}):i.push({type:"unsupported",feature:`provider-defined tool ${e.id}`,details:"Enterprise Web Search requires Gemini 2.0 or newer."});break;case"google.url_context":a?n.push({urlContext:{}}):i.push({type:"unsupported",feature:`provider-defined tool ${e.id}`,details:"The URL context tool is not supported with other Gemini models than Gemini 2."});break;case"google.code_execution":a?n.push({codeExecution:{}}):i.push({type:"unsupported",feature:`provider-defined tool ${e.id}`,details:"The code execution tool is not supported with other Gemini models than Gemini 2."});break;case"google.file_search":s?n.push({fileSearch:{...e.args}}):i.push({type:"unsupported",feature:`provider-defined tool ${e.id}`,details:"The file search tool is only supported with Gemini 2.5 models and Gemini 3 models."});break;case"google.vertex_rag_store":a?n.push({retrieval:{vertex_rag_store:{rag_resources:{rag_corpus:e.args.ragCorpus},similarity_top_k:e.args.topK}}}):i.push({type:"unsupported",feature:`provider-defined tool ${e.id}`,details:"The RAG store tool is not supported with other Gemini models than Gemini 2."});break;case"google.google_maps":a?n.push({googleMaps:{}}):i.push({type:"unsupported",feature:`provider-defined tool ${e.id}`,details:"The Google Maps grounding tool is not supported with Gemini models other than Gemini 2 or newer."});break;default:i.push({type:"unsupported",feature:`provider-defined tool ${e.id}`})}}),u&&l&&n.length>0){let r=[];for(let t of e)"function"===t.type&&r.push(j(t));let a={functionCallingConfig:{mode:"VALIDATED"},...!o&&{includeServerSideToolInvocations:!0}};if(null!=t)switch(t.type){case"auto":break;case"none":a.functionCallingConfig={mode:"NONE"};break;case"required":a.functionCallingConfig={mode:"ANY"};break;case"tool":a.functionCallingConfig={mode:"ANY",allowedFunctionNames:[t.toolName]}}return{tools:[...n,{functionDeclarations:r}],toolConfig:a,toolWarnings:i}}return{tools:n.length>0?n:void 0,toolConfig:void 0,toolWarnings:i}}let d=[],p=!1;for(let t of e)"function"===t.type?(d.push(j(t)),!0===t.strict&&(p=!0)):i.push({type:"unsupported",feature:`function tool ${t.name}`});if(null==t)return{tools:[{functionDeclarations:d}],toolConfig:p?{functionCallingConfig:{mode:"VALIDATED"}}:void 0,toolWarnings:i};let h=t.type;switch(h){case"auto":return{tools:[{functionDeclarations:d}],toolConfig:{functionCallingConfig:{mode:p?"VALIDATED":"AUTO"}},toolWarnings:i};case"none":return{tools:[{functionDeclarations:d}],toolConfig:{functionCallingConfig:{mode:"NONE"}},toolWarnings:i};case"required":return{tools:[{functionDeclarations:d}],toolConfig:{functionCallingConfig:{mode:"ANY"}},toolWarnings:i};case"tool":return{tools:[{functionDeclarations:d}],toolConfig:{functionCallingConfig:{mode:"ANY",allowedFunctionNames:[t.toolName]}},toolWarnings:i};default:throw new r.UnsupportedFunctionalityError({functionality:`tool choice type: ${h}`})}}({tools:m,toolChoice:g,modelId:e,isVertexProvider:E}),V=(0,n.createToolNameMapping)({tools:m,providerToolNames:{"google.code_execution":"code_execution"}}),J=function({reasoning:e,modelId:t,warnings:o}){if((0,n.isCustomReasoning)(e))return A(t).usesGemini3Features&&!t.includes("gemini-3-pro-image")?function({reasoning:e,modelId:t,warnings:o}){let r=function(e){let t=e.split("/").at(-1)?.toLowerCase();if("gemini-flash-latest"===t)return"low";let n=/^gemini-(\d+)\.(\d+)-flash(?:$|-(?!lite(?:-|$)))/.exec(t??"");if(null==n)return"minimal";let o=Number(n[1]),r=Number(n[2]);return o>3||3===o&&r>=7?"low":"minimal"}(t);if("none"===e)return{thinkingLevel:r};let i=(0,n.mapReasoningToProviderEffort)({reasoning:e,effortMap:{minimal:r,low:"low",medium:"medium",high:"high",xhigh:"high"},warnings:o});if(null!=i)return{thinkingLevel:i}}({reasoning:e,modelId:t,warnings:o}):function({reasoning:e,modelId:t,warnings:o}){let r;if("none"===e)return{thinkingBudget:0};let i=(0,n.mapReasoningToProviderBudget)({reasoning:e,maxOutputTokens:65536,maxReasoningBudget:(r=t.toLowerCase()).includes("2.5-pro")||r.includes("gemini-3-pro-image")?32768:24576,minReasoningBudget:0,warnings:o});if(null!=i)return{thinkingBudget:i}}({reasoning:e,modelId:t,warnings:o})}({reasoning:f,modelId:e,warnings:I}),G=S?.thinkingConfig||J?{...J,...S?.thinkingConfig}:void 0,Y=x&&E?S?.streamFunctionCallArguments??!1:void 0,Z=S?.threshold,X=S?.safetySettings??(null!=Z?P.map(e=>({category:e,threshold:Z})):void 0),Q=W||Y||S?.retrievalConfig?{...W,...Y&&{functionCallingConfig:{...W?.functionCallingConfig,streamFunctionCallArguments:!0}},...S?.retrievalConfig&&{retrievalConfig:S.retrievalConfig}}:void 0;return{args:{generationConfig:{maxOutputTokens:i,temperature:a,topK:l,topP:s,frequencyPenalty:N?void 0:u,presencePenalty:N?void 0:c,stopSequences:d,seed:h,responseMimeType:p?.type==="json"?"application/json":void 0,responseJsonSchema:p?.type==="json"&&null!=p.schema&&(S?.structuredOutputs??!0)?k(p.schema):void 0,...S?.audioTimestamp&&{audioTimestamp:S.audioTimestamp},responseModalities:S?.responseModalities,thinkingConfig:G,...S?.mediaResolution&&{mediaResolution:S.mediaResolution},...$&&{imageConfig:$}},contents:F,systemInstruction:M?void 0:H,safetySettings:X,tools:B,toolConfig:Q,cachedContent:S?.cachedContent,labels:S?.labels,serviceTier:R},warnings:[...I,...K],providerOptionsNames:O,extraHeaders:C,toolNameMapping:V}}getArgs(t,{isStreaming:n=!1}={}){return e.prepareRequest({modelId:this.modelId,config:this.config,options:t,isStreaming:n})}static convertGenerateContentResponse({config:e,response:t,warnings:n,providerOptionsNames:o,toolNameMapping:r}){let i,a,s=e=>Object.fromEntries(o.map(t=>[t,e])),l=t.candidates?.[0],u=t.promptFeedback?.blockReason,c=X(u)?u:void 0,d=l?.finishReason==null&&null!=c,p=l?.finishReason??c,h=[],m=l?.content?.parts??[],g=t.usageMetadata;for(let t of m)if("executableCode"in t&&t.executableCode?.code){let n=e.generateId();i=n,h.push({type:"tool-call",toolCallId:n,toolName:r?.toCustomToolName("code_execution")??"code_execution",input:JSON.stringify(t.executableCode),providerExecuted:!0})}else if("codeExecutionResult"in t&&t.codeExecutionResult)h.push({type:"tool-result",toolCallId:i,toolName:r?.toCustomToolName("code_execution")??"code_execution",result:{outcome:t.codeExecutionResult.outcome,output:t.codeExecutionResult.output??""}});else if("text"in t&&null!=t.text){let e=t.thoughtSignature?s({thoughtSignature:t.thoughtSignature}):void 0;0===t.text.length?null!=e&&h.length>0&&(h[h.length-1].providerMetadata=e):h.push({type:!0===t.thought?"reasoning":"text",text:t.text,providerMetadata:e})}else if("functionCall"in t&&null!=t.functionCall.name)h.push({type:"tool-call",toolCallId:t.functionCall.id||e.generateId(),toolName:t.functionCall.name,input:JSON.stringify(t.functionCall.args??{}),providerMetadata:t.thoughtSignature?s({thoughtSignature:t.thoughtSignature}):void 0});else if("inlineData"in t){let e=!0===t.thought,n=!!t.thoughtSignature;h.push({type:e?"reasoning-file":"file",data:{type:"data",data:t.inlineData.data},mediaType:t.inlineData.mimeType,providerMetadata:n?s({thoughtSignature:t.thoughtSignature}):void 0})}else if("toolCall"in t&&t.toolCall){let n=t.toolCall.id||e.generateId();a=n,h.push({type:"tool-call",toolCallId:n,toolName:`server:${t.toolCall.toolType}`,input:JSON.stringify(t.toolCall.args??{}),providerExecuted:!0,dynamic:!0,providerMetadata:s(t.thoughtSignature?{thoughtSignature:t.thoughtSignature,serverToolCallId:n,serverToolType:t.toolCall.toolType}:{serverToolCallId:n,serverToolType:t.toolCall.toolType})})}else if("toolResponse"in t&&t.toolResponse){let n=a||t.toolResponse.id||e.generateId();h.push({type:"tool-result",toolCallId:n,toolName:`server:${t.toolResponse.toolType}`,result:t.toolResponse.response??{},providerMetadata:s(t.thoughtSignature?{thoughtSignature:t.thoughtSignature,serverToolCallId:n,serverToolType:t.toolResponse.toolType}:{serverToolCallId:n,serverToolType:t.toolResponse.toolType})}),a=void 0}for(let t of F({groundingMetadata:l?.groundingMetadata,generateId:e.generateId})??[])h.push(t);return{content:h,finishReason:{unified:d?"content-filter":L({finishReason:p,hasToolCalls:h.some(e=>"tool-call"===e.type&&!e.providerExecuted)}),raw:p},usage:f(g),warnings:n,providerMetadata:s({promptFeedback:t.promptFeedback??null,groundingMetadata:l?.groundingMetadata??null,urlContextMetadata:l?.urlContextMetadata??null,safetyRatings:l?.safetyRatings??null,usageMetadata:g??null,finishMessage:l?.finishMessage??null,serviceTier:g?.serviceTier??null}),response:{id:t.responseId??void 0}}}async doGenerate(t){let{args:o,warnings:r,providerOptionsNames:i,extraHeaders:a,toolNameMapping:s}=await this.getArgs(t),u=(0,n.combineHeaders)(this.config.headers?await (0,n.resolve)(this.config.headers):void 0,t.headers,a),{responseHeaders:c,value:d,rawValue:p}=await (0,n.postJsonToApi)({url:`${this.config.baseURL}/${g(this.modelId)}:generateContent`,headers:u,body:o,failedResponseHandler:l,successfulResponseHandler:(0,n.createJsonResponseHandler)(Y),abortSignal:t.abortSignal,fetch:this.config.fetch}),h=e.convertGenerateContentResponse({config:this.config,response:d,warnings:r,providerOptionsNames:i,toolNameMapping:s});return{...h,request:{body:o},response:{...h.response,headers:c,body:p}}}async doStream(e){let t,o,r,i,{args:a,warnings:s,providerOptionsNames:u,extraHeaders:c,toolNameMapping:d}=await this.getArgs(e,{isStreaming:!0}),p=e=>Object.fromEntries(u.map(t=>[t,e])),h=(0,n.combineHeaders)(this.config.headers?await (0,n.resolve)(this.config.headers):void 0,e.headers,c),{responseHeaders:m,value:y}=await (0,n.postJsonToApi)({url:`${this.config.baseURL}/${g(this.modelId)}:streamGenerateContent?alt=sse`,headers:h,body:a,failedResponseHandler:l,successfulResponseHandler:(0,n.createEventSourceResponseHandler)(Z),abortSignal:e.abortSignal,fetch:this.config.fetch}),b={unified:"other",raw:void 0},_=null,z=null,w=null,v=null,k=null,x=this.config.generateId,S=!1,T=!1,I=null,O=null,E=0,C=new Set,A=[],j=e=>{let t=A.pop();if(null==t)return;let{finalJSON:n,closingDelta:o}=t.accumulator.finalize();o.length>0&&e.enqueue({type:"tool-input-delta",id:t.toolCallId,delta:o,providerMetadata:t.providerMetadata}),e.enqueue({type:"tool-input-end",id:t.toolCallId,providerMetadata:t.providerMetadata}),e.enqueue({type:"tool-call",toolCallId:t.toolCallId,toolName:t.toolName,input:n,providerMetadata:t.providerMetadata}),S=!0};return{stream:y.pipeThrough(new TransformStream({start(e){e.enqueue({type:"stream-start",warnings:s})},transform(n,a){if(e.includeRawChunks&&a.enqueue({type:"raw",rawValue:n.rawValue}),!n.success)return void a.enqueue({type:"error",error:n.error});let s=n.value;T||null==s.responseId||(T=!0,a.enqueue({type:"response-metadata",id:s.responseId}));let l=s.usageMetadata;null!=l&&(i=l),null!=s.promptFeedback&&null==t&&(_=s.promptFeedback,X(s.promptFeedback.blockReason)&&(b={unified:"content-filter",raw:t=s.promptFeedback.blockReason}));let u=s.candidates?.[0];if(null!=u&&(null!=u.groundingMetadata&&(z=u.groundingMetadata),null!=u.urlContextMetadata&&(w=u.urlContextMetadata),null!=u.safetyRatings&&(v=u.safetyRatings),null!=u.finishMessage&&(k=u.finishMessage)),null!=t||null==u)return;let c=u.content,h=F({groundingMetadata:u.groundingMetadata,generateId:x});if(null!=h)for(let e of h)"url"!==e.sourceType||C.has(e.url)||(C.add(e.url),a.enqueue(e));if(null!=c){let e=c.parts??[];for(let t of e)if("executableCode"in t&&t.executableCode?.code){let e=x();o=e,a.enqueue({type:"tool-call",toolCallId:e,toolName:d.toCustomToolName("code_execution"),input:JSON.stringify(t.executableCode),providerExecuted:!0})}else if("codeExecutionResult"in t&&t.codeExecutionResult){let e=o;e&&a.enqueue({type:"tool-result",toolCallId:e,toolName:d.toCustomToolName("code_execution"),result:{outcome:t.codeExecutionResult.outcome,output:t.codeExecutionResult.output??""}})}else if("text"in t&&null!=t.text){let e=t.thoughtSignature?p({thoughtSignature:t.thoughtSignature}):void 0;0===t.text.length?null!=e&&null!==I&&a.enqueue({type:"text-delta",id:I,delta:"",providerMetadata:e}):!0===t.thought?(null!==I&&(a.enqueue({type:"text-end",id:I}),I=null),null===O&&(O=String(E++),a.enqueue({type:"reasoning-start",id:O,providerMetadata:e})),a.enqueue({type:"reasoning-delta",id:O,delta:t.text,providerMetadata:e})):(null!==O&&(a.enqueue({type:"reasoning-end",id:O}),O=null),null===I&&(I=String(E++),a.enqueue({type:"text-start",id:I,providerMetadata:e})),a.enqueue({type:"text-delta",id:I,delta:t.text,providerMetadata:e}))}else if("inlineData"in t){null!==I&&(a.enqueue({type:"text-end",id:I}),I=null),null!==O&&(a.enqueue({type:"reasoning-end",id:O}),O=null);let e=!0===t.thought,n=t.thoughtSignature?p({thoughtSignature:t.thoughtSignature}):void 0;a.enqueue({type:e?"reasoning-file":"file",mediaType:t.inlineData.mimeType,data:{type:"data",data:t.inlineData.data},providerMetadata:n})}else if("toolCall"in t&&t.toolCall){let e=t.toolCall.id||x();r=e;let n=p({...t.thoughtSignature?{thoughtSignature:t.thoughtSignature}:{},serverToolCallId:e,serverToolType:t.toolCall.toolType});a.enqueue({type:"tool-call",toolCallId:e,toolName:`server:${t.toolCall.toolType}`,input:JSON.stringify(t.toolCall.args??{}),providerExecuted:!0,dynamic:!0,providerMetadata:n})}else if("toolResponse"in t&&t.toolResponse){let e=r||t.toolResponse.id||x(),n=p({...t.thoughtSignature?{thoughtSignature:t.thoughtSignature}:{},serverToolCallId:e,serverToolType:t.toolResponse.toolType});a.enqueue({type:"tool-result",toolCallId:e,toolName:`server:${t.toolResponse.toolType}`,result:t.toolResponse.response??{},providerMetadata:n}),r=void 0}for(let t of e){if(!("functionCall"in t))continue;let e=t.thoughtSignature?p({thoughtSignature:t.thoughtSignature}):void 0,n=null!=t.functionCall.partialArgs||null!=t.functionCall.name&&!0===t.functionCall.willContinue,o=null==t.functionCall.name&&null==t.functionCall.args&&null==t.functionCall.partialArgs&&null==t.functionCall.willContinue,r=null!=t.functionCall.name&&null!=t.functionCall.args&&null==t.functionCall.partialArgs,i=null!=t.functionCall.name&&null==t.functionCall.args&&null==t.functionCall.partialArgs&&!0!==t.functionCall.willContinue;if(n){if(null!=t.functionCall.name){let n=t.functionCall.id||x(),o=new R;if(A.push({toolCallId:n,toolName:t.functionCall.name,accumulator:o,providerMetadata:e}),a.enqueue({type:"tool-input-start",id:n,toolName:t.functionCall.name,providerMetadata:e}),null!=t.functionCall.partialArgs){let r=t.functionCall.partialArgs,{textDelta:i}=o.processPartialArgs(r);i.length>0&&a.enqueue({type:"tool-input-delta",id:n,delta:i,providerMetadata:e}),!0!==t.functionCall.willContinue&&r.every(e=>!0!==e.willContinue)&&j(a)}}else if(null!=t.functionCall.partialArgs&&A.length>0){let n=A[A.length-1],o=t.functionCall.partialArgs,{textDelta:r}=n.accumulator.processPartialArgs(o);r.length>0&&a.enqueue({type:"tool-input-delta",id:n.toolCallId,delta:r,providerMetadata:e}),!0!==t.functionCall.willContinue&&o.every(e=>!0!==e.willContinue)&&j(a)}}else if(o&&A.length>0)j(a);else if(r){let n=t.functionCall.id||x(),o=t.functionCall.name,r="string"==typeof t.functionCall.args?t.functionCall.args:JSON.stringify(t.functionCall.args??{});a.enqueue({type:"tool-input-start",id:n,toolName:o,providerMetadata:e}),a.enqueue({type:"tool-input-delta",id:n,delta:r,providerMetadata:e}),a.enqueue({type:"tool-input-end",id:n,providerMetadata:e}),a.enqueue({type:"tool-call",toolCallId:n,toolName:o,input:r,providerMetadata:e}),S=!0}else if(i){let n=t.functionCall.id||x(),o=t.functionCall.name;a.enqueue({type:"tool-input-start",id:n,toolName:o,providerMetadata:e}),a.enqueue({type:"tool-input-end",id:n,providerMetadata:e}),a.enqueue({type:"tool-call",toolCallId:n,toolName:o,input:"{}",providerMetadata:e}),S=!0}}}null!=u.finishReason&&(b={unified:L({finishReason:u.finishReason,hasToolCalls:S}),raw:u.finishReason})},flush(e){null!==I&&e.enqueue({type:"text-end",id:I}),null!==O&&e.enqueue({type:"reasoning-end",id:O}),e.enqueue({type:"finish",finishReason:b,usage:f(i),providerMetadata:p({promptFeedback:_,groundingMetadata:z,urlContextMetadata:w,safetyRatings:v,usageMetadata:i??null,finishMessage:k,serviceTier:i?.serviceTier??null})})}})),response:{headers:m},request:{body:a}}}};function F({groundingMetadata:e,generateId:t}){if(!e?.groundingChunks)return;let n=[];for(let o of e.groundingChunks)if(null!=o.web)n.push({type:"source",sourceType:"url",id:t(),url:o.web.uri,title:o.web.title??void 0});else if(null!=o.image)n.push({type:"source",sourceType:"url",id:t(),url:o.image.sourceUri,title:o.image.title??void 0});else if(null!=o.retrievedContext){let e=o.retrievedContext.uri,r=o.retrievedContext.fileSearchStore;if(e&&(e.startsWith("http://")||e.startsWith("https://")))n.push({type:"source",sourceType:"url",id:t(),url:e,title:o.retrievedContext.title??void 0});else if(e){let r,i=o.retrievedContext.title??"Unknown Document",a="application/octet-stream";e.endsWith(".pdf")?a="application/pdf":e.endsWith(".txt")?a="text/plain":e.endsWith(".docx")?a="application/vnd.openxmlformats-officedocument.wordprocessingml.document":e.endsWith(".doc")?a="application/msword":e.match(/\.(md|markdown)$/)&&(a="text/markdown"),r=e.split("/").pop(),n.push({type:"source",sourceType:"document",id:t(),mediaType:a,title:i,filename:r})}else if(r){let e=o.retrievedContext.title??"Unknown Document";n.push({type:"source",sourceType:"document",id:t(),mediaType:"application/octet-stream",title:e,filename:r.split("/").pop()})}}else null!=o.maps&&o.maps.uri&&n.push({type:"source",sourceType:"url",id:t(),url:o.maps.uri,title:o.maps.title??void 0});return n.length>0?n:void 0}var H=()=>a.z.object({webSearchQueries:a.z.array(a.z.string()).nullish(),imageSearchQueries:a.z.array(a.z.string()).nullish(),retrievalQueries:a.z.array(a.z.string()).nullish(),searchEntryPoint:a.z.object({renderedContent:a.z.string()}).nullish(),groundingChunks:a.z.array(a.z.object({web:a.z.object({uri:a.z.string(),title:a.z.string().nullish()}).nullish(),image:a.z.object({sourceUri:a.z.string(),imageUri:a.z.string(),title:a.z.string().nullish(),domain:a.z.string().nullish()}).nullish(),retrievedContext:a.z.object({uri:a.z.string().nullish(),title:a.z.string().nullish(),text:a.z.string().nullish(),fileSearchStore:a.z.string().nullish()}).nullish(),maps:a.z.object({uri:a.z.string().nullish(),title:a.z.string().nullish(),text:a.z.string().nullish(),placeId:a.z.string().nullish()}).nullish()})).nullish(),groundingSupports:a.z.array(a.z.object({segment:a.z.object({startIndex:a.z.number().nullish(),endIndex:a.z.number().nullish(),text:a.z.string().nullish()}).nullish(),segment_text:a.z.string().nullish(),groundingChunkIndices:a.z.array(a.z.number()).nullish(),supportChunkIndices:a.z.array(a.z.number()).nullish(),confidenceScores:a.z.array(a.z.number()).nullish(),confidenceScore:a.z.array(a.z.number()).nullish()})).nullish(),retrievalMetadata:a.z.union([a.z.object({webDynamicRetrievalScore:a.z.number()}),a.z.object({})]).nullish()}),B=a.z.object({jsonPath:a.z.string(),stringValue:a.z.string().nullish(),numberValue:a.z.number().nullish(),boolValue:a.z.boolean().nullish(),nullValue:a.z.unknown().nullish(),willContinue:a.z.boolean().nullish()}),W=()=>a.z.object({parts:a.z.array(a.z.union([a.z.object({functionCall:a.z.object({id:a.z.string().nullish(),name:a.z.string().nullish(),args:a.z.unknown().nullish(),partialArgs:a.z.array(B).nullish(),willContinue:a.z.boolean().nullish()}),thoughtSignature:a.z.string().nullish()}),a.z.object({inlineData:a.z.object({mimeType:a.z.string(),data:a.z.string()}),thought:a.z.boolean().nullish(),thoughtSignature:a.z.string().nullish()}),a.z.object({toolCall:a.z.object({toolType:a.z.string(),args:a.z.unknown().nullish(),id:a.z.string()}),thoughtSignature:a.z.string().nullish()}),a.z.object({toolResponse:a.z.object({toolType:a.z.string(),response:a.z.unknown().nullish(),id:a.z.string()}),thoughtSignature:a.z.string().nullish()}),a.z.object({executableCode:a.z.object({language:a.z.string(),code:a.z.string()}).nullish(),codeExecutionResult:a.z.object({outcome:a.z.string(),output:a.z.string().nullish()}).nullish(),text:a.z.string().nullish(),thought:a.z.boolean().nullish(),thoughtSignature:a.z.string().nullish()})])).nullish()}),K=()=>a.z.object({category:a.z.string().nullish(),probability:a.z.string().nullish(),probabilityScore:a.z.number().nullish(),severity:a.z.string().nullish(),severityScore:a.z.number().nullish(),blocked:a.z.boolean().nullish()}),V=a.z.array(a.z.object({modality:a.z.string(),tokenCount:a.z.number()}).loose()).nullish(),J=a.z.object({cachedContentTokenCount:a.z.number().nullish(),thoughtsTokenCount:a.z.number().nullish(),promptTokenCount:a.z.number().nullish(),candidatesTokenCount:a.z.number().nullish(),toolUsePromptTokenCount:a.z.number().nullish(),totalTokenCount:a.z.number().nullish(),trafficType:a.z.string().nullish(),serviceTier:a.z.string().nullish(),promptTokensDetails:V,cacheTokensDetails:V,candidatesTokensDetails:V,toolUsePromptTokensDetails:V}).loose(),G=()=>a.z.object({urlMetadata:a.z.array(a.z.object({retrievedUrl:a.z.string(),urlRetrievalStatus:a.z.string()})).nullish()}),Y=(0,n.lazySchema)(()=>(0,n.zodSchema)(a.z.object({responseId:a.z.string().nullish(),candidates:a.z.array(a.z.object({content:W().nullish().or(a.z.object({}).strict()),finishReason:a.z.string().nullish(),finishMessage:a.z.string().nullish(),safetyRatings:a.z.array(K()).nullish(),groundingMetadata:H().nullish(),urlContextMetadata:G().nullish()})).nullish(),usageMetadata:J.nullish(),promptFeedback:a.z.object({blockReason:a.z.string().nullish(),safetyRatings:a.z.array(K()).nullish()}).nullish()}))),Z=(0,n.lazySchema)(()=>(0,n.zodSchema)(a.z.object({responseId:a.z.string().nullish(),candidates:a.z.array(a.z.object({content:W().nullish(),finishReason:a.z.string().nullish(),finishMessage:a.z.string().nullish(),safetyRatings:a.z.array(K()).nullish(),groundingMetadata:H().nullish(),urlContextMetadata:G().nullish()})).nullish(),usageMetadata:J.nullish(),promptFeedback:a.z.object({blockReason:a.z.string().nullish(),safetyRatings:a.z.array(K()).nullish()}).nullish()})));function X(e){return null!=e&&""!==e&&"BLOCK_REASON_UNSPECIFIED"!==e&&"BLOCKED_REASON_UNSPECIFIED"!==e}var Q=a.z.looseObject({searchTypes:a.z.object({webSearch:a.z.object({}).optional(),imageSearch:a.z.object({}).optional()}).optional(),timeRangeFilter:a.z.object({startTime:a.z.string(),endTime:a.z.string()}).optional()}),ee=(0,n.createProviderExecutedToolFactory)({id:"google.google_search",inputSchema:(0,n.lazySchema)(()=>(0,n.zodSchema)(a.z.object({}))),outputSchema:(0,n.lazySchema)(()=>(0,n.zodSchema)(a.z.object({})))}),et=(0,n.lazySchema)(()=>(0,n.zodSchema)(a.z.object({googleSearch:Q.optional()}))),en=new Set(["text","reasoning","source","tool-call","tool-result"]),eo=a.z.object({code:a.z.union([a.z.number(),a.z.string()]).nullish(),message:a.z.string().nullish(),status:a.z.string().nullish()}),er=a.z.object({requestCount:a.z.union([a.z.string(),a.z.number()]).nullish(),successfulRequestCount:a.z.union([a.z.string(),a.z.number()]).nullish(),failedRequestCount:a.z.union([a.z.string(),a.z.number()]).nullish(),pendingRequestCount:a.z.union([a.z.string(),a.z.number()]).nullish()}),ei=a.z.object({responsesFile:a.z.string().nullish(),inlinedResponses:a.z.object({inlinedResponses:a.z.array(a.z.object({metadata:a.z.object({key:a.z.string()}),response:a.z.unknown().nullish(),error:eo.nullish()}))}).nullish()}),ea=()=>a.z.object({name:a.z.string(),metadata:a.z.object({state:a.z.string().nullish(),createTime:a.z.string().nullish(),batchStats:er.nullish(),output:ei.nullish()}).nullish(),done:a.z.boolean().nullish(),error:eo.nullish(),response:ei.nullish()}),es=(0,n.lazySchema)(()=>(0,n.zodSchema)(ea())),el=(0,n.lazySchema)(()=>(0,n.zodSchema)(a.z.object({operations:a.z.array(ea()).nullish(),nextPageToken:a.z.string().nullish()}))),eu=(0,n.lazySchema)(()=>(0,n.zodSchema)(a.z.object({}))),ec=(0,n.lazySchema)(()=>(0,n.zodSchema)(a.z.object({file:a.z.object({name:a.z.string(),expirationTime:a.z.string().nullish()})}))),ed=(0,n.lazySchema)(()=>(0,n.zodSchema)(a.z.object({key:a.z.string(),response:a.z.unknown().nullish(),error:eo.nullish()}))),ep=(0,n.lazySchema)(()=>(0,n.zodSchema)(a.z.object({candidates:a.z.array(a.z.unknown()).nullish(),promptFeedback:a.z.object({blockReason:a.z.string().nullish()}).nullish()}))),eh=class{constructor(e){this.specificationVersion="v4",this.provider=e.provider,this.batchConfig=e.config,this.supportedUrls=e.supportedUrls,this.batchGenerateId=e.config.generateId??n.generateId}async doStartBatch(e){let t;for(let t of e.requests){let e=t.type;if("text"!==e&&"image"!==e)throw new r.UnsupportedFunctionalityError({functionality:`batch request type: ${e}`,message:`The Google Batch API does not support batch requests with type "${e}".`})}let o=function(e){let t=e[0]?.modelId;if(null==t)throw new r.InvalidArgumentError({argument:"requests",message:"Google batches require at least one request."});for(let n of e)if(n.modelId!==t)throw new r.InvalidArgumentError({argument:"requests",message:"Google batches require every request to use the same model because the model is part of the batch endpoint."});return t}(e.requests),i=[],a=`ai-sdk-batch-${this.batchGenerateId()}`,s=[],u={batch:{displayName:a,...null!=e.webhookUrl&&{webhookConfig:{uris:[e.webhookUrl]}},inputConfig:{requests:{requests:s}}}},c=new TextEncoder,d=c.encode(JSON.stringify(u)).byteLength;for(let n of e.requests){let e="text"===n.type?await D.prepareRequest({modelId:n.modelId,config:this.batchConfig,options:n.options}):await this.prepareImageRequest(n),o={request:e.args,metadata:{key:n.id}};if(null==t){let r=d+c.encode(JSON.stringify(o)).byteLength+ +(s.length>0);if(r<2e7)s.push(o),d=r;else{for(let e of(t=[],s))t.push(JSON.stringify({key:e.metadata.key,request:e.request}),"\n");s.length=0,t.push(JSON.stringify({key:n.id,request:e.args}),"\n")}}else t.push(JSON.stringify({key:n.id,request:e.args}),"\n");for(let t of e.warnings)i.push({requestId:n.id,warning:t})}let p=await this.getHeaders(e.headers),h=`${this.batchConfig.baseURL}/${g(o)}:batchGenerateContent`;if(null==t){let{value:t}=await (0,n.postJsonToApi)({url:h,headers:p,body:u,failedResponseHandler:l,successfulResponseHandler:(0,n.createJsonResponseHandler)(es),abortSignal:e.abortSignal,fetch:this.batchConfig.fetch});return{batchId:t.name,...em(t),warnings:i}}let m=new Blob(t,{type:"application/jsonl"});if(t.length=0,m.size>0x80000000)throw new r.InvalidArgumentError({argument:"requests",message:"Google batch input files must not exceed 2 GB."});let{value:f}=await (0,n.postJsonToApi)({url:`${this.getBaseOrigin()}/upload/v1beta/files`,headers:(0,n.combineHeaders)(p,{"X-Goog-Upload-Protocol":"resumable","X-Goog-Upload-Command":"start","X-Goog-Upload-Header-Content-Length":String(m.size),"X-Goog-Upload-Header-Content-Type":"application/jsonl"}),body:{file:{display_name:`${a}-input`}},failedResponseHandler:l,successfulResponseHandler:ey,abortSignal:e.abortSignal,fetch:this.batchConfig.fetch}),{value:y}=await (0,n.postToApi)({url:f,headers:{"X-Goog-Upload-Offset":"0","X-Goog-Upload-Command":"upload, finalize","Content-Type":"application/jsonl"},body:{content:m,values:{byteLength:m.size,mediaType:"application/jsonl"}},failedResponseHandler:l,successfulResponseHandler:(0,n.createJsonResponseHandler)(ec),abortSignal:e.abortSignal,fetch:this.batchConfig.fetch}),{value:b}=await (0,n.postJsonToApi)({url:h,headers:p,body:{batch:{displayName:a,...null!=e.webhookUrl&&{webhookConfig:{uris:[e.webhookUrl]}},inputConfig:{fileName:y.file.name}}},failedResponseHandler:l,successfulResponseHandler:(0,n.createJsonResponseHandler)(es),abortSignal:e.abortSignal,fetch:this.batchConfig.fetch});return{batchId:b.name,...em(b),providerMetadata:{google:{inputFileId:y.file.name,...null!=y.file.expirationTime?{inputFileExpiresAt:y.file.expirationTime}:{}}},warnings:i}}async doGetBatchStatus(e){return em(await this.retrieveBatch(e))}async doCancelBatch(e){return await (0,n.postJsonToApi)({url:`${this.batchConfig.baseURL}/${e.batchId}:cancel`,headers:await this.getHeaders(e.headers),body:{},failedResponseHandler:l,successfulResponseHandler:(0,n.createJsonResponseHandler)(eu),abortSignal:e.abortSignal,fetch:this.batchConfig.fetch}),{}}async doListBatches(e){let t=new URL(`${this.batchConfig.baseURL}/batches`);null!=e.limit&&t.searchParams.set("pageSize",String(e.limit)),null!=e.cursor&&t.searchParams.set("pageToken",e.cursor);let{value:o}=await (0,n.getFromApi)({url:t.toString(),headers:await this.getHeaders(e.headers),failedResponseHandler:l,successfulResponseHandler:(0,n.createJsonResponseHandler)(el),abortSignal:e.abortSignal,fetch:this.batchConfig.fetch,validateUrl:!1});return{batches:(o.operations??[]).map(e=>({batchId:e.name,...em(e)})),...null!=o.nextPageToken?{nextCursor:o.nextPageToken}:{}}}async doGetBatchResults(e){let t=await this.retrieveBatch(e),o=em(t);if("pending"===o.status)throw new r.InvalidArgumentError({argument:"batchId",message:`Google batch "${e.batchId}" is not complete.`});let i=t.metadata?.output?.inlinedResponses?.inlinedResponses??t.response?.inlinedResponses?.inlinedResponses;if(null!=i)return(0,n.convertAsyncIteratorToReadableStream)(this.iterateBatchResults(i.map(e=>({key:e.metadata.key,response:e.response,error:e.error}))));let a=t.metadata?.output?.responsesFile??t.response?.responsesFile;if(null==a){if("completed"===o.status)throw new r.InvalidResponseDataError({data:t,message:`Google batch "${e.batchId}" completed without batch output.`});return new ReadableStream({start(e){e.close()}})}let s=a.split("/").map(e=>encodeURIComponent(e)).join("/"),{value:u}=await (0,n.getFromApi)({url:`${this.getBaseOrigin()}/download/v1beta/${s}:download?alt=media`,headers:await this.getHeaders(e.headers),failedResponseHandler:l,successfulResponseHandler:(0,n.createJsonLinesResponseHandler)(ed),abortSignal:e.abortSignal,fetch:this.batchConfig.fetch,validateUrl:!1});return(0,n.convertAsyncIteratorToReadableStream)(this.iterateBatchResults(u))}async retrieveBatch(e){let{value:t}=await (0,n.getFromApi)({url:`${this.batchConfig.baseURL}/${e.batchId}`,headers:await this.getHeaders(e.headers),failedResponseHandler:l,successfulResponseHandler:(0,n.createJsonResponseHandler)(es),abortSignal:e.abortSignal,fetch:this.batchConfig.fetch,validateUrl:!1});return t}async *iterateBatchResults(e){for await(let t of e){if(null!=t.error){let e=ef(t.error,"Google batch request failed."),n="CANCELLED"===t.error.status||"1"===String(t.error.code)?"cancelled":"failed";yield{type:"text",id:t.key,status:n,error:e};continue}if(null==t.response){yield{type:"text",id:t.key,status:"failed",error:{message:"Google returned a batch result without a response or error.",code:"invalid_batch_result"}};continue}let e=await (0,n.safeValidateTypes)({value:t.response,schema:ep});if(e.success&&(null==e.value.candidates||0===e.value.candidates.length)){let n=e.value.promptFeedback??void 0,o=n?.blockReason??void 0;yield{type:"text",id:t.key,status:"failed",error:{message:null==o?"Google returned a batch response without any candidates.":`Google blocked the batch request (${o}).`,code:null==o?"invalid_response":"prompt_blocked",...null!=o?{type:o}:{}},...null!=n?{providerMetadata:{google:{promptFeedback:{blockReason:n.blockReason??null}}}}:{}};continue}let o=await (0,n.safeValidateTypes)({value:t.response,schema:Y});if(!o.success){yield{type:"text",id:t.key,status:"failed",error:{message:"Google returned an invalid GenerateContent batch result.",code:"invalid_response"}};continue}let r=D.convertGenerateContentResponse({config:this.batchConfig,response:o.value,warnings:[],providerOptionsNames:["google"]}),i=function(e){let t=e.content.flatMap(e=>"file"===e.type&&e.mediaType.startsWith("image/")&&"data"===e.data.type?[(0,n.convertToBase64)(e.data.data)]:[]);if(0===t.length)return;let o=e.providerMetadata?.google??{};return{images:t,warnings:e.warnings,providerMetadata:{google:{...o,images:t.map(()=>({}))}},response:{timestamp:new Date,modelId:e.response?.modelId??"",headers:e.response?.headers},usage:{inputTokens:e.usage.inputTokens.total,outputTokens:e.usage.outputTokens.total,totalTokens:(e.usage.inputTokens.total??0)+(e.usage.outputTokens.total??0)}}}(r);if(null!=i){yield{type:"image",id:t.key,status:"succeeded",result:i};continue}let a=r.content.find(e=>!en.has(e.type));if(null!=a){yield{type:"text",id:t.key,status:"failed",error:{message:`Google returned a "${a.type}" content block, but that content is not supported in AI SDK text batches.`,code:"unsupported_content"}};continue}yield{type:"text",id:t.key,status:"succeeded",result:r}}}async prepareImageRequest(e){let{prompt:t,n:o,size:i,aspectRatio:a,seed:s,files:l,mask:u,providerOptions:c}=e.options,d=[];if(null!=u)throw new r.UnsupportedFunctionalityError({functionality:"mask-based image editing in Google batches"});if(o>1)throw new r.UnsupportedFunctionalityError({functionality:"multiple images per Google batch request"});null!=i&&d.push({type:"unsupported",feature:"size",details:"This model does not support the `size` option. Use `aspectRatio` instead."});let p=[];for(let e of(null!=t&&p.push({type:"text",text:t}),l??[]))p.push("url"===e.type?{type:"file",data:{type:"url",url:new URL(e.url)},mediaType:"image/*"}:{type:"file",data:{type:"data",data:e.data},mediaType:e.mediaType});let h=await (0,n.parseProviderOptions)({provider:"google",providerOptions:c,schema:et}),{responseModalities:m,imageConfig:g,...f}=await (0,n.parseProviderOptions)({provider:"google",providerOptions:c,schema:T})??{},y=await (0,n.parseProviderOptions)({provider:"google",providerOptions:{google:{...f,responseModalities:["IMAGE"],imageConfig:null!=a||null!=g?{...g,...null!=a?{aspectRatio:a}:{}}:void 0}},schema:T}),b=await D.prepareRequest({modelId:e.modelId,config:this.batchConfig,options:{prompt:[{role:"user",content:p}],seed:s,providerOptions:{google:y??{responseModalities:["IMAGE"]}},tools:h?.googleSearch!=null?[{type:"provider",id:"google.google_search",name:"google_search",args:h.googleSearch}]:void 0}});return{...b,warnings:[...d,...b.warnings]}}async getHeaders(e){return(0,n.combineHeaders)(this.batchConfig.headers?await (0,n.resolve)(this.batchConfig.headers):void 0,e)}getBaseOrigin(){return this.batchConfig.baseURL.replace(/\/v1beta$/,"")}};function em(e){var t;let o,r,i,a,s=e.metadata?.state??void 0,l=(t=e.metadata?.batchStats,o=eg(t?.requestCount),r=eg(t?.successfulRequestCount??0),i=eg(t?.failedRequestCount??0),a=eg(t?.pendingRequestCount??0),(0,n.normalizeBatchRequestCounts)({total:o,pending:a,completed:r,failed:i})),u=e.metadata?.createTime??void 0,c=null!=e.error?ef(e.error,"Google batch failed."):void 0;return{status:function({rawStatus:e,done:t,hasError:n}){if(n)return"failed";if(null==e)return t?"completed":"pending";switch(e.replace(/^(?:BATCH|JOB)_STATE_/,"")){case"SUCCEEDED":return"completed";case"FAILED":case"CANCELLED":case"EXPIRED":return"failed";default:return"pending"}}({rawStatus:s,done:e.done??void 0,hasError:null!=c}),...null!=s?{rawStatus:s}:{},...null!=l?{requestCounts:l}:{},...null!=c?{error:c}:{},...null!=u?{createdAt:u}:{}}}function eg(e){let t="string"==typeof e&&/^\d+$/.test(e)?Number(e):e;return"number"==typeof t&&Number.isSafeInteger(t)&&t>=0?t:void 0}function ef(e,t){return{message:e.message??t,...null!=e.status?{type:e.status}:{},...null!=e.code?{code:String(e.code)}:{}}}var ey=async({response:e})=>{let t=e.headers.get("x-goog-upload-url");if(null==t)throw new r.InvalidResponseDataError({data:e.headers,message:"Google did not return a resumable upload URL."});return{value:t}},eb=(0,n.createProviderExecutedToolFactory)({id:"google.enterprise_web_search",inputSchema:(0,n.lazySchema)(()=>(0,n.zodSchema)(a.z.object({}))),outputSchema:(0,n.lazySchema)(()=>(0,n.zodSchema)(a.z.object({})))});a.z.looseObject({fileSearchStoreNames:a.z.array(a.z.string()).describe("The names of the file_search_stores to retrieve from. Example: `fileSearchStores/my-file-search-store-123`"),topK:a.z.number().int().positive().describe("The number of file search retrieval chunks to retrieve.").optional(),metadataFilter:a.z.string().describe("Metadata filter to apply to the file search retrieval documents. See https://google.aip.dev/160 for the syntax of the filter expression.").optional()});var e_=(0,n.createProviderExecutedToolFactory)({id:"google.file_search",inputSchema:(0,n.lazySchema)(()=>(0,n.zodSchema)(a.z.object({}))),outputSchema:(0,n.lazySchema)(()=>(0,n.zodSchema)(a.z.object({})))}),ez=(0,n.createProviderExecutedToolFactory)({id:"google.google_maps",inputSchema:(0,n.lazySchema)(()=>(0,n.zodSchema)(a.z.object({}))),outputSchema:(0,n.lazySchema)(()=>(0,n.zodSchema)(a.z.object({})))}),ew={googleSearch:ee,enterpriseWebSearch:eb,googleMaps:ez,urlContext:(0,n.createProviderExecutedToolFactory)({id:"google.url_context",inputSchema:(0,n.lazySchema)(()=>(0,n.zodSchema)(a.z.object({}))),outputSchema:(0,n.lazySchema)(()=>(0,n.zodSchema)(a.z.object({})))}),fileSearch:e_,codeExecution:_,vertexRagStore:(0,n.createProviderExecutedToolFactory)({id:"google.vertex_rag_store",inputSchema:(0,n.lazySchema)(()=>(0,n.zodSchema)(a.z.object({}))),outputSchema:(0,n.lazySchema)(()=>(0,n.zodSchema)(a.z.object({})))})},ev=class e{constructor(e,t,n){this.modelId=e,this.settings=t,this.config=n,this.specificationVersion="v4"}static[i.WORKFLOW_SERIALIZE](e){return(0,n.serializeModelOptions)({modelId:e.modelId,config:e.config})}static[i.WORKFLOW_DESERIALIZE](t){return new e(t.modelId,{},t.config)}get maxImagesPerCall(){return null!=this.settings.maxImagesPerCall?this.settings.maxImagesPerCall:1}get provider(){return this.config.provider}async doGenerate(e){if(!this.modelId.startsWith("gemini-"))throw Error("Google image models other than Gemini are no longer supported. Use a model ID that starts with `gemini-`.");let{prompt:t,size:o,aspectRatio:r,seed:i,providerOptions:a,headers:s,abortSignal:l,files:u,mask:c}=e,d=[];if(null!=c)throw Error("Gemini image models do not support mask-based image editing.");null!=o&&d.push({type:"unsupported",feature:"size",details:"This model does not support the `size` option. Use `aspectRatio` instead."});let p=[];if(null!=t&&p.push({type:"text",text:t}),null!=u&&u.length>0)for(let e of u)"url"===e.type?p.push({type:"file",data:{type:"url",url:new URL(e.url)},mediaType:"image/*"}):p.push({type:"file",data:{type:"data",data:"string"==typeof e.data?e.data:new Uint8Array(e.data)},mediaType:e.mediaType});let h=[{role:"user",content:p}],m=await (0,n.parseProviderOptions)({provider:"google",providerOptions:a,schema:et}),{googleSearch:g,responseModalities:f,imageConfig:y,...b}=a?.google??{},_=new D(this.modelId,{provider:this.config.provider,baseURL:this.config.baseURL,headers:this.config.headers??{},fetch:this.config.fetch,generateId:this.config.generateId??n.generateId}),z=await _.doGenerate({prompt:h,seed:i,providerOptions:{google:{...b,responseModalities:["IMAGE"],imageConfig:null!=r||null!=y?{...y,...null!=r?{aspectRatio:r}:{}}:void 0}},tools:m?.googleSearch!=null?[{type:"provider",id:"google.google_search",name:"google_search",args:m.googleSearch}]:void 0,headers:s,abortSignal:l}),w=this.config._internal?.currentDate?.()??new Date,v=[];for(let e of z.content)"file"===e.type&&e.mediaType.startsWith("image/")&&"data"===e.data.type&&v.push((0,n.convertToBase64)(e.data.data));let k=z.providerMetadata?.google??{};return{images:v,..."content-filter"===z.finishReason.unified?{isRetryable:!1}:{},warnings:d,providerMetadata:{google:{...k,finishReason:z.finishReason.raw??null,images:v.map(()=>({}))}},response:{timestamp:w,modelId:this.modelId,headers:z.response?.headers},usage:z.usage?{inputTokens:z.usage.inputTokens.total,outputTokens:z.usage.outputTokens.total,totalTokens:(z.usage.inputTokens.total??0)+(z.usage.outputTokens.total??0)}:void 0}}};function ek(e){let t=encodeURIComponent(e);return"."===t?"%252E":".."===t?"%252E%252E":t}var ex=class{constructor(e){this.config=e,this.specificationVersion="v4"}get provider(){return this.config.provider}async uploadFile(e){var t;let o=await (0,n.parseProviderOptions)({provider:"google",providerOptions:e.providerOptions,schema:eT}),i=(0,n.combineHeaders)(this.config.headers(),e.headers),a=this.config.fetch??globalThis.fetch,s=[];null!=e.filename&&s.push({type:"unsupported",feature:"filename"});let u=(0,n.convertInlineFileDataToUint8Array)(e.data),c=e.mediaType,d=o?.displayName,p=this.config.baseURL.replace(/\/v1beta$/,""),h=await a(`${p}/upload/v1beta/files`,{method:"POST",headers:{...i,"X-Goog-Upload-Protocol":"resumable","X-Goog-Upload-Command":"start","X-Goog-Upload-Header-Content-Length":String(u.length),"X-Goog-Upload-Header-Content-Type":c,"Content-Type":"application/json"},body:JSON.stringify({file:{...null!=d?{display_name:d}:{}}}),signal:e.abortSignal});if(!h.ok){let e=await h.text();throw new r.AISDKError({name:"GOOGLE_FILES_UPLOAD_ERROR",message:`Failed to initiate resumable upload: ${h.status} ${e}`})}let m=h.headers.get("x-goog-upload-url");if(!m)throw new r.AISDKError({name:"GOOGLE_FILES_UPLOAD_ERROR",message:"No upload URL returned from initiation request"});let g=await a(m,{method:"POST",headers:{"X-Goog-Upload-Offset":"0","X-Goog-Upload-Command":"upload, finalize"},body:(t=u).buffer instanceof ArrayBuffer?t:new Uint8Array(t),signal:e.abortSignal});if(!g.ok){let e=await g.text();throw new r.AISDKError({name:"GOOGLE_FILES_UPLOAD_ERROR",message:`Failed to upload file data: ${g.status} ${e}`})}let f=(await g.json()).file,y=o?.pollIntervalMs??2e3,b=o?.pollTimeoutMs??3e5,_=Date.now();for(;"PROCESSING"===f.state;){if(Date.now()-_>b)throw new r.AISDKError({name:"GOOGLE_FILES_UPLOAD_TIMEOUT",message:`File processing timed out after ${b}ms`});await (0,n.delay)(y,{abortSignal:e.abortSignal});let t=/^files\/([^/]+)$/.exec(f.name),o=null!=t?`files/${ek(t[1])}`:ek(f.name),{value:a}=await (0,n.getFromApi)({url:`${this.config.baseURL}/${o}`,validateUrl:!1,headers:(0,n.combineHeaders)(i),successfulResponseHandler:(0,n.createJsonResponseHandler)(eS),failedResponseHandler:l,abortSignal:e.abortSignal,fetch:this.config.fetch});f=a}if("FAILED"===f.state)throw new r.AISDKError({name:"GOOGLE_FILES_UPLOAD_FAILED",message:`File processing failed for ${f.name}`});return{warnings:s,providerReference:{google:f.uri},mediaType:f.mimeType??e.mediaType,providerMetadata:{google:{name:f.name,displayName:f.displayName,mimeType:f.mimeType,sizeBytes:f.sizeBytes,state:f.state,uri:f.uri,...null!=f.createTime?{createTime:f.createTime}:{},...null!=f.updateTime?{updateTime:f.updateTime}:{},...null!=f.expirationTime?{expirationTime:f.expirationTime}:{},...null!=f.sha256Hash?{sha256Hash:f.sha256Hash}:{}}}}}},eS=(0,n.lazySchema)(()=>(0,n.zodSchema)(a.z.object({name:a.z.string(),displayName:a.z.string().nullish(),mimeType:a.z.string(),sizeBytes:a.z.string().nullish(),createTime:a.z.string().nullish(),updateTime:a.z.string().nullish(),expirationTime:a.z.string().nullish(),sha256Hash:a.z.string().nullish(),uri:a.z.string(),state:a.z.string()}))),eT=(0,n.lazySchema)(()=>(0,n.zodSchema)(a.z.looseObject({displayName:a.z.string().nullish(),pollIntervalMs:a.z.number().positive().nullish(),pollTimeoutMs:a.z.number().positive().nullish()}))),eI=(0,n.lazySchema)(()=>(0,n.zodSchema)(a.z.looseObject({pollIntervalMs:a.z.number().positive().nullish(),pollTimeoutMs:a.z.number().positive().nullish(),personGeneration:a.z.enum(["dont_allow","allow_adult","allow_all"]).nullish(),negativePrompt:a.z.string().nullish(),referenceImages:a.z.array(a.z.object({bytesBase64Encoded:a.z.string().nullish(),gcsUri:a.z.string().nullish()})).nullish()})));function eO(e,t){return"url"===e.type?e.url.startsWith("gs://")?{gcsUri:e.url,mimeType:"image/png"}:void t.push({type:"unsupported",feature:"URL-based image input",details:"Google Generative AI video models require base64-encoded images or GCS URIs. URL will be ignored."}):{bytesBase64Encoded:"string"==typeof e.data?e.data:(0,n.convertUint8ArrayToBase64)(e.data),mimeType:e.mediaType||"image/png"}}var eE=class{constructor(e,t){this.modelId=e,this.config=t,this.specificationVersion="v4"}get provider(){return this.config.provider}get maxVideosPerCall(){return 4}async buildRequest(e){let t=[],o=await (0,n.parseProviderOptions)({provider:"google",providerOptions:e.providerOptions,schema:eI}),r=[{}],i=r[0];null!=e.prompt&&(i.prompt=e.prompt);let a=e.frameImages?.find(e=>"first_frame"===e.frameType)?.image??e.image;if(null!=a){let e=eO(a,t);null!=e&&(i.image=e)}let s=e.frameImages?.find(e=>"last_frame"===e.frameType)?.image;if(null!=s){let e=eO(s,t);null!=e&&(i.lastFrame=e)}let l=function(e){if(null==e.frameImages||!(e.frameImages.length>0))return null!=e.inputReferences&&e.inputReferences.length>0?e.inputReferences:void 0}(e);null!=l?i.referenceImages=l.flatMap(e=>{let n,o=null!=(n=eO(e,t))?{image:n,referenceType:"asset"}:void 0;return null!=o?[o]:[]}):o?.referenceImages!=null&&(i.referenceImages=o.referenceImages.map(e=>e.bytesBase64Encoded?{image:{bytesBase64Encoded:e.bytesBase64Encoded,mimeType:"image/png"},referenceType:"asset"}:e.gcsUri?{image:{gcsUri:e.gcsUri,mimeType:"image/png"},referenceType:"asset"}:e));let u={sampleCount:e.n};if(e.aspectRatio&&(u.aspectRatio=e.aspectRatio),e.resolution&&(u.resolution=({"1280x720":"720p","1920x1080":"1080p","3840x2160":"4k"})[e.resolution]||e.resolution),e.duration&&(u.durationSeconds=e.duration),e.seed&&(u.seed=e.seed),null!=o)for(let[e,t]of(void 0!==o.personGeneration&&null!==o.personGeneration&&(u.personGeneration=o.personGeneration),void 0!==o.negativePrompt&&null!==o.negativePrompt&&(u.negativePrompt=o.negativePrompt),Object.entries(o)))["pollIntervalMs","pollTimeoutMs","personGeneration","negativePrompt","referenceImages"].includes(e)||(u[e]=t);return{instances:r,parameters:u,warnings:t,googleOptions:o}}async buildCompletedResult(e,t,o,i){let a=e.response;if(!a?.generateVideoResponse?.generatedSamples||0===a.generateVideoResponse.generatedSamples.length)throw new r.AISDKError({name:"GOOGLE_VIDEO_GENERATION_ERROR",message:`No videos in response. Response: ${JSON.stringify(e)}`});let s=[],l=[],u=await (0,n.resolve)(this.config.headers),c=u?.["x-goog-api-key"];for(let e of a.generateVideoResponse.generatedSamples)if(e.video?.uri){let t=c&&(0,n.isSameOrigin)(e.video.uri,this.config.baseURL)?`${e.video.uri}${e.video.uri.includes("?")?"&":"?"}key=${c}`:e.video.uri;s.push({type:"url",url:t,mediaType:"video/mp4"}),l.push({uri:e.video.uri})}if(0===s.length)throw new r.AISDKError({name:"GOOGLE_VIDEO_GENERATION_ERROR",message:"No valid videos in response"});return{status:"completed",videos:s,warnings:o,response:{timestamp:i,modelId:this.modelId,headers:t},providerMetadata:{google:{videos:l}}}}async doStart(e){let t=this.config._internal?.currentDate?.()??new Date,{instances:o,parameters:i,warnings:a}=await this.buildRequest(e),{value:s,responseHeaders:u}=await (0,n.postJsonToApi)({url:`${this.config.baseURL}/models/${this.modelId}:predictLongRunning`,headers:(0,n.combineHeaders)(await (0,n.resolve)(this.config.headers),e.headers),body:{instances:o,parameters:i},successfulResponseHandler:(0,n.createJsonResponseHandler)(eC),failedResponseHandler:l,abortSignal:e.abortSignal,fetch:this.config.fetch}),c=s.name;if(!c)throw new r.AISDKError({name:"GOOGLE_VIDEO_GENERATION_ERROR",message:"No operation name returned from API"});return{operation:{operationName:c},warnings:a,response:{timestamp:t,modelId:this.modelId,headers:u}}}async doStatus(e){let t=this.config._internal?.currentDate?.()??new Date,{operationName:o}=e.operation,{value:r,responseHeaders:i}=await (0,n.getFromApi)({url:`${this.config.baseURL}/${o}`,validateUrl:!1,headers:(0,n.combineHeaders)(await (0,n.resolve)(this.config.headers),e.headers),successfulResponseHandler:(0,n.createJsonResponseHandler)(eC),failedResponseHandler:l,abortSignal:e.abortSignal,fetch:this.config.fetch});return r.done?r.error?{status:"error",error:`Video generation failed: ${r.error.message}`,response:{timestamp:t,modelId:this.modelId,headers:i}}:this.buildCompletedResult(r,i,[],t):{status:"pending",response:{timestamp:t,modelId:this.modelId,headers:i}}}},eC=a.z.object({name:a.z.string().nullish(),done:a.z.boolean().nullish(),error:a.z.object({code:a.z.number().nullish(),message:a.z.string(),status:a.z.string().nullish()}).nullish(),response:a.z.object({generateVideoResponse:a.z.object({generatedSamples:a.z.array(a.z.object({video:a.z.object({uri:a.z.string().nullish()}).nullish()})).nullish()}).nullish()}).nullish()}),eA=(0,n.lazySchema)(()=>(0,n.zodSchema)(a.z.object({candidates:a.z.array(a.z.object({content:a.z.object({parts:a.z.array(a.z.object({inlineData:a.z.object({mimeType:a.z.string().nullish(),data:a.z.string().nullish()}).nullish()})).nullish()}).nullish()})).nullish()}))),ej=a.z.object({voiceName:a.z.string()}),eR=a.z.object({prebuiltVoiceConfig:ej,voice:a.z.never().optional()}),e$=a.z.object({speaker:a.z.string().min(1).optional(),style:a.z.string().optional()}),eM=(0,n.lazySchema)(()=>(0,n.zodSchema)(a.z.object({speechMetadata:e$.optional(),turns:a.z.array(a.z.object({text:a.z.string(),speechMetadata:e$.optional()})).min(1).optional(),multiSpeakerVoiceConfig:a.z.object({speakerVoiceConfigs:a.z.array(a.z.object({speaker:a.z.string(),voiceConfig:eR}))}).optional()}))),eN="Kore",eL=class e{constructor(e,t){this.modelId=e,this.config=t,this.specificationVersion="v4"}static[i.WORKFLOW_SERIALIZE](e){return(0,n.serializeModelOptions)({modelId:e.modelId,config:e.config})}static[i.WORKFLOW_DESERIALIZE](t){return new e(t.modelId,t.config)}get provider(){return this.config.provider}async getArgs({text:e,voice:t=eN,outputFormat:o,instructions:i,speed:a,language:s,providerOptions:l}){let u,c=[],d=this.config.provider.includes("vertex")?["googleVertex","vertex"]:["google"];for(let e of d)if(null!=(u=await (0,n.parseProviderOptions)({provider:e,providerOptions:l,schema:eM})))break;null!=u||d.includes("google")||(u=await (0,n.parseProviderOptions)({provider:"google",providerOptions:l,schema:eM}));let p=!this.modelId.startsWith("gemini-2.5-")&&!this.modelId.startsWith("gemini-3.1-"),h=function({text:e,voice:t,providerOptions:n}){let o=n?.google,r=null!=o&&"object"==typeof o?o:void 0,i=r&&"turns"in r?r.turns:void 0,a=[];if(Array.isArray(i)&&i.length>0){for(let e of i){if(null==e||"object"!=typeof e||!("text"in e)||"string"!=typeof e.text)break;a.push(e.text)}a.length===i.length&&(e=a.join(""))}let s=r&&"multiSpeakerVoiceConfig"in r?r.multiSpeakerVoiceConfig:void 0,l=null!=s&&"object"==typeof s&&"speakerVoiceConfigs"in s&&Array.isArray(s.speakerVoiceConfigs)?s.speakerVoiceConfigs:[];return{text:e,usesCustomVoice:t?.startsWith("voice_")===!0||t?.startsWith("voicekey_")===!0||l.some(e=>null!=e&&"object"==typeof e&&"voiceConfig"in e&&null!=e.voiceConfig&&"object"==typeof e.voiceConfig&&"voice"in e.voiceConfig)}}({text:e,voice:t,providerOptions:{google:u}});if(h.usesCustomVoice)throw new r.InvalidArgumentError({argument:"voice",message:"Custom voices are not supported. Use a prebuilt voice instead."});let m=u?.multiSpeakerVoiceConfig,g=m?{multiSpeakerVoiceConfig:m}:{voiceConfig:{prebuiltVoiceConfig:{voiceName:t}}},f=e;null==i||p||(m?c.push({type:"unsupported",feature:"instructions",details:"Google Gemini TTS ignores `instructions` when `multiSpeakerVoiceConfig` is set, because prepending them would break multi-speaker transcript parsing."}):f=`${i}: ${e}`);let y=[{text:f}];if(p){if(u?.turns&&u.speechMetadata)throw new r.InvalidArgumentError({argument:"providerOptions",message:"Set speechMetadata on each turn when using turns."});u?.turns&&""!==e&&c.push({type:"unsupported",feature:"text",details:"Google TTS turns replace the top-level text."}),y=(u?.turns??[{text:e,speechMetadata:u?.speechMetadata}]).map(e=>{let t=e.speechMetadata?.style??i,n=e.speechMetadata?.speaker;if(m&&!m.speakerVoiceConfigs.some(e=>e.speaker===n))throw new r.InvalidArgumentError({argument:"speechMetadata.speaker",message:"Every multi-speaker turn must specify a speechMetadata.speaker matching a configured speaker."});return{text:e.text,...null!=t||null!=n?{speechMetadata:{style:t,speaker:n}}:{}}})}else if(u?.turns||u?.speechMetadata)throw new r.InvalidArgumentError({argument:"providerOptions",message:"Structured speech metadata and turns require Gemini 3.8 TTS."});if(0===h.text.length)throw new r.InvalidArgumentError({argument:"text",message:"Speech input must contain a non-empty transcript."});null!=a&&c.push({type:"unsupported",feature:"speed",details:"Google Gemini TTS models do not support the `speed` option. It was ignored."}),null!=s&&c.push({type:"unsupported",feature:"language",details:"Google Gemini TTS models do not support the `language` option. Language is detected automatically from the input text."});let b=p?{wav:"AUDIO_WAV","audio/wav":"AUDIO_WAV",pcm:"AUDIO_L16","audio/l16":"AUDIO_L16",mulaw:"AUDIO_MULAW","audio/mulaw":"AUDIO_MULAW",alaw:"AUDIO_ALAW","audio/alaw":"AUDIO_ALAW"}:{wav:"AUDIO_WAV",pcm:"AUDIO_L16"},_="wav";return null!=o&&Object.prototype.hasOwnProperty.call(b,o)?_=o:null!=o&&c.push({type:"unsupported",feature:"outputFormat",details:`Unsupported output format: ${o}. Using wav instead.`}),{requestBody:{contents:[{role:"user",parts:y}],generationConfig:{responseModalities:["AUDIO"],speechConfig:g,...p&&null!=o?{responseFormat:{audio:{mimeType:b[_]}}}:{}}},warnings:c,outputFormat:b[_],usesStructuredSpeech:p}}async doGenerate(e){var t,o;let r,i,a,s,u,c,d=this.config._internal?.currentDate?.()??new Date,{requestBody:p,warnings:h,outputFormat:m,usesStructuredSpeech:g}=await this.getArgs(e),{value:f,responseHeaders:y,rawValue:b}=await (0,n.postJsonToApi)({url:`${this.config.baseURL}/models/${this.modelId}:generateContent`,headers:(0,n.combineHeaders)(this.config.headers?await (0,n.resolve)(this.config.headers):void 0,e.headers),body:p,failedResponseHandler:l,successfulResponseHandler:(0,n.createJsonResponseHandler)(eA),abortSignal:e.abortSignal,fetch:this.config.fetch});for(let e of f.candidates??[]){for(let t of e.content?.parts??[])if(t.inlineData?.data){u=t.inlineData.data,c=t.inlineData.mimeType??void 0;break}if(null!=u)break}let _=function(e){if(null==e)return;let t=/rate=(\d+)/.exec(e);return t?Number.parseInt(t[1],10):void 0}(c)??24e3,z=null!=u?(0,n.convertBase64ToUint8Array)(u):new Uint8Array(0),w=/^audio\/(?:l16|pcm)(?:;|$)/i.test(c??"")||null==c&&!g,v="AUDIO_WAV"===m&&w&&z.length>0?(t=z,o=_,eP(a=new DataView(i=new ArrayBuffer(44+(r=t.length))),0,"RIFF"),a.setUint32(4,36+r,!0),eP(a,8,"WAVE"),eP(a,12,"fmt "),a.setUint32(16,16,!0),a.setUint16(20,1,!0),a.setUint16(22,1,!0),a.setUint32(24,o,!0),a.setUint32(28,2*o,!0),a.setUint16(32,2,!0),a.setUint16(34,16,!0),eP(a,36,"data"),a.setUint32(40,r,!0),(s=new Uint8Array(i)).set(t,44),s):z;return"AUDIO_L16"===m&&z.length>0&&!g&&h.push({type:"unsupported",feature:"outputFormat",details:`Returning raw PCM audio (signed 16-bit little-endian, mono, ${_} Hz). These bytes have no container header and are not directly playable; see providerMetadata.google for the sample rate and mime type.`}),{audio:v,warnings:h,request:{body:JSON.stringify(p)},response:{timestamp:d,modelId:this.modelId,headers:y,body:b},providerMetadata:{google:{sampleRate:_,mimeType:c??null}}}}};function eP(e,t,n){for(let o=0;o<n.length;o++)e.setUint8(t+o,n.charCodeAt(o))}function eU(e){if(null==e)return(0,n.createNullLanguageModelUsage)();let t=e.total_input_tokens??0,o=e.total_output_tokens??0,r=e.total_thought_tokens??0,i=e.total_cached_tokens??0;return{inputTokens:{total:e.total_input_tokens??void 0,noCache:null==e.total_input_tokens?void 0:t-i,cacheRead:e.total_cached_tokens??void 0,cacheWrite:void 0},outputTokens:{total:null==e.total_output_tokens&&null==e.total_thought_tokens?void 0:o+r,text:e.total_output_tokens??void 0,reasoning:e.total_thought_tokens??void 0},raw:e}}function eq(e){let t=e?.output_tokens_by_modality;if(null==t)return;let n={};for(let e of t)e?.modality!=null&&null!=e.tokens&&(n[e.modality]=e.tokens);return Object.keys(n).length>0?n:void 0}var eD={pdf:"application/pdf",txt:"text/plain",md:"text/markdown",markdown:"text/markdown",doc:"application/msword",docx:"application/vnd.openxmlformats-officedocument.wordprocessingml.document"};function eF(e){let t=e.toLowerCase();for(let[e,n]of Object.entries(eD))if(t.endsWith(`.${e}`))return n;return"application/octet-stream"}function eH(e){let t=e.split("/"),n=t[t.length-1];return n&&n.length>0?n:void 0}function eB({block:e,generateId:t}){let n=[];switch(e.type){case"url_context_result":for(let o of e.result??[])o?.url!=null&&0!==o.url.length&&(null==o.status||"success"===o.status)&&n.push({type:"source",sourceType:"url",id:t(),url:o.url});break;case"google_search_result":for(let o of e.result??[]){let e=o?.url;null!=e&&0!==e.length&&n.push({type:"source",sourceType:"url",id:t(),url:e,...null!=o.title?{title:o.title}:{}})}break;case"google_maps_result":for(let o of e.result??[])for(let e of o.places??[])null!=e.url&&0!==e.url.length&&n.push({type:"source",sourceType:"url",id:t(),url:e.url,...null!=e.name?{title:e.name}:{}});break;case"file_search_result":for(let o of e.result??[]){if(null==o||"object"!=typeof o)continue;let e=o.url??o.document_uri??o.file_name;if(null==e||0===e.length)continue;if(e.startsWith("http://")||e.startsWith("https://")){n.push({type:"source",sourceType:"url",id:t(),url:e,...null!=o.title?{title:o.title}:{}});continue}let r=o.file_name??eH(e),i=eF(e);n.push({type:"source",sourceType:"document",id:t(),mediaType:i,title:o.title??o.file_name??r??e,...null!=r?{filename:r}:{}})}}return n}function eW({annotations:e,generateId:t}){if(null==e)return[];let n=new Set,o=[];for(let r of e){let e=function({annotation:e,generateId:t}){switch(e.type){case"url_citation":if(null==e.url||0===e.url.length)return;return{type:"source",sourceType:"url",id:t(),url:e.url,...null!=e.title?{title:e.title}:{}};case"file_citation":{let n=e.url??e.document_uri??e.file_name;if(null==n||0===n.length)return;if(n.startsWith("http://")||n.startsWith("https://"))return{type:"source",sourceType:"url",id:t(),url:n,...null!=e.file_name?{title:e.file_name}:{}};let o=e.file_name??eH(n),r=eF(n);return{type:"source",sourceType:"document",id:t(),mediaType:r,title:e.file_name??o??n,...null!=o?{filename:o}:{}}}case"place_citation":if(null==e.url||0===e.url.length)return;return{type:"source",sourceType:"url",id:t(),url:e.url,...null!=e.name?{title:e.name}:{}};default:return}}({annotation:r,generateId:t});if(null==e)continue;let i="url"===e.sourceType?`url:${e.url}`:`doc:${e.filename??e.title}`;n.has(i)||(n.add(i),o.push(e))}return o}function eK({status:e,hasFunctionCall:t}){switch(e){case"completed":return t?"tool-calls":"stop";case"requires_action":return"tool-calls";case"failed":return"error";case"incomplete":return"length";default:return"other"}}var eV=new Set(["google_search_call","code_execution_call","url_context_call","file_search_call","google_maps_call","mcp_server_tool_call"]),eJ=new Set(["google_search_result","code_execution_result","url_context_result","file_search_result","google_maps_result","mcp_server_tool_result"]);function eG({warnings:e,generateId:t,includeRawChunks:o,serviceTier:r}){let i,a,s,l=r,u=!1,c=new Map,d=new Set;function p(e){return"url"===e.sourceType?`url:${e.url}`:`doc:${e.filename??e.title}`}return new TransformStream({start(t){t.enqueue({type:"stream-start",warnings:e})},transform(e,r){if(o&&r.enqueue({type:"raw",rawValue:e.rawValue}),!e.success){s="failed",r.enqueue({type:"error",error:e.error});return}let h=e.value,m=h.event_type;switch(m){case"interaction.created":{let e,t=h.interaction;i=t?.id!=null&&t.id.length>0?t.id:void 0;let n=t?.created;if("string"==typeof n){let t=new Date(n);Number.isNaN(t.getTime())||(e=t)}r.enqueue({type:"response-metadata",...null!=i?{id:i}:{},modelId:t?.model,...e?{timestamp:e}:{}});break}case"step.start":{let e=h.step,n=h.index,o=`${i??"interaction"}:${n}`,a=e?.type;if("model_output"===a){let i=e?.content?.[0];if(i?.type==="text")for(let e of(c.set(n,{kind:"text",id:o,emittedSourceKeys:new Set}),r.enqueue({type:"text-start",id:o}),eW({annotations:i.annotations,generateId:t}))){let t=p(e);d.has(t)||(d.add(t),r.enqueue(e))}else i?.type==="image"?c.set(n,{kind:"image",id:o,...null!=i.data?{data:i.data}:{},...null!=i.mime_type?{mimeType:i.mime_type}:{},...null!=i.uri?{uri:i.uri}:{}}):c.set(n,{kind:"pending_model_output",id:o})}else if("thought"===a){let t=e?.signature;if(c.set(n,{kind:"reasoning",id:o,...null!=t?{signature:t}:{}}),r.enqueue({type:"reasoning-start",id:o}),Array.isArray(e?.summary))for(let t of e.summary)t?.type==="text"&&"string"==typeof t.text&&r.enqueue({type:"reasoning-delta",id:o,delta:t.text})}else if("processing_call"===a||"processing_result"===a){let t={};e?.signature!=null&&(t.signature=e.signature),null!=i&&(t.interactionId=i),"processing_call"===a?t.processingId=e?.id||o:t.processingCallId=e?.call_id||o,c.set(n,{kind:"custom",id:o,customKind:`google.${a}`,google:t})}else if("function_call"===a){let t=e?.id||o,i=e?.name??"unknown";u=!0;let a={kind:"function_call",id:o,toolCallId:t,toolName:i,argumentsAccum:"",...e?.signature!=null?{signature:e.signature}:{}};c.set(n,a),r.enqueue({type:"tool-input-start",id:t,toolName:i})}else if(null!=a&&eV.has(a)){let t="mcp_server_tool_call"===a?e?.name??"mcp_server_tool":a.replace(/_call$/,""),r=e?.id||o,i={kind:"builtin_tool_call",id:o,blockType:a,toolCallId:r,toolName:t,arguments:e?.arguments??{},callEmitted:!1};c.set(n,i)}else if(null!=a&&eJ.has(a)){let t="mcp_server_tool_result"===a?e?.name??"mcp_server_tool":a.replace(/_result$/,""),r=e?.call_id||o,i={kind:"builtin_tool_result",id:o,blockType:a,callId:r,toolName:t,result:e?.result??null,...e?.is_error!=null?{isError:e.is_error}:{},resultEmitted:!1};c.set(n,i)}else c.set(n,{kind:"unknown",id:o});break}case"step.delta":{let e=c.get(h.index);if(null==e)break;let n=h.delta?.type;if("pending_model_output"===e.kind&&("text"===n||"text_annotation"===n||"text_annotation_delta"===n)){let t={kind:"text",id:e.id,emittedSourceKeys:new Set};c.set(h.index,t),e=t,r.enqueue({type:"text-start",id:t.id})}if("image"===n&&("pending_model_output"===e.kind||"text"===e.kind||"image"===e.kind)){let t=h.delta,n={};null!=i&&(n.interactionId=i);let o=Object.keys(n).length>0?{google:n}:void 0;t?.data!=null&&t.data.length>0?r.enqueue({type:"file",mediaType:t.mime_type??"image/png",data:{type:"data",data:t.data},...o?{providerMetadata:o}:{}}):t?.uri!=null&&t.uri.length>0&&r.enqueue({type:"file",mediaType:t.mime_type??"image/png",data:{type:"url",url:new URL(t.uri)},...o?{providerMetadata:o}:{}}),"image"===e.kind&&(e.data=void 0,e.uri=void 0);break}if("video"===n&&("pending_model_output"===e.kind||"text"===e.kind)){let e=h.delta,t={};null!=i&&(t.interactionId=i);let n=Object.keys(t).length>0?{google:t}:void 0;e?.data!=null&&e.data.length>0?r.enqueue({type:"file",mediaType:e.mime_type??"video/mp4",data:{type:"data",data:e.data},...n?{providerMetadata:n}:{}}):e?.uri!=null&&e.uri.length>0&&r.enqueue({type:"file",mediaType:e.mime_type??"video/mp4",data:{type:"url",url:new URL(e.uri)},...n?{providerMetadata:n}:{}});break}let o=h.delta;if("custom"===e.kind&&(o?.type==="processing_call"||o?.type==="processing_result"))null!=o.signature&&(e.google.signature=o.signature),"processing_call"===o.type&&null!=o.id&&o.id.length>0&&(e.google.processingId=o.id),"processing_result"===o.type&&null!=o.call_id&&o.call_id.length>0&&(e.google.processingCallId=o.call_id);else if("text"===e.kind&&o?.type==="text"){let t=o.text??"";t.length>0&&r.enqueue({type:"text-delta",id:e.id,delta:t})}else if("text"===e.kind&&(o?.type==="text_annotation"||o?.type==="text_annotation_delta"))for(let n of eW({annotations:o.annotations,generateId:t})){let t=p(n);d.has(t)||(d.add(t),e.emittedSourceKeys.add(t),r.enqueue(n))}else if("image"===e.kind&&o?.type==="image")null!=o.data&&(e.data=o.data),null!=o.mime_type&&(e.mimeType=o.mime_type),null!=o.uri&&(e.uri=o.uri);else if("reasoning"===e.kind){if(o?.type==="thought_summary"){let t=o.content;t?.type==="text"&&"string"==typeof t.text&&r.enqueue({type:"reasoning-delta",id:e.id,delta:t.text})}else if(o?.type==="thought_signature"){let t=o.signature;null!=t&&(e.signature=t)}}else if("function_call"===e.kind&&o?.type==="arguments_delta"){let t="string"==typeof o.arguments?o.arguments:"";t.length>0&&(e.argumentsAccum+=t,r.enqueue({type:"tool-input-delta",id:e.toolCallId,delta:t})),null!=o.id&&o.id.length>0&&(e.toolCallId=o.id),null!=o.signature&&(e.signature=o.signature),u=!0}else"builtin_tool_call"===e.kind&&o?.type===e.blockType?(null!=o.id&&o.id.length>0&&(e.toolCallId=o.id),null!=o.arguments&&"object"==typeof o.arguments&&(e.arguments=o.arguments),null!=o.name&&"mcp_server_tool_call"===e.blockType&&(e.toolName=o.name)):"builtin_tool_result"===e.kind&&o?.type===e.blockType&&(null!=o.call_id&&o.call_id.length>0&&(e.callId=o.call_id),void 0!==o.result&&(e.result=o.result),null!=o.is_error&&(e.isError=o.is_error),null!=o.name&&"mcp_server_tool_result"===e.blockType&&(e.toolName=o.name));break}case"step.stop":{let e=c.get(h.index);if(null==e)break;if("text"===e.kind){let t=null!=i?{google:{interactionId:i}}:void 0;r.enqueue({type:"text-end",id:e.id,...t?{providerMetadata:t}:{}})}else if("reasoning"===e.kind){let t={};null!=e.signature&&(t.signature=e.signature),null!=i&&(t.interactionId=i);let n=Object.keys(t).length>0?{google:t}:void 0;r.enqueue({type:"reasoning-end",id:e.id,...n?{providerMetadata:n}:{}})}else if("image"===e.kind){let t={};null!=i&&(t.interactionId=i);let n=Object.keys(t).length>0?{google:t}:void 0;null!=e.data&&e.data.length>0?r.enqueue({type:"file",mediaType:e.mimeType??"image/png",data:{type:"data",data:e.data},...n?{providerMetadata:n}:{}}):null!=e.uri&&e.uri.length>0&&r.enqueue({type:"file",mediaType:e.mimeType??"image/png",data:{type:"url",url:new URL(e.uri)},...n?{providerMetadata:n}:{}})}else if("function_call"===e.kind){let t=e.argumentsAccum.length>0?e.argumentsAccum:"{}";r.enqueue({type:"tool-input-end",id:e.toolCallId});let n={};null!=e.signature&&(n.signature=e.signature),null!=i&&(n.interactionId=i);let o=Object.keys(n).length>0?{google:n}:void 0;r.enqueue({type:"tool-call",toolCallId:e.toolCallId,toolName:e.toolName,input:t,...o?{providerMetadata:o}:{}})}else if("custom"===e.kind)r.enqueue({type:"custom",kind:e.customKind,providerMetadata:{google:e.google}});else if("builtin_tool_call"!==e.kind||e.callEmitted){if("builtin_tool_result"===e.kind&&!e.resultEmitted)for(let n of(r.enqueue({type:"tool-result",toolCallId:e.callId,toolName:e.toolName,result:e.result??null}),e.resultEmitted=!0,eB({block:{type:e.blockType,call_id:e.callId,result:e.result},generateId:t}))){let e=p(n);d.has(e)||(d.add(e),r.enqueue(n))}}else r.enqueue({type:"tool-call",toolCallId:e.toolCallId,toolName:e.toolName,input:JSON.stringify(e.arguments??{}),providerExecuted:!0}),e.callEmitted=!0;c.delete(h.index);break}case"interaction.status_update":case"interaction.in_progress":case"interaction.requires_action":s=null!=h.status?h.status:"interaction.requires_action"===m?"requires_action":"in_progress";break;case"interaction.completed":{let e=h.interaction;e?.id!=null&&e.id.length>0&&(i=e.id),e?.status!=null&&(s=e.status),e?.usage!=null&&(a=e.usage),e?.service_tier!=null&&(l=e.service_tier);break}case"error":s="failed",r.enqueue({type:"error",error:(0,n.createProviderStreamError)({message:h.error?.message??"Unknown interaction error",type:h.event_type,code:h.error?.code??void 0,data:h})})}},flush(e){let t={unified:eK({status:s,hasFunctionCall:u}),raw:s},n=eq(a),o={google:{...null!=i?{interactionId:i}:{},...null!=l?{serviceTier:l}:{},...null!=n?{outputTokensByModality:n}:{}}};e.enqueue({type:"finish",finishReason:t,usage:eU(a),providerMetadata:o})}})}function eY({part:e,warnings:t,mediaResolution:o}){let r;if("text"===e.data.type)return{type:"text",text:e.data.text};switch((0,n.getTopLevelMediaType)(e.mediaType)){case"image":r="image";break;case"audio":r="audio";break;case"video":r="video";break;case"application":case"text":r="document";break;default:r=void 0}if(null==r)return void t.push({type:"other",message:`google.interactions: unsupported file media type "${e.mediaType}"; part dropped.`});let i=null!=o&&("image"===r||"video"===r)?{resolution:o}:{},a="video"===r?function({part:e,warnings:t}){let n=e.providerOptions?.google?.processing;return null==n?{}:"agentic"===n||"static"===n?{processing:n}:"object"!=typeof n||Array.isArray(n)||"static"!==n.type?(t.push({type:"other",message:'google.interactions: invalid providerOptions.google.processing on video file part; expected "agentic", "static", or a static processing configuration. Option dropped.'}),{}):{processing:{type:"static",..."number"==typeof n.startOffset?{start_offset:`${n.startOffset}s`}:{},..."number"==typeof n.endOffset?{end_offset:`${n.endOffset}s`}:{},..."number"==typeof n.fps?{fps:n.fps}:{}}}}({part:e,warnings:t}):{};switch(e.data.type){case"data":{let t=(0,n.resolveFullMediaType)({part:e});return{type:r,data:(0,n.convertToBase64)(e.data.data),mime_type:t,...i,...a}}case"url":return{type:r,uri:e.data.url.toString(),...(0,n.isFullMediaType)(e.mediaType)?{mime_type:e.mediaType}:{},...i,...a};case"reference":return{type:r,uri:(0,n.resolveProviderReference)({reference:e.data.reference,provider:"google"}),...(0,n.isFullMediaType)(e.mediaType)?{mime_type:e.mediaType}:{},...i,...a}}}var eZ=()=>a.z.object({modality:a.z.string().nullish(),tokens:a.z.number().nullish()}).loose(),eX=()=>a.z.object({total_input_tokens:a.z.number().nullish(),total_output_tokens:a.z.number().nullish(),total_thought_tokens:a.z.number().nullish(),total_cached_tokens:a.z.number().nullish(),total_tool_use_tokens:a.z.number().nullish(),total_tokens:a.z.number().nullish(),input_tokens_by_modality:a.z.array(eZ()).nullish(),output_tokens_by_modality:a.z.array(eZ()).nullish(),cached_tokens_by_modality:a.z.array(eZ()).nullish(),tool_use_tokens_by_modality:a.z.array(eZ()).nullish(),grounding_tool_count:a.z.array(a.z.object({type:a.z.string().nullish(),count:a.z.number().nullish()}).loose()).nullish()}).loose(),eQ=()=>a.z.enum(["in_progress","requires_action","completed","failed","cancelled","incomplete"]),e0=()=>{let e=a.z.object({type:a.z.literal("url_citation"),url:a.z.string().nullish(),title:a.z.string().nullish(),start_index:a.z.number().nullish(),end_index:a.z.number().nullish()}).loose(),t=a.z.object({type:a.z.literal("file_citation"),file_name:a.z.string().nullish(),document_uri:a.z.string().nullish(),url:a.z.string().nullish(),page_number:a.z.number().nullish(),media_id:a.z.string().nullish(),start_index:a.z.number().nullish(),end_index:a.z.number().nullish(),custom_metadata:a.z.record(a.z.string(),a.z.unknown()).nullish()}).loose(),n=a.z.object({type:a.z.literal("place_citation"),name:a.z.string().nullish(),url:a.z.string().nullish(),place_id:a.z.string().nullish(),start_index:a.z.number().nullish(),end_index:a.z.number().nullish()}).loose();return a.z.union([e,t,n,a.z.object({type:a.z.string()}).loose()])},e1=()=>a.z.object({type:a.z.string(),text:a.z.string().nullish(),data:a.z.string().nullish(),mime_type:a.z.string().nullish()}).loose(),e2=()=>{let e=a.z.object({type:a.z.literal("text"),text:a.z.string(),annotations:a.z.array(e0()).nullish()}).loose(),t=a.z.object({type:a.z.literal("image"),data:a.z.string().nullish(),mime_type:a.z.string().nullish(),resolution:a.z.enum(["low","medium","high","ultra_high"]).nullish(),uri:a.z.string().nullish()}).loose(),n=a.z.object({type:a.z.literal("video"),data:a.z.string().nullish(),mime_type:a.z.string().nullish(),uri:a.z.string().nullish()}).loose();return a.z.union([e,t,n,a.z.object({type:a.z.string()}).loose()])},e4=["google_search_call","code_execution_call","url_context_call","file_search_call","google_maps_call","mcp_server_tool_call"],e3=["google_search_result","code_execution_result","url_context_result","file_search_result","google_maps_result","mcp_server_tool_result"],e5=()=>{let e=a.z.object({type:a.z.literal("user_input"),content:a.z.array(e2()).nullish()}).loose(),t=a.z.object({type:a.z.literal("model_output"),content:a.z.array(e2()).nullish()}).loose(),n=a.z.object({type:a.z.literal("function_call"),id:a.z.string(),name:a.z.string(),arguments:a.z.record(a.z.string(),a.z.unknown()).nullish(),signature:a.z.string().nullish()}).loose(),o=a.z.object({type:a.z.literal("thought"),signature:a.z.string().nullish(),summary:a.z.array(e1()).nullish()}).loose(),r=a.z.object({type:a.z.literal("processing_call"),id:a.z.string(),signature:a.z.string().nullish()}).loose(),i=a.z.object({type:a.z.literal("processing_result"),call_id:a.z.string(),signature:a.z.string().nullish()}).loose(),s=a.z.object({type:a.z.enum(e4),id:a.z.string(),arguments:a.z.record(a.z.string(),a.z.unknown()).nullish(),name:a.z.string().nullish(),server_name:a.z.string().nullish(),search_type:a.z.string().nullish(),signature:a.z.string().nullish()}).loose(),l=a.z.object({type:a.z.enum(e3),call_id:a.z.string(),result:a.z.unknown().nullish(),is_error:a.z.boolean().nullish(),name:a.z.string().nullish(),server_name:a.z.string().nullish(),signature:a.z.string().nullish()}).loose();return a.z.union([e,t,n,o,r,i,s,l,a.z.object({type:a.z.string()}).loose()])},e6=(0,n.lazySchema)(()=>(0,n.zodSchema)(a.z.object({id:a.z.string().nullish(),created:a.z.string().nullish(),updated:a.z.string().nullish(),status:eQ(),model:a.z.string().nullish(),agent:a.z.string().nullish(),steps:a.z.array(e5()).nullish(),usage:eX().nullish(),service_tier:a.z.string().nullish(),previous_interaction_id:a.z.string().nullish(),response_modalities:a.z.array(a.z.string()).nullish()}).loose())),e9=(0,n.lazySchema)(()=>{let e,t,o,r,i,s,l,u,c,d,p,h,m,g,f,y,b,_,z,w,v,k,x,S;return(0,n.zodSchema)((e=eQ(),t=e0(),o=e1(),r=a.z.object({event_type:a.z.literal("interaction.created"),event_id:a.z.string().nullish(),interaction:a.z.object({id:a.z.string().nullish(),created:a.z.string().nullish(),model:a.z.string().nullish(),agent:a.z.string().nullish(),status:e.nullish()}).loose()}).loose(),i=a.z.object({event_type:a.z.literal("step.start"),event_id:a.z.string().nullish(),index:a.z.number(),step:e5()}).loose(),s=a.z.object({type:a.z.literal("text"),text:a.z.string()}).loose(),l=a.z.object({type:a.z.literal("thought_summary"),content:o.nullish()}).loose(),u=a.z.object({type:a.z.literal("thought_signature"),signature:a.z.string().nullish()}).loose(),c=a.z.object({type:a.z.literal("arguments_delta"),arguments:a.z.string().nullish(),id:a.z.string().nullish(),signature:a.z.string().nullish()}).loose(),d=a.z.object({type:a.z.enum(["text_annotation_delta","text_annotation"]),annotations:a.z.array(t).nullish()}).loose(),p=a.z.object({type:a.z.literal("image"),data:a.z.string().nullish(),mime_type:a.z.string().nullish(),resolution:a.z.enum(["low","medium","high","ultra_high"]).nullish(),uri:a.z.string().nullish()}).loose(),h=a.z.object({type:a.z.literal("video"),data:a.z.string().nullish(),mime_type:a.z.string().nullish(),uri:a.z.string().nullish()}).loose(),m=a.z.object({type:a.z.enum(e4),id:a.z.string().nullish(),arguments:a.z.record(a.z.string(),a.z.unknown()).nullish(),name:a.z.string().nullish(),server_name:a.z.string().nullish(),search_type:a.z.string().nullish(),signature:a.z.string().nullish()}).loose(),g=a.z.object({type:a.z.enum(e3),call_id:a.z.string().nullish(),result:a.z.unknown().nullish(),is_error:a.z.boolean().nullish(),name:a.z.string().nullish(),server_name:a.z.string().nullish(),signature:a.z.string().nullish()}).loose(),f=a.z.object({type:a.z.string()}).loose(),y=a.z.union([s,p,h,l,u,c,d,m,g,f]),b=a.z.object({event_type:a.z.literal("step.delta"),event_id:a.z.string().nullish(),index:a.z.number(),delta:y}).loose(),_=a.z.object({event_type:a.z.literal("step.stop"),event_id:a.z.string().nullish(),index:a.z.number()}).loose(),z=a.z.object({event_type:a.z.literal("interaction.status_update"),event_id:a.z.string().nullish(),interaction_id:a.z.string().nullish(),status:e.nullish()}).loose(),w=a.z.object({event_type:a.z.literal("interaction.in_progress"),event_id:a.z.string().nullish(),interaction_id:a.z.string().nullish(),status:e.nullish()}).loose(),v=a.z.object({event_type:a.z.literal("interaction.requires_action"),event_id:a.z.string().nullish(),interaction_id:a.z.string().nullish(),status:e.nullish()}).loose(),k=a.z.object({event_type:a.z.literal("interaction.completed"),event_id:a.z.string().nullish(),interaction:a.z.object({id:a.z.string().nullish(),status:e.nullish(),usage:eX().nullish(),service_tier:a.z.string().nullish()}).loose()}).loose(),x=a.z.object({event_type:a.z.literal("error"),event_id:a.z.string().nullish(),error:a.z.object({code:a.z.string().nullish(),message:a.z.string().nullish()}).loose().nullish()}).loose(),S=a.z.object({event_type:a.z.string()}).loose(),a.z.union([r,i,b,_,z,w,v,k,x,S])))}),e8=(0,n.lazySchema)(()=>(0,n.zodSchema)(a.z.object({previousInteractionId:a.z.string().nullish(),store:a.z.boolean().nullish(),agent:a.z.string().nullish(),agentConfig:a.z.union([a.z.object({type:a.z.literal("dynamic")}).loose(),a.z.object({type:a.z.literal("deep-research"),thinkingSummaries:a.z.enum(["auto","none"]).nullish(),visualization:a.z.enum(["off","auto"]).nullish(),collaborativePlanning:a.z.boolean().nullish()})]).nullish(),thinkingLevel:a.z.enum(["minimal","low","medium","high"]).nullish(),thinkingSummaries:a.z.enum(["auto","none"]).nullish(),responseFormat:a.z.array(a.z.union([a.z.object({type:a.z.literal("text"),mimeType:a.z.string().nullish(),schema:a.z.unknown().nullish()}).loose(),a.z.object({type:a.z.literal("image"),mimeType:a.z.string().nullish(),aspectRatio:a.z.enum(["1:1","2:3","3:2","3:4","4:3","4:5","5:4","9:16","16:9","21:9","1:8","8:1","1:4","4:1"]).nullish(),imageSize:a.z.enum(["1K","2K","4K","512"]).nullish()}).loose(),a.z.object({type:a.z.literal("audio"),mimeType:a.z.string().nullish()}).loose(),a.z.object({type:a.z.literal("video"),aspectRatio:a.z.enum(["16:9","9:16"]).nullish(),resolution:a.z.enum(["360p","720p","1080p","4k"]).nullish(),duration:a.z.string().nullish(),delivery:a.z.enum(["inline","uri"]).nullish(),gcsUri:a.z.string().nullish()}).loose()])).nullish(),imageConfig:a.z.object({aspectRatio:a.z.enum(["1:1","2:3","3:2","3:4","4:3","4:5","5:4","9:16","16:9","21:9","1:8","8:1","1:4","4:1"]).nullish(),imageSize:a.z.enum(["1K","2K","4K","512"]).nullish()}).nullish(),mediaResolution:a.z.enum(["low","medium","high","ultra_high"]).nullish(),responseModalities:a.z.array(a.z.enum(["text","image","audio","video","document"])).nullish(),serviceTier:a.z.enum(["flex","standard","priority"]).nullish(),systemInstruction:a.z.string().nullish(),signature:a.z.string().nullish(),interactionId:a.z.string().nullish(),pollingTimeoutMs:a.z.number().int().positive().nullish(),background:a.z.boolean().nullish(),environment:a.z.union([a.z.string(),a.z.object({type:a.z.literal("remote"),sources:a.z.array(a.z.union([a.z.object({type:a.z.literal("gcs"),source:a.z.string(),target:a.z.string().nullish()}),a.z.object({type:a.z.literal("repository"),source:a.z.string(),target:a.z.string().nullish()}),a.z.object({type:a.z.literal("inline"),content:a.z.string(),target:a.z.string()})])).nullish(),network:a.z.union([a.z.literal("disabled"),a.z.object({allowlist:a.z.array(a.z.object({domain:a.z.string(),transform:a.z.array(a.z.record(a.z.string(),a.z.string())).nullish()}))})]).nullish()})]).nullish()})));function e7({signature:e,interactionId:t,processingId:n,processingCallId:o}){let r={};return null!=e&&(r.signature=e),null!=t&&(r.interactionId=t),null!=n&&(r.processingId=n),null!=o&&(r.processingCallId=o),Object.keys(r).length>0?{providerMetadata:{google:r}}:{}}var te=new Set(["google_search_call","code_execution_call","url_context_call","file_search_call","google_maps_call","mcp_server_tool_call"]),tt=new Set(["google_search_result","code_execution_result","url_context_result","file_search_result","google_maps_result","mcp_server_tool_result"]);function tn({steps:e,generateId:t,interactionId:n}){let o=[],r=!1;if(null==e)return{content:o,hasFunctionCall:r};for(let i of e){if(null==i||"object"!=typeof i)continue;let e=i.type;if("string"==typeof e)switch(e){case"user_input":break;case"model_output":for(let e of i.content??[]){if(null==e||"object"!=typeof e)continue;let r=e.type;if("text"===r){let r=e.text??"",i=e.annotations;for(let e of(o.push({type:"text",text:r,...e7({interactionId:n})}),eW({annotations:i,generateId:t})))o.push(e)}else"image"===r?null!=e.data&&e.data.length>0?o.push({type:"file",mediaType:e.mime_type??"image/png",data:{type:"data",data:e.data},...e7({interactionId:n})}):null!=e.uri&&e.uri.length>0&&o.push({type:"file",mediaType:e.mime_type??"image/png",data:{type:"url",url:new URL(e.uri)},...e7({interactionId:n})}):"video"===r&&(null!=e.data&&e.data.length>0?o.push({type:"file",mediaType:e.mime_type??"video/mp4",data:{type:"data",data:e.data},...e7({interactionId:n})}):null!=e.uri&&e.uri.length>0&&o.push({type:"file",mediaType:e.mime_type??"video/mp4",data:{type:"url",url:new URL(e.uri)},...e7({interactionId:n})}))}break;case"thought":{let e=(Array.isArray(i.summary)?i.summary:[]).filter(e=>e?.type==="text"&&"string"==typeof e.text).map(e=>e.text).join("\n");o.push({type:"reasoning",text:e,...e7({signature:i.signature,interactionId:n})});break}case"processing_call":{let e=i.id||t();o.push({type:"custom",kind:"google.processing_call",...e7({signature:i.signature,interactionId:n,processingId:e})});break}case"processing_result":{let e=i.call_id||t();o.push({type:"custom",kind:"google.processing_result",...e7({signature:i.signature,interactionId:n,processingCallId:e})});break}case"function_call":r=!0,o.push({type:"tool-call",toolCallId:i.id,toolName:i.name,input:JSON.stringify(i.arguments??{}),...e7({signature:i.signature,interactionId:n})});break;default:if(te.has(e)){let n="mcp_server_tool_call"===e?i.name??"mcp_server_tool":e.replace(/_call$/,""),r=JSON.stringify(i.arguments??{});o.push({type:"tool-call",toolCallId:i.id||t(),toolName:n,input:r,providerExecuted:!0})}else if(tt.has(e)){let n="mcp_server_tool_result"===e?i.name??"mcp_server_tool":e.replace(/_result$/,"");for(let e of(o.push({type:"tool-result",toolCallId:i.call_id||t(),toolName:n,result:i.result??null}),eB({block:i,generateId:t})))o.push(e)}}}return{content:o,hasFunctionCall:r}}async function to({baseURL:e,interactionId:t,headers:o,fetch:r=globalThis.fetch}){if(null==t||0===t.length)return;let i=`${e}/interactions/${encodeURIComponent(t)}/cancel`;try{let e=await r(i,{method:"POST",headers:(0,n.withUserAgentSuffix)((0,n.combineHeaders)({"Content-Type":"application/json"},o),(0,n.getRuntimeEnvironmentUserAgent)()),body:"{}"});try{await e.text()}catch{}}catch{}}var tr=new Set(["completed","failed","cancelled","incomplete"]);function ti(e){return null!=e&&tr.has(e)}async function ta({baseURL:e,interactionId:t,headers:o,fetch:r,abortSignal:i,initialDelayMs:a=1e3,maxDelayMs:s=1e4,timeoutMs:u=18e5}){if(null==t||0===t.length)throw Error("google.interactions: cannot poll a background interaction without an id. The POST response did not include an interaction id.");let c=Date.now(),d=a,p=`${e}/interactions/${encodeURIComponent(t)}`,h=()=>to({baseURL:e,interactionId:t,headers:o,fetch:r});try{for(;;){if(i?.aborted)throw await h(),new DOMException("Polling was aborted","AbortError");if(Date.now()-c>u)throw Error(`google.interactions: timed out polling interaction ${t} after ${u}ms.`);await (0,n.delay)(d,{abortSignal:i});let{value:e,rawValue:a,responseHeaders:m}=await (0,n.getFromApi)({url:p,validateUrl:!1,headers:o,failedResponseHandler:l,successfulResponseHandler:(0,n.createJsonResponseHandler)(e6),abortSignal:i,fetch:r});if(ti(e.status))return{response:e,rawResponse:a,responseHeaders:m};d=Math.min(2*d,s)}}catch(e){throw(0,n.isAbortError)(e)&&await h(),e}}var ts=class e{constructor(e,t){this.specificationVersion="v4","string"==typeof e?(this.modelId=e,this.agent=void 0):"managedAgent"in e?(this.modelId=e.managedAgent,this.agent=e.managedAgent):(this.modelId=e.agent,this.agent=e.agent),this.config=t}static[i.WORKFLOW_SERIALIZE](e){return{...(0,n.serializeModelOptions)({modelId:e.modelId,config:e.config}),agent:e.agent}}static[i.WORKFLOW_DESERIALIZE](t){return new e(null!=t.agent?{agent:t.agent}:t.modelId,t.config)}get provider(){return this.config.provider}get supportedUrls(){return this.config.supportedUrls?this.config.supportedUrls():{"image/*":[/^https?:\/\/.+/],"application/pdf":[/^https?:\/\/.+/],"audio/*":[/^https?:\/\/.+/],"video/*":[/^https?:\/\/(www\.)?youtube\.com\/watch\?v=.+/,/^https?:\/\/youtu\.be\/.+/,/^gs:\/\/.+/]}}async getArgs(e){let t,o,r,i,a,s=[],l=await (0,n.parseProviderOptions)({provider:"google",providerOptions:e.providerOptions,schema:e8}),u=null!=this.agent;if(u||(null!=e.frequencyPenalty&&s.push({type:"unsupported",feature:"frequencyPenalty"}),null!=e.presencePenalty&&s.push({type:"unsupported",feature:"presencePenalty"})),null!=e.tools&&e.tools.length>0){let n=function({tools:e,toolChoice:t}){let n,o=[],r=e?.length?e:void 0;if(null==r)return{tools:void 0,toolChoice:void 0,toolWarnings:o};let i=[];for(let e of r){if("function"===e.type){i.push({type:"function",name:e.name,description:e.description??"",parameters:e.inputSchema});continue}if("provider"===e.type){let t=e.args??{};switch(e.id){case"google.google_search":{let e,n=t.searchTypes;if(null!=n&&"object"==typeof n){let t=[];null!=n.webSearch&&t.push("web_search"),null!=n.imageSearch&&t.push("image_search"),t.length>0&&(e=t)}i.push({type:"google_search",...null!=e?{search_types:e}:{}});break}case"google.code_execution":i.push({type:"code_execution"});break;case"google.url_context":i.push({type:"url_context"});break;case"google.file_search":i.push({type:"file_search",...null!=t.fileSearchStoreNames?{file_search_store_names:t.fileSearchStoreNames}:{},...null!=t.topK?{top_k:t.topK}:{},...null!=t.metadataFilter?{metadata_filter:t.metadataFilter}:{}});break;case"google.google_maps":i.push({type:"google_maps",...null!=t.latitude?{latitude:t.latitude}:{},...null!=t.longitude?{longitude:t.longitude}:{},...null!=t.enableWidget?{enable_widget:t.enableWidget}:{}});break;case"google.computer_use":i.push({type:"computer_use",environment:t.environment??"browser",...null!=t.excludedPredefinedFunctions?{excludedPredefinedFunctions:t.excludedPredefinedFunctions}:{}});break;case"google.mcp_server":i.push({type:"mcp_server",...null!=t.name?{name:t.name}:{},...null!=t.url?{url:t.url}:{},...null!=t.headers?{headers:t.headers}:{},...null!=t.allowedTools?{allowed_tools:t.allowedTools}:{}});break;case"google.retrieval":{let e=t.vertexAiSearchConfig??void 0;i.push({type:"retrieval",...null!=t.retrievalTypes?{retrieval_types:t.retrievalTypes}:{retrieval_types:["vertex_ai_search"]},...null!=e?{vertex_ai_search_config:e}:{}});break}default:o.push({type:"unsupported",feature:`provider-defined tool ${e.id}`,details:`provider-defined tool ${e.id} is not supported by google.interactions; tool dropped.`})}continue}o.push({type:"unsupported",feature:`tool of type ${e.type}`,details:"Only function tools and google.* provider-defined tools are supported by google.interactions; tool dropped."})}let a=i.some(e=>"function"===e.type);if(null!=t&&a)switch(t.type){case"auto":n="auto";break;case"required":n="any";break;case"none":n="none";break;case"tool":n={allowed_tools:{mode:"validated",tools:[t.toolName]}}}return{tools:i.length>0?i:void 0,toolChoice:n,toolWarnings:o}}({tools:e.tools,toolChoice:e.toolChoice});t=n.tools,o=n.toolChoice,s.push(...n.toolWarnings)}let c=[];if(e.responseFormat?.type==="json")if(u)s.push({type:"other",message:"google.interactions: structured output (responseFormat) is not supported when an agent is set; responseFormat will be ignored."});else{let t={type:"text",mime_type:"application/json",...null!=e.responseFormat.schema?{schema:e.responseFormat.schema}:{}};c.push(t)}if(l?.responseFormat!=null)for(let e of l.responseFormat)"text"===e.type?c.push(tl({type:"text",mime_type:e.mimeType??void 0,schema:e.schema??void 0})):"image"===e.type?c.push(tl({type:"image",mime_type:e.mimeType??void 0,aspect_ratio:e.aspectRatio??void 0,image_size:e.imageSize??void 0})):"audio"===e.type?c.push(tl({type:"audio",mime_type:e.mimeType??void 0})):"video"===e.type&&c.push(tl({type:"video",aspect_ratio:e.aspectRatio??void 0,resolution:e.resolution??void 0,duration:e.duration??void 0,delivery:e.delivery??void 0,gcs_uri:e.gcsUri??void 0}));let{input:d,systemInstruction:p,warnings:h}=function({prompt:e,previousInteractionId:t,store:o,mediaResolution:r}){let i=[],a=null!=t&&!1===o,s=null!=t&&!1!==o;a&&i.push({type:"other",message:"google.interactions: providerOptions.google.previousInteractionId was set together with store: false. These are incoherent (the prior interaction cannot be referenced when nothing was stored on the server); the full history will be sent and previous_interaction_id will still be emitted."});let l=s?function({prompt:e,previousInteractionId:t}){let n=[],o=new Set;for(let r of e){if("assistant"===r.role){if(r.content.some(e=>e.providerOptions?.google?.interactionId===t)){for(let e of r.content)"tool-call"===e.type&&o.add(e.toolCallId);continue}n.push(r);continue}if("tool"===r.role){let e=r.content.filter(e=>"tool-result"!==e.type||!o.has(e.toolCallId));if(0===e.length)continue;n.push({...r,content:e});continue}n.push(r)}return n}({prompt:e,previousInteractionId:t}):e,u=[],c=[];for(let e of l)switch(e.role){case"system":u.push(e.content);break;case"user":{let t=[];for(let n of e.content)if("text"===n.type)t.push({type:"text",text:n.text});else if("file"===n.type){let e=eY({part:n,warnings:i,mediaResolution:r});null!=e&&t.push(e)}let n=function(e){if(e.length<2)return e;let t=[];for(let n of e){let e=t[t.length-1];if("text"===n.type&&null!=e&&"text"===e.type&&null==e.annotations&&null==n.annotations){let o={type:"text",text:`${e.text}
|
|
166
|
+
${n}:`]}}({prompt:e}),v=[...w??[],...d??[]];return{args:{model:this.modelId,echo:b.echo,logit_bias:b.logitBias,suffix:b.suffix,user:b.user,max_tokens:o,temperature:r,top_p:s,frequency_penalty:u,presence_penalty:c,seed:h,...m?.[this.providerOptionsName],...m?.[i(this.providerOptionsName)],prompt:_,stop:v.length>0?v:void 0},warnings:y}}async doGenerate(e){let{args:t,warnings:o}=await this.getArgs(e),{responseHeaders:r,value:i,rawValue:a}=await (0,n.postJsonToApi)({url:this.config.url({path:"/completions",modelId:this.modelId}),headers:(0,n.combineHeaders)(this.config.headers?.(),e.headers),body:t,failedResponseHandler:this.failedResponseHandler,successfulResponseHandler:(0,n.createJsonResponseHandler)(x),abortSignal:e.abortSignal,fetch:this.config.fetch}),s=i.choices[0],l=[];return null!=s.text&&s.text.length>0&&l.push({type:"text",text:s.text}),{content:l,usage:_(i.usage),finishReason:{unified:w(s.finish_reason),raw:s.finish_reason},request:{body:t},response:{...(0,n.createLanguageModelResponseMetadata)(i),headers:r,body:a},warnings:o}}async doStream(e){let t,{args:o,warnings:r}=await this.getArgs(e),i={...o,stream:!0,stream_options:this.config.includeUsage?{include_usage:!0}:void 0},{responseHeaders:a,value:s}=await (0,n.postJsonToApi)({url:this.config.url({path:"/completions",modelId:this.modelId}),headers:(0,n.combineHeaders)(this.config.headers?.(),e.headers),body:i,failedResponseHandler:this.failedResponseHandler,successfulResponseHandler:(0,n.createEventSourceResponseHandler)(this.chunkSchema),abortSignal:e.abortSignal,fetch:this.config.fetch}),l={unified:"other",raw:void 0},u=!0;return{stream:s.pipeThrough(new TransformStream({start(e){e.enqueue({type:"stream-start",warnings:r})},transform(o,r){if(e.includeRawChunks&&r.enqueue({type:"raw",rawValue:o.rawValue}),!o.success){l={unified:"error",raw:void 0},r.enqueue({type:"error",error:o.error});return}let i=o.value;if("error"in i){l={unified:"error",raw:void 0},r.enqueue({type:"error",error:i.error});return}u&&(u=!1,r.enqueue({type:"response-metadata",...(0,n.createLanguageModelResponseMetadata)(i)}),r.enqueue({type:"text-start",id:"0"})),null!=i.usage&&(t=i.usage);let a=i.choices[0];a?.finish_reason!=null&&(l={unified:w(a.finish_reason),raw:a.finish_reason??void 0}),a?.text!=null&&r.enqueue({type:"text-delta",id:"0",delta:a.text})},flush(e){u||e.enqueue({type:"text-end",id:"0"}),e.enqueue({type:"finish",finishReason:l,usage:_(t)})}})),request:{body:i},response:{headers:a}}}};let k=r.z.looseObject({prompt_tokens:r.z.number(),completion_tokens:r.z.number(),total_tokens:r.z.number()}),x=r.z.object({id:r.z.string().nullish(),created:r.z.number().nullish(),model:r.z.string().nullish(),choices:r.z.array(r.z.object({text:r.z.string(),finish_reason:r.z.string()})),usage:k.nullish()}),S=e=>r.z.union([r.z.object({id:r.z.string().nullish(),created:r.z.number().nullish(),model:r.z.string().nullish(),choices:r.z.array(r.z.object({text:r.z.string(),finish_reason:r.z.string().nullish(),index:r.z.number()})),usage:k.nullish()}),e]),T=r.z.object({dimensions:r.z.number().optional(),user:r.z.string().optional()});var I=class e{get provider(){return this.config.provider}get maxEmbeddingsPerCall(){return this.config.maxEmbeddingsPerCall??2048}get supportsParallelCalls(){return this.config.supportsParallelCalls??!0}static[o.WORKFLOW_SERIALIZE](e){return(0,n.serializeModelOptions)({modelId:e.modelId,config:e.config})}static[o.WORKFLOW_DESERIALIZE](t){return new e(t.modelId,t.config)}constructor(e,t){this.specificationVersion="v4",this.modelId=e,this.config=t}get providerOptionsName(){return this.config.provider.split(".")[0].trim()}async doEmbed({values:e,headers:o,abortSignal:r,providerOptions:i}){let l=[],u=await (0,n.parseProviderOptions)({provider:"openai-compatible",providerOptions:i,schema:T});null!=u&&l.push({type:"deprecated",setting:"providerOptions key 'openai-compatible'",message:"Use 'openaiCompatible' instead."}),a({rawName:this.providerOptionsName,providerOptions:i,warnings:l});let c=Object.assign(u??{},await (0,n.parseProviderOptions)({provider:"openaiCompatible",providerOptions:i,schema:T})??{},await (0,n.parseProviderOptions)({provider:this.providerOptionsName,providerOptions:i,schema:T})??{});if(e.length>this.maxEmbeddingsPerCall)throw new t.TooManyEmbeddingValuesForCallError({provider:this.provider,modelId:this.modelId,maxEmbeddingsPerCall:this.maxEmbeddingsPerCall,values:e});let{responseHeaders:d,value:p,rawValue:h}=await (0,n.postJsonToApi)({url:this.config.url({path:"/embeddings",modelId:this.modelId}),headers:(0,n.combineHeaders)(this.config.headers?.(),o),body:{model:this.modelId,input:e,encoding_format:"float",dimensions:c.dimensions,user:c.user},failedResponseHandler:(0,n.createJsonErrorResponseHandler)(this.config.errorStructure??s),successfulResponseHandler:(0,n.createJsonResponseHandler)(O),abortSignal:r,fetch:this.config.fetch});return{warnings:l,embeddings:p.data.map(e=>e.embedding),usage:p.usage?{tokens:p.usage.prompt_tokens}:void 0,providerMetadata:p.providerMetadata,response:{headers:d,body:h}}}};let O=r.z.object({data:r.z.array(r.z.object({embedding:r.z.array(r.z.number())})),usage:r.z.object({prompt_tokens:r.z.number()}).nullish(),providerMetadata:r.z.record(r.z.string(),r.z.record(r.z.string(),r.z.any())).optional()});o.WORKFLOW_SERIALIZE,o.WORKFLOW_DESERIALIZE,r.z.object({data:r.z.array(r.z.object({b64_json:r.z.string()})),usage:r.z.object({input_tokens:r.z.number().nullish(),output_tokens:r.z.number().nullish(),total_tokens:r.z.number().nullish()}).nullish()});e.s(["OpenAICompatibleChatLanguageModel",0,p,"OpenAICompatibleCompletionLanguageModel",0,v,"OpenAICompatibleEmbeddingModel",0,I])},882630,e=>{"use strict";var t=e.i(296194),n=e.i(548874),o=e.i(691296),r=e.i(788147),i=e.i(853205);function a({rawFinishReason:e,hasText:t,responseFormatType:n}){return"json"===n&&"tool_calls"===e&&t}var s=class e extends r.OpenAICompatibleChatLanguageModel{static[n.WORKFLOW_SERIALIZE](e){return(0,o.serializeModelOptions)({modelId:e.modelId,config:e.config})}static[n.WORKFLOW_DESERIALIZE](t){return new e(t.modelId,t.config)}async doGenerate(e){let t=await super.doGenerate(e);return a({rawFinishReason:t.finishReason.raw,hasText:t.content.some(e=>"text"===e.type&&e.text.length>0),responseFormatType:e.responseFormat?.type})?{...t,content:t.content.filter(e=>"tool-call"!==e.type),finishReason:{...t.finishReason,unified:"stop"}}:t}async doStream(e){let t=await super.doStream(e),n=!1;return{...t,stream:t.stream.pipeThrough(new TransformStream({transform(t,o){("text-delta"===t.type&&t.delta.length>0&&(n=!0),"finish"===t.type&&a({rawFinishReason:t.finishReason.raw,hasText:n,responseFormatType:e.responseFormat?.type}))?o.enqueue({...t,finishReason:{...t.finishReason,unified:"stop"}}):e.responseFormat?.type==="json"&&n&&("tool-input-start"===t.type||"tool-input-delta"===t.type||"tool-input-end"===t.type||"tool-call"===t.type)||o.enqueue(t)}}))}}};let l={errorSchema:i.z.object({message:i.z.string(),type:i.z.string(),param:i.z.string(),code:i.z.string()}),errorToMessage:e=>e.message};function u(e){let{max_tokens:t,parallelToolCalls:n,topLogprobs:o,logitBias:r,serviceTier:i,reasoningFormat:a,promptCacheKey:s,...l}=e;return{...l,...void 0!==t&&{max_completion_tokens:t},...void 0!==n&&{parallel_tool_calls:n},...void 0!==o&&{top_logprobs:o},...void 0!==r&&{logit_bias:r},...void 0!==i&&{service_tier:i},...void 0!==a&&{reasoning_format:a},...void 0!==s&&{prompt_cache_key:s},messages:Array.isArray(e.messages)?e.messages.map(e=>{if(null==e||"object"!=typeof e||"assistant"!==e.role||!("reasoning_content"in e))return e;let{reasoning_content:t,...n}=e;return{...n,...!("reasoning"in n)&&void 0!==t?{reasoning:t}:{}}}):e.messages}}function c(e={}){let n=(0,o.withoutTrailingSlash)(e.baseURL??"https://api.cerebras.ai/v1"),r=()=>(0,o.withUserAgentSuffix)({Authorization:`Bearer ${(0,o.loadApiKey)({apiKey:e.apiKey,environmentVariableName:"CEREBRAS_API_KEY",description:"Cerebras API key"})}`,...e.headers},"ai-sdk-cerebras/3.0.60"),i=t=>new s(t,{provider:"cerebras.chat",url:({path:e})=>`${n}${e}`,headers:r,fetch:e.fetch,errorStructure:l,supportsStructuredOutputs:!0,transformRequestBody:u}),a=e=>i(e);return a.specificationVersion="v4",a.languageModel=i,a.chat=i,a.embeddingModel=e=>{throw new t.NoSuchModelError({modelId:e,modelType:"embeddingModel"})},a.textEmbeddingModel=a.embeddingModel,a.imageModel=e=>{throw new t.NoSuchModelError({modelId:e,modelType:"imageModel"})},a}c(),e.s(["createCerebras",0,c])},285346,e=>{"use strict";var t=e.i(296194),n=e.i(548874),o=e.i(691296),r=e.i(853205);let i=r.z.object({thinking:r.z.object({type:r.z.enum(["enabled","disabled"]).optional(),tokenBudget:r.z.number().optional()}).optional()}),a=r.z.object({detail:r.z.enum(["auto","low","high"]).optional()}),s=r.z.object({message:r.z.string()}),l=(0,o.createJsonErrorResponseHandler)({errorSchema:s,errorToMessage:e=>e.message});function u(e){if(null==e)return(0,o.createNullLanguageModelUsage)();let t=e.tokens,n=t.input_tokens,r=t.output_tokens;return{inputTokens:{total:n,noCache:n,cacheRead:void 0,cacheWrite:void 0},outputTokens:{total:r,text:r,reasoning:void 0},raw:e}}async function c(e){let n=[],r=[];for(let{role:i,content:s}of e)switch(i){case"system":n.push({role:"system",content:s});break;case"user":{let e=[],i=!1;for(let n of s)switch(n.type){case"text":n.text.length>0&&e.push({type:"text",text:n.text});break;case"file":{let s;if("image"===(0,o.getTopLevelMediaType)(n.mediaType)){i=!0;let r=function({part:e}){switch(e.data.type){case"url":return e.data.url.toString();case"data":return`data:${(0,o.resolveFullMediaType)({part:e})};base64,${(0,o.convertToBase64)(e.data.data)}`;case"reference":throw new t.UnsupportedFunctionalityError({functionality:"image file parts with provider references"});case"text":throw new t.UnsupportedFunctionalityError({functionality:"image file parts with text data"})}}({part:n}),s=await (0,o.parseProviderOptions)({provider:"cohere",providerOptions:n.providerOptions,schema:a})??{};e.push({type:"image_url",image_url:{url:r,...s.detail?{detail:s.detail}:{}}});break}switch(n.data.type){case"reference":throw new t.UnsupportedFunctionalityError({functionality:"file parts with provider references"});case"url":throw new t.UnsupportedFunctionalityError({functionality:"File URL data",message:"URLs should be downloaded by the AI SDK and not reach this point. This indicates a configuration issue."});case"text":s=n.data.text;break;case"data":s="string"==typeof n.data.data?n.data.data:new TextDecoder().decode(n.data.data)}r.push({data:{text:s,title:n.filename}})}}i?n.push({role:"user",content:e}):n.push({role:"user",content:e.map(e=>"text"===e.type?e.text:"").join("")});break}case"assistant":{let e="",t=[];for(let n of s)switch(n.type){case"text":e+=n.text;break;case"tool-call":t.push({id:n.toolCallId,type:"function",function:{name:n.toolName,arguments:JSON.stringify(n.input)}})}n.push({role:"assistant",content:t.length>0?void 0:e,tool_calls:t.length>0?t:void 0,tool_plan:void 0});break}case"tool":n.push(...s.filter(e=>"tool-approval-response"!==e.type).map(e=>{let t,n=e.output;switch(n.type){case"text":case"error-text":t=n.value;break;case"execution-denied":t=n.reason??"Tool call execution denied.";break;case"content":case"json":case"error-json":t=JSON.stringify(n.value)}return{role:"tool",content:t,tool_call_id:e.toolCallId}}));break;default:throw Error(`Unsupported role: ${i}`)}return{messages:n,documents:r,warnings:[]}}function d(e){switch(e){case"COMPLETE":case"STOP_SEQUENCE":return"stop";case"MAX_TOKENS":return"length";case"ERROR":return"error";case"TOOL_CALL":return"tool-calls";default:return"other"}}var p=class e{static[n.WORKFLOW_SERIALIZE](e){return(0,o.serializeModelOptions)({modelId:e.modelId,config:e.config})}static[n.WORKFLOW_DESERIALIZE](t){return new e(t.modelId,t.config)}constructor(e,t){this.specificationVersion="v4",this.supportedUrls={"image/*":[/^https?:\/\/.*$/]},this.modelId=e,this.config=t}get provider(){return this.config.provider}async getArgs({prompt:e,maxOutputTokens:n,temperature:r,topP:a,topK:s,frequencyPenalty:l,presencePenalty:u,stopSequences:d,responseFormat:p,seed:h,reasoning:m,tools:g,toolChoice:f,providerOptions:y}){let b=[],_=await (0,o.parseProviderOptions)({provider:"cohere",providerOptions:y,schema:i})??{},{messages:w,documents:z,warnings:v}=await c(e),{tools:k,toolChoice:x,toolWarnings:S}=function({tools:e,toolChoice:n}){e=e?.length?e:void 0;let o=[];if(null==e)return{tools:void 0,toolChoice:void 0,toolWarnings:o};let r=[];for(let t of e)"provider"===t.type?o.push({type:"unsupported",feature:`provider-defined tool ${t.id}`}):r.push({type:"function",function:{name:t.name,description:t.description,parameters:t.inputSchema}});if(null==n)return{tools:r,toolChoice:void 0,toolWarnings:o};let i=n.type;switch(i){case"auto":return{tools:r,toolChoice:void 0,toolWarnings:o};case"none":return{tools:r,toolChoice:"NONE",toolWarnings:o};case"required":return{tools:r,toolChoice:"REQUIRED",toolWarnings:o};case"tool":return{tools:r.filter(e=>e.function.name===n.toolName),toolChoice:"REQUIRED",toolWarnings:o};default:throw new t.UnsupportedFunctionalityError({functionality:`tool choice type: ${i}`})}}({tools:g,toolChoice:f});return b.push(...S,...v),{args:{model:this.modelId,frequency_penalty:l,presence_penalty:u,max_tokens:n,temperature:r,p:a,k:s,seed:h,stop_sequences:d,response_format:p?.type==="json"?{type:"json_object",json_schema:p.schema}:void 0,messages:w,tools:k,tool_choice:x,...z.length>0&&{documents:z},...function({reasoning:e,cohereOptions:t,warnings:n}){if(t.thinking)return{thinking:{type:t.thinking.type??"enabled",token_budget:t.thinking.tokenBudget}};if(!(0,o.isCustomReasoning)(e))return{};if("none"===e)return{thinking:{type:"disabled"}};let r=(0,o.mapReasoningToProviderBudget)({reasoning:e,maxOutputTokens:32768,maxReasoningBudget:32768,warnings:n});return null==r?{}:{thinking:{type:"enabled",token_budget:r}}}({reasoning:m,cohereOptions:_,warnings:b})},warnings:b}}async doGenerate(e){let{args:t,warnings:n}=await this.getArgs(e),{responseHeaders:r,value:i,rawValue:a}=await (0,o.postJsonToApi)({url:`${this.config.baseURL}/chat`,headers:(0,o.combineHeaders)(this.config.headers?.(),e.headers),body:t,failedResponseHandler:l,successfulResponseHandler:(0,o.createJsonResponseHandler)(m),abortSignal:e.abortSignal,fetch:this.config.fetch}),s=[];for(let e of i.message.content??[]){if("text"===e.type&&e.text.length>0){s.push({type:"text",text:e.text});continue}if("thinking"===e.type&&e.thinking.length>0){s.push({type:"reasoning",text:e.thinking});continue}}for(let e of i.message.citations??[])s.push({type:"source",sourceType:"document",id:this.config.generateId(),mediaType:"text/plain",title:e.sources[0]?.document?.title||"Document",providerMetadata:{cohere:{start:e.start,end:e.end,text:e.text,sources:e.sources,...e.type&&{citationType:e.type}}}});for(let e of i.message.tool_calls??[])s.push({type:"tool-call",toolCallId:e.id,toolName:e.function.name,input:e.function.arguments.replace(/^null$/,"{}")});return{content:s,finishReason:{unified:d(i.finish_reason),raw:i.finish_reason??void 0},usage:u(i.usage),request:{body:t},response:{id:i.generation_id??void 0,headers:r,body:a},warnings:n}}async doStream(e){let t,{args:n,warnings:r}=await this.getArgs(e),{responseHeaders:i,value:a}=await (0,o.postJsonToApi)({url:`${this.config.baseURL}/chat`,headers:(0,o.combineHeaders)(this.config.headers?.(),e.headers),body:{...n,stream:!0},failedResponseHandler:l,successfulResponseHandler:(0,o.createEventSourceResponseHandler)(g),abortSignal:e.abortSignal,fetch:this.config.fetch}),s={unified:"other",raw:void 0},c=null,p=!1;return{stream:a.pipeThrough(new TransformStream({start(e){e.enqueue({type:"stream-start",warnings:r})},async transform(n,r){if(e.includeRawChunks&&r.enqueue({type:"raw",rawValue:n.rawValue}),!n.success){s={unified:"error",raw:void 0},r.enqueue({type:"error",error:n.error});return}let i=n.value;switch(i.type){case"content-start":if("thinking"===i.delta.message.content.type){r.enqueue({type:"reasoning-start",id:String(i.index)}),p=!0;return}r.enqueue({type:"text-start",id:String(i.index)});return;case"content-delta":if("thinking"in i.delta.message.content)return void r.enqueue({type:"reasoning-delta",id:String(i.index),delta:i.delta.message.content.thinking});r.enqueue({type:"text-delta",id:String(i.index),delta:i.delta.message.content.text});return;case"content-end":if(p){r.enqueue({type:"reasoning-end",id:String(i.index)}),p=!1;return}r.enqueue({type:"text-end",id:String(i.index)});return;case"tool-call-start":{let e=i.delta.message.tool_calls.id,t=i.delta.message.tool_calls.function.name,n=i.delta.message.tool_calls.function.arguments;c={id:e,name:t,arguments:n,hasFinished:!1},r.enqueue({type:"tool-input-start",id:e,toolName:t}),n.length>0&&r.enqueue({type:"tool-input-delta",id:e,delta:n});return}case"tool-call-delta":if(c&&!c.hasFinished){let e=i.delta.message.tool_calls.function.arguments;c.arguments+=e,r.enqueue({type:"tool-input-delta",id:c.id,delta:e})}return;case"tool-call-end":c&&!c.hasFinished&&(r.enqueue({type:"tool-input-end",id:c.id}),r.enqueue({type:"tool-call",toolCallId:c.id,toolName:c.name,input:JSON.stringify(await (0,o.parseJSON)({text:c.arguments?.trim()||"{}"}))}),c.hasFinished=!0,c=null);return;case"message-start":r.enqueue({type:"response-metadata",id:i.id??void 0});return;case"message-end":s={unified:d(i.delta.finish_reason),raw:i.delta.finish_reason},t=i.delta.usage;return}},flush(e){e.enqueue({type:"finish",finishReason:s,usage:u(t)})}})),request:{body:{...n,stream:!0}},response:{headers:i}}}};let h=r.z.looseObject({billed_units:r.z.looseObject({input_tokens:r.z.number(),output_tokens:r.z.number()}).nullish(),tokens:r.z.looseObject({input_tokens:r.z.number(),output_tokens:r.z.number()}),cached_tokens:r.z.number().nullish()}),m=r.z.object({generation_id:r.z.string().nullish(),message:r.z.object({role:r.z.string(),content:r.z.array(r.z.union([r.z.object({type:r.z.literal("text"),text:r.z.string()}),r.z.object({type:r.z.literal("thinking"),thinking:r.z.string()})])).nullish(),tool_plan:r.z.string().nullish(),tool_calls:r.z.array(r.z.object({id:r.z.string(),type:r.z.literal("function"),function:r.z.object({name:r.z.string(),arguments:r.z.string()})})).nullish(),citations:r.z.array(r.z.object({start:r.z.number(),end:r.z.number(),text:r.z.string(),sources:r.z.array(r.z.object({type:r.z.string().optional(),id:r.z.string().optional(),document:r.z.object({id:r.z.string().optional(),text:r.z.string(),title:r.z.string()})})),type:r.z.string().optional()})).nullish()}),finish_reason:r.z.string(),usage:h}),g=r.z.discriminatedUnion("type",[r.z.object({type:r.z.literal("citation-start")}),r.z.object({type:r.z.literal("citation-end")}),r.z.object({type:r.z.literal("content-start"),index:r.z.number(),delta:r.z.object({message:r.z.object({content:r.z.union([r.z.object({type:r.z.literal("text"),text:r.z.string()}),r.z.object({type:r.z.literal("thinking"),thinking:r.z.string()})])})})}),r.z.object({type:r.z.literal("content-delta"),index:r.z.number(),delta:r.z.object({message:r.z.object({content:r.z.union([r.z.object({text:r.z.string()}),r.z.object({thinking:r.z.string()})])})})}),r.z.object({type:r.z.literal("content-end"),index:r.z.number()}),r.z.object({type:r.z.literal("message-start"),id:r.z.string().nullish()}),r.z.object({type:r.z.literal("message-end"),delta:r.z.object({finish_reason:r.z.string(),usage:h})}),r.z.object({type:r.z.literal("tool-plan-delta"),delta:r.z.object({message:r.z.object({tool_plan:r.z.string()})})}),r.z.object({type:r.z.literal("tool-call-start"),delta:r.z.object({message:r.z.object({tool_calls:r.z.object({id:r.z.string(),type:r.z.literal("function"),function:r.z.object({name:r.z.string(),arguments:r.z.string()})})})})}),r.z.object({type:r.z.literal("tool-call-delta"),delta:r.z.object({message:r.z.object({tool_calls:r.z.object({function:r.z.object({arguments:r.z.string()})})})})}),r.z.object({type:r.z.literal("tool-call-end")})]),f=r.z.object({inputType:r.z.enum(["search_document","search_query","classification","clustering"]).optional(),truncate:r.z.enum(["NONE","START","END"]).optional(),outputDimension:r.z.union([r.z.literal(256),r.z.literal(512),r.z.literal(1024),r.z.literal(1536)]).optional()});var y=class e{static[n.WORKFLOW_SERIALIZE](e){return(0,o.serializeModelOptions)({modelId:e.modelId,config:e.config})}static[n.WORKFLOW_DESERIALIZE](t){return new e(t.modelId,t.config)}constructor(e,t){this.specificationVersion="v4",this.maxEmbeddingsPerCall=96,this.supportsParallelCalls=!0,this.modelId=e,this.config=t}get provider(){return this.config.provider}async doEmbed({values:e,headers:n,abortSignal:r,providerOptions:i}){let a=await (0,o.parseProviderOptions)({provider:"cohere",providerOptions:i,schema:f});if(e.length>this.maxEmbeddingsPerCall)throw new t.TooManyEmbeddingValuesForCallError({provider:this.provider,modelId:this.modelId,maxEmbeddingsPerCall:this.maxEmbeddingsPerCall,values:e});let{responseHeaders:s,value:u,rawValue:c}=await (0,o.postJsonToApi)({url:`${this.config.baseURL}/embed`,headers:(0,o.combineHeaders)(this.config.headers?.(),n),body:{model:this.modelId,embedding_types:["float"],texts:e,input_type:a?.inputType??"search_query",truncate:a?.truncate,output_dimension:a?.outputDimension},failedResponseHandler:l,successfulResponseHandler:(0,o.createJsonResponseHandler)(b),abortSignal:r,fetch:this.config.fetch});return{warnings:[],embeddings:u.embeddings.float,usage:{tokens:u.meta.billed_units.input_tokens},response:{headers:s,body:c}}}};let b=r.z.object({embeddings:r.z.object({float:r.z.array(r.z.array(r.z.number()))}),meta:r.z.object({billed_units:r.z.object({input_tokens:r.z.number()})})}),_=(0,o.lazySchema)(()=>(0,o.zodSchema)(r.z.object({id:r.z.string().nullish(),results:r.z.array(r.z.object({index:r.z.number(),relevance_score:r.z.number()})),meta:r.z.any()}))),w=(0,o.lazySchema)(()=>(0,o.zodSchema)(r.z.object({maxTokensPerDoc:r.z.number().optional(),priority:r.z.number().optional()})));var z=class{constructor(e,t){this.specificationVersion="v4",this.modelId=e,this.config=t}get provider(){return this.config.provider}async doRerank({documents:e,headers:t,query:n,topN:r,abortSignal:i,providerOptions:a}){let s=await (0,o.parseProviderOptions)({provider:"cohere",providerOptions:a,schema:w}),u=[];"object"===e.type&&u.push({type:"compatibility",feature:"object documents",details:"Object documents are converted to strings."});let{responseHeaders:c,value:d,rawValue:p}=await (0,o.postJsonToApi)({url:`${this.config.baseURL}/rerank`,headers:(0,o.combineHeaders)(this.config.headers(),t),body:{model:this.modelId,query:n,documents:"text"===e.type?e.values:e.values.map(e=>JSON.stringify(e)),top_n:r,max_tokens_per_doc:s?.maxTokensPerDoc,priority:s?.priority},failedResponseHandler:l,successfulResponseHandler:(0,o.createJsonResponseHandler)(_),abortSignal:i,fetch:this.config.fetch});return{ranking:d.results.map(e=>({index:e.index,relevanceScore:e.relevance_score})),warnings:u,response:{id:d.id??void 0,headers:c,body:p}}}};function v(e={}){let n=(0,o.withoutTrailingSlash)(e.baseURL)??"https://api.cohere.com/v2",r=()=>(0,o.withUserAgentSuffix)({Authorization:`Bearer ${(0,o.loadApiKey)({apiKey:e.apiKey,environmentVariableName:"COHERE_API_KEY",description:"Cohere"})}`,...e.headers},"ai-sdk-cohere/4.0.53"),i=t=>new p(t,{provider:"cohere.chat",baseURL:n,headers:r,fetch:e.fetch,generateId:e.generateId??o.generateId}),a=t=>new y(t,{provider:"cohere.textEmbedding",baseURL:n,headers:r,fetch:e.fetch}),s=t=>new z(t,{provider:"cohere.reranking",baseURL:n,headers:r,fetch:e.fetch}),l=function(e){if(new.target)throw Error("The Cohere model function cannot be called with the new keyword.");return i(e)};return l.specificationVersion="v4",l.languageModel=i,l.embedding=a,l.embeddingModel=a,l.textEmbedding=a,l.textEmbeddingModel=a,l.reranking=s,l.rerankingModel=s,l.imageModel=e=>{throw new t.NoSuchModelError({modelId:e,modelType:"imageModel"})},l}v(),e.s(["createCohere",0,v])},885612,e=>{"use strict";var t=e.i(788147),n=e.i(548874),o=e.i(691296),r=e.i(853205);let i=(0,o.lazySchema)(()=>(0,o.zodSchema)(r.z.looseObject({negative_prompt:r.z.string().nullish(),num_inference_steps:r.z.number().nullish(),guidance_scale:r.z.number().nullish(),guidance:r.z.number().nullish(),response_format:r.z.enum(["b64_json"]).nullish(),quality:r.z.string().nullish(),style:r.z.string().nullish(),user:r.z.string().nullish()})));var a=class e{get supportsFileInputs(){return!!["stabilityai/sd3.5","black-forest-labs/FLUX-1.1-pro","black-forest-labs/FLUX-1-schnell","black-forest-labs/FLUX-1-dev","black-forest-labs/FLUX-pro","black-forest-labs/FLUX.1-Kontext-dev","black-forest-labs/FLUX.1-Kontext-pro","Qwen/Qwen-Image-Edit","stabilityai/sd3.5-medium","stabilityai/sdxl-turbo"].includes(this.modelId)||void 0}get supportsMaskInputs(){return this.supportsFileInputs}get provider(){return this.config.provider}static[n.WORKFLOW_SERIALIZE](e){return(0,o.serializeModelOptions)({modelId:e.modelId,config:e.config})}static[n.WORKFLOW_DESERIALIZE](t){return new e(t.modelId,t.config)}constructor(e,t){this.modelId=e,this.config=t,this.specificationVersion="v4",this.maxImagesPerCall=1}async doGenerate({prompt:e,n:t,size:n,aspectRatio:r,seed:a,providerOptions:p,headers:h,abortSignal:m,files:g,mask:f}){let y=[],b=this.config._internal?.currentDate?.()??new Date,_=await (0,o.parseProviderOptions)({provider:"deepinfra",providerOptions:p,schema:i});if(null!=g&&g.length>0){let{value:r,responseHeaders:i}=await (0,o.postFormDataToApi)({url:this.getEditUrl(),headers:(0,o.combineHeaders)(this.config.headers?.(),h),formData:(0,o.convertToFormData)({model:this.modelId,prompt:e,image:await Promise.all(g.map(e=>d(e))),mask:null!=f?await d(f):void 0,n:t,size:n,..._},{useArrayBrackets:!1}),failedResponseHandler:(0,o.createJsonErrorResponseHandler)({errorSchema:u,errorToMessage:e=>e.error?.message??"Unknown error"}),successfulResponseHandler:(0,o.createJsonResponseHandler)(c),abortSignal:m,fetch:this.config.fetch});return{images:r.data.map(e=>e.b64_json),warnings:y,response:{timestamp:b,modelId:this.modelId,headers:i}}}let w=n?.split("x"),{value:z,responseHeaders:v}=await (0,o.postJsonToApi)({url:`${this.config.baseURL}/${this.modelId}`,headers:(0,o.combineHeaders)(this.config.headers?.(),h),body:{prompt:e,num_images:t,...r&&{aspect_ratio:r},...w&&{width:w[0],height:w[1]},...null!=a&&{seed:a},..._},failedResponseHandler:(0,o.createJsonErrorResponseHandler)({errorSchema:s,errorToMessage:e=>e.detail.error}),successfulResponseHandler:(0,o.createJsonResponseHandler)(l),abortSignal:m,fetch:this.config.fetch});return{images:z.images.map(e=>e.replace(/^data:image\/\w+;base64,/,"")),warnings:y,response:{timestamp:b,modelId:this.modelId,headers:v}}}getEditUrl(){return`${this.config.baseURL.replace("/inference","/openai")}/images/edits`}};let s=r.z.object({detail:r.z.object({error:r.z.string()})}),l=r.z.object({images:r.z.array(r.z.string())}),u=r.z.object({error:r.z.object({message:r.z.string()}).optional()}),c=r.z.object({data:r.z.array(r.z.object({b64_json:r.z.string()}))});async function d(e){return"url"===e.type?(0,o.downloadBlob)(e.url):new Blob([e.data instanceof Uint8Array?e.data:(0,o.convertBase64ToUint8Array)(e.data)],{type:e.mediaType})}var p=class e extends t.OpenAICompatibleChatLanguageModel{static[n.WORKFLOW_SERIALIZE](e){return(0,o.serializeModelOptions)({modelId:e.modelId,config:e.config})}static[n.WORKFLOW_DESERIALIZE](t){return new e(t.modelId,t.config)}fixUsageForGeminiModels(e){if(!e||!e.completion_tokens_details?.reasoning_tokens)return e;let t=e.completion_tokens??0,n=e.completion_tokens_details.reasoning_tokens;return n>t?{...e,completion_tokens:t+n,total_tokens:null!=e.total_tokens?e.total_tokens+n:void 0}:e}async doGenerate(e){let t=await super.doGenerate(e);if(t.usage?.raw){let e=this.fixUsageForGeminiModels(t.usage.raw);if(e!==t.usage.raw){let n=e.prompt_tokens??0,o=e.completion_tokens??0,r=e.prompt_tokens_details?.cached_tokens??0,i=e.completion_tokens_details?.reasoning_tokens??0;return{...t,usage:{inputTokens:{total:n,noCache:n-r,cacheRead:r,cacheWrite:void 0},outputTokens:{total:o,text:o-i,reasoning:i},raw:e}}}}return t}async doStream(e){let t=await super.doStream(e),n=t.stream,o=this.fixUsageForGeminiModels.bind(this),r=new ReadableStream({async start(e){let t=n.getReader();try{for(;;){let{done:n,value:r}=await t.read();if(n)break;if("finish"===r.type&&r.usage?.raw){let t=o(r.usage.raw);if(t!==r.usage.raw){let n=t.prompt_tokens??0,o=t.completion_tokens??0,i=t.prompt_tokens_details?.cached_tokens??0,a=t.completion_tokens_details?.reasoning_tokens??0;e.enqueue({...r,usage:{inputTokens:{total:n,noCache:n-i,cacheRead:i,cacheWrite:void 0},outputTokens:{total:o,text:o-a,reasoning:a},raw:t}})}else e.enqueue(r)}else e.enqueue(r)}e.close()}catch(t){e.error(t)}}});return{...t,stream:r}}};function h(e={}){let n=(0,o.withoutTrailingSlash)(e.baseURL??"https://api.deepinfra.com/v1"),r=()=>(0,o.withUserAgentSuffix)({Authorization:`Bearer ${(0,o.loadApiKey)({apiKey:e.apiKey,environmentVariableName:"DEEPINFRA_API_KEY",description:"DeepInfra's API key"})}`,...e.headers},"ai-sdk-deepinfra/3.0.60"),i=t=>({provider:`deepinfra.${t}`,url:({path:e})=>`${n}/openai${e}`,headers:r,fetch:e.fetch}),s=e=>new p(e,{...i("chat"),supportsStructuredOutputs:!0}),l=e=>new t.OpenAICompatibleEmbeddingModel(e,i("embedding")),u=e=>new a(e,{...i("image"),baseURL:n?`${n}/inference`:"https://api.deepinfra.com/v1/inference"}),c=e=>s(e);return c.specificationVersion="v4",c.completionModel=e=>new t.OpenAICompatibleCompletionLanguageModel(e,i("completion")),c.chatModel=s,c.image=u,c.imageModel=u,c.languageModel=s,c.embeddingModel=l,c.textEmbeddingModel=l,c}h(),e.s(["createDeepInfra",0,h])},527133,e=>{"use strict";var t=e.i(296194),n=e.i(691296),o=e.i(548874),r=e.i(853205);let i=r.z.object({imageDetail:r.z.enum(["low","high","original","auto"]).optional(),fileData:r.z.literal(!0).optional()}),a=r.z.object({logprobs:r.z.boolean().optional(),topLogprobs:r.z.number().int().min(0).max(20).optional(),userId:r.z.string().regex(/^[a-zA-Z0-9_-]+$/,"userId must match /^[a-zA-Z0-9_-]+$/").max(512,"userId must be at most 512 characters long").optional(),thinking:r.z.object({type:r.z.enum(["adaptive","enabled","disabled"]).optional()}).optional(),reasoningEffort:r.z.enum(["low","medium","high","xhigh","max"]).optional(),strictJsonSchema:r.z.boolean().optional()}),s=r.z.object({name:r.z.string().optional()}).extend({prefix:r.z.literal(!0).optional()});function l(e){return e.includes("deepseek-v4")||e.startsWith("deepseek-flash")||e.startsWith("deepseek-pro")}let u=new Set(["image/gif","image/jpeg","image/jpg","image/png","image/webp"]);function c(e){let o=(0,n.resolveFullMediaType)({part:e});if(!u.has(o))throw new t.UnsupportedFunctionalityError({functionality:`DeepSeek image media type ${o}`,message:"DeepSeek supports JPEG, PNG, GIF, and WebP image inputs."});return o}function d({url:e,prompt:n}){if(e.length>8192)throw new t.InvalidPromptError({prompt:n,message:"DeepSeek image URLs must not exceed 8192 characters."})}async function p({prompt:e,responseFormat:o,modelId:r,providerOptionsName:a="deepseek",supportsAssistantPrefixCompletion:u=!1,supportsStructuredOutputs:h=!1}){let m=l(r),g=[],f=[];o?.type==="json"&&(null==o.schema?g.push({role:"system",content:"Return JSON."}):h||(g.push({role:"system",content:"Return JSON that conforms to the following schema: "+JSON.stringify(o.schema)}),f.push({type:"compatibility",feature:"responseFormat JSON schema",details:"JSON response schema is injected into the system message."})));let y=-1;for(let t=e.length-1;t>=0;t--)if("user"===e[t].role){y=t;break}let b=-1;for(let{role:o,content:r,providerOptions:l}of e){b++;let p=await (0,n.parseProviderOptions)({provider:a,providerOptions:l,schema:s});if(p?.prefix===!0&&"assistant"!==o)throw new t.InvalidPromptError({prompt:e,message:"DeepSeek assistant prefix completion requires `prefix: true` on an assistant message."});switch(o){case"system":g.push({role:"system",content:r,...p?.name!=null&&{name:p.name}});break;case"user":{if(!r.some(e=>"file"===e.type&&("reference"===e.data.type||"url"===e.data.type||"data"===e.data.type)&&"image"===(0,n.getTopLevelMediaType)(e.mediaType))){let e="";for(let t of r)"text"===t.type?e+=t.text:f.push({type:"unsupported",feature:`user message part type: ${t.type}`});g.push({role:"user",content:e,...p?.name!=null&&{name:p.name}});break}let o=[];for(let s of r)if("text"===s.type)o.push({type:"text",text:s.text});else if("file"===s.type&&"image"===(0,n.getTopLevelMediaType)(s.mediaType)){let r=await (0,n.parseProviderOptions)({provider:a,providerOptions:s.providerOptions,schema:i});if("reference"===s.data.type)o.push({type:"file",file_id:(0,n.resolveProviderReference)({reference:s.data.reference,provider:"deepseek"})});else if("url"===s.data.type||"data"===s.data.type){let i=c(s);if("url"===s.data.type){let n=s.data.url.toString();if(d({url:n,prompt:e}),r?.fileData===!0)throw new t.InvalidPromptError({prompt:e,message:"DeepSeek `fileData` image parts require inline data, not a URL."});o.push({type:"image_url",image_url:{url:n,...r?.imageDetail!=null&&{detail:r.imageDetail}}})}else{let a=`data:${"image/jpg"===i?"image/jpeg":i};base64,${(0,n.convertToBase64)(s.data.data)}`;if(r?.fileData===!0){if(null!=r.imageDetail)throw new t.InvalidPromptError({prompt:e,message:"DeepSeek `imageDetail` cannot be combined with `fileData`."});o.push({type:"file",file_data:a,...null!=s.filename&&{filename:s.filename}})}else o.push({type:"image_url",image_url:{url:a,...r?.imageDetail!=null&&{detail:r.imageDetail}}})}}else f.push({type:"unsupported",feature:`user message part type: ${s.type}`})}else f.push({type:"unsupported",feature:`user message part type: ${s.type}`});g.push({role:"user",content:o,...p?.name!=null&&{name:p.name}});break}case"assistant":{let n;if(p?.prefix===!0){if(b!==e.length-1)throw new t.InvalidPromptError({prompt:e,message:"DeepSeek assistant prefix completion requires the prefixed assistant message to be the final message."});if(!u)throw new t.UnsupportedFunctionalityError({functionality:"DeepSeek assistant prefix completion",message:"DeepSeek assistant prefix completion requires a beta base URL ending in `/beta`."})}let o="",i=[];for(let e of r)switch(e.type){case"text":o+=e.text;break;case"reasoning":if(b<=y&&!m)break;null==n?n=e.text:n+=e.text;break;case"tool-call":i.push({id:e.toolCallId,type:"function",function:{name:e.toolName,arguments:JSON.stringify(e.input)}})}g.push({role:"assistant",content:o,...p?.name!=null&&{name:p.name},...p?.prefix===!0&&{prefix:!0},reasoning_content:n??(m?"":void 0),tool_calls:i.length>0?i:void 0});break}case"tool":for(let t of(p?.name!=null&&f.push({type:"unsupported",feature:"message name on tool messages"}),r)){let o;if("tool-approval-response"===t.type)continue;let r=t.output;switch(r.type){case"text":case"error-text":o=r.value;break;case"execution-denied":o=r.reason??"Tool call execution denied.";break;case"json":case"error-json":o=JSON.stringify(r.value);break;case"content":if(!r.value.some(e=>"file"===e.type&&("reference"===e.data.type||"url"===e.data.type||"data"===e.data.type)&&"image"===(0,n.getTopLevelMediaType)(e.mediaType))){o=JSON.stringify(r.value);break}for(let t of(o=[],r.value))if("text"===t.type)o.push({type:"text",text:t.text});else if("file"===t.type&&("reference"===t.data.type||"url"===t.data.type||"data"===t.data.type)&&"image"===(0,n.getTopLevelMediaType)(t.mediaType)){let r;if("reference"===t.data.type){o.push({type:"file",file_id:(0,n.resolveProviderReference)({reference:t.data.reference,provider:"deepseek"})});continue}let s=await (0,n.parseProviderOptions)({provider:a,providerOptions:t.providerOptions,schema:i}),l=c(t);"url"===t.data.type?d({url:r=t.data.url.toString(),prompt:e}):r=`data:${"image/jpg"===l?"image/jpeg":l};base64,${(0,n.convertToBase64)(t.data.data)}`,o.push({type:"image_url",image_url:{url:r,...s?.imageDetail!=null&&{detail:s.imageDetail}}})}else f.push({type:"unsupported",feature:`tool result content part type: ${t.type}`})}g.push({role:"tool",tool_call_id:t.toolCallId,content:o})}break;default:f.push({type:"unsupported",feature:`message role: ${o}`})}}return{messages:g,warnings:f}}function h(e){if(null==e)return(0,n.createNullLanguageModelUsage)();let t=e.prompt_tokens??0,o=e.completion_tokens??0,r=e.prompt_cache_hit_tokens??e.prompt_tokens_details?.cached_tokens??0,i=e.completion_tokens_details?.reasoning_tokens??0;return{inputTokens:{total:t,noCache:t-r,cacheRead:r,cacheWrite:void 0},outputTokens:{total:o,text:Math.max(0,o-i),reasoning:i},raw:e}}let m=r.z.looseObject({prompt_tokens:r.z.number().nullish(),completion_tokens:r.z.number().nullish(),prompt_cache_hit_tokens:r.z.number().nullish(),prompt_cache_miss_tokens:r.z.number().nullish(),total_tokens:r.z.number().nullish(),prompt_tokens_details:r.z.looseObject({cached_tokens:r.z.number().nullish()}).nullish(),completion_tokens_details:r.z.looseObject({reasoning_tokens:r.z.number().nullish()}).nullish()}).nullish(),g=r.z.object({error:r.z.object({message:r.z.string(),type:r.z.string().nullish(),param:r.z.any().nullish(),code:r.z.union([r.z.string(),r.z.number()]).nullish()})}),f=r.z.object({token:r.z.string(),logprob:r.z.number(),bytes:r.z.array(r.z.number()).nullable(),top_logprobs:r.z.array(r.z.object({token:r.z.string(),logprob:r.z.number(),bytes:r.z.array(r.z.number()).nullable()}))}),y=r.z.object({content:r.z.array(f).nullish(),reasoning_content:r.z.array(f).nullish()}).nullish(),b=r.z.object({id:r.z.string().nullish(),created:r.z.number().nullish(),model:r.z.string().nullish(),object:r.z.literal("chat.completion").nullish(),system_fingerprint:r.z.string().nullish(),choices:r.z.array(r.z.object({index:r.z.number().nullish(),message:r.z.object({role:r.z.literal("assistant").nullish(),content:r.z.string().nullish(),reasoning_content:r.z.string().nullish(),tool_calls:r.z.array(r.z.object({id:r.z.string().nullish(),type:r.z.literal("function").nullish(),function:r.z.object({name:r.z.string(),arguments:r.z.string()})})).nullish()}),logprobs:y,finish_reason:r.z.string().nullish()})),usage:m}),_=(0,n.lazySchema)(()=>(0,n.zodSchema)(r.z.union([r.z.object({id:r.z.string().nullish(),created:r.z.number().nullish(),model:r.z.string().nullish(),object:r.z.literal("chat.completion.chunk").nullish(),system_fingerprint:r.z.string().nullish(),choices:r.z.array(r.z.object({index:r.z.number().nullish(),delta:r.z.object({role:r.z.enum(["assistant"]).nullish(),content:r.z.string().nullish(),reasoning_content:r.z.string().nullish(),tool_calls:r.z.array(r.z.object({index:r.z.number(),id:r.z.string().nullish(),type:r.z.literal("function").nullish(),function:r.z.object({name:r.z.string().nullish(),arguments:r.z.string().nullish()})})).nullish()}).nullish(),logprobs:y,finish_reason:r.z.string().nullish()})),usage:m}),g])));function w(e){switch(e){case"stop":return"stop";case"length":return"length";case"content_filter":return"content-filter";case"tool_calls":return"tool-calls";case"insufficient_system_resource":return"error";default:return"other"}}var z=class e{static[o.WORKFLOW_SERIALIZE](e){return(0,n.serializeModelOptions)({modelId:e.modelId,config:e.config})}static[o.WORKFLOW_DESERIALIZE](t){return new e(t.modelId,t.config)}constructor(e,t){this.specificationVersion="v4",this.supportedUrls={"image/*":[/^https?:\/\/.*$/]},this.modelId=e,this.config=t,this.failedResponseHandler=(0,n.createJsonErrorResponseHandler)({errorSchema:g,errorToMessage:e=>e.error.message})}get provider(){return this.config.provider}get providerOptionsName(){return this.config.provider.split(".")[0].trim()}async getArgs({prompt:e,maxOutputTokens:o,temperature:r,topP:i,topK:s,frequencyPenalty:u,presencePenalty:c,reasoning:d,providerOptions:h,stopSequences:m,responseFormat:g,seed:f,toolChoice:y,tools:b}){let _=await (0,n.parseProviderOptions)({provider:this.providerOptionsName,providerOptions:h,schema:a})??{},w=!0===this.config.supportsStructuredOutputs,z=!0===this.config.supportsPenaltySampling,{messages:v,warnings:k}=await p({prompt:e,responseFormat:g,modelId:this.modelId,providerOptionsName:this.providerOptionsName,supportsAssistantPrefixCompletion:this.config.supportsAssistantPrefixCompletion,supportsStructuredOutputs:w}),x=[...k];null!=s&&x.push({type:"unsupported",feature:"topK"}),null!=f&&x.push({type:"unsupported",feature:"seed"}),z||null==u||x.push({type:"deprecated",setting:"frequencyPenalty",message:"frequencyPenalty is deprecated by DeepSeek and has been omitted. Remove frequencyPenalty from the request."}),z||null==c||x.push({type:"deprecated",setting:"presencePenalty",message:"presencePenalty is deprecated by DeepSeek and has been omitted. Remove presencePenalty from the request."});let{tools:S,toolChoice:T,toolWarnings:I}=function({tools:e,toolChoice:n,supportsStrictToolCalls:o}){e=e?.length?e:void 0;let r=[];if(null==e)return{tools:void 0,toolChoice:void 0,toolWarnings:r};let i=e.filter(e=>"function"===e.type),a=i.some(e=>!0===e.strict);if(a&&!1===o)throw new t.UnsupportedFunctionalityError({functionality:"DeepSeek strict tool calls",message:"DeepSeek strict tool calls require a beta base URL ending in `/beta`."});if(a&&!0===o&&i.some(e=>!0!==e.strict))throw new t.UnsupportedFunctionalityError({functionality:"mixed DeepSeek strict and non-strict tool calls",message:"DeepSeek strict mode requires every function tool in the request to set `strict: true`."});let s=[];for(let t of e)"provider"===t.type?r.push({type:"unsupported",feature:`provider-defined tool ${t.id}`}):s.push({type:"function",function:{name:t.name,description:t.description,parameters:t.inputSchema,...null!=t.strict?{strict:t.strict}:{}}});if(null==n)return{tools:s,toolChoice:void 0,toolWarnings:r};let l=n?.type;switch(l){case"auto":case"none":case"required":return{tools:s,toolChoice:l,toolWarnings:r};case"tool":return{tools:s,toolChoice:{type:"function",function:{name:n.toolName}},toolWarnings:r};default:return{tools:s,toolChoice:void 0,toolWarnings:[...r,{type:"unsupported",feature:`tool choice type: ${l}`}]}}}({tools:b,toolChoice:y,supportsStrictToolCalls:this.config.supportsStrictToolCalls}),O=_.thinking?.type;"adaptive"===O&&x.push({type:"compatibility",feature:"thinking.type",details:'thinking.type "adaptive" is not a canonical DeepSeek value. mapped to "enabled".'});let E=!1===this.config.supportsThinking?void 0:null!=O?{type:"adaptive"===O?"enabled":O}:(0,n.isCustomReasoning)(d)?{type:"none"===d?"disabled":"enabled"}:void 0,C=!1!==this.config.supportsThinking&&E?.type!=="disabled"&&(null!=E||"deepseek-reasoner"===this.modelId||l(this.modelId));C&&null!=r&&x.push({type:"unsupported",feature:"temperature",details:"temperature has no effect when DeepSeek thinking is enabled. Set providerOptions.deepseek.thinking.type to 'disabled' to use temperature."}),C&&null!=i&&x.push({type:"unsupported",feature:"topP",details:"topP has no effect when DeepSeek thinking is enabled. Set providerOptions.deepseek.thinking.type to 'disabled' to use topP."});let A=null!=_.reasoningEffort?function({reasoningEffort:e,warnings:t}){let n="medium"===e?"high":"xhigh"===e?"max":e;return n!==e&&t.push({type:"compatibility",feature:"reasoningEffort",details:`reasoningEffort "${e}" is not a canonical DeepSeek value. mapped to "${n}".`}),n}({reasoningEffort:_.reasoningEffort,warnings:x}):(0,n.isCustomReasoning)(d)&&"none"!==d?(0,n.mapReasoningToProviderEffort)({reasoning:d,effortMap:{minimal:"low",low:"low",medium:"high",high:"high",xhigh:"max"},warnings:x}):void 0;return{args:{model:this.modelId,...(!0===_.logprobs||null!=_.topLogprobs)&&{logprobs:!0},...null!=_.topLogprobs&&{top_logprobs:_.topLogprobs},max_tokens:o,temperature:C?void 0:r,top_p:C?void 0:i,frequency_penalty:z?u:void 0,presence_penalty:z?c:void 0,response_format:g?.type==="json"?w&&null!=g.schema?{type:"json_schema",json_schema:{schema:g.schema,strict:_.strictJsonSchema??!0,name:g.name??"response",description:g.description}}:{type:"json_object"}:void 0,stop:m,messages:v,tools:S,tool_choice:T,thinking:E,...null!=_.userId&&{user_id:_.userId},...E?.type!=="disabled"&&null!=A&&{reasoning_effort:A}},warnings:[...x,...I]}}async doGenerate(e){let{args:o,warnings:r}=await this.getArgs({...e}),{responseHeaders:i,value:a,rawValue:s}=await (0,n.postJsonToApi)({url:this.config.url({path:"/chat/completions",modelId:this.modelId}),headers:(0,n.combineHeaders)(this.config.headers?.(),e.headers),body:o,failedResponseHandler:this.failedResponseHandler,successfulResponseHandler:(0,n.createJsonResponseHandler)(b),abortSignal:e.abortSignal,fetch:this.config.fetch}),l=a.choices[0];if(null==l)throw new t.InvalidResponseDataError({data:s,message:"Response did not contain any choices."});let u=[],c=l.message.reasoning_content;if(null!=c&&c.length>0&&u.push({type:"reasoning",text:c}),null!=l.message.tool_calls)for(let e of l.message.tool_calls)u.push({type:"tool-call",toolCallId:e.id||(0,n.generateId)(),toolName:e.function.name,input:e.function.arguments});let d=l.message.content;return null!=d&&d.length>0&&u.push({type:"text",text:d}),{content:u,finishReason:{unified:w(l.finish_reason),raw:l.finish_reason??void 0},usage:h(a.usage),providerMetadata:{[this.providerOptionsName]:{promptCacheHitTokens:a.usage?.prompt_cache_hit_tokens,promptCacheMissTokens:a.usage?.prompt_cache_miss_tokens,...null!=a.object&&{responseObject:a.object},...null!=l.index&&{choiceIndex:l.index},...null!=l.message.role&&{messageRole:l.message.role},...null!=l.message.tool_calls&&{toolCallTypes:l.message.tool_calls.map(e=>e.type).filter(e=>null!=e)},...null!=l.logprobs&&{logprobs:l.logprobs},...null!=a.system_fingerprint&&{systemFingerprint:a.system_fingerprint}}},request:{body:o},response:{...(0,n.createLanguageModelResponseMetadata)(a),headers:i,body:s},warnings:r}}async doStream(e){let t,o,r,i,a,s,{args:l,warnings:u}=await this.getArgs({...e}),c={...l,stream:!0,stream_options:{include_usage:!0}},{responseHeaders:d,value:p}=await (0,n.postJsonToApi)({url:this.config.url({path:"/chat/completions",modelId:this.modelId}),headers:(0,n.combineHeaders)(this.config.headers?.(),e.headers),body:c,failedResponseHandler:this.failedResponseHandler,successfulResponseHandler:(0,n.createEventSourceResponseHandler)(_),abortSignal:e.abortSignal,fetch:this.config.fetch}),m={unified:"other",raw:void 0},g=!0,f=this.providerOptionsName,y=!1,b=!1,z=new Map,v=[],k=[];return{stream:p.pipeThrough(new TransformStream({start(e){t=new n.StreamingToolCallTracker(e,{generateId:n.generateId}),e.enqueue({type:"stream-start",warnings:u})},transform(l,u){if(e.includeRawChunks&&u.enqueue({type:"raw",rawValue:l.rawValue}),!l.success){m={unified:"error",raw:void 0},u.enqueue({type:"error",error:l.error});return}let c=l.value;if("error"in c){var d;let e;m={unified:"error",raw:void 0},u.enqueue({type:"error",error:(d=c.error,e=function(e){var t,n;let o;if("insufficient_quota"===e.code||"insufficient_quota"===e.type)return{statusCode:429,isRetryable:!1};let r="number"==typeof(o="string"==typeof(t=e.code)&&/^\d{3}$/.test(t)?Number(t):t)&&Number.isInteger(o)&&o>=400&&o<=599?o:void 0;if(null!=r){return{statusCode:r,isRetryable:408===(n=r)||409===n||429===n||n>=500}}for(let t of[e.code,e.type])switch(t){case"rate_limit_exceeded":case"rate_limit_error":return{statusCode:429,isRetryable:!0};case"server_error":case"api_error":case"internal_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}}return{}}(d),(0,n.createProviderStreamError)({message:d.message,type:d.type??void 0,code:d.code??void 0,...e,data:c}))});return}g&&(g=!1,u.enqueue({type:"response-metadata",...(0,n.createLanguageModelResponseMetadata)(c)})),null!=c.usage&&(a=c.usage),null!=c.object&&(o=c.object),null!=c.system_fingerprint&&(s=c.system_fingerprint);let p=c.choices[0];if(p?.index!=null&&(r=p.index),p?.finish_reason!=null&&(m={unified:w(p.finish_reason),raw:p.finish_reason}),p?.logprobs?.content!=null&&v.push(...p.logprobs.content),p?.logprobs?.reasoning_content!=null&&k.push(...p.logprobs.reasoning_content),p?.delta==null)return;let h=p.delta;null!=h.role&&(i=h.role);let f=h.reasoning_content;if(f&&(y||(u.enqueue({type:"reasoning-start",id:"reasoning-0"}),y=!0),u.enqueue({type:"reasoning-delta",id:"reasoning-0",delta:f})),h.content&&(b||(u.enqueue({type:"text-start",id:"txt-0"}),b=!0),y&&(u.enqueue({type:"reasoning-end",id:"reasoning-0"}),y=!1),u.enqueue({type:"text-delta",id:"txt-0",delta:h.content})),null!=h.tool_calls&&h.tool_calls.length>0)for(let e of(y&&(u.enqueue({type:"reasoning-end",id:"reasoning-0"}),y=!1),h.tool_calls))null!=e.type&&z.set(e.index,e.type),t.processDelta(e)},flush(e){y&&e.enqueue({type:"reasoning-end",id:"reasoning-0"}),b&&e.enqueue({type:"text-end",id:"txt-0"}),t.flush(),e.enqueue({type:"finish",finishReason:m,usage:h(a),providerMetadata:{[f]:{promptCacheHitTokens:a?.prompt_cache_hit_tokens??void 0,promptCacheMissTokens:a?.prompt_cache_miss_tokens??void 0,...null!=o&&{responseObject:o},...null!=r&&{choiceIndex:r},...null!=i&&{messageRole:i},...z.size>0&&{toolCallTypes:[...z.entries()].sort(([e],[t])=>e-t).map(([,e])=>e)},...(v.length>0||k.length>0)&&{logprobs:{...v.length>0&&{content:v},...k.length>0&&{reasoning_content:k}}},...null!=s&&{systemFingerprint:s}}}})}})),request:{body:c},response:{headers:d}}}};let v=(0,n.lazySchema)(()=>(0,n.zodSchema)(r.z.object({id:r.z.string(),object:r.z.literal("file").nullish(),bytes:r.z.number().int().nonnegative().nullish(),created_at:r.z.number().int().nonnegative().nullish(),filename:r.z.string().nullish(),purpose:r.z.literal("user_data").nullish(),expires_at:r.z.number().int().nonnegative().nullish()}))),k=(0,n.lazySchema)(()=>(0,n.zodSchema)(r.z.object({expiresAfter:r.z.number().int().min(3600).max(2592e3).optional()}))),x=(0,n.createJsonErrorResponseHandler)({errorSchema:g,errorToMessage:e=>e.error.message}),S=new Set(["image/gif","image/jpeg","image/jpg","image/png","image/webp"]),T=new Set(["","application/binary","application/octet-stream","binary/octet-stream","image","image/*"]),I=new Set(["gif","jpeg","jpg","png","webp"]);var O=class{get provider(){return this.config.provider}constructor(e){this.config=e,this.specificationVersion="v4"}async uploadFile({data:e,mediaType:o,filename:r,abortSignal:i,headers:a,providerOptions:s}){let l=await (0,n.parseProviderOptions)({provider:"deepseek",providerOptions:s,schema:k}),u=(0,n.convertInlineFileDataToUint8Array)(e);!function({fileBytes:e,mediaType:o,filename:r}){if(e.length>0x4000000)throw new t.InvalidArgumentError({argument:"data",message:`DeepSeek file uploads must not exceed 64 MiB (${0x4000000.toLocaleString("en-US")} bytes). Received ${e.length.toLocaleString("en-US")} bytes.`});if(null!=r){let e=Array.from(r).length;if(e>512)throw new t.InvalidArgumentError({argument:"filename",message:`DeepSeek filenames must not exceed 512 characters. Received ${e} characters.`})}let i=o.split(";",1)[0].trim().toLowerCase(),a=(0,n.detectMediaType)({data:e});if(null!=a&&!S.has(a))throw new t.InvalidArgumentError({argument:"data",message:`DeepSeek file uploads support JPEG, PNG, GIF, and WebP images. Detected unsupported file content type "${a}".`});if(!S.has(i)){if(!T.has(i))throw new t.InvalidArgumentError({argument:"mediaType",message:`DeepSeek file uploads support JPEG, PNG, GIF, and WebP images. Received unsupported media type "${o}".`});if(!(null!=a||function(e){if(null==e)return!1;let t=e.lastIndexOf(".");return -1!==t&&I.has(e.slice(t+1).toLowerCase())}(r)))throw new t.InvalidArgumentError({argument:"mediaType",message:`DeepSeek file uploads support JPEG, PNG, GIF, and WebP images. Provide a supported media type or a filename ending in .jpg, .jpeg, .png, .gif, or .webp. Received "${o}".`})}}({fileBytes:u,mediaType:o,filename:r});let c=new Blob([u],{type:o}),d=new FormData;null!=r?d.append("file",c,r):d.append("file",c),d.append("purpose","user_data"),l?.expiresAfter!=null&&(d.append("expires_after[anchor]","created_at"),d.append("expires_after[seconds]",String(l.expiresAfter)));let{value:p}=await (0,n.postFormDataToApi)({url:`${this.config.baseURL}/files`,headers:(0,n.combineHeaders)(this.config.headers(),a),formData:d,failedResponseHandler:x,successfulResponseHandler:(0,n.createJsonResponseHandler)(v),abortSignal:i,fetch:this.config.fetch});return{warnings:[],providerReference:{deepseek:p.id},...p.filename??r?{filename:p.filename??r}:{},...null!=o?{mediaType:o}:{},providerMetadata:{deepseek:{...null!=p.object?{object:p.object}:{},...null!=p.filename?{filename:p.filename}:{},...null!=p.purpose?{purpose:p.purpose}:{},...null!=p.bytes?{bytes:p.bytes}:{},...null!=p.created_at?{createdAt:p.created_at}:{},...null!=p.expires_at?{expiresAt:p.expires_at}:{}}}}}};function E(e={}){let o=(0,n.withoutTrailingSlash)(e.baseURL??"https://api.deepseek.com")??"https://api.deepseek.com",r=()=>(0,n.withUserAgentSuffix)({Authorization:`Bearer ${(0,n.loadApiKey)({apiKey:e.apiKey,environmentVariableName:"DEEPSEEK_API_KEY",description:"DeepSeek API key"})}`,...e.headers},"ai-sdk-deepseek/3.0.57"),i=t=>new z(t,{provider:"deepseek.chat",url:({path:e})=>`${o}${e}`,headers:r,fetch:e.fetch,supportsAssistantPrefixCompletion:o.endsWith("/beta"),supportsStrictToolCalls:o.endsWith("/beta")}),a=e=>i(e);return a.specificationVersion="v4",a.languageModel=i,a.chat=i,a.files=()=>new O({provider:"deepseek.files",baseURL:o,headers:r,fetch:e.fetch}),a.embeddingModel=e=>{throw new t.NoSuchModelError({modelId:e,modelType:"embeddingModel"})},a.textEmbeddingModel=a.embeddingModel,a.imageModel=e=>{throw new t.NoSuchModelError({modelId:e,modelType:"imageModel"})},a}E(),e.s(["createDeepSeek",0,E])},605184,e=>{"use strict";var t=e.i(548874),n=e.i(691296),o=e.i(853205),r=e.i(788147);let i=(0,n.lazySchema)(()=>(0,n.zodSchema)(o.z.object({request_id:o.z.string()}))),a=(0,n.lazySchema)(()=>(0,n.zodSchema)(o.z.object({id:o.z.string(),status:o.z.string(),result:o.z.object({sample:o.z.string().optional()}).nullable()}))),s=(0,n.lazySchema)(()=>(0,n.zodSchema)(o.z.looseObject({guidance_scale:o.z.number().optional(),num_inference_steps:o.z.number().int().optional(),output_format:o.z.enum(["jpeg","png"]).optional(),webhook_url:o.z.string().optional(),webhook_secret:o.z.string().optional(),prompt_upsampling:o.z.boolean().optional(),safety_tolerance:o.z.number().int().min(0).max(6).optional(),cfg_scale:o.z.number().optional(),steps:o.z.number().int().optional()}))),l={"accounts/fireworks/models/flux-1-dev-fp8":{urlFormat:"workflows"},"accounts/fireworks/models/flux-1-schnell-fp8":{urlFormat:"workflows"},"accounts/fireworks/models/flux-kontext-pro":{urlFormat:"workflows_async",supportsEditing:!0},"accounts/fireworks/models/flux-kontext-max":{urlFormat:"workflows_async",supportsEditing:!0},"accounts/fireworks/models/playground-v2-5-1024px-aesthetic":{urlFormat:"image_generation",supportsSize:!0},"accounts/fireworks/models/japanese-stable-diffusion-xl":{urlFormat:"image_generation",supportsSize:!0},"accounts/fireworks/models/playground-v2-1024px-aesthetic":{urlFormat:"image_generation",supportsSize:!0},"accounts/fireworks/models/stable-diffusion-xl-1024-v1-0":{urlFormat:"image_generation",supportsSize:!0},"accounts/fireworks/models/SSD-1B":{urlFormat:"image_generation",supportsSize:!0}};function u(e,t){switch(l[t]?.urlFormat){case"image_generation":return`${e}/image_generation/${t}`;case"workflows_async":return`${e}/workflows/${t}`;default:return`${e}/workflows/${t}/text_to_image`}}var c=class e{get supportsFileInputs(){return"accounts/fireworks/models/flux-kontext-pro"===this.modelId||"accounts/fireworks/models/flux-kontext-max"===this.modelId||!["accounts/fireworks/models/flux-1-dev-fp8","accounts/fireworks/models/flux-1-schnell-fp8","accounts/fireworks/models/playground-v2-5-1024px-aesthetic","accounts/fireworks/models/japanese-stable-diffusion-xl","accounts/fireworks/models/playground-v2-1024px-aesthetic","accounts/fireworks/models/SSD-1B","accounts/fireworks/models/stable-diffusion-xl-1024-v1-0"].includes(this.modelId)&&void 0}get supportsMaskInputs(){return null==this.supportsFileInputs&&void 0}get provider(){return this.config.provider}static[t.WORKFLOW_SERIALIZE](e){return(0,n.serializeModelOptions)({modelId:e.modelId,config:e.config})}static[t.WORKFLOW_DESERIALIZE](t){return new e(t.modelId,t.config)}constructor(e,t){this.modelId=e,this.config=t,this.specificationVersion="v4",this.maxImagesPerCall=1}async doGenerate({prompt:e,n:t,size:o,aspectRatio:r,seed:i,providerOptions:a,headers:c,abortSignal:d,files:p,mask:h}){let m,g=[],f=l[this.modelId];f?.supportsSize||null==o||g.push({type:"unsupported",feature:"size",details:"This model does not support the `size` option. Use `aspectRatio` instead."}),f?.supportsSize&&null!=r&&g.push({type:"unsupported",feature:"aspectRatio",details:"This model does not support the `aspectRatio` option."}),null!=p&&p.length>0&&(m=(0,n.convertImageModelFileToDataUri)(p[0]),p.length>1&&g.push({type:"other",message:"Fireworks only supports a single input image. Additional images are ignored."})),null!=h&&g.push({type:"unsupported",feature:"mask",details:"Fireworks Kontext models do not support explicit masks. Use the prompt to describe the areas to edit."});let y=o?.split("x"),b=this.config._internal?.currentDate?.()??new Date,_=(0,n.combineHeaders)(this.config.headers?.(),c),w=await (0,n.parseProviderOptions)({provider:"fireworks",providerOptions:a,schema:s})??{},z={prompt:e,aspect_ratio:r,seed:i,samples:t,...m&&{input_image:m},...y&&{width:y[0],height:y[1]},...w};if(f?.urlFormat==="workflows_async")return this.doGenerateAsync({body:z,headers:_,abortSignal:d,warnings:g,currentDate:b});let{value:v,responseHeaders:k}=await (0,n.postJsonToApi)({url:u(this.config.baseURL,this.modelId),headers:_,body:z,failedResponseHandler:(0,n.createStatusCodeErrorResponseHandler)(),successfulResponseHandler:(0,n.createBinaryResponseHandler)(),abortSignal:d,fetch:this.config.fetch});return{images:[v],warnings:g,response:{timestamp:b,modelId:this.modelId,headers:k}}}async doGenerateAsync({body:e,headers:t,abortSignal:o,warnings:r,currentDate:a}){let{value:s}=await (0,n.postJsonToApi)({url:u(this.config.baseURL,this.modelId),headers:t,body:e,failedResponseHandler:(0,n.createStatusCodeErrorResponseHandler)(),successfulResponseHandler:(0,n.createJsonResponseHandler)(i),abortSignal:o,fetch:this.config.fetch}),l=s.request_id,c=await this.pollForImageUrl({requestId:l,headers:t,abortSignal:o}),{value:d,responseHeaders:p}=await (0,n.getFromApi)({url:c,validateUrl:!0,credentialedOrigin:this.config.baseURL,trustedOrigin:this.config.baseURL,headers:t,abortSignal:o,failedResponseHandler:(0,n.createStatusCodeErrorResponseHandler)(),successfulResponseHandler:(0,n.createBinaryResponseHandler)(),fetch:this.config.fetch});return{images:[d],warnings:r,response:{timestamp:a,modelId:this.modelId,headers:p}}}async pollForImageUrl({requestId:e,headers:t,abortSignal:o}){var r,i;let s=this.config.pollIntervalMillis??500,l=this.config.pollTimeoutMillis??12e4,u=(r=this.config.baseURL,i=this.modelId,`${r}/workflows/${i}/get_result`),c=new AbortController,d=!1,p=setTimeout(()=>{d=!0,c.abort()},l),h=null==o?c.signal:AbortSignal.any([o,c.signal]);try{for(;;){let{value:o}=await (0,n.postJsonToApi)({url:u,headers:t,body:{id:e},failedResponseHandler:(0,n.createStatusCodeErrorResponseHandler)(),successfulResponseHandler:(0,n.createJsonResponseHandler)(a),abortSignal:h,fetch:this.config.fetch}),r=o.status;if("Ready"===r){let e=o.result?.sample;if("string"==typeof e)return e;throw Error("Fireworks poll response is Ready but missing result.sample")}if("Error"===r||"Failed"===r)throw Error(`Fireworks image generation failed with status: ${r}`);await (0,n.delay)(s,{abortSignal:h})}}catch(e){if(d)throw Error(`Fireworks image generation timed out after ${l}ms`);throw e}finally{clearTimeout(p)}}};let d={errorSchema:o.z.object({error:o.z.union([o.z.string(),o.z.object({message:o.z.string(),object:o.z.string().nullish(),type:o.z.string().nullish(),param:o.z.any().nullish(),code:o.z.union([o.z.string(),o.z.number()]).nullish()})])}),errorToMessage:e=>"string"==typeof e.error?e.error:e.error.message},p="https://api.fireworks.ai/inference/v1";function h(e={}){let t=(0,n.withoutTrailingSlash)(e.baseURL??p),o=()=>(0,n.withUserAgentSuffix)({Authorization:`Bearer ${(0,n.loadApiKey)({apiKey:e.apiKey,environmentVariableName:"FIREWORKS_API_KEY",description:"Fireworks API key"})}`,...e.headers},"ai-sdk-fireworks/3.0.63"),i=n=>({provider:`fireworks.${n}`,url:({path:e})=>`${t}${e}`,headers:o,fetch:e.fetch}),a=e=>new r.OpenAICompatibleChatLanguageModel(e,{...i("chat"),includeUsage:!0,errorStructure:d,supportsStructuredOutputs:!0,transformRequestBody:e=>{let t=e.thinking,n=e.reasoningHistory,o=e.promptCacheKey,r=e.serviceTier,{thinking:i,reasoningHistory:a,promptCacheKey:s,serviceTier:l,reasoning_effort:u,...c}=e;return{...c,...null!=u&&{reasoning_effort:"minimal"===u?"low":"xhigh"===u?"high":u},...void 0!==o&&{prompt_cache_key:o},...void 0!==r&&{service_tier:r},...t&&{thinking:{type:t.type,...void 0!==t.budgetTokens&&{budget_tokens:t.budgetTokens}}},...n&&{reasoning_history:n}}}}),s=e=>new r.OpenAICompatibleEmbeddingModel(e,{...i("embedding"),errorStructure:d}),l=e=>new c(e,{...i("image"),baseURL:t??p}),u=e=>a(e);return u.specificationVersion="v4",u.completionModel=e=>new r.OpenAICompatibleCompletionLanguageModel(e,{...i("completion"),includeUsage:!0,errorStructure:d}),u.chatModel=a,u.languageModel=a,u.embeddingModel=s,u.textEmbeddingModel=s,u.image=l,u.imageModel=l,u}h(),e.s(["createFireworks",0,h])},19698,e=>{"use strict";var t=e.i(691296),n=e.i(548874),o=e.i(167361),r=e.i(296194),i=e.i(853205);let a=(0,t.lazySchema)(()=>(0,t.zodSchema)(i.z.object({error:i.z.object({code:i.z.number().nullable(),message:i.z.string(),status:i.z.string(),details:i.z.array(i.z.unknown()).nullish()})}))),s=(0,t.createJsonErrorResponseHandler)({errorSchema:a,errorToMessage:e=>e.error.message}),l=i.z.union([i.z.object({text:i.z.string()}),i.z.object({inlineData:i.z.object({mimeType:i.z.string(),data:i.z.string()})}),i.z.object({fileData:i.z.object({fileUri:i.z.string(),mimeType:i.z.string()})})]),u=(0,t.lazySchema)(()=>(0,t.zodSchema)(i.z.object({outputDimensionality:i.z.number().optional(),taskType:i.z.enum(["SEMANTIC_SIMILARITY","CLASSIFICATION","CLUSTERING","RETRIEVAL_DOCUMENT","RETRIEVAL_QUERY","QUESTION_ANSWERING","FACT_VERIFICATION","CODE_RETRIEVAL_QUERY"]).optional(),content:i.z.array(i.z.array(l).min(1).nullable()).optional()})));var c=class e{static[n.WORKFLOW_SERIALIZE](e){return(0,t.serializeModelOptions)({modelId:e.modelId,config:e.config})}static[n.WORKFLOW_DESERIALIZE](t){return new e(t.modelId,t.config)}get provider(){return this.config.provider}constructor(e,n){this.specificationVersion="v4",this.maxEmbeddingsPerCall=100,this.supportsParallelCalls=!0,this[t.EXPERIMENTAL_EMBEDDING_MODEL_PROVIDER_OPTIONS_TRANSFORMER]=({providerOptions:e,values:t,startIndex:n,endIndex:o})=>{let r=e?.google?.content;return Array.isArray(r)?(h({multimodalContent:r,values:t}),{...e,google:{...e?.google,content:r.slice(n,o)}}):e},this.modelId=e,this.config=n}async doEmbed({values:e,headers:n,abortSignal:o,providerOptions:i}){let a=await (0,t.parseProviderOptions)({provider:"google",providerOptions:i,schema:u});if(e.length>this.maxEmbeddingsPerCall)throw new r.TooManyEmbeddingValuesForCallError({provider:this.provider,modelId:this.modelId,maxEmbeddingsPerCall:this.maxEmbeddingsPerCall,values:e});let l=(0,t.combineHeaders)(this.config.headers?await (0,t.resolve)(this.config.headers):void 0,n),c=a?.content;if(h({multimodalContent:c,values:e}),1===e.length){let n=c?.[0],r=e[0]?[{text:e[0]}]:[],i=null!=n?[...r,...n]:[{text:e[0]}],{responseHeaders:u,value:d,rawValue:h}=await (0,t.postJsonToApi)({url:`${this.config.baseURL}/models/${this.modelId}:embedContent`,headers:l,body:{model:`models/${this.modelId}`,content:{parts:i},outputDimensionality:a?.outputDimensionality,taskType:a?.taskType},failedResponseHandler:s,successfulResponseHandler:(0,t.createJsonResponseHandler)(p),abortSignal:o,fetch:this.config.fetch});return{warnings:[],embeddings:[d.embedding.values],usage:void 0,response:{headers:u,body:h}}}let{responseHeaders:m,value:g,rawValue:f}=await (0,t.postJsonToApi)({url:`${this.config.baseURL}/models/${this.modelId}:batchEmbedContents`,headers:l,body:{requests:e.map((e,t)=>{let n=c?.[t];return{model:`models/${this.modelId}`,content:{role:"user",parts:null!=n?[...e?[{text:e}]:[],...n]:[{text:e}]},outputDimensionality:a?.outputDimensionality,taskType:a?.taskType}})},failedResponseHandler:s,successfulResponseHandler:(0,t.createJsonResponseHandler)(d),abortSignal:o,fetch:this.config.fetch});return{warnings:[],embeddings:g.embeddings.map(e=>e.values),usage:void 0,response:{headers:m,body:f}}}};let d=(0,t.lazySchema)(()=>(0,t.zodSchema)(i.z.object({embeddings:i.z.array(i.z.object({values:i.z.array(i.z.number())}))}))),p=(0,t.lazySchema)(()=>(0,t.zodSchema)(i.z.object({embedding:i.z.object({values:i.z.array(i.z.number())})})));function h({multimodalContent:e,values:t}){if(null!=e&&e.length!==t.length)throw Error(`The number of multimodal content entries (${e.length}) must match the number of values (${t.length}).`)}function m(e){return e.includes("/")?e:`models/${e}`}function g(e){if(null==e)return(0,t.createNullLanguageModelUsage)();let n=e.promptTokenCount??0,o=e.candidatesTokenCount??0,r=e.toolUsePromptTokenCount??0,i=e.cachedContentTokenCount??0,a=e.thoughtsTokenCount??0,s=n+r;return{inputTokens:{total:s,noCache:s-i,cacheRead:i,cacheWrite:void 0},outputTokens:{total:o+a,text:o,reasoning:a},raw:e}}let f=i.z.object({language:i.z.string().describe("The programming language of the code."),code:i.z.string().describe("The code to be executed.")}),y=i.z.object({outcome:i.z.string().describe('The outcome of the execution (e.g., "OUTCOME_OK").'),output:i.z.string().describe("The output from the code execution.")}),b=(0,t.createProviderExecutedToolFactory)({id:"google.code_execution",inputSchema:f,outputSchema:y}),_=/^data:([^;,]+);base64,(.+)$/s;async function w(e,{abortSignal:t,maxBytes:n,supportedUrls:o={}}){let r=[];for(let i of e){if("assistant"===i.role){let e=[];for(let r of i.content)e.push("tool-result"===r.type?{...r,output:await z(r.output,{abortSignal:t,maxBytes:n,supportedUrls:o})}:r);r.push({...i,content:e});continue}if("tool"===i.role){let e=[];for(let r of i.content){if("tool-result"!==r.type){e.push(r);continue}e.push({...r,output:await z(r.output,{abortSignal:t,maxBytes:n,supportedUrls:o})})}r.push({...i,content:e});continue}r.push(i)}return r}async function z(e,{abortSignal:n,maxBytes:o,supportedUrls:r}){if("content"!==e.type)return e;let i=[];for(let a of e.value){if("file"!==a.type||"url"!==a.data.type||(0,t.isUrlSupported)({url:a.data.url.toString(),mediaType:a.mediaType,supportedUrls:r})){i.push(a);continue}let e=await (0,t.downloadBlob)(a.data.url.toString(),{abortSignal:n,maxBytes:o}),s=new Uint8Array(await e.arrayBuffer()),l=(0,t.detectMediaType)({data:s,topLevelType:"image"});i.push({...a,data:{type:"data",data:s},mediaType:l??(e.type&&!(0,t.isFullMediaType)(a.mediaType)?e.type:a.mediaType)})}return{...e,value:i}}function v(e){let{const:t,properties:n,items:o,additionalProperties:r,anyOf:i,oneOf:a,...s}=e;return{...s,...void 0!==t?{enum:[t]}:{},...null!=n?{properties:k(n)}:{},...null!=o?{items:Array.isArray(o)?o.map(x):x(o)}:{},...null!=r?{additionalProperties:"boolean"==typeof r?r:x(r)}:{},...null!=i?{anyOf:i.map(x)}:{},...null!=a?{oneOf:a.map(x)}:{},...null!=s.$defs?{$defs:k(s.$defs)}:{}}}function k(e){return Object.fromEntries(Object.entries(e).map(([e,t])=>[e,x(t)]))}function x(e){return"boolean"==typeof e?e:v(e)}let S=(0,t.lazySchema)(()=>(0,t.zodSchema)(i.z.object({responseModalities:i.z.array(i.z.enum(["TEXT","IMAGE"])).optional(),thinkingConfig:i.z.object({thinkingBudget:i.z.number().optional(),includeThoughts:i.z.boolean().optional(),thinkingLevel:i.z.enum(["minimal","low","medium","high"]).optional()}).optional(),cachedContent:i.z.string().optional(),structuredOutputs:i.z.boolean().optional(),safetySettings:i.z.array(i.z.object({category:i.z.enum(["HARM_CATEGORY_UNSPECIFIED","HARM_CATEGORY_HATE_SPEECH","HARM_CATEGORY_DANGEROUS_CONTENT","HARM_CATEGORY_HARASSMENT","HARM_CATEGORY_SEXUALLY_EXPLICIT","HARM_CATEGORY_CIVIC_INTEGRITY"]),threshold:i.z.enum(["HARM_BLOCK_THRESHOLD_UNSPECIFIED","BLOCK_LOW_AND_ABOVE","BLOCK_MEDIUM_AND_ABOVE","BLOCK_ONLY_HIGH","BLOCK_NONE","OFF"])})).optional(),threshold:i.z.enum(["HARM_BLOCK_THRESHOLD_UNSPECIFIED","BLOCK_LOW_AND_ABOVE","BLOCK_MEDIUM_AND_ABOVE","BLOCK_ONLY_HIGH","BLOCK_NONE","OFF"]).optional(),audioTimestamp:i.z.boolean().optional(),labels:i.z.record(i.z.string(),i.z.string()).optional(),mediaResolution:i.z.enum(["MEDIA_RESOLUTION_UNSPECIFIED","MEDIA_RESOLUTION_LOW","MEDIA_RESOLUTION_MEDIUM","MEDIA_RESOLUTION_HIGH"]).optional(),imageConfig:i.z.object({aspectRatio:i.z.enum(["1:1","2:3","3:2","3:4","4:3","4:5","5:4","9:16","16:9","21:9","1:8","8:1","1:4","4:1"]).optional(),imageSize:i.z.enum(["1K","2K","4K","512"]).optional(),personGeneration:i.z.enum(["PERSON_GENERATION_UNSPECIFIED","ALLOW_ALL","ALLOW_ADULT","ALLOW_NONE"]).optional(),prominentPeople:i.z.enum(["PROMINENT_PEOPLE_UNSPECIFIED","ALLOW_PROMINENT_PEOPLE","BLOCK_PROMINENT_PEOPLE"]).optional(),imageOutputOptions:i.z.object({mimeType:i.z.enum(["image/jpeg","image/png"]).optional(),compressionQuality:i.z.number().optional()}).optional()}).optional(),retrievalConfig:i.z.object({latLng:i.z.object({latitude:i.z.number(),longitude:i.z.number()}).optional()}).optional(),streamFunctionCallArguments:i.z.boolean().optional(),serviceTier:i.z.enum(["standard","flex","priority"]).optional(),sharedRequestType:i.z.enum(["priority","flex","standard"]).optional(),requestType:i.z.enum(["shared"]).optional()}))),T=/(^|\/)gemini-1(?:[.-]|$)/i,I=/(^|\/)gemini-2(?:[.-]|$)/i,O=/(^|\/)gemini-2\.5(?:[.-]|$)/i,E=/(^|\/)gemini-/i;function C(e){let t=E.test(e),n=I.test(e),o=T.test(e)||/(^|\/)gemini-pro(?:-vision)?$/i.test(e)||/(^|\/)gemini-robotics-er-1\.5(?:[.-]|$)/i.test(e),r=t&&!(o||n);return{supportsGemini2Tools:t&&!o||e.toLowerCase().includes("nano-banana"),supportsFileSearch:O.test(e)||r,usesGemini3Features:r}}function A(e){return{name:e.name,description:e.description??"",parametersJsonSchema:e.inputSchema}}var j=class{constructor(){this.accumulatedArgs={},this.jsonText="",this.pathStack=[],this.stringOpen=!1}processPartialArgs(e){let t="";for(let n of e){let e=n.jsonPath.replace(/^\$\./,"");if(!e)continue;let o=function(e){let t=[];for(let n of e.split(".")){let e=n.indexOf("[");if(-1===e)t.push(n);else for(let o of(e>0&&t.push(n.slice(0,e)),n.matchAll(/\[(\d+)\]/g)))t.push(parseInt(o[1],10))}return t}(e),r=function(e,t){let n=e;for(let e of t){if(null==n||"object"!=typeof n)return;let t=n;if(!R.call(t,e))return;n=t[e]}return n}(this.accumulatedArgs,o);if(null!=n.stringValue&&void 0!==r){let e=JSON.stringify(n.stringValue).slice(1,-1);M(this.accumulatedArgs,o,r+n.stringValue),t+=e;continue}let i=function(e){let t=e.stringValue??e.numberValue??e.boolValue;return null!=t?{value:t,json:JSON.stringify(t)}:"nullValue"in e?{value:null,json:"null"}:void 0}(n);null!=i&&(M(this.accumulatedArgs,o,i.value),t+=this.emitNavigationTo(o,n,i.json))}return this.jsonText+=t,{currentJSON:this.accumulatedArgs,textDelta:t}}finalize(){let e=JSON.stringify(this.accumulatedArgs);return{finalJSON:e,closingDelta:e.slice(this.jsonText.length)}}ensureRoot(){return 0===this.pathStack.length?(this.pathStack.push({segment:"",isArray:!1,childCount:0}),"{"):""}emitNavigationTo(e,t,n){let o="";this.stringOpen&&(o+='"',this.stringOpen=!1),o+=this.ensureRoot();let r=e.slice(0,-1),i=e[e.length-1],a=this.findCommonStackDepth(r);return o+=this.closeDownTo(a),o+=this.openDownTo(r,i),o+=this.emitLeaf(i,t,n)}findCommonStackDepth(e){let t=Math.min(this.pathStack.length-1,e.length),n=0;for(let o=0;o<t;o++)if(this.pathStack[o+1].segment===e[o])n++;else break;return n+1}closeDownTo(e){let t="";for(;this.pathStack.length>e;)t+=this.pathStack.pop().isArray?"]":"}";return t}openDownTo(e,t){let n="",o=this.pathStack.length-1;for(let r=o;r<e.length;r++){let o=e[r],i=this.pathStack[this.pathStack.length-1];i.childCount>0&&(n+=","),i.childCount++,"string"==typeof o&&(n+=`${JSON.stringify(o)}:`);let a="number"==typeof(r+1<e.length?e[r+1]:t);n+=a?"[":"{",this.pathStack.push({segment:o,isArray:a,childCount:0})}return n}emitLeaf(e,t,n){let o="",r=this.pathStack[this.pathStack.length-1];return r.childCount>0&&(o+=","),r.childCount++,"string"==typeof e&&(o+=`${JSON.stringify(e)}:`),null!=t.stringValue&&t.willContinue?(o+=n.slice(0,-1),this.stringOpen=!0):o+=n,o}};let R=Object.prototype.hasOwnProperty;function $(e,t,n){Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0})}function M(e,t,n){let o=e;for(let e=0;e<t.length-1;e++){var r;let n=t[e],i=t[e+1];r=o,R.call(r,n)&&null!=o[n]||$(o,n,"number"==typeof i?[]:{}),o=o[n]}$(o,t[t.length-1],n)}function N({finishReason:e,hasToolCalls:t}){switch(e){case"STOP":return t?"tool-calls":"stop";case"MAX_TOKENS":return"length";case"IMAGE_SAFETY":case"RECITATION":case"SAFETY":case"BLOCKLIST":case"PROHIBITED_CONTENT":case"SPII":return"content-filter";case"MALFORMED_FUNCTION_CALL":return"error";default:return"other"}}let L=["HARM_CATEGORY_HATE_SPEECH","HARM_CATEGORY_DANGEROUS_CONTENT","HARM_CATEGORY_HARASSMENT","HARM_CATEGORY_SEXUALLY_EXPLICIT"],P=/(^|\/)gemini-2\.5(?:[.-]|$)/i,U={"image/png":[/^gs:\/\/.*$/],"image/jpeg":[/^gs:\/\/.*$/],"image/webp":[/^gs:\/\/.*$/],"application/pdf":[/^gs:\/\/.*$/],"text/plain":[/^gs:\/\/.*$/]};var q=class e{static[n.WORKFLOW_SERIALIZE](e){return(0,t.serializeModelOptions)({modelId:e.modelId,config:e.config})}static[n.WORKFLOW_DESERIALIZE](t){return new e(t.modelId,t.config)}constructor(e,n){this.specificationVersion="v4",this.modelId=e,this.config=n,this.generateId=n.generateId??t.generateId}get provider(){return this.config.provider}get supportedUrls(){return this.config.supportedUrls?.()??{}}static async prepareRequest({modelId:e,config:n,options:{prompt:o,maxOutputTokens:i,temperature:a,topP:s,topK:l,frequencyPenalty:u,presencePenalty:c,stopSequences:d,responseFormat:p,seed:h,tools:m,toolChoice:g,reasoning:b,providerOptions:z,abortSignal:k},isStreaming:x=!1}){let T,I=[],O=n.provider.includes("vertex")?["googleVertex","vertex"]:["google"];for(let e of O)if(null!=(T=await (0,t.parseProviderOptions)({provider:e,providerOptions:z,schema:S})))break;null!=T||O.includes("google")||(T=await (0,t.parseProviderOptions)({provider:"google",providerOptions:z,schema:S}));let E=n.provider.startsWith("google.vertex.");m?.some(e=>"provider"===e.type&&"google.vertex_rag_store"===e.id)&&!E&&I.push({type:"other",message:`The 'vertex_rag_store' tool is only supported with the Google Vertex provider and might not be supported or could behave unexpectedly with the current Google provider (${n.provider}).`}),T?.streamFunctionCallArguments&&!E&&I.push({type:"other",message:`'streamFunctionCallArguments' is only supported on the Vertex AI API and will be ignored with the current Google provider (${n.provider}). See https://docs.cloud.google.com/vertex-ai/generative-ai/docs/multimodal/function-calling#streaming-fc`}),T?.serviceTier&&E&&I.push({type:"other",message:"'serviceTier' is a Gemini API option and is not supported on Vertex AI. Use 'sharedRequestType' (and optionally 'requestType') instead. See https://docs.cloud.google.com/vertex-ai/generative-ai/docs/priority-paygo"}),(T?.sharedRequestType||T?.requestType)&&!E&&I.push({type:"other",message:`'sharedRequestType' and 'requestType' are Vertex AI options and are ignored with the current Google provider (${n.provider}).`});let j=E&&(T?.sharedRequestType||T?.requestType)?{...T.sharedRequestType&&{"X-Vertex-AI-LLM-Shared-Request-Type":T.sharedRequestType},...T.requestType&&{"X-Vertex-AI-LLM-Request-Type":T.requestType}}:void 0,R=E?void 0:T?.serviceTier,$=T?.imageConfig;if(null!=$&&!E){let{personGeneration:e,prominentPeople:t,imageOutputOptions:o,...r}=$,i=Object.entries({personGeneration:e,prominentPeople:t,imageOutputOptions:o}).filter(([,e])=>null!=e).map(([e])=>`'imageConfig.${e}'`);i.length>0&&(I.push({type:"other",message:`${i.join(", ")} ${1===i.length?"is a Vertex AI option and is":"are Vertex AI options and are"} ignored with the current Google provider (${n.provider}).`}),$=r)}let M=e.toLowerCase().startsWith("gemma-"),N=!E&&P.test(e);N&&null!=u&&I.push({type:"unsupported",feature:"frequencyPenalty"}),N&&null!=c&&I.push({type:"unsupported",feature:"presencePenalty"});let{usesGemini3Features:q}=C(e),D=q&&n.downloadToolResultFiles?.supportsGoogleCloudStorageUrls?U:void 0,{contents:F,systemInstruction:H}=function(e,n){let o=[],i=[],a=!0,s=n?.isGemmaModel??!1,l=n?.isGemini3Model??!1,u=n?.onWarning,c=n?.providerOptionsNames??["google"],d=!c.includes("google"),p=n?.supportsFunctionResponseParts??!0,h=n?.includeFunctionCallIds??!0,m=n?.supportedFunctionResponseUrls??{},g=!1,b=[],w=e=>(b.push(e),g=!0,"skip_thought_signature_validator"),z=e=>{for(let t of c){let n=e.providerOptions?.[t];if(null!=n)return n}return d?e.providerOptions?.google:e.providerOptions?.googleVertex??e.providerOptions?.vertex};for(let{role:n,content:s}of e)switch(n){case"system":if(!a)throw new r.UnsupportedFunctionalityError({functionality:"system messages are only supported at the beginning of the conversation"});o.push({text:s});break;case"user":{a=!1;let e=[];for(let n of s)switch(n.type){case"text":e.push({text:n.text});break;case"file":switch(n.data.type){case"url":e.push({fileData:{mimeType:(0,t.resolveFullMediaType)({part:n}),fileUri:"gs:"===n.data.url.protocol&&null!=n.data.originalUrl?n.data.originalUrl:n.data.url.toString()}});break;case"reference":if(d)throw new r.UnsupportedFunctionalityError({functionality:"file parts with provider references"});e.push({fileData:{mimeType:(0,t.resolveFullMediaType)({part:n}),fileUri:(0,t.resolveProviderReference)({reference:n.data.reference,provider:"google"})}});break;case"text":e.push({inlineData:{mimeType:(0,t.isFullMediaType)(n.mediaType)?n.mediaType:"text/plain",data:(0,t.convertToBase64)(new TextEncoder().encode(n.data.text))}});break;case"data":e.push({inlineData:{mimeType:(0,t.resolveFullMediaType)({part:n}),data:(0,t.convertToBase64)(n.data.data)}})}}i.push({role:"user",parts:e});break}case"assistant":{a=!1;let e=!1;i.push({role:"model",parts:s.map(n=>{let o=z(n),i=o?.thoughtSignature!=null?String(o.thoughtSignature):void 0;switch(n.type){case"text":return 0===n.text.length?void 0:{text:n.text,thoughtSignature:i};case"reasoning":return 0===n.text.length?void 0:{text:n.text,thought:!0,thoughtSignature:i};case"reasoning-file":switch(n.data.type){case"url":throw new r.UnsupportedFunctionalityError({functionality:"File data URLs in assistant messages are not supported"});case"data":return{inlineData:{mimeType:n.mediaType,data:(0,t.convertToBase64)(n.data.data)},thought:!0,thoughtSignature:i}}break;case"file":switch(n.data.type){case"url":throw new r.UnsupportedFunctionalityError({functionality:"File data URLs in assistant messages are not supported"});case"reference":if(d)throw new r.UnsupportedFunctionalityError({functionality:"file parts with provider references"});return{fileData:{mimeType:n.mediaType,fileUri:(0,t.resolveProviderReference)({reference:n.data.reference,provider:"google"})},...o?.thought===!0?{thought:!0}:{},thoughtSignature:i};case"text":return{inlineData:{mimeType:(0,t.isFullMediaType)(n.mediaType)?n.mediaType:"text/plain",data:(0,t.convertToBase64)(new TextEncoder().encode(n.data.text))},...o?.thought===!0?{thought:!0}:{},thoughtSignature:i};case"data":return{inlineData:{mimeType:n.mediaType,data:(0,t.convertToBase64)(n.data.data)},...o?.thought===!0?{thought:!0}:{},thoughtSignature:i}}break;case"tool-call":{if(!0===n.providerExecuted&&"code_execution"===n.toolName)return{executableCode:f.parse("string"==typeof n.input?(0,t.secureJsonParse)(n.input):n.input)};let r=o?.serverToolCallId!=null?String(o.serverToolCallId):void 0,a=o?.serverToolType!=null?String(o.serverToolType):void 0,s=null!=r&&null!=a,u=i??(l&&!(!s&&null==i&&e)?w(n.toolName):void 0);if(s||null==i||(e=!0),s)return{toolCall:{toolType:a,args:"string"==typeof n.input?(0,t.secureJsonParse)(n.input):n.input,id:r},thoughtSignature:u};return{functionCall:{...h&&null!=n.toolCallId?{id:n.toolCallId}:{},name:n.toolName,args:n.input},thoughtSignature:u}}case"tool-result":{if("code_execution"===n.toolName&&"json"===n.output.type)return{codeExecutionResult:y.parse(n.output.value)};let e=o?.serverToolCallId!=null?String(o.serverToolCallId):void 0,t=o?.serverToolType!=null?String(o.serverToolType):void 0;if(e&&t)return{toolResponse:{toolType:t,response:"json"===n.output.type?n.output.value:{},id:e},thoughtSignature:i};return}}}).filter(e=>void 0!==e)});break}case"tool":{a=!1;let e=[];for(let n of s){if("tool-approval-response"===n.type)continue;let o=z(n),r=o?.serverToolCallId!=null?String(o.serverToolCallId):void 0,a=o?.serverToolType!=null?String(o.serverToolType):void 0;if(r&&a){let e=o?.thoughtSignature!=null?String(o.thoughtSignature):void 0;if(i.length>0){let t=i[i.length-1];if("model"===t.role){t.parts.push({toolResponse:{toolType:a,response:"json"===n.output.type?n.output.value:{},id:r},thoughtSignature:e});continue}}}let s=n.output;if("content"===s.type)p?function(e,n,o,r,i=!0,a={}){let s=[],l=[];for(let e of o)switch(e.type){case"text":l.push(e.text);break;case"file":if("data"===e.data.type)s.push({inlineData:{mimeType:(0,t.resolveFullMediaType)({part:e}),data:(0,t.convertToBase64)(e.data.data)}});else if("url"===e.data.type){let n=e.data.url.toString(),o=function(e){let t=function(e){let t=_.exec(e);if(null!=t)return{mediaType:t[1],data:t[2]}}(e);if(null!=t)return{inlineData:{mimeType:t.mediaType,data:t.data}}}(n),r="gs:"===e.data.url.protocol&&null!=e.data.originalUrl?e.data.originalUrl:n;null!=o?s.push(o):(0,t.isFullMediaType)(e.mediaType)&&(0,t.isUrlSupported)({url:r,mediaType:e.mediaType,supportedUrls:a})?s.push({fileData:{mimeType:e.mediaType,fileUri:r}}):l.push(JSON.stringify(e))}else l.push(JSON.stringify(e));break;default:l.push(JSON.stringify(e))}e.push({functionResponse:{...i&&null!=r?{id:r}:{},name:n,response:{name:n,content:l.length>0?l.join("\n"):"Tool executed successfully."},...s.length>0?{parts:s}:{}}})}(e,n.toolName,s.value,n.toolCallId,h,m):function(e,n,o,r,i=!0){for(let a of o)switch(a.type){case"text":e.push({functionResponse:{...i&&null!=r?{id:r}:{},name:n,response:{name:n,content:a.text}}});break;case"file":if("data"===a.data.type){let n=(0,t.getTopLevelMediaType)(a.mediaType);e.push({inlineData:{mimeType:(0,t.resolveFullMediaType)({part:a}),data:(0,t.convertToBase64)(a.data.data)}},{text:`Tool executed successfully and returned this ${"image"===n?"image":"file"} as a response`})}else e.push({text:JSON.stringify(a)});break;default:e.push({text:JSON.stringify(a)})}}(e,n.toolName,s.value,n.toolCallId,h);else{var v;e.push({functionResponse:{...h&&null!=n.toolCallId?{id:n.toolCallId}:{},name:n.toolName,response:{name:n.toolName,content:"execution-denied"===s.type?s.reason??"Tool call execution denied.":!function e(t){return Array.isArray(t)?t.some(e):"object"==typeof t&&null!==t&&Object.entries(t).some(([t,n])=>"$ref"===t||e(n))}(v=s.value)?v:JSON.stringify(v)}}})}}i.push({role:"user",parts:e})}}if(s&&o.length>0&&i.length>0&&"user"===i[0].role){let e=o.map(e=>e.text).join("\n\n");i[0].parts.unshift({text:e+"\n\n"})}if(g&&null!=u){let e=Array.from(new Set(b));u({type:"other",message:`Replayed ${b.length} \`functionCall\` part(s) for a Gemini 3 model without a \`thoughtSignature\` (tools: ${e.map(e=>`\`${e}\``).join(", ")}). Injected the documented \`skip_thought_signature_validator\` sentinel to keep the request from failing with HTTP 400. The likely cause is application code that drops \`providerOptions.google.thoughtSignature\` when persisting or serializing assistant tool-call messages. See https://ai.google.dev/gemini-api/docs/thought-signatures.`})}return{systemInstruction:o.length>0&&!s?{parts:o}:void 0,contents:i}}(n.downloadToolResultFiles?await w(o,{abortSignal:k,maxBytes:n.downloadToolResultFiles.maxBytes,supportedUrls:D}):o,{isGemmaModel:M,isGemini3Model:q,onWarning:e=>I.push(e),providerOptionsNames:O,supportsFunctionResponseParts:q,includeFunctionCallIds:!E,supportedFunctionResponseUrls:D}),{tools:B,toolConfig:W,toolWarnings:K}=function({tools:e,toolChoice:t,modelId:n,isVertexProvider:o=!1}){e=e?.length?e:void 0;let i=[],{supportsGemini2Tools:a,supportsFileSearch:s,usesGemini3Features:l}=C(n);if(null==e)return{tools:void 0,toolConfig:void 0,toolWarnings:i};let u=e.some(e=>"function"===e.type),c=e.some(e=>"provider"===e.type);if(u&&c&&!l&&i.push({type:"unsupported",feature:"combination of function and provider-defined tools"}),c){let n=[];if(e.filter(e=>"provider"===e.type).forEach(e=>{switch(e.id){case"google.google_search":a?n.push({googleSearch:{...e.args}}):i.push({type:"unsupported",feature:`provider-defined tool ${e.id}`,details:"Google Search requires Gemini 2.0 or newer."});break;case"google.enterprise_web_search":a?n.push({enterpriseWebSearch:{}}):i.push({type:"unsupported",feature:`provider-defined tool ${e.id}`,details:"Enterprise Web Search requires Gemini 2.0 or newer."});break;case"google.url_context":a?n.push({urlContext:{}}):i.push({type:"unsupported",feature:`provider-defined tool ${e.id}`,details:"The URL context tool is not supported with other Gemini models than Gemini 2."});break;case"google.code_execution":a?n.push({codeExecution:{}}):i.push({type:"unsupported",feature:`provider-defined tool ${e.id}`,details:"The code execution tool is not supported with other Gemini models than Gemini 2."});break;case"google.file_search":s?n.push({fileSearch:{...e.args}}):i.push({type:"unsupported",feature:`provider-defined tool ${e.id}`,details:"The file search tool is only supported with Gemini 2.5 models and Gemini 3 models."});break;case"google.vertex_rag_store":a?n.push({retrieval:{vertex_rag_store:{rag_resources:{rag_corpus:e.args.ragCorpus},similarity_top_k:e.args.topK}}}):i.push({type:"unsupported",feature:`provider-defined tool ${e.id}`,details:"The RAG store tool is not supported with other Gemini models than Gemini 2."});break;case"google.google_maps":a?n.push({googleMaps:{}}):i.push({type:"unsupported",feature:`provider-defined tool ${e.id}`,details:"The Google Maps grounding tool is not supported with Gemini models other than Gemini 2 or newer."});break;default:i.push({type:"unsupported",feature:`provider-defined tool ${e.id}`})}}),u&&l&&n.length>0){let r=[];for(let t of e)"function"===t.type&&r.push(A(t));let a={functionCallingConfig:{mode:"VALIDATED"},...!o&&{includeServerSideToolInvocations:!0}};if(null!=t)switch(t.type){case"auto":break;case"none":a.functionCallingConfig={mode:"NONE"};break;case"required":a.functionCallingConfig={mode:"ANY"};break;case"tool":a.functionCallingConfig={mode:"ANY",allowedFunctionNames:[t.toolName]}}return{tools:[...n,{functionDeclarations:r}],toolConfig:a,toolWarnings:i}}return{tools:n.length>0?n:void 0,toolConfig:void 0,toolWarnings:i}}let d=[],p=!1;for(let t of e)"function"===t.type?(d.push(A(t)),!0===t.strict&&(p=!0)):i.push({type:"unsupported",feature:`function tool ${t.name}`});if(null==t)return{tools:[{functionDeclarations:d}],toolConfig:p?{functionCallingConfig:{mode:"VALIDATED"}}:void 0,toolWarnings:i};let h=t.type;switch(h){case"auto":return{tools:[{functionDeclarations:d}],toolConfig:{functionCallingConfig:{mode:p?"VALIDATED":"AUTO"}},toolWarnings:i};case"none":return{tools:[{functionDeclarations:d}],toolConfig:{functionCallingConfig:{mode:"NONE"}},toolWarnings:i};case"required":return{tools:[{functionDeclarations:d}],toolConfig:{functionCallingConfig:{mode:"ANY"}},toolWarnings:i};case"tool":return{tools:[{functionDeclarations:d}],toolConfig:{functionCallingConfig:{mode:"ANY",allowedFunctionNames:[t.toolName]}},toolWarnings:i};default:throw new r.UnsupportedFunctionalityError({functionality:`tool choice type: ${h}`})}}({tools:m,toolChoice:g,modelId:e,isVertexProvider:E}),V=(0,t.createToolNameMapping)({tools:m,providerToolNames:{"google.code_execution":"code_execution"}}),J=function({reasoning:e,modelId:n,warnings:o}){if((0,t.isCustomReasoning)(e))return C(n).usesGemini3Features&&!n.includes("gemini-3-pro-image")?function({reasoning:e,modelId:n,warnings:o}){let r=function(e){let t=e.split("/").at(-1)?.toLowerCase();if("gemini-flash-latest"===t)return"low";let n=/^gemini-(\d+)\.(\d+)-flash(?:$|-(?!lite(?:-|$)))/.exec(t??"");if(null==n)return"minimal";let o=Number(n[1]),r=Number(n[2]);return o>3||3===o&&r>=7?"low":"minimal"}(n);if("none"===e)return{thinkingLevel:r};let i=(0,t.mapReasoningToProviderEffort)({reasoning:e,effortMap:{minimal:r,low:"low",medium:"medium",high:"high",xhigh:"high"},warnings:o});if(null!=i)return{thinkingLevel:i}}({reasoning:e,modelId:n,warnings:o}):function({reasoning:e,modelId:n,warnings:o}){let r;if("none"===e)return{thinkingBudget:0};let i=(0,t.mapReasoningToProviderBudget)({reasoning:e,maxOutputTokens:65536,maxReasoningBudget:(r=n.toLowerCase()).includes("2.5-pro")||r.includes("gemini-3-pro-image")?32768:24576,minReasoningBudget:0,warnings:o});if(null!=i)return{thinkingBudget:i}}({reasoning:e,modelId:n,warnings:o})}({reasoning:b,modelId:e,warnings:I}),G=T?.thinkingConfig||J?{...J,...T?.thinkingConfig}:void 0,Y=x&&E?T?.streamFunctionCallArguments??!1:void 0,Z=T?.threshold,X=T?.safetySettings??(null!=Z?L.map(e=>({category:e,threshold:Z})):void 0),Q=W||Y||T?.retrievalConfig?{...W,...Y&&{functionCallingConfig:{...W?.functionCallingConfig,streamFunctionCallArguments:!0}},...T?.retrievalConfig&&{retrievalConfig:T.retrievalConfig}}:void 0;return{args:{generationConfig:{maxOutputTokens:i,temperature:a,topK:l,topP:s,frequencyPenalty:N?void 0:u,presencePenalty:N?void 0:c,stopSequences:d,seed:h,responseMimeType:p?.type==="json"?"application/json":void 0,responseJsonSchema:p?.type==="json"&&null!=p.schema&&(T?.structuredOutputs??!0)?v(p.schema):void 0,...T?.audioTimestamp&&{audioTimestamp:T.audioTimestamp},responseModalities:T?.responseModalities,thinkingConfig:G,...T?.mediaResolution&&{mediaResolution:T.mediaResolution},...$&&{imageConfig:$}},contents:F,systemInstruction:M?void 0:H,safetySettings:X,tools:B,toolConfig:Q,cachedContent:T?.cachedContent,labels:T?.labels,serviceTier:R},warnings:[...I,...K],providerOptionsNames:O,extraHeaders:j,toolNameMapping:V}}getArgs(t,{isStreaming:n=!1}={}){return e.prepareRequest({modelId:this.modelId,config:this.config,options:t,isStreaming:n})}static convertGenerateContentResponse({config:e,response:t,warnings:n,providerOptionsNames:o,toolNameMapping:r}){let i,a,s=e=>Object.fromEntries(o.map(t=>[t,e])),l=t.candidates?.[0],u=t.promptFeedback?.blockReason,c=Z(u)?u:void 0,d=l?.finishReason==null&&null!=c,p=l?.finishReason??c,h=[],m=l?.content?.parts??[],f=t.usageMetadata;for(let t of m)if("executableCode"in t&&t.executableCode?.code){let n=e.generateId();i=n,h.push({type:"tool-call",toolCallId:n,toolName:r?.toCustomToolName("code_execution")??"code_execution",input:JSON.stringify(t.executableCode),providerExecuted:!0})}else if("codeExecutionResult"in t&&t.codeExecutionResult)h.push({type:"tool-result",toolCallId:i,toolName:r?.toCustomToolName("code_execution")??"code_execution",result:{outcome:t.codeExecutionResult.outcome,output:t.codeExecutionResult.output??""}});else if("text"in t&&null!=t.text){let e=t.thoughtSignature?s({thoughtSignature:t.thoughtSignature}):void 0;0===t.text.length?null!=e&&h.length>0&&(h[h.length-1].providerMetadata=e):h.push({type:!0===t.thought?"reasoning":"text",text:t.text,providerMetadata:e})}else if("functionCall"in t&&null!=t.functionCall.name)h.push({type:"tool-call",toolCallId:t.functionCall.id||e.generateId(),toolName:t.functionCall.name,input:JSON.stringify(t.functionCall.args??{}),providerMetadata:t.thoughtSignature?s({thoughtSignature:t.thoughtSignature}):void 0});else if("inlineData"in t){let e=!0===t.thought,n=!!t.thoughtSignature;h.push({type:e?"reasoning-file":"file",data:{type:"data",data:t.inlineData.data},mediaType:t.inlineData.mimeType,providerMetadata:n?s({thoughtSignature:t.thoughtSignature}):void 0})}else if("toolCall"in t&&t.toolCall){let n=t.toolCall.id||e.generateId();a=n,h.push({type:"tool-call",toolCallId:n,toolName:`server:${t.toolCall.toolType}`,input:JSON.stringify(t.toolCall.args??{}),providerExecuted:!0,dynamic:!0,providerMetadata:s(t.thoughtSignature?{thoughtSignature:t.thoughtSignature,serverToolCallId:n,serverToolType:t.toolCall.toolType}:{serverToolCallId:n,serverToolType:t.toolCall.toolType})})}else if("toolResponse"in t&&t.toolResponse){let n=a||t.toolResponse.id||e.generateId();h.push({type:"tool-result",toolCallId:n,toolName:`server:${t.toolResponse.toolType}`,result:t.toolResponse.response??{},providerMetadata:s(t.thoughtSignature?{thoughtSignature:t.thoughtSignature,serverToolCallId:n,serverToolType:t.toolResponse.toolType}:{serverToolCallId:n,serverToolType:t.toolResponse.toolType})}),a=void 0}for(let t of D({groundingMetadata:l?.groundingMetadata,generateId:e.generateId})??[])h.push(t);return{content:h,finishReason:{unified:d?"content-filter":N({finishReason:p,hasToolCalls:h.some(e=>"tool-call"===e.type&&!e.providerExecuted)}),raw:p},usage:g(f),warnings:n,providerMetadata:s({promptFeedback:t.promptFeedback??null,groundingMetadata:l?.groundingMetadata??null,urlContextMetadata:l?.urlContextMetadata??null,safetyRatings:l?.safetyRatings??null,usageMetadata:f??null,finishMessage:l?.finishMessage??null,serviceTier:f?.serviceTier??null}),response:{id:t.responseId??void 0}}}async doGenerate(n){let{args:o,warnings:r,providerOptionsNames:i,extraHeaders:a,toolNameMapping:l}=await this.getArgs(n),u=(0,t.combineHeaders)(this.config.headers?await (0,t.resolve)(this.config.headers):void 0,n.headers,a),{responseHeaders:c,value:d,rawValue:p}=await (0,t.postJsonToApi)({url:`${this.config.baseURL}/${m(this.modelId)}:generateContent`,headers:u,body:o,failedResponseHandler:s,successfulResponseHandler:(0,t.createJsonResponseHandler)(G),abortSignal:n.abortSignal,fetch:this.config.fetch}),h=e.convertGenerateContentResponse({config:this.config,response:d,warnings:r,providerOptionsNames:i,toolNameMapping:l});return{...h,request:{body:o},response:{...h.response,headers:c,body:p}}}async doStream(e){let n,o,r,i,{args:a,warnings:l,providerOptionsNames:u,extraHeaders:c,toolNameMapping:d}=await this.getArgs(e,{isStreaming:!0}),p=e=>Object.fromEntries(u.map(t=>[t,e])),h=(0,t.combineHeaders)(this.config.headers?await (0,t.resolve)(this.config.headers):void 0,e.headers,c),{responseHeaders:f,value:y}=await (0,t.postJsonToApi)({url:`${this.config.baseURL}/${m(this.modelId)}:streamGenerateContent?alt=sse`,headers:h,body:a,failedResponseHandler:s,successfulResponseHandler:(0,t.createEventSourceResponseHandler)(Y),abortSignal:e.abortSignal,fetch:this.config.fetch}),b={unified:"other",raw:void 0},_=null,w=null,z=null,v=null,k=null,x=this.config.generateId,S=!1,T=!1,I=null,O=null,E=0,C=new Set,A=[],R=e=>{let t=A.pop();if(null==t)return;let{finalJSON:n,closingDelta:o}=t.accumulator.finalize();o.length>0&&e.enqueue({type:"tool-input-delta",id:t.toolCallId,delta:o,providerMetadata:t.providerMetadata}),e.enqueue({type:"tool-input-end",id:t.toolCallId,providerMetadata:t.providerMetadata}),e.enqueue({type:"tool-call",toolCallId:t.toolCallId,toolName:t.toolName,input:n,providerMetadata:t.providerMetadata}),S=!0};return{stream:y.pipeThrough(new TransformStream({start(e){e.enqueue({type:"stream-start",warnings:l})},transform(t,a){if(e.includeRawChunks&&a.enqueue({type:"raw",rawValue:t.rawValue}),!t.success)return void a.enqueue({type:"error",error:t.error});let s=t.value;T||null==s.responseId||(T=!0,a.enqueue({type:"response-metadata",id:s.responseId}));let l=s.usageMetadata;null!=l&&(i=l),null!=s.promptFeedback&&null==n&&(_=s.promptFeedback,Z(s.promptFeedback.blockReason)&&(b={unified:"content-filter",raw:n=s.promptFeedback.blockReason}));let u=s.candidates?.[0];if(null!=u&&(null!=u.groundingMetadata&&(w=u.groundingMetadata),null!=u.urlContextMetadata&&(z=u.urlContextMetadata),null!=u.safetyRatings&&(v=u.safetyRatings),null!=u.finishMessage&&(k=u.finishMessage)),null!=n||null==u)return;let c=u.content,h=D({groundingMetadata:u.groundingMetadata,generateId:x});if(null!=h)for(let e of h)"url"!==e.sourceType||C.has(e.url)||(C.add(e.url),a.enqueue(e));if(null!=c){let e=c.parts??[];for(let t of e)if("executableCode"in t&&t.executableCode?.code){let e=x();o=e,a.enqueue({type:"tool-call",toolCallId:e,toolName:d.toCustomToolName("code_execution"),input:JSON.stringify(t.executableCode),providerExecuted:!0})}else if("codeExecutionResult"in t&&t.codeExecutionResult){let e=o;e&&a.enqueue({type:"tool-result",toolCallId:e,toolName:d.toCustomToolName("code_execution"),result:{outcome:t.codeExecutionResult.outcome,output:t.codeExecutionResult.output??""}})}else if("text"in t&&null!=t.text){let e=t.thoughtSignature?p({thoughtSignature:t.thoughtSignature}):void 0;0===t.text.length?null!=e&&null!==I&&a.enqueue({type:"text-delta",id:I,delta:"",providerMetadata:e}):!0===t.thought?(null!==I&&(a.enqueue({type:"text-end",id:I}),I=null),null===O&&(O=String(E++),a.enqueue({type:"reasoning-start",id:O,providerMetadata:e})),a.enqueue({type:"reasoning-delta",id:O,delta:t.text,providerMetadata:e})):(null!==O&&(a.enqueue({type:"reasoning-end",id:O}),O=null),null===I&&(I=String(E++),a.enqueue({type:"text-start",id:I,providerMetadata:e})),a.enqueue({type:"text-delta",id:I,delta:t.text,providerMetadata:e}))}else if("inlineData"in t){null!==I&&(a.enqueue({type:"text-end",id:I}),I=null),null!==O&&(a.enqueue({type:"reasoning-end",id:O}),O=null);let e=!0===t.thought,n=t.thoughtSignature?p({thoughtSignature:t.thoughtSignature}):void 0;a.enqueue({type:e?"reasoning-file":"file",mediaType:t.inlineData.mimeType,data:{type:"data",data:t.inlineData.data},providerMetadata:n})}else if("toolCall"in t&&t.toolCall){let e=t.toolCall.id||x();r=e;let n=p({...t.thoughtSignature?{thoughtSignature:t.thoughtSignature}:{},serverToolCallId:e,serverToolType:t.toolCall.toolType});a.enqueue({type:"tool-call",toolCallId:e,toolName:`server:${t.toolCall.toolType}`,input:JSON.stringify(t.toolCall.args??{}),providerExecuted:!0,dynamic:!0,providerMetadata:n})}else if("toolResponse"in t&&t.toolResponse){let e=r||t.toolResponse.id||x(),n=p({...t.thoughtSignature?{thoughtSignature:t.thoughtSignature}:{},serverToolCallId:e,serverToolType:t.toolResponse.toolType});a.enqueue({type:"tool-result",toolCallId:e,toolName:`server:${t.toolResponse.toolType}`,result:t.toolResponse.response??{},providerMetadata:n}),r=void 0}for(let t of e){if(!("functionCall"in t))continue;let e=t.thoughtSignature?p({thoughtSignature:t.thoughtSignature}):void 0,n=null!=t.functionCall.partialArgs||null!=t.functionCall.name&&!0===t.functionCall.willContinue,o=null==t.functionCall.name&&null==t.functionCall.args&&null==t.functionCall.partialArgs&&null==t.functionCall.willContinue,r=null!=t.functionCall.name&&null!=t.functionCall.args&&null==t.functionCall.partialArgs,i=null!=t.functionCall.name&&null==t.functionCall.args&&null==t.functionCall.partialArgs&&!0!==t.functionCall.willContinue;if(n){if(null!=t.functionCall.name){let n=t.functionCall.id||x(),o=new j;if(A.push({toolCallId:n,toolName:t.functionCall.name,accumulator:o,providerMetadata:e}),a.enqueue({type:"tool-input-start",id:n,toolName:t.functionCall.name,providerMetadata:e}),null!=t.functionCall.partialArgs){let r=t.functionCall.partialArgs,{textDelta:i}=o.processPartialArgs(r);i.length>0&&a.enqueue({type:"tool-input-delta",id:n,delta:i,providerMetadata:e}),!0!==t.functionCall.willContinue&&r.every(e=>!0!==e.willContinue)&&R(a)}}else if(null!=t.functionCall.partialArgs&&A.length>0){let n=A[A.length-1],o=t.functionCall.partialArgs,{textDelta:r}=n.accumulator.processPartialArgs(o);r.length>0&&a.enqueue({type:"tool-input-delta",id:n.toolCallId,delta:r,providerMetadata:e}),!0!==t.functionCall.willContinue&&o.every(e=>!0!==e.willContinue)&&R(a)}}else if(o&&A.length>0)R(a);else if(r){let n=t.functionCall.id||x(),o=t.functionCall.name,r="string"==typeof t.functionCall.args?t.functionCall.args:JSON.stringify(t.functionCall.args??{});a.enqueue({type:"tool-input-start",id:n,toolName:o,providerMetadata:e}),a.enqueue({type:"tool-input-delta",id:n,delta:r,providerMetadata:e}),a.enqueue({type:"tool-input-end",id:n,providerMetadata:e}),a.enqueue({type:"tool-call",toolCallId:n,toolName:o,input:r,providerMetadata:e}),S=!0}else if(i){let n=t.functionCall.id||x(),o=t.functionCall.name;a.enqueue({type:"tool-input-start",id:n,toolName:o,providerMetadata:e}),a.enqueue({type:"tool-input-end",id:n,providerMetadata:e}),a.enqueue({type:"tool-call",toolCallId:n,toolName:o,input:"{}",providerMetadata:e}),S=!0}}}null!=u.finishReason&&(b={unified:N({finishReason:u.finishReason,hasToolCalls:S}),raw:u.finishReason})},flush(e){null!==I&&e.enqueue({type:"text-end",id:I}),null!==O&&e.enqueue({type:"reasoning-end",id:O}),e.enqueue({type:"finish",finishReason:b,usage:g(i),providerMetadata:p({promptFeedback:_,groundingMetadata:w,urlContextMetadata:z,safetyRatings:v,usageMetadata:i??null,finishMessage:k,serviceTier:i?.serviceTier??null})})}})),response:{headers:f},request:{body:a}}}};function D({groundingMetadata:e,generateId:t}){if(!e?.groundingChunks)return;let n=[];for(let o of e.groundingChunks)if(null!=o.web)n.push({type:"source",sourceType:"url",id:t(),url:o.web.uri,title:o.web.title??void 0});else if(null!=o.image)n.push({type:"source",sourceType:"url",id:t(),url:o.image.sourceUri,title:o.image.title??void 0});else if(null!=o.retrievedContext){let e=o.retrievedContext.uri,r=o.retrievedContext.fileSearchStore;if(e&&(e.startsWith("http://")||e.startsWith("https://")))n.push({type:"source",sourceType:"url",id:t(),url:e,title:o.retrievedContext.title??void 0});else if(e){let r,i=o.retrievedContext.title??"Unknown Document",a="application/octet-stream";e.endsWith(".pdf")?a="application/pdf":e.endsWith(".txt")?a="text/plain":e.endsWith(".docx")?a="application/vnd.openxmlformats-officedocument.wordprocessingml.document":e.endsWith(".doc")?a="application/msword":e.match(/\.(md|markdown)$/)&&(a="text/markdown"),r=e.split("/").pop(),n.push({type:"source",sourceType:"document",id:t(),mediaType:a,title:i,filename:r})}else if(r){let e=o.retrievedContext.title??"Unknown Document";n.push({type:"source",sourceType:"document",id:t(),mediaType:"application/octet-stream",title:e,filename:r.split("/").pop()})}}else null!=o.maps&&o.maps.uri&&n.push({type:"source",sourceType:"url",id:t(),url:o.maps.uri,title:o.maps.title??void 0});return n.length>0?n:void 0}let F=()=>i.z.object({webSearchQueries:i.z.array(i.z.string()).nullish(),imageSearchQueries:i.z.array(i.z.string()).nullish(),retrievalQueries:i.z.array(i.z.string()).nullish(),searchEntryPoint:i.z.object({renderedContent:i.z.string()}).nullish(),groundingChunks:i.z.array(i.z.object({web:i.z.object({uri:i.z.string(),title:i.z.string().nullish()}).nullish(),image:i.z.object({sourceUri:i.z.string(),imageUri:i.z.string(),title:i.z.string().nullish(),domain:i.z.string().nullish()}).nullish(),retrievedContext:i.z.object({uri:i.z.string().nullish(),title:i.z.string().nullish(),text:i.z.string().nullish(),fileSearchStore:i.z.string().nullish()}).nullish(),maps:i.z.object({uri:i.z.string().nullish(),title:i.z.string().nullish(),text:i.z.string().nullish(),placeId:i.z.string().nullish()}).nullish()})).nullish(),groundingSupports:i.z.array(i.z.object({segment:i.z.object({startIndex:i.z.number().nullish(),endIndex:i.z.number().nullish(),text:i.z.string().nullish()}).nullish(),segment_text:i.z.string().nullish(),groundingChunkIndices:i.z.array(i.z.number()).nullish(),supportChunkIndices:i.z.array(i.z.number()).nullish(),confidenceScores:i.z.array(i.z.number()).nullish(),confidenceScore:i.z.array(i.z.number()).nullish()})).nullish(),retrievalMetadata:i.z.union([i.z.object({webDynamicRetrievalScore:i.z.number()}),i.z.object({})]).nullish()}),H=i.z.object({jsonPath:i.z.string(),stringValue:i.z.string().nullish(),numberValue:i.z.number().nullish(),boolValue:i.z.boolean().nullish(),nullValue:i.z.unknown().nullish(),willContinue:i.z.boolean().nullish()}),B=()=>i.z.object({parts:i.z.array(i.z.union([i.z.object({functionCall:i.z.object({id:i.z.string().nullish(),name:i.z.string().nullish(),args:i.z.unknown().nullish(),partialArgs:i.z.array(H).nullish(),willContinue:i.z.boolean().nullish()}),thoughtSignature:i.z.string().nullish()}),i.z.object({inlineData:i.z.object({mimeType:i.z.string(),data:i.z.string()}),thought:i.z.boolean().nullish(),thoughtSignature:i.z.string().nullish()}),i.z.object({toolCall:i.z.object({toolType:i.z.string(),args:i.z.unknown().nullish(),id:i.z.string()}),thoughtSignature:i.z.string().nullish()}),i.z.object({toolResponse:i.z.object({toolType:i.z.string(),response:i.z.unknown().nullish(),id:i.z.string()}),thoughtSignature:i.z.string().nullish()}),i.z.object({executableCode:i.z.object({language:i.z.string(),code:i.z.string()}).nullish(),codeExecutionResult:i.z.object({outcome:i.z.string(),output:i.z.string().nullish()}).nullish(),text:i.z.string().nullish(),thought:i.z.boolean().nullish(),thoughtSignature:i.z.string().nullish()})])).nullish()}),W=()=>i.z.object({category:i.z.string().nullish(),probability:i.z.string().nullish(),probabilityScore:i.z.number().nullish(),severity:i.z.string().nullish(),severityScore:i.z.number().nullish(),blocked:i.z.boolean().nullish()}),K=i.z.array(i.z.object({modality:i.z.string(),tokenCount:i.z.number()}).loose()).nullish(),V=i.z.object({cachedContentTokenCount:i.z.number().nullish(),thoughtsTokenCount:i.z.number().nullish(),promptTokenCount:i.z.number().nullish(),candidatesTokenCount:i.z.number().nullish(),toolUsePromptTokenCount:i.z.number().nullish(),totalTokenCount:i.z.number().nullish(),trafficType:i.z.string().nullish(),serviceTier:i.z.string().nullish(),promptTokensDetails:K,cacheTokensDetails:K,candidatesTokensDetails:K,toolUsePromptTokensDetails:K}).loose(),J=()=>i.z.object({urlMetadata:i.z.array(i.z.object({retrievedUrl:i.z.string(),urlRetrievalStatus:i.z.string()})).nullish()}),G=(0,t.lazySchema)(()=>(0,t.zodSchema)(i.z.object({responseId:i.z.string().nullish(),candidates:i.z.array(i.z.object({content:B().nullish().or(i.z.object({}).strict()),finishReason:i.z.string().nullish(),finishMessage:i.z.string().nullish(),safetyRatings:i.z.array(W()).nullish(),groundingMetadata:F().nullish(),urlContextMetadata:J().nullish()})).nullish(),usageMetadata:V.nullish(),promptFeedback:i.z.object({blockReason:i.z.string().nullish(),safetyRatings:i.z.array(W()).nullish()}).nullish()}))),Y=(0,t.lazySchema)(()=>(0,t.zodSchema)(i.z.object({responseId:i.z.string().nullish(),candidates:i.z.array(i.z.object({content:B().nullish(),finishReason:i.z.string().nullish(),finishMessage:i.z.string().nullish(),safetyRatings:i.z.array(W()).nullish(),groundingMetadata:F().nullish(),urlContextMetadata:J().nullish()})).nullish(),usageMetadata:V.nullish(),promptFeedback:i.z.object({blockReason:i.z.string().nullish(),safetyRatings:i.z.array(W()).nullish()}).nullish()})));function Z(e){return null!=e&&""!==e&&"BLOCK_REASON_UNSPECIFIED"!==e&&"BLOCKED_REASON_UNSPECIFIED"!==e}let X=i.z.looseObject({searchTypes:i.z.object({webSearch:i.z.object({}).optional(),imageSearch:i.z.object({}).optional()}).optional(),timeRangeFilter:i.z.object({startTime:i.z.string(),endTime:i.z.string()}).optional()}),Q=(0,t.createProviderExecutedToolFactory)({id:"google.google_search",inputSchema:(0,t.lazySchema)(()=>(0,t.zodSchema)(i.z.object({}))),outputSchema:(0,t.lazySchema)(()=>(0,t.zodSchema)(i.z.object({})))}),ee=(0,t.lazySchema)(()=>(0,t.zodSchema)(i.z.object({googleSearch:X.optional()}))),et=new Set(["text","reasoning","source","tool-call","tool-result"]),en=i.z.object({code:i.z.union([i.z.number(),i.z.string()]).nullish(),message:i.z.string().nullish(),status:i.z.string().nullish()}),eo=i.z.object({requestCount:i.z.union([i.z.string(),i.z.number()]).nullish(),successfulRequestCount:i.z.union([i.z.string(),i.z.number()]).nullish(),failedRequestCount:i.z.union([i.z.string(),i.z.number()]).nullish(),pendingRequestCount:i.z.union([i.z.string(),i.z.number()]).nullish()}),er=i.z.object({responsesFile:i.z.string().nullish(),inlinedResponses:i.z.object({inlinedResponses:i.z.array(i.z.object({metadata:i.z.object({key:i.z.string()}),response:i.z.unknown().nullish(),error:en.nullish()}))}).nullish()}),ei=()=>i.z.object({name:i.z.string(),metadata:i.z.object({state:i.z.string().nullish(),createTime:i.z.string().nullish(),batchStats:eo.nullish(),output:er.nullish()}).nullish(),done:i.z.boolean().nullish(),error:en.nullish(),response:er.nullish()}),ea=(0,t.lazySchema)(()=>(0,t.zodSchema)(ei())),es=(0,t.lazySchema)(()=>(0,t.zodSchema)(i.z.object({operations:i.z.array(ei()).nullish(),nextPageToken:i.z.string().nullish()}))),el=(0,t.lazySchema)(()=>(0,t.zodSchema)(i.z.object({}))),eu=(0,t.lazySchema)(()=>(0,t.zodSchema)(i.z.object({file:i.z.object({name:i.z.string(),expirationTime:i.z.string().nullish()})}))),ec=(0,t.lazySchema)(()=>(0,t.zodSchema)(i.z.object({key:i.z.string(),response:i.z.unknown().nullish(),error:en.nullish()}))),ed=(0,t.lazySchema)(()=>(0,t.zodSchema)(i.z.object({candidates:i.z.array(i.z.unknown()).nullish(),promptFeedback:i.z.object({blockReason:i.z.string().nullish()}).nullish()})));var ep=class{constructor(e){this.specificationVersion="v4",this.provider=e.provider,this.batchConfig=e.config,this.supportedUrls=e.supportedUrls,this.batchGenerateId=e.config.generateId??t.generateId}async doStartBatch(e){let n;for(let t of e.requests){let e=t.type;if("text"!==e&&"image"!==e)throw new r.UnsupportedFunctionalityError({functionality:`batch request type: ${e}`,message:`The Google Batch API does not support batch requests with type "${e}".`})}let o=function(e){let t=e[0]?.modelId;if(null==t)throw new r.InvalidArgumentError({argument:"requests",message:"Google batches require at least one request."});for(let n of e)if(n.modelId!==t)throw new r.InvalidArgumentError({argument:"requests",message:"Google batches require every request to use the same model because the model is part of the batch endpoint."});return t}(e.requests),i=[],a=`ai-sdk-batch-${this.batchGenerateId()}`,l=[],u={batch:{displayName:a,...null!=e.webhookUrl&&{webhookConfig:{uris:[e.webhookUrl]}},inputConfig:{requests:{requests:l}}}},c=new TextEncoder,d=c.encode(JSON.stringify(u)).byteLength;for(let t of e.requests){let e="text"===t.type?await q.prepareRequest({modelId:t.modelId,config:this.batchConfig,options:t.options}):await this.prepareImageRequest(t),o={request:e.args,metadata:{key:t.id}};if(null==n){let r=d+c.encode(JSON.stringify(o)).byteLength+ +(l.length>0);if(r<2e7)l.push(o),d=r;else{for(let e of(n=[],l))n.push(JSON.stringify({key:e.metadata.key,request:e.request}),"\n");l.length=0,n.push(JSON.stringify({key:t.id,request:e.args}),"\n")}}else n.push(JSON.stringify({key:t.id,request:e.args}),"\n");for(let n of e.warnings)i.push({requestId:t.id,warning:n})}let p=await this.getHeaders(e.headers),h=`${this.batchConfig.baseURL}/${m(o)}:batchGenerateContent`;if(null==n){let{value:n}=await (0,t.postJsonToApi)({url:h,headers:p,body:u,failedResponseHandler:s,successfulResponseHandler:(0,t.createJsonResponseHandler)(ea),abortSignal:e.abortSignal,fetch:this.batchConfig.fetch});return{batchId:n.name,...eh(n),warnings:i}}let g=new Blob(n,{type:"application/jsonl"});if(n.length=0,g.size>0x80000000)throw new r.InvalidArgumentError({argument:"requests",message:"Google batch input files must not exceed 2 GB."});let{value:f}=await (0,t.postJsonToApi)({url:`${this.getBaseOrigin()}/upload/v1beta/files`,headers:(0,t.combineHeaders)(p,{"X-Goog-Upload-Protocol":"resumable","X-Goog-Upload-Command":"start","X-Goog-Upload-Header-Content-Length":String(g.size),"X-Goog-Upload-Header-Content-Type":"application/jsonl"}),body:{file:{display_name:`${a}-input`}},failedResponseHandler:s,successfulResponseHandler:ef,abortSignal:e.abortSignal,fetch:this.batchConfig.fetch}),{value:y}=await (0,t.postToApi)({url:f,headers:{"X-Goog-Upload-Offset":"0","X-Goog-Upload-Command":"upload, finalize","Content-Type":"application/jsonl"},body:{content:g,values:{byteLength:g.size,mediaType:"application/jsonl"}},failedResponseHandler:s,successfulResponseHandler:(0,t.createJsonResponseHandler)(eu),abortSignal:e.abortSignal,fetch:this.batchConfig.fetch}),{value:b}=await (0,t.postJsonToApi)({url:h,headers:p,body:{batch:{displayName:a,...null!=e.webhookUrl&&{webhookConfig:{uris:[e.webhookUrl]}},inputConfig:{fileName:y.file.name}}},failedResponseHandler:s,successfulResponseHandler:(0,t.createJsonResponseHandler)(ea),abortSignal:e.abortSignal,fetch:this.batchConfig.fetch});return{batchId:b.name,...eh(b),providerMetadata:{google:{inputFileId:y.file.name,...null!=y.file.expirationTime?{inputFileExpiresAt:y.file.expirationTime}:{}}},warnings:i}}async doGetBatchStatus(e){return eh(await this.retrieveBatch(e))}async doCancelBatch(e){return await (0,t.postJsonToApi)({url:`${this.batchConfig.baseURL}/${e.batchId}:cancel`,headers:await this.getHeaders(e.headers),body:{},failedResponseHandler:s,successfulResponseHandler:(0,t.createJsonResponseHandler)(el),abortSignal:e.abortSignal,fetch:this.batchConfig.fetch}),{}}async doListBatches(e){let n=new URL(`${this.batchConfig.baseURL}/batches`);null!=e.limit&&n.searchParams.set("pageSize",String(e.limit)),null!=e.cursor&&n.searchParams.set("pageToken",e.cursor);let{value:o}=await (0,t.getFromApi)({url:n.toString(),headers:await this.getHeaders(e.headers),failedResponseHandler:s,successfulResponseHandler:(0,t.createJsonResponseHandler)(es),abortSignal:e.abortSignal,fetch:this.batchConfig.fetch,validateUrl:!1});return{batches:(o.operations??[]).map(e=>({batchId:e.name,...eh(e)})),...null!=o.nextPageToken?{nextCursor:o.nextPageToken}:{}}}async doGetBatchResults(e){let n=await this.retrieveBatch(e),o=eh(n);if("pending"===o.status)throw new r.InvalidArgumentError({argument:"batchId",message:`Google batch "${e.batchId}" is not complete.`});let i=n.metadata?.output?.inlinedResponses?.inlinedResponses??n.response?.inlinedResponses?.inlinedResponses;if(null!=i)return(0,t.convertAsyncIteratorToReadableStream)(this.iterateBatchResults(i.map(e=>({key:e.metadata.key,response:e.response,error:e.error}))));let a=n.metadata?.output?.responsesFile??n.response?.responsesFile;if(null==a){if("completed"===o.status)throw new r.InvalidResponseDataError({data:n,message:`Google batch "${e.batchId}" completed without batch output.`});return new ReadableStream({start(e){e.close()}})}let l=a.split("/").map(e=>encodeURIComponent(e)).join("/"),{value:u}=await (0,t.getFromApi)({url:`${this.getBaseOrigin()}/download/v1beta/${l}:download?alt=media`,headers:await this.getHeaders(e.headers),failedResponseHandler:s,successfulResponseHandler:(0,t.createJsonLinesResponseHandler)(ec),abortSignal:e.abortSignal,fetch:this.batchConfig.fetch,validateUrl:!1});return(0,t.convertAsyncIteratorToReadableStream)(this.iterateBatchResults(u))}async retrieveBatch(e){let{value:n}=await (0,t.getFromApi)({url:`${this.batchConfig.baseURL}/${e.batchId}`,headers:await this.getHeaders(e.headers),failedResponseHandler:s,successfulResponseHandler:(0,t.createJsonResponseHandler)(ea),abortSignal:e.abortSignal,fetch:this.batchConfig.fetch,validateUrl:!1});return n}async *iterateBatchResults(e){for await(let n of e){if(null!=n.error){let e=eg(n.error,"Google batch request failed."),t="CANCELLED"===n.error.status||"1"===String(n.error.code)?"cancelled":"failed";yield{type:"text",id:n.key,status:t,error:e};continue}if(null==n.response){yield{type:"text",id:n.key,status:"failed",error:{message:"Google returned a batch result without a response or error.",code:"invalid_batch_result"}};continue}let e=await (0,t.safeValidateTypes)({value:n.response,schema:ed});if(e.success&&(null==e.value.candidates||0===e.value.candidates.length)){let t=e.value.promptFeedback??void 0,o=t?.blockReason??void 0;yield{type:"text",id:n.key,status:"failed",error:{message:null==o?"Google returned a batch response without any candidates.":`Google blocked the batch request (${o}).`,code:null==o?"invalid_response":"prompt_blocked",...null!=o?{type:o}:{}},...null!=t?{providerMetadata:{google:{promptFeedback:{blockReason:t.blockReason??null}}}}:{}};continue}let o=await (0,t.safeValidateTypes)({value:n.response,schema:G});if(!o.success){yield{type:"text",id:n.key,status:"failed",error:{message:"Google returned an invalid GenerateContent batch result.",code:"invalid_response"}};continue}let r=q.convertGenerateContentResponse({config:this.batchConfig,response:o.value,warnings:[],providerOptionsNames:["google"]}),i=function(e){let n=e.content.flatMap(e=>"file"===e.type&&e.mediaType.startsWith("image/")&&"data"===e.data.type?[(0,t.convertToBase64)(e.data.data)]:[]);if(0===n.length)return;let o=e.providerMetadata?.google??{};return{images:n,warnings:e.warnings,providerMetadata:{google:{...o,images:n.map(()=>({}))}},response:{timestamp:new Date,modelId:e.response?.modelId??"",headers:e.response?.headers},usage:{inputTokens:e.usage.inputTokens.total,outputTokens:e.usage.outputTokens.total,totalTokens:(e.usage.inputTokens.total??0)+(e.usage.outputTokens.total??0)}}}(r);if(null!=i){yield{type:"image",id:n.key,status:"succeeded",result:i};continue}let a=r.content.find(e=>!et.has(e.type));if(null!=a){yield{type:"text",id:n.key,status:"failed",error:{message:`Google returned a "${a.type}" content block, but that content is not supported in AI SDK text batches.`,code:"unsupported_content"}};continue}yield{type:"text",id:n.key,status:"succeeded",result:r}}}async prepareImageRequest(e){let{prompt:n,n:o,size:i,aspectRatio:a,seed:s,files:l,mask:u,providerOptions:c}=e.options,d=[];if(null!=u)throw new r.UnsupportedFunctionalityError({functionality:"mask-based image editing in Google batches"});if(o>1)throw new r.UnsupportedFunctionalityError({functionality:"multiple images per Google batch request"});null!=i&&d.push({type:"unsupported",feature:"size",details:"This model does not support the `size` option. Use `aspectRatio` instead."});let p=[];for(let e of(null!=n&&p.push({type:"text",text:n}),l??[]))p.push("url"===e.type?{type:"file",data:{type:"url",url:new URL(e.url)},mediaType:"image/*"}:{type:"file",data:{type:"data",data:e.data},mediaType:e.mediaType});let h=await (0,t.parseProviderOptions)({provider:"google",providerOptions:c,schema:ee}),{responseModalities:m,imageConfig:g,...f}=await (0,t.parseProviderOptions)({provider:"google",providerOptions:c,schema:S})??{},y=await (0,t.parseProviderOptions)({provider:"google",providerOptions:{google:{...f,responseModalities:["IMAGE"],imageConfig:null!=a||null!=g?{...g,...null!=a?{aspectRatio:a}:{}}:void 0}},schema:S}),b=await q.prepareRequest({modelId:e.modelId,config:this.batchConfig,options:{prompt:[{role:"user",content:p}],seed:s,providerOptions:{google:y??{responseModalities:["IMAGE"]}},tools:h?.googleSearch!=null?[{type:"provider",id:"google.google_search",name:"google_search",args:h.googleSearch}]:void 0}});return{...b,warnings:[...d,...b.warnings]}}async getHeaders(e){return(0,t.combineHeaders)(this.batchConfig.headers?await (0,t.resolve)(this.batchConfig.headers):void 0,e)}getBaseOrigin(){return this.batchConfig.baseURL.replace(/\/v1beta$/,"")}};function eh(e){var n;let o,r,i,a,s=e.metadata?.state??void 0,l=(n=e.metadata?.batchStats,o=em(n?.requestCount),r=em(n?.successfulRequestCount??0),i=em(n?.failedRequestCount??0),a=em(n?.pendingRequestCount??0),(0,t.normalizeBatchRequestCounts)({total:o,pending:a,completed:r,failed:i})),u=e.metadata?.createTime??void 0,c=null!=e.error?eg(e.error,"Google batch failed."):void 0;return{status:function({rawStatus:e,done:t,hasError:n}){if(n)return"failed";if(null==e)return t?"completed":"pending";switch(e.replace(/^(?:BATCH|JOB)_STATE_/,"")){case"SUCCEEDED":return"completed";case"FAILED":case"CANCELLED":case"EXPIRED":return"failed";default:return"pending"}}({rawStatus:s,done:e.done??void 0,hasError:null!=c}),...null!=s?{rawStatus:s}:{},...null!=l?{requestCounts:l}:{},...null!=c?{error:c}:{},...null!=u?{createdAt:u}:{}}}function em(e){let t="string"==typeof e&&/^\d+$/.test(e)?Number(e):e;return"number"==typeof t&&Number.isSafeInteger(t)&&t>=0?t:void 0}function eg(e,t){return{message:e.message??t,...null!=e.status?{type:e.status}:{},...null!=e.code?{code:String(e.code)}:{}}}let ef=async({response:e})=>{let t=e.headers.get("x-goog-upload-url");if(null==t)throw new r.InvalidResponseDataError({data:e.headers,message:"Google did not return a resumable upload URL."});return{value:t}},ey=(0,t.createProviderExecutedToolFactory)({id:"google.enterprise_web_search",inputSchema:(0,t.lazySchema)(()=>(0,t.zodSchema)(i.z.object({}))),outputSchema:(0,t.lazySchema)(()=>(0,t.zodSchema)(i.z.object({})))});i.z.looseObject({fileSearchStoreNames:i.z.array(i.z.string()).describe("The names of the file_search_stores to retrieve from. Example: `fileSearchStores/my-file-search-store-123`"),topK:i.z.number().int().positive().describe("The number of file search retrieval chunks to retrieve.").optional(),metadataFilter:i.z.string().describe("Metadata filter to apply to the file search retrieval documents. See https://google.aip.dev/160 for the syntax of the filter expression.").optional()});let eb=(0,t.createProviderExecutedToolFactory)({id:"google.file_search",inputSchema:(0,t.lazySchema)(()=>(0,t.zodSchema)(i.z.object({}))),outputSchema:(0,t.lazySchema)(()=>(0,t.zodSchema)(i.z.object({})))}),e_={googleSearch:Q,enterpriseWebSearch:ey,googleMaps:(0,t.createProviderExecutedToolFactory)({id:"google.google_maps",inputSchema:(0,t.lazySchema)(()=>(0,t.zodSchema)(i.z.object({}))),outputSchema:(0,t.lazySchema)(()=>(0,t.zodSchema)(i.z.object({})))}),urlContext:(0,t.createProviderExecutedToolFactory)({id:"google.url_context",inputSchema:(0,t.lazySchema)(()=>(0,t.zodSchema)(i.z.object({}))),outputSchema:(0,t.lazySchema)(()=>(0,t.zodSchema)(i.z.object({})))}),fileSearch:eb,codeExecution:b,vertexRagStore:(0,t.createProviderExecutedToolFactory)({id:"google.vertex_rag_store",inputSchema:(0,t.lazySchema)(()=>(0,t.zodSchema)(i.z.object({}))),outputSchema:(0,t.lazySchema)(()=>(0,t.zodSchema)(i.z.object({})))})},ew=new Set(["gemini-2.5-flash-image","gemini-3-pro-image-preview","gemini-3.1-flash-image-preview"]);var ez=class e{static[n.WORKFLOW_SERIALIZE](e){return(0,t.serializeModelOptions)({modelId:e.modelId,config:e.config})}static[n.WORKFLOW_DESERIALIZE](t){return new e(t.modelId,{},t.config)}get maxImagesPerCall(){return null!=this.settings.maxImagesPerCall?this.settings.maxImagesPerCall:1}get supportsFileInputs(){return!!ew.has(this.modelId)||void 0}get supportsMaskInputs(){return!0!==this.supportsFileInputs&&void 0}get provider(){return this.config.provider}constructor(e,t,n){this.modelId=e,this.settings=t,this.config=n,this.specificationVersion="v4"}async doGenerate(e){if(!this.modelId.startsWith("gemini-"))throw Error("Google image models other than Gemini are no longer supported. Use a model ID that starts with `gemini-`.");let{prompt:n,size:o,aspectRatio:r,seed:i,providerOptions:a,headers:s,abortSignal:l,files:u,mask:c}=e,d=[];if(null!=c)throw Error("Gemini image models do not support mask-based image editing.");null!=o&&d.push({type:"unsupported",feature:"size",details:"This model does not support the `size` option. Use `aspectRatio` instead."});let p=[];if(null!=n&&p.push({type:"text",text:n}),null!=u&&u.length>0)for(let e of u)"url"===e.type?p.push({type:"file",data:{type:"url",url:new URL(e.url)},mediaType:"image/*"}):p.push({type:"file",data:{type:"data",data:"string"==typeof e.data?e.data:new Uint8Array(e.data)},mediaType:e.mediaType});let h=[{role:"user",content:p}],m=await (0,t.parseProviderOptions)({provider:"google",providerOptions:a,schema:ee}),{googleSearch:g,responseModalities:f,imageConfig:y,...b}=a?.google??{},_=await new q(this.modelId,{provider:this.config.provider,baseURL:this.config.baseURL,headers:this.config.headers??{},fetch:this.config.fetch,generateId:this.config.generateId??t.generateId}).doGenerate({prompt:h,seed:i,providerOptions:{google:{...b,responseModalities:["IMAGE"],imageConfig:null!=r||null!=y?{...y,...null!=r?{aspectRatio:r}:{}}:void 0}},tools:m?.googleSearch!=null?[{type:"provider",id:"google.google_search",name:"google_search",args:m.googleSearch}]:void 0,headers:s,abortSignal:l}),w=this.config._internal?.currentDate?.()??new Date,z=[];for(let e of _.content)"file"===e.type&&e.mediaType.startsWith("image/")&&"data"===e.data.type&&z.push((0,t.convertToBase64)(e.data.data));let v=_.providerMetadata?.google??{};return{images:z,..."content-filter"===_.finishReason.unified?{isRetryable:!1}:{},warnings:d,providerMetadata:{google:{...v,finishReason:_.finishReason.raw??null,images:z.map(()=>({}))}},response:{timestamp:w,modelId:this.modelId,headers:_.response?.headers},usage:_.usage?{inputTokens:_.usage.inputTokens.total,outputTokens:_.usage.outputTokens.total,totalTokens:(_.usage.inputTokens.total??0)+(_.usage.outputTokens.total??0)}:void 0}}};function ev(e){let t=encodeURIComponent(e);return"."===t?"%252E":".."===t?"%252E%252E":t}var ek=class{get provider(){return this.config.provider}constructor(e){this.config=e,this.specificationVersion="v4"}async uploadFile(e){var n;let o=await (0,t.parseProviderOptions)({provider:"google",providerOptions:e.providerOptions,schema:eS}),i=(0,t.combineHeaders)(this.config.headers(),e.headers),a=this.config.fetch??globalThis.fetch,l=[];null!=e.filename&&l.push({type:"unsupported",feature:"filename"});let u=(0,t.convertInlineFileDataToUint8Array)(e.data),c=e.mediaType,d=o?.displayName,p=await a(`${this.config.baseURL.replace(/\/v1beta$/,"")}/upload/v1beta/files`,{method:"POST",headers:{...i,"X-Goog-Upload-Protocol":"resumable","X-Goog-Upload-Command":"start","X-Goog-Upload-Header-Content-Length":String(u.length),"X-Goog-Upload-Header-Content-Type":c,"Content-Type":"application/json"},body:JSON.stringify({file:{...null!=d?{display_name:d}:{}}}),signal:e.abortSignal});if(!p.ok){let e=await p.text();throw new r.AISDKError({name:"GOOGLE_FILES_UPLOAD_ERROR",message:`Failed to initiate resumable upload: ${p.status} ${e}`})}let h=p.headers.get("x-goog-upload-url");if(!h)throw new r.AISDKError({name:"GOOGLE_FILES_UPLOAD_ERROR",message:"No upload URL returned from initiation request"});let m=await a(h,{method:"POST",headers:{"X-Goog-Upload-Offset":"0","X-Goog-Upload-Command":"upload, finalize"},body:(n=u).buffer instanceof ArrayBuffer?n:new Uint8Array(n),signal:e.abortSignal});if(!m.ok){let e=await m.text();throw new r.AISDKError({name:"GOOGLE_FILES_UPLOAD_ERROR",message:`Failed to upload file data: ${m.status} ${e}`})}let g=(await m.json()).file,f=o?.pollIntervalMs??2e3,y=o?.pollTimeoutMs??3e5,b=Date.now();for(;"PROCESSING"===g.state;){if(Date.now()-b>y)throw new r.AISDKError({name:"GOOGLE_FILES_UPLOAD_TIMEOUT",message:`File processing timed out after ${y}ms`});await (0,t.delay)(f,{abortSignal:e.abortSignal});let n=/^files\/([^/]+)$/.exec(g.name),o=null!=n?`files/${ev(n[1])}`:ev(g.name),{value:a}=await (0,t.getFromApi)({url:`${this.config.baseURL}/${o}`,validateUrl:!1,headers:(0,t.combineHeaders)(i),successfulResponseHandler:(0,t.createJsonResponseHandler)(ex),failedResponseHandler:s,abortSignal:e.abortSignal,fetch:this.config.fetch});g=a}if("FAILED"===g.state)throw new r.AISDKError({name:"GOOGLE_FILES_UPLOAD_FAILED",message:`File processing failed for ${g.name}`});return{warnings:l,providerReference:{google:g.uri},mediaType:g.mimeType??e.mediaType,providerMetadata:{google:{name:g.name,displayName:g.displayName,mimeType:g.mimeType,sizeBytes:g.sizeBytes,state:g.state,uri:g.uri,...null!=g.createTime?{createTime:g.createTime}:{},...null!=g.updateTime?{updateTime:g.updateTime}:{},...null!=g.expirationTime?{expirationTime:g.expirationTime}:{},...null!=g.sha256Hash?{sha256Hash:g.sha256Hash}:{}}}}}};let ex=(0,t.lazySchema)(()=>(0,t.zodSchema)(i.z.object({name:i.z.string(),displayName:i.z.string().nullish(),mimeType:i.z.string(),sizeBytes:i.z.string().nullish(),createTime:i.z.string().nullish(),updateTime:i.z.string().nullish(),expirationTime:i.z.string().nullish(),sha256Hash:i.z.string().nullish(),uri:i.z.string(),state:i.z.string()}))),eS=(0,t.lazySchema)(()=>(0,t.zodSchema)(i.z.looseObject({displayName:i.z.string().nullish(),pollIntervalMs:i.z.number().positive().nullish(),pollTimeoutMs:i.z.number().positive().nullish()}))),eT=(0,t.lazySchema)(()=>(0,t.zodSchema)(i.z.looseObject({pollIntervalMs:i.z.number().positive().nullish(),pollTimeoutMs:i.z.number().positive().nullish(),personGeneration:i.z.enum(["dont_allow","allow_adult","allow_all"]).nullish(),negativePrompt:i.z.string().nullish(),referenceImages:i.z.array(i.z.object({bytesBase64Encoded:i.z.string().nullish(),gcsUri:i.z.string().nullish()})).nullish()})));function eI(e,n){return"url"===e.type?e.url.startsWith("gs://")?{gcsUri:e.url,mimeType:"image/png"}:void n.push({type:"unsupported",feature:"URL-based image input",details:"Google Generative AI video models require base64-encoded images or GCS URIs. URL will be ignored."}):{bytesBase64Encoded:"string"==typeof e.data?e.data:(0,t.convertUint8ArrayToBase64)(e.data),mimeType:e.mediaType||"image/png"}}var eO=class{get provider(){return this.config.provider}get maxVideosPerCall(){return 4}constructor(e,t){this.modelId=e,this.config=t,this.specificationVersion="v4"}async buildRequest(e){let n=[],o=await (0,t.parseProviderOptions)({provider:"google",providerOptions:e.providerOptions,schema:eT}),r=[{}],i=r[0];null!=e.prompt&&(i.prompt=e.prompt);let a=e.frameImages?.find(e=>"first_frame"===e.frameType)?.image??e.image;if(null!=a){let e=eI(a,n);null!=e&&(i.image=e)}let s=e.frameImages?.find(e=>"last_frame"===e.frameType)?.image;if(null!=s){let e=eI(s,n);null!=e&&(i.lastFrame=e)}let l=function(e){if(null==e.frameImages||!(e.frameImages.length>0))return null!=e.inputReferences&&e.inputReferences.length>0?e.inputReferences:void 0}(e);null!=l?i.referenceImages=l.flatMap(e=>{let t,o=null!=(t=eI(e,n))?{image:t,referenceType:"asset"}:void 0;return null!=o?[o]:[]}):o?.referenceImages!=null&&(i.referenceImages=o.referenceImages.map(e=>e.bytesBase64Encoded?{image:{bytesBase64Encoded:e.bytesBase64Encoded,mimeType:"image/png"},referenceType:"asset"}:e.gcsUri?{image:{gcsUri:e.gcsUri,mimeType:"image/png"},referenceType:"asset"}:e));let u={sampleCount:e.n};if(e.aspectRatio&&(u.aspectRatio=e.aspectRatio),e.resolution&&(u.resolution=({"1280x720":"720p","1920x1080":"1080p","3840x2160":"4k"})[e.resolution]||e.resolution),e.duration&&(u.durationSeconds=e.duration),e.seed&&(u.seed=e.seed),null!=o)for(let[e,t]of(void 0!==o.personGeneration&&null!==o.personGeneration&&(u.personGeneration=o.personGeneration),void 0!==o.negativePrompt&&null!==o.negativePrompt&&(u.negativePrompt=o.negativePrompt),Object.entries(o)))["pollIntervalMs","pollTimeoutMs","personGeneration","negativePrompt","referenceImages"].includes(e)||(u[e]=t);return{instances:r,parameters:u,warnings:n,googleOptions:o}}async buildCompletedResult(e,n,o,i){let a=e.response;if(!a?.generateVideoResponse?.generatedSamples||0===a.generateVideoResponse.generatedSamples.length)throw new r.AISDKError({name:"GOOGLE_VIDEO_GENERATION_ERROR",message:`No videos in response. Response: ${JSON.stringify(e)}`});let s=[],l=[],u=(await (0,t.resolve)(this.config.headers))?.["x-goog-api-key"];for(let e of a.generateVideoResponse.generatedSamples)if(e.video?.uri){let n=u&&(0,t.isSameOrigin)(e.video.uri,this.config.baseURL)?`${e.video.uri}${e.video.uri.includes("?")?"&":"?"}key=${u}`:e.video.uri;s.push({type:"url",url:n,mediaType:"video/mp4"}),l.push({uri:e.video.uri})}if(0===s.length)throw new r.AISDKError({name:"GOOGLE_VIDEO_GENERATION_ERROR",message:"No valid videos in response"});return{status:"completed",videos:s,warnings:o,response:{timestamp:i,modelId:this.modelId,headers:n},providerMetadata:{google:{videos:l}}}}async doStart(e){let n=this.config._internal?.currentDate?.()??new Date,{instances:o,parameters:i,warnings:a}=await this.buildRequest(e),{value:l,responseHeaders:u}=await (0,t.postJsonToApi)({url:`${this.config.baseURL}/models/${this.modelId}:predictLongRunning`,headers:(0,t.combineHeaders)(await (0,t.resolve)(this.config.headers),e.headers),body:{instances:o,parameters:i},successfulResponseHandler:(0,t.createJsonResponseHandler)(eE),failedResponseHandler:s,abortSignal:e.abortSignal,fetch:this.config.fetch}),c=l.name;if(!c)throw new r.AISDKError({name:"GOOGLE_VIDEO_GENERATION_ERROR",message:"No operation name returned from API"});return{operation:{operationName:c},warnings:a,response:{timestamp:n,modelId:this.modelId,headers:u}}}async doStatus(e){let n=this.config._internal?.currentDate?.()??new Date,{operationName:o}=e.operation,{value:r,responseHeaders:i}=await (0,t.getFromApi)({url:`${this.config.baseURL}/${o}`,validateUrl:!1,headers:(0,t.combineHeaders)(await (0,t.resolve)(this.config.headers),e.headers),successfulResponseHandler:(0,t.createJsonResponseHandler)(eE),failedResponseHandler:s,abortSignal:e.abortSignal,fetch:this.config.fetch});return r.done?r.error?{status:"error",error:`Video generation failed: ${r.error.message}`,response:{timestamp:n,modelId:this.modelId,headers:i}}:this.buildCompletedResult(r,i,[],n):{status:"pending",response:{timestamp:n,modelId:this.modelId,headers:i}}}};let eE=i.z.object({name:i.z.string().nullish(),done:i.z.boolean().nullish(),error:i.z.object({code:i.z.number().nullish(),message:i.z.string(),status:i.z.string().nullish()}).nullish(),response:i.z.object({generateVideoResponse:i.z.object({generatedSamples:i.z.array(i.z.object({video:i.z.object({uri:i.z.string().nullish()}).nullish()})).nullish()}).nullish()}).nullish()}),eC=(0,t.lazySchema)(()=>(0,t.zodSchema)(i.z.object({candidates:i.z.array(i.z.object({content:i.z.object({parts:i.z.array(i.z.object({inlineData:i.z.object({mimeType:i.z.string().nullish(),data:i.z.string().nullish()}).nullish()})).nullish()}).nullish()})).nullish()}))),eA=i.z.object({voiceName:i.z.string()}),ej=i.z.object({prebuiltVoiceConfig:eA,voice:i.z.never().optional()}),eR=i.z.object({speaker:i.z.string().min(1).optional(),style:i.z.string().optional()}),e$=(0,t.lazySchema)(()=>(0,t.zodSchema)(i.z.object({speechMetadata:eR.optional(),turns:i.z.array(i.z.object({text:i.z.string(),speechMetadata:eR.optional()})).min(1).optional(),multiSpeakerVoiceConfig:i.z.object({speakerVoiceConfigs:i.z.array(i.z.object({speaker:i.z.string(),voiceConfig:ej}))}).optional()}))),eM="Kore";var eN=class e{static[n.WORKFLOW_SERIALIZE](e){return(0,t.serializeModelOptions)({modelId:e.modelId,config:e.config})}static[n.WORKFLOW_DESERIALIZE](t){return new e(t.modelId,t.config)}get provider(){return this.config.provider}constructor(e,t){this.modelId=e,this.config=t,this.specificationVersion="v4"}async getArgs({text:e,voice:n=eM,outputFormat:o,instructions:i,speed:a,language:s,providerOptions:l}){let u,c=[],d=this.config.provider.includes("vertex")?["googleVertex","vertex"]:["google"];for(let e of d)if(null!=(u=await (0,t.parseProviderOptions)({provider:e,providerOptions:l,schema:e$})))break;null!=u||d.includes("google")||(u=await (0,t.parseProviderOptions)({provider:"google",providerOptions:l,schema:e$}));let p=!this.modelId.startsWith("gemini-2.5-")&&!this.modelId.startsWith("gemini-3.1-"),h=function({text:e,voice:t,providerOptions:n}){let o=n?.google,r=null!=o&&"object"==typeof o?o:void 0,i=r&&"turns"in r?r.turns:void 0,a=[];if(Array.isArray(i)&&i.length>0){for(let e of i){if(null==e||"object"!=typeof e||!("text"in e)||"string"!=typeof e.text)break;a.push(e.text)}a.length===i.length&&(e=a.join(""))}let s=r&&"multiSpeakerVoiceConfig"in r?r.multiSpeakerVoiceConfig:void 0,l=null!=s&&"object"==typeof s&&"speakerVoiceConfigs"in s&&Array.isArray(s.speakerVoiceConfigs)?s.speakerVoiceConfigs:[];return{text:e,usesCustomVoice:t?.startsWith("voice_")===!0||t?.startsWith("voicekey_")===!0||l.some(e=>null!=e&&"object"==typeof e&&"voiceConfig"in e&&null!=e.voiceConfig&&"object"==typeof e.voiceConfig&&"voice"in e.voiceConfig)}}({text:e,voice:n,providerOptions:{google:u}});if(h.usesCustomVoice)throw new r.InvalidArgumentError({argument:"voice",message:"Custom voices are not supported. Use a prebuilt voice instead."});let m=u?.multiSpeakerVoiceConfig,g=m?{multiSpeakerVoiceConfig:m}:{voiceConfig:{prebuiltVoiceConfig:{voiceName:n}}},f=e;null==i||p||(m?c.push({type:"unsupported",feature:"instructions",details:"Google Gemini TTS ignores `instructions` when `multiSpeakerVoiceConfig` is set, because prepending them would break multi-speaker transcript parsing."}):f=`${i}: ${e}`);let y=[{text:f}];if(p){if(u?.turns&&u.speechMetadata)throw new r.InvalidArgumentError({argument:"providerOptions",message:"Set speechMetadata on each turn when using turns."});u?.turns&&""!==e&&c.push({type:"unsupported",feature:"text",details:"Google TTS turns replace the top-level text."}),y=(u?.turns??[{text:e,speechMetadata:u?.speechMetadata}]).map(e=>{let t=e.speechMetadata?.style??i,n=e.speechMetadata?.speaker;if(m&&!m.speakerVoiceConfigs.some(e=>e.speaker===n))throw new r.InvalidArgumentError({argument:"speechMetadata.speaker",message:"Every multi-speaker turn must specify a speechMetadata.speaker matching a configured speaker."});return{text:e.text,...null!=t||null!=n?{speechMetadata:{style:t,speaker:n}}:{}}})}else if(u?.turns||u?.speechMetadata)throw new r.InvalidArgumentError({argument:"providerOptions",message:"Structured speech metadata and turns require Gemini 3.8 TTS."});if(0===h.text.length)throw new r.InvalidArgumentError({argument:"text",message:"Speech input must contain a non-empty transcript."});null!=a&&c.push({type:"unsupported",feature:"speed",details:"Google Gemini TTS models do not support the `speed` option. It was ignored."}),null!=s&&c.push({type:"unsupported",feature:"language",details:"Google Gemini TTS models do not support the `language` option. Language is detected automatically from the input text."});let b=p?{wav:"AUDIO_WAV","audio/wav":"AUDIO_WAV",pcm:"AUDIO_L16","audio/l16":"AUDIO_L16",mulaw:"AUDIO_MULAW","audio/mulaw":"AUDIO_MULAW",alaw:"AUDIO_ALAW","audio/alaw":"AUDIO_ALAW"}:{wav:"AUDIO_WAV",pcm:"AUDIO_L16"},_="wav";return null!=o&&Object.prototype.hasOwnProperty.call(b,o)?_=o:null!=o&&c.push({type:"unsupported",feature:"outputFormat",details:`Unsupported output format: ${o}. Using wav instead.`}),{requestBody:{contents:[{role:"user",parts:y}],generationConfig:{responseModalities:["AUDIO"],speechConfig:g,...p&&null!=o?{responseFormat:{audio:{mimeType:b[_]}}}:{}}},warnings:c,outputFormat:b[_],usesStructuredSpeech:p}}async doGenerate(e){var n,o;let r,i,a,l,u,c,d=this.config._internal?.currentDate?.()??new Date,{requestBody:p,warnings:h,outputFormat:m,usesStructuredSpeech:g}=await this.getArgs(e),{value:f,responseHeaders:y,rawValue:b}=await (0,t.postJsonToApi)({url:`${this.config.baseURL}/models/${this.modelId}:generateContent`,headers:(0,t.combineHeaders)(this.config.headers?await (0,t.resolve)(this.config.headers):void 0,e.headers),body:p,failedResponseHandler:s,successfulResponseHandler:(0,t.createJsonResponseHandler)(eC),abortSignal:e.abortSignal,fetch:this.config.fetch});for(let e of f.candidates??[]){for(let t of e.content?.parts??[])if(t.inlineData?.data){u=t.inlineData.data,c=t.inlineData.mimeType??void 0;break}if(null!=u)break}let _=function(e){if(null==e)return;let t=/rate=(\d+)/.exec(e);return t?Number.parseInt(t[1],10):void 0}(c)??24e3,w=null!=u?(0,t.convertBase64ToUint8Array)(u):new Uint8Array(0),z=/^audio\/(?:l16|pcm)(?:;|$)/i.test(c??"")||null==c&&!g,v="AUDIO_WAV"===m&&z&&w.length>0?(n=w,o=_,eL(a=new DataView(i=new ArrayBuffer(44+(r=n.length))),0,"RIFF"),a.setUint32(4,36+r,!0),eL(a,8,"WAVE"),eL(a,12,"fmt "),a.setUint32(16,16,!0),a.setUint16(20,1,!0),a.setUint16(22,1,!0),a.setUint32(24,o,!0),a.setUint32(28,2*o,!0),a.setUint16(32,2,!0),a.setUint16(34,16,!0),eL(a,36,"data"),a.setUint32(40,r,!0),(l=new Uint8Array(i)).set(n,44),l):w;return"AUDIO_L16"===m&&w.length>0&&!g&&h.push({type:"unsupported",feature:"outputFormat",details:`Returning raw PCM audio (signed 16-bit little-endian, mono, ${_} Hz). These bytes have no container header and are not directly playable; see providerMetadata.google for the sample rate and mime type.`}),{audio:v,warnings:h,request:{body:JSON.stringify(p)},response:{timestamp:d,modelId:this.modelId,headers:y,body:b},providerMetadata:{google:{sampleRate:_,mimeType:c??null}}}}};function eL(e,t,n){for(let o=0;o<n.length;o++)e.setUint8(t+o,n.charCodeAt(o))}function eP(e){if(null==e)return(0,t.createNullLanguageModelUsage)();let n=e.total_input_tokens??0,o=e.total_output_tokens??0,r=e.total_thought_tokens??0,i=e.total_cached_tokens??0;return{inputTokens:{total:e.total_input_tokens??void 0,noCache:null==e.total_input_tokens?void 0:n-i,cacheRead:e.total_cached_tokens??void 0,cacheWrite:void 0},outputTokens:{total:null==e.total_output_tokens&&null==e.total_thought_tokens?void 0:o+r,text:e.total_output_tokens??void 0,reasoning:e.total_thought_tokens??void 0},raw:e}}function eU(e){let t=e?.output_tokens_by_modality;if(null==t)return;let n={};for(let e of t)e?.modality!=null&&null!=e.tokens&&(n[e.modality]=e.tokens);return Object.keys(n).length>0?n:void 0}let eq={pdf:"application/pdf",txt:"text/plain",md:"text/markdown",markdown:"text/markdown",doc:"application/msword",docx:"application/vnd.openxmlformats-officedocument.wordprocessingml.document"};function eD(e){let t=e.toLowerCase();for(let[e,n]of Object.entries(eq))if(t.endsWith(`.${e}`))return n;return"application/octet-stream"}function eF(e){let t=e.split("/"),n=t[t.length-1];return n&&n.length>0?n:void 0}function eH({block:e,generateId:t}){let n=[];switch(e.type){case"url_context_result":for(let o of e.result??[])o?.url!=null&&0!==o.url.length&&(null==o.status||"success"===o.status)&&n.push({type:"source",sourceType:"url",id:t(),url:o.url});break;case"google_search_result":for(let o of e.result??[]){let e=o?.url;null!=e&&0!==e.length&&n.push({type:"source",sourceType:"url",id:t(),url:e,...null!=o.title?{title:o.title}:{}})}break;case"google_maps_result":for(let o of e.result??[])for(let e of o.places??[])null!=e.url&&0!==e.url.length&&n.push({type:"source",sourceType:"url",id:t(),url:e.url,...null!=e.name?{title:e.name}:{}});break;case"file_search_result":for(let o of e.result??[]){if(null==o||"object"!=typeof o)continue;let e=o.url??o.document_uri??o.file_name;if(null==e||0===e.length)continue;if(e.startsWith("http://")||e.startsWith("https://")){n.push({type:"source",sourceType:"url",id:t(),url:e,...null!=o.title?{title:o.title}:{}});continue}let r=o.file_name??eF(e),i=eD(e);n.push({type:"source",sourceType:"document",id:t(),mediaType:i,title:o.title??o.file_name??r??e,...null!=r?{filename:r}:{}})}}return n}function eB({annotations:e,generateId:t}){if(null==e)return[];let n=new Set,o=[];for(let r of e){let e=function({annotation:e,generateId:t}){switch(e.type){case"url_citation":if(null==e.url||0===e.url.length)return;return{type:"source",sourceType:"url",id:t(),url:e.url,...null!=e.title?{title:e.title}:{}};case"file_citation":{let n=e.url??e.document_uri??e.file_name;if(null==n||0===n.length)return;if(n.startsWith("http://")||n.startsWith("https://"))return{type:"source",sourceType:"url",id:t(),url:n,...null!=e.file_name?{title:e.file_name}:{}};let o=e.file_name??eF(n),r=eD(n);return{type:"source",sourceType:"document",id:t(),mediaType:r,title:e.file_name??o??n,...null!=o?{filename:o}:{}}}case"place_citation":if(null==e.url||0===e.url.length)return;return{type:"source",sourceType:"url",id:t(),url:e.url,...null!=e.name?{title:e.name}:{}};default:return}}({annotation:r,generateId:t});if(null==e)continue;let i="url"===e.sourceType?`url:${e.url}`:`doc:${e.filename??e.title}`;n.has(i)||(n.add(i),o.push(e))}return o}function eW({status:e,hasFunctionCall:t}){switch(e){case"completed":return t?"tool-calls":"stop";case"requires_action":return"tool-calls";case"failed":return"error";case"incomplete":return"length";default:return"other"}}let eK=new Set(["google_search_call","code_execution_call","url_context_call","file_search_call","google_maps_call","mcp_server_tool_call"]),eV=new Set(["google_search_result","code_execution_result","url_context_result","file_search_result","google_maps_result","mcp_server_tool_result"]);function eJ({warnings:e,generateId:n,includeRawChunks:o,serviceTier:r}){let i,a,s,l=r,u=!1,c=new Map,d=new Set;function p(e){return"url"===e.sourceType?`url:${e.url}`:`doc:${e.filename??e.title}`}return new TransformStream({start(t){t.enqueue({type:"stream-start",warnings:e})},transform(e,r){if(o&&r.enqueue({type:"raw",rawValue:e.rawValue}),!e.success){s="failed",r.enqueue({type:"error",error:e.error});return}let h=e.value,m=h.event_type;switch(m){case"interaction.created":{let e,t=h.interaction;i=t?.id!=null&&t.id.length>0?t.id:void 0;let n=t?.created;if("string"==typeof n){let t=new Date(n);Number.isNaN(t.getTime())||(e=t)}r.enqueue({type:"response-metadata",...null!=i?{id:i}:{},modelId:t?.model,...e?{timestamp:e}:{}});break}case"step.start":{let e=h.step,t=h.index,o=`${i??"interaction"}:${t}`,a=e?.type;if("model_output"===a){let i=e?.content?.[0];if(i?.type==="text")for(let e of(c.set(t,{kind:"text",id:o,emittedSourceKeys:new Set}),r.enqueue({type:"text-start",id:o}),eB({annotations:i.annotations,generateId:n}))){let t=p(e);d.has(t)||(d.add(t),r.enqueue(e))}else i?.type==="image"?c.set(t,{kind:"image",id:o,...null!=i.data?{data:i.data}:{},...null!=i.mime_type?{mimeType:i.mime_type}:{},...null!=i.uri?{uri:i.uri}:{}}):c.set(t,{kind:"pending_model_output",id:o})}else if("thought"===a){let n=e?.signature;if(c.set(t,{kind:"reasoning",id:o,...null!=n?{signature:n}:{}}),r.enqueue({type:"reasoning-start",id:o}),Array.isArray(e?.summary))for(let t of e.summary)t?.type==="text"&&"string"==typeof t.text&&r.enqueue({type:"reasoning-delta",id:o,delta:t.text})}else if("processing_call"===a||"processing_result"===a){let n={};e?.signature!=null&&(n.signature=e.signature),null!=i&&(n.interactionId=i),"processing_call"===a?n.processingId=e?.id||o:n.processingCallId=e?.call_id||o,c.set(t,{kind:"custom",id:o,customKind:`google.${a}`,google:n})}else if("function_call"===a){let n=e?.id||o,i=e?.name??"unknown";u=!0;let a={kind:"function_call",id:o,toolCallId:n,toolName:i,argumentsAccum:"",...e?.signature!=null?{signature:e.signature}:{}};c.set(t,a),r.enqueue({type:"tool-input-start",id:n,toolName:i})}else if(null!=a&&eK.has(a)){let n="mcp_server_tool_call"===a?e?.name??"mcp_server_tool":a.replace(/_call$/,""),r={kind:"builtin_tool_call",id:o,blockType:a,toolCallId:e?.id||o,toolName:n,arguments:e?.arguments??{},callEmitted:!1};c.set(t,r)}else if(null!=a&&eV.has(a)){let n="mcp_server_tool_result"===a?e?.name??"mcp_server_tool":a.replace(/_result$/,""),r={kind:"builtin_tool_result",id:o,blockType:a,callId:e?.call_id||o,toolName:n,result:e?.result??null,...e?.is_error!=null?{isError:e.is_error}:{},resultEmitted:!1};c.set(t,r)}else c.set(t,{kind:"unknown",id:o});break}case"step.delta":{let e=c.get(h.index);if(null==e)break;let t=h.delta?.type;if("pending_model_output"===e.kind&&("text"===t||"text_annotation"===t||"text_annotation_delta"===t)){let t={kind:"text",id:e.id,emittedSourceKeys:new Set};c.set(h.index,t),e=t,r.enqueue({type:"text-start",id:t.id})}if("image"===t&&("pending_model_output"===e.kind||"text"===e.kind||"image"===e.kind)){let t=h.delta,n={};null!=i&&(n.interactionId=i);let o=Object.keys(n).length>0?{google:n}:void 0;t?.data!=null&&t.data.length>0?r.enqueue({type:"file",mediaType:t.mime_type??"image/png",data:{type:"data",data:t.data},...o?{providerMetadata:o}:{}}):t?.uri!=null&&t.uri.length>0&&r.enqueue({type:"file",mediaType:t.mime_type??"image/png",data:{type:"url",url:new URL(t.uri)},...o?{providerMetadata:o}:{}}),"image"===e.kind&&(e.data=void 0,e.uri=void 0);break}if("video"===t&&("pending_model_output"===e.kind||"text"===e.kind)){let e=h.delta,t={};null!=i&&(t.interactionId=i);let n=Object.keys(t).length>0?{google:t}:void 0;e?.data!=null&&e.data.length>0?r.enqueue({type:"file",mediaType:e.mime_type??"video/mp4",data:{type:"data",data:e.data},...n?{providerMetadata:n}:{}}):e?.uri!=null&&e.uri.length>0&&r.enqueue({type:"file",mediaType:e.mime_type??"video/mp4",data:{type:"url",url:new URL(e.uri)},...n?{providerMetadata:n}:{}});break}let o=h.delta;if("custom"===e.kind&&(o?.type==="processing_call"||o?.type==="processing_result"))null!=o.signature&&(e.google.signature=o.signature),"processing_call"===o.type&&null!=o.id&&o.id.length>0&&(e.google.processingId=o.id),"processing_result"===o.type&&null!=o.call_id&&o.call_id.length>0&&(e.google.processingCallId=o.call_id);else if("text"===e.kind&&o?.type==="text"){let t=o.text??"";t.length>0&&r.enqueue({type:"text-delta",id:e.id,delta:t})}else if("text"===e.kind&&(o?.type==="text_annotation"||o?.type==="text_annotation_delta"))for(let t of eB({annotations:o.annotations,generateId:n})){let n=p(t);d.has(n)||(d.add(n),e.emittedSourceKeys.add(n),r.enqueue(t))}else if("image"===e.kind&&o?.type==="image")null!=o.data&&(e.data=o.data),null!=o.mime_type&&(e.mimeType=o.mime_type),null!=o.uri&&(e.uri=o.uri);else if("reasoning"===e.kind){if(o?.type==="thought_summary"){let t=o.content;t?.type==="text"&&"string"==typeof t.text&&r.enqueue({type:"reasoning-delta",id:e.id,delta:t.text})}else if(o?.type==="thought_signature"){let t=o.signature;null!=t&&(e.signature=t)}}else if("function_call"===e.kind&&o?.type==="arguments_delta"){let t="string"==typeof o.arguments?o.arguments:"";t.length>0&&(e.argumentsAccum+=t,r.enqueue({type:"tool-input-delta",id:e.toolCallId,delta:t})),null!=o.id&&o.id.length>0&&(e.toolCallId=o.id),null!=o.signature&&(e.signature=o.signature),u=!0}else"builtin_tool_call"===e.kind&&o?.type===e.blockType?(null!=o.id&&o.id.length>0&&(e.toolCallId=o.id),null!=o.arguments&&"object"==typeof o.arguments&&(e.arguments=o.arguments),null!=o.name&&"mcp_server_tool_call"===e.blockType&&(e.toolName=o.name)):"builtin_tool_result"===e.kind&&o?.type===e.blockType&&(null!=o.call_id&&o.call_id.length>0&&(e.callId=o.call_id),void 0!==o.result&&(e.result=o.result),null!=o.is_error&&(e.isError=o.is_error),null!=o.name&&"mcp_server_tool_result"===e.blockType&&(e.toolName=o.name));break}case"step.stop":{let e=c.get(h.index);if(null==e)break;if("text"===e.kind){let t=null!=i?{google:{interactionId:i}}:void 0;r.enqueue({type:"text-end",id:e.id,...t?{providerMetadata:t}:{}})}else if("reasoning"===e.kind){let t={};null!=e.signature&&(t.signature=e.signature),null!=i&&(t.interactionId=i);let n=Object.keys(t).length>0?{google:t}:void 0;r.enqueue({type:"reasoning-end",id:e.id,...n?{providerMetadata:n}:{}})}else if("image"===e.kind){let t={};null!=i&&(t.interactionId=i);let n=Object.keys(t).length>0?{google:t}:void 0;null!=e.data&&e.data.length>0?r.enqueue({type:"file",mediaType:e.mimeType??"image/png",data:{type:"data",data:e.data},...n?{providerMetadata:n}:{}}):null!=e.uri&&e.uri.length>0&&r.enqueue({type:"file",mediaType:e.mimeType??"image/png",data:{type:"url",url:new URL(e.uri)},...n?{providerMetadata:n}:{}})}else if("function_call"===e.kind){let t=e.argumentsAccum.length>0?e.argumentsAccum:"{}";r.enqueue({type:"tool-input-end",id:e.toolCallId});let n={};null!=e.signature&&(n.signature=e.signature),null!=i&&(n.interactionId=i);let o=Object.keys(n).length>0?{google:n}:void 0;r.enqueue({type:"tool-call",toolCallId:e.toolCallId,toolName:e.toolName,input:t,...o?{providerMetadata:o}:{}})}else if("custom"===e.kind)r.enqueue({type:"custom",kind:e.customKind,providerMetadata:{google:e.google}});else if("builtin_tool_call"!==e.kind||e.callEmitted){if("builtin_tool_result"===e.kind&&!e.resultEmitted)for(let t of(r.enqueue({type:"tool-result",toolCallId:e.callId,toolName:e.toolName,result:e.result??null}),e.resultEmitted=!0,eH({block:{type:e.blockType,call_id:e.callId,result:e.result},generateId:n}))){let e=p(t);d.has(e)||(d.add(e),r.enqueue(t))}}else r.enqueue({type:"tool-call",toolCallId:e.toolCallId,toolName:e.toolName,input:JSON.stringify(e.arguments??{}),providerExecuted:!0}),e.callEmitted=!0;c.delete(h.index);break}case"interaction.status_update":case"interaction.in_progress":case"interaction.requires_action":s=null!=h.status?h.status:"interaction.requires_action"===m?"requires_action":"in_progress";break;case"interaction.completed":{let e=h.interaction;e?.id!=null&&e.id.length>0&&(i=e.id),e?.status!=null&&(s=e.status),e?.usage!=null&&(a=e.usage),e?.service_tier!=null&&(l=e.service_tier);break}case"error":s="failed",r.enqueue({type:"error",error:(0,t.createProviderStreamError)({message:h.error?.message??"Unknown interaction error",type:h.event_type,code:h.error?.code??void 0,data:h})})}},flush(e){let t={unified:eW({status:s,hasFunctionCall:u}),raw:s},n=eU(a),o={google:{...null!=i?{interactionId:i}:{},...null!=l?{serviceTier:l}:{},...null!=n?{outputTokensByModality:n}:{}}};e.enqueue({type:"finish",finishReason:t,usage:eP(a),providerMetadata:o})}})}function eG({part:e,warnings:n,mediaResolution:o}){let r;if("text"===e.data.type)return{type:"text",text:e.data.text};switch((0,t.getTopLevelMediaType)(e.mediaType)){case"image":r="image";break;case"audio":r="audio";break;case"video":r="video";break;case"application":case"text":r="document";break;default:r=void 0}if(null==r)return void n.push({type:"other",message:`google.interactions: unsupported file media type "${e.mediaType}"; part dropped.`});let i=null!=o&&("image"===r||"video"===r)?{resolution:o}:{},a="video"===r?function({part:e,warnings:t}){let n=e.providerOptions?.google?.processing;return null==n?{}:"agentic"===n||"static"===n?{processing:n}:"object"!=typeof n||Array.isArray(n)||"static"!==n.type?(t.push({type:"other",message:'google.interactions: invalid providerOptions.google.processing on video file part; expected "agentic", "static", or a static processing configuration. Option dropped.'}),{}):{processing:{type:"static",..."number"==typeof n.startOffset?{start_offset:`${n.startOffset}s`}:{},..."number"==typeof n.endOffset?{end_offset:`${n.endOffset}s`}:{},..."number"==typeof n.fps?{fps:n.fps}:{}}}}({part:e,warnings:n}):{};switch(e.data.type){case"data":{let n=(0,t.resolveFullMediaType)({part:e});return{type:r,data:(0,t.convertToBase64)(e.data.data),mime_type:n,...i,...a}}case"url":return{type:r,uri:e.data.url.toString(),...(0,t.isFullMediaType)(e.mediaType)?{mime_type:e.mediaType}:{},...i,...a};case"reference":return{type:r,uri:(0,t.resolveProviderReference)({reference:e.data.reference,provider:"google"}),...(0,t.isFullMediaType)(e.mediaType)?{mime_type:e.mediaType}:{},...i,...a}}}let eY=()=>i.z.object({modality:i.z.string().nullish(),tokens:i.z.number().nullish()}).loose(),eZ=()=>i.z.object({total_input_tokens:i.z.number().nullish(),total_output_tokens:i.z.number().nullish(),total_thought_tokens:i.z.number().nullish(),total_cached_tokens:i.z.number().nullish(),total_tool_use_tokens:i.z.number().nullish(),total_tokens:i.z.number().nullish(),input_tokens_by_modality:i.z.array(eY()).nullish(),output_tokens_by_modality:i.z.array(eY()).nullish(),cached_tokens_by_modality:i.z.array(eY()).nullish(),tool_use_tokens_by_modality:i.z.array(eY()).nullish(),grounding_tool_count:i.z.array(i.z.object({type:i.z.string().nullish(),count:i.z.number().nullish()}).loose()).nullish()}).loose(),eX=()=>i.z.enum(["in_progress","requires_action","completed","failed","cancelled","incomplete"]),eQ=()=>{let e=i.z.object({type:i.z.literal("url_citation"),url:i.z.string().nullish(),title:i.z.string().nullish(),start_index:i.z.number().nullish(),end_index:i.z.number().nullish()}).loose(),t=i.z.object({type:i.z.literal("file_citation"),file_name:i.z.string().nullish(),document_uri:i.z.string().nullish(),url:i.z.string().nullish(),page_number:i.z.number().nullish(),media_id:i.z.string().nullish(),start_index:i.z.number().nullish(),end_index:i.z.number().nullish(),custom_metadata:i.z.record(i.z.string(),i.z.unknown()).nullish()}).loose(),n=i.z.object({type:i.z.literal("place_citation"),name:i.z.string().nullish(),url:i.z.string().nullish(),place_id:i.z.string().nullish(),start_index:i.z.number().nullish(),end_index:i.z.number().nullish()}).loose();return i.z.union([e,t,n,i.z.object({type:i.z.string()}).loose()])},e0=()=>i.z.object({type:i.z.string(),text:i.z.string().nullish(),data:i.z.string().nullish(),mime_type:i.z.string().nullish()}).loose(),e1=()=>{let e=i.z.object({type:i.z.literal("text"),text:i.z.string(),annotations:i.z.array(eQ()).nullish()}).loose(),t=i.z.object({type:i.z.literal("image"),data:i.z.string().nullish(),mime_type:i.z.string().nullish(),resolution:i.z.enum(["low","medium","high","ultra_high"]).nullish(),uri:i.z.string().nullish()}).loose(),n=i.z.object({type:i.z.literal("video"),data:i.z.string().nullish(),mime_type:i.z.string().nullish(),uri:i.z.string().nullish()}).loose();return i.z.union([e,t,n,i.z.object({type:i.z.string()}).loose()])},e2=["google_search_call","code_execution_call","url_context_call","file_search_call","google_maps_call","mcp_server_tool_call"],e4=["google_search_result","code_execution_result","url_context_result","file_search_result","google_maps_result","mcp_server_tool_result"],e3=()=>{let e=i.z.object({type:i.z.literal("user_input"),content:i.z.array(e1()).nullish()}).loose(),t=i.z.object({type:i.z.literal("model_output"),content:i.z.array(e1()).nullish()}).loose(),n=i.z.object({type:i.z.literal("function_call"),id:i.z.string(),name:i.z.string(),arguments:i.z.record(i.z.string(),i.z.unknown()).nullish(),signature:i.z.string().nullish()}).loose(),o=i.z.object({type:i.z.literal("thought"),signature:i.z.string().nullish(),summary:i.z.array(e0()).nullish()}).loose(),r=i.z.object({type:i.z.literal("processing_call"),id:i.z.string(),signature:i.z.string().nullish()}).loose(),a=i.z.object({type:i.z.literal("processing_result"),call_id:i.z.string(),signature:i.z.string().nullish()}).loose(),s=i.z.object({type:i.z.enum(e2),id:i.z.string(),arguments:i.z.record(i.z.string(),i.z.unknown()).nullish(),name:i.z.string().nullish(),server_name:i.z.string().nullish(),search_type:i.z.string().nullish(),signature:i.z.string().nullish()}).loose(),l=i.z.object({type:i.z.enum(e4),call_id:i.z.string(),result:i.z.unknown().nullish(),is_error:i.z.boolean().nullish(),name:i.z.string().nullish(),server_name:i.z.string().nullish(),signature:i.z.string().nullish()}).loose();return i.z.union([e,t,n,o,r,a,s,l,i.z.object({type:i.z.string()}).loose()])},e5=(0,t.lazySchema)(()=>(0,t.zodSchema)(i.z.object({id:i.z.string().nullish(),created:i.z.string().nullish(),updated:i.z.string().nullish(),status:eX(),model:i.z.string().nullish(),agent:i.z.string().nullish(),steps:i.z.array(e3()).nullish(),usage:eZ().nullish(),service_tier:i.z.string().nullish(),previous_interaction_id:i.z.string().nullish(),response_modalities:i.z.array(i.z.string()).nullish()}).loose())),e6=(0,t.lazySchema)(()=>{let e,n,o,r,a,s,l,u,c,d,p,h,m,g,f,y,b,_,w,z,v,k,x,S;return(0,t.zodSchema)((e=eX(),n=eQ(),o=e0(),r=i.z.object({event_type:i.z.literal("interaction.created"),event_id:i.z.string().nullish(),interaction:i.z.object({id:i.z.string().nullish(),created:i.z.string().nullish(),model:i.z.string().nullish(),agent:i.z.string().nullish(),status:e.nullish()}).loose()}).loose(),a=i.z.object({event_type:i.z.literal("step.start"),event_id:i.z.string().nullish(),index:i.z.number(),step:e3()}).loose(),s=i.z.object({type:i.z.literal("text"),text:i.z.string()}).loose(),l=i.z.object({type:i.z.literal("thought_summary"),content:o.nullish()}).loose(),u=i.z.object({type:i.z.literal("thought_signature"),signature:i.z.string().nullish()}).loose(),c=i.z.object({type:i.z.literal("arguments_delta"),arguments:i.z.string().nullish(),id:i.z.string().nullish(),signature:i.z.string().nullish()}).loose(),d=i.z.object({type:i.z.enum(["text_annotation_delta","text_annotation"]),annotations:i.z.array(n).nullish()}).loose(),p=i.z.object({type:i.z.literal("image"),data:i.z.string().nullish(),mime_type:i.z.string().nullish(),resolution:i.z.enum(["low","medium","high","ultra_high"]).nullish(),uri:i.z.string().nullish()}).loose(),h=i.z.object({type:i.z.literal("video"),data:i.z.string().nullish(),mime_type:i.z.string().nullish(),uri:i.z.string().nullish()}).loose(),m=i.z.object({type:i.z.enum(e2),id:i.z.string().nullish(),arguments:i.z.record(i.z.string(),i.z.unknown()).nullish(),name:i.z.string().nullish(),server_name:i.z.string().nullish(),search_type:i.z.string().nullish(),signature:i.z.string().nullish()}).loose(),g=i.z.object({type:i.z.enum(e4),call_id:i.z.string().nullish(),result:i.z.unknown().nullish(),is_error:i.z.boolean().nullish(),name:i.z.string().nullish(),server_name:i.z.string().nullish(),signature:i.z.string().nullish()}).loose(),f=i.z.object({type:i.z.string()}).loose(),y=i.z.union([s,p,h,l,u,c,d,m,g,f]),b=i.z.object({event_type:i.z.literal("step.delta"),event_id:i.z.string().nullish(),index:i.z.number(),delta:y}).loose(),_=i.z.object({event_type:i.z.literal("step.stop"),event_id:i.z.string().nullish(),index:i.z.number()}).loose(),w=i.z.object({event_type:i.z.literal("interaction.status_update"),event_id:i.z.string().nullish(),interaction_id:i.z.string().nullish(),status:e.nullish()}).loose(),z=i.z.object({event_type:i.z.literal("interaction.in_progress"),event_id:i.z.string().nullish(),interaction_id:i.z.string().nullish(),status:e.nullish()}).loose(),v=i.z.object({event_type:i.z.literal("interaction.requires_action"),event_id:i.z.string().nullish(),interaction_id:i.z.string().nullish(),status:e.nullish()}).loose(),k=i.z.object({event_type:i.z.literal("interaction.completed"),event_id:i.z.string().nullish(),interaction:i.z.object({id:i.z.string().nullish(),status:e.nullish(),usage:eZ().nullish(),service_tier:i.z.string().nullish()}).loose()}).loose(),x=i.z.object({event_type:i.z.literal("error"),event_id:i.z.string().nullish(),error:i.z.object({code:i.z.string().nullish(),message:i.z.string().nullish()}).loose().nullish()}).loose(),S=i.z.object({event_type:i.z.string()}).loose(),i.z.union([r,a,b,_,w,z,v,k,x,S])))}),e9=(0,t.lazySchema)(()=>(0,t.zodSchema)(i.z.object({previousInteractionId:i.z.string().nullish(),store:i.z.boolean().nullish(),agent:i.z.string().nullish(),agentConfig:i.z.union([i.z.object({type:i.z.literal("dynamic")}).loose(),i.z.object({type:i.z.literal("deep-research"),thinkingSummaries:i.z.enum(["auto","none"]).nullish(),visualization:i.z.enum(["off","auto"]).nullish(),collaborativePlanning:i.z.boolean().nullish()})]).nullish(),thinkingLevel:i.z.enum(["minimal","low","medium","high"]).nullish(),thinkingSummaries:i.z.enum(["auto","none"]).nullish(),responseFormat:i.z.array(i.z.union([i.z.object({type:i.z.literal("text"),mimeType:i.z.string().nullish(),schema:i.z.unknown().nullish()}).loose(),i.z.object({type:i.z.literal("image"),mimeType:i.z.string().nullish(),aspectRatio:i.z.enum(["1:1","2:3","3:2","3:4","4:3","4:5","5:4","9:16","16:9","21:9","1:8","8:1","1:4","4:1"]).nullish(),imageSize:i.z.enum(["1K","2K","4K","512"]).nullish()}).loose(),i.z.object({type:i.z.literal("audio"),mimeType:i.z.string().nullish()}).loose(),i.z.object({type:i.z.literal("video"),aspectRatio:i.z.enum(["16:9","9:16"]).nullish(),resolution:i.z.enum(["360p","720p","1080p","4k"]).nullish(),duration:i.z.string().nullish(),delivery:i.z.enum(["inline","uri"]).nullish(),gcsUri:i.z.string().nullish()}).loose()])).nullish(),imageConfig:i.z.object({aspectRatio:i.z.enum(["1:1","2:3","3:2","3:4","4:3","4:5","5:4","9:16","16:9","21:9","1:8","8:1","1:4","4:1"]).nullish(),imageSize:i.z.enum(["1K","2K","4K","512"]).nullish()}).nullish(),mediaResolution:i.z.enum(["low","medium","high","ultra_high"]).nullish(),responseModalities:i.z.array(i.z.enum(["text","image","audio","video","document"])).nullish(),serviceTier:i.z.enum(["flex","standard","priority"]).nullish(),systemInstruction:i.z.string().nullish(),signature:i.z.string().nullish(),interactionId:i.z.string().nullish(),pollingTimeoutMs:i.z.number().int().positive().nullish(),background:i.z.boolean().nullish(),environment:i.z.union([i.z.string(),i.z.object({type:i.z.literal("remote"),sources:i.z.array(i.z.union([i.z.object({type:i.z.literal("gcs"),source:i.z.string(),target:i.z.string().nullish()}),i.z.object({type:i.z.literal("repository"),source:i.z.string(),target:i.z.string().nullish()}),i.z.object({type:i.z.literal("inline"),content:i.z.string(),target:i.z.string()})])).nullish(),network:i.z.union([i.z.literal("disabled"),i.z.object({allowlist:i.z.array(i.z.object({domain:i.z.string(),transform:i.z.array(i.z.record(i.z.string(),i.z.string())).nullish()}))})]).nullish()})]).nullish()})));function e8({signature:e,interactionId:t,processingId:n,processingCallId:o}){let r={};return null!=e&&(r.signature=e),null!=t&&(r.interactionId=t),null!=n&&(r.processingId=n),null!=o&&(r.processingCallId=o),Object.keys(r).length>0?{providerMetadata:{google:r}}:{}}let e7=new Set(["google_search_call","code_execution_call","url_context_call","file_search_call","google_maps_call","mcp_server_tool_call"]),te=new Set(["google_search_result","code_execution_result","url_context_result","file_search_result","google_maps_result","mcp_server_tool_result"]);function tt({steps:e,generateId:t,interactionId:n}){let o=[],r=!1;if(null==e)return{content:o,hasFunctionCall:r};for(let i of e){if(null==i||"object"!=typeof i)continue;let e=i.type;if("string"==typeof e)switch(e){case"user_input":break;case"model_output":for(let e of i.content??[]){if(null==e||"object"!=typeof e)continue;let r=e.type;if("text"===r){let r=e.text??"",i=e.annotations;for(let e of(o.push({type:"text",text:r,...e8({interactionId:n})}),eB({annotations:i,generateId:t})))o.push(e)}else"image"===r?null!=e.data&&e.data.length>0?o.push({type:"file",mediaType:e.mime_type??"image/png",data:{type:"data",data:e.data},...e8({interactionId:n})}):null!=e.uri&&e.uri.length>0&&o.push({type:"file",mediaType:e.mime_type??"image/png",data:{type:"url",url:new URL(e.uri)},...e8({interactionId:n})}):"video"===r&&(null!=e.data&&e.data.length>0?o.push({type:"file",mediaType:e.mime_type??"video/mp4",data:{type:"data",data:e.data},...e8({interactionId:n})}):null!=e.uri&&e.uri.length>0&&o.push({type:"file",mediaType:e.mime_type??"video/mp4",data:{type:"url",url:new URL(e.uri)},...e8({interactionId:n})}))}break;case"thought":{let e=(Array.isArray(i.summary)?i.summary:[]).filter(e=>e?.type==="text"&&"string"==typeof e.text).map(e=>e.text).join("\n");o.push({type:"reasoning",text:e,...e8({signature:i.signature,interactionId:n})});break}case"processing_call":{let e=i.id||t();o.push({type:"custom",kind:"google.processing_call",...e8({signature:i.signature,interactionId:n,processingId:e})});break}case"processing_result":{let e=i.call_id||t();o.push({type:"custom",kind:"google.processing_result",...e8({signature:i.signature,interactionId:n,processingCallId:e})});break}case"function_call":r=!0,o.push({type:"tool-call",toolCallId:i.id,toolName:i.name,input:JSON.stringify(i.arguments??{}),...e8({signature:i.signature,interactionId:n})});break;default:if(e7.has(e)){let n="mcp_server_tool_call"===e?i.name??"mcp_server_tool":e.replace(/_call$/,""),r=JSON.stringify(i.arguments??{});o.push({type:"tool-call",toolCallId:i.id||t(),toolName:n,input:r,providerExecuted:!0})}else if(te.has(e)){let n="mcp_server_tool_result"===e?i.name??"mcp_server_tool":e.replace(/_result$/,"");for(let e of(o.push({type:"tool-result",toolCallId:i.call_id||t(),toolName:n,result:i.result??null}),eH({block:i,generateId:t})))o.push(e)}}}return{content:o,hasFunctionCall:r}}async function tn({baseURL:e,interactionId:n,headers:o,fetch:r=globalThis.fetch}){if(null==n||0===n.length)return;let i=`${e}/interactions/${encodeURIComponent(n)}/cancel`;try{let e=await r(i,{method:"POST",headers:(0,t.withUserAgentSuffix)((0,t.combineHeaders)({"Content-Type":"application/json"},o),(0,t.getRuntimeEnvironmentUserAgent)()),body:"{}"});try{await e.text()}catch{}}catch{}}let to=new Set(["completed","failed","cancelled","incomplete"]);function tr(e){return null!=e&&to.has(e)}async function ti({baseURL:e,interactionId:n,headers:o,fetch:r,abortSignal:i,initialDelayMs:a=1e3,maxDelayMs:l=1e4,timeoutMs:u=18e5}){if(null==n||0===n.length)throw Error("google.interactions: cannot poll a background interaction without an id. The POST response did not include an interaction id.");let c=Date.now(),d=a,p=`${e}/interactions/${encodeURIComponent(n)}`,h=()=>tn({baseURL:e,interactionId:n,headers:o,fetch:r});try{for(;;){if(i?.aborted)throw await h(),new DOMException("Polling was aborted","AbortError");if(Date.now()-c>u)throw Error(`google.interactions: timed out polling interaction ${n} after ${u}ms.`);await (0,t.delay)(d,{abortSignal:i});let{value:e,rawValue:a,responseHeaders:m}=await (0,t.getFromApi)({url:p,validateUrl:!1,headers:o,failedResponseHandler:s,successfulResponseHandler:(0,t.createJsonResponseHandler)(e5),abortSignal:i,fetch:r});if(tr(e.status))return{response:e,rawResponse:a,responseHeaders:m};d=Math.min(2*d,l)}}catch(e){throw(0,t.isAbortError)(e)&&await h(),e}}var ta=class e{static[n.WORKFLOW_SERIALIZE](e){return{...(0,t.serializeModelOptions)({modelId:e.modelId,config:e.config}),agent:e.agent}}static[n.WORKFLOW_DESERIALIZE](t){return new e(null!=t.agent?{agent:t.agent}:t.modelId,t.config)}constructor(e,t){this.specificationVersion="v4","string"==typeof e?(this.modelId=e,this.agent=void 0):"managedAgent"in e?(this.modelId=e.managedAgent,this.agent=e.managedAgent):(this.modelId=e.agent,this.agent=e.agent),this.config=t}get provider(){return this.config.provider}get supportedUrls(){return this.config.supportedUrls?this.config.supportedUrls():{"image/*":[/^https?:\/\/.+/],"application/pdf":[/^https?:\/\/.+/],"audio/*":[/^https?:\/\/.+/],"video/*":[/^https?:\/\/(www\.)?youtube\.com\/watch\?v=.+/,/^https?:\/\/youtu\.be\/.+/,/^gs:\/\/.+/]}}async getArgs(e){let n,o,r,i,a,s=[],l=await (0,t.parseProviderOptions)({provider:"google",providerOptions:e.providerOptions,schema:e9}),u=null!=this.agent;if(u||(null!=e.frequencyPenalty&&s.push({type:"unsupported",feature:"frequencyPenalty"}),null!=e.presencePenalty&&s.push({type:"unsupported",feature:"presencePenalty"})),null!=e.tools&&e.tools.length>0){let t=function({tools:e,toolChoice:t}){let n,o=[],r=e?.length?e:void 0;if(null==r)return{tools:void 0,toolChoice:void 0,toolWarnings:o};let i=[];for(let e of r){if("function"===e.type){i.push({type:"function",name:e.name,description:e.description??"",parameters:e.inputSchema});continue}if("provider"===e.type){let t=e.args??{};switch(e.id){case"google.google_search":{let e,n=t.searchTypes;if(null!=n&&"object"==typeof n){let t=[];null!=n.webSearch&&t.push("web_search"),null!=n.imageSearch&&t.push("image_search"),t.length>0&&(e=t)}i.push({type:"google_search",...null!=e?{search_types:e}:{}});break}case"google.code_execution":i.push({type:"code_execution"});break;case"google.url_context":i.push({type:"url_context"});break;case"google.file_search":i.push({type:"file_search",...null!=t.fileSearchStoreNames?{file_search_store_names:t.fileSearchStoreNames}:{},...null!=t.topK?{top_k:t.topK}:{},...null!=t.metadataFilter?{metadata_filter:t.metadataFilter}:{}});break;case"google.google_maps":i.push({type:"google_maps",...null!=t.latitude?{latitude:t.latitude}:{},...null!=t.longitude?{longitude:t.longitude}:{},...null!=t.enableWidget?{enable_widget:t.enableWidget}:{}});break;case"google.computer_use":i.push({type:"computer_use",environment:t.environment??"browser",...null!=t.excludedPredefinedFunctions?{excludedPredefinedFunctions:t.excludedPredefinedFunctions}:{}});break;case"google.mcp_server":i.push({type:"mcp_server",...null!=t.name?{name:t.name}:{},...null!=t.url?{url:t.url}:{},...null!=t.headers?{headers:t.headers}:{},...null!=t.allowedTools?{allowed_tools:t.allowedTools}:{}});break;case"google.retrieval":{let e=t.vertexAiSearchConfig??void 0;i.push({type:"retrieval",...null!=t.retrievalTypes?{retrieval_types:t.retrievalTypes}:{retrieval_types:["vertex_ai_search"]},...null!=e?{vertex_ai_search_config:e}:{}});break}default:o.push({type:"unsupported",feature:`provider-defined tool ${e.id}`,details:`provider-defined tool ${e.id} is not supported by google.interactions; tool dropped.`})}continue}o.push({type:"unsupported",feature:`tool of type ${e.type}`,details:"Only function tools and google.* provider-defined tools are supported by google.interactions; tool dropped."})}let a=i.some(e=>"function"===e.type);if(null!=t&&a)switch(t.type){case"auto":n="auto";break;case"required":n="any";break;case"none":n="none";break;case"tool":n={allowed_tools:{mode:"validated",tools:[t.toolName]}}}return{tools:i.length>0?i:void 0,toolChoice:n,toolWarnings:o}}({tools:e.tools,toolChoice:e.toolChoice});n=t.tools,o=t.toolChoice,s.push(...t.toolWarnings)}let c=[];if(e.responseFormat?.type==="json")if(u)s.push({type:"other",message:"google.interactions: structured output (responseFormat) is not supported when an agent is set; responseFormat will be ignored."});else{let t={type:"text",mime_type:"application/json",...null!=e.responseFormat.schema?{schema:e.responseFormat.schema}:{}};c.push(t)}if(l?.responseFormat!=null)for(let e of l.responseFormat)"text"===e.type?c.push(ts({type:"text",mime_type:e.mimeType??void 0,schema:e.schema??void 0})):"image"===e.type?c.push(ts({type:"image",mime_type:e.mimeType??void 0,aspect_ratio:e.aspectRatio??void 0,image_size:e.imageSize??void 0})):"audio"===e.type?c.push(ts({type:"audio",mime_type:e.mimeType??void 0})):"video"===e.type&&c.push(ts({type:"video",aspect_ratio:e.aspectRatio??void 0,resolution:e.resolution??void 0,duration:e.duration??void 0,delivery:e.delivery??void 0,gcs_uri:e.gcsUri??void 0}));let{input:d,systemInstruction:p,warnings:h}=function({prompt:e,previousInteractionId:n,store:o,mediaResolution:r}){let i=[],a=null!=n&&!1===o,s=null!=n&&!1!==o;a&&i.push({type:"other",message:"google.interactions: providerOptions.google.previousInteractionId was set together with store: false. These are incoherent (the prior interaction cannot be referenced when nothing was stored on the server); the full history will be sent and previous_interaction_id will still be emitted."});let l=s?function({prompt:e,previousInteractionId:t}){let n=[],o=new Set;for(let r of e){if("assistant"===r.role){if(r.content.some(e=>e.providerOptions?.google?.interactionId===t)){for(let e of r.content)"tool-call"===e.type&&o.add(e.toolCallId);continue}n.push(r);continue}if("tool"===r.role){let e=r.content.filter(e=>"tool-result"!==e.type||!o.has(e.toolCallId));if(0===e.length)continue;n.push({...r,content:e});continue}n.push(r)}return n}({prompt:e,previousInteractionId:n}):e,u=[],c=[];for(let e of l)switch(e.role){case"system":u.push(e.content);break;case"user":{let t=[];for(let n of e.content)if("text"===n.type)t.push({type:"text",text:n.text});else if("file"===n.type){let e=eG({part:n,warnings:i,mediaResolution:r});null!=e&&t.push(e)}let n=function(e){if(e.length<2)return e;let t=[];for(let n of e){let e=t[t.length-1];if("text"===n.type&&null!=e&&"text"===e.type&&null==e.annotations&&null==n.annotations){let o={type:"text",text:`${e.text}
|
|
167
167
|
|
|
168
|
-
${n.text}`};t[t.length-1]=o;continue}t.push(n)}return t}(t);n.length>0&&c.push({type:"user_input",content:n});break}case"assistant":{let t=[],o=()=>{t.length>0&&(c.push({type:"model_output",content:t}),t=[])};for(let a of e.content)if("text"===a.type)t.push({type:"text",text:a.text});else if("reasoning"===a.type){o();let e=a.providerOptions?.google?.signature;c.push({type:"thought",...null!=e?{signature:e}:{},summary:a.text.length>0?[{type:"text",text:a.text}]:void 0})}else if("file"===a.type){let e=eY({part:a,warnings:i,mediaResolution:r});null!=e&&t.push(e)}else if("custom"===a.type){o();let e=a.providerOptions?.google,t="string"==typeof e?.signature?e.signature:void 0;"google.processing_call"===a.kind&&"string"==typeof e?.processingId?c.push({type:"processing_call",id:e.processingId,...null!=t?{signature:t}:{}}):"google.processing_result"===a.kind&&"string"==typeof e?.processingCallId?c.push({type:"processing_result",call_id:e.processingCallId,...null!=t?{signature:t}:{}}):i.push({type:"other",message:`google.interactions: unsupported or invalid custom assistant content part "${a.kind}"; part dropped.`})}else if("tool-call"===a.type){o();let e=a.providerOptions?.google?.signature,t="string"==typeof a.input?function(e){try{let t=(0,n.secureJsonParse)(e);if(null!=t&&"object"==typeof t&&!Array.isArray(t))return t;return{value:t}}catch{return{value:e}}}(a.input):a.input??{};c.push({type:"function_call",id:a.toolCallId,name:a.toolName,arguments:t,...null!=e?{signature:e}:{}})}else i.push({type:"other",message:`google.interactions: unsupported assistant content part type "${a.type}"; part dropped.`});o();break}case"tool":{let t=[];for(let o of e.content){if("tool-result"!==o.type){i.push({type:"other",message:`google.interactions: unsupported tool message part type "${o.type}"; part dropped.`});continue}let e=function({toolCallId:e,toolName:t,output:o,signature:r,warnings:i}){let a={type:"function_result",call_id:e,name:t,...null!=r?{signature:r}:{}};switch(o.type){case"text":return{...a,result:o.value};case"json":return{...a,result:JSON.stringify(o.value)};case"error-text":return{...a,is_error:!0,result:o.value};case"error-json":return{...a,is_error:!0,result:JSON.stringify(o.value)};case"execution-denied":return{...a,is_error:!0,result:o.reason??"Tool execution denied by user."};case"content":{let e=[];for(let t of o.value)if("text"===t.type)e.push({type:"text",text:t.text});else if("file"===t.type){if("image"!==(0,n.getTopLevelMediaType)(t.mediaType)){i.push({type:"other",message:`google.interactions: tool-result file with mediaType "${t.mediaType}" is not supported (Interactions \`function_result.result\` accepts only text and image content); part dropped.`});continue}let o=function({part:e,warnings:t}){switch(e.data.type){case"data":{let t=(0,n.isFullMediaType)(e.mediaType)?e.mediaType:(0,n.resolveFullMediaType)({part:{type:"file",mediaType:e.mediaType,data:e.data}});return{type:"image",data:(0,n.convertToBase64)(e.data.data),mime_type:t}}case"url":return{type:"image",uri:e.data.url.toString(),...(0,n.isFullMediaType)(e.mediaType)?{mime_type:e.mediaType}:{}};case"reference":return{type:"image",uri:(0,n.resolveProviderReference)({reference:e.data.reference,provider:"google"}),...(0,n.isFullMediaType)(e.mediaType)?{mime_type:e.mediaType}:{}};case"text":return void t.push({type:"other",message:'google.interactions: tool-result image part with `data.type === "text"` is not representable as an image; part dropped.'})}}({part:t,warnings:i});null!=o&&e.push(o)}else i.push({type:"other",message:`google.interactions: tool-result content part type "${t.type}" is not supported; part dropped.`});return{...a,result:e}}}}({toolCallId:o.toolCallId,toolName:o.toolName,output:o.output,signature:o.providerOptions?.google?.signature,warnings:i});t.push(e)}t.length>0&&c.push({type:"user_input",content:t})}}return{input:c,systemInstruction:u.length>0?u.join("\n\n"):void 0,warnings:i}}({prompt:e.prompt,previousInteractionId:l?.previousInteractionId??void 0,store:l?.store??void 0,mediaResolution:l?.mediaResolution??void 0});s.push(...h);let m=p,g=l?.systemInstruction??void 0;if(null!=m&&null!=g?s.push({type:"other",message:"google.interactions: both AI SDK system message and providerOptions.google.systemInstruction were set; using the AI SDK system message."}):null==m&&null!=g&&(m=g),u){let t=[];null!=e.temperature&&t.push("temperature"),null!=e.topP&&t.push("topP"),null!=e.topK&&t.push("topK"),null!=e.frequencyPenalty&&t.push("frequencyPenalty"),null!=e.presencePenalty&&t.push("presencePenalty"),null!=e.seed&&t.push("seed"),null!=e.stopSequences&&e.stopSequences.length>0&&t.push("stopSequences"),null!=e.maxOutputTokens&&t.push("maxOutputTokens"),l?.thinkingLevel!=null&&t.push("thinkingLevel"),l?.thinkingSummaries!=null&&t.push("thinkingSummaries"),l?.imageConfig!=null&&t.push("imageConfig"),t.length>0&&s.push({type:"other",message:`google.interactions: ${t.join(", ")} ${1===t.length?"is":"are"} not supported when an agent is set; use providerOptions.google.agentConfig instead. Dropped from the request body.`}),r=void 0}else if(r=tl({temperature:e.temperature??void 0,top_p:e.topP??void 0,top_k:e.topK??void 0,seed:e.seed??void 0,stop_sequences:null!=e.stopSequences&&e.stopSequences.length>0?e.stopSequences:void 0,max_output_tokens:e.maxOutputTokens??void 0,thinking_level:l?.thinkingLevel??void 0,thinking_summaries:l?.thinkingSummaries??void 0,tool_choice:o}),l?.imageConfig!=null){let e=c.some(e=>"image"===e.type);s.push({type:"other",message:e?"google.interactions: providerOptions.google.imageConfig is deprecated and was ignored because providerOptions.google.responseFormat already supplies an image entry. Use responseFormat exclusively.":'google.interactions: providerOptions.google.imageConfig is deprecated. Use providerOptions.google.responseFormat with a { type: "image", ... } entry instead.'}),e||c.push({type:"image",mime_type:"image/png",...null!=l.imageConfig.aspectRatio?{aspect_ratio:l.imageConfig.aspectRatio}:{},...null!=l.imageConfig.imageSize?{image_size:l.imageConfig.imageSize}:{}})}if(u&&l?.agentConfig!=null){let e=l.agentConfig;"deep-research"===e.type?i=tl({type:"deep-research",thinking_summaries:e.thinkingSummaries??void 0,visualization:e.visualization??void 0,collaborative_planning:e.collaborativePlanning??void 0}):"dynamic"===e.type&&(i={type:"dynamic"})}if(l?.environment!=null)if(u)if("string"==typeof l.environment)a=l.environment;else{let e,t=l.environment,n=t.sources?.map(e=>"inline"===e.type?{type:"inline",content:e.content,target:e.target}:tl({type:e.type,source:e.source,target:e.target??void 0}));"disabled"===t.network?e="disabled":null!=t.network&&(e={allowlist:t.network.allowlist.map(e=>tl({domain:e.domain,transform:e.transform??void 0}))}),a=tl({type:"remote",sources:null!=n&&n.length>0?n:void 0,network:e})}else s.push({type:"other",message:"google.interactions: environment is only supported when an agent is set; environment will be omitted from the request body."});return{args:tl({...u?{agent:this.agent}:{model:this.modelId},input:d,system_instruction:m,tools:t,response_format:c.length>0?c:void 0,response_modalities:l?.responseModalities!=null?l.responseModalities:void 0,previous_interaction_id:l?.previousInteractionId??void 0,service_tier:l?.serviceTier??void 0,store:l?.store??void 0,generation_config:null!=r&&Object.keys(r).length>0?r:void 0,agent_config:i,environment:a,background:l?.background??void 0}),warnings:s,isAgent:u,isBackground:l?.background===!0,pollingTimeoutMs:l?.pollingTimeoutMs??void 0}}async doGenerate(e){let t,{args:o,warnings:r,isAgent:i,pollingTimeoutMs:a}=await this.getArgs(e),s=`${this.config.baseURL}/interactions`,u=(0,n.combineHeaders)(this.config.headers?await (0,n.resolve)(this.config.headers):void 0,e.headers),{responseHeaders:c,value:d,rawValue:p}=await (0,n.postJsonToApi)({url:s,headers:u,body:o,failedResponseHandler:l,successfulResponseHandler:(0,n.createJsonResponseHandler)(e6),abortSignal:e.abortSignal,fetch:this.config.fetch});if(i&&!ti(d.status)){let t=await ta({baseURL:this.config.baseURL,interactionId:d.id,headers:u,fetch:this.config.fetch,abortSignal:e.abortSignal,timeoutMs:a});d=t.response,p=t.rawResponse,c=t.responseHeaders??c}let h="string"==typeof d.id&&d.id.length>0?d.id:void 0,{content:m,hasFunctionCall:g}=tn({steps:d.steps??null,generateId:this.config.generateId??n.generateId,interactionId:h}),f={unified:eK({status:d.status,hasFunctionCall:g}),raw:d.status},y=d.service_tier??c?.["x-gemini-service-tier"]??void 0,b=eq(d.usage),_={google:{...null!=h?{interactionId:h}:{},...null!=y?{serviceTier:y}:{},...null!=b?{outputTokensByModality:b}:{}}};if("string"==typeof d.created){let e=new Date(d.created);Number.isNaN(e.getTime())||(t=e)}return{content:m,finishReason:f,usage:eU(d.usage),warnings:r,providerMetadata:_,request:{body:o},response:{headers:c,body:p,...null!=h?{id:h}:{},...t?{timestamp:t}:{},modelId:d.model??void 0}}}async doStream(e){let{args:t,warnings:o,isBackground:r,pollingTimeoutMs:i}=await this.getArgs(e),a=`${this.config.baseURL}/interactions`,s=(0,n.combineHeaders)(this.config.headers?await (0,n.resolve)(this.config.headers):void 0,e.headers);if(r)return this.doStreamBackground({args:t,warnings:o,url:a,mergedHeaders:s,options:e,pollingTimeoutMs:i});let u={...t,stream:!0},{responseHeaders:c,value:d}=await (0,n.postJsonToApi)({url:a,headers:s,body:u,failedResponseHandler:l,successfulResponseHandler:(0,n.createEventSourceResponseHandler)(e9),abortSignal:e.abortSignal,fetch:this.config.fetch}),p=c?.["x-gemini-service-tier"],h=eG({warnings:o,generateId:this.config.generateId??n.generateId,includeRawChunks:e.includeRawChunks,serviceTier:p});return{stream:d.pipeThrough(h),request:{body:u},response:{headers:c}}}async doStreamBackground({args:e,warnings:t,url:o,mergedHeaders:r,options:i,pollingTimeoutMs:a}){let{responseHeaders:s,value:u}=await (0,n.postJsonToApi)({url:o,headers:r,body:e,failedResponseHandler:l,successfulResponseHandler:(0,n.createJsonResponseHandler)(e6),abortSignal:i.abortSignal,fetch:this.config.fetch}),c=u.id;if(null==c||0===c.length)throw Error("google.interactions: background POST response did not include an interaction id; cannot stream the result.");let d=s?.["x-gemini-service-tier"];if(ti(u.status))return{stream:function({response:e,warnings:t,generateId:n,includeRawChunks:o,headerServiceTier:r}){return new ReadableStream({start(i){let a;i.enqueue({type:"stream-start",warnings:t});let s="string"==typeof e.id&&e.id.length>0?e.id:void 0,l=e.created;if("string"==typeof l){let e=new Date(l);Number.isNaN(e.getTime())||(a=e)}i.enqueue({type:"response-metadata",...null!=s?{id:s}:{},modelId:e.model??void 0,...a?{timestamp:a}:{}}),o&&i.enqueue({type:"raw",rawValue:e});let{content:u,hasFunctionCall:c}=tn({steps:e.steps??null,generateId:n,interactionId:s}),d=0,p=()=>`${s??"agent"}:${d++}`;for(let e of u)switch(e.type){case"text":{let t=p(),n=e.providerMetadata;i.enqueue({type:"text-start",id:t}),e.text.length>0&&i.enqueue({type:"text-delta",id:t,delta:e.text}),i.enqueue({type:"text-end",id:t,...n?{providerMetadata:n}:{}});break}case"reasoning":{let t=p(),n=e.providerMetadata;i.enqueue({type:"reasoning-start",id:t}),e.text.length>0&&i.enqueue({type:"reasoning-delta",id:t,delta:e.text}),i.enqueue({type:"reasoning-end",id:t,...n?{providerMetadata:n}:{}});break}case"tool-call":{let t=e.providerMetadata;i.enqueue({type:"tool-input-start",id:e.toolCallId,toolName:e.toolName,...e.providerExecuted?{providerExecuted:e.providerExecuted}:{}}),i.enqueue({type:"tool-input-delta",id:e.toolCallId,delta:e.input}),i.enqueue({type:"tool-input-end",id:e.toolCallId}),i.enqueue({type:"tool-call",toolCallId:e.toolCallId,toolName:e.toolName,input:e.input,...e.providerExecuted?{providerExecuted:e.providerExecuted}:{},...t?{providerMetadata:t}:{}});break}case"tool-result":i.enqueue({type:"tool-result",toolCallId:e.toolCallId,toolName:e.toolName,result:e.result});break;case"source":case"file":i.enqueue(e)}let h=e.service_tier??r,m={unified:eK({status:e.status,hasFunctionCall:c}),raw:e.status},g={google:{...null!=s?{interactionId:s}:{},...null!=h?{serviceTier:h}:{}}};i.enqueue({type:"finish",finishReason:m,usage:eU(e.usage),providerMetadata:g}),i.close()}})}({response:u,warnings:t,generateId:this.config.generateId??n.generateId,includeRawChunks:i.includeRawChunks,headerServiceTier:d}),request:{body:e},response:{headers:s}};let p=function({baseURL:e,interactionId:t,headers:o,fetch:r,abortSignal:i,maxRetries:a=3,retryDelayMs:s=500}){let u,c;if(0===t.length)throw Error("google.interactions: cannot stream a background interaction without an id.");let d={...o,accept:"text/event-stream"},p=!1,h=0,m=!1,g=new AbortController,f=()=>g.abort();null!=i&&(i.aborted?g.abort():i.addEventListener("abort",f,{once:!0}));let y=g.signal;async function b(){let o,i,{value:a}=await (0,n.getFromApi)({url:(o=`${e}/interactions/${encodeURIComponent(t)}`,i=new URLSearchParams({stream:"true"}),null!=u&&i.set("last_event_id",u),`${o}?${i.toString()}`),validateUrl:!1,headers:d,failedResponseHandler:l,successfulResponseHandler:(0,n.createEventSourceResponseHandler)(e9),abortSignal:y,fetch:r});return a.getReader()}return new ReadableStream({async start(l){try{for(;!p&&!y.aborted;){if(null==c)try{c=await b(),m=!1}catch(e){if((0,n.isAbortError)(e)||y.aborted||++h>=a)return void l.error(e);await (0,n.delay)(s*h,{abortSignal:y});continue}try{let{done:e,value:t}=await c.read();if(e){if(c=void 0,p)break;if(m)h=0;else{if(++h>=a)return void l.error(Error("google.interactions: SSE stream closed without producing any events."));await (0,n.delay)(s*h,{abortSignal:y})}continue}if(m=!0,t.success){let e=t.value;"string"==typeof e.event_id&&e.event_id.length>0&&(u=e.event_id),("interaction.completed"===e.event_type||"error"===e.event_type)&&(p=!0)}l.enqueue(t)}catch(e){if((0,n.isAbortError)(e)||y.aborted||(c=void 0,++h>=a))return void l.error(e);await (0,n.delay)(s*h,{abortSignal:y})}}l.close()}catch(e){l.error(e)}finally{null!=i&&i.removeEventListener("abort",f),c?.cancel().catch(()=>{}),c=void 0,y.aborted&&!p&&await to({baseURL:e,interactionId:t,headers:o,fetch:r})}},cancel(){g.abort(),c?.cancel().catch(()=>{}),c=void 0}})}({baseURL:this.config.baseURL,interactionId:c,headers:r,fetch:this.config.fetch,abortSignal:i.abortSignal}),h=eG({warnings:t,generateId:this.config.generateId??n.generateId,includeRawChunks:i.includeRawChunks,serviceTier:d});return{stream:p.pipeThrough(h),request:{body:e},response:{headers:s}}}};function tl(e){let t={};for(let[n,o]of Object.entries(e))void 0!==o&&(t[n]=o);return t}function tu(e){let t=new URL(e),n=t.pathname.split("/"),o=n.at(-1);return("v1beta"===o||"v1alpha"===o)&&(n.pop(),t.pathname=n.join("/")||"/"),t}function tc(e,t){let n=tu(e);return n.protocol="https:"===n.protocol?"wss:":"ws:",n.pathname=`${n.pathname.replace(/\/$/,"")}/ws/${t}`,n}var td=class{constructor(){this.turnCounter=0,this.hasAudio=!1,this.hasText=!1,this.hasTranscript=!1,this.turnClosed=!1,this.inputAudioRate=16e3}get responseId(){return`google-resp-${this.turnCounter}`}get itemId(){return`google-item-${this.turnCounter}`}beginTurnIfClosed(){this.turnClosed&&(this.turnCounter++,this.hasAudio=!1,this.hasText=!1,this.hasTranscript=!1,this.turnClosed=!1)}parseServerEvent(e){return null!=e.setupComplete?{type:"session-created",raw:e}:null!=e.toolCall?(this.beginTurnIfClosed(),(e.toolCall.functionCalls??[]).flatMap(t=>{let n=JSON.stringify(t.args??{});return[{type:"function-call-arguments-delta",responseId:this.responseId,itemId:this.itemId,callId:t.id,delta:n,raw:e},{type:"function-call-arguments-done",responseId:this.responseId,itemId:this.itemId,callId:t.id,name:t.name,arguments:n,raw:e}]})):null!=e.toolCallCancellation?{type:"custom",rawType:"toolCallCancellation",raw:e}:null!=e.goAway?{type:"custom",rawType:"goAway",raw:e}:null!=e.sessionResumptionUpdate?{type:"custom",rawType:"sessionResumptionUpdate",raw:e}:null!=e.serverContent?this.parseServerContent(e.serverContent,e):e.inputTranscription?.text!=null?{type:"input-transcription-completed",itemId:`google-input-${this.turnCounter}`,transcript:e.inputTranscription.text,raw:e}:{type:"custom",rawType:String(Object.keys(e)[0]),raw:e}}parseServerContent(e,t){let n=[];if(e.interrupted&&n.push({type:"speech-started",raw:t}),e.modelTurn?.parts)for(let o of(this.beginTurnIfClosed(),e.modelTurn.parts))o.inlineData?.data&&(this.hasAudio=!0,n.push({type:"audio-delta",responseId:this.responseId,itemId:this.itemId,delta:o.inlineData.data,raw:t})),o.text&&(this.hasText=!0,n.push({type:"text-delta",responseId:this.responseId,itemId:this.itemId,delta:o.text,raw:t}));return(e.outputTranscription?.text&&(this.hasTranscript=!0,n.push({type:"audio-transcript-delta",responseId:this.responseId,itemId:this.itemId,delta:e.outputTranscription.text,raw:t})),e.inputTranscription?.text&&n.push({type:"input-transcription-completed",itemId:`google-input-${this.turnCounter}`,transcript:e.inputTranscription.text,raw:t}),e.generationComplete&&n.push({type:"custom",rawType:"generationComplete",raw:t}),null!=e.interactionStatus&&n.push({type:"custom",rawType:"interactionStatus",raw:t}),e.waitingForInput&&n.push({type:"custom",rawType:"waitingForInput",raw:t}),e.turnComplete&&(this.hasAudio&&n.push({type:"audio-done",responseId:this.responseId,itemId:this.itemId,raw:t}),this.hasText&&n.push({type:"text-done",responseId:this.responseId,itemId:this.itemId,raw:t}),this.hasTranscript&&n.push({type:"audio-transcript-done",responseId:this.responseId,itemId:this.itemId,raw:t}),n.push({type:"response-done",responseId:this.responseId,status:"completed",raw:t}),this.turnClosed=!0),0===n.length)?{type:"custom",rawType:"serverContent",raw:t}:1===n.length?n[0]:n}serializeClientEvent(e,t){switch(e.type){case"session-update":return e.config.inputAudioFormat?.rate!=null&&(this.inputAudioRate=e.config.inputAudioFormat.rate),{setup:th(e.config,t)};case"input-audio-append":return{realtimeInput:{audio:{data:e.audio,mimeType:`audio/pcm;rate=${this.inputAudioRate}`}}};case"input-audio-commit":return{realtimeInput:{audioStreamEnd:!0}};case"input-audio-clear":case"response-create":case"response-cancel":case"conversation-item-truncate":break;case"conversation-item-create":{let t=e.item;switch(t.type){case"text-message":return{realtimeInput:{text:t.text}};case"function-call-output":return tp(t);case"audio-message":return null}}}return null}};async function tp(e){var t;let o=await (0,n.safeParseJSON)({text:e.output}),r=o.success?"object"!=typeof(t=o.value)||null===t||Array.isArray(t)?{output:t}:t:{output:e.output};return{toolResponse:{functionResponses:[{id:e.callId,name:e.name,response:r}]}}}function th(e,t){let o,r={model:g(t)},{google:i,...a}=e?.providerOptions??{},s=(0,n.isRecord)(i)?i:void 0,l={};e?.outputModalities!=null?l.responseModalities=e.outputModalities.map(e=>e.toUpperCase()):l.responseModalities=["AUDIO"],e?.voice!=null&&(l.speechConfig={voiceConfig:{prebuiltVoiceConfig:{voiceName:e.voice}}}),r.generationConfig=l,e?.instructions!=null&&(r.systemInstruction={parts:[{text:e.instructions}]}),e?.tools!=null&&e.tools.length>0&&(r.tools=[{functionDeclarations:e.tools.map(e=>({name:e.name,description:e.description,parametersJsonSchema:e.parameters,...s?.defaultToolBehavior!=null?{behavior:s.defaultToolBehavior}:{}}))}]),e?.inputAudioTranscription!=null&&(r.inputAudioTranscription={}),e?.outputAudioTranscription!=null&&(r.outputAudioTranscription={});let u=s?.thinkingConfig??((o=t.split("/").at(-1)?.toLowerCase()??"",/^gemini-\d+\.\d+-live\b.*thinking/.test(o))?{thinkingLevel:"low"}:void 0),c=()=>{if(null==u)return;let e=(0,n.isRecord)(r.generationConfig)?r.generationConfig:l;r.generationConfig={...e,thinkingConfig:u}};if(e?.providerOptions==null)return c(),r;if(Object.assign(r,a),s?.translationConfig!=null){let e=(0,n.isRecord)(r.generationConfig)?r.generationConfig:l;r.generationConfig={...e,translationConfig:s.translationConfig}}return c(),r}var tm=class{constructor(e,t){this.specificationVersion="v4",this.mapper=new td,this.modelId=e,this.provider=t.provider,this.config=t}async doCreateClientSecret(e){let t,n=this.config.fetch??fetch,o=this.config.headers()["x-goog-api-key"];if(!o)throw Error("Google Generative AI API key is required for realtime token creation.");let r=Date.now(),i=(e.expiresAfterSeconds??60)*1e3,a=new Date(r+i).toISOString(),s=new Date(r+i+18e5).toISOString(),l=th(e.sessionConfig,this.modelId),u=await n(`${((t=tu(this.config.baseURL)).pathname=`${t.pathname.replace(/\/$/,"")}/v1alpha/auth_tokens`,t.toString())}?key=${encodeURIComponent(o)}`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({uses:0,expireTime:s,newSessionExpireTime:a,bidiGenerateContentSetup:l})});if(!u.ok){let e=await u.text();throw Error(`Google realtime auth token request failed: ${u.status} ${e}`)}let c=await u.json();return{token:c.name,url:tc(this.config.baseURL,"google.ai.generativelanguage.v1alpha.GenerativeService.BidiGenerateContentConstrained").toString(),expiresAt:c.expireTime?Math.floor(new Date(c.expireTime).getTime()/1e3):void 0}}getWebSocketConfig(e){return{url:`${e.url}?access_token=${encodeURIComponent(e.token)}`}}parseServerEvent(e){return this.mapper.parseServerEvent(e)}serializeClientEvent(e){return this.mapper.serializeClientEvent(e,this.modelId)}buildSessionConfig(e){return th(e,this.modelId)}},tg=a.z.object({languageCodes:a.z.array(a.z.string()).optional(),customVocabulary:a.z.array(a.z.string()).optional(),wordTimestamp:a.z.boolean().optional(),diarization:a.z.boolean().optional(),mode:a.z.enum(["SMART","VERBATIM"]).optional()});function tf(e){return e.includes("-live")}var ty=class e{constructor(e,t){this.modelId=e,this.config=t,this.specificationVersion="v4"}static[i.WORKFLOW_SERIALIZE](e){return(0,n.serializeModelOptions)({modelId:e.modelId,config:e.config})}static[i.WORKFLOW_DESERIALIZE](t){return new e(t.modelId,t.config)}get provider(){return this.config.provider}async parseOptions(e){return(0,n.parseProviderOptions)({provider:"google",providerOptions:e,schema:tg})}async doGenerate(e){if(tf(this.modelId))throw new r.InvalidArgumentError({argument:"modelId",message:`Model '${this.modelId}' only supports streaming transcription. Use experimental_streamTranscribe, or a unary model such as 'gemini-3.5-transcribe'.`});let t=this.config._internal?.currentDate?.()??new Date,o=function(e){if(null==e)return;let t={};return null!=e.languageCodes&&(t.language_codes=e.languageCodes),null!=e.customVocabulary&&(t.custom_vocabulary=e.customVocabulary),(null!=e.mode||!0===e.diarization||!0===e.wordTimestamp)&&(t.mode={type:(e.mode??"VERBATIM").toLowerCase(),...!0===e.diarization?{diarization_mode:"speaker"}:{},...!0===e.wordTimestamp?{timestamp_granularities:["word"]}:{}}),Object.keys(t).length>0?t:void 0}(await this.parseOptions(e.providerOptions)),i={model:this.modelId,input:[{type:"audio",data:(0,n.convertToBase64)(e.audio),mime_type:e.mediaType}],...null!=o?{generation_config:{transcription_config:o}}:{}},{value:a,responseHeaders:s,rawValue:u}=await (0,n.postJsonToApi)({url:`${this.config.baseURL}/interactions`,headers:(0,n.combineHeaders)(this.config.headers?await (0,n.resolve)(this.config.headers):void 0,e.headers),body:i,failedResponseHandler:l,successfulResponseHandler:(0,n.createJsonResponseHandler)(tz),abortSignal:e.abortSignal,fetch:this.config.fetch}),c="",d=[];for(let e of a.steps??[])for(let t of e.content??[])if("text"===t.type&&null!=t.text)for(let e of(c+=t.text,t.annotations??[])){if("word_info"!==e.type)continue;let t=tb(e.start_offset),n=tb(e.end_offset);null!=e.text&&null!=t&&null!=n&&d.push({text:e.text,startSecond:t,endSecond:n})}return{text:c,segments:d,language:void 0,durationInSeconds:void 0,warnings:[],response:{timestamp:t,modelId:this.modelId,headers:s,body:u},...null!=a.usage?{providerMetadata:{google:{usage:a.usage}}}:{}}}async doStream(e){let t,o;if(!tf(this.modelId))throw new r.InvalidArgumentError({argument:"modelId",message:`Model '${this.modelId}' does not support streaming transcription. Use a live model such as 'gemini-3.5-transcribe-live'.`});let i=this.config._internal?.currentDate?.()??new Date,a=await this.parseOptions(e.providerOptions);var s,l,u=e.inputAudioFormat;if("audio/pcm"!==u.type||null!=u.rate&&16e3!==u.rate)throw new r.InvalidArgumentError({argument:"inputAudioFormat",message:"The Gemini Live transcription API only supports 16kHz 16-bit PCM input audio."});let c=(0,n.combineHeaders)(this.config.headers?await (0,n.resolve)(this.config.headers):void 0,e.headers);for(let[e,n]of Object.entries(c))"x-goog-api-key"===e.toLowerCase()&&null!=n&&(t=n);if(null==t)throw Error("Google Generative AI API key is required for streaming transcription.");let d=Object.fromEntries(Object.entries(c).filter(([e])=>"x-goog-api-key"!==e.toLowerCase())),p={model:g(this.modelId),inputAudioTranscription:function(e){if(null==e)return;let t={};return null!=e.languageCodes&&(t.languageCodes=e.languageCodes),null!=e.customVocabulary&&(t.customVocabulary=e.customVocabulary),null!=e.wordTimestamp&&(t.wordTimestamp=e.wordTimestamp),null!=e.diarization&&(t.diarization=e.diarization),null!=e.mode&&(t.mode=e.mode),Object.keys(t).length>0?t:void 0}(a)??{}};return{request:{body:p},response:{timestamp:i,modelId:this.modelId},stream:function({webSocket:e,url:t,headers:o,setup:r,inputAudioRate:i,finishGraceMs:a,warnings:s,audio:l,abortSignal:u,includeRawChunks:c}){let d=!1,p=()=>{};return new ReadableStream({start:h=>{let m,g,f,y,b,_,z=new Promise(e=>{f=e}),w=0,v="",k="",x="",S=!1,T=()=>`google-segment-${w}`,I=()=>{null!=_&&(clearTimeout(_),_=void 0)},O=()=>{!d&&S&&(I(),_=setTimeout(()=>{_=void 0,A()},a))};p=e=>{I(),null!=m?m.cancel().catch(()=>{}):l.cancel().catch(()=>{}),g?.close(e)};let E=e=>{d||(d=!0,p(),h.error(e))},C=()=>{if(""===v){if(""===x)return;v=x}x="",h.enqueue({type:"transcript-final",id:T(),text:v}),k+=""===k?v:` ${v}`,v="",w++},A=()=>{d||(C(),d=!0,h.enqueue({type:"finish",text:k,segments:[],language:y,durationInSeconds:void 0,...null!=b?{providerMetadata:{google:{usageMetadata:b}}}:{}}),h.close(),p(1e3))},j=async e=>{m=l.getReader();try{for(;;){let{done:t,value:o}=await m.read();if(t||d)break;e.send(JSON.stringify({realtimeInput:{audio:{data:(0,n.convertToBase64)(o),mimeType:`audio/pcm;rate=${i}`}}})),await (0,n.waitForWebSocketBufferDrain)(e)}}finally{m.releaseLock(),m=void 0}d||(e.send(JSON.stringify({realtimeInput:{audioStreamEnd:!0}})),S=!0,O())};g=(0,n.connectToWebSocket)({url:t,headers:o,webSocket:e,abortSignal:u,onAbort:E,onProcessingError:E,onOpen:e=>{h.enqueue({type:"stream-start",warnings:s}),e.send(JSON.stringify({setup:r})),z.then(()=>d?void 0:j(e)).catch(E)},onMessageText:async e=>{if(d)return;let t=await (0,n.safeParseJSON)({text:e});if(!t.success)return;let o=t.value;if(c&&h.enqueue({type:"raw",rawValue:o}),null!=o.setupComplete&&f(),null!=o.usageMetadata&&(b=o.usageMetadata),null!=o.error)return void E(Error(o.error.message??"Google Live API error"));let r=o.serverContent,i=r?.interimInputTranscription;i?.text&&(O(),x=i.text,h.enqueue({type:"transcript-partial",id:T(),text:i.text}));let a=r?.inputTranscription??o.inputTranscription;null!=a&&(null!=a.languageCode&&(y=a.languageCode),a.text&&(O(),x="",v+=a.text,h.enqueue({type:"transcript-delta",id:T(),delta:a.text})),!0===a.finished&&C()),r?.turnComplete&&C();let s=r?.interactionStatus;S&&("IDLE"===s||"REQUIRES_ACTION"===s||r?.turnComplete===!0&&null==s)&&A()},onSocketError:()=>{E(Error("Google Live transcription error"))},onClose:({code:e,reason:t})=>{if(!d){if(S)return void A();E(Error(`Google Live transcription WebSocket closed unexpectedly before finishing (code ${e??"unknown"}${t?`, reason: ${t}`:""}).`))}}})},cancel:()=>{d||(d=!0,p())}})}({webSocket:this.config.webSocket,url:(s=this.config.baseURL,l=t,(o=tc(s,"google.ai.generativelanguage.v1beta.GenerativeService.BidiGenerateContent")).searchParams.set("key",l),o),headers:d,setup:p,inputAudioRate:e.inputAudioFormat.rate??16e3,finishGraceMs:this.config._internal?.finishGraceMs??3e3,warnings:[],audio:e.audio,abortSignal:e.abortSignal,includeRawChunks:e.includeRawChunks})}}};function tb(e){if(null==e)return;let t=Number.parseFloat(e);return Number.isFinite(t)?t:void 0}var t_=a.z.object({type:a.z.string().nullish(),text:a.z.string().nullish(),speaker:a.z.string().nullish(),start_offset:a.z.string().nullish(),end_offset:a.z.string().nullish()}),tz=a.z.object({status:a.z.string().nullish(),steps:a.z.array(a.z.object({type:a.z.string().nullish(),content:a.z.array(a.z.object({type:a.z.string().nullish(),text:a.z.string().nullish(),annotations:a.z.array(t_).nullish()})).nullish()})).nullish(),usage:a.z.record(a.z.string(),a.z.unknown()).nullish()}),tw=(0,n.lazySchema)(()=>(0,n.zodSchema)(a.z.object({echoTargetLanguage:a.z.boolean().optional()}))),tv=class e{constructor(e,t){this.specificationVersion="v4",this.modelId=e,this.config=t}static[i.WORKFLOW_SERIALIZE](e){return(0,n.serializeModelOptions)({modelId:e.modelId,config:e.config})}static[i.WORKFLOW_DESERIALIZE](t){return new e(t.modelId,t.config)}get provider(){return this.config.provider}async doStream(e){var t,o;let i,a;if(null==e.targetLanguage)throw new r.InvalidArgumentError({argument:"targetLanguage",message:`targetLanguage is required for translation model '${this.modelId}'.`});let s=this.config._internal?.currentDate?.()??new Date,l=await (0,n.parseProviderOptions)({provider:"google",providerOptions:e.providerOptions,schema:tw}),u=[];(function(e){if("audio/pcm"!==e.type||null!=e.rate&&16e3!==e.rate)throw new r.InvalidArgumentError({argument:"inputAudioFormat",message:"The Gemini Live translation API only supports 16kHz 16-bit PCM input audio."})})(e.inputAudioFormat),null!=e.sourceLanguage&&u.push({type:"unsupported",feature:"sourceLanguage",details:"The Gemini Live translation API auto-detects the source language and does not accept a source language."}),null!=e.outputAudioFormat&&u.push({type:"unsupported",feature:"outputAudioFormat",details:"The Gemini Live API always outputs 24kHz 16-bit PCM audio and does not accept an output audio format."});let c=(0,n.combineHeaders)(this.config.headers(),e.headers);for(let[e,t]of Object.entries(c))"x-goog-api-key"===e.toLowerCase()&&null!=t&&(i=t);if(null==i)throw Error("Google Generative AI API key is required for streaming translation.");let d=Object.fromEntries(Object.entries(c).filter(([e])=>"x-goog-api-key"!==e.toLowerCase())),p=function({modelId:e,targetLanguage:t,providerOptions:n}){return{model:g(e),generationConfig:{responseModalities:["AUDIO"],translationConfig:{targetLanguageCode:t,...n?.echoTargetLanguage!=null?{echoTargetLanguage:n.echoTargetLanguage}:{}}},inputAudioTranscription:{},outputAudioTranscription:{}}}({modelId:this.modelId,targetLanguage:e.targetLanguage,providerOptions:l});return{request:{body:p},response:{timestamp:s,modelId:this.modelId},stream:function({webSocket:e,url:t,headers:o,setup:r,inputAudioRate:i,finishGraceMs:a,warnings:s,audio:l,abortSignal:u,includeRawChunks:c}){let d=!1,p=()=>{};return new ReadableStream({start:h=>{let m,g,f,y,b,_=new Promise(e=>{f=e}),z=0,w="",v="",k="",x="",S=!1,T=!1,I=!1,O=0,E=()=>`google-item-${z}`,C=()=>{null!=b&&(clearTimeout(b),b=void 0)},A=()=>{d||null!=b||(b=setTimeout(()=>{b=void 0,$()},a))},j=()=>{T=!0,O=0,C()};p=e=>{C(),null!=m?m.cancel().catch(()=>{}):l.cancel().catch(()=>{}),g?.close(e)};let R=e=>{d||(d=!0,p(),h.error(e))},$=()=>{d||((""!==v||""!==x)&&M(),d=!0,h.enqueue({type:"finish",sourceText:w,outputText:k,usage:y}),h.close(),p(1e3))},M=()=>{""!==v&&(h.enqueue({type:"source-transcript-final",id:E(),text:v}),w+=v,v=""),""!==x&&(h.enqueue({type:"output-text-final",id:E(),text:x}),k+=x,x=""),z++},N=async e=>{m=l.getReader();try{for(;;){let{done:t,value:o}=await m.read();if(t||d)break;e.send(JSON.stringify({realtimeInput:{audio:{data:(0,n.convertToBase64)(o),mimeType:`audio/pcm;rate=${i}`}}})),await (0,n.waitForWebSocketBufferDrain)(e)}}finally{m.releaseLock(),m=void 0}d||(e.send(JSON.stringify({realtimeInput:{audioStreamEnd:!0}})),S=!0,I&&!T&&A())};g=(0,n.connectToWebSocket)({url:t,headers:o,webSocket:e,abortSignal:u,onAbort:R,onProcessingError:R,onOpen:e=>{h.enqueue({type:"stream-start",warnings:s}),e.send(JSON.stringify({setup:r})),_.then(()=>d?void 0:N(e)).catch(R)},onMessageText:async e=>{if(d)return;let t=await (0,n.safeParseJSON)({text:e});if(!t.success)return;let o=t.value;if(c&&h.enqueue({type:"raw",rawValue:o}),null!=o.setupComplete&&f(),null!=o.usageMetadata&&(y=function(e,t){let n=e?.inputAudioTokens,o=e?.outputAudioTokens;for(let e of t.promptTokensDetails??[])"AUDIO"===e.modality&&null!=e.tokenCount&&(n=(n??0)+e.tokenCount);for(let e of t.responseTokensDetails??[])"AUDIO"===e.modality&&null!=e.tokenCount&&(o=(o??0)+e.tokenCount);return null==n&&null==o?e:{...e,...null!=n?{inputAudioTokens:n}:{},...null!=o?{outputAudioTokens:o}:{}}}(y,o.usageMetadata)),null!=o.error)return void R(Error(o.error.message??"Google Live API error"));let r=o.serverContent?.inputTranscription?.text??o.inputTranscription?.text;r&&(j(),v+=r,h.enqueue({type:"source-transcript-delta",id:E(),delta:r}));let i=o.serverContent;if(null!=i){for(let e of i.modelTurn?.parts??[])if(e.inlineData?.data){h.enqueue({type:"audio",id:E(),audio:e.inlineData.data});let t=function(e){let t;try{t=(0,n.convertBase64ToUint8Array)(e)}catch{return}if(t.byteLength<2)return;let o=new DataView(t.buffer,t.byteOffset,t.byteLength),r=Math.floor(t.byteLength/2);for(let e=0;e<r;e++)if(Math.abs(o.getInt16(2*e,!0))>128)return;return r/24e3*1e3}(e.inlineData.data);if(S&&null!=t){if((O+=t)>=a)return void $()}else j()}i.outputTranscription?.text&&(j(),x+=i.outputTranscription.text,h.enqueue({type:"output-text-delta",id:E(),delta:i.outputTranscription.text})),i.turnComplete&&(M(),T=!1,I=!0,S&&A())}},onSocketError:()=>{R(Error("Google Live translation error"))},onClose:({code:e,reason:t})=>{if(!d){if(null!=b)return void $();R(Error(`Google Live translation WebSocket closed unexpectedly before finishing (code ${e??"unknown"}${t?`, reason: ${t}`:""}).`))}}})},cancel:()=>{d||(d=!0,p())}})}({webSocket:this.config.webSocket,url:(t=this.config.baseURL,o=i,(a=tc(t,"google.ai.generativelanguage.v1beta.GenerativeService.BidiGenerateContent")).searchParams.set("key",o),a),headers:d,setup:p,inputAudioRate:e.inputAudioFormat.rate??16e3,finishGraceMs:this.config._internal?.finishGraceMs??1e3,warnings:u,audio:e.audio,abortSignal:e.abortSignal,includeRawChunks:e.includeRawChunks})}}},tk=/^https:\/\/generativelanguage\.googleapis\.com\/v1beta\/files\/.*$/,tx=["text/html","text/css","text/plain","text/xml","text/csv","text/rtf","text/javascript","application/json","application/pdf","image/bmp","image/jpeg","image/png","image/webp","video/mp4","video/mpeg","video/quicktime","video/avi","video/x-flv","video/mpg","video/webm","video/wmv","video/3gpp"],tS=/^https:\/\/.*$/;function tT(e){return/(^|\/)gemini-/.test(e)&&!/(^|\/)gemini-2\.0/.test(e)}function tI(e={}){let t=(0,n.withoutTrailingSlash)(e.baseURL)??"https://generativelanguage.googleapis.com/v1beta",r=e.name??"google.generative-ai",i=()=>(0,n.withUserAgentSuffix)({"x-goog-api-key":(0,n.loadApiKey)({apiKey:e.apiKey,environmentVariableName:"GOOGLE_GENERATIVE_AI_API_KEY",description:"Google Generative AI"}),...e.headers},"ai-sdk/google/4.0.82"),a=(e,n=null==e||tT(e))=>({"*":[tk,RegExp(`^${t}/files/.*$`),RegExp("^https://(?:www\\.)?youtube\\.com/watch\\?v=[\\w-]+(?:&[\\w=&.-]*)?$"),RegExp("^https://youtu\\.be/[\\w-]+(?:\\?[\\w=&.-]*)?$")],...n?Object.fromEntries(tx.map(e=>[e,[tS]])):{}}),s={provider:r,baseURL:t,headers:i,generateId:e.generateId??n.generateId,fetch:e.fetch},l=e=>new D(e,{...s,supportedUrls:()=>a(e)}),u=n=>new d(n,{provider:r,baseURL:t,headers:i,fetch:e.fetch}),c=(n,o={})=>new ev(n,o,{provider:r,baseURL:t,headers:i,fetch:e.fetch}),p=o=>new eE(o,{provider:r,baseURL:t,headers:i,fetch:e.fetch,generateId:e.generateId??n.generateId}),h=n=>new tm(n,{provider:`${r}.realtime`,baseURL:t,headers:i,fetch:e.fetch}),m=n=>new tv(n,{provider:`${r}.speech-translation`,baseURL:t,headers:i,webSocket:e.webSocket}),g=n=>new eL(n,{provider:`${r}.speech`,baseURL:t,headers:i,fetch:e.fetch}),f=n=>new ty(n,{provider:`${r}.transcription`,baseURL:t,headers:i,fetch:e.fetch,webSocket:e.webSocket}),y=Object.assign(e=>h(e),{getToken:async e=>{let t=h(e.model),n=await t.doCreateClientSecret({sessionConfig:e.sessionConfig,expiresAfterSeconds:e.expiresAfterSeconds});return{token:n.token,url:n.url,expiresAt:n.expiresAt}}}),b=function(e){if(new.target)throw Error("The Google Generative AI model function cannot be called with the new keyword.");return l(e)};return b.specificationVersion="v4",b.languageModel=l,b.chat=l,b.generativeAI=l,b.evaluationModel=e=>new o.Experimental_EvaluationLanguageModel({model:l(e),provider:`${r.replace(/\.generative-ai$/,"")}.evaluation`}),b.experimental_batch=()=>new eh({provider:`${r.replace(/\.generative-ai$/,"")}.batch`,config:s,supportedUrls:a(void 0,!1)}),b.embedding=u,b.embeddingModel=u,b.textEmbedding=u,b.textEmbeddingModel=u,b.image=c,b.imageModel=c,b.video=p,b.videoModel=p,b.experimental_realtime=y,b.files=()=>new ex({provider:r,baseURL:t,headers:i,fetch:e.fetch}),b.speech=g,b.speechModel=g,b.transcription=f,b.transcriptionModel=f,b.translation=m,b.speechTranslationModel=m,b.interactions=o=>new ts(o,{provider:`${r}.interactions`,baseURL:t,headers:i,generateId:e.generateId??n.generateId,fetch:e.fetch}),b.tools=ew,b}tI(),e.s(["createGoogleGenerativeAI",0,tI])},352392,e=>{"use strict";var t=e.i(296194),n=e.i(691296),o=e.i(548874),r=e.i(853205);function i(e){if(null==e)return(0,n.createNullLanguageModelUsage)();let t=e.prompt_tokens??0,o=e.prompt_tokens_details?.cached_tokens??void 0,r=e.completion_tokens??0,i=e.completion_tokens_details?.reasoning_tokens??void 0,a=null!=i?Math.max(0,r-i):r;return{inputTokens:{total:t,noCache:null!=o?t-o:t,cacheRead:o,cacheWrite:void 0},outputTokens:{total:r,text:a,reasoning:i},raw:e}}var a=r.z.object({reasoningFormat:r.z.enum(["parsed","raw","hidden"]).optional(),reasoningEffort:r.z.enum(["none","default","low","medium","high"]).optional(),parallelToolCalls:r.z.boolean().optional(),user:r.z.string().optional(),structuredOutputs:r.z.boolean().optional(),strictJsonSchema:r.z.boolean().optional(),serviceTier:r.z.enum(["on_demand","performance","flex","auto"]).optional()}),s=r.z.object({error:r.z.object({message:r.z.string(),type:r.z.string()})}),l=(0,n.createJsonErrorResponseHandler)({errorSchema:s,errorToMessage:e=>e.error.message}),u=["openai/gpt-oss-20b","openai/gpt-oss-120b"];function c(e){switch(e){case"stop":return"stop";case"length":return"length";case"content_filter":return"content-filter";case"function_call":case"tool_calls":return"tool-calls";default:return"other"}}var d=class e{constructor(e,t){this.specificationVersion="v4",this.supportedUrls={"image/*":[/^https?:\/\/.*$/]},this.modelId=e,this.config=t}static[o.WORKFLOW_SERIALIZE](e){return(0,n.serializeModelOptions)({modelId:e.modelId,config:e.config})}static[o.WORKFLOW_DESERIALIZE](t){return new e(t.modelId,t.config)}get provider(){return this.config.provider}async getArgs({prompt:e,maxOutputTokens:o,temperature:r,topP:i,topK:s,frequencyPenalty:l,presencePenalty:c,stopSequences:d,responseFormat:p,seed:h,reasoning:m,tools:g,toolChoice:f,providerOptions:y}){let b=[],_=await (0,n.parseProviderOptions)({provider:"groq",providerOptions:y,schema:a}),z=_?.structuredOutputs??!0,w=_?.strictJsonSchema??!0;null!=s&&b.push({type:"unsupported",feature:"topK"}),p?.type!=="json"||null==p.schema||z||b.push({type:"unsupported",feature:"responseFormat",details:"JSON response format schema is only supported with structuredOutputs"});let{tools:v,toolChoice:k,toolWarnings:x}=function({tools:e,toolChoice:n,modelId:o}){e=e?.length?e:void 0;let r=[];if(null==e)return{tools:void 0,toolChoice:void 0,toolWarnings:r};let i=[];for(let t of e)if("provider"===t.type)if("groq.browser_search"===t.id)u.includes(o)?i.push({type:"browser_search"}):r.push({type:"unsupported",feature:`provider-defined tool ${t.id}`,details:`Browser search is only supported on the following models: ${u.join(", ")}. Current model: ${o}`});else r.push({type:"unsupported",feature:`provider-defined tool ${t.id}`});else i.push({type:"function",function:{name:t.name,description:t.description,parameters:t.inputSchema,...null!=t.strict?{strict:t.strict}:{}}});if(null==n)return{tools:i,toolChoice:void 0,toolWarnings:r};let a=n.type;switch(a){case"auto":case"none":case"required":return{tools:i,toolChoice:a,toolWarnings:r};case"tool":return{tools:i,toolChoice:{type:"function",function:{name:n.toolName}},toolWarnings:r};default:throw new t.UnsupportedFunctionalityError({functionality:`tool choice type: ${a}`})}}({tools:g,toolChoice:f,modelId:this.modelId}),S=_?.reasoningEffort;return null==S&&(0,n.isCustomReasoning)(m)&&("none"===m?"qwen/qwen3.6-27b"===this.modelId?S="none":b.push({type:"unsupported",feature:"reasoning",details:`reasoning "${m}" is not supported by this model.`}):S=(0,n.mapReasoningToProviderEffort)({reasoning:m,effortMap:{minimal:"low",low:"low",medium:"medium",high:"high",xhigh:"high"},warnings:b})),{args:{model:this.modelId,user:_?.user,parallel_tool_calls:_?.parallelToolCalls,max_tokens:o,temperature:r,top_p:i,frequency_penalty:l,presence_penalty:c,stop:d,seed:h,response_format:p?.type==="json"?z&&null!=p.schema?{type:"json_schema",json_schema:{schema:p.schema,strict:w,name:p.name??"response",description:p.description}}:{type:"json_object"}:void 0,reasoning_format:_?.reasoningFormat,reasoning_effort:S,service_tier:_?.serviceTier,messages:function(e){let o=[];for(let{role:r,content:i}of e)switch(r){case"system":o.push({role:"system",content:i});break;case"user":if(1===i.length&&"text"===i[0].type){o.push({role:"user",content:i[0].text});break}o.push({role:"user",content:i.map(e=>{switch(e.type){case"text":return{type:"text",text:e.text};case"file":switch(e.data.type){case"reference":throw new t.UnsupportedFunctionalityError({functionality:"file parts with provider references"});case"text":throw new t.UnsupportedFunctionalityError({functionality:"text file parts"});case"url":case"data":if("image"!==(0,n.getTopLevelMediaType)(e.mediaType))throw new t.UnsupportedFunctionalityError({functionality:"Non-image file content parts"});return{type:"image_url",image_url:{url:"url"===e.data.type?e.data.url.toString():`data:${(0,n.resolveFullMediaType)({part:e})};base64,${(0,n.convertToBase64)(e.data.data)}`}}}}})});break;case"assistant":{let e="",t="",n=[];for(let o of i)switch(o.type){case"reasoning":t+=o.text;break;case"text":e+=o.text;break;case"tool-call":n.push({id:o.toolCallId,type:"function",function:{name:o.toolName,arguments:JSON.stringify(o.input)}})}o.push({role:"assistant",content:e,...t.length>0?{reasoning:t}:null,...n.length>0?{tool_calls:n}:null});break}case"tool":for(let e of i){let t;if("tool-approval-response"===e.type)continue;let n=e.output;switch(n.type){case"text":case"error-text":t=n.value;break;case"execution-denied":t=n.reason??"Tool call execution denied.";break;case"content":case"json":case"error-json":t=JSON.stringify(n.value)}o.push({role:"tool",tool_call_id:e.toolCallId,content:t})}break;default:throw Error(`Unsupported role: ${r}`)}return o}(e),tools:v,tool_choice:k},warnings:[...b,...x]}}async doGenerate(e){let{args:o,warnings:r}=await this.getArgs(e),a=JSON.stringify(o),{responseHeaders:s,value:u,rawValue:d}=await (0,n.postJsonToApi)({url:this.config.url({path:"/chat/completions",modelId:this.modelId}),headers:(0,n.combineHeaders)(this.config.headers?.(),e.headers),body:o,failedResponseHandler:l,successfulResponseHandler:(0,n.createJsonResponseHandler)(p),abortSignal:e.abortSignal,fetch:this.config.fetch}),h=u.choices[0];if(null==h)throw new t.InvalidResponseDataError({data:d,message:"Response did not contain any choices."});let m=[],g=h.message.content;null!=g&&g.length>0&&m.push({type:"text",text:g});let f=h.message.reasoning;if(null!=f&&f.length>0&&m.push({type:"reasoning",text:f}),null!=h.message.tool_calls)for(let e of h.message.tool_calls)m.push({type:"tool-call",toolCallId:e.id||(0,n.generateId)(),toolName:e.function.name,input:e.function.arguments});return{content:m,finishReason:{unified:c(h.finish_reason),raw:h.finish_reason??void 0},usage:i(u.usage),response:{...(0,n.createLanguageModelResponseMetadata)(u),headers:s,body:d},warnings:r,request:{body:a}}}async doStream(e){let t,o,{args:r,warnings:a}=await this.getArgs(e),s={...r,stream:!0},{responseHeaders:u,value:d}=await (0,n.postJsonToApi)({url:this.config.url({path:"/chat/completions",modelId:this.modelId}),headers:(0,n.combineHeaders)(this.config.headers?.(),e.headers),body:s,failedResponseHandler:l,successfulResponseHandler:(0,n.createEventSourceResponseHandler)(h),abortSignal:e.abortSignal,fetch:this.config.fetch}),p={unified:"other",raw:void 0},m=!0,g=!1,f=!1;return{stream:d.pipeThrough(new TransformStream({start(e){t=new n.StreamingToolCallTracker(e,{generateId:n.generateId,typeValidation:"required"}),e.enqueue({type:"stream-start",warnings:a})},transform(r,i){if(e.includeRawChunks&&i.enqueue({type:"raw",rawValue:r.rawValue}),!r.success){p={unified:"error",raw:void 0},i.enqueue({type:"error",error:r.error});return}let a=r.value;if("error"in a){var s;p={unified:"error",raw:void 0},i.enqueue({type:"error",error:(s=a.error,(0,n.createProviderStreamError)({message:s.message,type:s.type,...function(e){switch(e){case"rate_limit_error":return{statusCode:429,isRetryable:!0};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{}}}(s.type),data:a}))});return}m&&(m=!1,i.enqueue({type:"response-metadata",...(0,n.createLanguageModelResponseMetadata)(a)})),a.x_groq?.usage!=null&&(o=a.x_groq.usage);let l=a.choices[0];if(l?.finish_reason!=null&&(p={unified:c(l.finish_reason),raw:l.finish_reason}),l?.delta==null)return;let u=l.delta;if(null!=u.reasoning&&u.reasoning.length>0&&(f||(i.enqueue({type:"reasoning-start",id:"reasoning-0"}),f=!0),i.enqueue({type:"reasoning-delta",id:"reasoning-0",delta:u.reasoning})),null!=u.content&&u.content.length>0&&(f&&(i.enqueue({type:"reasoning-end",id:"reasoning-0"}),f=!1),g||(i.enqueue({type:"text-start",id:"txt-0"}),g=!0),i.enqueue({type:"text-delta",id:"txt-0",delta:u.content})),null!=u.tool_calls&&u.tool_calls.length>0)for(let e of(f&&(i.enqueue({type:"reasoning-end",id:"reasoning-0"}),f=!1),u.tool_calls))t.processDelta(e)},flush(e){f&&e.enqueue({type:"reasoning-end",id:"reasoning-0"}),g&&e.enqueue({type:"text-end",id:"txt-0"}),t.flush(),e.enqueue({type:"finish",finishReason:p,usage:i(o)})}})),request:{body:JSON.stringify(s)},response:{headers:u}}}},p=r.z.object({id:r.z.string().nullish(),created:r.z.number().nullish(),model:r.z.string().nullish(),choices:r.z.array(r.z.object({message:r.z.object({content:r.z.string().nullish(),reasoning:r.z.string().nullish(),tool_calls:r.z.array(r.z.object({id:r.z.string().nullish(),type:r.z.literal("function"),function:r.z.object({name:r.z.string(),arguments:r.z.string()})})).nullish()}),index:r.z.number(),finish_reason:r.z.string().nullish()})),usage:r.z.object({prompt_tokens:r.z.number().nullish(),completion_tokens:r.z.number().nullish(),total_tokens:r.z.number().nullish(),prompt_tokens_details:r.z.object({cached_tokens:r.z.number().nullish()}).nullish(),completion_tokens_details:r.z.object({reasoning_tokens:r.z.number().nullish()}).nullish()}).nullish()}),h=r.z.union([r.z.object({id:r.z.string().nullish(),created:r.z.number().nullish(),model:r.z.string().nullish(),choices:r.z.array(r.z.object({delta:r.z.object({content:r.z.string().nullish(),reasoning:r.z.string().nullish(),tool_calls:r.z.array(r.z.object({index:r.z.number(),id:r.z.string().nullish(),type:r.z.literal("function").optional(),function:r.z.object({name:r.z.string().nullish(),arguments:r.z.string().nullish()})})).nullish()}).nullish(),finish_reason:r.z.string().nullable().optional(),index:r.z.number()})),x_groq:r.z.object({usage:r.z.object({prompt_tokens:r.z.number().nullish(),completion_tokens:r.z.number().nullish(),total_tokens:r.z.number().nullish(),prompt_tokens_details:r.z.object({cached_tokens:r.z.number().nullish()}).nullish(),completion_tokens_details:r.z.object({reasoning_tokens:r.z.number().nullish()}).nullish()}).nullish()}).nullish()}),s]),m=(0,n.lazySchema)(()=>(0,n.zodSchema)(r.z.object({language:r.z.string().nullish(),prompt:r.z.string().nullish(),responseFormat:r.z.string().nullish(),temperature:r.z.number().min(0).max(1).nullish(),timestampGranularities:r.z.array(r.z.string()).nullish()}))),g=class e{constructor(e,t){this.modelId=e,this.config=t,this.specificationVersion="v4"}get provider(){return this.config.provider}static[o.WORKFLOW_SERIALIZE](e){return(0,n.serializeModelOptions)({modelId:e.modelId,config:e.config})}static[o.WORKFLOW_DESERIALIZE](t){return new e(t.modelId,t.config)}async getArgs({audio:e,mediaType:t,providerOptions:o}){let r=await (0,n.parseProviderOptions)({provider:"groq",providerOptions:o,schema:m}),i=new FormData,a=e instanceof Uint8Array?new Blob([e]):new Blob([(0,n.convertBase64ToUint8Array)(e)]);i.append("model",this.modelId);let s=(0,n.mediaTypeToExtension)(t);if(i.append("file",new File([a],"audio",{type:t}),`audio.${s}`),r){let e={language:r.language??void 0,prompt:r.prompt??void 0,response_format:r.responseFormat??void 0,temperature:r.temperature??void 0,timestamp_granularities:r.timestampGranularities??void 0};for(let t in e){let n=e[t];if(void 0!==n)if(Array.isArray(n))for(let e of n)i.append(`${t}[]`,String(e));else i.append(t,String(n))}}return{formData:i,responseFormat:r?.responseFormat,warnings:[]}}async doGenerate(e){let t=this.config._internal?.currentDate?.()??new Date,{formData:o,responseFormat:r,warnings:i}=await this.getArgs(e),a="text"===r?_:(0,n.createJsonResponseHandler)(f),{value:s,responseHeaders:u,rawValue:c}=await (0,n.postFormDataToApi)({url:this.config.url({path:"/audio/transcriptions",modelId:this.modelId}),headers:(0,n.combineHeaders)(this.config.headers?.(),e.headers),formData:o,failedResponseHandler:l,successfulResponseHandler:a,abortSignal:e.abortSignal,fetch:this.config.fetch});return{text:s.text,segments:s.segments?.map(e=>({text:e.text,startSecond:e.start,endSecond:e.end}))??s.words?.map(e=>({text:e.word,startSecond:e.start,endSecond:e.end}))??[],language:s.language??void 0,durationInSeconds:s.duration??void 0,warnings:i,response:{timestamp:t,modelId:this.modelId,headers:u,body:c}}}},f=r.z.object({text:r.z.string(),x_groq:r.z.object({id:r.z.string()}),task:r.z.string().nullish(),language:r.z.string().nullish(),duration:r.z.number().nullish(),segments:r.z.array(r.z.object({id:r.z.number(),seek:r.z.number(),start:r.z.number(),end:r.z.number(),text:r.z.string(),tokens:r.z.array(r.z.number()),temperature:r.z.number(),avg_logprob:r.z.number(),compression_ratio:r.z.number(),no_speech_prob:r.z.number()})).nullish(),words:r.z.array(r.z.object({word:r.z.string(),start:r.z.number(),end:r.z.number()})).nullish()}),y=(0,n.createBinaryResponseHandler)(),b=new TextDecoder,_=async e=>{let{value:t,responseHeaders:n}=await y(e),o=b.decode(t);return{value:{text:o},rawValue:o,responseHeaders:n}},z={browserSearch:(0,n.createProviderExecutedToolFactory)({id:"groq.browser_search",inputSchema:(0,n.lazySchema)(()=>(0,n.zodSchema)(r.z.object({}))),outputSchema:(0,n.lazySchema)(()=>(0,n.zodSchema)(r.z.object({})))})};function w(e={}){let o=(0,n.withoutTrailingSlash)(e.baseURL)??"https://api.groq.com/openai/v1",r=()=>(0,n.withUserAgentSuffix)({Authorization:`Bearer ${(0,n.loadApiKey)({apiKey:e.apiKey,environmentVariableName:"GROQ_API_KEY",description:"Groq"})}`,...e.headers},"ai-sdk/groq/4.0.50"),i=t=>new d(t,{provider:"groq.chat",url:({path:e})=>`${o}${e}`,headers:r,fetch:e.fetch}),a=e=>{if(new.target)throw Error("The Groq model function cannot be called with the new keyword.");return i(e)},s=t=>new g(t,{provider:"groq.transcription",url:({path:e})=>`${o}${e}`,headers:r,fetch:e.fetch}),l=function(e){return a(e)};return l.specificationVersion="v4",l.languageModel=a,l.chat=i,l.embeddingModel=e=>{throw new t.NoSuchModelError({modelId:e,modelType:"embeddingModel"})},l.textEmbeddingModel=l.embeddingModel,l.imageModel=e=>{throw new t.NoSuchModelError({modelId:e,modelType:"imageModel"})},l.transcription=s,l.transcriptionModel=s,l.tools=z,l}w(),e.s(["createGroq",0,w])},955066,e=>{"use strict";var t=e.i(296194),n=e.i(691296),o=e.i(548874),r=e.i(853205),i=r.z.object({messages:r.z.array(r.z.json()).nullish(),cached_tokens:r.z.number().nullish(),audio_tokens:r.z.number().nullish()}).catchall(r.z.json()),a=r.z.object({reasoning_tokens:r.z.number().nullish()}).catchall(r.z.json()),s=r.z.object({prompt_tokens:r.z.number(),completion_tokens:r.z.number(),total_tokens:r.z.number(),prompt_audio_seconds:r.z.number().nullish(),request_count:r.z.number().nullish(),service_tier:r.z.string().nullish(),num_cached_tokens:r.z.number().nullish(),prompt_tokens_details:i.nullish(),prompt_token_details:i.nullish(),completion_tokens_details:a.nullish()}).catchall(r.z.json());function l(e){if(null==e)return(0,n.createNullLanguageModelUsage)();let t=e.prompt_tokens,o=e.completion_tokens,r=e.num_cached_tokens??e.prompt_tokens_details?.cached_tokens??e.prompt_token_details?.cached_tokens??0;return{inputTokens:{total:t,noCache:t-r,cacheRead:r||void 0,cacheWrite:void 0},outputTokens:{total:o,text:o,reasoning:void 0},raw:e}}function u({part:e}){if("url"===e.data.type)return e.data.url.toString();if("data"===e.data.type)return`data:${(0,n.resolveFullMediaType)({part:e})};base64,${(0,n.convertToBase64)(e.data.data)}`;throw new t.UnsupportedFunctionalityError({functionality:`file part data type ${e.data.type}`})}function c(e){switch(e){case"stop":return"stop";case"length":case"model_length":return"length";case"tool_calls":return"tool-calls";default:return"other"}}var d=r.z.object({safePrompt:r.z.boolean().optional(),documentImageLimit:r.z.number().optional(),documentPageLimit:r.z.number().optional(),structuredOutputs:r.z.boolean().optional(),strictJsonSchema:r.z.boolean().optional(),parallelToolCalls:r.z.boolean().optional(),promptCacheKey:r.z.string().optional(),reasoningEffort:r.z.enum(["high","none"]).optional()}),p=r.z.object({object:r.z.literal("error"),message:r.z.string(),type:r.z.string(),param:r.z.string().nullable(),code:r.z.string().nullable()}),h=(0,n.createJsonErrorResponseHandler)({errorSchema:p,errorToMessage:e=>e.message}),m=new Set(["glm-5-2","labs-leanstral-1-5","labs-leanstral-1-5-1","magistral-medium-latest","magistral-small-latest","mistral-medium","mistral-medium-2604","mistral-medium-3","mistral-medium-3-5","mistral-medium-3.5","mistral-medium-latest","mistral-small-2603","mistral-small-latest","mistral-vibe-cli-fast","mistral-vibe-cli-latest","mistral-vibe-cli-with-tools","zai-glm-5-2"]),g=class e{constructor(e,t){this.specificationVersion="v4",this.supportedUrls={"application/pdf":[/^https:\/\/.*$/]},this.modelId=e,this.config=t,this.generateId=t.generateId??n.generateId}static[o.WORKFLOW_SERIALIZE](e){return(0,n.serializeModelOptions)({modelId:e.modelId,config:e.config})}static[o.WORKFLOW_DESERIALIZE](t){return new e(t.modelId,t.config)}get provider(){return this.config.provider}async getArgs({prompt:e,maxOutputTokens:o,temperature:r,topP:i,topK:a,frequencyPenalty:s,presencePenalty:l,reasoning:c,stopSequences:p,responseFormat:h,seed:g,providerOptions:f,tools:y,toolChoice:b}){let _,z=[],w=await (0,n.parseProviderOptions)({provider:"mistral",providerOptions:f,schema:d})??{};null!=a&&z.push({type:"unsupported",feature:"topK"}),m.has(this.modelId)?_=w.reasoningEffort??((0,n.isCustomReasoning)(c)?"none"===c?"none":(0,n.mapReasoningToProviderEffort)({reasoning:c,effortMap:{minimal:"high",low:"high",medium:"high",high:"high",xhigh:"high"},warnings:z}):void 0):(0,n.isCustomReasoning)(c)&&z.push({type:"unsupported",feature:"reasoning",details:"This model does not support reasoning configuration."});let v=w.structuredOutputs??!0,k=w.strictJsonSchema??!1;h?.type!=="json"||h?.schema||(e=(0,n.injectJsonInstructionIntoMessages)({messages:e,schema:h.schema}));let x={model:this.modelId,safe_prompt:w.safePrompt,max_tokens:o,temperature:r,top_p:i,...null!=s?{frequency_penalty:s}:{},...null!=l?{presence_penalty:l}:{},stop:p,random_seed:g,reasoning_effort:_,response_format:h?.type==="json"?v&&h?.schema!=null?{type:"json_schema",json_schema:{schema:h.schema,strict:k,name:h.name??"response",description:h.description}}:{type:"json_object"}:void 0,document_image_limit:w.documentImageLimit,document_page_limit:w.documentPageLimit,...void 0!==w.promptCacheKey?{prompt_cache_key:w.promptCacheKey}:{},messages:function(e){let o=[];for(let r=0;r<e.length;r++){let{role:i,content:a}=e[r],s=r===e.length-1;switch(i){case"system":o.push({role:"system",content:a});break;case"user":o.push({role:"user",content:a.map(e=>{switch(e.type){case"text":return{type:"text",text:e.text};case"file":switch(e.data.type){case"reference":throw new t.UnsupportedFunctionalityError({functionality:"file parts with provider references"});case"text":throw new t.UnsupportedFunctionalityError({functionality:"text file parts"});case"url":case"data":if("image"===(0,n.getTopLevelMediaType)(e.mediaType))return{type:"image_url",image_url:u({part:e})};if("data"===e.data.type){if("application/pdf"!==(0,n.resolveFullMediaType)({part:e}))throw new t.UnsupportedFunctionalityError({functionality:"Only images and PDF file parts are supported"})}else if("application/pdf"!==e.mediaType)throw new t.UnsupportedFunctionalityError({functionality:"Only images and PDF file parts are supported"});return{type:"document_url",document_url:u({part:e})}}}})});break;case"assistant":{let e="",t=!1,n=[],r=[];for(let o of a)switch(o.type){case"text":e+=o.text,n.push({type:"text",text:o.text});break;case"tool-call":r.push({id:o.toolCallId,type:"function",function:{name:o.toolName,arguments:JSON.stringify(o.input)}});break;case"reasoning":t=!0,n.push({type:"thinking",thinking:[{type:"text",text:o.text}],closed:!0});break;default:throw Error(`Unsupported content type in assistant message: ${o.type}`)}o.push({role:"assistant",content:t?n:e,prefix:!!s||void 0,tool_calls:r.length>0?r:void 0});break}case"tool":for(let e of a){let t;if("tool-approval-response"===e.type)continue;let n=e.output;switch(n.type){case"text":case"error-text":t=n.value;break;case"execution-denied":t=n.reason??"Tool call execution denied.";break;case"content":case"json":case"error-json":t=JSON.stringify(n.value)}o.push({role:"tool",name:e.toolName,tool_call_id:e.toolCallId,content:t})}break;default:throw Error(`Unsupported role: ${i}`)}}return o}(e)},{tools:S,toolChoice:T,toolWarnings:I}=function({tools:e,toolChoice:n}){e=e?.length?e:void 0;let o=[];if(null==e)return{tools:void 0,toolChoice:void 0,toolWarnings:o};let r=[];for(let t of e)"provider"===t.type?o.push({type:"unsupported",feature:`provider-defined tool ${t.id}`}):r.push({type:"function",function:{name:t.name,description:t.description,parameters:t.inputSchema,...null!=t.strict?{strict:t.strict}:{}}});if(null==n)return{tools:r,toolChoice:void 0,toolWarnings:o};let i=n.type;switch(i){case"auto":case"none":return{tools:r,toolChoice:i,toolWarnings:o};case"required":return{tools:r,toolChoice:"any",toolWarnings:o};case"tool":return{tools:r.filter(e=>e.function.name===n.toolName),toolChoice:"any",toolWarnings:o};default:throw new t.UnsupportedFunctionalityError({functionality:`tool choice type: ${i}`})}}({tools:y,toolChoice:b});return{args:{...x,tools:S,tool_choice:T,...null!=S&&void 0!==w.parallelToolCalls?{parallel_tool_calls:w.parallelToolCalls}:{}},warnings:[...z,...I]}}async doGenerate(e){let{args:t,warnings:o}=await this.getArgs(e),{responseHeaders:r,value:i,rawValue:a}=await (0,n.postJsonToApi)({url:`${this.config.baseURL}/chat/completions`,headers:(0,n.combineHeaders)(this.config.headers?.(),e.headers),body:t,failedResponseHandler:h,successfulResponseHandler:(0,n.createJsonResponseHandler)(_),abortSignal:e.abortSignal,fetch:this.config.fetch}),s=i.choices[0],u=[];if(null!=s.message.content&&Array.isArray(s.message.content))for(let e of s.message.content)if("thinking"===e.type){let t=f(e.thinking);t.length>0&&u.push({type:"reasoning",text:t})}else"text"===e.type&&e.text.length>0&&u.push({type:"text",text:e.text});else{let e=y(s.message.content);null!=e&&e.length>0&&u.push({type:"text",text:e})}if(null!=s.message.tool_calls)for(let e of s.message.tool_calls)u.push({type:"tool-call",toolCallId:e.id,toolName:e.function.name,input:e.function.arguments});return{content:u,finishReason:{unified:c(s.finish_reason),raw:s.finish_reason??void 0},usage:l(i.usage),request:{body:t},response:{...(0,n.createLanguageModelResponseMetadata)(i),headers:r,body:a},warnings:o}}async doStream(e){let t,o,{args:r,warnings:i}=await this.getArgs(e),a={...r,stream:!0},{responseHeaders:s,value:u}=await (0,n.postJsonToApi)({url:`${this.config.baseURL}/chat/completions`,headers:(0,n.combineHeaders)(this.config.headers?.(),e.headers),body:a,failedResponseHandler:h,successfulResponseHandler:(0,n.createEventSourceResponseHandler)(z),abortSignal:e.abortSignal,fetch:this.config.fetch}),d={unified:"other",raw:void 0},p=!0,m=!1,g=null,b=this.generateId;return{stream:u.pipeThrough(new TransformStream({start(e){t=new n.StreamingToolCallTracker(e,{generateId:b}),e.enqueue({type:"stream-start",warnings:i})},transform(r,i){if(e.includeRawChunks&&i.enqueue({type:"raw",rawValue:r.rawValue}),!r.success)return void i.enqueue({type:"error",error:r.error});let a=r.value;p&&(p=!1,i.enqueue({type:"response-metadata",...(0,n.createLanguageModelResponseMetadata)(a)})),null!=a.usage&&(o=a.usage);let s=a.choices[0],l=s.delta,u=y(l.content);if(null!=l.content&&Array.isArray(l.content)){for(let e of l.content)if("thinking"===e.type){let t=f(e.thinking);t.length>0&&(null==g&&(m&&(i.enqueue({type:"text-end",id:"0"}),m=!1),g=b(),i.enqueue({type:"reasoning-start",id:g})),i.enqueue({type:"reasoning-delta",id:g,delta:t}))}}if(null!=u&&u.length>0&&(m||(null!=g&&(i.enqueue({type:"reasoning-end",id:g}),g=null),i.enqueue({type:"text-start",id:"0"}),m=!0),i.enqueue({type:"text-delta",id:"0",delta:u})),l?.tool_calls!=null)for(let e of l.tool_calls)t.processDelta(e);null!=s.finish_reason&&(d={unified:c(s.finish_reason),raw:s.finish_reason})},flush(e){null!=g&&e.enqueue({type:"reasoning-end",id:g}),m&&e.enqueue({type:"text-end",id:"0"}),t.flush(),e.enqueue({type:"finish",finishReason:d,usage:l(o)})}})),request:{body:a},response:{headers:s}}}};function f(e){return e.filter(e=>"text"===e.type).map(e=>e.text).join("")}function y(e){if("string"==typeof e)return e;if(null==e)return;let t=[];for(let n of e){let{type:e}=n;switch(e){case"text":t.push(n.text);break;case"thinking":case"image_url":case"reference":break;default:throw Error(`Unsupported type: ${e}`)}}return t.length?t.join(""):void 0}var b=r.z.union([r.z.string(),r.z.array(r.z.discriminatedUnion("type",[r.z.object({type:r.z.literal("text"),text:r.z.string()}),r.z.object({type:r.z.literal("image_url"),image_url:r.z.union([r.z.string(),r.z.object({url:r.z.string(),detail:r.z.string().nullable()})])}),r.z.object({type:r.z.literal("reference"),reference_ids:r.z.array(r.z.union([r.z.string(),r.z.number()]))}),r.z.object({type:r.z.literal("thinking"),thinking:r.z.array(r.z.object({type:r.z.literal("text"),text:r.z.string()}))})]))]).nullish(),_=r.z.object({id:r.z.string().nullish(),created:r.z.number().nullish(),model:r.z.string().nullish(),choices:r.z.array(r.z.object({message:r.z.object({role:r.z.literal("assistant"),content:b,tool_calls:r.z.array(r.z.object({id:r.z.string(),function:r.z.object({name:r.z.string(),arguments:r.z.string()})})).nullish()}),index:r.z.number(),finish_reason:r.z.string().nullish()})),object:r.z.literal("chat.completion"),usage:s}),z=r.z.object({id:r.z.string().nullish(),created:r.z.number().nullish(),model:r.z.string().nullish(),choices:r.z.array(r.z.object({delta:r.z.object({role:r.z.enum(["assistant"]).optional(),content:b,tool_calls:r.z.array(r.z.object({index:r.z.number().nullish(),id:r.z.string().nullish(),function:r.z.object({name:r.z.string().nullish(),arguments:r.z.string().nullish()})})).nullish()}),finish_reason:r.z.string().nullish(),index:r.z.number()})),usage:s.nullish()}),w=r.z.object({metadata:r.z.record(r.z.string(),r.z.any()).optional(),outputDimension:r.z.number().int().positive().optional(),outputDtype:r.z.enum(["float","int8","uint8","binary","ubinary"]).optional()}),v=class e{constructor(e,t){this.specificationVersion="v4",this.maxEmbeddingsPerCall=32,this.supportsParallelCalls=!1,this.modelId=e,this.config=t}get provider(){return this.config.provider}static[o.WORKFLOW_SERIALIZE](e){return(0,n.serializeModelOptions)({modelId:e.modelId,config:e.config})}static[o.WORKFLOW_DESERIALIZE](t){return new e(t.modelId,t.config)}async doEmbed({values:e,abortSignal:o,headers:r,providerOptions:i}){if(e.length>this.maxEmbeddingsPerCall)throw new t.TooManyEmbeddingValuesForCallError({provider:this.provider,modelId:this.modelId,maxEmbeddingsPerCall:this.maxEmbeddingsPerCall,values:e});let a=await (0,n.parseProviderOptions)({provider:"mistral",providerOptions:i,schema:w})??{},{responseHeaders:s,value:l,rawValue:u}=await (0,n.postJsonToApi)({url:`${this.config.baseURL}/embeddings`,headers:(0,n.combineHeaders)(this.config.headers?.(),r),body:{model:this.modelId,input:e,metadata:a.metadata,output_dimension:a.outputDimension,output_dtype:a.outputDtype,encoding_format:"float"},failedResponseHandler:h,successfulResponseHandler:(0,n.createJsonResponseHandler)(k),abortSignal:o,fetch:this.config.fetch});return{warnings:[],embeddings:l.data.map(e=>e.embedding),usage:l.usage?{tokens:l.usage.prompt_tokens}:void 0,response:{headers:s,body:u}}}},k=r.z.object({data:r.z.array(r.z.object({embedding:r.z.array(r.z.number())})),usage:r.z.object({prompt_tokens:r.z.number()}).nullish()}),x=r.z.object({refAudio:r.z.string().min(1).optional()}),S=class e{constructor(e,t){this.modelId=e,this.config=t,this.specificationVersion="v4"}static[o.WORKFLOW_SERIALIZE](e){return(0,n.serializeModelOptions)({modelId:e.modelId,config:e.config})}static[o.WORKFLOW_DESERIALIZE](t){return new e(t.modelId,t.config)}get provider(){return this.config.provider}async getArgs({text:e,voice:t,outputFormat:o="mp3",instructions:r,speed:i,language:a,providerOptions:s}){let l=[],u=await (0,n.parseProviderOptions)({provider:"mistral",providerOptions:s,schema:x}),c="mp3";["pcm","wav","mp3","flac","opus"].includes(o)?c=o:l.push({type:"unsupported",feature:"outputFormat",details:`Unsupported output format: ${o}. Using mp3 instead.`}),null!=r&&l.push({type:"unsupported",feature:"instructions",details:"Mistral speech models do not support the `instructions` option. Use a reference audio clip to guide delivery."}),null!=i&&l.push({type:"unsupported",feature:"speed",details:"Mistral speech models do not support the `speed` option. It was ignored."}),null!=a&&l.push({type:"unsupported",feature:"language",details:"Mistral speech models do not support the `language` option. Language is inferred from the input text and voice."});let d=u?.refAudio,p={model:this.modelId,input:e,voice_id:null==d?t:void 0,ref_audio:d,response_format:c,stream:!1},h={...p,ref_audio:null==d?void 0:"[redacted]"};return{requestBody:p,requestBodyValues:h,warnings:l}}async doGenerate(e){let t=this.config._internal?.currentDate?.()??new Date,{requestBody:o,requestBodyValues:r,warnings:i}=await this.getArgs(e),{value:a,responseHeaders:s,rawValue:l}=await (0,n.postToApi)({url:`${this.config.baseURL}/audio/speech`,headers:(0,n.combineHeaders)({"Content-Type":"application/json"},this.config.headers?.(),e.headers),body:{content:JSON.stringify(o),values:r},failedResponseHandler:h,successfulResponseHandler:(0,n.createJsonResponseHandler)(T),abortSignal:e.abortSignal,fetch:this.config.fetch});return{audio:a.audio_data,warnings:i,request:{body:JSON.stringify(r)},response:{timestamp:t,modelId:this.modelId,headers:s,body:l}}}},T=r.z.object({audio_data:r.z.string()}),I=(0,n.lazySchema)(()=>(0,n.zodSchema)(r.z.object({language:r.z.string().min(1).optional(),temperature:r.z.number().optional(),timestampGranularities:r.z.array(r.z.enum(["segment","word"])).min(1).optional(),diarize:r.z.boolean().optional(),contextBias:r.z.array(r.z.string().min(1).regex(/^[^\s,]+$/,"Context bias items must not contain commas or whitespace.")).max(100).optional()}))),O=class e{constructor(e,t){this.modelId=e,this.config=t,this.specificationVersion="v4"}static[o.WORKFLOW_SERIALIZE](e){return(0,n.serializeModelOptions)({modelId:e.modelId,config:e.config})}static[o.WORKFLOW_DESERIALIZE](t){return new e(t.modelId,t.config)}get provider(){return this.config.provider}async getArgs({audio:e,mediaType:o,providerOptions:r}){let i=await (0,n.parseProviderOptions)({provider:"mistral",providerOptions:r,schema:I});if(i?.language!=null&&null!=i.timestampGranularities)throw new t.InvalidArgumentError({argument:"providerOptions",message:"providerOptions.mistral.language cannot be combined with providerOptions.mistral.timestampGranularities"});let a=new FormData,s=e instanceof Uint8Array?new Blob([e]):new Blob([(0,n.convertBase64ToUint8Array)(e)]);return a.append("model",this.modelId),a.append("file",new File([s],"audio",{type:o}),`audio.${(0,n.mediaTypeToExtension)(o)}`),null!=i&&(E(a,"language",i.language),E(a,"temperature",i.temperature),E(a,"timestamp_granularities",i.timestampGranularities),E(a,"diarize",i.diarize),E(a,"context_bias",i.contextBias)),{formData:a,warnings:[]}}async doGenerate(e){let t=this.config._internal?.currentDate?.()??new Date,{formData:o,warnings:r}=await this.getArgs(e),{value:i,responseHeaders:a,rawValue:s}=await (0,n.postFormDataToApi)({url:`${this.config.baseURL}/audio/transcriptions`,headers:(0,n.combineHeaders)(this.config.headers?.(),e.headers),formData:o,failedResponseHandler:h,successfulResponseHandler:(0,n.createJsonResponseHandler)(C),abortSignal:e.abortSignal,fetch:this.config.fetch}),l=i.segments?.map(e=>({text:e.text,startSecond:e.start,endSecond:e.end}))??[],u={};null!=i.usage&&(u.usage={...null!=i.usage.prompt_tokens&&{promptTokens:i.usage.prompt_tokens},...null!=i.usage.completion_tokens&&{completionTokens:i.usage.completion_tokens},...null!=i.usage.total_tokens&&{totalTokens:i.usage.total_tokens},...null!=i.usage.prompt_audio_seconds&&{promptAudioSeconds:i.usage.prompt_audio_seconds},...null!=i.usage.request_count&&{requestCount:i.usage.request_count}});let c=i.segments?.filter(e=>null!=e.type||null!=e.score||null!=e.speaker_id).map(e=>({text:e.text,startSecond:e.start,endSecond:e.end,...null!=e.type&&{type:e.type},...null!=e.score&&{score:e.score},...null!=e.speaker_id&&{speakerId:e.speaker_id}}));return null!=c&&c.length>0&&(u.segments=c),{text:i.text,segments:l,language:i.language??void 0,durationInSeconds:i.usage?.prompt_audio_seconds??l.at(-1)?.endSecond??void 0,warnings:r,response:{timestamp:t,modelId:i.model,headers:a,body:s},...Object.keys(u).length>0&&{providerMetadata:{mistral:u}}}}};function E(e,t,n){if(null!=n){if(Array.isArray(n)){for(let o of n)e.append(t,o);return}e.append(t,String(n))}}var C=r.z.object({model:r.z.string(),text:r.z.string(),language:r.z.string().nullish(),segments:r.z.array(r.z.object({type:r.z.literal("transcription_segment").nullish(),text:r.z.string(),start:r.z.number(),end:r.z.number(),score:r.z.number().nullish(),speaker_id:r.z.string().nullish()})).nullish(),usage:r.z.object({prompt_tokens:r.z.number().nullish(),completion_tokens:r.z.number().nullish(),total_tokens:r.z.number().nullish(),prompt_audio_seconds:r.z.number().nullish(),request_count:r.z.number().nullish()}).nullish()});function A(e={}){let o=(0,n.withoutTrailingSlash)(e.baseURL)??"https://api.mistral.ai/v1",r=()=>(0,n.withUserAgentSuffix)({Authorization:`Bearer ${(0,n.loadApiKey)({apiKey:e.apiKey,environmentVariableName:"MISTRAL_API_KEY",description:"Mistral"})}`,...e.headers},"ai-sdk/mistral/4.0.52"),i=t=>new g(t,{provider:"mistral.chat",baseURL:o,headers:r,fetch:e.fetch,generateId:e.generateId}),a=t=>new v(t,{provider:"mistral.embedding",baseURL:o,headers:r,fetch:e.fetch}),s=t=>new S(t,{provider:"mistral.speech",baseURL:o,headers:r,fetch:e.fetch}),l=t=>new O(t,{provider:"mistral.transcription",baseURL:o,headers:r,fetch:e.fetch}),u=function(e){if(new.target)throw Error("The Mistral model function cannot be called with the new keyword.");return i(e)};return u.specificationVersion="v4",u.languageModel=i,u.chat=i,u.embedding=a,u.embeddingModel=a,u.textEmbedding=a,u.textEmbeddingModel=a,u.speech=s,u.speechModel=s,u.transcription=l,u.transcriptionModel=l,u.imageModel=e=>{throw new t.NoSuchModelError({modelId:e,modelType:"imageModel"})},u}A(),e.s(["createMistral",0,A])},753955,e=>{"use strict";let t;var n,o,r,i,a=e.i(691296),s=e.i(853205),l=e.i(296194),u=e.i(679007);async function c(e){return(await t).getRandomValues(new Uint8Array(e))}async function d(e){let t="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789-._~",n=256-256%t.length,o="";for(;o.length<e;)for(let r of(await c(e-o.length)))r<n&&(o+=t[r%t.length]);return o}async function p(e){return await d(e)}async function h(e){return btoa(String.fromCharCode(...new Uint8Array(await (await t).subtle.digest("SHA-256",new TextEncoder().encode(e))))).replace(/\//g,"_").replace(/\+/g,"-").replace(/=/g,"")}async function m(e){if(e||(e=43),e<43||e>128)throw`Expected a length between 43 and 128. Received ${e}.`;let t=await p(e),n=await h(t);return{code_verifier:t,code_challenge:n}}t=globalThis.crypto?.webcrypto??globalThis.crypto??e.A(70729).then(e=>e.webcrypto);var g=e.i(749906),f="2026-07-28",y="2025-11-25",b=[f,y,"2025-06-18","2025-03-26","2024-11-05"],_=s.z.optional(s.z.record(s.z.string(),s.z.unknown())),z=s.z.looseObject({name:s.z.string(),version:s.z.string(),title:s.z.optional(s.z.string())}),w=s.z.looseObject({_meta:s.z.optional(s.z.object({}).loose())}),v=w.extend({resultType:s.z.optional(s.z.string())}),k=s.z.object({method:s.z.string(),params:s.z.optional(w)}),x=s.z.object({applyDefaults:s.z.optional(s.z.boolean())}).loose(),S=s.z.looseObject({experimental:s.z.optional(s.z.object({}).loose()),logging:s.z.optional(s.z.object({}).loose()),completions:s.z.optional(s.z.object({}).loose()),prompts:s.z.optional(s.z.looseObject({listChanged:s.z.optional(s.z.boolean())})),resources:s.z.optional(s.z.looseObject({subscribe:s.z.optional(s.z.boolean()),listChanged:s.z.optional(s.z.boolean())})),tools:s.z.optional(s.z.looseObject({listChanged:s.z.optional(s.z.boolean())})),elicitation:s.z.optional(x)});s.z.object({elicitation:s.z.optional(x)}).loose();var T=v.extend({supportedVersions:s.z.array(s.z.string()),capabilities:S,instructions:s.z.optional(s.z.string()),ttlMs:s.z.optional(s.z.number()),cacheScope:s.z.optional(s.z.union([s.z.literal("public"),s.z.literal("private")]))}),I=v.extend({protocolVersion:s.z.string(),capabilities:S,serverInfo:z,instructions:s.z.optional(s.z.string())}),O=v.extend({nextCursor:s.z.optional(s.z.string())}),E=s.z.object({name:s.z.string(),title:s.z.optional(s.z.string()),description:s.z.optional(s.z.string()),inputSchema:s.z.looseObject({type:s.z.optional(s.z.unknown()),properties:s.z.optional(s.z.object({}).loose())}),outputSchema:s.z.optional(s.z.object({}).loose()),annotations:s.z.optional(s.z.object({title:s.z.optional(s.z.string()),readOnlyHint:s.z.optional(s.z.boolean()),destructiveHint:s.z.optional(s.z.boolean()),idempotentHint:s.z.optional(s.z.boolean()),openWorldHint:s.z.optional(s.z.boolean())}).loose()),_meta:_}).loose(),C=O.extend({tools:s.z.array(E)}),A=s.z.object({type:s.z.literal("text"),text:s.z.string()}).loose(),j=s.z.object({type:s.z.literal("image"),data:s.z.base64(),mimeType:s.z.string()}).loose(),R=s.z.object({uri:s.z.string(),name:s.z.string(),title:s.z.optional(s.z.string()),description:s.z.optional(s.z.string()),mimeType:s.z.optional(s.z.string()),size:s.z.optional(s.z.number())}).loose(),$=O.extend({resources:s.z.array(R)}),M=s.z.object({uri:s.z.string(),name:s.z.optional(s.z.string()),title:s.z.optional(s.z.string()),mimeType:s.z.optional(s.z.string())}).loose(),N=M.extend({text:s.z.string()}),L=M.extend({blob:s.z.base64()}),P=s.z.object({type:s.z.literal("resource"),resource:s.z.union([N,L])}).loose(),U=s.z.object({type:s.z.literal("resource_link"),uri:s.z.string(),name:s.z.string(),description:s.z.optional(s.z.string()),mimeType:s.z.optional(s.z.string())}).loose(),q=s.z.object({type:s.z.string()}).loose().refine(e=>!["text","image","resource","resource_link"].includes(e.type),{message:"Known content types must match their schema"}),D=v.extend({content:s.z.array(s.z.union([A,j,P,U,q])),structuredContent:s.z.optional(s.z.unknown()),isError:s.z.boolean().default(!1).optional()}),F=v.extend({content:s.z.never().optional(),structuredContent:s.z.json(),isError:s.z.boolean().default(!1).optional()}).transform(e=>({...e,content:[{type:"text",text:JSON.stringify(e.structuredContent)}]})).pipe(D),H=D.or(F).or(v.extend({toolResult:s.z.unknown().nonoptional()})),B=s.z.object({uriTemplate:s.z.string(),name:s.z.string(),title:s.z.optional(s.z.string()),description:s.z.optional(s.z.string()),mimeType:s.z.optional(s.z.string())}).loose(),W=v.extend({resourceTemplates:s.z.array(B)}),K=v.extend({contents:s.z.array(s.z.union([N,L]))}),V=s.z.object({type:s.z.literal("ref/prompt"),name:s.z.string()}).loose(),J=s.z.object({type:s.z.literal("ref/resource"),uri:s.z.string()}).loose(),G=s.z.object({name:s.z.string(),value:s.z.string()}).loose();w.extend({ref:s.z.union([V,J]),argument:G,context:s.z.optional(s.z.object({arguments:s.z.record(s.z.string(),s.z.string())}).loose())});var Y=v.extend({completion:s.z.object({values:s.z.array(s.z.string()).max(100),total:s.z.optional(s.z.number().int()),hasMore:s.z.optional(s.z.boolean())}).loose()}),Z=s.z.object({name:s.z.string(),description:s.z.optional(s.z.string()),required:s.z.optional(s.z.boolean())}).loose(),X=s.z.object({name:s.z.string(),title:s.z.optional(s.z.string()),description:s.z.optional(s.z.string()),arguments:s.z.optional(s.z.array(Z))}).loose(),Q=O.extend({prompts:s.z.array(X)}),ee=s.z.object({role:s.z.union([s.z.literal("user"),s.z.literal("assistant")]),content:s.z.union([A,j,P,U])}).loose(),et=v.extend({description:s.z.optional(s.z.string()),messages:s.z.array(ee)}),en=w.extend({message:s.z.string(),requestedSchema:s.z.unknown()}),eo=k.extend({method:s.z.literal("elicitation/create"),params:en}),er=v.extend({action:s.z.union([s.z.literal("accept"),s.z.literal("decline"),s.z.literal("cancel")]),content:s.z.optional(s.z.record(s.z.string(),s.z.unknown()))}),ei=s.z.object({jsonrpc:s.z.literal("2.0"),id:s.z.union([s.z.string(),s.z.number().int()])}).merge(k).strict(),ea=s.z.object({jsonrpc:s.z.literal("2.0"),id:s.z.union([s.z.string(),s.z.number().int()]),result:v}).strict(),es=s.z.object({jsonrpc:s.z.literal("2.0"),id:s.z.optional(s.z.union([s.z.string(),s.z.number().int()])),error:s.z.object({code:s.z.number().int(),message:s.z.string(),data:s.z.optional(s.z.unknown())})}).strict(),el=s.z.object({jsonrpc:s.z.literal("2.0")}).merge(s.z.object({method:s.z.string(),params:s.z.optional(w)})).strict(),eu=s.z.union([ei,el,ea,es]);function ec(e){return eu.parse(e)}async function ed(e){return ec(await (0,a.parseJSON)({text:e}))}var ep="vercel.ai.error.AI_MCPClientError",eh=Symbol.for(ep),em=class extends(o=l.AISDKError,n=eh,o){constructor({name:e="MCPClientError",message:t,cause:o,data:r,code:i,statusCode:a,url:s,responseBody:l}){super({name:e,message:t,cause:o}),this[n]=!0,this.data=r,this.code=i,this.statusCode=a,this.url=s,this.responseBody=l}static isInstance(e){return l.AISDKError.hasMarker(e,ep)}},eg="u">typeof __PACKAGE_VERSION__?__PACKAGE_VERSION__:"0.0.0-test",ef=s.z.string().url().superRefine((e,t)=>{if(!URL.canParse(e))return t.addIssue({code:s.z.ZodIssueCode.custom,message:"URL must be parseable",fatal:!0}),s.z.NEVER}).refine(e=>{let t=new URL(e);return"javascript:"!==t.protocol&&"data:"!==t.protocol&&"vbscript:"!==t.protocol},{message:"URL cannot use javascript:, data:, or vbscript: scheme"}),ey=s.z.object({access_token:s.z.string(),id_token:s.z.string().optional(),token_type:s.z.string(),expires_in:s.z.number().optional(),scope:s.z.string().optional(),refresh_token:s.z.string().optional(),issuer:ef.optional(),authorization_server:ef.optional(),token_endpoint:ef.optional()}).strip(),eb=s.z.looseObject({resource:s.z.string().url(),authorization_servers:s.z.array(ef).optional(),jwks_uri:s.z.string().url().optional(),scopes_supported:s.z.array(s.z.string()).optional(),bearer_methods_supported:s.z.array(s.z.string()).optional(),resource_signing_alg_values_supported:s.z.array(s.z.string()).optional(),resource_name:s.z.string().optional(),resource_documentation:s.z.string().optional(),resource_policy_uri:s.z.string().url().optional(),resource_tos_uri:s.z.string().url().optional(),tls_client_certificate_bound_access_tokens:s.z.boolean().optional(),authorization_details_types_supported:s.z.array(s.z.string()).optional(),dpop_signing_alg_values_supported:s.z.array(s.z.string()).optional(),dpop_bound_access_tokens_required:s.z.boolean().optional()}),e_=s.z.looseObject({issuer:s.z.string(),authorization_endpoint:ef,token_endpoint:ef,registration_endpoint:ef.optional(),authorization_response_iss_parameter_supported:s.z.boolean().optional(),client_id_metadata_document_supported:s.z.boolean().optional(),scopes_supported:s.z.array(s.z.string()).optional(),response_types_supported:s.z.array(s.z.string()),grant_types_supported:s.z.array(s.z.string()).optional(),code_challenge_methods_supported:s.z.array(s.z.string()).optional(),token_endpoint_auth_methods_supported:s.z.array(s.z.string()).optional(),token_endpoint_auth_signing_alg_values_supported:s.z.array(s.z.string()).optional()}),ez=s.z.looseObject({issuer:s.z.string(),authorization_endpoint:ef,token_endpoint:ef,userinfo_endpoint:ef.optional(),jwks_uri:ef,registration_endpoint:ef.optional(),authorization_response_iss_parameter_supported:s.z.boolean().optional(),client_id_metadata_document_supported:s.z.boolean().optional(),scopes_supported:s.z.array(s.z.string()).optional(),response_types_supported:s.z.array(s.z.string()),grant_types_supported:s.z.array(s.z.string()).optional(),subject_types_supported:s.z.array(s.z.string()),id_token_signing_alg_values_supported:s.z.array(s.z.string()),claims_supported:s.z.array(s.z.string()).optional(),token_endpoint_auth_methods_supported:s.z.array(s.z.string()).optional()}).merge(e_.pick({code_challenge_methods_supported:!0})),ew=s.z.object({client_id:s.z.string(),client_secret:s.z.string().optional(),client_id_issued_at:s.z.number().optional(),client_secret_expires_at:s.z.number().optional(),issuer:ef.optional(),authorization_server:ef.optional(),token_endpoint:ef.optional()}).strip(),ev=s.z.object({redirect_uris:s.z.array(ef),application_type:s.z.union([s.z.literal("native"),s.z.literal("web")]).optional(),token_endpoint_auth_method:s.z.string().optional(),grant_types:s.z.array(s.z.string()).optional(),response_types:s.z.array(s.z.string()).optional(),client_name:s.z.string().optional(),client_uri:ef.optional(),logo_uri:ef.optional(),scope:s.z.string().optional(),contacts:s.z.array(s.z.string()).optional(),tos_uri:ef.optional(),policy_uri:s.z.string().optional(),jwks_uri:ef.optional(),jwks:s.z.any().optional(),software_id:s.z.string().optional(),software_version:s.z.string().optional(),software_statement:s.z.string().optional()}).strip(),ek=s.z.object({error:s.z.string(),error_description:s.z.string().optional(),error_uri:s.z.string().optional()}),ex=ev.merge(ew),eS="vercel.ai.error.AI_MCPClientOAuthError",eT=Symbol.for(eS),eI=class extends(i=l.AISDKError,r=eT,i){constructor({name:e="MCPClientOAuthError",message:t,cause:n}){super({name:e,message:t,cause:n}),this[r]=!0}static isInstance(e){return l.AISDKError.hasMarker(e,eS)}},eO=class extends eI{static{this.errorCode="server_error"}},eE=class extends eI{static{this.errorCode="invalid_client"}},eC=class extends eI{static{this.errorCode="invalid_grant"}},eA=class extends eI{static{this.errorCode="unauthorized_client"}},ej={[eO.errorCode]:eO,[eE.errorCode]:eE,[eC.errorCode]:eC,[eA.errorCode]:eA};function eR(e){let t=e.href;return"/"===e.pathname&&t.endsWith("/")?t.slice(0,-1):t}var e$=class extends Error{constructor(e="Unauthorized"){super(e),this.name="UnauthorizedError"}};function eM(e){return new URL(e).href}function eN(e){let t=e.toLowerCase().replace(/\.+$/,"");return"localhost"===t||t.endsWith(".localhost")||"127.0.0.1"===t||"[::1]"===t||"::1"===t}function eL(e,{allowLoopback:t=!1}={}){if(!(t&&("http:"===e.protocol||"https:"===e.protocol)&&eN(e.hostname)))try{(0,a.validateDownloadUrl)(e.href)}catch(t){throw new eI({message:`OAuth endpoint URL is not allowed: ${e.href}`,cause:t})}}function eP(e){let t=new URL(e);return eN(t.hostname)?t.origin:void 0}function eU(e,t){return{...e,issuer:t.issuer,authorization_server:t.authorizationServerUrl,token_endpoint:t.tokenEndpoint}}function eq(e,t){return{...e,issuer:t.issuer,authorization_server:t.authorizationServerUrl,token_endpoint:t.tokenEndpoint}}function eD(e){if(e?.authorization_server&&e.token_endpoint)return{issuer:e.issuer,authorizationServerUrl:eM(e.authorization_server),tokenEndpoint:eM(e.token_endpoint)}}async function eF({provider:e,clientInformation:t,tokens:n}){let o=eD(n);if(o)return o;let r=await e.authorizationServerInformation?.();return r?{issuer:r.issuer,authorizationServerUrl:eM(r.authorizationServerUrl),tokenEndpoint:eM(r.tokenEndpoint)}:eD(t)}async function eH({provider:e,clientInformation:t,authorizationServerInformation:n}){return e.saveAuthorizationServerInformation?(await e.saveAuthorizationServerInformation(n),!0):!!e.saveClientInformation&&(await e.saveClientInformation(eq(t,n)),!0)}function eB({storedAuthorizationServerInformation:e,currentAuthorizationServerInformation:t}){if(null!=e.issuer&&null!=t.issuer&&e.issuer!==t.issuer||e.authorizationServerUrl!==t.authorizationServerUrl||e.tokenEndpoint!==t.tokenEndpoint)throw new eI({message:"OAuth authorization server metadata does not match the metadata that issued the stored credentials"})}function eW(e){let t,n=e.headers.get("www-authenticate")??e.headers.get("WWW-Authenticate");if(!n)return{};let[o,r]=n.split(" ");if("bearer"!==o.toLowerCase()||!r)return{};let i=n.match(/(?:^|[,\s])resource_metadata="([^"]*)"/i),a=n.match(/(?:^|[,\s])scope="([^"]*)"/i)?.[1];try{t=i?new URL(i[1]):void 0}catch{}return{resourceMetadataUrl:t,scope:a}}async function eK(e,t,n=fetch,o){try{return await (0,a.fetchUntrustedUrl)({url:e.href,fetch:async(e,r)=>(0,a.fetchWithValidatedEndpoint)({url:e,init:{...r,headers:new Headers(r?.headers).has("MCP-Protocol-Version")?t:void 0},fetch:n,trustedOrigin:o,redirect:"manual"}),headers:t,trustedOrigin:o,untrustedFirstHopHeaders:["mcp-protocol-version"]})}catch(r){if(r instanceof TypeError)if(t)return eK(e,void 0,n,o);else return;throw r}}async function eV(e,t,n=fetch,o){return await eK(e,{"MCP-Protocol-Version":t},n,o)}async function eJ(e,t,n,o){var r,i;let a,s=new URL(e),l=o?.protocolVersion??f;o?.metadataUrl?a=new URL(o.metadataUrl):(a=new URL(function(e,t="",n={}){return t.endsWith("/")&&(t=t.slice(0,-1)),n.prependPathname?`${t}/.well-known/${e}`:`/.well-known/${e}${t}`}(t,s.pathname),o?.metadataServerUrl??s)).search=s.search;let u=await eV(a,l,n,o?.trustedOrigin);if(!o?.metadataUrl&&(r=u,i=s.pathname,!r||r.status>=400&&r.status<500&&"/"!==i)){let e=new URL(`/.well-known/${t}`,s);u=await eV(e,l,n,o?.trustedOrigin)}return u}async function eG(e,t,n=fetch){let o=await eJ(e,"oauth-protected-resource",n,{protocolVersion:t?.protocolVersion,metadataUrl:t?.resourceMetadataUrl,trustedOrigin:new URL(e).origin});if(!o||404===o.status)throw Error("Resource server does not implement OAuth 2.0 Protected Resource Metadata.");if(!o.ok)throw Error(`HTTP ${o.status} trying to load well-known OAuth protected resource metadata.`);return eb.parse(await o.json())}function eY(e,t){if(e.issuer!==t&&(t!==new URL(t).origin||e.issuer!==`${t}/`))throw new eI({message:`OAuth authorization server metadata issuer ${e.issuer} does not match expected issuer ${t}`})}async function eZ(e,{fetchFn:t=fetch,protocolVersion:n=f,trustedOrigin:o}={}){let r={"MCP-Protocol-Version":n};for(let{url:n,type:i,expectedIssuer:a}of function(e){let t="string"==typeof e?new URL(e):e,n="/"!==t.pathname,o=t.origin,r=[];if(!n)return r.push({url:new URL("/.well-known/oauth-authorization-server",t.origin),type:"oauth",expectedIssuer:o}),r.push({url:new URL("/.well-known/openid-configuration",t.origin),type:"oidc",expectedIssuer:o}),r;let i=t.pathname;i.endsWith("/")&&(i=i.slice(0,-1));let a=`${t.origin}${i}`;return r.push({url:new URL(`/.well-known/oauth-authorization-server${i}`,t.origin),type:"oauth",expectedIssuer:a}),r.push({url:new URL("/.well-known/oauth-authorization-server",t.origin),type:"oauth",expectedIssuer:o}),r.push({url:new URL(`/.well-known/openid-configuration${i}`,t.origin),type:"oidc",expectedIssuer:a}),r.push({url:new URL(`${i}/.well-known/openid-configuration`,t.origin),type:"oidc",expectedIssuer:a}),r}(e)){let e=await eK(n,r,t,o);if(e){if(!e.ok){if(e.status>=400&&e.status<500)continue;throw Error(`HTTP ${e.status} trying to load ${"oauth"===i?"OAuth":"OpenID provider"} metadata from ${n}`)}if("oauth"===i){let t=e_.parse(await e.json());return eY(t,a),t}{let t=ez.parse(await e.json());if(eY(t,a),!t.code_challenge_methods_supported?.includes("S256"))throw Error(`Incompatible OIDC provider at ${n}: does not support S256 code challenge method required by MCP specification`);return t}}}}async function eX(e,{metadata:t,clientInformation:n,redirectUrl:o,scope:r,state:i,resource:a}){let s,l="code",u="S256";if(t){if(s=new URL(t.authorization_endpoint),!t.response_types_supported.includes(l))throw Error(`Incompatible auth server: does not support response type ${l}`);if(!t.code_challenge_methods_supported||!t.code_challenge_methods_supported.includes(u))throw Error(`Incompatible auth server: does not support code challenge method ${u}`)}else s=new URL("/authorize",e);let c=await m(),d=c.code_verifier,p=c.code_challenge;return s.searchParams.set("response_type",l),s.searchParams.set("client_id",n.client_id),s.searchParams.set("code_challenge",p),s.searchParams.set("code_challenge_method",u),s.searchParams.set("redirect_uri",String(o)),i&&s.searchParams.set("state",i),r&&s.searchParams.set("scope",r),r?.includes("offline_access")&&s.searchParams.append("prompt","consent"),a&&s.searchParams.set("resource",eR(a)),{authorizationUrl:s,codeVerifier:d}}function eQ(e,t){let n=void 0!==e.client_secret;return 0===t.length?n?"client_secret_post":"none":n&&t.includes("client_secret_basic")?"client_secret_basic":n&&t.includes("client_secret_post")?"client_secret_post":t.includes("none")?"none":n?"client_secret_post":"none"}function e0(e,t,n,o){let{client_id:r,client_secret:i}=t;switch(e){case"client_secret_basic":var a,s,l,u,c=r,d=i,p=n;if(!d)throw Error("client_secret_basic authentication requires a client_secret");let h=btoa(`${c}:${d}`);p.set("Authorization",`Basic ${h}`);return;case"client_secret_post":a=r,s=i,(l=o).set("client_id",a),s&&l.set("client_secret",s);return;case"none":u=r,o.set("client_id",u);return;default:throw Error(`Unsupported client authentication method: ${e}`)}}async function e1(e){let t=e instanceof Response?e.status:void 0,n=e instanceof Response?await e.text():e;try{let{error:e,error_description:t,error_uri:o}=ek.parse(await (0,a.parseJSON)({text:n}));return new(ej[e]||eO)({message:t||"",cause:o})}catch(e){return new eO({message:`${t?`HTTP ${t}: `:""}Invalid OAuth error response: ${e}. Raw body: ${n}`})}}async function e2(e,{metadata:t,clientInformation:n,authorizationCode:o,codeVerifier:r,redirectUri:i,resource:s,addClientAuthentication:l,fetchFn:u}){let c="authorization_code",d=t?.token_endpoint?new URL(t.token_endpoint):new URL("/token",e),p=eP(e);if(eL(d,{allowLoopback:d.origin===p}),t?.grant_types_supported&&!t.grant_types_supported.includes(c))throw Error(`Incompatible auth server: does not support grant type ${c}`);let h=new Headers({"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json"}),m=new URLSearchParams({grant_type:c,code:o,code_verifier:r,redirect_uri:String(i)});l?await l(h,m,e,t):e0(eQ(n,t?.token_endpoint_auth_methods_supported??[]),n,h,m),s&&m.set("resource",eR(s));let g=await (0,a.fetchWithValidatedEndpoint)({url:d,init:{method:"POST",headers:h,body:m},fetch:u,trustedOrigin:p});if(!g.ok)throw await e1(g);return ey.parse(await g.json())}async function e4(e,{metadata:t,clientInformation:n,refreshToken:o,resource:r,addClientAuthentication:i,fetchFn:s}){let l,u="refresh_token";if(t){if(l=new URL(t.token_endpoint),t.grant_types_supported&&!t.grant_types_supported.includes(u))throw Error(`Incompatible auth server: does not support grant type ${u}`)}else l=new URL("/token",e);let c=eP(e);eL(l,{allowLoopback:l.origin===c});let d=new Headers({"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json"}),p=new URLSearchParams({grant_type:u,refresh_token:o});i?await i(d,p,e,t):e0(eQ(n,t?.token_endpoint_auth_methods_supported??[]),n,d,p),r&&p.set("resource",eR(r));let h=await (0,a.fetchWithValidatedEndpoint)({url:l,init:{method:"POST",headers:d,body:p},fetch:s,trustedOrigin:c});if(!h.ok)throw await e1(h);return ey.parse({refresh_token:o,...await h.json()})}async function e3(e,{metadata:t,clientMetadata:n,fetchFn:o}){let r;if(t){if(!t.registration_endpoint)throw Error("Incompatible auth server: does not support dynamic client registration");r=new URL(t.registration_endpoint)}else r=new URL("/register",e);let i=eP(e);eL(r,{allowLoopback:r.origin===i});let s=n.application_type??(n.redirect_uris.every(e=>{let t=new URL(e);return("http:"===t.protocol||"https:"===t.protocol)&&eN(t.hostname)||"http:"!==t.protocol&&"https:"!==t.protocol})?"native":"web"),l=await (0,a.fetchWithValidatedEndpoint)({url:r,init:{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({...n,application_type:s})},fetch:o,trustedOrigin:i});if(!l.ok)throw await e1(l);return ex.parse(await l.json())}async function e5(e,t){try{return await e9(e,t)}catch(n){if(n instanceof eE||n instanceof eA){if(void 0!==t.authorizationCode||!await e.isClientInformationDynamicallyRegistered?.())throw n;return await e.invalidateCredentials?.("all"),await e9(e,t)}if(n instanceof eC)return await e.invalidateCredentials?.("tokens"),await e9(e,t);throw n}}async function e6(e,t,n){let o,r=((o=new URL("string"==typeof e?e:e.href)).hash="",o);if(t.validateResourceURL)return await t.validateResourceURL(r,n?.resource);if(n){if(!function({requestedResource:e,configuredResource:t}){let n=new URL("string"==typeof e?e:e.href),o=new URL("string"==typeof t?t:t.href);if(n.origin!==o.origin||n.pathname.length<o.pathname.length)return!1;let r=n.pathname.endsWith("/")?n.pathname:n.pathname+"/",i=o.pathname.endsWith("/")?o.pathname:o.pathname+"/";return r.startsWith(i)}({requestedResource:r,configuredResource:n.resource}))throw Error(`Protected resource ${n.resource} does not match expected ${r} (or origin)`);return new URL(n.resource)}}async function e9(e,{serverUrl:t,authorizationCode:n,callbackState:o,callbackIssuer:r,scope:i,resourceMetadataUrl:a,fetchFn:s}){var l;let u,c,d,p;!function(e,t){if(!t)return;let n=new URL(e).origin;if(t.origin!==n)throw new eI({message:`OAuth protected resource metadata URL ${t.href} must have the same origin as the MCP server URL ${n}`})}(t,a);try{(u=await eG(t,{resourceMetadataUrl:a},s)).authorization_servers&&u.authorization_servers.length>0&&(c=u.authorization_servers[0])}catch{}void 0!==n&&(d=await Promise.resolve(e.clientInformation()))&&(p=await eF({provider:e,clientInformation:d})),c||(c=p?.authorizationServerUrl??t);let h=new URL(t),m=new URL(c),g=h.origin,f=m.origin,y=f===g||eN(h.hostname)&&eN(m.hostname)?f:void 0;y||eL(new URL(c));let b=await e6(t,e,u);await e.validateAuthorizationServerURL?.(t,c);let _=await eZ(c,{fetchFn:s,trustedOrigin:y}),z=(l=c,{issuer:_?.issuer??String(l),authorizationServerUrl:eM(l),tokenEndpoint:eM(_?.token_endpoint?new URL(_.token_endpoint):new URL("/token",l))}),w=e.clientMetadata,v=function({scope:e,resourceMetadata:t,clientMetadata:n}){if(e)return e;let o=t?.scopes_supported?.join(" ");return o||n.scope}({scope:i,resourceMetadata:u,clientMetadata:w});if(void 0===n&&(d=await Promise.resolve(e.clientInformation())),d?.issuer!=null){let t=p??await eF({provider:e,clientInformation:d});t&&eB({storedAuthorizationServerInformation:t,currentAuthorizationServerInformation:z})}if(!d){if(void 0!==n)throw Error("Existing OAuth client information is required when exchanging an authorization code");if(!e.saveClientInformation)throw Error("OAuth client information must be saveable for dynamic registration");d=eq(await e3(c,{metadata:_,clientMetadata:{...w,scope:v},fetchFn:s}),z),await e.saveClientInformation(d)}if(void 0!==n){if(e.storedState){let t=await e.storedState();if(void 0!==t&&t!==o)throw Error("OAuth state parameter mismatch - possible CSRF attack")}let t=p??await eF({provider:e,clientInformation:d});if(!t)throw new eI({message:"Stored OAuth authorization server metadata is required when exchanging an authorization code"});!function({callbackIssuer:e,expectedIssuer:t}){if(null!=e&&e!==t)throw new eI({message:`OAuth authorization response issuer ${e} does not match expected issuer ${t}`})}({callbackIssuer:r,expectedIssuer:t.issuer??_?.issuer??String(c)}),eB({storedAuthorizationServerInformation:t,currentAuthorizationServerInformation:z});let i=await e.codeVerifier(),a=await e2(c,{metadata:_,clientInformation:d,authorizationCode:n,codeVerifier:i,redirectUri:e.redirectUrl,resource:b,addClientAuthentication:e.addClientAuthentication,fetchFn:s});return await e.saveTokens(eU(a,z)),"AUTHORIZED"}let k=await e.tokens();if(k?.refresh_token){let t=await eF({provider:e,clientInformation:d,tokens:k});t?eB({storedAuthorizationServerInformation:t,currentAuthorizationServerInformation:z}):await e.invalidateCredentials?.("tokens");try{if(t){let t=await e4(c,{metadata:_,clientInformation:d,refreshToken:k.refresh_token,resource:b,addClientAuthentication:e.addClientAuthentication,fetchFn:s});return await e.saveTokens(eU(t,z)),"AUTHORIZED"}}catch(e){if(!(e instanceof eI)||e instanceof eO);else throw e}}let x=e.state?await e.state():void 0;x&&e.saveState&&await e.saveState(x);let{authorizationUrl:S,codeVerifier:T}=await eX(c,{metadata:_,clientInformation:d,state:x,redirectUrl:e.redirectUrl,scope:v,resource:b});if(!await eH({provider:e,clientInformation:d,authorizationServerInformation:z}))throw new eI({message:"OAuth authorization server metadata must be saveable before starting authorization"});return await e.saveCodeVerifier(T),await e.redirectToAuthorization(S),"REDIRECT"}var e8=class{constructor({url:e,headers:t,authProvider:n,redirect:o="error",fetch:r}){this.connected=!1,this.url=new URL(e),this.headers=t,this.authProvider=n,this.redirectMode=o,this.fetchFn=r??globalThis.fetch}setProtocolVersion(e){this.protocolVersion=e}async commonHeaders(e){let t={...this.headers,...e,"mcp-protocol-version":this.protocolVersion??y};if(this.authProvider){let e=await this.authProvider.tokens();e?.access_token&&(t.Authorization=`Bearer ${e.access_token}`)}return(0,a.withUserAgentSuffix)(t,`ai-sdk/${eg}`,(0,a.getRuntimeEnvironmentUserAgent)())}authorizeOnce(e,t){return this.authProvider?(this.authPromise||(this.authPromise=e5(this.authProvider,{serverUrl:this.url,resourceMetadataUrl:e,scope:t,fetchFn:this.fetchFn}).finally(()=>{this.authPromise=void 0})),this.authPromise):Promise.resolve("REDIRECT")}async accessTokenChanged(e){let t=(await this.authProvider?.tokens())?.access_token;return null!=t&&e!==`Bearer ${t}`}async start(){return new Promise((e,t)=>{if(this.connected)return e();this.abortController=new AbortController;let n=async(o=!1)=>{try{let r=await this.commonHeaders({Accept:"text/event-stream"}),i=await this.fetchFn(this.url.href,{headers:r,signal:this.abortController?.signal,redirect:this.redirectMode});if(401===i.status&&this.authProvider&&!o){let{resourceMetadataUrl:e,scope:o}=eW(i);this.resourceMetadataUrl=e;try{let e=await this.authorizeOnce(this.resourceMetadataUrl,o);if("AUTHORIZED"!==e){let e=new e$;return this.onerror?.(e),t(e)}}catch(e){return this.onerror?.(e),t(e)}return n(!0)}if(!i.ok||!i.body){let e=`MCP SSE Transport Error: ${i.status} ${i.statusText}`;405===i.status&&(e+=". This server does not support SSE transport. Try using `http` transport instead");let n=new em({message:e});return this.onerror?.(n),t(n)}let a=i.body.pipeThrough(new TextDecoderStream).pipeThrough(new u.EventSourceParserStream).getReader(),s=async()=>{try{for(;;){let{done:t,value:n}=await a.read();if(t){if(this.connected)throw this.connected=!1,new em({message:"MCP SSE Transport Error: Connection closed unexpectedly"});return}let{event:o,data:r}=n;if("endpoint"===o){if(this.endpoint)continue;let t=new URL(r,this.url);if(t.origin!==this.url.origin)throw this.connected=!1,this.endpoint=void 0,this.sseConnection?.close(),this.abortController?.abort(),new em({message:`MCP SSE Transport Error: Endpoint origin does not match connection origin: ${t.origin}`});this.endpoint=t,this.connected=!0,e()}else if(void 0===o||"message"===o)try{let e=await ed(r);this.onmessage?.(e)}catch(t){let e=new em({message:"MCP SSE Transport Error: Failed to parse message",cause:t});this.onerror?.(e)}}}catch(e){if(e instanceof Error&&"AbortError"===e.name)return;this.onerror?.(e),t(e)}};this.sseConnection={close:()=>a.cancel()},s()}catch(e){if(e instanceof Error&&"AbortError"===e.name)return;this.onerror?.(e),t(e)}};n()})}async close(){this.connected=!1,this.endpoint=void 0,this.sseConnection?.close(),this.abortController?.abort(),this.onclose?.()}async send(e,t){if(t?.signal?.throwIfAborted(),!this.endpoint||!this.connected)throw new em({message:"MCP SSE Transport Error: Not connected"});let n=this.endpoint,o=this.abortController?.signal,r=t?.signal==null?o:null==o?t.signal:AbortSignal.any([o,t.signal]),i=async(o=!1)=>{try{let t=await this.commonHeaders({"Content-Type":"application/json"}),a={method:"POST",headers:t,body:JSON.stringify(e),signal:r,redirect:this.redirectMode},s=await this.fetchFn(n.href,a);if(401===s.status&&this.authProvider&&!o){if(await this.accessTokenChanged(new Headers(t).get("authorization")??void 0))return i(!0);let{resourceMetadataUrl:e,scope:n}=eW(s);this.resourceMetadataUrl=e;let o=await this.authorizeOnce(this.resourceMetadataUrl,n);if("AUTHORIZED"!==o)throw new e$;return i(!0)}if(!s.ok){let e=await s.text().catch(()=>null);throw new em({message:`MCP SSE Transport Error: POSTing to endpoint (HTTP ${s.status}): ${e}`,statusCode:s.status,url:n.href,responseBody:e??void 0})}}catch(e){if(t?.signal?.aborted)throw e;throw this.onerror?.(e),e}};await i()}},e7=/^[!#$%&'*+\-.^_`|~0-9A-Za-z]+$/,te=/^=\?base64\?.*\?=$/;function tt(e){return[...e].every(e=>{let t=e.charCodeAt(0);return 9===t||t>=32&&t<=126})&&e.trim()===e&&!te.test(e)?e:`=?base64?${(0,a.convertUint8ArrayToBase64)(new TextEncoder().encode(e))}?=`}function tn(e){return void 0===e||"message"===e}var to=class{constructor({url:e,headers:t,authProvider:n,redirect:o="error",initialSessionId:r,initialProtocolVersion:i,onSessionIdChange:a,onSessionExpired:s,terminateSessionOnClose:l=!0,fetch:u}){this.supportsProtocolVersionDiscovery=!0,this.supportsMcpToolParameterHeaders=!0,this.inboundReconnectAttempts=0,this.reconnectionOptions={initialReconnectionDelay:1e3,maxReconnectionDelay:3e4,reconnectionDelayGrowFactor:1.5,maxRetries:2},this.url=new URL(e),this.headers=t,this.authProvider=n,this.redirectMode=o,this.sessionId=r,this.protocolVersion=i??y,this.onSessionIdChange=a,this.onSessionExpired=s,this.terminateSessionOnClose=l,this.fetchFn=u??globalThis.fetch}setProtocolVersion(e){if(this.protocolVersion=e,this.abortController){if(this.isModernProtocol()){this.inboundSseConnection?.close(),this.inboundSseConnection=void 0;return}this.inboundSseConnection||this.startInboundSse()}}isModernProtocol(){return(this.protocolVersion??f)===f}async commonHeaders({base:e,includeSessionId:t=!0}){let n={...this.headers,...e,"mcp-protocol-version":this.protocolVersion??y};if(!this.isModernProtocol()&&t&&this.sessionId&&(n["mcp-session-id"]=this.sessionId),this.authProvider){let e=await this.authProvider.tokens();e?.access_token&&(n.Authorization=`Bearer ${e.access_token}`)}return(0,a.withUserAgentSuffix)(n,`ai-sdk/${eg}`,(0,a.getRuntimeEnvironmentUserAgent)())}setSessionId(e){this.sessionId!==e&&(this.sessionId=e,this.onSessionIdChange?.(e))}applySessionIdFromResponse(e){if(this.isModernProtocol())return;let t=e.headers.get("mcp-session-id");t&&this.setSessionId(t)}expireSessionId(e){this.sessionId===e&&this.setSessionId(void 0),this.onSessionExpired?.(e)}authorizeOnce(e,t){return this.authProvider?(this.authPromise||(this.authPromise=e5(this.authProvider,{serverUrl:this.url,resourceMetadataUrl:e,scope:t,fetchFn:this.fetchFn}).finally(()=>{this.authPromise=void 0})),this.authPromise):Promise.resolve("REDIRECT")}async start(){if(this.abortController)throw new em({message:"MCP HTTP Transport Error: Transport already started. Note: client.connect() calls start() automatically."});this.abortController=new AbortController,null!=this.protocolVersion&&this.protocolVersion!==f&&this.startInboundSse()}async close(e){this.inboundSseConnection?.close(),this.abortController?.abort();try{if(!this.isModernProtocol()&&this.sessionId&&this.terminateSessionOnClose&&this.abortController){e?.signal?.throwIfAborted();let t=await this.commonHeaders({base:{}});e?.signal?.throwIfAborted(),await this.fetchFn(this.url.href,{method:"DELETE",headers:t,signal:e?.signal,redirect:this.redirectMode}).catch(()=>void 0)}}catch{}this.onclose?.()}async send(e,t){t?.signal?.throwIfAborted();let n=this.abortController?.signal,o=t?.signal==null?n:null==n?t.signal:AbortSignal.any([n,t.signal]),r=async(n=!1)=>{try{let i="method"in e&&"initialize"===e.method,a=i?void 0:this.sessionId,s=await this.commonHeaders({base:{"Content-Type":"application/json",Accept:"application/json, text/event-stream",...this.isModernProtocol()?t?.headers:{},...this.isModernProtocol()&&"method"in e&&"id"in e?this.getStandardRequestHeaders(e):{}},includeSessionId:!i}),l={method:"POST",headers:s,body:JSON.stringify(e),signal:o,redirect:this.redirectMode},c=await this.fetchFn(this.url.href,l);if(this.applySessionIdFromResponse(c),401===c.status&&this.authProvider&&!n){let{resourceMetadataUrl:e,scope:t}=eW(c);this.resourceMetadataUrl=e;try{let e=await this.authorizeOnce(this.resourceMetadataUrl,t);if("AUTHORIZED"!==e)throw new e$}catch(e){throw this.onerror?.(e),e}return r(!0)}if(202===c.status){this.isModernProtocol()||this.inboundSseConnection||this.startInboundSse();return}if(!c.ok){let t=await c.text().catch(()=>null);if("id"in e&&null!=t){let n=await ed(t).catch(()=>void 0);if(null!=n&&"error"in n)return void this.onmessage?.(null==n.id?{...n,id:e.id}:n)}let n=`MCP HTTP Transport Error: POSTing to endpoint (HTTP ${c.status}): ${t}`;404===c.status&&(!this.isModernProtocol()&&a?(this.expireSessionId(a),n+=". The MCP session expired. Create a new client without `initialSessionId` to start a fresh session"):this.isModernProtocol()||(n+=". This server does not support HTTP transport. Try using `sse` transport instead"));let o=new em({message:n,statusCode:c.status,url:this.url.href,responseBody:t??void 0});throw this.onerror?.(o),o}if(!("id"in e))return;let d=c.headers.get("content-type")||"";if(d.includes("application/json")){let e=await c.json();for(let t of Array.isArray(e)?e.map(e=>ec(e)):[ec(e)])this.onmessage?.(t);return}if(d.includes("text/event-stream")){if(!c.body){let e=new em({message:"MCP HTTP Transport Error: text/event-stream response without body",statusCode:c.status,url:this.url.href});throw this.onerror?.(e),e}let e=c.body.pipeThrough(new TextDecoderStream).pipeThrough(new u.EventSourceParserStream).getReader();(async()=>{try{for(;;){let{done:t,value:n}=await e.read();if(t)return;let{event:o,data:r}=n;if(tn(o))try{let e=await ed(r);this.onmessage?.(e)}catch(t){let e=new em({message:"MCP HTTP Transport Error: Failed to parse message",cause:t});this.onerror?.(e)}}}catch(e){if(t?.signal?.aborted||e instanceof Error&&"AbortError"===e.name)return;this.onerror?.(e)}})().catch(e=>{t?.signal?.aborted||e instanceof Error&&"AbortError"===e.name||this.onerror?.(e)});return}let p=new em({message:`MCP HTTP Transport Error: Unexpected content type: ${d}`,statusCode:c.status,url:this.url.href});throw this.onerror?.(p),p}catch(e){if(t?.signal?.aborted)throw e;throw this.onerror?.(e),e}};await r()}getStandardRequestHeaders(e){let t={"Mcp-Method":e.method},n=e.params,o="resources/read"===e.method?n?.uri:"tools/call"===e.method||"prompts/get"===e.method?n?.name:void 0;return"string"==typeof o&&(t["Mcp-Name"]=tt(o)),t}getNextReconnectionDelay(e){let{initialReconnectionDelay:t,reconnectionDelayGrowFactor:n,maxReconnectionDelay:o}=this.reconnectionOptions;return Math.min(t*Math.pow(n,e),o)}scheduleInboundSseReconnection(){let{maxRetries:e}=this.reconnectionOptions;if(e>0&&this.inboundReconnectAttempts>=e)return void this.onerror?.(new em({message:`MCP HTTP Transport Error: Maximum reconnection attempts (${e}) exceeded.`}));let t=this.getNextReconnectionDelay(this.inboundReconnectAttempts);this.inboundReconnectAttempts+=1,setTimeout(()=>{this.abortController?.signal.aborted||this.startInboundSse(!1,this.lastInboundEventId)},t)}startInboundSse(e=!1,t){this.isModernProtocol()||this.openInboundSse(e,t).catch(e=>{e instanceof Error&&"AbortError"===e.name||this.onerror?.(e)})}async openInboundSse(e=!1,t){if(!this.isModernProtocol())try{let n=this.sessionId,o=await this.commonHeaders({base:{Accept:"text/event-stream"}});t&&(o["last-event-id"]=t);let r=await this.fetchFn(this.url.href,{method:"GET",headers:o,signal:this.abortController?.signal,redirect:this.redirectMode});if(this.applySessionIdFromResponse(r),401===r.status&&this.authProvider&&!e){let{resourceMetadataUrl:e,scope:n}=eW(r);this.resourceMetadataUrl=e;try{let e=await this.authorizeOnce(this.resourceMetadataUrl,n);if("AUTHORIZED"!==e){let e=new e$;this.onerror?.(e);return}}catch(e){this.onerror?.(e);return}return this.openInboundSse(!0,t)}if(405===r.status)return;if(!r.ok||!r.body){404===r.status&&n&&this.expireSessionId(n);let e=new em({message:`MCP HTTP Transport Error: GET SSE failed: ${r.status} ${r.statusText}`,statusCode:r.status,url:this.url.href});this.onerror?.(e);return}let i=r.body.pipeThrough(new TextDecoderStream).pipeThrough(new u.EventSourceParserStream).getReader(),a=async()=>{try{for(;;){let{done:e,value:t}=await i.read();if(e)return;let{event:n,data:o,id:r}=t;if(r&&(this.lastInboundEventId=r),tn(n))try{let e=await ed(o);this.onmessage?.(e)}catch(t){let e=new em({message:"MCP HTTP Transport Error: Failed to parse message",cause:t});this.onerror?.(e)}}}catch(e){if(e instanceof Error&&"AbortError"===e.name)return;this.onerror?.(e),this.abortController?.signal.aborted||this.scheduleInboundSseReconnection()}};this.inboundSseConnection={close:()=>{i.cancel().catch(e=>{e instanceof Error&&"AbortError"===e.name||this.onerror?.(e)})}},this.inboundReconnectAttempts=0,a().catch(e=>{e instanceof Error&&"AbortError"===e.name||(this.onerror?.(e),this.abortController?.signal.aborted||this.scheduleInboundSseReconnection())})}catch(e){if(e instanceof Error&&"AbortError"===e.name)return;this.onerror?.(e),this.abortController?.signal.aborted||this.scheduleInboundSseReconnection()}}},tr=g.array(g.unknown()).transform(e=>e.filter(e=>"string"==typeof e)).optional().catch(void 0),ti=g.looseObject({connectDomains:tr,resourceDomains:tr,frameDomains:tr});g.looseObject({prefersBorder:g.boolean().optional().catch(void 0),csp:ti.optional().catch(void 0),permissions:g.record(g.string(),g.unknown()).optional().catch(void 0)});var ta=[-32020,-32021,-32022],ts=["ConnectionRefused","ConnectionClosed","FailedToOpenSocket","ECONNRESET","ECONNREFUSED","ETIMEDOUT","EPIPE"];function tl(e){let t=function(e){if(null!=e&&"object"==typeof e&&"statusCode"in e&&"number"==typeof e.statusCode)return e.statusCode}(e);if(null!=t)return 408===t||409===t||429===t||t>=500;if(em.isInstance(e)&&null!=e.code)return!1;let n=function(e){if(null!=e&&"object"==typeof e&&"code"in e&&"string"==typeof e.code)return e.code}(e);return null!=n&&ts.includes(n)}function tu({timeout:e,maxTotalTimeout:t}){return null==e?t:null==t?e:Math.min(e,t)}function tc(e,t){return null==t?e:new Promise((n,o)=>{let r=()=>{t.removeEventListener("abort",i)},i=()=>{r(),o(t.reason)};t.aborted?i():(t.addEventListener("abort",i,{once:!0}),e.then(e=>{r(),n(e)}).catch(e=>{r(),o(e)}))})}function td({output:e}){return"content"in e&&Array.isArray(e.content)?{type:"content",value:e.content.map(e=>"text"===e.type&&"text"in e?{type:"text",text:e.text}:"image"===e.type&&"data"in e&&"mimeType"in e?{type:"file",mediaType:e.mimeType,data:{type:"data",data:e.data}}:{type:"text",text:JSON.stringify(e)})}:{type:"json",value:e}}async function tp(e){let t=new th(e);return await t.init(),t}var th=class{constructor({transport:e,name:t,clientName:n=t??"ai-sdk-mcp-client",version:o="1.0.0",onUncaughtError:r,maxRetries:i,capabilities:a,initialInitializeResult:s,initializationOptions:l,protocolVersionDiscovery:u=!0}){this.requestMessageId=0,this.responseHandlers=new Map,this.serverCapabilities={},this._serverInfo={name:"",version:""},this._initializeResult={protocolVersion:y,capabilities:{},serverInfo:this._serverInfo},this.protocolEra="legacy",this.protocolVersion=y,this.toolHeaderBindings=new Map,this.isClosed=!0,this.onUncaughtError=r,this.maxRetries=function(e){if(null==e)return 0;if(!Number.isInteger(e))throw new em({message:"maxRetries must be an integer"});if(e<0)throw new em({message:"maxRetries must be >= 0"});return e}(i),this.clientCapabilities=a??{},this.initialInitializeResult=s,this.initializationOptions=l,this.protocolVersionDiscovery=u,function(e){return"start"in e&&"function"==typeof e.start&&"send"in e&&"function"==typeof e.send&&"close"in e&&"function"==typeof e.close}(e)?this.transport=e:this.transport=function(e){switch(e.type){case"sse":return new e8(e);case"http":return new to({...e,initialProtocolVersion:e.initialProtocolVersion??f});default:throw new em({message:"Unsupported or invalid transport configuration. If you are using a custom transport, make sure it implements the MCPTransport interface."})}}(e),this.transport.onclose=()=>this.onClose(),this.transport.onerror=e=>this.onError(e),this.transport.onmessage=e=>{"method"in e?"id"in e?this.onRequestMessage(e):this.onError(new em({message:"Unsupported message type"})):this.onResponse(e)},this.clientInfo={name:n,version:o}}get serverInfo(){return this._serverInfo}get initializeResult(){return this._initializeResult}get instructions(){return this._serverInstructions}async init(){let e,t,n=this.initializationOptions?.signal,o=this.initializationOptions?tu(this.initializationOptions):void 0,r=null==o?void 0:new AbortController,i=null==n?r?.signal:null==r?n:AbortSignal.any([n,r.signal]);null!=o&&(e=setTimeout(()=>{t=new em({message:`MCP client initialization timed out after ${o}ms`}),r?.abort(t)},o));try{if(this.isClosed=!1,i?.throwIfAborted(),await tc(this.transport.start(),i),this.initialInitializeResult){let e=I.parse(this.initialInitializeResult);return this.applyInitializeResult(e),this}if(this.protocolVersionDiscovery&&this.transport.supportsProtocolVersionDiscovery&&await this.tryProtocolDiscovery(i))return this;this.protocolEra="legacy",this.protocolVersion=y,this.setTransportProtocolVersion(this.protocolVersion);let e=await this.request({request:{method:"initialize",params:{protocolVersion:y,capabilities:this.clientCapabilities,clientInfo:this.clientInfo}},resultSchema:I,options:{signal:i}});if(void 0===e)throw new em({message:"Server sent invalid initialize result"});return this.applyInitializeResult(e),await this.notification({method:"notifications/initialized"},{signal:i}),this}catch(e){try{await tc(this.transport.close({signal:i}),i)}catch{}if(this.onClose(),null!=t)throw t;if(n?.aborted)throw new em({message:"MCP client initialization was aborted",cause:n.reason});throw e}finally{null!=e&&clearTimeout(e)}}async tryProtocolDiscovery(e){this.protocolEra="modern",this.protocolVersion=f,this.setTransportProtocolVersion(this.protocolVersion);try{let t=await this.request({request:{method:"server/discover"},resultSchema:T,options:{signal:e,timeout:1e3}});return this.applyDiscoverResult(t),!0}catch(e){if(em.isInstance(e)&&null!=e.code&&ta.includes(e.code))throw e;return!1}}applyDiscoverResult(e){if(!e.supportedVersions.includes(this.protocolVersion))throw new em({message:`Server does not support the requested protocol version: ${this.protocolVersion}`});let t=e._meta?.["io.modelcontextprotocol/serverInfo"];null!=t&&"object"==typeof t&&"name"in t&&"string"==typeof t.name&&"version"in t&&"string"==typeof t.version&&(this._serverInfo=t),this.serverCapabilities=e.capabilities,this._serverInstructions=e.instructions,this._initializeResult={protocolVersion:this.protocolVersion,capabilities:e.capabilities,serverInfo:this._serverInfo,instructions:e.instructions}}setTransportProtocolVersion(e){this.transport.setProtocolVersion?this.transport.setProtocolVersion(e):this.transport.protocolVersion=e}applyInitializeResult(e){if(!b.includes(e.protocolVersion))throw new em({message:`Server's protocol version is not supported: ${e.protocolVersion}`});this.serverCapabilities=e.capabilities,this.protocolEra="legacy",this.protocolVersion=e.protocolVersion,this._serverInfo=e.serverInfo,this._initializeResult=e,this.setTransportProtocolVersion(e.protocolVersion),this._serverInstructions=e.instructions}async close(){this.isClosed||(await this.transport?.close(),this.onClose())}send(e,t){return null==t?this.transport.send(e):this.transport.send(e,t)}assertCapability(e){switch(e){case"initialize":case"server/discover":break;case"completion/complete":if(!this.serverCapabilities.completions)throw new em({message:"Server does not support completions"});break;case"tools/list":case"tools/call":if(!this.serverCapabilities.tools)throw new em({message:"Server does not support tools"});break;case"resources/list":case"resources/read":case"resources/templates/list":if(!this.serverCapabilities.resources)throw new em({message:"Server does not support resources"});break;case"prompts/list":case"prompts/get":if(!this.serverCapabilities.prompts)throw new em({message:"Server does not support prompts"});break;default:throw new em({message:`Unsupported method: ${e}`})}}async request({request:e,resultSchema:t,options:n}){return new Promise((o,r)=>{let i;if(this.isClosed)return r(new em({message:"Attempted to send a request from a closed client"}));this.assertCapability(e.method);let a=n?.signal;a?.throwIfAborted();let s=null==n?void 0:tu(n),l=null==s?void 0:new AbortController,u=null==a?l?.signal:null==l?a:AbortSignal.any([a,l.signal]),c=this.requestMessageId++,d="modern"===this.protocolEra?{...e,params:{...e.params,_meta:{...e.params?._meta,"io.modelcontextprotocol/protocolVersion":this.protocolVersion,"io.modelcontextprotocol/clientCapabilities":this.clientCapabilities,"io.modelcontextprotocol/clientInfo":this.clientInfo}}}:e,p={...d,jsonrpc:"2.0",id:c},h=this.getToolRequestHeaders(d),m=()=>{r(new em({message:"Request was aborted",cause:a?.reason}))},g=()=>{this.responseHandlers.delete(c),a?.removeEventListener("abort",y),null!=i&&clearTimeout(i)},f=e=>{g(),r(e)},y=()=>{g(),m()};this.responseHandlers.set(c,e=>{if(a?.aborted)return g(),m();if(e instanceof Error)return f(e);try{if("modern"===this.protocolEra&&null==e.result.resultType)throw new em({message:"Modern MCP result is missing resultType"});if("input_required"===e.result.resultType)throw new em({message:"Server requested additional input, but multi round-trip requests are not supported yet"});let n=t.parse(e.result);g(),o(n)}catch(e){f(em.isInstance(e)?e:new em({message:"Failed to parse server response",cause:e}))}}),a?.addEventListener("abort",y,{once:!0}),null!=s&&(i=setTimeout(()=>{let e=new em({message:`Request timed out after ${s}ms`});l?.abort(e),f(e)},s));let b={...null==u?{}:{signal:u},...null==h?{}:{headers:h}};(0===Object.keys(b).length?this.send(p):this.send(p,b)).catch(e=>{f(e)})})}async listTools({params:e,options:t}={}){let n=await this.request({request:{method:"tools/list",params:e},resultSchema:C,options:t});return this.prepareToolDefinitions(n,e?.cursor==null)}prepareToolDefinitions(e,t=!1){if("modern"!==this.protocolEra||!this.transport.supportsMcpToolParameterHeaders)return e;t&&this.toolHeaderBindings.clear();let n=e.tools.filter(e=>{let t=function(e){let t;if(!(0,a.isRecord)(e))return{success:!1,error:"inputSchema must be a JSON Schema object"};let n=[],o=new Set,r=(e,i,s)=>{if(null==t&&(0,a.isRecord)(e)){if("x-mcp-header"in e){if(!s||0===i.length){t="x-mcp-header is not on a statically reachable property";return}let r=e["x-mcp-header"];if("string"!=typeof r||!e7.test(r)){t="x-mcp-header must be a non-empty HTTP token";return}let a=r.toLowerCase();if(o.has(a)){t=`x-mcp-header value "${r}" is not unique`;return}let l=e.type;if("boolean"!==l&&"integer"!==l&&"string"!==l){t="x-mcp-header can only annotate boolean, integer, or string properties";return}o.add(a),n.push({headerName:r,path:i,valueType:l})}for(let[t,n]of Object.entries(e))if("x-mcp-header"!==t)if("properties"===t&&(0,a.isRecord)(n))for(let[e,t]of Object.entries(n))r(t,[...i,e],s);else r(n,i,!1)}};return r(e,[],!0),null==t?{success:!0,bindings:n}:{success:!1,error:t}}(e.inputSchema);return t.success?(this.toolHeaderBindings.set(e.name,t.bindings),!0):(this.onError(new em({message:`Ignoring MCP tool "${e.name}": ${t.error}`})),!1)});return{...e,tools:n}}getToolRequestHeaders(e){if("modern"!==this.protocolEra||"tools/call"!==e.method||"string"!=typeof e.params?.name)return;let t=this.toolHeaderBindings.get(e.params.name);if(null==t||0===t.length)return;let n=e.params.arguments;if(!(null==n||"object"!=typeof n||Array.isArray(n)))try{return function({bindings:e,args:t}){let n={};for(let o of e){let e=function(e,t){let n=e;for(let e of t){if(!(0,a.isRecord)(n))return;n=n[e]}return n}(t,o.path);if(null!=e){if("string"===o.valueType&&"string"!=typeof e||"boolean"===o.valueType&&"boolean"!=typeof e||"integer"===o.valueType&&!Number.isSafeInteger(e))throw TypeError(`Tool argument "${o.path.join(".")}" does not match its x-mcp-header type`);n[`Mcp-Param-${o.headerName}`]=tt(String(e))}}return n}({bindings:t,args:n})}catch(t){throw new em({message:`Failed to create MCP headers for tool "${e.params.name}"`,cause:t})}}async callToolWithRetry({options:e,execute:t}){return 0===this.maxRetries?t():(0,a.retryWithExponentialBackoff)({maxRetries:this.maxRetries,abortSignal:e?.signal,shouldRetry:tl,createRetryError:({message:e,errors:t})=>new em({message:e,cause:t[t.length-1]})})(t)}async callTool({name:e,arguments:t={},options:n}){return this.callToolWithRetry({options:n,execute:()=>this.request({request:{method:"tools/call",params:{name:e,arguments:t}},resultSchema:H,options:n})})}async listResourcesInternal({params:e,options:t}={}){return this.request({request:{method:"resources/list",params:e},resultSchema:$,options:t})}async readResourceInternal({uri:e,options:t}){return this.request({request:{method:"resources/read",params:{uri:e}},resultSchema:K,options:t})}async listResourceTemplatesInternal({options:e}={}){return this.request({request:{method:"resources/templates/list"},resultSchema:W,options:e})}async listPromptsInternal({params:e,options:t}={}){return this.request({request:{method:"prompts/list",params:e},resultSchema:Q,options:t})}async getPromptInternal({name:e,args:t,options:n}){return this.request({request:{method:"prompts/get",params:{name:e,arguments:t}},resultSchema:et,options:n})}async completeInternal({options:e,...t}){return this.request({request:{method:"completion/complete",params:t},resultSchema:Y,options:e})}async notification(e,t){let n={...e,jsonrpc:"2.0"};await tc(this.send(n,t?.signal==null?void 0:{signal:t.signal}),t?.signal)}async tools({schemas:e="automatic"}={}){let t=await this.listTools(),n=[...t.tools];for(;null!=t.nextCursor;)t=await this.listTools({params:{cursor:t.nextCursor}}),n.push(...t.tools);return this.toolsFromDefinitions({...t,tools:n},{schemas:e})}toolsFromDefinitions(e,{schemas:t="automatic"}={}){e=this.prepareToolDefinitions(e);let n={};for(let{name:o,title:r,description:i,inputSchema:s,annotations:u,_meta:c}of e.tools){let e=r??u?.title;if("automatic"!==t&&!Object.prototype.hasOwnProperty.call(t,o))continue;let d=this,p="automatic"!==t?t[o]?.outputSchema:void 0,h=function(e){var t,n;let o,r=(t=e._meta,o=t?.ui,(0,l.isJSONObject)(o)?o:void 0),i=r?.resourceUri??e._meta?.["ui/resourceUri"],a=Array.isArray(n=r?.visibility)?n.filter(e=>"model"===e||"app"===e):void 0;if(void 0!==i){if("string"!=typeof i||!i.startsWith("ui://"))throw Error(`Invalid MCP App resource URI: ${JSON.stringify(i)}`)}else if(null==r)return;return{...r,...null!=i?{resourceUri:i}:{},...null!=a?{visibility:a}:{}}}({_meta:c}),m={clientName:this.clientInfo.name,toolName:o,...null!=e?{title:e}:{},...null!=u?{annotations:{...null!=u.title?{title:u.title}:{},...null!=u.readOnlyHint?{readOnlyHint:u.readOnlyHint}:{},...null!=u.destructiveHint?{destructiveHint:u.destructiveHint}:{},...null!=u.idempotentHint?{idempotentHint:u.idempotentHint}:{},...null!=u.openWorldHint?{openWorldHint:u.openWorldHint}:{}}}:{},...h?.resourceUri!=null?{app:{...h,mimeType:"text/html;profile=mcp-app"}}:{}},g=async(e,t)=>{t?.abortSignal?.throwIfAborted();let n=await d.callTool({name:o,arguments:e,options:{signal:t?.abortSignal}});return n.isError?n:null!=p?d.extractStructuredContent(n,p,o):n},f="automatic"===t?(0,a.dynamicTool)({description:i,title:e,metadata:m,inputSchema:(0,a.jsonSchema)({...s,properties:s.properties??{},additionalProperties:!1}),execute:g,toModelOutput:td}):(0,a.tool)({description:i,title:e,metadata:m,inputSchema:t[o].inputSchema,...null!=p?{outputSchema:p}:{},execute:g,toModelOutput:td});n[o]={...f,_meta:c}}return n}async extractStructuredContent(e,t,n){if("structuredContent"in e&&null!=e.structuredContent){let o=await (0,a.safeValidateTypes)({value:e.structuredContent,schema:(0,a.asSchema)(t)});if(!o.success)throw new em({message:`Tool "${n}" returned structuredContent that does not match the expected outputSchema`,cause:o.error});return o.value}if("content"in e&&Array.isArray(e.content)){let o=e.content.find(e=>"text"===e.type);if(o&&"text"in o){let e=await (0,a.safeParseJSON)({text:o.text,schema:t});if(!e.success)throw new em({message:`Tool "${n}" returned content that does not match the expected outputSchema`,cause:e.error});return e.value}}throw new em({message:`Tool "${n}" did not return structuredContent or parseable text content`})}listResources({params:e,options:t}={}){return this.listResourcesInternal({params:e,options:t})}readResource({uri:e,options:t}){return this.readResourceInternal({uri:e,options:t})}listResourceTemplates({options:e}={}){return this.listResourceTemplatesInternal({options:e})}experimental_listPrompts({params:e,options:t}={}){return this.listPromptsInternal({params:e,options:t})}experimental_getPrompt({name:e,arguments:t,options:n}){return this.getPromptInternal({name:e,args:t,options:n})}complete(e){return this.completeInternal(e)}onElicitationRequest(e,t){if(e!==eo)throw new em({message:"Unsupported request schema. Only ElicitationRequestSchema is supported."});this.elicitationRequestHandler=t}async onRequestMessage(e){try{if("ping"===e.method)return void await this.transport.send({jsonrpc:"2.0",id:e.id,result:{}});if("elicitation/create"!==e.method)return void await this.transport.send({jsonrpc:"2.0",id:e.id,error:{code:-32601,message:`Unsupported request method: ${e.method}`}});if(!this.elicitationRequestHandler)return void await this.transport.send({jsonrpc:"2.0",id:e.id,error:{code:-32601,message:"No elicitation handler registered on client"}});let t=eo.safeParse({method:e.method,params:e.params});if(!t.success)return void await this.transport.send({jsonrpc:"2.0",id:e.id,error:{code:-32602,message:`Invalid elicitation request: ${t.error.message}`,data:t.error.issues}});try{let n=await this.elicitationRequestHandler(t.data),o=er.parse(n);await this.transport.send({jsonrpc:"2.0",id:e.id,result:o})}catch(t){await this.transport.send({jsonrpc:"2.0",id:e.id,error:{code:-32603,message:t instanceof Error?t.message:"Failed to handle elicitation request"}}),this.onError(t)}}catch(e){this.onError(e)}}onClose(){if(this.isClosed)return;this.isClosed=!0;let e=new em({message:"Connection closed"});for(let t of this.responseHandlers.values())t(e);this.responseHandlers.clear()}onError(e){this.onUncaughtError&&this.onUncaughtError(e)}onResponse(e){if(null==e.id)return void this.onError(new em({message:`Protocol error: Received a response without a message ID: ${JSON.stringify(e)}`}));let t=Number(e.id),n=this.responseHandlers.get(t);if(void 0===n)throw new em({message:`Protocol error: Received a response for an unknown message ID: ${JSON.stringify(e)}`});this.responseHandlers.delete(t),n("result"in e?e:new em({message:e.error.message,code:e.error.code,data:e.error.data,cause:e.error}))}};new TextEncoder,e.s(["UnauthorizedError",0,e$,"auth",0,e5,"createMCPClient",0,tp],753955)},717433,e=>{"use strict";var t=e.i(788147),n=e.i(691296),o=e.i(853205),r=e.i(548874),i=(0,n.lazySchema)(()=>(0,n.zodSchema)(o.z.object({error:o.z.object({message:o.z.string()})}))),a=(0,n.lazySchema)(()=>(0,n.zodSchema)(o.z.object({id:o.z.string().nullish(),model:o.z.string().nullish(),results:o.z.array(o.z.object({index:o.z.number(),relevance_score:o.z.number()})),usage:o.z.object({prompt_tokens:o.z.number(),completion_tokens:o.z.number(),total_tokens:o.z.number()})}))),s=(0,n.lazySchema)(()=>(0,n.zodSchema)(o.z.object({rankFields:o.z.array(o.z.string()).optional()}))),l=class{constructor(e,t){this.specificationVersion="v4",this.modelId=e,this.config=t}get provider(){return this.config.provider}async doRerank({documents:e,headers:t,query:o,topN:r,abortSignal:l,providerOptions:u}){let c=await (0,n.parseProviderOptions)({provider:"togetherai",providerOptions:u,schema:s}),{responseHeaders:d,value:p,rawValue:h}=await (0,n.postJsonToApi)({url:`${this.config.baseURL}/rerank`,headers:(0,n.combineHeaders)(this.config.headers(),t),body:{model:this.modelId,documents:e.values,query:o,top_n:r,rank_fields:c?.rankFields,return_documents:!1},failedResponseHandler:(0,n.createJsonErrorResponseHandler)({errorSchema:i,errorToMessage:e=>e.error.message}),successfulResponseHandler:(0,n.createJsonResponseHandler)(a),abortSignal:l,fetch:this.config.fetch});return{ranking:p.results.map(e=>({index:e.index,relevanceScore:e.relevance_score})),response:{id:p.id??void 0,modelId:p.model??void 0,headers:d,body:h}}}},u=(0,n.lazySchema)(()=>(0,n.zodSchema)(o.z.looseObject({steps:o.z.number().nullish(),guidance:o.z.number().nullish(),negative_prompt:o.z.string().nullish(),disable_safety_checker:o.z.boolean().nullish()}))),c=new Set(["google/gemini-3-pro-image"]),d=class e{constructor(e,t){this.modelId=e,this.config=t,this.specificationVersion="v4",this.maxImagesPerCall=1}get provider(){return this.config.provider}static[r.WORKFLOW_SERIALIZE](e){return(0,n.serializeModelOptions)({modelId:e.modelId,config:e.config})}static[r.WORKFLOW_DESERIALIZE](t){return new e(t.modelId,t.config)}async doGenerate({prompt:e,n:t,size:o,seed:r,providerOptions:i,headers:a,abortSignal:s,files:l,mask:d}){let m,g=[];if(null!=d)throw Error("Together AI does not support mask-based image editing. Use FLUX Kontext models (e.g., black-forest-labs/FLUX.1-kontext-pro) with a reference image and descriptive prompt instead.");null!=o&&g.push({type:"unsupported",feature:"aspectRatio",details:"This model does not support the `aspectRatio` option. Use `size` instead."});let f=this.config._internal?.currentDate?.()??new Date,y=await (0,n.parseProviderOptions)({provider:"togetherai",providerOptions:i,schema:u}),b=c.has(this.modelId),_={...y};b&&(delete _.steps,delete _.guidance,delete _.negative_prompt,delete _.disable_safety_checker,null!=r&&g.push({type:"unsupported",feature:"seed",details:`The ${this.modelId} model does not support the \`seed\` option.`})),null!=l&&l.length>0&&(m=(0,n.convertImageModelFileToDataUri)(l[0]),l.length>1&&g.push({type:"other",message:"Together AI only supports a single input image. Additional images are ignored."}));let z=o?.split("x"),{value:w,responseHeaders:v}=await (0,n.postJsonToApi)({url:`${this.config.baseURL}/images/generations`,headers:(0,n.combineHeaders)(this.config.headers?.(),a),body:{model:this.modelId,prompt:e,...null!=r&&!b?{seed:r}:{},...t>1?{n:t}:{},...z&&{width:parseInt(z[0]),height:parseInt(z[1])},...null!=m?{image_url:m}:{},response_format:"base64",..._},failedResponseHandler:(0,n.createJsonErrorResponseHandler)({errorSchema:h,errorToMessage:e=>e.error.message}),successfulResponseHandler:(0,n.createJsonResponseHandler)(p),abortSignal:s,fetch:this.config.fetch});return{images:w.data.map(e=>e.b64_json),warnings:g,response:{timestamp:f,modelId:this.modelId,headers:v}}}},p=o.z.object({data:o.z.array(o.z.object({b64_json:o.z.string()}))}),h=o.z.object({error:o.z.object({message:o.z.string()})});function m(e={}){let o=(0,n.withoutTrailingSlash)(e.baseURL??"https://api.together.xyz/v1/"),r=()=>(0,n.withUserAgentSuffix)({Authorization:`Bearer ${(0,n.loadApiKey)({apiKey:e.apiKey??function(){if("u"<typeof process||"string"==typeof process.env.TOGETHER_API_KEY)return;let e=process.env.TOGETHER_AI_API_KEY;return"string"==typeof e&&console.warn("TOGETHER_AI_API_KEY is deprecated and will be removed in a future release. Please use TOGETHER_API_KEY instead."),e}(),environmentVariableName:"TOGETHER_API_KEY",description:"TogetherAI"})}`,...e.headers},"ai-sdk/togetherai/3.0.58"),i=t=>({provider:`togetherai.${t}`,url:({path:e})=>`${o}${e}`,headers:r,fetch:e.fetch}),a=e=>new t.OpenAICompatibleChatLanguageModel(e,{...i("chat"),includeUsage:!0,supportsStructuredOutputs:"deepseek-ai/DeepSeek-V4-Flash-0731"===e}),s=e=>new t.OpenAICompatibleEmbeddingModel(e,i("embedding")),u=e=>new d(e,{...i("image"),baseURL:o??"https://api.together.xyz/v1/"}),c=e=>new l(e,{...i("reranking"),baseURL:o??"https://api.together.xyz/v1/"}),p=e=>a(e);return p.specificationVersion="v4",p.completionModel=e=>new t.OpenAICompatibleCompletionLanguageModel(e,{...i("completion"),includeUsage:!0}),p.languageModel=a,p.chatModel=a,p.embeddingModel=s,p.textEmbeddingModel=s,p.image=u,p.imageModel=u,p.reranking=c,p.rerankingModel=c,p}m(),e.s(["createTogetherAI",0,m])},853421,e=>{"use strict";var t=e.i(296194),n=e.i(691296),o=e.i(548874),r=e.i(853205),i=r.z.object({error:r.z.object({message:r.z.string(),type:r.z.string().nullish(),param:r.z.any().nullish(),code:r.z.union([r.z.string(),r.z.number()]).nullish()})}),a=r.z.object({code:r.z.string(),error:r.z.string()}),s=r.z.object({error:r.z.string()}),l=r.z.union([i,a,s]),u=(0,n.createJsonErrorResponseHandler)({errorSchema:l,errorToMessage:e=>"string"==typeof e.error?"code"in e?`${e.code}: ${e.error}`:e.error:e.error.message}),c=r.z.object({aspect_ratio:r.z.string().optional(),output_format:r.z.string().optional(),sync_mode:r.z.boolean().optional(),resolution:r.z.enum(["1k","2k"]).optional(),quality:r.z.enum(["low","medium","high"]).optional(),user:r.z.string().optional()}),d=class e{constructor(e,t){this.modelId=e,this.config=t,this.specificationVersion="v4",this.maxImagesPerCall=3}get provider(){return this.config.provider}static[o.WORKFLOW_SERIALIZE](e){return(0,n.serializeModelOptions)({modelId:e.modelId,config:e.config})}static[o.WORKFLOW_DESERIALIZE](t){return new e(t.modelId,t.config)}async doGenerate({prompt:e,n:t,size:o,aspectRatio:r,seed:i,providerOptions:a,headers:s,abortSignal:l,files:d,mask:h}){let m=[];null!=o&&m.push({type:"unsupported",feature:"size",details:"This model does not support the `size` option. Use `aspectRatio` instead."}),null!=i&&m.push({type:"unsupported",feature:"seed"}),null!=h&&m.push({type:"unsupported",feature:"mask"});let g=await (0,n.parseProviderOptions)({provider:"xai",providerOptions:a,schema:c}),f=null!=d&&d.length>0,y=f?d.map(e=>(0,n.convertImageModelFileToDataUri)(e)):[],b={model:this.modelId,prompt:e,n:t,response_format:"b64_json"};null!=r&&(b.aspect_ratio=r),g?.output_format!=null&&(b.output_format=g.output_format),g?.sync_mode!=null&&(b.sync_mode=g.sync_mode),g?.aspect_ratio!=null&&null==r&&(b.aspect_ratio=g.aspect_ratio),g?.resolution!=null&&(b.resolution=g.resolution),g?.quality!=null&&(b.quality=g.quality),g?.user!=null&&(b.user=g.user),1===y.length?b.image={url:y[0],type:"image_url"}:y.length>1&&(b.images=y.map(e=>({url:e,type:"image_url"})));let _=this.config.baseURL??"https://api.x.ai/v1",z=this.config._internal?.currentDate?.()??new Date,{value:w,responseHeaders:v}=await (0,n.postJsonToApi)({url:`${_}${f?"/images/edits":"/images/generations"}`,headers:(0,n.combineHeaders)(this.config.headers?.(),s),body:b,failedResponseHandler:u,successfulResponseHandler:(0,n.createJsonResponseHandler)(p),abortSignal:l,fetch:this.config.fetch});if(w.data.some(e=>!1===e.respect_moderation))throw Error("Image generation was blocked due to a content policy violation.");return{images:w.data.every(e=>null!=e.b64_json)?w.data.map(e=>e.b64_json):await Promise.all(w.data.map(e=>this.downloadImage(e.url,l))),warnings:m,response:{timestamp:z,modelId:this.modelId,headers:v},providerMetadata:{xai:{images:w.data.map(e=>({...e.revised_prompt?{revisedPrompt:e.revised_prompt}:{}})),...w.usage?.cost_in_usd_ticks!=null?{costInUsdTicks:w.usage.cost_in_usd_ticks}:{}}}}}async downloadImage(e,t){let{value:o}=await (0,n.getFromApi)({url:e,validateUrl:!0,trustedOrigin:this.config.baseURL,abortSignal:t,failedResponseHandler:(0,n.createStatusCodeErrorResponseHandler)(),successfulResponseHandler:(0,n.createBinaryResponseHandler)(),fetch:this.config.fetch});return o}},p=r.z.object({data:r.z.array(r.z.object({url:r.z.string().nullish(),b64_json:r.z.string().nullish(),revised_prompt:r.z.string().nullish(),respect_moderation:r.z.boolean().nullish()})),usage:r.z.object({cost_in_usd_ticks:r.z.number().nullish()}).nullish()});function h({id:e,model:t,created:o,created_at:r}){return(0,n.createLanguageModelResponseMetadata)({id:e,model:t,created:o??r})}var m=(0,n.lazySchema)(()=>(0,n.zodSchema)(r.z.object({id:r.z.string(),object:r.z.string().nullish(),bytes:r.z.number().nullish(),created_at:r.z.number().nullish(),expires_at:r.z.number().nullish(),filename:r.z.string().nullish(),purpose:r.z.string().nullish(),status:r.z.string().nullish()}))),g=(0,n.lazySchema)(()=>(0,n.zodSchema)(r.z.object({id:r.z.string(),object:r.z.string().nullish(),deleted:r.z.boolean()}))),f=/^grok-4\.20(-\d{4})?-(non-)?reasoning$/,y=r.z.object({imageDetail:r.z.enum(["low","high","auto"]).optional()});async function b({prompt:e}){let o=[],r=[];for(let i of e)switch(i.role){case"system":o.push({role:"system",content:i.content});break;case"user":{let e=[];for(let o of i.content)switch(o.type){case"text":e.push({type:"input_text",text:o.text});break;case"file":switch(o.data.type){case"reference":e.push({type:"input_file",file_id:(0,n.resolveProviderReference)({reference:o.data.reference,provider:"xai"})});break;case"text":throw new t.UnsupportedFunctionalityError({functionality:"text file parts"});case"url":case"data":if("image"===(0,n.getTopLevelMediaType)(o.mediaType)){let t="url"===o.data.type?o.data.url.toString():`data:${(0,n.resolveFullMediaType)({part:o})};base64,${(0,n.convertToBase64)(o.data.data)}`,r=await (0,n.parseProviderOptions)({provider:"xai",providerOptions:o.providerOptions,schema:y});e.push({type:"input_image",image_url:t,...r?.imageDetail!=null&&{detail:r.imageDetail}})}else if("url"===o.data.type)e.push({type:"input_file",file_url:o.data.url.toString()});else throw new t.UnsupportedFunctionalityError({functionality:`file part media type ${o.mediaType} as inline data (xAI Responses requires a URL or a Files API reference for non-image files)`})}break;default:r.push({type:"other",message:"xAI Responses API does not support this content type in user messages"})}o.push({role:"user",content:e});break}case"assistant":for(let e of i.content)switch(e.type){case"text":{let t="string"==typeof e.providerOptions?.xai?.itemId?e.providerOptions.xai.itemId:void 0;o.push({role:"assistant",content:e.text,id:t});break}case"tool-call":{if(e.providerExecuted)break;let t="string"==typeof e.providerOptions?.xai?.itemId?e.providerOptions.xai.itemId:void 0;o.push({type:"function_call",id:t??e.toolCallId,call_id:e.toolCallId,name:e.toolName,arguments:JSON.stringify(e.input),status:"completed"});break}case"tool-result":break;case"reasoning":{let t="string"==typeof e.providerOptions?.xai?.itemId?e.providerOptions.xai.itemId:void 0,n="string"==typeof e.providerOptions?.xai?.reasoningEncryptedContent?e.providerOptions.xai.reasoningEncryptedContent:void 0;if(null!=t||null!=n){let r=[];e.text.length>0&&r.push({type:"summary_text",text:e.text}),o.push({type:"reasoning",id:t??"",summary:r,status:"completed",...null!=n&&{encrypted_content:n}})}else r.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":r.push({type:"other",message:`xAI Responses API does not support ${e.type} in assistant messages`});break;default:r.push({type:"other",message:"xAI Responses API does not support this content type in assistant messages"})}break;case"tool":for(let e of i.content){let t;if("tool-approval-response"===e.type)continue;let r=e.output;switch(r.type){case"text":case"error-text":t=r.value;break;case"execution-denied":t=r.reason??"tool execution denied";break;case"json":case"error-json":t=JSON.stringify(r.value);break;case"content":for(let e of(t=[],r.value))switch(e.type){case"text":t.push({type:"input_text",text:e.text});break;case"file":"image"===(0,n.getTopLevelMediaType)(e.mediaType)&&("data"===e.data.type||"url"===e.data.type)&&t.push({type:"input_image",image_url:"url"===e.data.type?e.data.url.toString():`data:${(0,n.resolveFullMediaType)({part:e})};base64,${(0,n.convertToBase64)(e.data.data)}`})}break;default:t=""}o.push({type:"function_call_output",call_id:e.toolCallId,output:t})}break;default:r.push({type:"other",message:"unsupported message role"})}return{input:o,inputWarnings:r}}function _(e){let t=e.input_tokens_details?.cached_tokens??0,n=e.output_tokens_details?.reasoning_tokens??0,o=t<=e.input_tokens;return{inputTokens:{total:o?e.input_tokens:e.input_tokens+t,noCache:o?e.input_tokens-t:e.input_tokens,cacheRead:t,cacheWrite:void 0},outputTokens:{total:e.output_tokens,text:e.output_tokens-n,reasoning:n},raw:e}}function z(e){switch(e){case"stop":case"completed":return"stop";case"length":case"max_output_tokens":return"length";case"tool_calls":case"function_call":return"tool-calls";case"content_filter":return"content-filter";default:return"other"}}var w=r.z.union([r.z.object({type:r.z.literal("url_citation"),url:r.z.string(),title:r.z.string().optional()}),r.z.object({type:r.z.string()})]),v=r.z.object({type:r.z.string(),text:r.z.string().optional(),logprobs:r.z.array(r.z.any()).optional(),annotations:r.z.array(w).optional()}),k=r.z.object({type:r.z.string(),text:r.z.string()}),x=r.z.object({name:r.z.string().optional(),arguments:r.z.string().optional(),input:r.z.string().optional(),call_id:r.z.string().optional(),id:r.z.string(),status:r.z.string(),action:r.z.any().optional()}),S=r.z.object({type:r.z.literal("url"),url:r.z.string()}),T=r.z.discriminatedUnion("type",[r.z.object({type:r.z.literal("search"),query:r.z.string().nullish(),queries:r.z.array(r.z.string()).nullish(),sources:r.z.array(r.z.unknown()).nullish()}),r.z.object({type:r.z.literal("open_page"),url:r.z.string().nullish(),sources:r.z.array(r.z.unknown()).nullish()}),r.z.object({type:r.z.literal("find_in_page"),url:r.z.string().nullish(),pattern:r.z.string().nullish(),sources:r.z.array(r.z.unknown()).nullish()})]),I=r.z.object({name:r.z.string().optional(),arguments:r.z.string().optional(),output:r.z.string().optional(),error:r.z.string().optional(),id:r.z.string(),status:r.z.string(),server_label:r.z.string().optional()}),O=r.z.discriminatedUnion("type",[r.z.object({type:r.z.literal("web_search_call"),...x.shape}),r.z.object({type:r.z.literal("x_search_call"),...x.shape}),r.z.object({type:r.z.literal("code_interpreter_call"),...x.shape}),r.z.object({type:r.z.literal("code_execution_call"),...x.shape}),r.z.object({type:r.z.literal("view_image_call"),...x.shape}),r.z.object({type:r.z.literal("view_x_video_call"),...x.shape}),r.z.object({type:r.z.literal("file_search_call"),id:r.z.string(),status:r.z.string(),queries:r.z.array(r.z.string()).optional(),results:r.z.array(r.z.object({file_id:r.z.string(),filename:r.z.string(),score:r.z.number(),text:r.z.string()})).nullish()}),r.z.object({type:r.z.literal("image_generation_call"),id:r.z.string(),status:r.z.string(),prompt:r.z.string().nullish(),result:r.z.string().nullish()}),r.z.object({type:r.z.literal("custom_tool_call"),...x.shape}),r.z.object({type:r.z.literal("mcp_call"),...I.shape}),r.z.object({type:r.z.literal("message"),role:r.z.string(),content:r.z.array(v),id:r.z.string(),status:r.z.string()}),r.z.object({type:r.z.literal("function_call"),name:r.z.string(),arguments:r.z.string(),call_id:r.z.string(),id:r.z.string()}),r.z.object({type:r.z.literal("reasoning"),id:r.z.string(),summary:r.z.array(k),content:r.z.array(r.z.object({type:r.z.string(),text:r.z.string()})).nullish(),status:r.z.string(),encrypted_content:r.z.string().nullish()})]),E=r.z.object({input_tokens:r.z.number(),output_tokens:r.z.number(),total_tokens:r.z.number().optional(),input_tokens_details:r.z.object({cached_tokens:r.z.number().optional()}).catchall(r.z.json()).optional(),output_tokens_details:r.z.object({reasoning_tokens:r.z.number().optional()}).catchall(r.z.json()).optional(),num_sources_used:r.z.number().optional(),num_server_side_tools_used:r.z.number().optional(),cost_in_usd_ticks:r.z.number().nullish()}).catchall(r.z.json()),C=r.z.object({id:r.z.string().nullish(),created_at:r.z.number().nullish(),model:r.z.string().nullish(),object:r.z.literal("response"),output:r.z.array(O),usage:E.nullish(),status:r.z.string(),service_tier:r.z.string().nullish(),prompt_cache_key:r.z.string().nullish(),safety_identifier:r.z.string().nullish()}),A=r.z.union([r.z.object({type:r.z.literal("response.created"),response:C.partial({usage:!0,status:!0})}),r.z.object({type:r.z.literal("response.in_progress"),response:C.partial({usage:!0,status:!0})}),r.z.object({type:r.z.literal("response.output_item.added"),item:O,output_index:r.z.number()}),r.z.object({type:r.z.literal("response.output_item.done"),item:O,output_index:r.z.number()}),r.z.object({type:r.z.literal("response.content_part.added"),item_id:r.z.string(),output_index:r.z.number(),content_index:r.z.number(),part:v}),r.z.object({type:r.z.literal("response.content_part.done"),item_id:r.z.string(),output_index:r.z.number(),content_index:r.z.number(),part:v}),r.z.object({type:r.z.literal("response.output_text.delta"),item_id:r.z.string(),output_index:r.z.number(),content_index:r.z.number(),delta:r.z.string(),logprobs:r.z.array(r.z.any()).optional()}),r.z.object({type:r.z.literal("response.output_text.done"),item_id:r.z.string(),output_index:r.z.number(),content_index:r.z.number(),text:r.z.string(),logprobs:r.z.array(r.z.any()).optional(),annotations:r.z.array(w).optional()}),r.z.object({type:r.z.literal("response.output_text.annotation.added"),item_id:r.z.string(),output_index:r.z.number(),content_index:r.z.number(),annotation_index:r.z.number(),annotation:w}),r.z.object({type:r.z.literal("response.reasoning_summary_part.added"),item_id:r.z.string(),output_index:r.z.number(),summary_index:r.z.number(),part:k}),r.z.object({type:r.z.literal("response.reasoning_summary_part.done"),item_id:r.z.string(),output_index:r.z.number(),summary_index:r.z.number(),part:k}),r.z.object({type:r.z.literal("response.reasoning_summary_text.delta"),item_id:r.z.string(),output_index:r.z.number(),summary_index:r.z.number(),delta:r.z.string()}),r.z.object({type:r.z.literal("response.reasoning_summary_text.done"),item_id:r.z.string(),output_index:r.z.number(),summary_index:r.z.number(),text:r.z.string()}),r.z.object({type:r.z.literal("response.reasoning_text.delta"),item_id:r.z.string(),output_index:r.z.number(),content_index:r.z.number(),delta:r.z.string()}),r.z.object({type:r.z.literal("response.reasoning_text.done"),item_id:r.z.string(),output_index:r.z.number(),content_index:r.z.number(),text:r.z.string()}),r.z.object({type:r.z.literal("response.web_search_call.in_progress"),item_id:r.z.string(),output_index:r.z.number()}),r.z.object({type:r.z.literal("response.web_search_call.searching"),item_id:r.z.string(),output_index:r.z.number()}),r.z.object({type:r.z.literal("response.web_search_call.completed"),item_id:r.z.string(),output_index:r.z.number()}),r.z.object({type:r.z.literal("response.x_search_call.in_progress"),item_id:r.z.string(),output_index:r.z.number()}),r.z.object({type:r.z.literal("response.x_search_call.searching"),item_id:r.z.string(),output_index:r.z.number()}),r.z.object({type:r.z.literal("response.x_search_call.completed"),item_id:r.z.string(),output_index:r.z.number()}),r.z.object({type:r.z.literal("response.file_search_call.in_progress"),item_id:r.z.string(),output_index:r.z.number()}),r.z.object({type:r.z.literal("response.file_search_call.searching"),item_id:r.z.string(),output_index:r.z.number()}),r.z.object({type:r.z.literal("response.file_search_call.completed"),item_id:r.z.string(),output_index:r.z.number()}),r.z.object({type:r.z.literal("response.image_generation_call.in_progress"),item_id:r.z.string(),output_index:r.z.number()}),r.z.object({type:r.z.literal("response.image_generation_call.generating"),item_id:r.z.string(),output_index:r.z.number()}),r.z.object({type:r.z.literal("response.image_generation_call.completed"),item_id:r.z.string(),output_index:r.z.number()}),r.z.object({type:r.z.literal("response.code_execution_call.in_progress"),item_id:r.z.string(),output_index:r.z.number()}),r.z.object({type:r.z.literal("response.code_execution_call.executing"),item_id:r.z.string(),output_index:r.z.number()}),r.z.object({type:r.z.literal("response.code_execution_call.completed"),item_id:r.z.string(),output_index:r.z.number()}),r.z.object({type:r.z.literal("response.code_interpreter_call.in_progress"),item_id:r.z.string(),output_index:r.z.number()}),r.z.object({type:r.z.literal("response.code_interpreter_call.executing"),item_id:r.z.string(),output_index:r.z.number()}),r.z.object({type:r.z.literal("response.code_interpreter_call.interpreting"),item_id:r.z.string(),output_index:r.z.number()}),r.z.object({type:r.z.literal("response.code_interpreter_call.completed"),item_id:r.z.string(),output_index:r.z.number()}),r.z.object({type:r.z.literal("response.code_interpreter_call_code.delta"),item_id:r.z.string(),output_index:r.z.number(),delta:r.z.string()}),r.z.object({type:r.z.literal("response.code_interpreter_call_code.done"),item_id:r.z.string(),output_index:r.z.number(),code:r.z.string()}),r.z.object({type:r.z.literal("response.custom_tool_call_input.delta"),item_id:r.z.string(),output_index:r.z.number(),delta:r.z.string()}),r.z.object({type:r.z.literal("response.custom_tool_call_input.done"),item_id:r.z.string(),output_index:r.z.number(),input:r.z.string()}),r.z.object({type:r.z.literal("response.function_call_arguments.delta"),item_id:r.z.string(),output_index:r.z.number(),delta:r.z.string()}),r.z.object({type:r.z.literal("response.function_call_arguments.done"),item_id:r.z.string(),output_index:r.z.number(),arguments:r.z.string()}),r.z.object({type:r.z.literal("response.mcp_call.in_progress"),item_id:r.z.string(),output_index:r.z.number()}),r.z.object({type:r.z.literal("response.mcp_call.executing"),item_id:r.z.string(),output_index:r.z.number()}),r.z.object({type:r.z.literal("response.mcp_call.completed"),item_id:r.z.string(),output_index:r.z.number()}),r.z.object({type:r.z.literal("response.mcp_call.failed"),item_id:r.z.string(),output_index:r.z.number()}),r.z.object({type:r.z.literal("response.mcp_call_arguments.delta"),item_id:r.z.string(),output_index:r.z.number(),delta:r.z.string()}),r.z.object({type:r.z.literal("response.mcp_call_arguments.done"),item_id:r.z.string(),output_index:r.z.number(),arguments:r.z.string().optional()}),r.z.object({type:r.z.literal("response.mcp_call_output.delta"),item_id:r.z.string(),output_index:r.z.number(),delta:r.z.string()}),r.z.object({type:r.z.literal("response.mcp_call_output.done"),item_id:r.z.string(),output_index:r.z.number(),output:r.z.string().optional()}),r.z.object({type:r.z.literal("response.incomplete"),response:r.z.object({incomplete_details:r.z.object({reason:r.z.string()}).nullish(),usage:E.nullish(),service_tier:r.z.string().nullish(),prompt_cache_key:r.z.string().nullish(),safety_identifier:r.z.string().nullish()})}),r.z.object({type:r.z.literal("response.failed"),response:r.z.object({error:r.z.object({code:r.z.string().nullish(),message:r.z.string()}).nullish(),incomplete_details:r.z.object({reason:r.z.string()}).nullish(),usage:E.nullish()})}),r.z.object({type:r.z.literal("error"),code:r.z.string().nullish(),message:r.z.string(),param:r.z.string().nullish()}),r.z.object({type:r.z.literal("response.done"),response:C}),r.z.object({type:r.z.literal("response.completed"),response:C})]),j=r.z.object({reasoningEffort:r.z.enum(["none","low","medium","high","xhigh"]).optional(),reasoningSummary:r.z.enum(["auto","concise","detailed"]).optional(),logprobs:r.z.boolean().optional(),topLogprobs:r.z.number().int().min(0).max(8).optional(),minP:r.z.number().min(0).max(1).optional(),maxTurns:r.z.number().int().optional(),parallelToolCalls:r.z.boolean().optional(),promptCacheKey:r.z.string().optional(),safetyIdentifier:r.z.string().optional(),serviceTier:r.z.enum(["default","priority"]).optional(),store:r.z.boolean().optional(),previousResponseId:r.z.string().optional(),user:r.z.string().optional(),include:r.z.array(r.z.enum(["file_search_call.results","web_search_call.action.sources","code_interpreter_call.outputs","reasoning.encrypted_content","no_inline_citations"])).nullish()}),R=(0,n.lazySchema)(()=>(0,n.zodSchema)(r.z.object({vectorStoreIds:r.z.array(r.z.string()),maxNumResults:r.z.number().optional()}))),$=(0,n.lazySchema)(()=>(0,n.zodSchema)(r.z.object({queries:r.z.array(r.z.string()),results:r.z.array(r.z.object({fileId:r.z.string(),filename:r.z.string(),score:r.z.number().min(0).max(1),text:r.z.string()})).nullable()}))),M=(0,n.createProviderExecutedToolFactory)({id:"xai.file_search",inputSchema:(0,n.lazySchema)(()=>(0,n.zodSchema)(r.z.object({}))),outputSchema:$}),N=(0,n.lazySchema)(()=>(0,n.zodSchema)(r.z.object({action:r.z.enum(["auto","generate","edit"]).optional()}))),L=(0,n.lazySchema)(()=>(0,n.zodSchema)(r.z.object({}))),P=(0,n.lazySchema)(()=>(0,n.zodSchema)(r.z.object({result:r.z.string(),prompt:r.z.string().optional()}))),U=(0,n.createProviderExecutedToolFactory)({id:"xai.image_generation",inputSchema:L,outputSchema:P}),q=(0,n.lazySchema)(()=>(0,n.zodSchema)(r.z.object({serverUrl:r.z.string().describe("The URL of the MCP server"),serverLabel:r.z.string().optional().describe("A label for the MCP server"),serverDescription:r.z.string().optional().describe("Description of the MCP server"),allowedTools:r.z.array(r.z.string()).optional().describe("List of allowed tool names"),headers:r.z.record(r.z.string(),r.z.string()).optional().describe("Custom headers to send"),authorization:r.z.string().optional().describe("Authorization header value")}))),D=(0,n.lazySchema)(()=>(0,n.zodSchema)(r.z.object({name:r.z.string(),arguments:r.z.string(),result:r.z.unknown()}))),F=(0,n.createProviderExecutedToolFactory)({id:"xai.mcp",inputSchema:(0,n.lazySchema)(()=>(0,n.zodSchema)(r.z.object({}))),outputSchema:D}),H=(0,n.lazySchema)(()=>(0,n.zodSchema)(r.z.object({allowedDomains:r.z.array(r.z.string()).max(5).optional(),excludedDomains:r.z.array(r.z.string()).max(5).optional(),enableImageSearch:r.z.boolean().optional(),enableImageUnderstanding:r.z.boolean().optional()}))),B=(0,n.lazySchema)(()=>(0,n.zodSchema)(r.z.object({action:r.z.discriminatedUnion("type",[r.z.object({type:r.z.literal("search"),query:r.z.string().optional(),queries:r.z.array(r.z.string()).optional()}),r.z.object({type:r.z.literal("openPage"),url:r.z.string().nullish()}),r.z.object({type:r.z.literal("findInPage"),url:r.z.string().nullish(),pattern:r.z.string().nullish()})]).optional(),sources:r.z.array(r.z.object({type:r.z.literal("url"),url:r.z.string()})).optional()}))),W=(0,n.createProviderExecutedToolFactory)({id:"xai.web_search",inputSchema:(0,n.lazySchema)(()=>(0,n.zodSchema)(r.z.object({}))),outputSchema:B}),K=(0,n.lazySchema)(()=>(0,n.zodSchema)(r.z.object({allowedXHandles:r.z.array(r.z.string()).max(10).optional(),excludedXHandles:r.z.array(r.z.string()).max(10).optional(),fromDate:r.z.string().optional(),toDate:r.z.string().optional(),enableImageUnderstanding:r.z.boolean().optional(),enableVideoUnderstanding:r.z.boolean().optional()}))),V=(0,n.lazySchema)(()=>(0,n.zodSchema)(r.z.object({query:r.z.string(),posts:r.z.array(r.z.object({author:r.z.string(),text:r.z.string(),url:r.z.string(),likes:r.z.number()}))}))),J=(0,n.createProviderExecutedToolFactory)({id:"xai.x_search",inputSchema:(0,n.lazySchema)(()=>(0,n.zodSchema)(r.z.object({}))),outputSchema:V});async function G({tools:e,toolChoice:o}){let r=e?.length?e:void 0,i=[];if(null==r)return{tools:void 0,toolChoice:void 0,toolWarnings:i};let a=[],s=new Map;for(let e of r)if(s.set(e.name,e),"provider"===e.type)switch(e.id){case"xai.web_search":{let t=await (0,n.validateTypes)({value:e.args,schema:H});a.push({type:"web_search",allowed_domains:t.allowedDomains,excluded_domains:t.excludedDomains,enable_image_search:t.enableImageSearch,enable_image_understanding:t.enableImageUnderstanding});break}case"xai.x_search":{let t=await (0,n.validateTypes)({value:e.args,schema:K});a.push({type:"x_search",allowed_x_handles:t.allowedXHandles,excluded_x_handles:t.excludedXHandles,from_date:t.fromDate,to_date:t.toDate,enable_image_understanding:t.enableImageUnderstanding,enable_video_understanding:t.enableVideoUnderstanding});break}case"xai.code_execution":a.push({type:"code_interpreter"});break;case"xai.view_image":a.push({type:"view_image"});break;case"xai.view_x_video":a.push({type:"view_x_video"});break;case"xai.image_generation":{let t=await (0,n.validateTypes)({value:e.args,schema:N});a.push({type:"image_generation",action:t.action});break}case"xai.file_search":{let t=await (0,n.validateTypes)({value:e.args,schema:R});a.push({type:"file_search",vector_store_ids:t.vectorStoreIds,max_num_results:t.maxNumResults});break}case"xai.mcp":{let t=await (0,n.validateTypes)({value:e.args,schema:q});a.push({type:"mcp",server_url:t.serverUrl,server_label:t.serverLabel,server_description:t.serverDescription,allowed_tools:t.allowedTools,headers:t.headers,authorization:t.authorization});break}default:i.push({type:"unsupported",feature:`provider-defined tool ${e.name}`})}else a.push({type:"function",name:e.name,description:e.description,parameters:e.inputSchema,...null!=e.strict?{strict:e.strict}:{}});if(null==o)return{tools:a,toolChoice:void 0,toolWarnings:i};let l=o.type;switch(l){case"auto":case"none":return{tools:a,toolChoice:l,toolWarnings:i};case"required":return{tools:a,toolChoice:"required",toolWarnings:i};case"tool":{let e=s.get(o.toolName);if(null==e)return{tools:a,toolChoice:void 0,toolWarnings:i};if("provider"===e.type)return i.push({type:"unsupported",feature:`toolChoice for server-side tool "${e.name}"`}),{tools:a,toolChoice:void 0,toolWarnings:i};return{tools:a,toolChoice:{type:"function",name:e.name},toolWarnings:i}}default:throw new t.UnsupportedFunctionalityError({functionality:`tool choice type: ${l}`})}}function Y({message:e,code:t,eventType:o,data:r}){var i,a;let s,l="number"==typeof(s="string"==typeof(i=t)&&/^\d{3}$/.test(i)?Number(i):i)&&Number.isInteger(s)&&s>=400&&s<=599?s:void 0;return(0,n.createProviderStreamError)({message:e,type:o,code:t??void 0,...null!=l?{statusCode:l,isRetryable:408===(a=l)||409===a||429===a||a>=500}:function(e){switch(e){case"rate_limit_exceeded":case"rate_limit_error":return{statusCode:429,isRetryable:!0};case"insufficient_quota":return{statusCode:429,isRetryable:!1};case"api_error":case"internal_server_error":case"server_error":return{statusCode:500,isRetryable:!0};case"overloaded_error":case"service_unavailable":return{statusCode:503,isRetryable:!0};case"timeout":case"timeout_error":return{statusCode:504,isRetryable:!0};case"authentication_error":case"invalid_api_key":return{statusCode:401,isRetryable:!1};case"permission_error":return{statusCode:403,isRetryable:!1};case"not_found_error":case"model_not_found":return{statusCode:404,isRetryable:!1};case"bad_request":case"context_length_exceeded":case"invalid_request_error":return{statusCode:400,isRetryable:!1};default:return{}}}(t),data:r})}var Z={"image/*":[/^https?:\/\/.*$/],"application/pdf":[/^https?:\/\/.*$/],"text/*":[/^https?:\/\/.*$/]},X=class e{constructor(e,t){this.specificationVersion="v4",this.supportedUrls=Z,this.modelId=e,this.config=t}static[o.WORKFLOW_SERIALIZE](e){return(0,n.serializeModelOptions)({modelId:e.modelId,config:e.config})}static[o.WORKFLOW_DESERIALIZE](t){return new e(t.modelId,t.config)}get provider(){return this.config.provider}static async prepareRequest({modelId:e,options:{prompt:t,maxOutputTokens:o,temperature:r,topP:i,topK:a,frequencyPenalty:s,presencePenalty:l,stopSequences:u,seed:c,responseFormat:d,providerOptions:p,tools:h,toolChoice:m,reasoning:g}}){let y=[],_=await (0,n.parseProviderOptions)({provider:"xai",providerOptions:p,schema:j})??{};null!=s&&y.push({type:"unsupported",feature:"frequencyPenalty"}),null!=l&&y.push({type:"unsupported",feature:"presencePenalty"}),null!=u&&y.push({type:"unsupported",feature:"stopSequences"});let z=h?.find(e=>"provider"===e.type&&"xai.web_search"===e.id)?.name,w=h?.find(e=>"provider"===e.type&&"xai.x_search"===e.id)?.name,v=h?.find(e=>"provider"===e.type&&"xai.code_execution"===e.id)?.name,k=h?.find(e=>"provider"===e.type&&"xai.mcp"===e.id)?.name,x=h?.find(e=>"provider"===e.type&&"xai.file_search"===e.id)?.name,S=h?.find(e=>"provider"===e.type&&"xai.image_generation"===e.id)?.name,{input:T,inputWarnings:I}=await b({prompt:t,store:_.store??!0});y.push(...I);let{tools:O,toolChoice:E,toolWarnings:C}=await G({tools:h,toolChoice:m});y.push(...C);let A=_.include?[..._.include]:void 0;!1===_.store&&(A=null==A?["reasoning.encrypted_content"]:[...A,"reasoning.encrypted_content"]);let R=_.reasoningEffort;null==R&&(0,n.isCustomReasoning)(g)&&(f.test(e)?y.push({type:"unsupported",feature:"reasoning",details:`reasoning "${g}" is not supported by this model.`}):R="none"===g?"none":(0,n.mapReasoningToProviderEffort)({reasoning:g,effortMap:{minimal:"low",low:"low",medium:"medium",high:"high",xhigh:"grok-4.6"===e?"xhigh":"high"},warnings:y}));let $={model:e,input:T,logprobs:!0===_.logprobs||null!=_.topLogprobs||void 0,top_logprobs:_.topLogprobs,max_output_tokens:o,temperature:r,top_p:i,top_k:a,min_p:_.minP,seed:c,...d?.type==="json"&&{text:{format:null!=d.schema?{type:"json_schema",strict:!0,name:d.name??"response",description:d.description,schema:d.schema}:{type:"json_object"}}},...null!=R&&{reasoning:{effort:R}},...!1===_.store&&{store:_.store},...null!=A&&{include:A},...null!=_.previousResponseId&&{previous_response_id:_.previousResponseId},...null!=_.maxTurns&&{max_turns:_.maxTurns},...null!=_.parallelToolCalls&&{parallel_tool_calls:_.parallelToolCalls},...null!=_.promptCacheKey&&{prompt_cache_key:_.promptCacheKey},...null!=_.safetyIdentifier&&{safety_identifier:_.safetyIdentifier},...null!=_.serviceTier&&{service_tier:_.serviceTier},...null!=_.user&&{user:_.user}};return O&&O.length>0&&($.tools=O),null!=E&&($.tool_choice=E),{args:$,warnings:y,webSearchToolName:z,xSearchToolName:w,codeExecutionToolName:v,mcpToolName:k,fileSearchToolName:x,imageGenerationToolName:S}}getArgs(t){return e.prepareRequest({modelId:this.modelId,options:t})}async doGenerate(e){let{args:t,warnings:o,webSearchToolName:r,xSearchToolName:i,codeExecutionToolName:a,mcpToolName:s,fileSearchToolName:l,imageGenerationToolName:c}=await this.getArgs(e),{responseHeaders:d,value:p,rawValue:m}=await (0,n.postJsonToApi)({url:`${this.config.baseURL??"https://api.x.ai/v1"}/responses`,headers:(0,n.combineHeaders)(this.config.headers?.(),e.headers),body:t,failedResponseHandler:u,successfulResponseHandler:(0,n.createJsonResponseHandler)(C),abortSignal:e.abortSignal,fetch:this.config.fetch}),g=[],f=!1,y=["web_search","web_search_with_snippets","browse_page"],b=["x_user_search","x_keyword_search","x_semantic_search","x_thread_fetch"];for(let e of p.output){if("file_search_call"===e.type){let t=l??"file_search";g.push({type:"tool-call",toolCallId:e.id,toolName:t,input:"",providerExecuted:!0}),g.push({type:"tool-result",toolCallId:e.id,toolName:t,result:{queries:e.queries??[],results:e.results?.map(e=>({fileId:e.file_id,filename:e.filename,score:e.score,text:e.text}))??null}});continue}if("image_generation_call"===e.type){let t=c??"image_generation";g.push({type:"tool-call",toolCallId:e.id,toolName:t,input:"{}",providerExecuted:!0}),null!=e.result?g.push({type:"tool-result",toolCallId:e.id,toolName:t,result:{result:e.result,...null!=e.prompt&&{prompt:e.prompt}}}):g.push({type:"tool-result",toolCallId:e.id,toolName:t,isError:!0,result:`Image generation failed (status: ${e.status}).`});continue}if("web_search_call"===e.type||"x_search_call"===e.type||"code_interpreter_call"===e.type||"code_execution_call"===e.type||"view_image_call"===e.type||"view_x_video_call"===e.type||"custom_tool_call"===e.type||"mcp_call"===e.type){let t=e.name??"";y.includes(e.name??"")||"web_search_call"===e.type?t=r??"web_search":b.includes(e.name??"")||"x_search_call"===e.type?t=i??"x_search":"code_execution"===e.name||"code_interpreter_call"===e.type||"code_execution_call"===e.type?t=a??"code_execution":"mcp_call"===e.type&&(t=s??e.name??"mcp");let n="custom_tool_call"===e.type?e.input??"":(e.type,e.arguments??"");g.push({type:"tool-call",toolCallId:e.id,toolName:t,input:n,providerExecuted:!0}),"web_search_call"===e.type&&g.push({type:"tool-result",toolCallId:e.id,toolName:t,result:Q(e.action)});continue}switch(e.type){case"message":for(let t of e.content)if(t.text&&g.push({type:"text",text:t.text}),t.annotations)for(let e of t.annotations)"url_citation"===e.type&&"url"in e&&g.push({type:"source",sourceType:"url",id:this.config.generateId(),url:e.url,title:e.title??e.url});break;case"function_call":f=!0,g.push({type:"tool-call",toolCallId:e.call_id,toolName:e.name,input:e.arguments});break;case"reasoning":{let t=(e.summary.length>0?e.summary.map(e=>e.text):(e.content??[]).map(e=>e.text)).filter(e=>e&&e.length>0).join("");if(t||e.encrypted_content){let n=e.encrypted_content||e.id;g.push({type:"reasoning",text:t,...n&&{providerMetadata:{xai:{...e.encrypted_content&&{reasoningEncryptedContent:e.encrypted_content},...e.id&&{itemId:e.id}}}}})}}}}return{content:g,finishReason:{unified:f?"tool-calls":z(p.status),raw:p.status??void 0},usage:p.usage?_(p.usage):{inputTokens:{total:0,noCache:0,cacheRead:0,cacheWrite:0},outputTokens:{total:0,text:0,reasoning:0}},...(p.usage?.cost_in_usd_ticks!=null||null!=p.service_tier||null!=p.prompt_cache_key||null!=p.safety_identifier)&&{providerMetadata:{xai:{...p.usage?.cost_in_usd_ticks!=null&&{costInUsdTicks:p.usage.cost_in_usd_ticks},...null!=p.service_tier&&{serviceTier:p.service_tier},...null!=p.prompt_cache_key&&{promptCacheKey:p.prompt_cache_key},...null!=p.safety_identifier&&{safetyIdentifier:p.safety_identifier}}}},request:{body:t},response:{...h(p),headers:d,body:m},warnings:o}}async doStream(e){let t,o,r,i,a,{args:s,warnings:l,webSearchToolName:c,xSearchToolName:d,codeExecutionToolName:p,mcpToolName:m,fileSearchToolName:g,imageGenerationToolName:f}=await this.getArgs(e),y={...s,stream:!0},{responseHeaders:b,value:w}=await (0,n.postJsonToApi)({url:`${this.config.baseURL??"https://api.x.ai/v1"}/responses`,headers:(0,n.combineHeaders)(this.config.headers?.(),e.headers),body:y,failedResponseHandler:u,successfulResponseHandler:(0,n.createEventSourceResponseHandler)(A),abortSignal:e.abortSignal,fetch:this.config.fetch}),v={unified:"other",raw:void 0},k=!1,x=!0,S={},T=new Set,I={},O={},E=this;return{stream:w.pipeThrough(new TransformStream({start(e){e.enqueue({type:"stream-start",warnings:l})},transform(n,s){if(e.includeRawChunks&&s.enqueue({type:"raw",rawValue:n.rawValue}),!n.success)return void s.enqueue({type:"error",error:n.error});let l=n.value;if("response.created"===l.type||"response.in_progress"===l.type){x&&(s.enqueue({type:"response-metadata",...h(l.response)}),x=!1);return}if("response.reasoning_summary_part.added"===l.type){let e=`reasoning-${l.item_id}`;null==O[l.item_id]&&(O[l.item_id]={},s.enqueue({type:"reasoning-start",id:e,providerMetadata:{xai:{itemId:l.item_id}}}))}if("response.reasoning_summary_text.delta"===l.type){let e=`reasoning-${l.item_id}`;s.enqueue({type:"reasoning-delta",id:e,delta:l.delta,providerMetadata:{xai:{itemId:l.item_id}}});return}if("response.reasoning_summary_text.done"===l.type)return;if("response.reasoning_text.delta"===l.type){let e=`reasoning-${l.item_id}`;null==O[l.item_id]&&(O[l.item_id]={},s.enqueue({type:"reasoning-start",id:e,providerMetadata:{xai:{itemId:l.item_id}}})),s.enqueue({type:"reasoning-delta",id:e,delta:l.delta,providerMetadata:{xai:{itemId:l.item_id}}});return}if("response.reasoning_text.done"!==l.type){if("response.output_text.delta"===l.type){let e=`text-${l.item_id}`;null==S[e]&&(S[e]={type:"text"},s.enqueue({type:"text-start",id:e})),s.enqueue({type:"text-delta",id:e,delta:l.delta});return}if("response.output_text.done"===l.type){if(l.annotations)for(let e of l.annotations)"url_citation"===e.type&&"url"in e&&s.enqueue({type:"source",sourceType:"url",id:E.config.generateId(),url:e.url,title:e.title??e.url});return}if("response.output_text.annotation.added"===l.type){let e=l.annotation;"url_citation"===e.type&&"url"in e&&s.enqueue({type:"source",sourceType:"url",id:E.config.generateId(),url:e.url,title:e.title??e.url});return}if("response.done"===l.type||"response.completed"===l.type||"response.incomplete"===l.type){let e=l.response;if(e.usage&&(t=_(e.usage),o=e.usage.cost_in_usd_ticks??void 0),r=e.service_tier??void 0,i=e.prompt_cache_key??void 0,a=e.safety_identifier??void 0,"response.incomplete"===l.type){let t="incomplete_details"in e?e.incomplete_details?.reason:void 0;v={unified:t?z(t):"other",raw:t??"incomplete"}}else"status"in e&&e.status&&(v={unified:k?"tool-calls":z(e.status),raw:e.status});return}if("response.failed"===l.type){let e=l.response.incomplete_details?.reason;v={unified:e?z(e):"error",raw:e??"error"},l.response.usage&&(t=_(l.response.usage)),null!=l.response.error&&s.enqueue({type:"error",error:Y({message:l.response.error.message,code:l.response.error.code,eventType:l.type,data:l})});return}if("error"===l.type)return void s.enqueue({type:"error",error:Y({message:l.message,code:l.code,eventType:l.type,data:l})});if("response.custom_tool_call_input.delta"!==l.type&&"response.custom_tool_call_input.done"!==l.type){if("response.function_call_arguments.delta"===l.type){let e=I[l.output_index];null!=e&&s.enqueue({type:"tool-input-delta",id:e.toolCallId,delta:l.delta});return}if("response.function_call_arguments.done"!==l.type){if("response.image_generation_call.in_progress"===l.type||"response.image_generation_call.generating"===l.type||"response.image_generation_call.completed"===l.type){if(!T.has(l.item_id)){T.add(l.item_id);let e=f??"image_generation";s.enqueue({type:"tool-input-start",id:l.item_id,toolName:e}),s.enqueue({type:"tool-input-delta",id:l.item_id,delta:"{}"}),s.enqueue({type:"tool-input-end",id:l.item_id}),s.enqueue({type:"tool-call",toolCallId:l.item_id,toolName:e,input:"{}",providerExecuted:!0})}return}if("response.output_item.added"===l.type||"response.output_item.done"===l.type){let e=l.item;if("reasoning"===e.type){if("response.output_item.done"===l.type){let t=`reasoning-${e.id}`;e.id in O||(O[e.id]={},s.enqueue({type:"reasoning-start",id:t,providerMetadata:{xai:{...e.id&&{itemId:e.id}}}})),s.enqueue({type:"reasoning-end",id:t,providerMetadata:{xai:{...e.encrypted_content&&{reasoningEncryptedContent:e.encrypted_content},...e.id&&{itemId:e.id}}}}),delete O[e.id]}return}if("file_search_call"===e.type){let t=g??"file_search";T.has(e.id)||(T.add(e.id),s.enqueue({type:"tool-input-start",id:e.id,toolName:t}),s.enqueue({type:"tool-input-delta",id:e.id,delta:""}),s.enqueue({type:"tool-input-end",id:e.id}),s.enqueue({type:"tool-call",toolCallId:e.id,toolName:t,input:"",providerExecuted:!0})),"response.output_item.done"===l.type&&s.enqueue({type:"tool-result",toolCallId:e.id,toolName:t,result:{queries:e.queries??[],results:e.results?.map(e=>({fileId:e.file_id,filename:e.filename,score:e.score,text:e.text}))??null}});return}if("image_generation_call"===e.type){let t=f??"image_generation";T.has(e.id)||(T.add(e.id),s.enqueue({type:"tool-input-start",id:e.id,toolName:t}),s.enqueue({type:"tool-input-delta",id:e.id,delta:"{}"}),s.enqueue({type:"tool-input-end",id:e.id}),s.enqueue({type:"tool-call",toolCallId:e.id,toolName:t,input:"{}",providerExecuted:!0})),"response.output_item.done"===l.type&&(null!=e.result?s.enqueue({type:"tool-result",toolCallId:e.id,toolName:t,result:{result:e.result,...null!=e.prompt&&{prompt:e.prompt}}}):s.enqueue({type:"tool-result",toolCallId:e.id,toolName:t,isError:!0,result:`Image generation failed (status: ${e.status}).`}));return}if("web_search_call"===e.type||"x_search_call"===e.type||"code_interpreter_call"===e.type||"code_execution_call"===e.type||"view_image_call"===e.type||"view_x_video_call"===e.type||"custom_tool_call"===e.type||"mcp_call"===e.type){let t=e.name??"";["web_search","web_search_with_snippets","browse_page"].includes(e.name??"")||"web_search_call"===e.type?t=c??"web_search":["x_user_search","x_keyword_search","x_semantic_search","x_thread_fetch"].includes(e.name??"")||"x_search_call"===e.type?t=d??"x_search":"code_execution"===e.name||"code_interpreter_call"===e.type||"code_execution_call"===e.type?t=p??"code_execution":"mcp_call"===e.type&&(t=m??e.name??"mcp");let n="custom_tool_call"===e.type?e.input??"":(e.type,e.arguments??"");("custom_tool_call"===e.type?"response.output_item.done"!==l.type:T.has(e.id))||T.has(e.id)||(T.add(e.id),s.enqueue({type:"tool-input-start",id:e.id,toolName:t}),s.enqueue({type:"tool-input-delta",id:e.id,delta:n}),s.enqueue({type:"tool-input-end",id:e.id}),s.enqueue({type:"tool-call",toolCallId:e.id,toolName:t,input:n,providerExecuted:!0})),"response.output_item.done"===l.type&&s.enqueue({type:"tool-result",toolCallId:e.id,toolName:t,result:"web_search_call"===e.type?Q(e.action):{}});return}if("message"===e.type)for(let t of e.content){if(t.text&&t.text.length>0){let n=`text-${e.id}`;null==S[n]&&(S[n]={type:"text"},s.enqueue({type:"text-start",id:n}),s.enqueue({type:"text-delta",id:n,delta:t.text}))}if(t.annotations)for(let e of t.annotations)"url_citation"===e.type&&"url"in e&&s.enqueue({type:"source",sourceType:"url",id:E.config.generateId(),url:e.url,title:e.title??e.url})}else"function_call"===e.type&&("response.output_item.added"===l.type?(I[l.output_index]={toolName:e.name,toolCallId:e.call_id},s.enqueue({type:"tool-input-start",id:e.call_id,toolName:e.name})):"response.output_item.done"===l.type&&(k=!0,I[l.output_index]=void 0,s.enqueue({type:"tool-input-end",id:e.call_id}),s.enqueue({type:"tool-call",toolCallId:e.call_id,toolName:e.name,input:e.arguments})))}}}}},flush(e){for(let[t,n]of Object.entries(S))"text"===n.type&&e.enqueue({type:"text-end",id:t});e.enqueue({type:"finish",finishReason:v,usage:t??{inputTokens:{total:0,noCache:0,cacheRead:0,cacheWrite:0},outputTokens:{total:0,text:0,reasoning:0}},...(null!=o||null!=r||null!=i||null!=a)&&{providerMetadata:{xai:{...null!=o&&{costInUsdTicks:o},...null!=r&&{serviceTier:r},...null!=i&&{promptCacheKey:i},...null!=a&&{safetyIdentifier:a}}}}})}})),request:{body:y},response:{headers:b}}}};function Q(e){let t=T.safeParse(e);if(!t.success)return{};let n=t.data,o=n.sources?.flatMap(e=>{let t=S.safeParse(e);return t.success?[t.data]:[]}),r=null!=o&&o.length>0?{sources:o}:{};switch(n.type){case"search":return{action:{type:"search",...null!=n.query&&{query:n.query},...null!=n.queries&&{queries:n.queries}},...r};case"open_page":return{action:{type:"openPage",url:n.url},...r};case"find_in_page":return{action:{type:"findInPage",url:n.url,pattern:n.pattern},...r}}}var ee=(0,n.lazySchema)(()=>(0,n.zodSchema)(r.z.object({inputFileExpiresAfter:r.z.number().int().min(3600).max(2592e3).optional()}))),et=r.z.object({data:r.z.array(r.z.object({url:r.z.string().nullish(),b64_json:r.z.string().nullish(),revised_prompt:r.z.string().nullish(),respect_moderation:r.z.boolean().nullish()})),usage:r.z.object({cost_in_usd_ticks:r.z.number().nullish()}).nullish()}),en=()=>r.z.object({batch_id:r.z.string(),name:r.z.string().nullish(),create_time:r.z.string().nullish(),expire_time:r.z.string().nullish(),cancel_time:r.z.string().nullish(),cancel_by_xai_message:r.z.string().nullish(),state:r.z.object({num_requests:r.z.number().nullish(),num_pending:r.z.number().nullish(),num_success:r.z.number().nullish(),num_error:r.z.number().nullish(),num_cancelled:r.z.number().nullish()}).nullish()}),eo=(0,n.lazySchema)(()=>(0,n.zodSchema)(en())),er=r.z.object({code:r.z.union([r.z.string(),r.z.number()]).nullish(),message:r.z.string().nullish()}),ei=r.z.object({batch_request_id:r.z.string(),batch_result:r.z.object({response:r.z.object({chat_get_completion:r.z.unknown().nullish(),image_generation:r.z.unknown().nullish()}).nullish(),error:er.nullish()}).nullish(),error_message:r.z.string().nullish()}),ea=r.z.object({id:r.z.string().nullish(),created:r.z.number().nullish(),model:r.z.string().nullish(),choices:r.z.array(r.z.object({message:r.z.object({role:r.z.enum(["assistant","tool"]),content:r.z.string().nullish(),reasoning_content:r.z.string().nullish(),tool_calls:r.z.array(r.z.object({id:r.z.string(),type:r.z.literal("function"),function:r.z.object({name:r.z.string(),arguments:r.z.string()})})).nullish()}),index:r.z.number(),finish_reason:r.z.string().nullish()})).nullish(),usage:r.z.object({prompt_tokens:r.z.number(),completion_tokens:r.z.number(),total_tokens:r.z.number(),cost_in_usd_ticks:r.z.number().nullish(),prompt_tokens_details:r.z.object({cached_tokens:r.z.number().nullish()}).nullish(),completion_tokens_details:r.z.object({reasoning_tokens:r.z.number().nullish()}).nullish()}).nullish(),citations:r.z.array(r.z.string().url()).nullish(),service_tier:r.z.string().nullish(),code:r.z.string().nullish(),error:r.z.string().nullish()}),es=(0,n.lazySchema)(()=>(0,n.zodSchema)(r.z.object({results:r.z.array(ei),pagination_token:r.z.string().nullish()}))),el=(0,n.lazySchema)(()=>(0,n.zodSchema)(r.z.object({batches:r.z.array(en()),pagination_token:r.z.string().nullish()}))),eu=class{constructor(e){this.options=e,this.specificationVersion="v4",this.supportedUrls=Z,this.provider=e.provider}async doStartBatch(e){for(let n of e.requests){let e=n.type;if("text"!==e&&"image"!==e)throw new t.UnsupportedFunctionalityError({functionality:`batch request type: ${e}`,message:`The xAI Batch API does not support batch requests with type "${e}".`})}let o=[],r=null==e.webhookUrl?[]:[{warning:{type:"unsupported",feature:"webhookUrl",details:"The xAI Batch API does not support per-batch webhook URLs."}}],i=await (0,n.parseProviderOptions)({provider:"xai",providerOptions:e.providerOptions,schema:ee});for(let t of e.requests){let e=await this.prepareRequest(t);for(let n of(o.push(JSON.stringify({custom_id:t.id,method:"POST",url:e.endpoint,body:e.body}),"\n"),e.warnings))r.push({requestId:t.id,warning:n})}let a=new Blob(o,{type:"application/jsonl"});o.length=0;let s=new FormData;i?.inputFileExpiresAfter!=null&&s.append("expires_after",String(i.inputFileExpiresAfter)),s.append("file",a,"batch.jsonl");let l=(0,n.combineHeaders)(this.options.config.headers?.(),e.headers),{value:c}=await (0,n.postFormDataToApi)({url:this.getUrl("/files"),headers:l,formData:s,failedResponseHandler:u,successfulResponseHandler:(0,n.createJsonResponseHandler)(m),abortSignal:e.abortSignal,fetch:this.options.config.fetch}),{value:d}=await (0,n.postJsonToApi)({url:this.getUrl("/batches"),headers:l,body:{name:"ai-sdk-text-batch",input_file_id:c.id},failedResponseHandler:u,successfulResponseHandler:(0,n.createJsonResponseHandler)(eo),abortSignal:e.abortSignal,fetch:this.options.config.fetch});return{batchId:d.batch_id,...ec(d),providerMetadata:{xai:{inputFileId:c.id,...null!=c.expires_at?{inputFileExpiresAt:new Date(1e3*c.expires_at).toISOString()}:{}}},warnings:r}}async doGetBatchStatus(e){return ec(await this.retrieveBatch(e))}async doCancelBatch(e){return await (0,n.postJsonToApi)({url:this.getUrl(`/batches/${encodeURIComponent(e.batchId)}:cancel`),headers:(0,n.combineHeaders)(this.options.config.headers?.(),e.headers),body:{},failedResponseHandler:u,successfulResponseHandler:(0,n.createJsonResponseHandler)(eo),abortSignal:e.abortSignal,fetch:this.options.config.fetch}),{}}async doListBatches(e){let t=new URL(this.getUrl("/batches"));null!=e.limit&&t.searchParams.set("limit",String(e.limit)),null!=e.cursor&&t.searchParams.set("pagination_token",e.cursor);let{value:o}=await (0,n.getFromApi)({url:t.toString(),headers:(0,n.combineHeaders)(this.options.config.headers?.(),e.headers),failedResponseHandler:u,successfulResponseHandler:(0,n.createJsonResponseHandler)(el),abortSignal:e.abortSignal,fetch:this.options.config.fetch,validateUrl:!1});return{batches:o.batches.map(e=>({batchId:e.batch_id,...ec(e)})),...null!=o.pagination_token?{nextCursor:o.pagination_token}:{}}}async doGetBatchResults(e){if("pending"===ec(await this.retrieveBatch(e)).status)throw new t.InvalidArgumentError({argument:"batchId",message:`xAI batch "${e.batchId}" is not complete.`});return(0,n.convertAsyncIteratorToReadableStream)(this.iterateBatchResults(e))}async retrieveBatch(e){let{value:t}=await (0,n.getFromApi)({url:this.getUrl(`/batches/${encodeURIComponent(e.batchId)}`),headers:(0,n.combineHeaders)(this.options.config.headers?.(),e.headers),failedResponseHandler:u,successfulResponseHandler:(0,n.createJsonResponseHandler)(eo),abortSignal:e.abortSignal,fetch:this.options.config.fetch,validateUrl:!1});return t}async *iterateBatchResults(e){let t;do{let o=new URLSearchParams({limit:String(1e3)});null!=t&&o.set("pagination_token",t);let{value:r}=await (0,n.getFromApi)({url:this.getUrl(`/batches/${encodeURIComponent(e.batchId)}/results?${o}`),headers:(0,n.combineHeaders)(this.options.config.headers?.(),e.headers),failedResponseHandler:u,successfulResponseHandler:(0,n.createJsonResponseHandler)(es),abortSignal:e.abortSignal,fetch:this.options.config.fetch,validateUrl:!1});for(let t of r.results)yield await this.convertBatchResult(t,e.abortSignal);t=r.pagination_token??void 0}while(null!=t)}async convertBatchResult(e,t){let o=e.batch_result?.error;if((e.error_message?.length??0)>0||o?.code!=null&&0!==o.code&&"0"!==o.code||o?.code==null&&(o?.message?.length??0)>0){var r,i;let t,n,a=(r=e,t=r.batch_result?.error,{message:r.error_message||t?.message||"xAI batch request failed.",...t?.code!=null&&0!==t.code&&"0"!==t.code?{code:String(t.code)}:{}});return{type:"text",id:e.batch_request_id,status:(n=String(i=o?.code).toLowerCase(),1===i||"1"===n||"cancelled"===n||"batch_cancelled"===n)?"cancelled":"failed",error:a}}let a=e.batch_result?.response;if(a?.chat_get_completion!=null){let t=await (0,n.safeValidateTypes)({value:a.chat_get_completion,schema:(0,n.zodSchema)(ea)});if(!t.success)return ed(e.batch_request_id);let o=function(e){var t;let o,r,i,a;if(null!=e.error)return{success:!1,error:{message:e.error,...null!=e.code?{code:e.code}:{}}};let s=e.choices;if(null==s||0===s.length)return{success:!1,error:{message:"xAI returned a batch response without any choices.",code:"invalid_response"}};let l=[],u=new Set(s.filter(e=>"tool"===e.message.role).flatMap(e=>(e.message.tool_calls??[]).map(e=>e.id)));for(let e of s){if("tool"===e.message.role){if(null!=e.message.content)for(let t of e.message.tool_calls??[])l.push({type:"tool-result",toolCallId:t.id,toolName:t.function.name,result:e.message.content,dynamic:!0});continue}for(let t of(o=e,e.message.content&&l.push({type:"text",text:e.message.content}),e.message.reasoning_content&&l.push({type:"reasoning",text:e.message.reasoning_content}),e.message.tool_calls??[]))l.push({type:"tool-call",toolCallId:t.id,toolName:t.function.name,input:t.function.arguments,...u.has(t.id)?{providerExecuted:!0,dynamic:!0}:{}})}for(let t of e.citations??[])l.push({type:"source",sourceType:"url",id:t,url:t});return{success:!0,result:{content:l,finishReason:{unified:function(e){switch(e){case"stop":return"stop";case"length":return"length";case"tool_calls":case"function_call":return"tool-calls";case"content_filter":return"content-filter";default:return"other"}}(o?.finish_reason),raw:o?.finish_reason??void 0},usage:e.usage?(t=e.usage,r=t.prompt_tokens_details?.cached_tokens??0,i=t.completion_tokens_details?.reasoning_tokens??0,{inputTokens:{total:(a=r<=t.prompt_tokens)?t.prompt_tokens:t.prompt_tokens+r,noCache:a?t.prompt_tokens-r:t.prompt_tokens,cacheRead:r,cacheWrite:void 0},outputTokens:{total:t.completion_tokens+i,text:t.completion_tokens,reasoning:i},raw:t}):(0,n.createNullLanguageModelUsage)(),response:h(e),warnings:[],...(e.usage?.cost_in_usd_ticks!=null||null!=e.service_tier)&&{providerMetadata:{xai:{...e.usage?.cost_in_usd_ticks!=null?{costInUsdTicks:e.usage.cost_in_usd_ticks}:{},...null!=e.service_tier?{serviceTier:e.service_tier}:{}}}}}}}(t.value);return o.success?{type:"text",id:e.batch_request_id,status:"succeeded",result:o.result}:{type:"text",id:e.batch_request_id,status:"failed",error:o.error}}if(a?.image_generation!=null){let o=await (0,n.safeValidateTypes)({value:a.image_generation,schema:(0,n.zodSchema)(et)});if(!o.success)return{type:"image",id:e.batch_request_id,status:"failed",error:{message:"xAI returned an invalid image batch result.",code:"invalid_response"}};if(o.value.data.some(e=>!1===e.respect_moderation))return{type:"image",id:e.batch_request_id,status:"failed",error:{message:"Image generation was blocked due to a content policy violation."}};let r=await this.convertImageBatchResponse(o.value,t);return{type:"image",id:e.batch_request_id,status:"succeeded",result:r}}return ed(e.batch_request_id)}async prepareRequest(e){if("text"===e.type){let{args:t,warnings:n}=await X.prepareRequest({modelId:e.modelId,options:e.options});return{endpoint:"/v1/responses",body:t,warnings:n}}let{prompt:t,n:o,size:r,aspectRatio:i,seed:a,files:s,mask:l,providerOptions:u}=e.options,d=[];null!=r&&d.push({type:"unsupported",feature:"size",details:"This model does not support the `size` option. Use `aspectRatio` instead."}),null!=a&&d.push({type:"unsupported",feature:"seed"}),null!=l&&d.push({type:"unsupported",feature:"mask"});let p=await (0,n.parseProviderOptions)({provider:"xai",providerOptions:u,schema:c}),h=(s??[]).map(n.convertImageModelFileToDataUri),m={model:e.modelId,prompt:t,n:o,response_format:"b64_json"};return null!=i&&(m.aspect_ratio=i),p?.output_format!=null&&(m.output_format=p.output_format),p?.sync_mode!=null&&(m.sync_mode=p.sync_mode),p?.aspect_ratio!=null&&null==i&&(m.aspect_ratio=p.aspect_ratio),p?.resolution!=null&&(m.resolution=p.resolution),p?.quality!=null&&(m.quality=p.quality),p?.user!=null&&(m.user=p.user),1===h.length?m.image={url:h[0],type:"image_url"}:h.length>1&&(m.images=h.map(e=>({url:e,type:"image_url"}))),{endpoint:s?.length?"/v1/images/edits":"/v1/images/generations",body:m,warnings:d}}async convertImageBatchResponse(e,o){return{images:e.data.every(e=>null!=e.b64_json)?e.data.map(e=>e.b64_json):await Promise.all(e.data.map(async e=>{if(null!=e.b64_json)return(0,n.convertBase64ToUint8Array)(e.b64_json);if(null==e.url)throw new t.InvalidArgumentError({argument:"batchResult",message:"xAI returned an image without data or a URL."});let{value:r}=await (0,n.getFromApi)({url:e.url,validateUrl:!0,trustedOrigin:this.options.config.baseURL,abortSignal:o,failedResponseHandler:u,successfulResponseHandler:(0,n.createBinaryResponseHandler)(),fetch:this.options.config.fetch});return r})),warnings:[],response:{timestamp:new Date,modelId:"",headers:void 0},providerMetadata:{xai:{images:e.data.map(e=>null!=e.revised_prompt?{revisedPrompt:e.revised_prompt}:{}),...e.usage?.cost_in_usd_ticks!=null?{costInUsdTicks:e.usage.cost_in_usd_ticks}:{}}}}}getUrl(e){return`${this.options.config.baseURL??"https://api.x.ai/v1"}${e}`}};function ec(e){let t=(0,n.normalizeBatchRequestCounts)({total:e.state?.num_requests,pending:e.state?.num_pending,completed:e.state?.num_success,failed:e.state?.num_error!=null&&e.state?.num_cancelled!=null?e.state.num_error+e.state.num_cancelled:void 0}),o=null!=e.cancel_time||null!=e.cancel_by_xai_message,r=function(e){if(null==e)return!1;let t=Date.parse(e);return!Number.isNaN(t)&&t<=Date.now()}(e.expire_time);return{status:o||r?"failed":null!=t&&t.total>0&&0===t.pending?"completed":"pending",...null!=t?{requestCounts:t}:{},...o?{error:{message:e.cancel_by_xai_message??`xAI batch "${e.batch_id}" was cancelled.`,code:"batch_cancelled"}}:r?{error:{message:`xAI batch "${e.batch_id}" expired.`,code:"batch_expired"}}:{},...null!=e.create_time?{createdAt:e.create_time}:{},...null!=e.expire_time?{expiresAt:e.expire_time}:{}}}function ed(e){return{type:"text",id:e,status:"failed",error:{message:"xAI returned an invalid Responses batch result.",code:"invalid_response"}}}function ep(e){let t={};null!=e.instructions&&(t.instructions=e.instructions),null!=e.voice&&(t.voice=e.voice);let n={};if(null!=e.inputAudioFormat&&(n.input={format:{type:e.inputAudioFormat.type,...null!=e.inputAudioFormat.rate?{rate:e.inputAudioFormat.rate}:{}}}),null!=e.outputAudioFormat&&(n.output={format:{type:e.outputAudioFormat.type,...null!=e.outputAudioFormat.rate?{rate:e.outputAudioFormat.rate}:{}}}),Object.keys(n).length>0&&(t.audio=n),null!=e.turnDetection)if("disabled"===e.turnDetection.type)t.turn_detection=null;else{let n={type:"server_vad"};null!=e.turnDetection.threshold&&(n.threshold=e.turnDetection.threshold),null!=e.turnDetection.silenceDurationMs&&(n.silence_duration_ms=e.turnDetection.silenceDurationMs),null!=e.turnDetection.prefixPaddingMs&&(n.prefix_padding_ms=e.turnDetection.prefixPaddingMs),t.turn_detection=n}if(null!=e.tools&&e.tools.length>0&&(t.tools=e.tools.map(e=>({type:e.type,name:e.name,description:e.description,parameters:e.parameters}))),null!=e.providerOptions){let n=e.providerOptions;if(Array.isArray(n.tools)){let e=t.tools??[];t.tools=[...e,...n.tools]}for(let[e,o]of Object.entries(n))"tools"!==e&&(t[e]=o)}return t}var eh=class{constructor(e,t){this.specificationVersion="v4",this.modelId=e,this.provider=t.provider,this.config=t}async doCreateClientSecret(e){let t=this.config.fetch??fetch,n=`${this.config.baseURL}/realtime/client_secrets`,o={};null!=e.expiresAfterSeconds&&(o.expires_after={seconds:e.expiresAfterSeconds});let r=await t(n,{method:"POST",headers:{...this.config.headers(),"Content-Type":"application/json"},body:JSON.stringify(o)});if(!r.ok){let e=await r.text();throw Error(`xAI realtime client secret request failed: ${r.status} ${e}`)}let i=await r.json();return{token:i.value,url:`wss://${new URL(this.config.baseURL).host}/v1/realtime?model=${encodeURIComponent(this.modelId)}`,expiresAt:i.expires_at}}getWebSocketConfig(e){return{url:e.url,protocols:[`xai-client-secret.${e.token}`]}}parseServerEvent(e){let t=e.type;switch(t){case"session.created":return{type:"session-created",sessionId:e.session?.id,raw:e};case"session.updated":return{type:"session-updated",raw:e};case"conversation.created":case"mcp_list_tools.in_progress":case"mcp_list_tools.completed":case"mcp_list_tools.failed":case"response.mcp_call_arguments.delta":case"response.mcp_call_arguments.done":case"response.mcp_call.in_progress":case"response.mcp_call.completed":case"response.mcp_call.failed":default:return{type:"custom",rawType:t,raw:e};case"input_audio_buffer.speech_started":return{type:"speech-started",itemId:e.item_id,raw:e};case"input_audio_buffer.speech_stopped":return{type:"speech-stopped",itemId:e.item_id,raw:e};case"input_audio_buffer.committed":return{type:"audio-committed",itemId:e.item_id,previousItemId:e.previous_item_id,raw:e};case"conversation.item.added":return{type:"conversation-item-added",itemId:e.item?.id??e.item_id,item:e.item,raw:e};case"conversation.item.input_audio_transcription.completed":return{type:"input-transcription-completed",itemId:e.item_id,transcript:e.transcript??"",raw:e};case"response.created":return{type:"response-created",responseId:e.response?.id??e.response_id,raw:e};case"response.done":return{type:"response-done",responseId:e.response?.id??e.response_id,status:e.response?.status??"completed",raw:e};case"response.output_item.added":return{type:"output-item-added",responseId:e.response_id,itemId:e.item?.id??e.item_id,raw:e};case"response.output_item.done":return{type:"output-item-done",responseId:e.response_id,itemId:e.item?.id??e.item_id,raw:e};case"response.content_part.added":return{type:"content-part-added",responseId:e.response_id,itemId:e.item_id,raw:e};case"response.content_part.done":return{type:"content-part-done",responseId:e.response_id,itemId:e.item_id,raw:e};case"response.output_audio.delta":return{type:"audio-delta",responseId:e.response_id,itemId:e.item_id,delta:e.delta,raw:e};case"response.output_audio.done":return{type:"audio-done",responseId:e.response_id,itemId:e.item_id,raw:e};case"response.output_audio_transcript.delta":return{type:"audio-transcript-delta",responseId:e.response_id,itemId:e.item_id,delta:e.delta,raw:e};case"response.output_audio_transcript.done":return{type:"audio-transcript-done",responseId:e.response_id,itemId:e.item_id,transcript:e.transcript,raw:e};case"response.text.delta":return{type:"text-delta",responseId:e.response_id,itemId:e.item_id,delta:e.delta,raw:e};case"response.text.done":return{type:"text-done",responseId:e.response_id,itemId:e.item_id,text:e.text,raw:e};case"response.function_call_arguments.delta":return{type:"function-call-arguments-delta",responseId:e.response_id,itemId:e.item_id,callId:e.call_id,delta:e.delta,raw:e};case"response.function_call_arguments.done":return{type:"function-call-arguments-done",responseId:e.response_id,itemId:e.item_id,callId:e.call_id,name:e.name,arguments:e.arguments,raw:e};case"error":return{type:"error",message:e.error?.message??e.message??"Unknown error",code:e.error?.code??e.code,raw:e}}}serializeClientEvent(e){switch(e.type){case"session-update":return{type:"session.update",session:ep(e.config)};case"input-audio-append":return{type:"input_audio_buffer.append",audio:e.audio};case"input-audio-commit":return{type:"input_audio_buffer.commit"};case"input-audio-clear":return{type:"input_audio_buffer.clear"};case"conversation-item-create":{let t=e.item;switch(t.type){case"text-message":return{type:"conversation.item.create",item:{type:"message",role:t.role,content:[{type:"input_text",text:t.text}]}};case"audio-message":return{type:"conversation.item.create",item:{type:"message",role:t.role,content:[{type:"input_audio",audio:t.audio}]}};case"function-call-output":return{type:"conversation.item.create",item:{type:"function_call_output",call_id:t.callId,output:t.output}}}break}case"conversation-item-truncate":break;case"response-create":return{type:"response.create",...null!=e.options?{response:{...null!=e.options.modalities?{modalities:e.options.modalities}:{},...null!=e.options.instructions?{instructions:e.options.instructions}:{}}}:{}};case"response-cancel":return{type:"response.cancel"}}}buildSessionConfig(e){return ep(e)}},em=r.z.object({output:r.z.string().describe("the output of the code execution"),error:r.z.string().optional().describe("any error that occurred")}),eg=(0,n.createProviderExecutedToolFactory)({id:"xai.code_execution",inputSchema:r.z.object({}).describe("no input parameters"),outputSchema:em}),ef=r.z.object({description:r.z.string().describe("description of the image"),objects:r.z.array(r.z.string()).optional().describe("objects detected in the image")}),ey=(0,n.createProviderExecutedToolFactory)({id:"xai.view_image",inputSchema:r.z.object({}).describe("no input parameters"),outputSchema:ef}),eb=r.z.object({transcript:r.z.string().optional().describe("transcript of the video"),description:r.z.string().describe("description of the video content"),duration:r.z.number().optional().describe("duration in seconds")}),e_=(0,n.createProviderExecutedToolFactory)({id:"xai.view_x_video",inputSchema:r.z.object({}).describe("no input parameters"),outputSchema:eb}),ez={codeExecution:(e={})=>eg(e),fileSearch:e=>M(e),imageGeneration:(e={})=>U(e),mcpServer:e=>F(e),viewImage:(e={})=>ey(e),viewXVideo:(e={})=>e_(e),webSearch:(e={})=>W(e),xSearch:(e={})=>J(e)},ew=(0,n.lazySchema)(()=>(0,n.zodSchema)(r.z.looseObject({teamId:r.z.string().optional(),filePath:r.z.string().optional(),expiresAfter:r.z.number().int().min(3600).max(2592e3).optional()})));function ev(e){let t=encodeURIComponent(e);return"."===t?"%252E":".."===t?"%252E%252E":t}var ek=class{constructor(e){this.config=e,this.specificationVersion="v4"}get provider(){return this.config.provider}getFileId(e){let n=e.xai;if(null==n||""===n.trim())throw new t.InvalidArgumentError({argument:"file",message:"file reference is missing an 'xai' file id."});return n}getHeaders(e){return(0,n.combineHeaders)(this.config.headers(),e)}async uploadFile({data:e,mediaType:t,filename:o,abortSignal:r,headers:i,providerOptions:a}){let s,l;try{s=await (0,n.parseProviderOptions)({provider:"xai",providerOptions:a,schema:ew})}catch(t){throw"stream"===e.type&&await e.stream.cancel(t).catch(()=>{}),t}let c=this.getHeaders(i),d=`${this.config.baseURL}/files`;if("stream"===e.type){let i=[];s?.expiresAfter!=null&&i.push({type:"field",name:"expires_after",value:String(s.expiresAfter)}),s?.teamId!=null&&i.push({type:"field",name:"team_id",value:s.teamId}),i.push({type:"file",name:"file",filename:o,mediaType:t,content:e.stream}),{value:l}=await (0,n.postMultipartStreamToApi)({url:d,headers:c,parts:i,failedResponseHandler:u,successfulResponseHandler:(0,n.createJsonResponseHandler)(m),abortSignal:r,fetch:this.config.fetch})}else{let i=new Blob([(0,n.convertInlineFileDataToUint8Array)(e)],{type:t}),a=new FormData;s?.expiresAfter!=null&&a.append("expires_after",String(s.expiresAfter)),s?.teamId!=null&&a.append("team_id",s.teamId),null!=o?a.append("file",i,o):a.append("file",i),{value:l}=await (0,n.postFormDataToApi)({url:d,headers:c,formData:a,failedResponseHandler:u,successfulResponseHandler:(0,n.createJsonResponseHandler)(m),abortSignal:r,fetch:this.config.fetch})}return{warnings:[],providerReference:{xai:l.id},...l.filename??o?{filename:l.filename??o}:{},...null!=t?{mediaType:t}:{},...null!=l.bytes?{byteSize:l.bytes}:{},...null!=l.created_at?{createdAt:new Date(1e3*l.created_at)}:{},...null!=l.expires_at?{expiresAt:new Date(1e3*l.expires_at)}:{},providerMetadata:{xai:this.toFileMetadata(l)}}}async getFileMetadata({file:e,abortSignal:t,headers:o}){let r=this.getFileId(e),{value:i}=await (0,n.getFromApi)({url:`${this.config.baseURL}/files/${ev(r)}`,headers:this.getHeaders(o),failedResponseHandler:u,successfulResponseHandler:(0,n.createJsonResponseHandler)(m),abortSignal:t,fetch:this.config.fetch,validateUrl:!1});return{warnings:[],providerReference:{xai:i.id},...null!=i.filename?{filename:i.filename}:{},...null!=i.bytes?{byteSize:i.bytes}:{},...null!=i.created_at?{createdAt:new Date(1e3*i.created_at)}:{},...null!=i.expires_at?{expiresAt:new Date(1e3*i.expires_at)}:{},providerMetadata:{xai:this.toFileMetadata(i)}}}async downloadFile({file:e,abortSignal:t,headers:o}){let r=this.getFileId(e),{value:i,responseHeaders:a}=await (0,n.getFromApi)({url:`${this.config.baseURL}/files/${ev(r)}/content`,headers:this.getHeaders(o),failedResponseHandler:u,successfulResponseHandler:(0,n.createBinaryStreamResponseHandler)(),abortSignal:t,fetch:this.config.fetch,validateUrl:!1}),s=a?.["content-type"]?.split(";")[0].trim();return{warnings:[],content:i,...s?{mediaType:s}:{}}}async deleteFile({file:e,abortSignal:t,headers:o}){let r=this.getFileId(e),{value:i}=await (0,n.deleteFromApi)({url:`${this.config.baseURL}/files/${ev(r)}`,headers:this.getHeaders(o),failedResponseHandler:u,successfulResponseHandler:(0,n.createJsonResponseHandler)(g),abortSignal:t,fetch:this.config.fetch});return{warnings:[],providerReference:{xai:i.id},deleted:i.deleted}}toFileMetadata(e){return{...null!=e.filename?{filename:e.filename}:{},...null!=e.purpose?{purpose:e.purpose}:{},...null!=e.bytes?{bytes:e.bytes}:{},...null!=e.created_at?{createdAt:e.created_at}:{},...null!=e.status?{status:e.status}:{},...null!=e.expires_at?{expiresAt:e.expires_at}:{}}}},ex=r.z.string().min(1),eS=r.z.enum(["480p","720p","1080p"]),eT=r.z.enum(["edit-video","extend-video","reference-to-video"]),eI=r.z.object({imageUrl:ex,timestampSeconds:r.z.number().positive()}),eO=r.z.object({filename:ex,expiresAfter:r.z.number().int().positive().max(2592e3).optional(),publicUrl:r.z.union([r.z.boolean(),r.z.object({expiresAfter:r.z.number().int().min(3600).max(2592e3).optional()})]).optional()}),eE={pollIntervalMs:r.z.number().positive().nullish(),pollTimeoutMs:r.z.number().positive().nullish(),resolution:eS.nullish()},eC=r.z.looseObject({mode:eT.optional(),videoUrl:ex.optional(),referenceImageUrls:r.z.array(ex).min(1).max(7).optional(),referenceVoiceIds:r.z.array(ex).max(3).optional(),keyframes:r.z.array(eI).max(4).optional(),storageOptions:eO.optional(),user:r.z.string().optional(),...eE}),eA=(0,n.lazySchema)(()=>(0,n.zodSchema)(eC)),ej={"1920x1080":"1080p","1280x720":"720p","854x480":"480p","640x480":"480p"};function eR(e){return e.frameImages?.find(e=>"first_frame"===e.frameType)?.image}var e$=e=>null!=e.mediaType&&"video"===(0,n.getTopLevelMediaType)(e.mediaType),eM=e=>null==e.mediaType||"image"===(0,n.getTopLevelMediaType)(e.mediaType),eN=e=>null!=e.mediaType&&"audio"===(0,n.getTopLevelMediaType)(e.mediaType);function eL(e){if("url"===e.type)return e.url;let t="string"==typeof e.data?e.data:(0,n.convertUint8ArrayToBase64)(e.data);return`data:${e.mediaType};base64,${t}`}function eP(e){return e.inputReferences?.some(eM)??!1}function eU(e){return e.inputReferences?.some(eN)??!1}var eq=class{constructor(e,t){this.modelId=e,this.config=t,this.specificationVersion="v4",this.maxVideosPerCall=1}get provider(){return this.config.provider}async buildRequestBody(e){let t=[],o=await (0,n.parseProviderOptions)({provider:"xai",providerOptions:e.providerOptions,schema:eA}),r=function(e,t){if(t?.mode!=null)return t.mode;if(t?.videoUrl!=null)return"edit-video";let n=t?.referenceImageUrls!=null&&t.referenceImageUrls.length>0;if(eP(e)||eU(e)||n)return"reference-to-video"}(e,o),i="edit-video"===r,a="extend-video"===r,s="reference-to-video"===r;null!=e.fps&&t.push({type:"unsupported",feature:"fps",details:"xAI video models do not support custom FPS."}),null!=e.seed&&t.push({type:"unsupported",feature:"seed",details:"xAI video models do not support seed."}),null!=e.n&&e.n>1&&t.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!=e.duration&&t.push({type:"unsupported",feature:"duration",details:"xAI video editing does not support custom duration."}),i&&null!=e.aspectRatio&&t.push({type:"unsupported",feature:"aspectRatio",details:"xAI video editing does not support custom aspect ratio."}),i&&(o?.resolution!=null||null!=e.resolution)&&t.push({type:"unsupported",feature:"resolution",details:"xAI video editing does not support custom resolution."}),a&&null!=e.aspectRatio&&t.push({type:"unsupported",feature:"aspectRatio",details:"xAI video extension does not support custom aspect ratio."}),a&&(o?.resolution!=null||null!=e.resolution)&&t.push({type:"unsupported",feature:"resolution",details:"xAI video extension does not support custom resolution."});let l={model:this.modelId,prompt:e.prompt},u=!i&&!a;if(i||null==e.duration||(l.duration=e.duration),i||a||null==e.aspectRatio||(l.aspect_ratio=e.aspectRatio),u&&o?.resolution!=null)l.resolution=o.resolution;else if(u&&null!=e.resolution){let n=ej[e.resolution];null!=n?l.resolution=n:t.push({type:"unsupported",feature:"resolution",details:`Unrecognized resolution "${e.resolution}". Use providerOptions.xai.resolution with "480p", "720p", or "1080p" instead.`})}if(null==e.generateAudio||i||a?null!=e.generateAudio&&t.push({type:"unsupported",feature:"generateAudio",details:`xAI ${i?"video editing":"video extension"} does not support generateAudio.`}):l.generate_audio=e.generateAudio,o?.storageOptions!=null){let{filename:e,expiresAfter:t,publicUrl:n}=o.storageOptions;l.storage_options={filename:e,...null!=t?{expires_after:t}:{},...null!=n?{public_url:"boolean"==typeof n?n:{...null!=n.expiresAfter?{expires_after:n.expiresAfter}:{}}}:{}}}o?.keyframes!=null&&o.keyframes.length>0&&("grok-imagine-video-1.5"!==this.modelId||i||a?t.push({type:"unsupported",feature:"keyframes",details:"grok-imagine-video-1.5"!==this.modelId?'xAI only supports keyframes with "grok-imagine-video-1.5".':`xAI ${i?"video editing":"video extension"} does not support keyframes.`}):l.keyframes=o.keyframes.map(e=>({image:{url:e.imageUrl},timestamp_s:e.timestampSeconds}))),i&&(l.video={url:o.videoUrl}),a&&(l.video={url:o.videoUrl});let c=eR(e)??e.image;if(null!=c)if(e$(c)){let n=null!=eR(e);t.push({type:"unsupported",feature:n?"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:eL(c)};let d=e.frameImages?.find(e=>"last_frame"===e.frameType)?.image;if(null!=d&&("grok-imagine-video-1.5"!==this.modelId||i||a||e$(d)?t.push({type:"unsupported",feature:"frameImages",details:"grok-imagine-video-1.5"!==this.modelId?'xAI only supports last_frame with "grok-imagine-video-1.5". The last frame was ignored.':"xAI only accepts an image last_frame for video generation. The last frame was ignored."}):l.last_frame={url:eL(d)}),s){let n,r=function(e,t,n){if(null!=e.inputReferences&&e.inputReferences.length>0){let t=[];for(let o of e.inputReferences)if(!eN(o)){if(!eM(o)){n.push({type:"unsupported",feature:"inputReferences",details:'xAI reference-to-video does not accept video references. The video reference was ignored. Use providerOptions.xai.mode "extend-video" to continue from a video.'});continue}t.push(o)}return t.length>0?t.map(e=>({url:eL(e)})):void 0}if(t?.referenceImageUrls!=null&&t.referenceImageUrls.length>0)return t.referenceImageUrls.map(e=>({url:e}))}(e,o,t),i=null!=(n=e.inputReferences?.filter(eN))&&n.length>0?n.map(e=>({url:eL(e)})):void 0;null!=r?l.reference_images=r:null==i&&t.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 a=o?.referenceVoiceIds,s=[...i??[],...a?.map(e=>({voice_id:e}))??[]];s.length>0&&(s.length>3&&t.push({type:"unsupported",feature:"inputReferences",details:"xAI reference-to-video supports at most 3 audio references. Only the first 3 were used."}),l.reference_audios=s.slice(0,3)),"1080p"===l.resolution&&(t.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&&t.push({type:"unsupported",feature:"resolution",details:'xAI model "grok-imagine-video" does not support 1080p. Use "grok-imagine-video-1.5" for 1080p, or a lower resolution. The request was sent with 1080p.'}),null!=e.inputReferences&&e.inputReferences.length>0&&!s&&t.push({type:"unsupported",feature:"inputReferences",details:eP(e)||eU(e)?"xAI only supports inputReferences for reference-to-video generation. The references were ignored.":"xAI reference-to-video requires at least one image or audio reference. The references were ignored."}),o?.referenceVoiceIds!=null&&o.referenceVoiceIds.length>0&&!s&&t.push({type:"unsupported",feature:"referenceVoiceIds",details:"xAI only supports reference voices for reference-to-video generation. The reference voices were ignored."}),a||o?.user===void 0||(l.user=o.user),null!=o)for(let[e,t]of Object.entries(o))["mode","pollIntervalMs","pollTimeoutMs","resolution","videoUrl","referenceImageUrls","referenceVoiceIds","keyframes","storageOptions","user"].includes(e)||(l[e]=t);return{body:l,warnings:t,xaiOptions:o,isEdit:i,isExtension:a,hasReferenceImages:s,effectiveMode:r}}async doStart(e){let o,r=this.config._internal?.currentDate?.()??new Date,{body:i,warnings:a,isEdit:s,isExtension:l}=await this.buildRequestBody(e),c=this.config.baseURL??"https://api.x.ai/v1";o=s?`${c}/videos/edits`:l?`${c}/videos/extensions`:`${c}/videos/generations`;let{value:d,responseHeaders:p}=await (0,n.postJsonToApi)({url:o,headers:(0,n.combineHeaders)(this.config.headers(),e.headers),body:i,failedResponseHandler:u,successfulResponseHandler:(0,n.createJsonResponseHandler)(eD),abortSignal:e.abortSignal,fetch:this.config.fetch}),h=d.request_id;if(!h)throw new t.AISDKError({name:"XAI_VIDEO_GENERATION_ERROR",message:"No request_id returned from xAI API."});return{operation:{requestId:h},warnings:a,response:{timestamp:r,modelId:this.modelId,headers:p}}}async doStatus(e){let t,o=this.config._internal?.currentDate?.()??new Date,{requestId:r}=e.operation,i=this.config.baseURL??"https://api.x.ai/v1",{value:a,responseHeaders:s}=await (0,n.getFromApi)({url:`${i}/videos/${"."===(t=encodeURIComponent(r))?"%252E":".."===t?"%252E%252E":t}`,validateUrl:!1,headers:(0,n.combineHeaders)(this.config.headers(),e.headers),successfulResponseHandler:eK,failedResponseHandler:u,abortSignal:e.abortSignal,fetch:this.config.fetch});if("expired"===a.status)return{status:"error",error:"Video generation request expired.",response:{timestamp:o,modelId:this.modelId,headers:s}};if("failed"===a.status){let e=a.error?.message??a.error?.code;return{status:"error",error:null!=e?`Video generation failed: ${e}`:"Video generation failed.",response:{timestamp:o,modelId:this.modelId,headers:s}}}if("done"===a.status||null==a.status&&a.video?.url){let e=a.video;if(e?.respect_moderation===!1)return{status:"error",error:"Video generation was blocked due to a content policy violation.",response:{timestamp:o,modelId:this.modelId,headers:s}};let t=e?.url??e?.file_output?.public_url??void 0;return t?{status:"completed",videos:[{type:"url",url:t,mediaType:"video/mp4"}],warnings:[],response:{timestamp:o,modelId:this.modelId,headers:s},providerMetadata:{xai:{requestId:r,videoUrl:t,...e?.duration!=null?{duration:e.duration}:{},...a.usage?.cost_in_usd_ticks!=null?{costInUsdTicks:a.usage.cost_in_usd_ticks}:{},...null!=a.progress?{progress:a.progress}:{},...e?.file_output!=null?{fileOutput:{fileId:e.file_output.file_id,filename:e.file_output.filename,...null!=e.file_output.expires_at?{expiresAt:e.file_output.expires_at}:{},...null!=e.file_output.public_url?{publicUrl:e.file_output.public_url}:{},...null!=e.file_output.public_url_error?{publicUrlError:e.file_output.public_url_error}:{},...null!=e.file_output.public_url_expires_at?{publicUrlExpiresAt:e.file_output.public_url_expires_at}:{}}}:{},...e?.storage_error!=null?{storageError:e.storage_error}:{}}}}:{status:"error",error:"Video generation completed but no video URL was returned.",response:{timestamp:o,modelId:this.modelId,headers:s}}}return{status:"pending",response:{timestamp:o,modelId:this.modelId,headers:s}}}},eD=r.z.object({request_id:r.z.string().nullish()}),eF=r.z.object({status:r.z.string().nullish(),video:r.z.object({url:r.z.string().nullish(),duration:r.z.number().nullish(),respect_moderation:r.z.boolean().nullish(),file_output:r.z.object({file_id:r.z.string(),filename:r.z.string(),expires_at:r.z.number().nullish(),public_url:r.z.string().nullish(),public_url_error:r.z.string().nullish(),public_url_expires_at:r.z.number().nullish()}).nullish(),storage_error:r.z.string().nullish()}).nullish(),model:r.z.string().nullish(),usage:r.z.object({cost_in_usd_ticks:r.z.number().nullish()}).nullish(),progress:r.z.number().nullish(),error:r.z.object({code:r.z.string().nullish(),message:r.z.string().nullish()}).nullish()}),eH=(0,n.createJsonResponseHandler)(eF),eB=new TextDecoder;async function eW({response:e,url:o,requestBodyValues:r}){if(null==e.body)return"";let i=e.body.getReader(),a=[],s=0;try{for(;;){let{done:l,value:u}=await i.read();if(l)break;if((s+=u.length)>1048576)throw new t.APICallError({message:"xAI video status response exceeded 1048576 bytes",url:o,requestBodyValues:r,statusCode:e.status,responseHeaders:(0,n.extractResponseHeaders)(e)});a.push(u)}}finally{i.releaseLock()}let l=new Uint8Array(s),u=0;for(let e of a)l.set(e,u),u+=e.length;return eB.decode(l)}var eK=async e=>{if(202===e.response.status){let t=(0,n.extractResponseHeaders)(e.response),o=await eW(e);if(0===o.trim().length)return{responseHeaders:t,value:{status:"pending"}};let r=await (0,n.safeParseJSON)({text:o,schema:eF});return{responseHeaders:t,value:r.success?r.value:{status:"pending"}}}return eH(e)},eV=(0,n.lazySchema)(()=>(0,n.zodSchema)(r.z.object({sampleRate:r.z.union([r.z.literal(8e3),r.z.literal(16e3),r.z.literal(22050),r.z.literal(24e3),r.z.literal(44100),r.z.literal(48e3)]).nullish(),bitRate:r.z.union([r.z.literal(32e3),r.z.literal(64e3),r.z.literal(96e3),r.z.literal(128e3),r.z.literal(192e3)]).nullish(),optimizeStreamingLatency:r.z.union([r.z.literal(0),r.z.literal(1),r.z.literal(2)]).nullish(),textNormalization:r.z.boolean().nullish(),withTimestamps:r.z.boolean().nullish(),replace:r.z.record(r.z.string(),r.z.string()).nullish()}))),eJ=class e{constructor(e,t){this.modelId=e,this.config=t,this.specificationVersion="v4"}static[o.WORKFLOW_SERIALIZE](e){return(0,n.serializeModelOptions)({modelId:e.modelId,config:e.config})}static[o.WORKFLOW_DESERIALIZE](t){return new e(t.modelId,t.config)}get provider(){return this.config.provider}async getArgs({text:e,voice:t="eve",outputFormat:o="mp3",instructions:r,speed:i,language:a="auto",providerOptions:s}){let l=[],u=await (0,n.parseProviderOptions)({provider:"xai",providerOptions:s,schema:eV}),c="mp3";["mp3","wav","pcm","mulaw","alaw"].includes(o)?c=o:l.push({type:"unsupported",feature:"outputFormat",details:`Unsupported output format: ${o}. Using mp3 instead.`}),null!=r&&l.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 d={codec:c};return u?.sampleRate!=null&&(d.sample_rate=u.sampleRate),u?.bitRate!=null&&("mp3"===c?d.bit_rate=u.bitRate:l.push({type:"unsupported",feature:"providerOptions",details:"xAI `bitRate` is supported only for mp3 output. It was ignored."})),{requestBody:{text:e,voice_id:t,language:a,output_format:d,speed:i,optimize_streaming_latency:u?.optimizeStreamingLatency,text_normalization:u?.textNormalization,with_timestamps:u?.withTimestamps,replace:u?.replace},warnings:l,withTimestamps:u?.withTimestamps===!0}}async doGenerate(e){let t,o,r=this.config._internal?.currentDate?.()??new Date,{requestBody:i,warnings:a,withTimestamps:s}=await this.getArgs(e),{value:l,responseHeaders:c,rawValue:d}=await (0,n.postJsonToApi)({url:`${this.config.baseURL}/tts`,headers:(0,n.combineHeaders)(this.config.headers?await (0,n.resolve)(this.config.headers):void 0,e.headers),body:i,failedResponseHandler:u,successfulResponseHandler:s?(0,n.createJsonResponseHandler)(eG):(0,n.createBinaryResponseHandler)(),abortSignal:e.abortSignal,fetch:this.config.fetch});t=l instanceof Uint8Array?l:null!=(o=l).audio?(0,n.convertBase64ToUint8Array)(o.audio):new Uint8Array(0);let p=c?.["x-trace-id"];return{audio:t,warnings:a,request:{body:JSON.stringify(i)},response:{timestamp:r,modelId:this.modelId,headers:c,body:d},providerMetadata:{xai:{...null!=p?{traceId:p}:{},...o?.duration!=null?{duration:o.duration}:{},...o?.content_type!=null?{contentType:o.content_type}:{},...o?.audio_timestamps!=null?{audioTimestamps:{graphChars:o.audio_timestamps.graph_chars,graphTimes:o.audio_timestamps.graph_times}}:{}}}}}},eG=r.z.object({audio:r.z.string().nullish(),content_type:r.z.string().nullish(),duration:r.z.number().nullish(),audio_timestamps:r.z.object({graph_chars:r.z.array(r.z.string()),graph_times:r.z.array(r.z.tuple([r.z.number(),r.z.number()]))}).nullish()}),eY=(0,n.lazySchema)(()=>(0,n.zodSchema)(r.z.object({audioFormat:r.z.enum(["pcm","mulaw","alaw"]).nullish(),sampleRate:r.z.union([r.z.literal(8e3),r.z.literal(16e3),r.z.literal(22050),r.z.literal(24e3),r.z.literal(44100),r.z.literal(48e3)]).nullish(),language:r.z.string().nullish(),format:r.z.boolean().nullish(),multichannel:r.z.boolean().nullish(),channels:r.z.number().int().min(2).max(8).nullish(),diarize:r.z.boolean().nullish(),keyterm:r.z.union([r.z.string(),r.z.array(r.z.string())]).nullish(),fillerWords:r.z.boolean().nullish(),streaming:r.z.object({interimResults:r.z.boolean().optional(),endpointing:r.z.number().int().min(0).max(5e3).optional(),smartTurn:r.z.number().min(0).max(1).optional(),smartTurnTimeout:r.z.number().int().min(1).max(5e3).optional()}).optional()}))),eZ=class e{constructor(e,t){this.modelId=e,this.config=t,this.specificationVersion="v4"}static[o.WORKFLOW_SERIALIZE](e){return(0,n.serializeModelOptions)({modelId:e.modelId,config:e.config})}static[o.WORKFLOW_DESERIALIZE](t){return new e(t.modelId,t.config)}get provider(){return this.config.provider}async getArgs({audio:e,mediaType:t,providerOptions:o}){let r=await (0,n.parseProviderOptions)({provider:"xai",providerOptions:o,schema:eY}),i=new FormData;for(let[e,t]of Object.entries({audio_format:r?.audioFormat,sample_rate:r?.sampleRate,language:r?.language,format:r?.format,multichannel:r?.multichannel,channels:r?.channels,diarize:r?.diarize,filler_words:r?.fillerWords}))null!=t&&i.append(e,String(t));if(r?.keyterm!=null)for(let e of Array.isArray(r.keyterm)?r.keyterm:[r.keyterm])i.append("keyterm",e);let a=e instanceof Uint8Array?new Blob([e]):new Blob([(0,n.convertBase64ToUint8Array)(e)]),s=(0,n.mediaTypeToExtension)(t);return i.append("file",new File([a],"audio",{type:t}),`audio.${s}`),{formData:i,warnings:[]}}async doGenerate(e){let t=this.config._internal?.currentDate?.()??new Date,{formData:o,warnings:r}=await this.getArgs(e),{value:i,responseHeaders:a,rawValue:s}=await (0,n.postFormDataToApi)({url:`${this.config.baseURL??"https://api.x.ai/v1"}/stt`,headers:(0,n.combineHeaders)(this.config.headers?.(),e.headers),formData:o,failedResponseHandler:u,successfulResponseHandler:(0,n.createJsonResponseHandler)(eQ),abortSignal:e.abortSignal,fetch:this.config.fetch});return{text:i.text,segments:i.words?.map(e=>({text:e.text,startSecond:e.start,endSecond:e.end}))??[],language:i.language||void 0,durationInSeconds:i.duration??void 0,warnings:r,response:{timestamp:t,modelId:this.modelId,headers:a,body:s}}}async doStream(e){var o;let r=this.config._internal?.currentDate?.()??new Date,i=[],a=await (0,n.parseProviderOptions)({provider:"xai",providerOptions:e.providerOptions,schema:eY});if(a?.multichannel===!0&&null==a.channels)throw new t.InvalidArgumentError({argument:"providerOptions",message:"providerOptions.xai.channels is required when providerOptions.xai.multichannel is true"});a?.format!=null&&i.push({type:"unsupported",feature:"providerOptions.xai.format",details:"xAI streaming transcription does not support format."}),a?.audioFormat==null&&"audio/pcm"!==(o=e.inputAudioFormat.type)&&"audio/pcmu"!==o&&"audio/pcma"!==o&&i.push({type:"other",message:`Unrecognized inputAudioFormat.type "${e.inputAudioFormat.type}"; falling back to raw PCM encoding. Use audio/pcm, audio/pcmu, or audio/pcma, or set providerOptions.xai.audioFormat explicitly.`});let s=function({baseURL:e,inputAudioFormat:t,providerOptions:o}){let r=(0,n.toWebSocketUrl)(`${e}/stt`);if(eX(r,"sample_rate",o?.sampleRate??t.rate),eX(r,"encoding",o?.audioFormat??function(e){switch(e){case"audio/pcmu":return"mulaw";case"audio/pcma":return"alaw";default:return"pcm"}}(t.type)),eX(r,"language",o?.language),eX(r,"diarize",o?.diarize),eX(r,"filler_words",o?.fillerWords),eX(r,"multichannel",o?.multichannel),eX(r,"channels",o?.channels),eX(r,"interim_results",o?.streaming?.interimResults),eX(r,"endpointing",o?.streaming?.endpointing),eX(r,"smart_turn",o?.streaming?.smartTurn),eX(r,"smart_turn_timeout",o?.streaming?.smartTurnTimeout),o?.keyterm!=null)for(let e of Array.isArray(o.keyterm)?o.keyterm:[o.keyterm])r.searchParams.append("keyterm",e);return r}({baseURL:this.config.baseURL??"https://api.x.ai/v1",inputAudioFormat:e.inputAudioFormat,providerOptions:a}),l=(0,n.combineHeaders)(this.config.headers?.(),e.headers);return{request:{body:s.toString()},response:{timestamp:r,modelId:this.modelId},stream:function({webSocket:e,url:t,headers:o,warnings:r,language:i,expectedDoneCount:a,audio:s,abortSignal:l,includeRawChunks:u}){let c=!1,d=()=>{};return new ReadableStream({start:p=>{let h,m,g,f=new Map,y=new Map,b=new Map;d=e=>{null!=m?m.cancel().catch(()=>{}):s.cancel().catch(()=>{}),g?.close(e)};let _=e=>{c||(c=!0,d(),p.error(e))},z=async e=>{m=s.getReader();try{for(;;){let{done:t,value:o}=await m.read();if(t||c)break;e.send(o instanceof Uint8Array?o:(0,n.convertBase64ToUint8Array)(o)),await (0,n.waitForWebSocketBufferDrain)(e)}}finally{m.releaseLock(),m=void 0}c||e.send(JSON.stringify({type:"audio.done"}))};g=(0,n.connectToWebSocket)({url:t,headers:o,webSocket:e,abortSignal:l,onAbort:_,onProcessingError:_,onMessageText:async e=>{let t=await (0,n.safeParseJSON)({text:e});if(!t.success)return;let o=t.value;switch(u&&p.enqueue({type:"raw",rawValue:o}),o.type){case"transcript.created":{p.enqueue({type:"stream-start",warnings:r});let e=g?.socket;if(null==e){_(Error("WebSocket is not connected."));break}z(e).catch(_);break}case"transcript.partial":{var s,l;let e=null==(s=o.channel_index)?void 0:`channel-${s}`,t=o.channel_index??0;if(o.is_final&&o.speech_final){let n={...null!=(l=o).start?{startSecond:l.start}:{},...null!=l.start&&null!=l.duration?{endSecond:l.start+l.duration}:{}};o.text&&y.set(t,[...y.get(t)??[],o.text]),b.delete(t),p.enqueue({type:"transcript-final",id:e,text:o.text??"",...n,channelIndex:o.channel_index})}else b.set(t,o.text??""),p.enqueue({type:"transcript-partial",id:e,text:o.text??"",startSecond:o.start,durationInSeconds:o.duration,channelIndex:o.channel_index});break}case"transcript.done":{let e=o.channel_index??0,t=[...y.get(e)??[],...b.get(e)?[b.get(e)]:[]].join(" ");f.set(e,o.text||t),h=o.duration??h,(()=>{if(c||f.size<a)return;c=!0;let e=[...f.entries()].sort(([e],[t])=>e-t).map(([,e])=>e).join("\n");p.enqueue({type:"finish",text:e,segments:[],language:i,durationInSeconds:h}),p.close(),d(1e3)})();break}case"error":_(Error(o.message??"xAI STT error"))}},onSocketError:()=>{_(Error("xAI streaming transcription error."+(null==e?" Note: the native WebSocket implementation in browsers, Node.js, Deno, and Bun cannot send the Authorization header required by xAI. Pass a header-capable WebSocket implementation (e.g. the 'ws' package) via createXai({ webSocket }).":"")))},onClose:()=>{c||(c=!0,d(),p.close())}})},cancel:()=>{c||(c=!0,d())}})}({webSocket:this.config.webSocket,url:s,headers:l,warnings:i,language:a?.language??void 0,expectedDoneCount:a?.multichannel===!0?a.channels:1,audio:e.audio,abortSignal:e.abortSignal,includeRawChunks:e.includeRawChunks})}}};function eX(e,t,n){null!=n&&e.searchParams.set(t,String(n))}var eQ=r.z.object({text:r.z.string(),language:r.z.string().nullish(),duration:r.z.number().nullish(),words:r.z.array(r.z.object({text:r.z.string(),start:r.z.number(),end:r.z.number()})).nullish()});function e0(e={}){let o=(0,n.withoutTrailingSlash)(e.baseURL??"https://api.x.ai/v1"),r=()=>(0,n.withUserAgentSuffix)({Authorization:`Bearer ${(0,n.loadApiKey)({apiKey:e.apiKey,environmentVariableName:"XAI_API_KEY",description:"xAI API key"})}`,...e.headers},"ai-sdk/xai/5.0.10"),i=t=>new X(t,{provider:"xai.responses",baseURL:o,headers:r,generateId:n.generateId,fetch:e.fetch}),a=t=>new d(t,{provider:"xai.image",baseURL:o,headers:r,fetch:e.fetch}),s=t=>new eq(t,{provider:"xai.video",baseURL:o,headers:r,fetch:e.fetch}),l=t=>new eh(t,{provider:"xai.realtime",baseURL:o??"https://api.x.ai/v1",headers:r,fetch:e.fetch}),u=()=>new eJ("",{provider:"xai.speech",baseURL:o,headers:r,fetch:e.fetch}),c=()=>new eZ("",{provider:"xai.transcription",baseURL:o,headers:r,fetch:e.fetch,webSocket:e.webSocket}),p=Object.assign(e=>l(e),{getToken:async e=>{let t=l(e.model),n=await t.doCreateClientSecret({sessionConfig:e.sessionConfig,expiresAfterSeconds:e.expiresAfterSeconds});return{token:n.token,url:n.url,expiresAt:n.expiresAt}}}),h=e=>i(e);return h.specificationVersion="v4",h.languageModel=i,h.responses=i,h.embeddingModel=e=>{throw new t.NoSuchModelError({modelId:e,modelType:"embeddingModel"})},h.textEmbeddingModel=h.embeddingModel,h.imageModel=a,h.image=a,h.videoModel=s,h.video=s,h.experimental_realtime=p,h.speechModel=u,h.speech=u,h.transcriptionModel=c,h.transcription=c,h.files=()=>new ek({provider:"xai.files",baseURL:o,headers:r,fetch:e.fetch}),h.experimental_batch=()=>new eu({provider:"xai.batch",config:{provider:"xai.responses",baseURL:o,headers:r,generateId:n.generateId,fetch:e.fetch}}),h.tools=ez,h}e0(),e.s(["createXai",0,e0])},800405,e=>{"use strict";var t,n,o,r,i,a,s,l,u,c,d,p,h,m,g,f,y,b,_,z,w,v,k,x,S,T,I,O,E,C=e.i(59994),A=e.i(404482),j=e.i(853205),R=Object.defineProperty,$=Object.defineProperties,M=Object.getOwnPropertyDescriptors,N=Object.getOwnPropertySymbols,L=Object.prototype.hasOwnProperty,P=Object.prototype.propertyIsEnumerable,U=e=>{throw TypeError(e)},q=(e,t,n)=>t in e?R(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,D=(e,t)=>{for(var n in t||(t={}))L.call(t,n)&&q(e,n,t[n]);if(N)for(var n of N(t))P.call(t,n)&&q(e,n,t[n]);return e},F=(e,t)=>$(e,M(t)),H=(e,t)=>{var n={};for(var o in e)L.call(e,o)&&0>t.indexOf(o)&&(n[o]=e[o]);if(null!=e&&N)for(var o of N(e))0>t.indexOf(o)&&P.call(e,o)&&(n[o]=e[o]);return n},B=(e,t,n)=>(t.has(e)||U("Cannot read from private field"),n?n.call(e):t.get(e)),W="vercel.ai.error",K=Symbol.for(W),V=class e extends(o=Error,n=K,o){constructor({name:e,message:t,cause:o}){super(t),this[n]=!0,this.name=e,this.cause=o}static isInstance(t){return e.hasMarker(t,W)}static hasMarker(e,t){let n=Symbol.for(t);return null!=e&&"object"==typeof e&&n in e&&"boolean"==typeof e[n]&&!0===e[n]}},J="AI_APICallError",G=`vercel.ai.error.${J}`,Y=Symbol.for(G),Z=class extends(i=V,r=Y,i){constructor({message:e,url:t,requestBodyValues:n,statusCode:o,responseHeaders:i,responseBody:a,cause:s,isRetryable:l=null!=o&&(408===o||409===o||429===o||o>=500),data:u}){super({name:J,message:e,cause:s}),this[r]=!0,this.url=t,this.requestBodyValues=n,this.statusCode=o,this.responseHeaders=i,this.responseBody=a,this.isRetryable=l,this.data=u}static isInstance(e){return V.hasMarker(e,G)}},X="AI_EmptyResponseBodyError",Q=`vercel.ai.error.${X}`,ee=Symbol.for(Q),et=class extends(s=V,a=ee,s){constructor({message:e="Empty response body"}={}){super({name:X,message:e}),this[a]=!0}static isInstance(e){return V.hasMarker(e,Q)}},en=Symbol.for("vercel.ai.error.AI_EvaluationUnsupportedQuestionTypeError");function eo(e){return null==e?"unknown error":"string"==typeof e?e:e instanceof Error?e.toString():JSON.stringify(e)}var er="AI_InvalidArgumentError",ei=`vercel.ai.error.${er}`,ea=Symbol.for(ei),es=class extends(u=V,l=ea,u){constructor({message:e,cause:t,argument:n}){super({name:er,message:e,cause:t}),this[l]=!0,this.argument=n}static isInstance(e){return V.hasMarker(e,ei)}},el="AI_InvalidPromptError",eu=`vercel.ai.error.${el}`,ec=Symbol.for(eu),ed=class extends(d=V,c=ec,d){constructor({prompt:e,message:t,cause:n}){super({name:el,message:`Invalid prompt: ${t}`,cause:n}),this[c]=!0,this.prompt=e}static isInstance(e){return V.hasMarker(e,eu)}},ep="AI_InvalidResponseDataError",eh=`vercel.ai.error.${ep}`,em=Symbol.for(eh),eg=class extends(h=V,p=em,h){constructor({data:e,message:t=`Invalid response data: ${JSON.stringify(e)}.`}){super({name:ep,message:t}),this[p]=!0,this.data=e}static isInstance(e){return V.hasMarker(e,eh)}},ef="AI_JSONParseError",ey=`vercel.ai.error.${ef}`,eb=Symbol.for(ey),e_=class extends(g=V,m=eb,g){constructor({text:e,cause:t}){super({name:ef,message:`JSON parsing failed: Text: ${e}.
|
|
169
|
-
Error message: ${eo(t)}`,cause:t}),this[m]=!0,this.text=e}static isInstance(e){return V.hasMarker(e,ey)}},
|
|
168
|
+
${n.text}`};t[t.length-1]=o;continue}t.push(n)}return t}(t);n.length>0&&c.push({type:"user_input",content:n});break}case"assistant":{let n=[],o=()=>{n.length>0&&(c.push({type:"model_output",content:n}),n=[])};for(let a of e.content)if("text"===a.type)n.push({type:"text",text:a.text});else if("reasoning"===a.type){o();let e=a.providerOptions?.google?.signature;c.push({type:"thought",...null!=e?{signature:e}:{},summary:a.text.length>0?[{type:"text",text:a.text}]:void 0})}else if("file"===a.type){let e=eG({part:a,warnings:i,mediaResolution:r});null!=e&&n.push(e)}else if("custom"===a.type){o();let e=a.providerOptions?.google,t="string"==typeof e?.signature?e.signature:void 0;"google.processing_call"===a.kind&&"string"==typeof e?.processingId?c.push({type:"processing_call",id:e.processingId,...null!=t?{signature:t}:{}}):"google.processing_result"===a.kind&&"string"==typeof e?.processingCallId?c.push({type:"processing_result",call_id:e.processingCallId,...null!=t?{signature:t}:{}}):i.push({type:"other",message:`google.interactions: unsupported or invalid custom assistant content part "${a.kind}"; part dropped.`})}else if("tool-call"===a.type){o();let e=a.providerOptions?.google?.signature,n="string"==typeof a.input?function(e){try{let n=(0,t.secureJsonParse)(e);if(null!=n&&"object"==typeof n&&!Array.isArray(n))return n;return{value:n}}catch{return{value:e}}}(a.input):a.input??{};c.push({type:"function_call",id:a.toolCallId,name:a.toolName,arguments:n,...null!=e?{signature:e}:{}})}else i.push({type:"other",message:`google.interactions: unsupported assistant content part type "${a.type}"; part dropped.`});o();break}case"tool":{let n=[];for(let o of e.content){if("tool-result"!==o.type){i.push({type:"other",message:`google.interactions: unsupported tool message part type "${o.type}"; part dropped.`});continue}let e=function({toolCallId:e,toolName:n,output:o,signature:r,warnings:i}){let a={type:"function_result",call_id:e,name:n,...null!=r?{signature:r}:{}};switch(o.type){case"text":return{...a,result:o.value};case"json":return{...a,result:JSON.stringify(o.value)};case"error-text":return{...a,is_error:!0,result:o.value};case"error-json":return{...a,is_error:!0,result:JSON.stringify(o.value)};case"execution-denied":return{...a,is_error:!0,result:o.reason??"Tool execution denied by user."};case"content":{let e=[];for(let n of o.value)if("text"===n.type)e.push({type:"text",text:n.text});else if("file"===n.type){if("image"!==(0,t.getTopLevelMediaType)(n.mediaType)){i.push({type:"other",message:`google.interactions: tool-result file with mediaType "${n.mediaType}" is not supported (Interactions \`function_result.result\` accepts only text and image content); part dropped.`});continue}let o=function({part:e,warnings:n}){switch(e.data.type){case"data":{let n=(0,t.isFullMediaType)(e.mediaType)?e.mediaType:(0,t.resolveFullMediaType)({part:{type:"file",mediaType:e.mediaType,data:e.data}});return{type:"image",data:(0,t.convertToBase64)(e.data.data),mime_type:n}}case"url":return{type:"image",uri:e.data.url.toString(),...(0,t.isFullMediaType)(e.mediaType)?{mime_type:e.mediaType}:{}};case"reference":return{type:"image",uri:(0,t.resolveProviderReference)({reference:e.data.reference,provider:"google"}),...(0,t.isFullMediaType)(e.mediaType)?{mime_type:e.mediaType}:{}};case"text":n.push({type:"other",message:'google.interactions: tool-result image part with `data.type === "text"` is not representable as an image; part dropped.'});return}}({part:n,warnings:i});null!=o&&e.push(o)}else i.push({type:"other",message:`google.interactions: tool-result content part type "${n.type}" is not supported; part dropped.`});return{...a,result:e}}}}({toolCallId:o.toolCallId,toolName:o.toolName,output:o.output,signature:o.providerOptions?.google?.signature,warnings:i});n.push(e)}n.length>0&&c.push({type:"user_input",content:n})}}return{input:c,systemInstruction:u.length>0?u.join("\n\n"):void 0,warnings:i}}({prompt:e.prompt,previousInteractionId:l?.previousInteractionId??void 0,store:l?.store??void 0,mediaResolution:l?.mediaResolution??void 0});s.push(...h);let m=p,g=l?.systemInstruction??void 0;if(null!=m&&null!=g?s.push({type:"other",message:"google.interactions: both AI SDK system message and providerOptions.google.systemInstruction were set; using the AI SDK system message."}):null==m&&null!=g&&(m=g),u){let t=[];null!=e.temperature&&t.push("temperature"),null!=e.topP&&t.push("topP"),null!=e.topK&&t.push("topK"),null!=e.frequencyPenalty&&t.push("frequencyPenalty"),null!=e.presencePenalty&&t.push("presencePenalty"),null!=e.seed&&t.push("seed"),null!=e.stopSequences&&e.stopSequences.length>0&&t.push("stopSequences"),null!=e.maxOutputTokens&&t.push("maxOutputTokens"),l?.thinkingLevel!=null&&t.push("thinkingLevel"),l?.thinkingSummaries!=null&&t.push("thinkingSummaries"),l?.imageConfig!=null&&t.push("imageConfig"),t.length>0&&s.push({type:"other",message:`google.interactions: ${t.join(", ")} ${1===t.length?"is":"are"} not supported when an agent is set; use providerOptions.google.agentConfig instead. Dropped from the request body.`}),r=void 0}else if(r=ts({temperature:e.temperature??void 0,top_p:e.topP??void 0,top_k:e.topK??void 0,seed:e.seed??void 0,stop_sequences:null!=e.stopSequences&&e.stopSequences.length>0?e.stopSequences:void 0,max_output_tokens:e.maxOutputTokens??void 0,thinking_level:l?.thinkingLevel??void 0,thinking_summaries:l?.thinkingSummaries??void 0,tool_choice:o}),l?.imageConfig!=null){let e=c.some(e=>"image"===e.type);s.push({type:"other",message:e?"google.interactions: providerOptions.google.imageConfig is deprecated and was ignored because providerOptions.google.responseFormat already supplies an image entry. Use responseFormat exclusively.":'google.interactions: providerOptions.google.imageConfig is deprecated. Use providerOptions.google.responseFormat with a { type: "image", ... } entry instead.'}),e||c.push({type:"image",mime_type:"image/png",...null!=l.imageConfig.aspectRatio?{aspect_ratio:l.imageConfig.aspectRatio}:{},...null!=l.imageConfig.imageSize?{image_size:l.imageConfig.imageSize}:{}})}if(u&&l?.agentConfig!=null){let e=l.agentConfig;"deep-research"===e.type?i=ts({type:"deep-research",thinking_summaries:e.thinkingSummaries??void 0,visualization:e.visualization??void 0,collaborative_planning:e.collaborativePlanning??void 0}):"dynamic"===e.type&&(i={type:"dynamic"})}if(l?.environment!=null)if(u)if("string"==typeof l.environment)a=l.environment;else{let e,t=l.environment,n=t.sources?.map(e=>"inline"===e.type?{type:"inline",content:e.content,target:e.target}:ts({type:e.type,source:e.source,target:e.target??void 0}));"disabled"===t.network?e="disabled":null!=t.network&&(e={allowlist:t.network.allowlist.map(e=>ts({domain:e.domain,transform:e.transform??void 0}))}),a=ts({type:"remote",sources:null!=n&&n.length>0?n:void 0,network:e})}else s.push({type:"other",message:"google.interactions: environment is only supported when an agent is set; environment will be omitted from the request body."});return{args:ts({...u?{agent:this.agent}:{model:this.modelId},input:d,system_instruction:m,tools:n,response_format:c.length>0?c:void 0,response_modalities:l?.responseModalities!=null?l.responseModalities:void 0,previous_interaction_id:l?.previousInteractionId??void 0,service_tier:l?.serviceTier??void 0,store:l?.store??void 0,generation_config:null!=r&&Object.keys(r).length>0?r:void 0,agent_config:i,environment:a,background:l?.background??void 0}),warnings:s,isAgent:u,isBackground:l?.background===!0,pollingTimeoutMs:l?.pollingTimeoutMs??void 0}}async doGenerate(e){let n,{args:o,warnings:r,isAgent:i,pollingTimeoutMs:a}=await this.getArgs(e),l=`${this.config.baseURL}/interactions`,u=(0,t.combineHeaders)(this.config.headers?await (0,t.resolve)(this.config.headers):void 0,e.headers),{responseHeaders:c,value:d,rawValue:p}=await (0,t.postJsonToApi)({url:l,headers:u,body:o,failedResponseHandler:s,successfulResponseHandler:(0,t.createJsonResponseHandler)(e5),abortSignal:e.abortSignal,fetch:this.config.fetch});if(i&&!tr(d.status)){let t=await ti({baseURL:this.config.baseURL,interactionId:d.id,headers:u,fetch:this.config.fetch,abortSignal:e.abortSignal,timeoutMs:a});d=t.response,p=t.rawResponse,c=t.responseHeaders??c}let h="string"==typeof d.id&&d.id.length>0?d.id:void 0,{content:m,hasFunctionCall:g}=tt({steps:d.steps??null,generateId:this.config.generateId??t.generateId,interactionId:h}),f={unified:eW({status:d.status,hasFunctionCall:g}),raw:d.status},y=d.service_tier??c?.["x-gemini-service-tier"]??void 0,b=eU(d.usage),_={google:{...null!=h?{interactionId:h}:{},...null!=y?{serviceTier:y}:{},...null!=b?{outputTokensByModality:b}:{}}};if("string"==typeof d.created){let e=new Date(d.created);Number.isNaN(e.getTime())||(n=e)}return{content:m,finishReason:f,usage:eP(d.usage),warnings:r,providerMetadata:_,request:{body:o},response:{headers:c,body:p,...null!=h?{id:h}:{},...n?{timestamp:n}:{},modelId:d.model??void 0}}}async doStream(e){let{args:n,warnings:o,isBackground:r,pollingTimeoutMs:i}=await this.getArgs(e),a=`${this.config.baseURL}/interactions`,l=(0,t.combineHeaders)(this.config.headers?await (0,t.resolve)(this.config.headers):void 0,e.headers);if(r)return this.doStreamBackground({args:n,warnings:o,url:a,mergedHeaders:l,options:e,pollingTimeoutMs:i});let u={...n,stream:!0},{responseHeaders:c,value:d}=await (0,t.postJsonToApi)({url:a,headers:l,body:u,failedResponseHandler:s,successfulResponseHandler:(0,t.createEventSourceResponseHandler)(e6),abortSignal:e.abortSignal,fetch:this.config.fetch}),p=c?.["x-gemini-service-tier"],h=eJ({warnings:o,generateId:this.config.generateId??t.generateId,includeRawChunks:e.includeRawChunks,serviceTier:p});return{stream:d.pipeThrough(h),request:{body:u},response:{headers:c}}}async doStreamBackground({args:e,warnings:n,url:o,mergedHeaders:r,options:i,pollingTimeoutMs:a}){let{responseHeaders:l,value:u}=await (0,t.postJsonToApi)({url:o,headers:r,body:e,failedResponseHandler:s,successfulResponseHandler:(0,t.createJsonResponseHandler)(e5),abortSignal:i.abortSignal,fetch:this.config.fetch}),c=u.id;if(null==c||0===c.length)throw Error("google.interactions: background POST response did not include an interaction id; cannot stream the result.");let d=l?.["x-gemini-service-tier"];if(tr(u.status))return{stream:function({response:e,warnings:t,generateId:n,includeRawChunks:o,headerServiceTier:r}){return new ReadableStream({start(i){let a;i.enqueue({type:"stream-start",warnings:t});let s="string"==typeof e.id&&e.id.length>0?e.id:void 0,l=e.created;if("string"==typeof l){let e=new Date(l);Number.isNaN(e.getTime())||(a=e)}i.enqueue({type:"response-metadata",...null!=s?{id:s}:{},modelId:e.model??void 0,...a?{timestamp:a}:{}}),o&&i.enqueue({type:"raw",rawValue:e});let{content:u,hasFunctionCall:c}=tt({steps:e.steps??null,generateId:n,interactionId:s}),d=0,p=()=>`${s??"agent"}:${d++}`;for(let e of u)switch(e.type){case"text":{let t=p(),n=e.providerMetadata;i.enqueue({type:"text-start",id:t}),e.text.length>0&&i.enqueue({type:"text-delta",id:t,delta:e.text}),i.enqueue({type:"text-end",id:t,...n?{providerMetadata:n}:{}});break}case"reasoning":{let t=p(),n=e.providerMetadata;i.enqueue({type:"reasoning-start",id:t}),e.text.length>0&&i.enqueue({type:"reasoning-delta",id:t,delta:e.text}),i.enqueue({type:"reasoning-end",id:t,...n?{providerMetadata:n}:{}});break}case"tool-call":{let t=e.providerMetadata;i.enqueue({type:"tool-input-start",id:e.toolCallId,toolName:e.toolName,...e.providerExecuted?{providerExecuted:e.providerExecuted}:{}}),i.enqueue({type:"tool-input-delta",id:e.toolCallId,delta:e.input}),i.enqueue({type:"tool-input-end",id:e.toolCallId}),i.enqueue({type:"tool-call",toolCallId:e.toolCallId,toolName:e.toolName,input:e.input,...e.providerExecuted?{providerExecuted:e.providerExecuted}:{},...t?{providerMetadata:t}:{}});break}case"tool-result":i.enqueue({type:"tool-result",toolCallId:e.toolCallId,toolName:e.toolName,result:e.result});break;case"source":case"file":i.enqueue(e)}let h=e.service_tier??r,m={unified:eW({status:e.status,hasFunctionCall:c}),raw:e.status},g={google:{...null!=s?{interactionId:s}:{},...null!=h?{serviceTier:h}:{}}};i.enqueue({type:"finish",finishReason:m,usage:eP(e.usage),providerMetadata:g}),i.close()}})}({response:u,warnings:n,generateId:this.config.generateId??t.generateId,includeRawChunks:i.includeRawChunks,headerServiceTier:d}),request:{body:e},response:{headers:l}};let p=function({baseURL:e,interactionId:n,headers:o,fetch:r,abortSignal:i,maxRetries:a=3,retryDelayMs:l=500}){let u,c;if(0===n.length)throw Error("google.interactions: cannot stream a background interaction without an id.");let d={...o,accept:"text/event-stream"},p=!1,h=0,m=!1,g=new AbortController,f=()=>g.abort();null!=i&&(i.aborted?g.abort():i.addEventListener("abort",f,{once:!0}));let y=g.signal;async function b(){let o,i,{value:a}=await (0,t.getFromApi)({url:(o=`${e}/interactions/${encodeURIComponent(n)}`,i=new URLSearchParams({stream:"true"}),null!=u&&i.set("last_event_id",u),`${o}?${i.toString()}`),validateUrl:!1,headers:d,failedResponseHandler:s,successfulResponseHandler:(0,t.createEventSourceResponseHandler)(e6),abortSignal:y,fetch:r});return a.getReader()}return new ReadableStream({async start(s){try{for(;!p&&!y.aborted;){if(null==c)try{c=await b(),m=!1}catch(e){if((0,t.isAbortError)(e)||y.aborted||++h>=a)return void s.error(e);await (0,t.delay)(l*h,{abortSignal:y});continue}try{let{done:e,value:n}=await c.read();if(e){if(c=void 0,p)break;if(m)h=0;else{if(++h>=a)return void s.error(Error("google.interactions: SSE stream closed without producing any events."));await (0,t.delay)(l*h,{abortSignal:y})}continue}if(m=!0,n.success){let e=n.value;"string"==typeof e.event_id&&e.event_id.length>0&&(u=e.event_id),("interaction.completed"===e.event_type||"error"===e.event_type)&&(p=!0)}s.enqueue(n)}catch(e){if((0,t.isAbortError)(e)||y.aborted||(c=void 0,++h>=a))return void s.error(e);await (0,t.delay)(l*h,{abortSignal:y})}}s.close()}catch(e){s.error(e)}finally{null!=i&&i.removeEventListener("abort",f),c?.cancel().catch(()=>{}),c=void 0,y.aborted&&!p&&await tn({baseURL:e,interactionId:n,headers:o,fetch:r})}},cancel(){g.abort(),c?.cancel().catch(()=>{}),c=void 0}})}({baseURL:this.config.baseURL,interactionId:c,headers:r,fetch:this.config.fetch,abortSignal:i.abortSignal}),h=eJ({warnings:n,generateId:this.config.generateId??t.generateId,includeRawChunks:i.includeRawChunks,serviceTier:d});return{stream:p.pipeThrough(h),request:{body:e},response:{headers:l}}}};function ts(e){let t={};for(let[n,o]of Object.entries(e))void 0!==o&&(t[n]=o);return t}function tl(e){let t=new URL(e),n=t.pathname.split("/"),o=n.at(-1);return("v1beta"===o||"v1alpha"===o)&&(n.pop(),t.pathname=n.join("/")||"/"),t}function tu(e,t){let n=tl(e);return n.protocol="https:"===n.protocol?"wss:":"ws:",n.pathname=`${n.pathname.replace(/\/$/,"")}/ws/${t}`,n}var tc=class{constructor(){this.turnCounter=0,this.inputTranscriptionCounter=0,this.inputTranscriptionBuffer="",this.inputTranscriptionBoundary="none",this.preserveInputTranscriptionAcrossTurnComplete=!1,this.hasAudio=!1,this.hasText=!1,this.hasTranscript=!1,this.turnClosed=!1,this.inputAudioRate=16e3}get responseId(){return`google-resp-${this.turnCounter}`}get itemId(){return`google-item-${this.turnCounter}`}beginTurnIfClosed(){this.turnClosed&&(this.turnCounter++,this.hasAudio=!1,this.hasText=!1,this.hasTranscript=!1,this.turnClosed=!1,this.preserveInputTranscriptionAcrossTurnComplete=!1)}accumulateInputTranscription({text:e,finished:t}){if(!e){!0===t&&this.finishInputTranscription();return}""!==this.inputTranscriptionBuffer&&("interrupted"===this.inputTranscriptionBoundary||"turn-complete"===this.inputTranscriptionBoundary&&null==t)&&this.finishInputTranscription(),this.inputTranscriptionBoundary="none",this.inputTranscriptionBuffer+=e;let n={itemId:`google-input-${this.inputTranscriptionCounter}`,transcript:this.inputTranscriptionBuffer};return!0===t&&this.finishInputTranscription(),n}finishInputTranscription(){""!==this.inputTranscriptionBuffer&&(this.inputTranscriptionCounter++,this.inputTranscriptionBuffer="")}parseServerEvent(e){if(null!=e.setupComplete)return{type:"session-created",raw:e};if(null!=e.toolCall)return this.beginTurnIfClosed(),(e.toolCall.functionCalls??[]).flatMap(t=>{let n=JSON.stringify(t.args??{});return[{type:"function-call-arguments-delta",responseId:this.responseId,itemId:this.itemId,callId:t.id,delta:n,raw:e},{type:"function-call-arguments-done",responseId:this.responseId,itemId:this.itemId,callId:t.id,name:t.name,arguments:n,raw:e}]});if(null!=e.toolCallCancellation)return{type:"custom",rawType:"toolCallCancellation",raw:e};if(null!=e.goAway)return{type:"custom",rawType:"goAway",raw:e};if(null!=e.sessionResumptionUpdate)return{type:"custom",rawType:"sessionResumptionUpdate",raw:e};if(null!=e.serverContent)return this.parseServerContent(e.serverContent,e);if(null!=e.inputTranscription){let t=this.accumulateInputTranscription(e.inputTranscription);if(null!=t)return{type:"input-transcription-completed",...t,raw:e}}return{type:"custom",rawType:String(Object.keys(e)[0]),raw:e}}parseServerContent(e,t){let n=[];if(e.interrupted&&(this.inputTranscriptionBoundary="interrupted",this.preserveInputTranscriptionAcrossTurnComplete=!0,this.turnClosed=!0,n.push({type:"speech-started",raw:t})),e.modelTurn?.parts)for(let o of(this.beginTurnIfClosed(),e.modelTurn.parts))o.inlineData?.data&&(this.hasAudio=!0,n.push({type:"audio-delta",responseId:this.responseId,itemId:this.itemId,delta:o.inlineData.data,raw:t})),o.text&&(this.hasText=!0,n.push({type:"text-delta",responseId:this.responseId,itemId:this.itemId,delta:o.text,raw:t}));if(e.outputTranscription?.text&&(this.hasTranscript=!0,n.push({type:"audio-transcript-delta",responseId:this.responseId,itemId:this.itemId,delta:e.outputTranscription.text,raw:t})),null!=e.inputTranscription){let o=this.accumulateInputTranscription(e.inputTranscription);null!=o&&n.push({type:"input-transcription-completed",...o,raw:t})}return(e.generationComplete&&n.push({type:"custom",rawType:"generationComplete",raw:t}),null!=e.interactionStatus&&n.push({type:"custom",rawType:"interactionStatus",raw:t}),e.waitingForInput&&n.push({type:"custom",rawType:"waitingForInput",raw:t}),e.turnComplete&&(this.hasAudio&&n.push({type:"audio-done",responseId:this.responseId,itemId:this.itemId,raw:t}),this.hasText&&n.push({type:"text-done",responseId:this.responseId,itemId:this.itemId,raw:t}),this.hasTranscript&&n.push({type:"audio-transcript-done",responseId:this.responseId,itemId:this.itemId,raw:t}),n.push({type:"response-done",responseId:this.responseId,status:"completed",raw:t}),this.turnClosed=!0,this.preserveInputTranscriptionAcrossTurnComplete?this.preserveInputTranscriptionAcrossTurnComplete=!1:"interrupted"!==this.inputTranscriptionBoundary&&(this.inputTranscriptionBoundary="turn-complete")),0===n.length)?{type:"custom",rawType:"serverContent",raw:t}:1===n.length?n[0]:n}serializeClientEvent(e,t){switch(e.type){case"session-update":return e.config.inputAudioFormat?.rate!=null&&(this.inputAudioRate=e.config.inputAudioFormat.rate),{setup:tp(e.config,t)};case"input-audio-append":return{realtimeInput:{audio:{data:e.audio,mimeType:`audio/pcm;rate=${this.inputAudioRate}`}}};case"input-audio-commit":return{realtimeInput:{audioStreamEnd:!0}};case"input-audio-clear":case"response-create":case"response-cancel":case"conversation-item-truncate":break;case"conversation-item-create":{let t=e.item;switch(t.type){case"text-message":return{realtimeInput:{text:t.text}};case"function-call-output":return td(t);case"audio-message":return null}}}return null}};async function td(e){var n;let o=await (0,t.safeParseJSON)({text:e.output}),r=o.success?"object"!=typeof(n=o.value)||null===n||Array.isArray(n)?{output:n}:n:{output:e.output};return{toolResponse:{functionResponses:[{id:e.callId,name:e.name,response:r}]}}}function tp(e,n){let o,r={model:m(n)},{google:i,...a}=e?.providerOptions??{},s=(0,t.isRecord)(i)?i:void 0,l={};e?.outputModalities!=null?l.responseModalities=e.outputModalities.map(e=>e.toUpperCase()):l.responseModalities=["AUDIO"],e?.voice!=null&&(l.speechConfig={voiceConfig:{prebuiltVoiceConfig:{voiceName:e.voice}}}),r.generationConfig=l,e?.instructions!=null&&(r.systemInstruction={parts:[{text:e.instructions}]}),e?.tools!=null&&e.tools.length>0&&(r.tools=[{functionDeclarations:e.tools.map(e=>({name:e.name,description:e.description,parametersJsonSchema:e.parameters,...s?.defaultToolBehavior!=null?{behavior:s.defaultToolBehavior}:{}}))}]),e?.inputAudioTranscription!=null&&(r.inputAudioTranscription={}),e?.outputAudioTranscription!=null&&(r.outputAudioTranscription={});let u=a.generationConfig,c=s?.thinkingConfig??((0,t.isRecord)(u)&&(0,t.isRecord)(u.thinkingConfig)?u.thinkingConfig:void 0),d=(o=n.split("/").at(-1)?.toLowerCase()??"",/^gemini-\d+\.\d+-live\b.*thinking/.test(o)&&c?.thinkingLevel==null&&c?.thinkingBudget==null)?{...c,thinkingLevel:"low"}:s?.thinkingConfig,p=()=>{if(null==d)return;let e=(0,t.isRecord)(r.generationConfig)?r.generationConfig:l;r.generationConfig={...e,thinkingConfig:d}};return e?.providerOptions==null||(Object.assign(r,a),s?.translationConfig!=null&&(r.generationConfig={...(0,t.isRecord)(r.generationConfig)?r.generationConfig:l,translationConfig:s.translationConfig})),p(),r}var th=class{constructor(e,t){this.specificationVersion="v4",this.mapper=new tc,this.modelId=e,this.provider=t.provider,this.config=t}async doCreateClientSecret(e){let t,n=this.config.fetch??fetch,o=this.config.headers()["x-goog-api-key"];if(!o)throw Error("Google Generative AI API key is required for realtime token creation.");let r=Date.now(),i=(e.expiresAfterSeconds??60)*1e3,a=new Date(r+i).toISOString(),s=new Date(r+i+18e5).toISOString(),l=tp(e.sessionConfig,this.modelId),u=await n(`${((t=tl(this.config.baseURL)).pathname=`${t.pathname.replace(/\/$/,"")}/v1alpha/auth_tokens`,t.toString())}?key=${encodeURIComponent(o)}`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({uses:0,expireTime:s,newSessionExpireTime:a,bidiGenerateContentSetup:l})});if(!u.ok){let e=await u.text();throw Error(`Google realtime auth token request failed: ${u.status} ${e}`)}let c=await u.json();return{token:c.name,url:tu(this.config.baseURL,"google.ai.generativelanguage.v1alpha.GenerativeService.BidiGenerateContentConstrained").toString(),expiresAt:c.expireTime?Math.floor(new Date(c.expireTime).getTime()/1e3):void 0}}getWebSocketConfig(e){return{url:`${e.url}?access_token=${encodeURIComponent(e.token)}`}}parseServerEvent(e){return this.mapper.parseServerEvent(e)}serializeClientEvent(e){return this.mapper.serializeClientEvent(e,this.modelId)}buildSessionConfig(e){return tp(e,this.modelId)}};let tm=i.z.object({languageCodes:i.z.array(i.z.string()).optional(),customVocabulary:i.z.array(i.z.string()).optional(),wordTimestamp:i.z.boolean().optional(),diarization:i.z.boolean().optional(),mode:i.z.enum(["SMART","VERBATIM"]).optional()});function tg(e){return e.includes("-live")}var tf=class e{static[n.WORKFLOW_SERIALIZE](e){return(0,t.serializeModelOptions)({modelId:e.modelId,config:e.config})}static[n.WORKFLOW_DESERIALIZE](t){return new e(t.modelId,t.config)}get provider(){return this.config.provider}constructor(e,t){this.modelId=e,this.config=t,this.specificationVersion="v4"}async parseOptions(e){return(0,t.parseProviderOptions)({provider:"google",providerOptions:e,schema:tm})}async doGenerate(e){if(tg(this.modelId))throw new r.InvalidArgumentError({argument:"modelId",message:`Model '${this.modelId}' only supports streaming transcription. Use experimental_streamTranscribe, or a unary model such as 'gemini-3.5-transcribe'.`});let n=this.config._internal?.currentDate?.()??new Date,o=function(e){if(null==e)return;let t={};return null!=e.languageCodes&&(t.language_codes=e.languageCodes),null!=e.customVocabulary&&(t.custom_vocabulary=e.customVocabulary),(null!=e.mode||!0===e.diarization||!0===e.wordTimestamp)&&(t.mode={type:(e.mode??"VERBATIM").toLowerCase(),...!0===e.diarization?{diarization_mode:"speaker"}:{},...!0===e.wordTimestamp?{timestamp_granularities:["word"]}:{}}),Object.keys(t).length>0?t:void 0}(await this.parseOptions(e.providerOptions)),i={model:this.modelId,input:[{type:"audio",data:(0,t.convertToBase64)(e.audio),mime_type:e.mediaType}],...null!=o?{generation_config:{transcription_config:o}}:{}},{value:a,responseHeaders:l,rawValue:u}=await (0,t.postJsonToApi)({url:`${this.config.baseURL}/interactions`,headers:(0,t.combineHeaders)(this.config.headers?await (0,t.resolve)(this.config.headers):void 0,e.headers),body:i,failedResponseHandler:s,successfulResponseHandler:(0,t.createJsonResponseHandler)(t_),abortSignal:e.abortSignal,fetch:this.config.fetch}),c="",d=[];for(let e of a.steps??[])for(let t of e.content??[])if("text"===t.type&&null!=t.text)for(let e of(c+=t.text,t.annotations??[])){if("word_info"!==e.type)continue;let t=ty(e.start_offset),n=ty(e.end_offset);null!=e.text&&null!=t&&null!=n&&d.push({text:e.text,startSecond:t,endSecond:n})}return{text:c,segments:d,language:void 0,durationInSeconds:void 0,warnings:[],response:{timestamp:n,modelId:this.modelId,headers:l,body:u},...null!=a.usage?{providerMetadata:{google:{usage:a.usage}}}:{}}}async doStream(e){let n,o;if(!tg(this.modelId))throw new r.InvalidArgumentError({argument:"modelId",message:`Model '${this.modelId}' does not support streaming transcription. Use a live model such as 'gemini-3.5-transcribe-live'.`});let i=this.config._internal?.currentDate?.()??new Date,a=await this.parseOptions(e.providerOptions);var s,l,u=e.inputAudioFormat;if("audio/pcm"!==u.type||null!=u.rate&&16e3!==u.rate)throw new r.InvalidArgumentError({argument:"inputAudioFormat",message:"The Gemini Live transcription API only supports 16kHz 16-bit PCM input audio."});let c=(0,t.combineHeaders)(this.config.headers?await (0,t.resolve)(this.config.headers):void 0,e.headers);for(let[e,t]of Object.entries(c))"x-goog-api-key"===e.toLowerCase()&&null!=t&&(n=t);if(null==n)throw Error("Google Generative AI API key is required for streaming transcription.");let d=Object.fromEntries(Object.entries(c).filter(([e])=>"x-goog-api-key"!==e.toLowerCase())),p={model:m(this.modelId),inputAudioTranscription:function(e){if(null==e)return;let t={};return null!=e.languageCodes&&(t.languageCodes=e.languageCodes),null!=e.customVocabulary&&(t.customVocabulary=e.customVocabulary),null!=e.wordTimestamp&&(t.wordTimestamp=e.wordTimestamp),null!=e.diarization&&(t.diarization=e.diarization),null!=e.mode&&(t.mode=e.mode),Object.keys(t).length>0?t:void 0}(a)??{}};return{request:{body:p},response:{timestamp:i,modelId:this.modelId},stream:function({webSocket:e,url:n,headers:o,setup:r,inputAudioRate:i,finishGraceMs:a,warnings:s,audio:l,abortSignal:u,includeRawChunks:c}){let d=!1,p=()=>{};return new ReadableStream({start:h=>{let m,g,f,y,b,_,w=new Promise(e=>{f=e}),z=0,v="",k="",x="",S=!1,T=()=>`google-segment-${z}`,I=()=>{null!=_&&(clearTimeout(_),_=void 0)},O=()=>{!d&&S&&(I(),_=setTimeout(()=>{_=void 0,A()},a))};p=e=>{I(),null!=m?m.cancel().catch(()=>{}):l.cancel().catch(()=>{}),g?.close(e)};let E=e=>{d||(d=!0,p(),h.error(e))},C=()=>{if(""===v){if(""===x)return;v=x}x="",h.enqueue({type:"transcript-final",id:T(),text:v}),k+=""===k?v:` ${v}`,v="",z++},A=()=>{d||(C(),d=!0,h.enqueue({type:"finish",text:k,segments:[],language:y,durationInSeconds:void 0,...null!=b?{providerMetadata:{google:{usageMetadata:b}}}:{}}),h.close(),p(1e3))},j=async e=>{m=l.getReader();try{for(;;){let{done:n,value:o}=await m.read();if(n||d)break;e.send(JSON.stringify({realtimeInput:{audio:{data:(0,t.convertToBase64)(o),mimeType:`audio/pcm;rate=${i}`}}})),await (0,t.waitForWebSocketBufferDrain)(e)}}finally{m.releaseLock(),m=void 0}d||(e.send(JSON.stringify({realtimeInput:{audioStreamEnd:!0}})),S=!0,O())};g=(0,t.connectToWebSocket)({url:n,headers:o,webSocket:e,abortSignal:u,onAbort:E,onProcessingError:E,onOpen:e=>{h.enqueue({type:"stream-start",warnings:s}),e.send(JSON.stringify({setup:r})),w.then(()=>d?void 0:j(e)).catch(E)},onMessageText:async e=>{if(d)return;let n=await (0,t.safeParseJSON)({text:e});if(!n.success)return;let o=n.value;if(c&&h.enqueue({type:"raw",rawValue:o}),null!=o.setupComplete&&f(),null!=o.usageMetadata&&(b=o.usageMetadata),null!=o.error)return void E(Error(o.error.message??"Google Live API error"));let r=o.serverContent,i=r?.interimInputTranscription;i?.text&&(O(),x=i.text,h.enqueue({type:"transcript-partial",id:T(),text:i.text}));let a=r?.inputTranscription??o.inputTranscription;null!=a&&(null!=a.languageCode&&(y=a.languageCode),a.text&&(O(),x="",v+=a.text,h.enqueue({type:"transcript-delta",id:T(),delta:a.text})),!0===a.finished&&C()),r?.turnComplete&&C();let s=r?.interactionStatus;S&&("IDLE"===s||"REQUIRES_ACTION"===s||r?.turnComplete===!0&&null==s)&&A()},onSocketError:()=>{E(Error("Google Live transcription error"))},onClose:({code:e,reason:t})=>{if(!d){if(S)return void A();E(Error(`Google Live transcription WebSocket closed unexpectedly before finishing (code ${e??"unknown"}${t?`, reason: ${t}`:""}).`))}}})},cancel:()=>{d||(d=!0,p())}})}({webSocket:this.config.webSocket,url:(s=this.config.baseURL,l=n,(o=tu(s,"google.ai.generativelanguage.v1beta.GenerativeService.BidiGenerateContent")).searchParams.set("key",l),o),headers:d,setup:p,inputAudioRate:e.inputAudioFormat.rate??16e3,finishGraceMs:this.config._internal?.finishGraceMs??3e3,warnings:[],audio:e.audio,abortSignal:e.abortSignal,includeRawChunks:e.includeRawChunks})}}};function ty(e){if(null==e)return;let t=Number.parseFloat(e);return Number.isFinite(t)?t:void 0}let tb=i.z.object({type:i.z.string().nullish(),text:i.z.string().nullish(),speaker:i.z.string().nullish(),start_offset:i.z.string().nullish(),end_offset:i.z.string().nullish()}),t_=i.z.object({status:i.z.string().nullish(),steps:i.z.array(i.z.object({type:i.z.string().nullish(),content:i.z.array(i.z.object({type:i.z.string().nullish(),text:i.z.string().nullish(),annotations:i.z.array(tb).nullish()})).nullish()})).nullish(),usage:i.z.record(i.z.string(),i.z.unknown()).nullish()}),tw=(0,t.lazySchema)(()=>(0,t.zodSchema)(i.z.object({echoTargetLanguage:i.z.boolean().optional()})));var tz=class e{static[n.WORKFLOW_SERIALIZE](e){return(0,t.serializeModelOptions)({modelId:e.modelId,config:e.config})}static[n.WORKFLOW_DESERIALIZE](t){return new e(t.modelId,t.config)}get provider(){return this.config.provider}constructor(e,t){this.specificationVersion="v4",this.modelId=e,this.config=t}async doStream(e){var n,o;let i,a;if(null==e.targetLanguage)throw new r.InvalidArgumentError({argument:"targetLanguage",message:`targetLanguage is required for translation model '${this.modelId}'.`});let s=this.config._internal?.currentDate?.()??new Date,l=await (0,t.parseProviderOptions)({provider:"google",providerOptions:e.providerOptions,schema:tw}),u=[];(function(e){if("audio/pcm"!==e.type||null!=e.rate&&16e3!==e.rate)throw new r.InvalidArgumentError({argument:"inputAudioFormat",message:"The Gemini Live translation API only supports 16kHz 16-bit PCM input audio."})})(e.inputAudioFormat),null!=e.sourceLanguage&&u.push({type:"unsupported",feature:"sourceLanguage",details:"The Gemini Live translation API auto-detects the source language and does not accept a source language."}),null!=e.outputAudioFormat&&u.push({type:"unsupported",feature:"outputAudioFormat",details:"The Gemini Live API always outputs 24kHz 16-bit PCM audio and does not accept an output audio format."});let c=(0,t.combineHeaders)(this.config.headers(),e.headers);for(let[e,t]of Object.entries(c))"x-goog-api-key"===e.toLowerCase()&&null!=t&&(i=t);if(null==i)throw Error("Google Generative AI API key is required for streaming translation.");let d=Object.fromEntries(Object.entries(c).filter(([e])=>"x-goog-api-key"!==e.toLowerCase())),p=function({modelId:e,targetLanguage:t,providerOptions:n}){return{model:m(e),generationConfig:{responseModalities:["AUDIO"],translationConfig:{targetLanguageCode:t,...n?.echoTargetLanguage!=null?{echoTargetLanguage:n.echoTargetLanguage}:{}}},inputAudioTranscription:{},outputAudioTranscription:{}}}({modelId:this.modelId,targetLanguage:e.targetLanguage,providerOptions:l});return{request:{body:p},response:{timestamp:s,modelId:this.modelId},stream:function({webSocket:e,url:n,headers:o,setup:r,inputAudioRate:i,finishGraceMs:a,warnings:s,audio:l,abortSignal:u,includeRawChunks:c}){let d=!1,p=()=>{};return new ReadableStream({start:h=>{let m,g,f,y,b,_=new Promise(e=>{f=e}),w=0,z="",v="",k="",x="",S=!1,T=!1,I=!1,O=0,E=()=>`google-item-${w}`,C=()=>{null!=b&&(clearTimeout(b),b=void 0)},A=()=>{d||null!=b||(b=setTimeout(()=>{b=void 0,$()},a))},j=()=>{T=!0,O=0,C()};p=e=>{C(),null!=m?m.cancel().catch(()=>{}):l.cancel().catch(()=>{}),g?.close(e)};let R=e=>{d||(d=!0,p(),h.error(e))},$=()=>{d||((""!==v||""!==x)&&M(),d=!0,h.enqueue({type:"finish",sourceText:z,outputText:k,usage:y}),h.close(),p(1e3))},M=()=>{""!==v&&(h.enqueue({type:"source-transcript-final",id:E(),text:v}),z+=v,v=""),""!==x&&(h.enqueue({type:"output-text-final",id:E(),text:x}),k+=x,x=""),w++},N=async e=>{m=l.getReader();try{for(;;){let{done:n,value:o}=await m.read();if(n||d)break;e.send(JSON.stringify({realtimeInput:{audio:{data:(0,t.convertToBase64)(o),mimeType:`audio/pcm;rate=${i}`}}})),await (0,t.waitForWebSocketBufferDrain)(e)}}finally{m.releaseLock(),m=void 0}d||(e.send(JSON.stringify({realtimeInput:{audioStreamEnd:!0}})),S=!0,I&&!T&&A())};g=(0,t.connectToWebSocket)({url:n,headers:o,webSocket:e,abortSignal:u,onAbort:R,onProcessingError:R,onOpen:e=>{h.enqueue({type:"stream-start",warnings:s}),e.send(JSON.stringify({setup:r})),_.then(()=>d?void 0:N(e)).catch(R)},onMessageText:async e=>{if(d)return;let n=await (0,t.safeParseJSON)({text:e});if(!n.success)return;let o=n.value;if(c&&h.enqueue({type:"raw",rawValue:o}),null!=o.setupComplete&&f(),null!=o.usageMetadata&&(y=function(e,t){let n=e?.inputAudioTokens,o=e?.outputAudioTokens;for(let e of t.promptTokensDetails??[])"AUDIO"===e.modality&&null!=e.tokenCount&&(n=(n??0)+e.tokenCount);for(let e of t.responseTokensDetails??[])"AUDIO"===e.modality&&null!=e.tokenCount&&(o=(o??0)+e.tokenCount);return null==n&&null==o?e:{...e,...null!=n?{inputAudioTokens:n}:{},...null!=o?{outputAudioTokens:o}:{}}}(y,o.usageMetadata)),null!=o.error)return void R(Error(o.error.message??"Google Live API error"));let r=o.serverContent?.inputTranscription?.text??o.inputTranscription?.text;r&&(j(),v+=r,h.enqueue({type:"source-transcript-delta",id:E(),delta:r}));let i=o.serverContent;if(null!=i){for(let e of i.modelTurn?.parts??[])if(e.inlineData?.data){h.enqueue({type:"audio",id:E(),audio:e.inlineData.data});let n=function(e){let n;try{n=(0,t.convertBase64ToUint8Array)(e)}catch{return}if(n.byteLength<2)return;let o=new DataView(n.buffer,n.byteOffset,n.byteLength),r=Math.floor(n.byteLength/2);for(let e=0;e<r;e++)if(Math.abs(o.getInt16(2*e,!0))>128)return;return r/24e3*1e3}(e.inlineData.data);if(S&&null!=n){if((O+=n)>=a)return void $()}else j()}i.outputTranscription?.text&&(j(),x+=i.outputTranscription.text,h.enqueue({type:"output-text-delta",id:E(),delta:i.outputTranscription.text})),i.turnComplete&&(M(),T=!1,I=!0,S&&A())}},onSocketError:()=>{R(Error("Google Live translation error"))},onClose:({code:e,reason:t})=>{if(!d){if(null!=b)return void $();R(Error(`Google Live translation WebSocket closed unexpectedly before finishing (code ${e??"unknown"}${t?`, reason: ${t}`:""}).`))}}})},cancel:()=>{d||(d=!0,p())}})}({webSocket:this.config.webSocket,url:(n=this.config.baseURL,o=i,(a=tu(n,"google.ai.generativelanguage.v1beta.GenerativeService.BidiGenerateContent")).searchParams.set("key",o),a),headers:d,setup:p,inputAudioRate:e.inputAudioFormat.rate??16e3,finishGraceMs:this.config._internal?.finishGraceMs??1e3,warnings:u,audio:e.audio,abortSignal:e.abortSignal,includeRawChunks:e.includeRawChunks})}}};let tv=/^https:\/\/generativelanguage\.googleapis\.com\/v1beta\/files\/.*$/,tk=["text/html","text/css","text/plain","text/xml","text/csv","text/rtf","text/javascript","application/json","application/pdf","image/bmp","image/jpeg","image/png","image/webp","video/mp4","video/mpeg","video/quicktime","video/avi","video/x-flv","video/mpg","video/webm","video/wmv","video/3gpp"],tx=/^https:\/\/.*$/;function tS(e){return/(^|\/)gemini-/.test(e)&&!/(^|\/)gemini-2\.0/.test(e)}function tT(e={}){let n=(0,t.withoutTrailingSlash)(e.baseURL)??"https://generativelanguage.googleapis.com/v1beta",r=e.name??"google.generative-ai",i=()=>(0,t.withUserAgentSuffix)({"x-goog-api-key":(0,t.loadApiKey)({apiKey:e.apiKey,environmentVariableName:"GOOGLE_GENERATIVE_AI_API_KEY",description:"Google Generative AI"}),...e.headers},"ai-sdk-google/4.0.86"),a=(e,t=null==e||tS(e))=>({"*":[tv,RegExp(`^${n}/files/.*$`),RegExp("^https://(?:www\\.)?youtube\\.com/watch\\?v=[\\w-]+(?:&[\\w=&.-]*)?$"),RegExp("^https://youtu\\.be/[\\w-]+(?:\\?[\\w=&.-]*)?$")],...t?Object.fromEntries(tk.map(e=>[e,[tx]])):{}}),s={provider:r,baseURL:n,headers:i,generateId:e.generateId??t.generateId,fetch:e.fetch},l=e=>new q(e,{...s,supportedUrls:()=>a(e)}),u=t=>new c(t,{provider:r,baseURL:n,headers:i,fetch:e.fetch}),d=(t,o={})=>new ez(t,o,{provider:r,baseURL:n,headers:i,fetch:e.fetch}),p=o=>new eO(o,{provider:r,baseURL:n,headers:i,fetch:e.fetch,generateId:e.generateId??t.generateId}),h=t=>new th(t,{provider:`${r}.realtime`,baseURL:n,headers:i,fetch:e.fetch}),m=t=>new tz(t,{provider:`${r}.speech-translation`,baseURL:n,headers:i,webSocket:e.webSocket}),g=t=>new eN(t,{provider:`${r}.speech`,baseURL:n,headers:i,fetch:e.fetch}),f=t=>new tf(t,{provider:`${r}.transcription`,baseURL:n,headers:i,fetch:e.fetch,webSocket:e.webSocket}),y=Object.assign(e=>h(e),{getToken:async e=>{let t=await h(e.model).doCreateClientSecret({sessionConfig:e.sessionConfig,expiresAfterSeconds:e.expiresAfterSeconds});return{token:t.token,url:t.url,expiresAt:t.expiresAt}}}),b=function(e){if(new.target)throw Error("The Google Generative AI model function cannot be called with the new keyword.");return l(e)};return b.specificationVersion="v4",b.languageModel=l,b.chat=l,b.generativeAI=l,b.evaluationModel=e=>new o.Experimental_EvaluationLanguageModel({model:l(e),provider:`${r.replace(/\.generative-ai$/,"")}.evaluation`}),b.experimental_batch=()=>new ep({provider:`${r.replace(/\.generative-ai$/,"")}.batch`,config:s,supportedUrls:a(void 0,!1)}),b.embedding=u,b.embeddingModel=u,b.textEmbedding=u,b.textEmbeddingModel=u,b.image=d,b.imageModel=d,b.video=p,b.videoModel=p,b.experimental_realtime=y,b.files=()=>new ek({provider:r,baseURL:n,headers:i,fetch:e.fetch}),b.speech=g,b.speechModel=g,b.transcription=f,b.transcriptionModel=f,b.translation=m,b.speechTranslationModel=m,b.interactions=o=>new ta(o,{provider:`${r}.interactions`,baseURL:n,headers:i,generateId:e.generateId??t.generateId,fetch:e.fetch}),b.tools=e_,b}tT(),e.s(["createGoogleGenerativeAI",0,tT])},352392,e=>{"use strict";var t=e.i(296194),n=e.i(691296),o=e.i(548874),r=e.i(853205);function i(e){if(null==e)return(0,n.createNullLanguageModelUsage)();let t=e.prompt_tokens??0,o=e.prompt_tokens_details?.cached_tokens??void 0,r=e.completion_tokens??0,i=e.completion_tokens_details?.reasoning_tokens??void 0,a=null!=i?Math.max(0,r-i):r;return{inputTokens:{total:t,noCache:null!=o?t-o:t,cacheRead:o,cacheWrite:void 0},outputTokens:{total:r,text:a,reasoning:i},raw:e}}let a=r.z.object({reasoningFormat:r.z.enum(["parsed","raw","hidden"]).optional(),reasoningEffort:r.z.enum(["none","default","low","medium","high"]).optional(),parallelToolCalls:r.z.boolean().optional(),user:r.z.string().optional(),structuredOutputs:r.z.boolean().optional(),strictJsonSchema:r.z.boolean().optional(),serviceTier:r.z.enum(["on_demand","performance","flex","auto"]).optional()}),s=r.z.object({error:r.z.object({message:r.z.string(),type:r.z.string()})}),l=(0,n.createJsonErrorResponseHandler)({errorSchema:s,errorToMessage:e=>e.error.message}),u=["openai/gpt-oss-20b","openai/gpt-oss-120b"];function c(e){switch(e){case"stop":return"stop";case"length":return"length";case"content_filter":return"content-filter";case"function_call":case"tool_calls":return"tool-calls";default:return"other"}}var d=class e{static[o.WORKFLOW_SERIALIZE](e){return(0,n.serializeModelOptions)({modelId:e.modelId,config:e.config})}static[o.WORKFLOW_DESERIALIZE](t){return new e(t.modelId,t.config)}constructor(e,t){this.specificationVersion="v4",this.supportedUrls={"image/*":[/^https?:\/\/.*$/]},this.modelId=e,this.config=t}get provider(){return this.config.provider}async getArgs({prompt:e,maxOutputTokens:o,temperature:r,topP:i,topK:s,frequencyPenalty:l,presencePenalty:c,stopSequences:d,responseFormat:p,seed:h,reasoning:m,tools:g,toolChoice:f,providerOptions:y}){let b=[],_=await (0,n.parseProviderOptions)({provider:"groq",providerOptions:y,schema:a}),w=_?.structuredOutputs??!0,z=_?.strictJsonSchema??!0;null!=s&&b.push({type:"unsupported",feature:"topK"}),p?.type!=="json"||null==p.schema||w||b.push({type:"unsupported",feature:"responseFormat",details:"JSON response format schema is only supported with structuredOutputs"});let{tools:v,toolChoice:k,toolWarnings:x}=function({tools:e,toolChoice:n,modelId:o}){e=e?.length?e:void 0;let r=[];if(null==e)return{tools:void 0,toolChoice:void 0,toolWarnings:r};let i=[];for(let t of e)if("provider"===t.type)if("groq.browser_search"===t.id)u.includes(o)?i.push({type:"browser_search"}):r.push({type:"unsupported",feature:`provider-defined tool ${t.id}`,details:`Browser search is only supported on the following models: ${u.join(", ")}. Current model: ${o}`});else r.push({type:"unsupported",feature:`provider-defined tool ${t.id}`});else i.push({type:"function",function:{name:t.name,description:t.description,parameters:t.inputSchema,...null!=t.strict?{strict:t.strict}:{}}});if(null==n)return{tools:i,toolChoice:void 0,toolWarnings:r};let a=n.type;switch(a){case"auto":case"none":case"required":return{tools:i,toolChoice:a,toolWarnings:r};case"tool":return{tools:i,toolChoice:{type:"function",function:{name:n.toolName}},toolWarnings:r};default:throw new t.UnsupportedFunctionalityError({functionality:`tool choice type: ${a}`})}}({tools:g,toolChoice:f,modelId:this.modelId}),S=_?.reasoningEffort;return null==S&&(0,n.isCustomReasoning)(m)&&("none"===m?"qwen/qwen3.6-27b"===this.modelId?S="none":b.push({type:"unsupported",feature:"reasoning",details:`reasoning "${m}" is not supported by this model.`}):S=(0,n.mapReasoningToProviderEffort)({reasoning:m,effortMap:{minimal:"low",low:"low",medium:"medium",high:"high",xhigh:"high"},warnings:b})),{args:{model:this.modelId,user:_?.user,parallel_tool_calls:_?.parallelToolCalls,max_tokens:o,temperature:r,top_p:i,frequency_penalty:l,presence_penalty:c,stop:d,seed:h,response_format:p?.type==="json"?w&&null!=p.schema?{type:"json_schema",json_schema:{schema:p.schema,strict:z,name:p.name??"response",description:p.description}}:{type:"json_object"}:void 0,reasoning_format:_?.reasoningFormat,reasoning_effort:S,service_tier:_?.serviceTier,messages:function(e){let o=[];for(let{role:r,content:i}of e)switch(r){case"system":o.push({role:"system",content:i});break;case"user":if(1===i.length&&"text"===i[0].type){o.push({role:"user",content:i[0].text});break}o.push({role:"user",content:i.map(e=>{switch(e.type){case"text":return{type:"text",text:e.text};case"file":switch(e.data.type){case"reference":throw new t.UnsupportedFunctionalityError({functionality:"file parts with provider references"});case"text":throw new t.UnsupportedFunctionalityError({functionality:"text file parts"});case"url":case"data":if("image"!==(0,n.getTopLevelMediaType)(e.mediaType))throw new t.UnsupportedFunctionalityError({functionality:"Non-image file content parts"});return{type:"image_url",image_url:{url:"url"===e.data.type?e.data.url.toString():`data:${(0,n.resolveFullMediaType)({part:e})};base64,${(0,n.convertToBase64)(e.data.data)}`}}}}})});break;case"assistant":{let e="",t="",n=[];for(let o of i)switch(o.type){case"reasoning":t+=o.text;break;case"text":e+=o.text;break;case"tool-call":n.push({id:o.toolCallId,type:"function",function:{name:o.toolName,arguments:JSON.stringify(o.input)}})}o.push({role:"assistant",content:e,...t.length>0?{reasoning:t}:null,...n.length>0?{tool_calls:n}:null});break}case"tool":for(let e of i){let t;if("tool-approval-response"===e.type)continue;let n=e.output;switch(n.type){case"text":case"error-text":t=n.value;break;case"execution-denied":t=n.reason??"Tool call execution denied.";break;case"content":case"json":case"error-json":t=JSON.stringify(n.value)}o.push({role:"tool",tool_call_id:e.toolCallId,content:t})}break;default:throw Error(`Unsupported role: ${r}`)}return o}(e),tools:v,tool_choice:k},warnings:[...b,...x]}}async doGenerate(e){let{args:o,warnings:r}=await this.getArgs(e),a=JSON.stringify(o),{responseHeaders:s,value:u,rawValue:d}=await (0,n.postJsonToApi)({url:this.config.url({path:"/chat/completions",modelId:this.modelId}),headers:(0,n.combineHeaders)(this.config.headers?.(),e.headers),body:o,failedResponseHandler:l,successfulResponseHandler:(0,n.createJsonResponseHandler)(p),abortSignal:e.abortSignal,fetch:this.config.fetch}),h=u.choices[0];if(null==h)throw new t.InvalidResponseDataError({data:d,message:"Response did not contain any choices."});let m=[],g=h.message.content;null!=g&&g.length>0&&m.push({type:"text",text:g});let f=h.message.reasoning;if(null!=f&&f.length>0&&m.push({type:"reasoning",text:f}),null!=h.message.tool_calls)for(let e of h.message.tool_calls)m.push({type:"tool-call",toolCallId:e.id||(0,n.generateId)(),toolName:e.function.name,input:e.function.arguments});return{content:m,finishReason:{unified:c(h.finish_reason),raw:h.finish_reason??void 0},usage:i(u.usage),response:{...(0,n.createLanguageModelResponseMetadata)(u),headers:s,body:d},warnings:r,request:{body:a}}}async doStream(e){let t,o,{args:r,warnings:a}=await this.getArgs(e),s={...r,stream:!0},{responseHeaders:u,value:d}=await (0,n.postJsonToApi)({url:this.config.url({path:"/chat/completions",modelId:this.modelId}),headers:(0,n.combineHeaders)(this.config.headers?.(),e.headers),body:s,failedResponseHandler:l,successfulResponseHandler:(0,n.createEventSourceResponseHandler)(h),abortSignal:e.abortSignal,fetch:this.config.fetch}),p={unified:"other",raw:void 0},m=!0,g=!1,f=!1;return{stream:d.pipeThrough(new TransformStream({start(e){t=new n.StreamingToolCallTracker(e,{generateId:n.generateId,typeValidation:"required"}),e.enqueue({type:"stream-start",warnings:a})},transform(r,i){if(e.includeRawChunks&&i.enqueue({type:"raw",rawValue:r.rawValue}),!r.success){p={unified:"error",raw:void 0},i.enqueue({type:"error",error:r.error});return}let a=r.value;if("error"in a){var s;p={unified:"error",raw:void 0},i.enqueue({type:"error",error:(s=a.error,(0,n.createProviderStreamError)({message:s.message,type:s.type,...function(e){switch(e){case"rate_limit_error":return{statusCode:429,isRetryable:!0};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{}}}(s.type),data:a}))});return}m&&(m=!1,i.enqueue({type:"response-metadata",...(0,n.createLanguageModelResponseMetadata)(a)})),a.x_groq?.usage!=null&&(o=a.x_groq.usage);let l=a.choices[0];if(l?.finish_reason!=null&&(p={unified:c(l.finish_reason),raw:l.finish_reason}),l?.delta==null)return;let u=l.delta;if(null!=u.reasoning&&u.reasoning.length>0&&(f||(i.enqueue({type:"reasoning-start",id:"reasoning-0"}),f=!0),i.enqueue({type:"reasoning-delta",id:"reasoning-0",delta:u.reasoning})),null!=u.content&&u.content.length>0&&(f&&(i.enqueue({type:"reasoning-end",id:"reasoning-0"}),f=!1),g||(i.enqueue({type:"text-start",id:"txt-0"}),g=!0),i.enqueue({type:"text-delta",id:"txt-0",delta:u.content})),null!=u.tool_calls&&u.tool_calls.length>0)for(let e of(f&&(i.enqueue({type:"reasoning-end",id:"reasoning-0"}),f=!1),u.tool_calls))t.processDelta(e)},flush(e){f&&e.enqueue({type:"reasoning-end",id:"reasoning-0"}),g&&e.enqueue({type:"text-end",id:"txt-0"}),t.flush(),e.enqueue({type:"finish",finishReason:p,usage:i(o)})}})),request:{body:JSON.stringify(s)},response:{headers:u}}}};let p=r.z.object({id:r.z.string().nullish(),created:r.z.number().nullish(),model:r.z.string().nullish(),choices:r.z.array(r.z.object({message:r.z.object({content:r.z.string().nullish(),reasoning:r.z.string().nullish(),tool_calls:r.z.array(r.z.object({id:r.z.string().nullish(),type:r.z.literal("function"),function:r.z.object({name:r.z.string(),arguments:r.z.string()})})).nullish()}),index:r.z.number(),finish_reason:r.z.string().nullish()})),usage:r.z.object({prompt_tokens:r.z.number().nullish(),completion_tokens:r.z.number().nullish(),total_tokens:r.z.number().nullish(),prompt_tokens_details:r.z.object({cached_tokens:r.z.number().nullish()}).nullish(),completion_tokens_details:r.z.object({reasoning_tokens:r.z.number().nullish()}).nullish()}).nullish()}),h=r.z.union([r.z.object({id:r.z.string().nullish(),created:r.z.number().nullish(),model:r.z.string().nullish(),choices:r.z.array(r.z.object({delta:r.z.object({content:r.z.string().nullish(),reasoning:r.z.string().nullish(),tool_calls:r.z.array(r.z.object({index:r.z.number(),id:r.z.string().nullish(),type:r.z.literal("function").optional(),function:r.z.object({name:r.z.string().nullish(),arguments:r.z.string().nullish()})})).nullish()}).nullish(),finish_reason:r.z.string().nullable().optional(),index:r.z.number()})),x_groq:r.z.object({usage:r.z.object({prompt_tokens:r.z.number().nullish(),completion_tokens:r.z.number().nullish(),total_tokens:r.z.number().nullish(),prompt_tokens_details:r.z.object({cached_tokens:r.z.number().nullish()}).nullish(),completion_tokens_details:r.z.object({reasoning_tokens:r.z.number().nullish()}).nullish()}).nullish()}).nullish()}),s]),m=(0,n.lazySchema)(()=>(0,n.zodSchema)(r.z.object({language:r.z.string().nullish(),prompt:r.z.string().nullish(),responseFormat:r.z.string().nullish(),temperature:r.z.number().min(0).max(1).nullish(),timestampGranularities:r.z.array(r.z.string()).nullish()})));var g=class e{get provider(){return this.config.provider}static[o.WORKFLOW_SERIALIZE](e){return(0,n.serializeModelOptions)({modelId:e.modelId,config:e.config})}static[o.WORKFLOW_DESERIALIZE](t){return new e(t.modelId,t.config)}constructor(e,t){this.modelId=e,this.config=t,this.specificationVersion="v4"}async getArgs({audio:e,mediaType:t,providerOptions:o}){let r=await (0,n.parseProviderOptions)({provider:"groq",providerOptions:o,schema:m}),i=new FormData,a=e instanceof Uint8Array?new Blob([e]):new Blob([(0,n.convertBase64ToUint8Array)(e)]);i.append("model",this.modelId);let s=(0,n.mediaTypeToExtension)(t);if(i.append("file",new File([a],"audio",{type:t}),`audio.${s}`),r){let e={language:r.language??void 0,prompt:r.prompt??void 0,response_format:r.responseFormat??void 0,temperature:r.temperature??void 0,timestamp_granularities:r.timestampGranularities??void 0};for(let t in e){let n=e[t];if(void 0!==n)if(Array.isArray(n))for(let e of n)i.append(`${t}[]`,String(e));else i.append(t,String(n))}}return{formData:i,responseFormat:r?.responseFormat,warnings:[]}}async doGenerate(e){let t=this.config._internal?.currentDate?.()??new Date,{formData:o,responseFormat:r,warnings:i}=await this.getArgs(e),a="text"===r?_:(0,n.createJsonResponseHandler)(f),{value:s,responseHeaders:u,rawValue:c}=await (0,n.postFormDataToApi)({url:this.config.url({path:"/audio/transcriptions",modelId:this.modelId}),headers:(0,n.combineHeaders)(this.config.headers?.(),e.headers),formData:o,failedResponseHandler:l,successfulResponseHandler:a,abortSignal:e.abortSignal,fetch:this.config.fetch});return{text:s.text,segments:s.segments?.map(e=>({text:e.text,startSecond:e.start,endSecond:e.end}))??s.words?.map(e=>({text:e.word,startSecond:e.start,endSecond:e.end}))??[],language:s.language??void 0,durationInSeconds:s.duration??void 0,warnings:i,response:{timestamp:t,modelId:this.modelId,headers:u,body:c}}}};let f=r.z.object({text:r.z.string(),x_groq:r.z.object({id:r.z.string()}),task:r.z.string().nullish(),language:r.z.string().nullish(),duration:r.z.number().nullish(),segments:r.z.array(r.z.object({id:r.z.number(),seek:r.z.number(),start:r.z.number(),end:r.z.number(),text:r.z.string(),tokens:r.z.array(r.z.number()),temperature:r.z.number(),avg_logprob:r.z.number(),compression_ratio:r.z.number(),no_speech_prob:r.z.number()})).nullish(),words:r.z.array(r.z.object({word:r.z.string(),start:r.z.number(),end:r.z.number()})).nullish()}),y=(0,n.createBinaryResponseHandler)(),b=new TextDecoder,_=async e=>{let{value:t,responseHeaders:n}=await y(e),o=b.decode(t);return{value:{text:o},rawValue:o,responseHeaders:n}},w={browserSearch:(0,n.createProviderExecutedToolFactory)({id:"groq.browser_search",inputSchema:(0,n.lazySchema)(()=>(0,n.zodSchema)(r.z.object({}))),outputSchema:(0,n.lazySchema)(()=>(0,n.zodSchema)(r.z.object({})))})};function z(e={}){let o=(0,n.withoutTrailingSlash)(e.baseURL)??"https://api.groq.com/openai/v1",r=()=>(0,n.withUserAgentSuffix)({Authorization:`Bearer ${(0,n.loadApiKey)({apiKey:e.apiKey,environmentVariableName:"GROQ_API_KEY",description:"Groq"})}`,...e.headers},"ai-sdk-groq/4.0.53"),i=t=>new d(t,{provider:"groq.chat",url:({path:e})=>`${o}${e}`,headers:r,fetch:e.fetch}),a=e=>{if(new.target)throw Error("The Groq model function cannot be called with the new keyword.");return i(e)},s=t=>new g(t,{provider:"groq.transcription",url:({path:e})=>`${o}${e}`,headers:r,fetch:e.fetch}),l=function(e){return a(e)};return l.specificationVersion="v4",l.languageModel=a,l.chat=i,l.embeddingModel=e=>{throw new t.NoSuchModelError({modelId:e,modelType:"embeddingModel"})},l.textEmbeddingModel=l.embeddingModel,l.imageModel=e=>{throw new t.NoSuchModelError({modelId:e,modelType:"imageModel"})},l.transcription=s,l.transcriptionModel=s,l.tools=w,l}z(),e.s(["createGroq",0,z])},955066,e=>{"use strict";var t=e.i(296194),n=e.i(691296),o=e.i(548874),r=e.i(853205);let i=r.z.object({messages:r.z.array(r.z.json()).nullish(),cached_tokens:r.z.number().nullish(),audio_tokens:r.z.number().nullish()}).catchall(r.z.json()),a=r.z.object({reasoning_tokens:r.z.number().nullish()}).catchall(r.z.json()),s=r.z.object({prompt_tokens:r.z.number(),completion_tokens:r.z.number(),total_tokens:r.z.number(),prompt_audio_seconds:r.z.number().nullish(),request_count:r.z.number().nullish(),service_tier:r.z.string().nullish(),num_cached_tokens:r.z.number().nullish(),prompt_tokens_details:i.nullish(),prompt_token_details:i.nullish(),completion_tokens_details:a.nullish()}).catchall(r.z.json());function l(e){if(null==e)return(0,n.createNullLanguageModelUsage)();let t=e.prompt_tokens,o=e.completion_tokens,r=e.num_cached_tokens??e.prompt_tokens_details?.cached_tokens??e.prompt_token_details?.cached_tokens??0;return{inputTokens:{total:t,noCache:t-r,cacheRead:r||void 0,cacheWrite:void 0},outputTokens:{total:o,text:o,reasoning:void 0},raw:e}}function u({part:e}){if("url"===e.data.type)return e.data.url.toString();if("data"===e.data.type)return`data:${(0,n.resolveFullMediaType)({part:e})};base64,${(0,n.convertToBase64)(e.data.data)}`;throw new t.UnsupportedFunctionalityError({functionality:`file part data type ${e.data.type}`})}function c(e){switch(e){case"stop":return"stop";case"length":case"model_length":return"length";case"tool_calls":return"tool-calls";case"error":return"error";default:return"other"}}let d=r.z.object({safePrompt:r.z.boolean().optional(),documentImageLimit:r.z.number().optional(),documentPageLimit:r.z.number().optional(),structuredOutputs:r.z.boolean().optional(),strictJsonSchema:r.z.boolean().optional(),parallelToolCalls:r.z.boolean().optional(),promptCacheKey:r.z.string().optional(),reasoningEffort:r.z.enum(["high","none"]).optional()}),p=r.z.object({object:r.z.literal("error"),message:r.z.string(),type:r.z.string(),param:r.z.string().nullable(),code:r.z.string().nullable()}),h=(0,n.createJsonErrorResponseHandler)({errorSchema:p,errorToMessage:e=>e.message}),m=new Set(["glm-5-2","labs-leanstral-1-5","labs-leanstral-1-5-1","magistral-medium-latest","magistral-small-latest","mistral-medium","mistral-medium-2604","mistral-medium-3","mistral-medium-3-5","mistral-medium-3.5","mistral-medium-latest","mistral-small-2603","mistral-small-latest","mistral-vibe-cli-fast","mistral-vibe-cli-latest","mistral-vibe-cli-with-tools","zai-glm-5-2"]);var g=class e{static[o.WORKFLOW_SERIALIZE](e){return(0,n.serializeModelOptions)({modelId:e.modelId,config:e.config})}static[o.WORKFLOW_DESERIALIZE](t){return new e(t.modelId,t.config)}constructor(e,t){this.specificationVersion="v4",this.supportedUrls={"application/pdf":[/^https:\/\/.*$/]},this.modelId=e,this.config=t,this.generateId=t.generateId??n.generateId}get provider(){return this.config.provider}async getArgs({prompt:e,maxOutputTokens:o,temperature:r,topP:i,topK:a,frequencyPenalty:s,presencePenalty:l,reasoning:c,stopSequences:p,responseFormat:h,seed:g,providerOptions:f,tools:y,toolChoice:b}){let _,w=[],z=await (0,n.parseProviderOptions)({provider:"mistral",providerOptions:f,schema:d})??{};null!=a&&w.push({type:"unsupported",feature:"topK"}),m.has(this.modelId)?_=z.reasoningEffort??((0,n.isCustomReasoning)(c)?"none"===c?"none":(0,n.mapReasoningToProviderEffort)({reasoning:c,effortMap:{minimal:"high",low:"high",medium:"high",high:"high",xhigh:"high"},warnings:w}):void 0):(0,n.isCustomReasoning)(c)&&w.push({type:"unsupported",feature:"reasoning",details:"This model does not support reasoning configuration."});let v=z.structuredOutputs??!0,k=z.strictJsonSchema??!1;h?.type!=="json"||v&&null!=h.schema||(e=(0,n.injectJsonInstructionIntoMessages)({messages:e,schema:h.schema}));let x={model:this.modelId,safe_prompt:z.safePrompt,max_tokens:o,temperature:r,top_p:i,...null!=s?{frequency_penalty:s}:{},...null!=l?{presence_penalty:l}:{},stop:p,random_seed:g,reasoning_effort:_,response_format:h?.type==="json"?v&&h?.schema!=null?{type:"json_schema",json_schema:{schema:h.schema,strict:k,name:h.name??"response",description:h.description}}:{type:"json_object"}:void 0,document_image_limit:z.documentImageLimit,document_page_limit:z.documentPageLimit,...void 0!==z.promptCacheKey?{prompt_cache_key:z.promptCacheKey}:{},messages:function(e){let o=[];for(let r=0;r<e.length;r++){let{role:i,content:a}=e[r],s=r===e.length-1;switch(i){case"system":o.push({role:"system",content:a});break;case"user":o.push({role:"user",content:a.map(e=>{switch(e.type){case"text":return{type:"text",text:e.text};case"file":switch(e.data.type){case"reference":throw new t.UnsupportedFunctionalityError({functionality:"file parts with provider references"});case"text":throw new t.UnsupportedFunctionalityError({functionality:"text file parts"});case"url":case"data":if("image"===(0,n.getTopLevelMediaType)(e.mediaType))return{type:"image_url",image_url:u({part:e})};if("data"===e.data.type){if("application/pdf"!==(0,n.resolveFullMediaType)({part:e}))throw new t.UnsupportedFunctionalityError({functionality:"Only images and PDF file parts are supported"})}else if("application/pdf"!==e.mediaType)throw new t.UnsupportedFunctionalityError({functionality:"Only images and PDF file parts are supported"});return{type:"document_url",document_url:u({part:e})}}}})});break;case"assistant":{let e="",t=!1,n=[],r=[];for(let o of a)switch(o.type){case"text":e+=o.text,n.push({type:"text",text:o.text});break;case"tool-call":r.push({id:o.toolCallId,type:"function",function:{name:o.toolName,arguments:JSON.stringify(o.input)}});break;case"reasoning":t=!0,n.push({type:"thinking",thinking:[{type:"text",text:o.text}],closed:!0});break;default:throw Error(`Unsupported content type in assistant message: ${o.type}`)}o.push({role:"assistant",content:t?n:e,prefix:!!s||void 0,tool_calls:r.length>0?r:void 0});break}case"tool":for(let e of a){let t;if("tool-approval-response"===e.type)continue;let n=e.output;switch(n.type){case"text":case"error-text":t=n.value;break;case"execution-denied":t=n.reason??"Tool call execution denied.";break;case"content":case"json":case"error-json":t=JSON.stringify(n.value)}o.push({role:"tool",name:e.toolName,tool_call_id:e.toolCallId,content:t})}break;default:throw Error(`Unsupported role: ${i}`)}}return o}(e)},{tools:S,toolChoice:T,toolWarnings:I}=function({tools:e,toolChoice:n}){e=e?.length?e:void 0;let o=[];if(null==e)return{tools:void 0,toolChoice:void 0,toolWarnings:o};let r=[];for(let t of e)"provider"===t.type?o.push({type:"unsupported",feature:`provider-defined tool ${t.id}`}):r.push({type:"function",function:{name:t.name,description:t.description,parameters:t.inputSchema,...null!=t.strict?{strict:t.strict}:{}}});if(null==n)return{tools:r,toolChoice:void 0,toolWarnings:o};let i=n.type;switch(i){case"auto":case"none":return{tools:r,toolChoice:i,toolWarnings:o};case"required":return{tools:r,toolChoice:"any",toolWarnings:o};case"tool":return{tools:r.filter(e=>e.function.name===n.toolName),toolChoice:"any",toolWarnings:o};default:throw new t.UnsupportedFunctionalityError({functionality:`tool choice type: ${i}`})}}({tools:y,toolChoice:b});return{args:{...x,tools:S,tool_choice:T,...null!=S&&void 0!==z.parallelToolCalls?{parallel_tool_calls:z.parallelToolCalls}:{}},warnings:[...w,...I]}}async doGenerate(e){let{args:t,warnings:o}=await this.getArgs(e),{responseHeaders:r,value:i,rawValue:a}=await (0,n.postJsonToApi)({url:`${this.config.baseURL}/chat/completions`,headers:(0,n.combineHeaders)(this.config.headers?.(),e.headers),body:t,failedResponseHandler:h,successfulResponseHandler:(0,n.createJsonResponseHandler)(_),abortSignal:e.abortSignal,fetch:this.config.fetch}),s=i.choices[0],u=[];if(null!=s.message.content&&Array.isArray(s.message.content))for(let e of s.message.content)if("thinking"===e.type){let t=f(e.thinking);t.length>0&&u.push({type:"reasoning",text:t})}else"text"===e.type&&e.text.length>0&&u.push({type:"text",text:e.text});else{let e=y(s.message.content);null!=e&&e.length>0&&u.push({type:"text",text:e})}if(null!=s.message.tool_calls)for(let e of s.message.tool_calls)u.push({type:"tool-call",toolCallId:e.id,toolName:e.function.name,input:e.function.arguments});return{content:u,finishReason:{unified:c(s.finish_reason),raw:s.finish_reason??void 0},usage:l(i.usage),request:{body:t},response:{...(0,n.createLanguageModelResponseMetadata)(i),headers:r,body:a},warnings:o}}async doStream(e){let t,o,{args:r,warnings:i}=await this.getArgs(e),a={...r,stream:!0},{responseHeaders:s,value:u}=await (0,n.postJsonToApi)({url:`${this.config.baseURL}/chat/completions`,headers:(0,n.combineHeaders)(this.config.headers?.(),e.headers),body:a,failedResponseHandler:h,successfulResponseHandler:(0,n.createEventSourceResponseHandler)(w),abortSignal:e.abortSignal,fetch:this.config.fetch}),d={unified:"other",raw:void 0},p=!0,m=!1,g=null,b=this.generateId;return{stream:u.pipeThrough(new TransformStream({start(e){t=new n.StreamingToolCallTracker(e,{generateId:b}),e.enqueue({type:"stream-start",warnings:i})},transform(r,i){if(e.includeRawChunks&&i.enqueue({type:"raw",rawValue:r.rawValue}),!r.success)return void i.enqueue({type:"error",error:r.error});let a=r.value;p&&(p=!1,i.enqueue({type:"response-metadata",...(0,n.createLanguageModelResponseMetadata)(a)})),null!=a.usage&&(o=a.usage);let s=a.choices[0],l=s.delta,u=y(l.content);if(null!=l.content&&Array.isArray(l.content)){for(let e of l.content)if("thinking"===e.type){let t=f(e.thinking);t.length>0&&(null==g&&(m&&(i.enqueue({type:"text-end",id:"0"}),m=!1),g=b(),i.enqueue({type:"reasoning-start",id:g})),i.enqueue({type:"reasoning-delta",id:g,delta:t}))}}if(null!=u&&u.length>0&&(m||(null!=g&&(i.enqueue({type:"reasoning-end",id:g}),g=null),i.enqueue({type:"text-start",id:"0"}),m=!0),i.enqueue({type:"text-delta",id:"0",delta:u})),l?.tool_calls!=null)for(let e of l.tool_calls)t.processDelta(e);null!=s.finish_reason&&(d={unified:c(s.finish_reason),raw:s.finish_reason})},flush(e){null!=g&&e.enqueue({type:"reasoning-end",id:g}),m&&e.enqueue({type:"text-end",id:"0"}),t.flush(),e.enqueue({type:"finish",finishReason:d,usage:l(o)})}})),request:{body:a},response:{headers:s}}}};function f(e){return e.filter(e=>"text"===e.type).map(e=>e.text).join("")}function y(e){if("string"==typeof e)return e;if(null==e)return;let t=[];for(let n of e){let{type:e}=n;switch(e){case"text":t.push(n.text);break;case"thinking":case"image_url":case"reference":break;default:throw Error(`Unsupported type: ${e}`)}}return t.length?t.join(""):void 0}let b=r.z.union([r.z.string(),r.z.array(r.z.discriminatedUnion("type",[r.z.object({type:r.z.literal("text"),text:r.z.string()}),r.z.object({type:r.z.literal("image_url"),image_url:r.z.union([r.z.string(),r.z.object({url:r.z.string(),detail:r.z.string().nullable()})])}),r.z.object({type:r.z.literal("reference"),reference_ids:r.z.array(r.z.union([r.z.string(),r.z.number()]))}),r.z.object({type:r.z.literal("thinking"),thinking:r.z.array(r.z.object({type:r.z.literal("text"),text:r.z.string()}))})]))]).nullish(),_=r.z.object({id:r.z.string().nullish(),created:r.z.number().nullish(),model:r.z.string().nullish(),choices:r.z.array(r.z.object({message:r.z.object({role:r.z.literal("assistant"),content:b,tool_calls:r.z.array(r.z.object({id:r.z.string(),function:r.z.object({name:r.z.string(),arguments:r.z.string()})})).nullish()}),index:r.z.number(),finish_reason:r.z.string().nullish()})),object:r.z.literal("chat.completion"),usage:s}),w=r.z.object({id:r.z.string().nullish(),created:r.z.number().nullish(),model:r.z.string().nullish(),choices:r.z.array(r.z.object({delta:r.z.object({role:r.z.enum(["assistant"]).optional(),content:b,tool_calls:r.z.array(r.z.object({index:r.z.number().nullish(),id:r.z.string().nullish(),function:r.z.object({name:r.z.string().nullish(),arguments:r.z.string().nullish()})})).nullish()}),finish_reason:r.z.string().nullish(),index:r.z.number()})),usage:s.nullish()}),z=r.z.object({metadata:r.z.record(r.z.string(),r.z.any()).optional(),outputDimension:r.z.number().int().positive().optional(),outputDtype:r.z.enum(["float","int8","uint8","binary","ubinary"]).optional()});var v=class e{get provider(){return this.config.provider}static[o.WORKFLOW_SERIALIZE](e){return(0,n.serializeModelOptions)({modelId:e.modelId,config:e.config})}static[o.WORKFLOW_DESERIALIZE](t){return new e(t.modelId,t.config)}constructor(e,t){this.specificationVersion="v4",this.maxEmbeddingsPerCall=32,this.supportsParallelCalls=!1,this.modelId=e,this.config=t}async doEmbed({values:e,abortSignal:o,headers:r,providerOptions:i}){if(e.length>this.maxEmbeddingsPerCall)throw new t.TooManyEmbeddingValuesForCallError({provider:this.provider,modelId:this.modelId,maxEmbeddingsPerCall:this.maxEmbeddingsPerCall,values:e});let a=await (0,n.parseProviderOptions)({provider:"mistral",providerOptions:i,schema:z})??{},{responseHeaders:s,value:l,rawValue:u}=await (0,n.postJsonToApi)({url:`${this.config.baseURL}/embeddings`,headers:(0,n.combineHeaders)(this.config.headers?.(),r),body:{model:this.modelId,input:e,metadata:a.metadata,output_dimension:a.outputDimension,output_dtype:a.outputDtype,encoding_format:"float"},failedResponseHandler:h,successfulResponseHandler:(0,n.createJsonResponseHandler)(k),abortSignal:o,fetch:this.config.fetch});return{warnings:[],embeddings:l.data.map(e=>e.embedding),usage:l.usage?{tokens:l.usage.prompt_tokens}:void 0,response:{headers:s,body:u}}}};let k=r.z.object({data:r.z.array(r.z.object({embedding:r.z.array(r.z.number())})),usage:r.z.object({prompt_tokens:r.z.number()}).nullish()}),x=r.z.object({refAudio:r.z.string().min(1).optional()});var S=class e{static[o.WORKFLOW_SERIALIZE](e){return(0,n.serializeModelOptions)({modelId:e.modelId,config:e.config})}static[o.WORKFLOW_DESERIALIZE](t){return new e(t.modelId,t.config)}get provider(){return this.config.provider}constructor(e,t){this.modelId=e,this.config=t,this.specificationVersion="v4"}async getArgs({text:e,voice:t,outputFormat:o="mp3",instructions:r,speed:i,language:a,providerOptions:s}){let l=[],u=await (0,n.parseProviderOptions)({provider:"mistral",providerOptions:s,schema:x}),c="mp3";["pcm","wav","mp3","flac","opus"].includes(o)?c=o:l.push({type:"unsupported",feature:"outputFormat",details:`Unsupported output format: ${o}. Using mp3 instead.`}),null!=r&&l.push({type:"unsupported",feature:"instructions",details:"Mistral speech models do not support the `instructions` option. Use a reference audio clip to guide delivery."}),null!=i&&l.push({type:"unsupported",feature:"speed",details:"Mistral speech models do not support the `speed` option. It was ignored."}),null!=a&&l.push({type:"unsupported",feature:"language",details:"Mistral speech models do not support the `language` option. Language is inferred from the input text and voice."});let d=u?.refAudio,p={model:this.modelId,input:e,voice_id:null==d?t:void 0,ref_audio:d,response_format:c,stream:!1};return{requestBody:p,requestBodyValues:{...p,ref_audio:null==d?void 0:"[redacted]"},warnings:l}}async doGenerate(e){let t=this.config._internal?.currentDate?.()??new Date,{requestBody:o,requestBodyValues:r,warnings:i}=await this.getArgs(e),{value:a,responseHeaders:s,rawValue:l}=await (0,n.postToApi)({url:`${this.config.baseURL}/audio/speech`,headers:(0,n.combineHeaders)({"Content-Type":"application/json"},this.config.headers?.(),e.headers),body:{content:JSON.stringify(o),values:r},failedResponseHandler:h,successfulResponseHandler:(0,n.createJsonResponseHandler)(T),abortSignal:e.abortSignal,fetch:this.config.fetch});return{audio:a.audio_data,warnings:i,request:{body:JSON.stringify(r)},response:{timestamp:t,modelId:this.modelId,headers:s,body:l}}}};let T=r.z.object({audio_data:r.z.string()}),I=(0,n.lazySchema)(()=>(0,n.zodSchema)(r.z.object({language:r.z.string().min(1).optional(),temperature:r.z.number().optional(),timestampGranularities:r.z.array(r.z.enum(["segment","word"])).min(1).optional(),diarize:r.z.boolean().optional(),contextBias:r.z.array(r.z.string().min(1).regex(/^[^\s,]+$/,"Context bias items must not contain commas or whitespace.")).max(100).optional()})));var O=class e{static[o.WORKFLOW_SERIALIZE](e){return(0,n.serializeModelOptions)({modelId:e.modelId,config:e.config})}static[o.WORKFLOW_DESERIALIZE](t){return new e(t.modelId,t.config)}get provider(){return this.config.provider}constructor(e,t){this.modelId=e,this.config=t,this.specificationVersion="v4"}async getArgs({audio:e,mediaType:o,providerOptions:r}){let i=await (0,n.parseProviderOptions)({provider:"mistral",providerOptions:r,schema:I});if(i?.language!=null&&null!=i.timestampGranularities)throw new t.InvalidArgumentError({argument:"providerOptions",message:"providerOptions.mistral.language cannot be combined with providerOptions.mistral.timestampGranularities"});let a=new FormData,s=e instanceof Uint8Array?new Blob([e]):new Blob([(0,n.convertBase64ToUint8Array)(e)]);return a.append("model",this.modelId),a.append("file",new File([s],"audio",{type:o}),`audio.${(0,n.mediaTypeToExtension)(o)}`),null!=i&&(E(a,"language",i.language),E(a,"temperature",i.temperature),E(a,"timestamp_granularities",i.timestampGranularities),E(a,"diarize",i.diarize),E(a,"context_bias",i.contextBias)),{formData:a,warnings:[]}}async doGenerate(e){let t=this.config._internal?.currentDate?.()??new Date,{formData:o,warnings:r}=await this.getArgs(e),{value:i,responseHeaders:a,rawValue:s}=await (0,n.postFormDataToApi)({url:`${this.config.baseURL}/audio/transcriptions`,headers:(0,n.combineHeaders)(this.config.headers?.(),e.headers),formData:o,failedResponseHandler:h,successfulResponseHandler:(0,n.createJsonResponseHandler)(C),abortSignal:e.abortSignal,fetch:this.config.fetch}),l=i.segments?.map(e=>({text:e.text,startSecond:e.start,endSecond:e.end}))??[],u={};null!=i.usage&&(u.usage={...null!=i.usage.prompt_tokens&&{promptTokens:i.usage.prompt_tokens},...null!=i.usage.completion_tokens&&{completionTokens:i.usage.completion_tokens},...null!=i.usage.total_tokens&&{totalTokens:i.usage.total_tokens},...null!=i.usage.prompt_audio_seconds&&{promptAudioSeconds:i.usage.prompt_audio_seconds},...null!=i.usage.request_count&&{requestCount:i.usage.request_count}});let c=i.segments?.filter(e=>null!=e.type||null!=e.score||null!=e.speaker_id).map(e=>({text:e.text,startSecond:e.start,endSecond:e.end,...null!=e.type&&{type:e.type},...null!=e.score&&{score:e.score},...null!=e.speaker_id&&{speakerId:e.speaker_id}}));return null!=c&&c.length>0&&(u.segments=c),{text:i.text,segments:l,language:i.language??void 0,durationInSeconds:i.usage?.prompt_audio_seconds??l.at(-1)?.endSecond??void 0,warnings:r,response:{timestamp:t,modelId:i.model,headers:a,body:s},...Object.keys(u).length>0&&{providerMetadata:{mistral:u}}}}};function E(e,t,n){if(null!=n){if(Array.isArray(n)){for(let o of n)e.append(t,o);return}e.append(t,String(n))}}let C=r.z.object({model:r.z.string(),text:r.z.string(),language:r.z.string().nullish(),segments:r.z.array(r.z.object({type:r.z.literal("transcription_segment").nullish(),text:r.z.string(),start:r.z.number(),end:r.z.number(),score:r.z.number().nullish(),speaker_id:r.z.string().nullish()})).nullish(),usage:r.z.object({prompt_tokens:r.z.number().nullish(),completion_tokens:r.z.number().nullish(),total_tokens:r.z.number().nullish(),prompt_audio_seconds:r.z.number().nullish(),request_count:r.z.number().nullish()}).nullish()});function A(e={}){let o=(0,n.withoutTrailingSlash)(e.baseURL)??"https://api.mistral.ai/v1",r=()=>(0,n.withUserAgentSuffix)({Authorization:`Bearer ${(0,n.loadApiKey)({apiKey:e.apiKey,environmentVariableName:"MISTRAL_API_KEY",description:"Mistral"})}`,...e.headers},"ai-sdk-mistral/4.0.55"),i=t=>new g(t,{provider:"mistral.chat",baseURL:o,headers:r,fetch:e.fetch,generateId:e.generateId}),a=t=>new v(t,{provider:"mistral.embedding",baseURL:o,headers:r,fetch:e.fetch}),s=t=>new S(t,{provider:"mistral.speech",baseURL:o,headers:r,fetch:e.fetch}),l=t=>new O(t,{provider:"mistral.transcription",baseURL:o,headers:r,fetch:e.fetch}),u=function(e){if(new.target)throw Error("The Mistral model function cannot be called with the new keyword.");return i(e)};return u.specificationVersion="v4",u.languageModel=i,u.chat=i,u.embedding=a,u.embeddingModel=a,u.textEmbedding=a,u.textEmbeddingModel=a,u.speech=s,u.speechModel=s,u.transcription=l,u.transcriptionModel=l,u.imageModel=e=>{throw new t.NoSuchModelError({modelId:e,modelType:"imageModel"})},u}A(),e.s(["createMistral",0,A])},753955,e=>{"use strict";let t;var n=e.i(679007),o=e.i(691296),r=e.i(749906),i=e.i(853205),a=e.i(296194);async function s(e){return(await t).getRandomValues(new Uint8Array(e))}async function l(e){let t="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789-._~",n=256-256%t.length,o="";for(;o.length<e;)for(let r of(await s(e-o.length)))r<n&&(o+=t[r%t.length]);return o}async function u(e){return await l(e)}async function c(e){return btoa(String.fromCharCode(...new Uint8Array(await (await t).subtle.digest("SHA-256",new TextEncoder().encode(e))))).replace(/\//g,"_").replace(/\+/g,"-").replace(/=/g,"")}async function d(e){if(e||(e=43),e<43||e>128)throw`Expected a length between 43 and 128. Received ${e}.`;let t=await u(e),n=await c(t);return{code_verifier:t,code_challenge:n}}t=globalThis.crypto?.webcrypto??globalThis.crypto??e.A(70729).then(e=>e.webcrypto);let p="2026-07-28",h="2025-11-25",m=[p,h,"2025-06-18","2025-03-26","2024-11-05"],g=i.z.optional(i.z.record(i.z.string(),i.z.unknown())),f=i.z.looseObject({name:i.z.string(),version:i.z.string(),title:i.z.optional(i.z.string())}),y=i.z.looseObject({_meta:i.z.optional(i.z.object({}).loose())}),b=y.extend({resultType:i.z.optional(i.z.string())}),_=i.z.object({method:i.z.string(),params:i.z.optional(y)}),w=i.z.object({applyDefaults:i.z.optional(i.z.boolean())}).loose(),z=i.z.looseObject({experimental:i.z.optional(i.z.object({}).loose()),logging:i.z.optional(i.z.object({}).loose()),completions:i.z.optional(i.z.object({}).loose()),prompts:i.z.optional(i.z.looseObject({listChanged:i.z.optional(i.z.boolean())})),resources:i.z.optional(i.z.looseObject({subscribe:i.z.optional(i.z.boolean()),listChanged:i.z.optional(i.z.boolean())})),tools:i.z.optional(i.z.looseObject({listChanged:i.z.optional(i.z.boolean())})),elicitation:i.z.optional(w)});i.z.object({elicitation:i.z.optional(w)}).loose();let v=b.extend({supportedVersions:i.z.array(i.z.string()),capabilities:z,instructions:i.z.optional(i.z.string()),ttlMs:i.z.optional(i.z.number()),cacheScope:i.z.optional(i.z.union([i.z.literal("public"),i.z.literal("private")]))}),k=b.extend({protocolVersion:i.z.string(),capabilities:z,serverInfo:f,instructions:i.z.optional(i.z.string())}),x=b.extend({nextCursor:i.z.optional(i.z.string())}),S=i.z.object({name:i.z.string(),title:i.z.optional(i.z.string()),description:i.z.optional(i.z.string()),inputSchema:i.z.looseObject({type:i.z.optional(i.z.unknown()),properties:i.z.optional(i.z.object({}).loose())}),outputSchema:i.z.optional(i.z.object({}).loose()),annotations:i.z.optional(i.z.object({title:i.z.optional(i.z.string()),readOnlyHint:i.z.optional(i.z.boolean()),destructiveHint:i.z.optional(i.z.boolean()),idempotentHint:i.z.optional(i.z.boolean()),openWorldHint:i.z.optional(i.z.boolean())}).loose()),_meta:g}).loose(),T=x.extend({tools:i.z.array(S)}),I=i.z.object({type:i.z.literal("text"),text:i.z.string()}).loose(),O=i.z.object({type:i.z.literal("image"),data:i.z.base64(),mimeType:i.z.string()}).loose(),E=i.z.object({uri:i.z.string(),name:i.z.string(),title:i.z.optional(i.z.string()),description:i.z.optional(i.z.string()),mimeType:i.z.optional(i.z.string()),size:i.z.optional(i.z.number())}).loose(),C=x.extend({resources:i.z.array(E)}),A=i.z.object({uri:i.z.string(),name:i.z.optional(i.z.string()),title:i.z.optional(i.z.string()),mimeType:i.z.optional(i.z.string())}).loose(),j=A.extend({text:i.z.string()}),R=A.extend({blob:i.z.base64()}),$=i.z.object({type:i.z.literal("resource"),resource:i.z.union([j,R])}).loose(),M=i.z.object({type:i.z.literal("resource_link"),uri:i.z.string(),name:i.z.string(),description:i.z.optional(i.z.string()),mimeType:i.z.optional(i.z.string())}).loose(),N=i.z.object({type:i.z.string()}).loose().refine(e=>!["text","image","resource","resource_link"].includes(e.type),{message:"Known content types must match their schema"}),L=b.extend({content:i.z.array(i.z.union([I,O,$,M,N])),structuredContent:i.z.optional(i.z.unknown()),isError:i.z.boolean().default(!1).optional()}),P=b.extend({content:i.z.never().optional(),structuredContent:i.z.json(),isError:i.z.boolean().default(!1).optional()}).transform(e=>({...e,content:[{type:"text",text:JSON.stringify(e.structuredContent)}]})).pipe(L),U=L.or(P).or(b.extend({toolResult:i.z.unknown().nonoptional()})),q=i.z.object({uriTemplate:i.z.string(),name:i.z.string(),title:i.z.optional(i.z.string()),description:i.z.optional(i.z.string()),mimeType:i.z.optional(i.z.string())}).loose(),D=b.extend({resourceTemplates:i.z.array(q)}),F=b.extend({contents:i.z.array(i.z.union([j,R]))}),H=i.z.object({type:i.z.literal("ref/prompt"),name:i.z.string()}).loose(),B=i.z.object({type:i.z.literal("ref/resource"),uri:i.z.string()}).loose(),W=i.z.object({name:i.z.string(),value:i.z.string()}).loose();y.extend({ref:i.z.union([H,B]),argument:W,context:i.z.optional(i.z.object({arguments:i.z.record(i.z.string(),i.z.string())}).loose())});let K=b.extend({completion:i.z.object({values:i.z.array(i.z.string()).max(100),total:i.z.optional(i.z.number().int()),hasMore:i.z.optional(i.z.boolean())}).loose()}),V=i.z.object({name:i.z.string(),description:i.z.optional(i.z.string()),required:i.z.optional(i.z.boolean())}).loose(),J=i.z.object({name:i.z.string(),title:i.z.optional(i.z.string()),description:i.z.optional(i.z.string()),arguments:i.z.optional(i.z.array(V))}).loose(),G=x.extend({prompts:i.z.array(J)}),Y=i.z.object({role:i.z.union([i.z.literal("user"),i.z.literal("assistant")]),content:i.z.union([I,O,$,M])}).loose(),Z=b.extend({description:i.z.optional(i.z.string()),messages:i.z.array(Y)}),X=y.extend({message:i.z.string(),requestedSchema:i.z.unknown()}),Q=_.extend({method:i.z.literal("elicitation/create"),params:X}),ee=b.extend({action:i.z.union([i.z.literal("accept"),i.z.literal("decline"),i.z.literal("cancel")]),content:i.z.optional(i.z.record(i.z.string(),i.z.unknown()))}),et=i.z.object({jsonrpc:i.z.literal("2.0"),id:i.z.union([i.z.string(),i.z.number().int()])}).merge(_).strict(),en=i.z.object({jsonrpc:i.z.literal("2.0"),id:i.z.union([i.z.string(),i.z.number().int()]),result:b}).strict(),eo=i.z.object({jsonrpc:i.z.literal("2.0"),id:i.z.optional(i.z.union([i.z.string(),i.z.number().int()])),error:i.z.object({code:i.z.number().int(),message:i.z.string(),data:i.z.optional(i.z.unknown())})}).strict(),er=i.z.object({jsonrpc:i.z.literal("2.0")}).merge(i.z.object({method:i.z.string(),params:i.z.optional(y)})).strict(),ei=i.z.union([et,er,en,eo]);function ea(e){return ei.parse(e)}async function es(e){return ea(await (0,o.parseJSON)({text:e}))}let el="vercel.ai.error.AI_MCPClientError",eu=Symbol.for(el);var ec=class extends a.AISDKError{constructor({name:e="MCPClientError",message:t,cause:n,data:o,code:r,statusCode:i,url:a,responseBody:s}){super({name:e,message:t,cause:n}),this[eu]=!0,this.data=o,this.code=r,this.statusCode=i,this.url=a,this.responseBody=s}static isInstance(e){return a.AISDKError.hasMarker(e,el)}};let ed="2.0.63",ep=i.z.string().url().superRefine((e,t)=>{if(!URL.canParse(e))return t.addIssue({code:i.z.ZodIssueCode.custom,message:"URL must be parseable",fatal:!0}),i.z.NEVER}).refine(e=>{let t=new URL(e);return"javascript:"!==t.protocol&&"data:"!==t.protocol&&"vbscript:"!==t.protocol},{message:"URL cannot use javascript:, data:, or vbscript: scheme"}),eh=i.z.object({access_token:i.z.string(),id_token:i.z.string().optional(),token_type:i.z.string(),expires_in:i.z.number().optional(),scope:i.z.string().optional(),refresh_token:i.z.string().optional(),issuer:ep.optional(),authorization_server:ep.optional(),token_endpoint:ep.optional()}).strip(),em=i.z.looseObject({resource:i.z.string().url(),authorization_servers:i.z.array(ep).optional(),jwks_uri:i.z.string().url().optional(),scopes_supported:i.z.array(i.z.string()).optional(),bearer_methods_supported:i.z.array(i.z.string()).optional(),resource_signing_alg_values_supported:i.z.array(i.z.string()).optional(),resource_name:i.z.string().optional(),resource_documentation:i.z.string().optional(),resource_policy_uri:i.z.string().url().optional(),resource_tos_uri:i.z.string().url().optional(),tls_client_certificate_bound_access_tokens:i.z.boolean().optional(),authorization_details_types_supported:i.z.array(i.z.string()).optional(),dpop_signing_alg_values_supported:i.z.array(i.z.string()).optional(),dpop_bound_access_tokens_required:i.z.boolean().optional()}),eg=i.z.looseObject({issuer:i.z.string(),authorization_endpoint:ep,token_endpoint:ep,registration_endpoint:ep.optional(),authorization_response_iss_parameter_supported:i.z.boolean().optional(),client_id_metadata_document_supported:i.z.boolean().optional(),scopes_supported:i.z.array(i.z.string()).optional(),response_types_supported:i.z.array(i.z.string()),grant_types_supported:i.z.array(i.z.string()).optional(),code_challenge_methods_supported:i.z.array(i.z.string()).optional(),token_endpoint_auth_methods_supported:i.z.array(i.z.string()).optional(),token_endpoint_auth_signing_alg_values_supported:i.z.array(i.z.string()).optional()}),ef=i.z.looseObject({issuer:i.z.string(),authorization_endpoint:ep,token_endpoint:ep,userinfo_endpoint:ep.optional(),jwks_uri:ep,registration_endpoint:ep.optional(),authorization_response_iss_parameter_supported:i.z.boolean().optional(),client_id_metadata_document_supported:i.z.boolean().optional(),scopes_supported:i.z.array(i.z.string()).optional(),response_types_supported:i.z.array(i.z.string()),grant_types_supported:i.z.array(i.z.string()).optional(),subject_types_supported:i.z.array(i.z.string()),id_token_signing_alg_values_supported:i.z.array(i.z.string()),claims_supported:i.z.array(i.z.string()).optional(),token_endpoint_auth_methods_supported:i.z.array(i.z.string()).optional()}).merge(eg.pick({code_challenge_methods_supported:!0})),ey=i.z.object({client_id:i.z.string(),client_secret:i.z.string().optional(),client_id_issued_at:i.z.number().optional(),client_secret_expires_at:i.z.number().optional(),issuer:ep.optional(),authorization_server:ep.optional(),token_endpoint:ep.optional()}).strip(),eb=i.z.object({redirect_uris:i.z.array(ep),application_type:i.z.union([i.z.literal("native"),i.z.literal("web")]).optional(),token_endpoint_auth_method:i.z.string().optional(),grant_types:i.z.array(i.z.string()).optional(),response_types:i.z.array(i.z.string()).optional(),client_name:i.z.string().optional(),client_uri:ep.optional(),logo_uri:ep.optional(),scope:i.z.string().optional(),contacts:i.z.array(i.z.string()).optional(),tos_uri:ep.optional(),policy_uri:i.z.string().optional(),jwks_uri:ep.optional(),jwks:i.z.any().optional(),software_id:i.z.string().optional(),software_version:i.z.string().optional(),software_statement:i.z.string().optional()}).strip(),e_=i.z.object({error:i.z.string(),error_description:i.z.string().optional(),error_uri:i.z.string().optional()}),ew=eb.merge(ey),ez="vercel.ai.error.AI_MCPClientOAuthError",ev=Symbol.for(ez);var ek=class extends a.AISDKError{constructor({name:e="MCPClientOAuthError",message:t,cause:n}){super({name:e,message:t,cause:n}),this[ev]=!0}static isInstance(e){return a.AISDKError.hasMarker(e,ez)}},ex=class extends ek{static{this.errorCode="server_error"}},eS=class extends ek{static{this.errorCode="invalid_client"}},eT=class extends ek{static{this.errorCode="invalid_grant"}},eI=class extends ek{static{this.errorCode="unauthorized_client"}};let eO={[ex.errorCode]:ex,[eS.errorCode]:eS,[eT.errorCode]:eT,[eI.errorCode]:eI};function eE(e){let t=e.href;return"/"===e.pathname&&t.endsWith("/")?t.slice(0,-1):t}var eC=class extends Error{constructor(e="Unauthorized"){super(e),this.name="UnauthorizedError"}};function eA(e){return new URL(e).href}function ej(e){let t=e.toLowerCase().replace(/\.+$/,"");return"localhost"===t||t.endsWith(".localhost")||"127.0.0.1"===t||"[::1]"===t||"::1"===t}function eR(e,{allowLoopback:t=!1}={}){if(!(t&&("http:"===e.protocol||"https:"===e.protocol)&&ej(e.hostname)))try{(0,o.validateDownloadUrl)(e.href)}catch(t){throw new ek({message:`OAuth endpoint URL is not allowed: ${e.href}`,cause:t})}}function e$(e){let t=new URL(e);return ej(t.hostname)?t.origin:void 0}function eM(e,t){return{...e,issuer:t.issuer,authorization_server:t.authorizationServerUrl,token_endpoint:t.tokenEndpoint}}function eN(e,t){return{...e,issuer:t.issuer,authorization_server:t.authorizationServerUrl,token_endpoint:t.tokenEndpoint}}function eL(e){if(e?.authorization_server&&e.token_endpoint)return{issuer:e.issuer,authorizationServerUrl:eA(e.authorization_server),tokenEndpoint:eA(e.token_endpoint)}}async function eP({provider:e,clientInformation:t,tokens:n}){let o=eL(n);if(o)return o;let r=await e.authorizationServerInformation?.();return r?{issuer:r.issuer,authorizationServerUrl:eA(r.authorizationServerUrl),tokenEndpoint:eA(r.tokenEndpoint)}:eL(t)}async function eU({provider:e,clientInformation:t,authorizationServerInformation:n}){return e.saveAuthorizationServerInformation?(await e.saveAuthorizationServerInformation(n),!0):!!e.saveClientInformation&&(await e.saveClientInformation(eN(t,n)),!0)}function eq({storedAuthorizationServerInformation:e,currentAuthorizationServerInformation:t}){if(null!=e.issuer&&null!=t.issuer&&e.issuer!==t.issuer||e.authorizationServerUrl!==t.authorizationServerUrl||e.tokenEndpoint!==t.tokenEndpoint)throw new ek({message:"OAuth authorization server metadata does not match the metadata that issued the stored credentials"})}function eD(e){let t,n=e.headers.get("www-authenticate")??e.headers.get("WWW-Authenticate");if(!n)return{};let[o,r]=n.split(" ");if("bearer"!==o.toLowerCase()||!r)return{};let i=n.match(/(?:^|[,\s])resource_metadata="([^"]*)"/i),a=n.match(/(?:^|[,\s])scope="([^"]*)"/i)?.[1];try{t=i?new URL(i[1]):void 0}catch{}return{resourceMetadataUrl:t,scope:a}}async function eF(e,t,n=fetch,r){try{return await (0,o.fetchUntrustedUrl)({url:e.href,fetch:async(e,i)=>(0,o.fetchWithValidatedEndpoint)({url:e,init:{...i,headers:new Headers(i?.headers).has("MCP-Protocol-Version")?t:void 0},fetch:n,trustedOrigin:r,redirect:"manual"}),headers:t,trustedOrigin:r,untrustedFirstHopHeaders:["mcp-protocol-version"]})}catch(o){if(o instanceof TypeError)if(t)return eF(e,void 0,n,r);else return;throw o}}async function eH(e,t,n=fetch,o){return await eF(e,{"MCP-Protocol-Version":t},n,o)}async function eB(e,t,n,o){var r,i;let a,s=new URL(e),l=o?.protocolVersion??"2026-07-28";o?.metadataUrl?a=new URL(o.metadataUrl):(a=new URL(function(e,t="",n={}){return t.endsWith("/")&&(t=t.slice(0,-1)),n.prependPathname?`${t}/.well-known/${e}`:`/.well-known/${e}${t}`}(t,s.pathname),o?.metadataServerUrl??s)).search=s.search;let u=await eH(a,l,n,o?.trustedOrigin);return!o?.metadataUrl&&(r=u,i=s.pathname,!r||r.status>=400&&r.status<500&&"/"!==i)&&(u=await eH(new URL(`/.well-known/${t}`,s),l,n,o?.trustedOrigin)),u}async function eW(e,t,n=fetch){let o=await eB(e,"oauth-protected-resource",n,{protocolVersion:t?.protocolVersion,metadataUrl:t?.resourceMetadataUrl,trustedOrigin:new URL(e).origin});if(!o||404===o.status)throw Error("Resource server does not implement OAuth 2.0 Protected Resource Metadata.");if(!o.ok)throw Error(`HTTP ${o.status} trying to load well-known OAuth protected resource metadata.`);return em.parse(await o.json())}function eK(e,t){if(e.issuer!==t&&(t!==new URL(t).origin||e.issuer!==`${t}/`))throw new ek({message:`OAuth authorization server metadata issuer ${e.issuer} does not match expected issuer ${t}`})}async function eV(e,{fetchFn:t=fetch,protocolVersion:n=p,trustedOrigin:o}={}){let r={"MCP-Protocol-Version":n};for(let{url:n,type:i,expectedIssuer:a}of function(e){let t="string"==typeof e?new URL(e):e,n="/"!==t.pathname,o=t.origin,r=[];if(!n)return r.push({url:new URL("/.well-known/oauth-authorization-server",t.origin),type:"oauth",expectedIssuer:o}),r.push({url:new URL("/.well-known/openid-configuration",t.origin),type:"oidc",expectedIssuer:o}),r;let i=t.pathname;i.endsWith("/")&&(i=i.slice(0,-1));let a=`${t.origin}${i}`;return r.push({url:new URL(`/.well-known/oauth-authorization-server${i}`,t.origin),type:"oauth",expectedIssuer:a}),r.push({url:new URL("/.well-known/oauth-authorization-server",t.origin),type:"oauth",expectedIssuer:o}),r.push({url:new URL(`/.well-known/openid-configuration${i}`,t.origin),type:"oidc",expectedIssuer:a}),r.push({url:new URL(`${i}/.well-known/openid-configuration`,t.origin),type:"oidc",expectedIssuer:a}),r}(e)){let e=await eF(n,r,t,o);if(e){if(!e.ok){if(e.status>=400&&e.status<500)continue;throw Error(`HTTP ${e.status} trying to load ${"oauth"===i?"OAuth":"OpenID provider"} metadata from ${n}`)}if("oauth"===i){let t=eg.parse(await e.json());return eK(t,a),t}{let t=ef.parse(await e.json());if(eK(t,a),!t.code_challenge_methods_supported?.includes("S256"))throw Error(`Incompatible OIDC provider at ${n}: does not support S256 code challenge method required by MCP specification`);return t}}}}async function eJ(e,{metadata:t,clientInformation:n,redirectUrl:o,scope:r,state:i,resource:a}){let s,l="code",u="S256";if(t){if(s=new URL(t.authorization_endpoint),!t.response_types_supported.includes(l))throw Error(`Incompatible auth server: does not support response type ${l}`);if(!t.code_challenge_methods_supported||!t.code_challenge_methods_supported.includes(u))throw Error(`Incompatible auth server: does not support code challenge method ${u}`)}else s=new URL("/authorize",e);let c=await d(),p=c.code_verifier,h=c.code_challenge;return s.searchParams.set("response_type",l),s.searchParams.set("client_id",n.client_id),s.searchParams.set("code_challenge",h),s.searchParams.set("code_challenge_method",u),s.searchParams.set("redirect_uri",String(o)),i&&s.searchParams.set("state",i),r&&s.searchParams.set("scope",r),r?.includes("offline_access")&&s.searchParams.append("prompt","consent"),a&&s.searchParams.set("resource",eE(a)),{authorizationUrl:s,codeVerifier:p}}function eG(e,t){let n=void 0!==e.client_secret;return 0===t.length?n?"client_secret_post":"none":n&&t.includes("client_secret_basic")?"client_secret_basic":n&&t.includes("client_secret_post")?"client_secret_post":t.includes("none")?"none":n?"client_secret_post":"none"}function eY(e,t,n,o){let{client_id:r,client_secret:i}=t;switch(e){case"client_secret_basic":var a,s,l,u,c=r,d=i,p=n;if(!d)throw Error("client_secret_basic authentication requires a client_secret");let h=btoa(`${c}:${d}`);p.set("Authorization",`Basic ${h}`);return;case"client_secret_post":a=r,s=i,(l=o).set("client_id",a),s&&l.set("client_secret",s);return;case"none":u=r,o.set("client_id",u);return;default:throw Error(`Unsupported client authentication method: ${e}`)}}async function eZ(e){let t=e instanceof Response?e.status:void 0,n=e instanceof Response?await e.text():e;try{let{error:e,error_description:t,error_uri:r}=e_.parse(await (0,o.parseJSON)({text:n}));return new(eO[e]||ex)({message:t||"",cause:r})}catch(e){return new ex({message:`${t?`HTTP ${t}: `:""}Invalid OAuth error response: ${e}. Raw body: ${n}`})}}async function eX(e,{metadata:t,clientInformation:n,authorizationCode:r,codeVerifier:i,redirectUri:a,resource:s,addClientAuthentication:l,fetchFn:u}){let c="authorization_code",d=t?.token_endpoint?new URL(t.token_endpoint):new URL("/token",e),p=e$(e);if(eR(d,{allowLoopback:d.origin===p}),t?.grant_types_supported&&!t.grant_types_supported.includes(c))throw Error(`Incompatible auth server: does not support grant type ${c}`);let h=new Headers({"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json"}),m=new URLSearchParams({grant_type:c,code:r,code_verifier:i,redirect_uri:String(a)});l?await l(h,m,e,t):eY(eG(n,t?.token_endpoint_auth_methods_supported??[]),n,h,m),s&&m.set("resource",eE(s));let g=await (0,o.fetchWithValidatedEndpoint)({url:d,init:{method:"POST",headers:h,body:m},fetch:u,trustedOrigin:p});if(!g.ok)throw await eZ(g);return eh.parse(await g.json())}async function eQ(e,{metadata:t,clientInformation:n,refreshToken:r,resource:i,addClientAuthentication:a,fetchFn:s}){let l,u="refresh_token";if(t){if(l=new URL(t.token_endpoint),t.grant_types_supported&&!t.grant_types_supported.includes(u))throw Error(`Incompatible auth server: does not support grant type ${u}`)}else l=new URL("/token",e);let c=e$(e);eR(l,{allowLoopback:l.origin===c});let d=new Headers({"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json"}),p=new URLSearchParams({grant_type:u,refresh_token:r});a?await a(d,p,e,t):eY(eG(n,t?.token_endpoint_auth_methods_supported??[]),n,d,p),i&&p.set("resource",eE(i));let h=await (0,o.fetchWithValidatedEndpoint)({url:l,init:{method:"POST",headers:d,body:p},fetch:s,trustedOrigin:c});if(!h.ok)throw await eZ(h);return eh.parse({refresh_token:r,...await h.json()})}async function e0(e,{metadata:t,clientMetadata:n,fetchFn:r}){let i;if(t){if(!t.registration_endpoint)throw Error("Incompatible auth server: does not support dynamic client registration");i=new URL(t.registration_endpoint)}else i=new URL("/register",e);let a=e$(e);eR(i,{allowLoopback:i.origin===a});let s=n.application_type??(n.redirect_uris.every(e=>{let t=new URL(e);return("http:"===t.protocol||"https:"===t.protocol)&&ej(t.hostname)||"http:"!==t.protocol&&"https:"!==t.protocol})?"native":"web"),l=await (0,o.fetchWithValidatedEndpoint)({url:i,init:{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({...n,application_type:s})},fetch:r,trustedOrigin:a});if(!l.ok)throw await eZ(l);return ew.parse(await l.json())}async function e1(e,t){try{return await e4(e,t)}catch(n){if(n instanceof eS||n instanceof eI){if(void 0!==t.authorizationCode||!await e.isClientInformationDynamicallyRegistered?.())throw n;return await e.invalidateCredentials?.("all"),await e4(e,t)}if(n instanceof eT)return await e.invalidateCredentials?.("tokens"),await e4(e,t);throw n}}async function e2(e,t,n){let o,r=((o=new URL("string"==typeof e?e:e.href)).hash="",o);if(t.validateResourceURL)return await t.validateResourceURL(r,n?.resource);if(n){if(!function({requestedResource:e,configuredResource:t}){let n=new URL("string"==typeof e?e:e.href),o=new URL("string"==typeof t?t:t.href);if(n.origin!==o.origin||n.pathname.length<o.pathname.length)return!1;let r=n.pathname.endsWith("/")?n.pathname:n.pathname+"/",i=o.pathname.endsWith("/")?o.pathname:o.pathname+"/";return r.startsWith(i)}({requestedResource:r,configuredResource:n.resource}))throw Error(`Protected resource ${n.resource} does not match expected ${r} (or origin)`);return new URL(n.resource)}}async function e4(e,{serverUrl:t,authorizationCode:n,callbackState:o,callbackIssuer:r,scope:i,resourceMetadataUrl:a,fetchFn:s}){var l;let u,c,d,p;!function(e,t){if(!t)return;let n=new URL(e).origin;if(t.origin!==n)throw new ek({message:`OAuth protected resource metadata URL ${t.href} must have the same origin as the MCP server URL ${n}`})}(t,a);try{(u=await eW(t,{resourceMetadataUrl:a},s)).authorization_servers&&u.authorization_servers.length>0&&(c=u.authorization_servers[0])}catch{}void 0!==n&&(d=await Promise.resolve(e.clientInformation()))&&(p=await eP({provider:e,clientInformation:d})),c||(c=p?.authorizationServerUrl??t);let h=new URL(t),m=new URL(c),g=h.origin,f=m.origin,y=f===g||ej(h.hostname)&&ej(m.hostname)?f:void 0;y||eR(new URL(c));let b=await e2(t,e,u);await e.validateAuthorizationServerURL?.(t,c);let _=await eV(c,{fetchFn:s,trustedOrigin:y}),w=(l=c,{issuer:_?.issuer??String(l),authorizationServerUrl:eA(l),tokenEndpoint:eA(_?.token_endpoint?new URL(_.token_endpoint):new URL("/token",l))}),z=e.clientMetadata,v=function({scope:e,resourceMetadata:t,clientMetadata:n}){if(e)return e;let o=t?.scopes_supported?.join(" ");return o||n.scope}({scope:i,resourceMetadata:u,clientMetadata:z});if(void 0===n&&(d=await Promise.resolve(e.clientInformation())),d?.issuer!=null){let t=p??await eP({provider:e,clientInformation:d});t&&eq({storedAuthorizationServerInformation:t,currentAuthorizationServerInformation:w})}if(!d){if(void 0!==n)throw Error("Existing OAuth client information is required when exchanging an authorization code");if(!e.saveClientInformation)throw Error("OAuth client information must be saveable for dynamic registration");d=eN(await e0(c,{metadata:_,clientMetadata:{...z,scope:v},fetchFn:s}),w),await e.saveClientInformation(d)}if(void 0!==n){if(e.storedState){let t=await e.storedState();if(void 0!==t&&t!==o)throw Error("OAuth state parameter mismatch - possible CSRF attack")}let t=p??await eP({provider:e,clientInformation:d});if(!t)throw new ek({message:"Stored OAuth authorization server metadata is required when exchanging an authorization code"});!function({callbackIssuer:e,expectedIssuer:t}){if(null!=e&&e!==t)throw new ek({message:`OAuth authorization response issuer ${e} does not match expected issuer ${t}`})}({callbackIssuer:r,expectedIssuer:t.issuer??_?.issuer??String(c)}),eq({storedAuthorizationServerInformation:t,currentAuthorizationServerInformation:w});let i=await e.codeVerifier(),a=await eX(c,{metadata:_,clientInformation:d,authorizationCode:n,codeVerifier:i,redirectUri:e.redirectUrl,resource:b,addClientAuthentication:e.addClientAuthentication,fetchFn:s});return await e.saveTokens(eM(a,w)),"AUTHORIZED"}let k=await e.tokens();if(k?.refresh_token){let t=await eP({provider:e,clientInformation:d,tokens:k});t?eq({storedAuthorizationServerInformation:t,currentAuthorizationServerInformation:w}):await e.invalidateCredentials?.("tokens");try{if(t){let t=await eQ(c,{metadata:_,clientInformation:d,refreshToken:k.refresh_token,resource:b,addClientAuthentication:e.addClientAuthentication,fetchFn:s});return await e.saveTokens(eM(t,w)),"AUTHORIZED"}}catch(e){if(!(e instanceof ek)||e instanceof ex);else throw e}}let x=e.state?await e.state():void 0;x&&e.saveState&&await e.saveState(x);let{authorizationUrl:S,codeVerifier:T}=await eJ(c,{metadata:_,clientInformation:d,state:x,redirectUrl:e.redirectUrl,scope:v,resource:b});if(!await eU({provider:e,clientInformation:d,authorizationServerInformation:w}))throw new ek({message:"OAuth authorization server metadata must be saveable before starting authorization"});return await e.saveCodeVerifier(T),await e.redirectToAuthorization(S),"REDIRECT"}var e3=class{constructor({url:e,headers:t,authProvider:n,redirect:o="error",fetch:r}){this.connected=!1,this.url=new URL(e),this.headers=t,this.authProvider=n,this.redirectMode=o,this.fetchFn=r??globalThis.fetch}setProtocolVersion(e){this.protocolVersion=e}async commonHeaders(e){let t={...this.headers,...e,"mcp-protocol-version":this.protocolVersion??"2025-11-25"};if(this.authProvider){let e=await this.authProvider.tokens();e?.access_token&&(t.Authorization=`Bearer ${e.access_token}`)}return(0,o.withUserAgentSuffix)(t,`ai-sdk/${ed}`,(0,o.getRuntimeEnvironmentUserAgent)())}authorizeOnce(e,t){return this.authProvider?(this.authPromise||(this.authPromise=e1(this.authProvider,{serverUrl:this.url,resourceMetadataUrl:e,scope:t,fetchFn:this.fetchFn}).finally(()=>{this.authPromise=void 0})),this.authPromise):Promise.resolve("REDIRECT")}async accessTokenChanged(e){let t=(await this.authProvider?.tokens())?.access_token;return null!=t&&e!==`Bearer ${t}`}async start(){return new Promise((e,t)=>{if(this.connected)return e();this.abortController=new AbortController;let o=async(r=!1)=>{try{let i=await this.commonHeaders({Accept:"text/event-stream"}),a=await this.fetchFn(this.url.href,{headers:i,signal:this.abortController?.signal,redirect:this.redirectMode});if(401===a.status&&this.authProvider&&!r){let{resourceMetadataUrl:e,scope:n}=eD(a);this.resourceMetadataUrl=e;try{if(await this.authorizeOnce(this.resourceMetadataUrl,n)!=="AUTHORIZED"){let e=new eC;return this.onerror?.(e),t(e)}}catch(e){return this.onerror?.(e),t(e)}return o(!0)}if(!a.ok||!a.body){let e=`MCP SSE Transport Error: ${a.status} ${a.statusText}`;405===a.status&&(e+=". This server does not support SSE transport. Try using `http` transport instead");let n=new ec({message:e});return this.onerror?.(n),t(n)}let s=a.body.pipeThrough(new TextDecoderStream).pipeThrough(new n.EventSourceParserStream).getReader(),l=async()=>{try{for(;;){let{done:t,value:n}=await s.read();if(t){if(this.connected)throw this.connected=!1,new ec({message:"MCP SSE Transport Error: Connection closed unexpectedly"});return}let{event:o,data:r}=n;if("endpoint"===o){if(this.endpoint)continue;let t=new URL(r,this.url);if(t.origin!==this.url.origin)throw this.connected=!1,this.endpoint=void 0,this.sseConnection?.close(),this.abortController?.abort(),new ec({message:`MCP SSE Transport Error: Endpoint origin does not match connection origin: ${t.origin}`});this.endpoint=t,this.connected=!0,e()}else if(void 0===o||"message"===o)try{let e=await es(r);this.onmessage?.(e)}catch(t){let e=new ec({message:"MCP SSE Transport Error: Failed to parse message",cause:t});this.onerror?.(e)}}}catch(e){if(e instanceof Error&&"AbortError"===e.name)return;this.onerror?.(e),t(e)}};this.sseConnection={close:()=>s.cancel()},l()}catch(e){if(e instanceof Error&&"AbortError"===e.name)return;this.onerror?.(e),t(e)}};o()})}async close(){this.connected=!1,this.endpoint=void 0,this.sseConnection?.close(),this.abortController?.abort(),this.onclose?.()}async send(e,t){if(t?.signal?.throwIfAborted(),!this.endpoint||!this.connected)throw new ec({message:"MCP SSE Transport Error: Not connected"});let n=this.endpoint,o=this.abortController?.signal,r=t?.signal==null?o:null==o?t.signal:AbortSignal.any([o,t.signal]),i=async(o=!1)=>{try{let t=await this.commonHeaders({"Content-Type":"application/json"}),a={method:"POST",headers:t,body:JSON.stringify(e),signal:r,redirect:this.redirectMode},s=await this.fetchFn(n.href,a);if(401===s.status&&this.authProvider&&!o){if(await this.accessTokenChanged(new Headers(t).get("authorization")??void 0))return i(!0);let{resourceMetadataUrl:e,scope:n}=eD(s);if(this.resourceMetadataUrl=e,await this.authorizeOnce(this.resourceMetadataUrl,n)!=="AUTHORIZED")throw new eC;return i(!0)}if(!s.ok){let e=await s.text().catch(()=>null);throw new ec({message:`MCP SSE Transport Error: POSTing to endpoint (HTTP ${s.status}): ${e}`,statusCode:s.status,url:n.href,responseBody:e??void 0})}}catch(e){if(t?.signal?.aborted)throw e;throw this.onerror?.(e),e}};await i()}};let e5=/^[!#$%&'*+\-.^_`|~0-9A-Za-z]+$/,e6=/^=\?base64\?.*\?=$/;function e9(e){return[...e].every(e=>{let t=e.charCodeAt(0);return 9===t||t>=32&&t<=126})&&e.trim()===e&&!e6.test(e)?e:`=?base64?${(0,o.convertUint8ArrayToBase64)(new TextEncoder().encode(e))}?=`}function e8(e){return void 0===e||"message"===e}var e7=class{constructor({url:e,headers:t,authProvider:n,redirect:o="error",initialSessionId:r,initialProtocolVersion:i,onSessionIdChange:a,onSessionExpired:s,terminateSessionOnClose:l=!0,fetch:u}){this.supportsProtocolVersionDiscovery=!0,this.supportsMcpToolParameterHeaders=!0,this.inboundReconnectAttempts=0,this.reconnectionOptions={initialReconnectionDelay:1e3,maxReconnectionDelay:3e4,reconnectionDelayGrowFactor:1.5,maxRetries:2},this.url=new URL(e),this.headers=t,this.authProvider=n,this.redirectMode=o,this.sessionId=r,this.protocolVersion=i??"2025-11-25",this.onSessionIdChange=a,this.onSessionExpired=s,this.terminateSessionOnClose=l,this.fetchFn=u??globalThis.fetch}setProtocolVersion(e){if(this.protocolVersion=e,this.abortController){if(this.isModernProtocol()){this.inboundSseConnection?.close(),this.inboundSseConnection=void 0;return}this.inboundSseConnection||this.startInboundSse()}}isModernProtocol(){return(this.protocolVersion??"2026-07-28")===p}async commonHeaders({base:e,includeSessionId:t=!0}){let n={...this.headers,...e,"mcp-protocol-version":this.protocolVersion??"2025-11-25"};if(!this.isModernProtocol()&&t&&this.sessionId&&(n["mcp-session-id"]=this.sessionId),this.authProvider){let e=await this.authProvider.tokens();e?.access_token&&(n.Authorization=`Bearer ${e.access_token}`)}return(0,o.withUserAgentSuffix)(n,`ai-sdk/${ed}`,(0,o.getRuntimeEnvironmentUserAgent)())}setSessionId(e){this.sessionId!==e&&(this.sessionId=e,this.onSessionIdChange?.(e))}applySessionIdFromResponse(e){if(this.isModernProtocol())return;let t=e.headers.get("mcp-session-id");t&&this.setSessionId(t)}expireSessionId(e){this.sessionId===e&&this.setSessionId(void 0),this.onSessionExpired?.(e)}authorizeOnce(e,t){return this.authProvider?(this.authPromise||(this.authPromise=e1(this.authProvider,{serverUrl:this.url,resourceMetadataUrl:e,scope:t,fetchFn:this.fetchFn}).finally(()=>{this.authPromise=void 0})),this.authPromise):Promise.resolve("REDIRECT")}async start(){if(this.abortController)throw new ec({message:"MCP HTTP Transport Error: Transport already started. Note: client.connect() calls start() automatically."});this.abortController=new AbortController,null!=this.protocolVersion&&"2026-07-28"!==this.protocolVersion&&this.startInboundSse()}async close(e){this.inboundSseConnection?.close(),this.abortController?.abort();try{if(!this.isModernProtocol()&&this.sessionId&&this.terminateSessionOnClose&&this.abortController){e?.signal?.throwIfAborted();let t=await this.commonHeaders({base:{}});e?.signal?.throwIfAborted(),await this.fetchFn(this.url.href,{method:"DELETE",headers:t,signal:e?.signal,redirect:this.redirectMode}).catch(()=>void 0)}}catch{}this.onclose?.()}async send(e,t){t?.signal?.throwIfAborted();let o=this.abortController?.signal,r=t?.signal==null?o:null==o?t.signal:AbortSignal.any([o,t.signal]),i=async(o=!1)=>{try{let a="method"in e&&"initialize"===e.method,s=a?void 0:this.sessionId,l={method:"POST",headers:await this.commonHeaders({base:{"Content-Type":"application/json",Accept:"application/json, text/event-stream",...this.isModernProtocol()?t?.headers:{},...this.isModernProtocol()&&"method"in e&&"id"in e?this.getStandardRequestHeaders(e):{}},includeSessionId:!a}),body:JSON.stringify(e),signal:r,redirect:this.redirectMode},u=await this.fetchFn(this.url.href,l);if(this.applySessionIdFromResponse(u),401===u.status&&this.authProvider&&!o){let{resourceMetadataUrl:e,scope:t}=eD(u);this.resourceMetadataUrl=e;try{if(await this.authorizeOnce(this.resourceMetadataUrl,t)!=="AUTHORIZED")throw new eC}catch(e){throw this.onerror?.(e),e}return i(!0)}if(202===u.status){this.isModernProtocol()||this.inboundSseConnection||this.startInboundSse();return}if(!u.ok){let t=await u.text().catch(()=>null);if("id"in e&&null!=t){let n=await es(t).catch(()=>void 0);if(null!=n&&"error"in n)return void this.onmessage?.(null==n.id?{...n,id:e.id}:n)}let n=`MCP HTTP Transport Error: POSTing to endpoint (HTTP ${u.status}): ${t}`;404===u.status&&(!this.isModernProtocol()&&s?(this.expireSessionId(s),n+=". The MCP session expired. Create a new client without `initialSessionId` to start a fresh session"):this.isModernProtocol()||(n+=". This server does not support HTTP transport. Try using `sse` transport instead"));let o=new ec({message:n,statusCode:u.status,url:this.url.href,responseBody:t??void 0});throw this.onerror?.(o),o}if(!("id"in e))return;let c=u.headers.get("content-type")||"";if(c.includes("application/json")){let e=await u.json();for(let t of Array.isArray(e)?e.map(e=>ea(e)):[ea(e)])this.onmessage?.(t);return}if(c.includes("text/event-stream")){if(!u.body){let e=new ec({message:"MCP HTTP Transport Error: text/event-stream response without body",statusCode:u.status,url:this.url.href});throw this.onerror?.(e),e}let e=u.body.pipeThrough(new TextDecoderStream).pipeThrough(new n.EventSourceParserStream).getReader();(async()=>{try{for(;;){let{done:t,value:n}=await e.read();if(t)return;let{event:o,data:r}=n;if(e8(o))try{let e=await es(r);this.onmessage?.(e)}catch(t){let e=new ec({message:"MCP HTTP Transport Error: Failed to parse message",cause:t});this.onerror?.(e)}}}catch(e){if(t?.signal?.aborted||e instanceof Error&&"AbortError"===e.name)return;this.onerror?.(e)}})().catch(e=>{t?.signal?.aborted||e instanceof Error&&"AbortError"===e.name||this.onerror?.(e)});return}let d=new ec({message:`MCP HTTP Transport Error: Unexpected content type: ${c}`,statusCode:u.status,url:this.url.href});throw this.onerror?.(d),d}catch(e){if(t?.signal?.aborted)throw e;throw this.onerror?.(e),e}};await i()}getStandardRequestHeaders(e){let t={"Mcp-Method":e.method},n=e.params,o="resources/read"===e.method?n?.uri:"tools/call"===e.method||"prompts/get"===e.method?n?.name:void 0;return"string"==typeof o&&(t["Mcp-Name"]=e9(o)),t}getNextReconnectionDelay(e){let{initialReconnectionDelay:t,reconnectionDelayGrowFactor:n,maxReconnectionDelay:o}=this.reconnectionOptions;return Math.min(t*Math.pow(n,e),o)}scheduleInboundSseReconnection(){let{maxRetries:e}=this.reconnectionOptions;if(e>0&&this.inboundReconnectAttempts>=e)return void this.onerror?.(new ec({message:`MCP HTTP Transport Error: Maximum reconnection attempts (${e}) exceeded.`}));let t=this.getNextReconnectionDelay(this.inboundReconnectAttempts);this.inboundReconnectAttempts+=1,setTimeout(()=>{this.abortController?.signal.aborted||this.startInboundSse(!1,this.lastInboundEventId)},t)}startInboundSse(e=!1,t){this.isModernProtocol()||this.openInboundSse(e,t).catch(e=>{e instanceof Error&&"AbortError"===e.name||this.onerror?.(e)})}async openInboundSse(e=!1,t){if(!this.isModernProtocol())try{let o=this.sessionId,r=await this.commonHeaders({base:{Accept:"text/event-stream"}});t&&(r["last-event-id"]=t);let i=await this.fetchFn(this.url.href,{method:"GET",headers:r,signal:this.abortController?.signal,redirect:this.redirectMode});if(this.applySessionIdFromResponse(i),401===i.status&&this.authProvider&&!e){let{resourceMetadataUrl:e,scope:n}=eD(i);this.resourceMetadataUrl=e;try{if(await this.authorizeOnce(this.resourceMetadataUrl,n)!=="AUTHORIZED"){let e=new eC;this.onerror?.(e);return}}catch(e){this.onerror?.(e);return}return this.openInboundSse(!0,t)}if(405===i.status)return;if(!i.ok||!i.body){404===i.status&&o&&this.expireSessionId(o);let e=new ec({message:`MCP HTTP Transport Error: GET SSE failed: ${i.status} ${i.statusText}`,statusCode:i.status,url:this.url.href});this.onerror?.(e);return}let a=i.body.pipeThrough(new TextDecoderStream).pipeThrough(new n.EventSourceParserStream).getReader(),s=async()=>{try{for(;;){let{done:e,value:t}=await a.read();if(e)return;let{event:n,data:o,id:r}=t;if(r&&(this.lastInboundEventId=r),e8(n))try{let e=await es(o);this.onmessage?.(e)}catch(t){let e=new ec({message:"MCP HTTP Transport Error: Failed to parse message",cause:t});this.onerror?.(e)}}}catch(e){if(e instanceof Error&&"AbortError"===e.name)return;this.onerror?.(e),this.abortController?.signal.aborted||this.scheduleInboundSseReconnection()}};this.inboundSseConnection={close:()=>{a.cancel().catch(e=>{e instanceof Error&&"AbortError"===e.name||this.onerror?.(e)})}},this.inboundReconnectAttempts=0,s().catch(e=>{e instanceof Error&&"AbortError"===e.name||(this.onerror?.(e),this.abortController?.signal.aborted||this.scheduleInboundSseReconnection())})}catch(e){if(e instanceof Error&&"AbortError"===e.name)return;this.onerror?.(e),this.abortController?.signal.aborted||this.scheduleInboundSseReconnection()}}};let te=r.array(r.unknown()).transform(e=>e.filter(e=>"string"==typeof e)).optional().catch(void 0),tt=r.looseObject({connectDomains:te,resourceDomains:te,frameDomains:te});r.looseObject({prefersBorder:r.boolean().optional().catch(void 0),csp:tt.optional().catch(void 0),permissions:r.record(r.string(),r.unknown()).optional().catch(void 0)});let tn=[-32020,-32021,-32022],to=["ConnectionRefused","ConnectionClosed","FailedToOpenSocket","ECONNRESET","ECONNREFUSED","ETIMEDOUT","EPIPE"];function tr(e){let t=function(e){if(null!=e&&"object"==typeof e&&"statusCode"in e&&"number"==typeof e.statusCode)return e.statusCode}(e);if(null!=t)return 408===t||409===t||429===t||t>=500;if(ec.isInstance(e)&&null!=e.code)return!1;let n=function(e){if(null!=e&&"object"==typeof e&&"code"in e&&"string"==typeof e.code)return e.code}(e);return null!=n&&to.includes(n)}function ti({timeout:e,maxTotalTimeout:t}){return null==e?t:null==t?e:Math.min(e,t)}function ta(e,t){return null==t?e:new Promise((n,o)=>{let r=()=>{t.removeEventListener("abort",i)},i=()=>{r(),o(t.reason)};t.aborted?i():(t.addEventListener("abort",i,{once:!0}),e.then(e=>{r(),n(e)}).catch(e=>{r(),o(e)}))})}function ts({output:e}){return"content"in e&&Array.isArray(e.content)?{type:"content",value:e.content.map(e=>"text"===e.type&&"text"in e?{type:"text",text:e.text}:"image"===e.type&&"data"in e&&"mimeType"in e?{type:"file",mediaType:e.mimeType,data:{type:"data",data:e.data}}:{type:"text",text:JSON.stringify(e)})}:{type:"json",value:e}}async function tl(e){let t=new tu(e);return await t.init(),t}var tu=class{constructor({transport:e,name:t,clientName:n=t??"ai-sdk-mcp-client",version:o="1.0.0",onUncaughtError:r,maxRetries:i,capabilities:a,initialInitializeResult:s,initializationOptions:l,protocolVersionDiscovery:u=!0}){this.requestMessageId=0,this.responseHandlers=new Map,this.serverCapabilities={},this._serverInfo={name:"",version:""},this._initializeResult={protocolVersion:h,capabilities:{},serverInfo:this._serverInfo},this.protocolEra="legacy",this.protocolVersion=h,this.toolHeaderBindings=new Map,this.isClosed=!0,this.onUncaughtError=r,this.maxRetries=function(e){if(null==e)return 0;if(!Number.isInteger(e))throw new ec({message:"maxRetries must be an integer"});if(e<0)throw new ec({message:"maxRetries must be >= 0"});return e}(i),this.clientCapabilities=a??{},this.initialInitializeResult=s,this.initializationOptions=l,this.protocolVersionDiscovery=u,function(e){return"start"in e&&"function"==typeof e.start&&"send"in e&&"function"==typeof e.send&&"close"in e&&"function"==typeof e.close}(e)?this.transport=e:this.transport=function(e){switch(e.type){case"sse":return new e3(e);case"http":return new e7({...e,initialProtocolVersion:e.initialProtocolVersion??"2026-07-28"});default:throw new ec({message:"Unsupported or invalid transport configuration. If you are using a custom transport, make sure it implements the MCPTransport interface."})}}(e),this.transport.onclose=()=>this.onClose(),this.transport.onerror=e=>this.onError(e),this.transport.onmessage=e=>{"method"in e?"id"in e?this.onRequestMessage(e):this.onError(new ec({message:"Unsupported message type"})):this.onResponse(e)},this.clientInfo={name:n,version:o}}get serverInfo(){return this._serverInfo}get initializeResult(){return this._initializeResult}get instructions(){return this._serverInstructions}async init(){let e,t,n=this.initializationOptions?.signal,o=this.initializationOptions?ti(this.initializationOptions):void 0,r=null==o?void 0:new AbortController,i=null==n?r?.signal:null==r?n:AbortSignal.any([n,r.signal]);null!=o&&(e=setTimeout(()=>{t=new ec({message:`MCP client initialization timed out after ${o}ms`}),r?.abort(t)},o));try{if(this.isClosed=!1,i?.throwIfAborted(),await ta(this.transport.start(),i),this.initialInitializeResult){let e=k.parse(this.initialInitializeResult);return this.applyInitializeResult(e),this}if(this.protocolVersionDiscovery&&this.transport.supportsProtocolVersionDiscovery&&await this.tryProtocolDiscovery(i))return this;this.protocolEra="legacy",this.protocolVersion=h,this.setTransportProtocolVersion(this.protocolVersion);let e=await this.request({request:{method:"initialize",params:{protocolVersion:h,capabilities:this.clientCapabilities,clientInfo:this.clientInfo}},resultSchema:k,options:{signal:i}});if(void 0===e)throw new ec({message:"Server sent invalid initialize result"});return this.applyInitializeResult(e),await this.notification({method:"notifications/initialized"},{signal:i}),this}catch(e){try{await ta(this.transport.close({signal:i}),i)}catch{}if(this.onClose(),null!=t)throw t;if(n?.aborted)throw new ec({message:"MCP client initialization was aborted",cause:n.reason});throw e}finally{null!=e&&clearTimeout(e)}}async tryProtocolDiscovery(e){this.protocolEra="modern",this.protocolVersion=p,this.setTransportProtocolVersion(this.protocolVersion);try{let t=await this.request({request:{method:"server/discover"},resultSchema:v,options:{signal:e,timeout:1e3}});return this.applyDiscoverResult(t),!0}catch(e){if(ec.isInstance(e)&&null!=e.code&&tn.includes(e.code))throw e;return!1}}applyDiscoverResult(e){if(!e.supportedVersions.includes(this.protocolVersion))throw new ec({message:`Server does not support the requested protocol version: ${this.protocolVersion}`});let t=e._meta?.["io.modelcontextprotocol/serverInfo"];null!=t&&"object"==typeof t&&"name"in t&&"string"==typeof t.name&&"version"in t&&"string"==typeof t.version&&(this._serverInfo=t),this.serverCapabilities=e.capabilities,this._serverInstructions=e.instructions,this._initializeResult={protocolVersion:this.protocolVersion,capabilities:e.capabilities,serverInfo:this._serverInfo,instructions:e.instructions}}setTransportProtocolVersion(e){this.transport.setProtocolVersion?this.transport.setProtocolVersion(e):this.transport.protocolVersion=e}applyInitializeResult(e){if(!m.includes(e.protocolVersion))throw new ec({message:`Server's protocol version is not supported: ${e.protocolVersion}`});this.serverCapabilities=e.capabilities,this.protocolEra="legacy",this.protocolVersion=e.protocolVersion,this._serverInfo=e.serverInfo,this._initializeResult=e,this.setTransportProtocolVersion(e.protocolVersion),this._serverInstructions=e.instructions}async close(){this.isClosed||(await this.transport?.close(),this.onClose())}send(e,t){return null==t?this.transport.send(e):this.transport.send(e,t)}assertCapability(e){switch(e){case"initialize":case"server/discover":break;case"completion/complete":if(!this.serverCapabilities.completions)throw new ec({message:"Server does not support completions"});break;case"tools/list":case"tools/call":if(!this.serverCapabilities.tools)throw new ec({message:"Server does not support tools"});break;case"resources/list":case"resources/read":case"resources/templates/list":if(!this.serverCapabilities.resources)throw new ec({message:"Server does not support resources"});break;case"prompts/list":case"prompts/get":if(!this.serverCapabilities.prompts)throw new ec({message:"Server does not support prompts"});break;default:throw new ec({message:`Unsupported method: ${e}`})}}async request({request:e,resultSchema:t,options:n}){return new Promise((o,r)=>{let i;if(this.isClosed)return r(new ec({message:"Attempted to send a request from a closed client"}));this.assertCapability(e.method);let a=n?.signal;a?.throwIfAborted();let s=null==n?void 0:ti(n),l=null==s?void 0:new AbortController,u=null==a?l?.signal:null==l?a:AbortSignal.any([a,l.signal]),c=this.requestMessageId++,d="modern"===this.protocolEra?{...e,params:{...e.params,_meta:{...e.params?._meta,"io.modelcontextprotocol/protocolVersion":this.protocolVersion,"io.modelcontextprotocol/clientCapabilities":this.clientCapabilities,"io.modelcontextprotocol/clientInfo":this.clientInfo}}}:e,p={...d,jsonrpc:"2.0",id:c},h=this.getToolRequestHeaders(d),m=()=>{r(new ec({message:"Request was aborted",cause:a?.reason}))},g=()=>{this.responseHandlers.delete(c),a?.removeEventListener("abort",y),null!=i&&clearTimeout(i)},f=e=>{g(),r(e)},y=()=>{g(),m()};this.responseHandlers.set(c,e=>{if(a?.aborted)return g(),m();if(e instanceof Error)return f(e);try{if("modern"===this.protocolEra&&null==e.result.resultType)throw new ec({message:"Modern MCP result is missing resultType"});if("input_required"===e.result.resultType)throw new ec({message:"Server requested additional input, but multi round-trip requests are not supported yet"});let n=t.parse(e.result);g(),o(n)}catch(e){f(ec.isInstance(e)?e:new ec({message:"Failed to parse server response",cause:e}))}}),a?.addEventListener("abort",y,{once:!0}),null!=s&&(i=setTimeout(()=>{let e=new ec({message:`Request timed out after ${s}ms`});l?.abort(e),f(e)},s));let b={...null==u?{}:{signal:u},...null==h?{}:{headers:h}};(0===Object.keys(b).length?this.send(p):this.send(p,b)).catch(e=>{f(e)})})}async listTools({params:e,options:t}={}){let n=await this.request({request:{method:"tools/list",params:e},resultSchema:T,options:t});return this.prepareToolDefinitions(n,e?.cursor==null)}prepareToolDefinitions(e,t=!1){if("modern"!==this.protocolEra||!this.transport.supportsMcpToolParameterHeaders)return e;t&&this.toolHeaderBindings.clear();let n=e.tools.filter(e=>{let t=function(e){let t;if(!(0,o.isRecord)(e))return{success:!1,error:"inputSchema must be a JSON Schema object"};let n=[],r=new Set,i=(e,a,s)=>{if(null==t&&(0,o.isRecord)(e)){if("x-mcp-header"in e){if(!s||0===a.length){t="x-mcp-header is not on a statically reachable property";return}let o=e["x-mcp-header"];if("string"!=typeof o||!e5.test(o)){t="x-mcp-header must be a non-empty HTTP token";return}let i=o.toLowerCase();if(r.has(i)){t=`x-mcp-header value "${o}" is not unique`;return}let l=e.type;if("boolean"!==l&&"integer"!==l&&"string"!==l){t="x-mcp-header can only annotate boolean, integer, or string properties";return}r.add(i),n.push({headerName:o,path:a,valueType:l})}for(let[t,n]of Object.entries(e))if("x-mcp-header"!==t)if("properties"===t&&(0,o.isRecord)(n))for(let[e,t]of Object.entries(n))i(t,[...a,e],s);else i(n,a,!1)}};return i(e,[],!0),null==t?{success:!0,bindings:n}:{success:!1,error:t}}(e.inputSchema);return t.success?(this.toolHeaderBindings.set(e.name,t.bindings),!0):(this.onError(new ec({message:`Ignoring MCP tool "${e.name}": ${t.error}`})),!1)});return{...e,tools:n}}getToolRequestHeaders(e){if("modern"!==this.protocolEra||"tools/call"!==e.method||"string"!=typeof e.params?.name)return;let t=this.toolHeaderBindings.get(e.params.name);if(null==t||0===t.length)return;let n=e.params.arguments;if(!(null==n||"object"!=typeof n||Array.isArray(n)))try{return function({bindings:e,args:t}){let n={};for(let r of e){let e=function(e,t){let n=e;for(let e of t){if(!(0,o.isRecord)(n))return;n=n[e]}return n}(t,r.path);if(null!=e){if("string"===r.valueType&&"string"!=typeof e||"boolean"===r.valueType&&"boolean"!=typeof e||"integer"===r.valueType&&!Number.isSafeInteger(e))throw TypeError(`Tool argument "${r.path.join(".")}" does not match its x-mcp-header type`);n[`Mcp-Param-${r.headerName}`]=e9(String(e))}}return n}({bindings:t,args:n})}catch(t){throw new ec({message:`Failed to create MCP headers for tool "${e.params.name}"`,cause:t})}}async callToolWithRetry({options:e,execute:t}){return 0===this.maxRetries?t():(0,o.retryWithExponentialBackoff)({maxRetries:this.maxRetries,abortSignal:e?.signal,shouldRetry:tr,createRetryError:({message:e,errors:t})=>new ec({message:e,cause:t[t.length-1]})})(t)}async callTool({name:e,arguments:t={},options:n}){return this.callToolWithRetry({options:n,execute:()=>this.request({request:{method:"tools/call",params:{name:e,arguments:t}},resultSchema:U,options:n})})}async listResourcesInternal({params:e,options:t}={}){return this.request({request:{method:"resources/list",params:e},resultSchema:C,options:t})}async readResourceInternal({uri:e,options:t}){return this.request({request:{method:"resources/read",params:{uri:e}},resultSchema:F,options:t})}async listResourceTemplatesInternal({options:e}={}){return this.request({request:{method:"resources/templates/list"},resultSchema:D,options:e})}async listPromptsInternal({params:e,options:t}={}){return this.request({request:{method:"prompts/list",params:e},resultSchema:G,options:t})}async getPromptInternal({name:e,args:t,options:n}){return this.request({request:{method:"prompts/get",params:{name:e,arguments:t}},resultSchema:Z,options:n})}async completeInternal({options:e,...t}){return this.request({request:{method:"completion/complete",params:t},resultSchema:K,options:e})}async notification(e,t){let n={...e,jsonrpc:"2.0"};await ta(this.send(n,t?.signal==null?void 0:{signal:t.signal}),t?.signal)}async tools({schemas:e="automatic"}={}){let t=await this.listTools(),n=[...t.tools];for(;null!=t.nextCursor;)t=await this.listTools({params:{cursor:t.nextCursor}}),n.push(...t.tools);return this.toolsFromDefinitions({...t,tools:n},{schemas:e})}toolsFromDefinitions(e,{schemas:t="automatic"}={}){e=this.prepareToolDefinitions(e);let n=Object.create(null);for(let{name:r,title:i,description:s,inputSchema:l,annotations:u,_meta:c}of e.tools){let e=i??u?.title;if("automatic"!==t&&!Object.prototype.hasOwnProperty.call(t,r))continue;let d=this,p="automatic"!==t?t[r]?.outputSchema:void 0,h=function(e){var t,n;let o,r=(t=e._meta,o=t?.ui,(0,a.isJSONObject)(o)?o:void 0),i=r?.resourceUri??e._meta?.["ui/resourceUri"],s=Array.isArray(n=r?.visibility)?n.filter(e=>"model"===e||"app"===e):void 0;if(void 0!==i){if("string"!=typeof i||!i.startsWith("ui://"))throw Error(`Invalid MCP App resource URI: ${JSON.stringify(i)}`)}else if(null==r)return;return{...r,...null!=i?{resourceUri:i}:{},...null!=s?{visibility:s}:{}}}({_meta:c}),m={clientName:this.clientInfo.name,toolName:r,...null!=e?{title:e}:{},...null!=u?{annotations:{...null!=u.title?{title:u.title}:{},...null!=u.readOnlyHint?{readOnlyHint:u.readOnlyHint}:{},...null!=u.destructiveHint?{destructiveHint:u.destructiveHint}:{},...null!=u.idempotentHint?{idempotentHint:u.idempotentHint}:{},...null!=u.openWorldHint?{openWorldHint:u.openWorldHint}:{}}}:{},...h?.resourceUri!=null?{app:{...h,mimeType:"text/html;profile=mcp-app"}}:{}},g=async(e,t)=>{t?.abortSignal?.throwIfAborted();let n=await d.callTool({name:r,arguments:e,options:{signal:t?.abortSignal}});return n.isError?n:null!=p?d.extractStructuredContent(n,p,r):n};n[r]={..."automatic"===t?(0,o.dynamicTool)({description:s,title:e,metadata:m,inputSchema:(0,o.jsonSchema)({...l,properties:l.properties??{},additionalProperties:!1}),execute:g,toModelOutput:ts}):(0,o.tool)({description:s,title:e,metadata:m,inputSchema:t[r].inputSchema,...null!=p?{outputSchema:p}:{},execute:g,toModelOutput:ts}),_meta:c}}return n}async extractStructuredContent(e,t,n){if("structuredContent"in e&&null!=e.structuredContent){let r=await (0,o.safeValidateTypes)({value:e.structuredContent,schema:(0,o.asSchema)(t)});if(!r.success)throw new ec({message:`Tool "${n}" returned structuredContent that does not match the expected outputSchema`,cause:r.error});return r.value}if("content"in e&&Array.isArray(e.content)){let r=e.content.find(e=>"text"===e.type);if(r&&"text"in r){let e=await (0,o.safeParseJSON)({text:r.text,schema:t});if(!e.success)throw new ec({message:`Tool "${n}" returned content that does not match the expected outputSchema`,cause:e.error});return e.value}}throw new ec({message:`Tool "${n}" did not return structuredContent or parseable text content`})}listResources({params:e,options:t}={}){return this.listResourcesInternal({params:e,options:t})}readResource({uri:e,options:t}){return this.readResourceInternal({uri:e,options:t})}listResourceTemplates({options:e}={}){return this.listResourceTemplatesInternal({options:e})}experimental_listPrompts({params:e,options:t}={}){return this.listPromptsInternal({params:e,options:t})}experimental_getPrompt({name:e,arguments:t,options:n}){return this.getPromptInternal({name:e,args:t,options:n})}complete(e){return this.completeInternal(e)}onElicitationRequest(e,t){if(e!==Q)throw new ec({message:"Unsupported request schema. Only ElicitationRequestSchema is supported."});this.elicitationRequestHandler=t}async onRequestMessage(e){try{if("ping"===e.method)return void await this.transport.send({jsonrpc:"2.0",id:e.id,result:{}});if("elicitation/create"!==e.method)return void await this.transport.send({jsonrpc:"2.0",id:e.id,error:{code:-32601,message:`Unsupported request method: ${e.method}`}});if(!this.elicitationRequestHandler)return void await this.transport.send({jsonrpc:"2.0",id:e.id,error:{code:-32601,message:"No elicitation handler registered on client"}});let t=Q.safeParse({method:e.method,params:e.params});if(!t.success)return void await this.transport.send({jsonrpc:"2.0",id:e.id,error:{code:-32602,message:`Invalid elicitation request: ${t.error.message}`,data:t.error.issues}});try{let n=await this.elicitationRequestHandler(t.data),o=ee.parse(n);await this.transport.send({jsonrpc:"2.0",id:e.id,result:o})}catch(t){await this.transport.send({jsonrpc:"2.0",id:e.id,error:{code:-32603,message:t instanceof Error?t.message:"Failed to handle elicitation request"}}),this.onError(t)}}catch(e){this.onError(e)}}onClose(){if(this.isClosed)return;this.isClosed=!0;let e=new ec({message:"Connection closed"});for(let t of this.responseHandlers.values())t(e);this.responseHandlers.clear()}onError(e){this.onUncaughtError&&this.onUncaughtError(e)}onResponse(e){if(null==e.id)return void this.onError(new ec({message:`Protocol error: Received a response without a message ID: ${JSON.stringify(e)}`}));let t=Number(e.id),n=this.responseHandlers.get(t);if(void 0===n)throw new ec({message:`Protocol error: Received a response for an unknown message ID: ${JSON.stringify(e)}`});this.responseHandlers.delete(t),n("result"in e?e:new ec({message:e.error.message,code:e.error.code,data:e.error.data,cause:e.error}))}};new TextEncoder,e.s(["UnauthorizedError",0,eC,"auth",0,e1,"createMCPClient",0,tl],753955)},717433,e=>{"use strict";var t=e.i(788147),n=e.i(548874),o=e.i(691296),r=e.i(853205);let i=(0,o.lazySchema)(()=>(0,o.zodSchema)(r.z.object({error:r.z.object({message:r.z.string()})}))),a=(0,o.lazySchema)(()=>(0,o.zodSchema)(r.z.object({id:r.z.string().nullish(),model:r.z.string().nullish(),results:r.z.array(r.z.object({index:r.z.number(),relevance_score:r.z.number()})),usage:r.z.object({prompt_tokens:r.z.number(),completion_tokens:r.z.number(),total_tokens:r.z.number()})}))),s=(0,o.lazySchema)(()=>(0,o.zodSchema)(r.z.object({rankFields:r.z.array(r.z.string()).optional()})));var l=class{constructor(e,t){this.specificationVersion="v4",this.modelId=e,this.config=t}get provider(){return this.config.provider}async doRerank({documents:e,headers:t,query:n,topN:r,abortSignal:l,providerOptions:u}){let c=await (0,o.parseProviderOptions)({provider:"togetherai",providerOptions:u,schema:s}),{responseHeaders:d,value:p,rawValue:h}=await (0,o.postJsonToApi)({url:`${this.config.baseURL}/rerank`,headers:(0,o.combineHeaders)(this.config.headers(),t),body:{model:this.modelId,documents:e.values,query:n,top_n:r,rank_fields:c?.rankFields,return_documents:!1},failedResponseHandler:(0,o.createJsonErrorResponseHandler)({errorSchema:i,errorToMessage:e=>e.error.message}),successfulResponseHandler:(0,o.createJsonResponseHandler)(a),abortSignal:l,fetch:this.config.fetch});return{ranking:p.results.map(e=>({index:e.index,relevanceScore:e.relevance_score})),response:{id:p.id??void 0,modelId:p.model??void 0,headers:d,body:h}}}};let u=(0,o.lazySchema)(()=>(0,o.zodSchema)(r.z.looseObject({steps:r.z.number().nullish(),guidance:r.z.number().nullish(),negative_prompt:r.z.string().nullish(),disable_safety_checker:r.z.boolean().nullish()}))),c=new Set(["google/gemini-3-pro-image"]);var d=class e{get supportsFileInputs(){return!!["black-forest-labs/FLUX.1-kontext-pro","black-forest-labs/FLUX.1-kontext-max","black-forest-labs/FLUX.1-kontext-dev","black-forest-labs/FLUX.1-canny","black-forest-labs/FLUX.1-depth","black-forest-labs/FLUX.1-redux","black-forest-labs/FLUX.2-pro","black-forest-labs/FLUX.2-flex"].includes(this.modelId)||!["stabilityai/stable-diffusion-xl-base-1.0","black-forest-labs/FLUX.1-dev","black-forest-labs/FLUX.1-dev-lora","black-forest-labs/FLUX.1-schnell","black-forest-labs/FLUX.1.1-pro","black-forest-labs/FLUX.1-pro","black-forest-labs/FLUX.1-schnell-Free","black-forest-labs/FLUX.2-dev","google/gemini-3-pro-image"].includes(this.modelId)&&void 0}get supportsMaskInputs(){return null==this.supportsFileInputs&&void 0}get provider(){return this.config.provider}static[n.WORKFLOW_SERIALIZE](e){return(0,o.serializeModelOptions)({modelId:e.modelId,config:e.config})}static[n.WORKFLOW_DESERIALIZE](t){return new e(t.modelId,t.config)}constructor(e,t){this.modelId=e,this.config=t,this.specificationVersion="v4",this.maxImagesPerCall=1}async doGenerate({prompt:e,n:t,size:n,seed:r,providerOptions:i,headers:a,abortSignal:s,files:l,mask:d}){let m,g=[];if(null!=d)throw Error("Together AI does not support mask-based image editing. Use FLUX Kontext models (e.g., black-forest-labs/FLUX.1-kontext-pro) with a reference image and descriptive prompt instead.");null!=n&&g.push({type:"unsupported",feature:"aspectRatio",details:"This model does not support the `aspectRatio` option. Use `size` instead."});let f=this.config._internal?.currentDate?.()??new Date,y=await (0,o.parseProviderOptions)({provider:"togetherai",providerOptions:i,schema:u}),b=c.has(this.modelId),_={...y};b&&(delete _.steps,delete _.guidance,delete _.negative_prompt,delete _.disable_safety_checker,null!=r&&g.push({type:"unsupported",feature:"seed",details:`The ${this.modelId} model does not support the \`seed\` option.`})),null!=l&&l.length>0&&(m=(0,o.convertImageModelFileToDataUri)(l[0]),l.length>1&&g.push({type:"other",message:"Together AI only supports a single input image. Additional images are ignored."}));let w=n?.split("x"),{value:z,responseHeaders:v}=await (0,o.postJsonToApi)({url:`${this.config.baseURL}/images/generations`,headers:(0,o.combineHeaders)(this.config.headers?.(),a),body:{model:this.modelId,prompt:e,...null!=r&&!b?{seed:r}:{},...t>1?{n:t}:{},...w&&{width:parseInt(w[0]),height:parseInt(w[1])},...null!=m?{image_url:m}:{},response_format:"base64",..._},failedResponseHandler:(0,o.createJsonErrorResponseHandler)({errorSchema:h,errorToMessage:e=>e.error.message}),successfulResponseHandler:(0,o.createJsonResponseHandler)(p),abortSignal:s,fetch:this.config.fetch});return{images:z.data.map(e=>e.b64_json),warnings:g,response:{timestamp:f,modelId:this.modelId,headers:v}}}};let p=r.z.object({data:r.z.array(r.z.object({b64_json:r.z.string()}))}),h=r.z.object({error:r.z.object({message:r.z.string()})});function m(e={}){let n=(0,o.withoutTrailingSlash)(e.baseURL??"https://api.together.xyz/v1/"),r=()=>(0,o.withUserAgentSuffix)({Authorization:`Bearer ${(0,o.loadApiKey)({apiKey:e.apiKey??function(){if("u"<typeof process||"string"==typeof process.env.TOGETHER_API_KEY)return;let e=process.env.TOGETHER_AI_API_KEY;return"string"==typeof e&&console.warn("TOGETHER_AI_API_KEY is deprecated and will be removed in a future release. Please use TOGETHER_API_KEY instead."),e}(),environmentVariableName:"TOGETHER_API_KEY",description:"TogetherAI"})}`,...e.headers},"ai-sdk-togetherai/3.0.61"),i=t=>({provider:`togetherai.${t}`,url:({path:e})=>`${n}${e}`,headers:r,fetch:e.fetch}),a=e=>new t.OpenAICompatibleChatLanguageModel(e,{...i("chat"),includeUsage:!0,supportsStructuredOutputs:"deepseek-ai/DeepSeek-V4-Flash-0731"===e}),s=e=>new t.OpenAICompatibleEmbeddingModel(e,i("embedding")),u=e=>new d(e,{...i("image"),baseURL:n??"https://api.together.xyz/v1/"}),c=e=>new l(e,{...i("reranking"),baseURL:n??"https://api.together.xyz/v1/"}),p=e=>a(e);return p.specificationVersion="v4",p.completionModel=e=>new t.OpenAICompatibleCompletionLanguageModel(e,{...i("completion"),includeUsage:!0}),p.languageModel=a,p.chatModel=a,p.embeddingModel=s,p.textEmbeddingModel=s,p.image=u,p.imageModel=u,p.reranking=c,p.rerankingModel=c,p}m(),e.s(["createTogetherAI",0,m])},853421,e=>{"use strict";var t=e.i(296194),n=e.i(548874),o=e.i(691296),r=e.i(853205);let i=r.z.object({error:r.z.object({message:r.z.string(),type:r.z.string().nullish(),param:r.z.any().nullish(),code:r.z.union([r.z.string(),r.z.number()]).nullish()})}),a=r.z.object({code:r.z.string(),error:r.z.string()}),s=r.z.object({error:r.z.string()}),l=r.z.union([i,a,s]),u=(0,o.createJsonErrorResponseHandler)({errorSchema:l,errorToMessage:e=>"string"==typeof e.error?"code"in e?`${e.code}: ${e.error}`:e.error:e.error.message}),c=r.z.object({aspect_ratio:r.z.string().optional(),output_format:r.z.string().optional(),sync_mode:r.z.boolean().optional(),resolution:r.z.enum(["1k","2k"]).optional(),quality:r.z.enum(["low","medium","high"]).optional(),user:r.z.string().optional()});var d=class e{get supportsFileInputs(){return"grok-imagine-image"===this.modelId||"grok-imagine-image-pro"===this.modelId||void 0}get supportsMaskInputs(){return!0!==this.supportsFileInputs&&void 0}get provider(){return this.config.provider}static[n.WORKFLOW_SERIALIZE](e){return(0,o.serializeModelOptions)({modelId:e.modelId,config:e.config})}static[n.WORKFLOW_DESERIALIZE](t){return new e(t.modelId,t.config)}constructor(e,t){this.modelId=e,this.config=t,this.specificationVersion="v4",this.maxImagesPerCall=3}async doGenerate({prompt:e,n:t,size:n,aspectRatio:r,seed:i,providerOptions:a,headers:s,abortSignal:l,files:d,mask:h}){let m=[];null!=n&&m.push({type:"unsupported",feature:"size",details:"This model does not support the `size` option. Use `aspectRatio` instead."}),null!=i&&m.push({type:"unsupported",feature:"seed"}),null!=h&&m.push({type:"unsupported",feature:"mask"});let g=await (0,o.parseProviderOptions)({provider:"xai",providerOptions:a,schema:c}),f=null!=d&&d.length>0,y=f?d.map(e=>(0,o.convertImageModelFileToDataUri)(e)):[],b={model:this.modelId,prompt:e,n:t,response_format:"b64_json"};null!=r&&(b.aspect_ratio=r),g?.output_format!=null&&(b.output_format=g.output_format),g?.sync_mode!=null&&(b.sync_mode=g.sync_mode),g?.aspect_ratio!=null&&null==r&&(b.aspect_ratio=g.aspect_ratio),g?.resolution!=null&&(b.resolution=g.resolution),g?.quality!=null&&(b.quality=g.quality),g?.user!=null&&(b.user=g.user),1===y.length?b.image={url:y[0],type:"image_url"}:y.length>1&&(b.images=y.map(e=>({url:e,type:"image_url"})));let _=this.config.baseURL??"https://api.x.ai/v1",w=this.config._internal?.currentDate?.()??new Date,{value:z,responseHeaders:v}=await (0,o.postJsonToApi)({url:`${_}${f?"/images/edits":"/images/generations"}`,headers:(0,o.combineHeaders)(this.config.headers?.(),s),body:b,failedResponseHandler:u,successfulResponseHandler:(0,o.createJsonResponseHandler)(p),abortSignal:l,fetch:this.config.fetch});if(z.data.some(e=>!1===e.respect_moderation))throw Error("Image generation was blocked due to a content policy violation.");return{images:z.data.every(e=>null!=e.b64_json)?z.data.map(e=>e.b64_json):await Promise.all(z.data.map(e=>this.downloadImage(e.url,l))),warnings:m,response:{timestamp:w,modelId:this.modelId,headers:v},providerMetadata:{xai:{images:z.data.map(e=>({...e.revised_prompt?{revisedPrompt:e.revised_prompt}:{}})),...z.usage?.cost_in_usd_ticks!=null?{costInUsdTicks:z.usage.cost_in_usd_ticks}:{}}}}}async downloadImage(e,t){let{value:n}=await (0,o.getFromApi)({url:e,validateUrl:!0,trustedOrigin:this.config.baseURL,abortSignal:t,failedResponseHandler:(0,o.createStatusCodeErrorResponseHandler)(),successfulResponseHandler:(0,o.createBinaryResponseHandler)(),fetch:this.config.fetch});return n}};let p=r.z.object({data:r.z.array(r.z.object({url:r.z.string().nullish(),b64_json:r.z.string().nullish(),revised_prompt:r.z.string().nullish(),respect_moderation:r.z.boolean().nullish()})),usage:r.z.object({cost_in_usd_ticks:r.z.number().nullish()}).nullish()});function h({id:e,model:t,created:n,created_at:r}){return(0,o.createLanguageModelResponseMetadata)({id:e,model:t,created:n??r})}let m=(0,o.lazySchema)(()=>(0,o.zodSchema)(r.z.object({id:r.z.string(),object:r.z.string().nullish(),bytes:r.z.number().nullish(),created_at:r.z.number().nullish(),expires_at:r.z.number().nullish(),filename:r.z.string().nullish(),purpose:r.z.string().nullish(),status:r.z.string().nullish()}))),g=(0,o.lazySchema)(()=>(0,o.zodSchema)(r.z.object({id:r.z.string(),object:r.z.string().nullish(),deleted:r.z.boolean()}))),f=/^grok-4\.20(-\d{4})?-(non-)?reasoning$/,y=r.z.object({imageDetail:r.z.enum(["low","high","auto"]).optional()});async function b({prompt:e}){let n=[],r=[];for(let i of e)switch(i.role){case"system":n.push({role:"system",content:i.content});break;case"user":{let e=[];for(let n of i.content)switch(n.type){case"text":e.push({type:"input_text",text:n.text});break;case"file":switch(n.data.type){case"reference":e.push({type:"input_file",file_id:(0,o.resolveProviderReference)({reference:n.data.reference,provider:"xai"})});break;case"text":throw new t.UnsupportedFunctionalityError({functionality:"text file parts"});case"url":case"data":if("image"===(0,o.getTopLevelMediaType)(n.mediaType)){let t="url"===n.data.type?n.data.url.toString():`data:${(0,o.resolveFullMediaType)({part:n})};base64,${(0,o.convertToBase64)(n.data.data)}`,r=await (0,o.parseProviderOptions)({provider:"xai",providerOptions:n.providerOptions,schema:y});e.push({type:"input_image",image_url:t,...r?.imageDetail!=null&&{detail:r.imageDetail}})}else if("url"===n.data.type)e.push({type:"input_file",file_url:n.data.url.toString()});else throw new t.UnsupportedFunctionalityError({functionality:`file part media type ${n.mediaType} as inline data (xAI Responses requires a URL or a Files API reference for non-image files)`})}break;default:r.push({type:"other",message:"xAI Responses API does not support this content type in user messages"})}n.push({role:"user",content:e});break}case"assistant":for(let e of i.content)switch(e.type){case"text":{let t="string"==typeof e.providerOptions?.xai?.itemId?e.providerOptions.xai.itemId:void 0;n.push({role:"assistant",content:e.text,id:t});break}case"tool-call":{if(e.providerExecuted)break;let t="string"==typeof e.providerOptions?.xai?.itemId?e.providerOptions.xai.itemId:void 0;n.push({type:"function_call",id:t??e.toolCallId,call_id:e.toolCallId,name:e.toolName,arguments:JSON.stringify(e.input),status:"completed"});break}case"tool-result":break;case"reasoning":{let t="string"==typeof e.providerOptions?.xai?.itemId?e.providerOptions.xai.itemId:void 0,o="string"==typeof e.providerOptions?.xai?.reasoningEncryptedContent?e.providerOptions.xai.reasoningEncryptedContent:void 0;if(null!=t||null!=o){let r=[];e.text.length>0&&r.push({type:"summary_text",text:e.text}),n.push({type:"reasoning",id:t??"",summary:r,status:"completed",...null!=o&&{encrypted_content:o}})}else r.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":r.push({type:"other",message:`xAI Responses API does not support ${e.type} in assistant messages`});break;default:r.push({type:"other",message:"xAI Responses API does not support this content type in assistant messages"})}break;case"tool":for(let e of i.content){let t;if("tool-approval-response"===e.type)continue;let r=e.output;switch(r.type){case"text":case"error-text":t=r.value;break;case"execution-denied":t=r.reason??"tool execution denied";break;case"json":case"error-json":t=JSON.stringify(r.value);break;case"content":for(let e of(t=[],r.value))switch(e.type){case"text":t.push({type:"input_text",text:e.text});break;case"file":"image"===(0,o.getTopLevelMediaType)(e.mediaType)&&("data"===e.data.type||"url"===e.data.type)&&t.push({type:"input_image",image_url:"url"===e.data.type?e.data.url.toString():`data:${(0,o.resolveFullMediaType)({part:e})};base64,${(0,o.convertToBase64)(e.data.data)}`})}break;default:t=""}n.push({type:"function_call_output",call_id:e.toolCallId,output:t})}break;default:r.push({type:"other",message:"unsupported message role"})}return{input:n,inputWarnings:r}}function _(e){let t=e.input_tokens_details?.cached_tokens??0,n=e.output_tokens_details?.reasoning_tokens??0,o=t<=e.input_tokens;return{inputTokens:{total:o?e.input_tokens:e.input_tokens+t,noCache:o?e.input_tokens-t:e.input_tokens,cacheRead:t,cacheWrite:void 0},outputTokens:{total:e.output_tokens,text:e.output_tokens-n,reasoning:n},raw:e}}function w(e){switch(e){case"stop":case"completed":return"stop";case"length":case"max_output_tokens":return"length";case"tool_calls":case"function_call":return"tool-calls";case"content_filter":return"content-filter";default:return"other"}}let z=r.z.union([r.z.object({type:r.z.literal("url_citation"),url:r.z.string(),title:r.z.string().optional()}),r.z.object({type:r.z.string()})]),v=r.z.object({type:r.z.string(),text:r.z.string().optional(),logprobs:r.z.array(r.z.any()).optional(),annotations:r.z.array(z).optional()}),k=r.z.object({type:r.z.string(),text:r.z.string()}),x=r.z.object({name:r.z.string().optional(),arguments:r.z.string().optional(),input:r.z.string().optional(),call_id:r.z.string().optional(),id:r.z.string(),status:r.z.string(),action:r.z.any().optional()}),S=r.z.object({type:r.z.literal("url"),url:r.z.string()}),T=r.z.discriminatedUnion("type",[r.z.object({type:r.z.literal("search"),query:r.z.string().nullish(),queries:r.z.array(r.z.string()).nullish(),sources:r.z.array(r.z.unknown()).nullish()}),r.z.object({type:r.z.literal("open_page"),url:r.z.string().nullish(),sources:r.z.array(r.z.unknown()).nullish()}),r.z.object({type:r.z.literal("find_in_page"),url:r.z.string().nullish(),pattern:r.z.string().nullish(),sources:r.z.array(r.z.unknown()).nullish()})]),I=r.z.object({name:r.z.string().optional(),arguments:r.z.string().optional(),output:r.z.string().optional(),error:r.z.string().optional(),id:r.z.string(),status:r.z.string(),server_label:r.z.string().optional()}),O=r.z.discriminatedUnion("type",[r.z.object({type:r.z.literal("web_search_call"),...x.shape}),r.z.object({type:r.z.literal("x_search_call"),...x.shape}),r.z.object({type:r.z.literal("code_interpreter_call"),...x.shape}),r.z.object({type:r.z.literal("code_execution_call"),...x.shape}),r.z.object({type:r.z.literal("view_image_call"),...x.shape}),r.z.object({type:r.z.literal("view_x_video_call"),...x.shape}),r.z.object({type:r.z.literal("file_search_call"),id:r.z.string(),status:r.z.string(),queries:r.z.array(r.z.string()).optional(),results:r.z.array(r.z.object({file_id:r.z.string(),filename:r.z.string(),score:r.z.number(),text:r.z.string()})).nullish()}),r.z.object({type:r.z.literal("image_generation_call"),id:r.z.string(),status:r.z.string(),prompt:r.z.string().nullish(),result:r.z.string().nullish()}),r.z.object({type:r.z.literal("custom_tool_call"),...x.shape}),r.z.object({type:r.z.literal("mcp_call"),...I.shape}),r.z.object({type:r.z.literal("message"),role:r.z.string(),content:r.z.array(v),id:r.z.string(),status:r.z.string()}),r.z.object({type:r.z.literal("function_call"),name:r.z.string(),arguments:r.z.string(),call_id:r.z.string(),id:r.z.string()}),r.z.object({type:r.z.literal("reasoning"),id:r.z.string(),summary:r.z.array(k),content:r.z.array(r.z.object({type:r.z.string(),text:r.z.string()})).nullish(),status:r.z.string(),encrypted_content:r.z.string().nullish()})]),E=r.z.object({input_tokens:r.z.number(),output_tokens:r.z.number(),total_tokens:r.z.number().optional(),input_tokens_details:r.z.object({cached_tokens:r.z.number().optional()}).catchall(r.z.json()).optional(),output_tokens_details:r.z.object({reasoning_tokens:r.z.number().optional()}).catchall(r.z.json()).optional(),num_sources_used:r.z.number().optional(),num_server_side_tools_used:r.z.number().optional(),cost_in_usd_ticks:r.z.number().nullish()}).catchall(r.z.json()),C=r.z.object({id:r.z.string().nullish(),created_at:r.z.number().nullish(),model:r.z.string().nullish(),object:r.z.literal("response"),output:r.z.array(O),usage:E.nullish(),status:r.z.string(),service_tier:r.z.string().nullish(),prompt_cache_key:r.z.string().nullish(),safety_identifier:r.z.string().nullish()}),A=r.z.union([r.z.object({type:r.z.literal("response.created"),response:C.partial({usage:!0,status:!0})}),r.z.object({type:r.z.literal("response.in_progress"),response:C.partial({usage:!0,status:!0})}),r.z.object({type:r.z.literal("response.output_item.added"),item:O,output_index:r.z.number()}),r.z.object({type:r.z.literal("response.output_item.done"),item:O,output_index:r.z.number()}),r.z.object({type:r.z.literal("response.content_part.added"),item_id:r.z.string(),output_index:r.z.number(),content_index:r.z.number(),part:v}),r.z.object({type:r.z.literal("response.content_part.done"),item_id:r.z.string(),output_index:r.z.number(),content_index:r.z.number(),part:v}),r.z.object({type:r.z.literal("response.output_text.delta"),item_id:r.z.string(),output_index:r.z.number(),content_index:r.z.number(),delta:r.z.string(),logprobs:r.z.array(r.z.any()).optional()}),r.z.object({type:r.z.literal("response.output_text.done"),item_id:r.z.string(),output_index:r.z.number(),content_index:r.z.number(),text:r.z.string(),logprobs:r.z.array(r.z.any()).optional(),annotations:r.z.array(z).optional()}),r.z.object({type:r.z.literal("response.output_text.annotation.added"),item_id:r.z.string(),output_index:r.z.number(),content_index:r.z.number(),annotation_index:r.z.number(),annotation:z}),r.z.object({type:r.z.literal("response.reasoning_summary_part.added"),item_id:r.z.string(),output_index:r.z.number(),summary_index:r.z.number(),part:k}),r.z.object({type:r.z.literal("response.reasoning_summary_part.done"),item_id:r.z.string(),output_index:r.z.number(),summary_index:r.z.number(),part:k}),r.z.object({type:r.z.literal("response.reasoning_summary_text.delta"),item_id:r.z.string(),output_index:r.z.number(),summary_index:r.z.number(),delta:r.z.string()}),r.z.object({type:r.z.literal("response.reasoning_summary_text.done"),item_id:r.z.string(),output_index:r.z.number(),summary_index:r.z.number(),text:r.z.string()}),r.z.object({type:r.z.literal("response.reasoning_text.delta"),item_id:r.z.string(),output_index:r.z.number(),content_index:r.z.number(),delta:r.z.string()}),r.z.object({type:r.z.literal("response.reasoning_text.done"),item_id:r.z.string(),output_index:r.z.number(),content_index:r.z.number(),text:r.z.string()}),r.z.object({type:r.z.literal("response.web_search_call.in_progress"),item_id:r.z.string(),output_index:r.z.number()}),r.z.object({type:r.z.literal("response.web_search_call.searching"),item_id:r.z.string(),output_index:r.z.number()}),r.z.object({type:r.z.literal("response.web_search_call.completed"),item_id:r.z.string(),output_index:r.z.number()}),r.z.object({type:r.z.literal("response.x_search_call.in_progress"),item_id:r.z.string(),output_index:r.z.number()}),r.z.object({type:r.z.literal("response.x_search_call.searching"),item_id:r.z.string(),output_index:r.z.number()}),r.z.object({type:r.z.literal("response.x_search_call.completed"),item_id:r.z.string(),output_index:r.z.number()}),r.z.object({type:r.z.literal("response.file_search_call.in_progress"),item_id:r.z.string(),output_index:r.z.number()}),r.z.object({type:r.z.literal("response.file_search_call.searching"),item_id:r.z.string(),output_index:r.z.number()}),r.z.object({type:r.z.literal("response.file_search_call.completed"),item_id:r.z.string(),output_index:r.z.number()}),r.z.object({type:r.z.literal("response.image_generation_call.in_progress"),item_id:r.z.string(),output_index:r.z.number()}),r.z.object({type:r.z.literal("response.image_generation_call.generating"),item_id:r.z.string(),output_index:r.z.number()}),r.z.object({type:r.z.literal("response.image_generation_call.completed"),item_id:r.z.string(),output_index:r.z.number()}),r.z.object({type:r.z.literal("response.code_execution_call.in_progress"),item_id:r.z.string(),output_index:r.z.number()}),r.z.object({type:r.z.literal("response.code_execution_call.executing"),item_id:r.z.string(),output_index:r.z.number()}),r.z.object({type:r.z.literal("response.code_execution_call.completed"),item_id:r.z.string(),output_index:r.z.number()}),r.z.object({type:r.z.literal("response.code_interpreter_call.in_progress"),item_id:r.z.string(),output_index:r.z.number()}),r.z.object({type:r.z.literal("response.code_interpreter_call.executing"),item_id:r.z.string(),output_index:r.z.number()}),r.z.object({type:r.z.literal("response.code_interpreter_call.interpreting"),item_id:r.z.string(),output_index:r.z.number()}),r.z.object({type:r.z.literal("response.code_interpreter_call.completed"),item_id:r.z.string(),output_index:r.z.number()}),r.z.object({type:r.z.literal("response.code_interpreter_call_code.delta"),item_id:r.z.string(),output_index:r.z.number(),delta:r.z.string()}),r.z.object({type:r.z.literal("response.code_interpreter_call_code.done"),item_id:r.z.string(),output_index:r.z.number(),code:r.z.string()}),r.z.object({type:r.z.literal("response.custom_tool_call_input.delta"),item_id:r.z.string(),output_index:r.z.number(),delta:r.z.string()}),r.z.object({type:r.z.literal("response.custom_tool_call_input.done"),item_id:r.z.string(),output_index:r.z.number(),input:r.z.string()}),r.z.object({type:r.z.literal("response.function_call_arguments.delta"),item_id:r.z.string(),output_index:r.z.number(),delta:r.z.string()}),r.z.object({type:r.z.literal("response.function_call_arguments.done"),item_id:r.z.string(),output_index:r.z.number(),arguments:r.z.string()}),r.z.object({type:r.z.literal("response.mcp_call.in_progress"),item_id:r.z.string(),output_index:r.z.number()}),r.z.object({type:r.z.literal("response.mcp_call.executing"),item_id:r.z.string(),output_index:r.z.number()}),r.z.object({type:r.z.literal("response.mcp_call.completed"),item_id:r.z.string(),output_index:r.z.number()}),r.z.object({type:r.z.literal("response.mcp_call.failed"),item_id:r.z.string(),output_index:r.z.number()}),r.z.object({type:r.z.literal("response.mcp_call_arguments.delta"),item_id:r.z.string(),output_index:r.z.number(),delta:r.z.string()}),r.z.object({type:r.z.literal("response.mcp_call_arguments.done"),item_id:r.z.string(),output_index:r.z.number(),arguments:r.z.string().optional()}),r.z.object({type:r.z.literal("response.mcp_call_output.delta"),item_id:r.z.string(),output_index:r.z.number(),delta:r.z.string()}),r.z.object({type:r.z.literal("response.mcp_call_output.done"),item_id:r.z.string(),output_index:r.z.number(),output:r.z.string().optional()}),r.z.object({type:r.z.literal("response.incomplete"),response:r.z.object({incomplete_details:r.z.object({reason:r.z.string()}).nullish(),usage:E.nullish(),service_tier:r.z.string().nullish(),prompt_cache_key:r.z.string().nullish(),safety_identifier:r.z.string().nullish()})}),r.z.object({type:r.z.literal("response.failed"),response:r.z.object({error:r.z.object({code:r.z.string().nullish(),message:r.z.string()}).nullish(),incomplete_details:r.z.object({reason:r.z.string()}).nullish(),usage:E.nullish()})}),r.z.object({type:r.z.literal("error"),code:r.z.string().nullish(),message:r.z.string(),param:r.z.string().nullish()}),r.z.object({type:r.z.literal("response.done"),response:C}),r.z.object({type:r.z.literal("response.completed"),response:C})]),j=r.z.object({reasoningEffort:r.z.enum(["none","low","medium","high","xhigh"]).optional(),reasoningSummary:r.z.enum(["auto","concise","detailed"]).optional(),logprobs:r.z.boolean().optional(),topLogprobs:r.z.number().int().min(0).max(8).optional(),minP:r.z.number().min(0).max(1).optional(),maxTurns:r.z.number().int().optional(),parallelToolCalls:r.z.boolean().optional(),promptCacheKey:r.z.string().optional(),safetyIdentifier:r.z.string().optional(),serviceTier:r.z.enum(["default","priority"]).optional(),store:r.z.boolean().optional(),previousResponseId:r.z.string().optional(),user:r.z.string().optional(),include:r.z.array(r.z.enum(["file_search_call.results","web_search_call.action.sources","code_interpreter_call.outputs","reasoning.encrypted_content","no_inline_citations"])).nullish()}),R=(0,o.lazySchema)(()=>(0,o.zodSchema)(r.z.object({vectorStoreIds:r.z.array(r.z.string()),maxNumResults:r.z.number().optional()}))),$=(0,o.lazySchema)(()=>(0,o.zodSchema)(r.z.object({queries:r.z.array(r.z.string()),results:r.z.array(r.z.object({fileId:r.z.string(),filename:r.z.string(),score:r.z.number().min(0).max(1),text:r.z.string()})).nullable()}))),M=(0,o.createProviderExecutedToolFactory)({id:"xai.file_search",inputSchema:(0,o.lazySchema)(()=>(0,o.zodSchema)(r.z.object({}))),outputSchema:$}),N=(0,o.lazySchema)(()=>(0,o.zodSchema)(r.z.object({action:r.z.enum(["auto","generate","edit"]).optional()}))),L=(0,o.lazySchema)(()=>(0,o.zodSchema)(r.z.object({}))),P=(0,o.lazySchema)(()=>(0,o.zodSchema)(r.z.object({result:r.z.string(),prompt:r.z.string().optional()}))),U=(0,o.createProviderExecutedToolFactory)({id:"xai.image_generation",inputSchema:L,outputSchema:P}),q=(0,o.lazySchema)(()=>(0,o.zodSchema)(r.z.object({serverUrl:r.z.string().describe("The URL of the MCP server"),serverLabel:r.z.string().optional().describe("A label for the MCP server"),serverDescription:r.z.string().optional().describe("Description of the MCP server"),allowedTools:r.z.array(r.z.string()).optional().describe("List of allowed tool names"),headers:r.z.record(r.z.string(),r.z.string()).optional().describe("Custom headers to send"),authorization:r.z.string().optional().describe("Authorization header value")}))),D=(0,o.lazySchema)(()=>(0,o.zodSchema)(r.z.object({name:r.z.string(),arguments:r.z.string(),result:r.z.unknown()}))),F=(0,o.createProviderExecutedToolFactory)({id:"xai.mcp",inputSchema:(0,o.lazySchema)(()=>(0,o.zodSchema)(r.z.object({}))),outputSchema:D}),H=(0,o.lazySchema)(()=>(0,o.zodSchema)(r.z.object({allowedDomains:r.z.array(r.z.string()).max(5).optional(),excludedDomains:r.z.array(r.z.string()).max(5).optional(),enableImageSearch:r.z.boolean().optional(),enableImageUnderstanding:r.z.boolean().optional()}))),B=(0,o.lazySchema)(()=>(0,o.zodSchema)(r.z.object({action:r.z.discriminatedUnion("type",[r.z.object({type:r.z.literal("search"),query:r.z.string().optional(),queries:r.z.array(r.z.string()).optional()}),r.z.object({type:r.z.literal("openPage"),url:r.z.string().nullish()}),r.z.object({type:r.z.literal("findInPage"),url:r.z.string().nullish(),pattern:r.z.string().nullish()})]).optional(),sources:r.z.array(r.z.object({type:r.z.literal("url"),url:r.z.string()})).optional()}))),W=(0,o.createProviderExecutedToolFactory)({id:"xai.web_search",inputSchema:(0,o.lazySchema)(()=>(0,o.zodSchema)(r.z.object({}))),outputSchema:B}),K=(0,o.lazySchema)(()=>(0,o.zodSchema)(r.z.object({allowedXHandles:r.z.array(r.z.string()).max(10).optional(),excludedXHandles:r.z.array(r.z.string()).max(10).optional(),fromDate:r.z.string().optional(),toDate:r.z.string().optional(),enableImageUnderstanding:r.z.boolean().optional(),enableVideoUnderstanding:r.z.boolean().optional()}))),V=(0,o.lazySchema)(()=>(0,o.zodSchema)(r.z.object({query:r.z.string(),posts:r.z.array(r.z.object({author:r.z.string(),text:r.z.string(),url:r.z.string(),likes:r.z.number()}))}))),J=(0,o.createProviderExecutedToolFactory)({id:"xai.x_search",inputSchema:(0,o.lazySchema)(()=>(0,o.zodSchema)(r.z.object({}))),outputSchema:V});async function G({tools:e,toolChoice:n}){let r=e?.length?e:void 0,i=[];if(null==r)return{tools:void 0,toolChoice:void 0,toolWarnings:i};let a=[],s=new Map;for(let e of r)if(s.set(e.name,e),"provider"===e.type)switch(e.id){case"xai.web_search":{let t=await (0,o.validateTypes)({value:e.args,schema:H});a.push({type:"web_search",allowed_domains:t.allowedDomains,excluded_domains:t.excludedDomains,enable_image_search:t.enableImageSearch,enable_image_understanding:t.enableImageUnderstanding});break}case"xai.x_search":{let t=await (0,o.validateTypes)({value:e.args,schema:K});a.push({type:"x_search",allowed_x_handles:t.allowedXHandles,excluded_x_handles:t.excludedXHandles,from_date:t.fromDate,to_date:t.toDate,enable_image_understanding:t.enableImageUnderstanding,enable_video_understanding:t.enableVideoUnderstanding});break}case"xai.code_execution":a.push({type:"code_interpreter"});break;case"xai.view_image":a.push({type:"view_image"});break;case"xai.view_x_video":a.push({type:"view_x_video"});break;case"xai.image_generation":{let t=await (0,o.validateTypes)({value:e.args,schema:N});a.push({type:"image_generation",action:t.action});break}case"xai.file_search":{let t=await (0,o.validateTypes)({value:e.args,schema:R});a.push({type:"file_search",vector_store_ids:t.vectorStoreIds,max_num_results:t.maxNumResults});break}case"xai.mcp":{let t=await (0,o.validateTypes)({value:e.args,schema:q});a.push({type:"mcp",server_url:t.serverUrl,server_label:t.serverLabel,server_description:t.serverDescription,allowed_tools:t.allowedTools,headers:t.headers,authorization:t.authorization});break}default:i.push({type:"unsupported",feature:`provider-defined tool ${e.name}`})}else a.push({type:"function",name:e.name,description:e.description,parameters:e.inputSchema,...null!=e.strict?{strict:e.strict}:{}});if(null==n)return{tools:a,toolChoice:void 0,toolWarnings:i};let l=n.type;switch(l){case"auto":case"none":return{tools:a,toolChoice:l,toolWarnings:i};case"required":return{tools:a,toolChoice:"required",toolWarnings:i};case"tool":{let e=s.get(n.toolName);if(null==e)return{tools:a,toolChoice:void 0,toolWarnings:i};if("provider"===e.type)return i.push({type:"unsupported",feature:`toolChoice for server-side tool "${e.name}"`}),{tools:a,toolChoice:void 0,toolWarnings:i};return{tools:a,toolChoice:{type:"function",name:e.name},toolWarnings:i}}default:throw new t.UnsupportedFunctionalityError({functionality:`tool choice type: ${l}`})}}function Y({message:e,code:t,eventType:n,data:r}){var i,a;let s,l="number"==typeof(s="string"==typeof(i=t)&&/^\d{3}$/.test(i)?Number(i):i)&&Number.isInteger(s)&&s>=400&&s<=599?s:void 0;return(0,o.createProviderStreamError)({message:e,type:n,code:t??void 0,...null!=l?{statusCode:l,isRetryable:408===(a=l)||409===a||429===a||a>=500}:function(e){switch(e){case"rate_limit_exceeded":case"rate_limit_error":return{statusCode:429,isRetryable:!0};case"insufficient_quota":return{statusCode:429,isRetryable:!1};case"api_error":case"internal_server_error":case"server_error":return{statusCode:500,isRetryable:!0};case"overloaded_error":case"service_unavailable":return{statusCode:503,isRetryable:!0};case"timeout":case"timeout_error":return{statusCode:504,isRetryable:!0};case"authentication_error":case"invalid_api_key":return{statusCode:401,isRetryable:!1};case"permission_error":return{statusCode:403,isRetryable:!1};case"not_found_error":case"model_not_found":return{statusCode:404,isRetryable:!1};case"bad_request":case"context_length_exceeded":case"invalid_request_error":return{statusCode:400,isRetryable:!1};default:return{}}}(t),data:r})}let Z={"image/*":[/^https?:\/\/.*$/],"application/pdf":[/^https?:\/\/.*$/],"text/*":[/^https?:\/\/.*$/]};var X=class e{static[n.WORKFLOW_SERIALIZE](e){return(0,o.serializeModelOptions)({modelId:e.modelId,config:e.config})}static[n.WORKFLOW_DESERIALIZE](t){return new e(t.modelId,t.config)}constructor(e,t){this.specificationVersion="v4",this.supportedUrls=Z,this.modelId=e,this.config=t}get provider(){return this.config.provider}static async prepareRequest({modelId:e,options:{prompt:t,maxOutputTokens:n,temperature:r,topP:i,topK:a,frequencyPenalty:s,presencePenalty:l,stopSequences:u,seed:c,responseFormat:d,providerOptions:p,tools:h,toolChoice:m,reasoning:g}}){let y=[],_=await (0,o.parseProviderOptions)({provider:"xai",providerOptions:p,schema:j})??{};null!=s&&y.push({type:"unsupported",feature:"frequencyPenalty"}),null!=l&&y.push({type:"unsupported",feature:"presencePenalty"}),null!=u&&y.push({type:"unsupported",feature:"stopSequences"});let w=h?.find(e=>"provider"===e.type&&"xai.web_search"===e.id)?.name,z=h?.find(e=>"provider"===e.type&&"xai.x_search"===e.id)?.name,v=h?.find(e=>"provider"===e.type&&"xai.code_execution"===e.id)?.name,k=h?.find(e=>"provider"===e.type&&"xai.mcp"===e.id)?.name,x=h?.find(e=>"provider"===e.type&&"xai.file_search"===e.id)?.name,S=h?.find(e=>"provider"===e.type&&"xai.image_generation"===e.id)?.name,{input:T,inputWarnings:I}=await b({prompt:t,store:_.store??!0});y.push(...I);let{tools:O,toolChoice:E,toolWarnings:C}=await G({tools:h,toolChoice:m});y.push(...C);let A=_.include?[..._.include]:void 0;!1===_.store&&(A=null==A?["reasoning.encrypted_content"]:[...A,"reasoning.encrypted_content"]);let R=_.reasoningEffort;null==R&&(0,o.isCustomReasoning)(g)&&(f.test(e)?y.push({type:"unsupported",feature:"reasoning",details:`reasoning "${g}" is not supported by this model.`}):R="none"===g?"none":(0,o.mapReasoningToProviderEffort)({reasoning:g,effortMap:{minimal:"low",low:"low",medium:"medium",high:"high",xhigh:"grok-4.6"===e?"xhigh":"high"},warnings:y}));let $={model:e,input:T,logprobs:!0===_.logprobs||null!=_.topLogprobs||void 0,top_logprobs:_.topLogprobs,max_output_tokens:n,temperature:r,top_p:i,top_k:a,min_p:_.minP,seed:c,...d?.type==="json"&&{text:{format:null!=d.schema?{type:"json_schema",strict:!0,name:d.name??"response",description:d.description,schema:d.schema}:{type:"json_object"}}},...null!=R&&{reasoning:{effort:R}},...!1===_.store&&{store:_.store},...null!=A&&{include:A},...null!=_.previousResponseId&&{previous_response_id:_.previousResponseId},...null!=_.maxTurns&&{max_turns:_.maxTurns},...null!=_.parallelToolCalls&&{parallel_tool_calls:_.parallelToolCalls},...null!=_.promptCacheKey&&{prompt_cache_key:_.promptCacheKey},...null!=_.safetyIdentifier&&{safety_identifier:_.safetyIdentifier},...null!=_.serviceTier&&{service_tier:_.serviceTier},...null!=_.user&&{user:_.user}};return O&&O.length>0&&($.tools=O),null!=E&&($.tool_choice=E),{args:$,warnings:y,webSearchToolName:w,xSearchToolName:z,codeExecutionToolName:v,mcpToolName:k,fileSearchToolName:x,imageGenerationToolName:S}}getArgs(t){return e.prepareRequest({modelId:this.modelId,options:t})}async doGenerate(e){let{args:t,warnings:n,webSearchToolName:r,xSearchToolName:i,codeExecutionToolName:a,mcpToolName:s,fileSearchToolName:l,imageGenerationToolName:c}=await this.getArgs(e),{responseHeaders:d,value:p,rawValue:m}=await (0,o.postJsonToApi)({url:`${this.config.baseURL??"https://api.x.ai/v1"}/responses`,headers:(0,o.combineHeaders)(this.config.headers?.(),e.headers),body:t,failedResponseHandler:u,successfulResponseHandler:(0,o.createJsonResponseHandler)(C),abortSignal:e.abortSignal,fetch:this.config.fetch}),g=[],f=!1,y=["web_search","web_search_with_snippets","browse_page"],b=["x_user_search","x_keyword_search","x_semantic_search","x_thread_fetch"];for(let e of p.output){if("file_search_call"===e.type){let t=l??"file_search";g.push({type:"tool-call",toolCallId:e.id,toolName:t,input:"",providerExecuted:!0}),g.push({type:"tool-result",toolCallId:e.id,toolName:t,result:{queries:e.queries??[],results:e.results?.map(e=>({fileId:e.file_id,filename:e.filename,score:e.score,text:e.text}))??null}});continue}if("image_generation_call"===e.type){let t=c??"image_generation";g.push({type:"tool-call",toolCallId:e.id,toolName:t,input:"{}",providerExecuted:!0}),null!=e.result?g.push({type:"tool-result",toolCallId:e.id,toolName:t,result:{result:e.result,...null!=e.prompt&&{prompt:e.prompt}}}):g.push({type:"tool-result",toolCallId:e.id,toolName:t,isError:!0,result:`Image generation failed (status: ${e.status}).`});continue}if("web_search_call"===e.type||"x_search_call"===e.type||"code_interpreter_call"===e.type||"code_execution_call"===e.type||"view_image_call"===e.type||"view_x_video_call"===e.type||"custom_tool_call"===e.type||"mcp_call"===e.type){let t=e.name??"";y.includes(e.name??"")||"web_search_call"===e.type?t=r??"web_search":b.includes(e.name??"")||"x_search_call"===e.type?t=i??"x_search":"code_execution"===e.name||"code_interpreter_call"===e.type||"code_execution_call"===e.type?t=a??"code_execution":"mcp_call"===e.type&&(t=s??e.name??"mcp");let n="custom_tool_call"===e.type?e.input??"":(e.type,e.arguments??"");g.push({type:"tool-call",toolCallId:e.id,toolName:t,input:n,providerExecuted:!0}),"web_search_call"===e.type&&g.push({type:"tool-result",toolCallId:e.id,toolName:t,result:Q(e.action)});continue}switch(e.type){case"message":for(let t of e.content)if(t.text&&g.push({type:"text",text:t.text}),t.annotations)for(let e of t.annotations)"url_citation"===e.type&&"url"in e&&g.push({type:"source",sourceType:"url",id:this.config.generateId(),url:e.url,title:e.title??e.url});break;case"function_call":f=!0,g.push({type:"tool-call",toolCallId:e.call_id,toolName:e.name,input:e.arguments});break;case"reasoning":{let t=(e.summary.length>0?e.summary.map(e=>e.text):(e.content??[]).map(e=>e.text)).filter(e=>e&&e.length>0).join("");if(t||e.encrypted_content){let n=e.encrypted_content||e.id;g.push({type:"reasoning",text:t,...n&&{providerMetadata:{xai:{...e.encrypted_content&&{reasoningEncryptedContent:e.encrypted_content},...e.id&&{itemId:e.id}}}}})}}}}return{content:g,finishReason:{unified:f?"tool-calls":w(p.status),raw:p.status??void 0},usage:p.usage?_(p.usage):{inputTokens:{total:0,noCache:0,cacheRead:0,cacheWrite:0},outputTokens:{total:0,text:0,reasoning:0}},...(p.usage?.cost_in_usd_ticks!=null||null!=p.service_tier||null!=p.prompt_cache_key||null!=p.safety_identifier)&&{providerMetadata:{xai:{...p.usage?.cost_in_usd_ticks!=null&&{costInUsdTicks:p.usage.cost_in_usd_ticks},...null!=p.service_tier&&{serviceTier:p.service_tier},...null!=p.prompt_cache_key&&{promptCacheKey:p.prompt_cache_key},...null!=p.safety_identifier&&{safetyIdentifier:p.safety_identifier}}}},request:{body:t},response:{...h(p),headers:d,body:m},warnings:n}}async doStream(e){let t,n,r,i,a,{args:s,warnings:l,webSearchToolName:c,xSearchToolName:d,codeExecutionToolName:p,mcpToolName:m,fileSearchToolName:g,imageGenerationToolName:f}=await this.getArgs(e),y={...s,stream:!0},{responseHeaders:b,value:z}=await (0,o.postJsonToApi)({url:`${this.config.baseURL??"https://api.x.ai/v1"}/responses`,headers:(0,o.combineHeaders)(this.config.headers?.(),e.headers),body:y,failedResponseHandler:u,successfulResponseHandler:(0,o.createEventSourceResponseHandler)(A),abortSignal:e.abortSignal,fetch:this.config.fetch}),v={unified:"other",raw:void 0},k=!1,x=!0,S={},T=new Set,I={},O={},E=this;return{stream:z.pipeThrough(new TransformStream({start(e){e.enqueue({type:"stream-start",warnings:l})},transform(o,s){if(e.includeRawChunks&&s.enqueue({type:"raw",rawValue:o.rawValue}),!o.success)return void s.enqueue({type:"error",error:o.error});let l=o.value;if("response.created"===l.type||"response.in_progress"===l.type){x&&(s.enqueue({type:"response-metadata",...h(l.response)}),x=!1);return}if("response.reasoning_summary_part.added"===l.type){let e=`reasoning-${l.item_id}`;null==O[l.item_id]&&(O[l.item_id]={},s.enqueue({type:"reasoning-start",id:e,providerMetadata:{xai:{itemId:l.item_id}}}))}if("response.reasoning_summary_text.delta"===l.type){let e=`reasoning-${l.item_id}`;s.enqueue({type:"reasoning-delta",id:e,delta:l.delta,providerMetadata:{xai:{itemId:l.item_id}}});return}if("response.reasoning_summary_text.done"===l.type)return;if("response.reasoning_text.delta"===l.type){let e=`reasoning-${l.item_id}`;null==O[l.item_id]&&(O[l.item_id]={},s.enqueue({type:"reasoning-start",id:e,providerMetadata:{xai:{itemId:l.item_id}}})),s.enqueue({type:"reasoning-delta",id:e,delta:l.delta,providerMetadata:{xai:{itemId:l.item_id}}});return}if("response.reasoning_text.done"!==l.type){if("response.output_text.delta"===l.type){let e=`text-${l.item_id}`;null==S[e]&&(S[e]={type:"text"},s.enqueue({type:"text-start",id:e})),s.enqueue({type:"text-delta",id:e,delta:l.delta});return}if("response.output_text.done"===l.type){if(l.annotations)for(let e of l.annotations)"url_citation"===e.type&&"url"in e&&s.enqueue({type:"source",sourceType:"url",id:E.config.generateId(),url:e.url,title:e.title??e.url});return}if("response.output_text.annotation.added"===l.type){let e=l.annotation;"url_citation"===e.type&&"url"in e&&s.enqueue({type:"source",sourceType:"url",id:E.config.generateId(),url:e.url,title:e.title??e.url});return}if("response.done"===l.type||"response.completed"===l.type||"response.incomplete"===l.type){let e=l.response;if(e.usage&&(t=_(e.usage),n=e.usage.cost_in_usd_ticks??void 0),r=e.service_tier??void 0,i=e.prompt_cache_key??void 0,a=e.safety_identifier??void 0,"response.incomplete"===l.type){let t="incomplete_details"in e?e.incomplete_details?.reason:void 0;v={unified:t?w(t):"other",raw:t??"incomplete"}}else"status"in e&&e.status&&(v={unified:k?"tool-calls":w(e.status),raw:e.status});return}if("response.failed"===l.type){let e=l.response.incomplete_details?.reason;v={unified:e?w(e):"error",raw:e??"error"},l.response.usage&&(t=_(l.response.usage)),null!=l.response.error&&s.enqueue({type:"error",error:Y({message:l.response.error.message,code:l.response.error.code,eventType:l.type,data:l})});return}if("error"===l.type)return void s.enqueue({type:"error",error:Y({message:l.message,code:l.code,eventType:l.type,data:l})});if("response.custom_tool_call_input.delta"!==l.type&&"response.custom_tool_call_input.done"!==l.type){if("response.function_call_arguments.delta"===l.type){let e=I[l.output_index];null!=e&&s.enqueue({type:"tool-input-delta",id:e.toolCallId,delta:l.delta});return}if("response.function_call_arguments.done"!==l.type){if("response.image_generation_call.in_progress"===l.type||"response.image_generation_call.generating"===l.type||"response.image_generation_call.completed"===l.type){if(!T.has(l.item_id)){T.add(l.item_id);let e=f??"image_generation";s.enqueue({type:"tool-input-start",id:l.item_id,toolName:e}),s.enqueue({type:"tool-input-delta",id:l.item_id,delta:"{}"}),s.enqueue({type:"tool-input-end",id:l.item_id}),s.enqueue({type:"tool-call",toolCallId:l.item_id,toolName:e,input:"{}",providerExecuted:!0})}return}if("response.output_item.added"===l.type||"response.output_item.done"===l.type){let e=l.item;if("reasoning"===e.type){if("response.output_item.done"===l.type){let t=`reasoning-${e.id}`;e.id in O||(O[e.id]={},s.enqueue({type:"reasoning-start",id:t,providerMetadata:{xai:{...e.id&&{itemId:e.id}}}})),s.enqueue({type:"reasoning-end",id:t,providerMetadata:{xai:{...e.encrypted_content&&{reasoningEncryptedContent:e.encrypted_content},...e.id&&{itemId:e.id}}}}),delete O[e.id]}return}if("file_search_call"===e.type){let t=g??"file_search";T.has(e.id)||(T.add(e.id),s.enqueue({type:"tool-input-start",id:e.id,toolName:t}),s.enqueue({type:"tool-input-delta",id:e.id,delta:""}),s.enqueue({type:"tool-input-end",id:e.id}),s.enqueue({type:"tool-call",toolCallId:e.id,toolName:t,input:"",providerExecuted:!0})),"response.output_item.done"===l.type&&s.enqueue({type:"tool-result",toolCallId:e.id,toolName:t,result:{queries:e.queries??[],results:e.results?.map(e=>({fileId:e.file_id,filename:e.filename,score:e.score,text:e.text}))??null}});return}if("image_generation_call"===e.type){let t=f??"image_generation";T.has(e.id)||(T.add(e.id),s.enqueue({type:"tool-input-start",id:e.id,toolName:t}),s.enqueue({type:"tool-input-delta",id:e.id,delta:"{}"}),s.enqueue({type:"tool-input-end",id:e.id}),s.enqueue({type:"tool-call",toolCallId:e.id,toolName:t,input:"{}",providerExecuted:!0})),"response.output_item.done"===l.type&&(null!=e.result?s.enqueue({type:"tool-result",toolCallId:e.id,toolName:t,result:{result:e.result,...null!=e.prompt&&{prompt:e.prompt}}}):s.enqueue({type:"tool-result",toolCallId:e.id,toolName:t,isError:!0,result:`Image generation failed (status: ${e.status}).`}));return}if("web_search_call"===e.type||"x_search_call"===e.type||"code_interpreter_call"===e.type||"code_execution_call"===e.type||"view_image_call"===e.type||"view_x_video_call"===e.type||"custom_tool_call"===e.type||"mcp_call"===e.type){let t=e.name??"";["web_search","web_search_with_snippets","browse_page"].includes(e.name??"")||"web_search_call"===e.type?t=c??"web_search":["x_user_search","x_keyword_search","x_semantic_search","x_thread_fetch"].includes(e.name??"")||"x_search_call"===e.type?t=d??"x_search":"code_execution"===e.name||"code_interpreter_call"===e.type||"code_execution_call"===e.type?t=p??"code_execution":"mcp_call"===e.type&&(t=m??e.name??"mcp");let n="custom_tool_call"===e.type?e.input??"":(e.type,e.arguments??"");("custom_tool_call"===e.type?"response.output_item.done"!==l.type:T.has(e.id))||T.has(e.id)||(T.add(e.id),s.enqueue({type:"tool-input-start",id:e.id,toolName:t}),s.enqueue({type:"tool-input-delta",id:e.id,delta:n}),s.enqueue({type:"tool-input-end",id:e.id}),s.enqueue({type:"tool-call",toolCallId:e.id,toolName:t,input:n,providerExecuted:!0})),"response.output_item.done"===l.type&&s.enqueue({type:"tool-result",toolCallId:e.id,toolName:t,result:"web_search_call"===e.type?Q(e.action):{}});return}if("message"===e.type)for(let t of e.content){if(t.text&&t.text.length>0){let n=`text-${e.id}`;null==S[n]&&(S[n]={type:"text"},s.enqueue({type:"text-start",id:n}),s.enqueue({type:"text-delta",id:n,delta:t.text}))}if(t.annotations)for(let e of t.annotations)"url_citation"===e.type&&"url"in e&&s.enqueue({type:"source",sourceType:"url",id:E.config.generateId(),url:e.url,title:e.title??e.url})}else"function_call"===e.type&&("response.output_item.added"===l.type?(I[l.output_index]={toolName:e.name,toolCallId:e.call_id},s.enqueue({type:"tool-input-start",id:e.call_id,toolName:e.name})):"response.output_item.done"===l.type&&(k=!0,I[l.output_index]=void 0,s.enqueue({type:"tool-input-end",id:e.call_id}),s.enqueue({type:"tool-call",toolCallId:e.call_id,toolName:e.name,input:e.arguments})))}}}}},flush(e){for(let[t,n]of Object.entries(S))"text"===n.type&&e.enqueue({type:"text-end",id:t});e.enqueue({type:"finish",finishReason:v,usage:t??{inputTokens:{total:0,noCache:0,cacheRead:0,cacheWrite:0},outputTokens:{total:0,text:0,reasoning:0}},...(null!=n||null!=r||null!=i||null!=a)&&{providerMetadata:{xai:{...null!=n&&{costInUsdTicks:n},...null!=r&&{serviceTier:r},...null!=i&&{promptCacheKey:i},...null!=a&&{safetyIdentifier:a}}}}})}})),request:{body:y},response:{headers:b}}}};function Q(e){let t=T.safeParse(e);if(!t.success)return{};let n=t.data,o=n.sources?.flatMap(e=>{let t=S.safeParse(e);return t.success?[t.data]:[]}),r=null!=o&&o.length>0?{sources:o}:{};switch(n.type){case"search":return{action:{type:"search",...null!=n.query&&{query:n.query},...null!=n.queries&&{queries:n.queries}},...r};case"open_page":return{action:{type:"openPage",url:n.url},...r};case"find_in_page":return{action:{type:"findInPage",url:n.url,pattern:n.pattern},...r}}}let ee=(0,o.lazySchema)(()=>(0,o.zodSchema)(r.z.object({inputFileExpiresAfter:r.z.number().int().min(3600).max(2592e3).optional()}))),et=r.z.object({data:r.z.array(r.z.object({url:r.z.string().nullish(),b64_json:r.z.string().nullish(),revised_prompt:r.z.string().nullish(),respect_moderation:r.z.boolean().nullish()})),usage:r.z.object({cost_in_usd_ticks:r.z.number().nullish()}).nullish()}),en=()=>r.z.object({batch_id:r.z.string(),name:r.z.string().nullish(),create_time:r.z.string().nullish(),expire_time:r.z.string().nullish(),cancel_time:r.z.string().nullish(),cancel_by_xai_message:r.z.string().nullish(),state:r.z.object({num_requests:r.z.number().nullish(),num_pending:r.z.number().nullish(),num_success:r.z.number().nullish(),num_error:r.z.number().nullish(),num_cancelled:r.z.number().nullish()}).nullish()}),eo=(0,o.lazySchema)(()=>(0,o.zodSchema)(en())),er=r.z.object({code:r.z.union([r.z.string(),r.z.number()]).nullish(),message:r.z.string().nullish()}),ei=r.z.object({batch_request_id:r.z.string(),batch_result:r.z.object({response:r.z.object({chat_get_completion:r.z.unknown().nullish(),image_generation:r.z.unknown().nullish()}).nullish(),error:er.nullish()}).nullish(),error_message:r.z.string().nullish()}),ea=r.z.object({id:r.z.string().nullish(),created:r.z.number().nullish(),model:r.z.string().nullish(),choices:r.z.array(r.z.object({message:r.z.object({role:r.z.enum(["assistant","tool"]),content:r.z.string().nullish(),reasoning_content:r.z.string().nullish(),tool_calls:r.z.array(r.z.object({id:r.z.string(),type:r.z.literal("function"),function:r.z.object({name:r.z.string(),arguments:r.z.string()})})).nullish()}),index:r.z.number(),finish_reason:r.z.string().nullish()})).nullish(),usage:r.z.object({prompt_tokens:r.z.number(),completion_tokens:r.z.number(),total_tokens:r.z.number(),cost_in_usd_ticks:r.z.number().nullish(),prompt_tokens_details:r.z.object({cached_tokens:r.z.number().nullish()}).nullish(),completion_tokens_details:r.z.object({reasoning_tokens:r.z.number().nullish()}).nullish()}).nullish(),citations:r.z.array(r.z.string().url()).nullish(),service_tier:r.z.string().nullish(),code:r.z.string().nullish(),error:r.z.string().nullish()}),es=(0,o.lazySchema)(()=>(0,o.zodSchema)(r.z.object({results:r.z.array(ei),pagination_token:r.z.string().nullish()}))),el=(0,o.lazySchema)(()=>(0,o.zodSchema)(r.z.object({batches:r.z.array(en()),pagination_token:r.z.string().nullish()})));var eu=class{constructor(e){this.options=e,this.specificationVersion="v4",this.supportedUrls=Z,this.provider=e.provider}async doStartBatch(e){for(let n of e.requests){let e=n.type;if("text"!==e&&"image"!==e)throw new t.UnsupportedFunctionalityError({functionality:`batch request type: ${e}`,message:`The xAI Batch API does not support batch requests with type "${e}".`})}let n=[],r=null==e.webhookUrl?[]:[{warning:{type:"unsupported",feature:"webhookUrl",details:"The xAI Batch API does not support per-batch webhook URLs."}}],i=await (0,o.parseProviderOptions)({provider:"xai",providerOptions:e.providerOptions,schema:ee});for(let t of e.requests){let e=await this.prepareRequest(t);for(let o of(n.push(JSON.stringify({custom_id:t.id,method:"POST",url:e.endpoint,body:e.body}),"\n"),e.warnings))r.push({requestId:t.id,warning:o})}let a=new Blob(n,{type:"application/jsonl"});n.length=0;let s=new FormData;i?.inputFileExpiresAfter!=null&&s.append("expires_after",String(i.inputFileExpiresAfter)),s.append("file",a,"batch.jsonl");let l=(0,o.combineHeaders)(this.options.config.headers?.(),e.headers),{value:c}=await (0,o.postFormDataToApi)({url:this.getUrl("/files"),headers:l,formData:s,failedResponseHandler:u,successfulResponseHandler:(0,o.createJsonResponseHandler)(m),abortSignal:e.abortSignal,fetch:this.options.config.fetch}),{value:d}=await (0,o.postJsonToApi)({url:this.getUrl("/batches"),headers:l,body:{name:"ai-sdk-text-batch",input_file_id:c.id},failedResponseHandler:u,successfulResponseHandler:(0,o.createJsonResponseHandler)(eo),abortSignal:e.abortSignal,fetch:this.options.config.fetch});return{batchId:d.batch_id,...ec(d),providerMetadata:{xai:{inputFileId:c.id,...null!=c.expires_at?{inputFileExpiresAt:new Date(1e3*c.expires_at).toISOString()}:{}}},warnings:r}}async doGetBatchStatus(e){return ec(await this.retrieveBatch(e))}async doCancelBatch(e){return await (0,o.postJsonToApi)({url:this.getUrl(`/batches/${encodeURIComponent(e.batchId)}:cancel`),headers:(0,o.combineHeaders)(this.options.config.headers?.(),e.headers),body:{},failedResponseHandler:u,successfulResponseHandler:(0,o.createJsonResponseHandler)(eo),abortSignal:e.abortSignal,fetch:this.options.config.fetch}),{}}async doListBatches(e){let t=new URL(this.getUrl("/batches"));null!=e.limit&&t.searchParams.set("limit",String(e.limit)),null!=e.cursor&&t.searchParams.set("pagination_token",e.cursor);let{value:n}=await (0,o.getFromApi)({url:t.toString(),headers:(0,o.combineHeaders)(this.options.config.headers?.(),e.headers),failedResponseHandler:u,successfulResponseHandler:(0,o.createJsonResponseHandler)(el),abortSignal:e.abortSignal,fetch:this.options.config.fetch,validateUrl:!1});return{batches:n.batches.map(e=>({batchId:e.batch_id,...ec(e)})),...null!=n.pagination_token?{nextCursor:n.pagination_token}:{}}}async doGetBatchResults(e){if("pending"===ec(await this.retrieveBatch(e)).status)throw new t.InvalidArgumentError({argument:"batchId",message:`xAI batch "${e.batchId}" is not complete.`});return(0,o.convertAsyncIteratorToReadableStream)(this.iterateBatchResults(e))}async retrieveBatch(e){let{value:t}=await (0,o.getFromApi)({url:this.getUrl(`/batches/${encodeURIComponent(e.batchId)}`),headers:(0,o.combineHeaders)(this.options.config.headers?.(),e.headers),failedResponseHandler:u,successfulResponseHandler:(0,o.createJsonResponseHandler)(eo),abortSignal:e.abortSignal,fetch:this.options.config.fetch,validateUrl:!1});return t}async *iterateBatchResults(e){let t;do{let n=new URLSearchParams({limit:String(1e3)});null!=t&&n.set("pagination_token",t);let{value:r}=await (0,o.getFromApi)({url:this.getUrl(`/batches/${encodeURIComponent(e.batchId)}/results?${n}`),headers:(0,o.combineHeaders)(this.options.config.headers?.(),e.headers),failedResponseHandler:u,successfulResponseHandler:(0,o.createJsonResponseHandler)(es),abortSignal:e.abortSignal,fetch:this.options.config.fetch,validateUrl:!1});for(let t of r.results)yield await this.convertBatchResult(t,e.abortSignal);t=r.pagination_token??void 0}while(null!=t)}async convertBatchResult(e,t){let n=e.batch_result?.error;if((e.error_message?.length??0)>0||n?.code!=null&&0!==n.code&&"0"!==n.code||n?.code==null&&(n?.message?.length??0)>0){var r,i;let t,o,a=(r=e,t=r.batch_result?.error,{message:r.error_message||t?.message||"xAI batch request failed.",...t?.code!=null&&0!==t.code&&"0"!==t.code?{code:String(t.code)}:{}});return{type:"text",id:e.batch_request_id,status:(o=String(i=n?.code).toLowerCase(),1===i||"1"===o||"cancelled"===o||"batch_cancelled"===o)?"cancelled":"failed",error:a}}let a=e.batch_result?.response;if(a?.chat_get_completion!=null){let t=await (0,o.safeValidateTypes)({value:a.chat_get_completion,schema:(0,o.zodSchema)(ea)});if(!t.success)return ed(e.batch_request_id);let n=function(e){var t;let n,r,i,a;if(null!=e.error)return{success:!1,error:{message:e.error,...null!=e.code?{code:e.code}:{}}};let s=e.choices;if(null==s||0===s.length)return{success:!1,error:{message:"xAI returned a batch response without any choices.",code:"invalid_response"}};let l=[],u=new Set(s.filter(e=>"tool"===e.message.role).flatMap(e=>(e.message.tool_calls??[]).map(e=>e.id)));for(let e of s){if("tool"===e.message.role){if(null!=e.message.content)for(let t of e.message.tool_calls??[])l.push({type:"tool-result",toolCallId:t.id,toolName:t.function.name,result:e.message.content,dynamic:!0});continue}for(let t of(n=e,e.message.content&&l.push({type:"text",text:e.message.content}),e.message.reasoning_content&&l.push({type:"reasoning",text:e.message.reasoning_content}),e.message.tool_calls??[]))l.push({type:"tool-call",toolCallId:t.id,toolName:t.function.name,input:t.function.arguments,...u.has(t.id)?{providerExecuted:!0,dynamic:!0}:{}})}for(let t of e.citations??[])l.push({type:"source",sourceType:"url",id:t,url:t});return{success:!0,result:{content:l,finishReason:{unified:function(e){switch(e){case"stop":return"stop";case"length":return"length";case"tool_calls":case"function_call":return"tool-calls";case"content_filter":return"content-filter";default:return"other"}}(n?.finish_reason),raw:n?.finish_reason??void 0},usage:e.usage?(t=e.usage,r=t.prompt_tokens_details?.cached_tokens??0,i=t.completion_tokens_details?.reasoning_tokens??0,{inputTokens:{total:(a=r<=t.prompt_tokens)?t.prompt_tokens:t.prompt_tokens+r,noCache:a?t.prompt_tokens-r:t.prompt_tokens,cacheRead:r,cacheWrite:void 0},outputTokens:{total:t.completion_tokens+i,text:t.completion_tokens,reasoning:i},raw:t}):(0,o.createNullLanguageModelUsage)(),response:h(e),warnings:[],...(e.usage?.cost_in_usd_ticks!=null||null!=e.service_tier)&&{providerMetadata:{xai:{...e.usage?.cost_in_usd_ticks!=null?{costInUsdTicks:e.usage.cost_in_usd_ticks}:{},...null!=e.service_tier?{serviceTier:e.service_tier}:{}}}}}}}(t.value);return n.success?{type:"text",id:e.batch_request_id,status:"succeeded",result:n.result}:{type:"text",id:e.batch_request_id,status:"failed",error:n.error}}if(a?.image_generation!=null){let n=await (0,o.safeValidateTypes)({value:a.image_generation,schema:(0,o.zodSchema)(et)});if(!n.success)return{type:"image",id:e.batch_request_id,status:"failed",error:{message:"xAI returned an invalid image batch result.",code:"invalid_response"}};if(n.value.data.some(e=>!1===e.respect_moderation))return{type:"image",id:e.batch_request_id,status:"failed",error:{message:"Image generation was blocked due to a content policy violation."}};let r=await this.convertImageBatchResponse(n.value,t);return{type:"image",id:e.batch_request_id,status:"succeeded",result:r}}return ed(e.batch_request_id)}async prepareRequest(e){if("text"===e.type){let{args:t,warnings:n}=await X.prepareRequest({modelId:e.modelId,options:e.options});return{endpoint:"/v1/responses",body:t,warnings:n}}let{prompt:t,n,size:r,aspectRatio:i,seed:a,files:s,mask:l,providerOptions:u}=e.options,d=[];null!=r&&d.push({type:"unsupported",feature:"size",details:"This model does not support the `size` option. Use `aspectRatio` instead."}),null!=a&&d.push({type:"unsupported",feature:"seed"}),null!=l&&d.push({type:"unsupported",feature:"mask"});let p=await (0,o.parseProviderOptions)({provider:"xai",providerOptions:u,schema:c}),h=(s??[]).map(o.convertImageModelFileToDataUri),m={model:e.modelId,prompt:t,n,response_format:"b64_json"};return null!=i&&(m.aspect_ratio=i),p?.output_format!=null&&(m.output_format=p.output_format),p?.sync_mode!=null&&(m.sync_mode=p.sync_mode),p?.aspect_ratio!=null&&null==i&&(m.aspect_ratio=p.aspect_ratio),p?.resolution!=null&&(m.resolution=p.resolution),p?.quality!=null&&(m.quality=p.quality),p?.user!=null&&(m.user=p.user),1===h.length?m.image={url:h[0],type:"image_url"}:h.length>1&&(m.images=h.map(e=>({url:e,type:"image_url"}))),{endpoint:s?.length?"/v1/images/edits":"/v1/images/generations",body:m,warnings:d}}async convertImageBatchResponse(e,n){return{images:e.data.every(e=>null!=e.b64_json)?e.data.map(e=>e.b64_json):await Promise.all(e.data.map(async e=>{if(null!=e.b64_json)return(0,o.convertBase64ToUint8Array)(e.b64_json);if(null==e.url)throw new t.InvalidArgumentError({argument:"batchResult",message:"xAI returned an image without data or a URL."});let{value:r}=await (0,o.getFromApi)({url:e.url,validateUrl:!0,trustedOrigin:this.options.config.baseURL,abortSignal:n,failedResponseHandler:u,successfulResponseHandler:(0,o.createBinaryResponseHandler)(),fetch:this.options.config.fetch});return r})),warnings:[],response:{timestamp:new Date,modelId:"",headers:void 0},providerMetadata:{xai:{images:e.data.map(e=>null!=e.revised_prompt?{revisedPrompt:e.revised_prompt}:{}),...e.usage?.cost_in_usd_ticks!=null?{costInUsdTicks:e.usage.cost_in_usd_ticks}:{}}}}}getUrl(e){return`${this.options.config.baseURL??"https://api.x.ai/v1"}${e}`}};function ec(e){let t=(0,o.normalizeBatchRequestCounts)({total:e.state?.num_requests,pending:e.state?.num_pending,completed:e.state?.num_success,failed:e.state?.num_error!=null&&e.state?.num_cancelled!=null?e.state.num_error+e.state.num_cancelled:void 0}),n=null!=e.cancel_time||null!=e.cancel_by_xai_message,r=function(e){if(null==e)return!1;let t=Date.parse(e);return!Number.isNaN(t)&&t<=Date.now()}(e.expire_time);return{status:n||r?"failed":null!=t&&t.total>0&&0===t.pending?"completed":"pending",...null!=t?{requestCounts:t}:{},...n?{error:{message:e.cancel_by_xai_message??`xAI batch "${e.batch_id}" was cancelled.`,code:"batch_cancelled"}}:r?{error:{message:`xAI batch "${e.batch_id}" expired.`,code:"batch_expired"}}:{},...null!=e.create_time?{createdAt:e.create_time}:{},...null!=e.expire_time?{expiresAt:e.expire_time}:{}}}function ed(e){return{type:"text",id:e,status:"failed",error:{message:"xAI returned an invalid Responses batch result.",code:"invalid_response"}}}function ep(e){let t={};null!=e.instructions&&(t.instructions=e.instructions),null!=e.voice&&(t.voice=e.voice);let n={};if(null!=e.inputAudioFormat&&(n.input={format:{type:e.inputAudioFormat.type,...null!=e.inputAudioFormat.rate?{rate:e.inputAudioFormat.rate}:{}}}),null!=e.outputAudioFormat&&(n.output={format:{type:e.outputAudioFormat.type,...null!=e.outputAudioFormat.rate?{rate:e.outputAudioFormat.rate}:{}}}),Object.keys(n).length>0&&(t.audio=n),null!=e.turnDetection)if("disabled"===e.turnDetection.type)t.turn_detection=null;else{let n={type:"server_vad"};null!=e.turnDetection.threshold&&(n.threshold=e.turnDetection.threshold),null!=e.turnDetection.silenceDurationMs&&(n.silence_duration_ms=e.turnDetection.silenceDurationMs),null!=e.turnDetection.prefixPaddingMs&&(n.prefix_padding_ms=e.turnDetection.prefixPaddingMs),t.turn_detection=n}if(null!=e.tools&&e.tools.length>0&&(t.tools=e.tools.map(e=>({type:e.type,name:e.name,description:e.description,parameters:e.parameters}))),null!=e.providerOptions){let n=e.providerOptions;for(let[e,o]of(Array.isArray(n.tools)&&(t.tools=[...t.tools??[],...n.tools]),Object.entries(n)))"tools"!==e&&(t[e]=o)}return t}var eh=class{constructor(e,t){this.specificationVersion="v4",this.modelId=e,this.provider=t.provider,this.config=t}async doCreateClientSecret(e){let t=this.config.fetch??fetch,n=`${this.config.baseURL}/realtime/client_secrets`,o={};null!=e.expiresAfterSeconds&&(o.expires_after={seconds:e.expiresAfterSeconds});let r=await t(n,{method:"POST",headers:{...this.config.headers(),"Content-Type":"application/json"},body:JSON.stringify(o)});if(!r.ok){let e=await r.text();throw Error(`xAI realtime client secret request failed: ${r.status} ${e}`)}let i=await r.json();return{token:i.value,url:`wss://${new URL(this.config.baseURL).host}/v1/realtime?model=${encodeURIComponent(this.modelId)}`,expiresAt:i.expires_at}}getWebSocketConfig(e){return{url:e.url,protocols:[`xai-client-secret.${e.token}`]}}parseServerEvent(e){let t=e.type;switch(t){case"session.created":return{type:"session-created",sessionId:e.session?.id,raw:e};case"session.updated":return{type:"session-updated",raw:e};case"conversation.created":case"mcp_list_tools.in_progress":case"mcp_list_tools.completed":case"mcp_list_tools.failed":case"response.mcp_call_arguments.delta":case"response.mcp_call_arguments.done":case"response.mcp_call.in_progress":case"response.mcp_call.completed":case"response.mcp_call.failed":default:return{type:"custom",rawType:t,raw:e};case"input_audio_buffer.speech_started":return{type:"speech-started",itemId:e.item_id,raw:e};case"input_audio_buffer.speech_stopped":return{type:"speech-stopped",itemId:e.item_id,raw:e};case"input_audio_buffer.committed":return{type:"audio-committed",itemId:e.item_id,previousItemId:e.previous_item_id,raw:e};case"conversation.item.added":return{type:"conversation-item-added",itemId:e.item?.id??e.item_id,item:e.item,raw:e};case"conversation.item.input_audio_transcription.completed":return{type:"input-transcription-completed",itemId:e.item_id,transcript:e.transcript??"",raw:e};case"response.created":return{type:"response-created",responseId:e.response?.id??e.response_id,raw:e};case"response.done":return{type:"response-done",responseId:e.response?.id??e.response_id,status:e.response?.status??"completed",raw:e};case"response.output_item.added":return{type:"output-item-added",responseId:e.response_id,itemId:e.item?.id??e.item_id,raw:e};case"response.output_item.done":return{type:"output-item-done",responseId:e.response_id,itemId:e.item?.id??e.item_id,raw:e};case"response.content_part.added":return{type:"content-part-added",responseId:e.response_id,itemId:e.item_id,raw:e};case"response.content_part.done":return{type:"content-part-done",responseId:e.response_id,itemId:e.item_id,raw:e};case"response.output_audio.delta":return{type:"audio-delta",responseId:e.response_id,itemId:e.item_id,delta:e.delta,raw:e};case"response.output_audio.done":return{type:"audio-done",responseId:e.response_id,itemId:e.item_id,raw:e};case"response.output_audio_transcript.delta":return{type:"audio-transcript-delta",responseId:e.response_id,itemId:e.item_id,delta:e.delta,raw:e};case"response.output_audio_transcript.done":return{type:"audio-transcript-done",responseId:e.response_id,itemId:e.item_id,transcript:e.transcript,raw:e};case"response.text.delta":return{type:"text-delta",responseId:e.response_id,itemId:e.item_id,delta:e.delta,raw:e};case"response.text.done":return{type:"text-done",responseId:e.response_id,itemId:e.item_id,text:e.text,raw:e};case"response.function_call_arguments.delta":return{type:"function-call-arguments-delta",responseId:e.response_id,itemId:e.item_id,callId:e.call_id,delta:e.delta,raw:e};case"response.function_call_arguments.done":return{type:"function-call-arguments-done",responseId:e.response_id,itemId:e.item_id,callId:e.call_id,name:e.name,arguments:e.arguments,raw:e};case"error":return{type:"error",message:e.error?.message??e.message??"Unknown error",code:e.error?.code??e.code,raw:e}}}serializeClientEvent(e){switch(e.type){case"session-update":return{type:"session.update",session:ep(e.config)};case"input-audio-append":return{type:"input_audio_buffer.append",audio:e.audio};case"input-audio-commit":return{type:"input_audio_buffer.commit"};case"input-audio-clear":return{type:"input_audio_buffer.clear"};case"conversation-item-create":{let t=e.item;switch(t.type){case"text-message":return{type:"conversation.item.create",item:{type:"message",role:t.role,content:[{type:"input_text",text:t.text}]}};case"audio-message":return{type:"conversation.item.create",item:{type:"message",role:t.role,content:[{type:"input_audio",audio:t.audio}]}};case"function-call-output":return{type:"conversation.item.create",item:{type:"function_call_output",call_id:t.callId,output:t.output}}}break}case"conversation-item-truncate":break;case"response-create":return{type:"response.create",...null!=e.options?{response:{...null!=e.options.modalities?{modalities:e.options.modalities}:{},...null!=e.options.instructions?{instructions:e.options.instructions}:{}}}:{}};case"response-cancel":return{type:"response.cancel"}}}buildSessionConfig(e){return ep(e)}};let em=r.z.object({output:r.z.string().describe("the output of the code execution"),error:r.z.string().optional().describe("any error that occurred")}),eg=(0,o.createProviderExecutedToolFactory)({id:"xai.code_execution",inputSchema:r.z.object({}).describe("no input parameters"),outputSchema:em}),ef=r.z.object({description:r.z.string().describe("description of the image"),objects:r.z.array(r.z.string()).optional().describe("objects detected in the image")}),ey=(0,o.createProviderExecutedToolFactory)({id:"xai.view_image",inputSchema:r.z.object({}).describe("no input parameters"),outputSchema:ef}),eb=r.z.object({transcript:r.z.string().optional().describe("transcript of the video"),description:r.z.string().describe("description of the video content"),duration:r.z.number().optional().describe("duration in seconds")}),e_=(0,o.createProviderExecutedToolFactory)({id:"xai.view_x_video",inputSchema:r.z.object({}).describe("no input parameters"),outputSchema:eb}),ew={codeExecution:(e={})=>eg(e),fileSearch:e=>M(e),imageGeneration:(e={})=>U(e),mcpServer:e=>F(e),viewImage:(e={})=>ey(e),viewXVideo:(e={})=>e_(e),webSearch:(e={})=>W(e),xSearch:(e={})=>J(e)},ez=(0,o.lazySchema)(()=>(0,o.zodSchema)(r.z.looseObject({teamId:r.z.string().optional(),filePath:r.z.string().optional(),expiresAfter:r.z.number().int().min(3600).max(2592e3).optional()})));function ev(e){let t=encodeURIComponent(e);return"."===t?"%252E":".."===t?"%252E%252E":t}var ek=class{get provider(){return this.config.provider}constructor(e){this.config=e,this.specificationVersion="v4"}getFileId(e){let n=e.xai;if(null==n||""===n.trim())throw new t.InvalidArgumentError({argument:"file",message:"file reference is missing an 'xai' file id."});return n}getHeaders(e){return(0,o.combineHeaders)(this.config.headers(),e)}async uploadFile({data:e,mediaType:t,filename:n,abortSignal:r,headers:i,providerOptions:a}){let s,l;try{s=await (0,o.parseProviderOptions)({provider:"xai",providerOptions:a,schema:ez})}catch(t){throw"stream"===e.type&&await e.stream.cancel(t).catch(()=>{}),t}let c=this.getHeaders(i),d=`${this.config.baseURL}/files`;if("stream"===e.type){let i=[];s?.expiresAfter!=null&&i.push({type:"field",name:"expires_after",value:String(s.expiresAfter)}),s?.teamId!=null&&i.push({type:"field",name:"team_id",value:s.teamId}),i.push({type:"file",name:"file",filename:n,mediaType:t,content:e.stream}),{value:l}=await (0,o.postMultipartStreamToApi)({url:d,headers:c,parts:i,failedResponseHandler:u,successfulResponseHandler:(0,o.createJsonResponseHandler)(m),abortSignal:r,fetch:this.config.fetch})}else{let i=new Blob([(0,o.convertInlineFileDataToUint8Array)(e)],{type:t}),a=new FormData;s?.expiresAfter!=null&&a.append("expires_after",String(s.expiresAfter)),s?.teamId!=null&&a.append("team_id",s.teamId),null!=n?a.append("file",i,n):a.append("file",i),{value:l}=await (0,o.postFormDataToApi)({url:d,headers:c,formData:a,failedResponseHandler:u,successfulResponseHandler:(0,o.createJsonResponseHandler)(m),abortSignal:r,fetch:this.config.fetch})}return{warnings:[],providerReference:{xai:l.id},...l.filename??n?{filename:l.filename??n}:{},...null!=t?{mediaType:t}:{},...null!=l.bytes?{byteSize:l.bytes}:{},...null!=l.created_at?{createdAt:new Date(1e3*l.created_at)}:{},...null!=l.expires_at?{expiresAt:new Date(1e3*l.expires_at)}:{},providerMetadata:{xai:this.toFileMetadata(l)}}}async getFileMetadata({file:e,abortSignal:t,headers:n}){let r=this.getFileId(e),{value:i}=await (0,o.getFromApi)({url:`${this.config.baseURL}/files/${ev(r)}`,headers:this.getHeaders(n),failedResponseHandler:u,successfulResponseHandler:(0,o.createJsonResponseHandler)(m),abortSignal:t,fetch:this.config.fetch,validateUrl:!1});return{warnings:[],providerReference:{xai:i.id},...null!=i.filename?{filename:i.filename}:{},...null!=i.bytes?{byteSize:i.bytes}:{},...null!=i.created_at?{createdAt:new Date(1e3*i.created_at)}:{},...null!=i.expires_at?{expiresAt:new Date(1e3*i.expires_at)}:{},providerMetadata:{xai:this.toFileMetadata(i)}}}async downloadFile({file:e,abortSignal:t,headers:n}){let r=this.getFileId(e),{value:i,responseHeaders:a}=await (0,o.getFromApi)({url:`${this.config.baseURL}/files/${ev(r)}/content`,headers:this.getHeaders(n),failedResponseHandler:u,successfulResponseHandler:(0,o.createBinaryStreamResponseHandler)(),abortSignal:t,fetch:this.config.fetch,validateUrl:!1}),s=a?.["content-type"]?.split(";")[0].trim();return{warnings:[],content:i,...s?{mediaType:s}:{}}}async deleteFile({file:e,abortSignal:t,headers:n}){let r=this.getFileId(e),{value:i}=await (0,o.deleteFromApi)({url:`${this.config.baseURL}/files/${ev(r)}`,headers:this.getHeaders(n),failedResponseHandler:u,successfulResponseHandler:(0,o.createJsonResponseHandler)(g),abortSignal:t,fetch:this.config.fetch});return{warnings:[],providerReference:{xai:i.id},deleted:i.deleted}}toFileMetadata(e){return{...null!=e.filename?{filename:e.filename}:{},...null!=e.purpose?{purpose:e.purpose}:{},...null!=e.bytes?{bytes:e.bytes}:{},...null!=e.created_at?{createdAt:e.created_at}:{},...null!=e.status?{status:e.status}:{},...null!=e.expires_at?{expiresAt:e.expires_at}:{}}}};let ex=r.z.string().min(1),eS=r.z.enum(["480p","720p","1080p"]),eT=r.z.enum(["edit-video","extend-video","reference-to-video"]),eI=r.z.object({imageUrl:ex,timestampSeconds:r.z.number().positive()}),eO=r.z.object({filename:ex,expiresAfter:r.z.number().int().positive().max(2592e3).optional(),publicUrl:r.z.union([r.z.boolean(),r.z.object({expiresAfter:r.z.number().int().min(3600).max(2592e3).optional()})]).optional()}),eE={pollIntervalMs:r.z.number().positive().nullish(),pollTimeoutMs:r.z.number().positive().nullish(),resolution:eS.nullish()},eC=r.z.looseObject({mode:eT.optional(),videoUrl:ex.optional(),referenceImageUrls:r.z.array(ex).min(1).max(7).optional(),referenceVoiceIds:r.z.array(ex).max(3).optional(),keyframes:r.z.array(eI).max(4).optional(),storageOptions:eO.optional(),user:r.z.string().optional(),...eE}),eA=(0,o.lazySchema)(()=>(0,o.zodSchema)(eC)),ej={"1920x1080":"1080p","1280x720":"720p","854x480":"480p","640x480":"480p"};function eR(e){return e.frameImages?.find(e=>"first_frame"===e.frameType)?.image}let e$=e=>null!=e.mediaType&&"video"===(0,o.getTopLevelMediaType)(e.mediaType),eM=e=>null==e.mediaType||"image"===(0,o.getTopLevelMediaType)(e.mediaType),eN=e=>null!=e.mediaType&&"audio"===(0,o.getTopLevelMediaType)(e.mediaType);function eL(e){if("url"===e.type)return e.url;let t="string"==typeof e.data?e.data:(0,o.convertUint8ArrayToBase64)(e.data);return`data:${e.mediaType};base64,${t}`}function eP(e){return e.inputReferences?.some(eM)??!1}function eU(e){return e.inputReferences?.some(eN)??!1}var eq=class{get provider(){return this.config.provider}constructor(e,t){this.modelId=e,this.config=t,this.specificationVersion="v4",this.maxVideosPerCall=1}async buildRequestBody(e){let t=[],n=await (0,o.parseProviderOptions)({provider:"xai",providerOptions:e.providerOptions,schema:eA}),r=function(e,t){if(t?.mode!=null)return t.mode;if(t?.videoUrl!=null)return"edit-video";let n=t?.referenceImageUrls!=null&&t.referenceImageUrls.length>0;if(eP(e)||eU(e)||n)return"reference-to-video"}(e,n),i="edit-video"===r,a="extend-video"===r,s="reference-to-video"===r;null!=e.fps&&t.push({type:"unsupported",feature:"fps",details:"xAI video models do not support custom FPS."}),null!=e.seed&&t.push({type:"unsupported",feature:"seed",details:"xAI video models do not support seed."}),null!=e.n&&e.n>1&&t.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!=e.duration&&t.push({type:"unsupported",feature:"duration",details:"xAI video editing does not support custom duration."}),i&&null!=e.aspectRatio&&t.push({type:"unsupported",feature:"aspectRatio",details:"xAI video editing does not support custom aspect ratio."}),i&&(n?.resolution!=null||null!=e.resolution)&&t.push({type:"unsupported",feature:"resolution",details:"xAI video editing does not support custom resolution."}),a&&null!=e.aspectRatio&&t.push({type:"unsupported",feature:"aspectRatio",details:"xAI video extension does not support custom aspect ratio."}),a&&(n?.resolution!=null||null!=e.resolution)&&t.push({type:"unsupported",feature:"resolution",details:"xAI video extension does not support custom resolution."});let l={model:this.modelId,prompt:e.prompt},u=!i&&!a;if(i||null==e.duration||(l.duration=e.duration),i||a||null==e.aspectRatio||(l.aspect_ratio=e.aspectRatio),u&&n?.resolution!=null)l.resolution=n.resolution;else if(u&&null!=e.resolution){let n=ej[e.resolution];null!=n?l.resolution=n:t.push({type:"unsupported",feature:"resolution",details:`Unrecognized resolution "${e.resolution}". Use providerOptions.xai.resolution with "480p", "720p", or "1080p" instead.`})}if(null==e.generateAudio||i||a?null!=e.generateAudio&&t.push({type:"unsupported",feature:"generateAudio",details:`xAI ${i?"video editing":"video extension"} does not support generateAudio.`}):l.generate_audio=e.generateAudio,n?.storageOptions!=null){let{filename:e,expiresAfter:t,publicUrl:o}=n.storageOptions;l.storage_options={filename:e,...null!=t?{expires_after:t}:{},...null!=o?{public_url:"boolean"==typeof o?o:{...null!=o.expiresAfter?{expires_after:o.expiresAfter}:{}}}:{}}}n?.keyframes!=null&&n.keyframes.length>0&&("grok-imagine-video-1.5"!==this.modelId||i||a?t.push({type:"unsupported",feature:"keyframes",details:"grok-imagine-video-1.5"!==this.modelId?'xAI only supports keyframes with "grok-imagine-video-1.5".':`xAI ${i?"video editing":"video extension"} does not support keyframes.`}):l.keyframes=n.keyframes.map(e=>({image:{url:e.imageUrl},timestamp_s:e.timestampSeconds}))),i&&(l.video={url:n.videoUrl}),a&&(l.video={url:n.videoUrl});let c=eR(e)??e.image;if(null!=c)if(e$(c)){let n=null!=eR(e);t.push({type:"unsupported",feature:n?"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:eL(c)};let d=e.frameImages?.find(e=>"last_frame"===e.frameType)?.image;if(null!=d&&("grok-imagine-video-1.5"!==this.modelId||i||a||e$(d)?t.push({type:"unsupported",feature:"frameImages",details:"grok-imagine-video-1.5"!==this.modelId?'xAI only supports last_frame with "grok-imagine-video-1.5". The last frame was ignored.':"xAI only accepts an image last_frame for video generation. The last frame was ignored."}):l.last_frame={url:eL(d)}),s){let o,r=function(e,t,n){if(null!=e.inputReferences&&e.inputReferences.length>0){let t=[];for(let o of e.inputReferences)if(!eN(o)){if(!eM(o)){n.push({type:"unsupported",feature:"inputReferences",details:'xAI reference-to-video does not accept video references. The video reference was ignored. Use providerOptions.xai.mode "extend-video" to continue from a video.'});continue}t.push(o)}return t.length>0?t.map(e=>({url:eL(e)})):void 0}if(t?.referenceImageUrls!=null&&t.referenceImageUrls.length>0)return t.referenceImageUrls.map(e=>({url:e}))}(e,n,t),i=null!=(o=e.inputReferences?.filter(eN))&&o.length>0?o.map(e=>({url:eL(e)})):void 0;null!=r?l.reference_images=r:null==i&&t.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 a=[...i??[],...n?.referenceVoiceIds?.map(e=>({voice_id:e}))??[]];a.length>0&&(a.length>3&&t.push({type:"unsupported",feature:"inputReferences",details:"xAI reference-to-video supports at most 3 audio references. Only the first 3 were used."}),l.reference_audios=a.slice(0,3)),"1080p"===l.resolution&&(t.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&&t.push({type:"unsupported",feature:"resolution",details:'xAI model "grok-imagine-video" does not support 1080p. Use "grok-imagine-video-1.5" for 1080p, or a lower resolution. The request was sent with 1080p.'}),null!=e.inputReferences&&e.inputReferences.length>0&&!s&&t.push({type:"unsupported",feature:"inputReferences",details:eP(e)||eU(e)?"xAI only supports inputReferences for reference-to-video generation. The references were ignored.":"xAI reference-to-video requires at least one image or audio reference. The references were ignored."}),n?.referenceVoiceIds!=null&&n.referenceVoiceIds.length>0&&!s&&t.push({type:"unsupported",feature:"referenceVoiceIds",details:"xAI only supports reference voices for reference-to-video generation. The reference voices were ignored."}),a||n?.user===void 0||(l.user=n.user),null!=n)for(let[e,t]of Object.entries(n))["mode","pollIntervalMs","pollTimeoutMs","resolution","videoUrl","referenceImageUrls","referenceVoiceIds","keyframes","storageOptions","user"].includes(e)||(l[e]=t);return{body:l,warnings:t,xaiOptions:n,isEdit:i,isExtension:a,hasReferenceImages:s,effectiveMode:r}}async doStart(e){let n,r=this.config._internal?.currentDate?.()??new Date,{body:i,warnings:a,isEdit:s,isExtension:l}=await this.buildRequestBody(e),c=this.config.baseURL??"https://api.x.ai/v1";n=s?`${c}/videos/edits`:l?`${c}/videos/extensions`:`${c}/videos/generations`;let{value:d,responseHeaders:p}=await (0,o.postJsonToApi)({url:n,headers:(0,o.combineHeaders)(this.config.headers(),e.headers),body:i,failedResponseHandler:u,successfulResponseHandler:(0,o.createJsonResponseHandler)(eD),abortSignal:e.abortSignal,fetch:this.config.fetch}),h=d.request_id;if(!h)throw new t.AISDKError({name:"XAI_VIDEO_GENERATION_ERROR",message:"No request_id returned from xAI API."});return{operation:{requestId:h},warnings:a,response:{timestamp:r,modelId:this.modelId,headers:p}}}async doStatus(e){let t,n=this.config._internal?.currentDate?.()??new Date,{requestId:r}=e.operation,i=this.config.baseURL??"https://api.x.ai/v1",{value:a,responseHeaders:s}=await (0,o.getFromApi)({url:`${i}/videos/${"."===(t=encodeURIComponent(r))?"%252E":".."===t?"%252E%252E":t}`,validateUrl:!1,headers:(0,o.combineHeaders)(this.config.headers(),e.headers),successfulResponseHandler:eK,failedResponseHandler:u,abortSignal:e.abortSignal,fetch:this.config.fetch});if("expired"===a.status)return{status:"error",error:"Video generation request expired.",response:{timestamp:n,modelId:this.modelId,headers:s}};if("failed"===a.status){let e=a.error?.message??a.error?.code;return{status:"error",error:null!=e?`Video generation failed: ${e}`:"Video generation failed.",response:{timestamp:n,modelId:this.modelId,headers:s}}}if("done"===a.status||null==a.status&&a.video?.url){let e=a.video;if(e?.respect_moderation===!1)return{status:"error",error:"Video generation was blocked due to a content policy violation.",response:{timestamp:n,modelId:this.modelId,headers:s}};let t=e?.url??e?.file_output?.public_url??void 0;return t?{status:"completed",videos:[{type:"url",url:t,mediaType:"video/mp4"}],warnings:[],response:{timestamp:n,modelId:this.modelId,headers:s},providerMetadata:{xai:{requestId:r,videoUrl:t,...e?.duration!=null?{duration:e.duration}:{},...a.usage?.cost_in_usd_ticks!=null?{costInUsdTicks:a.usage.cost_in_usd_ticks}:{},...null!=a.progress?{progress:a.progress}:{},...e?.file_output!=null?{fileOutput:{fileId:e.file_output.file_id,filename:e.file_output.filename,...null!=e.file_output.expires_at?{expiresAt:e.file_output.expires_at}:{},...null!=e.file_output.public_url?{publicUrl:e.file_output.public_url}:{},...null!=e.file_output.public_url_error?{publicUrlError:e.file_output.public_url_error}:{},...null!=e.file_output.public_url_expires_at?{publicUrlExpiresAt:e.file_output.public_url_expires_at}:{}}}:{},...e?.storage_error!=null?{storageError:e.storage_error}:{}}}}:{status:"error",error:"Video generation completed but no video URL was returned.",response:{timestamp:n,modelId:this.modelId,headers:s}}}return{status:"pending",response:{timestamp:n,modelId:this.modelId,headers:s}}}};let eD=r.z.object({request_id:r.z.string().nullish()}),eF=r.z.object({status:r.z.string().nullish(),video:r.z.object({url:r.z.string().nullish(),duration:r.z.number().nullish(),respect_moderation:r.z.boolean().nullish(),file_output:r.z.object({file_id:r.z.string(),filename:r.z.string(),expires_at:r.z.number().nullish(),public_url:r.z.string().nullish(),public_url_error:r.z.string().nullish(),public_url_expires_at:r.z.number().nullish()}).nullish(),storage_error:r.z.string().nullish()}).nullish(),model:r.z.string().nullish(),usage:r.z.object({cost_in_usd_ticks:r.z.number().nullish()}).nullish(),progress:r.z.number().nullish(),error:r.z.object({code:r.z.string().nullish(),message:r.z.string().nullish()}).nullish()}),eH=(0,o.createJsonResponseHandler)(eF),eB=new TextDecoder;async function eW({response:e,url:n,requestBodyValues:r}){if(null==e.body)return"";let i=e.body.getReader(),a=[],s=0;try{for(;;){let{done:l,value:u}=await i.read();if(l)break;if((s+=u.length)>1048576)throw new t.APICallError({message:"xAI video status response exceeded 1048576 bytes",url:n,requestBodyValues:r,statusCode:e.status,responseHeaders:(0,o.extractResponseHeaders)(e)});a.push(u)}}finally{i.releaseLock()}let l=new Uint8Array(s),u=0;for(let e of a)l.set(e,u),u+=e.length;return eB.decode(l)}let eK=async e=>{if(202===e.response.status){let t=(0,o.extractResponseHeaders)(e.response),n=await eW(e);if(0===n.trim().length)return{responseHeaders:t,value:{status:"pending"}};let r=await (0,o.safeParseJSON)({text:n,schema:eF});return{responseHeaders:t,value:r.success?r.value:{status:"pending"}}}return eH(e)},eV=(0,o.lazySchema)(()=>(0,o.zodSchema)(r.z.object({sampleRate:r.z.union([r.z.literal(8e3),r.z.literal(16e3),r.z.literal(22050),r.z.literal(24e3),r.z.literal(44100),r.z.literal(48e3)]).nullish(),bitRate:r.z.union([r.z.literal(32e3),r.z.literal(64e3),r.z.literal(96e3),r.z.literal(128e3),r.z.literal(192e3)]).nullish(),optimizeStreamingLatency:r.z.union([r.z.literal(0),r.z.literal(1),r.z.literal(2)]).nullish(),textNormalization:r.z.boolean().nullish(),withTimestamps:r.z.boolean().nullish(),replace:r.z.record(r.z.string(),r.z.string()).nullish()})));var eJ=class e{static[n.WORKFLOW_SERIALIZE](e){return(0,o.serializeModelOptions)({modelId:e.modelId,config:e.config})}static[n.WORKFLOW_DESERIALIZE](t){return new e(t.modelId,t.config)}get provider(){return this.config.provider}constructor(e,t){this.modelId=e,this.config=t,this.specificationVersion="v4"}async getArgs({text:e,voice:t="eve",outputFormat:n="mp3",instructions:r,speed:i,language:a="auto",providerOptions:s}){let l=[],u=await (0,o.parseProviderOptions)({provider:"xai",providerOptions:s,schema:eV}),c="mp3";["mp3","wav","pcm","mulaw","alaw"].includes(n)?c=n:l.push({type:"unsupported",feature:"outputFormat",details:`Unsupported output format: ${n}. Using mp3 instead.`}),null!=r&&l.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 d={codec:c};return u?.sampleRate!=null&&(d.sample_rate=u.sampleRate),u?.bitRate!=null&&("mp3"===c?d.bit_rate=u.bitRate:l.push({type:"unsupported",feature:"providerOptions",details:"xAI `bitRate` is supported only for mp3 output. It was ignored."})),{requestBody:{text:e,voice_id:t,language:a,output_format:d,speed:i,optimize_streaming_latency:u?.optimizeStreamingLatency,text_normalization:u?.textNormalization,with_timestamps:u?.withTimestamps,replace:u?.replace},warnings:l,withTimestamps:u?.withTimestamps===!0}}async doGenerate(e){let t,n,r=this.config._internal?.currentDate?.()??new Date,{requestBody:i,warnings:a,withTimestamps:s}=await this.getArgs(e),{value:l,responseHeaders:c,rawValue:d}=await (0,o.postJsonToApi)({url:`${this.config.baseURL}/tts`,headers:(0,o.combineHeaders)(this.config.headers?await (0,o.resolve)(this.config.headers):void 0,e.headers),body:i,failedResponseHandler:u,successfulResponseHandler:s?(0,o.createJsonResponseHandler)(eG):(0,o.createBinaryResponseHandler)(),abortSignal:e.abortSignal,fetch:this.config.fetch});t=l instanceof Uint8Array?l:null!=(n=l).audio?(0,o.convertBase64ToUint8Array)(n.audio):new Uint8Array(0);let p=c?.["x-trace-id"];return{audio:t,warnings:a,request:{body:JSON.stringify(i)},response:{timestamp:r,modelId:this.modelId,headers:c,body:d},providerMetadata:{xai:{...null!=p?{traceId:p}:{},...n?.duration!=null?{duration:n.duration}:{},...n?.content_type!=null?{contentType:n.content_type}:{},...n?.audio_timestamps!=null?{audioTimestamps:{graphChars:n.audio_timestamps.graph_chars,graphTimes:n.audio_timestamps.graph_times}}:{}}}}}};let eG=r.z.object({audio:r.z.string().nullish(),content_type:r.z.string().nullish(),duration:r.z.number().nullish(),audio_timestamps:r.z.object({graph_chars:r.z.array(r.z.string()),graph_times:r.z.array(r.z.tuple([r.z.number(),r.z.number()]))}).nullish()}),eY=(0,o.lazySchema)(()=>(0,o.zodSchema)(r.z.object({audioFormat:r.z.enum(["pcm","mulaw","alaw"]).nullish(),sampleRate:r.z.union([r.z.literal(8e3),r.z.literal(16e3),r.z.literal(22050),r.z.literal(24e3),r.z.literal(44100),r.z.literal(48e3)]).nullish(),language:r.z.string().nullish(),format:r.z.boolean().nullish(),multichannel:r.z.boolean().nullish(),channels:r.z.number().int().min(2).max(8).nullish(),diarize:r.z.boolean().nullish(),keyterm:r.z.union([r.z.string(),r.z.array(r.z.string())]).nullish(),fillerWords:r.z.boolean().nullish(),streaming:r.z.object({interimResults:r.z.boolean().optional(),endpointing:r.z.number().int().min(0).max(5e3).optional(),smartTurn:r.z.number().min(0).max(1).optional(),smartTurnTimeout:r.z.number().int().min(1).max(5e3).optional()}).optional()})));var eZ=class e{static[n.WORKFLOW_SERIALIZE](e){return(0,o.serializeModelOptions)({modelId:e.modelId,config:e.config})}static[n.WORKFLOW_DESERIALIZE](t){return new e(t.modelId,t.config)}get provider(){return this.config.provider}constructor(e,t){this.modelId=e,this.config=t,this.specificationVersion="v4"}async getArgs({audio:e,mediaType:t,providerOptions:n}){let r=await (0,o.parseProviderOptions)({provider:"xai",providerOptions:n,schema:eY}),i=new FormData;for(let[e,t]of Object.entries({audio_format:r?.audioFormat,sample_rate:r?.sampleRate,language:r?.language,format:r?.format,multichannel:r?.multichannel,channels:r?.channels,diarize:r?.diarize,filler_words:r?.fillerWords}))null!=t&&i.append(e,String(t));if(r?.keyterm!=null)for(let e of Array.isArray(r.keyterm)?r.keyterm:[r.keyterm])i.append("keyterm",e);let a=e instanceof Uint8Array?new Blob([e]):new Blob([(0,o.convertBase64ToUint8Array)(e)]),s=(0,o.mediaTypeToExtension)(t);return i.append("file",new File([a],"audio",{type:t}),`audio.${s}`),{formData:i,warnings:[]}}async doGenerate(e){let t=this.config._internal?.currentDate?.()??new Date,{formData:n,warnings:r}=await this.getArgs(e),{value:i,responseHeaders:a,rawValue:s}=await (0,o.postFormDataToApi)({url:`${this.config.baseURL??"https://api.x.ai/v1"}/stt`,headers:(0,o.combineHeaders)(this.config.headers?.(),e.headers),formData:n,failedResponseHandler:u,successfulResponseHandler:(0,o.createJsonResponseHandler)(eQ),abortSignal:e.abortSignal,fetch:this.config.fetch});return{text:i.text,segments:i.words?.map(e=>({text:e.text,startSecond:e.start,endSecond:e.end}))??[],language:i.language||void 0,durationInSeconds:i.duration??void 0,warnings:r,response:{timestamp:t,modelId:this.modelId,headers:a,body:s}}}async doStream(e){var n;let r=this.config._internal?.currentDate?.()??new Date,i=[],a=await (0,o.parseProviderOptions)({provider:"xai",providerOptions:e.providerOptions,schema:eY});if(a?.multichannel===!0&&null==a.channels)throw new t.InvalidArgumentError({argument:"providerOptions",message:"providerOptions.xai.channels is required when providerOptions.xai.multichannel is true"});a?.format!=null&&i.push({type:"unsupported",feature:"providerOptions.xai.format",details:"xAI streaming transcription does not support format."}),a?.audioFormat==null&&"audio/pcm"!==(n=e.inputAudioFormat.type)&&"audio/pcmu"!==n&&"audio/pcma"!==n&&i.push({type:"other",message:`Unrecognized inputAudioFormat.type "${e.inputAudioFormat.type}"; falling back to raw PCM encoding. Use audio/pcm, audio/pcmu, or audio/pcma, or set providerOptions.xai.audioFormat explicitly.`});let s=function({baseURL:e,inputAudioFormat:t,providerOptions:n}){let r=(0,o.toWebSocketUrl)(`${e}/stt`);if(eX(r,"sample_rate",n?.sampleRate??t.rate),eX(r,"encoding",n?.audioFormat??function(e){switch(e){case"audio/pcmu":return"mulaw";case"audio/pcma":return"alaw";default:return"pcm"}}(t.type)),eX(r,"language",n?.language),eX(r,"diarize",n?.diarize),eX(r,"filler_words",n?.fillerWords),eX(r,"multichannel",n?.multichannel),eX(r,"channels",n?.channels),eX(r,"interim_results",n?.streaming?.interimResults),eX(r,"endpointing",n?.streaming?.endpointing),eX(r,"smart_turn",n?.streaming?.smartTurn),eX(r,"smart_turn_timeout",n?.streaming?.smartTurnTimeout),n?.keyterm!=null)for(let e of Array.isArray(n.keyterm)?n.keyterm:[n.keyterm])r.searchParams.append("keyterm",e);return r}({baseURL:this.config.baseURL??"https://api.x.ai/v1",inputAudioFormat:e.inputAudioFormat,providerOptions:a}),l=(0,o.combineHeaders)(this.config.headers?.(),e.headers);return{request:{body:s.toString()},response:{timestamp:r,modelId:this.modelId},stream:function({webSocket:e,url:t,headers:n,warnings:r,language:i,expectedDoneCount:a,audio:s,abortSignal:l,includeRawChunks:u}){let c=!1,d=()=>{};return new ReadableStream({start:p=>{let h,m,g,f=new Map,y=new Map,b=new Map;d=e=>{null!=m?m.cancel().catch(()=>{}):s.cancel().catch(()=>{}),g?.close(e)};let _=e=>{c||(c=!0,d(),p.error(e))},w=async e=>{m=s.getReader();try{for(;;){let{done:t,value:n}=await m.read();if(t||c)break;e.send(n instanceof Uint8Array?n:(0,o.convertBase64ToUint8Array)(n)),await (0,o.waitForWebSocketBufferDrain)(e)}}finally{m.releaseLock(),m=void 0}c||e.send(JSON.stringify({type:"audio.done"}))};g=(0,o.connectToWebSocket)({url:t,headers:n,webSocket:e,abortSignal:l,onAbort:_,onProcessingError:_,onMessageText:async e=>{let t=await (0,o.safeParseJSON)({text:e});if(!t.success)return;let n=t.value;switch(u&&p.enqueue({type:"raw",rawValue:n}),n.type){case"transcript.created":{p.enqueue({type:"stream-start",warnings:r});let e=g?.socket;if(null==e){_(Error("WebSocket is not connected."));break}w(e).catch(_);break}case"transcript.partial":{var s,l;let e=null==(s=n.channel_index)?void 0:`channel-${s}`,t=n.channel_index??0;if(n.is_final&&n.speech_final){let o={...null!=(l=n).start?{startSecond:l.start}:{},...null!=l.start&&null!=l.duration?{endSecond:l.start+l.duration}:{}};n.text&&y.set(t,[...y.get(t)??[],n.text]),b.delete(t),p.enqueue({type:"transcript-final",id:e,text:n.text??"",...o,channelIndex:n.channel_index})}else b.set(t,n.text??""),p.enqueue({type:"transcript-partial",id:e,text:n.text??"",startSecond:n.start,durationInSeconds:n.duration,channelIndex:n.channel_index});break}case"transcript.done":{let e=n.channel_index??0,t=[...y.get(e)??[],...b.get(e)?[b.get(e)]:[]].join(" ");f.set(e,n.text||t),h=n.duration??h,(()=>{if(c||f.size<a)return;c=!0;let e=[...f.entries()].sort(([e],[t])=>e-t).map(([,e])=>e).join("\n");p.enqueue({type:"finish",text:e,segments:[],language:i,durationInSeconds:h}),p.close(),d(1e3)})();break}case"error":_(Error(n.message??"xAI STT error"))}},onSocketError:()=>{_(Error("xAI streaming transcription error."+(null==e?" Note: the native WebSocket implementation in browsers, Node.js, Deno, and Bun cannot send the Authorization header required by xAI. Pass a header-capable WebSocket implementation (e.g. the 'ws' package) via createXai({ webSocket }).":"")))},onClose:()=>{c||(c=!0,d(),p.close())}})},cancel:()=>{c||(c=!0,d())}})}({webSocket:this.config.webSocket,url:s,headers:l,warnings:i,language:a?.language??void 0,expectedDoneCount:a?.multichannel===!0?a.channels:1,audio:e.audio,abortSignal:e.abortSignal,includeRawChunks:e.includeRawChunks})}}};function eX(e,t,n){null!=n&&e.searchParams.set(t,String(n))}let eQ=r.z.object({text:r.z.string(),language:r.z.string().nullish(),duration:r.z.number().nullish(),words:r.z.array(r.z.object({text:r.z.string(),start:r.z.number(),end:r.z.number()})).nullish()});function e0(e={}){let n=(0,o.withoutTrailingSlash)(e.baseURL??"https://api.x.ai/v1"),r=()=>(0,o.withUserAgentSuffix)({Authorization:`Bearer ${(0,o.loadApiKey)({apiKey:e.apiKey,environmentVariableName:"XAI_API_KEY",description:"xAI API key"})}`,...e.headers},"ai-sdk-xai/5.0.13"),i=t=>new X(t,{provider:"xai.responses",baseURL:n,headers:r,generateId:o.generateId,fetch:e.fetch}),a=t=>new d(t,{provider:"xai.image",baseURL:n,headers:r,fetch:e.fetch}),s=t=>new eq(t,{provider:"xai.video",baseURL:n,headers:r,fetch:e.fetch}),l=t=>new eh(t,{provider:"xai.realtime",baseURL:n??"https://api.x.ai/v1",headers:r,fetch:e.fetch}),u=()=>new eJ("",{provider:"xai.speech",baseURL:n,headers:r,fetch:e.fetch}),c=()=>new eZ("",{provider:"xai.transcription",baseURL:n,headers:r,fetch:e.fetch,webSocket:e.webSocket}),p=Object.assign(e=>l(e),{getToken:async e=>{let t=await l(e.model).doCreateClientSecret({sessionConfig:e.sessionConfig,expiresAfterSeconds:e.expiresAfterSeconds});return{token:t.token,url:t.url,expiresAt:t.expiresAt}}}),h=e=>i(e);return h.specificationVersion="v4",h.languageModel=i,h.responses=i,h.embeddingModel=e=>{throw new t.NoSuchModelError({modelId:e,modelType:"embeddingModel"})},h.textEmbeddingModel=h.embeddingModel,h.imageModel=a,h.image=a,h.videoModel=s,h.video=s,h.experimental_realtime=p,h.speechModel=u,h.speech=u,h.transcriptionModel=c,h.transcription=c,h.files=()=>new ek({provider:"xai.files",baseURL:n,headers:r,fetch:e.fetch}),h.experimental_batch=()=>new eu({provider:"xai.batch",config:{provider:"xai.responses",baseURL:n,headers:r,generateId:o.generateId,fetch:e.fetch}}),h.tools=ew,h}e0(),e.s(["createXai",0,e0])},800405,e=>{"use strict";var t,n,o,r,i,a,s,l,u,c,d,p,h,m,g,f,y,b,_,w,z,v,k,x,S,T,I,O,E,C=e.i(59994),A=e.i(404482),j=e.i(853205),R=Object.defineProperty,$=Object.defineProperties,M=Object.getOwnPropertyDescriptors,N=Object.getOwnPropertySymbols,L=Object.prototype.hasOwnProperty,P=Object.prototype.propertyIsEnumerable,U=e=>{throw TypeError(e)},q=(e,t,n)=>t in e?R(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,D=(e,t)=>{for(var n in t||(t={}))L.call(t,n)&&q(e,n,t[n]);if(N)for(var n of N(t))P.call(t,n)&&q(e,n,t[n]);return e},F=(e,t)=>$(e,M(t)),H=(e,t)=>{var n={};for(var o in e)L.call(e,o)&&0>t.indexOf(o)&&(n[o]=e[o]);if(null!=e&&N)for(var o of N(e))0>t.indexOf(o)&&P.call(e,o)&&(n[o]=e[o]);return n},B=(e,t,n)=>(t.has(e)||U("Cannot read from private field"),n?n.call(e):t.get(e)),W="vercel.ai.error",K=Symbol.for(W),V=class e extends(o=Error,n=K,o){constructor({name:e,message:t,cause:o}){super(t),this[n]=!0,this.name=e,this.cause=o}static isInstance(t){return e.hasMarker(t,W)}static hasMarker(e,t){let n=Symbol.for(t);return null!=e&&"object"==typeof e&&n in e&&"boolean"==typeof e[n]&&!0===e[n]}},J="AI_APICallError",G=`vercel.ai.error.${J}`,Y=Symbol.for(G),Z=class extends(i=V,r=Y,i){constructor({message:e,url:t,requestBodyValues:n,statusCode:o,responseHeaders:i,responseBody:a,cause:s,isRetryable:l=null!=o&&(408===o||409===o||429===o||o>=500),data:u}){super({name:J,message:e,cause:s}),this[r]=!0,this.url=t,this.requestBodyValues=n,this.statusCode=o,this.responseHeaders=i,this.responseBody=a,this.isRetryable=l,this.data=u}static isInstance(e){return V.hasMarker(e,G)}},X="AI_EmptyResponseBodyError",Q=`vercel.ai.error.${X}`,ee=Symbol.for(Q),et=class extends(s=V,a=ee,s){constructor({message:e="Empty response body"}={}){super({name:X,message:e}),this[a]=!0}static isInstance(e){return V.hasMarker(e,Q)}},en=Symbol.for("vercel.ai.error.AI_EvaluationUnsupportedQuestionTypeError");function eo(e){return null==e?"unknown error":"string"==typeof e?e:e instanceof Error?e.toString():JSON.stringify(e)}var er="AI_InvalidArgumentError",ei=`vercel.ai.error.${er}`,ea=Symbol.for(ei),es=class extends(u=V,l=ea,u){constructor({message:e,cause:t,argument:n}){super({name:er,message:e,cause:t}),this[l]=!0,this.argument=n}static isInstance(e){return V.hasMarker(e,ei)}},el="AI_InvalidPromptError",eu=`vercel.ai.error.${el}`,ec=Symbol.for(eu),ed=class extends(d=V,c=ec,d){constructor({prompt:e,message:t,cause:n}){super({name:el,message:`Invalid prompt: ${t}`,cause:n}),this[c]=!0,this.prompt=e}static isInstance(e){return V.hasMarker(e,eu)}},ep="AI_InvalidResponseDataError",eh=`vercel.ai.error.${ep}`,em=Symbol.for(eh),eg=class extends(h=V,p=em,h){constructor({data:e,message:t=`Invalid response data: ${JSON.stringify(e)}.`}){super({name:ep,message:t}),this[p]=!0,this.data=e}static isInstance(e){return V.hasMarker(e,eh)}},ef="AI_JSONParseError",ey=`vercel.ai.error.${ef}`,eb=Symbol.for(ey),e_=class extends(g=V,m=eb,g){constructor({text:e,cause:t}){super({name:ef,message:`JSON parsing failed: Text: ${e}.
|
|
169
|
+
Error message: ${eo(t)}`,cause:t}),this[m]=!0,this.text=e}static isInstance(e){return V.hasMarker(e,ey)}},ew="AI_LoadAPIKeyError",ez=`vercel.ai.error.${ew}`,ev=Symbol.for(ez),ek=class extends(y=V,f=ev,y){constructor({message:e}){super({name:ew,message:e}),this[f]=!0}static isInstance(e){return V.hasMarker(e,ez)}},ex="AI_LoadSettingError",eS=`vercel.ai.error.${ex}`,eT=Symbol.for(eS),eI=class extends(_=V,b=eT,_){constructor({message:e}){super({name:ex,message:e}),this[b]=!0}static isInstance(e){return V.hasMarker(e,eS)}},eO="AI_NoContentGeneratedError",eE=`vercel.ai.error.${eO}`,eC=Symbol.for(eE),eA=class extends(z=V,w=eC,z){constructor({message:e="No content generated."}={}){super({name:eO,message:e}),this[w]=!0}static isInstance(e){return V.hasMarker(e,eE)}},ej=Symbol.for("vercel.ai.error.AI_NoSuchModelError");Symbol.for("vercel.ai.error.AI_NoSuchProviderReferenceError");Symbol.for("vercel.ai.error.AI_TooManyEmbeddingValuesForCallError");var eR="AI_TypeValidationError",e$=`vercel.ai.error.${eR}`,eM=Symbol.for(e$),eN=class e extends(k=V,v=eM,k){constructor({value:e,cause:t,context:n}){let o="Type validation failed";if((null==n?void 0:n.field)&&(o+=` for ${n.field}`),(null==n?void 0:n.entityName)||(null==n?void 0:n.entityId)){o+=" (";const e=[];n.entityName&&e.push(n.entityName),n.entityId&&e.push(`id: "${n.entityId}"`),o+=e.join(", "),o+=")"}super({name:eR,message:`${o}: Value: ${JSON.stringify(e)}.
|
|
170
170
|
Error message: ${eo(t)}`,cause:t}),this[v]=!0,this.value=e,this.context=n}static isInstance(e){return V.hasMarker(e,e$)}static wrap({value:t,cause:n,context:o}){var r,i,a;return e.isInstance(n)&&n.value===t&&(null==(r=n.context)?void 0:r.field)===(null==o?void 0:o.field)&&(null==(i=n.context)?void 0:i.entityName)===(null==o?void 0:o.entityName)&&(null==(a=n.context)?void 0:a.entityId)===(null==o?void 0:o.entityId)?n:new e({value:t,cause:n,context:o})}},eL="AI_UnsupportedFunctionalityError",eP=`vercel.ai.error.${eL}`,eU=Symbol.for(eP),eq=class extends(S=V,x=eU,S){constructor({functionality:e,message:t=`'${e}' functionality not supported.`}){super({name:eL,message:t}),this[x]=!0,this.functionality=e}static isInstance(e){return V.hasMarker(e,eP)}},eD=class extends Error{constructor(e,t){super(e),this.name="ParseError",this.type=t.type,this.field=t.field,this.value=t.value,this.line=t.line}};function eF(e){}function eH(e,t,n){return 100===n&&97===e.charCodeAt(t+1)&&116===e.charCodeAt(t+2)&&97===e.charCodeAt(t+3)&&58===e.charCodeAt(t+4)}function eB(e,t,n){return 101===n&&118===e.charCodeAt(t+1)&&101===e.charCodeAt(t+2)&&110===e.charCodeAt(t+3)&&116===e.charCodeAt(t+4)&&58===e.charCodeAt(t+5)}var eW=class extends TransformStream{constructor({onError:e,onRetry:t,onComment:n,maxBufferSize:o}={}){let r;super({start(i){r=function(e){if("function"==typeof e)throw TypeError("`config` must be an object, got a function instead. Did you mean `createParser({onEvent: fn})`?");let{onEvent:t=eF,onError:n=eF,onRetry:o=eF,onComment:r,maxBufferSize:i}=e,a=[],s=0,l=!0,u,c="",d=0,p,h=!1;function m(){void 0!==i&&(s+c.length<=i||(h=!0,a.length=0,s=0,u=void 0,c="",d=0,p=void 0,n(new eD(`Buffered data exceeded max buffer size of ${i} characters`,{type:"max-buffer-size-exceeded"}))))}function g(e){let n=0;if(-1===e.indexOf("\r")){let o=e.indexOf(`
|
|
171
171
|
`,n);for(;-1!==o;){if(n===o){d>0&&t({id:u,event:p,data:c}),u=void 0,c="",d=0,p=void 0,n=o+1,o=e.indexOf(`
|
|
172
172
|
`,n);continue}let r=e.charCodeAt(n);if(eH(e,n,r)){let r=32===e.charCodeAt(n+5)?n+6:n+5,i=e.slice(r,o);if(0===d&&10===e.charCodeAt(o+1)){t({id:u,event:p,data:i}),u=void 0,c="",p=void 0,n=o+2,o=e.indexOf(`
|
|
@@ -176,11 +176,11 @@ ${i}`,d++}else eB(e,n,r)?p=e.slice(32===e.charCodeAt(n+6)?n+7:n+6,o)||void 0:f(e
|
|
|
176
176
|
`,n),r=-1;if(-1!==t&&-1!==o?r=t<o?t:o:-1!==t?r=t===e.length-1?-1:t:-1!==o&&(r=o),-1===r)break;f(e,n,r),n=r+1,13===e.charCodeAt(n-1)&&10===e.charCodeAt(n)&&n++}return e.slice(n)}function f(e,n,o){if(n===o)return void(d>0&&t({id:u,event:p,data:c}),u=void 0,c="",d=0,p=void 0);let i=e.charCodeAt(n);if(eH(e,n,i)){let t=32===e.charCodeAt(n+5)?n+6:n+5,r=e.slice(t,o);c=0===d?r:`${c}
|
|
177
177
|
${r}`,d++;return}if(eB(e,n,i)){p=e.slice(32===e.charCodeAt(n+6)?n+7:n+6,o)||void 0;return}if(105===i&&100===e.charCodeAt(n+1)&&58===e.charCodeAt(n+2)){let t=e.slice(32===e.charCodeAt(n+3)?n+4:n+3,o);u=t.includes("\0")?void 0:t;return}if(58===i){r&&r(e.slice(n,o).slice(32===e.charCodeAt(n+1)?2:1));return}let a=e.slice(n,o),s=a.indexOf(":");if(-1===s)return void y(a,"",a);let l=a.slice(0,s),h=32===a.charCodeAt(s+1)?2:1;y(l,a.slice(s+h),a)}function y(e,t,r){switch(e){case"event":p=t||void 0;break;case"data":c=0===d?t:`${c}
|
|
178
178
|
${t}`,d++;break;case"id":u=t.includes("\0")?void 0:t;break;case"retry":/^\d+$/.test(t)?o(parseInt(t,10)):n(new eD(`Invalid \`retry\` value: "${t}"`,{type:"invalid-retry",value:t,line:r}));break;default:n(new eD(`Unknown field "${e.length>20?`${e.slice(0,20)}\u2026`:e}"`,{type:"unknown-field",field:e,value:t,line:r}))}}return{feed:function(e){if(h)throw Error("Cannot feed parser: it was terminated after exceeding the configured max buffer size. Call `reset()` to resume parsing.");if(l&&(l=!1,239===e.charCodeAt(0)&&187===e.charCodeAt(1)&&191===e.charCodeAt(2)&&(e=e.slice(3))),0===a.length){let t=g(e);""!==t&&(a.push(t),s=t.length),m();return}if(-1===e.indexOf(`
|
|
179
|
-
`)&&-1===e.indexOf("\r")){a.push(e),s+=e.length,m();return}a.push(e);let t=a.join("");a.length=0,s=0;let n=g(t);""!==n&&(a.push(n),s=n.length),m()},reset:function(e={}){if(e.consume&&a.length>0){let e=a.join("");f(e,0,e.length)}l=!0,u=void 0,c="",d=0,p=void 0,a.length=0,s=0,h=!1}}}({onEvent:e=>{i.enqueue(e)},onError(t){"function"==typeof e&&e(t),("terminate"===e||"max-buffer-size-exceeded"===t.type)&&i.error(t)},onRetry:t,onComment:n,maxBufferSize:o})},transform(e){r.feed(e)}})}};function eK(...e){return e.reduce((e,t)=>D(D({},e),null!=t?t:{}),{})}async function eV(e,t){if(null==e)return Promise.resolve();let n=null==t?void 0:t.abortSignal;return new Promise((t,o)=>{if(null==n?void 0:n.aborted)return void o(eJ());let r=setTimeout(()=>{i(),t()},e),i=()=>{clearTimeout(r),null==n||n.removeEventListener("abort",a)},a=()=>{i(),o(eJ())};null==n||n.addEventListener("abort",a)})}function eJ(){return new DOMException("Delay was aborted","AbortError")}Symbol.for("workflow-serialize"),Symbol.for("workflow-deserialize"),new TextDecoder;var{btoa:eG,atob:eY}=globalThis;function eZ(e){return Object.fromEntries([...e.headers])}function eX(e=globalThis){var t,n,o;return e.window?"runtime/browser":(null==(t=e.navigator)?void 0:t.userAgent)?`runtime/${e.navigator.userAgent.toLowerCase()}`:(null==(o=null==(n=e.process)?void 0:n.versions)?void 0:o.node)?`runtime/node.js/${e.process.version.substring(0)}`:e.EdgeRuntime?"runtime/vercel-edge":"runtime/unknown"}function eQ(e){return(e instanceof Error||"function"==typeof DOMException&&e instanceof DOMException)&&("AbortError"===e.name||"ResponseAborted"===e.name||"TimeoutError"===e.name)}var e0=["fetch failed","failed to fetch"],e1=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 e2({error:e,url:t,requestBodyValues:n}){if(eQ(e))return e;if(e instanceof TypeError&&e0.includes(e.message.toLowerCase())){let o=e.cause;if(null!=o)return new Z({message:`Cannot connect to API: ${o.message}`,cause:o,url:t,requestBodyValues:n,isRetryable:!0})}let o=function(e){let t=new Set,n=e;for(;n instanceof Error&&!t.has(n);){t.add(n);let e=n;if("string"==typeof e.code&&e1.has(e.code))return e;n=n.cause}}(e);return null!=o?new Z(Z.isInstance(e)?{message:e.message,cause:e.cause,url:e.url,requestBodyValues:e.requestBodyValues,statusCode:e.statusCode,responseHeaders:e.responseHeaders,responseBody:e.responseBody,data:e.data,isRetryable:!0}:{message:`Cannot connect to API: ${e instanceof Error?e.message:o.message}`,cause:e,url:t,requestBodyValues:n,isRetryable:!0}):e}var e4="5.0.42";function e3(e,...t){let n=new Headers(function(e){if(null==e)return{};let t={};if(e instanceof Headers)e.forEach((e,n)=>{t[n.toLowerCase()]=e});else for(let[n,o]of(Array.isArray(e)||(e=Object.entries(e)),e))null!=o&&(t[n.toLowerCase()]=o);return t}(e)),o=n.get("user-agent")||"";return n.set("user-agent",[o,...t].filter(Boolean).join(" ")),Object.fromEntries(n.entries())}async function e5(e){var t;try{await (null==(t=e.body)?void 0:t.cancel())}catch(e){}}var e6="AI_DownloadError",e9=`vercel.ai.error.${e6}`,e8=Symbol.for(e9),e7=class extends(I=V,T=e8,I){constructor({url:e,statusCode:t,statusText:n,cause:o,message:r=null==o?`Failed to download ${e}: ${t} ${n}`:`Failed to download ${e}: ${o}`}){super({name:e6,message:r,cause:o}),this[T]=!0,this.url=e,this.statusCode=t,this.statusText=n}static isInstance(e){return V.hasMarker(e,e9)}};function te(e,t){try{return new URL(e).origin===new URL(t).origin}catch(e){return!1}}function tt(e){let t=e.split(".");return 4===t.length&&t.every(e=>{let t=Number(e);return Number.isInteger(t)&&t>=0&&t<=255&&String(t)===e})}function tn(e){let[t,n,o]=e.split(".").map(Number);return 0===t||10===t||100===t&&n>=64&&n<=127||127===t||169===t&&254===n||172===t&&n>=16&&n<=31||192===t&&0===n&&0===o||192===t&&0===n&&2===o||192===t&&168===n||198===t&&(18===n||19===n)||198===t&&51===n&&100===o||203===t&&0===n&&113===o||t>=224||!1}function to(e){let t=function(e){let t=e.toLowerCase(),n=t.indexOf("%");-1!==n&&(t=t.slice(0,n));let o=t.split("::");if(o.length>2)return null;let r=e=>{if(""===e)return[];let t=[],n=e.split(":");for(let e=0;e<n.length;e++){let o=n[e];if(o.includes(".")){if(e!==n.length-1||!tt(o))return null;let[r,i,a,s]=o.split(".").map(Number);t.push(r<<8|i,a<<8|s);continue}if(!/^[0-9a-f]{1,4}$/.test(o))return null;t.push(parseInt(o,16))}return t},i=r(o[0]);if(null===i)return null;if(2===o.length){let e=r(o[1]);if(null===e)return null;let t=8-i.length-e.length;return t<0?null:[...i,...Array(t).fill(0),...e]}return 8===i.length?i:null}(e);if(null===t)return!0;let n=e=>t.slice(0,e).every(e=>0===e);if(n(7)&&(0===t[7]||1===t[7])||(65024&t[0])==64512||(65472&t[0])==65152||(65472&t[0])==65216||(65280&t[0])==65280||8193===t[0]&&3512===t[1]||16383===t[0]&&(61440&t[1])==0)return!0;if(n(6)||n(5)&&65535===t[5]||n(4)&&65535===t[4]&&0===t[5]||100===t[0]&&65435===t[1]&&0===t[2]&&0===t[3]&&0===t[4]&&0===t[5]||100===t[0]&&65435===t[1]&&1===t[2]){let e=t[6]>>8&255,n=255&t[6],o=t[7]>>8&255,r=255&t[7];return tn(`${e}.${n}.${o}.${r}`)}return!1}async function tr(){var e,t,n;let o;return(null==(e=null==(o=globalThis.process)?void 0:o.release)?void 0:e.name)!=="node"||(null==(t=o.versions)?void 0:t.bun)!=null||(null==(n=o.versions)?void 0:n.deno)!=null||"workerd"===o.title||null!=globalThis.EdgeRuntime?globalThis.fetch:null!=O?O:O=Promise.resolve().then(ti)}function ti(){let{createRequire:e}=ta("node:module"),{lookup:t}=ta("node:dns"),{Agent:n,fetch:o}=e(function e(){let t=Error.prepareStackTrace;try{Error.prepareStackTrace=(e,t)=>t;let t=Error("Capture current module path");Error.captureStackTrace(t,e);let[n]=t.stack,o=null==n?void 0:n.getFileName();if(null==o)throw Error("Unable to determine the current module path");return o}finally{Error.prepareStackTrace=t}}())("undici"),r=new n({connect:{lookup:(e,n,o)=>{t(e,F(D({},n),{all:!0}),(t,r)=>{if(t)return void o(t);try{let[t]=r;if(null==t)throw Error(`Hostname ${e} did not resolve to an address`);for(let{address:t,family:n}of r)!function({address:e,family:t,hostname:n}){if(4===t?!tt(e)||tn(e):6!==t||to(e))throw new e7({url:n,message:`Hostname ${n} resolved to disallowed IP address ${e}`})}({address:t,family:n,hostname:e});!0===n.all?o(null,r):o(null,t.address,t.family)}catch(e){o(e instanceof Error?e:Error(String(e)))}})}}});return(e,t)=>o(e,F(D({},t),{dispatcher:r}))}function ta(e){var t;let n=globalThis.process,o=null==(t=null==n?void 0:n.getBuiltinModule)?void 0:t.call(n,e);if(null==o)throw Error(`Node.js built-in module ${e} is unavailable`);return o}var ts=["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"],tl=new Set([301,302,303,307,308]);async function tu(e){return null==e||e===globalThis.fetch?await tr():e}async function tc({url:e,headers:t,abortSignal:n,maxRedirects:o=10,fetch:r,trustedOrigin:i}){var a;let s=void 0===t?void 0:function(e){let t=new Headers(e);for(let e of ts)t.delete(e);return t}(t),l=e=>{let t={signal:n,redirect:e};return void 0!==s&&(t.headers=new Headers(s)),t},u=e;for(let t=0;t<=o;t++){let t=void 0!==i&&te(u,i);t||function(e){let t;try{t=new URL(e)}catch(t){throw new e7({url:e,message:`Invalid URL: ${e}`})}if("data:"===t.protocol)return;if("http:"!==t.protocol&&"https:"!==t.protocol)throw new e7({url:e,message:`URL scheme must be http, https, or data, got ${t.protocol}`});let n=t.hostname.toLowerCase().replace(/\.+$/,"");if(!n)throw new e7({url:e,message:"URL must have a hostname"});if("localhost"===n||n.endsWith(".local")||n.endsWith(".localhost"))throw new e7({url:e,message:`URL with hostname ${n} is not allowed`});if(n.startsWith("[")&&n.endsWith("]")){if(to(n.slice(1,-1)))throw new e7({url:e,message:`URL with IPv6 address ${n} is not allowed`});return}if(tt(n)&&tn(n))throw new e7({url:e,message:`URL with IP address ${n} is not allowed`})}(u);let n=t&&null!=r?r:t?globalThis.fetch:await tu(r),o=await n(u,l("manual"));if("opaqueredirect"===o.type){if(!function(e=globalThis){return null!=e.window}())throw new e7({url:e,message:`Redirect from ${u} could not be validated and was blocked`});return await n(u,l("follow"))}let c=null==(a=o.headers)?void 0:a.get("location");if(tl.has(o.status)&&c){await e5(o);let e=new URL(c,u).toString();if(void 0!==s&&!te(e,u)){let e=s.get("user-agent");s=new Headers(null==e?void 0:{"user-agent":e})}u=e;continue}return o}throw new e7({url:e,message:`Too many redirects (max ${o})`})}async function td({response:e,url:t,maxBytes:n=0x80000000}){let o=e.headers.get("content-length");if(null!=o){let r=parseInt(o,10);if(!isNaN(r)&&r>n)throw await e5(e),new e7({url:t,message:`Download of ${t} exceeded maximum size of ${n} bytes (Content-Length: ${r}).`})}let r=e.body;if(null==r)return new Uint8Array(0);let i=r.getReader(),a=[],s=0;try{for(;;){let{done:e,value:o}=await i.read();if(e)break;if((s+=o.length)>n)throw new e7({url:t,message:`Download of ${t} exceeded maximum size of ${n} bytes.`});a.push(o)}}finally{try{await i.cancel()}catch(e){}finally{i.releaseLock()}}let l=new Uint8Array(s),u=0;for(let e of a)l.set(e,u),u+=e.length;return l}var tp=(({prefix:e,size:t=16,alphabet:n="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz",separator:o="-"}={})=>{let r=()=>{let e=n.length,o=Array(t);for(let r=0;r<t;r++)o[r]=n[Math.random()*e|0];return o.join("")};if(null==e)return r;if(n.includes(o))throw new es({argument:"separator",message:`The separator "${o}" must not be part of the alphabet "${n}".`});return()=>`${e}${o}${r()}`})(),th=async({url:e,headers:t={},successfulResponseHandler:n,failedResponseHandler:o,abortSignal:r,fetch:i,validateUrl:a,credentialedOrigin:s,trustedOrigin:l})=>{try{let u=null!=i?i:globalThis.fetch,c=void 0===s||te(e,s)?t:{},d=e3(c,`ai-sdk/provider-utils/${e4}`,eX()),p=a?await tc({url:e,headers:d,abortSignal:r,fetch:i,trustedOrigin:l}):await u(e,{method:"GET",headers:d,signal:r}),h=eZ(p);if(!p.ok){let t;try{t=await o({response:p,url:e,requestBodyValues:{}})}catch(t){if(eQ(t)||Z.isInstance(t))throw t;throw new Z({message:"Failed to process error response",cause:t,statusCode:p.status,url:e,responseHeaders:h,requestBodyValues:{}})}throw t.value}try{return await n({response:p,url:e,requestBodyValues:{}})}catch(t){if(t instanceof Error&&(eQ(t)||Z.isInstance(t)))throw t;throw new Z({message:"Failed to process successful response",cause:t,statusCode:p.status,url:e,responseHeaders:h,requestBodyValues:{}})}}catch(t){throw e2({error:t,url:e,requestBodyValues:{}})}},tm=/"(?:_|\\u005[Ff])(?:_|\\u005[Ff])(?:p|\\u0070)(?:r|\\u0072)(?:o|\\u006[Ff])(?:t|\\u0074)(?:o|\\u006[Ff])(?:_|\\u005[Ff])(?:_|\\u005[Ff])"\s*:/,tg=/"(?: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 tf(e){let t=JSON.parse(e);return null===t||"object"!=typeof t||!1===tm.test(e)&&!1===tg.test(e)?t:function(e){let t=[e];for(;t.length;){let e=t;for(let n of(t=[],e)){if(Object.prototype.hasOwnProperty.call(n,"__proto__")||Object.prototype.hasOwnProperty.call(n,"constructor")&&null!==n.constructor&&"object"==typeof n.constructor&&Object.prototype.hasOwnProperty.call(n.constructor,"prototype"))throw SyntaxError("Object contains forbidden prototype property");for(let e in n){let o=n[e];o&&"object"==typeof o&&t.push(o)}}}return e}(t)}function ty(e){let{stackTraceLimit:t}=Error;try{Error.stackTraceLimit=0}catch(t){return tf(e)}try{return tf(e)}finally{Error.stackTraceLimit=t}}function tb(e){if("object"===e.type||Array.isArray(e.type)&&e.type.includes("object")){let{additionalProperties:t}=e;e.additionalProperties=null!=t&&"boolean"!=typeof t&&t_(t);let{properties:n}=e;if(null!=n)for(let e of Object.keys(n))n[e]=t_(n[e])}null!=e.items&&(e.items=Array.isArray(e.items)?e.items.map(t_):t_(e.items)),null!=e.anyOf&&(e.anyOf=e.anyOf.map(t_)),null!=e.allOf&&(e.allOf=e.allOf.map(t_)),null!=e.oneOf&&(e.oneOf=e.oneOf.map(t_));let{definitions:t}=e;if(null!=t)for(let e of Object.keys(t))t[e]=t_(t[e]);return e}function t_(e){return"boolean"==typeof e?e:tb(e)}var tz=Symbol("Let zodToJsonSchema decide on which parser to use"),tw={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 tv(e,t){return tH(e.type._def,t)}var tk=void 0,tx=/^[cC][^\s-]{8,}$/,tS=/^[0-9a-z]+$/,tT=/^[0-9A-HJKMNP-TV-Z]{26}$/,tI=/^(?!\.)(?!.*\.\.)([a-zA-Z0-9_'+\-\.]*)[a-zA-Z0-9_+-]@([a-zA-Z0-9][a-zA-Z0-9\-]*\.)+[a-zA-Z]{2,}$/,tO=()=>(void 0===tk&&(tk=RegExp("^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$","u")),tk),tE=/^(?:(?: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])$/,tC=/^(([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])$/,tA=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,tj=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,tR=/^[a-zA-Z0-9_-]{21}$/,t$=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/;function tM(e,t){let n={type:"string"};if(e.checks)for(let o of e.checks)switch(o.kind){case"min":n.minLength="number"==typeof n.minLength?Math.max(n.minLength,o.value):o.value;break;case"max":n.maxLength="number"==typeof n.maxLength?Math.min(n.maxLength,o.value):o.value;break;case"email":switch(t.emailStrategy){case"format:email":tP(n,"email",o.message,t);break;case"format:idn-email":tP(n,"idn-email",o.message,t);break;case"pattern:zod":tU(n,tI,o.message,t)}break;case"url":tP(n,"uri",o.message,t);break;case"uuid":tP(n,"uuid",o.message,t);break;case"regex":tU(n,o.regex,o.message,t);break;case"cuid":tU(n,tx,o.message,t);break;case"cuid2":tU(n,tS,o.message,t);break;case"startsWith":tU(n,RegExp(`^${tN(o.value,t)}`),o.message,t);break;case"endsWith":tU(n,RegExp(`${tN(o.value,t)}$`),o.message,t);break;case"datetime":tP(n,"date-time",o.message,t);break;case"date":tP(n,"date",o.message,t);break;case"time":tP(n,"time",o.message,t);break;case"duration":tP(n,"duration",o.message,t);break;case"length":n.minLength="number"==typeof n.minLength?Math.max(n.minLength,o.value):o.value,n.maxLength="number"==typeof n.maxLength?Math.min(n.maxLength,o.value):o.value;break;case"includes":tU(n,RegExp(tN(o.value,t)),o.message,t);break;case"ip":"v6"!==o.version&&tP(n,"ipv4",o.message,t),"v4"!==o.version&&tP(n,"ipv6",o.message,t);break;case"base64url":tU(n,tj,o.message,t);break;case"jwt":tU(n,t$,o.message,t);break;case"cidr":"v6"!==o.version&&tU(n,tE,o.message,t),"v4"!==o.version&&tU(n,tC,o.message,t);break;case"emoji":tU(n,tO(),o.message,t);break;case"ulid":tU(n,tT,o.message,t);break;case"base64":switch(t.base64Strategy){case"format:binary":tP(n,"binary",o.message,t);break;case"contentEncoding:base64":n.contentEncoding="base64";break;case"pattern:zod":tU(n,tA,o.message,t)}break;case"nanoid":tU(n,tR,o.message,t)}return n}function tN(e,t){return"escape"===t.patternStrategy?function(e){let t="";for(let n=0;n<e.length;n++)tL.has(e[n])||(t+="\\"),t+=e[n];return t}(e):e}var tL=new Set("ABCDEFGHIJKLMNOPQRSTUVXYZabcdefghijklmnopqrstuvxyz0123456789");function tP(e,t,n,o){var r;e.format||(null==(r=e.anyOf)?void 0:r.some(e=>e.format))?(e.anyOf||(e.anyOf=[]),e.format&&(e.anyOf.push({format:e.format}),delete e.format),e.anyOf.push(D({format:t},n&&o.errorMessages&&{errorMessage:{format:n}}))):e.format=t}function tU(e,t,n,o){var r;e.pattern||(null==(r=e.allOf)?void 0:r.some(e=>e.pattern))?(e.allOf||(e.allOf=[]),e.pattern&&(e.allOf.push({pattern:e.pattern}),delete e.pattern),e.allOf.push(D({pattern:tq(t,o)},n&&o.errorMessages&&{errorMessage:{pattern:n}}))):e.pattern=tq(t,o)}function tq(e,t){var n;if(!t.applyRegexFlags||!e.flags)return e.source;let o={i:e.flags.includes("i"),m:e.flags.includes("m"),s:e.flags.includes("s")},r=o.i?e.source.toLowerCase():e.source,i="",a=!1,s=!1,l=!1;for(let e=0;e<r.length;e++){if(a){i+=r[e],a=!1;continue}if(o.i){if(s){if(r[e].match(/[a-z]/)){l?(i+=r[e],i+=`${r[e-2]}-${r[e]}`.toUpperCase(),l=!1):"-"===r[e+1]&&(null==(n=r[e+2])?void 0:n.match(/[a-z]/))?(i+=r[e],l=!0):i+=`${r[e]}${r[e].toUpperCase()}`;continue}}else if(r[e].match(/[a-z]/)){i+=`[${r[e]}${r[e].toUpperCase()}]`;continue}}if(o.m){if("^"===r[e]){i+=`(^|(?<=[\r
|
|
179
|
+
`)&&-1===e.indexOf("\r")){a.push(e),s+=e.length,m();return}a.push(e);let t=a.join("");a.length=0,s=0;let n=g(t);""!==n&&(a.push(n),s=n.length),m()},reset:function(e={}){if(e.consume&&a.length>0){let e=a.join("");f(e,0,e.length)}l=!0,u=void 0,c="",d=0,p=void 0,a.length=0,s=0,h=!1}}}({onEvent:e=>{i.enqueue(e)},onError(t){"function"==typeof e&&e(t),("terminate"===e||"max-buffer-size-exceeded"===t.type)&&i.error(t)},onRetry:t,onComment:n,maxBufferSize:o})},transform(e){r.feed(e)}})}};function eK(...e){return e.reduce((e,t)=>D(D({},e),null!=t?t:{}),{})}async function eV(e,t){if(null==e)return Promise.resolve();let n=null==t?void 0:t.abortSignal;return new Promise((t,o)=>{if(null==n?void 0:n.aborted)return void o(eJ());let r=setTimeout(()=>{i(),t()},e),i=()=>{clearTimeout(r),null==n||n.removeEventListener("abort",a)},a=()=>{i(),o(eJ())};null==n||n.addEventListener("abort",a)})}function eJ(){return new DOMException("Delay was aborted","AbortError")}Symbol.for("workflow-serialize"),Symbol.for("workflow-deserialize"),new TextDecoder;var{btoa:eG,atob:eY}=globalThis;function eZ(e){return Object.fromEntries([...e.headers])}function eX(e=globalThis){var t,n,o;return e.window?"runtime/browser":(null==(t=e.navigator)?void 0:t.userAgent)?`runtime/${e.navigator.userAgent.toLowerCase()}`:(null==(o=null==(n=e.process)?void 0:n.versions)?void 0:o.node)?`runtime/node.js/${e.process.version.substring(0)}`:e.EdgeRuntime?"runtime/vercel-edge":"runtime/unknown"}function eQ(e){return(e instanceof Error||"function"==typeof DOMException&&e instanceof DOMException)&&("AbortError"===e.name||"ResponseAborted"===e.name||"TimeoutError"===e.name)}var e0=["fetch failed","failed to fetch"],e1=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 e2({error:e,url:t,requestBodyValues:n}){if(eQ(e))return e;if(e instanceof TypeError&&e0.includes(e.message.toLowerCase())){let o=e.cause;if(null!=o)return new Z({message:`Cannot connect to API: ${o.message}`,cause:o,url:t,requestBodyValues:n,isRetryable:!0})}let o=function(e){let t=new Set,n=e;for(;n instanceof Error&&!t.has(n);){t.add(n);let e=n;if("string"==typeof e.code&&e1.has(e.code))return e;n=n.cause}}(e);return null!=o?new Z(Z.isInstance(e)?{message:e.message,cause:e.cause,url:e.url,requestBodyValues:e.requestBodyValues,statusCode:e.statusCode,responseHeaders:e.responseHeaders,responseBody:e.responseBody,data:e.data,isRetryable:!0}:{message:`Cannot connect to API: ${e instanceof Error?e.message:o.message}`,cause:e,url:t,requestBodyValues:n,isRetryable:!0}):e}var e4="5.0.42";function e3(e,...t){let n=new Headers(function(e){if(null==e)return{};let t={};if(e instanceof Headers)e.forEach((e,n)=>{t[n.toLowerCase()]=e});else for(let[n,o]of(Array.isArray(e)||(e=Object.entries(e)),e))null!=o&&(t[n.toLowerCase()]=o);return t}(e)),o=n.get("user-agent")||"";return n.set("user-agent",[o,...t].filter(Boolean).join(" ")),Object.fromEntries(n.entries())}async function e5(e){var t;try{await (null==(t=e.body)?void 0:t.cancel())}catch(e){}}var e6="AI_DownloadError",e9=`vercel.ai.error.${e6}`,e8=Symbol.for(e9),e7=class extends(I=V,T=e8,I){constructor({url:e,statusCode:t,statusText:n,cause:o,message:r=null==o?`Failed to download ${e}: ${t} ${n}`:`Failed to download ${e}: ${o}`}){super({name:e6,message:r,cause:o}),this[T]=!0,this.url=e,this.statusCode=t,this.statusText=n}static isInstance(e){return V.hasMarker(e,e9)}};function te(e,t){try{return new URL(e).origin===new URL(t).origin}catch(e){return!1}}function tt(e){let t=e.split(".");return 4===t.length&&t.every(e=>{let t=Number(e);return Number.isInteger(t)&&t>=0&&t<=255&&String(t)===e})}function tn(e){let[t,n,o]=e.split(".").map(Number);return 0===t||10===t||100===t&&n>=64&&n<=127||127===t||169===t&&254===n||172===t&&n>=16&&n<=31||192===t&&0===n&&0===o||192===t&&0===n&&2===o||192===t&&168===n||198===t&&(18===n||19===n)||198===t&&51===n&&100===o||203===t&&0===n&&113===o||t>=224||!1}function to(e){let t=function(e){let t=e.toLowerCase(),n=t.indexOf("%");-1!==n&&(t=t.slice(0,n));let o=t.split("::");if(o.length>2)return null;let r=e=>{if(""===e)return[];let t=[],n=e.split(":");for(let e=0;e<n.length;e++){let o=n[e];if(o.includes(".")){if(e!==n.length-1||!tt(o))return null;let[r,i,a,s]=o.split(".").map(Number);t.push(r<<8|i,a<<8|s);continue}if(!/^[0-9a-f]{1,4}$/.test(o))return null;t.push(parseInt(o,16))}return t},i=r(o[0]);if(null===i)return null;if(2===o.length){let e=r(o[1]);if(null===e)return null;let t=8-i.length-e.length;return t<0?null:[...i,...Array(t).fill(0),...e]}return 8===i.length?i:null}(e);if(null===t)return!0;let n=e=>t.slice(0,e).every(e=>0===e);if(n(7)&&(0===t[7]||1===t[7])||(65024&t[0])==64512||(65472&t[0])==65152||(65472&t[0])==65216||(65280&t[0])==65280||8193===t[0]&&3512===t[1]||16383===t[0]&&(61440&t[1])==0)return!0;if(n(6)||n(5)&&65535===t[5]||n(4)&&65535===t[4]&&0===t[5]||100===t[0]&&65435===t[1]&&0===t[2]&&0===t[3]&&0===t[4]&&0===t[5]||100===t[0]&&65435===t[1]&&1===t[2]){let e=t[6]>>8&255,n=255&t[6],o=t[7]>>8&255,r=255&t[7];return tn(`${e}.${n}.${o}.${r}`)}return!1}async function tr(){var e,t,n;let o;return(null==(e=null==(o=globalThis.process)?void 0:o.release)?void 0:e.name)!=="node"||(null==(t=o.versions)?void 0:t.bun)!=null||(null==(n=o.versions)?void 0:n.deno)!=null||"workerd"===o.title||null!=globalThis.EdgeRuntime?globalThis.fetch:null!=O?O:O=Promise.resolve().then(ti)}function ti(){let{createRequire:e}=ta("node:module"),{lookup:t}=ta("node:dns"),{Agent:n,fetch:o}=e(function e(){let t=Error.prepareStackTrace;try{Error.prepareStackTrace=(e,t)=>t;let t=Error("Capture current module path");Error.captureStackTrace(t,e);let[n]=t.stack,o=null==n?void 0:n.getFileName();if(null==o)throw Error("Unable to determine the current module path");return o}finally{Error.prepareStackTrace=t}}())("undici"),r=new n({connect:{lookup:(e,n,o)=>{t(e,F(D({},n),{all:!0}),(t,r)=>{if(t)return void o(t);try{let[t]=r;if(null==t)throw Error(`Hostname ${e} did not resolve to an address`);for(let{address:t,family:n}of r)!function({address:e,family:t,hostname:n}){if(4===t?!tt(e)||tn(e):6!==t||to(e))throw new e7({url:n,message:`Hostname ${n} resolved to disallowed IP address ${e}`})}({address:t,family:n,hostname:e});!0===n.all?o(null,r):o(null,t.address,t.family)}catch(e){o(e instanceof Error?e:Error(String(e)))}})}}});return(e,t)=>o(e,F(D({},t),{dispatcher:r}))}function ta(e){var t;let n=globalThis.process,o=null==(t=null==n?void 0:n.getBuiltinModule)?void 0:t.call(n,e);if(null==o)throw Error(`Node.js built-in module ${e} is unavailable`);return o}var ts=["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"],tl=new Set([301,302,303,307,308]);async function tu(e){return null==e||e===globalThis.fetch?await tr():e}async function tc({url:e,headers:t,abortSignal:n,maxRedirects:o=10,fetch:r,trustedOrigin:i}){var a;let s=void 0===t?void 0:function(e){let t=new Headers(e);for(let e of ts)t.delete(e);return t}(t),l=e=>{let t={signal:n,redirect:e};return void 0!==s&&(t.headers=new Headers(s)),t},u=e;for(let t=0;t<=o;t++){let t=void 0!==i&&te(u,i);t||function(e){let t;try{t=new URL(e)}catch(t){throw new e7({url:e,message:`Invalid URL: ${e}`})}if("data:"===t.protocol)return;if("http:"!==t.protocol&&"https:"!==t.protocol)throw new e7({url:e,message:`URL scheme must be http, https, or data, got ${t.protocol}`});let n=t.hostname.toLowerCase().replace(/\.+$/,"");if(!n)throw new e7({url:e,message:"URL must have a hostname"});if("localhost"===n||n.endsWith(".local")||n.endsWith(".localhost"))throw new e7({url:e,message:`URL with hostname ${n} is not allowed`});if(n.startsWith("[")&&n.endsWith("]")){if(to(n.slice(1,-1)))throw new e7({url:e,message:`URL with IPv6 address ${n} is not allowed`});return}if(tt(n)&&tn(n))throw new e7({url:e,message:`URL with IP address ${n} is not allowed`})}(u);let n=t&&null!=r?r:t?globalThis.fetch:await tu(r),o=await n(u,l("manual"));if("opaqueredirect"===o.type){if(!function(e=globalThis){return null!=e.window}())throw new e7({url:e,message:`Redirect from ${u} could not be validated and was blocked`});return await n(u,l("follow"))}let c=null==(a=o.headers)?void 0:a.get("location");if(tl.has(o.status)&&c){await e5(o);let e=new URL(c,u).toString();if(void 0!==s&&!te(e,u)){let e=s.get("user-agent");s=new Headers(null==e?void 0:{"user-agent":e})}u=e;continue}return o}throw new e7({url:e,message:`Too many redirects (max ${o})`})}async function td({response:e,url:t,maxBytes:n=0x80000000}){let o=e.headers.get("content-length");if(null!=o){let r=parseInt(o,10);if(!isNaN(r)&&r>n)throw await e5(e),new e7({url:t,message:`Download of ${t} exceeded maximum size of ${n} bytes (Content-Length: ${r}).`})}let r=e.body;if(null==r)return new Uint8Array(0);let i=r.getReader(),a=[],s=0;try{for(;;){let{done:e,value:o}=await i.read();if(e)break;if((s+=o.length)>n)throw new e7({url:t,message:`Download of ${t} exceeded maximum size of ${n} bytes.`});a.push(o)}}finally{try{await i.cancel()}catch(e){}finally{i.releaseLock()}}let l=new Uint8Array(s),u=0;for(let e of a)l.set(e,u),u+=e.length;return l}var tp=(({prefix:e,size:t=16,alphabet:n="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz",separator:o="-"}={})=>{let r=()=>{let e=n.length,o=Array(t);for(let r=0;r<t;r++)o[r]=n[Math.random()*e|0];return o.join("")};if(null==e)return r;if(n.includes(o))throw new es({argument:"separator",message:`The separator "${o}" must not be part of the alphabet "${n}".`});return()=>`${e}${o}${r()}`})(),th=async({url:e,headers:t={},successfulResponseHandler:n,failedResponseHandler:o,abortSignal:r,fetch:i,validateUrl:a,credentialedOrigin:s,trustedOrigin:l})=>{try{let u=null!=i?i:globalThis.fetch,c=void 0===s||te(e,s)?t:{},d=e3(c,`ai-sdk/provider-utils/${e4}`,eX()),p=a?await tc({url:e,headers:d,abortSignal:r,fetch:i,trustedOrigin:l}):await u(e,{method:"GET",headers:d,signal:r}),h=eZ(p);if(!p.ok){let t;try{t=await o({response:p,url:e,requestBodyValues:{}})}catch(t){if(eQ(t)||Z.isInstance(t))throw t;throw new Z({message:"Failed to process error response",cause:t,statusCode:p.status,url:e,responseHeaders:h,requestBodyValues:{}})}throw t.value}try{return await n({response:p,url:e,requestBodyValues:{}})}catch(t){if(t instanceof Error&&(eQ(t)||Z.isInstance(t)))throw t;throw new Z({message:"Failed to process successful response",cause:t,statusCode:p.status,url:e,responseHeaders:h,requestBodyValues:{}})}}catch(t){throw e2({error:t,url:e,requestBodyValues:{}})}},tm=/"(?:_|\\u005[Ff])(?:_|\\u005[Ff])(?:p|\\u0070)(?:r|\\u0072)(?:o|\\u006[Ff])(?:t|\\u0074)(?:o|\\u006[Ff])(?:_|\\u005[Ff])(?:_|\\u005[Ff])"\s*:/,tg=/"(?: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 tf(e){let t=JSON.parse(e);return null===t||"object"!=typeof t||!1===tm.test(e)&&!1===tg.test(e)?t:function(e){let t=[e];for(;t.length;){let e=t;for(let n of(t=[],e)){if(Object.prototype.hasOwnProperty.call(n,"__proto__")||Object.prototype.hasOwnProperty.call(n,"constructor")&&null!==n.constructor&&"object"==typeof n.constructor&&Object.prototype.hasOwnProperty.call(n.constructor,"prototype"))throw SyntaxError("Object contains forbidden prototype property");for(let e in n){let o=n[e];o&&"object"==typeof o&&t.push(o)}}}return e}(t)}function ty(e){let{stackTraceLimit:t}=Error;try{Error.stackTraceLimit=0}catch(t){return tf(e)}try{return tf(e)}finally{Error.stackTraceLimit=t}}function tb(e){if("object"===e.type||Array.isArray(e.type)&&e.type.includes("object")){let{additionalProperties:t}=e;e.additionalProperties=null!=t&&"boolean"!=typeof t&&t_(t);let{properties:n}=e;if(null!=n)for(let e of Object.keys(n))n[e]=t_(n[e])}null!=e.items&&(e.items=Array.isArray(e.items)?e.items.map(t_):t_(e.items)),null!=e.anyOf&&(e.anyOf=e.anyOf.map(t_)),null!=e.allOf&&(e.allOf=e.allOf.map(t_)),null!=e.oneOf&&(e.oneOf=e.oneOf.map(t_));let{definitions:t}=e;if(null!=t)for(let e of Object.keys(t))t[e]=t_(t[e]);return e}function t_(e){return"boolean"==typeof e?e:tb(e)}var tw=Symbol("Let zodToJsonSchema decide on which parser to use"),tz={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 tv(e,t){return tH(e.type._def,t)}var tk=void 0,tx=/^[cC][^\s-]{8,}$/,tS=/^[0-9a-z]+$/,tT=/^[0-9A-HJKMNP-TV-Z]{26}$/,tI=/^(?!\.)(?!.*\.\.)([a-zA-Z0-9_'+\-\.]*)[a-zA-Z0-9_+-]@([a-zA-Z0-9][a-zA-Z0-9\-]*\.)+[a-zA-Z]{2,}$/,tO=()=>(void 0===tk&&(tk=RegExp("^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$","u")),tk),tE=/^(?:(?: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])$/,tC=/^(([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])$/,tA=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,tj=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,tR=/^[a-zA-Z0-9_-]{21}$/,t$=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/;function tM(e,t){let n={type:"string"};if(e.checks)for(let o of e.checks)switch(o.kind){case"min":n.minLength="number"==typeof n.minLength?Math.max(n.minLength,o.value):o.value;break;case"max":n.maxLength="number"==typeof n.maxLength?Math.min(n.maxLength,o.value):o.value;break;case"email":switch(t.emailStrategy){case"format:email":tP(n,"email",o.message,t);break;case"format:idn-email":tP(n,"idn-email",o.message,t);break;case"pattern:zod":tU(n,tI,o.message,t)}break;case"url":tP(n,"uri",o.message,t);break;case"uuid":tP(n,"uuid",o.message,t);break;case"regex":tU(n,o.regex,o.message,t);break;case"cuid":tU(n,tx,o.message,t);break;case"cuid2":tU(n,tS,o.message,t);break;case"startsWith":tU(n,RegExp(`^${tN(o.value,t)}`),o.message,t);break;case"endsWith":tU(n,RegExp(`${tN(o.value,t)}$`),o.message,t);break;case"datetime":tP(n,"date-time",o.message,t);break;case"date":tP(n,"date",o.message,t);break;case"time":tP(n,"time",o.message,t);break;case"duration":tP(n,"duration",o.message,t);break;case"length":n.minLength="number"==typeof n.minLength?Math.max(n.minLength,o.value):o.value,n.maxLength="number"==typeof n.maxLength?Math.min(n.maxLength,o.value):o.value;break;case"includes":tU(n,RegExp(tN(o.value,t)),o.message,t);break;case"ip":"v6"!==o.version&&tP(n,"ipv4",o.message,t),"v4"!==o.version&&tP(n,"ipv6",o.message,t);break;case"base64url":tU(n,tj,o.message,t);break;case"jwt":tU(n,t$,o.message,t);break;case"cidr":"v6"!==o.version&&tU(n,tE,o.message,t),"v4"!==o.version&&tU(n,tC,o.message,t);break;case"emoji":tU(n,tO(),o.message,t);break;case"ulid":tU(n,tT,o.message,t);break;case"base64":switch(t.base64Strategy){case"format:binary":tP(n,"binary",o.message,t);break;case"contentEncoding:base64":n.contentEncoding="base64";break;case"pattern:zod":tU(n,tA,o.message,t)}break;case"nanoid":tU(n,tR,o.message,t)}return n}function tN(e,t){return"escape"===t.patternStrategy?function(e){let t="";for(let n=0;n<e.length;n++)tL.has(e[n])||(t+="\\"),t+=e[n];return t}(e):e}var tL=new Set("ABCDEFGHIJKLMNOPQRSTUVXYZabcdefghijklmnopqrstuvxyz0123456789");function tP(e,t,n,o){var r;e.format||(null==(r=e.anyOf)?void 0:r.some(e=>e.format))?(e.anyOf||(e.anyOf=[]),e.format&&(e.anyOf.push({format:e.format}),delete e.format),e.anyOf.push(D({format:t},n&&o.errorMessages&&{errorMessage:{format:n}}))):e.format=t}function tU(e,t,n,o){var r;e.pattern||(null==(r=e.allOf)?void 0:r.some(e=>e.pattern))?(e.allOf||(e.allOf=[]),e.pattern&&(e.allOf.push({pattern:e.pattern}),delete e.pattern),e.allOf.push(D({pattern:tq(t,o)},n&&o.errorMessages&&{errorMessage:{pattern:n}}))):e.pattern=tq(t,o)}function tq(e,t){var n;if(!t.applyRegexFlags||!e.flags)return e.source;let o={i:e.flags.includes("i"),m:e.flags.includes("m"),s:e.flags.includes("s")},r=o.i?e.source.toLowerCase():e.source,i="",a=!1,s=!1,l=!1;for(let e=0;e<r.length;e++){if(a){i+=r[e],a=!1;continue}if(o.i){if(s){if(r[e].match(/[a-z]/)){l?(i+=r[e],i+=`${r[e-2]}-${r[e]}`.toUpperCase(),l=!1):"-"===r[e+1]&&(null==(n=r[e+2])?void 0:n.match(/[a-z]/))?(i+=r[e],l=!0):i+=`${r[e]}${r[e].toUpperCase()}`;continue}}else if(r[e].match(/[a-z]/)){i+=`[${r[e]}${r[e].toUpperCase()}]`;continue}}if(o.m){if("^"===r[e]){i+=`(^|(?<=[\r
|
|
180
180
|
]))`;continue}else if("$"===r[e]){i+=`($|(?=[\r
|
|
181
181
|
]))`;continue}}if(o.s&&"."===r[e]){i+=s?`${r[e]}\r
|
|
182
182
|
`:`[${r[e]}\r
|
|
183
|
-
]`;continue}i+=r[e],"\\"===r[e]?a=!0:s&&"]"===r[e]?s=!1:s||"["!==r[e]||(s=!0)}try{new RegExp(i)}catch(n){return console.warn(`Could not convert regex pattern at ${t.currentPath.join("/")} to a flag-independent form! Falling back to the flag-ignorant source`),e.source}return i}function tD(e,t){var n,o,r,i,a,s;let l={type:"object",additionalProperties:null!=(n=tH(e.valueType._def,F(D({},t),{currentPath:[...t.currentPath,"additionalProperties"]})))?n:t.allowedAdditionalProperties};if((null==(o=e.keyType)?void 0:o._def.typeName)==="ZodString"&&(null==(r=e.keyType._def.checks)?void 0:r.length)){let n=tM(e.keyType._def,t),{type:o}=n,r=H(n,["type"]);return F(D({},l),{propertyNames:r})}if((null==(i=e.keyType)?void 0:i._def.typeName)==="ZodEnum")return F(D({},l),{propertyNames:{enum:e.keyType._def.values}});if((null==(a=e.keyType)?void 0:a._def.typeName)==="ZodBranded"&&"ZodString"===e.keyType._def.type._def.typeName&&(null==(s=e.keyType._def.type._def.checks)?void 0:s.length)){let n=tv(e.keyType._def,t),{type:o}=n,r=H(n,["type"]);return F(D({},l),{propertyNames:r})}return l}var tF={ZodString:"string",ZodNumber:"number",ZodBigInt:"integer",ZodBoolean:"boolean",ZodNull:"null"};function tH(e,t,n=!1){var o;let r=t.seen.get(e);if(t.override){let i=null==(o=t.override)?void 0:o.call(t,e,t,r,n);if(i!==tz)return i}if(r&&!n){let e=tB(r,t);if(void 0!==e)return e}let i={def:e,path:t.currentPath,jsonSchema:void 0};t.seen.set(e,i);let a=((e,t,n)=>{var o,r,i,a,s,l;switch(t){case"ZodString":return tM(e,n);case"ZodNumber":let u={type:"number"};if(!e.checks)return u;for(let t of e.checks)switch(t.kind){case"int":u.type="integer";break;case"min":t.inclusive?u.minimum=t.value:u.exclusiveMinimum=t.value;break;case"max":t.inclusive?u.maximum=t.value:u.exclusiveMaximum=t.value;break;case"multipleOf":u.multipleOf=t.value}return u;case"ZodObject":return function(e,t){let n={type:"object",properties:{}},o=[],r=e.shape();for(let e in r){let i=r[e];if(void 0===i||void 0===i._def)continue;let a=function(e){try{return e.isOptional()}catch(e){return!0}}(i),s=tH(i._def,F(D({},t),{currentPath:[...t.currentPath,"properties",e],propertyPath:[...t.currentPath,"properties",e]}));void 0!==s&&(n.properties[e]=s,a||o.push(e))}o.length&&(n.required=o);let i=function(e,t){if("ZodNever"!==e.catchall._def.typeName)return tH(e.catchall._def,F(D({},t),{currentPath:[...t.currentPath,"additionalProperties"]}));switch(e.unknownKeys){case"passthrough":return t.allowedAdditionalProperties;case"strict":return t.rejectedAdditionalProperties;case"strip":return"strict"===t.removeAdditionalStrategy?t.allowedAdditionalProperties:t.rejectedAdditionalProperties}}(e,t);return void 0!==i&&(n.additionalProperties=i),n}(e,n);case"ZodBigInt":let c={type:"integer",format:"int64"};if(!e.checks)return c;for(let t of e.checks)switch(t.kind){case"min":t.inclusive?c.minimum=t.value:c.exclusiveMinimum=t.value;break;case"max":t.inclusive?c.maximum=t.value:c.exclusiveMaximum=t.value;break;case"multipleOf":c.multipleOf=t.value}return c;case"ZodBoolean":return{type:"boolean"};case"ZodDate":return function e(t,n,o){let r=null!=o?o:n.dateStrategy;if(Array.isArray(r))return{anyOf:r.map(o=>e(t,n,o))};switch(r){case"string":case"format:date-time":return{type:"string",format:"date-time"};case"format:date":return{type:"string",format:"date"};case"integer":var i=t;let a={type:"integer",format:"unix-time"};for(let e of i.checks)switch(e.kind){case"min":a.minimum=e.value;break;case"max":a.maximum=e.value}return a}}(e,n);case"ZodUndefined":case"ZodNaN":case"ZodNever":return{not:{}};case"ZodNull":return{type:"null"};case"ZodArray":let d;return d={type:"array"},(null==(i=e.type)?void 0:i._def)&&(null==(s=null==(a=e.type)?void 0:a._def)?void 0:s.typeName)!=="ZodAny"&&(d.items=tH(e.type._def,F(D({},n),{currentPath:[...n.currentPath,"items"]}))),e.minLength&&(d.minItems=e.minLength.value),e.maxLength&&(d.maxItems=e.maxLength.value),e.exactLength&&(d.minItems=e.exactLength.value,d.maxItems=e.exactLength.value),d;case"ZodUnion":case"ZodDiscriminatedUnion":let p,h=e.options instanceof Map?Array.from(e.options.values()):e.options;if(h.every(e=>e._def.typeName in tF&&(!e._def.checks||!e._def.checks.length))){let e=h.reduce((e,t)=>{let n=tF[t._def.typeName];return n&&!e.includes(n)?[...e,n]:e},[]);return{type:e.length>1?e:e[0]}}if(h.every(e=>"ZodLiteral"===e._def.typeName&&!e.description)){let e=h.reduce((e,t)=>{let n=typeof t._def.value;switch(n){case"string":case"number":case"boolean":return[...e,n];case"bigint":return[...e,"integer"];case"object":if(null===t._def.value)return[...e,"null"];default:return e}},[]);if(e.length===h.length){let t=e.filter((e,t,n)=>n.indexOf(e)===t);return{type:t.length>1?t:t[0],enum:h.reduce((e,t)=>e.includes(t._def.value)?e:[...e,t._def.value],[])}}}else if(h.every(e=>"ZodEnum"===e._def.typeName))return{type:"string",enum:h.reduce((e,t)=>[...e,...t._def.values.filter(t=>!e.includes(t))],[])};return o=e,r=n,(p=(o.options instanceof Map?Array.from(o.options.values()):o.options).map((e,t)=>tH(e._def,F(D({},r),{currentPath:[...r.currentPath,"anyOf",`${t}`]}))).filter(e=>!!e&&(!r.strictUnions||"object"==typeof e&&Object.keys(e).length>0))).length?{anyOf:p}:void 0;case"ZodIntersection":let m,g;return m=[tH(e.left._def,F(D({},n),{currentPath:[...n.currentPath,"allOf","0"]})),tH(e.right._def,F(D({},n),{currentPath:[...n.currentPath,"allOf","1"]}))].filter(e=>!!e),g=[],m.forEach(e=>{if((!("type"in e)||"string"!==e.type)&&"allOf"in e)g.push(...e.allOf);else{let t=e;if("additionalProperties"in e&&!1===e.additionalProperties){let{additionalProperties:n}=e;t=H(e,["additionalProperties"])}g.push(t)}}),g.length?{allOf:g}:void 0;case"ZodTuple":return e.rest?{type:"array",minItems:e.items.length,items:e.items.map((e,t)=>tH(e._def,F(D({},n),{currentPath:[...n.currentPath,"items",`${t}`]}))).reduce((e,t)=>void 0===t?e:[...e,t],[]),additionalItems:tH(e.rest._def,F(D({},n),{currentPath:[...n.currentPath,"additionalItems"]}))}:{type:"array",minItems:e.items.length,maxItems:e.items.length,items:e.items.map((e,t)=>tH(e._def,F(D({},n),{currentPath:[...n.currentPath,"items",`${t}`]}))).reduce((e,t)=>void 0===t?e:[...e,t],[])};case"ZodRecord":return tD(e,n);case"ZodLiteral":let f;return"bigint"!=(f=typeof e.value)&&"number"!==f&&"boolean"!==f&&"string"!==f?{type:Array.isArray(e.value)?"array":"object"}:{type:"bigint"===f?"integer":f,const:e.value};case"ZodEnum":return{type:"string",enum:Array.from(e.values)};case"ZodNativeEnum":let y,b,_;return y=e.values,{type:1===(_=Array.from(new Set((b=Object.keys(e.values).filter(e=>"number"!=typeof y[y[e]]).map(e=>y[e])).map(e=>typeof e)))).length?"string"===_[0]?"string":"number":["string","number"],enum:b};case"ZodNullable":if(["ZodString","ZodNumber","ZodBigInt","ZodBoolean","ZodNull"].includes(e.innerType._def.typeName)&&(!e.innerType._def.checks||!e.innerType._def.checks.length))return{type:[tF[e.innerType._def.typeName],"null"]};let z=tH(e.innerType._def,F(D({},n),{currentPath:[...n.currentPath,"anyOf","0"]}));return z&&{anyOf:[z,{type:"null"}]};case"ZodOptional":if(n.currentPath.toString()===(null==(l=n.propertyPath)?void 0:l.toString()))return tH(e.innerType._def,n);let w=tH(e.innerType._def,F(D({},n),{currentPath:[...n.currentPath,"anyOf","1"]}));return w?{anyOf:[{not:{}},w]}:{};case"ZodMap":if("record"===n.mapStrategy)return tD(e,n);return{type:"array",maxItems:125,items:{type:"array",items:[tH(e.keyType._def,F(D({},n),{currentPath:[...n.currentPath,"items","items","0"]}))||{},tH(e.valueType._def,F(D({},n),{currentPath:[...n.currentPath,"items","items","1"]}))||{}],minItems:2,maxItems:2}};case"ZodSet":let v;return v={type:"array",uniqueItems:!0,items:tH(e.valueType._def,F(D({},n),{currentPath:[...n.currentPath,"items"]}))},e.minSize&&(v.minItems=e.minSize.value),e.maxSize&&(v.maxItems=e.maxSize.value),v;case"ZodLazy":return()=>e.getter()._def;case"ZodPromise":return tH(e.type._def,n);case"ZodEffects":return"input"===n.effectStrategy?tH(e.schema._def,n):{};case"ZodAny":case"ZodUnknown":return{};case"ZodDefault":return F(D({},tH(e.innerType._def,n)),{default:e.defaultValue()});case"ZodBranded":return tv(e,n);case"ZodReadonly":case"ZodCatch":return tH(e.innerType._def,n);case"ZodPipeline":if("input"===n.pipeStrategy)return tH(e.in._def,n);if("output"===n.pipeStrategy)return tH(e.out._def,n);let k=tH(e.in._def,F(D({},n),{currentPath:[...n.currentPath,"allOf","0"]})),x=tH(e.out._def,F(D({},n),{currentPath:[...n.currentPath,"allOf",k?"1":"0"]}));return{allOf:[k,x].filter(e=>void 0!==e)};default:return}})(e,e.typeName,t),s="function"==typeof a?tH(a(),t):a;if(s&&tW(e,t,s),t.postProcess){let n=t.postProcess(s,e,t);return i.jsonSchema=s,n}return i.jsonSchema=s,s}var tB=(e,t)=>{switch(t.$refStrategy){case"root":return{$ref:e.path.join("/")};case"relative":return{$ref:((e,t)=>{let n=0;for(;n<e.length&&n<t.length&&e[n]===t[n];n++);return[(e.length-n).toString(),...t.slice(n)].join("/")})(t.currentPath,e.path)};case"none":case"seen":if(e.path.length<t.currentPath.length&&e.path.every((e,n)=>t.currentPath[n]===e))return console.warn(`Recursive reference detected at ${t.currentPath.join("/")}! Defaulting to any`),{};return"seen"===t.$refStrategy?{}:void 0}},tW=(e,t,n)=>(e.description&&(n.description=e.description),n),tK=Symbol.for("vercel.ai.schema");function tV(e,{validate:t}={}){return{[tK]:!0,_type:void 0,get jsonSchema(){return"function"==typeof e&&(e=e()),e},validate:t}}async function tJ({value:e,schema:t,context:n}){let o=await tG({value:e,schema:t,context:n});if(!o.success)throw eN.wrap({value:e,cause:o.error,context:n});return o.value}async function tG({value:e,schema:t,context:n}){var o;let r=null==t?tV({type:"object",properties:{},additionalProperties:!1}):"object"==typeof t&&null!==t&&tK in t&&!0===t[tK]&&"jsonSchema"in t&&"validate"in t?t:"~standard"in t?"zod"===t["~standard"].vendor?function(e){var t,n;let o;if("_zod"in e){let n;return n=(t=void 0,false),tV(()=>tb((0,A.toJSONSchema)(e,{target:"draft-7",io:"input",reused:n?"ref":"inline"})),{validate:async t=>{let n=await (0,C.safeParseAsync)(e,t);return n.success?{success:!0,value:n.data}:{success:!1,error:n.error}}})}return o=(n=void 0,false),tV(()=>((e,t)=>{var n;let o,r,i=(r=void 0!==(o="string"==typeof t?F(D({},tw),{name:t}):D(D({},tw),t)).name?[...o.basePath,o.definitionPath,o.name]:o.basePath,F(D({},o),{currentPath:r,propertyPath:void 0,seen:new Map(Object.entries(o.definitions).map(([e,t])=>[t._def,{def:t._def,path:[...o.basePath,o.definitionPath,e],jsonSchema:void 0}]))})),a="object"==typeof t&&t.definitions?Object.entries(t.definitions).reduce((e,[t,n])=>{var o;return F(D({},e),{[t]:null!=(o=tH(n._def,F(D({},i),{currentPath:[...i.basePath,i.definitionPath,t]}),!0))?o:{}})},{}):void 0,s="string"==typeof t?t:(null==t?void 0:t.nameStrategy)==="title"||null==t?void 0:t.name,l=null!=(n=tH(e._def,void 0===s?i:F(D({},i),{currentPath:[...i.basePath,i.definitionPath,s]}),!1))?n:{},u="object"==typeof t&&void 0!==t.name&&"title"===t.nameStrategy?t.name:void 0;void 0!==u&&(l.title=u);let c=void 0===s?a?F(D({},l),{[i.definitionPath]:a}):l:{$ref:[..."relative"===i.$refStrategy?[]:i.basePath,i.definitionPath,s].join("/"),[i.definitionPath]:F(D({},a),{[s]:l})};return c.$schema="http://json-schema.org/draft-07/schema#",c})(e,{$refStrategy:o?"root":"none"}),{validate:async t=>{let n=await e.safeParseAsync(t);return n.success?{success:!0,value:n.data}:{success:!1,error:n.error}}})}(t):(o=t,tV(()=>{if(null==o["~standard"].jsonSchema)throw Error(`Standard schema vendor '${o["~standard"].vendor}' does not support JSON Schema conversion.`);return tb(o["~standard"].jsonSchema.input({target:"draft-07"}))},{validate:async e=>{let t=await o["~standard"].validate(e);return"value"in t?{success:!0,value:t.value}:{success:!1,error:new eN({value:e,cause:t.issues})}}})):t();try{if(null==r.validate)return{success:!0,value:e,rawValue:e};let t=await r.validate(e);if(t.success)return{success:!0,value:t.value,rawValue:e};return{success:!1,error:eN.wrap({value:e,cause:t.error,context:n}),rawValue:e}}catch(t){return{success:!1,error:eN.wrap({value:e,cause:t,context:n}),rawValue:e}}}async function tY({text:e,schema:t}){try{let n=ty(e);if(null==t)return n;return await tJ({value:n,schema:t})}catch(t){if(e_.isInstance(t)||eN.isInstance(t))throw t;throw new e_({text:e,cause:t})}}async function tZ({text:e,schema:t}){try{let n=ty(e);if(null==t)return{success:!0,value:n,rawValue:n};return await tG({value:n,schema:t})}catch(t){return{success:!1,error:e_.isInstance(t)?t:new e_({text:e,cause:t}),rawValue:void 0}}}function tX(e){try{return ty(e),!0}catch(e){return!1}}async function tQ({provider:e,providerOptions:t,schema:n}){if((null==t?void 0:t[e])==null)return;let o=await tG({value:t[e],schema:n});if(!o.success)throw new es({argument:"providerOptions",message:`invalid ${e} provider options`,cause:o.error});return o.value}var t0=()=>globalThis.fetch,t1=async({url:e,headers:t,body:n,failedResponseHandler:o,successfulResponseHandler:r,abortSignal:i,fetch:a})=>await t2({url:e,headers:D({"Content-Type":"application/json"},t),body:{content:JSON.stringify(n),values:n},failedResponseHandler:o,successfulResponseHandler:r,abortSignal:i,fetch:a}),t2=async({url:e,headers:t={},body:n,successfulResponseHandler:o,failedResponseHandler:r,abortSignal:i,fetch:a=t0()})=>{try{let s=await a(e,{method:"POST",headers:e3(t,`ai-sdk/provider-utils/${e4}`,eX()),body:n.content,signal:i}),l=eZ(s);if(!s.ok){let t;try{t=await r({response:s,url:e,requestBodyValues:n.values})}catch(t){if(eQ(t)||Z.isInstance(t))throw t;throw new Z({message:"Failed to process error response",cause:t,statusCode:s.status,url:e,responseHeaders:l,requestBodyValues:n.values})}throw t.value}try{return await o({response:s,url:e,requestBodyValues:n.values})}catch(t){if(t instanceof Error&&(eQ(t)||Z.isInstance(t)))throw t;throw new Z({message:"Failed to process successful response",cause:t,statusCode:s.status,url:e,responseHeaders:l,requestBodyValues:n.values})}}catch(t){throw e2({error:t,url:e,requestBodyValues:n.values})}},t4=new TextDecoder;async function t3({response:e,url:t}){return t4.decode(await td({response:e,url:t}))}var t5=e=>async({response:t,url:n,requestBodyValues:o})=>{let r=eZ(t);if(null==t.body)throw new et({});return{responseHeaders:r,value:function({stream:e,schema:t}){return e.pipeThrough(new TextDecoderStream).pipeThrough(new eW).pipeThrough(new TransformStream({async transform({data:e},n){"[DONE]"!==e&&n.enqueue(await tZ({text:e,schema:t}))}}))}({stream:function({stream:e,url:t,requestBodyValues:n,statusCode:o,responseHeaders:r}){let i=e.getReader(),a=!1,s=()=>{a||(i.releaseLock(),a=!0)};return new ReadableStream({async pull(e){try{let{done:t,value:n}=await i.read();t?(s(),e.close()):e.enqueue(n)}catch(i){if(s(),eQ(i))return void e.error(i);e.error(e2({error:new Z({message:"Failed to process successful response",cause:i,statusCode:o,url:t,responseHeaders:r,requestBodyValues:n}),url:t,requestBodyValues:n}))}},async cancel(e){try{await i.cancel(e)}finally{s()}}})}({stream:t.body,url:n,requestBodyValues:o,statusCode:t.status,responseHeaders:r}),schema:e})}},t6=e=>async({response:t,url:n,requestBodyValues:o})=>{let r=await t3({response:t,url:n}),i=await tZ({text:r,schema:e}),a=eZ(t);if(!i.success)throw new Z({message:"Invalid JSON response",cause:i.error,statusCode:t.status,responseHeaders:a,responseBody:r,url:n,requestBodyValues:o});return{responseHeaders:a,value:i.value,rawValue:i.rawValue}},t9=Symbol.for("vercel.ai.error.AI_SerializationError");function t8(e){return null==e?void 0:e.replace(/\/$/,"")}function t7(e){return null!=e}var ne=((t=ne||{}).Unknown="unknown",t.OpenAIResponsesV1="openai-responses-v1",t.AzureOpenAIResponsesV1="azure-openai-responses-v1",t.XAIResponsesV1="xai-responses-v1",t.AnthropicClaudeV1="anthropic-claude-v1",t.GoogleGeminiV1="google-gemini-v1",t),nt=j.z.object({id:j.z.string().nullish(),format:j.z.enum(ne).nullish(),index:j.z.number().optional()}).loose(),nn=j.z.object({type:j.z.literal("reasoning.summary"),summary:j.z.string()}).extend(nt.shape),no=j.z.object({type:j.z.literal("reasoning.encrypted"),data:j.z.string()}).extend(nt.shape),nr=j.z.object({type:j.z.literal("reasoning.text"),text:j.z.string().nullish(),signature:j.z.string().nullish()}).extend(nt.shape),ni=j.z.union([nn,no,nr]),na=j.z.union([ni,j.z.unknown().transform(()=>null)]),ns=j.z.array(na).transform(e=>e.filter(e=>!!e));j.z.union([j.z.object({delta:j.z.object({reasoning_details:j.z.array(na)})}).transform(e=>e.delta.reasoning_details.filter(t7)),j.z.object({message:j.z.object({reasoning_details:j.z.array(na)})}).transform(e=>e.message.reasoning_details.filter(t7)),j.z.object({text:j.z.string(),reasoning_details:j.z.array(na)}).transform(e=>e.reasoning_details.filter(t7))]);var nl=j.z.object({error:j.z.object({code:j.z.union([j.z.string(),j.z.number()]).nullable().optional().default(null),message:j.z.string(),type:j.z.string().nullable().optional().default(null),param:j.z.any().nullable().optional().default(null)}).passthrough()}).passthrough(),nu=(({errorSchema:e,errorToMessage:t,isRetryable:n})=>async({response:o,url:r,requestBodyValues:i})=>{let a=await t3({response:o,url:r}),s=eZ(o);if(""===a.trim())return{responseHeaders:s,value:new Z({message:o.statusText,url:r,requestBodyValues:i,statusCode:o.status,responseHeaders:s,responseBody:a,isRetryable:null==n?void 0:n(o)})};try{let l=await tY({text:a,schema:e});return{responseHeaders:s,value:new Z({message:t(l),url:r,requestBodyValues:i,statusCode:o.status,responseHeaders:s,responseBody:a,data:l,isRetryable:null==n?void 0:n(o,l)})}}catch(e){return{responseHeaders:s,value:new Z({message:o.statusText,url:r,requestBodyValues:i,statusCode:o.status,responseHeaders:s,responseBody:a,isRetryable:null==n?void 0:n(o)})}}})({errorSchema:nl,errorToMessage:function(e){let t=e.error.metadata;if(!t)return e.error.message;let n=[];"string"==typeof t.provider_name&&t.provider_name&&n.push(`[${t.provider_name}]`);let o=function e(t){if("string"==typeof t)try{let n=JSON.parse(t);if("object"==typeof n&&null!==n)return e(n);return t}catch(e){return t}if("object"==typeof t&&null!==t)for(let n of["message","error","detail","details","msg"]){let o=t[n];if("string"==typeof o&&o.length>0)return o;if("object"==typeof o&&null!==o){let t=e(o);if(t)return t}}}(t.raw);return o&&o!==e.error.message?n.push(o):n.push(e.error.message),n.join(" ")}}),nc=j.z.object({type:j.z.literal("file"),file:j.z.object({hash:j.z.string(),name:j.z.string(),content:j.z.array(j.z.object({type:j.z.string(),text:j.z.string().optional()}).catchall(j.z.any())).optional()}).catchall(j.z.any())}).catchall(j.z.any()),nd=j.z.object({provider:j.z.string(),reasoning_details:j.z.array(ni).optional(),annotations:j.z.array(nc).optional(),usage:j.z.object({promptTokens:j.z.number(),promptTokensDetails:j.z.object({cachedTokens:j.z.number()}).catchall(j.z.any()).optional(),completionTokens:j.z.number(),completionTokensDetails:j.z.object({reasoningTokens:j.z.number()}).catchall(j.z.any()).optional(),totalTokens:j.z.number(),cost:j.z.number().optional(),costDetails:j.z.object({upstreamInferenceCost:j.z.number()}).catchall(j.z.any()).optional()}).catchall(j.z.any())}).catchall(j.z.any()),np=j.z.object({openrouter:j.z.object({reasoning_details:ns.optional(),annotations:j.z.array(nc).optional()}).optional()}).optional();function nh(e){var t,n,o,r,i,a,s,l;let u=null!=(t=e.prompt_tokens)?t:0,c=null!=(n=e.completion_tokens)?n:0,d=null!=(r=null==(o=e.prompt_tokens_details)?void 0:o.cached_tokens)?r:0,p=null!=(a=null==(i=e.prompt_tokens_details)?void 0:i.cache_write_tokens)?a:void 0,h=null!=(l=null==(s=e.completion_tokens_details)?void 0:s.reasoning_tokens)?l:0;return{inputTokens:{total:u,noCache:u-d,cacheRead:d,cacheWrite:p},outputTokens:{total:c,text:c-h,reasoning:h},raw:e}}function nm(){return{inputTokens:{total:0,noCache:void 0,cacheRead:void 0,cacheWrite:void 0},outputTokens:{total:0,text:void 0,reasoning:void 0},raw:void 0}}function ng(e){return{unified:function(e){switch(e){case"stop":return"stop";case"length":return"length";case"content_filter":return"content-filter";case"function_call":case"tool_calls":return"tool-calls";default:return"other"}}(e),raw:null!=e?e:void 0}}function nf(e,t){return{unified:e,raw:t}}function ny(e,t){let n=e.getReader();return new ReadableStream({async pull(e){try{let{done:t,value:o}=await n.read();t?e.close():e.enqueue(o)}catch(o){t(o),n.cancel().catch(()=>{}),e.close()}},cancel(e){n.cancel(e)}})}var nb=class{constructor(){((e,t,n)=>t.has(e)?U("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(e):t.set(e,n))(this,E,new Set)}upsert(e){let t=this.getCanonicalKey(e);return!(null===t||B(this,E).has(t))&&(B(this,E).add(t),!0)}getCanonicalKey(e){switch(e.type){case"reasoning.summary":return e.summary;case"reasoning.encrypted":if(e.id)return e.id;return e.data;case"reasoning.text":if(e.text)return e.text;if(e.signature)return e.signature;return null;default:return null}}};E=new WeakMap;var n_=["wav","mp3","aiff","aac","ogg","flac","m4a","pcm16","pcm24"];function nz({url:e,protocols:t}){try{let n=new URL(e);return t.has(n.protocol)}catch(e){return!1}}function nw({data:e,mediaType:t,defaultMediaType:n}){if(e instanceof Uint8Array){let o=function(e){let t=[];for(let n=0;n<e.length;n+=4096)t.push(String.fromCodePoint(...e.subarray(n,n+4096)));return eG(t.join(""))}(e);return`data:${null!=t?t:n};base64,${o}`}let o=e.toString();return nz({url:o,protocols:new Set(["http:","https:"])})||o.startsWith("data:")?o:`data:${null!=t?t:n};base64,${o}`}function nv({part:e,defaultMediaType:t}){return nk({data:e.data,mediaType:e.mediaType,defaultMediaType:t})}function nk({data:e,mediaType:t,defaultMediaType:n}){switch(e.type){case"data":return nw({data:e.data,mediaType:t,defaultMediaType:n});case"url":{let t=e.url.toString();if(t.startsWith("data:")||nz({url:t,protocols:new Set(["http:","https:"])}))return t;throw Error("Only http(s) and data: file URLs are supported by OpenRouter")}case"text":return nw({data:new TextEncoder().encode(e.text),mediaType:null!=t?t:"text/plain",defaultMediaType:n});case"reference":throw Error("Provider file references are not supported by OpenRouter")}return nw({data:e,mediaType:t,defaultMediaType:n})}function nx(e,t){var n;let o=e.match(/^data:([^;]+)/);return o&&null!=(n=o[1])?n:t}function nS(e){let t=e.match(/^data:[^;]*;base64,(.+)$/);return t?t[1]:e}var nT={mpeg:"mp3",mp3:"mp3","x-wav":"wav",wave:"wav",wav:"wav",ogg:"ogg",vorbis:"ogg",aac:"aac","x-aac":"aac",m4a:"m4a","x-m4a":"m4a",mp4:"m4a",aiff:"aiff","x-aiff":"aiff",flac:"flac","x-flac":"flac",pcm16:"pcm16",pcm24:"pcm24"};function nI(e){var t,n,o;let r=null==e?void 0:e.anthropic,i=null==e?void 0:e.openrouter;return null!=(o=null!=(n=null!=(t=null==i?void 0:i.cacheControl)?t:null==i?void 0:i.cache_control)?n:null==r?void 0:r.cacheControl)?o:null==r?void 0:r.cache_control}j.z.union([j.z.literal("auto"),j.z.literal("none"),j.z.literal("required"),j.z.object({type:j.z.literal("function"),function:j.z.object({name:j.z.string()})})]);var nO=j.z.object({type:j.z.literal("image_url"),image_url:j.z.object({url:j.z.string()}).passthrough()}).passthrough(),nE=j.z.union([nO,j.z.unknown().transform(()=>null)]),nC=j.z.array(nE).transform(e=>e.filter(e=>!!e)),nA=j.z.object({id:j.z.string().optional(),model:j.z.string().optional(),provider:j.z.string().optional(),usage:j.z.object({prompt_tokens:j.z.number(),prompt_tokens_details:j.z.object({cached_tokens:j.z.number(),cache_write_tokens:j.z.number().nullish()}).passthrough().nullish(),completion_tokens:j.z.number(),completion_tokens_details:j.z.object({reasoning_tokens:j.z.number()}).passthrough().nullish(),total_tokens:j.z.number(),cost:j.z.number().optional(),cost_details:j.z.object({upstream_inference_cost:j.z.number().nullish()}).passthrough().nullish()}).passthrough().nullish()}).passthrough(),nj=j.z.union([nA.extend({choices:j.z.array(j.z.object({message:j.z.object({role:j.z.literal("assistant"),content:j.z.string().nullable().optional(),reasoning:j.z.string().nullable().optional(),reasoning_details:ns.nullish(),images:nC.nullish(),tool_calls:j.z.array(j.z.object({id:j.z.string().optional().nullable(),type:j.z.literal("function"),function:j.z.object({name:j.z.string(),arguments:j.z.string().optional()}).passthrough()}).passthrough()).optional(),annotations:j.z.array(j.z.union([j.z.object({type:j.z.literal("url_citation"),url_citation:j.z.object({url:j.z.string(),title:j.z.string().optional(),start_index:j.z.number().optional(),end_index:j.z.number().optional(),content:j.z.string().optional()}).passthrough()}).passthrough(),j.z.object({type:j.z.literal("file_annotation"),file_annotation:j.z.object({file_id:j.z.string(),quote:j.z.string().optional()}).passthrough()}).passthrough(),j.z.object({type:j.z.literal("file"),file:j.z.object({hash:j.z.string(),name:j.z.string(),content:j.z.array(j.z.object({type:j.z.string(),text:j.z.string().optional()}).passthrough()).optional()}).passthrough()}).passthrough()])).nullish()}).passthrough(),index:j.z.number().nullish(),logprobs:j.z.object({content:j.z.array(j.z.object({token:j.z.string(),logprob:j.z.number(),top_logprobs:j.z.array(j.z.object({token:j.z.string(),logprob:j.z.number()}).passthrough())}).passthrough()).nullable()}).passthrough().nullable().optional(),finish_reason:j.z.string().optional().nullable()}).passthrough())}),nl.extend({user_id:j.z.string().optional()})]),nR=j.z.union([nA.extend({choices:j.z.array(j.z.object({delta:j.z.object({role:j.z.enum(["assistant"]).optional(),content:j.z.string().nullish(),reasoning:j.z.string().nullish().optional(),reasoning_details:ns.nullish(),images:nC.nullish(),tool_calls:j.z.array(j.z.object({index:j.z.number().nullish(),id:j.z.string().nullish(),type:j.z.literal("function").optional(),function:j.z.object({name:j.z.string().nullish(),arguments:j.z.string().nullish()}).passthrough()}).passthrough()).nullish(),annotations:j.z.array(j.z.union([j.z.object({type:j.z.literal("url_citation"),url_citation:j.z.object({url:j.z.string(),title:j.z.string().optional(),start_index:j.z.number().optional(),end_index:j.z.number().optional(),content:j.z.string().optional()}).passthrough()}).passthrough(),j.z.object({type:j.z.literal("file_annotation"),file_annotation:j.z.object({file_id:j.z.string(),quote:j.z.string().optional()}).passthrough()}).passthrough(),j.z.object({type:j.z.literal("file"),file:j.z.object({hash:j.z.string(),name:j.z.string(),content:j.z.array(j.z.object({type:j.z.string(),text:j.z.string().optional()}).passthrough()).optional()}).passthrough()}).passthrough()])).nullish()}).passthrough().nullish(),logprobs:j.z.object({content:j.z.array(j.z.object({token:j.z.string(),logprob:j.z.number(),top_logprobs:j.z.array(j.z.object({token:j.z.string(),logprob:j.z.number()}).passthrough())}).passthrough()).nullable()}).passthrough().nullish(),finish_reason:j.z.string().nullable().optional(),index:j.z.number().nullish()}).passthrough())}),nl]),n$=class{constructor(e,t,n){this.specificationVersion="v4",this.provider="openrouter",this.defaultObjectGenerationMode="tool",this.supportsImageUrls=!0,this.supportedUrls={"image/*":[/^data:image\/[a-zA-Z]+;base64,/,/^https?:\/\/.+\.(jpg|jpeg|png|gif|webp)(?:[?#].*)?$/i],"application/*":[/^data:application\//,/^https?:\/\/.+$/]},this.modelId=e,this.settings=t,this.config=n}getArgs({prompt:e,maxOutputTokens:t,temperature:n,topP:o,frequencyPenalty:r,presencePenalty:i,seed:a,stopSequences:s,responseFormat:l,topK:u,tools:c,toolChoice:d}){var p,h,m,g;let f=D(D({model:this.modelId,models:this.settings.models,logit_bias:this.settings.logitBias,logprobs:!0===this.settings.logprobs||"number"==typeof this.settings.logprobs||void 0,top_logprobs:"number"==typeof this.settings.logprobs?this.settings.logprobs:"boolean"==typeof this.settings.logprobs&&this.settings.logprobs?0:void 0,user:this.settings.user,parallel_tool_calls:this.settings.parallelToolCalls,max_tokens:null!=t?t:this.settings.maxTokens,temperature:null!=n?n:this.settings.temperature,top_p:null!=o?o:this.settings.topP,frequency_penalty:null!=r?r:this.settings.frequencyPenalty,presence_penalty:null!=i?i:this.settings.presencePenalty,seed:a,stop:s,response_format:(null==l?void 0:l.type)==="json"?null!=l.schema?{type:"json_schema",json_schema:D({schema:l.schema,strict:null==(h=null==(p=this.settings.structuredOutputs)?void 0:p.strict)||h,name:null!=(m=l.name)?m:"response"},l.description&&{description:l.description})}:{type:"json_object"}:void 0,top_k:null!=u?u:this.settings.topK,messages:function(e){var t,n,o,r,i,a,s,l;let u=[],c=new nb;for(let{role:d,content:p,providerOptions:h}of e)switch(d){case"system":{let e=nI(h);u.push({role:"system",content:[D({type:"text",text:p},e&&{cache_control:e})]});break}case"user":{if(1===p.length&&(null==(t=p[0])?void 0:t.type)==="text"){let e=null!=(n=nI(h))?n:nI(p[0].providerOptions),t=e?[{type:"text",text:p[0].text,cache_control:e}]:p[0].text;u.push({role:"user",content:t});break}let e=nI(h),r=-1;for(let e=p.length-1;e>=0;e--)if((null==(o=p[e])?void 0:o.type)==="text"){r=e;break}let i=p.map((t,n)=>{var o,i,a,s,l,u,c;let d="text"===t.type&&n===r,p=nI(t.providerOptions),h="text"===t.type?null!=p?p:d?e:void 0:p;switch(t.type){case"text":return D({type:"text",text:t.text},h&&{cache_control:h});case"file":{if(null==(o=t.mediaType)?void 0:o.startsWith("image/"))return D({type:"image_url",image_url:{url:nv({part:t,defaultMediaType:"image/jpeg"})}},h&&{cache_control:h});if(null==(i=t.mediaType)?void 0:i.startsWith("video/"))return D({type:"video_url",video_url:{url:nv({part:t,defaultMediaType:"video/mp4"})}},h&&{cache_control:h});if(null==(a=t.mediaType)?void 0:a.startsWith("audio/"))return D({type:"input_audio",input_audio:function(e){let t=nv({part:e,defaultMediaType:"audio/mpeg"});if(nz({url:t,protocols:new Set(["http:","https:"])}))throw Error(`Audio files cannot be provided as URLs.
|
|
183
|
+
]`;continue}i+=r[e],"\\"===r[e]?a=!0:s&&"]"===r[e]?s=!1:s||"["!==r[e]||(s=!0)}try{new RegExp(i)}catch(n){return console.warn(`Could not convert regex pattern at ${t.currentPath.join("/")} to a flag-independent form! Falling back to the flag-ignorant source`),e.source}return i}function tD(e,t){var n,o,r,i,a,s;let l={type:"object",additionalProperties:null!=(n=tH(e.valueType._def,F(D({},t),{currentPath:[...t.currentPath,"additionalProperties"]})))?n:t.allowedAdditionalProperties};if((null==(o=e.keyType)?void 0:o._def.typeName)==="ZodString"&&(null==(r=e.keyType._def.checks)?void 0:r.length)){let n=tM(e.keyType._def,t),{type:o}=n,r=H(n,["type"]);return F(D({},l),{propertyNames:r})}if((null==(i=e.keyType)?void 0:i._def.typeName)==="ZodEnum")return F(D({},l),{propertyNames:{enum:e.keyType._def.values}});if((null==(a=e.keyType)?void 0:a._def.typeName)==="ZodBranded"&&"ZodString"===e.keyType._def.type._def.typeName&&(null==(s=e.keyType._def.type._def.checks)?void 0:s.length)){let n=tv(e.keyType._def,t),{type:o}=n,r=H(n,["type"]);return F(D({},l),{propertyNames:r})}return l}var tF={ZodString:"string",ZodNumber:"number",ZodBigInt:"integer",ZodBoolean:"boolean",ZodNull:"null"};function tH(e,t,n=!1){var o;let r=t.seen.get(e);if(t.override){let i=null==(o=t.override)?void 0:o.call(t,e,t,r,n);if(i!==tw)return i}if(r&&!n){let e=tB(r,t);if(void 0!==e)return e}let i={def:e,path:t.currentPath,jsonSchema:void 0};t.seen.set(e,i);let a=((e,t,n)=>{var o,r,i,a,s,l;switch(t){case"ZodString":return tM(e,n);case"ZodNumber":let u={type:"number"};if(!e.checks)return u;for(let t of e.checks)switch(t.kind){case"int":u.type="integer";break;case"min":t.inclusive?u.minimum=t.value:u.exclusiveMinimum=t.value;break;case"max":t.inclusive?u.maximum=t.value:u.exclusiveMaximum=t.value;break;case"multipleOf":u.multipleOf=t.value}return u;case"ZodObject":return function(e,t){let n={type:"object",properties:{}},o=[],r=e.shape();for(let e in r){let i=r[e];if(void 0===i||void 0===i._def)continue;let a=function(e){try{return e.isOptional()}catch(e){return!0}}(i),s=tH(i._def,F(D({},t),{currentPath:[...t.currentPath,"properties",e],propertyPath:[...t.currentPath,"properties",e]}));void 0!==s&&(n.properties[e]=s,a||o.push(e))}o.length&&(n.required=o);let i=function(e,t){if("ZodNever"!==e.catchall._def.typeName)return tH(e.catchall._def,F(D({},t),{currentPath:[...t.currentPath,"additionalProperties"]}));switch(e.unknownKeys){case"passthrough":return t.allowedAdditionalProperties;case"strict":return t.rejectedAdditionalProperties;case"strip":return"strict"===t.removeAdditionalStrategy?t.allowedAdditionalProperties:t.rejectedAdditionalProperties}}(e,t);return void 0!==i&&(n.additionalProperties=i),n}(e,n);case"ZodBigInt":let c={type:"integer",format:"int64"};if(!e.checks)return c;for(let t of e.checks)switch(t.kind){case"min":t.inclusive?c.minimum=t.value:c.exclusiveMinimum=t.value;break;case"max":t.inclusive?c.maximum=t.value:c.exclusiveMaximum=t.value;break;case"multipleOf":c.multipleOf=t.value}return c;case"ZodBoolean":return{type:"boolean"};case"ZodDate":return function e(t,n,o){let r=null!=o?o:n.dateStrategy;if(Array.isArray(r))return{anyOf:r.map(o=>e(t,n,o))};switch(r){case"string":case"format:date-time":return{type:"string",format:"date-time"};case"format:date":return{type:"string",format:"date"};case"integer":var i=t;let a={type:"integer",format:"unix-time"};for(let e of i.checks)switch(e.kind){case"min":a.minimum=e.value;break;case"max":a.maximum=e.value}return a}}(e,n);case"ZodUndefined":case"ZodNaN":case"ZodNever":return{not:{}};case"ZodNull":return{type:"null"};case"ZodArray":let d;return d={type:"array"},(null==(i=e.type)?void 0:i._def)&&(null==(s=null==(a=e.type)?void 0:a._def)?void 0:s.typeName)!=="ZodAny"&&(d.items=tH(e.type._def,F(D({},n),{currentPath:[...n.currentPath,"items"]}))),e.minLength&&(d.minItems=e.minLength.value),e.maxLength&&(d.maxItems=e.maxLength.value),e.exactLength&&(d.minItems=e.exactLength.value,d.maxItems=e.exactLength.value),d;case"ZodUnion":case"ZodDiscriminatedUnion":let p,h=e.options instanceof Map?Array.from(e.options.values()):e.options;if(h.every(e=>e._def.typeName in tF&&(!e._def.checks||!e._def.checks.length))){let e=h.reduce((e,t)=>{let n=tF[t._def.typeName];return n&&!e.includes(n)?[...e,n]:e},[]);return{type:e.length>1?e:e[0]}}if(h.every(e=>"ZodLiteral"===e._def.typeName&&!e.description)){let e=h.reduce((e,t)=>{let n=typeof t._def.value;switch(n){case"string":case"number":case"boolean":return[...e,n];case"bigint":return[...e,"integer"];case"object":if(null===t._def.value)return[...e,"null"];default:return e}},[]);if(e.length===h.length){let t=e.filter((e,t,n)=>n.indexOf(e)===t);return{type:t.length>1?t:t[0],enum:h.reduce((e,t)=>e.includes(t._def.value)?e:[...e,t._def.value],[])}}}else if(h.every(e=>"ZodEnum"===e._def.typeName))return{type:"string",enum:h.reduce((e,t)=>[...e,...t._def.values.filter(t=>!e.includes(t))],[])};return o=e,r=n,(p=(o.options instanceof Map?Array.from(o.options.values()):o.options).map((e,t)=>tH(e._def,F(D({},r),{currentPath:[...r.currentPath,"anyOf",`${t}`]}))).filter(e=>!!e&&(!r.strictUnions||"object"==typeof e&&Object.keys(e).length>0))).length?{anyOf:p}:void 0;case"ZodIntersection":let m,g;return m=[tH(e.left._def,F(D({},n),{currentPath:[...n.currentPath,"allOf","0"]})),tH(e.right._def,F(D({},n),{currentPath:[...n.currentPath,"allOf","1"]}))].filter(e=>!!e),g=[],m.forEach(e=>{if((!("type"in e)||"string"!==e.type)&&"allOf"in e)g.push(...e.allOf);else{let t=e;if("additionalProperties"in e&&!1===e.additionalProperties){let{additionalProperties:n}=e;t=H(e,["additionalProperties"])}g.push(t)}}),g.length?{allOf:g}:void 0;case"ZodTuple":return e.rest?{type:"array",minItems:e.items.length,items:e.items.map((e,t)=>tH(e._def,F(D({},n),{currentPath:[...n.currentPath,"items",`${t}`]}))).reduce((e,t)=>void 0===t?e:[...e,t],[]),additionalItems:tH(e.rest._def,F(D({},n),{currentPath:[...n.currentPath,"additionalItems"]}))}:{type:"array",minItems:e.items.length,maxItems:e.items.length,items:e.items.map((e,t)=>tH(e._def,F(D({},n),{currentPath:[...n.currentPath,"items",`${t}`]}))).reduce((e,t)=>void 0===t?e:[...e,t],[])};case"ZodRecord":return tD(e,n);case"ZodLiteral":let f;return"bigint"!=(f=typeof e.value)&&"number"!==f&&"boolean"!==f&&"string"!==f?{type:Array.isArray(e.value)?"array":"object"}:{type:"bigint"===f?"integer":f,const:e.value};case"ZodEnum":return{type:"string",enum:Array.from(e.values)};case"ZodNativeEnum":let y,b,_;return y=e.values,{type:1===(_=Array.from(new Set((b=Object.keys(e.values).filter(e=>"number"!=typeof y[y[e]]).map(e=>y[e])).map(e=>typeof e)))).length?"string"===_[0]?"string":"number":["string","number"],enum:b};case"ZodNullable":if(["ZodString","ZodNumber","ZodBigInt","ZodBoolean","ZodNull"].includes(e.innerType._def.typeName)&&(!e.innerType._def.checks||!e.innerType._def.checks.length))return{type:[tF[e.innerType._def.typeName],"null"]};let w=tH(e.innerType._def,F(D({},n),{currentPath:[...n.currentPath,"anyOf","0"]}));return w&&{anyOf:[w,{type:"null"}]};case"ZodOptional":if(n.currentPath.toString()===(null==(l=n.propertyPath)?void 0:l.toString()))return tH(e.innerType._def,n);let z=tH(e.innerType._def,F(D({},n),{currentPath:[...n.currentPath,"anyOf","1"]}));return z?{anyOf:[{not:{}},z]}:{};case"ZodMap":if("record"===n.mapStrategy)return tD(e,n);return{type:"array",maxItems:125,items:{type:"array",items:[tH(e.keyType._def,F(D({},n),{currentPath:[...n.currentPath,"items","items","0"]}))||{},tH(e.valueType._def,F(D({},n),{currentPath:[...n.currentPath,"items","items","1"]}))||{}],minItems:2,maxItems:2}};case"ZodSet":let v;return v={type:"array",uniqueItems:!0,items:tH(e.valueType._def,F(D({},n),{currentPath:[...n.currentPath,"items"]}))},e.minSize&&(v.minItems=e.minSize.value),e.maxSize&&(v.maxItems=e.maxSize.value),v;case"ZodLazy":return()=>e.getter()._def;case"ZodPromise":return tH(e.type._def,n);case"ZodEffects":return"input"===n.effectStrategy?tH(e.schema._def,n):{};case"ZodAny":case"ZodUnknown":return{};case"ZodDefault":return F(D({},tH(e.innerType._def,n)),{default:e.defaultValue()});case"ZodBranded":return tv(e,n);case"ZodReadonly":case"ZodCatch":return tH(e.innerType._def,n);case"ZodPipeline":if("input"===n.pipeStrategy)return tH(e.in._def,n);if("output"===n.pipeStrategy)return tH(e.out._def,n);let k=tH(e.in._def,F(D({},n),{currentPath:[...n.currentPath,"allOf","0"]})),x=tH(e.out._def,F(D({},n),{currentPath:[...n.currentPath,"allOf",k?"1":"0"]}));return{allOf:[k,x].filter(e=>void 0!==e)};default:return}})(e,e.typeName,t),s="function"==typeof a?tH(a(),t):a;if(s&&tW(e,t,s),t.postProcess){let n=t.postProcess(s,e,t);return i.jsonSchema=s,n}return i.jsonSchema=s,s}var tB=(e,t)=>{switch(t.$refStrategy){case"root":return{$ref:e.path.join("/")};case"relative":return{$ref:((e,t)=>{let n=0;for(;n<e.length&&n<t.length&&e[n]===t[n];n++);return[(e.length-n).toString(),...t.slice(n)].join("/")})(t.currentPath,e.path)};case"none":case"seen":if(e.path.length<t.currentPath.length&&e.path.every((e,n)=>t.currentPath[n]===e))return console.warn(`Recursive reference detected at ${t.currentPath.join("/")}! Defaulting to any`),{};return"seen"===t.$refStrategy?{}:void 0}},tW=(e,t,n)=>(e.description&&(n.description=e.description),n),tK=Symbol.for("vercel.ai.schema");function tV(e,{validate:t}={}){return{[tK]:!0,_type:void 0,get jsonSchema(){return"function"==typeof e&&(e=e()),e},validate:t}}async function tJ({value:e,schema:t,context:n}){let o=await tG({value:e,schema:t,context:n});if(!o.success)throw eN.wrap({value:e,cause:o.error,context:n});return o.value}async function tG({value:e,schema:t,context:n}){var o;let r=null==t?tV({type:"object",properties:{},additionalProperties:!1}):"object"==typeof t&&null!==t&&tK in t&&!0===t[tK]&&"jsonSchema"in t&&"validate"in t?t:"~standard"in t?"zod"===t["~standard"].vendor?function(e){var t,n;let o;if("_zod"in e){let n;return n=(t=void 0,false),tV(()=>tb((0,A.toJSONSchema)(e,{target:"draft-7",io:"input",reused:n?"ref":"inline"})),{validate:async t=>{let n=await (0,C.safeParseAsync)(e,t);return n.success?{success:!0,value:n.data}:{success:!1,error:n.error}}})}return o=(n=void 0,false),tV(()=>((e,t)=>{var n;let o,r,i=(r=void 0!==(o="string"==typeof t?F(D({},tz),{name:t}):D(D({},tz),t)).name?[...o.basePath,o.definitionPath,o.name]:o.basePath,F(D({},o),{currentPath:r,propertyPath:void 0,seen:new Map(Object.entries(o.definitions).map(([e,t])=>[t._def,{def:t._def,path:[...o.basePath,o.definitionPath,e],jsonSchema:void 0}]))})),a="object"==typeof t&&t.definitions?Object.entries(t.definitions).reduce((e,[t,n])=>{var o;return F(D({},e),{[t]:null!=(o=tH(n._def,F(D({},i),{currentPath:[...i.basePath,i.definitionPath,t]}),!0))?o:{}})},{}):void 0,s="string"==typeof t?t:(null==t?void 0:t.nameStrategy)==="title"||null==t?void 0:t.name,l=null!=(n=tH(e._def,void 0===s?i:F(D({},i),{currentPath:[...i.basePath,i.definitionPath,s]}),!1))?n:{},u="object"==typeof t&&void 0!==t.name&&"title"===t.nameStrategy?t.name:void 0;void 0!==u&&(l.title=u);let c=void 0===s?a?F(D({},l),{[i.definitionPath]:a}):l:{$ref:[..."relative"===i.$refStrategy?[]:i.basePath,i.definitionPath,s].join("/"),[i.definitionPath]:F(D({},a),{[s]:l})};return c.$schema="http://json-schema.org/draft-07/schema#",c})(e,{$refStrategy:o?"root":"none"}),{validate:async t=>{let n=await e.safeParseAsync(t);return n.success?{success:!0,value:n.data}:{success:!1,error:n.error}}})}(t):(o=t,tV(()=>{if(null==o["~standard"].jsonSchema)throw Error(`Standard schema vendor '${o["~standard"].vendor}' does not support JSON Schema conversion.`);return tb(o["~standard"].jsonSchema.input({target:"draft-07"}))},{validate:async e=>{let t=await o["~standard"].validate(e);return"value"in t?{success:!0,value:t.value}:{success:!1,error:new eN({value:e,cause:t.issues})}}})):t();try{if(null==r.validate)return{success:!0,value:e,rawValue:e};let t=await r.validate(e);if(t.success)return{success:!0,value:t.value,rawValue:e};return{success:!1,error:eN.wrap({value:e,cause:t.error,context:n}),rawValue:e}}catch(t){return{success:!1,error:eN.wrap({value:e,cause:t,context:n}),rawValue:e}}}async function tY({text:e,schema:t}){try{let n=ty(e);if(null==t)return n;return await tJ({value:n,schema:t})}catch(t){if(e_.isInstance(t)||eN.isInstance(t))throw t;throw new e_({text:e,cause:t})}}async function tZ({text:e,schema:t}){try{let n=ty(e);if(null==t)return{success:!0,value:n,rawValue:n};return await tG({value:n,schema:t})}catch(t){return{success:!1,error:e_.isInstance(t)?t:new e_({text:e,cause:t}),rawValue:void 0}}}function tX(e){try{return ty(e),!0}catch(e){return!1}}async function tQ({provider:e,providerOptions:t,schema:n}){if((null==t?void 0:t[e])==null)return;let o=await tG({value:t[e],schema:n});if(!o.success)throw new es({argument:"providerOptions",message:`invalid ${e} provider options`,cause:o.error});return o.value}var t0=()=>globalThis.fetch,t1=async({url:e,headers:t,body:n,failedResponseHandler:o,successfulResponseHandler:r,abortSignal:i,fetch:a})=>await t2({url:e,headers:D({"Content-Type":"application/json"},t),body:{content:JSON.stringify(n),values:n},failedResponseHandler:o,successfulResponseHandler:r,abortSignal:i,fetch:a}),t2=async({url:e,headers:t={},body:n,successfulResponseHandler:o,failedResponseHandler:r,abortSignal:i,fetch:a=t0()})=>{try{let s=await a(e,{method:"POST",headers:e3(t,`ai-sdk/provider-utils/${e4}`,eX()),body:n.content,signal:i}),l=eZ(s);if(!s.ok){let t;try{t=await r({response:s,url:e,requestBodyValues:n.values})}catch(t){if(eQ(t)||Z.isInstance(t))throw t;throw new Z({message:"Failed to process error response",cause:t,statusCode:s.status,url:e,responseHeaders:l,requestBodyValues:n.values})}throw t.value}try{return await o({response:s,url:e,requestBodyValues:n.values})}catch(t){if(t instanceof Error&&(eQ(t)||Z.isInstance(t)))throw t;throw new Z({message:"Failed to process successful response",cause:t,statusCode:s.status,url:e,responseHeaders:l,requestBodyValues:n.values})}}catch(t){throw e2({error:t,url:e,requestBodyValues:n.values})}},t4=new TextDecoder;async function t3({response:e,url:t}){return t4.decode(await td({response:e,url:t}))}var t5=e=>async({response:t,url:n,requestBodyValues:o})=>{let r=eZ(t);if(null==t.body)throw new et({});return{responseHeaders:r,value:function({stream:e,schema:t}){return e.pipeThrough(new TextDecoderStream).pipeThrough(new eW).pipeThrough(new TransformStream({async transform({data:e},n){"[DONE]"!==e&&n.enqueue(await tZ({text:e,schema:t}))}}))}({stream:function({stream:e,url:t,requestBodyValues:n,statusCode:o,responseHeaders:r}){let i=e.getReader(),a=!1,s=()=>{a||(i.releaseLock(),a=!0)};return new ReadableStream({async pull(e){try{let{done:t,value:n}=await i.read();t?(s(),e.close()):e.enqueue(n)}catch(i){if(s(),eQ(i))return void e.error(i);e.error(e2({error:new Z({message:"Failed to process successful response",cause:i,statusCode:o,url:t,responseHeaders:r,requestBodyValues:n}),url:t,requestBodyValues:n}))}},async cancel(e){try{await i.cancel(e)}finally{s()}}})}({stream:t.body,url:n,requestBodyValues:o,statusCode:t.status,responseHeaders:r}),schema:e})}},t6=e=>async({response:t,url:n,requestBodyValues:o})=>{let r=await t3({response:t,url:n}),i=await tZ({text:r,schema:e}),a=eZ(t);if(!i.success)throw new Z({message:"Invalid JSON response",cause:i.error,statusCode:t.status,responseHeaders:a,responseBody:r,url:n,requestBodyValues:o});return{responseHeaders:a,value:i.value,rawValue:i.rawValue}},t9=Symbol.for("vercel.ai.error.AI_SerializationError");function t8(e){return null==e?void 0:e.replace(/\/$/,"")}function t7(e){return null!=e}var ne=((t=ne||{}).Unknown="unknown",t.OpenAIResponsesV1="openai-responses-v1",t.AzureOpenAIResponsesV1="azure-openai-responses-v1",t.XAIResponsesV1="xai-responses-v1",t.AnthropicClaudeV1="anthropic-claude-v1",t.GoogleGeminiV1="google-gemini-v1",t),nt=j.z.object({id:j.z.string().nullish(),format:j.z.enum(ne).nullish(),index:j.z.number().optional()}).loose(),nn=j.z.object({type:j.z.literal("reasoning.summary"),summary:j.z.string()}).extend(nt.shape),no=j.z.object({type:j.z.literal("reasoning.encrypted"),data:j.z.string()}).extend(nt.shape),nr=j.z.object({type:j.z.literal("reasoning.text"),text:j.z.string().nullish(),signature:j.z.string().nullish()}).extend(nt.shape),ni=j.z.union([nn,no,nr]),na=j.z.union([ni,j.z.unknown().transform(()=>null)]),ns=j.z.array(na).transform(e=>e.filter(e=>!!e));j.z.union([j.z.object({delta:j.z.object({reasoning_details:j.z.array(na)})}).transform(e=>e.delta.reasoning_details.filter(t7)),j.z.object({message:j.z.object({reasoning_details:j.z.array(na)})}).transform(e=>e.message.reasoning_details.filter(t7)),j.z.object({text:j.z.string(),reasoning_details:j.z.array(na)}).transform(e=>e.reasoning_details.filter(t7))]);var nl=j.z.object({error:j.z.object({code:j.z.union([j.z.string(),j.z.number()]).nullable().optional().default(null),message:j.z.string(),type:j.z.string().nullable().optional().default(null),param:j.z.any().nullable().optional().default(null)}).passthrough()}).passthrough(),nu=(({errorSchema:e,errorToMessage:t,isRetryable:n})=>async({response:o,url:r,requestBodyValues:i})=>{let a=await t3({response:o,url:r}),s=eZ(o);if(""===a.trim())return{responseHeaders:s,value:new Z({message:o.statusText,url:r,requestBodyValues:i,statusCode:o.status,responseHeaders:s,responseBody:a,isRetryable:null==n?void 0:n(o)})};try{let l=await tY({text:a,schema:e});return{responseHeaders:s,value:new Z({message:t(l),url:r,requestBodyValues:i,statusCode:o.status,responseHeaders:s,responseBody:a,data:l,isRetryable:null==n?void 0:n(o,l)})}}catch(e){return{responseHeaders:s,value:new Z({message:o.statusText,url:r,requestBodyValues:i,statusCode:o.status,responseHeaders:s,responseBody:a,isRetryable:null==n?void 0:n(o)})}}})({errorSchema:nl,errorToMessage:function(e){let t=e.error.metadata;if(!t)return e.error.message;let n=[];"string"==typeof t.provider_name&&t.provider_name&&n.push(`[${t.provider_name}]`);let o=function e(t){if("string"==typeof t)try{let n=JSON.parse(t);if("object"==typeof n&&null!==n)return e(n);return t}catch(e){return t}if("object"==typeof t&&null!==t)for(let n of["message","error","detail","details","msg"]){let o=t[n];if("string"==typeof o&&o.length>0)return o;if("object"==typeof o&&null!==o){let t=e(o);if(t)return t}}}(t.raw);return o&&o!==e.error.message?n.push(o):n.push(e.error.message),n.join(" ")}}),nc=j.z.object({type:j.z.literal("file"),file:j.z.object({hash:j.z.string(),name:j.z.string(),content:j.z.array(j.z.object({type:j.z.string(),text:j.z.string().optional()}).catchall(j.z.any())).optional()}).catchall(j.z.any())}).catchall(j.z.any()),nd=j.z.object({provider:j.z.string(),reasoning_details:j.z.array(ni).optional(),annotations:j.z.array(nc).optional(),usage:j.z.object({promptTokens:j.z.number(),promptTokensDetails:j.z.object({cachedTokens:j.z.number()}).catchall(j.z.any()).optional(),completionTokens:j.z.number(),completionTokensDetails:j.z.object({reasoningTokens:j.z.number()}).catchall(j.z.any()).optional(),totalTokens:j.z.number(),cost:j.z.number().optional(),costDetails:j.z.object({upstreamInferenceCost:j.z.number()}).catchall(j.z.any()).optional()}).catchall(j.z.any())}).catchall(j.z.any()),np=j.z.object({openrouter:j.z.object({reasoning_details:ns.optional(),annotations:j.z.array(nc).optional()}).optional()}).optional();function nh(e){var t,n,o,r,i,a,s,l;let u=null!=(t=e.prompt_tokens)?t:0,c=null!=(n=e.completion_tokens)?n:0,d=null!=(r=null==(o=e.prompt_tokens_details)?void 0:o.cached_tokens)?r:0,p=null!=(a=null==(i=e.prompt_tokens_details)?void 0:i.cache_write_tokens)?a:void 0,h=null!=(l=null==(s=e.completion_tokens_details)?void 0:s.reasoning_tokens)?l:0;return{inputTokens:{total:u,noCache:u-d,cacheRead:d,cacheWrite:p},outputTokens:{total:c,text:c-h,reasoning:h},raw:e}}function nm(){return{inputTokens:{total:0,noCache:void 0,cacheRead:void 0,cacheWrite:void 0},outputTokens:{total:0,text:void 0,reasoning:void 0},raw:void 0}}function ng(e){return{unified:function(e){switch(e){case"stop":return"stop";case"length":return"length";case"content_filter":return"content-filter";case"function_call":case"tool_calls":return"tool-calls";default:return"other"}}(e),raw:null!=e?e:void 0}}function nf(e,t){return{unified:e,raw:t}}function ny(e,t){let n=e.getReader();return new ReadableStream({async pull(e){try{let{done:t,value:o}=await n.read();t?e.close():e.enqueue(o)}catch(o){t(o),n.cancel().catch(()=>{}),e.close()}},cancel(e){n.cancel(e)}})}var nb=class{constructor(){((e,t,n)=>t.has(e)?U("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(e):t.set(e,n))(this,E,new Set)}upsert(e){let t=this.getCanonicalKey(e);return!(null===t||B(this,E).has(t))&&(B(this,E).add(t),!0)}getCanonicalKey(e){switch(e.type){case"reasoning.summary":return e.summary;case"reasoning.encrypted":if(e.id)return e.id;return e.data;case"reasoning.text":if(e.text)return e.text;if(e.signature)return e.signature;return null;default:return null}}};E=new WeakMap;var n_=["wav","mp3","aiff","aac","ogg","flac","m4a","pcm16","pcm24"];function nw({url:e,protocols:t}){try{let n=new URL(e);return t.has(n.protocol)}catch(e){return!1}}function nz({data:e,mediaType:t,defaultMediaType:n}){if(e instanceof Uint8Array){let o=function(e){let t=[];for(let n=0;n<e.length;n+=4096)t.push(String.fromCodePoint(...e.subarray(n,n+4096)));return eG(t.join(""))}(e);return`data:${null!=t?t:n};base64,${o}`}let o=e.toString();return nw({url:o,protocols:new Set(["http:","https:"])})||o.startsWith("data:")?o:`data:${null!=t?t:n};base64,${o}`}function nv({part:e,defaultMediaType:t}){return nk({data:e.data,mediaType:e.mediaType,defaultMediaType:t})}function nk({data:e,mediaType:t,defaultMediaType:n}){switch(e.type){case"data":return nz({data:e.data,mediaType:t,defaultMediaType:n});case"url":{let t=e.url.toString();if(t.startsWith("data:")||nw({url:t,protocols:new Set(["http:","https:"])}))return t;throw Error("Only http(s) and data: file URLs are supported by OpenRouter")}case"text":return nz({data:new TextEncoder().encode(e.text),mediaType:null!=t?t:"text/plain",defaultMediaType:n});case"reference":throw Error("Provider file references are not supported by OpenRouter")}return nz({data:e,mediaType:t,defaultMediaType:n})}function nx(e,t){var n;let o=e.match(/^data:([^;]+)/);return o&&null!=(n=o[1])?n:t}function nS(e){let t=e.match(/^data:[^;]*;base64,(.+)$/);return t?t[1]:e}var nT={mpeg:"mp3",mp3:"mp3","x-wav":"wav",wave:"wav",wav:"wav",ogg:"ogg",vorbis:"ogg",aac:"aac","x-aac":"aac",m4a:"m4a","x-m4a":"m4a",mp4:"m4a",aiff:"aiff","x-aiff":"aiff",flac:"flac","x-flac":"flac",pcm16:"pcm16",pcm24:"pcm24"};function nI(e){var t,n,o;let r=null==e?void 0:e.anthropic,i=null==e?void 0:e.openrouter;return null!=(o=null!=(n=null!=(t=null==i?void 0:i.cacheControl)?t:null==i?void 0:i.cache_control)?n:null==r?void 0:r.cacheControl)?o:null==r?void 0:r.cache_control}j.z.union([j.z.literal("auto"),j.z.literal("none"),j.z.literal("required"),j.z.object({type:j.z.literal("function"),function:j.z.object({name:j.z.string()})})]);var nO=j.z.object({type:j.z.literal("image_url"),image_url:j.z.object({url:j.z.string()}).passthrough()}).passthrough(),nE=j.z.union([nO,j.z.unknown().transform(()=>null)]),nC=j.z.array(nE).transform(e=>e.filter(e=>!!e)),nA=j.z.object({id:j.z.string().optional(),model:j.z.string().optional(),provider:j.z.string().optional(),usage:j.z.object({prompt_tokens:j.z.number(),prompt_tokens_details:j.z.object({cached_tokens:j.z.number(),cache_write_tokens:j.z.number().nullish()}).passthrough().nullish(),completion_tokens:j.z.number(),completion_tokens_details:j.z.object({reasoning_tokens:j.z.number()}).passthrough().nullish(),total_tokens:j.z.number(),cost:j.z.number().optional(),cost_details:j.z.object({upstream_inference_cost:j.z.number().nullish()}).passthrough().nullish()}).passthrough().nullish()}).passthrough(),nj=j.z.union([nA.extend({choices:j.z.array(j.z.object({message:j.z.object({role:j.z.literal("assistant"),content:j.z.string().nullable().optional(),reasoning:j.z.string().nullable().optional(),reasoning_details:ns.nullish(),images:nC.nullish(),tool_calls:j.z.array(j.z.object({id:j.z.string().optional().nullable(),type:j.z.literal("function"),function:j.z.object({name:j.z.string(),arguments:j.z.string().optional()}).passthrough()}).passthrough()).optional(),annotations:j.z.array(j.z.union([j.z.object({type:j.z.literal("url_citation"),url_citation:j.z.object({url:j.z.string(),title:j.z.string().optional(),start_index:j.z.number().optional(),end_index:j.z.number().optional(),content:j.z.string().optional()}).passthrough()}).passthrough(),j.z.object({type:j.z.literal("file_annotation"),file_annotation:j.z.object({file_id:j.z.string(),quote:j.z.string().optional()}).passthrough()}).passthrough(),j.z.object({type:j.z.literal("file"),file:j.z.object({hash:j.z.string(),name:j.z.string(),content:j.z.array(j.z.object({type:j.z.string(),text:j.z.string().optional()}).passthrough()).optional()}).passthrough()}).passthrough()])).nullish()}).passthrough(),index:j.z.number().nullish(),logprobs:j.z.object({content:j.z.array(j.z.object({token:j.z.string(),logprob:j.z.number(),top_logprobs:j.z.array(j.z.object({token:j.z.string(),logprob:j.z.number()}).passthrough())}).passthrough()).nullable()}).passthrough().nullable().optional(),finish_reason:j.z.string().optional().nullable()}).passthrough())}),nl.extend({user_id:j.z.string().optional()})]),nR=j.z.union([nA.extend({choices:j.z.array(j.z.object({delta:j.z.object({role:j.z.enum(["assistant"]).optional(),content:j.z.string().nullish(),reasoning:j.z.string().nullish().optional(),reasoning_details:ns.nullish(),images:nC.nullish(),tool_calls:j.z.array(j.z.object({index:j.z.number().nullish(),id:j.z.string().nullish(),type:j.z.literal("function").optional(),function:j.z.object({name:j.z.string().nullish(),arguments:j.z.string().nullish()}).passthrough()}).passthrough()).nullish(),annotations:j.z.array(j.z.union([j.z.object({type:j.z.literal("url_citation"),url_citation:j.z.object({url:j.z.string(),title:j.z.string().optional(),start_index:j.z.number().optional(),end_index:j.z.number().optional(),content:j.z.string().optional()}).passthrough()}).passthrough(),j.z.object({type:j.z.literal("file_annotation"),file_annotation:j.z.object({file_id:j.z.string(),quote:j.z.string().optional()}).passthrough()}).passthrough(),j.z.object({type:j.z.literal("file"),file:j.z.object({hash:j.z.string(),name:j.z.string(),content:j.z.array(j.z.object({type:j.z.string(),text:j.z.string().optional()}).passthrough()).optional()}).passthrough()}).passthrough()])).nullish()}).passthrough().nullish(),logprobs:j.z.object({content:j.z.array(j.z.object({token:j.z.string(),logprob:j.z.number(),top_logprobs:j.z.array(j.z.object({token:j.z.string(),logprob:j.z.number()}).passthrough())}).passthrough()).nullable()}).passthrough().nullish(),finish_reason:j.z.string().nullable().optional(),index:j.z.number().nullish()}).passthrough())}),nl]),n$=class{constructor(e,t,n){this.specificationVersion="v4",this.provider="openrouter",this.defaultObjectGenerationMode="tool",this.supportsImageUrls=!0,this.supportedUrls={"image/*":[/^data:image\/[a-zA-Z]+;base64,/,/^https?:\/\/.+\.(jpg|jpeg|png|gif|webp)(?:[?#].*)?$/i],"application/*":[/^data:application\//,/^https?:\/\/.+$/]},this.modelId=e,this.settings=t,this.config=n}getArgs({prompt:e,maxOutputTokens:t,temperature:n,topP:o,frequencyPenalty:r,presencePenalty:i,seed:a,stopSequences:s,responseFormat:l,topK:u,tools:c,toolChoice:d}){var p,h,m,g;let f=D(D({model:this.modelId,models:this.settings.models,logit_bias:this.settings.logitBias,logprobs:!0===this.settings.logprobs||"number"==typeof this.settings.logprobs||void 0,top_logprobs:"number"==typeof this.settings.logprobs?this.settings.logprobs:"boolean"==typeof this.settings.logprobs&&this.settings.logprobs?0:void 0,user:this.settings.user,parallel_tool_calls:this.settings.parallelToolCalls,max_tokens:null!=t?t:this.settings.maxTokens,temperature:null!=n?n:this.settings.temperature,top_p:null!=o?o:this.settings.topP,frequency_penalty:null!=r?r:this.settings.frequencyPenalty,presence_penalty:null!=i?i:this.settings.presencePenalty,seed:a,stop:s,response_format:(null==l?void 0:l.type)==="json"?null!=l.schema?{type:"json_schema",json_schema:D({schema:l.schema,strict:null==(h=null==(p=this.settings.structuredOutputs)?void 0:p.strict)||h,name:null!=(m=l.name)?m:"response"},l.description&&{description:l.description})}:{type:"json_object"}:void 0,top_k:null!=u?u:this.settings.topK,messages:function(e){var t,n,o,r,i,a,s,l;let u=[],c=new nb;for(let{role:d,content:p,providerOptions:h}of e)switch(d){case"system":{let e=nI(h);u.push({role:"system",content:[D({type:"text",text:p},e&&{cache_control:e})]});break}case"user":{if(1===p.length&&(null==(t=p[0])?void 0:t.type)==="text"){let e=null!=(n=nI(h))?n:nI(p[0].providerOptions),t=e?[{type:"text",text:p[0].text,cache_control:e}]:p[0].text;u.push({role:"user",content:t});break}let e=nI(h),r=-1;for(let e=p.length-1;e>=0;e--)if((null==(o=p[e])?void 0:o.type)==="text"){r=e;break}let i=p.map((t,n)=>{var o,i,a,s,l,u,c;let d="text"===t.type&&n===r,p=nI(t.providerOptions),h="text"===t.type?null!=p?p:d?e:void 0:p;switch(t.type){case"text":return D({type:"text",text:t.text},h&&{cache_control:h});case"file":{if(null==(o=t.mediaType)?void 0:o.startsWith("image/"))return D({type:"image_url",image_url:{url:nv({part:t,defaultMediaType:"image/jpeg"})}},h&&{cache_control:h});if(null==(i=t.mediaType)?void 0:i.startsWith("video/"))return D({type:"video_url",video_url:{url:nv({part:t,defaultMediaType:"video/mp4"})}},h&&{cache_control:h});if(null==(a=t.mediaType)?void 0:a.startsWith("audio/"))return D({type:"input_audio",input_audio:function(e){let t=nv({part:e,defaultMediaType:"audio/mpeg"});if(nw({url:t,protocols:new Set(["http:","https:"])}))throw Error(`Audio files cannot be provided as URLs.
|
|
184
184
|
|
|
185
185
|
OpenRouter requires audio to be base64-encoded. Please:
|
|
186
186
|
1. Download the audio file locally
|
|
@@ -193,7 +193,7 @@ Learn more: https://openrouter.ai/docs/features/multimodal/audio`);let n=nS(t),o
|
|
|
193
193
|
|
|
194
194
|
OpenRouter supports the following audio formats: ${e}
|
|
195
195
|
|
|
196
|
-
Learn more: https://openrouter.ai/docs/features/multimodal/audio`)}return{data:n,format:r}}(t)},h&&{cache_control:h});let e=String(null!=(c=null!=(u=null==(l=null==(s=t.providerOptions)?void 0:s.openrouter)?void 0:l.filename)?u:t.filename)?c:""),n=nv({part:t,defaultMediaType:"application/pdf"});if(nz({url:n,protocols:new Set(["http:","https:"])}))return{type:"file",file:{filename:e,file_data:n}};return D({type:"file",file:{filename:e,file_data:n}},h&&{cache_control:h})}default:return D({type:"text",text:""},h&&{cache_control:h})}});u.push({role:"user",content:i});break}case"assistant":{let e,t="",n="",o=[];for(let e of p)switch(e.type){case"text":t+=e.text;break;case"tool-call":o.push({id:e.toolCallId,type:"function",function:{name:e.toolName,arguments:JSON.stringify(function e(t){if(null==t)return t;if(Array.isArray(t))return t.map(e);if("object"==typeof t){let n={},o=Object.entries(t);for(let[t,r]of(o.sort(([e],[t])=>e.localeCompare(t)),o))n[t]=e(r);return n}return t}(e.input))}});break;case"reasoning":n+=e.text}let l=np.safeParse(h),d=l.success?null==(i=null==(r=l.data)?void 0:r.openrouter)?void 0:i.reasoning_details:void 0,m=l.success?null==(s=null==(a=l.data)?void 0:a.openrouter)?void 0:s.annotations:void 0,g=d&&Array.isArray(d)?d:function(e){var t,n,o,r;for(let o of e)if("tool-call"===o.type){let e=np.safeParse(o.providerOptions);if(e.success&&(null==(n=null==(t=e.data)?void 0:t.openrouter)?void 0:n.reasoning_details)&&e.data.openrouter.reasoning_details.length>0)return e.data.openrouter.reasoning_details}for(let t of e)if("reasoning"===t.type){let e=np.safeParse(t.providerOptions);if(e.success&&(null==(r=null==(o=e.data)?void 0:o.openrouter)?void 0:r.reasoning_details)&&e.data.openrouter.reasoning_details.length>0)return e.data.openrouter.reasoning_details}}(p);if(g){let t=g.filter(e=>{var t;if("reasoning.text"!==e.type)return!0;let n=null!=(t=e.format)?t:"anthropic-claude-v1";return"anthropic-claude-v1"!==n&&"google-gemini-v1"!==n||!!e.signature});if(t.length<g.length){let e=globalThis.AI_SDK_LOG_WARNINGS;!1!==e&&"function"!=typeof e&&console.warn("[openrouter] Some reasoning_details entries were removed because they were missing signatures. See https://github.com/OpenRouterTeam/ai-sdk-provider/issues/423 and https://github.com/OpenRouterTeam/ai-sdk-provider/issues/418 for more details.")}let n=[];for(let e of t)c.upsert(e)&&n.push(e);e=n}let f=n&&e&&e.length>0?n:void 0;u.push({role:"assistant",content:t||null,tool_calls:o.length>0?o:void 0,reasoning:f,reasoning_details:e,annotations:m,cache_control:nI(h)});break}case"tool":for(let e of p){if("tool-approval-response"===e.type)continue;let t=function(e){var t;switch(e.output.type){case"text":case"error-text":return e.output.value;case"json":case"error-json":return JSON.stringify(e.output.value);case"content":return e.output.value.map(e=>{var t,n,o,r;switch(e.type){case"text":return{type:"text",text:e.text};case"file":{let i=nk({data:e.data,mediaType:e.mediaType,defaultMediaType:"application/octet-stream"});if(null==(t=e.mediaType)?void 0:t.startsWith("image/"))return{type:"image_url",image_url:{url:i}};if(null==(n=e.mediaType)?void 0:n.startsWith("video/"))return{type:"video_url",video_url:{url:i}};if(null==(o=e.mediaType)?void 0:o.startsWith("audio/")){let t=nT[e.mediaType.replace("audio/","")];if(void 0!==t)return{type:"input_audio",input_audio:{data:nS(i),format:t}}}return{type:"file",file:{filename:null!=(r=e.filename)?r:"",file_data:i}}}default:return{type:"text",text:JSON.stringify(e)}}});case"execution-denied":return null!=(t=e.output.reason)?t:"Tool execution denied"}}(e);u.push({role:"tool",tool_call_id:e.toolCallId,content:t,name:e.toolName,cache_control:null!=(l=nI(h))?l:nI(e.providerOptions)})}}return u}(e),include_reasoning:this.settings.includeReasoning,reasoning:this.settings.reasoning,usage:this.settings.usage,plugins:this.settings.plugins,web_search_options:this.settings.web_search_options,provider:this.settings.provider,debug:this.settings.debug,cache_control:this.settings.cache_control},this.config.extraBody),this.settings.extraBody);if(c&&c.length>0){let e=[];for(let t of c)if("function"===t.type){let n=null==(g=t.providerOptions)?void 0:g.openrouter,o=null==n?void 0:n.eager_input_streaming;e.push(D({type:"function",function:{name:t.name,description:t.description,parameters:t.inputSchema}},null!=o&&{eager_input_streaming:o}))}else"provider"===t.type&&e.push(function(e){let[t,n]=e.id.split("."),o=`${t}:${n}`,r={};for(let[t,n]of Object.entries(e.args))void 0!==n&&(r[t.replace(/[A-Z]/g,e=>`_${e.toLowerCase()}`)]=n);return D({type:o},r)}(t));return F(D({},f),{tools:e,tool_choice:d?function(e){switch(e.type){case"auto":case"none":case"required":return e.type;case"tool":return{type:"function",function:{name:e.toolName}};default:throw new es({argument:"toolChoice",message:`Invalid tool choice type: ${JSON.stringify(e)}`})}}(d):void 0})}return f}async doGenerate(e){var t,n,o,r,i,a,s,l,u,c,d,p,h,m,g,f,y,b,_,z,w;let v=(e.providerOptions||{}).openrouter||{},{cacheControl:k}=v,x=H(v,["cacheControl"]),S=D(D(D({},this.getArgs(e)),x),null==k||"cache_control"in x?{}:{cache_control:k}),{value:T,responseHeaders:I}=await t1({url:this.config.url({path:"/chat/completions",modelId:this.modelId}),headers:eK(this.config.headers(),e.headers),body:S,failedResponseHandler:nu,successfulResponseHandler:t6(nj),abortSignal:e.abortSignal,fetch:this.config.fetch});if("error"in T){let e=T.error;throw new Z({message:e.message,url:this.config.url({path:"/chat/completions",modelId:this.modelId}),requestBodyValues:S,statusCode:200,responseHeaders:I,data:e})}let O=T.choices[0];if(!O)throw new eA({message:"No choice in response"});let E=T.usage?nh(T.usage):nm(),C=null!=(t=O.message.reasoning_details)?t:[],A=C.length>0?C.map(e=>{switch(e.type){case"reasoning.text":if(e.text)return{type:"reasoning",text:e.text,providerMetadata:{openrouter:{reasoning_details:[e]}}};break;case"reasoning.summary":if(e.summary)return{type:"reasoning",text:e.summary,providerMetadata:{openrouter:{reasoning_details:[e]}}}}return null}).filter(e=>null!==e):O.message.reasoning?[{type:"reasoning",text:O.message.reasoning}]:[],j=[];if(j.push(...A),O.message.content&&j.push({type:"text",text:O.message.content}),O.message.tool_calls){let e=!1,t=new Set;for(let o of O.message.tool_calls){let r=o.id;(!r||t.has(r))&&(r=tp()),t.add(r),j.push({type:"tool-call",toolCallId:r,toolName:o.function.name,input:null!=(n=o.function.arguments)?n:"{}",providerMetadata:e?void 0:{openrouter:{reasoning_details:C}}}),e=!0}}if(O.message.images)for(let e of O.message.images)j.push({type:"file",mediaType:nx(e.image_url.url,"image/jpeg"),data:{type:"data",data:nS(e.image_url.url)}});if(O.message.annotations)for(let e of O.message.annotations)"url_citation"===e.type&&j.push({type:"source",sourceType:"url",id:e.url_citation.url,url:e.url_citation.url,title:null!=(o=e.url_citation.title)?o:"",providerMetadata:{openrouter:{content:null!=(r=e.url_citation.content)?r:"",startIndex:null!=(i=e.url_citation.start_index)?i:0,endIndex:null!=(a=e.url_citation.end_index)?a:0}}});let R=null==(s=O.message.annotations)?void 0:s.filter(e=>"file"===e.type),$=O.message.tool_calls&&O.message.tool_calls.length>0,M=C.some(e=>"reasoning.encrypted"===e.type&&e.data),N=$&&M&&"stop"===O.finish_reason?nf("tool-calls",null!=(l=O.finish_reason)?l:void 0):ng(O.finish_reason);return{content:j,finishReason:$&&"other"===N.unified?nf("tool-calls",N.raw):N,usage:E,warnings:[],providerMetadata:{openrouter:nd.parse({provider:null!=(u=T.provider)?u:"",reasoning_details:null!=(c=O.message.reasoning_details)?c:[],annotations:R&&R.length>0?R:void 0,usage:D(D(D(D({promptTokens:null!=(d=E.inputTokens.total)?d:0,completionTokens:null!=(p=E.outputTokens.total)?p:0,totalTokens:(null!=(h=E.inputTokens.total)?h:0)+(null!=(m=E.outputTokens.total)?m:0)},(null==(g=T.usage)?void 0:g.cost)!=null?{cost:T.usage.cost}:{}),(null==(y=null==(f=T.usage)?void 0:f.prompt_tokens_details)?void 0:y.cached_tokens)!=null?{promptTokensDetails:{cachedTokens:T.usage.prompt_tokens_details.cached_tokens}}:{}),(null==(_=null==(b=T.usage)?void 0:b.completion_tokens_details)?void 0:_.reasoning_tokens)!=null?{completionTokensDetails:{reasoningTokens:T.usage.completion_tokens_details.reasoning_tokens}}:{}),(null==(w=null==(z=T.usage)?void 0:z.cost_details)?void 0:w.upstream_inference_cost)!=null?{costDetails:{upstreamInferenceCost:T.usage.cost_details.upstream_inference_cost}}:{})})},request:{body:S},response:{id:T.id,modelId:T.model,headers:I,body:T}}}async doStream(e){var t;let n,o,r,i,a,s,l=(e.providerOptions||{}).openrouter||{},{cacheControl:u}=l,c=H(l,["cacheControl"]),d=D(D(D({},this.getArgs(e)),c),null==u||"cache_control"in c?{}:{cache_control:u}),{value:p,responseHeaders:h}=await t1({url:this.config.url({path:"/chat/completions",modelId:this.modelId}),headers:eK(this.config.headers(),e.headers),body:F(D({},d),{stream:!0,stream_options:"strict"===this.config.compatibility?D({include_usage:!0},(null==(t=this.settings.usage)?void 0:t.include)?{include_usage:!0}:{}):void 0}),failedResponseHandler:nu,successfulResponseHandler:t5(nR),abortSignal:e.abortSignal,fetch:this.config.fetch}),m=ny(p,e=>{n=e}),g=[],f=new Set,y=nf("other"),b={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},_={},z=[],w=!1,v=[],k=!1,x=!1,S=[];return{stream:m.pipeThrough(new TransformStream({start(e){e.enqueue({type:"stream-start",warnings:S})},transform(t,n){var l,u,c,d,p,h,m,S,T,I,O,E,C,A,j,R,$,M,N,L,P;if(e.includeRawChunks&&n.enqueue({type:"raw",rawValue:t.rawValue}),!t.success){y=nf("error"),n.enqueue({type:"error",error:t.error});return}let U=t.value;if("error"in U){y=nf("error"),n.enqueue({type:"error",error:U.error});return}if(U.provider&&(s=U.provider),U.id&&(a=U.id,n.enqueue({type:"response-metadata",id:U.id})),U.model&&n.enqueue({type:"response-metadata",modelId:U.model}),null!=U.usage){let e=nh(U.usage);Object.assign(b.inputTokens,e.inputTokens),Object.assign(b.outputTokens,e.outputTokens),o=U.usage;let t=null!=(l=U.usage.prompt_tokens)?l:0,n=null!=(u=U.usage.completion_tokens)?u:0;_.promptTokens=t,U.usage.prompt_tokens_details&&(_.promptTokensDetails={cachedTokens:null!=(c=U.usage.prompt_tokens_details.cached_tokens)?c:0}),_.completionTokens=n,U.usage.completion_tokens_details&&(_.completionTokensDetails={reasoningTokens:null!=(d=U.usage.completion_tokens_details.reasoning_tokens)?d:0}),null!=U.usage.cost&&(_.cost=U.usage.cost),_.totalTokens=U.usage.total_tokens;let r=null==(p=U.usage.cost_details)?void 0:p.upstream_inference_cost;null!=r&&(_.costDetails={upstreamInferenceCost:r})}let q=U.choices[0];if((null==q?void 0:q.finish_reason)!=null&&(y=ng(q.finish_reason)),(null==q?void 0:q.delta)==null)return;let F=q.delta,H=e=>{x||(i=tp(),n.enqueue({type:"reasoning-start",id:i}),x=!0),n.enqueue({type:"reasoning-delta",delta:e,id:i||tp()})};if(F.reasoning_details&&F.reasoning_details.length>0){for(let e of F.reasoning_details){let t=z[z.length-1];"reasoning.text"===e.type?(null==t?void 0:t.type)==="reasoning.text"?(t.text=(t.text||"")+(e.text||""),t.signature=t.signature||e.signature,t.format=t.format||e.format):z.push(D({},e)):"reasoning.summary"===e.type?(null==t?void 0:t.type)==="reasoning.summary"?(t.summary=(t.summary||"")+(e.summary||""),t.format=t.format||e.format):z.push(D({},e)):z.push(e)}if(!k)for(let e of F.reasoning_details)switch(e.type){case"reasoning.text":H(e.text||"");break;case"reasoning.encrypted":break;case"reasoning.summary":e.summary&&H(e.summary)}}else F.reasoning&&!k&&H(F.reasoning);if(F.content&&(x&&!k&&(n.enqueue({type:"reasoning-end",id:i||tp(),providerMetadata:{openrouter:{reasoning_details:z}}}),x=!1),k||(r=a||tp(),n.enqueue({type:"text-start",id:r}),k=!0),n.enqueue({type:"text-delta",delta:F.content,id:r||tp()})),F.annotations){for(let e of F.annotations)if("url_citation"===e.type)n.enqueue({type:"source",sourceType:"url",id:e.url_citation.url,url:e.url_citation.url,title:null!=(h=e.url_citation.title)?h:"",providerMetadata:{openrouter:{content:null!=(m=e.url_citation.content)?m:"",startIndex:null!=(S=e.url_citation.start_index)?S:0,endIndex:null!=(T=e.url_citation.end_index)?T:0}}});else if("file"===e.type){let t=e.file;t&&"object"==typeof t&&"hash"in t&&"name"in t&&v.push(e)}}if(null!=F.tool_calls)for(let e of F.tool_calls){let t=null!=(I=e.index)?I:g.length-1;if(null==g[t]){if("function"!==e.type)throw new eg({data:e,message:"Expected 'function' type."});if((null==(O=e.function)?void 0:O.name)==null)throw new eg({data:e,message:"Expected 'function.name' to be a string."});let o=null!=(E=e.id)?E:"";(!o||f.has(o))&&(o=tp()),f.add(o),g[t]={id:o,type:"function",function:{name:e.function.name,arguments:null!=(C=e.function.arguments)?C:""},inputStarted:!1,sent:!1};let r=g[t];if(null==r)throw new eg({data:{index:t,toolCallsLength:g.length},message:`Tool call at index ${t} is missing after creation.`});(null==(A=r.function)?void 0:A.name)!=null&&(null==(j=r.function)?void 0:j.arguments)!=null&&tX(r.function.arguments)&&(r.inputStarted=!0,n.enqueue({type:"tool-input-start",id:r.id,toolName:r.function.name}),n.enqueue({type:"tool-input-delta",id:r.id,delta:r.function.arguments}),n.enqueue({type:"tool-input-end",id:r.id}),n.enqueue({type:"tool-call",toolCallId:r.id,toolName:r.function.name,input:r.function.arguments,providerMetadata:w?void 0:{openrouter:{reasoning_details:z}}}),w=!0,r.sent=!0);continue}let o=g[t];if(null==o)throw new eg({data:{index:t,toolCallsLength:g.length,toolCallDelta:e},message:`Tool call at index ${t} is missing during merge.`});!o.inputStarted&&(o.inputStarted=!0,n.enqueue({type:"tool-input-start",id:o.id,toolName:o.function.name}),o.function.arguments&&n.enqueue({type:"tool-input-delta",id:o.id,delta:o.function.arguments})),(null==(R=e.function)?void 0:R.arguments)!=null&&(o.function.arguments+=null!=(M=null==($=e.function)?void 0:$.arguments)?M:""),n.enqueue({type:"tool-input-delta",id:o.id,delta:null!=(N=e.function.arguments)?N:""}),!o.sent&&(null==(L=o.function)?void 0:L.name)!=null&&(null==(P=o.function)?void 0:P.arguments)!=null&&tX(o.function.arguments)&&(n.enqueue({type:"tool-input-end",id:o.id}),n.enqueue({type:"tool-call",toolCallId:o.id,toolName:o.function.name,input:o.function.arguments,providerMetadata:w?void 0:{openrouter:{reasoning_details:z}}}),w=!0,o.sent=!0)}if(null!=F.images)for(let e of F.images)n.enqueue({type:"file",mediaType:nx(e.image_url.url,"image/jpeg"),data:{type:"data",data:nS(e.image_url.url)}})},flush(e){let t=g.length>0;null!=n&&(y=nf("error"),e.enqueue({type:"error",error:n}));let a=z.some(e=>"reasoning.encrypted"===e.type&&e.data);if(t&&a&&"stop"===y.unified&&(y=nf("tool-calls",y.raw)),t&&"other"===y.unified&&(y=nf("tool-calls",y.raw)),"tool-calls"===y.unified){for(let t of g)if(t&&!t.sent){let n=tX(t.function.arguments)?t.function.arguments:"{}";t.inputStarted||(e.enqueue({type:"tool-input-start",id:t.id,toolName:t.function.name}),e.enqueue({type:"tool-input-delta",id:t.id,delta:n})),e.enqueue({type:"tool-input-end",id:t.id}),e.enqueue({type:"tool-call",toolCallId:t.id,toolName:t.function.name,input:n,providerMetadata:w?void 0:{openrouter:{reasoning_details:z}}}),w=!0,t.sent=!0}}x&&e.enqueue({type:"reasoning-end",id:i||tp(),providerMetadata:{openrouter:{reasoning_details:z}}}),k&&e.enqueue({type:"text-end",id:r||tp()});let l={usage:_};void 0!==s&&(l.provider=s),l.reasoning_details=z,v.length>0&&(l.annotations=v),void 0===b.inputTokens.total&&void 0!==_.promptTokens&&(b.inputTokens.total=_.promptTokens),void 0===b.outputTokens.total&&void 0!==_.completionTokens&&(b.outputTokens.total=_.completionTokens),b.raw=o,e.enqueue({type:"finish",finishReason:y,usage:b,providerMetadata:{openrouter:l}})}})),warnings:S,request:{body:d},response:{headers:h}}}},nM=j.z.union([j.z.object({id:j.z.string().optional(),model:j.z.string().optional(),provider:j.z.string().optional(),choices:j.z.array(j.z.object({text:j.z.string(),reasoning:j.z.string().nullish().optional(),reasoning_details:ns.nullish(),finish_reason:j.z.string().nullish(),index:j.z.number().nullish(),logprobs:j.z.object({tokens:j.z.array(j.z.string()),token_logprobs:j.z.array(j.z.number()),top_logprobs:j.z.array(j.z.record(j.z.string(),j.z.number())).nullable()}).passthrough().nullable().optional()}).passthrough()),usage:j.z.object({prompt_tokens:j.z.number(),prompt_tokens_details:j.z.object({cached_tokens:j.z.number(),cache_write_tokens:j.z.number().nullish()}).passthrough().nullish(),completion_tokens:j.z.number(),completion_tokens_details:j.z.object({reasoning_tokens:j.z.number()}).passthrough().nullish(),total_tokens:j.z.number(),cost:j.z.number().optional(),cost_details:j.z.object({upstream_inference_cost:j.z.number().nullish()}).passthrough().nullish()}).passthrough().nullish()}).passthrough(),nl]),nN=class{constructor(e,t,n){this.specificationVersion="v4",this.provider="openrouter",this.supportsImageUrls=!0,this.supportedUrls={"image/*":[/^data:image\/[a-zA-Z]+;base64,/,/^https?:\/\/.+\.(jpg|jpeg|png|gif|webp)(?:[?#].*)?$/i],"text/*":[/^data:text\//,/^https?:\/\/.+$/],"application/*":[/^data:application\//,/^https?:\/\/.+$/]},this.defaultObjectGenerationMode=void 0,this.modelId=e,this.settings=t,this.config=n}getArgs({prompt:e,maxOutputTokens:t,temperature:n,topP:o,frequencyPenalty:r,presencePenalty:i,seed:a,responseFormat:s,topK:l,stopSequences:u,tools:c,toolChoice:d}){let{prompt:p}=function({prompt:e,inputFormat:t,user:n="user",assistant:o="assistant"}){if("prompt"===t&&1===e.length&&e[0]&&"user"===e[0].role&&1===e[0].content.length&&e[0].content[0]&&"text"===e[0].content[0].type)return{prompt:e[0].content[0].text};let r="";for(let{role:t,content:i}of(e[0]&&"system"===e[0].role&&(r+=`${e[0].content}
|
|
196
|
+
Learn more: https://openrouter.ai/docs/features/multimodal/audio`)}return{data:n,format:r}}(t)},h&&{cache_control:h});let e=String(null!=(c=null!=(u=null==(l=null==(s=t.providerOptions)?void 0:s.openrouter)?void 0:l.filename)?u:t.filename)?c:""),n=nv({part:t,defaultMediaType:"application/pdf"});if(nw({url:n,protocols:new Set(["http:","https:"])}))return{type:"file",file:{filename:e,file_data:n}};return D({type:"file",file:{filename:e,file_data:n}},h&&{cache_control:h})}default:return D({type:"text",text:""},h&&{cache_control:h})}});u.push({role:"user",content:i});break}case"assistant":{let e,t="",n="",o=[];for(let e of p)switch(e.type){case"text":t+=e.text;break;case"tool-call":o.push({id:e.toolCallId,type:"function",function:{name:e.toolName,arguments:JSON.stringify(function e(t){if(null==t)return t;if(Array.isArray(t))return t.map(e);if("object"==typeof t){let n={},o=Object.entries(t);for(let[t,r]of(o.sort(([e],[t])=>e.localeCompare(t)),o))n[t]=e(r);return n}return t}(e.input))}});break;case"reasoning":n+=e.text}let l=np.safeParse(h),d=l.success?null==(i=null==(r=l.data)?void 0:r.openrouter)?void 0:i.reasoning_details:void 0,m=l.success?null==(s=null==(a=l.data)?void 0:a.openrouter)?void 0:s.annotations:void 0,g=d&&Array.isArray(d)?d:function(e){var t,n,o,r;for(let o of e)if("tool-call"===o.type){let e=np.safeParse(o.providerOptions);if(e.success&&(null==(n=null==(t=e.data)?void 0:t.openrouter)?void 0:n.reasoning_details)&&e.data.openrouter.reasoning_details.length>0)return e.data.openrouter.reasoning_details}for(let t of e)if("reasoning"===t.type){let e=np.safeParse(t.providerOptions);if(e.success&&(null==(r=null==(o=e.data)?void 0:o.openrouter)?void 0:r.reasoning_details)&&e.data.openrouter.reasoning_details.length>0)return e.data.openrouter.reasoning_details}}(p);if(g){let t=g.filter(e=>{var t;if("reasoning.text"!==e.type)return!0;let n=null!=(t=e.format)?t:"anthropic-claude-v1";return"anthropic-claude-v1"!==n&&"google-gemini-v1"!==n||!!e.signature});if(t.length<g.length){let e=globalThis.AI_SDK_LOG_WARNINGS;!1!==e&&"function"!=typeof e&&console.warn("[openrouter] Some reasoning_details entries were removed because they were missing signatures. See https://github.com/OpenRouterTeam/ai-sdk-provider/issues/423 and https://github.com/OpenRouterTeam/ai-sdk-provider/issues/418 for more details.")}let n=[];for(let e of t)c.upsert(e)&&n.push(e);e=n}let f=n&&e&&e.length>0?n:void 0;u.push({role:"assistant",content:t||null,tool_calls:o.length>0?o:void 0,reasoning:f,reasoning_details:e,annotations:m,cache_control:nI(h)});break}case"tool":for(let e of p){if("tool-approval-response"===e.type)continue;let t=function(e){var t;switch(e.output.type){case"text":case"error-text":return e.output.value;case"json":case"error-json":return JSON.stringify(e.output.value);case"content":return e.output.value.map(e=>{var t,n,o,r;switch(e.type){case"text":return{type:"text",text:e.text};case"file":{let i=nk({data:e.data,mediaType:e.mediaType,defaultMediaType:"application/octet-stream"});if(null==(t=e.mediaType)?void 0:t.startsWith("image/"))return{type:"image_url",image_url:{url:i}};if(null==(n=e.mediaType)?void 0:n.startsWith("video/"))return{type:"video_url",video_url:{url:i}};if(null==(o=e.mediaType)?void 0:o.startsWith("audio/")){let t=nT[e.mediaType.replace("audio/","")];if(void 0!==t)return{type:"input_audio",input_audio:{data:nS(i),format:t}}}return{type:"file",file:{filename:null!=(r=e.filename)?r:"",file_data:i}}}default:return{type:"text",text:JSON.stringify(e)}}});case"execution-denied":return null!=(t=e.output.reason)?t:"Tool execution denied"}}(e);u.push({role:"tool",tool_call_id:e.toolCallId,content:t,name:e.toolName,cache_control:null!=(l=nI(h))?l:nI(e.providerOptions)})}}return u}(e),include_reasoning:this.settings.includeReasoning,reasoning:this.settings.reasoning,usage:this.settings.usage,plugins:this.settings.plugins,web_search_options:this.settings.web_search_options,provider:this.settings.provider,debug:this.settings.debug,cache_control:this.settings.cache_control},this.config.extraBody),this.settings.extraBody);if(c&&c.length>0){let e=[];for(let t of c)if("function"===t.type){let n=null==(g=t.providerOptions)?void 0:g.openrouter,o=null==n?void 0:n.eager_input_streaming;e.push(D({type:"function",function:{name:t.name,description:t.description,parameters:t.inputSchema}},null!=o&&{eager_input_streaming:o}))}else"provider"===t.type&&e.push(function(e){let[t,n]=e.id.split("."),o=`${t}:${n}`,r={};for(let[t,n]of Object.entries(e.args))void 0!==n&&(r[t.replace(/[A-Z]/g,e=>`_${e.toLowerCase()}`)]=n);return D({type:o},r)}(t));return F(D({},f),{tools:e,tool_choice:d?function(e){switch(e.type){case"auto":case"none":case"required":return e.type;case"tool":return{type:"function",function:{name:e.toolName}};default:throw new es({argument:"toolChoice",message:`Invalid tool choice type: ${JSON.stringify(e)}`})}}(d):void 0})}return f}async doGenerate(e){var t,n,o,r,i,a,s,l,u,c,d,p,h,m,g,f,y,b,_,w,z;let v=(e.providerOptions||{}).openrouter||{},{cacheControl:k}=v,x=H(v,["cacheControl"]),S=D(D(D({},this.getArgs(e)),x),null==k||"cache_control"in x?{}:{cache_control:k}),{value:T,responseHeaders:I}=await t1({url:this.config.url({path:"/chat/completions",modelId:this.modelId}),headers:eK(this.config.headers(),e.headers),body:S,failedResponseHandler:nu,successfulResponseHandler:t6(nj),abortSignal:e.abortSignal,fetch:this.config.fetch});if("error"in T){let e=T.error;throw new Z({message:e.message,url:this.config.url({path:"/chat/completions",modelId:this.modelId}),requestBodyValues:S,statusCode:200,responseHeaders:I,data:e})}let O=T.choices[0];if(!O)throw new eA({message:"No choice in response"});let E=T.usage?nh(T.usage):nm(),C=null!=(t=O.message.reasoning_details)?t:[],A=C.length>0?C.map(e=>{switch(e.type){case"reasoning.text":if(e.text)return{type:"reasoning",text:e.text,providerMetadata:{openrouter:{reasoning_details:[e]}}};break;case"reasoning.summary":if(e.summary)return{type:"reasoning",text:e.summary,providerMetadata:{openrouter:{reasoning_details:[e]}}}}return null}).filter(e=>null!==e):O.message.reasoning?[{type:"reasoning",text:O.message.reasoning}]:[],j=[];if(j.push(...A),O.message.content&&j.push({type:"text",text:O.message.content}),O.message.tool_calls){let e=!1,t=new Set;for(let o of O.message.tool_calls){let r=o.id;(!r||t.has(r))&&(r=tp()),t.add(r),j.push({type:"tool-call",toolCallId:r,toolName:o.function.name,input:null!=(n=o.function.arguments)?n:"{}",providerMetadata:e?void 0:{openrouter:{reasoning_details:C}}}),e=!0}}if(O.message.images)for(let e of O.message.images)j.push({type:"file",mediaType:nx(e.image_url.url,"image/jpeg"),data:{type:"data",data:nS(e.image_url.url)}});if(O.message.annotations)for(let e of O.message.annotations)"url_citation"===e.type&&j.push({type:"source",sourceType:"url",id:e.url_citation.url,url:e.url_citation.url,title:null!=(o=e.url_citation.title)?o:"",providerMetadata:{openrouter:{content:null!=(r=e.url_citation.content)?r:"",startIndex:null!=(i=e.url_citation.start_index)?i:0,endIndex:null!=(a=e.url_citation.end_index)?a:0}}});let R=null==(s=O.message.annotations)?void 0:s.filter(e=>"file"===e.type),$=O.message.tool_calls&&O.message.tool_calls.length>0,M=C.some(e=>"reasoning.encrypted"===e.type&&e.data),N=$&&M&&"stop"===O.finish_reason?nf("tool-calls",null!=(l=O.finish_reason)?l:void 0):ng(O.finish_reason);return{content:j,finishReason:$&&"other"===N.unified?nf("tool-calls",N.raw):N,usage:E,warnings:[],providerMetadata:{openrouter:nd.parse({provider:null!=(u=T.provider)?u:"",reasoning_details:null!=(c=O.message.reasoning_details)?c:[],annotations:R&&R.length>0?R:void 0,usage:D(D(D(D({promptTokens:null!=(d=E.inputTokens.total)?d:0,completionTokens:null!=(p=E.outputTokens.total)?p:0,totalTokens:(null!=(h=E.inputTokens.total)?h:0)+(null!=(m=E.outputTokens.total)?m:0)},(null==(g=T.usage)?void 0:g.cost)!=null?{cost:T.usage.cost}:{}),(null==(y=null==(f=T.usage)?void 0:f.prompt_tokens_details)?void 0:y.cached_tokens)!=null?{promptTokensDetails:{cachedTokens:T.usage.prompt_tokens_details.cached_tokens}}:{}),(null==(_=null==(b=T.usage)?void 0:b.completion_tokens_details)?void 0:_.reasoning_tokens)!=null?{completionTokensDetails:{reasoningTokens:T.usage.completion_tokens_details.reasoning_tokens}}:{}),(null==(z=null==(w=T.usage)?void 0:w.cost_details)?void 0:z.upstream_inference_cost)!=null?{costDetails:{upstreamInferenceCost:T.usage.cost_details.upstream_inference_cost}}:{})})},request:{body:S},response:{id:T.id,modelId:T.model,headers:I,body:T}}}async doStream(e){var t;let n,o,r,i,a,s,l=(e.providerOptions||{}).openrouter||{},{cacheControl:u}=l,c=H(l,["cacheControl"]),d=D(D(D({},this.getArgs(e)),c),null==u||"cache_control"in c?{}:{cache_control:u}),{value:p,responseHeaders:h}=await t1({url:this.config.url({path:"/chat/completions",modelId:this.modelId}),headers:eK(this.config.headers(),e.headers),body:F(D({},d),{stream:!0,stream_options:"strict"===this.config.compatibility?D({include_usage:!0},(null==(t=this.settings.usage)?void 0:t.include)?{include_usage:!0}:{}):void 0}),failedResponseHandler:nu,successfulResponseHandler:t5(nR),abortSignal:e.abortSignal,fetch:this.config.fetch}),m=ny(p,e=>{n=e}),g=[],f=new Set,y=nf("other"),b={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},_={},w=[],z=!1,v=[],k=!1,x=!1,S=[];return{stream:m.pipeThrough(new TransformStream({start(e){e.enqueue({type:"stream-start",warnings:S})},transform(t,n){var l,u,c,d,p,h,m,S,T,I,O,E,C,A,j,R,$,M,N,L,P;if(e.includeRawChunks&&n.enqueue({type:"raw",rawValue:t.rawValue}),!t.success){y=nf("error"),n.enqueue({type:"error",error:t.error});return}let U=t.value;if("error"in U){y=nf("error"),n.enqueue({type:"error",error:U.error});return}if(U.provider&&(s=U.provider),U.id&&(a=U.id,n.enqueue({type:"response-metadata",id:U.id})),U.model&&n.enqueue({type:"response-metadata",modelId:U.model}),null!=U.usage){let e=nh(U.usage);Object.assign(b.inputTokens,e.inputTokens),Object.assign(b.outputTokens,e.outputTokens),o=U.usage;let t=null!=(l=U.usage.prompt_tokens)?l:0,n=null!=(u=U.usage.completion_tokens)?u:0;_.promptTokens=t,U.usage.prompt_tokens_details&&(_.promptTokensDetails={cachedTokens:null!=(c=U.usage.prompt_tokens_details.cached_tokens)?c:0}),_.completionTokens=n,U.usage.completion_tokens_details&&(_.completionTokensDetails={reasoningTokens:null!=(d=U.usage.completion_tokens_details.reasoning_tokens)?d:0}),null!=U.usage.cost&&(_.cost=U.usage.cost),_.totalTokens=U.usage.total_tokens;let r=null==(p=U.usage.cost_details)?void 0:p.upstream_inference_cost;null!=r&&(_.costDetails={upstreamInferenceCost:r})}let q=U.choices[0];if((null==q?void 0:q.finish_reason)!=null&&(y=ng(q.finish_reason)),(null==q?void 0:q.delta)==null)return;let F=q.delta,H=e=>{x||(i=tp(),n.enqueue({type:"reasoning-start",id:i}),x=!0),n.enqueue({type:"reasoning-delta",delta:e,id:i||tp()})};if(F.reasoning_details&&F.reasoning_details.length>0){for(let e of F.reasoning_details){let t=w[w.length-1];"reasoning.text"===e.type?(null==t?void 0:t.type)==="reasoning.text"?(t.text=(t.text||"")+(e.text||""),t.signature=t.signature||e.signature,t.format=t.format||e.format):w.push(D({},e)):"reasoning.summary"===e.type?(null==t?void 0:t.type)==="reasoning.summary"?(t.summary=(t.summary||"")+(e.summary||""),t.format=t.format||e.format):w.push(D({},e)):w.push(e)}if(!k)for(let e of F.reasoning_details)switch(e.type){case"reasoning.text":H(e.text||"");break;case"reasoning.encrypted":break;case"reasoning.summary":e.summary&&H(e.summary)}}else F.reasoning&&!k&&H(F.reasoning);if(F.content&&(x&&!k&&(n.enqueue({type:"reasoning-end",id:i||tp(),providerMetadata:{openrouter:{reasoning_details:w}}}),x=!1),k||(r=a||tp(),n.enqueue({type:"text-start",id:r}),k=!0),n.enqueue({type:"text-delta",delta:F.content,id:r||tp()})),F.annotations){for(let e of F.annotations)if("url_citation"===e.type)n.enqueue({type:"source",sourceType:"url",id:e.url_citation.url,url:e.url_citation.url,title:null!=(h=e.url_citation.title)?h:"",providerMetadata:{openrouter:{content:null!=(m=e.url_citation.content)?m:"",startIndex:null!=(S=e.url_citation.start_index)?S:0,endIndex:null!=(T=e.url_citation.end_index)?T:0}}});else if("file"===e.type){let t=e.file;t&&"object"==typeof t&&"hash"in t&&"name"in t&&v.push(e)}}if(null!=F.tool_calls)for(let e of F.tool_calls){let t=null!=(I=e.index)?I:g.length-1;if(null==g[t]){if("function"!==e.type)throw new eg({data:e,message:"Expected 'function' type."});if((null==(O=e.function)?void 0:O.name)==null)throw new eg({data:e,message:"Expected 'function.name' to be a string."});let o=null!=(E=e.id)?E:"";(!o||f.has(o))&&(o=tp()),f.add(o),g[t]={id:o,type:"function",function:{name:e.function.name,arguments:null!=(C=e.function.arguments)?C:""},inputStarted:!1,sent:!1};let r=g[t];if(null==r)throw new eg({data:{index:t,toolCallsLength:g.length},message:`Tool call at index ${t} is missing after creation.`});(null==(A=r.function)?void 0:A.name)!=null&&(null==(j=r.function)?void 0:j.arguments)!=null&&tX(r.function.arguments)&&(r.inputStarted=!0,n.enqueue({type:"tool-input-start",id:r.id,toolName:r.function.name}),n.enqueue({type:"tool-input-delta",id:r.id,delta:r.function.arguments}),n.enqueue({type:"tool-input-end",id:r.id}),n.enqueue({type:"tool-call",toolCallId:r.id,toolName:r.function.name,input:r.function.arguments,providerMetadata:z?void 0:{openrouter:{reasoning_details:w}}}),z=!0,r.sent=!0);continue}let o=g[t];if(null==o)throw new eg({data:{index:t,toolCallsLength:g.length,toolCallDelta:e},message:`Tool call at index ${t} is missing during merge.`});!o.inputStarted&&(o.inputStarted=!0,n.enqueue({type:"tool-input-start",id:o.id,toolName:o.function.name}),o.function.arguments&&n.enqueue({type:"tool-input-delta",id:o.id,delta:o.function.arguments})),(null==(R=e.function)?void 0:R.arguments)!=null&&(o.function.arguments+=null!=(M=null==($=e.function)?void 0:$.arguments)?M:""),n.enqueue({type:"tool-input-delta",id:o.id,delta:null!=(N=e.function.arguments)?N:""}),!o.sent&&(null==(L=o.function)?void 0:L.name)!=null&&(null==(P=o.function)?void 0:P.arguments)!=null&&tX(o.function.arguments)&&(n.enqueue({type:"tool-input-end",id:o.id}),n.enqueue({type:"tool-call",toolCallId:o.id,toolName:o.function.name,input:o.function.arguments,providerMetadata:z?void 0:{openrouter:{reasoning_details:w}}}),z=!0,o.sent=!0)}if(null!=F.images)for(let e of F.images)n.enqueue({type:"file",mediaType:nx(e.image_url.url,"image/jpeg"),data:{type:"data",data:nS(e.image_url.url)}})},flush(e){let t=g.length>0;null!=n&&(y=nf("error"),e.enqueue({type:"error",error:n}));let a=w.some(e=>"reasoning.encrypted"===e.type&&e.data);if(t&&a&&"stop"===y.unified&&(y=nf("tool-calls",y.raw)),t&&"other"===y.unified&&(y=nf("tool-calls",y.raw)),"tool-calls"===y.unified){for(let t of g)if(t&&!t.sent){let n=tX(t.function.arguments)?t.function.arguments:"{}";t.inputStarted||(e.enqueue({type:"tool-input-start",id:t.id,toolName:t.function.name}),e.enqueue({type:"tool-input-delta",id:t.id,delta:n})),e.enqueue({type:"tool-input-end",id:t.id}),e.enqueue({type:"tool-call",toolCallId:t.id,toolName:t.function.name,input:n,providerMetadata:z?void 0:{openrouter:{reasoning_details:w}}}),z=!0,t.sent=!0}}x&&e.enqueue({type:"reasoning-end",id:i||tp(),providerMetadata:{openrouter:{reasoning_details:w}}}),k&&e.enqueue({type:"text-end",id:r||tp()});let l={usage:_};void 0!==s&&(l.provider=s),l.reasoning_details=w,v.length>0&&(l.annotations=v),void 0===b.inputTokens.total&&void 0!==_.promptTokens&&(b.inputTokens.total=_.promptTokens),void 0===b.outputTokens.total&&void 0!==_.completionTokens&&(b.outputTokens.total=_.completionTokens),b.raw=o,e.enqueue({type:"finish",finishReason:y,usage:b,providerMetadata:{openrouter:l}})}})),warnings:S,request:{body:d},response:{headers:h}}}},nM=j.z.union([j.z.object({id:j.z.string().optional(),model:j.z.string().optional(),provider:j.z.string().optional(),choices:j.z.array(j.z.object({text:j.z.string(),reasoning:j.z.string().nullish().optional(),reasoning_details:ns.nullish(),finish_reason:j.z.string().nullish(),index:j.z.number().nullish(),logprobs:j.z.object({tokens:j.z.array(j.z.string()),token_logprobs:j.z.array(j.z.number()),top_logprobs:j.z.array(j.z.record(j.z.string(),j.z.number())).nullable()}).passthrough().nullable().optional()}).passthrough()),usage:j.z.object({prompt_tokens:j.z.number(),prompt_tokens_details:j.z.object({cached_tokens:j.z.number(),cache_write_tokens:j.z.number().nullish()}).passthrough().nullish(),completion_tokens:j.z.number(),completion_tokens_details:j.z.object({reasoning_tokens:j.z.number()}).passthrough().nullish(),total_tokens:j.z.number(),cost:j.z.number().optional(),cost_details:j.z.object({upstream_inference_cost:j.z.number().nullish()}).passthrough().nullish()}).passthrough().nullish()}).passthrough(),nl]),nN=class{constructor(e,t,n){this.specificationVersion="v4",this.provider="openrouter",this.supportsImageUrls=!0,this.supportedUrls={"image/*":[/^data:image\/[a-zA-Z]+;base64,/,/^https?:\/\/.+\.(jpg|jpeg|png|gif|webp)(?:[?#].*)?$/i],"text/*":[/^data:text\//,/^https?:\/\/.+$/],"application/*":[/^data:application\//,/^https?:\/\/.+$/]},this.defaultObjectGenerationMode=void 0,this.modelId=e,this.settings=t,this.config=n}getArgs({prompt:e,maxOutputTokens:t,temperature:n,topP:o,frequencyPenalty:r,presencePenalty:i,seed:a,responseFormat:s,topK:l,stopSequences:u,tools:c,toolChoice:d}){let{prompt:p}=function({prompt:e,inputFormat:t,user:n="user",assistant:o="assistant"}){if("prompt"===t&&1===e.length&&e[0]&&"user"===e[0].role&&1===e[0].content.length&&e[0].content[0]&&"text"===e[0].content[0].type)return{prompt:e[0].content[0].text};let r="";for(let{role:t,content:i}of(e[0]&&"system"===e[0].role&&(r+=`${e[0].content}
|
|
197
197
|
|
|
198
198
|
`,e=e.slice(1)),e))switch(t){case"system":throw new ed({message:`Unexpected system message in prompt: ${i}`,prompt:e});case"user":{let e=i.map(e=>{switch(e.type){case"text":return e.text;case"file":throw new eq({functionality:"file attachments"});default:return""}}).join("");r+=`${n}:
|
|
199
199
|
${e}
|
|
@@ -202,27 +202,27 @@ ${e}
|
|
|
202
202
|
${e}
|
|
203
203
|
|
|
204
204
|
`;break}case"tool":throw new eq({functionality:"tool messages"})}return{prompt:r+=`${o}:
|
|
205
|
-
`}}({prompt:e,inputFormat:"prompt"});if(null==c?void 0:c.length)throw new eq({functionality:"tools"});if(d)throw new eq({functionality:"toolChoice"});return D(D({model:this.modelId,models:this.settings.models,logit_bias:this.settings.logitBias,logprobs:"number"==typeof this.settings.logprobs?this.settings.logprobs:"boolean"==typeof this.settings.logprobs&&this.settings.logprobs?0:void 0,suffix:this.settings.suffix,user:this.settings.user,max_tokens:null!=t?t:this.settings.maxTokens,temperature:null!=n?n:this.settings.temperature,top_p:null!=o?o:this.settings.topP,frequency_penalty:null!=r?r:this.settings.frequencyPenalty,presence_penalty:null!=i?i:this.settings.presencePenalty,seed:a,stop:u,response_format:s,top_k:null!=l?l:this.settings.topK,prompt:p,include_reasoning:this.settings.includeReasoning,reasoning:this.settings.reasoning},this.config.extraBody),this.settings.extraBody)}async doGenerate(e){var t,n,o,r,i,a,s,l,u,c,d,p,h,m,g,f,y;let b=(e.providerOptions||{}).openrouter||{},_=D(D({},this.getArgs(e)),b),{value:z,responseHeaders:w}=await t1({url:this.config.url({path:"/completions",modelId:this.modelId}),headers:eK(this.config.headers(),e.headers),body:_,failedResponseHandler:nu,successfulResponseHandler:t6(nM),abortSignal:e.abortSignal,fetch:this.config.fetch});if("error"in z){let e=z.error;throw new Z({message:e.message,url:this.config.url({path:"/completions",modelId:this.modelId}),requestBodyValues:_,statusCode:200,responseHeaders:w,data:e})}let v=z.choices[0];if(!v)throw new eA({message:"No choice in OpenRouter completion response"});return{content:[{type:"text",text:null!=(t=v.text)?t:""}],finishReason:ng(v.finish_reason),usage:z.usage?nh(z.usage):nm(),warnings:[],providerMetadata:{openrouter:nd.parse({provider:null!=(n=z.provider)?n:"",usage:D(D(D(D({promptTokens:null!=(r=null==(o=z.usage)?void 0:o.prompt_tokens)?r:0,completionTokens:null!=(a=null==(i=z.usage)?void 0:i.completion_tokens)?a:0,totalTokens:(null!=(l=null==(s=z.usage)?void 0:s.prompt_tokens)?l:0)+(null!=(c=null==(u=z.usage)?void 0:u.completion_tokens)?c:0)},(null==(d=z.usage)?void 0:d.cost)!=null?{cost:z.usage.cost}:{}),(null==(h=null==(p=z.usage)?void 0:p.prompt_tokens_details)?void 0:h.cached_tokens)!=null?{promptTokensDetails:{cachedTokens:z.usage.prompt_tokens_details.cached_tokens}}:{}),(null==(g=null==(m=z.usage)?void 0:m.completion_tokens_details)?void 0:g.reasoning_tokens)!=null?{completionTokensDetails:{reasoningTokens:z.usage.completion_tokens_details.reasoning_tokens}}:{}),(null==(y=null==(f=z.usage)?void 0:f.cost_details)?void 0:y.upstream_inference_cost)!=null?{costDetails:{upstreamInferenceCost:z.usage.cost_details.upstream_inference_cost}}:{})})},response:{headers:w}}}async doStream(e){let t,n,o,r=(e.providerOptions||{}).openrouter||{},i=D(D({},this.getArgs(e)),r),{value:a,responseHeaders:s}=await t1({url:this.config.url({path:"/completions",modelId:this.modelId}),headers:eK(this.config.headers(),e.headers),body:F(D({},i),{stream:!0,stream_options:"strict"===this.config.compatibility?{include_usage:!0}:void 0}),failedResponseHandler:nu,successfulResponseHandler:t5(nM),abortSignal:e.abortSignal,fetch:this.config.fetch}),l=ny(a,e=>{t=e}),u=nf("other"),c={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},d={},p=[];return{stream:l.pipeThrough(new TransformStream({start(e){e.enqueue({type:"stream-start",warnings:p})},transform(t,r){var i,a,s,l,p;if(e.includeRawChunks&&r.enqueue({type:"raw",rawValue:t.rawValue}),!t.success){u=nf("error"),r.enqueue({type:"error",error:t.error});return}let h=t.value;if("error"in h){u=nf("error"),r.enqueue({type:"error",error:h.error});return}if(h.provider&&(n=h.provider),null!=h.usage){let e=nh(h.usage);Object.assign(c.inputTokens,e.inputTokens),Object.assign(c.outputTokens,e.outputTokens),o=h.usage;let t=null!=(i=h.usage.prompt_tokens)?i:0,n=null!=(a=h.usage.completion_tokens)?a:0;d.promptTokens=t,h.usage.prompt_tokens_details&&(d.promptTokensDetails={cachedTokens:null!=(s=h.usage.prompt_tokens_details.cached_tokens)?s:0}),d.completionTokens=n,h.usage.completion_tokens_details&&(d.completionTokensDetails={reasoningTokens:null!=(l=h.usage.completion_tokens_details.reasoning_tokens)?l:0}),null!=h.usage.cost&&(d.cost=h.usage.cost),d.totalTokens=h.usage.total_tokens;let r=null==(p=h.usage.cost_details)?void 0:p.upstream_inference_cost;null!=r&&(d.costDetails={upstreamInferenceCost:r})}let m=h.choices[0];(null==m?void 0:m.finish_reason)!=null&&(u=ng(m.finish_reason)),(null==m?void 0:m.text)!=null&&r.enqueue({type:"text-delta",delta:m.text,id:tp()})},flush(e){null!=t&&(u=nf("error"),e.enqueue({type:"error",error:t})),c.raw=o;let r={usage:d};void 0!==n&&(r.provider=n),e.enqueue({type:"finish",finishReason:u,usage:c,providerMetadata:{openrouter:r}})}})),response:{headers:s}}}},nL=j.z.object({prompt_tokens:j.z.number(),total_tokens:j.z.number(),cost:j.z.number().optional()}),nP=j.z.object({object:j.z.literal("embedding"),embedding:j.z.array(j.z.number()),index:j.z.number().optional()}),nU=j.z.object({id:j.z.string().optional(),object:j.z.literal("list"),data:j.z.array(nP),model:j.z.string(),provider:j.z.string().optional(),usage:nL.optional()}),nq=class{constructor(e,t,n){this.specificationVersion="v4",this.provider="openrouter",this.maxEmbeddingsPerCall=void 0,this.supportsParallelCalls=!0,this.modelId=e,this.settings=t,this.config=n}async doEmbed(e){var t,n,o,r,i,a;let{values:s,abortSignal:l,headers:u}=e,c=D(D({model:this.modelId,input:s,user:this.settings.user,provider:this.settings.provider},this.config.extraBody),this.settings.extraBody),{value:d,responseHeaders:p}=await t1({url:this.config.url({path:"/embeddings",modelId:this.modelId}),headers:eK(this.config.headers(),u),body:c,failedResponseHandler:nu,successfulResponseHandler:t6(nU),abortSignal:l,fetch:this.config.fetch});return{embeddings:d.data.map(e=>e.embedding),usage:d.usage?{tokens:d.usage.prompt_tokens}:void 0,providerMetadata:{openrouter:nd.parse({provider:null!=(t=d.provider)?t:"",usage:D({promptTokens:null!=(o=null==(n=d.usage)?void 0:n.prompt_tokens)?o:0,completionTokens:0,totalTokens:null!=(i=null==(r=d.usage)?void 0:r.total_tokens)?i:0},(null==(a=d.usage)?void 0:a.cost)!=null?{cost:d.usage.cost}:{})})},response:{headers:p,body:d},warnings:[]}}},nD=j.z.lazy(()=>j.z.union([j.z.string(),j.z.number(),j.z.boolean(),j.z.null(),j.z.array(nD),j.z.record(j.z.string(),nD)])),nF=j.z.union([j.z.string(),j.z.record(j.z.string(),nD),j.z.array(nD)]),nH=j.z.object({user:j.z.string().optional(),provider:j.z.record(j.z.string(),nD).optional(),session_id:j.z.string().optional(),trace:j.z.record(j.z.string(),nD).optional()}).loose(),nB=j.z.object({type:j.z.literal("noul"),noul:j.z.number()}),nW=j.z.object({type:j.z.literal("choice"),choice:j.z.string(),probabilities:j.z.record(j.z.string(),j.z.number()).optional(),confidence:j.z.number().optional()}),nK=j.z.object({type:j.z.literal("score"),score:j.z.number(),legend:j.z.record(j.z.string(),nF).optional(),probabilities:j.z.record(j.z.string(),j.z.number()).optional(),confidence:j.z.number().optional()}),nV=j.z.discriminatedUnion("type",[nB,nW,nK]),nJ=j.z.object({id:j.z.string().optional(),model:j.z.string().optional(),provider:j.z.string().optional(),answers:j.z.record(j.z.string(),nV),usage:j.z.object({input_tokens:j.z.number().optional(),output_tokens:j.z.number().optional(),cost:j.z.number().optional()}).optional()}),nG={probabilityDecimals:2,scoreDecimals:2},nY=class{constructor(e,t,n){this.specificationVersion="v4",this.provider="openrouter",this.supportedQuestionTypes=["choice","score","boolean"],this.modelId=e,this.settings=t,this.config=n}async doEvaluate(e){var t;let{state:n,questions:o,abortSignal:r,headers:i,providerOptions:a}=e,s=Object.fromEntries(Object.entries(o).map(([e,t])=>[e,function(e,t){var n,o;switch(t.type){case"choice":return{type:"choice",instructions:t.instructions,criteria:t.criteria};case"score":return{type:"score",instructions:t.instructions,criteria:t.criteria.map((t,n)=>{if(null==t)throw new es({argument:`questions.${e}.criteria[${n}]`,message:`Question "${e}": the OpenRouter Decisions API requires a description for every score criterion.`});return t})};case"boolean":{let r=null==(n=t.criteria)?void 0:n.true,i=null==(o=t.criteria)?void 0:o.false;if(null==r&&null==i)return{type:"noul",instructions:t.instructions};if(null==r||null==i)throw new es({argument:`questions.${e}.criteria`,message:`Question "${e}": the OpenRouter Decisions API requires both "true" and "false" descriptions when boolean criteria are given.`});return{type:"noul",instructions:t.instructions,criteria:{true:r,false:i}}}default:return t}}(e,t)])),l=await tQ({provider:"openrouter",providerOptions:a,schema:nH}),{user:u,provider:c,session_id:d,trace:p,extraBody:h}=this.settings,m=F(D(D(D(D({},this.config.extraBody),h),Object.fromEntries(Object.entries({user:u,provider:c,session_id:d,trace:p}).filter(([e,t])=>null!=t))),l),{model:this.modelId,state:n,questions:s}),{value:g,rawValue:f,responseHeaders:y}=await t1({url:this.config.url({path:"/decisions"}),headers:eK(this.config.headers(),i),body:m,failedResponseHandler:nu,successfulResponseHandler:t6(nJ),abortSignal:r,fetch:this.config.fetch}),b=Object.fromEntries(Object.entries(g.answers).map(([e,t])=>[e,function(e){switch(e.type){case"noul":return{type:"boolean",probability:e.noul};case"choice":return{type:"choice",choice:e.choice,probabilities:e.probabilities};case"score":return{type:"score",score:e.score,probabilities:e.probabilities};default:return e}}(t)])),_=Object.fromEntries(Object.entries(g.answers).map(([e,t])=>[e,function(e){switch(e.type){case"noul":return{};case"choice":return null!=e.confidence?{confidence:e.confidence}:{};case"score":return D(D({},null!=e.confidence?{confidence:e.confidence}:{}),null!=e.legend?{legend:e.legend}:{});default:return e}}(t)]));return{answers:b,rounding:nG,usage:g.usage?{inputTokens:g.usage.input_tokens,outputTokens:g.usage.output_tokens}:void 0,warnings:[],providerMetadata:{openrouter:D(F(D({},null!=g.provider?{provider:g.provider}:{}),{answers:_}),(null==(t=g.usage)?void 0:t.cost)!=null?{usage:{cost:g.usage.cost}}:{})},response:{id:g.id,modelId:g.model,headers:y,body:f}}}},nZ=j.z.object({created:j.z.number().optional(),data:j.z.array(j.z.object({b64_json:j.z.string()}).passthrough()),usage:j.z.object({prompt_tokens:j.z.number(),completion_tokens:j.z.number(),total_tokens:j.z.number()}).passthrough().optional()}).passthrough(),nX=class{constructor(e,t,n){this.specificationVersion="v4",this.provider="openrouter",this.maxImagesPerCall=10,this.modelId=e,this.settings=t,this.config=n}async doGenerate(e){let{prompt:t,n,size:o,aspectRatio:r,seed:i,files:a,mask:s,abortSignal:l,headers:u,providerOptions:c}=e,d=(null==c?void 0:c.openrouter)||{};if(void 0!==s)throw new eq({functionality:"image inpainting (mask parameter)"});let p=void 0!==a&&a.length>0?a.map(e=>{var t;return"url"===(t=e).type?{type:"image_url",image_url:{url:t.url}}:{type:"image_url",image_url:{url:nw({data:t.data,mediaType:t.mediaType,defaultMediaType:"image/png"})}}}):void 0,h=D(D(D(D(D(D(D(D(D(D({model:this.modelId,prompt:null!=t?t:""},void 0!==n&&{n}),void 0!==o&&{size:o}),void 0!==r&&{aspect_ratio:r}),void 0!==i&&{seed:i}),void 0!==p&&{input_references:p}),void 0!==this.settings.user&&{user:this.settings.user}),void 0!==this.settings.provider&&{provider:this.settings.provider}),this.config.extraBody),this.settings.extraBody),d),{value:m,responseHeaders:g}=await t1({url:this.config.url({path:"/images",modelId:this.modelId}),headers:eK(this.config.headers(),u),body:h,failedResponseHandler:nu,successfulResponseHandler:t6(nZ),abortSignal:l,fetch:this.config.fetch});if(!m.data||0===m.data.length)throw new eA({message:"No images in response"});let f=m.data.map(e=>e.b64_json),y=m.usage?{inputTokens:m.usage.prompt_tokens,outputTokens:m.usage.completion_tokens,totalTokens:m.usage.total_tokens}:void 0;return{images:f,warnings:[],response:{timestamp:new Date,modelId:this.modelId,headers:g},usage:y}}},nQ=function({id:e,inputSchema:t}){return n=>{var{execute:o,outputSchema:r,needsApproval:i,toModelOutput:a,onInputStart:s,onInputDelta:l,onInputAvailable:u}=n;return{type:"provider",isProviderExecuted:!1,id:e,args:H(n,["execute","outputSchema","needsApproval","toModelOutput","onInputStart","onInputDelta","onInputAvailable"]),inputSchema:t,outputSchema:r,execute:o,needsApproval:i,toModelOutput:a,onInputStart:s,onInputDelta:l,onInputAvailable:u}}}({id:"openrouter.web_search",inputSchema:j.z.object({results:j.z.array(j.z.unknown()).optional()})}),n0=j.z.object({id:j.z.string(),generation_id:j.z.string().optional(),polling_url:j.z.string(),status:j.z.string()}).passthrough(),n1=j.z.object({id:j.z.string(),generation_id:j.z.string().optional(),polling_url:j.z.string(),status:j.z.string(),unsigned_urls:j.z.array(j.z.string()).optional(),usage:j.z.object({cost:j.z.number().optional(),is_byok:j.z.boolean().optional()}).passthrough().optional(),error:j.z.string().optional()}).passthrough(),n2=class{constructor(e,t,n){this.specificationVersion="v4",this.provider="openrouter",this.maxVideosPerCall=1,this.modelId=e,this.settings=t,this.config=n}async doGenerate(e){var t,n,o,r,i,a;let{prompt:s,n:l,aspectRatio:u,resolution:c,duration:d,seed:p,image:h,abortSignal:m,headers:g,providerOptions:f}=e,y=[];l>1&&y.push({type:"unsupported",feature:"n > 1",details:`OpenRouter video generation returns 1 video per call. Requested ${l} videos.`});let b=D(D(D(D(D(D(D(D(D({model:this.modelId,prompt:null!=s?s:""},void 0!==u&&{aspect_ratio:u}),void 0!==c&&{size:c}),void 0!==d&&{duration:d}),void 0!==p&&{seed:p}),void 0!==this.settings.generateAudio&&{generate_audio:this.settings.generateAudio}),void 0!==h&&{frame_images:["url"===(a=h).type?{type:"image_url",image_url:{url:a.url},frame_type:"first_frame"}:{type:"image_url",image_url:{url:nw({data:a.data,mediaType:a.mediaType,defaultMediaType:"image/png"})},frame_type:"first_frame"}]}),this.config.extraBody),this.settings.extraBody),f.openrouter),_=eK(this.config.headers(),g),{value:z,responseHeaders:w}=await t1({url:this.config.url({path:"/videos",modelId:this.modelId}),headers:_,body:b,failedResponseHandler:nu,successfulResponseHandler:t6(n0),abortSignal:m,fetch:this.config.fetch}),v=null!=(t=this.settings.pollIntervalMs)?t:2e3,k=null!=(n=this.settings.maxPollTimeMs)?n:6e5,x=await this.pollUntilComplete({jobId:z.id,headers:_,abortSignal:m,pollIntervalMs:v,maxPollTimeMs:k}),S=[];if(x.unsigned_urls)for(let e of x.unsigned_urls)S.push({type:"url",url:e,mediaType:"video/mp4"});return{videos:S,warnings:y,providerMetadata:{openrouter:{generationId:null!=(o=x.generation_id)?o:null,cost:null!=(i=null==(r=x.usage)?void 0:r.cost)?i:null}},response:{timestamp:new Date,modelId:this.modelId,headers:w}}}async pollUntilComplete({jobId:e,headers:t,abortSignal:n,pollIntervalMs:o,maxPollTimeMs:r}){var i;let a=Date.now();for(;Date.now()-a<r;){null==n||n.throwIfAborted(),await eV(o),null==n||n.throwIfAborted();let{value:r}=await th({url:this.config.url({path:`/videos/${e}`,modelId:this.modelId}),headers:t,failedResponseHandler:nu,successfulResponseHandler:t6(n1),abortSignal:n,fetch:this.config.fetch});if("completed"===r.status)return{generation_id:r.generation_id,unsigned_urls:r.unsigned_urls,usage:r.usage};if("failed"===r.status||"dead"===r.status||"cancelled"===r.status||"expired"===r.status)throw new Z({message:null!=(i=r.error)?i:`Video generation failed with status: ${r.status}`,url:this.config.url({path:`/videos/${e}`,modelId:this.modelId}),requestBodyValues:{},statusCode:500,isRetryable:!1})}throw new Z({message:`Video generation timed out after ${r}ms`,url:this.config.url({path:`/videos/${e}`,modelId:this.modelId}),requestBodyValues:{},statusCode:408,isRetryable:!0})}};function n4(e={}){var t,n,o,r;let i=null!=(n=t8(null!=(t=e.baseURL)?t:e.baseUrl))?n:"https://openrouter.ai/api/v1",a=null!=(o=t8(e.decisionsBaseURL))?o:i.endsWith("/v1")?`${i.slice(0,-3)}/alpha`:void 0,s=null!=(r=e.compatibility)?r:"compatible",l=()=>(function(e,...t){let n=Object.fromEntries(Object.entries(!e?{}:e instanceof Headers?Object.fromEntries(e.entries()):Array.isArray(e)?Object.fromEntries(e):e).filter(([,e])=>null!=e)),o=Object.keys(n).find(e=>"user-agent"===e.toLowerCase()),r=o?n[o]:void 0,i=(null==r?void 0:r.trim())?r:t.filter(Boolean).join(" ");return F(D({},Object.fromEntries(Object.entries(n).filter(([e])=>"user-agent"!==e.toLowerCase()))),{"user-agent":i})})(D(D(D(D({Authorization:`Bearer ${function({apiKey:e,environmentVariableName:t,apiKeyParameterName:n="apiKey",description:o}){if("string"==typeof e)return e;if(null!=e)throw new ek({message:`${o} API key must be a string.`});if("u"<typeof process)throw new ek({message:`${o} API key is missing. Pass it using the '${n}' parameter. Environment variables are not supported in this environment.`});if(null==(e=process.env[t]))throw new ek({message:`${o} API key is missing. Pass it using the '${n}' parameter or the ${t} environment variable.`});if("string"!=typeof e)throw new ek({message:`${o} API key must be a string. The value of the ${t} environment variable is not a string.`});return e}({apiKey:e.apiKey,environmentVariableName:"OPENROUTER_API_KEY",description:"OpenRouter"})}`},e.appName&&{"X-OpenRouter-Title":e.appName}),e.appUrl&&{"HTTP-Referer":e.appUrl}),e.headers),e.api_keys&&Object.keys(e.api_keys).length>0&&{"X-Provider-API-Keys":JSON.stringify(e.api_keys)}),"ai-sdk/openrouter/3.1.0"),u=(t,n={})=>new n$(t,n,{provider:"openrouter.chat",url:({path:e})=>`${i}${e}`,headers:l,compatibility:s,fetch:e.fetch,extraBody:e.extraBody}),c=(t,n={})=>new nN(t,n,{provider:"openrouter.completion",url:({path:e})=>`${i}${e}`,headers:l,compatibility:s,fetch:e.fetch,extraBody:e.extraBody}),d=(t,n={})=>new nq(t,n,{provider:"openrouter.embedding",url:({path:e})=>`${i}${e}`,headers:l,fetch:e.fetch,extraBody:e.extraBody}),p=(e,t)=>{if(new.target)throw Error("The OpenRouter model function cannot be called with the new keyword.");return"openai/gpt-3.5-turbo-instruct"===e?c(e,t):u(e,t)},h=(e,t)=>p(e,t);return h.languageModel=p,h.chat=u,h.completion=c,h.textEmbeddingModel=d,h.embedding=d,h.imageModel=(t,n={})=>new nX(t,n,{provider:"openrouter.image",url:({path:e})=>`${i}${e}`,headers:l,fetch:e.fetch,extraBody:e.extraBody}),h.videoModel=(t,n={})=>new n2(t,n,{provider:"openrouter.video",url:({path:e})=>`${i}${e}`,headers:l,fetch:e.fetch,extraBody:e.extraBody}),h.evaluationModel=(t,n={})=>{if(null==a)throw new eI({message:`Cannot derive the Decisions API URL from baseURL "${i}" because it does not end in "/v1". Set \`decisionsBaseURL\` in createOpenRouter() to use evaluationModel().`});return new nY(t,n,{url:({path:e})=>`${a}${e}`,headers:l,fetch:e.fetch,extraBody:e.extraBody})},h.tools={webSearch:nQ},h}n4({compatibility:"strict"}),e.s(["createOpenRouter",0,n4])},57553,(e,t,n)=>{t.exports=r,r.sync=function(e,t){return i(o.statSync(e),t)};var o=e.r(522734);function r(e,t,n){o.stat(e,function(e,o){n(e,!e&&i(o,t))})}function i(e,t){var n,o,r,i,a,s,l,u,c;return e.isFile()&&(n=e,o=t,r=n.mode,i=n.uid,a=n.gid,s=void 0!==o.uid?o.uid:process.getuid&&process.getuid(),l=void 0!==o.gid?o.gid:process.getgid&&process.getgid(),u=parseInt("100",8),c=parseInt("010",8),r&parseInt("001",8)||r&c&&a===l||r&u&&i===s||r&(u|c)&&0===s)}},39848,(e,t,n)=>{t.exports=i,i.sync=function(e,t){return r(o.statSync(e),e,t)};var o=e.r(522734);function r(e,t,n){if(!e.isSymbolicLink()&&!e.isFile())return!1;var o=void 0!==n.pathExt?n.pathExt:process.env.PATHEXT;if(!o||-1!==(o=o.split(";")).indexOf(""))return!0;for(var r=0;r<o.length;r++){var i=o[r].toLowerCase();if(i&&t.substr(-i.length).toLowerCase()===i)return!0}return!1}function i(e,t,n){o.stat(e,function(o,i){n(o,!o&&r(i,e,t))})}},773467,(e,t,n)=>{var o;function r(e,t,n){if("function"==typeof t&&(n=t,t={}),!n){if("function"!=typeof Promise)throw TypeError("callback not provided");return new Promise(function(n,o){r(e,t||{},function(e,t){e?o(e):n(t)})})}o(e,t||{},function(e,o){e&&("EACCES"===e.code||t&&t.ignoreErrors)&&(e=null,o=!1),n(e,o)})}e.r(522734),o="win32"===process.platform||e.g.TESTING_WINDOWS?e.r(39848):e.r(57553),t.exports=r,r.sync=function(e,t){try{return o.sync(e,t||{})}catch(e){if(t&&t.ignoreErrors||"EACCES"===e.code)return!1;throw e}}},955719,(e,t,n)=>{let o="win32"===process.platform||"cygwin"===process.env.OSTYPE||"msys"===process.env.OSTYPE,r=e.r(814747),i=o?";":":",a=e.r(773467),s=e=>Object.assign(Error(`not found: ${e}`),{code:"ENOENT"}),l=(e,t)=>{let n=t.colon||i,r=e.match(/\//)||o&&e.match(/\\/)?[""]:[...o?[process.cwd()]:[],...(t.path||process.env.PATH||"").split(n)],a=o?t.pathExt||process.env.PATHEXT||".EXE;.CMD;.BAT;.COM":"",s=o?a.split(n):[""];return o&&-1!==e.indexOf(".")&&""!==s[0]&&s.unshift(""),{pathEnv:r,pathExt:s,pathExtExe:a}},u=(e,t,n)=>{"function"==typeof t&&(n=t,t={}),t||(t={});let{pathEnv:o,pathExt:i,pathExtExe:u}=l(e,t),c=[],d=n=>new Promise((i,a)=>{if(n===o.length)return t.all&&c.length?i(c):a(s(e));let l=o[n],u=/^".*"$/.test(l)?l.slice(1,-1):l,d=r.join(u,e);i(p(!u&&/^\.[\\\/]/.test(e)?e.slice(0,2)+d:d,n,0))}),p=(e,n,o)=>new Promise((r,s)=>{if(o===i.length)return r(d(n+1));let l=i[o];a(e+l,{pathExt:u},(i,a)=>{if(!i&&a)if(!t.all)return r(e+l);else c.push(e+l);return r(p(e,n,o+1))})});return n?d(0).then(e=>n(null,e),n):d(0)};t.exports=u,u.sync=(e,t)=>{let{pathEnv:n,pathExt:o,pathExtExe:i}=l(e,t=t||{}),u=[];for(let s=0;s<n.length;s++){let l=n[s],c=/^".*"$/.test(l)?l.slice(1,-1):l,d=r.join(c,e),p=!c&&/^\.[\\\/]/.test(e)?e.slice(0,2)+d:d;for(let e=0;e<o.length;e++){let n=p+o[e];try{if(a.sync(n,{pathExt:i}))if(!t.all)return n;else u.push(n)}catch(e){}}}if(t.all&&u.length)return u;if(t.nothrow)return null;throw s(e)}},630482,(e,t,n)=>{"use strict";let o=(e={})=>{let t=e.env||process.env;return"win32"!==(e.platform||process.platform)?"PATH":Object.keys(t).reverse().find(e=>"PATH"===e.toUpperCase())||"Path"};t.exports=o,t.exports.default=o},36012,(e,t,n)=>{"use strict";let o=e.r(814747),r=e.r(955719),i=e.r(630482);function a(e,t){let n,a=e.options.env||process.env,s=process.cwd(),l=null!=e.options.cwd,u=l&&void 0!==process.chdir&&!process.chdir.disabled;if(u)try{process.chdir(e.options.cwd)}catch(e){}try{n=r.sync(e.command,{path:a[i({env:a})],pathExt:t?o.delimiter:void 0})}catch(e){}finally{u&&process.chdir(s)}return n&&(n=o.resolve(l?e.options.cwd:"",n)),n}t.exports=function(e){return a(e)||a(e,!0)}},278363,(e,t,n)=>{"use strict";let o=/([()\][%!^"`<>&|;, *?])/g;t.exports.command=function(e){return e.replace(o,"^$1")},t.exports.argument=function(e,t){return e=(e=(e=`${e}`).replace(/(?=(\\+?)?)\1"/g,'$1$1\\"')).replace(/(?=(\\+?)?)\1$/,"$1$1"),e=(e=`"${e}"`).replace(o,"^$1"),t&&(e=e.replace(o,"^$1")),e}},626716,(e,t,n)=>{"use strict";t.exports=/^#!(.*)/},653391,(e,t,n)=>{"use strict";let o=e.r(626716);t.exports=(e="")=>{let t=e.match(o);if(!t)return null;let[n,r]=t[0].replace(/#! ?/,"").split(" "),i=n.split("/").pop();return"env"===i?r:r?`${i} ${r}`:i}},333021,(e,t,n)=>{"use strict";let o=e.r(522734),r=e.r(653391);t.exports=function(e){let t,n=Buffer.alloc(150);try{t=o.openSync(e,"r"),o.readSync(t,n,0,150,0),o.closeSync(t)}catch(e){}return r(n.toString())}},810221,(e,t,n)=>{"use strict";e.r(814747),e.r(36012),e.r(278363),e.r(333021),process.platform,t.exports=function(e,t,n){t&&!Array.isArray(t)&&(n=t,t=null);let o={command:e,args:t=t?t.slice(0):[],options:n=Object.assign({},n),file:void 0,original:{command:e,args:t}};return n.shell,o}},664754,(e,t,n)=>{"use strict";process.platform,t.exports={hookChildProcess:function(e,t){},verifyENOENT:function(e,t){return null},verifyENOENTSync:function(e,t){return null},notFoundError:function(e,t){return Object.assign(Error(`${t} ${e.command} ENOENT`),{code:"ENOENT",errno:"ENOENT",syscall:`${t} ${e.command}`,path:e.command,spawnargs:e.args})}}},52199,(e,t,n)=>{"use strict";let o=e.r(233405),r=e.r(810221),i=e.r(664754);function a(e,t,n){let a=r(e,t,n),s=o.spawn(a.command,a.args,a.options);return i.hookChildProcess(s,a),s}t.exports=a,t.exports.spawn=a,t.exports.sync=function(e,t,n){let a=r(e,t,n),s=o.spawnSync(a.command,a.args,a.options);return s.error=s.error||i.verifyENOENTSync(s.status,a),s},t.exports._parse=r,t.exports._enoent=i},940655,e=>{"use strict";var t,n,o=e.i(691296),r=e.i(853205),i=e.i(296194),a=e.i(52199),s=r.z.optional(r.z.record(r.z.string(),r.z.unknown())),l=r.z.looseObject({name:r.z.string(),version:r.z.string(),title:r.z.optional(r.z.string())}),u=r.z.looseObject({_meta:r.z.optional(r.z.object({}).loose())}),c=u.extend({resultType:r.z.optional(r.z.string())}),d=r.z.object({method:r.z.string(),params:r.z.optional(u)}),p=r.z.object({applyDefaults:r.z.optional(r.z.boolean())}).loose(),h=r.z.looseObject({experimental:r.z.optional(r.z.object({}).loose()),logging:r.z.optional(r.z.object({}).loose()),completions:r.z.optional(r.z.object({}).loose()),prompts:r.z.optional(r.z.looseObject({listChanged:r.z.optional(r.z.boolean())})),resources:r.z.optional(r.z.looseObject({subscribe:r.z.optional(r.z.boolean()),listChanged:r.z.optional(r.z.boolean())})),tools:r.z.optional(r.z.looseObject({listChanged:r.z.optional(r.z.boolean())})),elicitation:r.z.optional(p)});r.z.object({elicitation:r.z.optional(p)}).loose(),c.extend({supportedVersions:r.z.array(r.z.string()),capabilities:h,instructions:r.z.optional(r.z.string()),ttlMs:r.z.optional(r.z.number()),cacheScope:r.z.optional(r.z.union([r.z.literal("public"),r.z.literal("private")]))}),c.extend({protocolVersion:r.z.string(),capabilities:h,serverInfo:l,instructions:r.z.optional(r.z.string())});var m=c.extend({nextCursor:r.z.optional(r.z.string())}),g=r.z.object({name:r.z.string(),title:r.z.optional(r.z.string()),description:r.z.optional(r.z.string()),inputSchema:r.z.looseObject({type:r.z.optional(r.z.unknown()),properties:r.z.optional(r.z.object({}).loose())}),outputSchema:r.z.optional(r.z.object({}).loose()),annotations:r.z.optional(r.z.object({title:r.z.optional(r.z.string()),readOnlyHint:r.z.optional(r.z.boolean()),destructiveHint:r.z.optional(r.z.boolean()),idempotentHint:r.z.optional(r.z.boolean()),openWorldHint:r.z.optional(r.z.boolean())}).loose()),_meta:s}).loose();m.extend({tools:r.z.array(g)});var f=r.z.object({type:r.z.literal("text"),text:r.z.string()}).loose(),y=r.z.object({type:r.z.literal("image"),data:r.z.base64(),mimeType:r.z.string()}).loose(),b=r.z.object({uri:r.z.string(),name:r.z.string(),title:r.z.optional(r.z.string()),description:r.z.optional(r.z.string()),mimeType:r.z.optional(r.z.string()),size:r.z.optional(r.z.number())}).loose();m.extend({resources:r.z.array(b)});var _=r.z.object({uri:r.z.string(),name:r.z.optional(r.z.string()),title:r.z.optional(r.z.string()),mimeType:r.z.optional(r.z.string())}).loose(),z=_.extend({text:r.z.string()}),w=_.extend({blob:r.z.base64()}),v=r.z.object({type:r.z.literal("resource"),resource:r.z.union([z,w])}).loose(),k=r.z.object({type:r.z.literal("resource_link"),uri:r.z.string(),name:r.z.string(),description:r.z.optional(r.z.string()),mimeType:r.z.optional(r.z.string())}).loose(),x=r.z.object({type:r.z.string()}).loose().refine(e=>!["text","image","resource","resource_link"].includes(e.type),{message:"Known content types must match their schema"}),S=c.extend({content:r.z.array(r.z.union([f,y,v,k,x])),structuredContent:r.z.optional(r.z.unknown()),isError:r.z.boolean().default(!1).optional()}),T=c.extend({content:r.z.never().optional(),structuredContent:r.z.json(),isError:r.z.boolean().default(!1).optional()}).transform(e=>({...e,content:[{type:"text",text:JSON.stringify(e.structuredContent)}]})).pipe(S);S.or(T).or(c.extend({toolResult:r.z.unknown().nonoptional()}));var I=r.z.object({uriTemplate:r.z.string(),name:r.z.string(),title:r.z.optional(r.z.string()),description:r.z.optional(r.z.string()),mimeType:r.z.optional(r.z.string())}).loose();c.extend({resourceTemplates:r.z.array(I)}),c.extend({contents:r.z.array(r.z.union([z,w]))});var O=r.z.object({type:r.z.literal("ref/prompt"),name:r.z.string()}).loose(),E=r.z.object({type:r.z.literal("ref/resource"),uri:r.z.string()}).loose(),C=r.z.object({name:r.z.string(),value:r.z.string()}).loose();u.extend({ref:r.z.union([O,E]),argument:C,context:r.z.optional(r.z.object({arguments:r.z.record(r.z.string(),r.z.string())}).loose())}),c.extend({completion:r.z.object({values:r.z.array(r.z.string()).max(100),total:r.z.optional(r.z.number().int()),hasMore:r.z.optional(r.z.boolean())}).loose()});var A=r.z.object({name:r.z.string(),description:r.z.optional(r.z.string()),required:r.z.optional(r.z.boolean())}).loose(),j=r.z.object({name:r.z.string(),title:r.z.optional(r.z.string()),description:r.z.optional(r.z.string()),arguments:r.z.optional(r.z.array(A))}).loose();m.extend({prompts:r.z.array(j)});var R=r.z.object({role:r.z.union([r.z.literal("user"),r.z.literal("assistant")]),content:r.z.union([f,y,v,k])}).loose();c.extend({description:r.z.optional(r.z.string()),messages:r.z.array(R)});var $=u.extend({message:r.z.string(),requestedSchema:r.z.unknown()});d.extend({method:r.z.literal("elicitation/create"),params:$}),c.extend({action:r.z.union([r.z.literal("accept"),r.z.literal("decline"),r.z.literal("cancel")]),content:r.z.optional(r.z.record(r.z.string(),r.z.unknown()))});var M=r.z.object({jsonrpc:r.z.literal("2.0"),id:r.z.union([r.z.string(),r.z.number().int()])}).merge(d).strict(),N=r.z.object({jsonrpc:r.z.literal("2.0"),id:r.z.union([r.z.string(),r.z.number().int()]),result:c}).strict(),L=r.z.object({jsonrpc:r.z.literal("2.0"),id:r.z.optional(r.z.union([r.z.string(),r.z.number().int()])),error:r.z.object({code:r.z.number().int(),message:r.z.string(),data:r.z.optional(r.z.unknown())})}).strict(),P=r.z.object({jsonrpc:r.z.literal("2.0")}).merge(r.z.object({method:r.z.string(),params:r.z.optional(u)})).strict(),U=r.z.union([M,P,N,L]);async function q(e){var t;return t=await (0,o.parseJSON)({text:e}),U.parse(t)}var D="vercel.ai.error.AI_MCPClientError",F=Symbol.for(D),H=class extends(n=i.AISDKError,t=F,n){constructor({name:e="MCPClientError",message:n,cause:o,data:r,code:i,statusCode:a,url:s,responseBody:l}){super({name:e,message:n,cause:o}),this[t]=!0,this.data=r,this.code=i,this.statusCode=a,this.url=s,this.responseBody=l}static isInstance(e){return i.AISDKError.hasMarker(e,D)}},B=class{constructor(e){this.supportsProtocolVersionDiscovery=!0,this.abortController=new AbortController,this.readBuffer=new W,this.serverParams=e}async start(){if(this.process)throw new H({message:"StdioMCPTransport already started."});return new Promise((e,t)=>{try{let n=function(e,t){if("win32"===globalThis.process.platform&&[e.command,...e.args??[]].some(e=>/[\r\n]/.test(e)))throw TypeError("Stdio MCP commands and arguments must not contain line breaks on Windows.");return(0,a.default)(e.command,e.args??[],{env:function(e){let t="win32"===globalThis.process.platform,n=e?{...e}:{},o=new Set(Object.keys(n).map(e=>t?e.toUpperCase():e));for(let e of t?["APPDATA","HOMEDRIVE","HOMEPATH","LOCALAPPDATA","PATH","PROCESSOR_ARCHITECTURE","SYSTEMDRIVE","SYSTEMROOT","TEMP","USERNAME","USERPROFILE"]:["HOME","LOGNAME","PATH","SHELL","TERM","USER"]){if(o.has(e))continue;let t=globalThis.process.env[e];void 0!==t&&(t.startsWith("()")||(n[e]=t))}return n}(e.env),stdio:["pipe","pipe",e.stderr??"inherit"],shell:!1,signal:t,windowsHide:"win32"===globalThis.process.platform&&"type"in globalThis.process,cwd:e.cwd})}(this.serverParams,this.abortController.signal);this.process=n,this.process.on("error",e=>{"AbortError"===e.name?this.onclose?.():(t(e),this.onerror?.(e))}),this.process.on("spawn",()=>{e()}),this.process.on("close",e=>{this.process=void 0,this.onclose?.()}),this.process.stdin?.on("error",e=>{this.onerror?.(e)}),this.process.stdout?.on("data",e=>{this.readBuffer.append(e),this.processReadBuffer()}),this.process.stdout?.on("error",e=>{this.onerror?.(e)})}catch(e){t(e),this.onerror?.(e)}})}async processReadBuffer(){for(;;){let e=this.readBuffer.readLine();if(null===e)break;try{let t=await K(e);this.onmessage?.(t)}catch(e){this.onerror?.(e)}}}async close(){this.abortController.abort(),this.process=void 0,this.readBuffer.clear()}send(e){return new Promise(t=>{if(!this.process?.stdin)throw new H({message:"StdioClientTransport not connected"});let n=JSON.stringify(e)+"\n";this.process.stdin.write(n)?t():this.process.stdin.once("drain",t)})}},W=class{append(e){this.buffer=this.buffer?Buffer.concat([this.buffer,e]):e}readLine(){if(!this.buffer)return null;let e=this.buffer.indexOf("\n");if(-1===e)return null;let t=this.buffer.toString("utf8",0,e);return this.buffer=this.buffer.subarray(e+1),t}clear(){this.buffer=void 0}};async function K(e){return q(e)}e.s(["Experimental_StdioMCPTransport",0,B])},767080,(e,t,n)=>{"use strict";let o=Symbol.for("yaml.alias"),r=Symbol.for("yaml.document"),i=Symbol.for("yaml.map"),a=Symbol.for("yaml.pair"),s=Symbol.for("yaml.scalar"),l=Symbol.for("yaml.seq"),u=Symbol.for("yaml.node.type"),c=e=>!!e&&"object"==typeof e&&e[u]===s;function d(e){if(e&&"object"==typeof e)switch(e[u]){case i:case l:return!0}return!1}n.ALIAS=o,n.DOC=r,n.MAP=i,n.NODE_TYPE=u,n.PAIR=a,n.SCALAR=s,n.SEQ=l,n.hasAnchor=e=>(c(e)||d(e))&&!!e.anchor,n.isAlias=e=>!!e&&"object"==typeof e&&e[u]===o,n.isCollection=d,n.isDocument=e=>!!e&&"object"==typeof e&&e[u]===r,n.isMap=e=>!!e&&"object"==typeof e&&e[u]===i,n.isNode=function(e){if(e&&"object"==typeof e)switch(e[u]){case o:case i:case s:case l:return!0}return!1},n.isPair=e=>!!e&&"object"==typeof e&&e[u]===a,n.isScalar=c,n.isSeq=e=>!!e&&"object"==typeof e&&e[u]===l},341141,(e,t,n)=>{"use strict";var o=e.r(767080);let r=Symbol("break visit"),i=Symbol("skip children"),a=Symbol("remove node");function s(e,t){let n=d(t);o.isDocument(e)?l(null,e.contents,n,Object.freeze([e]))===a&&(e.contents=null):l(null,e,n,Object.freeze([]))}function l(e,t,n,i){let s=p(e,t,n,i);if(o.isNode(s)||o.isPair(s))return h(e,i,s),l(e,s,n,i);if("symbol"!=typeof s){if(o.isCollection(t)){i=Object.freeze(i.concat(t));for(let e=0;e<t.items.length;++e){let o=l(e,t.items[e],n,i);if("number"==typeof o)e=o-1;else{if(o===r)return r;o===a&&(t.items.splice(e,1),e-=1)}}}else if(o.isPair(t)){i=Object.freeze(i.concat(t));let e=l("key",t.key,n,i);if(e===r)return r;e===a&&(t.key=null);let o=l("value",t.value,n,i);if(o===r)return r;o===a&&(t.value=null)}}return s}async function u(e,t){let n=d(t);o.isDocument(e)?await c(null,e.contents,n,Object.freeze([e]))===a&&(e.contents=null):await c(null,e,n,Object.freeze([]))}async function c(e,t,n,i){let s=await p(e,t,n,i);if(o.isNode(s)||o.isPair(s))return h(e,i,s),c(e,s,n,i);if("symbol"!=typeof s){if(o.isCollection(t)){i=Object.freeze(i.concat(t));for(let e=0;e<t.items.length;++e){let o=await c(e,t.items[e],n,i);if("number"==typeof o)e=o-1;else{if(o===r)return r;o===a&&(t.items.splice(e,1),e-=1)}}}else if(o.isPair(t)){i=Object.freeze(i.concat(t));let e=await c("key",t.key,n,i);if(e===r)return r;e===a&&(t.key=null);let o=await c("value",t.value,n,i);if(o===r)return r;o===a&&(t.value=null)}}return s}function d(e){return"object"==typeof e&&(e.Collection||e.Node||e.Value)?Object.assign({Alias:e.Node,Map:e.Node,Scalar:e.Node,Seq:e.Node},e.Value&&{Map:e.Value,Scalar:e.Value,Seq:e.Value},e.Collection&&{Map:e.Collection,Seq:e.Collection},e):e}function p(e,t,n,r){return"function"==typeof n?n(e,t,r):o.isMap(t)?n.Map?.(e,t,r):o.isSeq(t)?n.Seq?.(e,t,r):o.isPair(t)?n.Pair?.(e,t,r):o.isScalar(t)?n.Scalar?.(e,t,r):o.isAlias(t)?n.Alias?.(e,t,r):void 0}function h(e,t,n){let r=t[t.length-1];if(o.isCollection(r))r.items[e]=n;else if(o.isPair(r))"key"===e?r.key=n:r.value=n;else if(o.isDocument(r))r.contents=n;else{let e=o.isAlias(r)?"alias":"scalar";throw Error(`Cannot replace node with ${e} parent`)}}s.BREAK=r,s.SKIP=i,s.REMOVE=a,u.BREAK=r,u.SKIP=i,u.REMOVE=a,n.visit=s,n.visitAsync=u},954907,(e,t,n)=>{"use strict";var o=e.r(767080),r=e.r(341141);let i={"!":"%21",",":"%2C","[":"%5B","]":"%5D","{":"%7B","}":"%7D"},a=e=>e.replace(/[!,[\]{}]/g,e=>i[e]);class s{constructor(e,t){this.docStart=null,this.docEnd=!1,this.yaml=Object.assign({},s.defaultYaml,e),this.tags=Object.assign({},s.defaultTags,t)}clone(){let e=new s(this.yaml,this.tags);return e.docStart=this.docStart,e}atDocument(){let e=new s(this.yaml,this.tags);switch(this.yaml.version){case"1.1":this.atNextDocument=!0;break;case"1.2":this.atNextDocument=!1,this.yaml={explicit:s.defaultYaml.explicit,version:"1.2"},this.tags=Object.assign({},s.defaultTags)}return e}add(e,t){this.atNextDocument&&(this.yaml={explicit:s.defaultYaml.explicit,version:"1.1"},this.tags=Object.assign({},s.defaultTags),this.atNextDocument=!1);let n=e.trim().split(/[ \t]+/),o=n.shift();switch(o){case"%TAG":{if(2!==n.length&&(t(0,"%TAG directive should contain exactly two parts"),n.length<2))return!1;let[e,o]=n;return this.tags[e]=o,!0}case"%YAML":{if(this.yaml.explicit=!0,1!==n.length)return t(0,"%YAML directive should contain exactly one part"),!1;let[e]=n;if("1.1"===e||"1.2"===e)return this.yaml.version=e,!0;{let n=/^\d+\.\d+$/.test(e);return t(6,`Unsupported YAML version ${e}`,n),!1}}default:return t(0,`Unknown directive ${o}`,!0),!1}}tagName(e,t){if("!"===e)return"!";if("!"!==e[0])return t(`Not a valid tag: ${e}`),null;if("<"===e[1]){let n=e.slice(2,-1);return"!"===n||"!!"===n?(t(`Verbatim tags aren't resolved, so ${e} is invalid.`),null):(">"!==e[e.length-1]&&t("Verbatim tags must end with a >"),n)}let[,n,o]=e.match(/^(.*!)([^!]*)$/s);o||t(`The ${e} tag has no suffix`);let r=this.tags[n];if(r)try{return r+decodeURIComponent(o)}catch(e){return t(String(e)),null}return"!"===n?e:(t(`Could not resolve tag: ${e}`),null)}tagString(e){for(let[t,n]of Object.entries(this.tags))if(e.startsWith(n))return t+a(e.substring(n.length));return"!"===e[0]?e:`!<${e}>`}toString(e){let t,n=this.yaml.explicit?[`%YAML ${this.yaml.version||"1.2"}`]:[],i=Object.entries(this.tags);if(e&&i.length>0&&o.isNode(e.contents)){let n={};r.visit(e.contents,(e,t)=>{o.isNode(t)&&t.tag&&(n[t.tag]=!0)}),t=Object.keys(n)}else t=[];for(let[o,r]of i)("!!"!==o||"tag:yaml.org,2002:"!==r)&&(!e||t.some(e=>e.startsWith(r)))&&n.push(`%TAG ${o} ${r}`);return n.join("\n")}}s.defaultYaml={explicit:!1,version:"1.2"},s.defaultTags={"!!":"tag:yaml.org,2002:"},n.Directives=s},375506,(e,t,n)=>{"use strict";var o=e.r(767080),r=e.r(341141);function i(e){let t=new Set;return r.visit(e,{Value(e,n){n.anchor&&t.add(n.anchor)}}),t}function a(e,t){for(let n=1;;++n){let o=`${e}${n}`;if(!t.has(o))return o}}n.anchorIsValid=function(e){if(/[\x00-\x19\s,[\]{}]/.test(e)){let t=JSON.stringify(e);throw Error(`Anchor must not contain whitespace or control characters: ${t}`)}return!0},n.anchorNames=i,n.createNodeAnchors=function(e,t){let n=[],r=new Map,s=null;return{onAnchor:o=>{n.push(o),s??(s=i(e));let r=a(t,s);return s.add(r),r},setAnchors:()=>{for(let e of n){let t=r.get(e);if("object"==typeof t&&t.anchor&&(o.isScalar(t.node)||o.isCollection(t.node)))t.node.anchor=t.anchor;else{let t=Error("Failed to resolve repeated object (this should not happen)");throw t.source=e,t}}},sourceObjects:r}},n.findNewAnchor=a},670087,(e,t,n)=>{"use strict";n.applyReviver=function e(t,n,o,r){if(r&&"object"==typeof r)if(Array.isArray(r))for(let n=0,o=r.length;n<o;++n){let o=r[n],i=e(t,r,String(n),o);void 0===i?delete r[n]:i!==o&&(r[n]=i)}else if(r instanceof Map)for(let n of Array.from(r.keys())){let o=r.get(n),i=e(t,r,n,o);void 0===i?r.delete(n):i!==o&&r.set(n,i)}else if(r instanceof Set)for(let n of Array.from(r)){let o=e(t,r,n,n);void 0===o?r.delete(n):o!==n&&(r.delete(n),r.add(o))}else for(let[n,o]of Object.entries(r)){let i=e(t,r,n,o);void 0===i?delete r[n]:i!==o&&(r[n]=i)}return t.call(n,o,r)}},344972,(e,t,n)=>{"use strict";var o=e.r(767080);n.toJS=function e(t,n,r){if(Array.isArray(t))return t.map((t,n)=>e(t,String(n),r));if(t&&"function"==typeof t.toJSON){if(!r||!o.hasAnchor(t))return t.toJSON(n,r);let e={aliasCount:0,count:1,res:void 0};r.anchors.set(t,e),r.onCreate=t=>{e.res=t,delete r.onCreate};let i=t.toJSON(n,r);return r.onCreate&&r.onCreate(i),i}return"bigint"!=typeof t||r?.keep?t:Number(t)}},253713,(e,t,n)=>{"use strict";var o=e.r(670087),r=e.r(767080),i=e.r(344972);n.NodeBase=class{constructor(e){Object.defineProperty(this,r.NODE_TYPE,{value:e})}clone(){let e=Object.create(Object.getPrototypeOf(this),Object.getOwnPropertyDescriptors(this));return this.range&&(e.range=this.range.slice()),e}toJS(e,{mapAsMap:t,maxAliasCount:n,onAnchor:a,reviver:s}={}){if(!r.isDocument(e))throw TypeError("A document argument is required");let l={anchors:new Map,doc:e,keep:!0,mapAsMap:!0===t,mapKeyWarned:!1,maxAliasCount:"number"==typeof n?n:100},u=i.toJS(this,"",l);if("function"==typeof a)for(let{count:e,res:t}of l.anchors.values())a(t,e);return"function"==typeof s?o.applyReviver(s,{"":u},"",u):u}}},917429,(e,t,n)=>{"use strict";var o=e.r(375506),r=e.r(341141),i=e.r(767080),a=e.r(253713),s=e.r(344972);class l extends a.NodeBase{constructor(e){super(i.ALIAS),this.source=e,Object.defineProperty(this,"tag",{set(){throw Error("Alias nodes cannot have tags")}})}resolve(e,t){let n,o;if(t?.maxAliasCount===0)throw ReferenceError("Alias resolution is disabled");for(let a of(t?.aliasResolveCache?n=t.aliasResolveCache:(n=[],r.visit(e,{Node:(e,t)=>{(i.isAlias(t)||i.hasAnchor(t))&&n.push(t)}}),t&&(t.aliasResolveCache=n)),n)){if(a===this)break;a.anchor===this.source&&(o=a)}if(o&&t){let{anchors:e,doc:n,maxAliasCount:r}=t,a=e.get(o);if(a||(s.toJS(o,null,t),a=e.get(o)),a?.res===void 0)throw ReferenceError("This should not happen: Alias anchor was not resolved?");if(r>=0&&(a.count+=1,0===a.aliasCount&&(a.aliasCount=function e(t,n,o){if(i.isAlias(n)){let e=n.resolve(t),r=o&&e&&o.get(e);return r?r.count*r.aliasCount:0}if(i.isCollection(n)){let r=0;for(let i of n.items){let n=e(t,i,o);n>r&&(r=n)}return r}return i.isPair(n)?Math.max(e(t,n.key,o),e(t,n.value,o)):1}(n,o,e)),a.count*a.aliasCount>r))throw ReferenceError("Excessive alias count indicates a resource exhaustion attack")}return o}toJSON(e,t){if(!t)return{source:this.source};let n=this.resolve(t.doc,t);if(!n)throw ReferenceError(`Unresolved alias (the anchor must be set before the alias): ${this.source}`);return t.anchors.get(n).res}toString(e,t,n){let r=`*${this.source}`;if(e){if(o.anchorIsValid(this.source),e.options.verifyAliasOrder&&!e.anchors.has(this.source))throw Error(`Unresolved alias (the anchor must be set before the alias): ${this.source}`);if(e.implicitKey)return`${r} `}return r}}n.Alias=l},826090,(e,t,n)=>{"use strict";var o=e.r(767080),r=e.r(253713),i=e.r(344972);class a extends r.NodeBase{constructor(e){super(o.SCALAR),this.value=e}toJSON(e,t){return t?.keep?this.value:i.toJS(this.value,e,t)}toString(){return String(this.value)}}a.BLOCK_FOLDED="BLOCK_FOLDED",a.BLOCK_LITERAL="BLOCK_LITERAL",a.PLAIN="PLAIN",a.QUOTE_DOUBLE="QUOTE_DOUBLE",a.QUOTE_SINGLE="QUOTE_SINGLE",n.Scalar=a,n.isScalarValue=e=>!e||"function"!=typeof e&&"object"!=typeof e},333321,(e,t,n)=>{"use strict";var o=e.r(917429),r=e.r(767080),i=e.r(826090);n.createNode=function(e,t,n){let a;if(r.isDocument(e)&&(e=e.contents),r.isNode(e))return e;if(r.isPair(e)){let t=n.schema[r.MAP].createNode?.(n.schema,null,n);return t.items.push(e),t}(e instanceof String||e instanceof Number||e instanceof Boolean||"u">typeof BigInt&&e instanceof BigInt)&&(e=e.valueOf());let{aliasDuplicateObjects:s,onAnchor:l,onTagObj:u,schema:c,sourceObjects:d}=n;if(s&&e&&"object"==typeof e){if(a=d.get(e))return a.anchor??(a.anchor=l(e)),new o.Alias(a.anchor);a={anchor:null,node:null},d.set(e,a)}t?.startsWith("!!")&&(t="tag:yaml.org,2002:"+t.slice(2));let p=function(e,t,n){if(t){let e=n.filter(e=>e.tag===t),o=e.find(e=>!e.format)??e[0];if(!o)throw Error(`Tag ${t} not found`);return o}return n.find(t=>t.identify?.(e)&&!t.format)}(e,t,c.tags);if(!p){if(e&&"function"==typeof e.toJSON&&(e=e.toJSON()),!e||"object"!=typeof e){let t=new i.Scalar(e);return a&&(a.node=t),t}p=e instanceof Map?c[r.MAP]:Symbol.iterator in Object(e)?c[r.SEQ]:c[r.MAP]}u&&(u(p),delete n.onTagObj);let h=p?.createNode?p.createNode(n.schema,e,n):"function"==typeof p?.nodeClass?.from?p.nodeClass.from(n.schema,e,n):new i.Scalar(e);return t?h.tag=t:p.default||(h.tag=p.tag),a&&(a.node=h),h}},714221,(e,t,n)=>{"use strict";var o=e.r(333321),r=e.r(767080),i=e.r(253713);function a(e,t,n){let r=n;for(let e=t.length-1;e>=0;--e){let n=t[e];if("number"==typeof n&&Number.isInteger(n)&&n>=0){let e=[];e[n]=r,r=e}else r=new Map([[n,r]])}return o.createNode(r,void 0,{aliasDuplicateObjects:!1,keepUndefined:!1,onAnchor:()=>{throw Error("This should not happen, please report a bug.")},schema:e,sourceObjects:new Map})}let s=e=>null==e||"object"==typeof e&&!!e[Symbol.iterator]().next().done;class l extends i.NodeBase{constructor(e,t){super(e),Object.defineProperty(this,"schema",{value:t,configurable:!0,enumerable:!1,writable:!0})}clone(e){let t=Object.create(Object.getPrototypeOf(this),Object.getOwnPropertyDescriptors(this));return e&&(t.schema=e),t.items=t.items.map(t=>r.isNode(t)||r.isPair(t)?t.clone(e):t),this.range&&(t.range=this.range.slice()),t}addIn(e,t){if(s(e))this.add(t);else{let[n,...o]=e,i=this.get(n,!0);if(r.isCollection(i))i.addIn(o,t);else if(void 0===i&&this.schema)this.set(n,a(this.schema,o,t));else throw Error(`Expected YAML collection at ${n}. Remaining path: ${o}`)}}deleteIn(e){let[t,...n]=e;if(0===n.length)return this.delete(t);let o=this.get(t,!0);if(r.isCollection(o))return o.deleteIn(n);throw Error(`Expected YAML collection at ${t}. Remaining path: ${n}`)}getIn(e,t){let[n,...o]=e,i=this.get(n,!0);return 0===o.length?!t&&r.isScalar(i)?i.value:i:r.isCollection(i)?i.getIn(o,t):void 0}hasAllNullValues(e){return this.items.every(t=>{if(!r.isPair(t))return!1;let n=t.value;return null==n||e&&r.isScalar(n)&&null==n.value&&!n.commentBefore&&!n.comment&&!n.tag})}hasIn(e){let[t,...n]=e;if(0===n.length)return this.has(t);let o=this.get(t,!0);return!!r.isCollection(o)&&o.hasIn(n)}setIn(e,t){let[n,...o]=e;if(0===o.length)this.set(n,t);else{let e=this.get(n,!0);if(r.isCollection(e))e.setIn(o,t);else if(void 0===e&&this.schema)this.set(n,a(this.schema,o,t));else throw Error(`Expected YAML collection at ${n}. Remaining path: ${o}`)}}}n.Collection=l,n.collectionFromPath=a,n.isEmptyPath=s},837668,(e,t,n)=>{"use strict";function o(e,t){return/^\n+$/.test(e)?e.substring(1):t?e.replace(/^(?! *$)/gm,t):e}n.indentComment=o,n.lineComment=(e,t,n)=>e.endsWith("\n")?o(n,t):n.includes("\n")?"\n"+o(n,t):(e.endsWith(" ")?"":" ")+n,n.stringifyComment=e=>e.replace(/^(?!$)(?: $)?/gm,"#")},372371,(e,t,n)=>{"use strict";let o="block",r="quoted";function i(e,t,n){let o=t,r=t+1,i=e[r];for(;" "===i||" "===i;)if(t<r+n)i=e[++t];else{do i=e[++t];while(i&&"\n"!==i)o=t,i=e[r=t+1]}return o}n.FOLD_BLOCK=o,n.FOLD_FLOW="flow",n.FOLD_QUOTED=r,n.foldFlowLines=function(e,t,n="flow",{indentAtStart:a,lineWidth:s=80,minContentWidth:l=20,onFold:u,onOverflow:c}={}){let d,p,h;if(!s||s<0)return e;s<l&&(l=0);let m=Math.max(1+l,1+s-t.length);if(e.length<=m)return e;let g=[],f={},y=s-t.length;"number"==typeof a&&(a>s-Math.max(2,l)?g.push(0):y=s-a);let b=!1,_=-1,z=-1,w=-1;for(n===o&&-1!==(_=i(e,_,t.length))&&(y=_+m);h=e[_+=1];){if(n===r&&"\\"===h){switch(z=_,e[_+1]){case"x":_+=3;break;case"u":_+=5;break;case"U":_+=9;break;default:_+=1}w=_}if("\n"===h)n===o&&(_=i(e,_,t.length)),y=_+t.length+m,d=void 0;else{if(" "===h&&p&&" "!==p&&"\n"!==p&&" "!==p){let t=e[_+1];t&&" "!==t&&"\n"!==t&&" "!==t&&(d=_)}if(_>=y)if(d)g.push(d),y=d+m,d=void 0;else if(n===r){for(;" "===p||" "===p;)p=h,h=e[_+=1],b=!0;let t=_>w+1?_-2:z-1;if(f[t])return e;g.push(t),f[t]=!0,y=t+m,d=void 0}else b=!0}p=h}if(b&&c&&c(),0===g.length)return e;u&&u();let v=e.slice(0,g[0]);for(let o=0;o<g.length;++o){let i=g[o],a=g[o+1]||e.length;0===i?v=`
|
|
205
|
+
`}}({prompt:e,inputFormat:"prompt"});if(null==c?void 0:c.length)throw new eq({functionality:"tools"});if(d)throw new eq({functionality:"toolChoice"});return D(D({model:this.modelId,models:this.settings.models,logit_bias:this.settings.logitBias,logprobs:"number"==typeof this.settings.logprobs?this.settings.logprobs:"boolean"==typeof this.settings.logprobs&&this.settings.logprobs?0:void 0,suffix:this.settings.suffix,user:this.settings.user,max_tokens:null!=t?t:this.settings.maxTokens,temperature:null!=n?n:this.settings.temperature,top_p:null!=o?o:this.settings.topP,frequency_penalty:null!=r?r:this.settings.frequencyPenalty,presence_penalty:null!=i?i:this.settings.presencePenalty,seed:a,stop:u,response_format:s,top_k:null!=l?l:this.settings.topK,prompt:p,include_reasoning:this.settings.includeReasoning,reasoning:this.settings.reasoning},this.config.extraBody),this.settings.extraBody)}async doGenerate(e){var t,n,o,r,i,a,s,l,u,c,d,p,h,m,g,f,y;let b=(e.providerOptions||{}).openrouter||{},_=D(D({},this.getArgs(e)),b),{value:w,responseHeaders:z}=await t1({url:this.config.url({path:"/completions",modelId:this.modelId}),headers:eK(this.config.headers(),e.headers),body:_,failedResponseHandler:nu,successfulResponseHandler:t6(nM),abortSignal:e.abortSignal,fetch:this.config.fetch});if("error"in w){let e=w.error;throw new Z({message:e.message,url:this.config.url({path:"/completions",modelId:this.modelId}),requestBodyValues:_,statusCode:200,responseHeaders:z,data:e})}let v=w.choices[0];if(!v)throw new eA({message:"No choice in OpenRouter completion response"});return{content:[{type:"text",text:null!=(t=v.text)?t:""}],finishReason:ng(v.finish_reason),usage:w.usage?nh(w.usage):nm(),warnings:[],providerMetadata:{openrouter:nd.parse({provider:null!=(n=w.provider)?n:"",usage:D(D(D(D({promptTokens:null!=(r=null==(o=w.usage)?void 0:o.prompt_tokens)?r:0,completionTokens:null!=(a=null==(i=w.usage)?void 0:i.completion_tokens)?a:0,totalTokens:(null!=(l=null==(s=w.usage)?void 0:s.prompt_tokens)?l:0)+(null!=(c=null==(u=w.usage)?void 0:u.completion_tokens)?c:0)},(null==(d=w.usage)?void 0:d.cost)!=null?{cost:w.usage.cost}:{}),(null==(h=null==(p=w.usage)?void 0:p.prompt_tokens_details)?void 0:h.cached_tokens)!=null?{promptTokensDetails:{cachedTokens:w.usage.prompt_tokens_details.cached_tokens}}:{}),(null==(g=null==(m=w.usage)?void 0:m.completion_tokens_details)?void 0:g.reasoning_tokens)!=null?{completionTokensDetails:{reasoningTokens:w.usage.completion_tokens_details.reasoning_tokens}}:{}),(null==(y=null==(f=w.usage)?void 0:f.cost_details)?void 0:y.upstream_inference_cost)!=null?{costDetails:{upstreamInferenceCost:w.usage.cost_details.upstream_inference_cost}}:{})})},response:{headers:z}}}async doStream(e){let t,n,o,r=(e.providerOptions||{}).openrouter||{},i=D(D({},this.getArgs(e)),r),{value:a,responseHeaders:s}=await t1({url:this.config.url({path:"/completions",modelId:this.modelId}),headers:eK(this.config.headers(),e.headers),body:F(D({},i),{stream:!0,stream_options:"strict"===this.config.compatibility?{include_usage:!0}:void 0}),failedResponseHandler:nu,successfulResponseHandler:t5(nM),abortSignal:e.abortSignal,fetch:this.config.fetch}),l=ny(a,e=>{t=e}),u=nf("other"),c={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},d={},p=[];return{stream:l.pipeThrough(new TransformStream({start(e){e.enqueue({type:"stream-start",warnings:p})},transform(t,r){var i,a,s,l,p;if(e.includeRawChunks&&r.enqueue({type:"raw",rawValue:t.rawValue}),!t.success){u=nf("error"),r.enqueue({type:"error",error:t.error});return}let h=t.value;if("error"in h){u=nf("error"),r.enqueue({type:"error",error:h.error});return}if(h.provider&&(n=h.provider),null!=h.usage){let e=nh(h.usage);Object.assign(c.inputTokens,e.inputTokens),Object.assign(c.outputTokens,e.outputTokens),o=h.usage;let t=null!=(i=h.usage.prompt_tokens)?i:0,n=null!=(a=h.usage.completion_tokens)?a:0;d.promptTokens=t,h.usage.prompt_tokens_details&&(d.promptTokensDetails={cachedTokens:null!=(s=h.usage.prompt_tokens_details.cached_tokens)?s:0}),d.completionTokens=n,h.usage.completion_tokens_details&&(d.completionTokensDetails={reasoningTokens:null!=(l=h.usage.completion_tokens_details.reasoning_tokens)?l:0}),null!=h.usage.cost&&(d.cost=h.usage.cost),d.totalTokens=h.usage.total_tokens;let r=null==(p=h.usage.cost_details)?void 0:p.upstream_inference_cost;null!=r&&(d.costDetails={upstreamInferenceCost:r})}let m=h.choices[0];(null==m?void 0:m.finish_reason)!=null&&(u=ng(m.finish_reason)),(null==m?void 0:m.text)!=null&&r.enqueue({type:"text-delta",delta:m.text,id:tp()})},flush(e){null!=t&&(u=nf("error"),e.enqueue({type:"error",error:t})),c.raw=o;let r={usage:d};void 0!==n&&(r.provider=n),e.enqueue({type:"finish",finishReason:u,usage:c,providerMetadata:{openrouter:r}})}})),response:{headers:s}}}},nL=j.z.object({prompt_tokens:j.z.number(),total_tokens:j.z.number(),cost:j.z.number().optional()}),nP=j.z.object({object:j.z.literal("embedding"),embedding:j.z.array(j.z.number()),index:j.z.number().optional()}),nU=j.z.object({id:j.z.string().optional(),object:j.z.literal("list"),data:j.z.array(nP),model:j.z.string(),provider:j.z.string().optional(),usage:nL.optional()}),nq=class{constructor(e,t,n){this.specificationVersion="v4",this.provider="openrouter",this.maxEmbeddingsPerCall=void 0,this.supportsParallelCalls=!0,this.modelId=e,this.settings=t,this.config=n}async doEmbed(e){var t,n,o,r,i,a;let{values:s,abortSignal:l,headers:u}=e,c=D(D({model:this.modelId,input:s,user:this.settings.user,provider:this.settings.provider},this.config.extraBody),this.settings.extraBody),{value:d,responseHeaders:p}=await t1({url:this.config.url({path:"/embeddings",modelId:this.modelId}),headers:eK(this.config.headers(),u),body:c,failedResponseHandler:nu,successfulResponseHandler:t6(nU),abortSignal:l,fetch:this.config.fetch});return{embeddings:d.data.map(e=>e.embedding),usage:d.usage?{tokens:d.usage.prompt_tokens}:void 0,providerMetadata:{openrouter:nd.parse({provider:null!=(t=d.provider)?t:"",usage:D({promptTokens:null!=(o=null==(n=d.usage)?void 0:n.prompt_tokens)?o:0,completionTokens:0,totalTokens:null!=(i=null==(r=d.usage)?void 0:r.total_tokens)?i:0},(null==(a=d.usage)?void 0:a.cost)!=null?{cost:d.usage.cost}:{})})},response:{headers:p,body:d},warnings:[]}}},nD=j.z.lazy(()=>j.z.union([j.z.string(),j.z.number(),j.z.boolean(),j.z.null(),j.z.array(nD),j.z.record(j.z.string(),nD)])),nF=j.z.union([j.z.string(),j.z.record(j.z.string(),nD),j.z.array(nD)]),nH=j.z.object({user:j.z.string().optional(),provider:j.z.record(j.z.string(),nD).optional(),session_id:j.z.string().optional(),trace:j.z.record(j.z.string(),nD).optional()}).loose(),nB=j.z.object({type:j.z.literal("noul"),noul:j.z.number()}),nW=j.z.object({type:j.z.literal("choice"),choice:j.z.string(),probabilities:j.z.record(j.z.string(),j.z.number()).optional(),confidence:j.z.number().optional()}),nK=j.z.object({type:j.z.literal("score"),score:j.z.number(),legend:j.z.record(j.z.string(),nF).optional(),probabilities:j.z.record(j.z.string(),j.z.number()).optional(),confidence:j.z.number().optional()}),nV=j.z.discriminatedUnion("type",[nB,nW,nK]),nJ=j.z.object({id:j.z.string().optional(),model:j.z.string().optional(),provider:j.z.string().optional(),answers:j.z.record(j.z.string(),nV),usage:j.z.object({input_tokens:j.z.number().optional(),output_tokens:j.z.number().optional(),cost:j.z.number().optional()}).optional()}),nG={probabilityDecimals:2,scoreDecimals:2},nY=class{constructor(e,t,n){this.specificationVersion="v4",this.provider="openrouter",this.supportedQuestionTypes=["choice","score","boolean"],this.modelId=e,this.settings=t,this.config=n}async doEvaluate(e){var t;let{state:n,questions:o,abortSignal:r,headers:i,providerOptions:a}=e,s=Object.fromEntries(Object.entries(o).map(([e,t])=>[e,function(e,t){var n,o;switch(t.type){case"choice":return{type:"choice",instructions:t.instructions,criteria:t.criteria};case"score":return{type:"score",instructions:t.instructions,criteria:t.criteria.map((t,n)=>{if(null==t)throw new es({argument:`questions.${e}.criteria[${n}]`,message:`Question "${e}": the OpenRouter Decisions API requires a description for every score criterion.`});return t})};case"boolean":{let r=null==(n=t.criteria)?void 0:n.true,i=null==(o=t.criteria)?void 0:o.false;if(null==r&&null==i)return{type:"noul",instructions:t.instructions};if(null==r||null==i)throw new es({argument:`questions.${e}.criteria`,message:`Question "${e}": the OpenRouter Decisions API requires both "true" and "false" descriptions when boolean criteria are given.`});return{type:"noul",instructions:t.instructions,criteria:{true:r,false:i}}}default:return t}}(e,t)])),l=await tQ({provider:"openrouter",providerOptions:a,schema:nH}),{user:u,provider:c,session_id:d,trace:p,extraBody:h}=this.settings,m=F(D(D(D(D({},this.config.extraBody),h),Object.fromEntries(Object.entries({user:u,provider:c,session_id:d,trace:p}).filter(([e,t])=>null!=t))),l),{model:this.modelId,state:n,questions:s}),{value:g,rawValue:f,responseHeaders:y}=await t1({url:this.config.url({path:"/decisions"}),headers:eK(this.config.headers(),i),body:m,failedResponseHandler:nu,successfulResponseHandler:t6(nJ),abortSignal:r,fetch:this.config.fetch}),b=Object.fromEntries(Object.entries(g.answers).map(([e,t])=>[e,function(e){switch(e.type){case"noul":return{type:"boolean",probability:e.noul};case"choice":return{type:"choice",choice:e.choice,probabilities:e.probabilities};case"score":return{type:"score",score:e.score,probabilities:e.probabilities};default:return e}}(t)])),_=Object.fromEntries(Object.entries(g.answers).map(([e,t])=>[e,function(e){switch(e.type){case"noul":return{};case"choice":return null!=e.confidence?{confidence:e.confidence}:{};case"score":return D(D({},null!=e.confidence?{confidence:e.confidence}:{}),null!=e.legend?{legend:e.legend}:{});default:return e}}(t)]));return{answers:b,rounding:nG,usage:g.usage?{inputTokens:g.usage.input_tokens,outputTokens:g.usage.output_tokens}:void 0,warnings:[],providerMetadata:{openrouter:D(F(D({},null!=g.provider?{provider:g.provider}:{}),{answers:_}),(null==(t=g.usage)?void 0:t.cost)!=null?{usage:{cost:g.usage.cost}}:{})},response:{id:g.id,modelId:g.model,headers:y,body:f}}}},nZ=j.z.object({created:j.z.number().optional(),data:j.z.array(j.z.object({b64_json:j.z.string()}).passthrough()),usage:j.z.object({prompt_tokens:j.z.number(),completion_tokens:j.z.number(),total_tokens:j.z.number()}).passthrough().optional()}).passthrough(),nX=class{constructor(e,t,n){this.specificationVersion="v4",this.provider="openrouter",this.maxImagesPerCall=10,this.modelId=e,this.settings=t,this.config=n}async doGenerate(e){let{prompt:t,n,size:o,aspectRatio:r,seed:i,files:a,mask:s,abortSignal:l,headers:u,providerOptions:c}=e,d=(null==c?void 0:c.openrouter)||{};if(void 0!==s)throw new eq({functionality:"image inpainting (mask parameter)"});let p=void 0!==a&&a.length>0?a.map(e=>{var t;return"url"===(t=e).type?{type:"image_url",image_url:{url:t.url}}:{type:"image_url",image_url:{url:nz({data:t.data,mediaType:t.mediaType,defaultMediaType:"image/png"})}}}):void 0,h=D(D(D(D(D(D(D(D(D(D({model:this.modelId,prompt:null!=t?t:""},void 0!==n&&{n}),void 0!==o&&{size:o}),void 0!==r&&{aspect_ratio:r}),void 0!==i&&{seed:i}),void 0!==p&&{input_references:p}),void 0!==this.settings.user&&{user:this.settings.user}),void 0!==this.settings.provider&&{provider:this.settings.provider}),this.config.extraBody),this.settings.extraBody),d),{value:m,responseHeaders:g}=await t1({url:this.config.url({path:"/images",modelId:this.modelId}),headers:eK(this.config.headers(),u),body:h,failedResponseHandler:nu,successfulResponseHandler:t6(nZ),abortSignal:l,fetch:this.config.fetch});if(!m.data||0===m.data.length)throw new eA({message:"No images in response"});let f=m.data.map(e=>e.b64_json),y=m.usage?{inputTokens:m.usage.prompt_tokens,outputTokens:m.usage.completion_tokens,totalTokens:m.usage.total_tokens}:void 0;return{images:f,warnings:[],response:{timestamp:new Date,modelId:this.modelId,headers:g},usage:y}}},nQ=function({id:e,inputSchema:t}){return n=>{var{execute:o,outputSchema:r,needsApproval:i,toModelOutput:a,onInputStart:s,onInputDelta:l,onInputAvailable:u}=n;return{type:"provider",isProviderExecuted:!1,id:e,args:H(n,["execute","outputSchema","needsApproval","toModelOutput","onInputStart","onInputDelta","onInputAvailable"]),inputSchema:t,outputSchema:r,execute:o,needsApproval:i,toModelOutput:a,onInputStart:s,onInputDelta:l,onInputAvailable:u}}}({id:"openrouter.web_search",inputSchema:j.z.object({results:j.z.array(j.z.unknown()).optional()})}),n0=j.z.object({id:j.z.string(),generation_id:j.z.string().optional(),polling_url:j.z.string(),status:j.z.string()}).passthrough(),n1=j.z.object({id:j.z.string(),generation_id:j.z.string().optional(),polling_url:j.z.string(),status:j.z.string(),unsigned_urls:j.z.array(j.z.string()).optional(),usage:j.z.object({cost:j.z.number().optional(),is_byok:j.z.boolean().optional()}).passthrough().optional(),error:j.z.string().optional()}).passthrough(),n2=class{constructor(e,t,n){this.specificationVersion="v4",this.provider="openrouter",this.maxVideosPerCall=1,this.modelId=e,this.settings=t,this.config=n}async doGenerate(e){var t,n,o,r,i,a;let{prompt:s,n:l,aspectRatio:u,resolution:c,duration:d,seed:p,image:h,abortSignal:m,headers:g,providerOptions:f}=e,y=[];l>1&&y.push({type:"unsupported",feature:"n > 1",details:`OpenRouter video generation returns 1 video per call. Requested ${l} videos.`});let b=D(D(D(D(D(D(D(D(D({model:this.modelId,prompt:null!=s?s:""},void 0!==u&&{aspect_ratio:u}),void 0!==c&&{size:c}),void 0!==d&&{duration:d}),void 0!==p&&{seed:p}),void 0!==this.settings.generateAudio&&{generate_audio:this.settings.generateAudio}),void 0!==h&&{frame_images:["url"===(a=h).type?{type:"image_url",image_url:{url:a.url},frame_type:"first_frame"}:{type:"image_url",image_url:{url:nz({data:a.data,mediaType:a.mediaType,defaultMediaType:"image/png"})},frame_type:"first_frame"}]}),this.config.extraBody),this.settings.extraBody),f.openrouter),_=eK(this.config.headers(),g),{value:w,responseHeaders:z}=await t1({url:this.config.url({path:"/videos",modelId:this.modelId}),headers:_,body:b,failedResponseHandler:nu,successfulResponseHandler:t6(n0),abortSignal:m,fetch:this.config.fetch}),v=null!=(t=this.settings.pollIntervalMs)?t:2e3,k=null!=(n=this.settings.maxPollTimeMs)?n:6e5,x=await this.pollUntilComplete({jobId:w.id,headers:_,abortSignal:m,pollIntervalMs:v,maxPollTimeMs:k}),S=[];if(x.unsigned_urls)for(let e of x.unsigned_urls)S.push({type:"url",url:e,mediaType:"video/mp4"});return{videos:S,warnings:y,providerMetadata:{openrouter:{generationId:null!=(o=x.generation_id)?o:null,cost:null!=(i=null==(r=x.usage)?void 0:r.cost)?i:null}},response:{timestamp:new Date,modelId:this.modelId,headers:z}}}async pollUntilComplete({jobId:e,headers:t,abortSignal:n,pollIntervalMs:o,maxPollTimeMs:r}){var i;let a=Date.now();for(;Date.now()-a<r;){null==n||n.throwIfAborted(),await eV(o),null==n||n.throwIfAborted();let{value:r}=await th({url:this.config.url({path:`/videos/${e}`,modelId:this.modelId}),headers:t,failedResponseHandler:nu,successfulResponseHandler:t6(n1),abortSignal:n,fetch:this.config.fetch});if("completed"===r.status)return{generation_id:r.generation_id,unsigned_urls:r.unsigned_urls,usage:r.usage};if("failed"===r.status||"dead"===r.status||"cancelled"===r.status||"expired"===r.status)throw new Z({message:null!=(i=r.error)?i:`Video generation failed with status: ${r.status}`,url:this.config.url({path:`/videos/${e}`,modelId:this.modelId}),requestBodyValues:{},statusCode:500,isRetryable:!1})}throw new Z({message:`Video generation timed out after ${r}ms`,url:this.config.url({path:`/videos/${e}`,modelId:this.modelId}),requestBodyValues:{},statusCode:408,isRetryable:!0})}};function n4(e={}){var t,n,o,r;let i=null!=(n=t8(null!=(t=e.baseURL)?t:e.baseUrl))?n:"https://openrouter.ai/api/v1",a=null!=(o=t8(e.decisionsBaseURL))?o:i.endsWith("/v1")?`${i.slice(0,-3)}/alpha`:void 0,s=null!=(r=e.compatibility)?r:"compatible",l=()=>(function(e,...t){let n=Object.fromEntries(Object.entries(!e?{}:e instanceof Headers?Object.fromEntries(e.entries()):Array.isArray(e)?Object.fromEntries(e):e).filter(([,e])=>null!=e)),o=Object.keys(n).find(e=>"user-agent"===e.toLowerCase()),r=o?n[o]:void 0,i=(null==r?void 0:r.trim())?r:t.filter(Boolean).join(" ");return F(D({},Object.fromEntries(Object.entries(n).filter(([e])=>"user-agent"!==e.toLowerCase()))),{"user-agent":i})})(D(D(D(D({Authorization:`Bearer ${function({apiKey:e,environmentVariableName:t,apiKeyParameterName:n="apiKey",description:o}){if("string"==typeof e)return e;if(null!=e)throw new ek({message:`${o} API key must be a string.`});if("u"<typeof process)throw new ek({message:`${o} API key is missing. Pass it using the '${n}' parameter. Environment variables are not supported in this environment.`});if(null==(e=process.env[t]))throw new ek({message:`${o} API key is missing. Pass it using the '${n}' parameter or the ${t} environment variable.`});if("string"!=typeof e)throw new ek({message:`${o} API key must be a string. The value of the ${t} environment variable is not a string.`});return e}({apiKey:e.apiKey,environmentVariableName:"OPENROUTER_API_KEY",description:"OpenRouter"})}`},e.appName&&{"X-OpenRouter-Title":e.appName}),e.appUrl&&{"HTTP-Referer":e.appUrl}),e.headers),e.api_keys&&Object.keys(e.api_keys).length>0&&{"X-Provider-API-Keys":JSON.stringify(e.api_keys)}),"ai-sdk/openrouter/3.1.0"),u=(t,n={})=>new n$(t,n,{provider:"openrouter.chat",url:({path:e})=>`${i}${e}`,headers:l,compatibility:s,fetch:e.fetch,extraBody:e.extraBody}),c=(t,n={})=>new nN(t,n,{provider:"openrouter.completion",url:({path:e})=>`${i}${e}`,headers:l,compatibility:s,fetch:e.fetch,extraBody:e.extraBody}),d=(t,n={})=>new nq(t,n,{provider:"openrouter.embedding",url:({path:e})=>`${i}${e}`,headers:l,fetch:e.fetch,extraBody:e.extraBody}),p=(e,t)=>{if(new.target)throw Error("The OpenRouter model function cannot be called with the new keyword.");return"openai/gpt-3.5-turbo-instruct"===e?c(e,t):u(e,t)},h=(e,t)=>p(e,t);return h.languageModel=p,h.chat=u,h.completion=c,h.textEmbeddingModel=d,h.embedding=d,h.imageModel=(t,n={})=>new nX(t,n,{provider:"openrouter.image",url:({path:e})=>`${i}${e}`,headers:l,fetch:e.fetch,extraBody:e.extraBody}),h.videoModel=(t,n={})=>new n2(t,n,{provider:"openrouter.video",url:({path:e})=>`${i}${e}`,headers:l,fetch:e.fetch,extraBody:e.extraBody}),h.evaluationModel=(t,n={})=>{if(null==a)throw new eI({message:`Cannot derive the Decisions API URL from baseURL "${i}" because it does not end in "/v1". Set \`decisionsBaseURL\` in createOpenRouter() to use evaluationModel().`});return new nY(t,n,{url:({path:e})=>`${a}${e}`,headers:l,fetch:e.fetch,extraBody:e.extraBody})},h.tools={webSearch:nQ},h}n4({compatibility:"strict"}),e.s(["createOpenRouter",0,n4])},57553,(e,t,n)=>{t.exports=r,r.sync=function(e,t){return i(o.statSync(e),t)};var o=e.r(522734);function r(e,t,n){o.stat(e,function(e,o){n(e,!e&&i(o,t))})}function i(e,t){var n,o,r,i,a,s,l,u,c;return e.isFile()&&(n=e,o=t,r=n.mode,i=n.uid,a=n.gid,s=void 0!==o.uid?o.uid:process.getuid&&process.getuid(),l=void 0!==o.gid?o.gid:process.getgid&&process.getgid(),u=parseInt("100",8),c=parseInt("010",8),r&parseInt("001",8)||r&c&&a===l||r&u&&i===s||r&(u|c)&&0===s)}},39848,(e,t,n)=>{t.exports=i,i.sync=function(e,t){return r(o.statSync(e),e,t)};var o=e.r(522734);function r(e,t,n){if(!e.isSymbolicLink()&&!e.isFile())return!1;var o=void 0!==n.pathExt?n.pathExt:process.env.PATHEXT;if(!o||-1!==(o=o.split(";")).indexOf(""))return!0;for(var r=0;r<o.length;r++){var i=o[r].toLowerCase();if(i&&t.substr(-i.length).toLowerCase()===i)return!0}return!1}function i(e,t,n){o.stat(e,function(o,i){n(o,!o&&r(i,e,t))})}},773467,(e,t,n)=>{var o;function r(e,t,n){if("function"==typeof t&&(n=t,t={}),!n){if("function"!=typeof Promise)throw TypeError("callback not provided");return new Promise(function(n,o){r(e,t||{},function(e,t){e?o(e):n(t)})})}o(e,t||{},function(e,o){e&&("EACCES"===e.code||t&&t.ignoreErrors)&&(e=null,o=!1),n(e,o)})}e.r(522734),o="win32"===process.platform||e.g.TESTING_WINDOWS?e.r(39848):e.r(57553),t.exports=r,r.sync=function(e,t){try{return o.sync(e,t||{})}catch(e){if(t&&t.ignoreErrors||"EACCES"===e.code)return!1;throw e}}},955719,(e,t,n)=>{let o="win32"===process.platform||"cygwin"===process.env.OSTYPE||"msys"===process.env.OSTYPE,r=e.r(814747),i=o?";":":",a=e.r(773467),s=e=>Object.assign(Error(`not found: ${e}`),{code:"ENOENT"}),l=(e,t)=>{let n=t.colon||i,r=e.match(/\//)||o&&e.match(/\\/)?[""]:[...o?[process.cwd()]:[],...(t.path||process.env.PATH||"").split(n)],a=o?t.pathExt||process.env.PATHEXT||".EXE;.CMD;.BAT;.COM":"",s=o?a.split(n):[""];return o&&-1!==e.indexOf(".")&&""!==s[0]&&s.unshift(""),{pathEnv:r,pathExt:s,pathExtExe:a}},u=(e,t,n)=>{"function"==typeof t&&(n=t,t={}),t||(t={});let{pathEnv:o,pathExt:i,pathExtExe:u}=l(e,t),c=[],d=n=>new Promise((i,a)=>{if(n===o.length)return t.all&&c.length?i(c):a(s(e));let l=o[n],u=/^".*"$/.test(l)?l.slice(1,-1):l,d=r.join(u,e);i(p(!u&&/^\.[\\\/]/.test(e)?e.slice(0,2)+d:d,n,0))}),p=(e,n,o)=>new Promise((r,s)=>{if(o===i.length)return r(d(n+1));let l=i[o];a(e+l,{pathExt:u},(i,a)=>{if(!i&&a)if(!t.all)return r(e+l);else c.push(e+l);return r(p(e,n,o+1))})});return n?d(0).then(e=>n(null,e),n):d(0)};t.exports=u,u.sync=(e,t)=>{let{pathEnv:n,pathExt:o,pathExtExe:i}=l(e,t=t||{}),u=[];for(let s=0;s<n.length;s++){let l=n[s],c=/^".*"$/.test(l)?l.slice(1,-1):l,d=r.join(c,e),p=!c&&/^\.[\\\/]/.test(e)?e.slice(0,2)+d:d;for(let e=0;e<o.length;e++){let n=p+o[e];try{if(a.sync(n,{pathExt:i}))if(!t.all)return n;else u.push(n)}catch(e){}}}if(t.all&&u.length)return u;if(t.nothrow)return null;throw s(e)}},630482,(e,t,n)=>{"use strict";let o=(e={})=>{let t=e.env||process.env;return"win32"!==(e.platform||process.platform)?"PATH":Object.keys(t).reverse().find(e=>"PATH"===e.toUpperCase())||"Path"};t.exports=o,t.exports.default=o},36012,(e,t,n)=>{"use strict";let o=e.r(814747),r=e.r(955719),i=e.r(630482);function a(e,t){let n,a=e.options.env||process.env,s=process.cwd(),l=null!=e.options.cwd,u=l&&void 0!==process.chdir&&!process.chdir.disabled;if(u)try{process.chdir(e.options.cwd)}catch(e){}try{n=r.sync(e.command,{path:a[i({env:a})],pathExt:t?o.delimiter:void 0})}catch(e){}finally{u&&process.chdir(s)}return n&&(n=o.resolve(l?e.options.cwd:"",n)),n}t.exports=function(e){return a(e)||a(e,!0)}},278363,(e,t,n)=>{"use strict";let o=/([()\][%!^"`<>&|;, *?])/g;t.exports.command=function(e){return e.replace(o,"^$1")},t.exports.argument=function(e,t){return e=(e=(e=`${e}`).replace(/(?=(\\+?)?)\1"/g,'$1$1\\"')).replace(/(?=(\\+?)?)\1$/,"$1$1"),e=(e=`"${e}"`).replace(o,"^$1"),t&&(e=e.replace(o,"^$1")),e}},626716,(e,t,n)=>{"use strict";t.exports=/^#!(.*)/},653391,(e,t,n)=>{"use strict";let o=e.r(626716);t.exports=(e="")=>{let t=e.match(o);if(!t)return null;let[n,r]=t[0].replace(/#! ?/,"").split(" "),i=n.split("/").pop();return"env"===i?r:r?`${i} ${r}`:i}},333021,(e,t,n)=>{"use strict";let o=e.r(522734),r=e.r(653391);t.exports=function(e){let t,n=Buffer.alloc(150);try{t=o.openSync(e,"r"),o.readSync(t,n,0,150,0),o.closeSync(t)}catch(e){}return r(n.toString())}},810221,(e,t,n)=>{"use strict";e.r(814747),e.r(36012),e.r(278363),e.r(333021),process.platform,t.exports=function(e,t,n){t&&!Array.isArray(t)&&(n=t,t=null);let o={command:e,args:t=t?t.slice(0):[],options:n=Object.assign({},n),file:void 0,original:{command:e,args:t}};return n.shell,o}},664754,(e,t,n)=>{"use strict";process.platform,t.exports={hookChildProcess:function(e,t){},verifyENOENT:function(e,t){return null},verifyENOENTSync:function(e,t){return null},notFoundError:function(e,t){return Object.assign(Error(`${t} ${e.command} ENOENT`),{code:"ENOENT",errno:"ENOENT",syscall:`${t} ${e.command}`,path:e.command,spawnargs:e.args})}}},52199,(e,t,n)=>{"use strict";let o=e.r(233405),r=e.r(810221),i=e.r(664754);function a(e,t,n){let a=r(e,t,n),s=o.spawn(a.command,a.args,a.options);return i.hookChildProcess(s,a),s}t.exports=a,t.exports.spawn=a,t.exports.sync=function(e,t,n){let a=r(e,t,n),s=o.spawnSync(a.command,a.args,a.options);return s.error=s.error||i.verifyENOENTSync(s.status,a),s},t.exports._parse=r,t.exports._enoent=i},940655,e=>{"use strict";var t=e.i(691296),n=e.i(853205),o=e.i(296194),r=e.i(52199);let i=n.z.optional(n.z.record(n.z.string(),n.z.unknown())),a=n.z.looseObject({name:n.z.string(),version:n.z.string(),title:n.z.optional(n.z.string())}),s=n.z.looseObject({_meta:n.z.optional(n.z.object({}).loose())}),l=s.extend({resultType:n.z.optional(n.z.string())}),u=n.z.object({method:n.z.string(),params:n.z.optional(s)}),c=n.z.object({applyDefaults:n.z.optional(n.z.boolean())}).loose(),d=n.z.looseObject({experimental:n.z.optional(n.z.object({}).loose()),logging:n.z.optional(n.z.object({}).loose()),completions:n.z.optional(n.z.object({}).loose()),prompts:n.z.optional(n.z.looseObject({listChanged:n.z.optional(n.z.boolean())})),resources:n.z.optional(n.z.looseObject({subscribe:n.z.optional(n.z.boolean()),listChanged:n.z.optional(n.z.boolean())})),tools:n.z.optional(n.z.looseObject({listChanged:n.z.optional(n.z.boolean())})),elicitation:n.z.optional(c)});n.z.object({elicitation:n.z.optional(c)}).loose(),l.extend({supportedVersions:n.z.array(n.z.string()),capabilities:d,instructions:n.z.optional(n.z.string()),ttlMs:n.z.optional(n.z.number()),cacheScope:n.z.optional(n.z.union([n.z.literal("public"),n.z.literal("private")]))}),l.extend({protocolVersion:n.z.string(),capabilities:d,serverInfo:a,instructions:n.z.optional(n.z.string())});let p=l.extend({nextCursor:n.z.optional(n.z.string())}),h=n.z.object({name:n.z.string(),title:n.z.optional(n.z.string()),description:n.z.optional(n.z.string()),inputSchema:n.z.looseObject({type:n.z.optional(n.z.unknown()),properties:n.z.optional(n.z.object({}).loose())}),outputSchema:n.z.optional(n.z.object({}).loose()),annotations:n.z.optional(n.z.object({title:n.z.optional(n.z.string()),readOnlyHint:n.z.optional(n.z.boolean()),destructiveHint:n.z.optional(n.z.boolean()),idempotentHint:n.z.optional(n.z.boolean()),openWorldHint:n.z.optional(n.z.boolean())}).loose()),_meta:i}).loose();p.extend({tools:n.z.array(h)});let m=n.z.object({type:n.z.literal("text"),text:n.z.string()}).loose(),g=n.z.object({type:n.z.literal("image"),data:n.z.base64(),mimeType:n.z.string()}).loose(),f=n.z.object({uri:n.z.string(),name:n.z.string(),title:n.z.optional(n.z.string()),description:n.z.optional(n.z.string()),mimeType:n.z.optional(n.z.string()),size:n.z.optional(n.z.number())}).loose();p.extend({resources:n.z.array(f)});let y=n.z.object({uri:n.z.string(),name:n.z.optional(n.z.string()),title:n.z.optional(n.z.string()),mimeType:n.z.optional(n.z.string())}).loose(),b=y.extend({text:n.z.string()}),_=y.extend({blob:n.z.base64()}),w=n.z.object({type:n.z.literal("resource"),resource:n.z.union([b,_])}).loose(),z=n.z.object({type:n.z.literal("resource_link"),uri:n.z.string(),name:n.z.string(),description:n.z.optional(n.z.string()),mimeType:n.z.optional(n.z.string())}).loose(),v=n.z.object({type:n.z.string()}).loose().refine(e=>!["text","image","resource","resource_link"].includes(e.type),{message:"Known content types must match their schema"}),k=l.extend({content:n.z.array(n.z.union([m,g,w,z,v])),structuredContent:n.z.optional(n.z.unknown()),isError:n.z.boolean().default(!1).optional()}),x=l.extend({content:n.z.never().optional(),structuredContent:n.z.json(),isError:n.z.boolean().default(!1).optional()}).transform(e=>({...e,content:[{type:"text",text:JSON.stringify(e.structuredContent)}]})).pipe(k);k.or(x).or(l.extend({toolResult:n.z.unknown().nonoptional()}));let S=n.z.object({uriTemplate:n.z.string(),name:n.z.string(),title:n.z.optional(n.z.string()),description:n.z.optional(n.z.string()),mimeType:n.z.optional(n.z.string())}).loose();l.extend({resourceTemplates:n.z.array(S)}),l.extend({contents:n.z.array(n.z.union([b,_]))});let T=n.z.object({type:n.z.literal("ref/prompt"),name:n.z.string()}).loose(),I=n.z.object({type:n.z.literal("ref/resource"),uri:n.z.string()}).loose(),O=n.z.object({name:n.z.string(),value:n.z.string()}).loose();s.extend({ref:n.z.union([T,I]),argument:O,context:n.z.optional(n.z.object({arguments:n.z.record(n.z.string(),n.z.string())}).loose())}),l.extend({completion:n.z.object({values:n.z.array(n.z.string()).max(100),total:n.z.optional(n.z.number().int()),hasMore:n.z.optional(n.z.boolean())}).loose()});let E=n.z.object({name:n.z.string(),description:n.z.optional(n.z.string()),required:n.z.optional(n.z.boolean())}).loose(),C=n.z.object({name:n.z.string(),title:n.z.optional(n.z.string()),description:n.z.optional(n.z.string()),arguments:n.z.optional(n.z.array(E))}).loose();p.extend({prompts:n.z.array(C)});let A=n.z.object({role:n.z.union([n.z.literal("user"),n.z.literal("assistant")]),content:n.z.union([m,g,w,z])}).loose();l.extend({description:n.z.optional(n.z.string()),messages:n.z.array(A)});let j=s.extend({message:n.z.string(),requestedSchema:n.z.unknown()});u.extend({method:n.z.literal("elicitation/create"),params:j}),l.extend({action:n.z.union([n.z.literal("accept"),n.z.literal("decline"),n.z.literal("cancel")]),content:n.z.optional(n.z.record(n.z.string(),n.z.unknown()))});let R=n.z.object({jsonrpc:n.z.literal("2.0"),id:n.z.union([n.z.string(),n.z.number().int()])}).merge(u).strict(),$=n.z.object({jsonrpc:n.z.literal("2.0"),id:n.z.union([n.z.string(),n.z.number().int()]),result:l}).strict(),M=n.z.object({jsonrpc:n.z.literal("2.0"),id:n.z.optional(n.z.union([n.z.string(),n.z.number().int()])),error:n.z.object({code:n.z.number().int(),message:n.z.string(),data:n.z.optional(n.z.unknown())})}).strict(),N=n.z.object({jsonrpc:n.z.literal("2.0")}).merge(n.z.object({method:n.z.string(),params:n.z.optional(s)})).strict(),L=n.z.union([R,N,$,M]);async function P(e){var n;return n=await (0,t.parseJSON)({text:e}),L.parse(n)}let U="vercel.ai.error.AI_MCPClientError",q=Symbol.for(U);var D=class extends o.AISDKError{constructor({name:e="MCPClientError",message:t,cause:n,data:o,code:r,statusCode:i,url:a,responseBody:s}){super({name:e,message:t,cause:n}),this[q]=!0,this.data=o,this.code=r,this.statusCode=i,this.url=a,this.responseBody=s}static isInstance(e){return o.AISDKError.hasMarker(e,U)}},F=class{constructor(e){this.supportsProtocolVersionDiscovery=!0,this.abortController=new AbortController,this.readBuffer=new H,this.serverParams=e}async start(){if(this.process)throw new D({message:"StdioMCPTransport already started."});return new Promise((e,t)=>{try{let n=function(e,t){if("win32"===globalThis.process.platform&&[e.command,...e.args??[]].some(e=>/[\r\n]/.test(e)))throw TypeError("Stdio MCP commands and arguments must not contain line breaks on Windows.");return(0,r.default)(e.command,e.args??[],{env:function(e){let t="win32"===globalThis.process.platform,n=e?{...e}:{},o=new Set(Object.keys(n).map(e=>t?e.toUpperCase():e));for(let e of t?["APPDATA","HOMEDRIVE","HOMEPATH","LOCALAPPDATA","PATH","PROCESSOR_ARCHITECTURE","SYSTEMDRIVE","SYSTEMROOT","TEMP","USERNAME","USERPROFILE"]:["HOME","LOGNAME","PATH","SHELL","TERM","USER"]){if(o.has(e))continue;let t=globalThis.process.env[e];void 0!==t&&(t.startsWith("()")||(n[e]=t))}return n}(e.env),stdio:["pipe","pipe",e.stderr??"inherit"],shell:!1,signal:t,windowsHide:"win32"===globalThis.process.platform&&"type"in globalThis.process,cwd:e.cwd})}(this.serverParams,this.abortController.signal);this.process=n,this.process.on("error",e=>{"AbortError"===e.name?this.onclose?.():(t(e),this.onerror?.(e))}),this.process.on("spawn",()=>{e()}),this.process.on("close",e=>{this.process=void 0,this.onclose?.()}),this.process.stdin?.on("error",e=>{this.onerror?.(e)}),this.process.stdout?.on("data",e=>{this.readBuffer.append(e),this.processReadBuffer()}),this.process.stdout?.on("error",e=>{this.onerror?.(e)})}catch(e){t(e),this.onerror?.(e)}})}async processReadBuffer(){for(;;){let e=this.readBuffer.readLine();if(null===e)break;try{let t=await B(e);this.onmessage?.(t)}catch(e){this.onerror?.(e)}}}async close(){this.abortController.abort(),this.process=void 0,this.readBuffer.clear()}send(e){return new Promise(t=>{if(!this.process?.stdin)throw new D({message:"StdioClientTransport not connected"});let n=JSON.stringify(e)+"\n";this.process.stdin.write(n)?t():this.process.stdin.once("drain",t)})}},H=class{append(e){this.buffer=this.buffer?Buffer.concat([this.buffer,e]):e}readLine(){if(!this.buffer)return null;let e=this.buffer.indexOf("\n");if(-1===e)return null;let t=this.buffer.toString("utf8",0,e);return this.buffer=this.buffer.subarray(e+1),t}clear(){this.buffer=void 0}};async function B(e){return P(e)}e.s(["Experimental_StdioMCPTransport",0,F])},767080,(e,t,n)=>{"use strict";let o=Symbol.for("yaml.alias"),r=Symbol.for("yaml.document"),i=Symbol.for("yaml.map"),a=Symbol.for("yaml.pair"),s=Symbol.for("yaml.scalar"),l=Symbol.for("yaml.seq"),u=Symbol.for("yaml.node.type"),c=e=>!!e&&"object"==typeof e&&e[u]===s;function d(e){if(e&&"object"==typeof e)switch(e[u]){case i:case l:return!0}return!1}n.ALIAS=o,n.DOC=r,n.MAP=i,n.NODE_TYPE=u,n.PAIR=a,n.SCALAR=s,n.SEQ=l,n.hasAnchor=e=>(c(e)||d(e))&&!!e.anchor,n.isAlias=e=>!!e&&"object"==typeof e&&e[u]===o,n.isCollection=d,n.isDocument=e=>!!e&&"object"==typeof e&&e[u]===r,n.isMap=e=>!!e&&"object"==typeof e&&e[u]===i,n.isNode=function(e){if(e&&"object"==typeof e)switch(e[u]){case o:case i:case s:case l:return!0}return!1},n.isPair=e=>!!e&&"object"==typeof e&&e[u]===a,n.isScalar=c,n.isSeq=e=>!!e&&"object"==typeof e&&e[u]===l},341141,(e,t,n)=>{"use strict";var o=e.r(767080);let r=Symbol("break visit"),i=Symbol("skip children"),a=Symbol("remove node");function s(e,t){let n=d(t);o.isDocument(e)?l(null,e.contents,n,Object.freeze([e]))===a&&(e.contents=null):l(null,e,n,Object.freeze([]))}function l(e,t,n,i){let s=p(e,t,n,i);if(o.isNode(s)||o.isPair(s))return h(e,i,s),l(e,s,n,i);if("symbol"!=typeof s){if(o.isCollection(t)){i=Object.freeze(i.concat(t));for(let e=0;e<t.items.length;++e){let o=l(e,t.items[e],n,i);if("number"==typeof o)e=o-1;else{if(o===r)return r;o===a&&(t.items.splice(e,1),e-=1)}}}else if(o.isPair(t)){i=Object.freeze(i.concat(t));let e=l("key",t.key,n,i);if(e===r)return r;e===a&&(t.key=null);let o=l("value",t.value,n,i);if(o===r)return r;o===a&&(t.value=null)}}return s}async function u(e,t){let n=d(t);o.isDocument(e)?await c(null,e.contents,n,Object.freeze([e]))===a&&(e.contents=null):await c(null,e,n,Object.freeze([]))}async function c(e,t,n,i){let s=await p(e,t,n,i);if(o.isNode(s)||o.isPair(s))return h(e,i,s),c(e,s,n,i);if("symbol"!=typeof s){if(o.isCollection(t)){i=Object.freeze(i.concat(t));for(let e=0;e<t.items.length;++e){let o=await c(e,t.items[e],n,i);if("number"==typeof o)e=o-1;else{if(o===r)return r;o===a&&(t.items.splice(e,1),e-=1)}}}else if(o.isPair(t)){i=Object.freeze(i.concat(t));let e=await c("key",t.key,n,i);if(e===r)return r;e===a&&(t.key=null);let o=await c("value",t.value,n,i);if(o===r)return r;o===a&&(t.value=null)}}return s}function d(e){return"object"==typeof e&&(e.Collection||e.Node||e.Value)?Object.assign({Alias:e.Node,Map:e.Node,Scalar:e.Node,Seq:e.Node},e.Value&&{Map:e.Value,Scalar:e.Value,Seq:e.Value},e.Collection&&{Map:e.Collection,Seq:e.Collection},e):e}function p(e,t,n,r){return"function"==typeof n?n(e,t,r):o.isMap(t)?n.Map?.(e,t,r):o.isSeq(t)?n.Seq?.(e,t,r):o.isPair(t)?n.Pair?.(e,t,r):o.isScalar(t)?n.Scalar?.(e,t,r):o.isAlias(t)?n.Alias?.(e,t,r):void 0}function h(e,t,n){let r=t[t.length-1];if(o.isCollection(r))r.items[e]=n;else if(o.isPair(r))"key"===e?r.key=n:r.value=n;else if(o.isDocument(r))r.contents=n;else{let e=o.isAlias(r)?"alias":"scalar";throw Error(`Cannot replace node with ${e} parent`)}}s.BREAK=r,s.SKIP=i,s.REMOVE=a,u.BREAK=r,u.SKIP=i,u.REMOVE=a,n.visit=s,n.visitAsync=u},954907,(e,t,n)=>{"use strict";var o=e.r(767080),r=e.r(341141);let i={"!":"%21",",":"%2C","[":"%5B","]":"%5D","{":"%7B","}":"%7D"},a=e=>e.replace(/[!,[\]{}]/g,e=>i[e]);class s{constructor(e,t){this.docStart=null,this.docEnd=!1,this.yaml=Object.assign({},s.defaultYaml,e),this.tags=Object.assign({},s.defaultTags,t)}clone(){let e=new s(this.yaml,this.tags);return e.docStart=this.docStart,e}atDocument(){let e=new s(this.yaml,this.tags);switch(this.yaml.version){case"1.1":this.atNextDocument=!0;break;case"1.2":this.atNextDocument=!1,this.yaml={explicit:s.defaultYaml.explicit,version:"1.2"},this.tags=Object.assign({},s.defaultTags)}return e}add(e,t){this.atNextDocument&&(this.yaml={explicit:s.defaultYaml.explicit,version:"1.1"},this.tags=Object.assign({},s.defaultTags),this.atNextDocument=!1);let n=e.trim().split(/[ \t]+/),o=n.shift();switch(o){case"%TAG":{if(2!==n.length&&(t(0,"%TAG directive should contain exactly two parts"),n.length<2))return!1;let[e,o]=n;return this.tags[e]=o,!0}case"%YAML":{if(this.yaml.explicit=!0,1!==n.length)return t(0,"%YAML directive should contain exactly one part"),!1;let[e]=n;if("1.1"===e||"1.2"===e)return this.yaml.version=e,!0;{let n=/^\d+\.\d+$/.test(e);return t(6,`Unsupported YAML version ${e}`,n),!1}}default:return t(0,`Unknown directive ${o}`,!0),!1}}tagName(e,t){if("!"===e)return"!";if("!"!==e[0])return t(`Not a valid tag: ${e}`),null;if("<"===e[1]){let n=e.slice(2,-1);return"!"===n||"!!"===n?(t(`Verbatim tags aren't resolved, so ${e} is invalid.`),null):(">"!==e[e.length-1]&&t("Verbatim tags must end with a >"),n)}let[,n,o]=e.match(/^(.*!)([^!]*)$/s);o||t(`The ${e} tag has no suffix`);let r=this.tags[n];if(r)try{return r+decodeURIComponent(o)}catch(e){return t(String(e)),null}return"!"===n?e:(t(`Could not resolve tag: ${e}`),null)}tagString(e){for(let[t,n]of Object.entries(this.tags))if(e.startsWith(n))return t+a(e.substring(n.length));return"!"===e[0]?e:`!<${e}>`}toString(e){let t,n=this.yaml.explicit?[`%YAML ${this.yaml.version||"1.2"}`]:[],i=Object.entries(this.tags);if(e&&i.length>0&&o.isNode(e.contents)){let n={};r.visit(e.contents,(e,t)=>{o.isNode(t)&&t.tag&&(n[t.tag]=!0)}),t=Object.keys(n)}else t=[];for(let[o,r]of i)("!!"!==o||"tag:yaml.org,2002:"!==r)&&(!e||t.some(e=>e.startsWith(r)))&&n.push(`%TAG ${o} ${r}`);return n.join("\n")}}s.defaultYaml={explicit:!1,version:"1.2"},s.defaultTags={"!!":"tag:yaml.org,2002:"},n.Directives=s},375506,(e,t,n)=>{"use strict";var o=e.r(767080),r=e.r(341141);function i(e){let t=new Set;return r.visit(e,{Value(e,n){n.anchor&&t.add(n.anchor)}}),t}function a(e,t){for(let n=1;;++n){let o=`${e}${n}`;if(!t.has(o))return o}}n.anchorIsValid=function(e){if(/[\x00-\x19\s,[\]{}]/.test(e)){let t=JSON.stringify(e);throw Error(`Anchor must not contain whitespace or control characters: ${t}`)}return!0},n.anchorNames=i,n.createNodeAnchors=function(e,t){let n=[],r=new Map,s=null;return{onAnchor:o=>{n.push(o),s??(s=i(e));let r=a(t,s);return s.add(r),r},setAnchors:()=>{for(let e of n){let t=r.get(e);if("object"==typeof t&&t.anchor&&(o.isScalar(t.node)||o.isCollection(t.node)))t.node.anchor=t.anchor;else{let t=Error("Failed to resolve repeated object (this should not happen)");throw t.source=e,t}}},sourceObjects:r}},n.findNewAnchor=a},670087,(e,t,n)=>{"use strict";n.applyReviver=function e(t,n,o,r){if(r&&"object"==typeof r)if(Array.isArray(r))for(let n=0,o=r.length;n<o;++n){let o=r[n],i=e(t,r,String(n),o);void 0===i?delete r[n]:i!==o&&(r[n]=i)}else if(r instanceof Map)for(let n of Array.from(r.keys())){let o=r.get(n),i=e(t,r,n,o);void 0===i?r.delete(n):i!==o&&r.set(n,i)}else if(r instanceof Set)for(let n of Array.from(r)){let o=e(t,r,n,n);void 0===o?r.delete(n):o!==n&&(r.delete(n),r.add(o))}else for(let[n,o]of Object.entries(r)){let i=e(t,r,n,o);void 0===i?delete r[n]:i!==o&&(r[n]=i)}return t.call(n,o,r)}},344972,(e,t,n)=>{"use strict";var o=e.r(767080);n.toJS=function e(t,n,r){if(Array.isArray(t))return t.map((t,n)=>e(t,String(n),r));if(t&&"function"==typeof t.toJSON){if(!r||!o.hasAnchor(t))return t.toJSON(n,r);let e={aliasCount:0,count:1,res:void 0};r.anchors.set(t,e),r.onCreate=t=>{e.res=t,delete r.onCreate};let i=t.toJSON(n,r);return r.onCreate&&r.onCreate(i),i}return"bigint"!=typeof t||r?.keep?t:Number(t)}},253713,(e,t,n)=>{"use strict";var o=e.r(670087),r=e.r(767080),i=e.r(344972);n.NodeBase=class{constructor(e){Object.defineProperty(this,r.NODE_TYPE,{value:e})}clone(){let e=Object.create(Object.getPrototypeOf(this),Object.getOwnPropertyDescriptors(this));return this.range&&(e.range=this.range.slice()),e}toJS(e,{mapAsMap:t,maxAliasCount:n,onAnchor:a,reviver:s}={}){if(!r.isDocument(e))throw TypeError("A document argument is required");let l={anchors:new Map,doc:e,keep:!0,mapAsMap:!0===t,mapKeyWarned:!1,maxAliasCount:"number"==typeof n?n:100},u=i.toJS(this,"",l);if("function"==typeof a)for(let{count:e,res:t}of l.anchors.values())a(t,e);return"function"==typeof s?o.applyReviver(s,{"":u},"",u):u}}},917429,(e,t,n)=>{"use strict";var o=e.r(375506),r=e.r(341141),i=e.r(767080),a=e.r(253713),s=e.r(344972);class l extends a.NodeBase{constructor(e){super(i.ALIAS),this.source=e,Object.defineProperty(this,"tag",{set(){throw Error("Alias nodes cannot have tags")}})}resolve(e,t){let n,o;if(t?.maxAliasCount===0)throw ReferenceError("Alias resolution is disabled");for(let a of(t?.aliasResolveCache?n=t.aliasResolveCache:(n=[],r.visit(e,{Node:(e,t)=>{(i.isAlias(t)||i.hasAnchor(t))&&n.push(t)}}),t&&(t.aliasResolveCache=n)),n)){if(a===this)break;a.anchor===this.source&&(o=a)}if(o&&t){let{anchors:e,doc:n,maxAliasCount:r}=t,a=e.get(o);if(a||(s.toJS(o,null,t),a=e.get(o)),a?.res===void 0)throw ReferenceError("This should not happen: Alias anchor was not resolved?");if(r>=0&&(a.count+=1,0===a.aliasCount&&(a.aliasCount=function e(t,n,o){if(i.isAlias(n)){let e=n.resolve(t),r=o&&e&&o.get(e);return r?r.count*r.aliasCount:0}if(i.isCollection(n)){let r=0;for(let i of n.items){let n=e(t,i,o);n>r&&(r=n)}return r}return i.isPair(n)?Math.max(e(t,n.key,o),e(t,n.value,o)):1}(n,o,e)),a.count*a.aliasCount>r))throw ReferenceError("Excessive alias count indicates a resource exhaustion attack")}return o}toJSON(e,t){if(!t)return{source:this.source};let n=this.resolve(t.doc,t);if(!n)throw ReferenceError(`Unresolved alias (the anchor must be set before the alias): ${this.source}`);return t.anchors.get(n).res}toString(e,t,n){let r=`*${this.source}`;if(e){if(o.anchorIsValid(this.source),e.options.verifyAliasOrder&&!e.anchors.has(this.source))throw Error(`Unresolved alias (the anchor must be set before the alias): ${this.source}`);if(e.implicitKey)return`${r} `}return r}}n.Alias=l},826090,(e,t,n)=>{"use strict";var o=e.r(767080),r=e.r(253713),i=e.r(344972);class a extends r.NodeBase{constructor(e){super(o.SCALAR),this.value=e}toJSON(e,t){return t?.keep?this.value:i.toJS(this.value,e,t)}toString(){return String(this.value)}}a.BLOCK_FOLDED="BLOCK_FOLDED",a.BLOCK_LITERAL="BLOCK_LITERAL",a.PLAIN="PLAIN",a.QUOTE_DOUBLE="QUOTE_DOUBLE",a.QUOTE_SINGLE="QUOTE_SINGLE",n.Scalar=a,n.isScalarValue=e=>!e||"function"!=typeof e&&"object"!=typeof e},333321,(e,t,n)=>{"use strict";var o=e.r(917429),r=e.r(767080),i=e.r(826090);n.createNode=function(e,t,n){let a;if(r.isDocument(e)&&(e=e.contents),r.isNode(e))return e;if(r.isPair(e)){let t=n.schema[r.MAP].createNode?.(n.schema,null,n);return t.items.push(e),t}(e instanceof String||e instanceof Number||e instanceof Boolean||"u">typeof BigInt&&e instanceof BigInt)&&(e=e.valueOf());let{aliasDuplicateObjects:s,onAnchor:l,onTagObj:u,schema:c,sourceObjects:d}=n;if(s&&e&&"object"==typeof e){if(a=d.get(e))return a.anchor??(a.anchor=l(e)),new o.Alias(a.anchor);a={anchor:null,node:null},d.set(e,a)}t?.startsWith("!!")&&(t="tag:yaml.org,2002:"+t.slice(2));let p=function(e,t,n){if(t){let e=n.filter(e=>e.tag===t),o=e.find(e=>!e.format)??e[0];if(!o)throw Error(`Tag ${t} not found`);return o}return n.find(t=>t.identify?.(e)&&!t.format)}(e,t,c.tags);if(!p){if(e&&"function"==typeof e.toJSON&&(e=e.toJSON()),!e||"object"!=typeof e){let t=new i.Scalar(e);return a&&(a.node=t),t}p=e instanceof Map?c[r.MAP]:Symbol.iterator in Object(e)?c[r.SEQ]:c[r.MAP]}u&&(u(p),delete n.onTagObj);let h=p?.createNode?p.createNode(n.schema,e,n):"function"==typeof p?.nodeClass?.from?p.nodeClass.from(n.schema,e,n):new i.Scalar(e);return t?h.tag=t:p.default||(h.tag=p.tag),a&&(a.node=h),h}},714221,(e,t,n)=>{"use strict";var o=e.r(333321),r=e.r(767080),i=e.r(253713);function a(e,t,n){let r=n;for(let e=t.length-1;e>=0;--e){let n=t[e];if("number"==typeof n&&Number.isInteger(n)&&n>=0){let e=[];e[n]=r,r=e}else r=new Map([[n,r]])}return o.createNode(r,void 0,{aliasDuplicateObjects:!1,keepUndefined:!1,onAnchor:()=>{throw Error("This should not happen, please report a bug.")},schema:e,sourceObjects:new Map})}let s=e=>null==e||"object"==typeof e&&!!e[Symbol.iterator]().next().done;class l extends i.NodeBase{constructor(e,t){super(e),Object.defineProperty(this,"schema",{value:t,configurable:!0,enumerable:!1,writable:!0})}clone(e){let t=Object.create(Object.getPrototypeOf(this),Object.getOwnPropertyDescriptors(this));return e&&(t.schema=e),t.items=t.items.map(t=>r.isNode(t)||r.isPair(t)?t.clone(e):t),this.range&&(t.range=this.range.slice()),t}addIn(e,t){if(s(e))this.add(t);else{let[n,...o]=e,i=this.get(n,!0);if(r.isCollection(i))i.addIn(o,t);else if(void 0===i&&this.schema)this.set(n,a(this.schema,o,t));else throw Error(`Expected YAML collection at ${n}. Remaining path: ${o}`)}}deleteIn(e){let[t,...n]=e;if(0===n.length)return this.delete(t);let o=this.get(t,!0);if(r.isCollection(o))return o.deleteIn(n);throw Error(`Expected YAML collection at ${t}. Remaining path: ${n}`)}getIn(e,t){let[n,...o]=e,i=this.get(n,!0);return 0===o.length?!t&&r.isScalar(i)?i.value:i:r.isCollection(i)?i.getIn(o,t):void 0}hasAllNullValues(e){return this.items.every(t=>{if(!r.isPair(t))return!1;let n=t.value;return null==n||e&&r.isScalar(n)&&null==n.value&&!n.commentBefore&&!n.comment&&!n.tag})}hasIn(e){let[t,...n]=e;if(0===n.length)return this.has(t);let o=this.get(t,!0);return!!r.isCollection(o)&&o.hasIn(n)}setIn(e,t){let[n,...o]=e;if(0===o.length)this.set(n,t);else{let e=this.get(n,!0);if(r.isCollection(e))e.setIn(o,t);else if(void 0===e&&this.schema)this.set(n,a(this.schema,o,t));else throw Error(`Expected YAML collection at ${n}. Remaining path: ${o}`)}}}n.Collection=l,n.collectionFromPath=a,n.isEmptyPath=s},837668,(e,t,n)=>{"use strict";function o(e,t){return/^\n+$/.test(e)?e.substring(1):t?e.replace(/^(?! *$)/gm,t):e}n.indentComment=o,n.lineComment=(e,t,n)=>e.endsWith("\n")?o(n,t):n.includes("\n")?"\n"+o(n,t):(e.endsWith(" ")?"":" ")+n,n.stringifyComment=e=>e.replace(/^(?!$)(?: $)?/gm,"#")},372371,(e,t,n)=>{"use strict";let o="block",r="quoted";function i(e,t,n){let o=t,r=t+1,i=e[r];for(;" "===i||" "===i;)if(t<r+n)i=e[++t];else{do i=e[++t];while(i&&"\n"!==i)o=t,i=e[r=t+1]}return o}n.FOLD_BLOCK=o,n.FOLD_FLOW="flow",n.FOLD_QUOTED=r,n.foldFlowLines=function(e,t,n="flow",{indentAtStart:a,lineWidth:s=80,minContentWidth:l=20,onFold:u,onOverflow:c}={}){let d,p,h;if(!s||s<0)return e;s<l&&(l=0);let m=Math.max(1+l,1+s-t.length);if(e.length<=m)return e;let g=[],f={},y=s-t.length;"number"==typeof a&&(a>s-Math.max(2,l)?g.push(0):y=s-a);let b=!1,_=-1,w=-1,z=-1;for(n===o&&-1!==(_=i(e,_,t.length))&&(y=_+m);h=e[_+=1];){if(n===r&&"\\"===h){switch(w=_,e[_+1]){case"x":_+=3;break;case"u":_+=5;break;case"U":_+=9;break;default:_+=1}z=_}if("\n"===h)n===o&&(_=i(e,_,t.length)),y=_+t.length+m,d=void 0;else{if(" "===h&&p&&" "!==p&&"\n"!==p&&" "!==p){let t=e[_+1];t&&" "!==t&&"\n"!==t&&" "!==t&&(d=_)}if(_>=y)if(d)g.push(d),y=d+m,d=void 0;else if(n===r){for(;" "===p||" "===p;)p=h,h=e[_+=1],b=!0;let t=_>z+1?_-2:w-1;if(f[t])return e;g.push(t),f[t]=!0,y=t+m,d=void 0}else b=!0}p=h}if(b&&c&&c(),0===g.length)return e;u&&u();let v=e.slice(0,g[0]);for(let o=0;o<g.length;++o){let i=g[o],a=g[o+1]||e.length;0===i?v=`
|
|
206
206
|
${t}${e.slice(0,a)}`:(n===r&&f[i]&&(v+=`${e[i]}\\`),v+=`
|
|
207
207
|
${t}${e.slice(i+1,a)}`)}return v}},788433,(e,t,n)=>{"use strict";let o;var r=e.r(826090),i=e.r(372371);let a=(e,t)=>({indentAtStart:t?e.indent.length:e.indentAtStart,lineWidth:e.options.lineWidth,minContentWidth:e.options.minContentWidth});function s(e,t){let n=JSON.stringify(e);if(t.options.doubleQuotedAsJSON)return n;let{implicitKey:o}=t,r=t.options.doubleQuotedMinMultiLineLength,s=t.indent||(/^(%|---|\.\.\.)/m.test(e)?" ":""),l="",u=0;for(let e=0,t=n[e];t;t=n[++e])if(" "===t&&"\\"===n[e+1]&&"n"===n[e+2]&&(l+=n.slice(u,e)+"\\ ",e+=1,u=e,t="\\"),"\\"===t)switch(n[e+1]){case"u":{l+=n.slice(u,e);let t=n.substr(e+2,4);switch(t){case"0000":l+="\\0";break;case"0007":l+="\\a";break;case"000b":l+="\\v";break;case"001b":l+="\\e";break;case"0085":l+="\\N";break;case"00a0":l+="\\_";break;case"2028":l+="\\L";break;case"2029":l+="\\P";break;default:"00"===t.substr(0,2)?l+="\\x"+t.substr(2):l+=n.substr(e,6)}e+=5,u=e+1}break;case"n":if(o||'"'===n[e+2]||n.length<r)e+=1;else{for(l+=n.slice(u,e)+"\n\n";"\\"===n[e+2]&&"n"===n[e+3]&&'"'!==n[e+4];)l+="\n",e+=2;l+=s," "===n[e+2]&&(l+="\\"),e+=1,u=e+1}break;default:e+=1}return l=u?l+n.slice(u):n,o?l:i.foldFlowLines(l,s,i.FOLD_QUOTED,a(t,!1))}function l(e,t){if(!1===t.options.singleQuote||t.implicitKey&&e.includes("\n")||/[ \t]\n|\n[ \t]/.test(e))return s(e,t);let n=t.indent||(/^(%|---|\.\.\.)/m.test(e)?" ":""),o="'"+e.replace(/'/g,"''").replace(/\n+/g,`$&
|
|
208
|
-
${n}`)+"'";return t.implicitKey?o:i.foldFlowLines(o,n,i.FOLD_FLOW,a(t,!1))}function u(e,t){let n,{singleQuote:o}=t.options;if(!1===o)n=s;else{let t=e.includes('"'),r=e.includes("'");n=t&&!r?l:r&&!t?s:o?l:s}return n(e,t)}try{o=RegExp("(^|(?<!\n))\n+(?!\n|$)","g")}catch{o=/\n+(?!\n|$)/g}function c({comment:e,type:t,value:n},s,l,d){let p,h,m,g,{blockQuote:f,commentString:y,lineWidth:b}=s.options;if(!f||/\n[\t ]+$/.test(n))return u(n,s);let _=s.indent||(s.forceBlockIndent||(g=n,/^(%|---|\.\.\.)/m.test(g))?" ":""),
|
|
208
|
+
${n}`)+"'";return t.implicitKey?o:i.foldFlowLines(o,n,i.FOLD_FLOW,a(t,!1))}function u(e,t){let n,{singleQuote:o}=t.options;if(!1===o)n=s;else{let t=e.includes('"'),r=e.includes("'");n=t&&!r?l:r&&!t?s:o?l:s}return n(e,t)}try{o=RegExp("(^|(?<!\n))\n+(?!\n|$)","g")}catch{o=/\n+(?!\n|$)/g}function c({comment:e,type:t,value:n},s,l,d){let p,h,m,g,{blockQuote:f,commentString:y,lineWidth:b}=s.options;if(!f||/\n[\t ]+$/.test(n))return u(n,s);let _=s.indent||(s.forceBlockIndent||(g=n,/^(%|---|\.\.\.)/m.test(g))?" ":""),w="literal"===f||"folded"!==f&&t!==r.Scalar.BLOCK_FOLDED&&(t===r.Scalar.BLOCK_LITERAL||!function(e,t,n){if(!t||t<0)return!1;let o=t-n,r=e.length;if(r<=o)return!1;for(let t=0,n=0;t<r;++t)if("\n"===e[t]){if(t-n>o)return!0;if(r-(n=t+1)<=o)return!1}return!0}(n,b,_.length));if(!n)return w?"|\n":">\n";for(h=n.length;h>0;--h){let e=n[h-1];if("\n"!==e&&" "!==e&&" "!==e)break}let z=n.substring(h),v=z.indexOf("\n");-1===v?p="-":n===z||v!==z.length-1?(p="+",d&&d()):p="",z&&(n=n.slice(0,-z.length),"\n"===z[z.length-1]&&(z=z.slice(0,-1)),z=z.replace(o,`$&${_}`));let k=!1,x=-1;for(m=0;m<n.length;++m){let e=n[m];if(" "===e)k=!0;else if("\n"===e)x=m;else break}let S=n.substring(0,x<m?x+1:m);S&&(n=n.substring(S.length),S=S.replace(/\n+/g,`$&${_}`));let T=_?"2":"1",I=(k?T:"")+p;if(e&&(I+=" "+y(e.replace(/ ?[\r\n]+/g," ")),l&&l()),!w){let e=n.replace(/\n+/g,"\n$&").replace(/(?:^|\n)([\t ].*)(?:([\n\t ]*)\n(?![\n\t ]))?/g,"$1$2").replace(/\n+/g,`$&${_}`),o=!1,l=a(s,!0);"folded"!==f&&t!==r.Scalar.BLOCK_FOLDED&&(l.onOverflow=()=>{o=!0});let u=i.foldFlowLines(`${S}${e}${z}`,_,i.FOLD_BLOCK,l);if(!o)return`>${I}
|
|
209
209
|
${_}${u}`}return n=n.replace(/\n+/g,`$&${_}`),`|${I}
|
|
210
|
-
${_}${S}${n}${
|
|
210
|
+
${_}${S}${n}${z}`}n.stringifyString=function(e,t,n,o){let{implicitKey:d,inFlow:p}=t,h="string"==typeof e.value?e:Object.assign({},e,{value:String(e.value)}),{type:m}=e;m!==r.Scalar.QUOTE_DOUBLE&&/[\x00-\x08\x0b-\x1f\x7f-\x9f\u{D800}-\u{DFFF}]/u.test(h.value)&&(m=r.Scalar.QUOTE_DOUBLE);let g=e=>{switch(e){case r.Scalar.BLOCK_FOLDED:case r.Scalar.BLOCK_LITERAL:return d||p?u(h.value,t):c(h,t,n,o);case r.Scalar.QUOTE_DOUBLE:return s(h.value,t);case r.Scalar.QUOTE_SINGLE:return l(h.value,t);case r.Scalar.PLAIN:return function(e,t,n,o){let{type:s,value:l}=e,{actualString:d,implicitKey:p,indent:h,indentStep:m,inFlow:g}=t;if(p&&l.includes("\n")||g&&/[[\]{},]/.test(l))return u(l,t);if(/^[\n\t ,[\]{}#&*!|>'"%@`]|^[?-]$|^[?-][ \t]|[\n:][ \t]|[ \t]\n|[\n\t ]#|[\n\t :]$/.test(l))return p||g||!l.includes("\n")?u(l,t):c(e,t,n,o);if(!p&&!g&&s!==r.Scalar.PLAIN&&l.includes("\n"))return c(e,t,n,o);if(/^(%|---|\.\.\.)/m.test(l)){if(""===h)return t.forceBlockIndent=!0,c(e,t,n,o);else if(p&&h===m)return u(l,t)}let f=l.replace(/\n+/g,`$&
|
|
211
211
|
${h}`);if(d){let e=e=>e.default&&"tag:yaml.org,2002:str"!==e.tag&&e.test?.test(f),{compat:n,tags:o}=t.doc.schema;if(o.some(e)||n?.some(e))return u(l,t)}return p?f:i.foldFlowLines(f,h,i.FOLD_FLOW,a(t,!1))}(h,t,n,o);default:return null}},f=g(m);if(null===f){let{defaultKeyType:e,defaultStringType:n}=t.options,o=d&&e||n;if(null===(f=g(o)))throw Error(`Unsupported default string type ${o}`)}return f}},403827,(e,t,n)=>{"use strict";var o=e.r(375506),r=e.r(767080),i=e.r(837668),a=e.r(788433);n.createStringifyContext=function(e,t){let n,o=Object.assign({blockQuote:!0,commentString:i.stringifyComment,defaultKeyType:null,defaultStringType:"PLAIN",directives:null,doubleQuotedAsJSON:!1,doubleQuotedMinMultiLineLength:40,falseStr:"false",flowCollectionPadding:!0,indentSeq:!0,lineWidth:80,minContentWidth:20,nullStr:"null",simpleKeys:!1,singleQuote:null,trailingComma:!1,trueStr:"true",verifyAliasOrder:!0},e.schema.toStringOptions,t);switch(o.collectionStyle){case"block":n=!1;break;case"flow":n=!0;break;default:n=null}return{anchors:new Set,doc:e,flowCollectionPadding:o.flowCollectionPadding?" ":"",indent:"",indentStep:"number"==typeof o.indent?" ".repeat(o.indent):" ",inFlow:n,options:o}},n.stringify=function(e,t,n,i){let s;if(r.isPair(e))return e.toString(t,n,i);if(r.isAlias(e)){if(t.doc.directives)return e.toString(t);if(t.resolvedAliases?.has(e))throw TypeError("Cannot stringify circular structure without alias nodes");t.resolvedAliases?t.resolvedAliases.add(e):t.resolvedAliases=new Set([e]),e=e.resolve(t.doc)}let l=r.isNode(e)?e:t.doc.createNode(e,{onTagObj:e=>s=e});s??(s=function(e,t){let n,o;if(t.tag){let n=e.filter(e=>e.tag===t.tag);if(n.length>0)return n.find(e=>e.format===t.format)??n[0]}if(r.isScalar(t)){n=t.value;let r=e.filter(e=>e.identify?.(n));if(r.length>1){let e=r.filter(e=>e.test);e.length>0&&(r=e)}o=r.find(e=>e.format===t.format)??r.find(e=>!e.format)}else n=t,o=e.find(e=>e.nodeClass&&n instanceof e.nodeClass);if(!o){let e=n?.constructor?.name??(null===n?"null":typeof n);throw Error(`Tag not resolved for ${e} value`)}return o}(t.doc.schema.tags,l));let u=function(e,t,{anchors:n,doc:i}){if(!i.directives)return"";let a=[],s=(r.isScalar(e)||r.isCollection(e))&&e.anchor;s&&o.anchorIsValid(s)&&(n.add(s),a.push(`&${s}`));let l=e.tag??(t.default?null:t.tag);return l&&a.push(i.directives.tagString(l)),a.join(" ")}(l,s,t);u.length>0&&(t.indentAtStart=(t.indentAtStart??0)+u.length+1);let c="function"==typeof s.stringify?s.stringify(l,t,n,i):r.isScalar(l)?a.stringifyString(l,t,n,i):l.toString(t,n,i);return u?r.isScalar(l)||"{"===c[0]||"["===c[0]?`${u} ${c}`:`${u}
|
|
212
|
-
${t.indent}${c}`:c}},331875,(e,t,n)=>{"use strict";var o=e.r(767080),r=e.r(826090),i=e.r(403827),a=e.r(837668);n.stringifyPair=function({key:e,value:t},n,s,l){let u,c,d,{allNullValues:p,doc:h,indent:m,indentStep:g,options:{commentString:f,indentSeq:y,simpleKeys:b}}=n,_=o.isNode(e)&&e.comment||null;if(b){if(_)throw Error("With simple keys, key nodes cannot have comments");if(o.isCollection(e)||!o.isNode(e)&&"object"==typeof e)throw Error("With simple keys, collection cannot be used as a key value")}let
|
|
213
|
-
${m}:`):(k=`${k}:`,_&&(k+=a.lineComment(k,n.indent,f(_)))),o.isNode(t)?(u=!!t.spaceBefore,c=t.commentBefore,d=t.comment):(u=!1,c=null,d=null,t&&"object"==typeof t&&(t=h.createNode(t))),n.implicitKey=!1,!
|
|
212
|
+
${t.indent}${c}`:c}},331875,(e,t,n)=>{"use strict";var o=e.r(767080),r=e.r(826090),i=e.r(403827),a=e.r(837668);n.stringifyPair=function({key:e,value:t},n,s,l){let u,c,d,{allNullValues:p,doc:h,indent:m,indentStep:g,options:{commentString:f,indentSeq:y,simpleKeys:b}}=n,_=o.isNode(e)&&e.comment||null;if(b){if(_)throw Error("With simple keys, key nodes cannot have comments");if(o.isCollection(e)||!o.isNode(e)&&"object"==typeof e)throw Error("With simple keys, collection cannot be used as a key value")}let w=!b&&(!e||_&&null==t&&!n.inFlow||o.isCollection(e)||(o.isScalar(e)?e.type===r.Scalar.BLOCK_FOLDED||e.type===r.Scalar.BLOCK_LITERAL:"object"==typeof e));n=Object.assign({},n,{allNullValues:!1,implicitKey:!w&&(b||!p),indent:m+g});let z=!1,v=!1,k=i.stringify(e,n,()=>z=!0,()=>v=!0);if(!w&&!n.inFlow&&k.length>1024){if(b)throw Error("With simple keys, single line scalar must not span more than 1024 characters");w=!0}if(n.inFlow){if(p||null==t)return z&&s&&s(),""===k?"?":w?`? ${k}`:k}else if(p&&!b||null==t&&w)return k=`? ${k}`,_&&!z?k+=a.lineComment(k,n.indent,f(_)):v&&l&&l(),k;z&&(_=null),w?(_&&(k+=a.lineComment(k,n.indent,f(_))),k=`? ${k}
|
|
213
|
+
${m}:`):(k=`${k}:`,_&&(k+=a.lineComment(k,n.indent,f(_)))),o.isNode(t)?(u=!!t.spaceBefore,c=t.commentBefore,d=t.comment):(u=!1,c=null,d=null,t&&"object"==typeof t&&(t=h.createNode(t))),n.implicitKey=!1,!w&&!_&&o.isScalar(t)&&(n.indentAtStart=k.length+1),v=!1,!(!y&&g.length>=2&&!n.inFlow&&!w&&o.isSeq(t))||t.flow||t.tag||t.anchor||(n.indent=n.indent.substring(2));let x=!1,S=i.stringify(t,n,()=>x=!0,()=>v=!0),T=" ";if(_||u||c){if(T=u?"\n":"",c){let e=f(c);T+=`
|
|
214
214
|
${a.indentComment(e,n.indent)}`}""!==S||n.inFlow?T+=`
|
|
215
|
-
${n.indent}`:"\n"===T&&d&&(T="\n\n")}else if(!
|
|
215
|
+
${n.indent}`:"\n"===T&&d&&(T="\n\n")}else if(!w&&o.isCollection(t)){let e=S[0],o=S.indexOf("\n"),r=-1!==o,i=n.inFlow??t.flow??0===t.items.length;if(r||!i){let t=!1;if(r&&("&"===e||"!"===e)){let n=S.indexOf(" ");"&"===e&&-1!==n&&n<o&&"!"===S[n+1]&&(n=S.indexOf(" ",n+1)),(-1===n||o<n)&&(t=!0)}t||(T=`
|
|
216
216
|
${n.indent}`)}}else(""===S||"\n"===S[0])&&(T="");return k+=T+S,n.inFlow?x&&s&&s():d&&!x?k+=a.lineComment(k,n.indent,f(d)):v&&l&&l(),k}},250202,(e,t,n)=>{"use strict";var o=e.r(605365);n.debug=function(e,...t){"debug"===e&&console.log(...t)},n.warn=function(e,t){("debug"===e||"warn"===e)&&("function"==typeof o.emitWarning?o.emitWarning(t):console.warn(t))}},109077,(e,t,n)=>{"use strict";var o=e.r(767080),r=e.r(826090);let i={identify:e=>"<<"===e||"symbol"==typeof e&&"<<"===e.description,default:"key",tag:"tag:yaml.org,2002:merge",test:/^<<$/,resolve:()=>Object.assign(new r.Scalar(Symbol("<<")),{addToJSMap:a}),stringify:()=>"<<"};function a(e,t,n){let r=l(e,n);if(o.isSeq(r))for(let n of r.items)s(e,t,n);else if(Array.isArray(r))for(let n of r)s(e,t,n);else s(e,t,r)}function s(e,t,n){let r=l(e,n);if(!o.isMap(r))throw Error("Merge sources must be maps or map aliases");for(let[n,o]of r.toJSON(null,e,Map))t instanceof Map?t.has(n)||t.set(n,o):t instanceof Set?t.add(n):Object.prototype.hasOwnProperty.call(t,n)||Object.defineProperty(t,n,{value:o,writable:!0,enumerable:!0,configurable:!0});return t}function l(e,t){return e&&o.isAlias(t)?t.resolve(e.doc,e):t}n.addMergeToJSMap=a,n.isMergeKey=(e,t)=>(i.identify(t)||o.isScalar(t)&&(!t.type||t.type===r.Scalar.PLAIN)&&i.identify(t.value))&&e?.doc.schema.tags.some(e=>e.tag===i.tag&&e.default),n.merge=i},26687,(e,t,n)=>{"use strict";var o=e.r(250202),r=e.r(109077),i=e.r(403827),a=e.r(767080),s=e.r(344972);n.addPairToJSMap=function(e,t,{key:n,value:l}){if(a.isNode(n)&&n.addToJSMap)n.addToJSMap(e,t,l);else if(r.isMergeKey(e,n))r.addMergeToJSMap(e,t,l);else{let r=s.toJS(n,"",e);if(t instanceof Map)t.set(r,s.toJS(l,r,e));else if(t instanceof Set)t.add(r);else{let u=function(e,t,n){if(null===t)return"";if("object"!=typeof t)return String(t);if(a.isNode(e)&&n?.doc){let t=i.createStringifyContext(n.doc,{});for(let e of(t.anchors=new Set,n.anchors.keys()))t.anchors.add(e.anchor);t.inFlow=!0,t.inStringifyKey=!0;let r=e.toString(t);if(!n.mapKeyWarned){let e=JSON.stringify(r);e.length>40&&(e=e.substring(0,36)+'..."'),o.warn(n.doc.options.logLevel,`Keys with collection values will be stringified due to JS Object restrictions: ${e}. Set mapAsMap: true to use object keys.`),n.mapKeyWarned=!0}return r}return JSON.stringify(t)}(n,r,e),c=s.toJS(l,u,e);u in t?Object.defineProperty(t,u,{value:c,writable:!0,enumerable:!0,configurable:!0}):t[u]=c}}return t}},812735,(e,t,n)=>{"use strict";var o=e.r(333321),r=e.r(331875),i=e.r(26687),a=e.r(767080);class s{constructor(e,t=null){Object.defineProperty(this,a.NODE_TYPE,{value:a.PAIR}),this.key=e,this.value=t}clone(e){let{key:t,value:n}=this;return a.isNode(t)&&(t=t.clone(e)),a.isNode(n)&&(n=n.clone(e)),new s(t,n)}toJSON(e,t){let n=t?.mapAsMap?new Map:{};return i.addPairToJSMap(t,n,this)}toString(e,t,n){return e?.doc?r.stringifyPair(this,e,t,n):JSON.stringify(this)}}n.Pair=s,n.createPair=function(e,t,n){return new s(o.createNode(e,void 0,n),o.createNode(t,void 0,n))}},749153,(e,t,n)=>{"use strict";var o=e.r(767080),r=e.r(403827),i=e.r(837668);function a({indent:e,options:{commentString:t}},n,o,r){if(o&&r&&(o=o.replace(/^\n+/,"")),o){let r=i.indentComment(t(o),e);n.push(r.trimStart())}}n.stringifyCollection=function(e,t,n){return(t.inFlow??e.flow?function({items:e},t,{flowChars:n,itemIndent:s}){let{indent:l,indentStep:u,flowCollectionPadding:c,options:{commentString:d}}=t,p=Object.assign({},t,{indent:s+=u,inFlow:!0,type:null}),h=!1,m=0,g=[];for(let n=0;n<e.length;++n){let l=e[n],u=null;if(o.isNode(l))l.spaceBefore&&g.push(""),a(t,g,l.commentBefore,!1),l.comment&&(u=l.comment);else if(o.isPair(l)){let e=o.isNode(l.key)?l.key:null;e&&(e.spaceBefore&&g.push(""),a(t,g,e.commentBefore,!1),e.comment&&(h=!0));let n=o.isNode(l.value)?l.value:null;n?(n.comment&&(u=n.comment),n.commentBefore&&(h=!0)):null==l.value&&e?.comment&&(u=e.comment)}u&&(h=!0);let c=r.stringify(l,p,()=>u=null);h||(h=g.length>m||c.includes("\n")),n<e.length-1?c+=",":t.options.trailingComma&&(t.options.lineWidth>0&&(h||(h=g.reduce((e,t)=>e+t.length+2,2)+(c.length+2)>t.options.lineWidth)),h&&(c+=",")),u&&(c+=i.lineComment(c,s,d(u))),g.push(c),m=g.length}let{start:f,end:y}=n;if(0===g.length)return f+y;if(!h){let e=g.reduce((e,t)=>e+t.length+2,2);h=t.options.lineWidth>0&&e>t.options.lineWidth}if(!h)return`${f}${c}${g.join(" ")}${c}${y}`;{let e=f;for(let t of g)e+=t?`
|
|
217
217
|
${u}${l}${t}`:"\n";return`${e}
|
|
218
218
|
${l}${y}`}}:function({comment:e,items:t},n,{blockItemPrefix:s,flowChars:l,itemIndent:u,onChompKeep:c,onComment:d}){let p,{indent:h,options:{commentString:m}}=n,g=Object.assign({},n,{indent:u,type:null}),f=!1,y=[];for(let e=0;e<t.length;++e){let l=t[e],c=null;if(o.isNode(l))!f&&l.spaceBefore&&y.push(""),a(n,y,l.commentBefore,f),l.comment&&(c=l.comment);else if(o.isPair(l)){let e=o.isNode(l.key)?l.key:null;e&&(!f&&e.spaceBefore&&y.push(""),a(n,y,e.commentBefore,f))}f=!1;let d=r.stringify(l,g,()=>c=null,()=>f=!0);c&&(d+=i.lineComment(d,u,m(c))),f&&c&&(f=!1),y.push(s+d)}if(0===y.length)p=l.start+l.end;else{p=y[0];for(let e=1;e<y.length;++e){let t=y[e];p+=t?`
|
|
219
219
|
${h}${t}`:"\n"}}return e?(p+="\n"+i.indentComment(m(e),h),d&&d()):f&&c&&c(),p})(e,t,n)}},976970,(e,t,n)=>{"use strict";var o=e.r(749153),r=e.r(26687),i=e.r(714221),a=e.r(767080),s=e.r(812735),l=e.r(826090);function u(e,t){let n=a.isScalar(t)?t.value:t;for(let o of e)if(a.isPair(o)&&(o.key===t||o.key===n||a.isScalar(o.key)&&o.key.value===n))return o}class c extends i.Collection{static get tagName(){return"tag:yaml.org,2002:map"}constructor(e){super(a.MAP,e),this.items=[]}static from(e,t,n){let{keepUndefined:o,replacer:r}=n,i=new this(e),a=(e,a)=>{if("function"==typeof r)a=r.call(t,e,a);else if(Array.isArray(r)&&!r.includes(e))return;(void 0!==a||o)&&i.items.push(s.createPair(e,a,n))};if(t instanceof Map)for(let[e,n]of t)a(e,n);else if(t&&"object"==typeof t)for(let e of Object.keys(t))a(e,t[e]);return"function"==typeof e.sortMapEntries&&i.items.sort(e.sortMapEntries),i}add(e,t){let n;n=a.isPair(e)?e:e&&"object"==typeof e&&"key"in e?new s.Pair(e.key,e.value):new s.Pair(e,e?.value);let o=u(this.items,n.key),r=this.schema?.sortMapEntries;if(o){if(!t)throw Error(`Key ${n.key} already set`);a.isScalar(o.value)&&l.isScalarValue(n.value)?o.value.value=n.value:o.value=n.value}else if(r){let e=this.items.findIndex(e=>0>r(n,e));-1===e?this.items.push(n):this.items.splice(e,0,n)}else this.items.push(n)}delete(e){let t=u(this.items,e);return!!t&&this.items.splice(this.items.indexOf(t),1).length>0}get(e,t){let n=u(this.items,e),o=n?.value;return(!t&&a.isScalar(o)?o.value:o)??void 0}has(e){return!!u(this.items,e)}set(e,t){this.add(new s.Pair(e,t),!0)}toJSON(e,t,n){let o=n?new n:t?.mapAsMap?new Map:{};for(let e of(t?.onCreate&&t.onCreate(o),this.items))r.addPairToJSMap(t,o,e);return o}toString(e,t,n){if(!e)return JSON.stringify(this);for(let e of this.items)if(!a.isPair(e))throw Error(`Map items must all be pairs; found ${JSON.stringify(e)} instead`);return!e.allNullValues&&this.hasAllNullValues(!1)&&(e=Object.assign({},e,{allNullValues:!0})),o.stringifyCollection(this,e,{blockItemPrefix:"",flowChars:{start:"{",end:"}"},itemIndent:e.indent||"",onChompKeep:n,onComment:t})}}n.YAMLMap=c,n.findPair=u},250139,(e,t,n)=>{"use strict";var o=e.r(767080),r=e.r(976970);n.map={collection:"map",default:!0,nodeClass:r.YAMLMap,tag:"tag:yaml.org,2002:map",resolve:(e,t)=>(o.isMap(e)||t("Expected a mapping for this tag"),e),createNode:(e,t,n)=>r.YAMLMap.from(e,t,n)}},379482,(e,t,n)=>{"use strict";var o=e.r(333321),r=e.r(749153),i=e.r(714221),a=e.r(767080),s=e.r(826090),l=e.r(344972);class u extends i.Collection{static get tagName(){return"tag:yaml.org,2002:seq"}constructor(e){super(a.SEQ,e),this.items=[]}add(e){this.items.push(e)}delete(e){let t=c(e);return"number"==typeof t&&this.items.splice(t,1).length>0}get(e,t){let n=c(e);if("number"!=typeof n)return;let o=this.items[n];return!t&&a.isScalar(o)?o.value:o}has(e){let t=c(e);return"number"==typeof t&&t<this.items.length}set(e,t){let n=c(e);if("number"!=typeof n)throw Error(`Expected a valid index, not ${e}.`);let o=this.items[n];a.isScalar(o)&&s.isScalarValue(t)?o.value=t:this.items[n]=t}toJSON(e,t){let n=[];t?.onCreate&&t.onCreate(n);let o=0;for(let e of this.items)n.push(l.toJS(e,String(o++),t));return n}toString(e,t,n){return e?r.stringifyCollection(this,e,{blockItemPrefix:"- ",flowChars:{start:"[",end:"]"},itemIndent:(e.indent||"")+" ",onChompKeep:n,onComment:t}):JSON.stringify(this)}static from(e,t,n){let{replacer:r}=n,i=new this(e);if(t&&Symbol.iterator in Object(t)){let e=0;for(let a of t){if("function"==typeof r){let n=t instanceof Set?a:String(e++);a=r.call(t,n,a)}i.items.push(o.createNode(a,void 0,n))}}return i}}function c(e){let t=a.isScalar(e)?e.value:e;return t&&"string"==typeof t&&(t=Number(t)),"number"==typeof t&&Number.isInteger(t)&&t>=0?t:null}n.YAMLSeq=u},877013,(e,t,n)=>{"use strict";var o=e.r(767080),r=e.r(379482);n.seq={collection:"seq",default:!0,nodeClass:r.YAMLSeq,tag:"tag:yaml.org,2002:seq",resolve:(e,t)=>(o.isSeq(e)||t("Expected a sequence for this tag"),e),createNode:(e,t,n)=>r.YAMLSeq.from(e,t,n)}},952254,(e,t,n)=>{"use strict";var o=e.r(788433);n.string={identify:e=>"string"==typeof e,default:!0,tag:"tag:yaml.org,2002:str",resolve:e=>e,stringify:(e,t,n,r)=>(t=Object.assign({actualString:!0},t),o.stringifyString(e,t,n,r))}},7934,(e,t,n)=>{"use strict";var o=e.r(826090);let r={identify:e=>null==e,createNode:()=>new o.Scalar(null),default:!0,tag:"tag:yaml.org,2002:null",test:/^(?:~|[Nn]ull|NULL)?$/,resolve:()=>new o.Scalar(null),stringify:({source:e},t)=>"string"==typeof e&&r.test.test(e)?e:t.options.nullStr};n.nullTag=r},361903,(e,t,n)=>{"use strict";var o=e.r(826090);let r={identify:e=>"boolean"==typeof e,default:!0,tag:"tag:yaml.org,2002:bool",test:/^(?:[Tt]rue|TRUE|[Ff]alse|FALSE)$/,resolve:e=>new o.Scalar("t"===e[0]||"T"===e[0]),stringify:({source:e,value:t},n)=>e&&r.test.test(e)&&t===("t"===e[0]||"T"===e[0])?e:t?n.options.trueStr:n.options.falseStr};n.boolTag=r},351238,(e,t,n)=>{"use strict";n.stringifyNumber=function({format:e,minFractionDigits:t,tag:n,value:o}){if("bigint"==typeof o)return String(o);let r="number"==typeof o?o:Number(o);if(!isFinite(r))return isNaN(r)?".nan":r<0?"-.inf":".inf";let i=Object.is(o,-0)?"-0":JSON.stringify(o);if(!e&&t&&(!n||"tag:yaml.org,2002:float"===n)&&/^-?\d/.test(i)&&!i.includes("e")){let e=i.indexOf(".");e<0&&(e=i.length,i+=".");let n=t-(i.length-e-1);for(;n-- >0;)i+="0"}return i}},746340,(e,t,n)=>{"use strict";var o=e.r(826090),r=e.r(351238);let i={identify:e=>"number"==typeof e,default:!0,tag:"tag:yaml.org,2002:float",test:/^(?:[-+]?\.(?:inf|Inf|INF)|\.nan|\.NaN|\.NAN)$/,resolve:e=>"nan"===e.slice(-3).toLowerCase()?NaN:"-"===e[0]?-1/0:1/0,stringify:r.stringifyNumber};n.float={identify:e=>"number"==typeof e,default:!0,tag:"tag:yaml.org,2002:float",test:/^[-+]?(?:\.[0-9]+|[0-9]+\.[0-9]*)$/,resolve(e){let t=new o.Scalar(parseFloat(e)),n=e.indexOf(".");return -1!==n&&"0"===e[e.length-1]&&(t.minFractionDigits=e.length-n-1),t},stringify:r.stringifyNumber},n.floatExp={identify:e=>"number"==typeof e,default:!0,tag:"tag:yaml.org,2002:float",format:"EXP",test:/^[-+]?(?:\.[0-9]+|[0-9]+(?:\.[0-9]*)?)[eE][-+]?[0-9]+$/,resolve:e=>parseFloat(e),stringify(e){let t=Number(e.value);return isFinite(t)?t.toExponential():r.stringifyNumber(e)}},n.floatNaN=i},840488,(e,t,n)=>{"use strict";var o=e.r(351238);let r=e=>"bigint"==typeof e||Number.isInteger(e),i=(e,t,n,{intAsBigInt:o})=>o?BigInt(e):parseInt(e.substring(t),n);function a(e,t,n){let{value:i}=e;return r(i)&&i>=0?n+i.toString(t):o.stringifyNumber(e)}n.int={identify:r,default:!0,tag:"tag:yaml.org,2002:int",test:/^[-+]?[0-9]+$/,resolve:(e,t,n)=>i(e,0,10,n),stringify:o.stringifyNumber},n.intHex={identify:e=>r(e)&&e>=0,default:!0,tag:"tag:yaml.org,2002:int",format:"HEX",test:/^0x[0-9a-fA-F]+$/,resolve:(e,t,n)=>i(e,2,16,n),stringify:e=>a(e,16,"0x")},n.intOct={identify:e=>r(e)&&e>=0,default:!0,tag:"tag:yaml.org,2002:int",format:"OCT",test:/^0o[0-7]+$/,resolve:(e,t,n)=>i(e,2,8,n),stringify:e=>a(e,8,"0o")}},862550,(e,t,n)=>{"use strict";var o=e.r(250139),r=e.r(7934),i=e.r(877013),a=e.r(952254),s=e.r(361903),l=e.r(746340),u=e.r(840488);n.schema=[o.map,i.seq,a.string,r.nullTag,s.boolTag,u.intOct,u.int,u.intHex,l.floatNaN,l.floatExp,l.float]},812690,(e,t,n)=>{"use strict";var o=e.r(826090),r=e.r(250139),i=e.r(877013);function a(e){return"bigint"==typeof e||Number.isInteger(e)}let s=({value:e})=>JSON.stringify(e),l=[{identify:e=>"string"==typeof e,default:!0,tag:"tag:yaml.org,2002:str",resolve:e=>e,stringify:s},{identify:e=>null==e,createNode:()=>new o.Scalar(null),default:!0,tag:"tag:yaml.org,2002:null",test:/^null$/,resolve:()=>null,stringify:s},{identify:e=>"boolean"==typeof e,default:!0,tag:"tag:yaml.org,2002:bool",test:/^true$|^false$/,resolve:e=>"true"===e,stringify:s},{identify:a,default:!0,tag:"tag:yaml.org,2002:int",test:/^-?(?:0|[1-9][0-9]*)$/,resolve:(e,t,{intAsBigInt:n})=>n?BigInt(e):parseInt(e,10),stringify:({value:e})=>a(e)?e.toString():JSON.stringify(e)},{identify:e=>"number"==typeof e,default:!0,tag:"tag:yaml.org,2002:float",test:/^-?(?:0|[1-9][0-9]*)(?:\.[0-9]*)?(?:[eE][-+]?[0-9]+)?$/,resolve:e=>parseFloat(e),stringify:s}];n.schema=[r.map,i.seq].concat(l,{default:!0,tag:"",test:/^/,resolve:(e,t)=>(t(`Unresolved plain scalar ${JSON.stringify(e)}`),e)})},259163,(e,t,n)=>{"use strict";var o=e.r(500874),r=e.r(826090),i=e.r(788433);n.binary={identify:e=>e instanceof Uint8Array,default:!1,tag:"tag:yaml.org,2002:binary",resolve(e,t){if("function"==typeof o.Buffer)return o.Buffer.from(e,"base64");if("function"!=typeof atob)return t("This environment does not support reading binary tags; either Buffer or atob is required"),e;{let t=atob(e.replace(/[\n\r]/g,"")),n=new Uint8Array(t.length);for(let e=0;e<t.length;++e)n[e]=t.charCodeAt(e);return n}},stringify({comment:e,type:t,value:n},a,s,l){let u;if(!n)return"";if("function"==typeof o.Buffer)u=n instanceof o.Buffer?n.toString("base64"):o.Buffer.from(n.buffer).toString("base64");else if("function"==typeof btoa){let e="";for(let t=0;t<n.length;++t)e+=String.fromCharCode(n[t]);u=btoa(e)}else throw Error("This environment does not support writing binary tags; either Buffer or btoa is required");if(t??(t=r.Scalar.BLOCK_LITERAL),t!==r.Scalar.QUOTE_DOUBLE){let e=Math.max(a.options.lineWidth-a.indent.length,a.options.minContentWidth),n=Math.ceil(u.length/e),o=Array(n);for(let t=0,r=0;t<n;++t,r+=e)o[t]=u.substr(r,e);u=o.join(t===r.Scalar.BLOCK_LITERAL?"\n":" ")}return i.stringifyString({comment:e,type:t,value:u},a,s,l)}}},122087,(e,t,n)=>{"use strict";var o=e.r(767080),r=e.r(812735),i=e.r(826090),a=e.r(379482);function s(e,t){if(o.isSeq(e))for(let n=0;n<e.items.length;++n){let a=e.items[n];if(!o.isPair(a)){if(o.isMap(a)){a.items.length>1&&t("Each pair must have its own sequence indicator");let e=a.items[0]||new r.Pair(new i.Scalar(null));if(a.commentBefore&&(e.key.commentBefore=e.key.commentBefore?`${a.commentBefore}
|
|
220
220
|
${e.key.commentBefore}`:a.commentBefore),a.comment){let t=e.value??e.key;t.comment=t.comment?`${a.comment}
|
|
221
|
-
${t.comment}`:a.comment}a=e}e.items[n]=o.isPair(a)?a:new r.Pair(a)}}else t("Expected a sequence for this tag");return e}function l(e,t,n){let{replacer:o}=n,i=new a.YAMLSeq(e);i.tag="tag:yaml.org,2002:pairs";let s=0;if(t&&Symbol.iterator in Object(t))for(let e of t){let a,l;if("function"==typeof o&&(e=o.call(t,String(s++),e)),Array.isArray(e))if(2===e.length)a=e[0],l=e[1];else throw TypeError(`Expected [key, value] tuple: ${e}`);else if(e&&e instanceof Object){let t=Object.keys(e);if(1===t.length)l=e[a=t[0]];else throw TypeError(`Expected tuple with one key, not ${t.length} keys`)}else a=e;i.items.push(r.createPair(a,l,n))}return i}n.createPairs=l,n.pairs={collection:"seq",default:!1,tag:"tag:yaml.org,2002:pairs",resolve:s,createNode:l},n.resolvePairs=s},770090,(e,t,n)=>{"use strict";var o=e.r(767080),r=e.r(344972),i=e.r(976970),a=e.r(379482),s=e.r(122087);class l extends a.YAMLSeq{constructor(){super(),this.add=i.YAMLMap.prototype.add.bind(this),this.delete=i.YAMLMap.prototype.delete.bind(this),this.get=i.YAMLMap.prototype.get.bind(this),this.has=i.YAMLMap.prototype.has.bind(this),this.set=i.YAMLMap.prototype.set.bind(this),this.tag=l.tag}toJSON(e,t){if(!t)return super.toJSON(e);let n=new Map;for(let e of(t?.onCreate&&t.onCreate(n),this.items)){let i,a;if(o.isPair(e)?(i=r.toJS(e.key,"",t),a=r.toJS(e.value,i,t)):i=r.toJS(e,"",t),n.has(i))throw Error("Ordered maps must not include duplicate keys");n.set(i,a)}return n}static from(e,t,n){let o=s.createPairs(e,t,n),r=new this;return r.items=o.items,r}}l.tag="tag:yaml.org,2002:omap",n.YAMLOMap=l,n.omap={collection:"seq",identify:e=>e instanceof Map,nodeClass:l,default:!1,tag:"tag:yaml.org,2002:omap",resolve(e,t){let n=s.resolvePairs(e,t),r=[];for(let{key:e}of n.items)o.isScalar(e)&&(r.includes(e.value)?t(`Ordered maps must not include duplicate keys: ${e.value}`):r.push(e.value));return Object.assign(new l,n)},createNode:(e,t,n)=>l.from(e,t,n)}},605140,(e,t,n)=>{"use strict";var o=e.r(826090);function r({value:e,source:t},n){let o=e?i:a;return t&&o.test.test(t)?t:e?n.options.trueStr:n.options.falseStr}let i={identify:e=>!0===e,default:!0,tag:"tag:yaml.org,2002:bool",test:/^(?:Y|y|[Yy]es|YES|[Tt]rue|TRUE|[Oo]n|ON)$/,resolve:()=>new o.Scalar(!0),stringify:r},a={identify:e=>!1===e,default:!0,tag:"tag:yaml.org,2002:bool",test:/^(?:N|n|[Nn]o|NO|[Ff]alse|FALSE|[Oo]ff|OFF)$/,resolve:()=>new o.Scalar(!1),stringify:r};n.falseTag=a,n.trueTag=i},209888,(e,t,n)=>{"use strict";var o=e.r(826090),r=e.r(351238);let i={identify:e=>"number"==typeof e,default:!0,tag:"tag:yaml.org,2002:float",test:/^(?:[-+]?\.(?:inf|Inf|INF)|\.nan|\.NaN|\.NAN)$/,resolve:e=>"nan"===e.slice(-3).toLowerCase()?NaN:"-"===e[0]?-1/0:1/0,stringify:r.stringifyNumber};n.float={identify:e=>"number"==typeof e,default:!0,tag:"tag:yaml.org,2002:float",test:/^[-+]?(?:[0-9][0-9_]*)?\.[0-9_]*$/,resolve(e){let t=new o.Scalar(parseFloat(e.replace(/_/g,""))),n=e.indexOf(".");if(-1!==n){let o=e.substring(n+1).replace(/_/g,"");"0"===o[o.length-1]&&(t.minFractionDigits=o.length)}return t},stringify:r.stringifyNumber},n.floatExp={identify:e=>"number"==typeof e,default:!0,tag:"tag:yaml.org,2002:float",format:"EXP",test:/^[-+]?(?:[0-9][0-9_]*)?(?:\.[0-9_]*)?[eE][-+]?[0-9]+$/,resolve:e=>parseFloat(e.replace(/_/g,"")),stringify(e){let t=Number(e.value);return isFinite(t)?t.toExponential():r.stringifyNumber(e)}},n.floatNaN=i},542427,(e,t,n)=>{"use strict";var o=e.r(351238);let r=e=>"bigint"==typeof e||Number.isInteger(e);function i(e,t,n,{intAsBigInt:o}){let r=e[0];if(("-"===r||"+"===r)&&(t+=1),e=e.substring(t).replace(/_/g,""),o){switch(n){case 2:e=`0b${e}`;break;case 8:e=`0o${e}`;break;case 16:e=`0x${e}`}let t=BigInt(e);return"-"===r?BigInt(-1)*t:t}let a=parseInt(e,n);return"-"===r?-1*a:a}function a(e,t,n){let{value:i}=e;if(r(i)){let e=i.toString(t);return i<0?"-"+n+e.substr(1):n+e}return o.stringifyNumber(e)}n.int={identify:r,default:!0,tag:"tag:yaml.org,2002:int",test:/^[-+]?[0-9][0-9_]*$/,resolve:(e,t,n)=>i(e,0,10,n),stringify:o.stringifyNumber},n.intBin={identify:r,default:!0,tag:"tag:yaml.org,2002:int",format:"BIN",test:/^[-+]?0b[0-1_]+$/,resolve:(e,t,n)=>i(e,2,2,n),stringify:e=>a(e,2,"0b")},n.intHex={identify:r,default:!0,tag:"tag:yaml.org,2002:int",format:"HEX",test:/^[-+]?0x[0-9a-fA-F_]+$/,resolve:(e,t,n)=>i(e,2,16,n),stringify:e=>a(e,16,"0x")},n.intOct={identify:r,default:!0,tag:"tag:yaml.org,2002:int",format:"OCT",test:/^[-+]?0[0-7_]+$/,resolve:(e,t,n)=>i(e,1,8,n),stringify:e=>a(e,8,"0")}},884186,(e,t,n)=>{"use strict";var o=e.r(767080),r=e.r(812735),i=e.r(976970);class a extends i.YAMLMap{constructor(e){super(e),this.tag=a.tag}add(e){let t;t=o.isPair(e)?e:e&&"object"==typeof e&&"key"in e&&"value"in e&&null===e.value?new r.Pair(e.key,null):new r.Pair(e,null),i.findPair(this.items,t.key)||this.items.push(t)}get(e,t){let n=i.findPair(this.items,e);return!t&&o.isPair(n)?o.isScalar(n.key)?n.key.value:n.key:n}set(e,t){if("boolean"!=typeof t)throw Error(`Expected boolean value for set(key, value) in a YAML set, not ${typeof t}`);let n=i.findPair(this.items,e);n&&!t?this.items.splice(this.items.indexOf(n),1):!n&&t&&this.items.push(new r.Pair(e))}toJSON(e,t){return super.toJSON(e,t,Set)}toString(e,t,n){if(!e)return JSON.stringify(this);if(this.hasAllNullValues(!0))return super.toString(Object.assign({},e,{allNullValues:!0}),t,n);throw Error("Set items must all have null values")}static from(e,t,n){let{replacer:o}=n,i=new this(e);if(t&&Symbol.iterator in Object(t))for(let e of t)"function"==typeof o&&(e=o.call(t,e,e)),i.items.push(r.createPair(e,null,n));return i}}a.tag="tag:yaml.org,2002:set",n.YAMLSet=a,n.set={collection:"map",identify:e=>e instanceof Set,nodeClass:a,default:!1,tag:"tag:yaml.org,2002:set",createNode:(e,t,n)=>a.from(e,t,n),resolve(e,t){if(o.isMap(e))if(e.hasAllNullValues(!0))return Object.assign(new a,e);else t("Set items must all have null values");else t("Expected a mapping for this tag");return e}}},37637,(e,t,n)=>{"use strict";var o=e.r(351238);function r(e,t){let n=e[0],o="-"===n||"+"===n?e.substring(1):e,r=e=>t?BigInt(e):Number(e),i=o.replace(/_/g,"").split(":").reduce((e,t)=>e*r(60)+r(t),r(0));return"-"===n?r(-1)*i:i}function i(e){let{value:t}=e,n=e=>e;if("bigint"==typeof t)n=e=>BigInt(e);else if(isNaN(t)||!isFinite(t))return o.stringifyNumber(e);let r="";t<0&&(r="-",t*=n(-1));let i=n(60),a=[t%i];return t<60?a.unshift(0):(t=(t-a[0])/i,a.unshift(t%i),t>=60&&(t=(t-a[0])/i,a.unshift(t))),r+a.map(e=>String(e).padStart(2,"0")).join(":").replace(/000000\d*$/,"")}let a={identify:e=>e instanceof Date,default:!0,tag:"tag:yaml.org,2002:timestamp",test:RegExp("^([0-9]{4})-([0-9]{1,2})-([0-9]{1,2})(?:(?:t|T|[ \\t]+)([0-9]{1,2}):([0-9]{1,2}):([0-9]{1,2}(\\.[0-9]+)?)(?:[ \\t]*(Z|[-+][012]?[0-9](?::[0-9]{2})?))?)?$"),resolve(e){let t=e.match(a.test);if(!t)throw Error("!!timestamp expects a date, starting with yyyy-mm-dd");let[,n,o,i,s,l,u]=t.map(Number),c=Date.UTC(n,o-1,i,s||0,l||0,u||0,t[7]?Number((t[7]+"00").substr(1,3)):0),d=t[8];if(d&&"Z"!==d){let e=r(d,!1);30>Math.abs(e)&&(e*=60),c-=6e4*e}return new Date(c)},stringify:({value:e})=>e?.toISOString().replace(/(T00:00:00)?\.000Z$/,"")??""};n.floatTime={identify:e=>"number"==typeof e,default:!0,tag:"tag:yaml.org,2002:float",format:"TIME",test:/^[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+\.[0-9_]*$/,resolve:e=>r(e,!1),stringify:i},n.intTime={identify:e=>"bigint"==typeof e||Number.isInteger(e),default:!0,tag:"tag:yaml.org,2002:int",format:"TIME",test:/^[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+$/,resolve:(e,t,{intAsBigInt:n})=>r(e,n),stringify:i},n.timestamp=a},990419,(e,t,n)=>{"use strict";var o=e.r(250139),r=e.r(7934),i=e.r(877013),a=e.r(952254),s=e.r(259163),l=e.r(605140),u=e.r(209888),c=e.r(542427),d=e.r(109077),p=e.r(770090),h=e.r(122087),m=e.r(884186),g=e.r(37637);n.schema=[o.map,i.seq,a.string,r.nullTag,l.trueTag,l.falseTag,c.intBin,c.intOct,c.int,c.intHex,u.floatNaN,u.floatExp,u.float,s.binary,d.merge,p.omap,h.pairs,m.set,g.intTime,g.floatTime,g.timestamp]},726264,(e,t,n)=>{"use strict";var o=e.r(250139),r=e.r(7934),i=e.r(877013),a=e.r(952254),s=e.r(361903),l=e.r(746340),u=e.r(840488),c=e.r(862550),d=e.r(812690),p=e.r(259163),h=e.r(109077),m=e.r(770090),g=e.r(122087),f=e.r(990419),y=e.r(884186),b=e.r(37637);let _=new Map([["core",c.schema],["failsafe",[o.map,i.seq,a.string]],["json",d.schema],["yaml11",f.schema],["yaml-1.1",f.schema]]),z={binary:p.binary,bool:s.boolTag,float:l.float,floatExp:l.floatExp,floatNaN:l.floatNaN,floatTime:b.floatTime,int:u.int,intHex:u.intHex,intOct:u.intOct,intTime:b.intTime,map:o.map,merge:h.merge,null:r.nullTag,omap:m.omap,pairs:g.pairs,seq:i.seq,set:y.set,timestamp:b.timestamp};n.coreKnownTags={"tag:yaml.org,2002:binary":p.binary,"tag:yaml.org,2002:merge":h.merge,"tag:yaml.org,2002:omap":m.omap,"tag:yaml.org,2002:pairs":g.pairs,"tag:yaml.org,2002:set":y.set,"tag:yaml.org,2002:timestamp":b.timestamp},n.getTags=function(e,t,n){let o=_.get(t);if(o&&!e)return n&&!o.includes(h.merge)?o.concat(h.merge):o.slice();let r=o;if(!r)if(Array.isArray(e))r=[];else{let e=Array.from(_.keys()).filter(e=>"yaml11"!==e).map(e=>JSON.stringify(e)).join(", ");throw Error(`Unknown schema "${t}"; use one of ${e} or define customTags array`)}if(Array.isArray(e))for(let t of e)r=r.concat(t);else"function"==typeof e&&(r=e(r.slice()));return n&&(r=r.concat(h.merge)),r.reduce((e,t)=>{let n="string"==typeof t?z[t]:t;if(!n){let e=JSON.stringify(t),n=Object.keys(z).map(e=>JSON.stringify(e)).join(", ");throw Error(`Unknown custom tag ${e}; use one of ${n}`)}return e.includes(n)||e.push(n),e},[])}},891485,(e,t,n)=>{"use strict";var o=e.r(767080),r=e.r(250139),i=e.r(877013),a=e.r(952254),s=e.r(726264);let l=(e,t)=>e.key<t.key?-1:+(e.key>t.key);n.Schema=class e{constructor({compat:e,customTags:t,merge:n,resolveKnownTags:u,schema:c,sortMapEntries:d,toStringDefaults:p}){this.compat=Array.isArray(e)?s.getTags(e,"compat"):e?s.getTags(null,e):null,this.name="string"==typeof c&&c||"core",this.knownTags=u?s.coreKnownTags:{},this.tags=s.getTags(t,this.name,n),this.toStringOptions=p??null,Object.defineProperty(this,o.MAP,{value:r.map}),Object.defineProperty(this,o.SCALAR,{value:a.string}),Object.defineProperty(this,o.SEQ,{value:i.seq}),this.sortMapEntries="function"==typeof d?d:!0===d?l:null}clone(){let t=Object.create(e.prototype,Object.getOwnPropertyDescriptors(this));return t.tags=this.tags.slice(),t}}},114405,(e,t,n)=>{"use strict";var o=e.r(767080),r=e.r(403827),i=e.r(837668);n.stringifyDocument=function(e,t){let n=[],a=!0===t.directives;if(!1!==t.directives&&e.directives){let t=e.directives.toString(e);t?(n.push(t),a=!0):e.directives.docStart&&(a=!0)}a&&n.push("---");let s=r.createStringifyContext(e,t),{commentString:l}=s.options;if(e.commentBefore){1!==n.length&&n.unshift("");let t=l(e.commentBefore);n.unshift(i.indentComment(t,""))}let u=!1,c=null;if(e.contents){if(o.isNode(e.contents)){if(e.contents.spaceBefore&&a&&n.push(""),e.contents.commentBefore){let t=l(e.contents.commentBefore);n.push(i.indentComment(t,""))}s.forceBlockIndent=!!e.comment,c=e.contents.comment}let t=c?void 0:()=>u=!0,d=r.stringify(e.contents,s,()=>c=null,t);c&&(d+=i.lineComment(d,"",l(c))),("|"===d[0]||">"===d[0])&&"---"===n[n.length-1]?n[n.length-1]=`--- ${d}`:n.push(d)}else n.push(r.stringify(e.contents,s));if(e.directives?.docEnd)if(e.comment){let t=l(e.comment);t.includes("\n")?(n.push("..."),n.push(i.indentComment(t,""))):n.push(`... ${t}`)}else n.push("...");else{let t=e.comment;t&&u&&(t=t.replace(/^\n+/,"")),t&&((!u||c)&&""!==n[n.length-1]&&n.push(""),n.push(i.indentComment(l(t),"")))}return n.join("\n")+"\n"}},722871,(e,t,n)=>{"use strict";var o=e.r(917429),r=e.r(714221),i=e.r(767080),a=e.r(812735),s=e.r(344972),l=e.r(891485),u=e.r(114405),c=e.r(375506),d=e.r(670087),p=e.r(333321),h=e.r(954907);function m(e){if(i.isCollection(e))return!0;throw Error("Expected a YAML collection as document contents")}n.Document=class e{constructor(e,t,n){this.commentBefore=null,this.comment=null,this.errors=[],this.warnings=[],Object.defineProperty(this,i.NODE_TYPE,{value:i.DOC});let o=null;"function"==typeof t||Array.isArray(t)?o=t:void 0===n&&t&&(n=t,t=void 0);const r=Object.assign({intAsBigInt:!1,keepSourceTokens:!1,logLevel:"warn",prettyErrors:!0,strict:!0,stringKeys:!1,uniqueKeys:!0,version:"1.2"},n);this.options=r;let{version:a}=r;n?._directives?(this.directives=n._directives.atDocument(),this.directives.yaml.explicit&&(a=this.directives.yaml.version)):this.directives=new h.Directives({version:a}),this.setSchema(a,n),this.contents=void 0===e?null:this.createNode(e,o,n)}clone(){let t=Object.create(e.prototype,{[i.NODE_TYPE]:{value:i.DOC}});return t.commentBefore=this.commentBefore,t.comment=this.comment,t.errors=this.errors.slice(),t.warnings=this.warnings.slice(),t.options=Object.assign({},this.options),this.directives&&(t.directives=this.directives.clone()),t.schema=this.schema.clone(),t.contents=i.isNode(this.contents)?this.contents.clone(t.schema):this.contents,this.range&&(t.range=this.range.slice()),t}add(e){m(this.contents)&&this.contents.add(e)}addIn(e,t){m(this.contents)&&this.contents.addIn(e,t)}createAlias(e,t){if(!e.anchor){let n=c.anchorNames(this);e.anchor=!t||n.has(t)?c.findNewAnchor(t||"a",n):t}return new o.Alias(e.anchor)}createNode(e,t,n){let o;if("function"==typeof t)e=t.call({"":e},"",e),o=t;else if(Array.isArray(t)){let e=t.filter(e=>"number"==typeof e||e instanceof String||e instanceof Number).map(String);e.length>0&&(t=t.concat(e)),o=t}else void 0===n&&t&&(n=t,t=void 0);let{aliasDuplicateObjects:r,anchorPrefix:a,flow:s,keepUndefined:l,onTagObj:u,tag:d}=n??{},{onAnchor:h,setAnchors:m,sourceObjects:g}=c.createNodeAnchors(this,a||"a"),f={aliasDuplicateObjects:r??!0,keepUndefined:l??!1,onAnchor:h,onTagObj:u,replacer:o,schema:this.schema,sourceObjects:g},y=p.createNode(e,d,f);return s&&i.isCollection(y)&&(y.flow=!0),m(),y}createPair(e,t,n={}){let o=this.createNode(e,null,n),r=this.createNode(t,null,n);return new a.Pair(o,r)}delete(e){return!!m(this.contents)&&this.contents.delete(e)}deleteIn(e){return r.isEmptyPath(e)?null!=this.contents&&(this.contents=null,!0):!!m(this.contents)&&this.contents.deleteIn(e)}get(e,t){return i.isCollection(this.contents)?this.contents.get(e,t):void 0}getIn(e,t){return r.isEmptyPath(e)?!t&&i.isScalar(this.contents)?this.contents.value:this.contents:i.isCollection(this.contents)?this.contents.getIn(e,t):void 0}has(e){return!!i.isCollection(this.contents)&&this.contents.has(e)}hasIn(e){return r.isEmptyPath(e)?void 0!==this.contents:!!i.isCollection(this.contents)&&this.contents.hasIn(e)}set(e,t){null==this.contents?this.contents=r.collectionFromPath(this.schema,[e],t):m(this.contents)&&this.contents.set(e,t)}setIn(e,t){r.isEmptyPath(e)?this.contents=t:null==this.contents?this.contents=r.collectionFromPath(this.schema,Array.from(e),t):m(this.contents)&&this.contents.setIn(e,t)}setSchema(e,t={}){let n;switch("number"==typeof e&&(e=String(e)),e){case"1.1":this.directives?this.directives.yaml.version="1.1":this.directives=new h.Directives({version:"1.1"}),n={resolveKnownTags:!1,schema:"yaml-1.1"};break;case"1.2":case"next":this.directives?this.directives.yaml.version=e:this.directives=new h.Directives({version:e}),n={resolveKnownTags:!0,schema:"core"};break;case null:this.directives&&delete this.directives,n=null;break;default:{let t=JSON.stringify(e);throw Error(`Expected '1.1', '1.2' or null as first argument, but found: ${t}`)}}if(t.schema instanceof Object)this.schema=t.schema;else if(n)this.schema=new l.Schema(Object.assign(n,t));else throw Error("With a null YAML version, the { schema: Schema } option is required")}toJS({json:e,jsonArg:t,mapAsMap:n,maxAliasCount:o,onAnchor:r,reviver:i}={}){let a={anchors:new Map,doc:this,keep:!e,mapAsMap:!0===n,mapKeyWarned:!1,maxAliasCount:"number"==typeof o?o:100},l=s.toJS(this.contents,t??"",a);if("function"==typeof r)for(let{count:e,res:t}of a.anchors.values())r(t,e);return"function"==typeof i?d.applyReviver(i,{"":l},"",l):l}toJSON(e,t){return this.toJS({json:!0,jsonArg:e,mapAsMap:!1,onAnchor:t})}toString(e={}){if(this.errors.length>0)throw Error("Document with errors cannot be stringified");if("indent"in e&&(!Number.isInteger(e.indent)||0>=Number(e.indent))){let t=JSON.stringify(e.indent);throw Error(`"indent" option must be a positive integer, not ${t}`)}return u.stringifyDocument(this,e)}}},809070,(e,t,n)=>{"use strict";class o extends Error{constructor(e,t,n,o){super(),this.name=e,this.code=n,this.message=o,this.pos=t}}n.YAMLError=o,n.YAMLParseError=class extends o{constructor(e,t,n){super("YAMLParseError",e,t,n)}},n.YAMLWarning=class extends o{constructor(e,t,n){super("YAMLWarning",e,t,n)}},n.prettifyError=(e,t)=>n=>{if(-1===n.pos[0])return;n.linePos=n.pos.map(e=>t.linePos(e));let{line:o,col:r}=n.linePos[0];n.message+=` at line ${o}, column ${r}`;let i=r-1,a=e.substring(t.lineStarts[o-1],t.lineStarts[o]).replace(/[\n\r]+$/,"");if(i>=60&&a.length>80){let e=Math.min(i-39,a.length-79);a="…"+a.substring(e),i-=e-1}if(a.length>80&&(a=a.substring(0,79)+"…"),o>1&&/^ *$/.test(a.substring(0,i))){let n=e.substring(t.lineStarts[o-2],t.lineStarts[o-1]);n.length>80&&(n=n.substring(0,79)+"…\n"),a=n+a}if(/[^ ]/.test(a)){let e=1,t=n.linePos[1];t?.line===o&&t.col>r&&(e=Math.max(1,Math.min(t.col-r,80-i)));let s=" ".repeat(i)+"^".repeat(e);n.message+=`:
|
|
221
|
+
${t.comment}`:a.comment}a=e}e.items[n]=o.isPair(a)?a:new r.Pair(a)}}else t("Expected a sequence for this tag");return e}function l(e,t,n){let{replacer:o}=n,i=new a.YAMLSeq(e);i.tag="tag:yaml.org,2002:pairs";let s=0;if(t&&Symbol.iterator in Object(t))for(let e of t){let a,l;if("function"==typeof o&&(e=o.call(t,String(s++),e)),Array.isArray(e))if(2===e.length)a=e[0],l=e[1];else throw TypeError(`Expected [key, value] tuple: ${e}`);else if(e&&e instanceof Object){let t=Object.keys(e);if(1===t.length)l=e[a=t[0]];else throw TypeError(`Expected tuple with one key, not ${t.length} keys`)}else a=e;i.items.push(r.createPair(a,l,n))}return i}n.createPairs=l,n.pairs={collection:"seq",default:!1,tag:"tag:yaml.org,2002:pairs",resolve:s,createNode:l},n.resolvePairs=s},770090,(e,t,n)=>{"use strict";var o=e.r(767080),r=e.r(344972),i=e.r(976970),a=e.r(379482),s=e.r(122087);class l extends a.YAMLSeq{constructor(){super(),this.add=i.YAMLMap.prototype.add.bind(this),this.delete=i.YAMLMap.prototype.delete.bind(this),this.get=i.YAMLMap.prototype.get.bind(this),this.has=i.YAMLMap.prototype.has.bind(this),this.set=i.YAMLMap.prototype.set.bind(this),this.tag=l.tag}toJSON(e,t){if(!t)return super.toJSON(e);let n=new Map;for(let e of(t?.onCreate&&t.onCreate(n),this.items)){let i,a;if(o.isPair(e)?(i=r.toJS(e.key,"",t),a=r.toJS(e.value,i,t)):i=r.toJS(e,"",t),n.has(i))throw Error("Ordered maps must not include duplicate keys");n.set(i,a)}return n}static from(e,t,n){let o=s.createPairs(e,t,n),r=new this;return r.items=o.items,r}}l.tag="tag:yaml.org,2002:omap",n.YAMLOMap=l,n.omap={collection:"seq",identify:e=>e instanceof Map,nodeClass:l,default:!1,tag:"tag:yaml.org,2002:omap",resolve(e,t){let n=s.resolvePairs(e,t),r=[];for(let{key:e}of n.items)o.isScalar(e)&&(r.includes(e.value)?t(`Ordered maps must not include duplicate keys: ${e.value}`):r.push(e.value));return Object.assign(new l,n)},createNode:(e,t,n)=>l.from(e,t,n)}},605140,(e,t,n)=>{"use strict";var o=e.r(826090);function r({value:e,source:t},n){let o=e?i:a;return t&&o.test.test(t)?t:e?n.options.trueStr:n.options.falseStr}let i={identify:e=>!0===e,default:!0,tag:"tag:yaml.org,2002:bool",test:/^(?:Y|y|[Yy]es|YES|[Tt]rue|TRUE|[Oo]n|ON)$/,resolve:()=>new o.Scalar(!0),stringify:r},a={identify:e=>!1===e,default:!0,tag:"tag:yaml.org,2002:bool",test:/^(?:N|n|[Nn]o|NO|[Ff]alse|FALSE|[Oo]ff|OFF)$/,resolve:()=>new o.Scalar(!1),stringify:r};n.falseTag=a,n.trueTag=i},209888,(e,t,n)=>{"use strict";var o=e.r(826090),r=e.r(351238);let i={identify:e=>"number"==typeof e,default:!0,tag:"tag:yaml.org,2002:float",test:/^(?:[-+]?\.(?:inf|Inf|INF)|\.nan|\.NaN|\.NAN)$/,resolve:e=>"nan"===e.slice(-3).toLowerCase()?NaN:"-"===e[0]?-1/0:1/0,stringify:r.stringifyNumber};n.float={identify:e=>"number"==typeof e,default:!0,tag:"tag:yaml.org,2002:float",test:/^[-+]?(?:[0-9][0-9_]*)?\.[0-9_]*$/,resolve(e){let t=new o.Scalar(parseFloat(e.replace(/_/g,""))),n=e.indexOf(".");if(-1!==n){let o=e.substring(n+1).replace(/_/g,"");"0"===o[o.length-1]&&(t.minFractionDigits=o.length)}return t},stringify:r.stringifyNumber},n.floatExp={identify:e=>"number"==typeof e,default:!0,tag:"tag:yaml.org,2002:float",format:"EXP",test:/^[-+]?(?:[0-9][0-9_]*)?(?:\.[0-9_]*)?[eE][-+]?[0-9]+$/,resolve:e=>parseFloat(e.replace(/_/g,"")),stringify(e){let t=Number(e.value);return isFinite(t)?t.toExponential():r.stringifyNumber(e)}},n.floatNaN=i},542427,(e,t,n)=>{"use strict";var o=e.r(351238);let r=e=>"bigint"==typeof e||Number.isInteger(e);function i(e,t,n,{intAsBigInt:o}){let r=e[0];if(("-"===r||"+"===r)&&(t+=1),e=e.substring(t).replace(/_/g,""),o){switch(n){case 2:e=`0b${e}`;break;case 8:e=`0o${e}`;break;case 16:e=`0x${e}`}let t=BigInt(e);return"-"===r?BigInt(-1)*t:t}let a=parseInt(e,n);return"-"===r?-1*a:a}function a(e,t,n){let{value:i}=e;if(r(i)){let e=i.toString(t);return i<0?"-"+n+e.substr(1):n+e}return o.stringifyNumber(e)}n.int={identify:r,default:!0,tag:"tag:yaml.org,2002:int",test:/^[-+]?[0-9][0-9_]*$/,resolve:(e,t,n)=>i(e,0,10,n),stringify:o.stringifyNumber},n.intBin={identify:r,default:!0,tag:"tag:yaml.org,2002:int",format:"BIN",test:/^[-+]?0b[0-1_]+$/,resolve:(e,t,n)=>i(e,2,2,n),stringify:e=>a(e,2,"0b")},n.intHex={identify:r,default:!0,tag:"tag:yaml.org,2002:int",format:"HEX",test:/^[-+]?0x[0-9a-fA-F_]+$/,resolve:(e,t,n)=>i(e,2,16,n),stringify:e=>a(e,16,"0x")},n.intOct={identify:r,default:!0,tag:"tag:yaml.org,2002:int",format:"OCT",test:/^[-+]?0[0-7_]+$/,resolve:(e,t,n)=>i(e,1,8,n),stringify:e=>a(e,8,"0")}},884186,(e,t,n)=>{"use strict";var o=e.r(767080),r=e.r(812735),i=e.r(976970);class a extends i.YAMLMap{constructor(e){super(e),this.tag=a.tag}add(e){let t;t=o.isPair(e)?e:e&&"object"==typeof e&&"key"in e&&"value"in e&&null===e.value?new r.Pair(e.key,null):new r.Pair(e,null),i.findPair(this.items,t.key)||this.items.push(t)}get(e,t){let n=i.findPair(this.items,e);return!t&&o.isPair(n)?o.isScalar(n.key)?n.key.value:n.key:n}set(e,t){if("boolean"!=typeof t)throw Error(`Expected boolean value for set(key, value) in a YAML set, not ${typeof t}`);let n=i.findPair(this.items,e);n&&!t?this.items.splice(this.items.indexOf(n),1):!n&&t&&this.items.push(new r.Pair(e))}toJSON(e,t){return super.toJSON(e,t,Set)}toString(e,t,n){if(!e)return JSON.stringify(this);if(this.hasAllNullValues(!0))return super.toString(Object.assign({},e,{allNullValues:!0}),t,n);throw Error("Set items must all have null values")}static from(e,t,n){let{replacer:o}=n,i=new this(e);if(t&&Symbol.iterator in Object(t))for(let e of t)"function"==typeof o&&(e=o.call(t,e,e)),i.items.push(r.createPair(e,null,n));return i}}a.tag="tag:yaml.org,2002:set",n.YAMLSet=a,n.set={collection:"map",identify:e=>e instanceof Set,nodeClass:a,default:!1,tag:"tag:yaml.org,2002:set",createNode:(e,t,n)=>a.from(e,t,n),resolve(e,t){if(o.isMap(e))if(e.hasAllNullValues(!0))return Object.assign(new a,e);else t("Set items must all have null values");else t("Expected a mapping for this tag");return e}}},37637,(e,t,n)=>{"use strict";var o=e.r(351238);function r(e,t){let n=e[0],o="-"===n||"+"===n?e.substring(1):e,r=e=>t?BigInt(e):Number(e),i=o.replace(/_/g,"").split(":").reduce((e,t)=>e*r(60)+r(t),r(0));return"-"===n?r(-1)*i:i}function i(e){let{value:t}=e,n=e=>e;if("bigint"==typeof t)n=e=>BigInt(e);else if(isNaN(t)||!isFinite(t))return o.stringifyNumber(e);let r="";t<0&&(r="-",t*=n(-1));let i=n(60),a=[t%i];return t<60?a.unshift(0):(t=(t-a[0])/i,a.unshift(t%i),t>=60&&(t=(t-a[0])/i,a.unshift(t))),r+a.map(e=>String(e).padStart(2,"0")).join(":").replace(/000000\d*$/,"")}let a={identify:e=>e instanceof Date,default:!0,tag:"tag:yaml.org,2002:timestamp",test:RegExp("^([0-9]{4})-([0-9]{1,2})-([0-9]{1,2})(?:(?:t|T|[ \\t]+)([0-9]{1,2}):([0-9]{1,2}):([0-9]{1,2}(\\.[0-9]+)?)(?:[ \\t]*(Z|[-+][012]?[0-9](?::[0-9]{2})?))?)?$"),resolve(e){let t=e.match(a.test);if(!t)throw Error("!!timestamp expects a date, starting with yyyy-mm-dd");let[,n,o,i,s,l,u]=t.map(Number),c=Date.UTC(n,o-1,i,s||0,l||0,u||0,t[7]?Number((t[7]+"00").substr(1,3)):0),d=t[8];if(d&&"Z"!==d){let e=r(d,!1);30>Math.abs(e)&&(e*=60),c-=6e4*e}return new Date(c)},stringify:({value:e})=>e?.toISOString().replace(/(T00:00:00)?\.000Z$/,"")??""};n.floatTime={identify:e=>"number"==typeof e,default:!0,tag:"tag:yaml.org,2002:float",format:"TIME",test:/^[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+\.[0-9_]*$/,resolve:e=>r(e,!1),stringify:i},n.intTime={identify:e=>"bigint"==typeof e||Number.isInteger(e),default:!0,tag:"tag:yaml.org,2002:int",format:"TIME",test:/^[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+$/,resolve:(e,t,{intAsBigInt:n})=>r(e,n),stringify:i},n.timestamp=a},990419,(e,t,n)=>{"use strict";var o=e.r(250139),r=e.r(7934),i=e.r(877013),a=e.r(952254),s=e.r(259163),l=e.r(605140),u=e.r(209888),c=e.r(542427),d=e.r(109077),p=e.r(770090),h=e.r(122087),m=e.r(884186),g=e.r(37637);n.schema=[o.map,i.seq,a.string,r.nullTag,l.trueTag,l.falseTag,c.intBin,c.intOct,c.int,c.intHex,u.floatNaN,u.floatExp,u.float,s.binary,d.merge,p.omap,h.pairs,m.set,g.intTime,g.floatTime,g.timestamp]},726264,(e,t,n)=>{"use strict";var o=e.r(250139),r=e.r(7934),i=e.r(877013),a=e.r(952254),s=e.r(361903),l=e.r(746340),u=e.r(840488),c=e.r(862550),d=e.r(812690),p=e.r(259163),h=e.r(109077),m=e.r(770090),g=e.r(122087),f=e.r(990419),y=e.r(884186),b=e.r(37637);let _=new Map([["core",c.schema],["failsafe",[o.map,i.seq,a.string]],["json",d.schema],["yaml11",f.schema],["yaml-1.1",f.schema]]),w={binary:p.binary,bool:s.boolTag,float:l.float,floatExp:l.floatExp,floatNaN:l.floatNaN,floatTime:b.floatTime,int:u.int,intHex:u.intHex,intOct:u.intOct,intTime:b.intTime,map:o.map,merge:h.merge,null:r.nullTag,omap:m.omap,pairs:g.pairs,seq:i.seq,set:y.set,timestamp:b.timestamp};n.coreKnownTags={"tag:yaml.org,2002:binary":p.binary,"tag:yaml.org,2002:merge":h.merge,"tag:yaml.org,2002:omap":m.omap,"tag:yaml.org,2002:pairs":g.pairs,"tag:yaml.org,2002:set":y.set,"tag:yaml.org,2002:timestamp":b.timestamp},n.getTags=function(e,t,n){let o=_.get(t);if(o&&!e)return n&&!o.includes(h.merge)?o.concat(h.merge):o.slice();let r=o;if(!r)if(Array.isArray(e))r=[];else{let e=Array.from(_.keys()).filter(e=>"yaml11"!==e).map(e=>JSON.stringify(e)).join(", ");throw Error(`Unknown schema "${t}"; use one of ${e} or define customTags array`)}if(Array.isArray(e))for(let t of e)r=r.concat(t);else"function"==typeof e&&(r=e(r.slice()));return n&&(r=r.concat(h.merge)),r.reduce((e,t)=>{let n="string"==typeof t?w[t]:t;if(!n){let e=JSON.stringify(t),n=Object.keys(w).map(e=>JSON.stringify(e)).join(", ");throw Error(`Unknown custom tag ${e}; use one of ${n}`)}return e.includes(n)||e.push(n),e},[])}},891485,(e,t,n)=>{"use strict";var o=e.r(767080),r=e.r(250139),i=e.r(877013),a=e.r(952254),s=e.r(726264);let l=(e,t)=>e.key<t.key?-1:+(e.key>t.key);n.Schema=class e{constructor({compat:e,customTags:t,merge:n,resolveKnownTags:u,schema:c,sortMapEntries:d,toStringDefaults:p}){this.compat=Array.isArray(e)?s.getTags(e,"compat"):e?s.getTags(null,e):null,this.name="string"==typeof c&&c||"core",this.knownTags=u?s.coreKnownTags:{},this.tags=s.getTags(t,this.name,n),this.toStringOptions=p??null,Object.defineProperty(this,o.MAP,{value:r.map}),Object.defineProperty(this,o.SCALAR,{value:a.string}),Object.defineProperty(this,o.SEQ,{value:i.seq}),this.sortMapEntries="function"==typeof d?d:!0===d?l:null}clone(){let t=Object.create(e.prototype,Object.getOwnPropertyDescriptors(this));return t.tags=this.tags.slice(),t}}},114405,(e,t,n)=>{"use strict";var o=e.r(767080),r=e.r(403827),i=e.r(837668);n.stringifyDocument=function(e,t){let n=[],a=!0===t.directives;if(!1!==t.directives&&e.directives){let t=e.directives.toString(e);t?(n.push(t),a=!0):e.directives.docStart&&(a=!0)}a&&n.push("---");let s=r.createStringifyContext(e,t),{commentString:l}=s.options;if(e.commentBefore){1!==n.length&&n.unshift("");let t=l(e.commentBefore);n.unshift(i.indentComment(t,""))}let u=!1,c=null;if(e.contents){if(o.isNode(e.contents)){if(e.contents.spaceBefore&&a&&n.push(""),e.contents.commentBefore){let t=l(e.contents.commentBefore);n.push(i.indentComment(t,""))}s.forceBlockIndent=!!e.comment,c=e.contents.comment}let t=c?void 0:()=>u=!0,d=r.stringify(e.contents,s,()=>c=null,t);c&&(d+=i.lineComment(d,"",l(c))),("|"===d[0]||">"===d[0])&&"---"===n[n.length-1]?n[n.length-1]=`--- ${d}`:n.push(d)}else n.push(r.stringify(e.contents,s));if(e.directives?.docEnd)if(e.comment){let t=l(e.comment);t.includes("\n")?(n.push("..."),n.push(i.indentComment(t,""))):n.push(`... ${t}`)}else n.push("...");else{let t=e.comment;t&&u&&(t=t.replace(/^\n+/,"")),t&&((!u||c)&&""!==n[n.length-1]&&n.push(""),n.push(i.indentComment(l(t),"")))}return n.join("\n")+"\n"}},722871,(e,t,n)=>{"use strict";var o=e.r(917429),r=e.r(714221),i=e.r(767080),a=e.r(812735),s=e.r(344972),l=e.r(891485),u=e.r(114405),c=e.r(375506),d=e.r(670087),p=e.r(333321),h=e.r(954907);function m(e){if(i.isCollection(e))return!0;throw Error("Expected a YAML collection as document contents")}n.Document=class e{constructor(e,t,n){this.commentBefore=null,this.comment=null,this.errors=[],this.warnings=[],Object.defineProperty(this,i.NODE_TYPE,{value:i.DOC});let o=null;"function"==typeof t||Array.isArray(t)?o=t:void 0===n&&t&&(n=t,t=void 0);const r=Object.assign({intAsBigInt:!1,keepSourceTokens:!1,logLevel:"warn",prettyErrors:!0,strict:!0,stringKeys:!1,uniqueKeys:!0,version:"1.2"},n);this.options=r;let{version:a}=r;n?._directives?(this.directives=n._directives.atDocument(),this.directives.yaml.explicit&&(a=this.directives.yaml.version)):this.directives=new h.Directives({version:a}),this.setSchema(a,n),this.contents=void 0===e?null:this.createNode(e,o,n)}clone(){let t=Object.create(e.prototype,{[i.NODE_TYPE]:{value:i.DOC}});return t.commentBefore=this.commentBefore,t.comment=this.comment,t.errors=this.errors.slice(),t.warnings=this.warnings.slice(),t.options=Object.assign({},this.options),this.directives&&(t.directives=this.directives.clone()),t.schema=this.schema.clone(),t.contents=i.isNode(this.contents)?this.contents.clone(t.schema):this.contents,this.range&&(t.range=this.range.slice()),t}add(e){m(this.contents)&&this.contents.add(e)}addIn(e,t){m(this.contents)&&this.contents.addIn(e,t)}createAlias(e,t){if(!e.anchor){let n=c.anchorNames(this);e.anchor=!t||n.has(t)?c.findNewAnchor(t||"a",n):t}return new o.Alias(e.anchor)}createNode(e,t,n){let o;if("function"==typeof t)e=t.call({"":e},"",e),o=t;else if(Array.isArray(t)){let e=t.filter(e=>"number"==typeof e||e instanceof String||e instanceof Number).map(String);e.length>0&&(t=t.concat(e)),o=t}else void 0===n&&t&&(n=t,t=void 0);let{aliasDuplicateObjects:r,anchorPrefix:a,flow:s,keepUndefined:l,onTagObj:u,tag:d}=n??{},{onAnchor:h,setAnchors:m,sourceObjects:g}=c.createNodeAnchors(this,a||"a"),f={aliasDuplicateObjects:r??!0,keepUndefined:l??!1,onAnchor:h,onTagObj:u,replacer:o,schema:this.schema,sourceObjects:g},y=p.createNode(e,d,f);return s&&i.isCollection(y)&&(y.flow=!0),m(),y}createPair(e,t,n={}){let o=this.createNode(e,null,n),r=this.createNode(t,null,n);return new a.Pair(o,r)}delete(e){return!!m(this.contents)&&this.contents.delete(e)}deleteIn(e){return r.isEmptyPath(e)?null!=this.contents&&(this.contents=null,!0):!!m(this.contents)&&this.contents.deleteIn(e)}get(e,t){return i.isCollection(this.contents)?this.contents.get(e,t):void 0}getIn(e,t){return r.isEmptyPath(e)?!t&&i.isScalar(this.contents)?this.contents.value:this.contents:i.isCollection(this.contents)?this.contents.getIn(e,t):void 0}has(e){return!!i.isCollection(this.contents)&&this.contents.has(e)}hasIn(e){return r.isEmptyPath(e)?void 0!==this.contents:!!i.isCollection(this.contents)&&this.contents.hasIn(e)}set(e,t){null==this.contents?this.contents=r.collectionFromPath(this.schema,[e],t):m(this.contents)&&this.contents.set(e,t)}setIn(e,t){r.isEmptyPath(e)?this.contents=t:null==this.contents?this.contents=r.collectionFromPath(this.schema,Array.from(e),t):m(this.contents)&&this.contents.setIn(e,t)}setSchema(e,t={}){let n;switch("number"==typeof e&&(e=String(e)),e){case"1.1":this.directives?this.directives.yaml.version="1.1":this.directives=new h.Directives({version:"1.1"}),n={resolveKnownTags:!1,schema:"yaml-1.1"};break;case"1.2":case"next":this.directives?this.directives.yaml.version=e:this.directives=new h.Directives({version:e}),n={resolveKnownTags:!0,schema:"core"};break;case null:this.directives&&delete this.directives,n=null;break;default:{let t=JSON.stringify(e);throw Error(`Expected '1.1', '1.2' or null as first argument, but found: ${t}`)}}if(t.schema instanceof Object)this.schema=t.schema;else if(n)this.schema=new l.Schema(Object.assign(n,t));else throw Error("With a null YAML version, the { schema: Schema } option is required")}toJS({json:e,jsonArg:t,mapAsMap:n,maxAliasCount:o,onAnchor:r,reviver:i}={}){let a={anchors:new Map,doc:this,keep:!e,mapAsMap:!0===n,mapKeyWarned:!1,maxAliasCount:"number"==typeof o?o:100},l=s.toJS(this.contents,t??"",a);if("function"==typeof r)for(let{count:e,res:t}of a.anchors.values())r(t,e);return"function"==typeof i?d.applyReviver(i,{"":l},"",l):l}toJSON(e,t){return this.toJS({json:!0,jsonArg:e,mapAsMap:!1,onAnchor:t})}toString(e={}){if(this.errors.length>0)throw Error("Document with errors cannot be stringified");if("indent"in e&&(!Number.isInteger(e.indent)||0>=Number(e.indent))){let t=JSON.stringify(e.indent);throw Error(`"indent" option must be a positive integer, not ${t}`)}return u.stringifyDocument(this,e)}}},809070,(e,t,n)=>{"use strict";class o extends Error{constructor(e,t,n,o){super(),this.name=e,this.code=n,this.message=o,this.pos=t}}n.YAMLError=o,n.YAMLParseError=class extends o{constructor(e,t,n){super("YAMLParseError",e,t,n)}},n.YAMLWarning=class extends o{constructor(e,t,n){super("YAMLWarning",e,t,n)}},n.prettifyError=(e,t)=>n=>{if(-1===n.pos[0])return;n.linePos=n.pos.map(e=>t.linePos(e));let{line:o,col:r}=n.linePos[0];n.message+=` at line ${o}, column ${r}`;let i=r-1,a=e.substring(t.lineStarts[o-1],t.lineStarts[o]).replace(/[\n\r]+$/,"");if(i>=60&&a.length>80){let e=Math.min(i-39,a.length-79);a="…"+a.substring(e),i-=e-1}if(a.length>80&&(a=a.substring(0,79)+"…"),o>1&&/^ *$/.test(a.substring(0,i))){let n=e.substring(t.lineStarts[o-2],t.lineStarts[o-1]);n.length>80&&(n=n.substring(0,79)+"…\n"),a=n+a}if(/[^ ]/.test(a)){let e=1,t=n.linePos[1];t?.line===o&&t.col>r&&(e=Math.max(1,Math.min(t.col-r,80-i)));let s=" ".repeat(i)+"^".repeat(e);n.message+=`:
|
|
222
222
|
|
|
223
223
|
${a}
|
|
224
224
|
${s}
|
|
225
|
-
`}}},583709,(e,t,n)=>{"use strict";n.resolveProps=function(e,{flow:t,indicator:n,next:o,offset:r,onError:i,parentIndent:a,startOnNewline:s}){let l=!1,u=s,c=s,d="",p="",h=!1,m=!1,g=null,f=null,y=null,b=null,_=null,z=null,w=null;for(let r of e)switch(m&&("space"!==r.type&&"newline"!==r.type&&"comma"!==r.type&&i(r.offset,"MISSING_CHAR","Tags and anchors must be separated from the next token by white space"),m=!1),g&&(u&&"comment"!==r.type&&"newline"!==r.type&&i(g,"TAB_AS_INDENT","Tabs are not allowed as indentation"),g=null),r.type){case"space":!t&&("doc-start"!==n||o?.type!=="flow-collection")&&r.source.includes(" ")&&(g=r),c=!0;break;case"comment":{c||i(r,"MISSING_CHAR","Comments must be separated from other tokens by white space characters");let e=r.source.substring(1)||" ";d?d+=p+e:d=e,p="",u=!1;break}case"newline":u?d?d+=r.source:z&&"seq-item-ind"===n||(l=!0):p+=r.source,u=!0,h=!0,(f||y)&&(b=r),c=!0;break;case"anchor":f&&i(r,"MULTIPLE_ANCHORS","A node can have at most one anchor"),r.source.endsWith(":")&&i(r.offset+r.source.length-1,"BAD_ALIAS","Anchor ending in : is ambiguous",!0),f=r,w??(w=r.offset),u=!1,c=!1,m=!0;break;case"tag":y&&i(r,"MULTIPLE_TAGS","A node can have at most one tag"),y=r,w??(w=r.offset),u=!1,c=!1,m=!0;break;case n:(f||y)&&i(r,"BAD_PROP_ORDER",`Anchors and tags must be after the ${r.source} indicator`),z&&i(r,"UNEXPECTED_TOKEN",`Unexpected ${r.source} in ${t??"collection"}`),z=r,u="seq-item-ind"===n||"explicit-key-ind"===n,c=!1;break;case"comma":if(t){_&&i(r,"UNEXPECTED_TOKEN",`Unexpected , in ${t}`),_=r,u=!1,c=!1;break}default:i(r,"UNEXPECTED_TOKEN",`Unexpected ${r.type} token`),u=!1,c=!1}let v=e[e.length-1],k=v?v.offset+v.source.length:r;return m&&o&&"space"!==o.type&&"newline"!==o.type&&"comma"!==o.type&&("scalar"!==o.type||""!==o.source)&&i(o.offset,"MISSING_CHAR","Tags and anchors must be separated from the next token by white space"),g&&(u&&g.indent<=a||o?.type==="block-map"||o?.type==="block-seq")&&i(g,"TAB_AS_INDENT","Tabs are not allowed as indentation"),{comma:_,found:z,spaceBefore:l,comment:d,hasNewline:h,anchor:f,tag:y,newlineAfterProp:b,end:k,start:w??k}}},852996,(e,t,n)=>{"use strict";n.containsNewline=function e(t){if(!t)return null;switch(t.type){case"alias":case"scalar":case"double-quoted-scalar":case"single-quoted-scalar":if(t.source.includes("\n"))return!0;if(t.end){for(let e of t.end)if("newline"===e.type)return!0}return!1;case"flow-collection":for(let n of t.items){for(let e of n.start)if("newline"===e.type)return!0;if(n.sep){for(let e of n.sep)if("newline"===e.type)return!0}if(e(n.key)||e(n.value))return!0}return!1;default:return!0}}},887634,(e,t,n)=>{"use strict";var o=e.r(852996);n.flowIndentCheck=function(e,t,n){if(t?.type==="flow-collection"){let r=t.end[0];r.indent===e&&("]"===r.source||"}"===r.source)&&o.containsNewline(t)&&n(r,"BAD_INDENT","Flow end indicator should be more indented than parent",!0)}}},600539,(e,t,n)=>{"use strict";var o=e.r(767080);n.mapIncludes=function(e,t,n){let{uniqueKeys:r}=e.options;if(!1===r)return!1;let i="function"==typeof r?r:(e,t)=>e===t||o.isScalar(e)&&o.isScalar(t)&&e.value===t.value;return t.some(e=>i(e.key,n))}},29810,(e,t,n)=>{"use strict";var o=e.r(812735),r=e.r(976970),i=e.r(583709),a=e.r(852996),s=e.r(887634),l=e.r(600539);let u="All mapping items must start at the same column";n.resolveBlockMap=function({composeNode:e,composeEmptyNode:t},n,c,d,p){let h=new(p?.nodeClass??r.YAMLMap)(n.schema);n.atRoot&&(n.atRoot=!1);let m=c.offset,g=null;for(let r of c.items){let{start:p,key:f,sep:y,value:b}=r,_=i.resolveProps(p,{indicator:"explicit-key-ind",next:f??y?.[0],offset:m,onError:d,parentIndent:c.indent,startOnNewline:!0}),z=!_.found;if(z){if(f&&("block-seq"===f.type?d(m,"BLOCK_AS_IMPLICIT_KEY","A block sequence may not be used as an implicit map key"):"indent"in f&&f.indent!==c.indent&&d(m,"BAD_INDENT",u)),!_.anchor&&!_.tag&&!y){g=_.end,_.comment&&(h.comment?h.comment+="\n"+_.comment:h.comment=_.comment);continue}(_.newlineAfterProp||a.containsNewline(f))&&d(f??p[p.length-1],"MULTILINE_IMPLICIT_KEY","Implicit keys need to be on a single line")}else _.found?.indent!==c.indent&&d(m,"BAD_INDENT",u);n.atKey=!0;let w=_.end,v=f?e(n,f,_,d):t(n,w,p,null,_,d);n.schema.compat&&s.flowIndentCheck(c.indent,f,d),n.atKey=!1,l.mapIncludes(n,h.items,v)&&d(w,"DUPLICATE_KEY","Map keys must be unique");let k=i.resolveProps(y??[],{indicator:"map-value-ind",next:b,offset:v.range[2],onError:d,parentIndent:c.indent,startOnNewline:!f||"block-scalar"===f.type});if(m=k.end,k.found){z&&(b?.type!=="block-map"||k.hasNewline||d(m,"BLOCK_AS_IMPLICIT_KEY","Nested mappings are not allowed in compact mappings"),n.options.strict&&_.start<k.found.offset-1024&&d(v.range,"KEY_OVER_1024_CHARS","The : indicator must be at most 1024 chars after the start of an implicit block mapping key"));let i=b?e(n,b,k,d):t(n,m,y,null,k,d);n.schema.compat&&s.flowIndentCheck(c.indent,b,d),m=i.range[2];let a=new o.Pair(v,i);n.options.keepSourceTokens&&(a.srcToken=r),h.items.push(a)}else{z&&d(v.range,"MISSING_CHAR","Implicit map keys need to be followed by map values"),k.comment&&(v.comment?v.comment+="\n"+k.comment:v.comment=k.comment);let e=new o.Pair(v);n.options.keepSourceTokens&&(e.srcToken=r),h.items.push(e)}}return g&&g<m&&d(g,"IMPOSSIBLE","Map comment with trailing content"),h.range=[c.offset,m,g??m],h}},403912,(e,t,n)=>{"use strict";var o=e.r(379482),r=e.r(583709),i=e.r(887634);n.resolveBlockSeq=function({composeNode:e,composeEmptyNode:t},n,a,s,l){let u=new(l?.nodeClass??o.YAMLSeq)(n.schema);n.atRoot&&(n.atRoot=!1),n.atKey&&(n.atKey=!1);let c=a.offset,d=null;for(let{start:o,value:l}of a.items){let p=r.resolveProps(o,{indicator:"seq-item-ind",next:l,offset:c,onError:s,parentIndent:a.indent,startOnNewline:!0});if(!p.found)if(p.anchor||p.tag||l)l?.type==="block-seq"?s(p.end,"BAD_INDENT","All sequence items must start at the same column"):s(c,"MISSING_CHAR","Sequence item without - indicator");else{d=p.end,p.comment&&(u.comment=p.comment);continue}let h=l?e(n,l,p,s):t(n,p.end,o,null,p,s);n.schema.compat&&i.flowIndentCheck(a.indent,l,s),c=h.range[2],u.items.push(h)}return u.range=[a.offset,c,d??c],u}},570095,(e,t,n)=>{"use strict";n.resolveEnd=function(e,t,n,o){let r="";if(e){let i=!1,a="";for(let s of e){let{source:e,type:l}=s;switch(l){case"space":i=!0;break;case"comment":{n&&!i&&o(s,"MISSING_CHAR","Comments must be separated from other tokens by white space characters");let t=e.substring(1)||" ";r?r+=a+t:r=t,a="";break}case"newline":r&&(a+=e),i=!0;break;default:o(s,"UNEXPECTED_TOKEN",`Unexpected ${l} at node end`)}t+=e.length}}return{comment:r,offset:t}}},949812,(e,t,n)=>{"use strict";var o=e.r(767080),r=e.r(812735),i=e.r(976970),a=e.r(379482),s=e.r(570095),l=e.r(583709),u=e.r(852996),c=e.r(600539);let d="Block collections are not allowed within flow collections",p=e=>e&&("block-map"===e.type||"block-seq"===e.type);n.resolveFlowCollection=function({composeNode:e,composeEmptyNode:t},n,h,m,g){let f="{"===h.start.source,y=f?"flow map":"flow sequence",b=new(g?.nodeClass??(f?i.YAMLMap:a.YAMLSeq))(n.schema);b.flow=!0;let _=n.atRoot;_&&(n.atRoot=!1),n.atKey&&(n.atKey=!1);let z=h.offset+h.start.source.length;for(let a=0;a<h.items.length;++a){let s=h.items[a],{start:g,key:_,sep:w,value:v}=s,k=l.resolveProps(g,{flow:y,indicator:"explicit-key-ind",next:_??w?.[0],offset:z,onError:m,parentIndent:h.indent,startOnNewline:!1});if(!k.found){if(!k.anchor&&!k.tag&&!w&&!v){0===a&&k.comma?m(k.comma,"UNEXPECTED_TOKEN",`Unexpected , in ${y}`):a<h.items.length-1&&m(k.start,"UNEXPECTED_TOKEN",`Unexpected empty item in ${y}`),k.comment&&(b.comment?b.comment+="\n"+k.comment:b.comment=k.comment),z=k.end;continue}!f&&n.options.strict&&u.containsNewline(_)&&m(_,"MULTILINE_IMPLICIT_KEY","Implicit keys of flow sequence pairs need to be on a single line")}if(0===a)k.comma&&m(k.comma,"UNEXPECTED_TOKEN",`Unexpected , in ${y}`);else if(k.comma||m(k.start,"MISSING_CHAR",`Missing , between ${y} items`),k.comment){let e="";t:for(let t of g)switch(t.type){case"comma":case"space":break;case"comment":e=t.source.substring(1);break t;default:break t}if(e){let t=b.items[b.items.length-1];o.isPair(t)&&(t=t.value??t.key),t.comment?t.comment+="\n"+e:t.comment=e,k.comment=k.comment.substring(e.length+1)}}if(f||w||k.found){n.atKey=!0;let o=k.end,a=_?e(n,_,k,m):t(n,o,g,null,k,m);p(_)&&m(a.range,"BLOCK_IN_FLOW",d),n.atKey=!1;let u=l.resolveProps(w??[],{flow:y,indicator:"map-value-ind",next:v,offset:a.range[2],onError:m,parentIndent:h.indent,startOnNewline:!1});if(u.found){if(!f&&!k.found&&n.options.strict){if(w)for(let e of w){if(e===u.found)break;if("newline"===e.type){m(e,"MULTILINE_IMPLICIT_KEY","Implicit keys of flow sequence pairs need to be on a single line");break}}k.start<u.found.offset-1024&&m(u.found,"KEY_OVER_1024_CHARS","The : indicator must be at most 1024 chars after the start of an implicit flow sequence key")}}else v&&("source"in v&&v.source?.[0]===":"?m(v,"MISSING_CHAR",`Missing space after : in ${y}`):m(u.start,"MISSING_CHAR",`Missing , or : between ${y} items`));let x=v?e(n,v,u,m):u.found?t(n,u.end,w,null,u,m):null;x?p(v)&&m(x.range,"BLOCK_IN_FLOW",d):u.comment&&(a.comment?a.comment+="\n"+u.comment:a.comment=u.comment);let S=new r.Pair(a,x);if(n.options.keepSourceTokens&&(S.srcToken=s),f)c.mapIncludes(n,b.items,a)&&m(o,"DUPLICATE_KEY","Map keys must be unique"),b.items.push(S);else{let e=new i.YAMLMap(n.schema);e.flow=!0,e.items.push(S);let t=(x??a).range;e.range=[a.range[0],t[1],t[2]],b.items.push(e)}z=x?x.range[2]:u.end}else{let o=v?e(n,v,k,m):t(n,k.end,w,null,k,m);b.items.push(o),z=o.range[2],p(v)&&m(o.range,"BLOCK_IN_FLOW",d)}}let w=f?"}":"]",[v,...k]=h.end,x=z;if(v?.source===w)x=v.offset+v.source.length;else{let e=y[0].toUpperCase()+y.substring(1),t=_?`${e} must end with a ${w}`:`${e} in block collection must be sufficiently indented and end with a ${w}`;m(z,_?"MISSING_CHAR":"BAD_INDENT",t),v&&1!==v.source.length&&k.unshift(v)}if(k.length>0){let e=s.resolveEnd(k,x,n.options.strict,m);e.comment&&(b.comment?b.comment+="\n"+e.comment:b.comment=e.comment),b.range=[h.offset,x,e.offset]}else b.range=[h.offset,x,x];return b}},555457,(e,t,n)=>{"use strict";var o=e.r(767080),r=e.r(826090),i=e.r(976970),a=e.r(379482),s=e.r(29810),l=e.r(403912),u=e.r(949812);function c(e,t,n,o,r,i){let a="block-map"===n.type?s.resolveBlockMap(e,t,n,o,i):"block-seq"===n.type?l.resolveBlockSeq(e,t,n,o,i):u.resolveFlowCollection(e,t,n,o,i),c=a.constructor;return"!"===r||r===c.tagName?a.tag=c.tagName:r&&(a.tag=r),a}n.composeCollection=function(e,t,n,s,l){let u=s.tag,d=u?t.directives.tagName(u.source,e=>l(u,"TAG_RESOLVE_FAILED",e)):null;if("block-seq"===n.type){let{anchor:e,newlineAfterProp:t}=s,n=e&&u?e.offset>u.offset?e:u:e??u;n&&(!t||t.offset<n.offset)&&l(n,"MISSING_CHAR","Missing newline after block sequence props")}let p="block-map"===n.type?"map":"block-seq"===n.type?"seq":"{"===n.start.source?"map":"seq";if(!u||!d||"!"===d||d===i.YAMLMap.tagName&&"map"===p||d===a.YAMLSeq.tagName&&"seq"===p)return c(e,t,n,l,d);let h=t.schema.tags.find(e=>e.tag===d&&e.collection===p);if(!h){let o=t.schema.knownTags[d];if(o?.collection!==p)return o?l(u,"BAD_COLLECTION_TYPE",`${o.tag} used for ${p} collection, but expects ${o.collection??"scalar"}`,!0):l(u,"TAG_RESOLVE_FAILED",`Unresolved tag: ${d}`,!0),c(e,t,n,l,d);t.schema.tags.push(Object.assign({},o,{default:!1})),h=o}let m=c(e,t,n,l,d,h),g=h.resolve?.(m,e=>l(u,"TAG_RESOLVE_FAILED",e),t.options)??m,f=o.isNode(g)?g:new r.Scalar(g);return f.range=m.range,f.tag=d,h?.format&&(f.format=h.format),f}},776306,(e,t,n)=>{"use strict";var o=e.r(826090);n.resolveBlockScalar=function(e,t,n){let r=t.offset,i=function({offset:e,props:t},n,o){if("block-scalar-header"!==t[0].type)return o(t[0],"IMPOSSIBLE","Block scalar header not found"),null;let{source:r}=t[0],i=r[0],a=0,s="",l=-1;for(let t=1;t<r.length;++t){let n=r[t];if(s||"-"!==n&&"+"!==n){let o=Number(n);!a&&o?a=o:-1===l&&(l=e+t)}else s=n}-1!==l&&o(l,"UNEXPECTED_TOKEN",`Block scalar header includes extra characters: ${r}`);let u=!1,c="",d=r.length;for(let e=1;e<t.length;++e){let r=t[e];switch(r.type){case"space":u=!0;case"newline":d+=r.source.length;break;case"comment":n&&!u&&o(r,"MISSING_CHAR","Comments must be separated from other tokens by white space characters"),d+=r.source.length,c=r.source.substring(1);break;case"error":o(r,"UNEXPECTED_TOKEN",r.message),d+=r.source.length;break;default:{let e=`Unexpected token in block scalar header: ${r.type}`;o(r,"UNEXPECTED_TOKEN",e);let t=r.source;t&&"string"==typeof t&&(d+=t.length)}}}return{mode:i,indent:a,chomp:s,comment:c,length:d}}(t,e.options.strict,n);if(!i)return{value:"",type:null,comment:"",range:[r,r,r]};let a=">"===i.mode?o.Scalar.BLOCK_FOLDED:o.Scalar.BLOCK_LITERAL,s=t.source?function(e){let t=e.split(/\n( *)/),n=t[0],o=n.match(/^( *)/),r=[o?.[1]?[o[1],n.slice(o[1].length)]:["",n]];for(let e=1;e<t.length;e+=2)r.push([t[e],t[e+1]]);return r}(t.source):[],l=s.length;for(let e=s.length-1;e>=0;--e){let t=s[e][1];if(""===t||"\r"===t)l=e;else break}if(0===l){let e="+"===i.chomp&&s.length>0?"\n".repeat(Math.max(1,s.length-1)):"",n=r+i.length;return t.source&&(n+=t.source.length),{value:e,type:a,comment:i.comment,range:[r,n,n]}}let u=t.indent+i.indent,c=t.offset+i.length,d=0;for(let t=0;t<l;++t){let[o,r]=s[t];if(""===r||"\r"===r)0===i.indent&&o.length>u&&(u=o.length);else{o.length<u&&n(c+o.length,"MISSING_CHAR","Block scalars with more-indented leading empty lines must use an explicit indentation indicator"),0===i.indent&&(u=o.length),d=t,0!==u||e.atRoot||n(c,"BAD_INDENT","Block scalar values in collections must be indented");break}c+=o.length+r.length+1}for(let e=s.length-1;e>=l;--e)s[e][0].length>u&&(l=e+1);let p="",h="",m=!1;for(let e=0;e<d;++e)p+=s[e][0].slice(u)+"\n";for(let e=d;e<l;++e){let[t,r]=s[e];c+=t.length+r.length+1;let l="\r"===r[r.length-1];if(l&&(r=r.slice(0,-1)),r&&t.length<u){let e=i.indent?"explicit indentation indicator":"first line",o=`Block scalar lines must not be less indented than their ${e}`;n(c-r.length-(l?2:1),"BAD_INDENT",o),t=""}a===o.Scalar.BLOCK_LITERAL?(p+=h+t.slice(u)+r,h="\n"):t.length>u||" "===r[0]?(" "===h?h="\n":m||"\n"!==h||(h="\n\n"),p+=h+t.slice(u)+r,h="\n",m=!0):""===r?"\n"===h?p+="\n":h="\n":(p+=h+r,h=" ",m=!1)}switch(i.chomp){case"-":break;case"+":for(let e=l;e<s.length;++e)p+="\n"+s[e][0].slice(u);"\n"!==p[p.length-1]&&(p+="\n");break;default:p+="\n"}let g=r+i.length+t.source.length;return{value:p,type:a,comment:i.comment,range:[r,g,g]}}},194920,(e,t,n)=>{"use strict";var o=e.r(826090),r=e.r(570095);function i(e){let t,n,o=/(.*?)\r?\n/sy,r=o.exec(e);if(!r)return e;try{t=RegExp("(?<![ ])[ ]+$"),n=RegExp("^[ ]+|(?<![ ])[ ]+$","g")}catch{t=/[ \t]+$/,n=/^[ \t]+|[ \t]+$/g}let i=r[1].replace(t,""),a=" ",s=o.lastIndex;for(;r=o.exec(e);){let e=r[1].replace(n,"");""===e?"\n"===a?i+=a:a="\n":(i+=a+e,a=" "),s=o.lastIndex}let l=/[ \t]*(.*)/sy;return l.lastIndex=s,r=l.exec(e),i+a+(r?.[1]??"")}let a={0:"\0",a:"\x07",b:"\b",e:"\x1b",f:"\f",n:"\n",r:"\r",t:" ",v:"\v",N:"
",_:" ",L:"\u2028",P:"\u2029"," ":" ",'"':'"',"/":"/","\\":"\\"," ":" "};n.resolveFlowScalar=function(e,t,n){let s,l,{offset:u,type:c,source:d,end:p}=e,h=(e,t,o)=>n(u+e,t,o);switch(c){case"scalar":s=o.Scalar.PLAIN,l=function(e,t){let n="";switch(e[0]){case" ":n="a tab character";break;case",":n="flow indicator character ,";break;case"%":n="directive indicator character %";break;case"|":case">":n=`block scalar indicator ${e[0]}`;break;case"@":case"`":n=`reserved character ${e[0]}`}return n&&t(0,"BAD_SCALAR_START",`Plain value cannot start with ${n}`),i(e)}(d,h);break;case"single-quoted-scalar":var m,g;s=o.Scalar.QUOTE_SINGLE,m=d,g=h,("'"!==m[m.length-1]||1===m.length)&&g(m.length,"MISSING_CHAR","Missing closing 'quote"),l=i(m.slice(1,-1)).replace(/''/g,"'");break;case"double-quoted-scalar":s=o.Scalar.QUOTE_DOUBLE,l=function(e,t){let n="";for(let o=1;o<e.length-1;++o){let r=e[o];if("\r"!==r||"\n"!==e[o+1])if("\n"===r){let{fold:t,offset:r}=function(e,t){let n="",o=e[t+1];for(;(" "===o||" "===o||"\n"===o||"\r"===o)&&("\r"!==o||"\n"===e[t+2]);)"\n"===o&&(n+="\n"),t+=1,o=e[t+1];return n||(n=" "),{fold:n,offset:t}}(e,o);n+=t,o=r}else if("\\"===r){let r=e[++o],i=a[r];if(i)n+=i;else if("\n"===r)for(r=e[o+1];" "===r||" "===r;)r=e[++o+1];else if("\r"===r&&"\n"===e[o+1])for(r=e[++o+1];" "===r||" "===r;)r=e[++o+1];else if("x"===r||"u"===r||"U"===r){let i="x"===r?2:"u"===r?4:8;n+=function(e,t,n,o){let r=e.substr(t,n),i=r.length===n&&/^[0-9a-fA-F]+$/.test(r)?parseInt(r,16):NaN;try{return String.fromCodePoint(i)}catch{let r=e.substr(t-2,n+2);return o(t-2,"BAD_DQ_ESCAPE",`Invalid escape sequence ${r}`),r}}(e,o+1,i,t),o+=i}else{let r=e.substr(o-1,2);t(o-1,"BAD_DQ_ESCAPE",`Invalid escape sequence ${r}`),n+=r}}else if(" "===r||" "===r){let t=o,i=e[o+1];for(;" "===i||" "===i;)i=e[++o+1];"\n"!==i&&("\r"!==i||"\n"!==e[o+2])&&(n+=o>t?e.slice(t,o+1):r)}else n+=r}return('"'!==e[e.length-1]||1===e.length)&&t(e.length,"MISSING_CHAR",'Missing closing "quote'),n}(d,h);break;default:return n(e,"UNEXPECTED_TOKEN",`Expected a flow scalar value, but found: ${c}`),{value:"",type:null,comment:"",range:[u,u+d.length,u+d.length]}}let f=u+d.length,y=r.resolveEnd(p,f,t,n);return{value:l,type:s,comment:y.comment,range:[u,f,y.offset]}}},905141,(e,t,n)=>{"use strict";var o=e.r(767080),r=e.r(826090),i=e.r(776306),a=e.r(194920);n.composeScalar=function(e,t,n,s){let l,u,{value:c,type:d,comment:p,range:h}="block-scalar"===t.type?i.resolveBlockScalar(e,t,s):a.resolveFlowScalar(t,e.options.strict,s),m=n?e.directives.tagName(n.source,e=>s(n,"TAG_RESOLVE_FAILED",e)):null;l=e.options.stringKeys&&e.atKey?e.schema[o.SCALAR]:m?function(e,t,n,r,i){if("!"===n)return e[o.SCALAR];let a=[];for(let t of e.tags)if(!t.collection&&t.tag===n)if(!t.default||!t.test)return t;else a.push(t);for(let e of a)if(e.test?.test(t))return e;let s=e.knownTags[n];return s&&!s.collection?(e.tags.push(Object.assign({},s,{default:!1,test:void 0})),s):(i(r,"TAG_RESOLVE_FAILED",`Unresolved tag: ${n}`,"tag:yaml.org,2002:str"!==n),e[o.SCALAR])}(e.schema,c,m,n,s):"scalar"===t.type?function({atKey:e,directives:t,schema:n},r,i,a){let s=n.tags.find(t=>(!0===t.default||e&&"key"===t.default)&&t.test?.test(r))||n[o.SCALAR];if(n.compat){let e=n.compat.find(e=>e.default&&e.test?.test(r))??n[o.SCALAR];if(s.tag!==e.tag){let n=t.tagString(s.tag),o=t.tagString(e.tag);a(i,"TAG_RESOLVE_FAILED",`Value may be parsed as either ${n} or ${o}`,!0)}}return s}(e,c,t,s):e.schema[o.SCALAR];try{let i=l.resolve(c,e=>s(n??t,"TAG_RESOLVE_FAILED",e),e.options);u=o.isScalar(i)?i:new r.Scalar(i)}catch(e){s(n??t,"TAG_RESOLVE_FAILED",e instanceof Error?e.message:String(e)),u=new r.Scalar(c)}return u.range=h,u.source=c,d&&(u.type=d),m&&(u.tag=m),l.format&&(u.format=l.format),p&&(u.comment=p),u}},843615,(e,t,n)=>{"use strict";n.emptyScalarPosition=function(e,t,n){if(t){n??(n=t.length);for(let o=n-1;o>=0;--o){let n=t[o];switch(n.type){case"space":case"comment":case"newline":e-=n.source.length;continue}for(n=t[++o];n?.type==="space";)e+=n.source.length,n=t[++o];break}}return e}},834090,(e,t,n)=>{"use strict";var o=e.r(917429),r=e.r(767080),i=e.r(555457),a=e.r(905141),s=e.r(570095),l=e.r(843615);let u={composeNode:c,composeEmptyNode:d};function c(e,t,n,l){let c,p=e.atKey,{spaceBefore:h,comment:m,anchor:g,tag:f}=n,y=!0;switch(t.type){case"alias":c=function({options:e},{offset:t,source:n,end:r},i){let a=new o.Alias(n.substring(1));""===a.source&&i(t,"BAD_ALIAS","Alias cannot be an empty string"),a.source.endsWith(":")&&i(t+n.length-1,"BAD_ALIAS","Alias ending in : is ambiguous",!0);let l=t+n.length,u=s.resolveEnd(r,l,e.strict,i);return a.range=[t,l,u.offset],u.comment&&(a.comment=u.comment),a}(e,t,l),(g||f)&&l(t,"ALIAS_PROPS","An alias node must not specify any properties");break;case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":case"block-scalar":c=a.composeScalar(e,t,f,l),g&&(c.anchor=g.source.substring(1));break;case"block-map":case"block-seq":case"flow-collection":try{c=i.composeCollection(u,e,t,n,l),g&&(c.anchor=g.source.substring(1))}catch(e){l(t,"RESOURCE_EXHAUSTION",e instanceof Error?e.message:String(e))}break;default:{let e="error"===t.type?t.message:`Unsupported token (type: ${t.type})`;l(t,"UNEXPECTED_TOKEN",e),y=!1}}return c??(c=d(e,t.offset,void 0,null,n,l)),g&&""===c.anchor&&l(g,"BAD_ALIAS","Anchor cannot be an empty string"),p&&e.options.stringKeys&&(!r.isScalar(c)||"string"!=typeof c.value||c.tag&&"tag:yaml.org,2002:str"!==c.tag)&&l(f??t,"NON_STRING_KEY","With stringKeys, all keys must be strings"),h&&(c.spaceBefore=!0),m&&("scalar"===t.type&&""===t.source?c.comment=m:c.commentBefore=m),e.options.keepSourceTokens&&y&&(c.srcToken=t),c}function d(e,t,n,o,{spaceBefore:r,comment:i,anchor:s,tag:u,end:c},p){let h={type:"scalar",offset:l.emptyScalarPosition(t,n,o),indent:-1,source:""},m=a.composeScalar(e,h,u,p);return s&&(m.anchor=s.source.substring(1),""===m.anchor&&p(s,"BAD_ALIAS","Anchor cannot be an empty string")),r&&(m.spaceBefore=!0),i&&(m.comment=i,m.range[2]=c),m}n.composeEmptyNode=d,n.composeNode=c},66516,(e,t,n)=>{"use strict";var o=e.r(722871),r=e.r(834090),i=e.r(570095),a=e.r(583709);n.composeDoc=function(e,t,{offset:n,start:s,value:l,end:u},c){let d=Object.assign({_directives:t},e),p=new o.Document(void 0,d),h={atKey:!1,atRoot:!0,directives:p.directives,options:p.options,schema:p.schema},m=a.resolveProps(s,{indicator:"doc-start",next:l??u?.[0],offset:n,onError:c,parentIndent:0,startOnNewline:!0});m.found&&(p.directives.docStart=!0,l&&("block-map"===l.type||"block-seq"===l.type)&&!m.hasNewline&&c(m.end,"MISSING_CHAR","Block collection cannot start on same line with directives-end marker")),p.contents=l?r.composeNode(h,l,m,c):r.composeEmptyNode(h,m.end,s,null,m,c);let g=p.contents.range[2],f=i.resolveEnd(u,g,!1,c);return f.comment&&(p.comment=f.comment),p.range=[n,g,f.offset],p}},576214,(e,t,n)=>{"use strict";var o=e.r(605365),r=e.r(954907),i=e.r(722871),a=e.r(809070),s=e.r(767080),l=e.r(66516),u=e.r(570095);function c(e){if("number"==typeof e)return[e,e+1];if(Array.isArray(e))return 2===e.length?e:[e[0],e[1]];let{offset:t,source:n}=e;return[t,t+("string"==typeof n?n.length:1)]}function d(e){let t="",n=!1,o=!1;for(let r=0;r<e.length;++r){let i=e[r];switch(i[0]){case"#":t+=(""===t?"":o?"\n\n":"\n")+(i.substring(1)||" "),n=!0,o=!1;break;case"%":e[r+1]?.[0]!=="#"&&(r+=1),n=!1;break;default:n||(o=!0),n=!1}}return{comment:t,afterEmptyLine:o}}n.Composer=class{constructor(e={}){this.doc=null,this.atDirectives=!1,this.prelude=[],this.errors=[],this.warnings=[],this.onError=(e,t,n,o)=>{let r=c(e);o?this.warnings.push(new a.YAMLWarning(r,t,n)):this.errors.push(new a.YAMLParseError(r,t,n))},this.directives=new r.Directives({version:e.version||"1.2"}),this.options=e}decorate(e,t){let{comment:n,afterEmptyLine:o}=d(this.prelude);if(n){let r=e.contents;if(t)e.comment=e.comment?`${e.comment}
|
|
225
|
+
`}}},583709,(e,t,n)=>{"use strict";n.resolveProps=function(e,{flow:t,indicator:n,next:o,offset:r,onError:i,parentIndent:a,startOnNewline:s}){let l=!1,u=s,c=s,d="",p="",h=!1,m=!1,g=null,f=null,y=null,b=null,_=null,w=null,z=null;for(let r of e)switch(m&&("space"!==r.type&&"newline"!==r.type&&"comma"!==r.type&&i(r.offset,"MISSING_CHAR","Tags and anchors must be separated from the next token by white space"),m=!1),g&&(u&&"comment"!==r.type&&"newline"!==r.type&&i(g,"TAB_AS_INDENT","Tabs are not allowed as indentation"),g=null),r.type){case"space":!t&&("doc-start"!==n||o?.type!=="flow-collection")&&r.source.includes(" ")&&(g=r),c=!0;break;case"comment":{c||i(r,"MISSING_CHAR","Comments must be separated from other tokens by white space characters");let e=r.source.substring(1)||" ";d?d+=p+e:d=e,p="",u=!1;break}case"newline":u?d?d+=r.source:w&&"seq-item-ind"===n||(l=!0):p+=r.source,u=!0,h=!0,(f||y)&&(b=r),c=!0;break;case"anchor":f&&i(r,"MULTIPLE_ANCHORS","A node can have at most one anchor"),r.source.endsWith(":")&&i(r.offset+r.source.length-1,"BAD_ALIAS","Anchor ending in : is ambiguous",!0),f=r,z??(z=r.offset),u=!1,c=!1,m=!0;break;case"tag":y&&i(r,"MULTIPLE_TAGS","A node can have at most one tag"),y=r,z??(z=r.offset),u=!1,c=!1,m=!0;break;case n:(f||y)&&i(r,"BAD_PROP_ORDER",`Anchors and tags must be after the ${r.source} indicator`),w&&i(r,"UNEXPECTED_TOKEN",`Unexpected ${r.source} in ${t??"collection"}`),w=r,u="seq-item-ind"===n||"explicit-key-ind"===n,c=!1;break;case"comma":if(t){_&&i(r,"UNEXPECTED_TOKEN",`Unexpected , in ${t}`),_=r,u=!1,c=!1;break}default:i(r,"UNEXPECTED_TOKEN",`Unexpected ${r.type} token`),u=!1,c=!1}let v=e[e.length-1],k=v?v.offset+v.source.length:r;return m&&o&&"space"!==o.type&&"newline"!==o.type&&"comma"!==o.type&&("scalar"!==o.type||""!==o.source)&&i(o.offset,"MISSING_CHAR","Tags and anchors must be separated from the next token by white space"),g&&(u&&g.indent<=a||o?.type==="block-map"||o?.type==="block-seq")&&i(g,"TAB_AS_INDENT","Tabs are not allowed as indentation"),{comma:_,found:w,spaceBefore:l,comment:d,hasNewline:h,anchor:f,tag:y,newlineAfterProp:b,end:k,start:z??k}}},852996,(e,t,n)=>{"use strict";n.containsNewline=function e(t){if(!t)return null;switch(t.type){case"alias":case"scalar":case"double-quoted-scalar":case"single-quoted-scalar":if(t.source.includes("\n"))return!0;if(t.end){for(let e of t.end)if("newline"===e.type)return!0}return!1;case"flow-collection":for(let n of t.items){for(let e of n.start)if("newline"===e.type)return!0;if(n.sep){for(let e of n.sep)if("newline"===e.type)return!0}if(e(n.key)||e(n.value))return!0}return!1;default:return!0}}},887634,(e,t,n)=>{"use strict";var o=e.r(852996);n.flowIndentCheck=function(e,t,n){if(t?.type==="flow-collection"){let r=t.end[0];r.indent===e&&("]"===r.source||"}"===r.source)&&o.containsNewline(t)&&n(r,"BAD_INDENT","Flow end indicator should be more indented than parent",!0)}}},600539,(e,t,n)=>{"use strict";var o=e.r(767080);n.mapIncludes=function(e,t,n){let{uniqueKeys:r}=e.options;if(!1===r)return!1;let i="function"==typeof r?r:(e,t)=>e===t||o.isScalar(e)&&o.isScalar(t)&&e.value===t.value;return t.some(e=>i(e.key,n))}},29810,(e,t,n)=>{"use strict";var o=e.r(812735),r=e.r(976970),i=e.r(583709),a=e.r(852996),s=e.r(887634),l=e.r(600539);let u="All mapping items must start at the same column";n.resolveBlockMap=function({composeNode:e,composeEmptyNode:t},n,c,d,p){let h=new(p?.nodeClass??r.YAMLMap)(n.schema);n.atRoot&&(n.atRoot=!1);let m=c.offset,g=null;for(let r of c.items){let{start:p,key:f,sep:y,value:b}=r,_=i.resolveProps(p,{indicator:"explicit-key-ind",next:f??y?.[0],offset:m,onError:d,parentIndent:c.indent,startOnNewline:!0}),w=!_.found;if(w){if(f&&("block-seq"===f.type?d(m,"BLOCK_AS_IMPLICIT_KEY","A block sequence may not be used as an implicit map key"):"indent"in f&&f.indent!==c.indent&&d(m,"BAD_INDENT",u)),!_.anchor&&!_.tag&&!y){g=_.end,_.comment&&(h.comment?h.comment+="\n"+_.comment:h.comment=_.comment);continue}(_.newlineAfterProp||a.containsNewline(f))&&d(f??p[p.length-1],"MULTILINE_IMPLICIT_KEY","Implicit keys need to be on a single line")}else _.found?.indent!==c.indent&&d(m,"BAD_INDENT",u);n.atKey=!0;let z=_.end,v=f?e(n,f,_,d):t(n,z,p,null,_,d);n.schema.compat&&s.flowIndentCheck(c.indent,f,d),n.atKey=!1,l.mapIncludes(n,h.items,v)&&d(z,"DUPLICATE_KEY","Map keys must be unique");let k=i.resolveProps(y??[],{indicator:"map-value-ind",next:b,offset:v.range[2],onError:d,parentIndent:c.indent,startOnNewline:!f||"block-scalar"===f.type});if(m=k.end,k.found){w&&(b?.type!=="block-map"||k.hasNewline||d(m,"BLOCK_AS_IMPLICIT_KEY","Nested mappings are not allowed in compact mappings"),n.options.strict&&_.start<k.found.offset-1024&&d(v.range,"KEY_OVER_1024_CHARS","The : indicator must be at most 1024 chars after the start of an implicit block mapping key"));let i=b?e(n,b,k,d):t(n,m,y,null,k,d);n.schema.compat&&s.flowIndentCheck(c.indent,b,d),m=i.range[2];let a=new o.Pair(v,i);n.options.keepSourceTokens&&(a.srcToken=r),h.items.push(a)}else{w&&d(v.range,"MISSING_CHAR","Implicit map keys need to be followed by map values"),k.comment&&(v.comment?v.comment+="\n"+k.comment:v.comment=k.comment);let e=new o.Pair(v);n.options.keepSourceTokens&&(e.srcToken=r),h.items.push(e)}}return g&&g<m&&d(g,"IMPOSSIBLE","Map comment with trailing content"),h.range=[c.offset,m,g??m],h}},403912,(e,t,n)=>{"use strict";var o=e.r(379482),r=e.r(583709),i=e.r(887634);n.resolveBlockSeq=function({composeNode:e,composeEmptyNode:t},n,a,s,l){let u=new(l?.nodeClass??o.YAMLSeq)(n.schema);n.atRoot&&(n.atRoot=!1),n.atKey&&(n.atKey=!1);let c=a.offset,d=null;for(let{start:o,value:l}of a.items){let p=r.resolveProps(o,{indicator:"seq-item-ind",next:l,offset:c,onError:s,parentIndent:a.indent,startOnNewline:!0});if(!p.found)if(p.anchor||p.tag||l)l?.type==="block-seq"?s(p.end,"BAD_INDENT","All sequence items must start at the same column"):s(c,"MISSING_CHAR","Sequence item without - indicator");else{d=p.end,p.comment&&(u.comment=p.comment);continue}let h=l?e(n,l,p,s):t(n,p.end,o,null,p,s);n.schema.compat&&i.flowIndentCheck(a.indent,l,s),c=h.range[2],u.items.push(h)}return u.range=[a.offset,c,d??c],u}},570095,(e,t,n)=>{"use strict";n.resolveEnd=function(e,t,n,o){let r="";if(e){let i=!1,a="";for(let s of e){let{source:e,type:l}=s;switch(l){case"space":i=!0;break;case"comment":{n&&!i&&o(s,"MISSING_CHAR","Comments must be separated from other tokens by white space characters");let t=e.substring(1)||" ";r?r+=a+t:r=t,a="";break}case"newline":r&&(a+=e),i=!0;break;default:o(s,"UNEXPECTED_TOKEN",`Unexpected ${l} at node end`)}t+=e.length}}return{comment:r,offset:t}}},949812,(e,t,n)=>{"use strict";var o=e.r(767080),r=e.r(812735),i=e.r(976970),a=e.r(379482),s=e.r(570095),l=e.r(583709),u=e.r(852996),c=e.r(600539);let d="Block collections are not allowed within flow collections",p=e=>e&&("block-map"===e.type||"block-seq"===e.type);n.resolveFlowCollection=function({composeNode:e,composeEmptyNode:t},n,h,m,g){let f="{"===h.start.source,y=f?"flow map":"flow sequence",b=new(g?.nodeClass??(f?i.YAMLMap:a.YAMLSeq))(n.schema);b.flow=!0;let _=n.atRoot;_&&(n.atRoot=!1),n.atKey&&(n.atKey=!1);let w=h.offset+h.start.source.length;for(let a=0;a<h.items.length;++a){let s=h.items[a],{start:g,key:_,sep:z,value:v}=s,k=l.resolveProps(g,{flow:y,indicator:"explicit-key-ind",next:_??z?.[0],offset:w,onError:m,parentIndent:h.indent,startOnNewline:!1});if(!k.found){if(!k.anchor&&!k.tag&&!z&&!v){0===a&&k.comma?m(k.comma,"UNEXPECTED_TOKEN",`Unexpected , in ${y}`):a<h.items.length-1&&m(k.start,"UNEXPECTED_TOKEN",`Unexpected empty item in ${y}`),k.comment&&(b.comment?b.comment+="\n"+k.comment:b.comment=k.comment),w=k.end;continue}!f&&n.options.strict&&u.containsNewline(_)&&m(_,"MULTILINE_IMPLICIT_KEY","Implicit keys of flow sequence pairs need to be on a single line")}if(0===a)k.comma&&m(k.comma,"UNEXPECTED_TOKEN",`Unexpected , in ${y}`);else if(k.comma||m(k.start,"MISSING_CHAR",`Missing , between ${y} items`),k.comment){let e="";t:for(let t of g)switch(t.type){case"comma":case"space":break;case"comment":e=t.source.substring(1);break t;default:break t}if(e){let t=b.items[b.items.length-1];o.isPair(t)&&(t=t.value??t.key),t.comment?t.comment+="\n"+e:t.comment=e,k.comment=k.comment.substring(e.length+1)}}if(f||z||k.found){n.atKey=!0;let o=k.end,a=_?e(n,_,k,m):t(n,o,g,null,k,m);p(_)&&m(a.range,"BLOCK_IN_FLOW",d),n.atKey=!1;let u=l.resolveProps(z??[],{flow:y,indicator:"map-value-ind",next:v,offset:a.range[2],onError:m,parentIndent:h.indent,startOnNewline:!1});if(u.found){if(!f&&!k.found&&n.options.strict){if(z)for(let e of z){if(e===u.found)break;if("newline"===e.type){m(e,"MULTILINE_IMPLICIT_KEY","Implicit keys of flow sequence pairs need to be on a single line");break}}k.start<u.found.offset-1024&&m(u.found,"KEY_OVER_1024_CHARS","The : indicator must be at most 1024 chars after the start of an implicit flow sequence key")}}else v&&("source"in v&&v.source?.[0]===":"?m(v,"MISSING_CHAR",`Missing space after : in ${y}`):m(u.start,"MISSING_CHAR",`Missing , or : between ${y} items`));let x=v?e(n,v,u,m):u.found?t(n,u.end,z,null,u,m):null;x?p(v)&&m(x.range,"BLOCK_IN_FLOW",d):u.comment&&(a.comment?a.comment+="\n"+u.comment:a.comment=u.comment);let S=new r.Pair(a,x);if(n.options.keepSourceTokens&&(S.srcToken=s),f)c.mapIncludes(n,b.items,a)&&m(o,"DUPLICATE_KEY","Map keys must be unique"),b.items.push(S);else{let e=new i.YAMLMap(n.schema);e.flow=!0,e.items.push(S);let t=(x??a).range;e.range=[a.range[0],t[1],t[2]],b.items.push(e)}w=x?x.range[2]:u.end}else{let o=v?e(n,v,k,m):t(n,k.end,z,null,k,m);b.items.push(o),w=o.range[2],p(v)&&m(o.range,"BLOCK_IN_FLOW",d)}}let z=f?"}":"]",[v,...k]=h.end,x=w;if(v?.source===z)x=v.offset+v.source.length;else{let e=y[0].toUpperCase()+y.substring(1),t=_?`${e} must end with a ${z}`:`${e} in block collection must be sufficiently indented and end with a ${z}`;m(w,_?"MISSING_CHAR":"BAD_INDENT",t),v&&1!==v.source.length&&k.unshift(v)}if(k.length>0){let e=s.resolveEnd(k,x,n.options.strict,m);e.comment&&(b.comment?b.comment+="\n"+e.comment:b.comment=e.comment),b.range=[h.offset,x,e.offset]}else b.range=[h.offset,x,x];return b}},555457,(e,t,n)=>{"use strict";var o=e.r(767080),r=e.r(826090),i=e.r(976970),a=e.r(379482),s=e.r(29810),l=e.r(403912),u=e.r(949812);function c(e,t,n,o,r,i){let a="block-map"===n.type?s.resolveBlockMap(e,t,n,o,i):"block-seq"===n.type?l.resolveBlockSeq(e,t,n,o,i):u.resolveFlowCollection(e,t,n,o,i),c=a.constructor;return"!"===r||r===c.tagName?a.tag=c.tagName:r&&(a.tag=r),a}n.composeCollection=function(e,t,n,s,l){let u=s.tag,d=u?t.directives.tagName(u.source,e=>l(u,"TAG_RESOLVE_FAILED",e)):null;if("block-seq"===n.type){let{anchor:e,newlineAfterProp:t}=s,n=e&&u?e.offset>u.offset?e:u:e??u;n&&(!t||t.offset<n.offset)&&l(n,"MISSING_CHAR","Missing newline after block sequence props")}let p="block-map"===n.type?"map":"block-seq"===n.type?"seq":"{"===n.start.source?"map":"seq";if(!u||!d||"!"===d||d===i.YAMLMap.tagName&&"map"===p||d===a.YAMLSeq.tagName&&"seq"===p)return c(e,t,n,l,d);let h=t.schema.tags.find(e=>e.tag===d&&e.collection===p);if(!h){let o=t.schema.knownTags[d];if(o?.collection!==p)return o?l(u,"BAD_COLLECTION_TYPE",`${o.tag} used for ${p} collection, but expects ${o.collection??"scalar"}`,!0):l(u,"TAG_RESOLVE_FAILED",`Unresolved tag: ${d}`,!0),c(e,t,n,l,d);t.schema.tags.push(Object.assign({},o,{default:!1})),h=o}let m=c(e,t,n,l,d,h),g=h.resolve?.(m,e=>l(u,"TAG_RESOLVE_FAILED",e),t.options)??m,f=o.isNode(g)?g:new r.Scalar(g);return f.range=m.range,f.tag=d,h?.format&&(f.format=h.format),f}},776306,(e,t,n)=>{"use strict";var o=e.r(826090);n.resolveBlockScalar=function(e,t,n){let r=t.offset,i=function({offset:e,props:t},n,o){if("block-scalar-header"!==t[0].type)return o(t[0],"IMPOSSIBLE","Block scalar header not found"),null;let{source:r}=t[0],i=r[0],a=0,s="",l=-1;for(let t=1;t<r.length;++t){let n=r[t];if(s||"-"!==n&&"+"!==n){let o=Number(n);!a&&o?a=o:-1===l&&(l=e+t)}else s=n}-1!==l&&o(l,"UNEXPECTED_TOKEN",`Block scalar header includes extra characters: ${r}`);let u=!1,c="",d=r.length;for(let e=1;e<t.length;++e){let r=t[e];switch(r.type){case"space":u=!0;case"newline":d+=r.source.length;break;case"comment":n&&!u&&o(r,"MISSING_CHAR","Comments must be separated from other tokens by white space characters"),d+=r.source.length,c=r.source.substring(1);break;case"error":o(r,"UNEXPECTED_TOKEN",r.message),d+=r.source.length;break;default:{let e=`Unexpected token in block scalar header: ${r.type}`;o(r,"UNEXPECTED_TOKEN",e);let t=r.source;t&&"string"==typeof t&&(d+=t.length)}}}return{mode:i,indent:a,chomp:s,comment:c,length:d}}(t,e.options.strict,n);if(!i)return{value:"",type:null,comment:"",range:[r,r,r]};let a=">"===i.mode?o.Scalar.BLOCK_FOLDED:o.Scalar.BLOCK_LITERAL,s=t.source?function(e){let t=e.split(/\n( *)/),n=t[0],o=n.match(/^( *)/),r=[o?.[1]?[o[1],n.slice(o[1].length)]:["",n]];for(let e=1;e<t.length;e+=2)r.push([t[e],t[e+1]]);return r}(t.source):[],l=s.length;for(let e=s.length-1;e>=0;--e){let t=s[e][1];if(""===t||"\r"===t)l=e;else break}if(0===l){let e="+"===i.chomp&&s.length>0?"\n".repeat(Math.max(1,s.length-1)):"",n=r+i.length;return t.source&&(n+=t.source.length),{value:e,type:a,comment:i.comment,range:[r,n,n]}}let u=t.indent+i.indent,c=t.offset+i.length,d=0;for(let t=0;t<l;++t){let[o,r]=s[t];if(""===r||"\r"===r)0===i.indent&&o.length>u&&(u=o.length);else{o.length<u&&n(c+o.length,"MISSING_CHAR","Block scalars with more-indented leading empty lines must use an explicit indentation indicator"),0===i.indent&&(u=o.length),d=t,0!==u||e.atRoot||n(c,"BAD_INDENT","Block scalar values in collections must be indented");break}c+=o.length+r.length+1}for(let e=s.length-1;e>=l;--e)s[e][0].length>u&&(l=e+1);let p="",h="",m=!1;for(let e=0;e<d;++e)p+=s[e][0].slice(u)+"\n";for(let e=d;e<l;++e){let[t,r]=s[e];c+=t.length+r.length+1;let l="\r"===r[r.length-1];if(l&&(r=r.slice(0,-1)),r&&t.length<u){let e=i.indent?"explicit indentation indicator":"first line",o=`Block scalar lines must not be less indented than their ${e}`;n(c-r.length-(l?2:1),"BAD_INDENT",o),t=""}a===o.Scalar.BLOCK_LITERAL?(p+=h+t.slice(u)+r,h="\n"):t.length>u||" "===r[0]?(" "===h?h="\n":m||"\n"!==h||(h="\n\n"),p+=h+t.slice(u)+r,h="\n",m=!0):""===r?"\n"===h?p+="\n":h="\n":(p+=h+r,h=" ",m=!1)}switch(i.chomp){case"-":break;case"+":for(let e=l;e<s.length;++e)p+="\n"+s[e][0].slice(u);"\n"!==p[p.length-1]&&(p+="\n");break;default:p+="\n"}let g=r+i.length+t.source.length;return{value:p,type:a,comment:i.comment,range:[r,g,g]}}},194920,(e,t,n)=>{"use strict";var o=e.r(826090),r=e.r(570095);function i(e){let t,n,o=/(.*?)\r?\n/sy,r=o.exec(e);if(!r)return e;try{t=RegExp("(?<![ ])[ ]+$"),n=RegExp("^[ ]+|(?<![ ])[ ]+$","g")}catch{t=/[ \t]+$/,n=/^[ \t]+|[ \t]+$/g}let i=r[1].replace(t,""),a=" ",s=o.lastIndex;for(;r=o.exec(e);){let e=r[1].replace(n,"");""===e?"\n"===a?i+=a:a="\n":(i+=a+e,a=" "),s=o.lastIndex}let l=/[ \t]*(.*)/sy;return l.lastIndex=s,r=l.exec(e),i+a+(r?.[1]??"")}let a={0:"\0",a:"\x07",b:"\b",e:"\x1b",f:"\f",n:"\n",r:"\r",t:" ",v:"\v",N:"
",_:" ",L:"\u2028",P:"\u2029"," ":" ",'"':'"',"/":"/","\\":"\\"," ":" "};n.resolveFlowScalar=function(e,t,n){let s,l,{offset:u,type:c,source:d,end:p}=e,h=(e,t,o)=>n(u+e,t,o);switch(c){case"scalar":s=o.Scalar.PLAIN,l=function(e,t){let n="";switch(e[0]){case" ":n="a tab character";break;case",":n="flow indicator character ,";break;case"%":n="directive indicator character %";break;case"|":case">":n=`block scalar indicator ${e[0]}`;break;case"@":case"`":n=`reserved character ${e[0]}`}return n&&t(0,"BAD_SCALAR_START",`Plain value cannot start with ${n}`),i(e)}(d,h);break;case"single-quoted-scalar":var m,g;s=o.Scalar.QUOTE_SINGLE,m=d,g=h,("'"!==m[m.length-1]||1===m.length)&&g(m.length,"MISSING_CHAR","Missing closing 'quote"),l=i(m.slice(1,-1)).replace(/''/g,"'");break;case"double-quoted-scalar":s=o.Scalar.QUOTE_DOUBLE,l=function(e,t){let n="";for(let o=1;o<e.length-1;++o){let r=e[o];if("\r"!==r||"\n"!==e[o+1])if("\n"===r){let{fold:t,offset:r}=function(e,t){let n="",o=e[t+1];for(;(" "===o||" "===o||"\n"===o||"\r"===o)&&("\r"!==o||"\n"===e[t+2]);)"\n"===o&&(n+="\n"),t+=1,o=e[t+1];return n||(n=" "),{fold:n,offset:t}}(e,o);n+=t,o=r}else if("\\"===r){let r=e[++o],i=a[r];if(i)n+=i;else if("\n"===r)for(r=e[o+1];" "===r||" "===r;)r=e[++o+1];else if("\r"===r&&"\n"===e[o+1])for(r=e[++o+1];" "===r||" "===r;)r=e[++o+1];else if("x"===r||"u"===r||"U"===r){let i="x"===r?2:"u"===r?4:8;n+=function(e,t,n,o){let r=e.substr(t,n),i=r.length===n&&/^[0-9a-fA-F]+$/.test(r)?parseInt(r,16):NaN;try{return String.fromCodePoint(i)}catch{let r=e.substr(t-2,n+2);return o(t-2,"BAD_DQ_ESCAPE",`Invalid escape sequence ${r}`),r}}(e,o+1,i,t),o+=i}else{let r=e.substr(o-1,2);t(o-1,"BAD_DQ_ESCAPE",`Invalid escape sequence ${r}`),n+=r}}else if(" "===r||" "===r){let t=o,i=e[o+1];for(;" "===i||" "===i;)i=e[++o+1];"\n"!==i&&("\r"!==i||"\n"!==e[o+2])&&(n+=o>t?e.slice(t,o+1):r)}else n+=r}return('"'!==e[e.length-1]||1===e.length)&&t(e.length,"MISSING_CHAR",'Missing closing "quote'),n}(d,h);break;default:return n(e,"UNEXPECTED_TOKEN",`Expected a flow scalar value, but found: ${c}`),{value:"",type:null,comment:"",range:[u,u+d.length,u+d.length]}}let f=u+d.length,y=r.resolveEnd(p,f,t,n);return{value:l,type:s,comment:y.comment,range:[u,f,y.offset]}}},905141,(e,t,n)=>{"use strict";var o=e.r(767080),r=e.r(826090),i=e.r(776306),a=e.r(194920);n.composeScalar=function(e,t,n,s){let l,u,{value:c,type:d,comment:p,range:h}="block-scalar"===t.type?i.resolveBlockScalar(e,t,s):a.resolveFlowScalar(t,e.options.strict,s),m=n?e.directives.tagName(n.source,e=>s(n,"TAG_RESOLVE_FAILED",e)):null;l=e.options.stringKeys&&e.atKey?e.schema[o.SCALAR]:m?function(e,t,n,r,i){if("!"===n)return e[o.SCALAR];let a=[];for(let t of e.tags)if(!t.collection&&t.tag===n)if(!t.default||!t.test)return t;else a.push(t);for(let e of a)if(e.test?.test(t))return e;let s=e.knownTags[n];return s&&!s.collection?(e.tags.push(Object.assign({},s,{default:!1,test:void 0})),s):(i(r,"TAG_RESOLVE_FAILED",`Unresolved tag: ${n}`,"tag:yaml.org,2002:str"!==n),e[o.SCALAR])}(e.schema,c,m,n,s):"scalar"===t.type?function({atKey:e,directives:t,schema:n},r,i,a){let s=n.tags.find(t=>(!0===t.default||e&&"key"===t.default)&&t.test?.test(r))||n[o.SCALAR];if(n.compat){let e=n.compat.find(e=>e.default&&e.test?.test(r))??n[o.SCALAR];if(s.tag!==e.tag){let n=t.tagString(s.tag),o=t.tagString(e.tag);a(i,"TAG_RESOLVE_FAILED",`Value may be parsed as either ${n} or ${o}`,!0)}}return s}(e,c,t,s):e.schema[o.SCALAR];try{let i=l.resolve(c,e=>s(n??t,"TAG_RESOLVE_FAILED",e),e.options);u=o.isScalar(i)?i:new r.Scalar(i)}catch(e){s(n??t,"TAG_RESOLVE_FAILED",e instanceof Error?e.message:String(e)),u=new r.Scalar(c)}return u.range=h,u.source=c,d&&(u.type=d),m&&(u.tag=m),l.format&&(u.format=l.format),p&&(u.comment=p),u}},843615,(e,t,n)=>{"use strict";n.emptyScalarPosition=function(e,t,n){if(t){n??(n=t.length);for(let o=n-1;o>=0;--o){let n=t[o];switch(n.type){case"space":case"comment":case"newline":e-=n.source.length;continue}for(n=t[++o];n?.type==="space";)e+=n.source.length,n=t[++o];break}}return e}},834090,(e,t,n)=>{"use strict";var o=e.r(917429),r=e.r(767080),i=e.r(555457),a=e.r(905141),s=e.r(570095),l=e.r(843615);let u={composeNode:c,composeEmptyNode:d};function c(e,t,n,l){let c,p=e.atKey,{spaceBefore:h,comment:m,anchor:g,tag:f}=n,y=!0;switch(t.type){case"alias":c=function({options:e},{offset:t,source:n,end:r},i){let a=new o.Alias(n.substring(1));""===a.source&&i(t,"BAD_ALIAS","Alias cannot be an empty string"),a.source.endsWith(":")&&i(t+n.length-1,"BAD_ALIAS","Alias ending in : is ambiguous",!0);let l=t+n.length,u=s.resolveEnd(r,l,e.strict,i);return a.range=[t,l,u.offset],u.comment&&(a.comment=u.comment),a}(e,t,l),(g||f)&&l(t,"ALIAS_PROPS","An alias node must not specify any properties");break;case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":case"block-scalar":c=a.composeScalar(e,t,f,l),g&&(c.anchor=g.source.substring(1));break;case"block-map":case"block-seq":case"flow-collection":try{c=i.composeCollection(u,e,t,n,l),g&&(c.anchor=g.source.substring(1))}catch(e){l(t,"RESOURCE_EXHAUSTION",e instanceof Error?e.message:String(e))}break;default:{let e="error"===t.type?t.message:`Unsupported token (type: ${t.type})`;l(t,"UNEXPECTED_TOKEN",e),y=!1}}return c??(c=d(e,t.offset,void 0,null,n,l)),g&&""===c.anchor&&l(g,"BAD_ALIAS","Anchor cannot be an empty string"),p&&e.options.stringKeys&&(!r.isScalar(c)||"string"!=typeof c.value||c.tag&&"tag:yaml.org,2002:str"!==c.tag)&&l(f??t,"NON_STRING_KEY","With stringKeys, all keys must be strings"),h&&(c.spaceBefore=!0),m&&("scalar"===t.type&&""===t.source?c.comment=m:c.commentBefore=m),e.options.keepSourceTokens&&y&&(c.srcToken=t),c}function d(e,t,n,o,{spaceBefore:r,comment:i,anchor:s,tag:u,end:c},p){let h={type:"scalar",offset:l.emptyScalarPosition(t,n,o),indent:-1,source:""},m=a.composeScalar(e,h,u,p);return s&&(m.anchor=s.source.substring(1),""===m.anchor&&p(s,"BAD_ALIAS","Anchor cannot be an empty string")),r&&(m.spaceBefore=!0),i&&(m.comment=i,m.range[2]=c),m}n.composeEmptyNode=d,n.composeNode=c},66516,(e,t,n)=>{"use strict";var o=e.r(722871),r=e.r(834090),i=e.r(570095),a=e.r(583709);n.composeDoc=function(e,t,{offset:n,start:s,value:l,end:u},c){let d=Object.assign({_directives:t},e),p=new o.Document(void 0,d),h={atKey:!1,atRoot:!0,directives:p.directives,options:p.options,schema:p.schema},m=a.resolveProps(s,{indicator:"doc-start",next:l??u?.[0],offset:n,onError:c,parentIndent:0,startOnNewline:!0});m.found&&(p.directives.docStart=!0,l&&("block-map"===l.type||"block-seq"===l.type)&&!m.hasNewline&&c(m.end,"MISSING_CHAR","Block collection cannot start on same line with directives-end marker")),p.contents=l?r.composeNode(h,l,m,c):r.composeEmptyNode(h,m.end,s,null,m,c);let g=p.contents.range[2],f=i.resolveEnd(u,g,!1,c);return f.comment&&(p.comment=f.comment),p.range=[n,g,f.offset],p}},576214,(e,t,n)=>{"use strict";var o=e.r(605365),r=e.r(954907),i=e.r(722871),a=e.r(809070),s=e.r(767080),l=e.r(66516),u=e.r(570095);function c(e){if("number"==typeof e)return[e,e+1];if(Array.isArray(e))return 2===e.length?e:[e[0],e[1]];let{offset:t,source:n}=e;return[t,t+("string"==typeof n?n.length:1)]}function d(e){let t="",n=!1,o=!1;for(let r=0;r<e.length;++r){let i=e[r];switch(i[0]){case"#":t+=(""===t?"":o?"\n\n":"\n")+(i.substring(1)||" "),n=!0,o=!1;break;case"%":e[r+1]?.[0]!=="#"&&(r+=1),n=!1;break;default:n||(o=!0),n=!1}}return{comment:t,afterEmptyLine:o}}n.Composer=class{constructor(e={}){this.doc=null,this.atDirectives=!1,this.prelude=[],this.errors=[],this.warnings=[],this.onError=(e,t,n,o)=>{let r=c(e);o?this.warnings.push(new a.YAMLWarning(r,t,n)):this.errors.push(new a.YAMLParseError(r,t,n))},this.directives=new r.Directives({version:e.version||"1.2"}),this.options=e}decorate(e,t){let{comment:n,afterEmptyLine:o}=d(this.prelude);if(n){let r=e.contents;if(t)e.comment=e.comment?`${e.comment}
|
|
226
226
|
${n}`:n;else if(o||e.directives.docStart||!r)e.commentBefore=n;else if(s.isCollection(r)&&!r.flow&&r.items.length>0){let e=r.items[0];s.isPair(e)&&(e=e.key);let t=e.commentBefore;e.commentBefore=t?`${n}
|
|
227
227
|
${t}`:n}else{let e=r.commentBefore;r.commentBefore=e?`${n}
|
|
228
228
|
${e}`:n}}if(t){for(let t=0;t<this.errors.length;++t)e.errors.push(this.errors[t]);for(let t=0;t<this.warnings.length;++t)e.warnings.push(this.warnings[t])}else e.errors=this.errors,e.warnings=this.warnings;this.prelude=[],this.errors=[],this.warnings=[]}streamInfo(){return{comment:d(this.prelude).comment,directives:this.directives,errors:this.errors,warnings:this.warnings}}*compose(e,t=!1,n=-1){for(let t of e)yield*this.next(t);yield*this.end(t,n)}*next(e){switch(o.env.LOG_STREAM&&console.dir(e,{depth:null}),e.type){case"directive":this.directives.add(e.source,(t,n,o)=>{let r=c(e);r[0]+=t,this.onError(r,"BAD_DIRECTIVE",n,o)}),this.prelude.push(e.source),this.atDirectives=!0;break;case"document":{let t=l.composeDoc(this.options,this.directives,e,this.onError);this.atDirectives&&!t.directives.docStart&&this.onError(e,"MISSING_CHAR","Missing directives-end/doc-start indicator line"),this.decorate(t,!1),this.doc&&(yield this.doc),this.doc=t,this.atDirectives=!1;break}case"byte-order-mark":case"space":break;case"comment":case"newline":this.prelude.push(e.source);break;case"error":{let t=e.source?`${e.message}: ${JSON.stringify(e.source)}`:e.message,n=new a.YAMLParseError(c(e),"UNEXPECTED_TOKEN",t);this.atDirectives||!this.doc?this.errors.push(n):this.doc.errors.push(n);break}case"doc-end":{if(!this.doc){this.errors.push(new a.YAMLParseError(c(e),"UNEXPECTED_TOKEN","Unexpected doc-end without preceding document"));break}this.doc.directives.docEnd=!0;let t=u.resolveEnd(e.end,e.offset+e.source.length,this.doc.options.strict,this.onError);if(this.decorate(this.doc,!0),t.comment){let e=this.doc.comment;this.doc.comment=e?`${e}
|