@muxcodecli/cli 1.15.17 → 1.15.18

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 (204) hide show
  1. package/dist/bip-bop-01-ga21wr3r.mp3 +0 -0
  2. package/dist/bip-bop-03-kgfd4rq4.mp3 +0 -0
  3. package/dist/chunk-0hqmdrjr.js +3 -0
  4. package/dist/chunk-0npjzye0.js +2 -0
  5. package/dist/chunk-0pe6y883.js +2 -0
  6. package/dist/chunk-0qqpjj2h.js +3 -0
  7. package/dist/chunk-0r3h8jgj.js +2 -0
  8. package/dist/chunk-11285jfy.js +3 -0
  9. package/dist/chunk-11ant2kk.js +3 -0
  10. package/dist/chunk-124qmktt.js +18 -0
  11. package/dist/chunk-138ntz3h.js +2 -0
  12. package/dist/chunk-1e73ypg5.js +3 -0
  13. package/dist/chunk-1evcc54z.js +3 -0
  14. package/dist/chunk-1mqsg5s7.js +75 -0
  15. package/dist/chunk-1pv2317e.js +7 -0
  16. package/dist/chunk-1y3ssxx6.js +2 -0
  17. package/dist/chunk-20x8vsdn.js +7 -0
  18. package/dist/chunk-21x3anp4.js +9 -0
  19. package/dist/chunk-22qpzg37.js +212 -0
  20. package/dist/chunk-2bt5mtgm.js +3 -0
  21. package/dist/chunk-2d95ene8.js +2 -0
  22. package/dist/chunk-2h2zq5cp.js +2 -0
  23. package/dist/chunk-2pc63est.js +2 -0
  24. package/dist/chunk-33gs9z8d.js +2 -0
  25. package/dist/chunk-33vwwxjk.js +2 -0
  26. package/dist/chunk-3dq7hfxc.js +9 -0
  27. package/dist/chunk-3jvft1k1.js +2 -0
  28. package/dist/chunk-4jqh4mpm.js +2 -0
  29. package/dist/chunk-4mgyaytc.js +672 -0
  30. package/dist/chunk-4va8fzq1.js +2 -0
  31. package/dist/chunk-4wkq9y2z.js +7 -0
  32. package/dist/chunk-526nbm9e.js +2 -0
  33. package/dist/chunk-5a6895cv.js +37 -0
  34. package/dist/chunk-5e9dq2av.js +2 -0
  35. package/dist/chunk-5jn2z3nf.js +3 -0
  36. package/dist/chunk-5npr1qyq.js +574 -0
  37. package/dist/chunk-5sfky0gz.js +8 -0
  38. package/dist/chunk-5t7xqdvk.js +3 -0
  39. package/dist/chunk-5tpqj6ag.js +10 -0
  40. package/dist/chunk-5v5015am.js +12 -0
  41. package/dist/chunk-5wawdxv2.js +7 -0
  42. package/dist/chunk-6btrg3ff.js +2 -0
  43. package/dist/chunk-6skbzman.js +6 -0
  44. package/dist/chunk-6sz698ew.js +11 -0
  45. package/dist/chunk-6xzrzmsr.js +2 -0
  46. package/dist/chunk-7848rf5q.js +63 -0
  47. package/dist/chunk-7ep2edcv.js +12 -0
  48. package/dist/chunk-7svw66kw.js +13 -0
  49. package/dist/chunk-7xgr8vx6.js +2 -0
  50. package/dist/chunk-7zjn6m1m.js +2 -0
  51. package/dist/chunk-8atqb297.js +12 -0
  52. package/dist/chunk-8ebkxjar.js +7 -0
  53. package/dist/chunk-8j3aw4qg.js +3 -0
  54. package/dist/chunk-8jy0dvcn.js +3 -0
  55. package/dist/chunk-8refh038.js +2 -0
  56. package/dist/chunk-93cszp8k.js +3 -0
  57. package/dist/chunk-93ze3gcb.js +2 -0
  58. package/dist/chunk-98yxzxtd.js +2 -0
  59. package/dist/chunk-9g64kggy.js +3 -0
  60. package/dist/chunk-9h1pwxb2.js +8 -0
  61. package/dist/chunk-9j4j9nrm.js +2 -0
  62. package/dist/chunk-9kzczwh0.js +3 -0
  63. package/dist/chunk-9n629gtn.js +3 -0
  64. package/dist/chunk-9y59sxde.js +2 -0
  65. package/dist/chunk-a2m5jyd8.js +2 -0
  66. package/dist/chunk-a595cp8s.js +2 -0
  67. package/dist/chunk-ak0k3m4q.js +3 -0
  68. package/dist/chunk-apksmrz9.js +3 -0
  69. package/dist/chunk-b05r09sj.js +10 -0
  70. package/dist/chunk-b47e563q.js +2 -0
  71. package/dist/chunk-b57avnse.js +2 -0
  72. package/dist/chunk-bfjq7w7k.js +2 -0
  73. package/dist/chunk-bhc70qet.js +3 -0
  74. package/dist/chunk-bvtscj68.js +2 -0
  75. package/dist/chunk-bw2cy5v0.js +8 -0
  76. package/dist/chunk-c7dvyh2x.js +2 -0
  77. package/dist/chunk-cbz8b7g5.js +3 -0
  78. package/dist/chunk-cw4vbnet.js +3 -0
  79. package/dist/chunk-czcj3j9y.js +2 -0
  80. package/dist/chunk-dg466kdp.js +2 -0
  81. package/dist/chunk-dmscgnhq.js +2 -0
  82. package/dist/chunk-dtk4m8rm.js +3 -0
  83. package/dist/chunk-dy7akyj3.js +2 -0
  84. package/dist/chunk-e2wv2sp4.js +2 -0
  85. package/dist/chunk-e8j03wnd.js +3 -0
  86. package/dist/chunk-egkp6tct.js +2 -0
  87. package/dist/chunk-emfc800a.js +2 -0
  88. package/dist/chunk-envnht72.js +4 -0
  89. package/dist/chunk-eskw1cj2.js +3 -0
  90. package/dist/chunk-ezz15tyg.js +2 -0
  91. package/dist/chunk-fkmzj0qt.js +16 -0
  92. package/dist/chunk-fqt3c3g5.js +4 -0
  93. package/dist/chunk-frbht418.js +19 -0
  94. package/dist/chunk-ftz8cqfq.js +2 -0
  95. package/dist/chunk-g4jxdrr6.js +2 -0
  96. package/dist/chunk-g52xzmrr.js +2 -0
  97. package/dist/chunk-gbtvkje9.js +4 -0
  98. package/dist/chunk-gm9msqq5.js +8 -0
  99. package/dist/chunk-gxat3dpd.js +3 -0
  100. package/dist/chunk-hfppq1w5.js +4 -0
  101. package/dist/chunk-jdg870gy.js +1683 -0
  102. package/dist/chunk-jfz77m78.js +3 -0
  103. package/dist/chunk-jg9r58pf.js +16 -0
  104. package/dist/chunk-jgzt4945.js +2 -0
  105. package/dist/chunk-jh2epywq.js +2 -0
  106. package/dist/chunk-jpj6a56k.js +2 -0
  107. package/dist/chunk-jw4sgq23.js +2 -0
  108. package/dist/chunk-jws11ngd.js +2 -0
  109. package/dist/chunk-jxhz82qt.js +2 -0
  110. package/dist/chunk-k19y2psf.js +4 -0
  111. package/dist/chunk-k6cj14zk.js +2 -0
  112. package/dist/chunk-kktm0pdc.js +3 -0
  113. package/dist/chunk-kmr27ake.js +160 -0
  114. package/dist/chunk-kyhwvbvq.js +2 -0
  115. package/dist/chunk-mgn5pejx.js +2 -0
  116. package/dist/chunk-mskyzxb3.js +3 -0
  117. package/dist/chunk-my9cfmvt.js +5 -0
  118. package/dist/chunk-n4vx7kvs.js +389 -0
  119. package/dist/chunk-nc44rvs7.js +23 -0
  120. package/dist/chunk-ng3vbpmy.js +3 -0
  121. package/dist/chunk-nmnp5g5p.js +228 -0
  122. package/dist/chunk-nn0t3xmn.js +2 -0
  123. package/dist/chunk-npr41z9a.js +19 -0
  124. package/dist/chunk-ntvr3177.js +25 -0
  125. package/dist/chunk-pkc5hkha.js +2 -0
  126. package/dist/chunk-ppg6zhae.js +3 -0
  127. package/dist/chunk-pqwm9zk1.js +6 -0
  128. package/dist/chunk-ptvjmfqx.js +2 -0
  129. package/dist/chunk-q1r48y0y.js +34 -0
  130. package/dist/chunk-q9yddd1r.js +3 -0
  131. package/dist/chunk-qavtgsrh.js +2 -0
  132. package/dist/chunk-qvh8ghjw.js +7 -0
  133. package/dist/chunk-qx6r187q.js +2 -0
  134. package/dist/chunk-r093mfa8.js +32 -0
  135. package/dist/chunk-rbaj9ktq.js +2 -0
  136. package/dist/chunk-rkf9ynkx.js +3 -0
  137. package/dist/chunk-rpp44jtx.js +3 -0
  138. package/dist/chunk-rrvwp351.js +2 -0
  139. package/dist/chunk-rs8fsgqt.js +81 -0
  140. package/dist/chunk-s4gy87ft.js +8 -0
  141. package/dist/chunk-s5qq2ch2.js +12 -0
  142. package/dist/chunk-s92578qx.js +71 -0
  143. package/dist/chunk-snsb760m.js +2 -0
  144. package/dist/chunk-sp1cvejp.js +2 -0
  145. package/dist/chunk-spb3tm25.js +4 -0
  146. package/dist/chunk-srnmswkj.js +2 -0
  147. package/dist/chunk-sxgbzwrs.js +2 -0
  148. package/dist/chunk-t2s6m9t2.js +35 -0
  149. package/dist/chunk-t98sdxty.js +2 -0
  150. package/dist/chunk-tbnxx5na.js +2 -0
  151. package/dist/chunk-tfxm3qz4.js +2 -0
  152. package/dist/chunk-treb38pz.js +3 -0
  153. package/dist/chunk-tvw8tfpr.js +6 -0
  154. package/dist/chunk-v107htgw.js +101 -0
  155. package/dist/chunk-v8at4gnt.js +2 -0
  156. package/dist/chunk-vmr3get8.js +2 -0
  157. package/dist/chunk-vqrnejgj.js +71 -0
  158. package/dist/chunk-vvwy955j.js +3 -0
  159. package/dist/chunk-w5jxffnq.js +2 -0
  160. package/dist/chunk-wcbh5jqy.js +3 -0
  161. package/dist/chunk-wfmrnep1.js +2 -0
  162. package/dist/chunk-wk11yy8h.js +3 -0
  163. package/dist/chunk-wn5f1tfj.js +2 -0
  164. package/dist/chunk-wpm2p1gq.js +3 -0
  165. package/dist/chunk-wxkyv5gj.js +2 -0
  166. package/dist/chunk-wyed730e.js +2 -0
  167. package/dist/chunk-x65zs89t.js +3 -0
  168. package/dist/chunk-x6zjq78z.js +2 -0
  169. package/dist/chunk-xedav0qx.js +3 -0
  170. package/dist/chunk-xmftb9ad.js +38 -0
  171. package/dist/chunk-xvtkw7hj.js +3 -0
  172. package/dist/chunk-xy0txg0n.js +2 -0
  173. package/dist/chunk-y7s5cpwr.js +34 -0
  174. package/dist/chunk-yg48tfvv.js +16 -0
  175. package/dist/chunk-ygpen625.js +3 -0
  176. package/dist/chunk-ymb45bt6.js +2 -0
  177. package/dist/chunk-yp2zfcvh.js +8 -0
  178. package/dist/chunk-z3mx7n44.js +3 -0
  179. package/dist/chunk-zaj612bw.js +3 -0
  180. package/dist/chunk-zb3179f9.js +3 -0
  181. package/dist/chunk-zhd8f4pc.js +759 -0
  182. package/dist/chunk-zjpnyah2.js +3 -0
  183. package/dist/cli/cmd/tui/worker.js +2 -0
  184. package/dist/highlights-eq9cgrbb.scm +604 -0
  185. package/dist/highlights-ghv9g403.scm +205 -0
  186. package/dist/highlights-hk7bwhj4.scm +284 -0
  187. package/dist/highlights-r812a2qc.scm +150 -0
  188. package/dist/highlights-x6tmsnaa.scm +115 -0
  189. package/dist/index.js +146 -5742
  190. package/dist/injections-73j83es3.scm +27 -0
  191. package/dist/muxcode-linux-x64 +0 -0
  192. package/dist/nope-03-2z8weyjw.mp3 +0 -0
  193. package/dist/photon_rs_bg-bq08arze.wasm +0 -0
  194. package/dist/staplebops-06-rz29m246.mp3 +0 -0
  195. package/dist/tree-sitter-3jzf13jk.wasm +0 -0
  196. package/dist/tree-sitter-bash-hq5s6fxb.wasm +0 -0
  197. package/dist/tree-sitter-javascript-nd0q4pe9.wasm +0 -0
  198. package/dist/tree-sitter-markdown-411r6y9b.wasm +0 -0
  199. package/dist/tree-sitter-markdown_inline-j5349f42.wasm +0 -0
  200. package/dist/tree-sitter-powershell-ryb2ffqs.wasm +0 -0
  201. package/dist/tree-sitter-typescript-zxjzwt75.wasm +0 -0
  202. package/dist/tree-sitter-zig-e78zbjpm.wasm +0 -0
  203. package/dist/yup-01-30ecpeh9.mp3 +0 -0
  204. package/package.json +2 -2
