alchemylab-opencode 2.0.1 → 2.0.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (232) hide show
  1. package/NODE_COMPAT.md +8 -1
  2. package/dist/20260127222353_familiar_lady_ursula-YYOFSQD5.js +18 -0
  3. package/dist/20260211171708_add_project_commands-3GKQTPBZ.js +18 -0
  4. package/dist/20260213144116_wakeful_the_professor-ROO7OAVL.js +18 -0
  5. package/dist/20260225215848_workspace-V2OZTNFF.js +18 -0
  6. package/dist/20260227213759_add_session_workspace_id-GVDWAXKM.js +18 -0
  7. package/dist/20260228203230_blue_harpoon-Z5QP2II5.js +18 -0
  8. package/dist/20260303231226_add_workspace_fields-QOVAFN7W.js +18 -0
  9. package/dist/20260309230000_move_org_to_state-RQURSDZD.js +18 -0
  10. package/dist/20260312043431_session_message_cursor-VBISKDXL.js +18 -0
  11. package/dist/20260323234822_events-PILJHLNA.js +18 -0
  12. package/dist/20260410174513_workspace-name-63YCZ5NS.js +18 -0
  13. package/dist/20260413175956_chief_energizer-NMAZYGDO.js +18 -0
  14. package/dist/20260423070820_add_icon_url_override-RAJCVNEP.js +18 -0
  15. package/dist/20260427172553_slow_nightmare-ULYYZLR4.js +18 -0
  16. package/dist/20260428004200_add_session_path-U4WO2TGE.js +18 -0
  17. package/dist/20260501142318_next_venus-6BCYATSC.js +18 -0
  18. package/dist/20260504145000_add_sync_owner-RGVHV6LN.js +18 -0
  19. package/dist/20260507164347_add_workspace_time-GE6UHNPM.js +18 -0
  20. package/dist/{20260510033149_session_usage-UGBVOXZB.js → 20260510033149_session_usage-7XHCFVKY.js} +5 -1
  21. package/dist/20260511000411_data_migration_state-2EGZKFLB.js +18 -0
  22. package/dist/20260511173437_session-metadata-K322YY33.js +18 -0
  23. package/dist/20260601010001_normalize_storage_paths-VZDTY366.js +18 -0
  24. package/dist/{20260225215848_workspace-ZMSOZSPA.js → 20260601202201_amazing_prowler-YT6PLK3L.js} +5 -1
  25. package/dist/{20260228203230_blue_harpoon-IW3Z4TQZ.js → 20260602002951_lowly_union_jack-6VLQTBVB.js} +5 -1
  26. package/dist/20260602182828_add_project_directories-TVSRD25A.js +18 -0
  27. package/dist/20260603001617_session_message_projection_indexes-PHKTF6HK.js +18 -0
  28. package/dist/{20260622170816_reset_v2_session_state-5JPHJTZG.js → 20260603040000_session_message_projection_order-7RTV2POG.js} +5 -1
  29. package/dist/20260603141458_session_input_inbox-RSBWABG7.js +18 -0
  30. package/dist/20260603160727_jittery_ezekiel_stane-DXBLLRVV.js +18 -0
  31. package/dist/20260604172448_event_sourced_session_input-H6Z3JEBD.js +18 -0
  32. package/dist/20260605003541_add_session_context_snapshot-6FDPM2TK.js +18 -0
  33. package/dist/20260605042240_add_context_epoch_agent-C2OF2UKR.js +18 -0
  34. package/dist/20260611035744_credential-YNZ47FSH.js +18 -0
  35. package/dist/20260611192811_lush_chimera-E357VI6P.js +18 -0
  36. package/dist/20260612174303_project_dir_strategy-VUGGK42O.js +18 -0
  37. package/dist/20260622142730_simplify_session_context_epoch-UYGXZ5BX.js +18 -0
  38. package/dist/20260622170816_reset_v2_session_state-EILLPCJQ.js +18 -0
  39. package/dist/20260622202450_simplify_session_input-Y65GDGBO.js +18 -0
  40. package/dist/NodeSdk-AGMQWBHH.js +18 -0
  41. package/dist/anthropic-45OFTLAW.js +18 -0
  42. package/dist/anthropic-FVULF7C3.js +18 -0
  43. package/dist/app-runtime-LDQWNGWP.js +18 -0
  44. package/dist/chunk-2JE3QYG6.js +18 -0
  45. package/dist/chunk-2MRHL4B2.js +18 -0
  46. package/dist/chunk-4GJE6OMN.js +190 -0
  47. package/dist/chunk-4MBUHJHY.js +22 -0
  48. package/dist/chunk-5BLZCAU6.js +55 -0
  49. package/dist/chunk-7XX6TY62.js +259 -0
  50. package/dist/chunk-ANF3QA3Z.js +48 -0
  51. package/dist/chunk-AZUMH3TO.js +18 -0
  52. package/dist/chunk-B74WSFN4.js +878 -0
  53. package/dist/chunk-BQ4IEPN3.js +19 -0
  54. package/dist/chunk-CYRZU5QM.js +33 -0
  55. package/dist/chunk-DADVNQTM.js +1490 -0
  56. package/dist/chunk-DO2UZ6NY.js +18 -0
  57. package/dist/chunk-DWEYXIQI.js +780 -0
  58. package/dist/chunk-EK6FQQHY.js +20 -0
  59. package/dist/chunk-ELPXQ32J.js +90 -0
  60. package/dist/chunk-FGLPSSRK.js +19 -0
  61. package/dist/chunk-FOHYZ7MJ.js +55 -0
  62. package/dist/chunk-FV7U6PVP.js +18 -0
  63. package/dist/chunk-FYYAOZPU.js +18 -0
  64. package/dist/chunk-G7PFO5HG.js +920 -0
  65. package/dist/chunk-GDWO6EXN.js +22 -0
  66. package/dist/chunk-GW3ZRKAI.js +20 -0
  67. package/dist/chunk-IYUSBBGY.js +35 -0
  68. package/dist/chunk-JPOFLMNH.js +18 -0
  69. package/dist/{chunk-VURLSDCB.js → chunk-K5LKDIVU.js} +4 -0
  70. package/dist/chunk-KS4WLVK5.js +19 -0
  71. package/dist/chunk-LIXP4TPL.js +18 -0
  72. package/dist/chunk-LSC4RT5V.js +36 -0
  73. package/dist/chunk-M5A6NFHQ.js +28 -0
  74. package/dist/chunk-M6E6KNLV.js +30 -0
  75. package/dist/chunk-MLFZXUGQ.js +18 -0
  76. package/dist/chunk-NDI67DRG.js +31 -0
  77. package/dist/chunk-NGT6LCW6.js +18 -0
  78. package/dist/chunk-OCWGUTZJ.js +36 -0
  79. package/dist/chunk-OGDRUXMJ.js +18 -0
  80. package/dist/chunk-OGJKLJC7.js +29 -0
  81. package/dist/chunk-OT2YNR56.js +19 -0
  82. package/dist/chunk-OUVSKG2H.js +19 -0
  83. package/dist/chunk-P5RLCJUV.js +18 -0
  84. package/dist/chunk-Q3WIUQXB.js +18 -0
  85. package/dist/{20260227213759_add_session_workspace_id-ROENWPKA.js → chunk-QCRIXKIC.js} +5 -1
  86. package/dist/chunk-QD24DLUD.js +18 -0
  87. package/dist/chunk-R2GWBJEP.js +18 -0
  88. package/dist/chunk-RPAXSOGH.js +18 -0
  89. package/dist/chunk-TK5R7QUN.js +18 -0
  90. package/dist/chunk-TNQWZFIZ.js +28 -0
  91. package/dist/chunk-UCLPBO4I.js +18 -0
  92. package/dist/chunk-UPEPL4I2.js +18 -0
  93. package/dist/chunk-V6FDDNGV.js +117 -0
  94. package/dist/chunk-V6HERYFV.js +18 -0
  95. package/dist/chunk-V7XKKJ7X.js +24 -0
  96. package/dist/chunk-VHDYUBBS.js +23 -0
  97. package/dist/chunk-VWLJXTZ5.js +18 -0
  98. package/dist/chunk-VXAPFOIL.js +22 -0
  99. package/dist/chunk-WKZYINC7.js +29 -0
  100. package/dist/chunk-WPMP2ZFE.js +40 -0
  101. package/dist/chunk-WRTNIOI3.js +18 -0
  102. package/dist/chunk-X5F46HR5.js +18 -0
  103. package/dist/chunk-XPS7TQZG.js +22 -0
  104. package/dist/chunk-YJPP6IQ3.js +23 -0
  105. package/dist/chunk-ZYQWFC55.js +22 -0
  106. package/dist/code-mode-YYOGD36U.js +502 -0
  107. package/dist/copilot-provider-QVMLQZZC.js +18 -0
  108. package/dist/dist-5NQOHNPL.js +18 -0
  109. package/dist/dist-7CT3XCNN.js +32 -0
  110. package/dist/dist-CL46WFZG.js +18 -0
  111. package/dist/{20260605042240_add_context_epoch_agent-W6IQYZXE.js → dist-CYBRID2F.js} +5 -1
  112. package/dist/dist-HXJTF22W.js +32 -0
  113. package/dist/dist-JFXI53ZF.js +22 -0
  114. package/dist/dist-KBYKWVT5.js +22 -0
  115. package/dist/dist-KM5HCPZX.js +35 -0
  116. package/dist/dist-KTNLTEHB.js +18 -0
  117. package/dist/dist-KZ5R5QM5.js +24 -0
  118. package/dist/dist-NLXUYBW7.js +32 -0
  119. package/dist/dist-O4DF72J2.js +22 -0
  120. package/dist/dist-PH4MEGVR.js +22 -0
  121. package/dist/{20260511000411_data_migration_state-FB4LBFSE.js → dist-QJPOJCLB.js} +5 -1
  122. package/dist/dist-QYH62TCJ.js +22 -0
  123. package/dist/{20260303231226_add_workspace_fields-OUVZMNAG.js → dist-RIC4WKHC.js} +5 -1
  124. package/dist/dist-T776XKTM.js +22 -0
  125. package/dist/dist-TCE5MKZQ.js +23 -0
  126. package/dist/dist-TH2Q44RX.js +50 -0
  127. package/dist/dist-VV5FV5RT.js +101 -0
  128. package/dist/dist-XAFENVUS.js +22 -0
  129. package/dist/dist-XPFB35TX.js +32 -0
  130. package/dist/dist-YUH4RKR5.js +28 -0
  131. package/dist/dist-es-43ZM44MP.js +18 -0
  132. package/dist/dist-es-6PLFRCS4.js +18 -0
  133. package/dist/dist-es-G5UIJOU7.js +26 -0
  134. package/dist/{20260428004200_add_session_path-LGW75WYA.js → dist-es-HYIIGUNX.js} +5 -1
  135. package/dist/dist-es-L2GU465G.js +18 -0
  136. package/dist/dist-es-LSR2QCFZ.js +18 -0
  137. package/dist/dist-es-RGEIM2BP.js +18 -0
  138. package/dist/dist-es-SITTNOGV.js +18 -0
  139. package/dist/dist-es-W5GYOX6F.js +18 -0
  140. package/dist/esm-NN5W7YCL.js +18 -0
  141. package/dist/esm-XWJSHYHG.js +18 -0
  142. package/dist/getMachineId-bsd-L5I5TZ5I.js +18 -0
  143. package/dist/getMachineId-darwin-YB7KG37W.js +19 -0
  144. package/dist/getMachineId-linux-EL47KXX7.js +18 -0
  145. package/dist/getMachineId-unsupported-QOWPEBPN.js +18 -0
  146. package/dist/getMachineId-win-HCRYRDFJ.js +18 -0
  147. package/dist/lib-ZP7Q6A3E.js +199 -0
  148. package/dist/loadCognitoIdentity-EWT55EI7.js +18 -0
  149. package/dist/loadSso-AGOUE6RL.js +18 -0
  150. package/dist/{20260213144116_wakeful_the_professor-ZVDD54AK.js → loadSts-RH5L3PIX.js} +5 -1
  151. package/dist/mantle-IJXDXT4M.js +25 -0
  152. package/dist/mime-types-46EO4HOZ.js +18 -0
  153. package/dist/multipart-parser-KZWMKXA4.js +19 -0
  154. package/dist/{20260211171708_add_project_commands-GDOHPDPF.js → open-7KXTRM37.js} +5 -1
  155. package/dist/openai-ZOJI6I5R.js +18 -0
  156. package/dist/p-map-CYL6ILJW.js +18 -0
  157. package/dist/photon-W56QZY4L.js +18 -0
  158. package/dist/{20260423070820_add_icon_url_override-X5SHFGTI.js → pkce-VT4ITJTB.js} +5 -1
  159. package/dist/{pty.node-Y3N2XKYG.js → pty.node-IWULXXG6.js} +5 -1
  160. package/dist/run.js +5 -1
  161. package/dist/serve.js +143 -1
  162. package/dist/server-LVIHYOCY.js +21 -0
  163. package/dist/session-6OPJNJMK.js +18 -0
  164. package/dist/signin-OCIW23YM.js +18 -0
  165. package/dist/src-3NCXEROI.js +18 -0
  166. package/dist/src-LXWGIUZH.js +18 -0
  167. package/dist/src-WDYKISPD.js +20 -0
  168. package/dist/src-YAAFIGTW.js +18 -0
  169. package/dist/sso-oidc-OMMKINFE.js +18 -0
  170. package/dist/sts-MWK22JIX.js +18 -0
  171. package/dist/token-QPO3OAGS.js +18 -0
  172. package/dist/token-util-YGPCEEPO.js +18 -0
  173. package/dist/unified-W3ZKZ4HG.js +18 -0
  174. package/dist/worktree-32M5MTFE.js +18 -0
  175. package/package.json +40 -40
  176. package/postinstall.cjs +4 -2
  177. package/dist/20260127222353_familiar_lady_ursula-KV747FJX.js +0 -14
  178. package/dist/20260309230000_move_org_to_state-NOXAPU5V.js +0 -14
  179. package/dist/20260312043431_session_message_cursor-DJ4T3T4R.js +0 -14
  180. package/dist/20260323234822_events-72GIKJ2A.js +0 -14
  181. package/dist/20260410174513_workspace-name-JXSWFBJN.js +0 -14
  182. package/dist/20260413175956_chief_energizer-4HEWZ6U3.js +0 -14
  183. package/dist/20260427172553_slow_nightmare-PS5T2AH2.js +0 -14
  184. package/dist/20260501142318_next_venus-J3TLVXZ6.js +0 -14
  185. package/dist/20260504145000_add_sync_owner-3R52GB4C.js +0 -14
  186. package/dist/20260507164347_add_workspace_time-JHDRCZAR.js +0 -14
  187. package/dist/20260511173437_session-metadata-T2XHGWHS.js +0 -14
  188. package/dist/20260601010001_normalize_storage_paths-5MAY5GT3.js +0 -14
  189. package/dist/20260601202201_amazing_prowler-PET224YG.js +0 -14
  190. package/dist/20260602002951_lowly_union_jack-PG6XDMGL.js +0 -14
  191. package/dist/20260602182828_add_project_directories-ZCH2ACGG.js +0 -14
  192. package/dist/20260603001617_session_message_projection_indexes-XVLJTUF2.js +0 -14
  193. package/dist/20260603040000_session_message_projection_order-XG6RACZQ.js +0 -14
  194. package/dist/20260603141458_session_input_inbox-K2VQ7V6E.js +0 -14
  195. package/dist/20260603160727_jittery_ezekiel_stane-WKJLRDO7.js +0 -14
  196. package/dist/20260604172448_event_sourced_session_input-NTXOECR7.js +0 -14
  197. package/dist/20260605003541_add_session_context_snapshot-DXMQEXMT.js +0 -14
  198. package/dist/20260611035744_credential-XTMSYTJD.js +0 -14
  199. package/dist/20260611192811_lush_chimera-XPLIQMJD.js +0 -14
  200. package/dist/20260612174303_project_dir_strategy-FR2NGQKK.js +0 -14
  201. package/dist/20260622142730_simplify_session_context_epoch-NTQZR3RE.js +0 -14
  202. package/dist/20260622202450_simplify_session_input-2EXF2HMV.js +0 -14
  203. package/dist/app-runtime-HQBOCDV5.js +0 -14
  204. package/dist/chunk-4FEBIOI5.js +0 -865
  205. package/dist/chunk-4K2RXRZL.js +0 -14
  206. package/dist/chunk-4RFMKEKM.js +0 -1455
  207. package/dist/chunk-BM2C7NHL.js +0 -41
  208. package/dist/chunk-MKEMZFJI.js +0 -393
  209. package/dist/chunk-OMDJ6ZZ2.js +0 -684
  210. package/dist/chunk-OWMG4NNF.js +0 -186
  211. package/dist/chunk-QRABYJKL.js +0 -14
  212. package/dist/chunk-RHIWAYN5.js +0 -14
  213. package/dist/chunk-Z5TLIUAI.js +0 -28
  214. package/dist/code-mode-7BQJUARW.js +0 -40
  215. package/dist/copilot-provider-TX4YFKJZ.js +0 -14
  216. package/dist/photon-VQS5F5BI.js +0 -14
  217. package/dist/server-BFUQR7MX.js +0 -17
  218. package/dist/session-6RNXZNG6.js +0 -14
  219. package/dist/worktree-QHQHX3SG.js +0 -14
  220. package/patches/@ai-sdk%2Famazon-bedrock@4.0.166.patch +0 -164
  221. package/patches/@ai-sdk%2Fanthropic@3.0.111.patch +0 -528
  222. package/patches/@ai-sdk%2Fgoogle@3.0.73.patch +0 -69
  223. package/patches/@ai-sdk%2Fgroq@3.0.31.patch +0 -79
  224. package/patches/@ai-sdk%2Fmistral@3.0.51.patch +0 -714
  225. package/patches/@ai-sdk%2Fopenai-compatible@2.0.41.patch +0 -39
  226. package/patches/@ai-sdk%2Fopenai@3.0.88.patch +0 -280
  227. package/patches/@ai-sdk%2Fxai@3.0.139.patch +0 -296
  228. package/patches/@modelcontextprotocol%2Fsdk@1.29.0.patch +0 -647
  229. package/patches/@npmcli%2Fagent@4.0.2.patch +0 -13
  230. package/patches/effect@4.0.0-beta.83.patch +0 -57
  231. package/patches/gcp-metadata@8.1.2.patch +0 -14
  232. package/patches/pacote@21.5.0.patch +0 -18