@@ -0,0 +1,12 @@
1
+ // @bun
2
+ import{Ai as s,Bi as dQ,Ci as zQ,Di as i,Fi as cQ,Ph as qQ,Vh as hQ,Wh as GQ,Xh as p,Zh as YQ,ai as _Q,bi as ZQ,ei as a,fi as LQ,gi as mQ,ii as HQ,ji as KQ,li as uQ,oi as h,qi as _,vi as e,wi as l,yi as t,zi as gQ}from"./chunk-124qmktt.js";import{Du as Q}from"./chunk-ntvr3177.js";import"./chunk-8j3aw4qg.js";var GX="3.0.73",LX=h(()=>_(Q.object({error:Q.object({code:Q.number().nullable(),message:Q.string(),status:Q.string()})}))),r=dQ({errorSchema:LX,errorToMessage:(X)=>X.error.message}),VX=Q.union([Q.object({text:Q.string()}),Q.object({inlineData:Q.object({mimeType:Q.string(),data:Q.string()})}),Q.object({fileData:Q.object({fileUri:Q.string(),mimeType:Q.string()})})]),WX=h(()=>_(Q.object({outputDimensionality:Q.number().optional(),taskType:Q.enum(["SEMANTIC_SIMILARITY","CLASSIFICATION","CLUSTERING","RETRIEVAL_DOCUMENT","RETRIEVAL_QUERY","QUESTION_ANSWERING","FACT_VERIFICATION","CODE_RETRIEVAL_QUERY"]).optional(),content:Q.array(Q.array(VX).min(1).nullable()).optional()}))),EX=class{constructor(X,Y){this.specificationVersion="v3",this.maxEmbeddingsPerCall=2048,this.supportsParallelCalls=!0,this.modelId=X,this.config=Y}get provider(){return this.config.provider}async doEmbed({values:X,headers:Y,abortSignal:Z,providerOptions:q}){let $=await e({provider:"google",providerOptions:q,schema:WX});if(X.length>this.maxEmbeddingsPerCall)throw new hQ({provider:this.provider,modelId:this.modelId,maxEmbeddingsPerCall:this.maxEmbeddingsPerCall,values:X});let L=p(await s(this.config.headers),Y),z=$==null?void 0:$.content;if(z!=null&&z.length!==X.length)throw Error(`The number of multimodal content entries (${z.length}) must match the number of values (${X.length}).`);if(X.length===1){let B=z==null?void 0:z[0],j=X[0]?[{text:X[0]}]:[],V=B!=null?[...j,...B]:[{text:X[0]}],{responseHeaders:W,value:A,rawValue:E}=await l({url:`${this.config.baseURL}/models/${this.modelId}:embedContent`,headers:L,body:{model:`models/${this.modelId}`,content:{parts:V},outputDimensionality:$==null?void 0:$.outputDimensionality,taskType:$==null?void 0:$.taskType},failedResponseHandler:r,successfulResponseHandler:i(jX),abortSignal:Z,fetch:this.config.fetch});return{warnings:[],embeddings:[A.embedding.values],usage:void 0,response:{headers:W,body:E}}}let{responseHeaders:H,value:G,rawValue:D}=await l({url:`${this.config.baseURL}/models/${this.modelId}:batchEmbedContents`,headers:L,body:{requests:X.map((B,j)=>{let V=z==null?void 0:z[j],W=B?[{text:B}]:[];return{model:`models/${this.modelId}`,content:{role:"user",parts:V!=null?[...W,...V]:[{text:B}]},outputDimensionality:$==null?void 0:$.outputDimensionality,taskType:$==null?void 0:$.taskType}})},failedResponseHandler:r,successfulResponseHandler:i(UX),abortSignal:Z,fetch:this.config.fetch});return{warnings:[],embeddings:G.embeddings.map((B)=>B.values),usage:void 0,response:{headers:H,body:D}}}},UX=h(()=>_(Q.object({embeddings:Q.array(Q.object({values:Q.array(Q.number())}))}))),jX=h(()=>_(Q.object({embedding:Q.object({values:Q.array(Q.number())})})));function MQ(X){var Y,Z,q,$;if(X==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 L=(Y=X.promptTokenCount)!=null?Y:0,z=(Z=X.candidatesTokenCount)!=null?Z:0,H=(q=X.cachedContentTokenCount)!=null?q:0,G=($=X.thoughtsTokenCount)!=null?$:0;return{inputTokens:{total:L,noCache:L-H,cacheRead:H,cacheWrite:void 0},outputTokens:{total:z+G,text:z,reasoning:G},raw:X}}function o(X,Y=!0){if(X==null)return;if(HX(X)){if(Y)return;if(typeof X==="object"&&X.description)return{type:"object",description:X.description};return{type:"object"}}if(typeof X==="boolean")return{type:"boolean",properties:{}};let{type:Z,description:q,required:$,properties:L,items:z,allOf:H,anyOf:G,oneOf:D,format:B,const:j,minLength:V,enum:W}=X,A={};if(q)A.description=q;if($)A.required=$;if(B)A.format=B;if(j!==void 0)A.enum=[j];if(Z)if(Array.isArray(Z)){let E=Z.includes("null"),U=Z.filter((w)=>w!=="null");if(U.length===0)A.type="null";else if(A.anyOf=U.map((w)=>({type:w})),E)A.nullable=!0}else A.type=Z;if(W!==void 0)A.enum=W;if(L!=null)A.properties=Object.entries(L).reduce((E,[U,w])=>{return E[U]=o(w,!1),E},{});if(z)A.items=Array.isArray(z)?z.map((E)=>o(E,!1)):o(z,!1);if(H)A.allOf=H.map((E)=>o(E,!1));if(G)if(G.some((E)=>typeof E==="object"&&(E==null?void 0:E.type)==="null")){let E=G.filter((U)=>!(typeof U==="object"&&(U==null?void 0:U.type)==="null"));if(E.length===1){let U=o(E[0],!1);if(typeof U==="object")A.nullable=!0,Object.assign(A,U)}else A.anyOf=E.map((U)=>o(U,!1)),A.nullable=!0}else A.anyOf=G.map((E)=>o(E,!1));if(D)A.oneOf=D.map((E)=>o(E,!1));if(V!==void 0)A.minLength=V;return A}function HX(X){return X!=null&&typeof X==="object"&&X.type==="object"&&(X.properties==null||Object.keys(X.properties).length===0)&&!X.additionalProperties}var DX=/^data:([^;,]+);base64,(.+)$/s;function FX(X){let Y=DX.exec(X);if(Y==null)return;return{mediaType:Y[1],data:Y[2]}}function BX(X){let Y=FX(X);if(Y==null)return;return{inlineData:{mimeType:Y.mediaType,data:Y.data}}}function AX(X,Y,Z){let q=[],$=[];for(let L of Z)switch(L.type){case"text":{$.push(L.text);break}case"image-data":case"file-data":{q.push({inlineData:{mimeType:L.mediaType,data:L.data}});break}case"image-url":case"file-url":{let z=BX(L.url);if(z!=null)q.push(z);else $.push(JSON.stringify(L));break}default:{$.push(JSON.stringify(L));break}}X.push({functionResponse:{name:Y,response:{name:Y,content:$.length>0?$.join(`
3
+ `):"Tool executed successfully."},...q.length>0?{parts:q}:{}}})}function NX(X,Y,Z){for(let q of Z)switch(q.type){case"text":X.push({functionResponse:{name:Y,response:{name:Y,content:q.text}}});break;case"image-data":X.push({inlineData:{mimeType:String(q.mediaType),data:String(q.data)}},{text:"Tool executed successfully and returned this image as a response"});break;default:X.push({text:JSON.stringify(q)});break}}function PX(X,Y){var Z,q,$,L,z,H,G,D;let B=[],j=[],V=!0,W=(Z=Y==null?void 0:Y.isGemmaModel)!=null?Z:!1,A=(q=Y==null?void 0:Y.providerOptionsName)!=null?q:"google",E=($=Y==null?void 0:Y.supportsFunctionResponseParts)!=null?$:!0;for(let{role:U,content:w}of X)switch(U){case"system":{if(!V)throw new GQ({functionality:"system messages are only supported at the beginning of the conversation"});B.push({text:w});break}case"user":{V=!1;let K=[];for(let F of w)switch(F.type){case"text":{K.push({text:F.text});break}case"file":{let N=F.mediaType==="image/*"?"image/jpeg":F.mediaType;K.push(F.data instanceof URL?{fileData:{mimeType:N,fileUri:F.data.toString()}}:{inlineData:{mimeType:N,data:ZQ(F.data)}});break}}j.push({role:"user",parts:K});break}case"assistant":{V=!1,j.push({role:"model",parts:w.map((K)=>{var F,N,M,R;let x=(R=(F=K.providerOptions)==null?void 0:F[A])!=null?R:A!=="google"?(N=K.providerOptions)==null?void 0:N.google:(M=K.providerOptions)==null?void 0:M.vertex,T=(x==null?void 0:x.thoughtSignature)!=null?String(x.thoughtSignature):void 0;switch(K.type){case"text":return K.text.length===0?void 0:{text:K.text,thoughtSignature:T};case"reasoning":return K.text.length===0?void 0:{text:K.text,thought:!0,thoughtSignature:T};case"file":{if(K.data instanceof URL)throw new GQ({functionality:"File data URLs in assistant messages are not supported"});return{inlineData:{mimeType:K.mediaType,data:ZQ(K.data)},...(x==null?void 0:x.thought)===!0?{thought:!0}:{},thoughtSignature:T}}case"tool-call":{let I=(x==null?void 0:x.serverToolCallId)!=null?String(x.serverToolCallId):void 0,k=(x==null?void 0:x.serverToolType)!=null?String(x.serverToolType):void 0;if(I&&k)return{toolCall:{toolType:k,args:typeof K.input==="string"?JSON.parse(K.input):K.input,id:I},thoughtSignature:T};return{functionCall:{name:K.toolName,args:K.input},thoughtSignature:T}}case"tool-result":{let I=(x==null?void 0:x.serverToolCallId)!=null?String(x.serverToolCallId):void 0,k=(x==null?void 0:x.serverToolType)!=null?String(x.serverToolType):void 0;if(I&&k)return{toolResponse:{toolType:k,response:K.output.type==="json"?K.output.value:{},id:I},thoughtSignature:T};return}}}).filter((K)=>K!==void 0)});break}case"tool":{V=!1;let K=[];for(let F of w){if(F.type==="tool-approval-response")continue;let N=(G=(L=F.providerOptions)==null?void 0:L[A])!=null?G:A!=="google"?(z=F.providerOptions)==null?void 0:z.google:(H=F.providerOptions)==null?void 0:H.vertex,M=(N==null?void 0:N.serverToolCallId)!=null?String(N.serverToolCallId):void 0,R=(N==null?void 0:N.serverToolType)!=null?String(N.serverToolType):void 0;if(M&&R){let T=(N==null?void 0:N.thoughtSignature)!=null?String(N.thoughtSignature):void 0;if(j.length>0){let I=j[j.length-1];if(I.role==="model"){I.parts.push({toolResponse:{toolType:R,response:F.output.type==="json"?F.output.value:{},id:M},thoughtSignature:T});continue}}}let x=F.output;if(x.type==="content")if(E)AX(K,F.toolName,x.value);else NX(K,F.toolName,x.value);else K.push({functionResponse:{name:F.toolName,response:{name:F.toolName,content:x.type==="execution-denied"?(D=x.reason)!=null?D:"Tool execution denied.":x.value}}})}j.push({role:"user",parts:K});break}}if(W&&B.length>0&&j.length>0&&j[0].role==="user"){let U=B.map((w)=>w.text).join(`
4
+
5
+ `);j[0].parts.unshift({text:U+`
6
+
7
+ `})}return{systemInstruction:B.length>0&&!W?{parts:B}:void 0,contents:j}}function OQ(X){return X.includes("/")?X:`models/${X}`}var yQ=h(()=>_(Q.object({responseModalities:Q.array(Q.enum(["TEXT","IMAGE"])).optional(),thinkingConfig:Q.object({thinkingBudget:Q.number().optional(),includeThoughts:Q.boolean().optional(),thinkingLevel:Q.enum(["minimal","low","medium","high"]).optional()}).optional(),cachedContent:Q.string().optional(),structuredOutputs:Q.boolean().optional(),safetySettings:Q.array(Q.object({category:Q.enum(["HARM_CATEGORY_UNSPECIFIED","HARM_CATEGORY_HATE_SPEECH","HARM_CATEGORY_DANGEROUS_CONTENT","HARM_CATEGORY_HARASSMENT","HARM_CATEGORY_SEXUALLY_EXPLICIT","HARM_CATEGORY_CIVIC_INTEGRITY"]),threshold:Q.enum(["HARM_BLOCK_THRESHOLD_UNSPECIFIED","BLOCK_LOW_AND_ABOVE","BLOCK_MEDIUM_AND_ABOVE","BLOCK_ONLY_HIGH","BLOCK_NONE","OFF"])})).optional(),threshold:Q.enum(["HARM_BLOCK_THRESHOLD_UNSPECIFIED","BLOCK_LOW_AND_ABOVE","BLOCK_MEDIUM_AND_ABOVE","BLOCK_ONLY_HIGH","BLOCK_NONE","OFF"]).optional(),audioTimestamp:Q.boolean().optional(),labels:Q.record(Q.string(),Q.string()).optional(),mediaResolution:Q.enum(["MEDIA_RESOLUTION_UNSPECIFIED","MEDIA_RESOLUTION_LOW","MEDIA_RESOLUTION_MEDIUM","MEDIA_RESOLUTION_HIGH"]).optional(),imageConfig:Q.object({aspectRatio:Q.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:Q.enum(["1K","2K","4K","512"]).optional()}).optional(),retrievalConfig:Q.object({latLng:Q.object({latitude:Q.number(),longitude:Q.number()}).optional()}).optional(),streamFunctionCallArguments:Q.boolean().optional(),serviceTier:Q.enum(["standard","flex","priority"]).optional()}))),wX={standard:"SERVICE_TIER_STANDARD",flex:"SERVICE_TIER_FLEX",priority:"SERVICE_TIER_PRIORITY"};function xX({tools:X,toolChoice:Y,modelId:Z,isVertexProvider:q=!1}){var $,L;X=(X==null?void 0:X.length)?X:void 0;let z=[],H=["gemini-flash-latest","gemini-flash-lite-latest","gemini-pro-latest"].some((U)=>U===Z),G=Z.includes("gemini-2")||Z.includes("gemini-3")||Z.includes("nano-banana")||H,D=Z.includes("gemini-3"),B=Z.includes("gemini-2.5")||Z.includes("gemini-3");if(X==null)return{tools:void 0,toolConfig:void 0,toolWarnings:z};let j=X.some((U)=>U.type==="function"),V=X.some((U)=>U.type==="provider");if(j&&V&&!D)z.push({type:"unsupported",feature:"combination of function and provider-defined tools"});if(V){let U=[];if(X.filter((K)=>K.type==="provider").forEach((K)=>{switch(K.id){case"google.google_search":if(G)U.push({googleSearch:{...K.args}});else z.push({type:"unsupported",feature:`provider-defined tool ${K.id}`,details:"Google Search requires Gemini 2.0 or newer."});break;case"google.enterprise_web_search":if(G)U.push({enterpriseWebSearch:{}});else z.push({type:"unsupported",feature:`provider-defined tool ${K.id}`,details:"Enterprise Web Search requires Gemini 2.0 or newer."});break;case"google.url_context":if(G)U.push({urlContext:{}});else z.push({type:"unsupported",feature:`provider-defined tool ${K.id}`,details:"The URL context tool is not supported with other Gemini models than Gemini 2."});break;case"google.code_execution":if(G)U.push({codeExecution:{}});else z.push({type:"unsupported",feature:`provider-defined tool ${K.id}`,details:"The code execution tool is not supported with other Gemini models than Gemini 2."});break;case"google.file_search":if(B)U.push({fileSearch:{...K.args}});else z.push({type:"unsupported",feature:`provider-defined tool ${K.id}`,details:"The file search tool is only supported with Gemini 2.5 models and Gemini 3 models."});break;case"google.vertex_rag_store":if(G)U.push({retrieval:{vertex_rag_store:{rag_resources:{rag_corpus:K.args.ragCorpus},similarity_top_k:K.args.topK}}});else z.push({type:"unsupported",feature:`provider-defined tool ${K.id}`,details:"The RAG store tool is not supported with other Gemini models than Gemini 2."});break;case"google.google_maps":if(G)U.push({googleMaps:{}});else z.push({type:"unsupported",feature:`provider-defined tool ${K.id}`,details:"The Google Maps grounding tool is not supported with Gemini models other than Gemini 2 or newer."});break;default:z.push({type:"unsupported",feature:`provider-defined tool ${K.id}`});break}}),j&&D&&U.length>0){let K=[];for(let N of X)if(N.type==="function")K.push({name:N.name,description:($=N.description)!=null?$:"",parameters:o(N.inputSchema)});let F={functionCallingConfig:{mode:"VALIDATED"},...!q&&{includeServerSideToolInvocations:!0}};if(Y!=null)switch(Y.type){case"auto":break;case"none":F.functionCallingConfig={mode:"NONE"};break;case"required":F.functionCallingConfig={mode:"ANY"};break;case"tool":F.functionCallingConfig={mode:"ANY",allowedFunctionNames:[Y.toolName]};break}return{tools:[...U,{functionDeclarations:K}],toolConfig:F,toolWarnings:z}}return{tools:U.length>0?U:void 0,toolConfig:void 0,toolWarnings:z}}let W=[],A=!1;for(let U of X)switch(U.type){case"function":if(W.push({name:U.name,description:(L=U.description)!=null?L:"",parameters:o(U.inputSchema)}),U.strict===!0)A=!0;break;default:z.push({type:"unsupported",feature:`function tool ${U.name}`});break}if(Y==null)return{tools:[{functionDeclarations:W}],toolConfig:A?{functionCallingConfig:{mode:"VALIDATED"}}:void 0,toolWarnings:z};let E=Y.type;switch(E){case"auto":return{tools:[{functionDeclarations:W}],toolConfig:{functionCallingConfig:{mode:A?"VALIDATED":"AUTO"}},toolWarnings:z};case"none":return{tools:[{functionDeclarations:W}],toolConfig:{functionCallingConfig:{mode:"NONE"}},toolWarnings:z};case"required":return{tools:[{functionDeclarations:W}],toolConfig:{functionCallingConfig:{mode:A?"VALIDATED":"ANY"}},toolWarnings:z};case"tool":return{tools:[{functionDeclarations:W}],toolConfig:{functionCallingConfig:{mode:A?"VALIDATED":"ANY",allowedFunctionNames:[Y.toolName]}},toolWarnings:z};default:throw new GQ({functionality:`tool choice type: ${E}`})}}var RX=class{constructor(){this.accumulatedArgs={},this.jsonText="",this.pathStack=[],this.stringOpen=!1}processPartialArgs(X){let Y="";for(let Z of X){let q=Z.jsonPath.replace(/^\$\./,"");if(!q)continue;let $=MX(q),L=OX(this.accumulatedArgs,$);if(Z.stringValue!=null&&L!==void 0){let G=JSON.stringify(Z.stringValue).slice(1,-1);SQ(this.accumulatedArgs,$,L+Z.stringValue),Y+=G;continue}let H=yX(Z);if(H==null)continue;SQ(this.accumulatedArgs,$,H.value),Y+=this.emitNavigationTo($,Z,H.json)}return this.jsonText+=Y,{currentJSON:this.accumulatedArgs,textDelta:Y}}finalize(){let X=JSON.stringify(this.accumulatedArgs),Y=X.slice(this.jsonText.length);return{finalJSON:X,closingDelta:Y}}ensureRoot(){if(this.pathStack.length===0)return this.pathStack.push({segment:"",isArray:!1,childCount:0}),"{";return""}emitNavigationTo(X,Y,Z){let q="";if(this.stringOpen)q+='"',this.stringOpen=!1;q+=this.ensureRoot();let $=X.slice(0,-1),L=X[X.length-1],z=this.findCommonStackDepth($);return q+=this.closeDownTo(z),q+=this.openDownTo($,L),q+=this.emitLeaf(L,Y,Z),q}findCommonStackDepth(X){let Y=Math.min(this.pathStack.length-1,X.length),Z=0;for(let q=0;q<Y;q++)if(this.pathStack[q+1].segment===X[q])Z++;else break;return Z+1}closeDownTo(X){let Y="";while(this.pathStack.length>X){let Z=this.pathStack.pop();Y+=Z.isArray?"]":"}"}return Y}openDownTo(X,Y){let Z="",q=this.pathStack.length-1;for(let $=q;$<X.length;$++){let L=X[$],z=this.pathStack[this.pathStack.length-1];if(z.childCount>0)Z+=",";if(z.childCount++,typeof L==="string")Z+=`${JSON.stringify(L)}:`;let G=typeof($+1<X.length?X[$+1]:Y)==="number";Z+=G?"[":"{",this.pathStack.push({segment:L,isArray:G,childCount:0})}return Z}emitLeaf(X,Y,Z){let q="",$=this.pathStack[this.pathStack.length-1];if($.childCount>0)q+=",";if($.childCount++,typeof X==="string")q+=`${JSON.stringify(X)}:`;if(Y.stringValue!=null&&Y.willContinue)q+=Z.slice(0,-1),this.stringOpen=!0;else q+=Z;return q}};function MX(X){let Y=[];for(let Z of X.split(".")){let q=Z.indexOf("[");if(q===-1)Y.push(Z);else{if(q>0)Y.push(Z.slice(0,q));for(let $ of Z.matchAll(/\[(\d+)\]/g))Y.push(parseInt($[1],10))}}return Y}function OX(X,Y){let Z=X;for(let q of Y){if(Z==null||typeof Z!=="object")return;Z=Z[q]}return Z}function SQ(X,Y,Z){let q=X;for(let $=0;$<Y.length-1;$++){let L=Y[$],z=Y[$+1];if(q[L]==null)q[L]=typeof z==="number"?[]:{};q=q[L]}q[Y[Y.length-1]]=Z}function yX(X){var Y,Z;let q=(Z=(Y=X.stringValue)!=null?Y:X.numberValue)!=null?Z:X.boolValue;if(q!=null)return{value:q,json:JSON.stringify(q)};if("nullValue"in X)return{value:null,json:"null"};return}function CQ({finishReason:X,hasToolCalls:Y}){switch(X){case"STOP":return Y?"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";case"FINISH_REASON_UNSPECIFIED":case"OTHER":default:return"other"}}var pQ=class{constructor(X,Y){this.specificationVersion="v3";var Z;this.modelId=X,this.config=Y,this.generateId=(Z=Y.generateId)!=null?Z:a}get provider(){return this.config.provider}get supportedUrls(){var X,Y,Z;return(Z=(Y=(X=this.config).supportedUrls)==null?void 0:Y.call(X))!=null?Z:{}}async getArgs({prompt:X,maxOutputTokens:Y,temperature:Z,topP:q,topK:$,frequencyPenalty:L,presencePenalty:z,stopSequences:H,responseFormat:G,seed:D,tools:B,toolChoice:j,providerOptions:V},{isStreaming:W=!1}={}){var A,E;let U=[],w=this.config.provider.includes("vertex")?"vertex":"google",K=await e({provider:w,providerOptions:V,schema:yQ});if(K==null&&w!=="google")K=await e({provider:"google",providerOptions:V,schema:yQ});let F=this.config.provider.startsWith("google.vertex.");if((B==null?void 0:B.some((d)=>d.type==="provider"&&d.id==="google.vertex_rag_store"))&&!F)U.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}).`});if((K==null?void 0:K.streamFunctionCallArguments)&&!F)U.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 N=K==null?void 0:K.serviceTier;if((K==null?void 0:K.serviceTier)&&F)N=wX[K.serviceTier];let M=this.modelId.toLowerCase().startsWith("gemma-"),R=this.modelId.startsWith("gemini-3"),{contents:x,systemInstruction:T}=PX(X,{isGemmaModel:M,providerOptionsName:w,supportsFunctionResponseParts:R}),{tools:I,toolConfig:k,toolWarnings:S}=xX({tools:B,toolChoice:j,modelId:this.modelId,isVertexProvider:F}),g=W&&F?(A=K==null?void 0:K.streamFunctionCallArguments)!=null?A:!1:void 0,c=k||g||(K==null?void 0:K.retrievalConfig)?{...k,...g&&{functionCallingConfig:{...k==null?void 0:k.functionCallingConfig,streamFunctionCallArguments:!0}},...(K==null?void 0:K.retrievalConfig)&&{retrievalConfig:K.retrievalConfig}}:void 0;return{args:{generationConfig:{maxOutputTokens:Y,temperature:Z,topK:$,topP:q,frequencyPenalty:L,presencePenalty:z,stopSequences:H,seed:D,responseMimeType:(G==null?void 0:G.type)==="json"?"application/json":void 0,responseSchema:(G==null?void 0:G.type)==="json"&&G.schema!=null&&((E=K==null?void 0:K.structuredOutputs)!=null?E:!0)?o(G.schema):void 0,...(K==null?void 0:K.audioTimestamp)&&{audioTimestamp:K.audioTimestamp},responseModalities:K==null?void 0:K.responseModalities,thinkingConfig:K==null?void 0:K.thinkingConfig,...(K==null?void 0:K.mediaResolution)&&{mediaResolution:K.mediaResolution},...(K==null?void 0:K.imageConfig)&&{imageConfig:K.imageConfig}},contents:x,systemInstruction:M?void 0:T,safetySettings:K==null?void 0:K.safetySettings,tools:I,toolConfig:c,cachedContent:K==null?void 0:K.cachedContent,labels:K==null?void 0:K.labels,serviceTier:N},warnings:[...U,...S],providerOptionsName:w}}async doGenerate(X){var Y,Z,q,$,L,z,H,G,D,B,j,V,W,A,E,U,w;let{args:K,warnings:F,providerOptionsName:N}=await this.getArgs(X),M=p(await s(this.config.headers),X.headers),{responseHeaders:R,value:x,rawValue:T}=await l({url:`${this.config.baseURL}/${OQ(this.modelId)}:generateContent`,headers:M,body:K,failedResponseHandler:r,successfulResponseHandler:i(CX),abortSignal:X.abortSignal,fetch:this.config.fetch}),I=x.candidates[0],k=[],S=(Z=(Y=I.content)==null?void 0:Y.parts)!=null?Z:[],g=x.usageMetadata,c,d;for(let O of S)if("executableCode"in O&&((q=O.executableCode)==null?void 0:q.code)){let J=this.config.generateId();c=J,k.push({type:"tool-call",toolCallId:J,toolName:"code_execution",input:JSON.stringify(O.executableCode),providerExecuted:!0})}else if("codeExecutionResult"in O&&O.codeExecutionResult)k.push({type:"tool-result",toolCallId:c,toolName:"code_execution",result:{outcome:O.codeExecutionResult.outcome,output:($=O.codeExecutionResult.output)!=null?$:""}}),c=void 0;else if("text"in O&&O.text!=null){let J=O.thoughtSignature?{[N]:{thoughtSignature:O.thoughtSignature}}:void 0;if(O.text.length===0){if(J!=null&&k.length>0){let P=k[k.length-1];P.providerMetadata=J}}else k.push({type:O.thought===!0?"reasoning":"text",text:O.text,providerMetadata:J})}else if("functionCall"in O&&O.functionCall.name!=null)k.push({type:"tool-call",toolCallId:this.config.generateId(),toolName:O.functionCall.name,input:JSON.stringify((L=O.functionCall.args)!=null?L:{}),providerMetadata:O.thoughtSignature?{[N]:{thoughtSignature:O.thoughtSignature}}:void 0});else if("inlineData"in O){let J=O.thought===!0,P=!!O.thoughtSignature;k.push({type:"file",data:O.inlineData.data,mediaType:O.inlineData.mimeType,providerMetadata:J||P?{[N]:{...J?{thought:!0}:{},...P?{thoughtSignature:O.thoughtSignature}:{}}}:void 0})}else if("toolCall"in O&&O.toolCall){let J=(z=O.toolCall.id)!=null?z:this.config.generateId();d=J,k.push({type:"tool-call",toolCallId:J,toolName:`server:${O.toolCall.toolType}`,input:JSON.stringify((H=O.toolCall.args)!=null?H:{}),providerExecuted:!0,dynamic:!0,providerMetadata:O.thoughtSignature?{[N]:{thoughtSignature:O.thoughtSignature,serverToolCallId:J,serverToolType:O.toolCall.toolType}}:{[N]:{serverToolCallId:J,serverToolType:O.toolCall.toolType}}})}else if("toolResponse"in O&&O.toolResponse){let J=(G=d!=null?d:O.toolResponse.id)!=null?G:this.config.generateId();k.push({type:"tool-result",toolCallId:J,toolName:`server:${O.toolResponse.toolType}`,result:(D=O.toolResponse.response)!=null?D:{},providerMetadata:O.thoughtSignature?{[N]:{thoughtSignature:O.thoughtSignature,serverToolCallId:J,serverToolType:O.toolResponse.toolType}}:{[N]:{serverToolCallId:J,serverToolType:O.toolResponse.toolType}}}),d=void 0}let $Q=(B=fQ({groundingMetadata:I.groundingMetadata,generateId:this.config.generateId}))!=null?B:[];for(let O of $Q)k.push(O);return{content:k,finishReason:{unified:CQ({finishReason:I.finishReason,hasToolCalls:k.some((O)=>O.type==="tool-call"&&!O.providerExecuted)}),raw:(j=I.finishReason)!=null?j:void 0},usage:MQ(g),warnings:F,providerMetadata:{[N]:{promptFeedback:(V=x.promptFeedback)!=null?V:null,groundingMetadata:(W=I.groundingMetadata)!=null?W:null,urlContextMetadata:(A=I.urlContextMetadata)!=null?A:null,safetyRatings:(E=I.safetyRatings)!=null?E:null,usageMetadata:g!=null?g:null,finishMessage:(U=I.finishMessage)!=null?U:null,serviceTier:(w=x.serviceTier)!=null?w:null}},request:{body:K},response:{headers:R,body:T}}}async doStream(X){let{args:Y,warnings:Z,providerOptionsName:q}=await this.getArgs(X,{isStreaming:!0}),$=p(await s(this.config.headers),X.headers),{responseHeaders:L,value:z}=await l({url:`${this.config.baseURL}/${OQ(this.modelId)}:streamGenerateContent?alt=sse`,headers:$,body:Y,failedResponseHandler:r,successfulResponseHandler:zQ(fX),abortSignal:X.abortSignal,fetch:this.config.fetch}),H={unified:"other",raw:void 0},G=void 0,D=void 0,B=null,j=null,V=null,W=this.config.generateId,A=!1,E=null,U=null,w=0,K=new Set,F,N,M=[];return{stream:z.pipeThrough(new TransformStream({start(R){R.enqueue({type:"stream-start",warnings:Z})},transform(R,x){var T,I,k,S,g,c,d,$Q,O,J,P,C;if(X.includeRawChunks)x.enqueue({type:"raw",rawValue:R.rawValue});if(!R.success){x.enqueue({type:"error",error:R.error});return}let f=R.value,b=f.usageMetadata;if(b!=null)G=b;if(f.serviceTier!=null)V=f.serviceTier;let m=(T=f.candidates)==null?void 0:T[0];if(m==null)return;let xQ=m.content;if(m.groundingMetadata!=null)B=m.groundingMetadata;if(m.urlContextMetadata!=null)j=m.urlContextMetadata;let RQ=fQ({groundingMetadata:m.groundingMetadata,generateId:W});if(RQ!=null){for(let JQ of RQ)if(JQ.sourceType==="url"&&!K.has(JQ.url))K.add(JQ.url),x.enqueue(JQ)}if(xQ!=null){let JQ=(I=xQ.parts)!=null?I:[];for(let y of JQ)if("executableCode"in y&&((k=y.executableCode)==null?void 0:k.code)){let v=W();F=v,x.enqueue({type:"tool-call",toolCallId:v,toolName:"code_execution",input:JSON.stringify(y.executableCode),providerExecuted:!0})}else if("codeExecutionResult"in y&&y.codeExecutionResult){let v=F;if(v)x.enqueue({type:"tool-result",toolCallId:v,toolName:"code_execution",result:{outcome:y.codeExecutionResult.outcome,output:(S=y.codeExecutionResult.output)!=null?S:""}}),F=void 0}else if("text"in y&&y.text!=null){let v=y.thoughtSignature?{[q]:{thoughtSignature:y.thoughtSignature}}:void 0;if(y.text.length===0){if(v!=null&&E!==null)x.enqueue({type:"text-delta",id:E,delta:"",providerMetadata:v})}else if(y.thought===!0){if(E!==null)x.enqueue({type:"text-end",id:E}),E=null;if(U===null)U=String(w++),x.enqueue({type:"reasoning-start",id:U,providerMetadata:v});x.enqueue({type:"reasoning-delta",id:U,delta:y.text,providerMetadata:v})}else{if(U!==null)x.enqueue({type:"reasoning-end",id:U}),U=null;if(E===null)E=String(w++),x.enqueue({type:"text-start",id:E,providerMetadata:v});x.enqueue({type:"text-delta",id:E,delta:y.text,providerMetadata:v})}}else if("inlineData"in y){if(E!==null)x.enqueue({type:"text-end",id:E}),E=null;if(U!==null)x.enqueue({type:"reasoning-end",id:U}),U=null;let v=y.thought===!0,QQ=!!y.thoughtSignature,DQ=v||QQ?{[q]:{...v?{thought:!0}:{},...QQ?{thoughtSignature:y.thoughtSignature}:{}}}:void 0;x.enqueue({type:"file",mediaType:y.inlineData.mimeType,data:y.inlineData.data,providerMetadata:DQ})}else if("toolCall"in y&&y.toolCall){let v=(g=y.toolCall.id)!=null?g:W();N=v;let QQ={[q]:{...y.thoughtSignature?{thoughtSignature:y.thoughtSignature}:{},serverToolCallId:v,serverToolType:y.toolCall.toolType}};x.enqueue({type:"tool-call",toolCallId:v,toolName:`server:${y.toolCall.toolType}`,input:JSON.stringify((c=y.toolCall.args)!=null?c:{}),providerExecuted:!0,dynamic:!0,providerMetadata:QQ})}else if("toolResponse"in y&&y.toolResponse){let v=(d=N!=null?N:y.toolResponse.id)!=null?d:W(),QQ={[q]:{...y.thoughtSignature?{thoughtSignature:y.thoughtSignature}:{},serverToolCallId:v,serverToolType:y.toolResponse.toolType}};x.enqueue({type:"tool-result",toolCallId:v,toolName:`server:${y.toolResponse.toolType}`,result:($Q=y.toolResponse.response)!=null?$Q:{},providerMetadata:QQ}),N=void 0}for(let y of JQ){if(!("functionCall"in y))continue;let v=y.thoughtSignature?{[q]:{thoughtSignature:y.thoughtSignature}}:void 0,QQ=y.functionCall.partialArgs!=null||y.functionCall.name!=null&&y.functionCall.willContinue===!0,DQ=y.functionCall.name==null&&y.functionCall.args==null&&y.functionCall.partialArgs==null&&y.functionCall.willContinue==null,KX=y.functionCall.name!=null&&y.functionCall.args!=null&&y.functionCall.partialArgs==null,zX=y.functionCall.name!=null&&y.functionCall.args==null&&y.functionCall.partialArgs==null&&y.functionCall.willContinue!==!0;if(QQ){if(y.functionCall.name!=null&&y.functionCall.willContinue===!0){let u=W(),n=new RX;if(M.push({toolCallId:u,toolName:y.functionCall.name,accumulator:n,providerMetadata:v}),x.enqueue({type:"tool-input-start",id:u,toolName:y.functionCall.name,providerMetadata:v}),y.functionCall.partialArgs!=null){let{textDelta:XQ}=n.processPartialArgs(y.functionCall.partialArgs);if(XQ.length>0)x.enqueue({type:"tool-input-delta",id:u,delta:XQ,providerMetadata:v})}}else if(y.functionCall.partialArgs!=null&&M.length>0){let u=M[M.length-1],{textDelta:n}=u.accumulator.processPartialArgs(y.functionCall.partialArgs);if(n.length>0)x.enqueue({type:"tool-input-delta",id:u.toolCallId,delta:n,providerMetadata:v})}}else if(DQ&&M.length>0){let u=M.pop(),{finalJSON:n,closingDelta:XQ}=u.accumulator.finalize();if(XQ.length>0)x.enqueue({type:"tool-input-delta",id:u.toolCallId,delta:XQ,providerMetadata:u.providerMetadata});x.enqueue({type:"tool-input-end",id:u.toolCallId,providerMetadata:u.providerMetadata}),x.enqueue({type:"tool-call",toolCallId:u.toolCallId,toolName:u.toolName,input:n,providerMetadata:u.providerMetadata}),A=!0}else if(KX){let u=W(),n=y.functionCall.name,XQ=typeof y.functionCall.args==="string"?y.functionCall.args:JSON.stringify((O=y.functionCall.args)!=null?O:{});x.enqueue({type:"tool-input-start",id:u,toolName:n,providerMetadata:v}),x.enqueue({type:"tool-input-delta",id:u,delta:XQ,providerMetadata:v}),x.enqueue({type:"tool-input-end",id:u,providerMetadata:v}),x.enqueue({type:"tool-call",toolCallId:u,toolName:n,input:XQ,providerMetadata:v}),A=!0}else if(zX){let u=W(),n=y.functionCall.name;x.enqueue({type:"tool-input-start",id:u,toolName:n,providerMetadata:v}),x.enqueue({type:"tool-input-end",id:u,providerMetadata:v}),x.enqueue({type:"tool-call",toolCallId:u,toolName:n,input:"{}",providerMetadata:v}),A=!0}}}if(m.finishReason!=null)H={unified:CQ({finishReason:m.finishReason,hasToolCalls:A}),raw:m.finishReason},D={[q]:{promptFeedback:(J=f.promptFeedback)!=null?J:null,groundingMetadata:B,urlContextMetadata:j,safetyRatings:(P=m.safetyRatings)!=null?P:null,usageMetadata:b!=null?b:null,finishMessage:(C=m.finishMessage)!=null?C:null,serviceTier:V}}},flush(R){if(E!==null)R.enqueue({type:"text-end",id:E});if(U!==null)R.enqueue({type:"reasoning-end",id:U});R.enqueue({type:"finish",finishReason:H,usage:MQ(G),providerMetadata:D})}})),response:{headers:L},request:{body:Y}}}};function fQ({groundingMetadata:X,generateId:Y}){var Z,q,$,L,z,H;if(!(X==null?void 0:X.groundingChunks))return;let G=[];for(let D of X.groundingChunks)if(D.web!=null)G.push({type:"source",sourceType:"url",id:Y(),url:D.web.uri,title:(Z=D.web.title)!=null?Z:void 0});else if(D.image!=null)G.push({type:"source",sourceType:"url",id:Y(),url:D.image.sourceUri,title:(q=D.image.title)!=null?q:void 0});else if(D.retrievedContext!=null){let B=D.retrievedContext.uri,j=D.retrievedContext.fileSearchStore;if(B&&(B.startsWith("http://")||B.startsWith("https://")))G.push({type:"source",sourceType:"url",id:Y(),url:B,title:($=D.retrievedContext.title)!=null?$:void 0});else if(B){let V=(L=D.retrievedContext.title)!=null?L:"Unknown Document",W="application/octet-stream",A=void 0;if(B.endsWith(".pdf"))W="application/pdf",A=B.split("/").pop();else if(B.endsWith(".txt"))W="text/plain",A=B.split("/").pop();else if(B.endsWith(".docx"))W="application/vnd.openxmlformats-officedocument.wordprocessingml.document",A=B.split("/").pop();else if(B.endsWith(".doc"))W="application/msword",A=B.split("/").pop();else if(B.match(/\.(md|markdown)$/))W="text/markdown",A=B.split("/").pop();else A=B.split("/").pop();G.push({type:"source",sourceType:"document",id:Y(),mediaType:W,title:V,filename:A})}else if(j){let V=(z=D.retrievedContext.title)!=null?z:"Unknown Document";G.push({type:"source",sourceType:"document",id:Y(),mediaType:"application/octet-stream",title:V,filename:j.split("/").pop()})}}else if(D.maps!=null){if(D.maps.uri)G.push({type:"source",sourceType:"url",id:Y(),url:D.maps.uri,title:(H=D.maps.title)!=null?H:void 0})}return G.length>0?G:void 0}var iQ=()=>Q.object({webSearchQueries:Q.array(Q.string()).nullish(),imageSearchQueries:Q.array(Q.string()).nullish(),retrievalQueries:Q.array(Q.string()).nullish(),searchEntryPoint:Q.object({renderedContent:Q.string()}).nullish(),groundingChunks:Q.array(Q.object({web:Q.object({uri:Q.string(),title:Q.string().nullish()}).nullish(),image:Q.object({sourceUri:Q.string(),imageUri:Q.string(),title:Q.string().nullish(),domain:Q.string().nullish()}).nullish(),retrievedContext:Q.object({uri:Q.string().nullish(),title:Q.string().nullish(),text:Q.string().nullish(),fileSearchStore:Q.string().nullish()}).nullish(),maps:Q.object({uri:Q.string().nullish(),title:Q.string().nullish(),text:Q.string().nullish(),placeId:Q.string().nullish()}).nullish()})).nullish(),groundingSupports:Q.array(Q.object({segment:Q.object({startIndex:Q.number().nullish(),endIndex:Q.number().nullish(),text:Q.string().nullish()}).nullish(),segment_text:Q.string().nullish(),groundingChunkIndices:Q.array(Q.number()).nullish(),supportChunkIndices:Q.array(Q.number()).nullish(),confidenceScores:Q.array(Q.number()).nullish(),confidenceScore:Q.array(Q.number()).nullish()})).nullish(),retrievalMetadata:Q.union([Q.object({webDynamicRetrievalScore:Q.number()}),Q.object({})]).nullish()}),SX=Q.object({jsonPath:Q.string(),stringValue:Q.string().nullish(),numberValue:Q.number().nullish(),boolValue:Q.boolean().nullish(),nullValue:Q.unknown().nullish(),willContinue:Q.boolean().nullish()}),lQ=()=>Q.object({parts:Q.array(Q.union([Q.object({functionCall:Q.object({name:Q.string().nullish(),args:Q.unknown().nullish(),partialArgs:Q.array(SX).nullish(),willContinue:Q.boolean().nullish()}),thoughtSignature:Q.string().nullish()}),Q.object({inlineData:Q.object({mimeType:Q.string(),data:Q.string()}),thought:Q.boolean().nullish(),thoughtSignature:Q.string().nullish()}),Q.object({toolCall:Q.object({toolType:Q.string(),args:Q.unknown().nullish(),id:Q.string()}),thoughtSignature:Q.string().nullish()}),Q.object({toolResponse:Q.object({toolType:Q.string(),response:Q.unknown().nullish(),id:Q.string()}),thoughtSignature:Q.string().nullish()}),Q.object({executableCode:Q.object({language:Q.string(),code:Q.string()}).nullish(),codeExecutionResult:Q.object({outcome:Q.string(),output:Q.string().nullish()}).nullish(),text:Q.string().nullish(),thought:Q.boolean().nullish(),thoughtSignature:Q.string().nullish()})])).nullish()}),UQ=()=>Q.object({category:Q.string().nullish(),probability:Q.string().nullish(),probabilityScore:Q.number().nullish(),severity:Q.string().nullish(),severityScore:Q.number().nullish(),blocked:Q.boolean().nullish()}),bQ=Q.array(Q.object({modality:Q.string(),tokenCount:Q.number()})).nullish(),sQ=Q.object({cachedContentTokenCount:Q.number().nullish(),thoughtsTokenCount:Q.number().nullish(),promptTokenCount:Q.number().nullish(),candidatesTokenCount:Q.number().nullish(),totalTokenCount:Q.number().nullish(),trafficType:Q.string().nullish(),promptTokensDetails:bQ,candidatesTokensDetails:bQ}),nQ=()=>Q.object({urlMetadata:Q.array(Q.object({retrievedUrl:Q.string(),urlRetrievalStatus:Q.string()})).nullish()}),CX=h(()=>_(Q.object({candidates:Q.array(Q.object({content:lQ().nullish().or(Q.object({}).strict()),finishReason:Q.string().nullish(),finishMessage:Q.string().nullish(),safetyRatings:Q.array(UQ()).nullish(),groundingMetadata:iQ().nullish(),urlContextMetadata:nQ().nullish()})),usageMetadata:sQ.nullish(),promptFeedback:Q.object({blockReason:Q.string().nullish(),safetyRatings:Q.array(UQ()).nullish()}).nullish(),serviceTier:Q.string().nullish()}))),fX=h(()=>_(Q.object({candidates:Q.array(Q.object({content:lQ().nullish(),finishReason:Q.string().nullish(),finishMessage:Q.string().nullish(),safetyRatings:Q.array(UQ()).nullish(),groundingMetadata:iQ().nullish(),urlContextMetadata:nQ().nullish()})).nullish(),usageMetadata:sQ.nullish(),promptFeedback:Q.object({blockReason:Q.string().nullish(),safetyRatings:Q.array(UQ()).nullish()}).nullish(),serviceTier:Q.string().nullish()}))),bX=gQ({id:"google.code_execution",inputSchema:Q.object({language:Q.string().describe("The programming language of the code."),code:Q.string().describe("The code to be executed.")}),outputSchema:Q.object({outcome:Q.string().describe('The outcome of the execution (e.g., "OUTCOME_OK").'),output:Q.string().describe("The output from the code execution.")})}),kX=t({id:"google.enterprise_web_search",inputSchema:h(()=>_(Q.object({})))}),TX=Q.object({fileSearchStoreNames:Q.array(Q.string()).describe("The names of the file_search_stores to retrieve from. Example: `fileSearchStores/my-file-search-store-123`"),topK:Q.number().int().positive().describe("The number of file search retrieval chunks to retrieve.").optional(),metadataFilter:Q.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(),vX=h(()=>_(TX)),IX=t({id:"google.file_search",inputSchema:vX}),hX=t({id:"google.google_maps",inputSchema:h(()=>_(Q.object({})))}),_X=Q.object({searchTypes:Q.object({webSearch:Q.object({}).optional(),imageSearch:Q.object({}).optional()}).optional(),timeRangeFilter:Q.object({startTime:Q.string(),endTime:Q.string()}).optional()}).passthrough(),mX=h(()=>_(_X)),uX=t({id:"google.google_search",inputSchema:mX}),gX=t({id:"google.url_context",inputSchema:h(()=>_(Q.object({})))}),dX=t({id:"google.vertex_rag_store",inputSchema:Q.object({ragCorpus:Q.string(),topK:Q.number().optional()})}),cX={googleSearch:uX,enterpriseWebSearch:kX,googleMaps:hX,urlContext:gX,fileSearch:IX,codeExecution:bX,vertexRagStore:dX},pX=class{constructor(X,Y,Z){this.modelId=X,this.settings=Y,this.config=Z,this.specificationVersion="v3"}get maxImagesPerCall(){if(this.settings.maxImagesPerCall!=null)return this.settings.maxImagesPerCall;if(kQ(this.modelId))return 10;return 4}get provider(){return this.config.provider}async doGenerate(X){if(kQ(this.modelId))return this.doGenerateGemini(X);return this.doGenerateImagen(X)}async doGenerateImagen(X){var Y,Z,q;let{prompt:$,n:L=1,size:z,aspectRatio:H="1:1",seed:G,providerOptions:D,headers:B,abortSignal:j,files:V,mask:W}=X,A=[];if(V!=null&&V.length>0)throw 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(W!=null)throw Error("Google Generative AI does not support image editing with masks. Use Google Vertex AI (@ai-sdk/google-vertex) for image editing capabilities.");if(z!=null)A.push({type:"unsupported",feature:"size",details:"This model does not support the `size` option. Use `aspectRatio` instead."});if(G!=null)A.push({type:"unsupported",feature:"seed",details:"This model does not support the `seed` option through this provider."});let E=await e({provider:"google",providerOptions:D,schema:lX}),U=(q=(Z=(Y=this.config._internal)==null?void 0:Y.currentDate)==null?void 0:Z.call(Y))!=null?q:new Date,w={sampleCount:L};if(H!=null)w.aspectRatio=H;if(E)Object.assign(w,E);let K={instances:[{prompt:$}],parameters:w},{responseHeaders:F,value:N}=await l({url:`${this.config.baseURL}/models/${this.modelId}:predict`,headers:p(await s(this.config.headers),B),body:K,failedResponseHandler:r,successfulResponseHandler:i(iX),abortSignal:j,fetch:this.config.fetch});return{images:N.predictions.map((M)=>M.bytesBase64Encoded),warnings:A,providerMetadata:{google:{images:N.predictions.map(()=>({}))}},response:{timestamp:U,modelId:this.modelId,headers:F}}}async doGenerateGemini(X){var Y,Z,q,$,L,z,H,G,D;let{prompt:B,n:j,size:V,aspectRatio:W,seed:A,providerOptions:E,headers:U,abortSignal:w,files:K,mask:F}=X,N=[];if(F!=null)throw Error("Gemini image models do not support mask-based image editing.");if(j!=null&&j>1)throw Error("Gemini image models do not support generating a set number of images per call. Use n=1 or omit the n parameter.");if(V!=null)N.push({type:"unsupported",feature:"size",details:"This model does not support the `size` option. Use `aspectRatio` instead."});let M=[];if(B!=null)M.push({type:"text",text:B});if(K!=null&&K.length>0)for(let S of K)if(S.type==="url")M.push({type:"file",data:new URL(S.url),mediaType:"image/*"});else M.push({type:"file",data:typeof S.data==="string"?S.data:new Uint8Array(S.data),mediaType:S.mediaType});let R=[{role:"user",content:M}],T=await new pQ(this.modelId,{provider:this.config.provider,baseURL:this.config.baseURL,headers:(Y=this.config.headers)!=null?Y:{},fetch:this.config.fetch,generateId:(Z=this.config.generateId)!=null?Z:a}).doGenerate({prompt:R,seed:A,providerOptions:{google:{responseModalities:["IMAGE"],imageConfig:W?{aspectRatio:W}:void 0,...(q=E==null?void 0:E.google)!=null?q:{}}},headers:U,abortSignal:w}),I=(z=(L=($=this.config._internal)==null?void 0:$.currentDate)==null?void 0:L.call($))!=null?z:new Date,k=[];for(let S of T.content)if(S.type==="file"&&S.mediaType.startsWith("image/"))k.push(ZQ(S.data));return{images:k,warnings:N,providerMetadata:{google:{images:k.map(()=>({}))}},response:{timestamp:I,modelId:this.modelId,headers:(H=T.response)==null?void 0:H.headers},usage:T.usage?{inputTokens:T.usage.inputTokens.total,outputTokens:T.usage.outputTokens.total,totalTokens:((G=T.usage.inputTokens.total)!=null?G:0)+((D=T.usage.outputTokens.total)!=null?D:0)}:void 0}}};function kQ(X){return X.startsWith("gemini-")}var iX=h(()=>_(Q.object({predictions:Q.array(Q.object({bytesBase64Encoded:Q.string()})).default([])}))),lX=h(()=>_(Q.object({personGeneration:Q.enum(["dont_allow","allow_adult","allow_all"]).nullish(),aspectRatio:Q.enum(["1:1","3:4","4:3","9:16","16:9"]).nullish()}))),sX=class{constructor(X,Y){this.modelId=X,this.config=Y,this.specificationVersion="v3"}get provider(){return this.config.provider}get maxVideosPerCall(){return 4}async doGenerate(X){var Y,Z,q,$,L,z,H,G;let D=(q=(Z=(Y=this.config._internal)==null?void 0:Y.currentDate)==null?void 0:Z.call(Y))!=null?q:new Date,B=[],j=await e({provider:"google",providerOptions:X.providerOptions,schema:nX}),V=[{}],W=V[0];if(X.prompt!=null)W.prompt=X.prompt;if(X.image!=null)if(X.image.type==="url")B.push({type:"unsupported",feature:"URL-based image input",details:"Google Generative AI video models require base64-encoded images. URL will be ignored."});else{let S=typeof X.image.data==="string"?X.image.data:_Q(X.image.data);W.image={inlineData:{mimeType:X.image.mediaType||"image/png",data:S}}}if((j==null?void 0:j.referenceImages)!=null)W.referenceImages=j.referenceImages.map((S)=>{if(S.bytesBase64Encoded)return{inlineData:{mimeType:"image/png",data:S.bytesBase64Encoded}};else if(S.gcsUri)return{gcsUri:S.gcsUri};return S});let A={sampleCount:X.n};if(X.aspectRatio)A.aspectRatio=X.aspectRatio;if(X.resolution){let S={"1280x720":"720p","1920x1080":"1080p","3840x2160":"4k"};A.resolution=S[X.resolution]||X.resolution}if(X.duration)A.durationSeconds=X.duration;if(X.seed)A.seed=X.seed;if(j!=null){let S=j;if(S.personGeneration!==void 0&&S.personGeneration!==null)A.personGeneration=S.personGeneration;if(S.negativePrompt!==void 0&&S.negativePrompt!==null)A.negativePrompt=S.negativePrompt;for(let[g,c]of Object.entries(S))if(!["pollIntervalMs","pollTimeoutMs","personGeneration","negativePrompt","referenceImages"].includes(g))A[g]=c}let{value:E}=await l({url:`${this.config.baseURL}/models/${this.modelId}:predictLongRunning`,headers:p(await s(this.config.headers),X.headers),body:{instances:V,parameters:A},successfulResponseHandler:i(TQ),failedResponseHandler:r,abortSignal:X.abortSignal,fetch:this.config.fetch}),U=E.name;if(!U)throw new qQ({name:"GOOGLE_VIDEO_GENERATION_ERROR",message:"No operation name returned from API"});let w=($=j==null?void 0:j.pollIntervalMs)!=null?$:1e4,K=(L=j==null?void 0:j.pollTimeoutMs)!=null?L:600000,F=Date.now(),N=E,M;while(!N.done){if(Date.now()-F>K)throw new qQ({name:"GOOGLE_VIDEO_GENERATION_TIMEOUT",message:`Video generation timed out after ${K}ms`});if(await YQ(w),(z=X.abortSignal)==null?void 0:z.aborted)throw new qQ({name:"GOOGLE_VIDEO_GENERATION_ABORTED",message:"Video generation request was aborted"});let{value:S,responseHeaders:g}=await KQ({url:`${this.config.baseURL}/${U}`,headers:p(await s(this.config.headers),X.headers),successfulResponseHandler:i(TQ),failedResponseHandler:r,abortSignal:X.abortSignal,fetch:this.config.fetch});N=S,M=g}if(N.error)throw new qQ({name:"GOOGLE_VIDEO_GENERATION_FAILED",message:`Video generation failed: ${N.error.message}`});let R=N.response;if(!((H=R==null?void 0:R.generateVideoResponse)==null?void 0:H.generatedSamples)||R.generateVideoResponse.generatedSamples.length===0)throw new qQ({name:"GOOGLE_VIDEO_GENERATION_ERROR",message:`No videos in response. Response: ${JSON.stringify(N)}`});let x=[],T=[],I=await s(this.config.headers),k=I==null?void 0:I["x-goog-api-key"];for(let S of R.generateVideoResponse.generatedSamples)if((G=S.video)==null?void 0:G.uri){let g=k?`${S.video.uri}${S.video.uri.includes("?")?"&":"?"}key=${k}`:S.video.uri;x.push({type:"url",url:g,mediaType:"video/mp4"}),T.push({uri:S.video.uri})}if(x.length===0)throw new qQ({name:"GOOGLE_VIDEO_GENERATION_ERROR",message:"No valid videos in response"});return{videos:x,warnings:B,response:{timestamp:D,modelId:this.modelId,headers:M},providerMetadata:{google:{videos:T}}}}},TQ=Q.object({name:Q.string().nullish(),done:Q.boolean().nullish(),error:Q.object({code:Q.number().nullish(),message:Q.string(),status:Q.string().nullish()}).nullish(),response:Q.object({generateVideoResponse:Q.object({generatedSamples:Q.array(Q.object({video:Q.object({uri:Q.string().nullish()}).nullish()})).nullish()}).nullish()}).nullish()}),nX=h(()=>_(Q.object({pollIntervalMs:Q.number().positive().nullish(),pollTimeoutMs:Q.number().positive().nullish(),personGeneration:Q.enum(["dont_allow","allow_adult","allow_all"]).nullish(),negativePrompt:Q.string().nullish(),referenceImages:Q.array(Q.object({bytesBase64Encoded:Q.string().nullish(),gcsUri:Q.string().nullish()})).nullish()}).passthrough()));function PQ(X){var Y,Z,q,$,L,z,H,G;if(X==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=(Y=X.total_input_tokens)!=null?Y:0,B=(Z=X.total_output_tokens)!=null?Z:0,j=(q=X.total_thought_tokens)!=null?q:0,V=($=X.total_cached_tokens)!=null?$:0;return{inputTokens:{total:(L=X.total_input_tokens)!=null?L:void 0,noCache:X.total_input_tokens==null?void 0:D-V,cacheRead:(z=X.total_cached_tokens)!=null?z:void 0,cacheWrite:void 0},outputTokens:{total:X.total_output_tokens==null&&X.total_thought_tokens==null?void 0:B+j,text:(H=X.total_output_tokens)!=null?H:void 0,reasoning:(G=X.total_thought_tokens)!=null?G:void 0},raw:X}}var aX={pdf:"application/pdf",txt:"text/plain",md:"text/markdown",markdown:"text/markdown",doc:"application/msword",docx:"application/vnd.openxmlformats-officedocument.wordprocessingml.document"};function aQ(X){let Y=X.toLowerCase();for(let[Z,q]of Object.entries(aX))if(Y.endsWith(`.${Z}`))return q;return"application/octet-stream"}function rQ(X){let Y=X.split("/"),Z=Y[Y.length-1];return Z&&Z.length>0?Z:void 0}function rX({annotation:X,generateId:Y}){var Z,q,$,L,z;switch(X.type){case"url_citation":{let H=X;if(H.url==null||H.url.length===0)return;return{type:"source",sourceType:"url",id:Y(),url:H.url,...H.title!=null?{title:H.title}:{}}}case"file_citation":{let H=X,G=(q=(Z=H.document_uri)!=null?Z:H.source)!=null?q:H.file_name;if(G==null||G.length===0)return;if(G.startsWith("http://")||G.startsWith("https://"))return{type:"source",sourceType:"url",id:Y(),url:G,...H.file_name!=null?{title:H.file_name}:{}};let D=($=H.file_name)!=null?$:rQ(G),B=aQ(G);return{type:"source",sourceType:"document",id:Y(),mediaType:B,title:(z=(L=H.file_name)!=null?L:D)!=null?z:G,...D!=null?{filename:D}:{}}}case"place_citation":{let H=X;if(H.url==null||H.url.length===0)return;return{type:"source",sourceType:"url",id:Y(),url:H.url,...H.name!=null?{title:H.name}:{}}}default:return}}function tQ({block:X,generateId:Y}){var Z,q,$,L,z,H,G,D,B,j,V;let W=[];switch(X.type){case"url_context_result":{let A=(Z=X.result)!=null?Z:[];for(let E of A){if((E==null?void 0:E.url)==null||E.url.length===0)continue;if(E.status!=null&&E.status!=="success")continue;W.push({type:"source",sourceType:"url",id:Y(),url:E.url})}break}case"google_search_result":{let A=(q=X.result)!=null?q:[];for(let E of A){let U=E==null?void 0:E.url;if(U==null||U.length===0)continue;W.push({type:"source",sourceType:"url",id:Y(),url:U,...E.title!=null?{title:E.title}:{}})}break}case"google_maps_result":{let A=($=X.result)!=null?$:[];for(let E of A)for(let U of(L=E.places)!=null?L:[]){if(U.url==null||U.url.length===0)continue;W.push({type:"source",sourceType:"url",id:Y(),url:U.url,...U.name!=null?{title:U.name}:{}})}break}case"file_search_result":{let A=(z=X.result)!=null?z:[];for(let E of A){if(E==null||typeof E!=="object")continue;let U=E,w=(G=(H=U.document_uri)!=null?H:U.source)!=null?G:U.file_name;if(w==null||w.length===0)continue;if(w.startsWith("http://")||w.startsWith("https://")){W.push({type:"source",sourceType:"url",id:Y(),url:w,...U.title!=null?{title:U.title}:{}});continue}let K=(D=U.file_name)!=null?D:rQ(w),F=aQ(w);W.push({type:"source",sourceType:"document",id:Y(),mediaType:F,title:(V=(j=(B=U.title)!=null?B:U.file_name)!=null?j:K)!=null?V:w,...K!=null?{filename:K}:{}})}break}default:break}return W}function BQ({annotations:X,generateId:Y}){var Z;if(X==null)return[];let q=new Set,$=[];for(let L of X){let z=rX({annotation:L,generateId:Y});if(z==null)continue;let H=z.sourceType==="url"?`url:${z.url}`:`doc:${(Z=z.filename)!=null?Z:z.title}`;if(q.has(H))continue;q.add(H),$.push(z)}return $}function wQ({status:X,hasFunctionCall:Y}){switch(X){case"completed":return Y?"tool-calls":"stop";case"requires_action":return"tool-calls";case"failed":return"error";case"incomplete":return"length";case"cancelled":return"other";case"in_progress":default:return"other"}}var tX=new Set(["google_search_call","code_execution_call","url_context_call","file_search_call","google_maps_call","mcp_server_tool_call"]),oX=new Set(["google_search_result","code_execution_result","url_context_result","file_search_result","google_maps_result","mcp_server_tool_result"]);function eX(X){return X.replace(/_call$/,"")}function QY(X){return X.replace(/_result$/,"")}function vQ({warnings:X,generateId:Y,includeRawChunks:Z,serviceTier:q}){let $,L,z=q,H,G=!1,D=new Map,B=new Set;function j(V){var W;return V.sourceType==="url"?`url:${V.url}`:`doc:${(W=V.filename)!=null?W:V.title}`}return new TransformStream({start(V){V.enqueue({type:"stream-start",warnings:X})},transform(V,W){var A,E,U,w,K,F,N,M,R,x,T,I,k,S,g,c;if(Z)W.enqueue({type:"raw",rawValue:V.rawValue});if(!V.success){H="failed",W.enqueue({type:"error",error:V.error});return}let d=V.value;switch(d.event_type){case"interaction.start":{let J=d.interaction;$=(J==null?void 0:J.id)!=null&&J.id.length>0?J.id:void 0;let P=J==null?void 0:J.created,C;if(typeof P==="string"){let f=new Date(P);if(!Number.isNaN(f.getTime()))C=f}W.enqueue({type:"response-metadata",...$!=null?{id:$}:{},modelId:J==null?void 0:J.model,...C?{timestamp:C}:{}});break}case"content.start":{let O=d,J=O.content,P=O.index,C=`${$!=null?$:"interaction"}:${P}`;if((J==null?void 0:J.type)==="text"){D.set(P,{kind:"text",id:C,emittedSourceKeys:new Set}),W.enqueue({type:"text-start",id:C});let f=BQ({annotations:J.annotations,generateId:Y});for(let b of f){let m=j(b);if(B.has(m))continue;B.add(m),W.enqueue(b)}}else if((J==null?void 0:J.type)==="image"){let f=J;D.set(P,{kind:"image",id:C,...f.data!=null?{data:f.data}:{},...f.mime_type!=null?{mimeType:f.mime_type}:{},...f.uri!=null?{uri:f.uri}:{}})}else if((J==null?void 0:J.type)==="thought"){let f=J.signature;D.set(P,{kind:"reasoning",id:C,...f!=null?{signature:f}:{}}),W.enqueue({type:"reasoning-start",id:C})}else if((J==null?void 0:J.type)==="function_call"){let f=J,b=(A=f.id)!=null?A:C;G=!0;let m={kind:"function_call",id:C,toolCallId:b,toolName:f.name,arguments:(E=f.arguments)!=null?E:{},...f.signature!=null?{signature:f.signature}:{},startEmitted:!1};if(D.set(P,m),m.toolName!=null)W.enqueue({type:"tool-input-start",id:b,toolName:m.toolName}),m.startEmitted=!0}else if((J==null?void 0:J.type)!=null&&tX.has(J.type)){let f=J.type==="mcp_server_tool_call"?(U=J.name)!=null?U:"mcp_server_tool":eX(J.type),b=(w=J.id)!=null?w:C,m={kind:"builtin_tool_call",id:C,blockType:J.type,toolCallId:b,toolName:f,arguments:(K=J.arguments)!=null?K:{},callEmitted:!1};D.set(P,m)}else if((J==null?void 0:J.type)!=null&&oX.has(J.type)){let f=J.type==="mcp_server_tool_result"?(F=J.name)!=null?F:"mcp_server_tool":QY(J.type),b=(N=J.call_id)!=null?N:C,m={kind:"builtin_tool_result",id:C,blockType:J.type,callId:b,toolName:f,result:(M=J.result)!=null?M:null,...J.is_error!=null?{isError:J.is_error}:{},resultEmitted:!1};D.set(P,m)}else D.set(P,{kind:"unknown",id:C});break}case"content.delta":{let O=d,J=D.get(O.index);if(J==null)break;let P=O.delta;if(J.kind==="text"&&(P==null?void 0:P.type)==="text"){let C=(R=P.text)!=null?R:"";if(C.length>0)W.enqueue({type:"text-delta",id:J.id,delta:C})}else if(J.kind==="text"&&(P==null?void 0:P.type)==="text_annotation"){let C=BQ({annotations:P.annotations,generateId:Y});for(let f of C){let b=j(f);if(B.has(b))continue;B.add(b),J.emittedSourceKeys.add(b),W.enqueue(f)}}else if(J.kind==="image"&&(P==null?void 0:P.type)==="image"){if(P.data!=null)J.data=P.data;if(P.mime_type!=null)J.mimeType=P.mime_type;if(P.uri!=null)J.uri=P.uri}else if(J.kind==="reasoning"){if((P==null?void 0:P.type)==="thought_summary"){let C=P.content;if((C==null?void 0:C.type)==="text"&&typeof C.text==="string")W.enqueue({type:"reasoning-delta",id:J.id,delta:C.text})}else if((P==null?void 0:P.type)==="thought_signature"){let C=P.signature;if(C!=null)J.signature=C}}else if(J.kind==="function_call"&&(P==null?void 0:P.type)==="function_call"){if(P.id!=null)J.toolCallId=P.id;if(P.name!=null)J.toolName=P.name;if(P.arguments!=null)J.arguments=P.arguments;if(P.signature!=null)J.signature=P.signature;if(!J.startEmitted&&J.toolName!=null)W.enqueue({type:"tool-input-start",id:J.toolCallId,toolName:J.toolName}),J.startEmitted=!0;G=!0}else if(J.kind==="builtin_tool_call"&&(P==null?void 0:P.type)===J.blockType){if(P.id!=null)J.toolCallId=P.id;if(P.arguments!=null)J.arguments=P.arguments;if(P.name!=null&&J.blockType==="mcp_server_tool_call")J.toolName=P.name}else if(J.kind==="builtin_tool_result"&&(P==null?void 0:P.type)===J.blockType){if(P.call_id!=null)J.callId=P.call_id;if(P.result!==void 0)J.result=P.result;if(P.is_error!=null)J.isError=P.is_error;if(P.name!=null&&J.blockType==="mcp_server_tool_result")J.toolName=P.name}break}case"content.stop":{let O=d,J=D.get(O.index);if(J==null)break;if(J.kind==="text"){let P=$!=null?{google:{interactionId:$}}:void 0;W.enqueue({type:"text-end",id:J.id,...P?{providerMetadata:P}:{}})}else if(J.kind==="reasoning"){let P={};if(J.signature!=null)P.signature=J.signature;if($!=null)P.interactionId=$;let C=Object.keys(P).length>0?{google:P}:void 0;W.enqueue({type:"reasoning-end",id:J.id,...C?{providerMetadata:C}:{}})}else if(J.kind==="image"){let P={};if($!=null)P.interactionId=$;let C=Object.keys(P).length>0?{google:P}:void 0;if(J.data!=null&&J.data.length>0)W.enqueue({type:"file",mediaType:(x=J.mimeType)!=null?x:"image/png",data:J.data,...C?{providerMetadata:C}:{}});else if(J.uri!=null&&J.uri.length>0){let f={google:{...$!=null?{interactionId:$}:{},imageUri:J.uri}};W.enqueue({type:"file",mediaType:(T=J.mimeType)!=null?T:"image/png",data:"",providerMetadata:f})}}else if(J.kind==="function_call"){let P=(I=J.toolName)!=null?I:"unknown",C=JSON.stringify((k=J.arguments)!=null?k:{});if(!J.startEmitted)W.enqueue({type:"tool-input-start",id:J.toolCallId,toolName:P});W.enqueue({type:"tool-input-delta",id:J.toolCallId,delta:C}),W.enqueue({type:"tool-input-end",id:J.toolCallId});let f={};if(J.signature!=null)f.signature=J.signature;if($!=null)f.interactionId=$;let b=Object.keys(f).length>0?{google:f}:void 0;W.enqueue({type:"tool-call",toolCallId:J.toolCallId,toolName:P,input:C,...b?{providerMetadata:b}:{}})}else if(J.kind==="builtin_tool_call"&&!J.callEmitted)W.enqueue({type:"tool-call",toolCallId:J.toolCallId,toolName:J.toolName,input:JSON.stringify((S=J.arguments)!=null?S:{}),providerExecuted:!0}),J.callEmitted=!0;else if(J.kind==="builtin_tool_result"&&!J.resultEmitted){W.enqueue({type:"tool-result",toolCallId:J.callId,toolName:J.toolName,result:(g=J.result)!=null?g:null}),J.resultEmitted=!0;let P=tQ({block:{type:J.blockType,call_id:J.callId,result:J.result},generateId:Y});for(let C of P){let f=j(C);if(B.has(f))continue;B.add(f),W.enqueue(C)}}D.delete(O.index);break}case"interaction.status_update":{H=d.status;break}case"interaction.complete":{let J=d.interaction;if((J==null?void 0:J.id)!=null&&J.id.length>0)$=J.id;if((J==null?void 0:J.status)!=null)H=J.status;if((J==null?void 0:J.usage)!=null)L=J.usage;if((J==null?void 0:J.service_tier)!=null)z=J.service_tier;break}case"error":{let O=d;H="failed";let J=(c=O.error)!=null?c:{message:"Unknown interaction error"};W.enqueue({type:"error",error:J});break}default:break}},flush(V){let W={unified:wQ({status:H,hasFunctionCall:G}),raw:H},A={google:{...$!=null?{interactionId:$}:{},...z!=null?{serviceTier:z}:{}}};V.enqueue({type:"finish",finishReason:W,usage:PQ(L),providerMetadata:A})}})}function oQ(X){let Y=X.indexOf("/");return Y===-1?X:X.substring(0,Y)}function jQ(X){let Y=X.indexOf("/");if(Y===-1)return!1;let Z=X.substring(Y+1);return Z.length>0&&Z!=="*"}function XY({prompt:X,previousInteractionId:Y,store:Z,mediaResolution:q}){var $,L,z,H,G,D,B;let j=[],V=Y!=null&&Z===!1,W=Y!=null&&Z!==!1;if(V)j.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 A=W?YY({prompt:X,previousInteractionId:Y}):X,E=[],U=[];for(let F of A)switch(F.role){case"system":{E.push(F.content);break}case"user":{let N=[];for(let R of F.content)if(R.type==="text"){let x={type:"text",text:R.text};N.push(x)}else if(R.type==="file"){let x=IQ({part:R,warnings:j,mediaResolution:q});if(x!=null)N.push(x)}let M=JY(N);if(M.length>0)U.push({role:"user",content:M});break}case"assistant":{let N=[];for(let M of F.content)if(M.type==="text")N.push({type:"text",text:M.text});else if(M.type==="reasoning"){let R=(L=($=M.providerOptions)==null?void 0:$.google)==null?void 0:L.signature;N.push({type:"thought",...R!=null?{signature:R}:{},summary:M.text.length>0?[{type:"text",text:M.text}]:void 0})}else if(M.type==="file"){let R=IQ({part:M,warnings:j,mediaResolution:q});if(R!=null)N.push(R)}else if(M.type==="tool-call"){let R=(H=(z=M.providerOptions)==null?void 0:z.google)==null?void 0:H.signature,x=typeof M.input==="string"?ZY(M.input):(G=M.input)!=null?G:{};N.push({type:"function_call",id:M.toolCallId,name:M.toolName,arguments:x,...R!=null?{signature:R}:{}})}else j.push({type:"other",message:`google.interactions: unsupported assistant content part type "${M.type}"; part dropped.`});if(N.length>0)U.push({role:"model",content:N});break}case"tool":{let N=[];for(let M of F.content){if(M.type!=="tool-result"){j.push({type:"other",message:`google.interactions: unsupported tool message part type "${M.type}"; part dropped.`});continue}let R=$Y({toolCallId:M.toolCallId,toolName:M.toolName,output:M.output,signature:(B=(D=M.providerOptions)==null?void 0:D.google)==null?void 0:B.signature,warnings:j});N.push(R)}if(N.length>0)U.push({role:"user",content:N});break}}let w=E.length>0?E.join(`
8
+
9
+ `):void 0,K;if(U.length===0)K="";else if(U.length===1&&U[0].role==="user"&&Array.isArray(U[0].content))K=U[0].content;else K=U;return{input:K,systemInstruction:w,warnings:j}}function IQ({part:X,warnings:Y,mediaResolution:Z}){let q=oQ(X.mediaType),$;switch(q){case"image":$="image";break;case"audio":$="audio";break;case"video":$="video";break;case"application":$="document";break;default:$=void 0}if($==null){Y.push({type:"other",message:`google.interactions: unsupported file media type "${X.mediaType}"; part dropped.`});return}let L=Z!=null&&($==="image"||$==="video")?{resolution:Z}:{};if(X.data instanceof URL)return{type:$,uri:X.data.toString(),...jQ(X.mediaType)?{mime_type:X.mediaType}:{},...L};if(!jQ(X.mediaType)){Y.push({type:"other",message:`google.interactions: inline file data requires a full IANA media type (e.g. "image/png"), got "${X.mediaType}"; part dropped.`});return}return{type:$,data:ZQ(X.data),mime_type:X.mediaType,...L}}function YY({prompt:X,previousInteractionId:Y}){let Z=[],q=new Set;for(let $ of X){if($.role==="assistant"){if($.content.some((z)=>{var H,G;return((G=(H=z.providerOptions)==null?void 0:H.google)==null?void 0:G.interactionId)===Y})){for(let z of $.content)if(z.type==="tool-call")q.add(z.toolCallId);continue}Z.push($);continue}if($.role==="tool"){let L=$.content.filter((z)=>{if(z.type!=="tool-result")return!0;return!q.has(z.toolCallId)});if(L.length===0)continue;Z.push({...$,content:L});continue}Z.push($)}return Z}function ZY(X){try{let Y=JSON.parse(X);if(Y!=null&&typeof Y==="object"&&!Array.isArray(Y))return Y;return{value:Y}}catch(Y){return{value:X}}}function $Y({toolCallId:X,toolName:Y,output:Z,signature:q,warnings:$}){var L;let z={type:"function_result",call_id:X,name:Y,...q!=null?{signature:q}:{}};switch(Z.type){case"text":return{...z,result:Z.value};case"json":return{...z,result:JSON.stringify(Z.value)};case"error-text":return{...z,is_error:!0,result:Z.value};case"error-json":return{...z,is_error:!0,result:JSON.stringify(Z.value)};case"execution-denied":return{...z,is_error:!0,result:(L=Z.reason)!=null?L:"Tool execution denied by user."};case"content":{let H=[];for(let G of Z.value)if(G.type==="text")H.push({type:"text",text:G.text});else if(G.type==="image-data"){let D=FQ({part:{type:"file",mediaType:G.mediaType,data:G.data},warnings:$});if(D!=null)H.push(D)}else if(G.type==="image-url"){let D=FQ({part:{type:"file",mediaType:"image/*",data:new URL(G.url)},warnings:$});if(D!=null)H.push(D)}else if(G.type==="file-data"||G.type==="file-url"){let D=G.type==="file-data"?G.mediaType:"application/*";if(oQ(D)!=="image"){$.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 j=FQ({part:G.type==="file-data"?{type:"file",mediaType:G.mediaType,data:G.data}:{type:"file",mediaType:D,data:new URL(G.url)},warnings:$});if(j!=null)H.push(j)}else $.push({type:"other",message:`google.interactions: tool-result content part type "${G.type}" is not supported; part dropped.`});return{...z,result:H}}}}function FQ({part:X,warnings:Y}){if(X.data instanceof URL)return{type:"image",uri:X.data.toString(),...jQ(X.mediaType)?{mime_type:X.mediaType}:{}};if(!jQ(X.mediaType)){Y.push({type:"other",message:`google.interactions: tool-result image part requires a full IANA media type (e.g. "image/png"), got "${X.mediaType}"; part dropped.`});return}return{type:"image",data:ZQ(X.data),mime_type:X.mediaType}}function JY(X){if(X.length<2)return X;let Y=[];for(let Z of X){let q=Y[Y.length-1];if(Z.type==="text"&&q!=null&&q.type==="text"&&q.annotations==null&&Z.annotations==null){let $={type:"text",text:`${q.text}
10
+
11
+ ${Z.text}`};Y[Y.length-1]=$;continue}Y.push(Z)}return Y}var VQ=()=>Q.object({modality:Q.string().nullish(),tokens:Q.number().nullish()}).loose(),eQ=()=>Q.object({total_input_tokens:Q.number().nullish(),total_output_tokens:Q.number().nullish(),total_thought_tokens:Q.number().nullish(),total_cached_tokens:Q.number().nullish(),total_tool_use_tokens:Q.number().nullish(),total_tokens:Q.number().nullish(),input_tokens_by_modality:Q.array(VQ()).nullish(),output_tokens_by_modality:Q.array(VQ()).nullish(),cached_tokens_by_modality:Q.array(VQ()).nullish(),tool_use_tokens_by_modality:Q.array(VQ()).nullish(),grounding_tool_count:Q.array(Q.object({type:Q.string().nullish(),count:Q.number().nullish()}).loose()).nullish()}).loose(),QX=()=>Q.enum(["in_progress","requires_action","completed","failed","cancelled","incomplete"]),XX=()=>{let X=Q.object({type:Q.literal("url_citation"),url:Q.string().nullish(),title:Q.string().nullish(),start_index:Q.number().nullish(),end_index:Q.number().nullish()}).loose(),Y=Q.object({type:Q.literal("file_citation"),file_name:Q.string().nullish(),document_uri:Q.string().nullish(),source:Q.string().nullish(),page_number:Q.number().nullish(),media_id:Q.string().nullish(),start_index:Q.number().nullish(),end_index:Q.number().nullish(),custom_metadata:Q.record(Q.string(),Q.unknown()).nullish()}).loose(),Z=Q.object({type:Q.literal("place_citation"),name:Q.string().nullish(),url:Q.string().nullish(),place_id:Q.string().nullish(),start_index:Q.number().nullish(),end_index:Q.number().nullish()}).loose();return Q.union([X,Y,Z,Q.object({type:Q.string()}).loose()])},YX=()=>Q.object({type:Q.string(),text:Q.string().nullish(),data:Q.string().nullish(),mime_type:Q.string().nullish()}).loose(),ZX=()=>{let X=Q.object({type:Q.literal("text"),text:Q.string(),annotations:Q.array(XX()).nullish()}).loose(),Y=Q.object({type:Q.literal("thought"),signature:Q.string().nullish(),summary:Q.array(YX()).nullish()}).loose(),Z=Q.object({type:Q.literal("function_call"),id:Q.string(),name:Q.string(),arguments:Q.record(Q.string(),Q.unknown()).nullish(),signature:Q.string().nullish()}).loose(),q=Q.object({type:Q.literal("image"),data:Q.string().nullish(),mime_type:Q.string().nullish(),resolution:Q.enum(["low","medium","high","ultra_high"]).nullish(),uri:Q.string().nullish()}).loose(),$=Q.object({type:Q.enum(["google_search_call","code_execution_call","url_context_call","file_search_call","google_maps_call","mcp_server_tool_call"]),id:Q.string(),arguments:Q.record(Q.string(),Q.unknown()).nullish(),name:Q.string().nullish(),server_name:Q.string().nullish(),search_type:Q.string().nullish(),signature:Q.string().nullish()}).loose(),L=Q.object({type:Q.enum(["google_search_result","code_execution_result","url_context_result","file_search_result","google_maps_result","mcp_server_tool_result"]),call_id:Q.string(),result:Q.unknown().nullish(),is_error:Q.boolean().nullish(),name:Q.string().nullish(),server_name:Q.string().nullish(),signature:Q.string().nullish()}).loose();return Q.union([X,q,Y,Z,$,L,Q.object({type:Q.string()}).loose()])},AQ=h(()=>_(Q.object({id:Q.string().nullish(),created:Q.string().nullish(),updated:Q.string().nullish(),status:QX(),model:Q.string().nullish(),agent:Q.string().nullish(),outputs:Q.array(ZX()).nullish(),usage:eQ().nullish(),service_tier:Q.string().nullish(),previous_interaction_id:Q.string().nullish(),response_modalities:Q.array(Q.string()).nullish()}).loose())),$X=h(()=>_((()=>{let X=QX(),Y=XX(),Z=YX(),q=Q.object({event_type:Q.literal("interaction.start"),event_id:Q.string().nullish(),interaction:Q.object({id:Q.string().nullish(),created:Q.string().nullish(),model:Q.string().nullish(),agent:Q.string().nullish(),status:X.nullish()}).loose()}).loose(),$=Q.object({event_type:Q.literal("content.start"),event_id:Q.string().nullish(),index:Q.number(),content:ZX()}).loose(),L=Q.object({type:Q.literal("text"),text:Q.string()}).loose(),z=Q.object({type:Q.literal("thought_summary"),content:Z.nullish()}).loose(),H=Q.object({type:Q.literal("thought_signature"),signature:Q.string().nullish()}).loose(),G=Q.object({type:Q.literal("function_call"),id:Q.string(),name:Q.string(),arguments:Q.record(Q.string(),Q.unknown()).nullish(),signature:Q.string().nullish()}).loose(),D=Q.object({type:Q.literal("text_annotation"),annotations:Q.array(Y).nullish()}).loose(),B=Q.object({type:Q.literal("image"),data:Q.string().nullish(),mime_type:Q.string().nullish(),resolution:Q.enum(["low","medium","high","ultra_high"]).nullish(),uri:Q.string().nullish()}).loose(),j=Q.object({type:Q.enum(["google_search_call","code_execution_call","url_context_call","file_search_call","google_maps_call","mcp_server_tool_call"]),id:Q.string(),arguments:Q.record(Q.string(),Q.unknown()).nullish(),name:Q.string().nullish(),server_name:Q.string().nullish(),search_type:Q.string().nullish(),signature:Q.string().nullish()}).loose(),V=Q.object({type:Q.enum(["google_search_result","code_execution_result","url_context_result","file_search_result","google_maps_result","mcp_server_tool_result"]),call_id:Q.string(),result:Q.unknown().nullish(),is_error:Q.boolean().nullish(),name:Q.string().nullish(),server_name:Q.string().nullish(),signature:Q.string().nullish()}).loose(),W=Q.object({type:Q.string()}).loose(),A=Q.union([L,B,z,H,G,D,j,V,W]),E=Q.object({event_type:Q.literal("content.delta"),event_id:Q.string().nullish(),index:Q.number(),delta:A}).loose(),U=Q.object({event_type:Q.literal("content.stop"),event_id:Q.string().nullish(),index:Q.number()}).loose(),w=Q.object({event_type:Q.literal("interaction.status_update"),event_id:Q.string().nullish(),interaction_id:Q.string().nullish(),status:X}).loose(),K=Q.object({event_type:Q.literal("interaction.complete"),event_id:Q.string().nullish(),interaction:Q.object({id:Q.string().nullish(),status:X.nullish(),usage:eQ().nullish(),service_tier:Q.string().nullish()}).loose()}).loose(),F=Q.object({event_type:Q.literal("error"),event_id:Q.string().nullish(),error:Q.object({code:Q.string().nullish(),message:Q.string().nullish()}).loose().nullish()}).loose(),N=Q.object({event_type:Q.string()}).loose();return Q.union([q,$,E,U,w,K,F,N])})())),qY=h(()=>_(Q.object({previousInteractionId:Q.string().nullish(),store:Q.boolean().nullish(),agent:Q.string().nullish(),agentConfig:Q.union([Q.object({type:Q.literal("dynamic")}).loose(),Q.object({type:Q.literal("deep-research"),thinkingSummaries:Q.enum(["auto","none"]).nullish(),visualization:Q.enum(["off","auto"]).nullish(),collaborativePlanning:Q.boolean().nullish()})]).nullish(),thinkingLevel:Q.enum(["minimal","low","medium","high"]).nullish(),thinkingSummaries:Q.enum(["auto","none"]).nullish(),imageConfig:Q.object({aspectRatio:Q.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:Q.enum(["1K","2K","4K","512"]).nullish()}).nullish(),mediaResolution:Q.enum(["low","medium","high","ultra_high"]).nullish(),responseModalities:Q.array(Q.enum(["text","image","audio","video","document"])).nullish(),serviceTier:Q.enum(["flex","standard","priority"]).nullish(),systemInstruction:Q.string().nullish(),signature:Q.string().nullish(),interactionId:Q.string().nullish(),pollingTimeoutMs:Q.number().int().positive().nullish()})));function WQ({signature:X,interactionId:Y}){let Z={};if(X!=null)Z.signature=X;if(Y!=null)Z.interactionId=Y;return Object.keys(Z).length>0?{providerMetadata:{google:Z}}:{}}var KY=new Set(["google_search_call","code_execution_call","url_context_call","file_search_call","google_maps_call","mcp_server_tool_call"]),zY=new Set(["google_search_result","code_execution_result","url_context_result","file_search_result","google_maps_result","mcp_server_tool_result"]);function GY(X){return X.replace(/_call$/,"")}function LY(X){return X.replace(/_result$/,"")}function JX({outputs:X,generateId:Y,interactionId:Z}){var q,$,L,z,H,G,D,B,j,V;let W=[],A=!1;if(X==null)return{content:W,hasFunctionCall:A};for(let E of X){if(E==null||typeof E!=="object")continue;let U=E.type;if(typeof U!=="string")continue;switch(U){case"text":{let w=(q=E.text)!=null?q:"",K=E.annotations;W.push({type:"text",text:w,...WQ({interactionId:Z})});let F=BQ({annotations:K,generateId:Y});for(let N of F)W.push(N);break}case"thought":{let w=E,F=(Array.isArray(w.summary)?w.summary:[]).filter((N)=>(N==null?void 0:N.type)==="text"&&typeof N.text==="string").map((N)=>N.text).join(`
12
+ `);W.push({type:"reasoning",text:F,...WQ({signature:w.signature,interactionId:Z})});break}case"image":{let w=E;if(w.data!=null&&w.data.length>0)W.push({type:"file",mediaType:($=w.mime_type)!=null?$:"image/png",data:w.data,...WQ({interactionId:Z})});else if(w.uri!=null&&w.uri.length>0)W.push({type:"file",mediaType:(L=w.mime_type)!=null?L:"image/png",data:"",providerMetadata:{google:{...Z!=null?{interactionId:Z}:{},imageUri:w.uri}}});break}case"function_call":{A=!0;let w=E;W.push({type:"tool-call",toolCallId:w.id,toolName:w.name,input:JSON.stringify((z=w.arguments)!=null?z:{}),...WQ({signature:w.signature,interactionId:Z})});break}default:{if(KY.has(U)){let w=E,K=U==="mcp_server_tool_call"?(H=w.name)!=null?H:"mcp_server_tool":GY(U),F=JSON.stringify((G=w.arguments)!=null?G:{});W.push({type:"tool-call",toolCallId:(D=w.id)!=null?D:Y(),toolName:K,input:F,providerExecuted:!0})}else if(zY.has(U)){let w=E,K=U==="mcp_server_tool_result"?(B=w.name)!=null?B:"mcp_server_tool":LY(U);W.push({type:"tool-result",toolCallId:(j=w.call_id)!=null?j:Y(),toolName:K,result:(V=w.result)!=null?V:null});let F=tQ({block:E,generateId:Y});for(let N of F)W.push(N)}break}}}return{content:W,hasFunctionCall:A}}var VY=()=>globalThis.fetch;async function qX({baseURL:X,interactionId:Y,headers:Z,fetch:q=VY()}){if(Y==null||Y.length===0)return;let $=`${X}/interactions/${encodeURIComponent(Y)}/cancel`;try{let L=await q($,{method:"POST",headers:HQ(p({"Content-Type":"application/json"},Z),mQ()),body:"{}"});try{await L.text()}catch(z){}}catch(L){}}var WY=new Set(["completed","failed","cancelled","incomplete"]);function NQ(X){return X!=null&&WY.has(X)}var EY=1000,UY=1e4,jY=1800000;async function HY({baseURL:X,interactionId:Y,headers:Z,fetch:q,abortSignal:$,initialDelayMs:L=EY,maxDelayMs:z=UY,timeoutMs:H=jY}){if(Y==null||Y.length===0)throw Error("google.interactions: cannot poll a background interaction without an id. The POST response did not include an interaction id.");let G=Date.now(),D=L,B=`${X}/interactions/${encodeURIComponent(Y)}`,j=()=>qX({baseURL:X,interactionId:Y,headers:Z,fetch:q});try{while(!0){if($==null?void 0:$.aborted)throw await j(),new DOMException("Polling was aborted","AbortError");if(Date.now()-G>H)throw Error(`google.interactions: timed out polling interaction ${Y} after ${H}ms.`);await YQ(D,{abortSignal:$});let{value:V,rawValue:W,responseHeaders:A}=await KQ({url:B,headers:Z,failedResponseHandler:r,successfulResponseHandler:i(AQ),abortSignal:$,fetch:q});if(NQ(V.status))return{response:V,rawResponse:W,responseHeaders:A};D=Math.min(D*2,z)}}catch(V){if(LQ(V))await j();throw V}}function DY({tools:X,toolChoice:Y}){var Z,q,$,L;let z=[],H=(X==null?void 0:X.length)?X:void 0;if(H==null)return{tools:void 0,toolChoice:void 0,toolWarnings:z};let G=[];for(let j of H){if(j.type==="function"){G.push({type:"function",name:j.name,description:(Z=j.description)!=null?Z:"",parameters:j.inputSchema});continue}if(j.type==="provider"){let V=(q=j.args)!=null?q:{};switch(j.id){case"google.google_search":{let W=V.searchTypes,A;if(W!=null&&typeof W==="object"){let E=[];if(W.webSearch!=null)E.push("web_search");if(W.imageSearch!=null)E.push("image_search");if(E.length>0)A=E}G.push({type:"google_search",...A!=null?{search_types:A}:{}});break}case"google.code_execution":{G.push({type:"code_execution"});break}case"google.url_context":{G.push({type:"url_context"});break}case"google.file_search":{G.push({type:"file_search",...V.fileSearchStoreNames!=null?{file_search_store_names:V.fileSearchStoreNames}:{},...V.topK!=null?{top_k:V.topK}:{},...V.metadataFilter!=null?{metadata_filter:V.metadataFilter}:{}});break}case"google.google_maps":{G.push({type:"google_maps",...V.latitude!=null?{latitude:V.latitude}:{},...V.longitude!=null?{longitude:V.longitude}:{},...V.enableWidget!=null?{enable_widget:V.enableWidget}:{}});break}case"google.computer_use":{G.push({type:"computer_use",environment:($=V.environment)!=null?$:"browser",...V.excludedPredefinedFunctions!=null?{excludedPredefinedFunctions:V.excludedPredefinedFunctions}:{}});break}case"google.mcp_server":{G.push({type:"mcp_server",...V.name!=null?{name:V.name}:{},...V.url!=null?{url:V.url}:{},...V.headers!=null?{headers:V.headers}:{},...V.allowedTools!=null?{allowed_tools:V.allowedTools}:{}});break}case"google.retrieval":{let W=(L=V.vertexAiSearchConfig)!=null?L:void 0;G.push({type:"retrieval",...V.retrievalTypes!=null?{retrieval_types:V.retrievalTypes}:{retrieval_types:["vertex_ai_search"]},...W!=null?{vertex_ai_search_config:W}:{}});break}default:{z.push({type:"unsupported",feature:`provider-defined tool ${j.id}`,details:`provider-defined tool ${j.id} is not supported by google.interactions; tool dropped.`});break}}continue}z.push({type:"unsupported",feature:`tool of type ${j.type}`,details:"Only function tools and google.* provider-defined tools are supported by google.interactions; tool dropped."})}let D=G.some((j)=>j.type==="function"),B;if(Y!=null&&D)switch(Y.type){case"auto":B="auto";break;case"required":B="any";break;case"none":B="none";break;case"tool":B={allowed_tools:{mode:"validated",tools:[Y.toolName]}};break}return{tools:G.length>0?G:void 0,toolChoice:B,toolWarnings:z}}var FY=3,BY=500;function AY({baseURL:X,interactionId:Y,headers:Z,fetch:q,abortSignal:$,maxRetries:L=FY,retryDelayMs:z=BY}){if(Y.length===0)throw Error("google.interactions: cannot stream a background interaction without an id.");let H={...Z,accept:"text/event-stream"},G,D=!1,B=0,j=!1,V,W=new AbortController,A=()=>W.abort();if($!=null)if($.aborted)W.abort();else $.addEventListener("abort",A,{once:!0});let E=W.signal;function U(){let K=`${X}/interactions/${encodeURIComponent(Y)}`,F=new URLSearchParams({stream:"true"});if(G!=null)F.set("last_event_id",G);return`${K}?${F.toString()}`}async function w(){let{value:K}=await KQ({url:U(),headers:H,failedResponseHandler:r,successfulResponseHandler:zQ($X),abortSignal:E,fetch:q});return K.getReader()}return new ReadableStream({async start(K){try{while(!D&&!E.aborted){if(V==null)try{V=await w(),j=!1}catch(F){if(LQ(F)||E.aborted){K.error(F);return}if(B++,B>=L){K.error(F);return}await YQ(z*B,{abortSignal:E});continue}try{let{done:F,value:N}=await V.read();if(F){if(V=void 0,D)break;if(!j){if(B++,B>=L){K.error(Error("google.interactions: SSE stream closed without producing any events."));return}await YQ(z*B,{abortSignal:E})}else B=0;continue}if(j=!0,N.success){let M=N.value;if(typeof M.event_id==="string"&&M.event_id.length>0)G=M.event_id;if(M.event_type==="interaction.complete"||M.event_type==="error")D=!0}K.enqueue(N)}catch(F){if(LQ(F)||E.aborted){K.error(F);return}if(V=void 0,B++,B>=L){K.error(F);return}await YQ(z*B,{abortSignal:E})}}K.close()}catch(F){K.error(F)}finally{if($!=null)$.removeEventListener("abort",A);if(V==null||V.cancel().catch(()=>{}),V=void 0,E.aborted&&!D)await qX({baseURL:X,interactionId:Y,headers:Z,fetch:q})}},cancel(){W.abort(),V==null||V.cancel().catch(()=>{}),V=void 0}})}function NY({response:X,warnings:Y,generateId:Z,includeRawChunks:q,headerServiceTier:$}){return new ReadableStream({start(L){var z,H,G;L.enqueue({type:"stream-start",warnings:Y});let D=typeof X.id==="string"&&X.id.length>0?X.id:void 0,B,j=X.created;if(typeof j==="string"){let F=new Date(j);if(!Number.isNaN(F.getTime()))B=F}if(L.enqueue({type:"response-metadata",...D!=null?{id:D}:{},modelId:(z=X.model)!=null?z:void 0,...B?{timestamp:B}:{}}),q)L.enqueue({type:"raw",rawValue:X});let{content:V,hasFunctionCall:W}=JX({outputs:(H=X.outputs)!=null?H:null,generateId:Z,interactionId:D}),A=0,E=()=>`${D!=null?D:"agent"}:${A++}`;for(let F of V)switch(F.type){case"text":{let N=E(),M=F.providerMetadata;if(L.enqueue({type:"text-start",id:N}),F.text.length>0)L.enqueue({type:"text-delta",id:N,delta:F.text});L.enqueue({type:"text-end",id:N,...M?{providerMetadata:M}:{}});break}case"reasoning":{let N=E(),M=F.providerMetadata;if(L.enqueue({type:"reasoning-start",id:N}),F.text.length>0)L.enqueue({type:"reasoning-delta",id:N,delta:F.text});L.enqueue({type:"reasoning-end",id:N,...M?{providerMetadata:M}:{}});break}case"tool-call":{let N=F.providerMetadata;L.enqueue({type:"tool-input-start",id:F.toolCallId,toolName:F.toolName,...F.providerExecuted?{providerExecuted:F.providerExecuted}:{}}),L.enqueue({type:"tool-input-delta",id:F.toolCallId,delta:F.input}),L.enqueue({type:"tool-input-end",id:F.toolCallId}),L.enqueue({type:"tool-call",toolCallId:F.toolCallId,toolName:F.toolName,input:F.input,...F.providerExecuted?{providerExecuted:F.providerExecuted}:{},...N?{providerMetadata:N}:{}});break}case"tool-result":{L.enqueue({type:"tool-result",toolCallId:F.toolCallId,toolName:F.toolName,result:F.result});break}case"source":case"file":{L.enqueue(F);break}default:break}let U=(G=X.service_tier)!=null?G:$,w={unified:wQ({status:X.status,hasFunctionCall:W}),raw:X.status},K={google:{...D!=null?{interactionId:D}:{},...U!=null?{serviceTier:U}:{}}};L.enqueue({type:"finish",finishReason:w,usage:PQ(X.usage),providerMetadata:K}),L.close()}})}var PY=class{constructor(X,Y){if(this.specificationVersion="v3",typeof X==="string")this.modelId=X,this.agent=void 0;else this.modelId=X.agent,this.agent=X.agent;this.config=Y}get provider(){return this.config.provider}get supportedUrls(){if(this.config.supportedUrls)return this.config.supportedUrls();return{"image/*":[/^https?:\/\/.+/],"application/pdf":[/^https?:\/\/.+/],"audio/*":[/^https?:\/\/.+/],"video/*":[/^https?:\/\/(www\.)?youtube\.com\/watch\?v=.+/,/^https?:\/\/youtu\.be\/.+/,/^gs:\/\/.+/]}}async getArgs(X){var Y,Z,q,$,L,z,H,G,D,B,j,V,W,A,E,U,w,K,F,N;let M=[],R=await e({provider:"google",providerOptions:X.providerOptions,schema:qY}),x=this.agent!=null,T=X.tools!=null&&X.tools.length>0,I,k;if(T&&x)M.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(T){let b=DY({tools:X.tools,toolChoice:X.toolChoice});I=b.tools,k=b.toolChoice,M.push(...b.toolWarnings)}let S,g;if(((Y=X.responseFormat)==null?void 0:Y.type)==="json"){if(x)M.push({type:"other",message:"google.interactions: structured output (responseFormat) is not supported when an agent is set; responseFormat will be ignored."});else if(S="application/json",X.responseFormat.schema!=null)g=X.responseFormat.schema}let{input:c,systemInstruction:d,warnings:$Q}=XY({prompt:X.prompt,previousInteractionId:(Z=R==null?void 0:R.previousInteractionId)!=null?Z:void 0,store:(q=R==null?void 0:R.store)!=null?q:void 0,mediaResolution:($=R==null?void 0:R.mediaResolution)!=null?$:void 0});M.push(...$Q);let O=d,J=(L=R==null?void 0:R.systemInstruction)!=null?L:void 0;if(O!=null&&J!=null)M.push({type:"other",message:"google.interactions: both AI SDK system message and providerOptions.google.systemInstruction were set; using the AI SDK system message."});else if(O==null&&J!=null)O=J;let P;if(x){let b=[];if(X.temperature!=null)b.push("temperature");if(X.topP!=null)b.push("topP");if(X.seed!=null)b.push("seed");if(X.stopSequences!=null&&X.stopSequences.length>0)b.push("stopSequences");if(X.maxOutputTokens!=null)b.push("maxOutputTokens");if((R==null?void 0:R.thinkingLevel)!=null)b.push("thinkingLevel");if((R==null?void 0:R.thinkingSummaries)!=null)b.push("thinkingSummaries");if((R==null?void 0:R.imageConfig)!=null)b.push("imageConfig");if(b.length>0)M.push({type:"other",message:`google.interactions: ${b.join(", ")} ${b.length===1?"is":"are"} not supported when an agent is set; use providerOptions.google.agentConfig instead. Dropped from the request body.`});P=void 0}else P=EQ({temperature:(z=X.temperature)!=null?z:void 0,top_p:(H=X.topP)!=null?H:void 0,seed:(G=X.seed)!=null?G:void 0,stop_sequences:X.stopSequences!=null&&X.stopSequences.length>0?X.stopSequences:void 0,max_output_tokens:(D=X.maxOutputTokens)!=null?D:void 0,thinking_level:(B=R==null?void 0:R.thinkingLevel)!=null?B:void 0,thinking_summaries:(j=R==null?void 0:R.thinkingSummaries)!=null?j:void 0,image_config:(R==null?void 0:R.imageConfig)!=null?EQ({aspect_ratio:(V=R.imageConfig.aspectRatio)!=null?V:void 0,image_size:(W=R.imageConfig.imageSize)!=null?W:void 0}):void 0,tool_choice:k});let C;if(x&&(R==null?void 0:R.agentConfig)!=null){let b=R.agentConfig;if(b.type==="deep-research")C=EQ({type:"deep-research",thinking_summaries:(A=b.thinkingSummaries)!=null?A:void 0,visualization:(E=b.visualization)!=null?E:void 0,collaborative_planning:(U=b.collaborativePlanning)!=null?U:void 0});else if(b.type==="dynamic")C={type:"dynamic"}}return{args:EQ({...x?{agent:this.agent}:{model:this.modelId},input:c,system_instruction:O,tools:I,response_format:g,response_mime_type:S,response_modalities:(R==null?void 0:R.responseModalities)!=null?R.responseModalities:void 0,previous_interaction_id:(w=R==null?void 0:R.previousInteractionId)!=null?w:void 0,service_tier:(K=R==null?void 0:R.serviceTier)!=null?K:void 0,store:(F=R==null?void 0:R.store)!=null?F:void 0,generation_config:P!=null&&Object.keys(P).length>0?P:void 0,agent_config:C,...x?{background:!0}:{}}),warnings:M,isAgent:x,pollingTimeoutMs:(N=R==null?void 0:R.pollingTimeoutMs)!=null?N:void 0}}async doGenerate(X){var Y,Z,q,$,L,z;let{args:H,warnings:G,isAgent:D,pollingTimeoutMs:B}=await this.getArgs(X),j=`${this.config.baseURL}/interactions`,V=p(this.config.headers?await s(this.config.headers):void 0,X.headers),W=await l({url:j,headers:V,body:H,failedResponseHandler:r,successfulResponseHandler:i(AQ),abortSignal:X.abortSignal,fetch:this.config.fetch}),{responseHeaders:A,value:E,rawValue:U}=W;if(D&&!NQ(E.status)){let T=await HY({baseURL:this.config.baseURL,interactionId:E.id,headers:V,fetch:this.config.fetch,abortSignal:X.abortSignal,timeoutMs:B});E=T.response,U=T.rawResponse,A=(Y=T.responseHeaders)!=null?Y:A}let w=typeof E.id==="string"&&E.id.length>0?E.id:void 0,{content:K,hasFunctionCall:F}=JX({outputs:(Z=E.outputs)!=null?Z:null,generateId:(q=this.config.generateId)!=null?q:a,interactionId:w}),N={unified:wQ({status:E.status,hasFunctionCall:F}),raw:E.status},M=(L=($=E.service_tier)!=null?$:A==null?void 0:A["x-gemini-service-tier"])!=null?L:void 0,R={google:{...w!=null?{interactionId:w}:{},...M!=null?{serviceTier:M}:{}}},x;if(typeof E.created==="string"){let T=new Date(E.created);if(!Number.isNaN(T.getTime()))x=T}return{content:K,finishReason:N,usage:PQ(E.usage),warnings:G,providerMetadata:R,request:{body:H},response:{headers:A,body:U,...w!=null?{id:w}:{},...x?{timestamp:x}:{},modelId:(z=E.model)!=null?z:void 0}}}async doStream(X){var Y;let{args:Z,warnings:q,isAgent:$,pollingTimeoutMs:L}=await this.getArgs(X),z=`${this.config.baseURL}/interactions`,H=p(this.config.headers?await s(this.config.headers):void 0,X.headers);if($)return this.doStreamBackground({args:Z,warnings:q,url:z,mergedHeaders:H,options:X,pollingTimeoutMs:L});let G={...Z,stream:!0},{responseHeaders:D,value:B}=await l({url:z,headers:H,body:G,failedResponseHandler:r,successfulResponseHandler:zQ($X),abortSignal:X.abortSignal,fetch:this.config.fetch}),j=D==null?void 0:D["x-gemini-service-tier"],V=vQ({warnings:q,generateId:(Y=this.config.generateId)!=null?Y:a,includeRawChunks:X.includeRawChunks,serviceTier:j});return{stream:B.pipeThrough(V),request:{body:G},response:{headers:D}}}async doStreamBackground({args:X,warnings:Y,url:Z,mergedHeaders:q,options:$,pollingTimeoutMs:L}){var z,H;let G=await l({url:Z,headers:q,body:X,failedResponseHandler:r,successfulResponseHandler:i(AQ),abortSignal:$.abortSignal,fetch:this.config.fetch}),{responseHeaders:D,value:B}=G,j=B.id;if(j==null||j.length===0)throw Error("google.interactions: background POST response did not include an interaction id; cannot stream the result.");let V=D==null?void 0:D["x-gemini-service-tier"];if(NQ(B.status))return{stream:NY({response:B,warnings:Y,generateId:(z=this.config.generateId)!=null?z:a,includeRawChunks:$.includeRawChunks,headerServiceTier:V}),request:{body:X},response:{headers:D}};let W=AY({baseURL:this.config.baseURL,interactionId:j,headers:q,fetch:this.config.fetch,abortSignal:$.abortSignal}),A=vQ({warnings:Y,generateId:(H=this.config.generateId)!=null?H:a,includeRawChunks:$.includeRawChunks,serviceTier:V});return{stream:W.pipeThrough(A),request:{body:X},response:{headers:D}}}};function EQ(X){let Y={};for(let[Z,q]of Object.entries(X)){if(q===void 0)continue;Y[Z]=q}return Y}function wY(X={}){var Y,Z;let q=(Y=cQ(X.baseURL))!=null?Y:"https://generativelanguage.googleapis.com/v1beta",$=(Z=X.name)!=null?Z:"google.generative-ai",L=()=>HQ({"x-goog-api-key":uQ({apiKey:X.apiKey,environmentVariableName:"GOOGLE_GENERATIVE_AI_API_KEY",description:"Google Generative AI"}),...X.headers},`ai-sdk/google/${GX}`),z=(V)=>{var W;return new pQ(V,{provider:$,baseURL:q,headers:L,generateId:(W=X.generateId)!=null?W:a,supportedUrls:()=>({"*":[new RegExp(`^${q}/files/.*$`),new RegExp("^https://(?:www\\.)?youtube\\.com/watch\\?v=[\\w-]+(?:&[\\w=&.-]*)?$"),new RegExp("^https://youtu\\.be/[\\w-]+(?:\\?[\\w=&.-]*)?$")]}),fetch:X.fetch})},H=(V)=>new EX(V,{provider:$,baseURL:q,headers:L,fetch:X.fetch}),G=(V,W={})=>new pX(V,W,{provider:$,baseURL:q,headers:L,fetch:X.fetch}),D=(V)=>{var W;return new sX(V,{provider:$,baseURL:q,headers:L,fetch:X.fetch,generateId:(W=X.generateId)!=null?W:a})},B=(V)=>{var W;return new PY(V,{provider:`${$}.interactions`,baseURL:q,headers:L,generateId:(W=X.generateId)!=null?W:a,fetch:X.fetch})},j=function(V){if(new.target)throw Error("The Google Generative AI model function cannot be called with the new keyword.");return z(V)};return j.specificationVersion="v3",j.languageModel=z,j.chat=z,j.generativeAI=z,j.embedding=H,j.embeddingModel=H,j.textEmbedding=H,j.textEmbeddingModel=H,j.image=G,j.imageModel=G,j.video=D,j.videoModel=D,j.interactions=B,j.tools=cX,j}var EZ=wY();export{EZ as google,wY as createGoogleGenerativeAI,GX as VERSION};
@@ -0,0 +1,7 @@
1
+ // @bun
2
+ import{eh as wX}from"./chunk-r093mfa8.js";import{Ai as _,Bi as KQ,Ci as yQ,Di as s,Fi as EQ,Ph as XQ,Vh as vQ,Wh as ZQ,Xh as p,Zh as hQ,ai as HQ,bi as $Q,ei as t,hi as uQ,ii as mQ,mi as AQ,ni as zQ,oi as T,qi as f,vi as i,wi as l,yi as g,zi as PQ}from"./chunk-124qmktt.js";import{Du as Q}from"./chunk-ntvr3177.js";import{QF as DX}from"./chunk-8j3aw4qg.js";var gQ=DX(wX(),1);function DQ(X){var Y,J,L,K;if(X==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 E=(Y=X.promptTokenCount)!=null?Y:0,z=(J=X.candidatesTokenCount)!=null?J:0,b=(L=X.cachedContentTokenCount)!=null?L:0,A=(K=X.thoughtsTokenCount)!=null?K:0;return{inputTokens:{total:E,noCache:E-b,cacheRead:b,cacheWrite:void 0},outputTokens:{total:z+A,text:z,reasoning:A},raw:X}}function c(X,Y=!0){if(X==null)return;if(pQ(X)){if(Y)return;if(typeof X==="object"&&X.description)return{type:"object",description:X.description};return{type:"object"}}if(typeof X==="boolean")return{type:"boolean",properties:{}};let{type:J,description:L,required:K,properties:E,items:z,allOf:b,anyOf:A,oneOf:w,format:H,const:V,minLength:F,enum:j}=X,G={};if(L)G.description=L;if(K)G.required=K;if(H)G.format=H;if(V!==void 0)G.enum=[V];if(J)if(Array.isArray(J)){let W=J.includes("null"),q=J.filter((P)=>P!=="null");if(q.length===0)G.type="null";else if(G.anyOf=q.map((P)=>({type:P})),W)G.nullable=!0}else G.type=J;if(j!==void 0)G.enum=j;if(E!=null)G.properties=Object.entries(E).reduce((W,[q,P])=>{return W[q]=c(P,!1),W},{});if(z)G.items=Array.isArray(z)?z.map((W)=>c(W,!1)):c(z,!1);if(b)G.allOf=b.map((W)=>c(W,!1));if(A)if(A.some((W)=>typeof W==="object"&&(W==null?void 0:W.type)==="null")){let W=A.filter((q)=>!(typeof q==="object"&&(q==null?void 0:q.type)==="null"));if(W.length===1){let q=c(W[0],!1);if(typeof q==="object")G.nullable=!0,Object.assign(G,q)}else G.anyOf=W.map((q)=>c(q,!1)),G.nullable=!0}else G.anyOf=A.map((W)=>c(W,!1));if(w)G.oneOf=w.map((W)=>c(W,!1));if(F!==void 0)G.minLength=F;return G}function pQ(X){return X!=null&&typeof X==="object"&&X.type==="object"&&(X.properties==null||Object.keys(X.properties).length===0)&&!X.additionalProperties}var iQ=/^data:([^;,]+);base64,(.+)$/s;function lQ(X){let Y=iQ.exec(X);if(Y==null)return;return{mediaType:Y[1],data:Y[2]}}function sQ(X){let Y=lQ(X);if(Y==null)return;return{inlineData:{mimeType:Y.mediaType,data:Y.data}}}function nQ(X,Y,J){let L=[],K=[];for(let E of J)switch(E.type){case"text":{K.push(E.text);break}case"image-data":case"file-data":{L.push({inlineData:{mimeType:E.mediaType,data:E.data}});break}case"image-url":case"file-url":{let z=sQ(E.url);if(z!=null)L.push(z);else K.push(JSON.stringify(E));break}default:{K.push(JSON.stringify(E));break}}X.push({functionResponse:{name:Y,response:{name:Y,content:K.length>0?K.join(`
3
+ `):"Tool executed successfully."},...L.length>0?{parts:L}:{}}})}function aQ(X,Y,J){for(let L of J)switch(L.type){case"text":X.push({functionResponse:{name:Y,response:{name:Y,content:L.text}}});break;case"image-data":X.push({inlineData:{mimeType:String(L.mediaType),data:String(L.data)}},{text:"Tool executed successfully and returned this image as a response"});break;default:X.push({text:JSON.stringify(L)});break}}function rQ(X,Y){var J,L,K,E,z,b,A,w;let H=[],V=[],F=!0,j=(J=Y==null?void 0:Y.isGemmaModel)!=null?J:!1,G=(L=Y==null?void 0:Y.providerOptionsName)!=null?L:"google",W=(K=Y==null?void 0:Y.supportsFunctionResponseParts)!=null?K:!0;for(let{role:q,content:P}of X)switch(q){case"system":{if(!F)throw new ZQ({functionality:"system messages are only supported at the beginning of the conversation"});H.push({text:P});break}case"user":{F=!1;let Z=[];for(let R of P)switch(R.type){case"text":{Z.push({text:R.text});break}case"file":{let B=R.mediaType==="image/*"?"image/jpeg":R.mediaType;Z.push(R.data instanceof URL?{fileData:{mimeType:B,fileUri:R.data.toString()}}:{inlineData:{mimeType:B,data:$Q(R.data)}});break}}V.push({role:"user",parts:Z});break}case"assistant":{F=!1,V.push({role:"model",parts:P.map((Z)=>{var R,B,k,M;let $=(M=(R=Z.providerOptions)==null?void 0:R[G])!=null?M:G!=="google"?(B=Z.providerOptions)==null?void 0:B.google:(k=Z.providerOptions)==null?void 0:k.vertex,S=($==null?void 0:$.thoughtSignature)!=null?String($.thoughtSignature):void 0;switch(Z.type){case"text":return Z.text.length===0?void 0:{text:Z.text,thoughtSignature:S};case"reasoning":return Z.text.length===0?void 0:{text:Z.text,thought:!0,thoughtSignature:S};case"file":{if(Z.data instanceof URL)throw new ZQ({functionality:"File data URLs in assistant messages are not supported"});return{inlineData:{mimeType:Z.mediaType,data:$Q(Z.data)},...($==null?void 0:$.thought)===!0?{thought:!0}:{},thoughtSignature:S}}case"tool-call":{let y=($==null?void 0:$.serverToolCallId)!=null?String($.serverToolCallId):void 0,N=($==null?void 0:$.serverToolType)!=null?String($.serverToolType):void 0;if(y&&N)return{toolCall:{toolType:N,args:typeof Z.input==="string"?JSON.parse(Z.input):Z.input,id:y},thoughtSignature:S};return{functionCall:{name:Z.toolName,args:Z.input},thoughtSignature:S}}case"tool-result":{let y=($==null?void 0:$.serverToolCallId)!=null?String($.serverToolCallId):void 0,N=($==null?void 0:$.serverToolType)!=null?String($.serverToolType):void 0;if(y&&N)return{toolResponse:{toolType:N,response:Z.output.type==="json"?Z.output.value:{},id:y},thoughtSignature:S};return}}}).filter((Z)=>Z!==void 0)});break}case"tool":{F=!1;let Z=[];for(let R of P){if(R.type==="tool-approval-response")continue;let B=(A=(E=R.providerOptions)==null?void 0:E[G])!=null?A:G!=="google"?(z=R.providerOptions)==null?void 0:z.google:(b=R.providerOptions)==null?void 0:b.vertex,k=(B==null?void 0:B.serverToolCallId)!=null?String(B.serverToolCallId):void 0,M=(B==null?void 0:B.serverToolType)!=null?String(B.serverToolType):void 0;if(k&&M){let S=(B==null?void 0:B.thoughtSignature)!=null?String(B.thoughtSignature):void 0;if(V.length>0){let y=V[V.length-1];if(y.role==="model"){y.parts.push({toolResponse:{toolType:M,response:R.output.type==="json"?R.output.value:{},id:k},thoughtSignature:S});continue}}}let $=R.output;if($.type==="content")if(W)nQ(Z,R.toolName,$.value);else aQ(Z,R.toolName,$.value);else Z.push({functionResponse:{name:R.toolName,response:{name:R.toolName,content:$.type==="execution-denied"?(w=$.reason)!=null?w:"Tool execution denied.":$.value}}})}V.push({role:"user",parts:Z});break}}if(j&&H.length>0&&V.length>0&&V[0].role==="user"){let q=H.map((P)=>P.text).join(`
4
+
5
+ `);V[0].parts.unshift({text:q+`
6
+
7
+ `})}return{systemInstruction:H.length>0&&!j?{parts:H}:void 0,contents:V}}function wQ(X){return X.includes("/")?X:`models/${X}`}var tQ=T(()=>f(Q.object({error:Q.object({code:Q.number().nullable(),message:Q.string(),status:Q.string()})}))),BQ=KQ({errorSchema:tQ,errorToMessage:(X)=>X.error.message}),jQ=T(()=>f(Q.object({responseModalities:Q.array(Q.enum(["TEXT","IMAGE"])).optional(),thinkingConfig:Q.object({thinkingBudget:Q.number().optional(),includeThoughts:Q.boolean().optional(),thinkingLevel:Q.enum(["minimal","low","medium","high"]).optional()}).optional(),cachedContent:Q.string().optional(),structuredOutputs:Q.boolean().optional(),safetySettings:Q.array(Q.object({category:Q.enum(["HARM_CATEGORY_UNSPECIFIED","HARM_CATEGORY_HATE_SPEECH","HARM_CATEGORY_DANGEROUS_CONTENT","HARM_CATEGORY_HARASSMENT","HARM_CATEGORY_SEXUALLY_EXPLICIT","HARM_CATEGORY_CIVIC_INTEGRITY"]),threshold:Q.enum(["HARM_BLOCK_THRESHOLD_UNSPECIFIED","BLOCK_LOW_AND_ABOVE","BLOCK_MEDIUM_AND_ABOVE","BLOCK_ONLY_HIGH","BLOCK_NONE","OFF"])})).optional(),threshold:Q.enum(["HARM_BLOCK_THRESHOLD_UNSPECIFIED","BLOCK_LOW_AND_ABOVE","BLOCK_MEDIUM_AND_ABOVE","BLOCK_ONLY_HIGH","BLOCK_NONE","OFF"]).optional(),audioTimestamp:Q.boolean().optional(),labels:Q.record(Q.string(),Q.string()).optional(),mediaResolution:Q.enum(["MEDIA_RESOLUTION_UNSPECIFIED","MEDIA_RESOLUTION_LOW","MEDIA_RESOLUTION_MEDIUM","MEDIA_RESOLUTION_HIGH"]).optional(),imageConfig:Q.object({aspectRatio:Q.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:Q.enum(["1K","2K","4K","512"]).optional()}).optional(),retrievalConfig:Q.object({latLng:Q.object({latitude:Q.number(),longitude:Q.number()}).optional()}).optional(),streamFunctionCallArguments:Q.boolean().optional(),serviceTier:Q.enum(["standard","flex","priority"]).optional()}))),eQ={standard:"SERVICE_TIER_STANDARD",flex:"SERVICE_TIER_FLEX",priority:"SERVICE_TIER_PRIORITY"};function oQ({tools:X,toolChoice:Y,modelId:J,isVertexProvider:L=!1}){var K,E;X=(X==null?void 0:X.length)?X:void 0;let z=[],b=["gemini-flash-latest","gemini-flash-lite-latest","gemini-pro-latest"].some((q)=>q===J),A=J.includes("gemini-2")||J.includes("gemini-3")||J.includes("nano-banana")||b,w=J.includes("gemini-3"),H=J.includes("gemini-2.5")||J.includes("gemini-3");if(X==null)return{tools:void 0,toolConfig:void 0,toolWarnings:z};let V=X.some((q)=>q.type==="function"),F=X.some((q)=>q.type==="provider");if(V&&F&&!w)z.push({type:"unsupported",feature:"combination of function and provider-defined tools"});if(F){let q=[];if(X.filter((Z)=>Z.type==="provider").forEach((Z)=>{switch(Z.id){case"google.google_search":if(A)q.push({googleSearch:{...Z.args}});else z.push({type:"unsupported",feature:`provider-defined tool ${Z.id}`,details:"Google Search requires Gemini 2.0 or newer."});break;case"google.enterprise_web_search":if(A)q.push({enterpriseWebSearch:{}});else z.push({type:"unsupported",feature:`provider-defined tool ${Z.id}`,details:"Enterprise Web Search requires Gemini 2.0 or newer."});break;case"google.url_context":if(A)q.push({urlContext:{}});else z.push({type:"unsupported",feature:`provider-defined tool ${Z.id}`,details:"The URL context tool is not supported with other Gemini models than Gemini 2."});break;case"google.code_execution":if(A)q.push({codeExecution:{}});else z.push({type:"unsupported",feature:`provider-defined tool ${Z.id}`,details:"The code execution tool is not supported with other Gemini models than Gemini 2."});break;case"google.file_search":if(H)q.push({fileSearch:{...Z.args}});else z.push({type:"unsupported",feature:`provider-defined tool ${Z.id}`,details:"The file search tool is only supported with Gemini 2.5 models and Gemini 3 models."});break;case"google.vertex_rag_store":if(A)q.push({retrieval:{vertex_rag_store:{rag_resources:{rag_corpus:Z.args.ragCorpus},similarity_top_k:Z.args.topK}}});else z.push({type:"unsupported",feature:`provider-defined tool ${Z.id}`,details:"The RAG store tool is not supported with other Gemini models than Gemini 2."});break;case"google.google_maps":if(A)q.push({googleMaps:{}});else z.push({type:"unsupported",feature:`provider-defined tool ${Z.id}`,details:"The Google Maps grounding tool is not supported with Gemini models other than Gemini 2 or newer."});break;default:z.push({type:"unsupported",feature:`provider-defined tool ${Z.id}`});break}}),V&&w&&q.length>0){let Z=[];for(let B of X)if(B.type==="function")Z.push({name:B.name,description:(K=B.description)!=null?K:"",parameters:c(B.inputSchema)});let R={functionCallingConfig:{mode:"VALIDATED"},...!L&&{includeServerSideToolInvocations:!0}};if(Y!=null)switch(Y.type){case"auto":break;case"none":R.functionCallingConfig={mode:"NONE"};break;case"required":R.functionCallingConfig={mode:"ANY"};break;case"tool":R.functionCallingConfig={mode:"ANY",allowedFunctionNames:[Y.toolName]};break}return{tools:[...q,{functionDeclarations:Z}],toolConfig:R,toolWarnings:z}}return{tools:q.length>0?q:void 0,toolConfig:void 0,toolWarnings:z}}let j=[],G=!1;for(let q of X)switch(q.type){case"function":if(j.push({name:q.name,description:(E=q.description)!=null?E:"",parameters:c(q.inputSchema)}),q.strict===!0)G=!0;break;default:z.push({type:"unsupported",feature:`function tool ${q.name}`});break}if(Y==null)return{tools:[{functionDeclarations:j}],toolConfig:G?{functionCallingConfig:{mode:"VALIDATED"}}:void 0,toolWarnings:z};let W=Y.type;switch(W){case"auto":return{tools:[{functionDeclarations:j}],toolConfig:{functionCallingConfig:{mode:G?"VALIDATED":"AUTO"}},toolWarnings:z};case"none":return{tools:[{functionDeclarations:j}],toolConfig:{functionCallingConfig:{mode:"NONE"}},toolWarnings:z};case"required":return{tools:[{functionDeclarations:j}],toolConfig:{functionCallingConfig:{mode:G?"VALIDATED":"ANY"}},toolWarnings:z};case"tool":return{tools:[{functionDeclarations:j}],toolConfig:{functionCallingConfig:{mode:G?"VALIDATED":"ANY",allowedFunctionNames:[Y.toolName]}},toolWarnings:z};default:throw new ZQ({functionality:`tool choice type: ${W}`})}}var QX=class{constructor(){this.accumulatedArgs={},this.jsonText="",this.pathStack=[],this.stringOpen=!1}processPartialArgs(X){let Y="";for(let J of X){let L=J.jsonPath.replace(/^\$\./,"");if(!L)continue;let K=XX(L),E=YX(this.accumulatedArgs,K);if(J.stringValue!=null&&E!==void 0){let A=JSON.stringify(J.stringValue).slice(1,-1);RQ(this.accumulatedArgs,K,E+J.stringValue),Y+=A;continue}let b=ZX(J);if(b==null)continue;RQ(this.accumulatedArgs,K,b.value),Y+=this.emitNavigationTo(K,J,b.json)}return this.jsonText+=Y,{currentJSON:this.accumulatedArgs,textDelta:Y}}finalize(){let X=JSON.stringify(this.accumulatedArgs),Y=X.slice(this.jsonText.length);return{finalJSON:X,closingDelta:Y}}ensureRoot(){if(this.pathStack.length===0)return this.pathStack.push({segment:"",isArray:!1,childCount:0}),"{";return""}emitNavigationTo(X,Y,J){let L="";if(this.stringOpen)L+='"',this.stringOpen=!1;L+=this.ensureRoot();let K=X.slice(0,-1),E=X[X.length-1],z=this.findCommonStackDepth(K);return L+=this.closeDownTo(z),L+=this.openDownTo(K,E),L+=this.emitLeaf(E,Y,J),L}findCommonStackDepth(X){let Y=Math.min(this.pathStack.length-1,X.length),J=0;for(let L=0;L<Y;L++)if(this.pathStack[L+1].segment===X[L])J++;else break;return J+1}closeDownTo(X){let Y="";while(this.pathStack.length>X){let J=this.pathStack.pop();Y+=J.isArray?"]":"}"}return Y}openDownTo(X,Y){let J="",L=this.pathStack.length-1;for(let K=L;K<X.length;K++){let E=X[K],z=this.pathStack[this.pathStack.length-1];if(z.childCount>0)J+=",";if(z.childCount++,typeof E==="string")J+=`${JSON.stringify(E)}:`;let A=typeof(K+1<X.length?X[K+1]:Y)==="number";J+=A?"[":"{",this.pathStack.push({segment:E,isArray:A,childCount:0})}return J}emitLeaf(X,Y,J){let L="",K=this.pathStack[this.pathStack.length-1];if(K.childCount>0)L+=",";if(K.childCount++,typeof X==="string")L+=`${JSON.stringify(X)}:`;if(Y.stringValue!=null&&Y.willContinue)L+=J.slice(0,-1),this.stringOpen=!0;else L+=J;return L}};function XX(X){let Y=[];for(let J of X.split(".")){let L=J.indexOf("[");if(L===-1)Y.push(J);else{if(L>0)Y.push(J.slice(0,L));for(let K of J.matchAll(/\[(\d+)\]/g))Y.push(parseInt(K[1],10))}}return Y}function YX(X,Y){let J=X;for(let L of Y){if(J==null||typeof J!=="object")return;J=J[L]}return J}function RQ(X,Y,J){let L=X;for(let K=0;K<Y.length-1;K++){let E=Y[K],z=Y[K+1];if(L[E]==null)L[E]=typeof z==="number"?[]:{};L=L[E]}L[Y[Y.length-1]]=J}function ZX(X){var Y,J;let L=(J=(Y=X.stringValue)!=null?Y:X.numberValue)!=null?J:X.boolValue;if(L!=null)return{value:L,json:JSON.stringify(L)};if("nullValue"in X)return{value:null,json:"null"};return}function NQ({finishReason:X,hasToolCalls:Y}){switch(X){case"STOP":return Y?"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";case"FINISH_REASON_UNSPECIFIED":case"OTHER":default:return"other"}}var qQ=class{constructor(X,Y){this.specificationVersion="v3";var J;this.modelId=X,this.config=Y,this.generateId=(J=Y.generateId)!=null?J:t}get provider(){return this.config.provider}get supportedUrls(){var X,Y,J;return(J=(Y=(X=this.config).supportedUrls)==null?void 0:Y.call(X))!=null?J:{}}async getArgs({prompt:X,maxOutputTokens:Y,temperature:J,topP:L,topK:K,frequencyPenalty:E,presencePenalty:z,stopSequences:b,responseFormat:A,seed:w,tools:H,toolChoice:V,providerOptions:F},{isStreaming:j=!1}={}){var G,W;let q=[],P=this.config.provider.includes("vertex")?"vertex":"google",Z=await i({provider:P,providerOptions:F,schema:jQ});if(Z==null&&P!=="google")Z=await i({provider:"google",providerOptions:F,schema:jQ});let R=this.config.provider.startsWith("google.vertex.");if((H==null?void 0:H.some((I)=>I.type==="provider"&&I.id==="google.vertex_rag_store"))&&!R)q.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}).`});if((Z==null?void 0:Z.streamFunctionCallArguments)&&!R)q.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 B=Z==null?void 0:Z.serviceTier;if((Z==null?void 0:Z.serviceTier)&&R)B=eQ[Z.serviceTier];let k=this.modelId.toLowerCase().startsWith("gemma-"),M=this.modelId.startsWith("gemini-3"),{contents:$,systemInstruction:S}=rQ(X,{isGemmaModel:k,providerOptionsName:P,supportsFunctionResponseParts:M}),{tools:y,toolConfig:N,toolWarnings:n}=oQ({tools:H,toolChoice:V,modelId:this.modelId,isVertexProvider:R}),h=j&&R?(G=Z==null?void 0:Z.streamFunctionCallArguments)!=null?G:!1:void 0,d=N||h||(Z==null?void 0:Z.retrievalConfig)?{...N,...h&&{functionCallingConfig:{...N==null?void 0:N.functionCallingConfig,streamFunctionCallArguments:!0}},...(Z==null?void 0:Z.retrievalConfig)&&{retrievalConfig:Z.retrievalConfig}}:void 0;return{args:{generationConfig:{maxOutputTokens:Y,temperature:J,topK:K,topP:L,frequencyPenalty:E,presencePenalty:z,stopSequences:b,seed:w,responseMimeType:(A==null?void 0:A.type)==="json"?"application/json":void 0,responseSchema:(A==null?void 0:A.type)==="json"&&A.schema!=null&&((W=Z==null?void 0:Z.structuredOutputs)!=null?W:!0)?c(A.schema):void 0,...(Z==null?void 0:Z.audioTimestamp)&&{audioTimestamp:Z.audioTimestamp},responseModalities:Z==null?void 0:Z.responseModalities,thinkingConfig:Z==null?void 0:Z.thinkingConfig,...(Z==null?void 0:Z.mediaResolution)&&{mediaResolution:Z.mediaResolution},...(Z==null?void 0:Z.imageConfig)&&{imageConfig:Z.imageConfig}},contents:$,systemInstruction:k?void 0:S,safetySettings:Z==null?void 0:Z.safetySettings,tools:y,toolConfig:d,cachedContent:Z==null?void 0:Z.cachedContent,labels:Z==null?void 0:Z.labels,serviceTier:B},warnings:[...q,...n],providerOptionsName:P}}async doGenerate(X){var Y,J,L,K,E,z,b,A,w,H,V,F,j,G,W,q,P;let{args:Z,warnings:R,providerOptionsName:B}=await this.getArgs(X),k=p(await _(this.config.headers),X.headers),{responseHeaders:M,value:$,rawValue:S}=await l({url:`${this.config.baseURL}/${wQ(this.modelId)}:generateContent`,headers:k,body:Z,failedResponseHandler:BQ,successfulResponseHandler:s(LX),abortSignal:X.abortSignal,fetch:this.config.fetch}),y=$.candidates[0],N=[],n=(J=(Y=y.content)==null?void 0:Y.parts)!=null?J:[],h=$.usageMetadata,d,I;for(let D of n)if("executableCode"in D&&((L=D.executableCode)==null?void 0:L.code)){let O=this.config.generateId();d=O,N.push({type:"tool-call",toolCallId:O,toolName:"code_execution",input:JSON.stringify(D.executableCode),providerExecuted:!0})}else if("codeExecutionResult"in D&&D.codeExecutionResult)N.push({type:"tool-result",toolCallId:d,toolName:"code_execution",result:{outcome:D.codeExecutionResult.outcome,output:(K=D.codeExecutionResult.output)!=null?K:""}}),d=void 0;else if("text"in D&&D.text!=null){let O=D.thoughtSignature?{[B]:{thoughtSignature:D.thoughtSignature}}:void 0;if(D.text.length===0){if(O!=null&&N.length>0){let o=N[N.length-1];o.providerMetadata=O}}else N.push({type:D.thought===!0?"reasoning":"text",text:D.text,providerMetadata:O})}else if("functionCall"in D&&D.functionCall.name!=null)N.push({type:"tool-call",toolCallId:this.config.generateId(),toolName:D.functionCall.name,input:JSON.stringify((E=D.functionCall.args)!=null?E:{}),providerMetadata:D.thoughtSignature?{[B]:{thoughtSignature:D.thoughtSignature}}:void 0});else if("inlineData"in D){let O=D.thought===!0,o=!!D.thoughtSignature;N.push({type:"file",data:D.inlineData.data,mediaType:D.inlineData.mimeType,providerMetadata:O||o?{[B]:{...O?{thought:!0}:{},...o?{thoughtSignature:D.thoughtSignature}:{}}}:void 0})}else if("toolCall"in D&&D.toolCall){let O=(z=D.toolCall.id)!=null?z:this.config.generateId();I=O,N.push({type:"tool-call",toolCallId:O,toolName:`server:${D.toolCall.toolType}`,input:JSON.stringify((b=D.toolCall.args)!=null?b:{}),providerExecuted:!0,dynamic:!0,providerMetadata:D.thoughtSignature?{[B]:{thoughtSignature:D.thoughtSignature,serverToolCallId:O,serverToolType:D.toolCall.toolType}}:{[B]:{serverToolCallId:O,serverToolType:D.toolCall.toolType}}})}else if("toolResponse"in D&&D.toolResponse){let O=(A=I!=null?I:D.toolResponse.id)!=null?A:this.config.generateId();N.push({type:"tool-result",toolCallId:O,toolName:`server:${D.toolResponse.toolType}`,result:(w=D.toolResponse.response)!=null?w:{},providerMetadata:D.thoughtSignature?{[B]:{thoughtSignature:D.thoughtSignature,serverToolCallId:O,serverToolType:D.toolResponse.toolType}}:{[B]:{serverToolCallId:O,serverToolType:D.toolResponse.toolType}}}),I=void 0}let u=(H=bQ({groundingMetadata:y.groundingMetadata,generateId:this.config.generateId}))!=null?H:[];for(let D of u)N.push(D);return{content:N,finishReason:{unified:NQ({finishReason:y.finishReason,hasToolCalls:N.some((D)=>D.type==="tool-call"&&!D.providerExecuted)}),raw:(V=y.finishReason)!=null?V:void 0},usage:DQ(h),warnings:R,providerMetadata:{[B]:{promptFeedback:(F=$.promptFeedback)!=null?F:null,groundingMetadata:(j=y.groundingMetadata)!=null?j:null,urlContextMetadata:(G=y.urlContextMetadata)!=null?G:null,safetyRatings:(W=y.safetyRatings)!=null?W:null,usageMetadata:h!=null?h:null,finishMessage:(q=y.finishMessage)!=null?q:null,serviceTier:(P=$.serviceTier)!=null?P:null}},request:{body:Z},response:{headers:M,body:S}}}async doStream(X){let{args:Y,warnings:J,providerOptionsName:L}=await this.getArgs(X,{isStreaming:!0}),K=p(await _(this.config.headers),X.headers),{responseHeaders:E,value:z}=await l({url:`${this.config.baseURL}/${wQ(this.modelId)}:streamGenerateContent?alt=sse`,headers:K,body:Y,failedResponseHandler:BQ,successfulResponseHandler:yQ(JX),abortSignal:X.abortSignal,fetch:this.config.fetch}),b={unified:"other",raw:void 0},A=void 0,w=void 0,H=null,V=null,F=null,j=this.config.generateId,G=!1,W=null,q=null,P=0,Z=new Set,R,B,k=[];return{stream:z.pipeThrough(new TransformStream({start(M){M.enqueue({type:"stream-start",warnings:J})},transform(M,$){var S,y,N,n,h,d,I,u,D,O,o,WQ;if(X.includeRawChunks)$.enqueue({type:"raw",rawValue:M.rawValue});if(!M.success){$.enqueue({type:"error",error:M.error});return}let YQ=M.value,LQ=YQ.usageMetadata;if(LQ!=null)A=LQ;if(YQ.serviceTier!=null)F=YQ.serviceTier;let m=(S=YQ.candidates)==null?void 0:S[0];if(m==null)return;let VQ=m.content;if(m.groundingMetadata!=null)H=m.groundingMetadata;if(m.urlContextMetadata!=null)V=m.urlContextMetadata;let FQ=bQ({groundingMetadata:m.groundingMetadata,generateId:j});if(FQ!=null){for(let QQ of FQ)if(QQ.sourceType==="url"&&!Z.has(QQ.url))Z.add(QQ.url),$.enqueue(QQ)}if(VQ!=null){let QQ=(y=VQ.parts)!=null?y:[];for(let U of QQ)if("executableCode"in U&&((N=U.executableCode)==null?void 0:N.code)){let x=j();R=x,$.enqueue({type:"tool-call",toolCallId:x,toolName:"code_execution",input:JSON.stringify(U.executableCode),providerExecuted:!0})}else if("codeExecutionResult"in U&&U.codeExecutionResult){let x=R;if(x)$.enqueue({type:"tool-result",toolCallId:x,toolName:"code_execution",result:{outcome:U.codeExecutionResult.outcome,output:(n=U.codeExecutionResult.output)!=null?n:""}}),R=void 0}else if("text"in U&&U.text!=null){let x=U.thoughtSignature?{[L]:{thoughtSignature:U.thoughtSignature}}:void 0;if(U.text.length===0){if(x!=null&&W!==null)$.enqueue({type:"text-delta",id:W,delta:"",providerMetadata:x})}else if(U.thought===!0){if(W!==null)$.enqueue({type:"text-end",id:W}),W=null;if(q===null)q=String(P++),$.enqueue({type:"reasoning-start",id:q,providerMetadata:x});$.enqueue({type:"reasoning-delta",id:q,delta:U.text,providerMetadata:x})}else{if(q!==null)$.enqueue({type:"reasoning-end",id:q}),q=null;if(W===null)W=String(P++),$.enqueue({type:"text-start",id:W,providerMetadata:x});$.enqueue({type:"text-delta",id:W,delta:U.text,providerMetadata:x})}}else if("inlineData"in U){if(W!==null)$.enqueue({type:"text-end",id:W}),W=null;if(q!==null)$.enqueue({type:"reasoning-end",id:q}),q=null;let x=U.thought===!0,a=!!U.thoughtSignature,GQ=x||a?{[L]:{...x?{thought:!0}:{},...a?{thoughtSignature:U.thoughtSignature}:{}}}:void 0;$.enqueue({type:"file",mediaType:U.inlineData.mimeType,data:U.inlineData.data,providerMetadata:GQ})}else if("toolCall"in U&&U.toolCall){let x=(h=U.toolCall.id)!=null?h:j();B=x;let a={[L]:{...U.thoughtSignature?{thoughtSignature:U.thoughtSignature}:{},serverToolCallId:x,serverToolType:U.toolCall.toolType}};$.enqueue({type:"tool-call",toolCallId:x,toolName:`server:${U.toolCall.toolType}`,input:JSON.stringify((d=U.toolCall.args)!=null?d:{}),providerExecuted:!0,dynamic:!0,providerMetadata:a})}else if("toolResponse"in U&&U.toolResponse){let x=(I=B!=null?B:U.toolResponse.id)!=null?I:j(),a={[L]:{...U.thoughtSignature?{thoughtSignature:U.thoughtSignature}:{},serverToolCallId:x,serverToolType:U.toolResponse.toolType}};$.enqueue({type:"tool-result",toolCallId:x,toolName:`server:${U.toolResponse.toolType}`,result:(u=U.toolResponse.response)!=null?u:{},providerMetadata:a}),B=void 0}for(let U of QQ){if(!("functionCall"in U))continue;let x=U.thoughtSignature?{[L]:{thoughtSignature:U.thoughtSignature}}:void 0,a=U.functionCall.partialArgs!=null||U.functionCall.name!=null&&U.functionCall.willContinue===!0,GQ=U.functionCall.name==null&&U.functionCall.args==null&&U.functionCall.partialArgs==null&&U.functionCall.willContinue==null,cQ=U.functionCall.name!=null&&U.functionCall.args!=null&&U.functionCall.partialArgs==null,dQ=U.functionCall.name!=null&&U.functionCall.args==null&&U.functionCall.partialArgs==null&&U.functionCall.willContinue!==!0;if(a){if(U.functionCall.name!=null&&U.functionCall.willContinue===!0){let C=j(),v=new QX;if(k.push({toolCallId:C,toolName:U.functionCall.name,accumulator:v,providerMetadata:x}),$.enqueue({type:"tool-input-start",id:C,toolName:U.functionCall.name,providerMetadata:x}),U.functionCall.partialArgs!=null){let{textDelta:r}=v.processPartialArgs(U.functionCall.partialArgs);if(r.length>0)$.enqueue({type:"tool-input-delta",id:C,delta:r,providerMetadata:x})}}else if(U.functionCall.partialArgs!=null&&k.length>0){let C=k[k.length-1],{textDelta:v}=C.accumulator.processPartialArgs(U.functionCall.partialArgs);if(v.length>0)$.enqueue({type:"tool-input-delta",id:C.toolCallId,delta:v,providerMetadata:x})}}else if(GQ&&k.length>0){let C=k.pop(),{finalJSON:v,closingDelta:r}=C.accumulator.finalize();if(r.length>0)$.enqueue({type:"tool-input-delta",id:C.toolCallId,delta:r,providerMetadata:C.providerMetadata});$.enqueue({type:"tool-input-end",id:C.toolCallId,providerMetadata:C.providerMetadata}),$.enqueue({type:"tool-call",toolCallId:C.toolCallId,toolName:C.toolName,input:v,providerMetadata:C.providerMetadata}),G=!0}else if(cQ){let C=j(),v=U.functionCall.name,r=typeof U.functionCall.args==="string"?U.functionCall.args:JSON.stringify((D=U.functionCall.args)!=null?D:{});$.enqueue({type:"tool-input-start",id:C,toolName:v,providerMetadata:x}),$.enqueue({type:"tool-input-delta",id:C,delta:r,providerMetadata:x}),$.enqueue({type:"tool-input-end",id:C,providerMetadata:x}),$.enqueue({type:"tool-call",toolCallId:C,toolName:v,input:r,providerMetadata:x}),G=!0}else if(dQ){let C=j(),v=U.functionCall.name;$.enqueue({type:"tool-input-start",id:C,toolName:v,providerMetadata:x}),$.enqueue({type:"tool-input-end",id:C,providerMetadata:x}),$.enqueue({type:"tool-call",toolCallId:C,toolName:v,input:"{}",providerMetadata:x}),G=!0}}}if(m.finishReason!=null)b={unified:NQ({finishReason:m.finishReason,hasToolCalls:G}),raw:m.finishReason},w={[L]:{promptFeedback:(O=YQ.promptFeedback)!=null?O:null,groundingMetadata:H,urlContextMetadata:V,safetyRatings:(o=m.safetyRatings)!=null?o:null,usageMetadata:LQ!=null?LQ:null,finishMessage:(WQ=m.finishMessage)!=null?WQ:null,serviceTier:F}}},flush(M){if(W!==null)M.enqueue({type:"text-end",id:W});if(q!==null)M.enqueue({type:"reasoning-end",id:q});M.enqueue({type:"finish",finishReason:b,usage:DQ(A),providerMetadata:w})}})),response:{headers:E},request:{body:Y}}}};function bQ({groundingMetadata:X,generateId:Y}){var J,L,K,E,z,b;if(!(X==null?void 0:X.groundingChunks))return;let A=[];for(let w of X.groundingChunks)if(w.web!=null)A.push({type:"source",sourceType:"url",id:Y(),url:w.web.uri,title:(J=w.web.title)!=null?J:void 0});else if(w.image!=null)A.push({type:"source",sourceType:"url",id:Y(),url:w.image.sourceUri,title:(L=w.image.title)!=null?L:void 0});else if(w.retrievedContext!=null){let H=w.retrievedContext.uri,V=w.retrievedContext.fileSearchStore;if(H&&(H.startsWith("http://")||H.startsWith("https://")))A.push({type:"source",sourceType:"url",id:Y(),url:H,title:(K=w.retrievedContext.title)!=null?K:void 0});else if(H){let F=(E=w.retrievedContext.title)!=null?E:"Unknown Document",j="application/octet-stream",G=void 0;if(H.endsWith(".pdf"))j="application/pdf",G=H.split("/").pop();else if(H.endsWith(".txt"))j="text/plain",G=H.split("/").pop();else if(H.endsWith(".docx"))j="application/vnd.openxmlformats-officedocument.wordprocessingml.document",G=H.split("/").pop();else if(H.endsWith(".doc"))j="application/msword",G=H.split("/").pop();else if(H.match(/\.(md|markdown)$/))j="text/markdown",G=H.split("/").pop();else G=H.split("/").pop();A.push({type:"source",sourceType:"document",id:Y(),mediaType:j,title:F,filename:G})}else if(V){let F=(z=w.retrievedContext.title)!=null?z:"Unknown Document";A.push({type:"source",sourceType:"document",id:Y(),mediaType:"application/octet-stream",title:F,filename:V.split("/").pop()})}}else if(w.maps!=null){if(w.maps.uri)A.push({type:"source",sourceType:"url",id:Y(),url:w.maps.uri,title:(b=w.maps.title)!=null?b:void 0})}return A.length>0?A:void 0}var MQ=()=>Q.object({webSearchQueries:Q.array(Q.string()).nullish(),imageSearchQueries:Q.array(Q.string()).nullish(),retrievalQueries:Q.array(Q.string()).nullish(),searchEntryPoint:Q.object({renderedContent:Q.string()}).nullish(),groundingChunks:Q.array(Q.object({web:Q.object({uri:Q.string(),title:Q.string().nullish()}).nullish(),image:Q.object({sourceUri:Q.string(),imageUri:Q.string(),title:Q.string().nullish(),domain:Q.string().nullish()}).nullish(),retrievedContext:Q.object({uri:Q.string().nullish(),title:Q.string().nullish(),text:Q.string().nullish(),fileSearchStore:Q.string().nullish()}).nullish(),maps:Q.object({uri:Q.string().nullish(),title:Q.string().nullish(),text:Q.string().nullish(),placeId:Q.string().nullish()}).nullish()})).nullish(),groundingSupports:Q.array(Q.object({segment:Q.object({startIndex:Q.number().nullish(),endIndex:Q.number().nullish(),text:Q.string().nullish()}).nullish(),segment_text:Q.string().nullish(),groundingChunkIndices:Q.array(Q.number()).nullish(),supportChunkIndices:Q.array(Q.number()).nullish(),confidenceScores:Q.array(Q.number()).nullish(),confidenceScore:Q.array(Q.number()).nullish()})).nullish(),retrievalMetadata:Q.union([Q.object({webDynamicRetrievalScore:Q.number()}),Q.object({})]).nullish()}),$X=Q.object({jsonPath:Q.string(),stringValue:Q.string().nullish(),numberValue:Q.number().nullish(),boolValue:Q.boolean().nullish(),nullValue:Q.unknown().nullish(),willContinue:Q.boolean().nullish()}),kQ=()=>Q.object({parts:Q.array(Q.union([Q.object({functionCall:Q.object({name:Q.string().nullish(),args:Q.unknown().nullish(),partialArgs:Q.array($X).nullish(),willContinue:Q.boolean().nullish()}),thoughtSignature:Q.string().nullish()}),Q.object({inlineData:Q.object({mimeType:Q.string(),data:Q.string()}),thought:Q.boolean().nullish(),thoughtSignature:Q.string().nullish()}),Q.object({toolCall:Q.object({toolType:Q.string(),args:Q.unknown().nullish(),id:Q.string()}),thoughtSignature:Q.string().nullish()}),Q.object({toolResponse:Q.object({toolType:Q.string(),response:Q.unknown().nullish(),id:Q.string()}),thoughtSignature:Q.string().nullish()}),Q.object({executableCode:Q.object({language:Q.string(),code:Q.string()}).nullish(),codeExecutionResult:Q.object({outcome:Q.string(),output:Q.string().nullish()}).nullish(),text:Q.string().nullish(),thought:Q.boolean().nullish(),thoughtSignature:Q.string().nullish()})])).nullish()}),JQ=()=>Q.object({category:Q.string().nullish(),probability:Q.string().nullish(),probabilityScore:Q.number().nullish(),severity:Q.string().nullish(),severityScore:Q.number().nullish(),blocked:Q.boolean().nullish()}),xQ=Q.array(Q.object({modality:Q.string(),tokenCount:Q.number()})).nullish(),SQ=Q.object({cachedContentTokenCount:Q.number().nullish(),thoughtsTokenCount:Q.number().nullish(),promptTokenCount:Q.number().nullish(),candidatesTokenCount:Q.number().nullish(),totalTokenCount:Q.number().nullish(),trafficType:Q.string().nullish(),promptTokensDetails:xQ,candidatesTokensDetails:xQ}),CQ=()=>Q.object({urlMetadata:Q.array(Q.object({retrievedUrl:Q.string(),urlRetrievalStatus:Q.string()})).nullish()}),LX=T(()=>f(Q.object({candidates:Q.array(Q.object({content:kQ().nullish().or(Q.object({}).strict()),finishReason:Q.string().nullish(),finishMessage:Q.string().nullish(),safetyRatings:Q.array(JQ()).nullish(),groundingMetadata:MQ().nullish(),urlContextMetadata:CQ().nullish()})),usageMetadata:SQ.nullish(),promptFeedback:Q.object({blockReason:Q.string().nullish(),safetyRatings:Q.array(JQ()).nullish()}).nullish(),serviceTier:Q.string().nullish()}))),JX=T(()=>f(Q.object({candidates:Q.array(Q.object({content:kQ().nullish(),finishReason:Q.string().nullish(),finishMessage:Q.string().nullish(),safetyRatings:Q.array(JQ()).nullish(),groundingMetadata:MQ().nullish(),urlContextMetadata:CQ().nullish()})).nullish(),usageMetadata:SQ.nullish(),promptFeedback:Q.object({blockReason:Q.string().nullish(),safetyRatings:Q.array(JQ()).nullish()}).nullish(),serviceTier:Q.string().nullish()}))),KX=PQ({id:"google.code_execution",inputSchema:Q.object({language:Q.string().describe("The programming language of the code."),code:Q.string().describe("The code to be executed.")}),outputSchema:Q.object({outcome:Q.string().describe('The outcome of the execution (e.g., "OUTCOME_OK").'),output:Q.string().describe("The output from the code execution.")})}),qX=g({id:"google.enterprise_web_search",inputSchema:T(()=>f(Q.object({})))}),UX=Q.object({fileSearchStoreNames:Q.array(Q.string()).describe("The names of the file_search_stores to retrieve from. Example: `fileSearchStores/my-file-search-store-123`"),topK:Q.number().int().positive().describe("The number of file search retrieval chunks to retrieve.").optional(),metadataFilter:Q.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(),HX=T(()=>f(UX)),AX=g({id:"google.file_search",inputSchema:HX}),GX=g({id:"google.google_maps",inputSchema:T(()=>f(Q.object({})))}),zX=Q.object({searchTypes:Q.object({webSearch:Q.object({}).optional(),imageSearch:Q.object({}).optional()}).optional(),timeRangeFilter:Q.object({startTime:Q.string(),endTime:Q.string()}).optional()}).passthrough(),EX=T(()=>f(zX)),WX=g({id:"google.google_search",inputSchema:EX}),VX=g({id:"google.url_context",inputSchema:T(()=>f(Q.object({})))}),FX=g({id:"google.vertex_rag_store",inputSchema:Q.object({ragCorpus:Q.string(),topK:Q.number().optional()})}),e={googleSearch:WX,enterpriseWebSearch:qX,googleMaps:GX,urlContext:VX,fileSearch:AX,codeExecution:KX,vertexRagStore:FX};function BX(X){let Y=new gQ.GoogleAuth({scopes:["https://www.googleapis.com/auth/cloud-platform"],...X});return async function(){var L;let E=await(await Y.getClient()).getAccessToken();return(L=E==null?void 0:E.token)!=null?L:null}}var jX="4.0.128",RX=Q.object({error:Q.object({code:Q.number().nullable(),message:Q.string(),status:Q.string()})}),UQ=KQ({errorSchema:RX,errorToMessage:(X)=>X.error.message}),OQ=Q.object({outputDimensionality:Q.number().optional(),taskType:Q.enum(["SEMANTIC_SIMILARITY","CLASSIFICATION","CLUSTERING","RETRIEVAL_DOCUMENT","RETRIEVAL_QUERY","QUESTION_ANSWERING","FACT_VERIFICATION","CODE_RETRIEVAL_QUERY"]).optional(),title:Q.string().optional(),autoTruncate:Q.boolean().optional()}),NX=class{constructor(X,Y){this.specificationVersion="v3",this.maxEmbeddingsPerCall=2048,this.supportsParallelCalls=!0,this.modelId=X,this.config=Y}get provider(){return this.config.provider}async doEmbed({values:X,headers:Y,abortSignal:J,providerOptions:L}){let K=await i({provider:"vertex",providerOptions:L,schema:OQ});if(K==null)K=await i({provider:"google",providerOptions:L,schema:OQ});if(K=K!=null?K:{},X.length>this.maxEmbeddingsPerCall)throw new vQ({provider:this.provider,modelId:this.modelId,maxEmbeddingsPerCall:this.maxEmbeddingsPerCall,values:X});let E=p(await _(this.config.headers),Y),z=`${this.config.baseURL}/models/${this.modelId}:predict`,{responseHeaders:b,value:A,rawValue:w}=await l({url:z,headers:E,body:{instances:X.map((H)=>({content:H,task_type:K.taskType,title:K.title})),parameters:{outputDimensionality:K.outputDimensionality,autoTruncate:K.autoTruncate}},failedResponseHandler:UQ,successfulResponseHandler:s(bX),abortSignal:J,fetch:this.config.fetch});return{warnings:[],embeddings:A.predictions.map((H)=>H.embeddings.values),usage:{tokens:A.predictions.reduce((H,V)=>H+V.embeddings.statistics.token_count,0)},response:{headers:b,body:w}}}},bX=Q.object({predictions:Q.array(Q.object({embeddings:Q.object({values:Q.array(Q.number()),statistics:Q.object({token_count:Q.number()})})}))}),xX=class{constructor(X,Y){this.modelId=X,this.config=Y,this.specificationVersion="v3"}get maxImagesPerCall(){if(TQ(this.modelId))return 10;return 4}get provider(){return this.config.provider}async doGenerate(X){if(TQ(this.modelId))return this.doGenerateGemini(X);return this.doGenerateImagen(X)}async doGenerateImagen({prompt:X,n:Y,size:J,aspectRatio:L,seed:K,providerOptions:E,headers:z,abortSignal:b,files:A,mask:w}){var H,V,F,j,G,W,q;let P=[];if(J!=null)P.push({type:"unsupported",feature:"size",details:"This model does not support the `size` option. Use `aspectRatio` instead."});let Z=await i({provider:"vertex",providerOptions:E,schema:yX}),{edit:R,...B}=Z!=null?Z:{},{mode:k,baseSteps:M,maskMode:$,maskDilation:S}=R!=null?R:{},y=A!=null&&A.length>0,N;if(y){let I=[];for(let u=0;u<A.length;u++){let D=A[u];I.push({referenceType:"REFERENCE_TYPE_RAW",referenceId:u+1,referenceImage:{bytesBase64Encoded:fQ(D)}})}if(w!=null)I.push({referenceType:"REFERENCE_TYPE_MASK",referenceId:A.length+1,referenceImage:{bytesBase64Encoded:fQ(w)},maskImageConfig:{maskMode:$!=null?$:"MASK_MODE_USER_PROVIDED",...S!=null?{dilation:S}:{}}});N={instances:[{prompt:X,referenceImages:I}],parameters:{sampleCount:Y,...L!=null?{aspectRatio:L}:{},...K!=null?{seed:K}:{},editMode:k!=null?k:"EDIT_MODE_INPAINT_INSERTION",...M!=null?{editConfig:{baseSteps:M}}:{},...B}}}else N={instances:[{prompt:X}],parameters:{sampleCount:Y,...L!=null?{aspectRatio:L}:{},...K!=null?{seed:K}:{},...B}};let n=(F=(V=(H=this.config._internal)==null?void 0:H.currentDate)==null?void 0:V.call(H))!=null?F:new Date,{value:h,responseHeaders:d}=await l({url:`${this.config.baseURL}/models/${this.modelId}:predict`,headers:p(await _(this.config.headers),z),body:N,failedResponseHandler:UQ,successfulResponseHandler:s(PX),abortSignal:b,fetch:this.config.fetch});return{images:(G=(j=h.predictions)==null?void 0:j.map(({bytesBase64Encoded:I})=>I))!=null?G:[],warnings:P,response:{timestamp:n,modelId:this.modelId,headers:d},providerMetadata:{vertex:{images:(q=(W=h.predictions)==null?void 0:W.map((I)=>{let{prompt:u}=I;return{...u!=null&&{revisedPrompt:u}}}))!=null?q:[]}}}}async doGenerateGemini({prompt:X,n:Y,size:J,aspectRatio:L,seed:K,providerOptions:E,headers:z,abortSignal:b,files:A,mask:w}){var H,V,F,j,G,W,q,P,Z;let R=[];if(w!=null)throw Error("Gemini image models do not support mask-based image editing.");if(Y!=null&&Y>1)throw Error("Gemini image models do not support generating a set number of images per call. Use n=1 or omit the n parameter.");if(J!=null)R.push({type:"unsupported",feature:"size",details:"This model does not support the `size` option. Use `aspectRatio` instead."});let B=[];if(X!=null)B.push({type:"text",text:X});if(A!=null&&A.length>0)for(let N of A)if(N.type==="url")B.push({type:"file",data:new URL(N.url),mediaType:"image/*"});else B.push({type:"file",data:typeof N.data==="string"?N.data:new Uint8Array(N.data),mediaType:N.mediaType});let k=[{role:"user",content:B}],$=await new qQ(this.modelId,{provider:this.config.provider,baseURL:this.config.baseURL,headers:(H=this.config.headers)!=null?H:{},fetch:this.config.fetch,generateId:(V=this.config.generateId)!=null?V:t,supportedUrls:()=>({"*":[/^https?:\/\/.*$/,/^gs:\/\/.*$/]})}).doGenerate({prompt:k,seed:K,providerOptions:{vertex:{responseModalities:["IMAGE"],imageConfig:L?{aspectRatio:L}:void 0,...(F=E==null?void 0:E.vertex)!=null?F:{}}},headers:z,abortSignal:b}),S=(W=(G=(j=this.config._internal)==null?void 0:j.currentDate)==null?void 0:G.call(j))!=null?W:new Date,y=[];for(let N of $.content)if(N.type==="file"&&N.mediaType.startsWith("image/"))y.push($Q(N.data));return{images:y,warnings:R,providerMetadata:{vertex:{images:y.map(()=>({}))}},response:{timestamp:S,modelId:this.modelId,headers:(q=$.response)==null?void 0:q.headers},usage:$.usage?{inputTokens:$.usage.inputTokens.total,outputTokens:$.usage.outputTokens.total,totalTokens:((P=$.usage.inputTokens.total)!=null?P:0)+((Z=$.usage.outputTokens.total)!=null?Z:0)}:void 0}}};function TQ(X){return X.startsWith("gemini-")}var PX=Q.object({predictions:Q.array(Q.object({bytesBase64Encoded:Q.string(),mimeType:Q.string(),prompt:Q.string().nullish()})).nullish()}),yX=Q.object({negativePrompt:Q.string().nullish(),personGeneration:Q.enum(["dont_allow","allow_adult","allow_all"]).nullish(),safetySetting:Q.enum(["block_low_and_above","block_medium_and_above","block_only_high","block_none"]).nullish(),addWatermark:Q.boolean().nullish(),storageUri:Q.string().nullish(),sampleImageSize:Q.enum(["1K","2K"]).nullish(),edit:Q.object({baseSteps:Q.number().nullish(),mode:Q.enum(["EDIT_MODE_INPAINT_INSERTION","EDIT_MODE_INPAINT_REMOVAL","EDIT_MODE_OUTPAINT","EDIT_MODE_CONTROLLED_EDITING","EDIT_MODE_PRODUCT_IMAGE","EDIT_MODE_BGSWAP"]).nullish(),maskMode:Q.enum(["MASK_MODE_DEFAULT","MASK_MODE_USER_PROVIDED","MASK_MODE_DETECTION_BOX","MASK_MODE_CLOTHING_AREA","MASK_MODE_PARSED_PERSON"]).nullish(),maskDilation:Q.number().nullish()}).nullish()});function fQ(X){if(X.type==="url")throw Error("URL-based images are not supported for Google Vertex image editing. Please provide the image data directly.");if(typeof X.data==="string")return X.data;return HQ(X.data)}var MX={googleSearch:e.googleSearch,enterpriseWebSearch:e.enterpriseWebSearch,googleMaps:e.googleMaps,urlContext:e.urlContext,fileSearch:e.fileSearch,codeExecution:e.codeExecution,vertexRagStore:e.vertexRagStore},kX=class{constructor(X,Y){this.modelId=X,this.config=Y,this.specificationVersion="v3"}get provider(){return this.config.provider}get maxVideosPerCall(){return 4}async doGenerate(X){var Y,J,L,K,E,z;let b=(L=(J=(Y=this.config._internal)==null?void 0:Y.currentDate)==null?void 0:J.call(Y))!=null?L:new Date,A=[],w=await i({provider:"vertex",providerOptions:X.providerOptions,schema:SX}),H=[{}],V=H[0];if(X.prompt!=null)V.prompt=X.prompt;if(X.image!=null)if(X.image.type==="url")A.push({type:"unsupported",feature:"URL-based image input",details:"Vertex AI video models require base64-encoded images or GCS URIs. URL will be ignored."});else{let $=typeof X.image.data==="string"?X.image.data:HQ(X.image.data);V.image={bytesBase64Encoded:$,mimeType:X.image.mediaType}}if((w==null?void 0:w.referenceImages)!=null)V.referenceImages=w.referenceImages;let F={sampleCount:X.n};if(X.aspectRatio)F.aspectRatio=X.aspectRatio;if(X.resolution){let $={"1280x720":"720p","1920x1080":"1080p","3840x2160":"4k"};F.resolution=$[X.resolution]||X.resolution}if(X.duration)F.durationSeconds=X.duration;if(X.seed)F.seed=X.seed;if(w!=null){let $=w;if($.personGeneration!==void 0&&$.personGeneration!==null)F.personGeneration=$.personGeneration;if($.negativePrompt!==void 0&&$.negativePrompt!==null)F.negativePrompt=$.negativePrompt;if($.generateAudio!==void 0&&$.generateAudio!==null)F.generateAudio=$.generateAudio;if($.gcsOutputDirectory!==void 0&&$.gcsOutputDirectory!==null)F.gcsOutputDirectory=$.gcsOutputDirectory;for(let[S,y]of Object.entries($))if(!["pollIntervalMs","pollTimeoutMs","personGeneration","negativePrompt","generateAudio","gcsOutputDirectory","referenceImages"].includes(S))F[S]=y}let{value:j}=await l({url:`${this.config.baseURL}/models/${this.modelId}:predictLongRunning`,headers:p(await _(this.config.headers),X.headers),body:{instances:H,parameters:F},successfulResponseHandler:s(IQ),failedResponseHandler:UQ,abortSignal:X.abortSignal,fetch:this.config.fetch}),G=j.name;if(!G)throw new XQ({name:"VERTEX_VIDEO_GENERATION_ERROR",message:"No operation name returned from API"});let W=(K=w==null?void 0:w.pollIntervalMs)!=null?K:1e4,q=(E=w==null?void 0:w.pollTimeoutMs)!=null?E:600000,P=Date.now(),Z=j,R;while(!Z.done){if(Date.now()-P>q)throw new XQ({name:"VERTEX_VIDEO_GENERATION_TIMEOUT",message:`Video generation timed out after ${q}ms`});if(await hQ(W),(z=X.abortSignal)==null?void 0:z.aborted)throw new XQ({name:"VERTEX_VIDEO_GENERATION_ABORTED",message:"Video generation request was aborted"});let{value:$,responseHeaders:S}=await l({url:`${this.config.baseURL}/models/${this.modelId}:fetchPredictOperation`,headers:p(await _(this.config.headers),X.headers),body:{operationName:G},successfulResponseHandler:s(IQ),failedResponseHandler:UQ,abortSignal:X.abortSignal,fetch:this.config.fetch});Z=$,R=S}if(Z.error)throw new XQ({name:"VERTEX_VIDEO_GENERATION_FAILED",message:`Video generation failed: ${Z.error.message}`});let B=Z.response;if(!(B==null?void 0:B.videos)||B.videos.length===0)throw new XQ({name:"VERTEX_VIDEO_GENERATION_ERROR",message:`No videos in response. Response: ${JSON.stringify(Z)}`});let k=[],M=[];for(let $ of B.videos)if($.bytesBase64Encoded)k.push({type:"base64",data:$.bytesBase64Encoded,mediaType:$.mimeType||"video/mp4"}),M.push({mimeType:$.mimeType});else if($.gcsUri)k.push({type:"url",url:$.gcsUri,mediaType:$.mimeType||"video/mp4"}),M.push({gcsUri:$.gcsUri,mimeType:$.mimeType});if(k.length===0)throw new XQ({name:"VERTEX_VIDEO_GENERATION_ERROR",message:"No valid videos in response"});return{videos:k,warnings:A,response:{timestamp:b,modelId:this.modelId,headers:R},providerMetadata:{"google-vertex":{videos:M}}}}},IQ=Q.object({name:Q.string().nullish(),done:Q.boolean().nullish(),error:Q.object({code:Q.number().nullish(),message:Q.string(),status:Q.string().nullish()}).nullish(),response:Q.object({videos:Q.array(Q.object({bytesBase64Encoded:Q.string().nullish(),gcsUri:Q.string().nullish(),mimeType:Q.string().nullish()})).nullish(),raiMediaFilteredCount:Q.number().nullish()}).nullish()}),SX=T(()=>f(Q.object({pollIntervalMs:Q.number().positive().nullish(),pollTimeoutMs:Q.number().positive().nullish(),personGeneration:Q.enum(["dont_allow","allow_adult","allow_all"]).nullish(),negativePrompt:Q.string().nullish(),generateAudio:Q.boolean().nullish(),gcsOutputDirectory:Q.string().nullish(),referenceImages:Q.array(Q.object({bytesBase64Encoded:Q.string().nullish(),gcsUri:Q.string().nullish()})).nullish()}).passthrough())),CX="https://aiplatform.googleapis.com/v1/publishers/google";function OX(X,Y){return async(J,L)=>{let K={...L,headers:{...(L==null?void 0:L.headers)?uQ(L.headers):{},"x-goog-api-key":X}};return(Y!=null?Y:fetch)(J.toString(),K)}}function _Q(X={}){let Y=AQ({settingValue:X.apiKey,environmentVariableName:"GOOGLE_VERTEX_API_KEY"}),J=()=>zQ({settingValue:X.project,settingName:"project",environmentVariableName:"GOOGLE_VERTEX_PROJECT",description:"Google Vertex project"}),L=()=>zQ({settingValue:X.location,settingName:"location",environmentVariableName:"GOOGLE_VERTEX_LOCATION",description:"Google Vertex location"}),K=()=>{var V,F;if(Y)return(V=EQ(X.baseURL))!=null?V:CX;let j=L(),G=J(),W=`${j==="global"?"":j+"-"}aiplatform.googleapis.com`;return(F=EQ(X.baseURL))!=null?F:`https://${W}/v1beta1/projects/${G}/locations/${j}/publishers/google`},E=(V)=>{let F=async()=>{var j;let G=await _((j=X.headers)!=null?j:{});return mQ(G,`ai-sdk/google-vertex/${jX}`)};return{provider:`google.vertex.${V}`,headers:F,fetch:Y?OX(Y,X.fetch):X.fetch,baseURL:K()}},z=(V)=>{var F;return new qQ(V,{...E("chat"),generateId:(F=X.generateId)!=null?F:t,supportedUrls:()=>({"*":[/^https?:\/\/.*$/,/^gs:\/\/.*$/]})})},b=(V)=>new NX(V,E("embedding")),A=(V)=>{var F;return new xX(V,{...E("image"),generateId:(F=X.generateId)!=null?F:t})},w=(V)=>{var F;return new kX(V,{...E("video"),generateId:(F=X.generateId)!=null?F:t})},H=function(V){if(new.target)throw Error("The Google Vertex AI model function cannot be called with the new keyword.");return z(V)};return H.specificationVersion="v3",H.languageModel=z,H.embeddingModel=b,H.textEmbeddingModel=b,H.image=A,H.imageModel=A,H.video=w,H.videoModel=w,H.tools=MX,H}function TX(X={}){if(AQ({settingValue:X.apiKey,environmentVariableName:"GOOGLE_VERTEX_API_KEY"}))return _Q(X);let J=BX(X.googleAuthOptions);return _Q({...X,headers:async()=>({Authorization:`Bearer ${await J()}`,...await _(X.headers)})})}var RY=TX();export{RY as vertex,TX as createVertex,jX as VERSION};
@@ -0,0 +1,2 @@
1
+ // @bun
2
+ import{PF as q}from"./chunk-9g64kggy.js";import{RF as k}from"./chunk-8j3aw4qg.js";var z=k((b)=>{Object.defineProperty(b,"__esModule",{value:!0});b.getMachineId=void 0;var v=q();async function w(){v.diag.debug("could not read machine-id: unsupported platform");return}b.getMachineId=w});export default z();
@@ -0,0 +1,6 @@
1
+ // @bun
2
+ import{Jg as B,Kg as p,Qg as _}from"./chunk-npr41z9a.js";import{Rg as v}from"./chunk-e8j03wnd.js";import{$g as D}from"./chunk-3dq7hfxc.js";import{ah as d}from"./chunk-zaj612bw.js";import{QF as n}from"./chunk-8j3aw4qg.js";var x=n(D(),1),E=n(B(),1),i=n(d(),1);import M from"fs/promises";var C=n(d(),1);var A="169.254.170.2",O="169.254.170.23",b="[fd00:ec2::23]",S=(e,a)=>{if(e.protocol==="https:")return;if(e.hostname===A||e.hostname===O||e.hostname===b)return;if(e.hostname.includes("[")){if(e.hostname==="[::1]"||e.hostname==="[0000:0000:0000:0000:0000:0000:0000:0001]")return}else{if(e.hostname==="localhost")return;let c=e.hostname.split("."),r=(t)=>{let s=parseInt(t,10);return 0<=s&&s<=255};if(c[0]==="127"&&r(c[1])&&r(c[2])&&r(c[3])&&c.length===4)return}throw new C.CredentialsProviderError(`URL not accepted. It must either be HTTPS or match one of the following:
3
+ - loopback CIDR 127.0.0.0/8 or [::1/128]
4
+ - ECS container host 169.254.170.2
5
+ - EKS container host 169.254.170.23 or [fd00:ec2::23]`,{logger:a})};var o=n(d(),1),g=n(v(),1),w=n(_(),1),I=n(p(),1);function P(e){return new g.HttpRequest({protocol:e.protocol,hostname:e.hostname,port:Number(e.port),path:e.pathname,query:Array.from(e.searchParams.entries()).reduce((a,[c,r])=>{return a[c]=r,a},{}),fragment:e.hash})}async function K(e,a){let r=await I.sdkStreamMixin(e.body).transformToString();if(e.statusCode===200){let t=JSON.parse(r);if(typeof t.AccessKeyId!=="string"||typeof t.SecretAccessKey!=="string"||typeof t.Token!=="string"||typeof t.Expiration!=="string")throw new o.CredentialsProviderError("HTTP credential provider response not of the required format, an object matching: { AccessKeyId: string, SecretAccessKey: string, Token: string, Expiration: string(rfc3339) }",{logger:a});return{accessKeyId:t.AccessKeyId,secretAccessKey:t.SecretAccessKey,sessionToken:t.Token,expiration:w.parseRfc3339DateTime(t.Expiration)}}if(e.statusCode>=400&&e.statusCode<500){let t={};try{t=JSON.parse(r)}catch(s){}throw Object.assign(new o.CredentialsProviderError(`Server responded with status: ${e.statusCode}`,{logger:a}),{Code:t.Code,Message:t.Message})}throw new o.CredentialsProviderError(`Server responded with status: ${e.statusCode}`,{logger:a})}var T=(e,a,c)=>{return async()=>{for(let r=0;r<a;++r)try{return await e()}catch(t){await new Promise((s)=>setTimeout(s,c))}return await e()}};var N="AWS_CONTAINER_CREDENTIALS_RELATIVE_URI",j="http://169.254.170.2",H="AWS_CONTAINER_CREDENTIALS_FULL_URI",J="AWS_CONTAINER_AUTHORIZATION_TOKEN_FILE",$="AWS_CONTAINER_AUTHORIZATION_TOKEN",G=(e={})=>{e.logger?.debug("@aws-sdk/credential-provider-http - fromHttp");let a,c=e.awsContainerCredentialsRelativeUri??process.env[N],r=e.awsContainerCredentialsFullUri??process.env[H],t=e.awsContainerAuthorizationToken??process.env[$],s=e.awsContainerAuthorizationTokenFile??process.env[J],m=e.logger?.constructor?.name==="NoOpLogger"||!e.logger?.warn?console.warn:e.logger.warn.bind(e.logger);if(c&&r)m("@aws-sdk/credential-provider-http: you have set both awsContainerCredentialsRelativeUri and awsContainerCredentialsFullUri."),m("awsContainerCredentialsFullUri will take precedence.");if(t&&s)m("@aws-sdk/credential-provider-http: you have set both awsContainerAuthorizationToken and awsContainerAuthorizationTokenFile."),m("awsContainerAuthorizationToken will take precedence.");if(r)a=r;else if(c)a=`${j}${c}`;else throw new i.CredentialsProviderError(`No HTTP credential provider host provided.
6
+ Set AWS_CONTAINER_CREDENTIALS_FULL_URI or AWS_CONTAINER_CREDENTIALS_RELATIVE_URI.`,{logger:e.logger});let y=new URL(a);S(y,e.logger);let R=E.NodeHttpHandler.create({requestTimeout:e.timeout??1000,connectionTimeout:e.timeout??1000});return T(async()=>{let f=P(y);if(t)f.headers.Authorization=t;else if(s)f.headers.Authorization=(await M.readFile(s)).toString();try{let h=await R.handle(f);return K(h.response).then((u)=>x.setCredentialFeature(u,"CREDENTIALS_HTTP","z"))}catch(h){throw new i.CredentialsProviderError(String(h),{logger:e.logger})}},e.maxRetries??3,e.timeout??1000)};export{G as Fg};