@@ -0,0 +1,32 @@
1
+ // Built by esbuild from opencode-server source
2
+ if (typeof globalThis.Bun === 'undefined') {
3
+ globalThis.Bun = {
4
+ version: '0.0.0-node-compat',
5
+ stdin: { async text() { const chunks = []; for await (const c of process.stdin) chunks.push(c); return Buffer.concat(chunks).toString(); } },
6
+ which(cmd) { try { return require('child_process').execFileSync('which', [cmd], { encoding: 'utf8' }).trim(); } catch { return null; } },
7
+ };
8
+ }
9
+ if (typeof globalThis.__name === 'undefined') { globalThis.__name = (t, n) => { Object.defineProperty(t, 'name', { value: n, configurable: true }); return t; }; }
10
+ if (typeof globalThis.__export === 'undefined') { globalThis.__export = (t, a) => { for (const k in a) Object.defineProperty(t, k, { get: a[k], enumerable: true }); }; }
11
+ import { createRequire as __alchemyCreateRequire } from 'node:module';
12
+ const require = __alchemyCreateRequire(import.meta.url);
13
+ import { fileURLToPath as __alchemyFileURLToPath } from 'node:url';
14
+ import { dirname as __alchemyDirname } from 'node:path';
15
+ const __alchemy_filename = __alchemyFileURLToPath(import.meta.url);
16
+ const __alchemy_dirname = __alchemyDirname(__alchemy_filename);
17
+
18
+ import{a as le,b as B,c as We,e as Ie,h as Te,i as we,l as Ke,m as pe,n as Se,r as Qe}from"./chunk-WKZYINC7.js";import{a as N}from"./chunk-Q3WIUQXB.js";import{A as n,c as Ye,e as Xe}from"./chunk-WPMP2ZFE.js";import{a as l}from"./chunk-2MRHL4B2.js";function W(...e){return e.reduce((t,o)=>({...t,...o??{}}),{})}l(W,"combineHeaders");async function ge(e,t){if(e==null)return Promise.resolve();let o=t?.abortSignal;return new Promise((r,a)=>{if(o?.aborted){a(et());return}let i=setTimeout(()=>{s(),r()},e),s=l(()=>{clearTimeout(i),o?.removeEventListener("abort",c)},"cleanup"),c=l(()=>{s(),a(et())},"onAbort");o?.addEventListener("abort",c)})}l(ge,"delay");function et(){return new DOMException("Delay was aborted","AbortError")}l(et,"createAbortError");function Ce(e){return Object.fromEntries([...e.headers])}l(Ce,"extractResponseHeaders");var{btoa:Kt,atob:wr}=globalThis;function $e(e){let t="";for(let o=0;o<e.length;o++)t+=String.fromCodePoint(e[o]);return Kt(t)}l($e,"convertUint8ArrayToBase64");function he(e){return e instanceof Uint8Array?$e(e):e}l(he,"convertToBase64");var it="AI_DownloadError",st=`vercel.ai.error.${it}`,Yt=Symbol.for(st),tt,nt,Cr=class extends(nt=le,tt=Yt,nt){static{l(this,"DownloadError")}constructor({url:e,statusCode:t,statusText:o,cause:r,message:a=r==null?`Failed to download ${e}: ${t} ${o}`:`Failed to download ${e}: ${r}`}){super({name:it,message:a,cause:r}),this[tt]=!0,this.url=e,this.statusCode=t,this.statusText=o}static isInstance(e){return le.hasMarker(e,st)}},Ir=2*1024*1024*1024;var Xt=l(({prefix:e,size:t=16,alphabet:o="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz",separator:r="-"}={})=>{let a=l(()=>{let i=o.length,s=new Array(t);for(let c=0;c<t;c++)s[c]=o[Math.random()*i|0];return s.join("")},"generator");if(e==null)return a;if(o.includes(r))throw new Ie({argument:"separator",message:`The separator "${r}" must not be part of the alphabet "${o}".`});return()=>`${e}${r}${a()}`},"createIdGenerator"),te=Xt();function ue(e){return(e instanceof Error||e instanceof DOMException)&&(e.name==="AbortError"||e.name==="ResponseAborted"||e.name==="TimeoutError")}l(ue,"isAbortError");var Qt=["fetch failed","failed to fetch"],en=["ConnectionRefused","ConnectionClosed","FailedToOpenSocket","ECONNRESET","ECONNREFUSED","ETIMEDOUT","EPIPE"];function tn(e){if(!(e instanceof Error))return!1;let t=e.code;return!!(typeof t=="string"&&en.includes(t))}l(tn,"isBunNetworkError");function lt({error:e,url:t,requestBodyValues:o}){if(ue(e))return e;if(e instanceof TypeError&&Qt.includes(e.message.toLowerCase())){let r=e.cause;if(r!=null)return new B({message:`Cannot connect to API: ${r.message}`,cause:r,url:t,requestBodyValues:o,isRetryable:!0})}return tn(e)?new B({message:`Cannot connect to API: ${e.message}`,cause:e,url:t,requestBodyValues:o,isRetryable:!0}):e}l(lt,"handleFetchError");function ke(e=globalThis){var t,o,r;return e.window?"runtime/browser":(t=e.navigator)!=null&&t.userAgent?`runtime/${e.navigator.userAgent.toLowerCase()}`:(r=(o=e.process)==null?void 0:o.versions)!=null&&r.node?`runtime/node.js/${e.process.version.substring(0)}`:e.EdgeRuntime?"runtime/vercel-edge":"runtime/unknown"}l(ke,"getRuntimeEnvironmentUserAgent");function nn(e){if(e==null)return{};let t={};if(e instanceof Headers)e.forEach((o,r)=>{t[r.toLowerCase()]=o});else{Array.isArray(e)||(e=Object.entries(e));for(let[o,r]of e)r!=null&&(t[o.toLowerCase()]=r)}return t}l(nn,"normalizeHeaders");function ye(e,...t){let o=new Headers(nn(e)),r=o.get("user-agent")||"";return o.set("user-agent",[r,...t].filter(Boolean).join(" ")),Object.fromEntries(o.entries())}l(ye,"withUserAgentSuffix");var ut="4.0.27",on=l(()=>globalThis.fetch,"getOriginalFetch"),_e=l(async({url:e,headers:t={},successfulResponseHandler:o,failedResponseHandler:r,abortSignal:a,fetch:i=on()})=>{try{let s=await i(e,{method:"GET",headers:ye(t,`ai-sdk/provider-utils/${ut}`,ke()),signal:a}),c=Ce(s);if(!s.ok){let u;try{u=await r({response:s,url:e,requestBodyValues:{}})}catch(d){throw ue(d)||B.isInstance(d)?d:new B({message:"Failed to process error response",cause:d,statusCode:s.status,url:e,responseHeaders:c,requestBodyValues:{}})}throw u.value}try{return await o({response:s,url:e,requestBodyValues:{}})}catch(u){throw u instanceof Error&&(ue(u)||B.isInstance(u))?u:new B({message:"Failed to process successful response",cause:u,statusCode:s.status,url:e,responseHeaders:c,requestBodyValues:{}})}}catch(s){throw lt({error:s,url:e,requestBodyValues:{}})}},"getFromApi");function ct({apiKey:e,environmentVariableName:t,apiKeyParameterName:o="apiKey",description:r}){if(typeof e=="string")return e;if(e!=null)throw new we({message:`${r} API key must be a string.`});if(typeof process>"u")throw new we({message:`${r} API key is missing. Pass it using the '${o}' parameter. Environment variables are not supported in this environment.`});if(e=process.env[t],e==null)throw new we({message:`${r} API key is missing. Pass it using the '${o}' parameter or the ${t} environment variable.`});if(typeof e!="string")throw new we({message:`${r} API key must be a string. The value of the ${t} environment variable is not a string.`});return e}l(ct,"loadApiKey");var rn=/"(?:_|\\u005[Ff])(?:_|\\u005[Ff])(?:p|\\u0070)(?:r|\\u0072)(?:o|\\u006[Ff])(?:t|\\u0074)(?:o|\\u006[Ff])(?:_|\\u005[Ff])(?:_|\\u005[Ff])"\s*:/,an=/"(?: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 ot(e){let t=JSON.parse(e);return t===null||typeof t!="object"||rn.test(e)===!1&&an.test(e)===!1?t:sn(t)}l(ot,"_parse");function sn(e){let t=[e];for(;t.length;){let o=t;t=[];for(let r of o){if(Object.prototype.hasOwnProperty.call(r,"__proto__"))throw new SyntaxError("Object contains forbidden prototype property");if(Object.prototype.hasOwnProperty.call(r,"constructor")&&r.constructor!==null&&typeof r.constructor=="object"&&Object.prototype.hasOwnProperty.call(r.constructor,"prototype"))throw new SyntaxError("Object contains forbidden prototype property");for(let a in r){let i=r[a];i&&typeof i=="object"&&t.push(i)}}}return e}l(sn,"filter");function dt(e){let{stackTraceLimit:t}=Error;try{Error.stackTraceLimit=0}catch{return ot(e)}try{return ot(e)}finally{Error.stackTraceLimit=t}}l(dt,"secureJsonParse");function Fe(e){if(e.type==="object"||Array.isArray(e.type)&&e.type.includes("object")){e.additionalProperties=!1;let{properties:o}=e;if(o!=null)for(let r of Object.keys(o))o[r]=ve(o[r])}e.items!=null&&(e.items=Array.isArray(e.items)?e.items.map(ve):ve(e.items)),e.anyOf!=null&&(e.anyOf=e.anyOf.map(ve)),e.allOf!=null&&(e.allOf=e.allOf.map(ve)),e.oneOf!=null&&(e.oneOf=e.oneOf.map(ve));let{definitions:t}=e;if(t!=null)for(let o of Object.keys(t))t[o]=ve(t[o]);return e}l(Fe,"addAdditionalPropertiesToJsonSchema");function ve(e){return typeof e=="boolean"?e:Fe(e)}l(ve,"visit");var ln=Symbol("Let zodToJsonSchema decide on which parser to use"),rt={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"},un=l(e=>typeof e=="string"?{...rt,name:e}:{...rt,...e},"getDefaultOptions");function ee(){return{}}l(ee,"parseAnyDef");function cn(e,t){var o,r,a;let i={type:"array"};return(o=e.type)!=null&&o._def&&((a=(r=e.type)==null?void 0:r._def)==null?void 0:a.typeName)!==N.ZodAny&&(i.items=z(e.type._def,{...t,currentPath:[...t.currentPath,"items"]})),e.minLength&&(i.minItems=e.minLength.value),e.maxLength&&(i.maxItems=e.maxLength.value),e.exactLength&&(i.minItems=e.exactLength.value,i.maxItems=e.exactLength.value),i}l(cn,"parseArrayDef");function dn(e){let t={type:"integer",format:"int64"};if(!e.checks)return t;for(let o of e.checks)switch(o.kind){case"min":o.inclusive?t.minimum=o.value:t.exclusiveMinimum=o.value;break;case"max":o.inclusive?t.maximum=o.value:t.exclusiveMaximum=o.value;break;case"multipleOf":t.multipleOf=o.value;break}return t}l(dn,"parseBigintDef");function pn(){return{type:"boolean"}}l(pn,"parseBooleanDef");function pt(e,t){return z(e.type._def,t)}l(pt,"parseBrandedDef");var gn=l((e,t)=>z(e.innerType._def,t),"parseCatchDef");function gt(e,t,o){let r=o??t.dateStrategy;if(Array.isArray(r))return{anyOf:r.map((a,i)=>gt(e,t,a))};switch(r){case"string":case"format:date-time":return{type:"string",format:"date-time"};case"format:date":return{type:"string",format:"date"};case"integer":return hn(e)}}l(gt,"parseDateDef");var hn=l(e=>{let t={type:"integer",format:"unix-time"};for(let o of e.checks)switch(o.kind){case"min":t.minimum=o.value;break;case"max":t.maximum=o.value;break}return t},"integerDateParser");function fn(e,t){return{...z(e.innerType._def,t),default:e.defaultValue()}}l(fn,"parseDefaultDef");function mn(e,t){return t.effectStrategy==="input"?z(e.schema._def,t):ee()}l(mn,"parseEffectsDef");function vn(e){return{type:"string",enum:Array.from(e.values)}}l(vn,"parseEnumDef");var yn=l(e=>"type"in e&&e.type==="string"?!1:"allOf"in e,"isJsonSchema7AllOfType");function _n(e,t){let o=[z(e.left._def,{...t,currentPath:[...t.currentPath,"allOf","0"]}),z(e.right._def,{...t,currentPath:[...t.currentPath,"allOf","1"]})].filter(a=>!!a),r=[];return o.forEach(a=>{if(yn(a))r.push(...a.allOf);else{let i=a;if("additionalProperties"in a&&a.additionalProperties===!1){let{additionalProperties:s,...c}=a;i=c}r.push(i)}}),r.length?{allOf:r}:void 0}l(_n,"parseIntersectionDef");function bn(e){let t=typeof e.value;return t!=="bigint"&&t!=="number"&&t!=="boolean"&&t!=="string"?{type:Array.isArray(e.value)?"array":"object"}:{type:t==="bigint"?"integer":t,const:e.value}}l(bn,"parseLiteralDef");var Me=void 0,re={cuid:/^[cC][^\s-]{8,}$/,cuid2:/^[0-9a-z]+$/,ulid:/^[0-9A-HJKMNP-TV-Z]{26}$/,email:/^(?!\.)(?!.*\.\.)([a-zA-Z0-9_'+\-\.]*)[a-zA-Z0-9_+-]@([a-zA-Z0-9][a-zA-Z0-9\-]*\.)+[a-zA-Z]{2,}$/,emoji:l(()=>(Me===void 0&&(Me=RegExp("^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$","u")),Me),"emoji"),uuid:/^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/,ipv4:/^(?:(?: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])$/,ipv4Cidr:/^(?:(?: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])$/,ipv6:/^(([a-f0-9]{1,4}:){7}|::([a-f0-9]{1,4}:){0,6}|([a-f0-9]{1,4}:){1}:([a-f0-9]{1,4}:){0,5}|([a-f0-9]{1,4}:){2}:([a-f0-9]{1,4}:){0,4}|([a-f0-9]{1,4}:){3}:([a-f0-9]{1,4}:){0,3}|([a-f0-9]{1,4}:){4}:([a-f0-9]{1,4}:){0,2}|([a-f0-9]{1,4}:){5}:([a-f0-9]{1,4}:){0,1})([a-f0-9]{1,4}|(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2})))$/,ipv6Cidr:/^(([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])$/,base64:/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,base64url:/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,nanoid:/^[a-zA-Z0-9_-]{21}$/,jwt:/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/};function ht(e,t){let o={type:"string"};if(e.checks)for(let r of e.checks)switch(r.kind){case"min":o.minLength=typeof o.minLength=="number"?Math.max(o.minLength,r.value):r.value;break;case"max":o.maxLength=typeof o.maxLength=="number"?Math.min(o.maxLength,r.value):r.value;break;case"email":switch(t.emailStrategy){case"format:email":ae(o,"email",r.message,t);break;case"format:idn-email":ae(o,"idn-email",r.message,t);break;case"pattern:zod":J(o,re.email,r.message,t);break}break;case"url":ae(o,"uri",r.message,t);break;case"uuid":ae(o,"uuid",r.message,t);break;case"regex":J(o,r.regex,r.message,t);break;case"cuid":J(o,re.cuid,r.message,t);break;case"cuid2":J(o,re.cuid2,r.message,t);break;case"startsWith":J(o,RegExp(`^${je(r.value,t)}`),r.message,t);break;case"endsWith":J(o,RegExp(`${je(r.value,t)}$`),r.message,t);break;case"datetime":ae(o,"date-time",r.message,t);break;case"date":ae(o,"date",r.message,t);break;case"time":ae(o,"time",r.message,t);break;case"duration":ae(o,"duration",r.message,t);break;case"length":o.minLength=typeof o.minLength=="number"?Math.max(o.minLength,r.value):r.value,o.maxLength=typeof o.maxLength=="number"?Math.min(o.maxLength,r.value):r.value;break;case"includes":{J(o,RegExp(je(r.value,t)),r.message,t);break}case"ip":{r.version!=="v6"&&ae(o,"ipv4",r.message,t),r.version!=="v4"&&ae(o,"ipv6",r.message,t);break}case"base64url":J(o,re.base64url,r.message,t);break;case"jwt":J(o,re.jwt,r.message,t);break;case"cidr":{r.version!=="v6"&&J(o,re.ipv4Cidr,r.message,t),r.version!=="v4"&&J(o,re.ipv6Cidr,r.message,t);break}case"emoji":J(o,re.emoji(),r.message,t);break;case"ulid":{J(o,re.ulid,r.message,t);break}case"base64":{switch(t.base64Strategy){case"format:binary":{ae(o,"binary",r.message,t);break}case"contentEncoding:base64":{o.contentEncoding="base64";break}case"pattern:zod":{J(o,re.base64,r.message,t);break}}break}case"nanoid":J(o,re.nanoid,r.message,t);case"toLowerCase":case"toUpperCase":case"trim":break;default:}return o}l(ht,"parseStringDef");function je(e,t){return t.patternStrategy==="escape"?wn(e):e}l(je,"escapeLiteralCheckValue");var Tn=new Set("ABCDEFGHIJKLMNOPQRSTUVXYZabcdefghijklmnopqrstuvxyz0123456789");function wn(e){let t="";for(let o=0;o<e.length;o++)Tn.has(e[o])||(t+="\\"),t+=e[o];return t}l(wn,"escapeNonAlphaNumeric");function ae(e,t,o,r){var a;e.format||(a=e.anyOf)!=null&&a.some(i=>i.format)?(e.anyOf||(e.anyOf=[]),e.format&&(e.anyOf.push({format:e.format}),delete e.format),e.anyOf.push({format:t,...o&&r.errorMessages&&{errorMessage:{format:o}}})):e.format=t}l(ae,"addFormat");function J(e,t,o,r){var a;e.pattern||(a=e.allOf)!=null&&a.some(i=>i.pattern)?(e.allOf||(e.allOf=[]),e.pattern&&(e.allOf.push({pattern:e.pattern}),delete e.pattern),e.allOf.push({pattern:at(t,r),...o&&r.errorMessages&&{errorMessage:{pattern:o}}})):e.pattern=at(t,r)}l(J,"addPattern");function at(e,t){var o;if(!t.applyRegexFlags||!e.flags)return e.source;let r={i:e.flags.includes("i"),m:e.flags.includes("m"),s:e.flags.includes("s")},a=r.i?e.source.toLowerCase():e.source,i="",s=!1,c=!1,u=!1;for(let d=0;d<a.length;d++){if(s){i+=a[d],s=!1;continue}if(r.i){if(c){if(a[d].match(/[a-z]/)){u?(i+=a[d],i+=`${a[d-2]}-${a[d]}`.toUpperCase(),u=!1):a[d+1]==="-"&&((o=a[d+2])!=null&&o.match(/[a-z]/))?(i+=a[d],u=!0):i+=`${a[d]}${a[d].toUpperCase()}`;continue}}else if(a[d].match(/[a-z]/)){i+=`[${a[d]}${a[d].toUpperCase()}]`;continue}}if(r.m){if(a[d]==="^"){i+=`(^|(?<=[\r
19
+ ]))`;continue}else if(a[d]==="$"){i+=`($|(?=[\r
20
+ ]))`;continue}}if(r.s&&a[d]==="."){i+=c?`${a[d]}\r
21
+ `:`[${a[d]}\r
22
+ ]`;continue}i+=a[d],a[d]==="\\"?s=!0:c&&a[d]==="]"?c=!1:!c&&a[d]==="["&&(c=!0)}try{new RegExp(i)}catch{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}l(at,"stringifyRegExpWithFlags");function ft(e,t){var o,r,a,i,s,c;let u={type:"object",additionalProperties:(o=z(e.valueType._def,{...t,currentPath:[...t.currentPath,"additionalProperties"]}))!=null?o:t.allowedAdditionalProperties};if(((r=e.keyType)==null?void 0:r._def.typeName)===N.ZodString&&((a=e.keyType._def.checks)!=null&&a.length)){let{type:d,...v}=ht(e.keyType._def,t);return{...u,propertyNames:v}}else{if(((i=e.keyType)==null?void 0:i._def.typeName)===N.ZodEnum)return{...u,propertyNames:{enum:e.keyType._def.values}};if(((s=e.keyType)==null?void 0:s._def.typeName)===N.ZodBranded&&e.keyType._def.type._def.typeName===N.ZodString&&((c=e.keyType._def.type._def.checks)!=null&&c.length)){let{type:d,...v}=pt(e.keyType._def,t);return{...u,propertyNames:v}}}return u}l(ft,"parseRecordDef");function Sn(e,t){if(t.mapStrategy==="record")return ft(e,t);let o=z(e.keyType._def,{...t,currentPath:[...t.currentPath,"items","items","0"]})||ee(),r=z(e.valueType._def,{...t,currentPath:[...t.currentPath,"items","items","1"]})||ee();return{type:"array",maxItems:125,items:{type:"array",items:[o,r],minItems:2,maxItems:2}}}l(Sn,"parseMapDef");function Cn(e){let t=e.values,r=Object.keys(e.values).filter(i=>typeof t[t[i]]!="number").map(i=>t[i]),a=Array.from(new Set(r.map(i=>typeof i)));return{type:a.length===1?a[0]==="string"?"string":"number":["string","number"],enum:r}}l(Cn,"parseNativeEnumDef");function In(){return{not:ee()}}l(In,"parseNeverDef");function kn(){return{type:"null"}}l(kn,"parseNullDef");var De={ZodString:"string",ZodNumber:"number",ZodBigInt:"integer",ZodBoolean:"boolean",ZodNull:"null"};function xn(e,t){let o=e.options instanceof Map?Array.from(e.options.values()):e.options;if(o.every(r=>r._def.typeName in De&&(!r._def.checks||!r._def.checks.length))){let r=o.reduce((a,i)=>{let s=De[i._def.typeName];return s&&!a.includes(s)?[...a,s]:a},[]);return{type:r.length>1?r:r[0]}}else if(o.every(r=>r._def.typeName==="ZodLiteral"&&!r.description)){let r=o.reduce((a,i)=>{let s=typeof i._def.value;switch(s){case"string":case"number":case"boolean":return[...a,s];case"bigint":return[...a,"integer"];case"object":if(i._def.value===null)return[...a,"null"];default:return a}},[]);if(r.length===o.length){let a=r.filter((i,s,c)=>c.indexOf(i)===s);return{type:a.length>1?a:a[0],enum:o.reduce((i,s)=>i.includes(s._def.value)?i:[...i,s._def.value],[])}}}else if(o.every(r=>r._def.typeName==="ZodEnum"))return{type:"string",enum:o.reduce((r,a)=>[...r,...a._def.values.filter(i=>!r.includes(i))],[])};return En(e,t)}l(xn,"parseUnionDef");var En=l((e,t)=>{let o=(e.options instanceof Map?Array.from(e.options.values()):e.options).map((r,a)=>z(r._def,{...t,currentPath:[...t.currentPath,"anyOf",`${a}`]})).filter(r=>!!r&&(!t.strictUnions||typeof r=="object"&&Object.keys(r).length>0));return o.length?{anyOf:o}:void 0},"asAnyOf");function An(e,t){if(["ZodString","ZodNumber","ZodBigInt","ZodBoolean","ZodNull"].includes(e.innerType._def.typeName)&&(!e.innerType._def.checks||!e.innerType._def.checks.length))return{type:[De[e.innerType._def.typeName],"null"]};let o=z(e.innerType._def,{...t,currentPath:[...t.currentPath,"anyOf","0"]});return o&&{anyOf:[o,{type:"null"}]}}l(An,"parseNullableDef");function Rn(e){let t={type:"number"};if(!e.checks)return t;for(let o of e.checks)switch(o.kind){case"int":t.type="integer";break;case"min":o.inclusive?t.minimum=o.value:t.exclusiveMinimum=o.value;break;case"max":o.inclusive?t.maximum=o.value:t.exclusiveMaximum=o.value;break;case"multipleOf":t.multipleOf=o.value;break}return t}l(Rn,"parseNumberDef");function On(e,t){let o={type:"object",properties:{}},r=[],a=e.shape();for(let s in a){let c=a[s];if(c===void 0||c._def===void 0)continue;let u=Nn(c),d=z(c._def,{...t,currentPath:[...t.currentPath,"properties",s],propertyPath:[...t.currentPath,"properties",s]});d!==void 0&&(o.properties[s]=d,u||r.push(s))}r.length&&(o.required=r);let i=Pn(e,t);return i!==void 0&&(o.additionalProperties=i),o}l(On,"parseObjectDef");function Pn(e,t){if(e.catchall._def.typeName!=="ZodNever")return z(e.catchall._def,{...t,currentPath:[...t.currentPath,"additionalProperties"]});switch(e.unknownKeys){case"passthrough":return t.allowedAdditionalProperties;case"strict":return t.rejectedAdditionalProperties;case"strip":return t.removeAdditionalStrategy==="strict"?t.allowedAdditionalProperties:t.rejectedAdditionalProperties}}l(Pn,"decideAdditionalProperties");function Nn(e){try{return e.isOptional()}catch{return!0}}l(Nn,"safeIsOptional");var Mn=l((e,t)=>{var o;if(t.currentPath.toString()===((o=t.propertyPath)==null?void 0:o.toString()))return z(e.innerType._def,t);let r=z(e.innerType._def,{...t,currentPath:[...t.currentPath,"anyOf","1"]});return r?{anyOf:[{not:ee()},r]}:ee()},"parseOptionalDef"),jn=l((e,t)=>{if(t.pipeStrategy==="input")return z(e.in._def,t);if(t.pipeStrategy==="output")return z(e.out._def,t);let o=z(e.in._def,{...t,currentPath:[...t.currentPath,"allOf","0"]}),r=z(e.out._def,{...t,currentPath:[...t.currentPath,"allOf",o?"1":"0"]});return{allOf:[o,r].filter(a=>a!==void 0)}},"parsePipelineDef");function Dn(e,t){return z(e.type._def,t)}l(Dn,"parsePromiseDef");function Ln(e,t){let r={type:"array",uniqueItems:!0,items:z(e.valueType._def,{...t,currentPath:[...t.currentPath,"items"]})};return e.minSize&&(r.minItems=e.minSize.value),e.maxSize&&(r.maxItems=e.maxSize.value),r}l(Ln,"parseSetDef");function $n(e,t){return e.rest?{type:"array",minItems:e.items.length,items:e.items.map((o,r)=>z(o._def,{...t,currentPath:[...t.currentPath,"items",`${r}`]})).reduce((o,r)=>r===void 0?o:[...o,r],[]),additionalItems:z(e.rest._def,{...t,currentPath:[...t.currentPath,"additionalItems"]})}:{type:"array",minItems:e.items.length,maxItems:e.items.length,items:e.items.map((o,r)=>z(o._def,{...t,currentPath:[...t.currentPath,"items",`${r}`]})).reduce((o,r)=>r===void 0?o:[...o,r],[])}}l($n,"parseTupleDef");function Fn(){return{not:ee()}}l(Fn,"parseUndefinedDef");function Un(){return ee()}l(Un,"parseUnknownDef");var zn=l((e,t)=>z(e.innerType._def,t),"parseReadonlyDef"),Gn=l((e,t,o)=>{switch(t){case N.ZodString:return ht(e,o);case N.ZodNumber:return Rn(e);case N.ZodObject:return On(e,o);case N.ZodBigInt:return dn(e);case N.ZodBoolean:return pn();case N.ZodDate:return gt(e,o);case N.ZodUndefined:return Fn();case N.ZodNull:return kn();case N.ZodArray:return cn(e,o);case N.ZodUnion:case N.ZodDiscriminatedUnion:return xn(e,o);case N.ZodIntersection:return _n(e,o);case N.ZodTuple:return $n(e,o);case N.ZodRecord:return ft(e,o);case N.ZodLiteral:return bn(e);case N.ZodEnum:return vn(e);case N.ZodNativeEnum:return Cn(e);case N.ZodNullable:return An(e,o);case N.ZodOptional:return Mn(e,o);case N.ZodMap:return Sn(e,o);case N.ZodSet:return Ln(e,o);case N.ZodLazy:return()=>e.getter()._def;case N.ZodPromise:return Dn(e,o);case N.ZodNaN:case N.ZodNever:return In();case N.ZodEffects:return mn(e,o);case N.ZodAny:return ee();case N.ZodUnknown:return Un();case N.ZodDefault:return fn(e,o);case N.ZodBranded:return pt(e,o);case N.ZodReadonly:return zn(e,o);case N.ZodCatch:return gn(e,o);case N.ZodPipeline:return jn(e,o);case N.ZodFunction:case N.ZodVoid:case N.ZodSymbol:return;default:return(r=>{})(t)}},"selectParser"),Hn=l((e,t)=>{let o=0;for(;o<e.length&&o<t.length&&e[o]===t[o];o++);return[(e.length-o).toString(),...t.slice(o)].join("/")},"getRelativePath");function z(e,t,o=!1){var r;let a=t.seen.get(e);if(t.override){let u=(r=t.override)==null?void 0:r.call(t,e,t,a,o);if(u!==ln)return u}if(a&&!o){let u=qn(a,t);if(u!==void 0)return u}let i={def:e,path:t.currentPath,jsonSchema:void 0};t.seen.set(e,i);let s=Gn(e,e.typeName,t),c=typeof s=="function"?z(s(),t):s;if(c&&Vn(e,t,c),t.postProcess){let u=t.postProcess(c,e,t);return i.jsonSchema=c,u}return i.jsonSchema=c,c}l(z,"parseDef");var qn=l((e,t)=>{switch(t.$refStrategy){case"root":return{$ref:e.path.join("/")};case"relative":return{$ref:Hn(t.currentPath,e.path)};case"none":case"seen":return e.path.length<t.currentPath.length&&e.path.every((o,r)=>t.currentPath[r]===o)?(console.warn(`Recursive reference detected at ${t.currentPath.join("/")}! Defaulting to any`),ee()):t.$refStrategy==="seen"?ee():void 0}},"get$ref"),Vn=l((e,t,o)=>(e.description&&(o.description=e.description),o),"addMeta"),Bn=l(e=>{let t=un(e),o=t.name!==void 0?[...t.basePath,t.definitionPath,t.name]:t.basePath;return{...t,currentPath:o,propertyPath:void 0,seen:new Map(Object.entries(t.definitions).map(([r,a])=>[a._def,{def:a._def,path:[...t.basePath,t.definitionPath,r],jsonSchema:void 0}]))}},"getRefs"),Zn=l((e,t)=>{var o;let r=Bn(t),a=typeof t=="object"&&t.definitions?Object.entries(t.definitions).reduce((d,[v,y])=>{var h;return{...d,[v]:(h=z(y._def,{...r,currentPath:[...r.basePath,r.definitionPath,v]},!0))!=null?h:ee()}},{}):void 0,i=typeof t=="string"?t:t?.nameStrategy==="title"?void 0:t?.name,s=(o=z(e._def,i===void 0?r:{...r,currentPath:[...r.basePath,r.definitionPath,i]},!1))!=null?o:ee(),c=typeof t=="object"&&t.name!==void 0&&t.nameStrategy==="title"?t.name:void 0;c!==void 0&&(s.title=c);let u=i===void 0?a?{...s,[r.definitionPath]:a}:s:{$ref:[...r.$refStrategy==="relative"?[]:r.basePath,r.definitionPath,i].join("/"),[r.definitionPath]:{...a,[i]:s}};return u.$schema="http://json-schema.org/draft-07/schema#",u},"zod3ToJsonSchema"),Le=Symbol.for("vercel.ai.schema");function U(e){let t;return()=>(t==null&&(t=e()),t)}l(U,"lazySchema");function xe(e,{validate:t}={}){return{[Le]:!0,_type:void 0,get jsonSchema(){return typeof e=="function"&&(e=e()),e},validate:t}}l(xe,"jsonSchema");function Jn(e){return typeof e=="object"&&e!==null&&Le in e&&e[Le]===!0&&"jsonSchema"in e&&"validate"in e}l(Jn,"isSchema");function Wn(e){return e==null?xe({properties:{},additionalProperties:!1}):Jn(e)?e:"~standard"in e?e["~standard"].vendor==="zod"?F(e):Kn(e):e()}l(Wn,"asSchema");function Kn(e){return xe(()=>Fe(e["~standard"].jsonSchema.input({target:"draft-07"})),{validate:l(async t=>{let o=await e["~standard"].validate(t);return"value"in o?{success:!0,value:o.value}:{success:!1,error:new pe({value:t,cause:o.issues})}},"validate")})}l(Kn,"standardSchema");function Yn(e,t){var o;let r=(o=t?.useReferences)!=null?o:!1;return xe(()=>Zn(e,{$refStrategy:r?"root":"none"}),{validate:l(async a=>{let i=await e.safeParseAsync(a);return i.success?{success:!0,value:i.data}:{success:!1,error:i.error}},"validate")})}l(Yn,"zod3Schema");function Xn(e,t){var o;let r=(o=t?.useReferences)!=null?o:!1;return xe(()=>Fe(Ye(e,{target:"draft-7",io:"input",reused:r?"ref":"inline"})),{validate:l(async a=>{let i=await Xe(e,a);return i.success?{success:!0,value:i.data}:{success:!1,error:i.error}},"validate")})}l(Xn,"zod4Schema");function Qn(e){return"_zod"in e}l(Qn,"isZod4Schema");function F(e,t){return Qn(e)?Xn(e,t):Yn(e,t)}l(F,"zodSchema");async function eo({value:e,schema:t,context:o}){let r=await Ue({value:e,schema:t,context:o});if(!r.success)throw pe.wrap({value:e,cause:r.error,context:o});return r.value}l(eo,"validateTypes");async function Ue({value:e,schema:t,context:o}){let r=Wn(t);try{if(r.validate==null)return{success:!0,value:e,rawValue:e};let a=await r.validate(e);return a.success?{success:!0,value:a.value,rawValue:e}:{success:!1,error:pe.wrap({value:e,cause:a.error,context:o}),rawValue:e}}catch(a){return{success:!1,error:pe.wrap({value:e,cause:a,context:o}),rawValue:e}}}l(Ue,"safeValidateTypes");async function to({text:e,schema:t}){try{let o=dt(e);return t==null?o:eo({value:o,schema:t})}catch(o){throw Te.isInstance(o)||pe.isInstance(o)?o:new Te({text:e,cause:o})}}l(to,"parseJSON");async function mt({text:e,schema:t}){try{let o=dt(e);return t==null?{success:!0,value:o,rawValue:o}:await Ue({value:o,schema:t})}catch(o){return{success:!1,error:Te.isInstance(o)?o:new Te({text:e,cause:o}),rawValue:void 0}}}l(mt,"safeParseJSON");function no({stream:e,schema:t}){return e.pipeThrough(new TextDecoderStream).pipeThrough(new Qe).pipeThrough(new TransformStream({async transform({data:o},r){o!=="[DONE]"&&r.enqueue(await mt({text:o,schema:t}))}}))}l(no,"parseJsonEventStream");async function ie({provider:e,providerOptions:t,schema:o}){if(t?.[e]==null)return;let r=await Ue({value:t[e],schema:o});if(!r.success)throw new Ie({argument:"providerOptions",message:`invalid ${e} provider options`,cause:r.error});return r.value}l(ie,"parseProviderOptions");var oo=l(()=>globalThis.fetch,"getOriginalFetch2"),Y=l(async({url:e,headers:t,body:o,failedResponseHandler:r,successfulResponseHandler:a,abortSignal:i,fetch:s})=>ro({url:e,headers:{"Content-Type":"application/json",...t},body:{content:JSON.stringify(o),values:o},failedResponseHandler:r,successfulResponseHandler:a,abortSignal:i,fetch:s}),"postJsonToApi");var ro=l(async({url:e,headers:t={},body:o,successfulResponseHandler:r,failedResponseHandler:a,abortSignal:i,fetch:s=oo()})=>{try{let c=await s(e,{method:"POST",headers:ye(t,`ai-sdk/provider-utils/${ut}`,ke()),body:o.content,signal:i}),u=Ce(c);if(!c.ok){let d;try{d=await a({response:c,url:e,requestBodyValues:o.values})}catch(v){throw ue(v)||B.isInstance(v)?v:new B({message:"Failed to process error response",cause:v,statusCode:c.status,url:e,responseHeaders:u,requestBodyValues:o.values})}throw d.value}try{return await r({response:c,url:e,requestBodyValues:o.values})}catch(d){throw d instanceof Error&&(ue(d)||B.isInstance(d))?d:new B({message:"Failed to process successful response",cause:d,statusCode:c.status,url:e,responseHeaders:u,requestBodyValues:o.values})}}catch(c){throw lt({error:c,url:e,requestBodyValues:o.values})}},"postToApi");function ne({id:e,inputSchema:t}){return({execute:o,outputSchema:r,needsApproval:a,toModelOutput:i,onInputStart:s,onInputDelta:c,onInputAvailable:u,...d})=>({type:"provider",id:e,args:d,inputSchema:t,outputSchema:r,execute:o,needsApproval:a,toModelOutput:i,onInputStart:s,onInputDelta:c,onInputAvailable:u})}l(ne,"createProviderToolFactory");function vt({id:e,inputSchema:t,outputSchema:o,supportsDeferredResults:r}){return({execute:a,needsApproval:i,toModelOutput:s,onInputStart:c,onInputDelta:u,onInputAvailable:d,...v})=>({type:"provider",id:e,args:v,inputSchema:t,outputSchema:o,execute:a,needsApproval:i,toModelOutput:s,onInputStart:c,onInputDelta:u,onInputAvailable:d,supportsDeferredResults:r})}l(vt,"createProviderToolFactoryWithOutputSchema");async function X(e){return typeof e=="function"&&(e=e()),Promise.resolve(e)}l(X,"resolve");var yt=l(({errorSchema:e,errorToMessage:t,isRetryable:o})=>async({response:r,url:a,requestBodyValues:i})=>{let s=await r.text(),c=Ce(r);if(s.trim()==="")return{responseHeaders:c,value:new B({message:r.statusText,url:a,requestBodyValues:i,statusCode:r.status,responseHeaders:c,responseBody:s,isRetryable:o?.(r)})};try{let u=await to({text:s,schema:e});return{responseHeaders:c,value:new B({message:t(u),url:a,requestBodyValues:i,statusCode:r.status,responseHeaders:c,responseBody:s,data:u,isRetryable:o?.(r,u)})}}catch{return{responseHeaders:c,value:new B({message:r.statusText,url:a,requestBodyValues:i,statusCode:r.status,responseHeaders:c,responseBody:s,isRetryable:o?.(r)})}}},"createJsonErrorResponseHandler"),be=l(e=>async({response:t})=>{let o=Ce(t);if(t.body==null)throw new We({});return{responseHeaders:o,value:no({stream:t.body,schema:e})}},"createEventSourceResponseHandler"),K=l(e=>async({response:t,url:o,requestBodyValues:r})=>{let a=await t.text(),i=await mt({text:a,schema:e}),s=Ce(t);if(!i.success)throw new B({message:"Invalid JSON response",cause:i.error,statusCode:t.status,responseHeaders:s,responseBody:a,url:o,requestBodyValues:r});return{responseHeaders:s,value:i.value,rawValue:i.rawValue}},"createJsonResponseHandler");function _t(e){return e?.replace(/\/$/,"")}l(_t,"withoutTrailingSlash");var ao="3.0.73",io=U(()=>F(n.object({error:n.object({code:n.number().nullable(),message:n.string(),status:n.string()})}))),oe=yt({errorSchema:io,errorToMessage:l(e=>e.error.message,"errorToMessage")}),so=n.union([n.object({text:n.string()}),n.object({inlineData:n.object({mimeType:n.string(),data:n.string()})}),n.object({fileData:n.object({fileUri:n.string(),mimeType:n.string()})})]),lo=U(()=>F(n.object({outputDimensionality:n.number().optional(),taskType:n.enum(["SEMANTIC_SIMILARITY","CLASSIFICATION","CLUSTERING","RETRIEVAL_DOCUMENT","RETRIEVAL_QUERY","QUESTION_ANSWERING","FACT_VERIFICATION","CODE_RETRIEVAL_QUERY"]).optional(),content:n.array(n.array(so).min(1).nullable()).optional()}))),uo=class{static{l(this,"GoogleGenerativeAIEmbeddingModel")}constructor(e,t){this.specificationVersion="v3",this.maxEmbeddingsPerCall=2048,this.supportsParallelCalls=!0,this.modelId=e,this.config=t}get provider(){return this.config.provider}async doEmbed({values:e,headers:t,abortSignal:o,providerOptions:r}){let a=await ie({provider:"google",providerOptions:r,schema:lo});if(e.length>this.maxEmbeddingsPerCall)throw new Ke({provider:this.provider,modelId:this.modelId,maxEmbeddingsPerCall:this.maxEmbeddingsPerCall,values:e});let i=W(await X(this.config.headers),t),s=a?.content;if(s!=null&&s.length!==e.length)throw new Error(`The number of multimodal content entries (${s.length}) must match the number of values (${e.length}).`);if(e.length===1){let v=s?.[0],y=e[0]?[{text:e[0]}]:[],h=v!=null?[...y,...v]:[{text:e[0]}],{responseHeaders:f,value:T,rawValue:m}=await Y({url:`${this.config.baseURL}/models/${this.modelId}:embedContent`,headers:i,body:{model:`models/${this.modelId}`,content:{parts:h},outputDimensionality:a?.outputDimensionality,taskType:a?.taskType},failedResponseHandler:oe,successfulResponseHandler:K(po),abortSignal:o,fetch:this.config.fetch});return{warnings:[],embeddings:[T.embedding.values],usage:void 0,response:{headers:f,body:m}}}let{responseHeaders:c,value:u,rawValue:d}=await Y({url:`${this.config.baseURL}/models/${this.modelId}:batchEmbedContents`,headers:i,body:{requests:e.map((v,y)=>{let h=s?.[y],f=v?[{text:v}]:[];return{model:`models/${this.modelId}`,content:{role:"user",parts:h!=null?[...f,...h]:[{text:v}]},outputDimensionality:a?.outputDimensionality,taskType:a?.taskType}})},failedResponseHandler:oe,successfulResponseHandler:K(co),abortSignal:o,fetch:this.config.fetch});return{warnings:[],embeddings:u.embeddings.map(v=>v.values),usage:void 0,response:{headers:c,body:d}}}},co=U(()=>F(n.object({embeddings:n.array(n.object({values:n.array(n.number())}))}))),po=U(()=>F(n.object({embedding:n.object({values:n.array(n.number())})})));function bt(e){var t,o,r,a;if(e==null)return{inputTokens:{total:void 0,noCache:void 0,cacheRead:void 0,cacheWrite:void 0},outputTokens:{total:void 0,text:void 0,reasoning:void 0},raw:void 0};let i=(t=e.promptTokenCount)!=null?t:0,s=(o=e.candidatesTokenCount)!=null?o:0,c=(r=e.cachedContentTokenCount)!=null?r:0,u=(a=e.thoughtsTokenCount)!=null?a:0;return{inputTokens:{total:i,noCache:i-c,cacheRead:c,cacheWrite:void 0},outputTokens:{total:s+u,text:s,reasoning:u},raw:e}}l(bt,"convertGoogleGenerativeAIUsage");function se(e,t=!0){if(e==null)return;if(go(e))return t?void 0:typeof e=="object"&&e.description?{type:"object",description:e.description}:{type:"object"};if(typeof e=="boolean")return{type:"boolean",properties:{}};let{type:o,description:r,required:a,properties:i,items:s,allOf:c,anyOf:u,oneOf:d,format:v,const:y,minLength:h,enum:f}=e,T={};if(r&&(T.description=r),a&&(T.required=a),v&&(T.format=v),y!==void 0&&(T.enum=[y]),o)if(Array.isArray(o)){let m=o.includes("null"),_=o.filter(C=>C!=="null");_.length===0?T.type="null":(T.anyOf=_.map(C=>({type:C})),m&&(T.nullable=!0))}else T.type=o;if(f!==void 0&&(T.enum=f),i!=null&&(T.properties=Object.entries(i).reduce((m,[_,C])=>(m[_]=se(C,!1),m),{})),s&&(T.items=Array.isArray(s)?s.map(m=>se(m,!1)):se(s,!1)),c&&(T.allOf=c.map(m=>se(m,!1))),u)if(u.some(m=>typeof m=="object"&&m?.type==="null")){let m=u.filter(_=>!(typeof _=="object"&&_?.type==="null"));if(m.length===1){let _=se(m[0],!1);typeof _=="object"&&(T.nullable=!0,Object.assign(T,_))}else T.anyOf=m.map(_=>se(_,!1)),T.nullable=!0}else T.anyOf=u.map(m=>se(m,!1));return d&&(T.oneOf=d.map(m=>se(m,!1))),h!==void 0&&(T.minLength=h),T}l(se,"convertJSONSchemaToOpenAPISchema");function go(e){return e!=null&&typeof e=="object"&&e.type==="object"&&(e.properties==null||Object.keys(e.properties).length===0)&&!e.additionalProperties}l(go,"isEmptyObjectSchema");var ho=/^data:([^;,]+);base64,(.+)$/s;function fo(e){let t=ho.exec(e);if(t!=null)return{mediaType:t[1],data:t[2]}}l(fo,"parseBase64DataUrl");function mo(e){let t=fo(e);if(t!=null)return{inlineData:{mimeType:t.mediaType,data:t.data}}}l(mo,"convertUrlToolResultPart");function vo(e,t,o){let r=[],a=[];for(let i of o)switch(i.type){case"text":{a.push(i.text);break}case"image-data":case"file-data":{r.push({inlineData:{mimeType:i.mediaType,data:i.data}});break}case"image-url":case"file-url":{let s=mo(i.url);s!=null?r.push(s):a.push(JSON.stringify(i));break}default:{a.push(JSON.stringify(i));break}}e.push({functionResponse:{name:t,response:{name:t,content:a.length>0?a.join(`
23
+ `):"Tool executed successfully."},...r.length>0?{parts:r}:{}}})}l(vo,"appendToolResultParts");function yo(e,t,o){for(let r of o)switch(r.type){case"text":e.push({functionResponse:{name:t,response:{name:t,content:r.text}}});break;case"image-data":e.push({inlineData:{mimeType:String(r.mediaType),data:String(r.data)}},{text:"Tool executed successfully and returned this image as a response"});break;default:e.push({text:JSON.stringify(r)});break}}l(yo,"appendLegacyToolResultParts");function _o(e,t){var o,r,a,i,s,c,u,d;let v=[],y=[],h=!0,f=(o=t?.isGemmaModel)!=null?o:!1,T=(r=t?.providerOptionsName)!=null?r:"google",m=(a=t?.supportsFunctionResponseParts)!=null?a:!0;for(let{role:_,content:C}of e)switch(_){case"system":{if(!h)throw new Se({functionality:"system messages are only supported at the beginning of the conversation"});v.push({text:C});break}case"user":{h=!1;let g=[];for(let b of C)switch(b.type){case"text":{g.push({text:b.text});break}case"file":{let w=b.mediaType==="image/*"?"image/jpeg":b.mediaType;g.push(b.data instanceof URL?{fileData:{mimeType:w,fileUri:b.data.toString()}}:{inlineData:{mimeType:w,data:he(b.data)}});break}}y.push({role:"user",parts:g});break}case"assistant":{h=!1,y.push({role:"model",parts:C.map(g=>{var b,w,x,k;let I=(k=(b=g.providerOptions)==null?void 0:b[T])!=null?k:T!=="google"?(w=g.providerOptions)==null?void 0:w.google:(x=g.providerOptions)==null?void 0:x.vertex,D=I?.thoughtSignature!=null?String(I.thoughtSignature):void 0;switch(g.type){case"text":return g.text.length===0?void 0:{text:g.text,thoughtSignature:D};case"reasoning":return g.text.length===0?void 0:{text:g.text,thought:!0,thoughtSignature:D};case"file":{if(g.data instanceof URL)throw new Se({functionality:"File data URLs in assistant messages are not supported"});return{inlineData:{mimeType:g.mediaType,data:he(g.data)},...I?.thought===!0?{thought:!0}:{},thoughtSignature:D}}case"tool-call":{let $=I?.serverToolCallId!=null?String(I.serverToolCallId):void 0,j=I?.serverToolType!=null?String(I.serverToolType):void 0;return $&&j?{toolCall:{toolType:j,args:typeof g.input=="string"?JSON.parse(g.input):g.input,id:$},thoughtSignature:D}:{functionCall:{name:g.toolName,args:g.input},thoughtSignature:D}}case"tool-result":{let $=I?.serverToolCallId!=null?String(I.serverToolCallId):void 0,j=I?.serverToolType!=null?String(I.serverToolType):void 0;return $&&j?{toolResponse:{toolType:j,response:g.output.type==="json"?g.output.value:{},id:$},thoughtSignature:D}:void 0}}}).filter(g=>g!==void 0)}),y[y.length-1].parts.length===0&&y.pop();break}case"tool":{h=!1;let g=[];for(let b of C){if(b.type==="tool-approval-response")continue;let w=(u=(i=b.providerOptions)==null?void 0:i[T])!=null?u:T!=="google"?(s=b.providerOptions)==null?void 0:s.google:(c=b.providerOptions)==null?void 0:c.vertex,x=w?.serverToolCallId!=null?String(w.serverToolCallId):void 0,k=w?.serverToolType!=null?String(w.serverToolType):void 0;if(x&&k){let D=w?.thoughtSignature!=null?String(w.thoughtSignature):void 0;if(y.length>0){let $=y[y.length-1];if($.role==="model"){$.parts.push({toolResponse:{toolType:k,response:b.output.type==="json"?b.output.value:{},id:x},thoughtSignature:D});continue}}}let I=b.output;I.type==="content"?m?vo(g,b.toolName,I.value):yo(g,b.toolName,I.value):g.push({functionResponse:{name:b.toolName,response:{name:b.toolName,content:I.type==="execution-denied"?(d=I.reason)!=null?d:"Tool execution denied.":I.value}}})}y.push({role:"user",parts:g});break}}if(f&&v.length>0&&y.length>0&&y[0].role==="user"){let _=v.map(C=>C.text).join(`
24
+
25
+ `);y[0].parts.unshift({text:_+`
26
+
27
+ `})}return{systemInstruction:v.length>0&&!f?{parts:v}:void 0,contents:y}}l(_o,"convertToGoogleGenerativeAIMessages");function Tt(e){return e.includes("/")?e:`models/${e}`}l(Tt,"getModelPath");var wt=U(()=>F(n.object({responseModalities:n.array(n.enum(["TEXT","IMAGE"])).optional(),thinkingConfig:n.object({thinkingBudget:n.number().optional(),includeThoughts:n.boolean().optional(),thinkingLevel:n.enum(["minimal","low","medium","high"]).optional()}).optional(),cachedContent:n.string().optional(),structuredOutputs:n.boolean().optional(),safetySettings:n.array(n.object({category:n.enum(["HARM_CATEGORY_UNSPECIFIED","HARM_CATEGORY_HATE_SPEECH","HARM_CATEGORY_DANGEROUS_CONTENT","HARM_CATEGORY_HARASSMENT","HARM_CATEGORY_SEXUALLY_EXPLICIT","HARM_CATEGORY_CIVIC_INTEGRITY"]),threshold:n.enum(["HARM_BLOCK_THRESHOLD_UNSPECIFIED","BLOCK_LOW_AND_ABOVE","BLOCK_MEDIUM_AND_ABOVE","BLOCK_ONLY_HIGH","BLOCK_NONE","OFF"])})).optional(),threshold:n.enum(["HARM_BLOCK_THRESHOLD_UNSPECIFIED","BLOCK_LOW_AND_ABOVE","BLOCK_MEDIUM_AND_ABOVE","BLOCK_ONLY_HIGH","BLOCK_NONE","OFF"]).optional(),audioTimestamp:n.boolean().optional(),labels:n.record(n.string(),n.string()).optional(),mediaResolution:n.enum(["MEDIA_RESOLUTION_UNSPECIFIED","MEDIA_RESOLUTION_LOW","MEDIA_RESOLUTION_MEDIUM","MEDIA_RESOLUTION_HIGH"]).optional(),imageConfig:n.object({aspectRatio:n.enum(["1:1","2:3","3:2","3:4","4:3","4:5","5:4","9:16","16:9","21:9","1:8","8:1","1:4","4:1"]).optional(),imageSize:n.enum(["1K","2K","4K","512"]).optional()}).optional(),retrievalConfig:n.object({latLng:n.object({latitude:n.number(),longitude:n.number()}).optional()}).optional(),streamFunctionCallArguments:n.boolean().optional(),serviceTier:n.enum(["standard","flex","priority"]).optional()}))),bo={standard:"SERVICE_TIER_STANDARD",flex:"SERVICE_TIER_FLEX",priority:"SERVICE_TIER_PRIORITY"};function To({tools:e,toolChoice:t,modelId:o,isVertexProvider:r=!1}){var a,i;e=e?.length?e:void 0;let s=[],c=["gemini-flash-latest","gemini-flash-lite-latest","gemini-pro-latest"].some(_=>_===o),u=o.includes("gemini-2")||o.includes("gemini-3")||o.includes("nano-banana")||c,d=o.includes("gemini-3"),v=o.includes("gemini-2.5")||o.includes("gemini-3");if(e==null)return{tools:void 0,toolConfig:void 0,toolWarnings:s};let y=e.some(_=>_.type==="function"),h=e.some(_=>_.type==="provider");if(y&&h&&!d&&s.push({type:"unsupported",feature:"combination of function and provider-defined tools"}),h){let _=[];if(e.filter(g=>g.type==="provider").forEach(g=>{switch(g.id){case"google.google_search":u?_.push({googleSearch:{...g.args}}):s.push({type:"unsupported",feature:`provider-defined tool ${g.id}`,details:"Google Search requires Gemini 2.0 or newer."});break;case"google.enterprise_web_search":u?_.push({enterpriseWebSearch:{}}):s.push({type:"unsupported",feature:`provider-defined tool ${g.id}`,details:"Enterprise Web Search requires Gemini 2.0 or newer."});break;case"google.url_context":u?_.push({urlContext:{}}):s.push({type:"unsupported",feature:`provider-defined tool ${g.id}`,details:"The URL context tool is not supported with other Gemini models than Gemini 2."});break;case"google.code_execution":u?_.push({codeExecution:{}}):s.push({type:"unsupported",feature:`provider-defined tool ${g.id}`,details:"The code execution tool is not supported with other Gemini models than Gemini 2."});break;case"google.file_search":v?_.push({fileSearch:{...g.args}}):s.push({type:"unsupported",feature:`provider-defined tool ${g.id}`,details:"The file search tool is only supported with Gemini 2.5 models and Gemini 3 models."});break;case"google.vertex_rag_store":u?_.push({retrieval:{vertex_rag_store:{rag_resources:{rag_corpus:g.args.ragCorpus},similarity_top_k:g.args.topK}}}):s.push({type:"unsupported",feature:`provider-defined tool ${g.id}`,details:"The RAG store tool is not supported with other Gemini models than Gemini 2."});break;case"google.google_maps":u?_.push({googleMaps:{}}):s.push({type:"unsupported",feature:`provider-defined tool ${g.id}`,details:"The Google Maps grounding tool is not supported with Gemini models other than Gemini 2 or newer."});break;default:s.push({type:"unsupported",feature:`provider-defined tool ${g.id}`});break}}),y&&d&&_.length>0){let g=[];for(let w of e)w.type==="function"&&g.push({name:w.name,description:(a=w.description)!=null?a:"",parameters:se(w.inputSchema)});let b={functionCallingConfig:{mode:"VALIDATED"},...!r&&{includeServerSideToolInvocations:!0}};if(t!=null)switch(t.type){case"auto":break;case"none":b.functionCallingConfig={mode:"NONE"};break;case"required":b.functionCallingConfig={mode:"ANY"};break;case"tool":b.functionCallingConfig={mode:"ANY",allowedFunctionNames:[t.toolName]};break}return{tools:[..._,{functionDeclarations:g}],toolConfig:b,toolWarnings:s}}return{tools:_.length>0?_:void 0,toolConfig:void 0,toolWarnings:s}}let f=[],T=!1;for(let _ of e)_.type==="function"?(f.push({name:_.name,description:(i=_.description)!=null?i:"",parameters:se(_.inputSchema)}),_.strict===!0&&(T=!0)):s.push({type:"unsupported",feature:`function tool ${_.name}`});if(t==null)return{tools:[{functionDeclarations:f}],toolConfig:T?{functionCallingConfig:{mode:"VALIDATED"}}:void 0,toolWarnings:s};let m=t.type;switch(m){case"auto":return{tools:[{functionDeclarations:f}],toolConfig:{functionCallingConfig:{mode:T?"VALIDATED":"AUTO"}},toolWarnings:s};case"none":return{tools:[{functionDeclarations:f}],toolConfig:{functionCallingConfig:{mode:"NONE"}},toolWarnings:s};case"required":return{tools:[{functionDeclarations:f}],toolConfig:{functionCallingConfig:{mode:T?"VALIDATED":"ANY"}},toolWarnings:s};case"tool":return{tools:[{functionDeclarations:f}],toolConfig:{functionCallingConfig:{mode:T?"VALIDATED":"ANY",allowedFunctionNames:[t.toolName]}},toolWarnings:s};default:{let _=m;throw new Se({functionality:`tool choice type: ${_}`})}}}l(To,"prepareTools");var wo=class{static{l(this,"GoogleJSONAccumulator")}constructor(){this.accumulatedArgs={},this.jsonText="",this.pathStack=[],this.stringOpen=!1}processPartialArgs(e){let t="";for(let o of e){let r=o.jsonPath.replace(/^\$\./,"");if(!r)continue;let a=So(r),i=Co(this.accumulatedArgs,a);if(o.stringValue!=null&&i!==void 0){let u=JSON.stringify(o.stringValue).slice(1,-1);St(this.accumulatedArgs,a,i+o.stringValue),t+=u;continue}let c=Io(o);c!=null&&(St(this.accumulatedArgs,a,c.value),t+=this.emitNavigationTo(a,o,c.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 this.pathStack.length===0?(this.pathStack.push({segment:"",isArray:!1,childCount:0}),"{"):""}emitNavigationTo(e,t,o){let r="";this.stringOpen&&(r+='"',this.stringOpen=!1),r+=this.ensureRoot();let a=e.slice(0,-1),i=e[e.length-1],s=this.findCommonStackDepth(a);return r+=this.closeDownTo(s),r+=this.openDownTo(a,i),r+=this.emitLeaf(i,t,o),r}findCommonStackDepth(e){let t=Math.min(this.pathStack.length-1,e.length),o=0;for(let r=0;r<t&&this.pathStack[r+1].segment===e[r];r++)o++;return o+1}closeDownTo(e){let t="";for(;this.pathStack.length>e;){let o=this.pathStack.pop();t+=o.isArray?"]":"}"}return t}openDownTo(e,t){let o="",r=this.pathStack.length-1;for(let a=r;a<e.length;a++){let i=e[a],s=this.pathStack[this.pathStack.length-1];s.childCount>0&&(o+=","),s.childCount++,typeof i=="string"&&(o+=`${JSON.stringify(i)}:`);let u=typeof(a+1<e.length?e[a+1]:t)=="number";o+=u?"[":"{",this.pathStack.push({segment:i,isArray:u,childCount:0})}return o}emitLeaf(e,t,o){let r="",a=this.pathStack[this.pathStack.length-1];return a.childCount>0&&(r+=","),a.childCount++,typeof e=="string"&&(r+=`${JSON.stringify(e)}:`),t.stringValue!=null&&t.willContinue?(r+=o.slice(0,-1),this.stringOpen=!0):r+=o,r}};function So(e){let t=[];for(let o of e.split(".")){let r=o.indexOf("[");if(r===-1)t.push(o);else{r>0&&t.push(o.slice(0,r));for(let a of o.matchAll(/\[(\d+)\]/g))t.push(parseInt(a[1],10))}}return t}l(So,"parsePath");function Co(e,t){let o=e;for(let r of t){if(o==null||typeof o!="object")return;o=o[r]}return o}l(Co,"getNestedValue");function St(e,t,o){let r=e;for(let a=0;a<t.length-1;a++){let i=t[a],s=t[a+1];r[i]==null&&(r[i]=typeof s=="number"?[]:{}),r=r[i]}r[t[t.length-1]]=o}l(St,"setNestedValue");function Io(e){var t,o;let r=(o=(t=e.stringValue)!=null?t:e.numberValue)!=null?o:e.boolValue;if(r!=null)return{value:r,json:JSON.stringify(r)};if("nullValue"in e)return{value:null,json:"null"}}l(Io,"resolvePartialArgValue");function Ct({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"}}l(Ct,"mapGoogleGenerativeAIFinishReason");var Ot=class{static{l(this,"GoogleGenerativeAILanguageModel")}constructor(e,t){this.specificationVersion="v3";var o;this.modelId=e,this.config=t,this.generateId=(o=t.generateId)!=null?o:te}get provider(){return this.config.provider}get supportedUrls(){var e,t,o;return(o=(t=(e=this.config).supportedUrls)==null?void 0:t.call(e))!=null?o:{}}async getArgs({prompt:e,maxOutputTokens:t,temperature:o,topP:r,topK:a,frequencyPenalty:i,presencePenalty:s,stopSequences:c,responseFormat:u,seed:d,tools:v,toolChoice:y,providerOptions:h},{isStreaming:f=!1}={}){var T,m;let _=[],C=this.config.provider.includes("vertex")?"vertex":"google",g=await ie({provider:C,providerOptions:h,schema:wt});g==null&&C!=="google"&&(g=await ie({provider:"google",providerOptions:h,schema:wt}));let b=this.config.provider.startsWith("google.vertex.");v?.some(V=>V.type==="provider"&&V.id==="google.vertex_rag_store")&&!b&&_.push({type:"other",message:`The 'vertex_rag_store' tool is only supported with the Google Vertex provider and might not be supported or could behave unexpectedly with the current Google provider (${this.config.provider}).`}),g?.streamFunctionCallArguments&&!b&&_.push({type:"other",message:`'streamFunctionCallArguments' is only supported on the Vertex AI API and will be ignored with the current Google provider (${this.config.provider}). See https://docs.cloud.google.com/vertex-ai/generative-ai/docs/multimodal/function-calling#streaming-fc`});let w=g?.serviceTier;g?.serviceTier&&b&&(w=bo[g.serviceTier]);let x=this.modelId.toLowerCase().startsWith("gemma-"),k=this.modelId.startsWith("gemini-3"),{contents:I,systemInstruction:D}=_o(e,{isGemmaModel:x,providerOptionsName:C,supportsFunctionResponseParts:k}),{tools:$,toolConfig:j,toolWarnings:R}=To({tools:v,toolChoice:y,modelId:this.modelId,isVertexProvider:b}),q=f&&b?(T=g?.streamFunctionCallArguments)!=null?T:!1:void 0,Z=j||q||g?.retrievalConfig?{...j,...q&&{functionCallingConfig:{...j?.functionCallingConfig,streamFunctionCallArguments:!0}},...g?.retrievalConfig&&{retrievalConfig:g.retrievalConfig}}:void 0;return{args:{generationConfig:{maxOutputTokens:t,temperature:o,topK:a,topP:r,frequencyPenalty:i,presencePenalty:s,stopSequences:c,seed:d,responseMimeType:u?.type==="json"?"application/json":void 0,responseSchema:u?.type==="json"&&u.schema!=null&&((m=g?.structuredOutputs)==null||m)?se(u.schema):void 0,...g?.audioTimestamp&&{audioTimestamp:g.audioTimestamp},responseModalities:g?.responseModalities,thinkingConfig:g?.thinkingConfig,...g?.mediaResolution&&{mediaResolution:g.mediaResolution},...g?.imageConfig&&{imageConfig:g.imageConfig}},contents:I,systemInstruction:x?void 0:D,safetySettings:g?.safetySettings,tools:$,toolConfig:Z,cachedContent:g?.cachedContent,labels:g?.labels,serviceTier:w},warnings:[..._,...R],providerOptionsName:C}}async doGenerate(e){var t,o,r,a,i,s,c,u,d,v,y,h,f,T,m,_,C;let{args:g,warnings:b,providerOptionsName:w}=await this.getArgs(e),x=W(await X(this.config.headers),e.headers),{responseHeaders:k,value:I,rawValue:D}=await Y({url:`${this.config.baseURL}/${Tt(this.modelId)}:generateContent`,headers:x,body:g,failedResponseHandler:oe,successfulResponseHandler:K(xo),abortSignal:e.abortSignal,fetch:this.config.fetch}),$=I.candidates[0],j=[],R=(o=(t=$.content)==null?void 0:t.parts)!=null?o:[],q=I.usageMetadata,Z,V;for(let E of R)if("executableCode"in E&&((r=E.executableCode)!=null&&r.code)){let p=this.config.generateId();Z=p,j.push({type:"tool-call",toolCallId:p,toolName:"code_execution",input:JSON.stringify(E.executableCode),providerExecuted:!0})}else if("codeExecutionResult"in E&&E.codeExecutionResult)j.push({type:"tool-result",toolCallId:Z,toolName:"code_execution",result:{outcome:E.codeExecutionResult.outcome,output:(a=E.codeExecutionResult.output)!=null?a:""}}),Z=void 0;else if("text"in E&&E.text!=null){let p=E.thoughtSignature?{[w]:{thoughtSignature:E.thoughtSignature}}:void 0;if(E.text.length===0){if(p!=null&&j.length>0){let S=j[j.length-1];S.providerMetadata=p}}else j.push({type:E.thought===!0?"reasoning":"text",text:E.text,providerMetadata:p})}else if("functionCall"in E&&E.functionCall.name!=null)j.push({type:"tool-call",toolCallId:this.config.generateId(),toolName:E.functionCall.name,input:JSON.stringify((i=E.functionCall.args)!=null?i:{}),providerMetadata:E.thoughtSignature?{[w]:{thoughtSignature:E.thoughtSignature}}:void 0});else if("inlineData"in E){let p=E.thought===!0,S=!!E.thoughtSignature;j.push({type:"file",data:E.inlineData.data,mediaType:E.inlineData.mimeType,providerMetadata:p||S?{[w]:{...p?{thought:!0}:{},...S?{thoughtSignature:E.thoughtSignature}:{}}}:void 0})}else if("toolCall"in E&&E.toolCall){let p=(s=E.toolCall.id)!=null?s:this.config.generateId();V=p,j.push({type:"tool-call",toolCallId:p,toolName:`server:${E.toolCall.toolType}`,input:JSON.stringify((c=E.toolCall.args)!=null?c:{}),providerExecuted:!0,dynamic:!0,providerMetadata:E.thoughtSignature?{[w]:{thoughtSignature:E.thoughtSignature,serverToolCallId:p,serverToolType:E.toolCall.toolType}}:{[w]:{serverToolCallId:p,serverToolType:E.toolCall.toolType}}})}else if("toolResponse"in E&&E.toolResponse){let p=(u=V??E.toolResponse.id)!=null?u:this.config.generateId();j.push({type:"tool-result",toolCallId:p,toolName:`server:${E.toolResponse.toolType}`,result:(d=E.toolResponse.response)!=null?d:{},providerMetadata:E.thoughtSignature?{[w]:{thoughtSignature:E.thoughtSignature,serverToolCallId:p,serverToolType:E.toolResponse.toolType}}:{[w]:{serverToolCallId:p,serverToolType:E.toolResponse.toolType}}}),V=void 0}let fe=(v=It({groundingMetadata:$.groundingMetadata,generateId:this.config.generateId}))!=null?v:[];for(let E of fe)j.push(E);return{content:j,finishReason:{unified:Ct({finishReason:$.finishReason,hasToolCalls:j.some(E=>E.type==="tool-call"&&!E.providerExecuted)}),raw:(y=$.finishReason)!=null?y:void 0},usage:bt(q),warnings:b,providerMetadata:{[w]:{promptFeedback:(h=I.promptFeedback)!=null?h:null,groundingMetadata:(f=$.groundingMetadata)!=null?f:null,urlContextMetadata:(T=$.urlContextMetadata)!=null?T:null,safetyRatings:(m=$.safetyRatings)!=null?m:null,usageMetadata:q??null,finishMessage:(_=$.finishMessage)!=null?_:null,serviceTier:(C=I.serviceTier)!=null?C:null}},request:{body:g},response:{headers:k,body:D}}}async doStream(e){let{args:t,warnings:o,providerOptionsName:r}=await this.getArgs(e,{isStreaming:!0}),a=W(await X(this.config.headers),e.headers),{responseHeaders:i,value:s}=await Y({url:`${this.config.baseURL}/${Tt(this.modelId)}:streamGenerateContent?alt=sse`,headers:a,body:t,failedResponseHandler:oe,successfulResponseHandler:be(Eo),abortSignal:e.abortSignal,fetch:this.config.fetch}),c={unified:"other",raw:void 0},u,d,v=null,y=null,h=null,f=this.config.generateId,T=!1,m=null,_=null,C=0,g=new Set,b,w,x=[];return{stream:s.pipeThrough(new TransformStream({start(k){k.enqueue({type:"stream-start",warnings:o})},transform(k,I){var D,$,j,R,q,Z,V,fe,E,p,S,O;if(e.includeRawChunks&&I.enqueue({type:"raw",rawValue:k.rawValue}),!k.success){I.enqueue({type:"error",error:k.error});return}let P=k.value,M=P.usageMetadata;M!=null&&(u=M),P.serviceTier!=null&&(h=P.serviceTier);let G=(D=P.candidates)==null?void 0:D[0];if(G==null)return;let Ze=G.content;G.groundingMetadata!=null&&(v=G.groundingMetadata),G.urlContextMetadata!=null&&(y=G.urlContextMetadata);let Je=It({groundingMetadata:G.groundingMetadata,generateId:f});if(Je!=null)for(let me of Je)me.sourceType==="url"&&!g.has(me.url)&&(g.add(me.url),I.enqueue(me));if(Ze!=null){let me=($=Ze.parts)!=null?$:[];for(let A of me)if("executableCode"in A&&((j=A.executableCode)!=null&&j.code)){let L=f();b=L,I.enqueue({type:"tool-call",toolCallId:L,toolName:"code_execution",input:JSON.stringify(A.executableCode),providerExecuted:!0})}else if("codeExecutionResult"in A&&A.codeExecutionResult){let L=b;L&&(I.enqueue({type:"tool-result",toolCallId:L,toolName:"code_execution",result:{outcome:A.codeExecutionResult.outcome,output:(R=A.codeExecutionResult.output)!=null?R:""}}),b=void 0)}else if("text"in A&&A.text!=null){let L=A.thoughtSignature?{[r]:{thoughtSignature:A.thoughtSignature}}:void 0;A.text.length===0?L!=null&&m!==null&&I.enqueue({type:"text-delta",id:m,delta:"",providerMetadata:L}):A.thought===!0?(m!==null&&(I.enqueue({type:"text-end",id:m}),m=null),_===null&&(_=String(C++),I.enqueue({type:"reasoning-start",id:_,providerMetadata:L})),I.enqueue({type:"reasoning-delta",id:_,delta:A.text,providerMetadata:L})):(_!==null&&(I.enqueue({type:"reasoning-end",id:_}),_=null),m===null&&(m=String(C++),I.enqueue({type:"text-start",id:m,providerMetadata:L})),I.enqueue({type:"text-delta",id:m,delta:A.text,providerMetadata:L}))}else if("inlineData"in A){m!==null&&(I.enqueue({type:"text-end",id:m}),m=null),_!==null&&(I.enqueue({type:"reasoning-end",id:_}),_=null);let L=A.thought===!0,ce=!!A.thoughtSignature,Ne=L||ce?{[r]:{...L?{thought:!0}:{},...ce?{thoughtSignature:A.thoughtSignature}:{}}}:void 0;I.enqueue({type:"file",mediaType:A.inlineData.mimeType,data:A.inlineData.data,providerMetadata:Ne})}else if("toolCall"in A&&A.toolCall){let L=(q=A.toolCall.id)!=null?q:f();w=L;let ce={[r]:{...A.thoughtSignature?{thoughtSignature:A.thoughtSignature}:{},serverToolCallId:L,serverToolType:A.toolCall.toolType}};I.enqueue({type:"tool-call",toolCallId:L,toolName:`server:${A.toolCall.toolType}`,input:JSON.stringify((Z=A.toolCall.args)!=null?Z:{}),providerExecuted:!0,dynamic:!0,providerMetadata:ce})}else if("toolResponse"in A&&A.toolResponse){let L=(V=w??A.toolResponse.id)!=null?V:f(),ce={[r]:{...A.thoughtSignature?{thoughtSignature:A.thoughtSignature}:{},serverToolCallId:L,serverToolType:A.toolResponse.toolType}};I.enqueue({type:"tool-result",toolCallId:L,toolName:`server:${A.toolResponse.toolType}`,result:(fe=A.toolResponse.response)!=null?fe:{},providerMetadata:ce}),w=void 0}for(let A of me){if(!("functionCall"in A))continue;let L=A.thoughtSignature?{[r]:{thoughtSignature:A.thoughtSignature}}:void 0,ce=A.functionCall.partialArgs!=null||A.functionCall.name!=null&&A.functionCall.willContinue===!0,Ne=A.functionCall.name==null&&A.functionCall.args==null&&A.functionCall.partialArgs==null&&A.functionCall.willContinue==null,Jt=A.functionCall.name!=null&&A.functionCall.args!=null&&A.functionCall.partialArgs==null,Wt=A.functionCall.name!=null&&A.functionCall.args==null&&A.functionCall.partialArgs==null&&A.functionCall.willContinue!==!0;if(ce){if(A.functionCall.name!=null&&A.functionCall.willContinue===!0){let H=f(),Q=new wo;if(x.push({toolCallId:H,toolName:A.functionCall.name,accumulator:Q,providerMetadata:L}),I.enqueue({type:"tool-input-start",id:H,toolName:A.functionCall.name,providerMetadata:L}),A.functionCall.partialArgs!=null){let{textDelta:de}=Q.processPartialArgs(A.functionCall.partialArgs);de.length>0&&I.enqueue({type:"tool-input-delta",id:H,delta:de,providerMetadata:L})}}else if(A.functionCall.partialArgs!=null&&x.length>0){let H=x[x.length-1],{textDelta:Q}=H.accumulator.processPartialArgs(A.functionCall.partialArgs);Q.length>0&&I.enqueue({type:"tool-input-delta",id:H.toolCallId,delta:Q,providerMetadata:L})}}else if(Ne&&x.length>0){let H=x.pop(),{finalJSON:Q,closingDelta:de}=H.accumulator.finalize();de.length>0&&I.enqueue({type:"tool-input-delta",id:H.toolCallId,delta:de,providerMetadata:H.providerMetadata}),I.enqueue({type:"tool-input-end",id:H.toolCallId,providerMetadata:H.providerMetadata}),I.enqueue({type:"tool-call",toolCallId:H.toolCallId,toolName:H.toolName,input:Q,providerMetadata:H.providerMetadata}),T=!0}else if(Jt){let H=f(),Q=A.functionCall.name,de=typeof A.functionCall.args=="string"?A.functionCall.args:JSON.stringify((E=A.functionCall.args)!=null?E:{});I.enqueue({type:"tool-input-start",id:H,toolName:Q,providerMetadata:L}),I.enqueue({type:"tool-input-delta",id:H,delta:de,providerMetadata:L}),I.enqueue({type:"tool-input-end",id:H,providerMetadata:L}),I.enqueue({type:"tool-call",toolCallId:H,toolName:Q,input:de,providerMetadata:L}),T=!0}else if(Wt){let H=f(),Q=A.functionCall.name;I.enqueue({type:"tool-input-start",id:H,toolName:Q,providerMetadata:L}),I.enqueue({type:"tool-input-end",id:H,providerMetadata:L}),I.enqueue({type:"tool-call",toolCallId:H,toolName:Q,input:"{}",providerMetadata:L}),T=!0}}}G.finishReason!=null&&(c={unified:Ct({finishReason:G.finishReason,hasToolCalls:T}),raw:G.finishReason},d={[r]:{promptFeedback:(p=P.promptFeedback)!=null?p:null,groundingMetadata:v,urlContextMetadata:y,safetyRatings:(S=G.safetyRatings)!=null?S:null,usageMetadata:M??null,finishMessage:(O=G.finishMessage)!=null?O:null,serviceTier:h}})},flush(k){m!==null&&k.enqueue({type:"text-end",id:m}),_!==null&&k.enqueue({type:"reasoning-end",id:_}),k.enqueue({type:"finish",finishReason:c,usage:bt(u),providerMetadata:d})}})),response:{headers:i},request:{body:t}}}};function It({groundingMetadata:e,generateId:t}){var o,r,a,i,s,c;if(!e?.groundingChunks)return;let u=[];for(let d of e.groundingChunks)if(d.web!=null)u.push({type:"source",sourceType:"url",id:t(),url:d.web.uri,title:(o=d.web.title)!=null?o:void 0});else if(d.image!=null)u.push({type:"source",sourceType:"url",id:t(),url:d.image.sourceUri,title:(r=d.image.title)!=null?r:void 0});else if(d.retrievedContext!=null){let v=d.retrievedContext.uri,y=d.retrievedContext.fileSearchStore;if(v&&(v.startsWith("http://")||v.startsWith("https://")))u.push({type:"source",sourceType:"url",id:t(),url:v,title:(a=d.retrievedContext.title)!=null?a:void 0});else if(v){let h=(i=d.retrievedContext.title)!=null?i:"Unknown Document",f="application/octet-stream",T;v.endsWith(".pdf")?(f="application/pdf",T=v.split("/").pop()):v.endsWith(".txt")?(f="text/plain",T=v.split("/").pop()):v.endsWith(".docx")?(f="application/vnd.openxmlformats-officedocument.wordprocessingml.document",T=v.split("/").pop()):v.endsWith(".doc")?(f="application/msword",T=v.split("/").pop()):(v.match(/\.(md|markdown)$/)&&(f="text/markdown"),T=v.split("/").pop()),u.push({type:"source",sourceType:"document",id:t(),mediaType:f,title:h,filename:T})}else if(y){let h=(s=d.retrievedContext.title)!=null?s:"Unknown Document";u.push({type:"source",sourceType:"document",id:t(),mediaType:"application/octet-stream",title:h,filename:y.split("/").pop()})}}else d.maps!=null&&d.maps.uri&&u.push({type:"source",sourceType:"url",id:t(),url:d.maps.uri,title:(c=d.maps.title)!=null?c:void 0});return u.length>0?u:void 0}l(It,"extractSources");var Pt=l(()=>n.object({webSearchQueries:n.array(n.string()).nullish(),imageSearchQueries:n.array(n.string()).nullish(),retrievalQueries:n.array(n.string()).nullish(),searchEntryPoint:n.object({renderedContent:n.string()}).nullish(),groundingChunks:n.array(n.object({web:n.object({uri:n.string(),title:n.string().nullish()}).nullish(),image:n.object({sourceUri:n.string(),imageUri:n.string(),title:n.string().nullish(),domain:n.string().nullish()}).nullish(),retrievedContext:n.object({uri:n.string().nullish(),title:n.string().nullish(),text:n.string().nullish(),fileSearchStore:n.string().nullish()}).nullish(),maps:n.object({uri:n.string().nullish(),title:n.string().nullish(),text:n.string().nullish(),placeId:n.string().nullish()}).nullish()})).nullish(),groundingSupports:n.array(n.object({segment:n.object({startIndex:n.number().nullish(),endIndex:n.number().nullish(),text:n.string().nullish()}).nullish(),segment_text:n.string().nullish(),groundingChunkIndices:n.array(n.number()).nullish(),supportChunkIndices:n.array(n.number()).nullish(),confidenceScores:n.array(n.number()).nullish(),confidenceScore:n.array(n.number()).nullish()})).nullish(),retrievalMetadata:n.union([n.object({webDynamicRetrievalScore:n.number()}),n.object({})]).nullish()}),"getGroundingMetadataSchema"),ko=n.object({jsonPath:n.string(),stringValue:n.string().nullish(),numberValue:n.number().nullish(),boolValue:n.boolean().nullish(),nullValue:n.unknown().nullish(),willContinue:n.boolean().nullish()}),Nt=l(()=>n.object({parts:n.array(n.union([n.object({functionCall:n.object({name:n.string().nullish(),args:n.unknown().nullish(),partialArgs:n.array(ko).nullish(),willContinue:n.boolean().nullish()}),thoughtSignature:n.string().nullish()}),n.object({inlineData:n.object({mimeType:n.string(),data:n.string()}),thought:n.boolean().nullish(),thoughtSignature:n.string().nullish()}),n.object({toolCall:n.object({toolType:n.string(),args:n.unknown().nullish(),id:n.string()}),thoughtSignature:n.string().nullish()}),n.object({toolResponse:n.object({toolType:n.string(),response:n.unknown().nullish(),id:n.string()}),thoughtSignature:n.string().nullish()}),n.object({executableCode:n.object({language:n.string(),code:n.string()}).nullish(),codeExecutionResult:n.object({outcome:n.string(),output:n.string().nullish()}).nullish(),text:n.string().nullish(),thought:n.boolean().nullish(),thoughtSignature:n.string().nullish()})])).nullish()}),"getContentSchema"),Oe=l(()=>n.object({category:n.string().nullish(),probability:n.string().nullish(),probabilityScore:n.number().nullish(),severity:n.string().nullish(),severityScore:n.number().nullish(),blocked:n.boolean().nullish()}),"getSafetyRatingSchema"),kt=n.array(n.object({modality:n.string(),tokenCount:n.number()})).nullish(),Mt=n.object({cachedContentTokenCount:n.number().nullish(),thoughtsTokenCount:n.number().nullish(),promptTokenCount:n.number().nullish(),candidatesTokenCount:n.number().nullish(),totalTokenCount:n.number().nullish(),trafficType:n.string().nullish(),promptTokensDetails:kt,candidatesTokensDetails:kt}),jt=l(()=>n.object({urlMetadata:n.array(n.object({retrievedUrl:n.string(),urlRetrievalStatus:n.string()})).nullish()}),"getUrlContextMetadataSchema"),xo=U(()=>F(n.object({candidates:n.array(n.object({content:Nt().nullish().or(n.object({}).strict()),finishReason:n.string().nullish(),finishMessage:n.string().nullish(),safetyRatings:n.array(Oe()).nullish(),groundingMetadata:Pt().nullish(),urlContextMetadata:jt().nullish()})),usageMetadata:Mt.nullish(),promptFeedback:n.object({blockReason:n.string().nullish(),safetyRatings:n.array(Oe()).nullish()}).nullish(),serviceTier:n.string().nullish()}))),Eo=U(()=>F(n.object({candidates:n.array(n.object({content:Nt().nullish(),finishReason:n.string().nullish(),finishMessage:n.string().nullish(),safetyRatings:n.array(Oe()).nullish(),groundingMetadata:Pt().nullish(),urlContextMetadata:jt().nullish()})).nullish(),usageMetadata:Mt.nullish(),promptFeedback:n.object({blockReason:n.string().nullish(),safetyRatings:n.array(Oe()).nullish()}).nullish(),serviceTier:n.string().nullish()}))),Ao=vt({id:"google.code_execution",inputSchema:n.object({language:n.string().describe("The programming language of the code."),code:n.string().describe("The code to be executed.")}),outputSchema:n.object({outcome:n.string().describe('The outcome of the execution (e.g., "OUTCOME_OK").'),output:n.string().describe("The output from the code execution.")})}),Ro=ne({id:"google.enterprise_web_search",inputSchema:U(()=>F(n.object({})))}),Oo=n.object({fileSearchStoreNames:n.array(n.string()).describe("The names of the file_search_stores to retrieve from. Example: `fileSearchStores/my-file-search-store-123`"),topK:n.number().int().positive().describe("The number of file search retrieval chunks to retrieve.").optional(),metadataFilter:n.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()}).passthrough(),Po=U(()=>F(Oo)),No=ne({id:"google.file_search",inputSchema:Po}),Mo=ne({id:"google.google_maps",inputSchema:U(()=>F(n.object({})))}),jo=n.object({searchTypes:n.object({webSearch:n.object({}).optional(),imageSearch:n.object({}).optional()}).optional(),timeRangeFilter:n.object({startTime:n.string(),endTime:n.string()}).optional()}).passthrough(),Do=U(()=>F(jo)),Lo=ne({id:"google.google_search",inputSchema:Do}),$o=ne({id:"google.url_context",inputSchema:U(()=>F(n.object({})))}),Fo=ne({id:"google.vertex_rag_store",inputSchema:n.object({ragCorpus:n.string(),topK:n.number().optional()})}),Uo={googleSearch:Lo,enterpriseWebSearch:Ro,googleMaps:Mo,urlContext:$o,fileSearch:No,codeExecution:Ao,vertexRagStore:Fo},zo=class{static{l(this,"GoogleGenerativeAIImageModel")}constructor(e,t,o){this.modelId=e,this.settings=t,this.config=o,this.specificationVersion="v3"}get maxImagesPerCall(){return this.settings.maxImagesPerCall!=null?this.settings.maxImagesPerCall:xt(this.modelId)?10:4}get provider(){return this.config.provider}async doGenerate(e){return xt(this.modelId)?this.doGenerateGemini(e):this.doGenerateImagen(e)}async doGenerateImagen(e){var t,o,r;let{prompt:a,n:i=1,size:s,aspectRatio:c="1:1",seed:u,providerOptions:d,headers:v,abortSignal:y,files:h,mask:f}=e,T=[];if(h!=null&&h.length>0)throw new Error("Google Generative AI does not support image editing with Imagen models. Use Google Vertex AI (@ai-sdk/google-vertex) for image editing capabilities.");if(f!=null)throw new Error("Google Generative AI does not support image editing with masks. Use Google Vertex AI (@ai-sdk/google-vertex) for image editing capabilities.");s!=null&&T.push({type:"unsupported",feature:"size",details:"This model does not support the `size` option. Use `aspectRatio` instead."}),u!=null&&T.push({type:"unsupported",feature:"seed",details:"This model does not support the `seed` option through this provider."});let m=await ie({provider:"google",providerOptions:d,schema:Ho}),_=(r=(o=(t=this.config._internal)==null?void 0:t.currentDate)==null?void 0:o.call(t))!=null?r:new Date,C={sampleCount:i};c!=null&&(C.aspectRatio=c),m&&Object.assign(C,m);let g={instances:[{prompt:a}],parameters:C},{responseHeaders:b,value:w}=await Y({url:`${this.config.baseURL}/models/${this.modelId}:predict`,headers:W(await X(this.config.headers),v),body:g,failedResponseHandler:oe,successfulResponseHandler:K(Go),abortSignal:y,fetch:this.config.fetch});return{images:w.predictions.map(x=>x.bytesBase64Encoded),warnings:T,providerMetadata:{google:{images:w.predictions.map(()=>({}))}},response:{timestamp:_,modelId:this.modelId,headers:b}}}async doGenerateGemini(e){var t,o,r,a,i,s,c,u,d;let{prompt:v,n:y,size:h,aspectRatio:f,seed:T,providerOptions:m,headers:_,abortSignal:C,files:g,mask:b}=e,w=[];if(b!=null)throw new Error("Gemini image models do not support mask-based image editing.");if(y!=null&&y>1)throw new Error("Gemini image models do not support generating a set number of images per call. Use n=1 or omit the n parameter.");h!=null&&w.push({type:"unsupported",feature:"size",details:"This model does not support the `size` option. Use `aspectRatio` instead."});let x=[];if(v!=null&&x.push({type:"text",text:v}),g!=null&&g.length>0)for(let R of g)R.type==="url"?x.push({type:"file",data:new URL(R.url),mediaType:"image/*"}):x.push({type:"file",data:typeof R.data=="string"?R.data:new Uint8Array(R.data),mediaType:R.mediaType});let k=[{role:"user",content:x}],D=await new Ot(this.modelId,{provider:this.config.provider,baseURL:this.config.baseURL,headers:(t=this.config.headers)!=null?t:{},fetch:this.config.fetch,generateId:(o=this.config.generateId)!=null?o:te}).doGenerate({prompt:k,seed:T,providerOptions:{google:{responseModalities:["IMAGE"],imageConfig:f?{aspectRatio:f}:void 0,...(r=m?.google)!=null?r:{}}},headers:_,abortSignal:C}),$=(s=(i=(a=this.config._internal)==null?void 0:a.currentDate)==null?void 0:i.call(a))!=null?s:new Date,j=[];for(let R of D.content)R.type==="file"&&R.mediaType.startsWith("image/")&&j.push(he(R.data));return{images:j,warnings:w,providerMetadata:{google:{images:j.map(()=>({}))}},response:{timestamp:$,modelId:this.modelId,headers:(c=D.response)==null?void 0:c.headers},usage:D.usage?{inputTokens:D.usage.inputTokens.total,outputTokens:D.usage.outputTokens.total,totalTokens:((u=D.usage.inputTokens.total)!=null?u:0)+((d=D.usage.outputTokens.total)!=null?d:0)}:void 0}}};function xt(e){return e.startsWith("gemini-")}l(xt,"isGeminiModel");var Go=U(()=>F(n.object({predictions:n.array(n.object({bytesBase64Encoded:n.string()})).default([])}))),Ho=U(()=>F(n.object({personGeneration:n.enum(["dont_allow","allow_adult","allow_all"]).nullish(),aspectRatio:n.enum(["1:1","3:4","4:3","9:16","16:9"]).nullish()}))),qo=class{static{l(this,"GoogleGenerativeAIVideoModel")}constructor(e,t){this.modelId=e,this.config=t,this.specificationVersion="v3"}get provider(){return this.config.provider}get maxVideosPerCall(){return 4}async doGenerate(e){var t,o,r,a,i,s,c,u;let d=(r=(o=(t=this.config._internal)==null?void 0:t.currentDate)==null?void 0:o.call(t))!=null?r:new Date,v=[],y=await ie({provider:"google",providerOptions:e.providerOptions,schema:Vo}),h=[{}],f=h[0];if(e.prompt!=null&&(f.prompt=e.prompt),e.image!=null)if(e.image.type==="url")v.push({type:"unsupported",feature:"URL-based image input",details:"Google Generative AI video models require base64-encoded images. URL will be ignored."});else{let R=typeof e.image.data=="string"?e.image.data:$e(e.image.data);f.image={inlineData:{mimeType:e.image.mediaType||"image/png",data:R}}}y?.referenceImages!=null&&(f.referenceImages=y.referenceImages.map(R=>R.bytesBase64Encoded?{inlineData:{mimeType:"image/png",data:R.bytesBase64Encoded}}:R.gcsUri?{gcsUri:R.gcsUri}:R));let T={sampleCount:e.n};if(e.aspectRatio&&(T.aspectRatio=e.aspectRatio),e.resolution){let R={"1280x720":"720p","1920x1080":"1080p","3840x2160":"4k"};T.resolution=R[e.resolution]||e.resolution}if(e.duration&&(T.durationSeconds=e.duration),e.seed&&(T.seed=e.seed),y!=null){let R=y;R.personGeneration!==void 0&&R.personGeneration!==null&&(T.personGeneration=R.personGeneration),R.negativePrompt!==void 0&&R.negativePrompt!==null&&(T.negativePrompt=R.negativePrompt);for(let[q,Z]of Object.entries(R))["pollIntervalMs","pollTimeoutMs","personGeneration","negativePrompt","referenceImages"].includes(q)||(T[q]=Z)}let{value:m}=await Y({url:`${this.config.baseURL}/models/${this.modelId}:predictLongRunning`,headers:W(await X(this.config.headers),e.headers),body:{instances:h,parameters:T},successfulResponseHandler:K(Et),failedResponseHandler:oe,abortSignal:e.abortSignal,fetch:this.config.fetch}),_=m.name;if(!_)throw new le({name:"GOOGLE_VIDEO_GENERATION_ERROR",message:"No operation name returned from API"});let C=(a=y?.pollIntervalMs)!=null?a:1e4,g=(i=y?.pollTimeoutMs)!=null?i:6e5,b=Date.now(),w=m,x;for(;!w.done;){if(Date.now()-b>g)throw new le({name:"GOOGLE_VIDEO_GENERATION_TIMEOUT",message:`Video generation timed out after ${g}ms`});if(await ge(C),(s=e.abortSignal)!=null&&s.aborted)throw new le({name:"GOOGLE_VIDEO_GENERATION_ABORTED",message:"Video generation request was aborted"});let{value:R,responseHeaders:q}=await _e({url:`${this.config.baseURL}/${_}`,headers:W(await X(this.config.headers),e.headers),successfulResponseHandler:K(Et),failedResponseHandler:oe,abortSignal:e.abortSignal,fetch:this.config.fetch});w=R,x=q}if(w.error)throw new le({name:"GOOGLE_VIDEO_GENERATION_FAILED",message:`Video generation failed: ${w.error.message}`});let k=w.response;if(!((c=k?.generateVideoResponse)!=null&&c.generatedSamples)||k.generateVideoResponse.generatedSamples.length===0)throw new le({name:"GOOGLE_VIDEO_GENERATION_ERROR",message:`No videos in response. Response: ${JSON.stringify(w)}`});let I=[],D=[],$=await X(this.config.headers),j=$?.["x-goog-api-key"];for(let R of k.generateVideoResponse.generatedSamples)if((u=R.video)!=null&&u.uri){let q=j?`${R.video.uri}${R.video.uri.includes("?")?"&":"?"}key=${j}`:R.video.uri;I.push({type:"url",url:q,mediaType:"video/mp4"}),D.push({uri:R.video.uri})}if(I.length===0)throw new le({name:"GOOGLE_VIDEO_GENERATION_ERROR",message:"No valid videos in response"});return{videos:I,warnings:v,response:{timestamp:d,modelId:this.modelId,headers:x},providerMetadata:{google:{videos:D}}}}},Et=n.object({name:n.string().nullish(),done:n.boolean().nullish(),error:n.object({code:n.number().nullish(),message:n.string(),status:n.string().nullish()}).nullish(),response:n.object({generateVideoResponse:n.object({generatedSamples:n.array(n.object({video:n.object({uri:n.string().nullish()}).nullish()})).nullish()}).nullish()}).nullish()}),Vo=U(()=>F(n.object({pollIntervalMs:n.number().positive().nullish(),pollTimeoutMs:n.number().positive().nullish(),personGeneration:n.enum(["dont_allow","allow_adult","allow_all"]).nullish(),negativePrompt:n.string().nullish(),referenceImages:n.array(n.object({bytesBase64Encoded:n.string().nullish(),gcsUri:n.string().nullish()})).nullish()}).passthrough()));function Ve(e){var t,o,r,a,i,s,c,u;if(e==null)return{inputTokens:{total:void 0,noCache:void 0,cacheRead:void 0,cacheWrite:void 0},outputTokens:{total:void 0,text:void 0,reasoning:void 0},raw:void 0};let d=(t=e.total_input_tokens)!=null?t:0,v=(o=e.total_output_tokens)!=null?o:0,y=(r=e.total_thought_tokens)!=null?r:0,h=(a=e.total_cached_tokens)!=null?a:0;return{inputTokens:{total:(i=e.total_input_tokens)!=null?i:void 0,noCache:e.total_input_tokens==null?void 0:d-h,cacheRead:(s=e.total_cached_tokens)!=null?s:void 0,cacheWrite:void 0},outputTokens:{total:e.total_output_tokens==null&&e.total_thought_tokens==null?void 0:v+y,text:(c=e.total_output_tokens)!=null?c:void 0,reasoning:(u=e.total_thought_tokens)!=null?u:void 0},raw:e}}l(Ve,"convertGoogleInteractionsUsage");var Bo={pdf:"application/pdf",txt:"text/plain",md:"text/markdown",markdown:"text/markdown",doc:"application/msword",docx:"application/vnd.openxmlformats-officedocument.wordprocessingml.document"};function Dt(e){let t=e.toLowerCase();for(let[o,r]of Object.entries(Bo))if(t.endsWith(`.${o}`))return r;return"application/octet-stream"}l(Dt,"inferDocMediaType");function Lt(e){let t=e.split("/"),o=t[t.length-1];return o&&o.length>0?o:void 0}l(Lt,"basename");function Zo({annotation:e,generateId:t}){var o,r,a,i,s;switch(e.type){case"url_citation":{let c=e;return c.url==null||c.url.length===0?void 0:{type:"source",sourceType:"url",id:t(),url:c.url,...c.title!=null?{title:c.title}:{}}}case"file_citation":{let c=e,u=(r=(o=c.document_uri)!=null?o:c.source)!=null?r:c.file_name;if(u==null||u.length===0)return;if(u.startsWith("http://")||u.startsWith("https://"))return{type:"source",sourceType:"url",id:t(),url:u,...c.file_name!=null?{title:c.file_name}:{}};let d=(a=c.file_name)!=null?a:Lt(u),v=Dt(u);return{type:"source",sourceType:"document",id:t(),mediaType:v,title:(s=(i=c.file_name)!=null?i:d)!=null?s:u,...d!=null?{filename:d}:{}}}case"place_citation":{let c=e;return c.url==null||c.url.length===0?void 0:{type:"source",sourceType:"url",id:t(),url:c.url,...c.name!=null?{title:c.name}:{}}}default:return}}l(Zo,"annotationToSource");function $t({block:e,generateId:t}){var o,r,a,i,s,c,u,d,v,y,h;let f=[];switch(e.type){case"url_context_result":{let T=(o=e.result)!=null?o:[];for(let m of T)m?.url==null||m.url.length===0||m.status!=null&&m.status!=="success"||f.push({type:"source",sourceType:"url",id:t(),url:m.url});break}case"google_search_result":{let T=(r=e.result)!=null?r:[];for(let m of T){let _=m?.url;_==null||_.length===0||f.push({type:"source",sourceType:"url",id:t(),url:_,...m.title!=null?{title:m.title}:{}})}break}case"google_maps_result":{let T=(a=e.result)!=null?a:[];for(let m of T)for(let _ of(i=m.places)!=null?i:[])_.url==null||_.url.length===0||f.push({type:"source",sourceType:"url",id:t(),url:_.url,..._.name!=null?{title:_.name}:{}});break}case"file_search_result":{let T=(s=e.result)!=null?s:[];for(let m of T){if(m==null||typeof m!="object")continue;let _=m,C=(u=(c=_.document_uri)!=null?c:_.source)!=null?u:_.file_name;if(C==null||C.length===0)continue;if(C.startsWith("http://")||C.startsWith("https://")){f.push({type:"source",sourceType:"url",id:t(),url:C,..._.title!=null?{title:_.title}:{}});continue}let g=(d=_.file_name)!=null?d:Lt(C),b=Dt(C);f.push({type:"source",sourceType:"document",id:t(),mediaType:b,title:(h=(y=(v=_.title)!=null?v:_.file_name)!=null?y:g)!=null?h:C,...g!=null?{filename:g}:{}})}break}default:break}return f}l($t,"builtinToolResultToSources");function Ge({annotations:e,generateId:t}){var o;if(e==null)return[];let r=new Set,a=[];for(let i of e){let s=Zo({annotation:i,generateId:t});if(s==null)continue;let c=s.sourceType==="url"?`url:${s.url}`:`doc:${(o=s.filename)!=null?o:s.title}`;r.has(c)||(r.add(c),a.push(s))}return a}l(Ge,"annotationsToSources");function Be({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";case"cancelled":return"other";default:return"other"}}l(Be,"mapGoogleInteractionsFinishReason");var Jo=new Set(["google_search_call","code_execution_call","url_context_call","file_search_call","google_maps_call","mcp_server_tool_call"]),Wo=new Set(["google_search_result","code_execution_result","url_context_result","file_search_result","google_maps_result","mcp_server_tool_result"]);function Ko(e){return e.replace(/_call$/,"")}l(Ko,"builtinToolNameFromCallType");function Yo(e){return e.replace(/_result$/,"")}l(Yo,"builtinToolNameFromResultType");function At({warnings:e,generateId:t,includeRawChunks:o,serviceTier:r}){let a,i,s=r,c,u=!1,d=new Map,v=new Set;function y(h){var f;return h.sourceType==="url"?`url:${h.url}`:`doc:${(f=h.filename)!=null?f:h.title}`}return l(y,"sourceKey"),new TransformStream({start(h){h.enqueue({type:"stream-start",warnings:e})},transform(h,f){var T,m,_,C,g,b,w,x,k,I,D,$,j,R,q,Z;if(o&&f.enqueue({type:"raw",rawValue:h.rawValue}),!h.success){c="failed",f.enqueue({type:"error",error:h.error});return}let V=h.value;switch(V.event_type){case"interaction.start":{let p=V.interaction;a=p?.id!=null&&p.id.length>0?p.id:void 0;let S=p?.created,O;if(typeof S=="string"){let P=new Date(S);Number.isNaN(P.getTime())||(O=P)}f.enqueue({type:"response-metadata",...a!=null?{id:a}:{},modelId:p?.model,...O?{timestamp:O}:{}});break}case"content.start":{let E=V,p=E.content,S=E.index,O=`${a??"interaction"}:${S}`;if(p?.type==="text"){d.set(S,{kind:"text",id:O,emittedSourceKeys:new Set}),f.enqueue({type:"text-start",id:O});let P=Ge({annotations:p.annotations,generateId:t});for(let M of P){let G=y(M);v.has(G)||(v.add(G),f.enqueue(M))}}else if(p?.type==="image"){let P=p;d.set(S,{kind:"image",id:O,...P.data!=null?{data:P.data}:{},...P.mime_type!=null?{mimeType:P.mime_type}:{},...P.uri!=null?{uri:P.uri}:{}})}else if(p?.type==="thought"){let P=p.signature;d.set(S,{kind:"reasoning",id:O,...P!=null?{signature:P}:{}}),f.enqueue({type:"reasoning-start",id:O})}else if(p?.type==="function_call"){let P=p,M=(T=P.id)!=null?T:O;u=!0;let G={kind:"function_call",id:O,toolCallId:M,toolName:P.name,arguments:(m=P.arguments)!=null?m:{},...P.signature!=null?{signature:P.signature}:{},startEmitted:!1};d.set(S,G),G.toolName!=null&&(f.enqueue({type:"tool-input-start",id:M,toolName:G.toolName}),G.startEmitted=!0)}else if(p?.type!=null&&Jo.has(p.type)){let P=p.type==="mcp_server_tool_call"?(_=p.name)!=null?_:"mcp_server_tool":Ko(p.type),M=(C=p.id)!=null?C:O,G={kind:"builtin_tool_call",id:O,blockType:p.type,toolCallId:M,toolName:P,arguments:(g=p.arguments)!=null?g:{},callEmitted:!1};d.set(S,G)}else if(p?.type!=null&&Wo.has(p.type)){let P=p.type==="mcp_server_tool_result"?(b=p.name)!=null?b:"mcp_server_tool":Yo(p.type),M=(w=p.call_id)!=null?w:O,G={kind:"builtin_tool_result",id:O,blockType:p.type,callId:M,toolName:P,result:(x=p.result)!=null?x:null,...p.is_error!=null?{isError:p.is_error}:{},resultEmitted:!1};d.set(S,G)}else d.set(S,{kind:"unknown",id:O});break}case"content.delta":{let E=V,p=d.get(E.index);if(p==null)break;let S=E.delta;if(p.kind==="text"&&S?.type==="text"){let O=(k=S.text)!=null?k:"";O.length>0&&f.enqueue({type:"text-delta",id:p.id,delta:O})}else if(p.kind==="text"&&S?.type==="text_annotation"){let O=Ge({annotations:S.annotations,generateId:t});for(let P of O){let M=y(P);v.has(M)||(v.add(M),p.emittedSourceKeys.add(M),f.enqueue(P))}}else if(p.kind==="image"&&S?.type==="image")S.data!=null&&(p.data=S.data),S.mime_type!=null&&(p.mimeType=S.mime_type),S.uri!=null&&(p.uri=S.uri);else if(p.kind==="reasoning"){if(S?.type==="thought_summary"){let O=S.content;O?.type==="text"&&typeof O.text=="string"&&f.enqueue({type:"reasoning-delta",id:p.id,delta:O.text})}else if(S?.type==="thought_signature"){let O=S.signature;O!=null&&(p.signature=O)}}else p.kind==="function_call"&&S?.type==="function_call"?(S.id!=null&&(p.toolCallId=S.id),S.name!=null&&(p.toolName=S.name),S.arguments!=null&&(p.arguments=S.arguments),S.signature!=null&&(p.signature=S.signature),!p.startEmitted&&p.toolName!=null&&(f.enqueue({type:"tool-input-start",id:p.toolCallId,toolName:p.toolName}),p.startEmitted=!0),u=!0):p.kind==="builtin_tool_call"&&S?.type===p.blockType?(S.id!=null&&(p.toolCallId=S.id),S.arguments!=null&&(p.arguments=S.arguments),S.name!=null&&p.blockType==="mcp_server_tool_call"&&(p.toolName=S.name)):p.kind==="builtin_tool_result"&&S?.type===p.blockType&&(S.call_id!=null&&(p.callId=S.call_id),S.result!==void 0&&(p.result=S.result),S.is_error!=null&&(p.isError=S.is_error),S.name!=null&&p.blockType==="mcp_server_tool_result"&&(p.toolName=S.name));break}case"content.stop":{let E=V,p=d.get(E.index);if(p==null)break;if(p.kind==="text"){let S=a!=null?{google:{interactionId:a}}:void 0;f.enqueue({type:"text-end",id:p.id,...S?{providerMetadata:S}:{}})}else if(p.kind==="reasoning"){let S={};p.signature!=null&&(S.signature=p.signature),a!=null&&(S.interactionId=a);let O=Object.keys(S).length>0?{google:S}:void 0;f.enqueue({type:"reasoning-end",id:p.id,...O?{providerMetadata:O}:{}})}else if(p.kind==="image"){let S={};a!=null&&(S.interactionId=a);let O=Object.keys(S).length>0?{google:S}:void 0;if(p.data!=null&&p.data.length>0)f.enqueue({type:"file",mediaType:(I=p.mimeType)!=null?I:"image/png",data:p.data,...O?{providerMetadata:O}:{}});else if(p.uri!=null&&p.uri.length>0){let P={google:{...a!=null?{interactionId:a}:{},imageUri:p.uri}};f.enqueue({type:"file",mediaType:(D=p.mimeType)!=null?D:"image/png",data:"",providerMetadata:P})}}else if(p.kind==="function_call"){let S=($=p.toolName)!=null?$:"unknown",O=JSON.stringify((j=p.arguments)!=null?j:{});p.startEmitted||f.enqueue({type:"tool-input-start",id:p.toolCallId,toolName:S}),f.enqueue({type:"tool-input-delta",id:p.toolCallId,delta:O}),f.enqueue({type:"tool-input-end",id:p.toolCallId});let P={};p.signature!=null&&(P.signature=p.signature),a!=null&&(P.interactionId=a);let M=Object.keys(P).length>0?{google:P}:void 0;f.enqueue({type:"tool-call",toolCallId:p.toolCallId,toolName:S,input:O,...M?{providerMetadata:M}:{}})}else if(p.kind==="builtin_tool_call"&&!p.callEmitted)f.enqueue({type:"tool-call",toolCallId:p.toolCallId,toolName:p.toolName,input:JSON.stringify((R=p.arguments)!=null?R:{}),providerExecuted:!0}),p.callEmitted=!0;else if(p.kind==="builtin_tool_result"&&!p.resultEmitted){f.enqueue({type:"tool-result",toolCallId:p.callId,toolName:p.toolName,result:(q=p.result)!=null?q:null}),p.resultEmitted=!0;let S=$t({block:{type:p.blockType,call_id:p.callId,result:p.result},generateId:t});for(let O of S){let P=y(O);v.has(P)||(v.add(P),f.enqueue(O))}}d.delete(E.index);break}case"interaction.status_update":{c=V.status;break}case"interaction.complete":{let p=V.interaction;p?.id!=null&&p.id.length>0&&(a=p.id),p?.status!=null&&(c=p.status),p?.usage!=null&&(i=p.usage),p?.service_tier!=null&&(s=p.service_tier);break}case"error":{let E=V;c="failed";let p=(Z=E.error)!=null?Z:{message:"Unknown interaction error"};f.enqueue({type:"error",error:p});break}default:break}},flush(h){let f={unified:Be({status:c,hasFunctionCall:u}),raw:c},T={google:{...a!=null?{interactionId:a}:{},...s!=null?{serviceTier:s}:{}}};h.enqueue({type:"finish",finishReason:f,usage:Ve(i),providerMetadata:T})}})}l(At,"buildGoogleInteractionsStreamTransform");function Ft(e){let t=e.indexOf("/");return t===-1?e:e.substring(0,t)}l(Ft,"getTopLevelMediaType");function Pe(e){let t=e.indexOf("/");if(t===-1)return!1;let o=e.substring(t+1);return o.length>0&&o!=="*"}l(Pe,"isFullMediaType");function Xo({prompt:e,previousInteractionId:t,store:o,mediaResolution:r}){var a,i,s,c,u,d,v;let y=[],h=t!=null&&o===!1,f=t!=null&&o!==!1;h&&y.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 T=f?Qo({prompt:e,previousInteractionId:t}):e,m=[],_=[];for(let b of T)switch(b.role){case"system":{m.push(b.content);break}case"user":{let w=[];for(let k of b.content)if(k.type==="text"){let I={type:"text",text:k.text};w.push(I)}else if(k.type==="file"){let I=Rt({part:k,warnings:y,mediaResolution:r});I!=null&&w.push(I)}let x=nr(w);x.length>0&&_.push({role:"user",content:x});break}case"assistant":{let w=[];for(let x of b.content)if(x.type==="text")w.push({type:"text",text:x.text});else if(x.type==="reasoning"){let k=(i=(a=x.providerOptions)==null?void 0:a.google)==null?void 0:i.signature;w.push({type:"thought",...k!=null?{signature:k}:{},summary:x.text.length>0?[{type:"text",text:x.text}]:void 0})}else if(x.type==="file"){let k=Rt({part:x,warnings:y,mediaResolution:r});k!=null&&w.push(k)}else if(x.type==="tool-call"){let k=(c=(s=x.providerOptions)==null?void 0:s.google)==null?void 0:c.signature,I=typeof x.input=="string"?er(x.input):(u=x.input)!=null?u:{};w.push({type:"function_call",id:x.toolCallId,name:x.toolName,arguments:I,...k!=null?{signature:k}:{}})}else y.push({type:"other",message:`google.interactions: unsupported assistant content part type "${x.type}"; part dropped.`});w.length>0&&_.push({role:"model",content:w});break}case"tool":{let w=[];for(let x of b.content){if(x.type!=="tool-result"){y.push({type:"other",message:`google.interactions: unsupported tool message part type "${x.type}"; part dropped.`});continue}let k=tr({toolCallId:x.toolCallId,toolName:x.toolName,output:x.output,signature:(v=(d=x.providerOptions)==null?void 0:d.google)==null?void 0:v.signature,warnings:y});w.push(k)}w.length>0&&_.push({role:"user",content:w});break}}let C=m.length>0?m.join(`
28
+
29
+ `):void 0,g;return _.length===0?g="":_.length===1&&_[0].role==="user"&&Array.isArray(_[0].content)?g=_[0].content:g=_,{input:g,systemInstruction:C,warnings:y}}l(Xo,"convertToGoogleInteractionsInput");function Rt({part:e,warnings:t,mediaResolution:o}){let r=Ft(e.mediaType),a;switch(r){case"image":a="image";break;case"audio":a="audio";break;case"video":a="video";break;case"application":a="document";break;default:a=void 0}if(a==null){t.push({type:"other",message:`google.interactions: unsupported file media type "${e.mediaType}"; part dropped.`});return}let i=o!=null&&(a==="image"||a==="video")?{resolution:o}:{};if(e.data instanceof URL)return{type:a,uri:e.data.toString(),...Pe(e.mediaType)?{mime_type:e.mediaType}:{},...i};if(!Pe(e.mediaType)){t.push({type:"other",message:`google.interactions: inline file data requires a full IANA media type (e.g. "image/png"), got "${e.mediaType}"; part dropped.`});return}return{type:a,data:he(e.data),mime_type:e.mediaType,...i}}l(Rt,"convertFilePartToContent");function Qo({prompt:e,previousInteractionId:t}){let o=[],r=new Set;for(let a of e){if(a.role==="assistant"){if(a.content.some(s=>{var c,u;return((u=(c=s.providerOptions)==null?void 0:c.google)==null?void 0:u.interactionId)===t})){for(let s of a.content)s.type==="tool-call"&&r.add(s.toolCallId);continue}o.push(a);continue}if(a.role==="tool"){let i=a.content.filter(s=>s.type!=="tool-result"?!0:!r.has(s.toolCallId));if(i.length===0)continue;o.push({...a,content:i});continue}o.push(a)}return o}l(Qo,"compactPromptForPreviousInteraction");function er(e){try{let t=JSON.parse(e);return t!=null&&typeof t=="object"&&!Array.isArray(t)?t:{value:t}}catch{return{value:e}}}l(er,"safeParseToolArgs");function tr({toolCallId:e,toolName:t,output:o,signature:r,warnings:a}){var i;let s={type:"function_result",call_id:e,name:t,...r!=null?{signature:r}:{}};switch(o.type){case"text":return{...s,result:o.value};case"json":return{...s,result:JSON.stringify(o.value)};case"error-text":return{...s,is_error:!0,result:o.value};case"error-json":return{...s,is_error:!0,result:JSON.stringify(o.value)};case"execution-denied":return{...s,is_error:!0,result:(i=o.reason)!=null?i:"Tool execution denied by user."};case"content":{let c=[];for(let u of o.value)if(u.type==="text")c.push({type:"text",text:u.text});else if(u.type==="image-data"){let d=ze({part:{type:"file",mediaType:u.mediaType,data:u.data},warnings:a});d!=null&&c.push(d)}else if(u.type==="image-url"){let d=ze({part:{type:"file",mediaType:"image/*",data:new URL(u.url)},warnings:a});d!=null&&c.push(d)}else if(u.type==="file-data"||u.type==="file-url"){let d=u.type==="file-data"?u.mediaType:"application/*";if(Ft(d)!=="image"){a.push({type:"other",message:`google.interactions: tool-result file with mediaType "${d}" is not supported (Interactions \`function_result.result\` accepts only text and image content); part dropped.`});continue}let y=ze({part:u.type==="file-data"?{type:"file",mediaType:u.mediaType,data:u.data}:{type:"file",mediaType:d,data:new URL(u.url)},warnings:a});y!=null&&c.push(y)}else a.push({type:"other",message:`google.interactions: tool-result content part type "${u.type}" is not supported; part dropped.`});return{...s,result:c}}}}l(tr,"convertToolResultPart");function ze({part:e,warnings:t}){if(e.data instanceof URL)return{type:"image",uri:e.data.toString(),...Pe(e.mediaType)?{mime_type:e.mediaType}:{}};if(!Pe(e.mediaType)){t.push({type:"other",message:`google.interactions: tool-result image part requires a full IANA media type (e.g. "image/png"), got "${e.mediaType}"; part dropped.`});return}return{type:"image",data:he(e.data),mime_type:e.mediaType}}l(ze,"filePartToImageBlock");function nr(e){if(e.length<2)return e;let t=[];for(let o of e){let r=t[t.length-1];if(o.type==="text"&&r!=null&&r.type==="text"&&r.annotations==null&&o.annotations==null){let a={type:"text",text:`${r.text}
30
+
31
+ ${o.text}`};t[t.length-1]=a;continue}t.push(o)}return t}l(nr,"mergeAdjacentTextContent");var Ee=l(()=>n.object({modality:n.string().nullish(),tokens:n.number().nullish()}).loose(),"tokenByModalitySchema"),Ut=l(()=>n.object({total_input_tokens:n.number().nullish(),total_output_tokens:n.number().nullish(),total_thought_tokens:n.number().nullish(),total_cached_tokens:n.number().nullish(),total_tool_use_tokens:n.number().nullish(),total_tokens:n.number().nullish(),input_tokens_by_modality:n.array(Ee()).nullish(),output_tokens_by_modality:n.array(Ee()).nullish(),cached_tokens_by_modality:n.array(Ee()).nullish(),tool_use_tokens_by_modality:n.array(Ee()).nullish(),grounding_tool_count:n.array(n.object({type:n.string().nullish(),count:n.number().nullish()}).loose()).nullish()}).loose(),"usageSchema2"),zt=l(()=>n.enum(["in_progress","requires_action","completed","failed","cancelled","incomplete"]),"interactionStatusSchema"),Gt=l(()=>{let e=n.object({type:n.literal("url_citation"),url:n.string().nullish(),title:n.string().nullish(),start_index:n.number().nullish(),end_index:n.number().nullish()}).loose(),t=n.object({type:n.literal("file_citation"),file_name:n.string().nullish(),document_uri:n.string().nullish(),source:n.string().nullish(),page_number:n.number().nullish(),media_id:n.string().nullish(),start_index:n.number().nullish(),end_index:n.number().nullish(),custom_metadata:n.record(n.string(),n.unknown()).nullish()}).loose(),o=n.object({type:n.literal("place_citation"),name:n.string().nullish(),url:n.string().nullish(),place_id:n.string().nullish(),start_index:n.number().nullish(),end_index:n.number().nullish()}).loose();return n.union([e,t,o,n.object({type:n.string()}).loose()])},"annotationSchema"),Ht=l(()=>n.object({type:n.string(),text:n.string().nullish(),data:n.string().nullish(),mime_type:n.string().nullish()}).loose(),"thoughtSummaryItemSchema"),qt=l(()=>{let e=n.object({type:n.literal("text"),text:n.string(),annotations:n.array(Gt()).nullish()}).loose(),t=n.object({type:n.literal("thought"),signature:n.string().nullish(),summary:n.array(Ht()).nullish()}).loose(),o=n.object({type:n.literal("function_call"),id:n.string(),name:n.string(),arguments:n.record(n.string(),n.unknown()).nullish(),signature:n.string().nullish()}).loose(),r=n.object({type:n.literal("image"),data:n.string().nullish(),mime_type:n.string().nullish(),resolution:n.enum(["low","medium","high","ultra_high"]).nullish(),uri:n.string().nullish()}).loose(),a=n.object({type:n.enum(["google_search_call","code_execution_call","url_context_call","file_search_call","google_maps_call","mcp_server_tool_call"]),id:n.string(),arguments:n.record(n.string(),n.unknown()).nullish(),name:n.string().nullish(),server_name:n.string().nullish(),search_type:n.string().nullish(),signature:n.string().nullish()}).loose(),i=n.object({type:n.enum(["google_search_result","code_execution_result","url_context_result","file_search_result","google_maps_result","mcp_server_tool_result"]),call_id:n.string(),result:n.unknown().nullish(),is_error:n.boolean().nullish(),name:n.string().nullish(),server_name:n.string().nullish(),signature:n.string().nullish()}).loose();return n.union([e,r,t,o,a,i,n.object({type:n.string()}).loose()])},"contentBlockSchema"),He=U(()=>F(n.object({id:n.string().nullish(),created:n.string().nullish(),updated:n.string().nullish(),status:zt(),model:n.string().nullish(),agent:n.string().nullish(),outputs:n.array(qt()).nullish(),usage:Ut().nullish(),service_tier:n.string().nullish(),previous_interaction_id:n.string().nullish(),response_modalities:n.array(n.string()).nullish()}).loose())),Vt=U(()=>F((()=>{let e=zt(),t=Gt(),o=Ht(),r=n.object({event_type:n.literal("interaction.start"),event_id:n.string().nullish(),interaction:n.object({id:n.string().nullish(),created:n.string().nullish(),model:n.string().nullish(),agent:n.string().nullish(),status:e.nullish()}).loose()}).loose(),a=n.object({event_type:n.literal("content.start"),event_id:n.string().nullish(),index:n.number(),content:qt()}).loose(),i=n.object({type:n.literal("text"),text:n.string()}).loose(),s=n.object({type:n.literal("thought_summary"),content:o.nullish()}).loose(),c=n.object({type:n.literal("thought_signature"),signature:n.string().nullish()}).loose(),u=n.object({type:n.literal("function_call"),id:n.string(),name:n.string(),arguments:n.record(n.string(),n.unknown()).nullish(),signature:n.string().nullish()}).loose(),d=n.object({type:n.literal("text_annotation"),annotations:n.array(t).nullish()}).loose(),v=n.object({type:n.literal("image"),data:n.string().nullish(),mime_type:n.string().nullish(),resolution:n.enum(["low","medium","high","ultra_high"]).nullish(),uri:n.string().nullish()}).loose(),y=n.object({type:n.enum(["google_search_call","code_execution_call","url_context_call","file_search_call","google_maps_call","mcp_server_tool_call"]),id:n.string(),arguments:n.record(n.string(),n.unknown()).nullish(),name:n.string().nullish(),server_name:n.string().nullish(),search_type:n.string().nullish(),signature:n.string().nullish()}).loose(),h=n.object({type:n.enum(["google_search_result","code_execution_result","url_context_result","file_search_result","google_maps_result","mcp_server_tool_result"]),call_id:n.string(),result:n.unknown().nullish(),is_error:n.boolean().nullish(),name:n.string().nullish(),server_name:n.string().nullish(),signature:n.string().nullish()}).loose(),f=n.object({type:n.string()}).loose(),T=n.union([i,v,s,c,u,d,y,h,f]),m=n.object({event_type:n.literal("content.delta"),event_id:n.string().nullish(),index:n.number(),delta:T}).loose(),_=n.object({event_type:n.literal("content.stop"),event_id:n.string().nullish(),index:n.number()}).loose(),C=n.object({event_type:n.literal("interaction.status_update"),event_id:n.string().nullish(),interaction_id:n.string().nullish(),status:e}).loose(),g=n.object({event_type:n.literal("interaction.complete"),event_id:n.string().nullish(),interaction:n.object({id:n.string().nullish(),status:e.nullish(),usage:Ut().nullish(),service_tier:n.string().nullish()}).loose()}).loose(),b=n.object({event_type:n.literal("error"),event_id:n.string().nullish(),error:n.object({code:n.string().nullish(),message:n.string().nullish()}).loose().nullish()}).loose(),w=n.object({event_type:n.string()}).loose();return n.union([r,a,m,_,C,g,b,w])})())),or=U(()=>F(n.object({previousInteractionId:n.string().nullish(),store:n.boolean().nullish(),agent:n.string().nullish(),agentConfig:n.union([n.object({type:n.literal("dynamic")}).loose(),n.object({type:n.literal("deep-research"),thinkingSummaries:n.enum(["auto","none"]).nullish(),visualization:n.enum(["off","auto"]).nullish(),collaborativePlanning:n.boolean().nullish()})]).nullish(),thinkingLevel:n.enum(["minimal","low","medium","high"]).nullish(),thinkingSummaries:n.enum(["auto","none"]).nullish(),imageConfig:n.object({aspectRatio:n.enum(["1:1","2:3","3:2","3:4","4:3","4:5","5:4","9:16","16:9","21:9","1:8","8:1","1:4","4:1"]).nullish(),imageSize:n.enum(["1K","2K","4K","512"]).nullish()}).nullish(),mediaResolution:n.enum(["low","medium","high","ultra_high"]).nullish(),responseModalities:n.array(n.enum(["text","image","audio","video","document"])).nullish(),serviceTier:n.enum(["flex","standard","priority"]).nullish(),systemInstruction:n.string().nullish(),signature:n.string().nullish(),interactionId:n.string().nullish(),pollingTimeoutMs:n.number().int().positive().nullish()})));function Ae({signature:e,interactionId:t}){let o={};return e!=null&&(o.signature=e),t!=null&&(o.interactionId=t),Object.keys(o).length>0?{providerMetadata:{google:o}}:{}}l(Ae,"googleProviderMetadata");var rr=new Set(["google_search_call","code_execution_call","url_context_call","file_search_call","google_maps_call","mcp_server_tool_call"]),ar=new Set(["google_search_result","code_execution_result","url_context_result","file_search_result","google_maps_result","mcp_server_tool_result"]);function ir(e){return e.replace(/_call$/,"")}l(ir,"builtinToolNameFromCallType2");function sr(e){return e.replace(/_result$/,"")}l(sr,"builtinToolNameFromResultType2");function Bt({outputs:e,generateId:t,interactionId:o}){var r,a,i,s,c,u,d,v,y,h;let f=[],T=!1;if(e==null)return{content:f,hasFunctionCall:T};for(let m of e){if(m==null||typeof m!="object")continue;let _=m.type;if(typeof _=="string")switch(_){case"text":{let C=(r=m.text)!=null?r:"",g=m.annotations;f.push({type:"text",text:C,...Ae({interactionId:o})});let b=Ge({annotations:g,generateId:t});for(let w of b)f.push(w);break}case"thought":{let C=m,b=(Array.isArray(C.summary)?C.summary:[]).filter(w=>w?.type==="text"&&typeof w.text=="string").map(w=>w.text).join(`
32
+ `);f.push({type:"reasoning",text:b,...Ae({signature:C.signature,interactionId:o})});break}case"image":{let C=m;C.data!=null&&C.data.length>0?f.push({type:"file",mediaType:(a=C.mime_type)!=null?a:"image/png",data:C.data,...Ae({interactionId:o})}):C.uri!=null&&C.uri.length>0&&f.push({type:"file",mediaType:(i=C.mime_type)!=null?i:"image/png",data:"",providerMetadata:{google:{...o!=null?{interactionId:o}:{},imageUri:C.uri}}});break}case"function_call":{T=!0;let C=m;f.push({type:"tool-call",toolCallId:C.id,toolName:C.name,input:JSON.stringify((s=C.arguments)!=null?s:{}),...Ae({signature:C.signature,interactionId:o})});break}default:{if(rr.has(_)){let C=m,g=_==="mcp_server_tool_call"?(c=C.name)!=null?c:"mcp_server_tool":ir(_),b=JSON.stringify((u=C.arguments)!=null?u:{});f.push({type:"tool-call",toolCallId:(d=C.id)!=null?d:t(),toolName:g,input:b,providerExecuted:!0})}else if(ar.has(_)){let C=m,g=_==="mcp_server_tool_result"?(v=C.name)!=null?v:"mcp_server_tool":sr(_);f.push({type:"tool-result",toolCallId:(y=C.call_id)!=null?y:t(),toolName:g,result:(h=C.result)!=null?h:null});let b=$t({block:m,generateId:t});for(let w of b)f.push(w)}break}}}return{content:f,hasFunctionCall:T}}l(Bt,"parseGoogleInteractionsOutputs");var lr=l(()=>globalThis.fetch,"getOriginalFetch");async function Zt({baseURL:e,interactionId:t,headers:o,fetch:r=lr()}){if(t==null||t.length===0)return;let a=`${e}/interactions/${encodeURIComponent(t)}/cancel`;try{let i=await r(a,{method:"POST",headers:ye(W({"Content-Type":"application/json"},o),ke()),body:"{}"});try{await i.text()}catch{}}catch{}}l(Zt,"cancelGoogleInteraction");var ur=new Set(["completed","failed","cancelled","incomplete"]);function qe(e){return e!=null&&ur.has(e)}l(qe,"isTerminalStatus");var cr=1e3,dr=1e4,pr=1800*1e3;async function gr({baseURL:e,interactionId:t,headers:o,fetch:r,abortSignal:a,initialDelayMs:i=cr,maxDelayMs:s=dr,timeoutMs:c=pr}){if(t==null||t.length===0)throw new Error("google.interactions: cannot poll a background interaction without an id. The POST response did not include an interaction id.");let u=Date.now(),d=i,v=`${e}/interactions/${encodeURIComponent(t)}`,y=l(()=>Zt({baseURL:e,interactionId:t,headers:o,fetch:r}),"cancelOnServer");try{for(;;){if(a?.aborted)throw await y(),new DOMException("Polling was aborted","AbortError");if(Date.now()-u>c)throw new Error(`google.interactions: timed out polling interaction ${t} after ${c}ms.`);await ge(d,{abortSignal:a});let{value:h,rawValue:f,responseHeaders:T}=await _e({url:v,headers:o,failedResponseHandler:oe,successfulResponseHandler:K(He),abortSignal:a,fetch:r});if(qe(h.status))return{response:h,rawResponse:f,responseHeaders:T};d=Math.min(d*2,s)}}catch(h){throw ue(h)&&await y(),h}}l(gr,"pollGoogleInteractionUntilTerminal");function hr({tools:e,toolChoice:t}){var o,r,a,i;let s=[],c=e?.length?e:void 0;if(c==null)return{tools:void 0,toolChoice:void 0,toolWarnings:s};let u=[];for(let y of c){if(y.type==="function"){u.push({type:"function",name:y.name,description:(o=y.description)!=null?o:"",parameters:y.inputSchema});continue}if(y.type==="provider"){let h=(r=y.args)!=null?r:{};switch(y.id){case"google.google_search":{let f=h.searchTypes,T;if(f!=null&&typeof f=="object"){let m=[];f.webSearch!=null&&m.push("web_search"),f.imageSearch!=null&&m.push("image_search"),m.length>0&&(T=m)}u.push({type:"google_search",...T!=null?{search_types:T}:{}});break}case"google.code_execution":{u.push({type:"code_execution"});break}case"google.url_context":{u.push({type:"url_context"});break}case"google.file_search":{u.push({type:"file_search",...h.fileSearchStoreNames!=null?{file_search_store_names:h.fileSearchStoreNames}:{},...h.topK!=null?{top_k:h.topK}:{},...h.metadataFilter!=null?{metadata_filter:h.metadataFilter}:{}});break}case"google.google_maps":{u.push({type:"google_maps",...h.latitude!=null?{latitude:h.latitude}:{},...h.longitude!=null?{longitude:h.longitude}:{},...h.enableWidget!=null?{enable_widget:h.enableWidget}:{}});break}case"google.computer_use":{u.push({type:"computer_use",environment:(a=h.environment)!=null?a:"browser",...h.excludedPredefinedFunctions!=null?{excludedPredefinedFunctions:h.excludedPredefinedFunctions}:{}});break}case"google.mcp_server":{u.push({type:"mcp_server",...h.name!=null?{name:h.name}:{},...h.url!=null?{url:h.url}:{},...h.headers!=null?{headers:h.headers}:{},...h.allowedTools!=null?{allowed_tools:h.allowedTools}:{}});break}case"google.retrieval":{let f=(i=h.vertexAiSearchConfig)!=null?i:void 0;u.push({type:"retrieval",...h.retrievalTypes!=null?{retrieval_types:h.retrievalTypes}:{retrieval_types:["vertex_ai_search"]},...f!=null?{vertex_ai_search_config:f}:{}});break}default:{s.push({type:"unsupported",feature:`provider-defined tool ${y.id}`,details:`provider-defined tool ${y.id} is not supported by google.interactions; tool dropped.`});break}}continue}s.push({type:"unsupported",feature:`tool of type ${y.type}`,details:"Only function tools and google.* provider-defined tools are supported by google.interactions; tool dropped."})}let d=u.some(y=>y.type==="function"),v;if(t!=null&&d)switch(t.type){case"auto":v="auto";break;case"required":v="any";break;case"none":v="none";break;case"tool":v={allowed_tools:{mode:"validated",tools:[t.toolName]}};break}return{tools:u.length>0?u:void 0,toolChoice:v,toolWarnings:s}}l(hr,"prepareGoogleInteractionsTools");var fr=3,mr=500;function vr({baseURL:e,interactionId:t,headers:o,fetch:r,abortSignal:a,maxRetries:i=fr,retryDelayMs:s=mr}){if(t.length===0)throw new Error("google.interactions: cannot stream a background interaction without an id.");let c={...o,accept:"text/event-stream"},u,d=!1,v=0,y=!1,h,f=new AbortController,T=l(()=>f.abort(),"upstreamAbortHandler");a!=null&&(a.aborted?f.abort():a.addEventListener("abort",T,{once:!0}));let m=f.signal;function _(){let g=`${e}/interactions/${encodeURIComponent(t)}`,b=new URLSearchParams({stream:"true"});return u!=null&&b.set("last_event_id",u),`${g}?${b.toString()}`}l(_,"buildUrl");async function C(){let{value:g}=await _e({url:_(),headers:c,failedResponseHandler:oe,successfulResponseHandler:be(Vt),abortSignal:m,fetch:r});return g.getReader()}return l(C,"openReader"),new ReadableStream({async start(g){try{for(;!d&&!m.aborted;){if(h==null)try{h=await C(),y=!1}catch(b){if(ue(b)||m.aborted){g.error(b);return}if(v++,v>=i){g.error(b);return}await ge(s*v,{abortSignal:m});continue}try{let{done:b,value:w}=await h.read();if(b){if(h=void 0,d)break;if(y)v=0;else{if(v++,v>=i){g.error(new Error("google.interactions: SSE stream closed without producing any events."));return}await ge(s*v,{abortSignal:m})}continue}if(y=!0,w.success){let x=w.value;typeof x.event_id=="string"&&x.event_id.length>0&&(u=x.event_id),(x.event_type==="interaction.complete"||x.event_type==="error")&&(d=!0)}g.enqueue(w)}catch(b){if(ue(b)||m.aborted){g.error(b);return}if(h=void 0,v++,v>=i){g.error(b);return}await ge(s*v,{abortSignal:m})}}g.close()}catch(b){g.error(b)}finally{a?.removeEventListener("abort",T),h?.cancel().catch(()=>{}),h=void 0,m.aborted&&!d&&await Zt({baseURL:e,interactionId:t,headers:o,fetch:r})}},cancel(){f.abort(),h?.cancel().catch(()=>{}),h=void 0}})}l(vr,"streamGoogleInteractionEvents");function yr({response:e,warnings:t,generateId:o,includeRawChunks:r,headerServiceTier:a}){return new ReadableStream({start(i){var s,c,u;i.enqueue({type:"stream-start",warnings:t});let d=typeof e.id=="string"&&e.id.length>0?e.id:void 0,v,y=e.created;if(typeof y=="string"){let b=new Date(y);Number.isNaN(b.getTime())||(v=b)}i.enqueue({type:"response-metadata",...d!=null?{id:d}:{},modelId:(s=e.model)!=null?s:void 0,...v?{timestamp:v}:{}}),r&&i.enqueue({type:"raw",rawValue:e});let{content:h,hasFunctionCall:f}=Bt({outputs:(c=e.outputs)!=null?c:null,generateId:o,interactionId:d}),T=0,m=l(()=>`${d??"agent"}:${T++}`,"nextBlockId");for(let b of h)switch(b.type){case"text":{let w=m(),x=b.providerMetadata;i.enqueue({type:"text-start",id:w}),b.text.length>0&&i.enqueue({type:"text-delta",id:w,delta:b.text}),i.enqueue({type:"text-end",id:w,...x?{providerMetadata:x}:{}});break}case"reasoning":{let w=m(),x=b.providerMetadata;i.enqueue({type:"reasoning-start",id:w}),b.text.length>0&&i.enqueue({type:"reasoning-delta",id:w,delta:b.text}),i.enqueue({type:"reasoning-end",id:w,...x?{providerMetadata:x}:{}});break}case"tool-call":{let w=b.providerMetadata;i.enqueue({type:"tool-input-start",id:b.toolCallId,toolName:b.toolName,...b.providerExecuted?{providerExecuted:b.providerExecuted}:{}}),i.enqueue({type:"tool-input-delta",id:b.toolCallId,delta:b.input}),i.enqueue({type:"tool-input-end",id:b.toolCallId}),i.enqueue({type:"tool-call",toolCallId:b.toolCallId,toolName:b.toolName,input:b.input,...b.providerExecuted?{providerExecuted:b.providerExecuted}:{},...w?{providerMetadata:w}:{}});break}case"tool-result":{i.enqueue({type:"tool-result",toolCallId:b.toolCallId,toolName:b.toolName,result:b.result});break}case"source":case"file":{i.enqueue(b);break}default:break}let _=(u=e.service_tier)!=null?u:a,C={unified:Be({status:e.status,hasFunctionCall:f}),raw:e.status},g={google:{...d!=null?{interactionId:d}:{},..._!=null?{serviceTier:_}:{}}};i.enqueue({type:"finish",finishReason:C,usage:Ve(e.usage),providerMetadata:g}),i.close()}})}l(yr,"synthesizeGoogleInteractionsAgentStream");var _r=class{static{l(this,"GoogleInteractionsLanguageModel")}constructor(e,t){this.specificationVersion="v3",typeof e=="string"?(this.modelId=e,this.agent=void 0):(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){var t,o,r,a,i,s,c,u,d,v,y,h,f,T,m,_,C,g,b,w;let x=[],k=await ie({provider:"google",providerOptions:e.providerOptions,schema:or}),I=this.agent!=null,D=e.tools!=null&&e.tools.length>0,$,j;if(D&&I)x.push({type:"other",message:"google.interactions: tools are not supported when an agent is set; tools will be omitted from the request body."});else if(D){let M=hr({tools:e.tools,toolChoice:e.toolChoice});$=M.tools,j=M.toolChoice,x.push(...M.toolWarnings)}let R,q;((t=e.responseFormat)==null?void 0:t.type)==="json"&&(I?x.push({type:"other",message:"google.interactions: structured output (responseFormat) is not supported when an agent is set; responseFormat will be ignored."}):(R="application/json",e.responseFormat.schema!=null&&(q=e.responseFormat.schema)));let{input:Z,systemInstruction:V,warnings:fe}=Xo({prompt:e.prompt,previousInteractionId:(o=k?.previousInteractionId)!=null?o:void 0,store:(r=k?.store)!=null?r:void 0,mediaResolution:(a=k?.mediaResolution)!=null?a:void 0});x.push(...fe);let E=V,p=(i=k?.systemInstruction)!=null?i:void 0;E!=null&&p!=null?x.push({type:"other",message:"google.interactions: both AI SDK system message and providerOptions.google.systemInstruction were set; using the AI SDK system message."}):E==null&&p!=null&&(E=p);let S;if(I){let M=[];e.temperature!=null&&M.push("temperature"),e.topP!=null&&M.push("topP"),e.seed!=null&&M.push("seed"),e.stopSequences!=null&&e.stopSequences.length>0&&M.push("stopSequences"),e.maxOutputTokens!=null&&M.push("maxOutputTokens"),k?.thinkingLevel!=null&&M.push("thinkingLevel"),k?.thinkingSummaries!=null&&M.push("thinkingSummaries"),k?.imageConfig!=null&&M.push("imageConfig"),M.length>0&&x.push({type:"other",message:`google.interactions: ${M.join(", ")} ${M.length===1?"is":"are"} not supported when an agent is set; use providerOptions.google.agentConfig instead. Dropped from the request body.`}),S=void 0}else S=Re({temperature:(s=e.temperature)!=null?s:void 0,top_p:(c=e.topP)!=null?c:void 0,seed:(u=e.seed)!=null?u:void 0,stop_sequences:e.stopSequences!=null&&e.stopSequences.length>0?e.stopSequences:void 0,max_output_tokens:(d=e.maxOutputTokens)!=null?d:void 0,thinking_level:(v=k?.thinkingLevel)!=null?v:void 0,thinking_summaries:(y=k?.thinkingSummaries)!=null?y:void 0,image_config:k?.imageConfig!=null?Re({aspect_ratio:(h=k.imageConfig.aspectRatio)!=null?h:void 0,image_size:(f=k.imageConfig.imageSize)!=null?f:void 0}):void 0,tool_choice:j});let O;if(I&&k?.agentConfig!=null){let M=k.agentConfig;M.type==="deep-research"?O=Re({type:"deep-research",thinking_summaries:(T=M.thinkingSummaries)!=null?T:void 0,visualization:(m=M.visualization)!=null?m:void 0,collaborative_planning:(_=M.collaborativePlanning)!=null?_:void 0}):M.type==="dynamic"&&(O={type:"dynamic"})}return{args:Re({...I?{agent:this.agent}:{model:this.modelId},input:Z,system_instruction:E,tools:$,response_format:q,response_mime_type:R,response_modalities:k?.responseModalities!=null?k.responseModalities:void 0,previous_interaction_id:(C=k?.previousInteractionId)!=null?C:void 0,service_tier:(g=k?.serviceTier)!=null?g:void 0,store:(b=k?.store)!=null?b:void 0,generation_config:S!=null&&Object.keys(S).length>0?S:void 0,agent_config:O,...I?{background:!0}:{}}),warnings:x,isAgent:I,pollingTimeoutMs:(w=k?.pollingTimeoutMs)!=null?w:void 0}}async doGenerate(e){var t,o,r,a,i,s;let{args:c,warnings:u,isAgent:d,pollingTimeoutMs:v}=await this.getArgs(e),y=`${this.config.baseURL}/interactions`,h=W(this.config.headers?await X(this.config.headers):void 0,e.headers),f=await Y({url:y,headers:h,body:c,failedResponseHandler:oe,successfulResponseHandler:K(He),abortSignal:e.abortSignal,fetch:this.config.fetch}),{responseHeaders:T,value:m,rawValue:_}=f;if(d&&!qe(m.status)){let D=await gr({baseURL:this.config.baseURL,interactionId:m.id,headers:h,fetch:this.config.fetch,abortSignal:e.abortSignal,timeoutMs:v});m=D.response,_=D.rawResponse,T=(t=D.responseHeaders)!=null?t:T}let C=typeof m.id=="string"&&m.id.length>0?m.id:void 0,{content:g,hasFunctionCall:b}=Bt({outputs:(o=m.outputs)!=null?o:null,generateId:(r=this.config.generateId)!=null?r:te,interactionId:C}),w={unified:Be({status:m.status,hasFunctionCall:b}),raw:m.status},x=(i=(a=m.service_tier)!=null?a:T?.["x-gemini-service-tier"])!=null?i:void 0,k={google:{...C!=null?{interactionId:C}:{},...x!=null?{serviceTier:x}:{}}},I;if(typeof m.created=="string"){let D=new Date(m.created);Number.isNaN(D.getTime())||(I=D)}return{content:g,finishReason:w,usage:Ve(m.usage),warnings:u,providerMetadata:k,request:{body:c},response:{headers:T,body:_,...C!=null?{id:C}:{},...I?{timestamp:I}:{},modelId:(s=m.model)!=null?s:void 0}}}async doStream(e){var t;let{args:o,warnings:r,isAgent:a,pollingTimeoutMs:i}=await this.getArgs(e),s=`${this.config.baseURL}/interactions`,c=W(this.config.headers?await X(this.config.headers):void 0,e.headers);if(a)return this.doStreamBackground({args:o,warnings:r,url:s,mergedHeaders:c,options:e,pollingTimeoutMs:i});let u={...o,stream:!0},{responseHeaders:d,value:v}=await Y({url:s,headers:c,body:u,failedResponseHandler:oe,successfulResponseHandler:be(Vt),abortSignal:e.abortSignal,fetch:this.config.fetch}),y=d?.["x-gemini-service-tier"],h=At({warnings:r,generateId:(t=this.config.generateId)!=null?t:te,includeRawChunks:e.includeRawChunks,serviceTier:y});return{stream:v.pipeThrough(h),request:{body:u},response:{headers:d}}}async doStreamBackground({args:e,warnings:t,url:o,mergedHeaders:r,options:a,pollingTimeoutMs:i}){var s,c;let u=await Y({url:o,headers:r,body:e,failedResponseHandler:oe,successfulResponseHandler:K(He),abortSignal:a.abortSignal,fetch:this.config.fetch}),{responseHeaders:d,value:v}=u,y=v.id;if(y==null||y.length===0)throw new Error("google.interactions: background POST response did not include an interaction id; cannot stream the result.");let h=d?.["x-gemini-service-tier"];if(qe(v.status))return{stream:yr({response:v,warnings:t,generateId:(s=this.config.generateId)!=null?s:te,includeRawChunks:a.includeRawChunks,headerServiceTier:h}),request:{body:e},response:{headers:d}};let f=vr({baseURL:this.config.baseURL,interactionId:y,headers:r,fetch:this.config.fetch,abortSignal:a.abortSignal}),T=At({warnings:t,generateId:(c=this.config.generateId)!=null?c:te,includeRawChunks:a.includeRawChunks,serviceTier:h});return{stream:f.pipeThrough(T),request:{body:e},response:{headers:d}}}};function Re(e){let t={};for(let[o,r]of Object.entries(e))r!==void 0&&(t[o]=r);return t}l(Re,"pruneUndefined");function br(e={}){var t,o;let r=(t=_t(e.baseURL))!=null?t:"https://generativelanguage.googleapis.com/v1beta",a=(o=e.name)!=null?o:"google.generative-ai",i=l(()=>ye({"x-goog-api-key":ct({apiKey:e.apiKey,environmentVariableName:"GOOGLE_GENERATIVE_AI_API_KEY",description:"Google Generative AI"}),...e.headers},`ai-sdk/google/${ao}`),"getHeaders"),s=l(h=>{var f;return new Ot(h,{provider:a,baseURL:r,headers:i,generateId:(f=e.generateId)!=null?f:te,supportedUrls:l(()=>({"*":[new RegExp(`^${r}/files/.*$`),new RegExp("^https://(?:www\\.)?youtube\\.com/watch\\?v=[\\w-]+(?:&[\\w=&.-]*)?$"),new RegExp("^https://youtu\\.be/[\\w-]+(?:\\?[\\w=&.-]*)?$")]}),"supportedUrls"),fetch:e.fetch})},"createChatModel"),c=l(h=>new uo(h,{provider:a,baseURL:r,headers:i,fetch:e.fetch}),"createEmbeddingModel"),u=l((h,f={})=>new zo(h,f,{provider:a,baseURL:r,headers:i,fetch:e.fetch}),"createImageModel"),d=l(h=>{var f;return new qo(h,{provider:a,baseURL:r,headers:i,fetch:e.fetch,generateId:(f=e.generateId)!=null?f:te})},"createVideoModel"),v=l(h=>{var f;return new _r(h,{provider:`${a}.interactions`,baseURL:r,headers:i,generateId:(f=e.generateId)!=null?f:te,fetch:e.fetch})},"createInteractionsModel"),y=l(function(h){if(new.target)throw new Error("The Google Generative AI model function cannot be called with the new keyword.");return s(h)},"provider");return y.specificationVersion="v3",y.languageModel=s,y.chat=s,y.generativeAI=s,y.embedding=c,y.embeddingModel=c,y.textEmbedding=c,y.textEmbeddingModel=c,y.image=u,y.imageModel=u,y.video=d,y.videoModel=d,y.interactions=v,y.tools=Uo,y}l(br,"createGoogleGenerativeAI");var Pa=br();export{ao as VERSION,br as createGoogleGenerativeAI,Pa as google};