aidevm / assets /@google-4tyssLU_.js
admin08077's picture
Upload 107 files
63c17a0 verified
/**
* @license
* Copyright 2025 Google LLC
* SPDX-License-Identifier: Apache-2.0
*/let _t,At;function Mt(){return{geminiUrl:_t,vertexUrl:At}}function It(n,e,t,i){var r,l;if(!(n!=null&&n.baseUrl)){const a=Mt();return e?(r=a.vertexUrl)!==null&&r!==void 0?r:t:(l=a.geminiUrl)!==null&&l!==void 0?l:i}return n.baseUrl}/**
* @license
* Copyright 2025 Google LLC
* SPDX-License-Identifier: Apache-2.0
*/class H{}function C(n,e){const t=/\{([^}]+)\}/g;return n.replace(t,(i,r)=>{if(Object.prototype.hasOwnProperty.call(e,r)){const l=e[r];return l!=null?String(l):""}else throw new Error(`Key '${r}' not found in valueMap.`)})}function s(n,e,t){for(let l=0;l<e.length-1;l++){const a=e[l];if(a.endsWith("[]")){const f=a.slice(0,-2);if(!(f in n))if(Array.isArray(t))n[f]=Array.from({length:t.length},()=>({}));else throw new Error(`Value must be a list given an array path ${a}`);if(Array.isArray(n[f])){const c=n[f];if(Array.isArray(t))for(let u=0;u<c.length;u++){const d=c[u];s(d,e.slice(l+1),t[u])}else for(const u of c)s(u,e.slice(l+1),t)}return}else if(a.endsWith("[0]")){const f=a.slice(0,-3);f in n||(n[f]=[{}]);const c=n[f];s(c[0],e.slice(l+1),t);return}(!n[a]||typeof n[a]!="object")&&(n[a]={}),n=n[a]}const i=e[e.length-1],r=n[i];if(r!==void 0){if(!t||typeof t=="object"&&Object.keys(t).length===0||t===r)return;if(typeof r=="object"&&typeof t=="object"&&r!==null&&t!==null)Object.assign(r,t);else throw new Error(`Cannot set value for an existing key. Key: ${i}`)}else n[i]=t}function o(n,e){try{if(e.length===1&&e[0]==="_self")return n;for(let t=0;t<e.length;t++){if(typeof n!="object"||n===null)return;const i=e[t];if(i.endsWith("[]")){const r=i.slice(0,-2);if(r in n){const l=n[r];return Array.isArray(l)?l.map(a=>o(a,e.slice(t+1))):void 0}else return}else n=n[i]}return n}catch(t){if(t instanceof TypeError)return;throw t}}/**
* @license
* Copyright 2025 Google LLC
* SPDX-License-Identifier: Apache-2.0
*/function ce(n){if(typeof n!="string")throw new Error("fromImageBytes must be a string");return n}/**
* @license
* Copyright 2025 Google LLC
* SPDX-License-Identifier: Apache-2.0
*/var De;(function(n){n.OUTCOME_UNSPECIFIED="OUTCOME_UNSPECIFIED",n.OUTCOME_OK="OUTCOME_OK",n.OUTCOME_FAILED="OUTCOME_FAILED",n.OUTCOME_DEADLINE_EXCEEDED="OUTCOME_DEADLINE_EXCEEDED"})(De||(De={}));var Ne;(function(n){n.LANGUAGE_UNSPECIFIED="LANGUAGE_UNSPECIFIED",n.PYTHON="PYTHON"})(Ne||(Ne={}));var G;(function(n){n.TYPE_UNSPECIFIED="TYPE_UNSPECIFIED",n.STRING="STRING",n.NUMBER="NUMBER",n.INTEGER="INTEGER",n.BOOLEAN="BOOLEAN",n.ARRAY="ARRAY",n.OBJECT="OBJECT",n.NULL="NULL"})(G||(G={}));var we;(function(n){n.HARM_CATEGORY_UNSPECIFIED="HARM_CATEGORY_UNSPECIFIED",n.HARM_CATEGORY_HATE_SPEECH="HARM_CATEGORY_HATE_SPEECH",n.HARM_CATEGORY_DANGEROUS_CONTENT="HARM_CATEGORY_DANGEROUS_CONTENT",n.HARM_CATEGORY_HARASSMENT="HARM_CATEGORY_HARASSMENT",n.HARM_CATEGORY_SEXUALLY_EXPLICIT="HARM_CATEGORY_SEXUALLY_EXPLICIT",n.HARM_CATEGORY_CIVIC_INTEGRITY="HARM_CATEGORY_CIVIC_INTEGRITY",n.HARM_CATEGORY_IMAGE_HATE="HARM_CATEGORY_IMAGE_HATE",n.HARM_CATEGORY_IMAGE_DANGEROUS_CONTENT="HARM_CATEGORY_IMAGE_DANGEROUS_CONTENT",n.HARM_CATEGORY_IMAGE_HARASSMENT="HARM_CATEGORY_IMAGE_HARASSMENT",n.HARM_CATEGORY_IMAGE_SEXUALLY_EXPLICIT="HARM_CATEGORY_IMAGE_SEXUALLY_EXPLICIT"})(we||(we={}));var Ue;(function(n){n.HARM_BLOCK_METHOD_UNSPECIFIED="HARM_BLOCK_METHOD_UNSPECIFIED",n.SEVERITY="SEVERITY",n.PROBABILITY="PROBABILITY"})(Ue||(Ue={}));var ke;(function(n){n.HARM_BLOCK_THRESHOLD_UNSPECIFIED="HARM_BLOCK_THRESHOLD_UNSPECIFIED",n.BLOCK_LOW_AND_ABOVE="BLOCK_LOW_AND_ABOVE",n.BLOCK_MEDIUM_AND_ABOVE="BLOCK_MEDIUM_AND_ABOVE",n.BLOCK_ONLY_HIGH="BLOCK_ONLY_HIGH",n.BLOCK_NONE="BLOCK_NONE",n.OFF="OFF"})(ke||(ke={}));var Fe;(function(n){n.MODE_UNSPECIFIED="MODE_UNSPECIFIED",n.MODE_DYNAMIC="MODE_DYNAMIC"})(Fe||(Fe={}));var Le;(function(n){n.AUTH_TYPE_UNSPECIFIED="AUTH_TYPE_UNSPECIFIED",n.NO_AUTH="NO_AUTH",n.API_KEY_AUTH="API_KEY_AUTH",n.HTTP_BASIC_AUTH="HTTP_BASIC_AUTH",n.GOOGLE_SERVICE_ACCOUNT_AUTH="GOOGLE_SERVICE_ACCOUNT_AUTH",n.OAUTH="OAUTH",n.OIDC_AUTH="OIDC_AUTH"})(Le||(Le={}));var Ve;(function(n){n.API_SPEC_UNSPECIFIED="API_SPEC_UNSPECIFIED",n.SIMPLE_SEARCH="SIMPLE_SEARCH",n.ELASTIC_SEARCH="ELASTIC_SEARCH"})(Ve||(Ve={}));var Ge;(function(n){n.ENVIRONMENT_UNSPECIFIED="ENVIRONMENT_UNSPECIFIED",n.ENVIRONMENT_BROWSER="ENVIRONMENT_BROWSER"})(Ge||(Ge={}));var qe;(function(n){n.URL_RETRIEVAL_STATUS_UNSPECIFIED="URL_RETRIEVAL_STATUS_UNSPECIFIED",n.URL_RETRIEVAL_STATUS_SUCCESS="URL_RETRIEVAL_STATUS_SUCCESS",n.URL_RETRIEVAL_STATUS_ERROR="URL_RETRIEVAL_STATUS_ERROR"})(qe||(qe={}));var He;(function(n){n.FINISH_REASON_UNSPECIFIED="FINISH_REASON_UNSPECIFIED",n.STOP="STOP",n.MAX_TOKENS="MAX_TOKENS",n.SAFETY="SAFETY",n.RECITATION="RECITATION",n.LANGUAGE="LANGUAGE",n.OTHER="OTHER",n.BLOCKLIST="BLOCKLIST",n.PROHIBITED_CONTENT="PROHIBITED_CONTENT",n.SPII="SPII",n.MALFORMED_FUNCTION_CALL="MALFORMED_FUNCTION_CALL",n.IMAGE_SAFETY="IMAGE_SAFETY",n.UNEXPECTED_TOOL_CALL="UNEXPECTED_TOOL_CALL"})(He||(He={}));var Be;(function(n){n.HARM_PROBABILITY_UNSPECIFIED="HARM_PROBABILITY_UNSPECIFIED",n.NEGLIGIBLE="NEGLIGIBLE",n.LOW="LOW",n.MEDIUM="MEDIUM",n.HIGH="HIGH"})(Be||(Be={}));var Je;(function(n){n.HARM_SEVERITY_UNSPECIFIED="HARM_SEVERITY_UNSPECIFIED",n.HARM_SEVERITY_NEGLIGIBLE="HARM_SEVERITY_NEGLIGIBLE",n.HARM_SEVERITY_LOW="HARM_SEVERITY_LOW",n.HARM_SEVERITY_MEDIUM="HARM_SEVERITY_MEDIUM",n.HARM_SEVERITY_HIGH="HARM_SEVERITY_HIGH"})(Je||(Je={}));var $e;(function(n){n.BLOCKED_REASON_UNSPECIFIED="BLOCKED_REASON_UNSPECIFIED",n.SAFETY="SAFETY",n.OTHER="OTHER",n.BLOCKLIST="BLOCKLIST",n.PROHIBITED_CONTENT="PROHIBITED_CONTENT",n.IMAGE_SAFETY="IMAGE_SAFETY"})($e||($e={}));var We;(function(n){n.TRAFFIC_TYPE_UNSPECIFIED="TRAFFIC_TYPE_UNSPECIFIED",n.ON_DEMAND="ON_DEMAND",n.PROVISIONED_THROUGHPUT="PROVISIONED_THROUGHPUT"})(We||(We={}));var oe;(function(n){n.MODALITY_UNSPECIFIED="MODALITY_UNSPECIFIED",n.TEXT="TEXT",n.IMAGE="IMAGE",n.AUDIO="AUDIO"})(oe||(oe={}));var Ye;(function(n){n.MEDIA_RESOLUTION_UNSPECIFIED="MEDIA_RESOLUTION_UNSPECIFIED",n.MEDIA_RESOLUTION_LOW="MEDIA_RESOLUTION_LOW",n.MEDIA_RESOLUTION_MEDIUM="MEDIA_RESOLUTION_MEDIUM",n.MEDIA_RESOLUTION_HIGH="MEDIA_RESOLUTION_HIGH"})(Ye||(Ye={}));var de;(function(n){n.JOB_STATE_UNSPECIFIED="JOB_STATE_UNSPECIFIED",n.JOB_STATE_QUEUED="JOB_STATE_QUEUED",n.JOB_STATE_PENDING="JOB_STATE_PENDING",n.JOB_STATE_RUNNING="JOB_STATE_RUNNING",n.JOB_STATE_SUCCEEDED="JOB_STATE_SUCCEEDED",n.JOB_STATE_FAILED="JOB_STATE_FAILED",n.JOB_STATE_CANCELLING="JOB_STATE_CANCELLING",n.JOB_STATE_CANCELLED="JOB_STATE_CANCELLED",n.JOB_STATE_PAUSED="JOB_STATE_PAUSED",n.JOB_STATE_EXPIRED="JOB_STATE_EXPIRED",n.JOB_STATE_UPDATING="JOB_STATE_UPDATING",n.JOB_STATE_PARTIALLY_SUCCEEDED="JOB_STATE_PARTIALLY_SUCCEEDED"})(de||(de={}));var Ke;(function(n){n.ADAPTER_SIZE_UNSPECIFIED="ADAPTER_SIZE_UNSPECIFIED",n.ADAPTER_SIZE_ONE="ADAPTER_SIZE_ONE",n.ADAPTER_SIZE_TWO="ADAPTER_SIZE_TWO",n.ADAPTER_SIZE_FOUR="ADAPTER_SIZE_FOUR",n.ADAPTER_SIZE_EIGHT="ADAPTER_SIZE_EIGHT",n.ADAPTER_SIZE_SIXTEEN="ADAPTER_SIZE_SIXTEEN",n.ADAPTER_SIZE_THIRTY_TWO="ADAPTER_SIZE_THIRTY_TWO"})(Ke||(Ke={}));var ze;(function(n){n.FEATURE_SELECTION_PREFERENCE_UNSPECIFIED="FEATURE_SELECTION_PREFERENCE_UNSPECIFIED",n.PRIORITIZE_QUALITY="PRIORITIZE_QUALITY",n.BALANCED="BALANCED",n.PRIORITIZE_COST="PRIORITIZE_COST"})(ze||(ze={}));var Xe;(function(n){n.UNSPECIFIED="UNSPECIFIED",n.BLOCKING="BLOCKING",n.NON_BLOCKING="NON_BLOCKING"})(Xe||(Xe={}));var Qe;(function(n){n.MODE_UNSPECIFIED="MODE_UNSPECIFIED",n.MODE_DYNAMIC="MODE_DYNAMIC"})(Qe||(Qe={}));var Ze;(function(n){n.MODE_UNSPECIFIED="MODE_UNSPECIFIED",n.AUTO="AUTO",n.ANY="ANY",n.NONE="NONE"})(Ze||(Ze={}));var be;(function(n){n.BLOCK_LOW_AND_ABOVE="BLOCK_LOW_AND_ABOVE",n.BLOCK_MEDIUM_AND_ABOVE="BLOCK_MEDIUM_AND_ABOVE",n.BLOCK_ONLY_HIGH="BLOCK_ONLY_HIGH",n.BLOCK_NONE="BLOCK_NONE"})(be||(be={}));var Oe;(function(n){n.DONT_ALLOW="DONT_ALLOW",n.ALLOW_ADULT="ALLOW_ADULT",n.ALLOW_ALL="ALLOW_ALL"})(Oe||(Oe={}));var je;(function(n){n.auto="auto",n.en="en",n.ja="ja",n.ko="ko",n.hi="hi",n.zh="zh",n.pt="pt",n.es="es"})(je||(je={}));var en;(function(n){n.MASK_MODE_DEFAULT="MASK_MODE_DEFAULT",n.MASK_MODE_USER_PROVIDED="MASK_MODE_USER_PROVIDED",n.MASK_MODE_BACKGROUND="MASK_MODE_BACKGROUND",n.MASK_MODE_FOREGROUND="MASK_MODE_FOREGROUND",n.MASK_MODE_SEMANTIC="MASK_MODE_SEMANTIC"})(en||(en={}));var nn;(function(n){n.CONTROL_TYPE_DEFAULT="CONTROL_TYPE_DEFAULT",n.CONTROL_TYPE_CANNY="CONTROL_TYPE_CANNY",n.CONTROL_TYPE_SCRIBBLE="CONTROL_TYPE_SCRIBBLE",n.CONTROL_TYPE_FACE_MESH="CONTROL_TYPE_FACE_MESH"})(nn||(nn={}));var tn;(function(n){n.SUBJECT_TYPE_DEFAULT="SUBJECT_TYPE_DEFAULT",n.SUBJECT_TYPE_PERSON="SUBJECT_TYPE_PERSON",n.SUBJECT_TYPE_ANIMAL="SUBJECT_TYPE_ANIMAL",n.SUBJECT_TYPE_PRODUCT="SUBJECT_TYPE_PRODUCT"})(tn||(tn={}));var on;(function(n){n.EDIT_MODE_DEFAULT="EDIT_MODE_DEFAULT",n.EDIT_MODE_INPAINT_REMOVAL="EDIT_MODE_INPAINT_REMOVAL",n.EDIT_MODE_INPAINT_INSERTION="EDIT_MODE_INPAINT_INSERTION",n.EDIT_MODE_OUTPAINT="EDIT_MODE_OUTPAINT",n.EDIT_MODE_CONTROLLED_EDITING="EDIT_MODE_CONTROLLED_EDITING",n.EDIT_MODE_STYLE="EDIT_MODE_STYLE",n.EDIT_MODE_BGSWAP="EDIT_MODE_BGSWAP",n.EDIT_MODE_PRODUCT_IMAGE="EDIT_MODE_PRODUCT_IMAGE"})(on||(on={}));var sn;(function(n){n.OPTIMIZED="OPTIMIZED",n.LOSSLESS="LOSSLESS"})(sn||(sn={}));var rn;(function(n){n.STATE_UNSPECIFIED="STATE_UNSPECIFIED",n.PROCESSING="PROCESSING",n.ACTIVE="ACTIVE",n.FAILED="FAILED"})(rn||(rn={}));var ln;(function(n){n.SOURCE_UNSPECIFIED="SOURCE_UNSPECIFIED",n.UPLOADED="UPLOADED",n.GENERATED="GENERATED"})(ln||(ln={}));var an;(function(n){n.MODALITY_UNSPECIFIED="MODALITY_UNSPECIFIED",n.TEXT="TEXT",n.IMAGE="IMAGE",n.VIDEO="VIDEO",n.AUDIO="AUDIO",n.DOCUMENT="DOCUMENT"})(an||(an={}));var un;(function(n){n.START_SENSITIVITY_UNSPECIFIED="START_SENSITIVITY_UNSPECIFIED",n.START_SENSITIVITY_HIGH="START_SENSITIVITY_HIGH",n.START_SENSITIVITY_LOW="START_SENSITIVITY_LOW"})(un||(un={}));var fn;(function(n){n.END_SENSITIVITY_UNSPECIFIED="END_SENSITIVITY_UNSPECIFIED",n.END_SENSITIVITY_HIGH="END_SENSITIVITY_HIGH",n.END_SENSITIVITY_LOW="END_SENSITIVITY_LOW"})(fn||(fn={}));var cn;(function(n){n.ACTIVITY_HANDLING_UNSPECIFIED="ACTIVITY_HANDLING_UNSPECIFIED",n.START_OF_ACTIVITY_INTERRUPTS="START_OF_ACTIVITY_INTERRUPTS",n.NO_INTERRUPTION="NO_INTERRUPTION"})(cn||(cn={}));var dn;(function(n){n.TURN_COVERAGE_UNSPECIFIED="TURN_COVERAGE_UNSPECIFIED",n.TURN_INCLUDES_ONLY_ACTIVITY="TURN_INCLUDES_ONLY_ACTIVITY",n.TURN_INCLUDES_ALL_INPUT="TURN_INCLUDES_ALL_INPUT"})(dn||(dn={}));var pn;(function(n){n.SCHEDULING_UNSPECIFIED="SCHEDULING_UNSPECIFIED",n.SILENT="SILENT",n.WHEN_IDLE="WHEN_IDLE",n.INTERRUPT="INTERRUPT"})(pn||(pn={}));var mn;(function(n){n.SCALE_UNSPECIFIED="SCALE_UNSPECIFIED",n.C_MAJOR_A_MINOR="C_MAJOR_A_MINOR",n.D_FLAT_MAJOR_B_FLAT_MINOR="D_FLAT_MAJOR_B_FLAT_MINOR",n.D_MAJOR_B_MINOR="D_MAJOR_B_MINOR",n.E_FLAT_MAJOR_C_MINOR="E_FLAT_MAJOR_C_MINOR",n.E_MAJOR_D_FLAT_MINOR="E_MAJOR_D_FLAT_MINOR",n.F_MAJOR_D_MINOR="F_MAJOR_D_MINOR",n.G_FLAT_MAJOR_E_FLAT_MINOR="G_FLAT_MAJOR_E_FLAT_MINOR",n.G_MAJOR_E_MINOR="G_MAJOR_E_MINOR",n.A_FLAT_MAJOR_F_MINOR="A_FLAT_MAJOR_F_MINOR",n.A_MAJOR_G_FLAT_MINOR="A_MAJOR_G_FLAT_MINOR",n.B_FLAT_MAJOR_G_MINOR="B_FLAT_MAJOR_G_MINOR",n.B_MAJOR_A_FLAT_MINOR="B_MAJOR_A_FLAT_MINOR"})(mn||(mn={}));var J;(function(n){n.PLAYBACK_CONTROL_UNSPECIFIED="PLAYBACK_CONTROL_UNSPECIFIED",n.PLAY="PLAY",n.PAUSE="PAUSE",n.STOP="STOP",n.RESET_CONTEXT="RESET_CONTEXT"})(J||(J={}));class pe{constructor(e){const t={};for(const i of e.headers.entries())t[i[0]]=i[1];this.headers=t,this.responseInternal=e}json(){return this.responseInternal.json()}}class Z{get text(){var e,t,i,r,l,a,f,c;if(((r=(i=(t=(e=this.candidates)===null||e===void 0?void 0:e[0])===null||t===void 0?void 0:t.content)===null||i===void 0?void 0:i.parts)===null||r===void 0?void 0:r.length)===0)return;this.candidates&&this.candidates.length>1&&console.warn("there are multiple candidates in the response, returning text from the first one.");let u="",d=!1;const p=[];for(const m of(c=(f=(a=(l=this.candidates)===null||l===void 0?void 0:l[0])===null||a===void 0?void 0:a.content)===null||f===void 0?void 0:f.parts)!==null&&c!==void 0?c:[]){for(const[g,h]of Object.entries(m))g!=="text"&&g!=="thought"&&(h!==null||h!==void 0)&&p.push(g);if(typeof m.text=="string"){if(typeof m.thought=="boolean"&&m.thought)continue;d=!0,u+=m.text}}return p.length>0&&console.warn(`there are non-text parts ${p} in the response, returning concatenation of all text parts. Please refer to the non text parts for a full response from model.`),d?u:void 0}get data(){var e,t,i,r,l,a,f,c;if(((r=(i=(t=(e=this.candidates)===null||e===void 0?void 0:e[0])===null||t===void 0?void 0:t.content)===null||i===void 0?void 0:i.parts)===null||r===void 0?void 0:r.length)===0)return;this.candidates&&this.candidates.length>1&&console.warn("there are multiple candidates in the response, returning data from the first one.");let u="";const d=[];for(const p of(c=(f=(a=(l=this.candidates)===null||l===void 0?void 0:l[0])===null||a===void 0?void 0:a.content)===null||f===void 0?void 0:f.parts)!==null&&c!==void 0?c:[]){for(const[m,g]of Object.entries(p))m!=="inlineData"&&(g!==null||g!==void 0)&&d.push(m);p.inlineData&&typeof p.inlineData.data=="string"&&(u+=atob(p.inlineData.data))}return d.length>0&&console.warn(`there are non-data parts ${d} in the response, returning concatenation of all data parts. Please refer to the non data parts for a full response from model.`),u.length>0?btoa(u):void 0}get functionCalls(){var e,t,i,r,l,a,f,c;if(((r=(i=(t=(e=this.candidates)===null||e===void 0?void 0:e[0])===null||t===void 0?void 0:t.content)===null||i===void 0?void 0:i.parts)===null||r===void 0?void 0:r.length)===0)return;this.candidates&&this.candidates.length>1&&console.warn("there are multiple candidates in the response, returning function calls from the first one.");const u=(c=(f=(a=(l=this.candidates)===null||l===void 0?void 0:l[0])===null||a===void 0?void 0:a.content)===null||f===void 0?void 0:f.parts)===null||c===void 0?void 0:c.filter(d=>d.functionCall).map(d=>d.functionCall).filter(d=>d!==void 0);if((u==null?void 0:u.length)!==0)return u}get executableCode(){var e,t,i,r,l,a,f,c,u;if(((r=(i=(t=(e=this.candidates)===null||e===void 0?void 0:e[0])===null||t===void 0?void 0:t.content)===null||i===void 0?void 0:i.parts)===null||r===void 0?void 0:r.length)===0)return;this.candidates&&this.candidates.length>1&&console.warn("there are multiple candidates in the response, returning executable code from the first one.");const d=(c=(f=(a=(l=this.candidates)===null||l===void 0?void 0:l[0])===null||a===void 0?void 0:a.content)===null||f===void 0?void 0:f.parts)===null||c===void 0?void 0:c.filter(p=>p.executableCode).map(p=>p.executableCode).filter(p=>p!==void 0);if((d==null?void 0:d.length)!==0)return(u=d==null?void 0:d[0])===null||u===void 0?void 0:u.code}get codeExecutionResult(){var e,t,i,r,l,a,f,c,u;if(((r=(i=(t=(e=this.candidates)===null||e===void 0?void 0:e[0])===null||t===void 0?void 0:t.content)===null||i===void 0?void 0:i.parts)===null||r===void 0?void 0:r.length)===0)return;this.candidates&&this.candidates.length>1&&console.warn("there are multiple candidates in the response, returning code execution result from the first one.");const d=(c=(f=(a=(l=this.candidates)===null||l===void 0?void 0:l[0])===null||a===void 0?void 0:a.content)===null||f===void 0?void 0:f.parts)===null||c===void 0?void 0:c.filter(p=>p.codeExecutionResult).map(p=>p.codeExecutionResult).filter(p=>p!==void 0);if((d==null?void 0:d.length)!==0)return(u=d==null?void 0:d[0])===null||u===void 0?void 0:u.output}}class gn{}class hn{}class Rt{}class Pt{}class Tn{}class yn{}class Cn{}class xt{}class vn{}class En{}class Sn{}class _n{}class Dt{}class Nt{}class wt{}class An{}class Ut{get text(){var e,t,i;let r="",l=!1;const a=[];for(const f of(i=(t=(e=this.serverContent)===null||e===void 0?void 0:e.modelTurn)===null||t===void 0?void 0:t.parts)!==null&&i!==void 0?i:[]){for(const[c,u]of Object.entries(f))c!=="text"&&c!=="thought"&&u!==null&&a.push(c);if(typeof f.text=="string"){if(typeof f.thought=="boolean"&&f.thought)continue;l=!0,r+=f.text}}return a.length>0&&console.warn(`there are non-text parts ${a} in the response, returning concatenation of all text parts. Please refer to the non text parts for a full response from model.`),l?r:void 0}get data(){var e,t,i;let r="";const l=[];for(const a of(i=(t=(e=this.serverContent)===null||e===void 0?void 0:e.modelTurn)===null||t===void 0?void 0:t.parts)!==null&&i!==void 0?i:[]){for(const[f,c]of Object.entries(a))f!=="inlineData"&&c!==null&&l.push(f);a.inlineData&&typeof a.inlineData.data=="string"&&(r+=atob(a.inlineData.data))}return l.length>0&&console.warn(`there are non-data parts ${l} in the response, returning concatenation of all data parts. Please refer to the non data parts for a full response from model.`),r.length>0?btoa(r):void 0}}class ie{_fromAPIResponse({apiResponse:e,isVertexAI:t}){const i=new ie;if(i.name=e.name,i.metadata=e.metadata,i.done=e.done,i.error=e.error,t){const r=e.response;if(r){const l=new vn,a=r.videos;l.generatedVideos=a==null?void 0:a.map(f=>({video:{uri:f.gcsUri,videoBytes:f.bytesBase64Encoded?ce(f.bytesBase64Encoded):void 0,mimeType:f.mimeType}})),l.raiMediaFilteredCount=r.raiMediaFilteredCount,l.raiMediaFilteredReasons=r.raiMediaFilteredReasons,i.response=l}}else{const r=e.response;if(r){const l=new vn,a=r.generateVideoResponse,f=a==null?void 0:a.generatedSamples;l.generatedVideos=f==null?void 0:f.map(c=>{const u=c.video;return{video:{uri:u==null?void 0:u.uri,videoBytes:u!=null&&u.encodedVideo?ce(u==null?void 0:u.encodedVideo):void 0,mimeType:c.encoding}}}),l.raiMediaFilteredCount=a==null?void 0:a.raiMediaFilteredCount,l.raiMediaFilteredReasons=a==null?void 0:a.raiMediaFilteredReasons,i.response=l}}return i}}class kt{get audioChunk(){if(this.serverContent&&this.serverContent.audioChunks&&this.serverContent.audioChunks.length>0)return this.serverContent.audioChunks[0]}}/**
* @license
* Copyright 2025 Google LLC
* SPDX-License-Identifier: Apache-2.0
*/function x(n,e){if(!e||typeof e!="string")throw new Error("model is required and must be a string");if(n.isVertexAI()){if(e.startsWith("publishers/")||e.startsWith("projects/")||e.startsWith("models/"))return e;if(e.indexOf("/")>=0){const t=e.split("/",2);return`publishers/${t[0]}/models/${t[1]}`}else return`publishers/google/models/${e}`}else return e.startsWith("models/")||e.startsWith("tunedModels/")?e:`models/${e}`}function zn(n,e){const t=x(n,e);return t?t.startsWith("publishers/")&&n.isVertexAI()?`projects/${n.getProject()}/locations/${n.getLocation()}/${t}`:t.startsWith("models/")&&n.isVertexAI()?`projects/${n.getProject()}/locations/${n.getLocation()}/publishers/google/${t}`:t:""}function Xn(n){return Array.isArray(n)?n.map(e=>se(e)):[se(n)]}function se(n){if(typeof n=="object"&&n!==null)return n;throw new Error(`Could not parse input as Blob. Unsupported blob type: ${typeof n}`)}function Qn(n){const e=se(n);if(e.mimeType&&e.mimeType.startsWith("image/"))return e;throw new Error(`Unsupported mime type: ${e.mimeType}`)}function Zn(n){const e=se(n);if(e.mimeType&&e.mimeType.startsWith("audio/"))return e;throw new Error(`Unsupported mime type: ${e.mimeType}`)}function Mn(n){if(n==null)throw new Error("PartUnion is required");if(typeof n=="object")return n;if(typeof n=="string")return{text:n};throw new Error(`Unsupported part type: ${typeof n}`)}function bn(n){if(n==null||Array.isArray(n)&&n.length===0)throw new Error("PartListUnion is required");return Array.isArray(n)?n.map(e=>Mn(e)):[Mn(n)]}function me(n){return n!=null&&typeof n=="object"&&"parts"in n&&Array.isArray(n.parts)}function In(n){return n!=null&&typeof n=="object"&&"functionCall"in n}function Rn(n){return n!=null&&typeof n=="object"&&"functionResponse"in n}function U(n){if(n==null)throw new Error("ContentUnion is required");return me(n)?n:{role:"user",parts:bn(n)}}function On(n,e){if(!e)return[];if(n.isVertexAI()&&Array.isArray(e))return e.flatMap(t=>{const i=U(t);return i.parts&&i.parts.length>0&&i.parts[0].text!==void 0?[i.parts[0].text]:[]});if(n.isVertexAI()){const t=U(e);return t.parts&&t.parts.length>0&&t.parts[0].text!==void 0?[t.parts[0].text]:[]}return Array.isArray(e)?e.map(t=>U(t)):[U(e)]}function k(n){if(n==null||Array.isArray(n)&&n.length===0)throw new Error("contents are required");if(!Array.isArray(n)){if(In(n)||Rn(n))throw new Error("To specify functionCall or functionResponse parts, please wrap them in a Content object, specifying the role for them");return[U(n)]}const e=[],t=[],i=me(n[0]);for(const r of n){const l=me(r);if(l!=i)throw new Error("Mixing Content and Parts is not supported, please group the parts into a the appropriate Content objects and specify the roles for them");if(l)e.push(r);else{if(In(r)||Rn(r))throw new Error("To specify functionCall or functionResponse parts, please wrap them, and any other parts, in Content objects as appropriate, specifying the role for them");t.push(r)}}return i||e.push({role:"user",parts:bn(t)}),e}function Ft(n,e){n.includes("null")&&(e.nullable=!0);const t=n.filter(i=>i!=="null");if(t.length===1)e.type=Object.values(G).includes(t[0].toUpperCase())?t[0].toUpperCase():G.TYPE_UNSPECIFIED;else{e.anyOf=[];for(const i of t)e.anyOf.push({type:Object.values(G).includes(i.toUpperCase())?i.toUpperCase():G.TYPE_UNSPECIFIED})}}function $(n){const e={},t=["items"],i=["anyOf"],r=["properties"];if(n.type&&n.anyOf)throw new Error("type and anyOf cannot be both populated.");const l=n.anyOf;l!=null&&l.length==2&&(l[0].type==="null"?(e.nullable=!0,n=l[1]):l[1].type==="null"&&(e.nullable=!0,n=l[0])),n.type instanceof Array&&Ft(n.type,e);for(const[a,f]of Object.entries(n))if(f!=null)if(a=="type"){if(f==="null")throw new Error("type: null can not be the only possible type for the field.");if(f instanceof Array)continue;e.type=Object.values(G).includes(f.toUpperCase())?f.toUpperCase():G.TYPE_UNSPECIFIED}else if(t.includes(a))e[a]=$(f);else if(i.includes(a)){const c=[];for(const u of f){if(u.type=="null"){e.nullable=!0;continue}c.push($(u))}e[a]=c}else if(r.includes(a)){const c={};for(const[u,d]of Object.entries(f))c[u]=$(d);e[a]=c}else{if(a==="additionalProperties")continue;e[a]=f}return e}function _e(n){return $(n)}function Ae(n){if(typeof n=="object")return n;if(typeof n=="string")return{voiceConfig:{prebuiltVoiceConfig:{voiceName:n}}};throw new Error(`Unsupported speechConfig type: ${typeof n}`)}function Me(n){if("multiSpeakerVoiceConfig"in n)throw new Error("multiSpeakerVoiceConfig is not supported in the live API.");return n}function K(n){if(n.functionDeclarations)for(const e of n.functionDeclarations)e.parameters&&(Object.keys(e.parameters).includes("$schema")?e.parametersJsonSchema||(e.parametersJsonSchema=e.parameters,delete e.parameters):e.parameters=$(e.parameters)),e.response&&(Object.keys(e.response).includes("$schema")?e.responseJsonSchema||(e.responseJsonSchema=e.response,delete e.response):e.response=$(e.response));return n}function z(n){if(n==null)throw new Error("tools is required");if(!Array.isArray(n))throw new Error("tools is required and must be an array of Tools");const e=[];for(const t of n)e.push(t);return e}function Lt(n,e,t,i=1){const r=!e.startsWith(`${t}/`)&&e.split("/").length===i;return n.isVertexAI()?e.startsWith("projects/")?e:e.startsWith("locations/")?`projects/${n.getProject()}/${e}`:e.startsWith(`${t}/`)?`projects/${n.getProject()}/locations/${n.getLocation()}/${e}`:r?`projects/${n.getProject()}/locations/${n.getLocation()}/${t}/${e}`:e:r?`${t}/${e}`:e}function V(n,e){if(typeof e!="string")throw new Error("name must be a string");return Lt(n,e,"cachedContents")}function jn(n){switch(n){case"STATE_UNSPECIFIED":return"JOB_STATE_UNSPECIFIED";case"CREATING":return"JOB_STATE_RUNNING";case"ACTIVE":return"JOB_STATE_SUCCEEDED";case"FAILED":return"JOB_STATE_FAILED";default:return n}}function B(n){return ce(n)}function Vt(n){return n!=null&&typeof n=="object"&&"name"in n}function Gt(n){return n!=null&&typeof n=="object"&&"video"in n}function qt(n){return n!=null&&typeof n=="object"&&"uri"in n}function et(n){var e;let t;if(Vt(n)&&(t=n.name),!(qt(n)&&(t=n.uri,t===void 0))&&!(Gt(n)&&(t=(e=n.video)===null||e===void 0?void 0:e.uri,t===void 0))){if(typeof n=="string"&&(t=n),t===void 0)throw new Error("Could not extract file name from the provided input.");if(t.startsWith("https://")){const r=t.split("files/")[1].match(/[a-z0-9]+/);if(r===null)throw new Error(`Could not extract file name from URI ${t}`);t=r[0]}else t.startsWith("files/")&&(t=t.split("files/")[1]);return t}}function nt(n,e){let t;return n.isVertexAI()?t=e?"publishers/google/models":"models":t=e?"models":"tunedModels",t}function tt(n){for(const e of["models","tunedModels","publisherModels"])if(Ht(n,e))return n[e];return[]}function Ht(n,e){return n!==null&&typeof n=="object"&&e in n}function Bt(n,e={}){const t=n,i={name:t.name,description:t.description,parametersJsonSchema:t.inputSchema};return e.behavior&&(i.behavior=e.behavior),{functionDeclarations:[i]}}function Jt(n,e={}){const t=[],i=new Set;for(const r of n){const l=r.name;if(i.has(l))throw new Error(`Duplicate function name ${l} found in MCP tools. Please ensure function names are unique.`);i.add(l);const a=Bt(r,e);a.functionDeclarations&&t.push(...a.functionDeclarations)}return{functionDeclarations:t}}function ot(n,e){if(typeof e!="string"&&!Array.isArray(e)){if(n&&n.isVertexAI()){if(e.gcsUri&&e.bigqueryUri)throw new Error("Only one of `gcsUri` or `bigqueryUri` can be set.");if(!e.gcsUri&&!e.bigqueryUri)throw new Error("One of `gcsUri` or `bigqueryUri` must be set.")}else{if(e.inlinedRequests&&e.fileName)throw new Error("Only one of `inlinedRequests` or `fileName` can be set.");if(!e.inlinedRequests&&!e.fileName)throw new Error("One of `inlinedRequests` or `fileName` must be set.")}return e}else{if(Array.isArray(e))return{inlinedRequests:e};if(typeof e=="string"){if(e.startsWith("gs://"))return{format:"jsonl",gcsUri:[e]};if(e.startsWith("bq://"))return{format:"bigquery",bigqueryUri:e};if(e.startsWith("files/"))return{fileName:e}}}throw new Error(`Unsupported source: ${e}`)}function $t(n){if(typeof n!="string")return n;const e=n;if(e.startsWith("gs://"))return{format:"jsonl",gcsUri:e};if(e.startsWith("bq://"))return{format:"bigquery",bigqueryUri:e};throw new Error(`Unsupported destination: ${e}`)}function X(n,e){const t=e;if(!n.isVertexAI()){if(/batches\/[^/]+$/.test(t))return t.split("/").pop();throw new Error(`Invalid batch job name: ${t}.`)}if(/^projects\/[^/]+\/locations\/[^/]+\/batchPredictionJobs\/[^/]+$/.test(t))return t.split("/").pop();if(/^\d+$/.test(t))return t;throw new Error(`Invalid batch job name: ${t}.`)}function it(n){const e=n;return e==="BATCH_STATE_UNSPECIFIED"?"JOB_STATE_UNSPECIFIED":e==="BATCH_STATE_PENDING"?"JOB_STATE_PENDING":e==="BATCH_STATE_SUCCEEDED"?"JOB_STATE_SUCCEEDED":e==="BATCH_STATE_FAILED"?"JOB_STATE_FAILED":e==="BATCH_STATE_CANCELLED"?"JOB_STATE_CANCELLED":e}/**
* @license
* Copyright 2025 Google LLC
* SPDX-License-Identifier: Apache-2.0
*/function Wt(n){const e={},t=o(n,["fps"]);t!=null&&s(e,["fps"],t);const i=o(n,["endOffset"]);i!=null&&s(e,["endOffset"],i);const r=o(n,["startOffset"]);return r!=null&&s(e,["startOffset"],r),e}function Yt(n){const e={};if(o(n,["displayName"])!==void 0)throw new Error("displayName parameter is not supported in Gemini API.");const t=o(n,["data"]);t!=null&&s(e,["data"],t);const i=o(n,["mimeType"]);return i!=null&&s(e,["mimeType"],i),e}function Kt(n){const e={};if(o(n,["displayName"])!==void 0)throw new Error("displayName parameter is not supported in Gemini API.");const t=o(n,["fileUri"]);t!=null&&s(e,["fileUri"],t);const i=o(n,["mimeType"]);return i!=null&&s(e,["mimeType"],i),e}function zt(n){const e={},t=o(n,["videoMetadata"]);t!=null&&s(e,["videoMetadata"],Wt(t));const i=o(n,["thought"]);i!=null&&s(e,["thought"],i);const r=o(n,["inlineData"]);r!=null&&s(e,["inlineData"],Yt(r));const l=o(n,["fileData"]);l!=null&&s(e,["fileData"],Kt(l));const a=o(n,["thoughtSignature"]);a!=null&&s(e,["thoughtSignature"],a);const f=o(n,["codeExecutionResult"]);f!=null&&s(e,["codeExecutionResult"],f);const c=o(n,["executableCode"]);c!=null&&s(e,["executableCode"],c);const u=o(n,["functionCall"]);u!=null&&s(e,["functionCall"],u);const d=o(n,["functionResponse"]);d!=null&&s(e,["functionResponse"],d);const p=o(n,["text"]);return p!=null&&s(e,["text"],p),e}function st(n){const e={},t=o(n,["parts"]);if(t!=null){let r=t;Array.isArray(r)&&(r=r.map(l=>zt(l))),s(e,["parts"],r)}const i=o(n,["role"]);return i!=null&&s(e,["role"],i),e}function Xt(n){const e={},t=o(n,["anyOf"]);t!=null&&s(e,["anyOf"],t);const i=o(n,["default"]);i!=null&&s(e,["default"],i);const r=o(n,["description"]);r!=null&&s(e,["description"],r);const l=o(n,["enum"]);l!=null&&s(e,["enum"],l);const a=o(n,["example"]);a!=null&&s(e,["example"],a);const f=o(n,["format"]);f!=null&&s(e,["format"],f);const c=o(n,["items"]);c!=null&&s(e,["items"],c);const u=o(n,["maxItems"]);u!=null&&s(e,["maxItems"],u);const d=o(n,["maxLength"]);d!=null&&s(e,["maxLength"],d);const p=o(n,["maxProperties"]);p!=null&&s(e,["maxProperties"],p);const m=o(n,["maximum"]);m!=null&&s(e,["maximum"],m);const g=o(n,["minItems"]);g!=null&&s(e,["minItems"],g);const h=o(n,["minLength"]);h!=null&&s(e,["minLength"],h);const T=o(n,["minProperties"]);T!=null&&s(e,["minProperties"],T);const y=o(n,["minimum"]);y!=null&&s(e,["minimum"],y);const S=o(n,["nullable"]);S!=null&&s(e,["nullable"],S);const v=o(n,["pattern"]);v!=null&&s(e,["pattern"],v);const E=o(n,["properties"]);E!=null&&s(e,["properties"],E);const A=o(n,["propertyOrdering"]);A!=null&&s(e,["propertyOrdering"],A);const _=o(n,["required"]);_!=null&&s(e,["required"],_);const I=o(n,["title"]);I!=null&&s(e,["title"],I);const R=o(n,["type"]);return R!=null&&s(e,["type"],R),e}function Qt(n){const e={};if(o(n,["method"])!==void 0)throw new Error("method parameter is not supported in Gemini API.");const t=o(n,["category"]);t!=null&&s(e,["category"],t);const i=o(n,["threshold"]);return i!=null&&s(e,["threshold"],i),e}function Zt(n){const e={},t=o(n,["behavior"]);t!=null&&s(e,["behavior"],t);const i=o(n,["description"]);i!=null&&s(e,["description"],i);const r=o(n,["name"]);r!=null&&s(e,["name"],r);const l=o(n,["parameters"]);l!=null&&s(e,["parameters"],l);const a=o(n,["parametersJsonSchema"]);a!=null&&s(e,["parametersJsonSchema"],a);const f=o(n,["response"]);f!=null&&s(e,["response"],f);const c=o(n,["responseJsonSchema"]);return c!=null&&s(e,["responseJsonSchema"],c),e}function bt(n){const e={},t=o(n,["startTime"]);t!=null&&s(e,["startTime"],t);const i=o(n,["endTime"]);return i!=null&&s(e,["endTime"],i),e}function Ot(n){const e={},t=o(n,["timeRangeFilter"]);return t!=null&&s(e,["timeRangeFilter"],bt(t)),e}function jt(n){const e={},t=o(n,["mode"]);t!=null&&s(e,["mode"],t);const i=o(n,["dynamicThreshold"]);return i!=null&&s(e,["dynamicThreshold"],i),e}function eo(n){const e={},t=o(n,["dynamicRetrievalConfig"]);return t!=null&&s(e,["dynamicRetrievalConfig"],jt(t)),e}function no(){return{}}function to(n){const e={},t=o(n,["functionDeclarations"]);if(t!=null){let c=t;Array.isArray(c)&&(c=c.map(u=>Zt(u))),s(e,["functionDeclarations"],c)}if(o(n,["retrieval"])!==void 0)throw new Error("retrieval parameter is not supported in Gemini API.");const i=o(n,["googleSearch"]);i!=null&&s(e,["googleSearch"],Ot(i));const r=o(n,["googleSearchRetrieval"]);if(r!=null&&s(e,["googleSearchRetrieval"],eo(r)),o(n,["enterpriseWebSearch"])!==void 0)throw new Error("enterpriseWebSearch parameter is not supported in Gemini API.");if(o(n,["googleMaps"])!==void 0)throw new Error("googleMaps parameter is not supported in Gemini API.");o(n,["urlContext"])!=null&&s(e,["urlContext"],no());const a=o(n,["codeExecution"]);a!=null&&s(e,["codeExecution"],a);const f=o(n,["computerUse"]);return f!=null&&s(e,["computerUse"],f),e}function oo(n){const e={},t=o(n,["mode"]);t!=null&&s(e,["mode"],t);const i=o(n,["allowedFunctionNames"]);return i!=null&&s(e,["allowedFunctionNames"],i),e}function io(n){const e={},t=o(n,["latitude"]);t!=null&&s(e,["latitude"],t);const i=o(n,["longitude"]);return i!=null&&s(e,["longitude"],i),e}function so(n){const e={},t=o(n,["latLng"]);t!=null&&s(e,["latLng"],io(t));const i=o(n,["languageCode"]);return i!=null&&s(e,["languageCode"],i),e}function ro(n){const e={},t=o(n,["functionCallingConfig"]);t!=null&&s(e,["functionCallingConfig"],oo(t));const i=o(n,["retrievalConfig"]);return i!=null&&s(e,["retrievalConfig"],so(i)),e}function lo(n){const e={},t=o(n,["voiceName"]);return t!=null&&s(e,["voiceName"],t),e}function rt(n){const e={},t=o(n,["prebuiltVoiceConfig"]);return t!=null&&s(e,["prebuiltVoiceConfig"],lo(t)),e}function ao(n){const e={},t=o(n,["speaker"]);t!=null&&s(e,["speaker"],t);const i=o(n,["voiceConfig"]);return i!=null&&s(e,["voiceConfig"],rt(i)),e}function uo(n){const e={},t=o(n,["speakerVoiceConfigs"]);if(t!=null){let i=t;Array.isArray(i)&&(i=i.map(r=>ao(r))),s(e,["speakerVoiceConfigs"],i)}return e}function fo(n){const e={},t=o(n,["voiceConfig"]);t!=null&&s(e,["voiceConfig"],rt(t));const i=o(n,["multiSpeakerVoiceConfig"]);i!=null&&s(e,["multiSpeakerVoiceConfig"],uo(i));const r=o(n,["languageCode"]);return r!=null&&s(e,["languageCode"],r),e}function co(n){const e={},t=o(n,["includeThoughts"]);t!=null&&s(e,["includeThoughts"],t);const i=o(n,["thinkingBudget"]);return i!=null&&s(e,["thinkingBudget"],i),e}function po(n,e,t){const i={},r=o(e,["systemInstruction"]);t!==void 0&&r!=null&&s(t,["systemInstruction"],st(U(r)));const l=o(e,["temperature"]);l!=null&&s(i,["temperature"],l);const a=o(e,["topP"]);a!=null&&s(i,["topP"],a);const f=o(e,["topK"]);f!=null&&s(i,["topK"],f);const c=o(e,["candidateCount"]);c!=null&&s(i,["candidateCount"],c);const u=o(e,["maxOutputTokens"]);u!=null&&s(i,["maxOutputTokens"],u);const d=o(e,["stopSequences"]);d!=null&&s(i,["stopSequences"],d);const p=o(e,["responseLogprobs"]);p!=null&&s(i,["responseLogprobs"],p);const m=o(e,["logprobs"]);m!=null&&s(i,["logprobs"],m);const g=o(e,["presencePenalty"]);g!=null&&s(i,["presencePenalty"],g);const h=o(e,["frequencyPenalty"]);h!=null&&s(i,["frequencyPenalty"],h);const T=o(e,["seed"]);T!=null&&s(i,["seed"],T);const y=o(e,["responseMimeType"]);y!=null&&s(i,["responseMimeType"],y);const S=o(e,["responseSchema"]);S!=null&&s(i,["responseSchema"],Xt(_e(S)));const v=o(e,["responseJsonSchema"]);if(v!=null&&s(i,["responseJsonSchema"],v),o(e,["routingConfig"])!==void 0)throw new Error("routingConfig parameter is not supported in Gemini API.");if(o(e,["modelSelectionConfig"])!==void 0)throw new Error("modelSelectionConfig parameter is not supported in Gemini API.");const E=o(e,["safetySettings"]);if(t!==void 0&&E!=null){let P=E;Array.isArray(P)&&(P=P.map(F=>Qt(F))),s(t,["safetySettings"],P)}const A=o(e,["tools"]);if(t!==void 0&&A!=null){let P=z(A);Array.isArray(P)&&(P=P.map(F=>to(K(F)))),s(t,["tools"],P)}const _=o(e,["toolConfig"]);if(t!==void 0&&_!=null&&s(t,["toolConfig"],ro(_)),o(e,["labels"])!==void 0)throw new Error("labels parameter is not supported in Gemini API.");const I=o(e,["cachedContent"]);t!==void 0&&I!=null&&s(t,["cachedContent"],V(n,I));const R=o(e,["responseModalities"]);R!=null&&s(i,["responseModalities"],R);const w=o(e,["mediaResolution"]);w!=null&&s(i,["mediaResolution"],w);const M=o(e,["speechConfig"]);if(M!=null&&s(i,["speechConfig"],fo(Ae(M))),o(e,["audioTimestamp"])!==void 0)throw new Error("audioTimestamp parameter is not supported in Gemini API.");const D=o(e,["thinkingConfig"]);return D!=null&&s(i,["thinkingConfig"],co(D)),i}function mo(n,e){const t={},i=o(e,["model"]);i!=null&&s(t,["request","model"],x(n,i));const r=o(e,["contents"]);if(r!=null){let a=k(r);Array.isArray(a)&&(a=a.map(f=>st(f))),s(t,["request","contents"],a)}const l=o(e,["config"]);return l!=null&&s(t,["request","generationConfig"],po(n,l,t)),t}function go(n,e){const t={};if(o(e,["format"])!==void 0)throw new Error("format parameter is not supported in Gemini API.");if(o(e,["gcsUri"])!==void 0)throw new Error("gcsUri parameter is not supported in Gemini API.");if(o(e,["bigqueryUri"])!==void 0)throw new Error("bigqueryUri parameter is not supported in Gemini API.");const i=o(e,["fileName"]);i!=null&&s(t,["fileName"],i);const r=o(e,["inlinedRequests"]);if(r!=null){let l=r;Array.isArray(l)&&(l=l.map(a=>mo(n,a))),s(t,["requests","requests"],l)}return t}function ho(n,e){const t={},i=o(n,["displayName"]);if(e!==void 0&&i!=null&&s(e,["batch","displayName"],i),o(n,["dest"])!==void 0)throw new Error("dest parameter is not supported in Gemini API.");return t}function To(n,e){const t={},i=o(e,["model"]);i!=null&&s(t,["_url","model"],x(n,i));const r=o(e,["src"]);r!=null&&s(t,["batch","inputConfig"],go(n,ot(n,r)));const l=o(e,["config"]);return l!=null&&s(t,["config"],ho(l,t)),t}function yo(n,e){const t={},i=o(e,["name"]);i!=null&&s(t,["_url","name"],X(n,i));const r=o(e,["config"]);return r!=null&&s(t,["config"],r),t}function Co(n,e){const t={},i=o(e,["name"]);i!=null&&s(t,["_url","name"],X(n,i));const r=o(e,["config"]);return r!=null&&s(t,["config"],r),t}function vo(n,e){const t={},i=o(n,["pageSize"]);e!==void 0&&i!=null&&s(e,["_query","pageSize"],i);const r=o(n,["pageToken"]);if(e!==void 0&&r!=null&&s(e,["_query","pageToken"],r),o(n,["filter"])!==void 0)throw new Error("filter parameter is not supported in Gemini API.");return t}function Eo(n){const e={},t=o(n,["config"]);return t!=null&&s(e,["config"],vo(t,e)),e}function So(n,e){const t={},i=o(e,["name"]);i!=null&&s(t,["_url","name"],X(n,i));const r=o(e,["config"]);return r!=null&&s(t,["config"],r),t}function _o(n){const e={},t=o(n,["format"]);t!=null&&s(e,["instancesFormat"],t);const i=o(n,["gcsUri"]);i!=null&&s(e,["gcsSource","uris"],i);const r=o(n,["bigqueryUri"]);if(r!=null&&s(e,["bigquerySource","inputUri"],r),o(n,["fileName"])!==void 0)throw new Error("fileName parameter is not supported in Vertex AI.");if(o(n,["inlinedRequests"])!==void 0)throw new Error("inlinedRequests parameter is not supported in Vertex AI.");return e}function Ao(n){const e={},t=o(n,["format"]);t!=null&&s(e,["predictionsFormat"],t);const i=o(n,["gcsUri"]);i!=null&&s(e,["gcsDestination","outputUriPrefix"],i);const r=o(n,["bigqueryUri"]);if(r!=null&&s(e,["bigqueryDestination","outputUri"],r),o(n,["fileName"])!==void 0)throw new Error("fileName parameter is not supported in Vertex AI.");if(o(n,["inlinedResponses"])!==void 0)throw new Error("inlinedResponses parameter is not supported in Vertex AI.");return e}function Mo(n,e){const t={},i=o(n,["displayName"]);e!==void 0&&i!=null&&s(e,["displayName"],i);const r=o(n,["dest"]);return e!==void 0&&r!=null&&s(e,["outputConfig"],Ao($t(r))),t}function Io(n,e){const t={},i=o(e,["model"]);i!=null&&s(t,["model"],x(n,i));const r=o(e,["src"]);r!=null&&s(t,["inputConfig"],_o(ot(n,r)));const l=o(e,["config"]);return l!=null&&s(t,["config"],Mo(l,t)),t}function Ro(n,e){const t={},i=o(e,["name"]);i!=null&&s(t,["_url","name"],X(n,i));const r=o(e,["config"]);return r!=null&&s(t,["config"],r),t}function Po(n,e){const t={},i=o(e,["name"]);i!=null&&s(t,["_url","name"],X(n,i));const r=o(e,["config"]);return r!=null&&s(t,["config"],r),t}function xo(n,e){const t={},i=o(n,["pageSize"]);e!==void 0&&i!=null&&s(e,["_query","pageSize"],i);const r=o(n,["pageToken"]);e!==void 0&&r!=null&&s(e,["_query","pageToken"],r);const l=o(n,["filter"]);return e!==void 0&&l!=null&&s(e,["_query","filter"],l),t}function Do(n){const e={},t=o(n,["config"]);return t!=null&&s(e,["config"],xo(t,e)),e}function No(n,e){const t={},i=o(e,["name"]);i!=null&&s(t,["_url","name"],X(n,i));const r=o(e,["config"]);return r!=null&&s(t,["config"],r),t}function wo(n){const e={},t=o(n,["fps"]);t!=null&&s(e,["fps"],t);const i=o(n,["endOffset"]);i!=null&&s(e,["endOffset"],i);const r=o(n,["startOffset"]);return r!=null&&s(e,["startOffset"],r),e}function Uo(n){const e={},t=o(n,["data"]);t!=null&&s(e,["data"],t);const i=o(n,["mimeType"]);return i!=null&&s(e,["mimeType"],i),e}function ko(n){const e={},t=o(n,["fileUri"]);t!=null&&s(e,["fileUri"],t);const i=o(n,["mimeType"]);return i!=null&&s(e,["mimeType"],i),e}function Fo(n){const e={},t=o(n,["videoMetadata"]);t!=null&&s(e,["videoMetadata"],wo(t));const i=o(n,["thought"]);i!=null&&s(e,["thought"],i);const r=o(n,["inlineData"]);r!=null&&s(e,["inlineData"],Uo(r));const l=o(n,["fileData"]);l!=null&&s(e,["fileData"],ko(l));const a=o(n,["thoughtSignature"]);a!=null&&s(e,["thoughtSignature"],a);const f=o(n,["codeExecutionResult"]);f!=null&&s(e,["codeExecutionResult"],f);const c=o(n,["executableCode"]);c!=null&&s(e,["executableCode"],c);const u=o(n,["functionCall"]);u!=null&&s(e,["functionCall"],u);const d=o(n,["functionResponse"]);d!=null&&s(e,["functionResponse"],d);const p=o(n,["text"]);return p!=null&&s(e,["text"],p),e}function Lo(n){const e={},t=o(n,["parts"]);if(t!=null){let r=t;Array.isArray(r)&&(r=r.map(l=>Fo(l))),s(e,["parts"],r)}const i=o(n,["role"]);return i!=null&&s(e,["role"],i),e}function Vo(n){const e={},t=o(n,["citationSources"]);return t!=null&&s(e,["citations"],t),e}function Go(n){const e={},t=o(n,["retrievedUrl"]);t!=null&&s(e,["retrievedUrl"],t);const i=o(n,["urlRetrievalStatus"]);return i!=null&&s(e,["urlRetrievalStatus"],i),e}function qo(n){const e={},t=o(n,["urlMetadata"]);if(t!=null){let i=t;Array.isArray(i)&&(i=i.map(r=>Go(r))),s(e,["urlMetadata"],i)}return e}function Ho(n){const e={},t=o(n,["content"]);t!=null&&s(e,["content"],Lo(t));const i=o(n,["citationMetadata"]);i!=null&&s(e,["citationMetadata"],Vo(i));const r=o(n,["tokenCount"]);r!=null&&s(e,["tokenCount"],r);const l=o(n,["finishReason"]);l!=null&&s(e,["finishReason"],l);const a=o(n,["urlContextMetadata"]);a!=null&&s(e,["urlContextMetadata"],qo(a));const f=o(n,["avgLogprobs"]);f!=null&&s(e,["avgLogprobs"],f);const c=o(n,["groundingMetadata"]);c!=null&&s(e,["groundingMetadata"],c);const u=o(n,["index"]);u!=null&&s(e,["index"],u);const d=o(n,["logprobsResult"]);d!=null&&s(e,["logprobsResult"],d);const p=o(n,["safetyRatings"]);return p!=null&&s(e,["safetyRatings"],p),e}function Bo(n){const e={},t=o(n,["sdkHttpResponse"]);t!=null&&s(e,["sdkHttpResponse"],t);const i=o(n,["candidates"]);if(i!=null){let f=i;Array.isArray(f)&&(f=f.map(c=>Ho(c))),s(e,["candidates"],f)}const r=o(n,["modelVersion"]);r!=null&&s(e,["modelVersion"],r);const l=o(n,["promptFeedback"]);l!=null&&s(e,["promptFeedback"],l);const a=o(n,["usageMetadata"]);return a!=null&&s(e,["usageMetadata"],a),e}function lt(n){const e={},t=o(n,["details"]);t!=null&&s(e,["details"],t);const i=o(n,["code"]);i!=null&&s(e,["code"],i);const r=o(n,["message"]);return r!=null&&s(e,["message"],r),e}function Jo(n){const e={},t=o(n,["response"]);t!=null&&s(e,["response"],Bo(t));const i=o(n,["error"]);return i!=null&&s(e,["error"],lt(i)),e}function $o(n){const e={},t=o(n,["responsesFile"]);t!=null&&s(e,["fileName"],t);const i=o(n,["inlinedResponses","inlinedResponses"]);if(i!=null){let r=i;Array.isArray(r)&&(r=r.map(l=>Jo(l))),s(e,["inlinedResponses"],r)}return e}function ge(n){const e={},t=o(n,["name"]);t!=null&&s(e,["name"],t);const i=o(n,["metadata","displayName"]);i!=null&&s(e,["displayName"],i);const r=o(n,["metadata","state"]);r!=null&&s(e,["state"],it(r));const l=o(n,["metadata","createTime"]);l!=null&&s(e,["createTime"],l);const a=o(n,["metadata","endTime"]);a!=null&&s(e,["endTime"],a);const f=o(n,["metadata","updateTime"]);f!=null&&s(e,["updateTime"],f);const c=o(n,["metadata","model"]);c!=null&&s(e,["model"],c);const u=o(n,["metadata","output"]);return u!=null&&s(e,["dest"],$o(u)),e}function Wo(n){const e={},t=o(n,["sdkHttpResponse"]);t!=null&&s(e,["sdkHttpResponse"],t);const i=o(n,["nextPageToken"]);i!=null&&s(e,["nextPageToken"],i);const r=o(n,["operations"]);if(r!=null){let l=r;Array.isArray(l)&&(l=l.map(a=>ge(a))),s(e,["batchJobs"],l)}return e}function Yo(n){const e={},t=o(n,["name"]);t!=null&&s(e,["name"],t);const i=o(n,["done"]);i!=null&&s(e,["done"],i);const r=o(n,["error"]);return r!=null&&s(e,["error"],lt(r)),e}function at(n){const e={},t=o(n,["details"]);t!=null&&s(e,["details"],t);const i=o(n,["code"]);i!=null&&s(e,["code"],i);const r=o(n,["message"]);return r!=null&&s(e,["message"],r),e}function Ko(n){const e={},t=o(n,["instancesFormat"]);t!=null&&s(e,["format"],t);const i=o(n,["gcsSource","uris"]);i!=null&&s(e,["gcsUri"],i);const r=o(n,["bigquerySource","inputUri"]);return r!=null&&s(e,["bigqueryUri"],r),e}function zo(n){const e={},t=o(n,["predictionsFormat"]);t!=null&&s(e,["format"],t);const i=o(n,["gcsDestination","outputUriPrefix"]);i!=null&&s(e,["gcsUri"],i);const r=o(n,["bigqueryDestination","outputUri"]);return r!=null&&s(e,["bigqueryUri"],r),e}function he(n){const e={},t=o(n,["name"]);t!=null&&s(e,["name"],t);const i=o(n,["displayName"]);i!=null&&s(e,["displayName"],i);const r=o(n,["state"]);r!=null&&s(e,["state"],it(r));const l=o(n,["error"]);l!=null&&s(e,["error"],at(l));const a=o(n,["createTime"]);a!=null&&s(e,["createTime"],a);const f=o(n,["startTime"]);f!=null&&s(e,["startTime"],f);const c=o(n,["endTime"]);c!=null&&s(e,["endTime"],c);const u=o(n,["updateTime"]);u!=null&&s(e,["updateTime"],u);const d=o(n,["model"]);d!=null&&s(e,["model"],d);const p=o(n,["inputConfig"]);p!=null&&s(e,["src"],Ko(p));const m=o(n,["outputConfig"]);return m!=null&&s(e,["dest"],zo(m)),e}function Xo(n){const e={},t=o(n,["sdkHttpResponse"]);t!=null&&s(e,["sdkHttpResponse"],t);const i=o(n,["nextPageToken"]);i!=null&&s(e,["nextPageToken"],i);const r=o(n,["batchPredictionJobs"]);if(r!=null){let l=r;Array.isArray(l)&&(l=l.map(a=>he(a))),s(e,["batchJobs"],l)}return e}function Qo(n){const e={},t=o(n,["name"]);t!=null&&s(e,["name"],t);const i=o(n,["done"]);i!=null&&s(e,["done"],i);const r=o(n,["error"]);return r!=null&&s(e,["error"],at(r)),e}/**
* @license
* Copyright 2025 Google LLC
* SPDX-License-Identifier: Apache-2.0
*/var q;(function(n){n.PAGED_ITEM_BATCH_JOBS="batchJobs",n.PAGED_ITEM_MODELS="models",n.PAGED_ITEM_TUNING_JOBS="tuningJobs",n.PAGED_ITEM_FILES="files",n.PAGED_ITEM_CACHED_CONTENTS="cachedContents"})(q||(q={}));class O{constructor(e,t,i,r){this.pageInternal=[],this.paramsInternal={},this.requestInternal=t,this.init(e,i,r)}init(e,t,i){var r,l;this.nameInternal=e,this.pageInternal=t[this.nameInternal]||[],this.sdkHttpResponseInternal=t==null?void 0:t.sdkHttpResponse,this.idxInternal=0;let a={config:{}};!i||Object.keys(i).length===0?a={config:{}}:typeof i=="object"?a=Object.assign({},i):a=i,a.config&&(a.config.pageToken=t.nextPageToken),this.paramsInternal=a,this.pageInternalSize=(l=(r=a.config)===null||r===void 0?void 0:r.pageSize)!==null&&l!==void 0?l:this.pageInternal.length}initNextPage(e){this.init(this.nameInternal,e,this.paramsInternal)}get page(){return this.pageInternal}get name(){return this.nameInternal}get pageSize(){return this.pageInternalSize}get sdkHttpResponse(){return this.sdkHttpResponseInternal}get params(){return this.paramsInternal}get pageLength(){return this.pageInternal.length}getItem(e){return this.pageInternal[e]}[Symbol.asyncIterator](){return{next:async()=>{if(this.idxInternal>=this.pageLength)if(this.hasNextPage())await this.nextPage();else return{value:void 0,done:!0};const e=this.getItem(this.idxInternal);return this.idxInternal+=1,{value:e,done:!1}},return:async()=>({value:void 0,done:!0})}}async nextPage(){if(!this.hasNextPage())throw new Error("No more pages to fetch.");const e=await this.requestInternal(this.params);return this.initNextPage(e),this.page}hasNextPage(){var e;return((e=this.params.config)===null||e===void 0?void 0:e.pageToken)!==void 0}}/**
* @license
* Copyright 2025 Google LLC
* SPDX-License-Identifier: Apache-2.0
*/class Zo extends H{constructor(e){super(),this.apiClient=e,this.create=async t=>{if(this.apiClient.isVertexAI()){const r=Date.now().toString();if(Array.isArray(t.src))throw new Error("InlinedRequest[] is not supported in Vertex AI. Please use Google Cloud Storage URI or BigQuery URI instead.");if(t.config=t.config||{},t.config.displayName===void 0&&(t.config.displayName="genaiBatchJob_${timestampStr}"),t.config.dest===void 0&&typeof t.src=="string")if(t.src.startsWith("gs://")&&t.src.endsWith(".jsonl"))t.config.dest=`${t.src.slice(0,-6)}/dest`;else if(t.src.startsWith("bq://"))t.config.dest=`${t.src}_dest_${r}`;else throw new Error("Unsupported source:"+t.src)}return await this.createInternal(t)},this.list=async(t={})=>new O(q.PAGED_ITEM_BATCH_JOBS,i=>this.listInternal(i),await this.listInternal(t),t)}async createInternal(e){var t,i,r,l;let a,f="",c={};if(this.apiClient.isVertexAI()){const u=Io(this.apiClient,e);return f=C("batchPredictionJobs",u._url),c=u._query,delete u.config,delete u._url,delete u._query,a=this.apiClient.request({path:f,queryParams:c,body:JSON.stringify(u),httpMethod:"POST",httpOptions:(t=e.config)===null||t===void 0?void 0:t.httpOptions,abortSignal:(i=e.config)===null||i===void 0?void 0:i.abortSignal}).then(d=>d.json()),a.then(d=>he(d))}else{const u=To(this.apiClient,e);return f=C("{model}:batchGenerateContent",u._url),c=u._query,delete u.config,delete u._url,delete u._query,a=this.apiClient.request({path:f,queryParams:c,body:JSON.stringify(u),httpMethod:"POST",httpOptions:(r=e.config)===null||r===void 0?void 0:r.httpOptions,abortSignal:(l=e.config)===null||l===void 0?void 0:l.abortSignal}).then(d=>d.json()),a.then(d=>ge(d))}}async get(e){var t,i,r,l;let a,f="",c={};if(this.apiClient.isVertexAI()){const u=Ro(this.apiClient,e);return f=C("batchPredictionJobs/{name}",u._url),c=u._query,delete u.config,delete u._url,delete u._query,a=this.apiClient.request({path:f,queryParams:c,body:JSON.stringify(u),httpMethod:"GET",httpOptions:(t=e.config)===null||t===void 0?void 0:t.httpOptions,abortSignal:(i=e.config)===null||i===void 0?void 0:i.abortSignal}).then(d=>d.json()),a.then(d=>he(d))}else{const u=yo(this.apiClient,e);return f=C("batches/{name}",u._url),c=u._query,delete u.config,delete u._url,delete u._query,a=this.apiClient.request({path:f,queryParams:c,body:JSON.stringify(u),httpMethod:"GET",httpOptions:(r=e.config)===null||r===void 0?void 0:r.httpOptions,abortSignal:(l=e.config)===null||l===void 0?void 0:l.abortSignal}).then(d=>d.json()),a.then(d=>ge(d))}}async cancel(e){var t,i,r,l;let a="",f={};if(this.apiClient.isVertexAI()){const c=Po(this.apiClient,e);a=C("batchPredictionJobs/{name}:cancel",c._url),f=c._query,delete c.config,delete c._url,delete c._query,await this.apiClient.request({path:a,queryParams:f,body:JSON.stringify(c),httpMethod:"POST",httpOptions:(t=e.config)===null||t===void 0?void 0:t.httpOptions,abortSignal:(i=e.config)===null||i===void 0?void 0:i.abortSignal})}else{const c=Co(this.apiClient,e);a=C("batches/{name}:cancel",c._url),f=c._query,delete c.config,delete c._url,delete c._query,await this.apiClient.request({path:a,queryParams:f,body:JSON.stringify(c),httpMethod:"POST",httpOptions:(r=e.config)===null||r===void 0?void 0:r.httpOptions,abortSignal:(l=e.config)===null||l===void 0?void 0:l.abortSignal})}}async listInternal(e){var t,i,r,l;let a,f="",c={};if(this.apiClient.isVertexAI()){const u=Do(e);return f=C("batchPredictionJobs",u._url),c=u._query,delete u.config,delete u._url,delete u._query,a=this.apiClient.request({path:f,queryParams:c,body:JSON.stringify(u),httpMethod:"GET",httpOptions:(t=e.config)===null||t===void 0?void 0:t.httpOptions,abortSignal:(i=e.config)===null||i===void 0?void 0:i.abortSignal}).then(d=>d.json().then(p=>{const m=p;return m.sdkHttpResponse={headers:d.headers},m})),a.then(d=>{const p=Xo(d),m=new An;return Object.assign(m,p),m})}else{const u=Eo(e);return f=C("batches",u._url),c=u._query,delete u.config,delete u._url,delete u._query,a=this.apiClient.request({path:f,queryParams:c,body:JSON.stringify(u),httpMethod:"GET",httpOptions:(r=e.config)===null||r===void 0?void 0:r.httpOptions,abortSignal:(l=e.config)===null||l===void 0?void 0:l.abortSignal}).then(d=>d.json().then(p=>{const m=p;return m.sdkHttpResponse={headers:d.headers},m})),a.then(d=>{const p=Wo(d),m=new An;return Object.assign(m,p),m})}}async delete(e){var t,i,r,l;let a,f="",c={};if(this.apiClient.isVertexAI()){const u=No(this.apiClient,e);return f=C("batchPredictionJobs/{name}",u._url),c=u._query,delete u.config,delete u._url,delete u._query,a=this.apiClient.request({path:f,queryParams:c,body:JSON.stringify(u),httpMethod:"DELETE",httpOptions:(t=e.config)===null||t===void 0?void 0:t.httpOptions,abortSignal:(i=e.config)===null||i===void 0?void 0:i.abortSignal}).then(d=>d.json()),a.then(d=>Qo(d))}else{const u=So(this.apiClient,e);return f=C("batches/{name}",u._url),c=u._query,delete u.config,delete u._url,delete u._query,a=this.apiClient.request({path:f,queryParams:c,body:JSON.stringify(u),httpMethod:"DELETE",httpOptions:(r=e.config)===null||r===void 0?void 0:r.httpOptions,abortSignal:(l=e.config)===null||l===void 0?void 0:l.abortSignal}).then(d=>d.json()),a.then(d=>Yo(d))}}}/**
* @license
* Copyright 2025 Google LLC
* SPDX-License-Identifier: Apache-2.0
*/function bo(n){const e={},t=o(n,["fps"]);t!=null&&s(e,["fps"],t);const i=o(n,["endOffset"]);i!=null&&s(e,["endOffset"],i);const r=o(n,["startOffset"]);return r!=null&&s(e,["startOffset"],r),e}function Oo(n){const e={};if(o(n,["displayName"])!==void 0)throw new Error("displayName parameter is not supported in Gemini API.");const t=o(n,["data"]);t!=null&&s(e,["data"],t);const i=o(n,["mimeType"]);return i!=null&&s(e,["mimeType"],i),e}function jo(n){const e={};if(o(n,["displayName"])!==void 0)throw new Error("displayName parameter is not supported in Gemini API.");const t=o(n,["fileUri"]);t!=null&&s(e,["fileUri"],t);const i=o(n,["mimeType"]);return i!=null&&s(e,["mimeType"],i),e}function ei(n){const e={},t=o(n,["videoMetadata"]);t!=null&&s(e,["videoMetadata"],bo(t));const i=o(n,["thought"]);i!=null&&s(e,["thought"],i);const r=o(n,["inlineData"]);r!=null&&s(e,["inlineData"],Oo(r));const l=o(n,["fileData"]);l!=null&&s(e,["fileData"],jo(l));const a=o(n,["thoughtSignature"]);a!=null&&s(e,["thoughtSignature"],a);const f=o(n,["codeExecutionResult"]);f!=null&&s(e,["codeExecutionResult"],f);const c=o(n,["executableCode"]);c!=null&&s(e,["executableCode"],c);const u=o(n,["functionCall"]);u!=null&&s(e,["functionCall"],u);const d=o(n,["functionResponse"]);d!=null&&s(e,["functionResponse"],d);const p=o(n,["text"]);return p!=null&&s(e,["text"],p),e}function Pn(n){const e={},t=o(n,["parts"]);if(t!=null){let r=t;Array.isArray(r)&&(r=r.map(l=>ei(l))),s(e,["parts"],r)}const i=o(n,["role"]);return i!=null&&s(e,["role"],i),e}function ni(n){const e={},t=o(n,["behavior"]);t!=null&&s(e,["behavior"],t);const i=o(n,["description"]);i!=null&&s(e,["description"],i);const r=o(n,["name"]);r!=null&&s(e,["name"],r);const l=o(n,["parameters"]);l!=null&&s(e,["parameters"],l);const a=o(n,["parametersJsonSchema"]);a!=null&&s(e,["parametersJsonSchema"],a);const f=o(n,["response"]);f!=null&&s(e,["response"],f);const c=o(n,["responseJsonSchema"]);return c!=null&&s(e,["responseJsonSchema"],c),e}function ti(n){const e={},t=o(n,["startTime"]);t!=null&&s(e,["startTime"],t);const i=o(n,["endTime"]);return i!=null&&s(e,["endTime"],i),e}function oi(n){const e={},t=o(n,["timeRangeFilter"]);return t!=null&&s(e,["timeRangeFilter"],ti(t)),e}function ii(n){const e={},t=o(n,["mode"]);t!=null&&s(e,["mode"],t);const i=o(n,["dynamicThreshold"]);return i!=null&&s(e,["dynamicThreshold"],i),e}function si(n){const e={},t=o(n,["dynamicRetrievalConfig"]);return t!=null&&s(e,["dynamicRetrievalConfig"],ii(t)),e}function ri(){return{}}function li(n){const e={},t=o(n,["functionDeclarations"]);if(t!=null){let c=t;Array.isArray(c)&&(c=c.map(u=>ni(u))),s(e,["functionDeclarations"],c)}if(o(n,["retrieval"])!==void 0)throw new Error("retrieval parameter is not supported in Gemini API.");const i=o(n,["googleSearch"]);i!=null&&s(e,["googleSearch"],oi(i));const r=o(n,["googleSearchRetrieval"]);if(r!=null&&s(e,["googleSearchRetrieval"],si(r)),o(n,["enterpriseWebSearch"])!==void 0)throw new Error("enterpriseWebSearch parameter is not supported in Gemini API.");if(o(n,["googleMaps"])!==void 0)throw new Error("googleMaps parameter is not supported in Gemini API.");o(n,["urlContext"])!=null&&s(e,["urlContext"],ri());const a=o(n,["codeExecution"]);a!=null&&s(e,["codeExecution"],a);const f=o(n,["computerUse"]);return f!=null&&s(e,["computerUse"],f),e}function ai(n){const e={},t=o(n,["mode"]);t!=null&&s(e,["mode"],t);const i=o(n,["allowedFunctionNames"]);return i!=null&&s(e,["allowedFunctionNames"],i),e}function ui(n){const e={},t=o(n,["latitude"]);t!=null&&s(e,["latitude"],t);const i=o(n,["longitude"]);return i!=null&&s(e,["longitude"],i),e}function fi(n){const e={},t=o(n,["latLng"]);t!=null&&s(e,["latLng"],ui(t));const i=o(n,["languageCode"]);return i!=null&&s(e,["languageCode"],i),e}function ci(n){const e={},t=o(n,["functionCallingConfig"]);t!=null&&s(e,["functionCallingConfig"],ai(t));const i=o(n,["retrievalConfig"]);return i!=null&&s(e,["retrievalConfig"],fi(i)),e}function di(n,e){const t={},i=o(n,["ttl"]);e!==void 0&&i!=null&&s(e,["ttl"],i);const r=o(n,["expireTime"]);e!==void 0&&r!=null&&s(e,["expireTime"],r);const l=o(n,["displayName"]);e!==void 0&&l!=null&&s(e,["displayName"],l);const a=o(n,["contents"]);if(e!==void 0&&a!=null){let d=k(a);Array.isArray(d)&&(d=d.map(p=>Pn(p))),s(e,["contents"],d)}const f=o(n,["systemInstruction"]);e!==void 0&&f!=null&&s(e,["systemInstruction"],Pn(U(f)));const c=o(n,["tools"]);if(e!==void 0&&c!=null){let d=c;Array.isArray(d)&&(d=d.map(p=>li(p))),s(e,["tools"],d)}const u=o(n,["toolConfig"]);if(e!==void 0&&u!=null&&s(e,["toolConfig"],ci(u)),o(n,["kmsKeyName"])!==void 0)throw new Error("kmsKeyName parameter is not supported in Gemini API.");return t}function pi(n,e){const t={},i=o(e,["model"]);i!=null&&s(t,["model"],zn(n,i));const r=o(e,["config"]);return r!=null&&s(t,["config"],di(r,t)),t}function mi(n,e){const t={},i=o(e,["name"]);i!=null&&s(t,["_url","name"],V(n,i));const r=o(e,["config"]);return r!=null&&s(t,["config"],r),t}function gi(n,e){const t={},i=o(e,["name"]);i!=null&&s(t,["_url","name"],V(n,i));const r=o(e,["config"]);return r!=null&&s(t,["config"],r),t}function hi(n,e){const t={},i=o(n,["ttl"]);e!==void 0&&i!=null&&s(e,["ttl"],i);const r=o(n,["expireTime"]);return e!==void 0&&r!=null&&s(e,["expireTime"],r),t}function Ti(n,e){const t={},i=o(e,["name"]);i!=null&&s(t,["_url","name"],V(n,i));const r=o(e,["config"]);return r!=null&&s(t,["config"],hi(r,t)),t}function yi(n,e){const t={},i=o(n,["pageSize"]);e!==void 0&&i!=null&&s(e,["_query","pageSize"],i);const r=o(n,["pageToken"]);return e!==void 0&&r!=null&&s(e,["_query","pageToken"],r),t}function Ci(n){const e={},t=o(n,["config"]);return t!=null&&s(e,["config"],yi(t,e)),e}function vi(n){const e={},t=o(n,["fps"]);t!=null&&s(e,["fps"],t);const i=o(n,["endOffset"]);i!=null&&s(e,["endOffset"],i);const r=o(n,["startOffset"]);return r!=null&&s(e,["startOffset"],r),e}function Ei(n){const e={},t=o(n,["displayName"]);t!=null&&s(e,["displayName"],t);const i=o(n,["data"]);i!=null&&s(e,["data"],i);const r=o(n,["mimeType"]);return r!=null&&s(e,["mimeType"],r),e}function Si(n){const e={},t=o(n,["displayName"]);t!=null&&s(e,["displayName"],t);const i=o(n,["fileUri"]);i!=null&&s(e,["fileUri"],i);const r=o(n,["mimeType"]);return r!=null&&s(e,["mimeType"],r),e}function _i(n){const e={},t=o(n,["videoMetadata"]);t!=null&&s(e,["videoMetadata"],vi(t));const i=o(n,["thought"]);i!=null&&s(e,["thought"],i);const r=o(n,["inlineData"]);r!=null&&s(e,["inlineData"],Ei(r));const l=o(n,["fileData"]);l!=null&&s(e,["fileData"],Si(l));const a=o(n,["thoughtSignature"]);a!=null&&s(e,["thoughtSignature"],a);const f=o(n,["codeExecutionResult"]);f!=null&&s(e,["codeExecutionResult"],f);const c=o(n,["executableCode"]);c!=null&&s(e,["executableCode"],c);const u=o(n,["functionCall"]);u!=null&&s(e,["functionCall"],u);const d=o(n,["functionResponse"]);d!=null&&s(e,["functionResponse"],d);const p=o(n,["text"]);return p!=null&&s(e,["text"],p),e}function xn(n){const e={},t=o(n,["parts"]);if(t!=null){let r=t;Array.isArray(r)&&(r=r.map(l=>_i(l))),s(e,["parts"],r)}const i=o(n,["role"]);return i!=null&&s(e,["role"],i),e}function Ai(n){const e={};if(o(n,["behavior"])!==void 0)throw new Error("behavior parameter is not supported in Vertex AI.");const t=o(n,["description"]);t!=null&&s(e,["description"],t);const i=o(n,["name"]);i!=null&&s(e,["name"],i);const r=o(n,["parameters"]);r!=null&&s(e,["parameters"],r);const l=o(n,["parametersJsonSchema"]);l!=null&&s(e,["parametersJsonSchema"],l);const a=o(n,["response"]);a!=null&&s(e,["response"],a);const f=o(n,["responseJsonSchema"]);return f!=null&&s(e,["responseJsonSchema"],f),e}function Mi(n){const e={},t=o(n,["startTime"]);t!=null&&s(e,["startTime"],t);const i=o(n,["endTime"]);return i!=null&&s(e,["endTime"],i),e}function Ii(n){const e={},t=o(n,["timeRangeFilter"]);return t!=null&&s(e,["timeRangeFilter"],Mi(t)),e}function Ri(n){const e={},t=o(n,["mode"]);t!=null&&s(e,["mode"],t);const i=o(n,["dynamicThreshold"]);return i!=null&&s(e,["dynamicThreshold"],i),e}function Pi(n){const e={},t=o(n,["dynamicRetrievalConfig"]);return t!=null&&s(e,["dynamicRetrievalConfig"],Ri(t)),e}function xi(){return{}}function Di(n){const e={},t=o(n,["apiKeyString"]);return t!=null&&s(e,["apiKeyString"],t),e}function Ni(n){const e={},t=o(n,["apiKeyConfig"]);t!=null&&s(e,["apiKeyConfig"],Di(t));const i=o(n,["authType"]);i!=null&&s(e,["authType"],i);const r=o(n,["googleServiceAccountConfig"]);r!=null&&s(e,["googleServiceAccountConfig"],r);const l=o(n,["httpBasicAuthConfig"]);l!=null&&s(e,["httpBasicAuthConfig"],l);const a=o(n,["oauthConfig"]);a!=null&&s(e,["oauthConfig"],a);const f=o(n,["oidcConfig"]);return f!=null&&s(e,["oidcConfig"],f),e}function wi(n){const e={},t=o(n,["authConfig"]);return t!=null&&s(e,["authConfig"],Ni(t)),e}function Ui(){return{}}function ki(n){const e={},t=o(n,["functionDeclarations"]);if(t!=null){let p=t;Array.isArray(p)&&(p=p.map(m=>Ai(m))),s(e,["functionDeclarations"],p)}const i=o(n,["retrieval"]);i!=null&&s(e,["retrieval"],i);const r=o(n,["googleSearch"]);r!=null&&s(e,["googleSearch"],Ii(r));const l=o(n,["googleSearchRetrieval"]);l!=null&&s(e,["googleSearchRetrieval"],Pi(l)),o(n,["enterpriseWebSearch"])!=null&&s(e,["enterpriseWebSearch"],xi());const f=o(n,["googleMaps"]);f!=null&&s(e,["googleMaps"],wi(f)),o(n,["urlContext"])!=null&&s(e,["urlContext"],Ui());const u=o(n,["codeExecution"]);u!=null&&s(e,["codeExecution"],u);const d=o(n,["computerUse"]);return d!=null&&s(e,["computerUse"],d),e}function Fi(n){const e={},t=o(n,["mode"]);t!=null&&s(e,["mode"],t);const i=o(n,["allowedFunctionNames"]);return i!=null&&s(e,["allowedFunctionNames"],i),e}function Li(n){const e={},t=o(n,["latitude"]);t!=null&&s(e,["latitude"],t);const i=o(n,["longitude"]);return i!=null&&s(e,["longitude"],i),e}function Vi(n){const e={},t=o(n,["latLng"]);t!=null&&s(e,["latLng"],Li(t));const i=o(n,["languageCode"]);return i!=null&&s(e,["languageCode"],i),e}function Gi(n){const e={},t=o(n,["functionCallingConfig"]);t!=null&&s(e,["functionCallingConfig"],Fi(t));const i=o(n,["retrievalConfig"]);return i!=null&&s(e,["retrievalConfig"],Vi(i)),e}function qi(n,e){const t={},i=o(n,["ttl"]);e!==void 0&&i!=null&&s(e,["ttl"],i);const r=o(n,["expireTime"]);e!==void 0&&r!=null&&s(e,["expireTime"],r);const l=o(n,["displayName"]);e!==void 0&&l!=null&&s(e,["displayName"],l);const a=o(n,["contents"]);if(e!==void 0&&a!=null){let p=k(a);Array.isArray(p)&&(p=p.map(m=>xn(m))),s(e,["contents"],p)}const f=o(n,["systemInstruction"]);e!==void 0&&f!=null&&s(e,["systemInstruction"],xn(U(f)));const c=o(n,["tools"]);if(e!==void 0&&c!=null){let p=c;Array.isArray(p)&&(p=p.map(m=>ki(m))),s(e,["tools"],p)}const u=o(n,["toolConfig"]);e!==void 0&&u!=null&&s(e,["toolConfig"],Gi(u));const d=o(n,["kmsKeyName"]);return e!==void 0&&d!=null&&s(e,["encryption_spec","kmsKeyName"],d),t}function Hi(n,e){const t={},i=o(e,["model"]);i!=null&&s(t,["model"],zn(n,i));const r=o(e,["config"]);return r!=null&&s(t,["config"],qi(r,t)),t}function Bi(n,e){const t={},i=o(e,["name"]);i!=null&&s(t,["_url","name"],V(n,i));const r=o(e,["config"]);return r!=null&&s(t,["config"],r),t}function Ji(n,e){const t={},i=o(e,["name"]);i!=null&&s(t,["_url","name"],V(n,i));const r=o(e,["config"]);return r!=null&&s(t,["config"],r),t}function $i(n,e){const t={},i=o(n,["ttl"]);e!==void 0&&i!=null&&s(e,["ttl"],i);const r=o(n,["expireTime"]);return e!==void 0&&r!=null&&s(e,["expireTime"],r),t}function Wi(n,e){const t={},i=o(e,["name"]);i!=null&&s(t,["_url","name"],V(n,i));const r=o(e,["config"]);return r!=null&&s(t,["config"],$i(r,t)),t}function Yi(n,e){const t={},i=o(n,["pageSize"]);e!==void 0&&i!=null&&s(e,["_query","pageSize"],i);const r=o(n,["pageToken"]);return e!==void 0&&r!=null&&s(e,["_query","pageToken"],r),t}function Ki(n){const e={},t=o(n,["config"]);return t!=null&&s(e,["config"],Yi(t,e)),e}function ne(n){const e={},t=o(n,["name"]);t!=null&&s(e,["name"],t);const i=o(n,["displayName"]);i!=null&&s(e,["displayName"],i);const r=o(n,["model"]);r!=null&&s(e,["model"],r);const l=o(n,["createTime"]);l!=null&&s(e,["createTime"],l);const a=o(n,["updateTime"]);a!=null&&s(e,["updateTime"],a);const f=o(n,["expireTime"]);f!=null&&s(e,["expireTime"],f);const c=o(n,["usageMetadata"]);return c!=null&&s(e,["usageMetadata"],c),e}function zi(){return{}}function Xi(n){const e={},t=o(n,["sdkHttpResponse"]);t!=null&&s(e,["sdkHttpResponse"],t);const i=o(n,["nextPageToken"]);i!=null&&s(e,["nextPageToken"],i);const r=o(n,["cachedContents"]);if(r!=null){let l=r;Array.isArray(l)&&(l=l.map(a=>ne(a))),s(e,["cachedContents"],l)}return e}function te(n){const e={},t=o(n,["name"]);t!=null&&s(e,["name"],t);const i=o(n,["displayName"]);i!=null&&s(e,["displayName"],i);const r=o(n,["model"]);r!=null&&s(e,["model"],r);const l=o(n,["createTime"]);l!=null&&s(e,["createTime"],l);const a=o(n,["updateTime"]);a!=null&&s(e,["updateTime"],a);const f=o(n,["expireTime"]);f!=null&&s(e,["expireTime"],f);const c=o(n,["usageMetadata"]);return c!=null&&s(e,["usageMetadata"],c),e}function Qi(){return{}}function Zi(n){const e={},t=o(n,["sdkHttpResponse"]);t!=null&&s(e,["sdkHttpResponse"],t);const i=o(n,["nextPageToken"]);i!=null&&s(e,["nextPageToken"],i);const r=o(n,["cachedContents"]);if(r!=null){let l=r;Array.isArray(l)&&(l=l.map(a=>te(a))),s(e,["cachedContents"],l)}return e}/**
* @license
* Copyright 2025 Google LLC
* SPDX-License-Identifier: Apache-2.0
*/class bi extends H{constructor(e){super(),this.apiClient=e,this.list=async(t={})=>new O(q.PAGED_ITEM_CACHED_CONTENTS,i=>this.listInternal(i),await this.listInternal(t),t)}async create(e){var t,i,r,l;let a,f="",c={};if(this.apiClient.isVertexAI()){const u=Hi(this.apiClient,e);return f=C("cachedContents",u._url),c=u._query,delete u.config,delete u._url,delete u._query,a=this.apiClient.request({path:f,queryParams:c,body:JSON.stringify(u),httpMethod:"POST",httpOptions:(t=e.config)===null||t===void 0?void 0:t.httpOptions,abortSignal:(i=e.config)===null||i===void 0?void 0:i.abortSignal}).then(d=>d.json()),a.then(d=>te(d))}else{const u=pi(this.apiClient,e);return f=C("cachedContents",u._url),c=u._query,delete u.config,delete u._url,delete u._query,a=this.apiClient.request({path:f,queryParams:c,body:JSON.stringify(u),httpMethod:"POST",httpOptions:(r=e.config)===null||r===void 0?void 0:r.httpOptions,abortSignal:(l=e.config)===null||l===void 0?void 0:l.abortSignal}).then(d=>d.json()),a.then(d=>ne(d))}}async get(e){var t,i,r,l;let a,f="",c={};if(this.apiClient.isVertexAI()){const u=Bi(this.apiClient,e);return f=C("{name}",u._url),c=u._query,delete u.config,delete u._url,delete u._query,a=this.apiClient.request({path:f,queryParams:c,body:JSON.stringify(u),httpMethod:"GET",httpOptions:(t=e.config)===null||t===void 0?void 0:t.httpOptions,abortSignal:(i=e.config)===null||i===void 0?void 0:i.abortSignal}).then(d=>d.json()),a.then(d=>te(d))}else{const u=mi(this.apiClient,e);return f=C("{name}",u._url),c=u._query,delete u.config,delete u._url,delete u._query,a=this.apiClient.request({path:f,queryParams:c,body:JSON.stringify(u),httpMethod:"GET",httpOptions:(r=e.config)===null||r===void 0?void 0:r.httpOptions,abortSignal:(l=e.config)===null||l===void 0?void 0:l.abortSignal}).then(d=>d.json()),a.then(d=>ne(d))}}async delete(e){var t,i,r,l;let a,f="",c={};if(this.apiClient.isVertexAI()){const u=Ji(this.apiClient,e);return f=C("{name}",u._url),c=u._query,delete u.config,delete u._url,delete u._query,a=this.apiClient.request({path:f,queryParams:c,body:JSON.stringify(u),httpMethod:"DELETE",httpOptions:(t=e.config)===null||t===void 0?void 0:t.httpOptions,abortSignal:(i=e.config)===null||i===void 0?void 0:i.abortSignal}).then(d=>d.json()),a.then(()=>{const d=Qi(),p=new Sn;return Object.assign(p,d),p})}else{const u=gi(this.apiClient,e);return f=C("{name}",u._url),c=u._query,delete u.config,delete u._url,delete u._query,a=this.apiClient.request({path:f,queryParams:c,body:JSON.stringify(u),httpMethod:"DELETE",httpOptions:(r=e.config)===null||r===void 0?void 0:r.httpOptions,abortSignal:(l=e.config)===null||l===void 0?void 0:l.abortSignal}).then(d=>d.json()),a.then(()=>{const d=zi(),p=new Sn;return Object.assign(p,d),p})}}async update(e){var t,i,r,l;let a,f="",c={};if(this.apiClient.isVertexAI()){const u=Wi(this.apiClient,e);return f=C("{name}",u._url),c=u._query,delete u.config,delete u._url,delete u._query,a=this.apiClient.request({path:f,queryParams:c,body:JSON.stringify(u),httpMethod:"PATCH",httpOptions:(t=e.config)===null||t===void 0?void 0:t.httpOptions,abortSignal:(i=e.config)===null||i===void 0?void 0:i.abortSignal}).then(d=>d.json()),a.then(d=>te(d))}else{const u=Ti(this.apiClient,e);return f=C("{name}",u._url),c=u._query,delete u.config,delete u._url,delete u._query,a=this.apiClient.request({path:f,queryParams:c,body:JSON.stringify(u),httpMethod:"PATCH",httpOptions:(r=e.config)===null||r===void 0?void 0:r.httpOptions,abortSignal:(l=e.config)===null||l===void 0?void 0:l.abortSignal}).then(d=>d.json()),a.then(d=>ne(d))}}async listInternal(e){var t,i,r,l;let a,f="",c={};if(this.apiClient.isVertexAI()){const u=Ki(e);return f=C("cachedContents",u._url),c=u._query,delete u.config,delete u._url,delete u._query,a=this.apiClient.request({path:f,queryParams:c,body:JSON.stringify(u),httpMethod:"GET",httpOptions:(t=e.config)===null||t===void 0?void 0:t.httpOptions,abortSignal:(i=e.config)===null||i===void 0?void 0:i.abortSignal}).then(d=>d.json().then(p=>{const m=p;return m.sdkHttpResponse={headers:d.headers},m})),a.then(d=>{const p=Zi(d),m=new _n;return Object.assign(m,p),m})}else{const u=Ci(e);return f=C("cachedContents",u._url),c=u._query,delete u.config,delete u._url,delete u._query,a=this.apiClient.request({path:f,queryParams:c,body:JSON.stringify(u),httpMethod:"GET",httpOptions:(r=e.config)===null||r===void 0?void 0:r.httpOptions,abortSignal:(l=e.config)===null||l===void 0?void 0:l.abortSignal}).then(d=>d.json().then(p=>{const m=p;return m.sdkHttpResponse={headers:d.headers},m})),a.then(d=>{const p=Xi(d),m=new _n;return Object.assign(m,p),m})}}}function Dn(n){var e=typeof Symbol=="function"&&Symbol.iterator,t=e&&n[e],i=0;if(t)return t.call(n);if(n&&typeof n.length=="number")return{next:function(){return n&&i>=n.length&&(n=void 0),{value:n&&n[i++],done:!n}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")}function N(n){return this instanceof N?(this.v=n,this):new N(n)}function W(n,e,t){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var i=t.apply(n,e||[]),r,l=[];return r=Object.create((typeof AsyncIterator=="function"?AsyncIterator:Object).prototype),f("next"),f("throw"),f("return",a),r[Symbol.asyncIterator]=function(){return this},r;function a(g){return function(h){return Promise.resolve(h).then(g,p)}}function f(g,h){i[g]&&(r[g]=function(T){return new Promise(function(y,S){l.push([g,T,y,S])>1||c(g,T)})},h&&(r[g]=h(r[g])))}function c(g,h){try{u(i[g](h))}catch(T){m(l[0][3],T)}}function u(g){g.value instanceof N?Promise.resolve(g.value.v).then(d,p):m(l[0][2],g)}function d(g){c("next",g)}function p(g){c("throw",g)}function m(g,h){g(h),l.shift(),l.length&&c(l[0][0],l[0][1])}}function b(n){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var e=n[Symbol.asyncIterator],t;return e?e.call(n):(n=typeof Dn=="function"?Dn(n):n[Symbol.iterator](),t={},i("next"),i("throw"),i("return"),t[Symbol.asyncIterator]=function(){return this},t);function i(l){t[l]=n[l]&&function(a){return new Promise(function(f,c){a=n[l](a),r(f,c,a.done,a.value)})}}function r(l,a,f,c){Promise.resolve(c).then(function(u){l({value:u,done:f})},a)}}/**
* @license
* Copyright 2025 Google LLC
* SPDX-License-Identifier: Apache-2.0
*/function Oi(n){var e;if(n.candidates==null||n.candidates.length===0)return!1;const t=(e=n.candidates[0])===null||e===void 0?void 0:e.content;return t===void 0?!1:ut(t)}function ut(n){if(n.parts===void 0||n.parts.length===0)return!1;for(const e of n.parts)if(e===void 0||Object.keys(e).length===0||!e.thought&&e.text!==void 0&&e.text==="")return!1;return!0}function ji(n){if(n.length!==0){for(const e of n)if(e.role!=="user"&&e.role!=="model")throw new Error(`Role must be user or model, but got ${e.role}.`)}}function Nn(n){if(n===void 0||n.length===0)return[];const e=[],t=n.length;let i=0;for(;i<t;)if(n[i].role==="user")e.push(n[i]),i++;else{const r=[];let l=!0;for(;i<t&&n[i].role==="model";)r.push(n[i]),l&&!ut(n[i])&&(l=!1),i++;l?e.push(...r):e.pop()}return e}class es{constructor(e,t){this.modelsModule=e,this.apiClient=t}create(e){return new ns(this.apiClient,this.modelsModule,e.model,e.config,structuredClone(e.history))}}class ns{constructor(e,t,i,r={},l=[]){this.apiClient=e,this.modelsModule=t,this.model=i,this.config=r,this.history=l,this.sendPromise=Promise.resolve(),ji(l)}async sendMessage(e){var t;await this.sendPromise;const i=U(e.message),r=this.modelsModule.generateContent({model:this.model,contents:this.getHistory(!0).concat(i),config:(t=e.config)!==null&&t!==void 0?t:this.config});return this.sendPromise=(async()=>{var l,a,f;const c=await r,u=(a=(l=c.candidates)===null||l===void 0?void 0:l[0])===null||a===void 0?void 0:a.content,d=c.automaticFunctionCallingHistory,p=this.getHistory(!0).length;let m=[];d!=null&&(m=(f=d.slice(p))!==null&&f!==void 0?f:[]);const g=u?[u]:[];this.recordHistory(i,g,m)})(),await this.sendPromise.catch(()=>{this.sendPromise=Promise.resolve()}),r}async sendMessageStream(e){var t;await this.sendPromise;const i=U(e.message),r=this.modelsModule.generateContentStream({model:this.model,contents:this.getHistory(!0).concat(i),config:(t=e.config)!==null&&t!==void 0?t:this.config});this.sendPromise=r.then(()=>{}).catch(()=>{});const l=await r;return this.processStreamResponse(l,i)}getHistory(e=!1){const t=e?Nn(this.history):this.history;return structuredClone(t)}processStreamResponse(e,t){var i,r;return W(this,arguments,function*(){var a,f,c,u;const d=[];try{for(var p=!0,m=b(e),g;g=yield N(m.next()),a=g.done,!a;p=!0){u=g.value,p=!1;const h=u;if(Oi(h)){const T=(r=(i=h.candidates)===null||i===void 0?void 0:i[0])===null||r===void 0?void 0:r.content;T!==void 0&&d.push(T)}yield yield N(h)}}catch(h){f={error:h}}finally{try{!p&&!a&&(c=m.return)&&(yield N(c.call(m)))}finally{if(f)throw f.error}}this.recordHistory(t,d)})}recordHistory(e,t,i){let r=[];t.length>0&&t.every(l=>l.role!==void 0)?r=t:r.push({role:"model",parts:[]}),i&&i.length>0?this.history.push(...Nn(i)):this.history.push(e),this.history.push(...r)}}/**
* @license
* Copyright 2025 Google LLC
* SPDX-License-Identifier: Apache-2.0
*/class re extends Error{constructor(e){super(e.message),this.name="ApiError",this.status=e.status,Object.setPrototypeOf(this,re.prototype)}}/**
* @license
* Copyright 2025 Google LLC
* SPDX-License-Identifier: Apache-2.0
*/function ts(n,e){const t={},i=o(n,["pageSize"]);e!==void 0&&i!=null&&s(e,["_query","pageSize"],i);const r=o(n,["pageToken"]);return e!==void 0&&r!=null&&s(e,["_query","pageToken"],r),t}function os(n){const e={},t=o(n,["config"]);return t!=null&&s(e,["config"],ts(t,e)),e}function is(n){const e={},t=o(n,["details"]);t!=null&&s(e,["details"],t);const i=o(n,["message"]);i!=null&&s(e,["message"],i);const r=o(n,["code"]);return r!=null&&s(e,["code"],r),e}function ss(n){const e={},t=o(n,["name"]);t!=null&&s(e,["name"],t);const i=o(n,["displayName"]);i!=null&&s(e,["displayName"],i);const r=o(n,["mimeType"]);r!=null&&s(e,["mimeType"],r);const l=o(n,["sizeBytes"]);l!=null&&s(e,["sizeBytes"],l);const a=o(n,["createTime"]);a!=null&&s(e,["createTime"],a);const f=o(n,["expirationTime"]);f!=null&&s(e,["expirationTime"],f);const c=o(n,["updateTime"]);c!=null&&s(e,["updateTime"],c);const u=o(n,["sha256Hash"]);u!=null&&s(e,["sha256Hash"],u);const d=o(n,["uri"]);d!=null&&s(e,["uri"],d);const p=o(n,["downloadUri"]);p!=null&&s(e,["downloadUri"],p);const m=o(n,["state"]);m!=null&&s(e,["state"],m);const g=o(n,["source"]);g!=null&&s(e,["source"],g);const h=o(n,["videoMetadata"]);h!=null&&s(e,["videoMetadata"],h);const T=o(n,["error"]);return T!=null&&s(e,["error"],is(T)),e}function rs(n){const e={},t=o(n,["file"]);t!=null&&s(e,["file"],ss(t));const i=o(n,["config"]);return i!=null&&s(e,["config"],i),e}function ls(n){const e={},t=o(n,["name"]);t!=null&&s(e,["_url","file"],et(t));const i=o(n,["config"]);return i!=null&&s(e,["config"],i),e}function as(n){const e={},t=o(n,["name"]);t!=null&&s(e,["_url","file"],et(t));const i=o(n,["config"]);return i!=null&&s(e,["config"],i),e}function us(n){const e={},t=o(n,["details"]);t!=null&&s(e,["details"],t);const i=o(n,["message"]);i!=null&&s(e,["message"],i);const r=o(n,["code"]);return r!=null&&s(e,["code"],r),e}function Te(n){const e={},t=o(n,["name"]);t!=null&&s(e,["name"],t);const i=o(n,["displayName"]);i!=null&&s(e,["displayName"],i);const r=o(n,["mimeType"]);r!=null&&s(e,["mimeType"],r);const l=o(n,["sizeBytes"]);l!=null&&s(e,["sizeBytes"],l);const a=o(n,["createTime"]);a!=null&&s(e,["createTime"],a);const f=o(n,["expirationTime"]);f!=null&&s(e,["expirationTime"],f);const c=o(n,["updateTime"]);c!=null&&s(e,["updateTime"],c);const u=o(n,["sha256Hash"]);u!=null&&s(e,["sha256Hash"],u);const d=o(n,["uri"]);d!=null&&s(e,["uri"],d);const p=o(n,["downloadUri"]);p!=null&&s(e,["downloadUri"],p);const m=o(n,["state"]);m!=null&&s(e,["state"],m);const g=o(n,["source"]);g!=null&&s(e,["source"],g);const h=o(n,["videoMetadata"]);h!=null&&s(e,["videoMetadata"],h);const T=o(n,["error"]);return T!=null&&s(e,["error"],us(T)),e}function fs(n){const e={},t=o(n,["sdkHttpResponse"]);t!=null&&s(e,["sdkHttpResponse"],t);const i=o(n,["nextPageToken"]);i!=null&&s(e,["nextPageToken"],i);const r=o(n,["files"]);if(r!=null){let l=r;Array.isArray(l)&&(l=l.map(a=>Te(a))),s(e,["files"],l)}return e}function cs(n){const e={},t=o(n,["sdkHttpResponse"]);return t!=null&&s(e,["sdkHttpResponse"],t),e}function ds(){return{}}/**
* @license
* Copyright 2025 Google LLC
* SPDX-License-Identifier: Apache-2.0
*/class ps extends H{constructor(e){super(),this.apiClient=e,this.list=async(t={})=>new O(q.PAGED_ITEM_FILES,i=>this.listInternal(i),await this.listInternal(t),t)}async upload(e){if(this.apiClient.isVertexAI())throw new Error("Vertex AI does not support uploading files. You can share files through a GCS bucket.");return this.apiClient.uploadFile(e.file,e.config).then(t=>Te(t))}async download(e){await this.apiClient.downloadFile(e)}async listInternal(e){var t,i;let r,l="",a={};if(this.apiClient.isVertexAI())throw new Error("This method is only supported by the Gemini Developer API.");{const f=os(e);return l=C("files",f._url),a=f._query,delete f.config,delete f._url,delete f._query,r=this.apiClient.request({path:l,queryParams:a,body:JSON.stringify(f),httpMethod:"GET",httpOptions:(t=e.config)===null||t===void 0?void 0:t.httpOptions,abortSignal:(i=e.config)===null||i===void 0?void 0:i.abortSignal}).then(c=>c.json().then(u=>{const d=u;return d.sdkHttpResponse={headers:c.headers},d})),r.then(c=>{const u=fs(c),d=new Dt;return Object.assign(d,u),d})}}async createInternal(e){var t,i;let r,l="",a={};if(this.apiClient.isVertexAI())throw new Error("This method is only supported by the Gemini Developer API.");{const f=rs(e);return l=C("upload/v1beta/files",f._url),a=f._query,delete f.config,delete f._url,delete f._query,r=this.apiClient.request({path:l,queryParams:a,body:JSON.stringify(f),httpMethod:"POST",httpOptions:(t=e.config)===null||t===void 0?void 0:t.httpOptions,abortSignal:(i=e.config)===null||i===void 0?void 0:i.abortSignal}).then(c=>c.json()),r.then(c=>{const u=cs(c),d=new Nt;return Object.assign(d,u),d})}}async get(e){var t,i;let r,l="",a={};if(this.apiClient.isVertexAI())throw new Error("This method is only supported by the Gemini Developer API.");{const f=ls(e);return l=C("files/{file}",f._url),a=f._query,delete f.config,delete f._url,delete f._query,r=this.apiClient.request({path:l,queryParams:a,body:JSON.stringify(f),httpMethod:"GET",httpOptions:(t=e.config)===null||t===void 0?void 0:t.httpOptions,abortSignal:(i=e.config)===null||i===void 0?void 0:i.abortSignal}).then(c=>c.json()),r.then(c=>Te(c))}}async delete(e){var t,i;let r,l="",a={};if(this.apiClient.isVertexAI())throw new Error("This method is only supported by the Gemini Developer API.");{const f=as(e);return l=C("files/{file}",f._url),a=f._query,delete f.config,delete f._url,delete f._query,r=this.apiClient.request({path:l,queryParams:a,body:JSON.stringify(f),httpMethod:"DELETE",httpOptions:(t=e.config)===null||t===void 0?void 0:t.httpOptions,abortSignal:(i=e.config)===null||i===void 0?void 0:i.abortSignal}).then(c=>c.json()),r.then(()=>{const c=ds(),u=new wt;return Object.assign(u,c),u})}}}/**
* @license
* Copyright 2025 Google LLC
* SPDX-License-Identifier: Apache-2.0
*/function ms(n){const e={},t=o(n,["voiceName"]);return t!=null&&s(e,["voiceName"],t),e}function ft(n){const e={},t=o(n,["prebuiltVoiceConfig"]);return t!=null&&s(e,["prebuiltVoiceConfig"],ms(t)),e}function gs(n){const e={},t=o(n,["speaker"]);t!=null&&s(e,["speaker"],t);const i=o(n,["voiceConfig"]);return i!=null&&s(e,["voiceConfig"],ft(i)),e}function hs(n){const e={},t=o(n,["speakerVoiceConfigs"]);if(t!=null){let i=t;Array.isArray(i)&&(i=i.map(r=>gs(r))),s(e,["speakerVoiceConfigs"],i)}return e}function Ts(n){const e={},t=o(n,["voiceConfig"]);t!=null&&s(e,["voiceConfig"],ft(t));const i=o(n,["multiSpeakerVoiceConfig"]);i!=null&&s(e,["multiSpeakerVoiceConfig"],hs(i));const r=o(n,["languageCode"]);return r!=null&&s(e,["languageCode"],r),e}function ys(n){const e={},t=o(n,["fps"]);t!=null&&s(e,["fps"],t);const i=o(n,["endOffset"]);i!=null&&s(e,["endOffset"],i);const r=o(n,["startOffset"]);return r!=null&&s(e,["startOffset"],r),e}function Cs(n){const e={};if(o(n,["displayName"])!==void 0)throw new Error("displayName parameter is not supported in Gemini API.");const t=o(n,["data"]);t!=null&&s(e,["data"],t);const i=o(n,["mimeType"]);return i!=null&&s(e,["mimeType"],i),e}function vs(n){const e={};if(o(n,["displayName"])!==void 0)throw new Error("displayName parameter is not supported in Gemini API.");const t=o(n,["fileUri"]);t!=null&&s(e,["fileUri"],t);const i=o(n,["mimeType"]);return i!=null&&s(e,["mimeType"],i),e}function Es(n){const e={},t=o(n,["videoMetadata"]);t!=null&&s(e,["videoMetadata"],ys(t));const i=o(n,["thought"]);i!=null&&s(e,["thought"],i);const r=o(n,["inlineData"]);r!=null&&s(e,["inlineData"],Cs(r));const l=o(n,["fileData"]);l!=null&&s(e,["fileData"],vs(l));const a=o(n,["thoughtSignature"]);a!=null&&s(e,["thoughtSignature"],a);const f=o(n,["codeExecutionResult"]);f!=null&&s(e,["codeExecutionResult"],f);const c=o(n,["executableCode"]);c!=null&&s(e,["executableCode"],c);const u=o(n,["functionCall"]);u!=null&&s(e,["functionCall"],u);const d=o(n,["functionResponse"]);d!=null&&s(e,["functionResponse"],d);const p=o(n,["text"]);return p!=null&&s(e,["text"],p),e}function Ss(n){const e={},t=o(n,["parts"]);if(t!=null){let r=t;Array.isArray(r)&&(r=r.map(l=>Es(l))),s(e,["parts"],r)}const i=o(n,["role"]);return i!=null&&s(e,["role"],i),e}function _s(n){const e={},t=o(n,["behavior"]);t!=null&&s(e,["behavior"],t);const i=o(n,["description"]);i!=null&&s(e,["description"],i);const r=o(n,["name"]);r!=null&&s(e,["name"],r);const l=o(n,["parameters"]);l!=null&&s(e,["parameters"],l);const a=o(n,["parametersJsonSchema"]);a!=null&&s(e,["parametersJsonSchema"],a);const f=o(n,["response"]);f!=null&&s(e,["response"],f);const c=o(n,["responseJsonSchema"]);return c!=null&&s(e,["responseJsonSchema"],c),e}function As(n){const e={},t=o(n,["startTime"]);t!=null&&s(e,["startTime"],t);const i=o(n,["endTime"]);return i!=null&&s(e,["endTime"],i),e}function Ms(n){const e={},t=o(n,["timeRangeFilter"]);return t!=null&&s(e,["timeRangeFilter"],As(t)),e}function Is(n){const e={},t=o(n,["mode"]);t!=null&&s(e,["mode"],t);const i=o(n,["dynamicThreshold"]);return i!=null&&s(e,["dynamicThreshold"],i),e}function Rs(n){const e={},t=o(n,["dynamicRetrievalConfig"]);return t!=null&&s(e,["dynamicRetrievalConfig"],Is(t)),e}function Ps(){return{}}function xs(n){const e={},t=o(n,["functionDeclarations"]);if(t!=null){let c=t;Array.isArray(c)&&(c=c.map(u=>_s(u))),s(e,["functionDeclarations"],c)}if(o(n,["retrieval"])!==void 0)throw new Error("retrieval parameter is not supported in Gemini API.");const i=o(n,["googleSearch"]);i!=null&&s(e,["googleSearch"],Ms(i));const r=o(n,["googleSearchRetrieval"]);if(r!=null&&s(e,["googleSearchRetrieval"],Rs(r)),o(n,["enterpriseWebSearch"])!==void 0)throw new Error("enterpriseWebSearch parameter is not supported in Gemini API.");if(o(n,["googleMaps"])!==void 0)throw new Error("googleMaps parameter is not supported in Gemini API.");o(n,["urlContext"])!=null&&s(e,["urlContext"],Ps());const a=o(n,["codeExecution"]);a!=null&&s(e,["codeExecution"],a);const f=o(n,["computerUse"]);return f!=null&&s(e,["computerUse"],f),e}function Ds(n){const e={},t=o(n,["handle"]);if(t!=null&&s(e,["handle"],t),o(n,["transparent"])!==void 0)throw new Error("transparent parameter is not supported in Gemini API.");return e}function wn(){return{}}function Ns(n){const e={},t=o(n,["disabled"]);t!=null&&s(e,["disabled"],t);const i=o(n,["startOfSpeechSensitivity"]);i!=null&&s(e,["startOfSpeechSensitivity"],i);const r=o(n,["endOfSpeechSensitivity"]);r!=null&&s(e,["endOfSpeechSensitivity"],r);const l=o(n,["prefixPaddingMs"]);l!=null&&s(e,["prefixPaddingMs"],l);const a=o(n,["silenceDurationMs"]);return a!=null&&s(e,["silenceDurationMs"],a),e}function ws(n){const e={},t=o(n,["automaticActivityDetection"]);t!=null&&s(e,["automaticActivityDetection"],Ns(t));const i=o(n,["activityHandling"]);i!=null&&s(e,["activityHandling"],i);const r=o(n,["turnCoverage"]);return r!=null&&s(e,["turnCoverage"],r),e}function Us(n){const e={},t=o(n,["targetTokens"]);return t!=null&&s(e,["targetTokens"],t),e}function ks(n){const e={},t=o(n,["triggerTokens"]);t!=null&&s(e,["triggerTokens"],t);const i=o(n,["slidingWindow"]);return i!=null&&s(e,["slidingWindow"],Us(i)),e}function Fs(n){const e={},t=o(n,["proactiveAudio"]);return t!=null&&s(e,["proactiveAudio"],t),e}function Ls(n,e){const t={},i=o(n,["generationConfig"]);e!==void 0&&i!=null&&s(e,["setup","generationConfig"],i);const r=o(n,["responseModalities"]);e!==void 0&&r!=null&&s(e,["setup","generationConfig","responseModalities"],r);const l=o(n,["temperature"]);e!==void 0&&l!=null&&s(e,["setup","generationConfig","temperature"],l);const a=o(n,["topP"]);e!==void 0&&a!=null&&s(e,["setup","generationConfig","topP"],a);const f=o(n,["topK"]);e!==void 0&&f!=null&&s(e,["setup","generationConfig","topK"],f);const c=o(n,["maxOutputTokens"]);e!==void 0&&c!=null&&s(e,["setup","generationConfig","maxOutputTokens"],c);const u=o(n,["mediaResolution"]);e!==void 0&&u!=null&&s(e,["setup","generationConfig","mediaResolution"],u);const d=o(n,["seed"]);e!==void 0&&d!=null&&s(e,["setup","generationConfig","seed"],d);const p=o(n,["speechConfig"]);e!==void 0&&p!=null&&s(e,["setup","generationConfig","speechConfig"],Ts(Me(p)));const m=o(n,["enableAffectiveDialog"]);e!==void 0&&m!=null&&s(e,["setup","generationConfig","enableAffectiveDialog"],m);const g=o(n,["systemInstruction"]);e!==void 0&&g!=null&&s(e,["setup","systemInstruction"],Ss(U(g)));const h=o(n,["tools"]);if(e!==void 0&&h!=null){let _=z(h);Array.isArray(_)&&(_=_.map(I=>xs(K(I)))),s(e,["setup","tools"],_)}const T=o(n,["sessionResumption"]);e!==void 0&&T!=null&&s(e,["setup","sessionResumption"],Ds(T));const y=o(n,["inputAudioTranscription"]);e!==void 0&&y!=null&&s(e,["setup","inputAudioTranscription"],wn());const S=o(n,["outputAudioTranscription"]);e!==void 0&&S!=null&&s(e,["setup","outputAudioTranscription"],wn());const v=o(n,["realtimeInputConfig"]);e!==void 0&&v!=null&&s(e,["setup","realtimeInputConfig"],ws(v));const E=o(n,["contextWindowCompression"]);e!==void 0&&E!=null&&s(e,["setup","contextWindowCompression"],ks(E));const A=o(n,["proactivity"]);return e!==void 0&&A!=null&&s(e,["setup","proactivity"],Fs(A)),t}function Vs(n,e){const t={},i=o(e,["model"]);i!=null&&s(t,["setup","model"],x(n,i));const r=o(e,["config"]);return r!=null&&s(t,["config"],Ls(r,t)),t}function Gs(){return{}}function qs(){return{}}function Hs(n){const e={},t=o(n,["media"]);t!=null&&s(e,["mediaChunks"],Xn(t));const i=o(n,["audio"]);i!=null&&s(e,["audio"],Zn(i));const r=o(n,["audioStreamEnd"]);r!=null&&s(e,["audioStreamEnd"],r);const l=o(n,["video"]);l!=null&&s(e,["video"],Qn(l));const a=o(n,["text"]);return a!=null&&s(e,["text"],a),o(n,["activityStart"])!=null&&s(e,["activityStart"],Gs()),o(n,["activityEnd"])!=null&&s(e,["activityEnd"],qs()),e}function ct(n){const e={},t=o(n,["text"]);t!=null&&s(e,["text"],t);const i=o(n,["weight"]);return i!=null&&s(e,["weight"],i),e}function Bs(n){const e={},t=o(n,["weightedPrompts"]);if(t!=null){let i=t;Array.isArray(i)&&(i=i.map(r=>ct(r))),s(e,["weightedPrompts"],i)}return e}function dt(n){const e={},t=o(n,["temperature"]);t!=null&&s(e,["temperature"],t);const i=o(n,["topK"]);i!=null&&s(e,["topK"],i);const r=o(n,["seed"]);r!=null&&s(e,["seed"],r);const l=o(n,["guidance"]);l!=null&&s(e,["guidance"],l);const a=o(n,["bpm"]);a!=null&&s(e,["bpm"],a);const f=o(n,["density"]);f!=null&&s(e,["density"],f);const c=o(n,["brightness"]);c!=null&&s(e,["brightness"],c);const u=o(n,["scale"]);u!=null&&s(e,["scale"],u);const d=o(n,["muteBass"]);d!=null&&s(e,["muteBass"],d);const p=o(n,["muteDrums"]);p!=null&&s(e,["muteDrums"],p);const m=o(n,["onlyBassAndDrums"]);return m!=null&&s(e,["onlyBassAndDrums"],m),e}function Js(n){const e={},t=o(n,["musicGenerationConfig"]);return t!=null&&s(e,["musicGenerationConfig"],dt(t)),e}function pt(n){const e={},t=o(n,["model"]);return t!=null&&s(e,["model"],t),e}function mt(n){const e={},t=o(n,["weightedPrompts"]);if(t!=null){let i=t;Array.isArray(i)&&(i=i.map(r=>ct(r))),s(e,["weightedPrompts"],i)}return e}function ye(n){const e={},t=o(n,["setup"]);t!=null&&s(e,["setup"],pt(t));const i=o(n,["clientContent"]);i!=null&&s(e,["clientContent"],mt(i));const r=o(n,["musicGenerationConfig"]);r!=null&&s(e,["musicGenerationConfig"],dt(r));const l=o(n,["playbackControl"]);return l!=null&&s(e,["playbackControl"],l),e}function $s(n){const e={},t=o(n,["voiceName"]);return t!=null&&s(e,["voiceName"],t),e}function Ws(n){const e={},t=o(n,["prebuiltVoiceConfig"]);return t!=null&&s(e,["prebuiltVoiceConfig"],$s(t)),e}function Ys(n){const e={},t=o(n,["voiceConfig"]);if(t!=null&&s(e,["voiceConfig"],Ws(t)),o(n,["multiSpeakerVoiceConfig"])!==void 0)throw new Error("multiSpeakerVoiceConfig parameter is not supported in Vertex AI.");const i=o(n,["languageCode"]);return i!=null&&s(e,["languageCode"],i),e}function Ks(n){const e={},t=o(n,["fps"]);t!=null&&s(e,["fps"],t);const i=o(n,["endOffset"]);i!=null&&s(e,["endOffset"],i);const r=o(n,["startOffset"]);return r!=null&&s(e,["startOffset"],r),e}function zs(n){const e={},t=o(n,["displayName"]);t!=null&&s(e,["displayName"],t);const i=o(n,["data"]);i!=null&&s(e,["data"],i);const r=o(n,["mimeType"]);return r!=null&&s(e,["mimeType"],r),e}function Xs(n){const e={},t=o(n,["displayName"]);t!=null&&s(e,["displayName"],t);const i=o(n,["fileUri"]);i!=null&&s(e,["fileUri"],i);const r=o(n,["mimeType"]);return r!=null&&s(e,["mimeType"],r),e}function Qs(n){const e={},t=o(n,["videoMetadata"]);t!=null&&s(e,["videoMetadata"],Ks(t));const i=o(n,["thought"]);i!=null&&s(e,["thought"],i);const r=o(n,["inlineData"]);r!=null&&s(e,["inlineData"],zs(r));const l=o(n,["fileData"]);l!=null&&s(e,["fileData"],Xs(l));const a=o(n,["thoughtSignature"]);a!=null&&s(e,["thoughtSignature"],a);const f=o(n,["codeExecutionResult"]);f!=null&&s(e,["codeExecutionResult"],f);const c=o(n,["executableCode"]);c!=null&&s(e,["executableCode"],c);const u=o(n,["functionCall"]);u!=null&&s(e,["functionCall"],u);const d=o(n,["functionResponse"]);d!=null&&s(e,["functionResponse"],d);const p=o(n,["text"]);return p!=null&&s(e,["text"],p),e}function Zs(n){const e={},t=o(n,["parts"]);if(t!=null){let r=t;Array.isArray(r)&&(r=r.map(l=>Qs(l))),s(e,["parts"],r)}const i=o(n,["role"]);return i!=null&&s(e,["role"],i),e}function bs(n){const e={};if(o(n,["behavior"])!==void 0)throw new Error("behavior parameter is not supported in Vertex AI.");const t=o(n,["description"]);t!=null&&s(e,["description"],t);const i=o(n,["name"]);i!=null&&s(e,["name"],i);const r=o(n,["parameters"]);r!=null&&s(e,["parameters"],r);const l=o(n,["parametersJsonSchema"]);l!=null&&s(e,["parametersJsonSchema"],l);const a=o(n,["response"]);a!=null&&s(e,["response"],a);const f=o(n,["responseJsonSchema"]);return f!=null&&s(e,["responseJsonSchema"],f),e}function Os(n){const e={},t=o(n,["startTime"]);t!=null&&s(e,["startTime"],t);const i=o(n,["endTime"]);return i!=null&&s(e,["endTime"],i),e}function js(n){const e={},t=o(n,["timeRangeFilter"]);return t!=null&&s(e,["timeRangeFilter"],Os(t)),e}function er(n){const e={},t=o(n,["mode"]);t!=null&&s(e,["mode"],t);const i=o(n,["dynamicThreshold"]);return i!=null&&s(e,["dynamicThreshold"],i),e}function nr(n){const e={},t=o(n,["dynamicRetrievalConfig"]);return t!=null&&s(e,["dynamicRetrievalConfig"],er(t)),e}function tr(){return{}}function or(n){const e={},t=o(n,["apiKeyString"]);return t!=null&&s(e,["apiKeyString"],t),e}function ir(n){const e={},t=o(n,["apiKeyConfig"]);t!=null&&s(e,["apiKeyConfig"],or(t));const i=o(n,["authType"]);i!=null&&s(e,["authType"],i);const r=o(n,["googleServiceAccountConfig"]);r!=null&&s(e,["googleServiceAccountConfig"],r);const l=o(n,["httpBasicAuthConfig"]);l!=null&&s(e,["httpBasicAuthConfig"],l);const a=o(n,["oauthConfig"]);a!=null&&s(e,["oauthConfig"],a);const f=o(n,["oidcConfig"]);return f!=null&&s(e,["oidcConfig"],f),e}function sr(n){const e={},t=o(n,["authConfig"]);return t!=null&&s(e,["authConfig"],ir(t)),e}function rr(){return{}}function lr(n){const e={},t=o(n,["functionDeclarations"]);if(t!=null){let p=t;Array.isArray(p)&&(p=p.map(m=>bs(m))),s(e,["functionDeclarations"],p)}const i=o(n,["retrieval"]);i!=null&&s(e,["retrieval"],i);const r=o(n,["googleSearch"]);r!=null&&s(e,["googleSearch"],js(r));const l=o(n,["googleSearchRetrieval"]);l!=null&&s(e,["googleSearchRetrieval"],nr(l)),o(n,["enterpriseWebSearch"])!=null&&s(e,["enterpriseWebSearch"],tr());const f=o(n,["googleMaps"]);f!=null&&s(e,["googleMaps"],sr(f)),o(n,["urlContext"])!=null&&s(e,["urlContext"],rr());const u=o(n,["codeExecution"]);u!=null&&s(e,["codeExecution"],u);const d=o(n,["computerUse"]);return d!=null&&s(e,["computerUse"],d),e}function ar(n){const e={},t=o(n,["handle"]);t!=null&&s(e,["handle"],t);const i=o(n,["transparent"]);return i!=null&&s(e,["transparent"],i),e}function Un(){return{}}function ur(n){const e={},t=o(n,["disabled"]);t!=null&&s(e,["disabled"],t);const i=o(n,["startOfSpeechSensitivity"]);i!=null&&s(e,["startOfSpeechSensitivity"],i);const r=o(n,["endOfSpeechSensitivity"]);r!=null&&s(e,["endOfSpeechSensitivity"],r);const l=o(n,["prefixPaddingMs"]);l!=null&&s(e,["prefixPaddingMs"],l);const a=o(n,["silenceDurationMs"]);return a!=null&&s(e,["silenceDurationMs"],a),e}function fr(n){const e={},t=o(n,["automaticActivityDetection"]);t!=null&&s(e,["automaticActivityDetection"],ur(t));const i=o(n,["activityHandling"]);i!=null&&s(e,["activityHandling"],i);const r=o(n,["turnCoverage"]);return r!=null&&s(e,["turnCoverage"],r),e}function cr(n){const e={},t=o(n,["targetTokens"]);return t!=null&&s(e,["targetTokens"],t),e}function dr(n){const e={},t=o(n,["triggerTokens"]);t!=null&&s(e,["triggerTokens"],t);const i=o(n,["slidingWindow"]);return i!=null&&s(e,["slidingWindow"],cr(i)),e}function pr(n){const e={},t=o(n,["proactiveAudio"]);return t!=null&&s(e,["proactiveAudio"],t),e}function mr(n,e){const t={},i=o(n,["generationConfig"]);e!==void 0&&i!=null&&s(e,["setup","generationConfig"],i);const r=o(n,["responseModalities"]);e!==void 0&&r!=null&&s(e,["setup","generationConfig","responseModalities"],r);const l=o(n,["temperature"]);e!==void 0&&l!=null&&s(e,["setup","generationConfig","temperature"],l);const a=o(n,["topP"]);e!==void 0&&a!=null&&s(e,["setup","generationConfig","topP"],a);const f=o(n,["topK"]);e!==void 0&&f!=null&&s(e,["setup","generationConfig","topK"],f);const c=o(n,["maxOutputTokens"]);e!==void 0&&c!=null&&s(e,["setup","generationConfig","maxOutputTokens"],c);const u=o(n,["mediaResolution"]);e!==void 0&&u!=null&&s(e,["setup","generationConfig","mediaResolution"],u);const d=o(n,["seed"]);e!==void 0&&d!=null&&s(e,["setup","generationConfig","seed"],d);const p=o(n,["speechConfig"]);e!==void 0&&p!=null&&s(e,["setup","generationConfig","speechConfig"],Ys(Me(p)));const m=o(n,["enableAffectiveDialog"]);e!==void 0&&m!=null&&s(e,["setup","generationConfig","enableAffectiveDialog"],m);const g=o(n,["systemInstruction"]);e!==void 0&&g!=null&&s(e,["setup","systemInstruction"],Zs(U(g)));const h=o(n,["tools"]);if(e!==void 0&&h!=null){let _=z(h);Array.isArray(_)&&(_=_.map(I=>lr(K(I)))),s(e,["setup","tools"],_)}const T=o(n,["sessionResumption"]);e!==void 0&&T!=null&&s(e,["setup","sessionResumption"],ar(T));const y=o(n,["inputAudioTranscription"]);e!==void 0&&y!=null&&s(e,["setup","inputAudioTranscription"],Un());const S=o(n,["outputAudioTranscription"]);e!==void 0&&S!=null&&s(e,["setup","outputAudioTranscription"],Un());const v=o(n,["realtimeInputConfig"]);e!==void 0&&v!=null&&s(e,["setup","realtimeInputConfig"],fr(v));const E=o(n,["contextWindowCompression"]);e!==void 0&&E!=null&&s(e,["setup","contextWindowCompression"],dr(E));const A=o(n,["proactivity"]);return e!==void 0&&A!=null&&s(e,["setup","proactivity"],pr(A)),t}function gr(n,e){const t={},i=o(e,["model"]);i!=null&&s(t,["setup","model"],x(n,i));const r=o(e,["config"]);return r!=null&&s(t,["config"],mr(r,t)),t}function hr(){return{}}function Tr(){return{}}function yr(n){const e={},t=o(n,["media"]);t!=null&&s(e,["mediaChunks"],Xn(t));const i=o(n,["audio"]);i!=null&&s(e,["audio"],Zn(i));const r=o(n,["audioStreamEnd"]);r!=null&&s(e,["audioStreamEnd"],r);const l=o(n,["video"]);l!=null&&s(e,["video"],Qn(l));const a=o(n,["text"]);return a!=null&&s(e,["text"],a),o(n,["activityStart"])!=null&&s(e,["activityStart"],hr()),o(n,["activityEnd"])!=null&&s(e,["activityEnd"],Tr()),e}function Cr(){return{}}function vr(n){const e={},t=o(n,["fps"]);t!=null&&s(e,["fps"],t);const i=o(n,["endOffset"]);i!=null&&s(e,["endOffset"],i);const r=o(n,["startOffset"]);return r!=null&&s(e,["startOffset"],r),e}function Er(n){const e={},t=o(n,["data"]);t!=null&&s(e,["data"],t);const i=o(n,["mimeType"]);return i!=null&&s(e,["mimeType"],i),e}function Sr(n){const e={},t=o(n,["fileUri"]);t!=null&&s(e,["fileUri"],t);const i=o(n,["mimeType"]);return i!=null&&s(e,["mimeType"],i),e}function _r(n){const e={},t=o(n,["videoMetadata"]);t!=null&&s(e,["videoMetadata"],vr(t));const i=o(n,["thought"]);i!=null&&s(e,["thought"],i);const r=o(n,["inlineData"]);r!=null&&s(e,["inlineData"],Er(r));const l=o(n,["fileData"]);l!=null&&s(e,["fileData"],Sr(l));const a=o(n,["thoughtSignature"]);a!=null&&s(e,["thoughtSignature"],a);const f=o(n,["codeExecutionResult"]);f!=null&&s(e,["codeExecutionResult"],f);const c=o(n,["executableCode"]);c!=null&&s(e,["executableCode"],c);const u=o(n,["functionCall"]);u!=null&&s(e,["functionCall"],u);const d=o(n,["functionResponse"]);d!=null&&s(e,["functionResponse"],d);const p=o(n,["text"]);return p!=null&&s(e,["text"],p),e}function Ar(n){const e={},t=o(n,["parts"]);if(t!=null){let r=t;Array.isArray(r)&&(r=r.map(l=>_r(l))),s(e,["parts"],r)}const i=o(n,["role"]);return i!=null&&s(e,["role"],i),e}function kn(n){const e={},t=o(n,["text"]);t!=null&&s(e,["text"],t);const i=o(n,["finished"]);return i!=null&&s(e,["finished"],i),e}function Mr(n){const e={},t=o(n,["retrievedUrl"]);t!=null&&s(e,["retrievedUrl"],t);const i=o(n,["urlRetrievalStatus"]);return i!=null&&s(e,["urlRetrievalStatus"],i),e}function Ir(n){const e={},t=o(n,["urlMetadata"]);if(t!=null){let i=t;Array.isArray(i)&&(i=i.map(r=>Mr(r))),s(e,["urlMetadata"],i)}return e}function Rr(n){const e={},t=o(n,["modelTurn"]);t!=null&&s(e,["modelTurn"],Ar(t));const i=o(n,["turnComplete"]);i!=null&&s(e,["turnComplete"],i);const r=o(n,["interrupted"]);r!=null&&s(e,["interrupted"],r);const l=o(n,["groundingMetadata"]);l!=null&&s(e,["groundingMetadata"],l);const a=o(n,["generationComplete"]);a!=null&&s(e,["generationComplete"],a);const f=o(n,["inputTranscription"]);f!=null&&s(e,["inputTranscription"],kn(f));const c=o(n,["outputTranscription"]);c!=null&&s(e,["outputTranscription"],kn(c));const u=o(n,["urlContextMetadata"]);return u!=null&&s(e,["urlContextMetadata"],Ir(u)),e}function Pr(n){const e={},t=o(n,["id"]);t!=null&&s(e,["id"],t);const i=o(n,["args"]);i!=null&&s(e,["args"],i);const r=o(n,["name"]);return r!=null&&s(e,["name"],r),e}function xr(n){const e={},t=o(n,["functionCalls"]);if(t!=null){let i=t;Array.isArray(i)&&(i=i.map(r=>Pr(r))),s(e,["functionCalls"],i)}return e}function Dr(n){const e={},t=o(n,["ids"]);return t!=null&&s(e,["ids"],t),e}function j(n){const e={},t=o(n,["modality"]);t!=null&&s(e,["modality"],t);const i=o(n,["tokenCount"]);return i!=null&&s(e,["tokenCount"],i),e}function Nr(n){const e={},t=o(n,["promptTokenCount"]);t!=null&&s(e,["promptTokenCount"],t);const i=o(n,["cachedContentTokenCount"]);i!=null&&s(e,["cachedContentTokenCount"],i);const r=o(n,["responseTokenCount"]);r!=null&&s(e,["responseTokenCount"],r);const l=o(n,["toolUsePromptTokenCount"]);l!=null&&s(e,["toolUsePromptTokenCount"],l);const a=o(n,["thoughtsTokenCount"]);a!=null&&s(e,["thoughtsTokenCount"],a);const f=o(n,["totalTokenCount"]);f!=null&&s(e,["totalTokenCount"],f);const c=o(n,["promptTokensDetails"]);if(c!=null){let m=c;Array.isArray(m)&&(m=m.map(g=>j(g))),s(e,["promptTokensDetails"],m)}const u=o(n,["cacheTokensDetails"]);if(u!=null){let m=u;Array.isArray(m)&&(m=m.map(g=>j(g))),s(e,["cacheTokensDetails"],m)}const d=o(n,["responseTokensDetails"]);if(d!=null){let m=d;Array.isArray(m)&&(m=m.map(g=>j(g))),s(e,["responseTokensDetails"],m)}const p=o(n,["toolUsePromptTokensDetails"]);if(p!=null){let m=p;Array.isArray(m)&&(m=m.map(g=>j(g))),s(e,["toolUsePromptTokensDetails"],m)}return e}function wr(n){const e={},t=o(n,["timeLeft"]);return t!=null&&s(e,["timeLeft"],t),e}function Ur(n){const e={},t=o(n,["newHandle"]);t!=null&&s(e,["newHandle"],t);const i=o(n,["resumable"]);i!=null&&s(e,["resumable"],i);const r=o(n,["lastConsumedClientMessageIndex"]);return r!=null&&s(e,["lastConsumedClientMessageIndex"],r),e}function kr(n){const e={};o(n,["setupComplete"])!=null&&s(e,["setupComplete"],Cr());const i=o(n,["serverContent"]);i!=null&&s(e,["serverContent"],Rr(i));const r=o(n,["toolCall"]);r!=null&&s(e,["toolCall"],xr(r));const l=o(n,["toolCallCancellation"]);l!=null&&s(e,["toolCallCancellation"],Dr(l));const a=o(n,["usageMetadata"]);a!=null&&s(e,["usageMetadata"],Nr(a));const f=o(n,["goAway"]);f!=null&&s(e,["goAway"],wr(f));const c=o(n,["sessionResumptionUpdate"]);return c!=null&&s(e,["sessionResumptionUpdate"],Ur(c)),e}function Fr(){return{}}function Lr(n){const e={},t=o(n,["text"]);t!=null&&s(e,["text"],t);const i=o(n,["weight"]);return i!=null&&s(e,["weight"],i),e}function Vr(n){const e={},t=o(n,["weightedPrompts"]);if(t!=null){let i=t;Array.isArray(i)&&(i=i.map(r=>Lr(r))),s(e,["weightedPrompts"],i)}return e}function Gr(n){const e={},t=o(n,["temperature"]);t!=null&&s(e,["temperature"],t);const i=o(n,["topK"]);i!=null&&s(e,["topK"],i);const r=o(n,["seed"]);r!=null&&s(e,["seed"],r);const l=o(n,["guidance"]);l!=null&&s(e,["guidance"],l);const a=o(n,["bpm"]);a!=null&&s(e,["bpm"],a);const f=o(n,["density"]);f!=null&&s(e,["density"],f);const c=o(n,["brightness"]);c!=null&&s(e,["brightness"],c);const u=o(n,["scale"]);u!=null&&s(e,["scale"],u);const d=o(n,["muteBass"]);d!=null&&s(e,["muteBass"],d);const p=o(n,["muteDrums"]);p!=null&&s(e,["muteDrums"],p);const m=o(n,["onlyBassAndDrums"]);return m!=null&&s(e,["onlyBassAndDrums"],m),e}function qr(n){const e={},t=o(n,["clientContent"]);t!=null&&s(e,["clientContent"],Vr(t));const i=o(n,["musicGenerationConfig"]);return i!=null&&s(e,["musicGenerationConfig"],Gr(i)),e}function Hr(n){const e={},t=o(n,["data"]);t!=null&&s(e,["data"],t);const i=o(n,["mimeType"]);i!=null&&s(e,["mimeType"],i);const r=o(n,["sourceMetadata"]);return r!=null&&s(e,["sourceMetadata"],qr(r)),e}function Br(n){const e={},t=o(n,["audioChunks"]);if(t!=null){let i=t;Array.isArray(i)&&(i=i.map(r=>Hr(r))),s(e,["audioChunks"],i)}return e}function Jr(n){const e={},t=o(n,["text"]);t!=null&&s(e,["text"],t);const i=o(n,["filteredReason"]);return i!=null&&s(e,["filteredReason"],i),e}function $r(n){const e={};o(n,["setupComplete"])!=null&&s(e,["setupComplete"],Fr());const i=o(n,["serverContent"]);i!=null&&s(e,["serverContent"],Br(i));const r=o(n,["filteredPrompt"]);return r!=null&&s(e,["filteredPrompt"],Jr(r)),e}function Wr(n){const e={},t=o(n,["sessionId"]);return t!=null&&s(e,["sessionId"],t),e}function Yr(n){const e={},t=o(n,["fps"]);t!=null&&s(e,["fps"],t);const i=o(n,["endOffset"]);i!=null&&s(e,["endOffset"],i);const r=o(n,["startOffset"]);return r!=null&&s(e,["startOffset"],r),e}function Kr(n){const e={},t=o(n,["displayName"]);t!=null&&s(e,["displayName"],t);const i=o(n,["data"]);i!=null&&s(e,["data"],i);const r=o(n,["mimeType"]);return r!=null&&s(e,["mimeType"],r),e}function zr(n){const e={},t=o(n,["displayName"]);t!=null&&s(e,["displayName"],t);const i=o(n,["fileUri"]);i!=null&&s(e,["fileUri"],i);const r=o(n,["mimeType"]);return r!=null&&s(e,["mimeType"],r),e}function Xr(n){const e={},t=o(n,["videoMetadata"]);t!=null&&s(e,["videoMetadata"],Yr(t));const i=o(n,["thought"]);i!=null&&s(e,["thought"],i);const r=o(n,["inlineData"]);r!=null&&s(e,["inlineData"],Kr(r));const l=o(n,["fileData"]);l!=null&&s(e,["fileData"],zr(l));const a=o(n,["thoughtSignature"]);a!=null&&s(e,["thoughtSignature"],a);const f=o(n,["codeExecutionResult"]);f!=null&&s(e,["codeExecutionResult"],f);const c=o(n,["executableCode"]);c!=null&&s(e,["executableCode"],c);const u=o(n,["functionCall"]);u!=null&&s(e,["functionCall"],u);const d=o(n,["functionResponse"]);d!=null&&s(e,["functionResponse"],d);const p=o(n,["text"]);return p!=null&&s(e,["text"],p),e}function Qr(n){const e={},t=o(n,["parts"]);if(t!=null){let r=t;Array.isArray(r)&&(r=r.map(l=>Xr(l))),s(e,["parts"],r)}const i=o(n,["role"]);return i!=null&&s(e,["role"],i),e}function Fn(n){const e={},t=o(n,["text"]);t!=null&&s(e,["text"],t);const i=o(n,["finished"]);return i!=null&&s(e,["finished"],i),e}function Zr(n){const e={},t=o(n,["modelTurn"]);t!=null&&s(e,["modelTurn"],Qr(t));const i=o(n,["turnComplete"]);i!=null&&s(e,["turnComplete"],i);const r=o(n,["interrupted"]);r!=null&&s(e,["interrupted"],r);const l=o(n,["groundingMetadata"]);l!=null&&s(e,["groundingMetadata"],l);const a=o(n,["generationComplete"]);a!=null&&s(e,["generationComplete"],a);const f=o(n,["inputTranscription"]);f!=null&&s(e,["inputTranscription"],Fn(f));const c=o(n,["outputTranscription"]);return c!=null&&s(e,["outputTranscription"],Fn(c)),e}function br(n){const e={},t=o(n,["args"]);t!=null&&s(e,["args"],t);const i=o(n,["name"]);return i!=null&&s(e,["name"],i),e}function Or(n){const e={},t=o(n,["functionCalls"]);if(t!=null){let i=t;Array.isArray(i)&&(i=i.map(r=>br(r))),s(e,["functionCalls"],i)}return e}function jr(n){const e={},t=o(n,["ids"]);return t!=null&&s(e,["ids"],t),e}function ee(n){const e={},t=o(n,["modality"]);t!=null&&s(e,["modality"],t);const i=o(n,["tokenCount"]);return i!=null&&s(e,["tokenCount"],i),e}function el(n){const e={},t=o(n,["promptTokenCount"]);t!=null&&s(e,["promptTokenCount"],t);const i=o(n,["cachedContentTokenCount"]);i!=null&&s(e,["cachedContentTokenCount"],i);const r=o(n,["candidatesTokenCount"]);r!=null&&s(e,["responseTokenCount"],r);const l=o(n,["toolUsePromptTokenCount"]);l!=null&&s(e,["toolUsePromptTokenCount"],l);const a=o(n,["thoughtsTokenCount"]);a!=null&&s(e,["thoughtsTokenCount"],a);const f=o(n,["totalTokenCount"]);f!=null&&s(e,["totalTokenCount"],f);const c=o(n,["promptTokensDetails"]);if(c!=null){let g=c;Array.isArray(g)&&(g=g.map(h=>ee(h))),s(e,["promptTokensDetails"],g)}const u=o(n,["cacheTokensDetails"]);if(u!=null){let g=u;Array.isArray(g)&&(g=g.map(h=>ee(h))),s(e,["cacheTokensDetails"],g)}const d=o(n,["candidatesTokensDetails"]);if(d!=null){let g=d;Array.isArray(g)&&(g=g.map(h=>ee(h))),s(e,["responseTokensDetails"],g)}const p=o(n,["toolUsePromptTokensDetails"]);if(p!=null){let g=p;Array.isArray(g)&&(g=g.map(h=>ee(h))),s(e,["toolUsePromptTokensDetails"],g)}const m=o(n,["trafficType"]);return m!=null&&s(e,["trafficType"],m),e}function nl(n){const e={},t=o(n,["timeLeft"]);return t!=null&&s(e,["timeLeft"],t),e}function tl(n){const e={},t=o(n,["newHandle"]);t!=null&&s(e,["newHandle"],t);const i=o(n,["resumable"]);i!=null&&s(e,["resumable"],i);const r=o(n,["lastConsumedClientMessageIndex"]);return r!=null&&s(e,["lastConsumedClientMessageIndex"],r),e}function ol(n){const e={},t=o(n,["setupComplete"]);t!=null&&s(e,["setupComplete"],Wr(t));const i=o(n,["serverContent"]);i!=null&&s(e,["serverContent"],Zr(i));const r=o(n,["toolCall"]);r!=null&&s(e,["toolCall"],Or(r));const l=o(n,["toolCallCancellation"]);l!=null&&s(e,["toolCallCancellation"],jr(l));const a=o(n,["usageMetadata"]);a!=null&&s(e,["usageMetadata"],el(a));const f=o(n,["goAway"]);f!=null&&s(e,["goAway"],nl(f));const c=o(n,["sessionResumptionUpdate"]);return c!=null&&s(e,["sessionResumptionUpdate"],tl(c)),e}/**
* @license
* Copyright 2025 Google LLC
* SPDX-License-Identifier: Apache-2.0
*/function il(n){const e={},t=o(n,["fps"]);t!=null&&s(e,["fps"],t);const i=o(n,["endOffset"]);i!=null&&s(e,["endOffset"],i);const r=o(n,["startOffset"]);return r!=null&&s(e,["startOffset"],r),e}function sl(n){const e={};if(o(n,["displayName"])!==void 0)throw new Error("displayName parameter is not supported in Gemini API.");const t=o(n,["data"]);t!=null&&s(e,["data"],t);const i=o(n,["mimeType"]);return i!=null&&s(e,["mimeType"],i),e}function rl(n){const e={};if(o(n,["displayName"])!==void 0)throw new Error("displayName parameter is not supported in Gemini API.");const t=o(n,["fileUri"]);t!=null&&s(e,["fileUri"],t);const i=o(n,["mimeType"]);return i!=null&&s(e,["mimeType"],i),e}function ll(n){const e={},t=o(n,["videoMetadata"]);t!=null&&s(e,["videoMetadata"],il(t));const i=o(n,["thought"]);i!=null&&s(e,["thought"],i);const r=o(n,["inlineData"]);r!=null&&s(e,["inlineData"],sl(r));const l=o(n,["fileData"]);l!=null&&s(e,["fileData"],rl(l));const a=o(n,["thoughtSignature"]);a!=null&&s(e,["thoughtSignature"],a);const f=o(n,["codeExecutionResult"]);f!=null&&s(e,["codeExecutionResult"],f);const c=o(n,["executableCode"]);c!=null&&s(e,["executableCode"],c);const u=o(n,["functionCall"]);u!=null&&s(e,["functionCall"],u);const d=o(n,["functionResponse"]);d!=null&&s(e,["functionResponse"],d);const p=o(n,["text"]);return p!=null&&s(e,["text"],p),e}function le(n){const e={},t=o(n,["parts"]);if(t!=null){let r=t;Array.isArray(r)&&(r=r.map(l=>ll(l))),s(e,["parts"],r)}const i=o(n,["role"]);return i!=null&&s(e,["role"],i),e}function al(n){const e={},t=o(n,["anyOf"]);t!=null&&s(e,["anyOf"],t);const i=o(n,["default"]);i!=null&&s(e,["default"],i);const r=o(n,["description"]);r!=null&&s(e,["description"],r);const l=o(n,["enum"]);l!=null&&s(e,["enum"],l);const a=o(n,["example"]);a!=null&&s(e,["example"],a);const f=o(n,["format"]);f!=null&&s(e,["format"],f);const c=o(n,["items"]);c!=null&&s(e,["items"],c);const u=o(n,["maxItems"]);u!=null&&s(e,["maxItems"],u);const d=o(n,["maxLength"]);d!=null&&s(e,["maxLength"],d);const p=o(n,["maxProperties"]);p!=null&&s(e,["maxProperties"],p);const m=o(n,["maximum"]);m!=null&&s(e,["maximum"],m);const g=o(n,["minItems"]);g!=null&&s(e,["minItems"],g);const h=o(n,["minLength"]);h!=null&&s(e,["minLength"],h);const T=o(n,["minProperties"]);T!=null&&s(e,["minProperties"],T);const y=o(n,["minimum"]);y!=null&&s(e,["minimum"],y);const S=o(n,["nullable"]);S!=null&&s(e,["nullable"],S);const v=o(n,["pattern"]);v!=null&&s(e,["pattern"],v);const E=o(n,["properties"]);E!=null&&s(e,["properties"],E);const A=o(n,["propertyOrdering"]);A!=null&&s(e,["propertyOrdering"],A);const _=o(n,["required"]);_!=null&&s(e,["required"],_);const I=o(n,["title"]);I!=null&&s(e,["title"],I);const R=o(n,["type"]);return R!=null&&s(e,["type"],R),e}function ul(n){const e={};if(o(n,["method"])!==void 0)throw new Error("method parameter is not supported in Gemini API.");const t=o(n,["category"]);t!=null&&s(e,["category"],t);const i=o(n,["threshold"]);return i!=null&&s(e,["threshold"],i),e}function fl(n){const e={},t=o(n,["behavior"]);t!=null&&s(e,["behavior"],t);const i=o(n,["description"]);i!=null&&s(e,["description"],i);const r=o(n,["name"]);r!=null&&s(e,["name"],r);const l=o(n,["parameters"]);l!=null&&s(e,["parameters"],l);const a=o(n,["parametersJsonSchema"]);a!=null&&s(e,["parametersJsonSchema"],a);const f=o(n,["response"]);f!=null&&s(e,["response"],f);const c=o(n,["responseJsonSchema"]);return c!=null&&s(e,["responseJsonSchema"],c),e}function cl(n){const e={},t=o(n,["startTime"]);t!=null&&s(e,["startTime"],t);const i=o(n,["endTime"]);return i!=null&&s(e,["endTime"],i),e}function dl(n){const e={},t=o(n,["timeRangeFilter"]);return t!=null&&s(e,["timeRangeFilter"],cl(t)),e}function pl(n){const e={},t=o(n,["mode"]);t!=null&&s(e,["mode"],t);const i=o(n,["dynamicThreshold"]);return i!=null&&s(e,["dynamicThreshold"],i),e}function ml(n){const e={},t=o(n,["dynamicRetrievalConfig"]);return t!=null&&s(e,["dynamicRetrievalConfig"],pl(t)),e}function gl(){return{}}function hl(n){const e={},t=o(n,["functionDeclarations"]);if(t!=null){let c=t;Array.isArray(c)&&(c=c.map(u=>fl(u))),s(e,["functionDeclarations"],c)}if(o(n,["retrieval"])!==void 0)throw new Error("retrieval parameter is not supported in Gemini API.");const i=o(n,["googleSearch"]);i!=null&&s(e,["googleSearch"],dl(i));const r=o(n,["googleSearchRetrieval"]);if(r!=null&&s(e,["googleSearchRetrieval"],ml(r)),o(n,["enterpriseWebSearch"])!==void 0)throw new Error("enterpriseWebSearch parameter is not supported in Gemini API.");if(o(n,["googleMaps"])!==void 0)throw new Error("googleMaps parameter is not supported in Gemini API.");o(n,["urlContext"])!=null&&s(e,["urlContext"],gl());const a=o(n,["codeExecution"]);a!=null&&s(e,["codeExecution"],a);const f=o(n,["computerUse"]);return f!=null&&s(e,["computerUse"],f),e}function Tl(n){const e={},t=o(n,["mode"]);t!=null&&s(e,["mode"],t);const i=o(n,["allowedFunctionNames"]);return i!=null&&s(e,["allowedFunctionNames"],i),e}function yl(n){const e={},t=o(n,["latitude"]);t!=null&&s(e,["latitude"],t);const i=o(n,["longitude"]);return i!=null&&s(e,["longitude"],i),e}function Cl(n){const e={},t=o(n,["latLng"]);t!=null&&s(e,["latLng"],yl(t));const i=o(n,["languageCode"]);return i!=null&&s(e,["languageCode"],i),e}function vl(n){const e={},t=o(n,["functionCallingConfig"]);t!=null&&s(e,["functionCallingConfig"],Tl(t));const i=o(n,["retrievalConfig"]);return i!=null&&s(e,["retrievalConfig"],Cl(i)),e}function El(n){const e={},t=o(n,["voiceName"]);return t!=null&&s(e,["voiceName"],t),e}function gt(n){const e={},t=o(n,["prebuiltVoiceConfig"]);return t!=null&&s(e,["prebuiltVoiceConfig"],El(t)),e}function Sl(n){const e={},t=o(n,["speaker"]);t!=null&&s(e,["speaker"],t);const i=o(n,["voiceConfig"]);return i!=null&&s(e,["voiceConfig"],gt(i)),e}function _l(n){const e={},t=o(n,["speakerVoiceConfigs"]);if(t!=null){let i=t;Array.isArray(i)&&(i=i.map(r=>Sl(r))),s(e,["speakerVoiceConfigs"],i)}return e}function Al(n){const e={},t=o(n,["voiceConfig"]);t!=null&&s(e,["voiceConfig"],gt(t));const i=o(n,["multiSpeakerVoiceConfig"]);i!=null&&s(e,["multiSpeakerVoiceConfig"],_l(i));const r=o(n,["languageCode"]);return r!=null&&s(e,["languageCode"],r),e}function Ml(n){const e={},t=o(n,["includeThoughts"]);t!=null&&s(e,["includeThoughts"],t);const i=o(n,["thinkingBudget"]);return i!=null&&s(e,["thinkingBudget"],i),e}function Il(n,e,t){const i={},r=o(e,["systemInstruction"]);t!==void 0&&r!=null&&s(t,["systemInstruction"],le(U(r)));const l=o(e,["temperature"]);l!=null&&s(i,["temperature"],l);const a=o(e,["topP"]);a!=null&&s(i,["topP"],a);const f=o(e,["topK"]);f!=null&&s(i,["topK"],f);const c=o(e,["candidateCount"]);c!=null&&s(i,["candidateCount"],c);const u=o(e,["maxOutputTokens"]);u!=null&&s(i,["maxOutputTokens"],u);const d=o(e,["stopSequences"]);d!=null&&s(i,["stopSequences"],d);const p=o(e,["responseLogprobs"]);p!=null&&s(i,["responseLogprobs"],p);const m=o(e,["logprobs"]);m!=null&&s(i,["logprobs"],m);const g=o(e,["presencePenalty"]);g!=null&&s(i,["presencePenalty"],g);const h=o(e,["frequencyPenalty"]);h!=null&&s(i,["frequencyPenalty"],h);const T=o(e,["seed"]);T!=null&&s(i,["seed"],T);const y=o(e,["responseMimeType"]);y!=null&&s(i,["responseMimeType"],y);const S=o(e,["responseSchema"]);S!=null&&s(i,["responseSchema"],al(_e(S)));const v=o(e,["responseJsonSchema"]);if(v!=null&&s(i,["responseJsonSchema"],v),o(e,["routingConfig"])!==void 0)throw new Error("routingConfig parameter is not supported in Gemini API.");if(o(e,["modelSelectionConfig"])!==void 0)throw new Error("modelSelectionConfig parameter is not supported in Gemini API.");const E=o(e,["safetySettings"]);if(t!==void 0&&E!=null){let P=E;Array.isArray(P)&&(P=P.map(F=>ul(F))),s(t,["safetySettings"],P)}const A=o(e,["tools"]);if(t!==void 0&&A!=null){let P=z(A);Array.isArray(P)&&(P=P.map(F=>hl(K(F)))),s(t,["tools"],P)}const _=o(e,["toolConfig"]);if(t!==void 0&&_!=null&&s(t,["toolConfig"],vl(_)),o(e,["labels"])!==void 0)throw new Error("labels parameter is not supported in Gemini API.");const I=o(e,["cachedContent"]);t!==void 0&&I!=null&&s(t,["cachedContent"],V(n,I));const R=o(e,["responseModalities"]);R!=null&&s(i,["responseModalities"],R);const w=o(e,["mediaResolution"]);w!=null&&s(i,["mediaResolution"],w);const M=o(e,["speechConfig"]);if(M!=null&&s(i,["speechConfig"],Al(Ae(M))),o(e,["audioTimestamp"])!==void 0)throw new Error("audioTimestamp parameter is not supported in Gemini API.");const D=o(e,["thinkingConfig"]);return D!=null&&s(i,["thinkingConfig"],Ml(D)),i}function Ln(n,e){const t={},i=o(e,["model"]);i!=null&&s(t,["_url","model"],x(n,i));const r=o(e,["contents"]);if(r!=null){let a=k(r);Array.isArray(a)&&(a=a.map(f=>le(f))),s(t,["contents"],a)}const l=o(e,["config"]);return l!=null&&s(t,["generationConfig"],Il(n,l,t)),t}function Rl(n,e){const t={},i=o(n,["taskType"]);e!==void 0&&i!=null&&s(e,["requests[]","taskType"],i);const r=o(n,["title"]);e!==void 0&&r!=null&&s(e,["requests[]","title"],r);const l=o(n,["outputDimensionality"]);if(e!==void 0&&l!=null&&s(e,["requests[]","outputDimensionality"],l),o(n,["mimeType"])!==void 0)throw new Error("mimeType parameter is not supported in Gemini API.");if(o(n,["autoTruncate"])!==void 0)throw new Error("autoTruncate parameter is not supported in Gemini API.");return t}function Pl(n,e){const t={},i=o(e,["model"]);i!=null&&s(t,["_url","model"],x(n,i));const r=o(e,["contents"]);r!=null&&s(t,["requests[]","content"],On(n,r));const l=o(e,["config"]);l!=null&&s(t,["config"],Rl(l,t));const a=o(e,["model"]);return a!==void 0&&s(t,["requests[]","model"],x(n,a)),t}function xl(n,e){const t={};if(o(n,["outputGcsUri"])!==void 0)throw new Error("outputGcsUri parameter is not supported in Gemini API.");if(o(n,["negativePrompt"])!==void 0)throw new Error("negativePrompt parameter is not supported in Gemini API.");const i=o(n,["numberOfImages"]);e!==void 0&&i!=null&&s(e,["parameters","sampleCount"],i);const r=o(n,["aspectRatio"]);e!==void 0&&r!=null&&s(e,["parameters","aspectRatio"],r);const l=o(n,["guidanceScale"]);if(e!==void 0&&l!=null&&s(e,["parameters","guidanceScale"],l),o(n,["seed"])!==void 0)throw new Error("seed parameter is not supported in Gemini API.");const a=o(n,["safetyFilterLevel"]);e!==void 0&&a!=null&&s(e,["parameters","safetySetting"],a);const f=o(n,["personGeneration"]);e!==void 0&&f!=null&&s(e,["parameters","personGeneration"],f);const c=o(n,["includeSafetyAttributes"]);e!==void 0&&c!=null&&s(e,["parameters","includeSafetyAttributes"],c);const u=o(n,["includeRaiReason"]);e!==void 0&&u!=null&&s(e,["parameters","includeRaiReason"],u);const d=o(n,["language"]);e!==void 0&&d!=null&&s(e,["parameters","language"],d);const p=o(n,["outputMimeType"]);e!==void 0&&p!=null&&s(e,["parameters","outputOptions","mimeType"],p);const m=o(n,["outputCompressionQuality"]);if(e!==void 0&&m!=null&&s(e,["parameters","outputOptions","compressionQuality"],m),o(n,["addWatermark"])!==void 0)throw new Error("addWatermark parameter is not supported in Gemini API.");if(o(n,["imageSize"])!==void 0)throw new Error("imageSize parameter is not supported in Gemini API.");if(o(n,["enhancePrompt"])!==void 0)throw new Error("enhancePrompt parameter is not supported in Gemini API.");return t}function Dl(n,e){const t={},i=o(e,["model"]);i!=null&&s(t,["_url","model"],x(n,i));const r=o(e,["prompt"]);r!=null&&s(t,["instances[0]","prompt"],r);const l=o(e,["config"]);return l!=null&&s(t,["config"],xl(l,t)),t}function Nl(n,e){const t={},i=o(e,["model"]);i!=null&&s(t,["_url","name"],x(n,i));const r=o(e,["config"]);return r!=null&&s(t,["config"],r),t}function wl(n,e,t){const i={},r=o(e,["pageSize"]);t!==void 0&&r!=null&&s(t,["_query","pageSize"],r);const l=o(e,["pageToken"]);t!==void 0&&l!=null&&s(t,["_query","pageToken"],l);const a=o(e,["filter"]);t!==void 0&&a!=null&&s(t,["_query","filter"],a);const f=o(e,["queryBase"]);return t!==void 0&&f!=null&&s(t,["_url","models_url"],nt(n,f)),i}function Ul(n,e){const t={},i=o(e,["config"]);return i!=null&&s(t,["config"],wl(n,i,t)),t}function kl(n,e){const t={},i=o(n,["displayName"]);e!==void 0&&i!=null&&s(e,["displayName"],i);const r=o(n,["description"]);e!==void 0&&r!=null&&s(e,["description"],r);const l=o(n,["defaultCheckpointId"]);return e!==void 0&&l!=null&&s(e,["defaultCheckpointId"],l),t}function Fl(n,e){const t={},i=o(e,["model"]);i!=null&&s(t,["_url","name"],x(n,i));const r=o(e,["config"]);return r!=null&&s(t,["config"],kl(r,t)),t}function Ll(n,e){const t={},i=o(e,["model"]);i!=null&&s(t,["_url","name"],x(n,i));const r=o(e,["config"]);return r!=null&&s(t,["config"],r),t}function Vl(n){const e={};if(o(n,["systemInstruction"])!==void 0)throw new Error("systemInstruction parameter is not supported in Gemini API.");if(o(n,["tools"])!==void 0)throw new Error("tools parameter is not supported in Gemini API.");if(o(n,["generationConfig"])!==void 0)throw new Error("generationConfig parameter is not supported in Gemini API.");return e}function Gl(n,e){const t={},i=o(e,["model"]);i!=null&&s(t,["_url","model"],x(n,i));const r=o(e,["contents"]);if(r!=null){let a=k(r);Array.isArray(a)&&(a=a.map(f=>le(f))),s(t,["contents"],a)}const l=o(e,["config"]);return l!=null&&s(t,["config"],Vl(l)),t}function ql(n){const e={};if(o(n,["gcsUri"])!==void 0)throw new Error("gcsUri parameter is not supported in Gemini API.");const t=o(n,["imageBytes"]);t!=null&&s(e,["bytesBase64Encoded"],B(t));const i=o(n,["mimeType"]);return i!=null&&s(e,["mimeType"],i),e}function Hl(n,e){const t={},i=o(n,["numberOfVideos"]);if(e!==void 0&&i!=null&&s(e,["parameters","sampleCount"],i),o(n,["outputGcsUri"])!==void 0)throw new Error("outputGcsUri parameter is not supported in Gemini API.");if(o(n,["fps"])!==void 0)throw new Error("fps parameter is not supported in Gemini API.");const r=o(n,["durationSeconds"]);if(e!==void 0&&r!=null&&s(e,["parameters","durationSeconds"],r),o(n,["seed"])!==void 0)throw new Error("seed parameter is not supported in Gemini API.");const l=o(n,["aspectRatio"]);if(e!==void 0&&l!=null&&s(e,["parameters","aspectRatio"],l),o(n,["resolution"])!==void 0)throw new Error("resolution parameter is not supported in Gemini API.");const a=o(n,["personGeneration"]);if(e!==void 0&&a!=null&&s(e,["parameters","personGeneration"],a),o(n,["pubsubTopic"])!==void 0)throw new Error("pubsubTopic parameter is not supported in Gemini API.");const f=o(n,["negativePrompt"]);e!==void 0&&f!=null&&s(e,["parameters","negativePrompt"],f);const c=o(n,["enhancePrompt"]);if(e!==void 0&&c!=null&&s(e,["parameters","enhancePrompt"],c),o(n,["generateAudio"])!==void 0)throw new Error("generateAudio parameter is not supported in Gemini API.");if(o(n,["lastFrame"])!==void 0)throw new Error("lastFrame parameter is not supported in Gemini API.");if(o(n,["compressionQuality"])!==void 0)throw new Error("compressionQuality parameter is not supported in Gemini API.");return t}function Bl(n,e){const t={},i=o(e,["model"]);i!=null&&s(t,["_url","model"],x(n,i));const r=o(e,["prompt"]);r!=null&&s(t,["instances[0]","prompt"],r);const l=o(e,["image"]);if(l!=null&&s(t,["instances[0]","image"],ql(l)),o(e,["video"])!==void 0)throw new Error("video parameter is not supported in Gemini API.");const a=o(e,["config"]);return a!=null&&s(t,["config"],Hl(a,t)),t}function Jl(n){const e={},t=o(n,["fps"]);t!=null&&s(e,["fps"],t);const i=o(n,["endOffset"]);i!=null&&s(e,["endOffset"],i);const r=o(n,["startOffset"]);return r!=null&&s(e,["startOffset"],r),e}function $l(n){const e={},t=o(n,["displayName"]);t!=null&&s(e,["displayName"],t);const i=o(n,["data"]);i!=null&&s(e,["data"],i);const r=o(n,["mimeType"]);return r!=null&&s(e,["mimeType"],r),e}function Wl(n){const e={},t=o(n,["displayName"]);t!=null&&s(e,["displayName"],t);const i=o(n,["fileUri"]);i!=null&&s(e,["fileUri"],i);const r=o(n,["mimeType"]);return r!=null&&s(e,["mimeType"],r),e}function Yl(n){const e={},t=o(n,["videoMetadata"]);t!=null&&s(e,["videoMetadata"],Jl(t));const i=o(n,["thought"]);i!=null&&s(e,["thought"],i);const r=o(n,["inlineData"]);r!=null&&s(e,["inlineData"],$l(r));const l=o(n,["fileData"]);l!=null&&s(e,["fileData"],Wl(l));const a=o(n,["thoughtSignature"]);a!=null&&s(e,["thoughtSignature"],a);const f=o(n,["codeExecutionResult"]);f!=null&&s(e,["codeExecutionResult"],f);const c=o(n,["executableCode"]);c!=null&&s(e,["executableCode"],c);const u=o(n,["functionCall"]);u!=null&&s(e,["functionCall"],u);const d=o(n,["functionResponse"]);d!=null&&s(e,["functionResponse"],d);const p=o(n,["text"]);return p!=null&&s(e,["text"],p),e}function Q(n){const e={},t=o(n,["parts"]);if(t!=null){let r=t;Array.isArray(r)&&(r=r.map(l=>Yl(l))),s(e,["parts"],r)}const i=o(n,["role"]);return i!=null&&s(e,["role"],i),e}function Kl(n){const e={},t=o(n,["anyOf"]);t!=null&&s(e,["anyOf"],t);const i=o(n,["default"]);i!=null&&s(e,["default"],i);const r=o(n,["description"]);r!=null&&s(e,["description"],r);const l=o(n,["enum"]);l!=null&&s(e,["enum"],l);const a=o(n,["example"]);a!=null&&s(e,["example"],a);const f=o(n,["format"]);f!=null&&s(e,["format"],f);const c=o(n,["items"]);c!=null&&s(e,["items"],c);const u=o(n,["maxItems"]);u!=null&&s(e,["maxItems"],u);const d=o(n,["maxLength"]);d!=null&&s(e,["maxLength"],d);const p=o(n,["maxProperties"]);p!=null&&s(e,["maxProperties"],p);const m=o(n,["maximum"]);m!=null&&s(e,["maximum"],m);const g=o(n,["minItems"]);g!=null&&s(e,["minItems"],g);const h=o(n,["minLength"]);h!=null&&s(e,["minLength"],h);const T=o(n,["minProperties"]);T!=null&&s(e,["minProperties"],T);const y=o(n,["minimum"]);y!=null&&s(e,["minimum"],y);const S=o(n,["nullable"]);S!=null&&s(e,["nullable"],S);const v=o(n,["pattern"]);v!=null&&s(e,["pattern"],v);const E=o(n,["properties"]);E!=null&&s(e,["properties"],E);const A=o(n,["propertyOrdering"]);A!=null&&s(e,["propertyOrdering"],A);const _=o(n,["required"]);_!=null&&s(e,["required"],_);const I=o(n,["title"]);I!=null&&s(e,["title"],I);const R=o(n,["type"]);return R!=null&&s(e,["type"],R),e}function zl(n){const e={},t=o(n,["featureSelectionPreference"]);return t!=null&&s(e,["featureSelectionPreference"],t),e}function Xl(n){const e={},t=o(n,["method"]);t!=null&&s(e,["method"],t);const i=o(n,["category"]);i!=null&&s(e,["category"],i);const r=o(n,["threshold"]);return r!=null&&s(e,["threshold"],r),e}function Ql(n){const e={};if(o(n,["behavior"])!==void 0)throw new Error("behavior parameter is not supported in Vertex AI.");const t=o(n,["description"]);t!=null&&s(e,["description"],t);const i=o(n,["name"]);i!=null&&s(e,["name"],i);const r=o(n,["parameters"]);r!=null&&s(e,["parameters"],r);const l=o(n,["parametersJsonSchema"]);l!=null&&s(e,["parametersJsonSchema"],l);const a=o(n,["response"]);a!=null&&s(e,["response"],a);const f=o(n,["responseJsonSchema"]);return f!=null&&s(e,["responseJsonSchema"],f),e}function Zl(n){const e={},t=o(n,["startTime"]);t!=null&&s(e,["startTime"],t);const i=o(n,["endTime"]);return i!=null&&s(e,["endTime"],i),e}function bl(n){const e={},t=o(n,["timeRangeFilter"]);return t!=null&&s(e,["timeRangeFilter"],Zl(t)),e}function Ol(n){const e={},t=o(n,["mode"]);t!=null&&s(e,["mode"],t);const i=o(n,["dynamicThreshold"]);return i!=null&&s(e,["dynamicThreshold"],i),e}function jl(n){const e={},t=o(n,["dynamicRetrievalConfig"]);return t!=null&&s(e,["dynamicRetrievalConfig"],Ol(t)),e}function ea(){return{}}function na(n){const e={},t=o(n,["apiKeyString"]);return t!=null&&s(e,["apiKeyString"],t),e}function ta(n){const e={},t=o(n,["apiKeyConfig"]);t!=null&&s(e,["apiKeyConfig"],na(t));const i=o(n,["authType"]);i!=null&&s(e,["authType"],i);const r=o(n,["googleServiceAccountConfig"]);r!=null&&s(e,["googleServiceAccountConfig"],r);const l=o(n,["httpBasicAuthConfig"]);l!=null&&s(e,["httpBasicAuthConfig"],l);const a=o(n,["oauthConfig"]);a!=null&&s(e,["oauthConfig"],a);const f=o(n,["oidcConfig"]);return f!=null&&s(e,["oidcConfig"],f),e}function oa(n){const e={},t=o(n,["authConfig"]);return t!=null&&s(e,["authConfig"],ta(t)),e}function ia(){return{}}function ht(n){const e={},t=o(n,["functionDeclarations"]);if(t!=null){let p=t;Array.isArray(p)&&(p=p.map(m=>Ql(m))),s(e,["functionDeclarations"],p)}const i=o(n,["retrieval"]);i!=null&&s(e,["retrieval"],i);const r=o(n,["googleSearch"]);r!=null&&s(e,["googleSearch"],bl(r));const l=o(n,["googleSearchRetrieval"]);l!=null&&s(e,["googleSearchRetrieval"],jl(l)),o(n,["enterpriseWebSearch"])!=null&&s(e,["enterpriseWebSearch"],ea());const f=o(n,["googleMaps"]);f!=null&&s(e,["googleMaps"],oa(f)),o(n,["urlContext"])!=null&&s(e,["urlContext"],ia());const u=o(n,["codeExecution"]);u!=null&&s(e,["codeExecution"],u);const d=o(n,["computerUse"]);return d!=null&&s(e,["computerUse"],d),e}function sa(n){const e={},t=o(n,["mode"]);t!=null&&s(e,["mode"],t);const i=o(n,["allowedFunctionNames"]);return i!=null&&s(e,["allowedFunctionNames"],i),e}function ra(n){const e={},t=o(n,["latitude"]);t!=null&&s(e,["latitude"],t);const i=o(n,["longitude"]);return i!=null&&s(e,["longitude"],i),e}function la(n){const e={},t=o(n,["latLng"]);t!=null&&s(e,["latLng"],ra(t));const i=o(n,["languageCode"]);return i!=null&&s(e,["languageCode"],i),e}function aa(n){const e={},t=o(n,["functionCallingConfig"]);t!=null&&s(e,["functionCallingConfig"],sa(t));const i=o(n,["retrievalConfig"]);return i!=null&&s(e,["retrievalConfig"],la(i)),e}function ua(n){const e={},t=o(n,["voiceName"]);return t!=null&&s(e,["voiceName"],t),e}function fa(n){const e={},t=o(n,["prebuiltVoiceConfig"]);return t!=null&&s(e,["prebuiltVoiceConfig"],ua(t)),e}function ca(n){const e={},t=o(n,["voiceConfig"]);if(t!=null&&s(e,["voiceConfig"],fa(t)),o(n,["multiSpeakerVoiceConfig"])!==void 0)throw new Error("multiSpeakerVoiceConfig parameter is not supported in Vertex AI.");const i=o(n,["languageCode"]);return i!=null&&s(e,["languageCode"],i),e}function da(n){const e={},t=o(n,["includeThoughts"]);t!=null&&s(e,["includeThoughts"],t);const i=o(n,["thinkingBudget"]);return i!=null&&s(e,["thinkingBudget"],i),e}function pa(n,e,t){const i={},r=o(e,["systemInstruction"]);t!==void 0&&r!=null&&s(t,["systemInstruction"],Q(U(r)));const l=o(e,["temperature"]);l!=null&&s(i,["temperature"],l);const a=o(e,["topP"]);a!=null&&s(i,["topP"],a);const f=o(e,["topK"]);f!=null&&s(i,["topK"],f);const c=o(e,["candidateCount"]);c!=null&&s(i,["candidateCount"],c);const u=o(e,["maxOutputTokens"]);u!=null&&s(i,["maxOutputTokens"],u);const d=o(e,["stopSequences"]);d!=null&&s(i,["stopSequences"],d);const p=o(e,["responseLogprobs"]);p!=null&&s(i,["responseLogprobs"],p);const m=o(e,["logprobs"]);m!=null&&s(i,["logprobs"],m);const g=o(e,["presencePenalty"]);g!=null&&s(i,["presencePenalty"],g);const h=o(e,["frequencyPenalty"]);h!=null&&s(i,["frequencyPenalty"],h);const T=o(e,["seed"]);T!=null&&s(i,["seed"],T);const y=o(e,["responseMimeType"]);y!=null&&s(i,["responseMimeType"],y);const S=o(e,["responseSchema"]);S!=null&&s(i,["responseSchema"],Kl(_e(S)));const v=o(e,["responseJsonSchema"]);v!=null&&s(i,["responseJsonSchema"],v);const E=o(e,["routingConfig"]);E!=null&&s(i,["routingConfig"],E);const A=o(e,["modelSelectionConfig"]);A!=null&&s(i,["modelConfig"],zl(A));const _=o(e,["safetySettings"]);if(t!==void 0&&_!=null){let L=_;Array.isArray(L)&&(L=L.map(ue=>Xl(ue))),s(t,["safetySettings"],L)}const I=o(e,["tools"]);if(t!==void 0&&I!=null){let L=z(I);Array.isArray(L)&&(L=L.map(ue=>ht(K(ue)))),s(t,["tools"],L)}const R=o(e,["toolConfig"]);t!==void 0&&R!=null&&s(t,["toolConfig"],aa(R));const w=o(e,["labels"]);t!==void 0&&w!=null&&s(t,["labels"],w);const M=o(e,["cachedContent"]);t!==void 0&&M!=null&&s(t,["cachedContent"],V(n,M));const D=o(e,["responseModalities"]);D!=null&&s(i,["responseModalities"],D);const P=o(e,["mediaResolution"]);P!=null&&s(i,["mediaResolution"],P);const F=o(e,["speechConfig"]);F!=null&&s(i,["speechConfig"],ca(Ae(F)));const Pe=o(e,["audioTimestamp"]);Pe!=null&&s(i,["audioTimestamp"],Pe);const xe=o(e,["thinkingConfig"]);return xe!=null&&s(i,["thinkingConfig"],da(xe)),i}function Vn(n,e){const t={},i=o(e,["model"]);i!=null&&s(t,["_url","model"],x(n,i));const r=o(e,["contents"]);if(r!=null){let a=k(r);Array.isArray(a)&&(a=a.map(f=>Q(f))),s(t,["contents"],a)}const l=o(e,["config"]);return l!=null&&s(t,["generationConfig"],pa(n,l,t)),t}function ma(n,e){const t={},i=o(n,["taskType"]);e!==void 0&&i!=null&&s(e,["instances[]","task_type"],i);const r=o(n,["title"]);e!==void 0&&r!=null&&s(e,["instances[]","title"],r);const l=o(n,["outputDimensionality"]);e!==void 0&&l!=null&&s(e,["parameters","outputDimensionality"],l);const a=o(n,["mimeType"]);e!==void 0&&a!=null&&s(e,["instances[]","mimeType"],a);const f=o(n,["autoTruncate"]);return e!==void 0&&f!=null&&s(e,["parameters","autoTruncate"],f),t}function ga(n,e){const t={},i=o(e,["model"]);i!=null&&s(t,["_url","model"],x(n,i));const r=o(e,["contents"]);r!=null&&s(t,["instances[]","content"],On(n,r));const l=o(e,["config"]);return l!=null&&s(t,["config"],ma(l,t)),t}function ha(n,e){const t={},i=o(n,["outputGcsUri"]);e!==void 0&&i!=null&&s(e,["parameters","storageUri"],i);const r=o(n,["negativePrompt"]);e!==void 0&&r!=null&&s(e,["parameters","negativePrompt"],r);const l=o(n,["numberOfImages"]);e!==void 0&&l!=null&&s(e,["parameters","sampleCount"],l);const a=o(n,["aspectRatio"]);e!==void 0&&a!=null&&s(e,["parameters","aspectRatio"],a);const f=o(n,["guidanceScale"]);e!==void 0&&f!=null&&s(e,["parameters","guidanceScale"],f);const c=o(n,["seed"]);e!==void 0&&c!=null&&s(e,["parameters","seed"],c);const u=o(n,["safetyFilterLevel"]);e!==void 0&&u!=null&&s(e,["parameters","safetySetting"],u);const d=o(n,["personGeneration"]);e!==void 0&&d!=null&&s(e,["parameters","personGeneration"],d);const p=o(n,["includeSafetyAttributes"]);e!==void 0&&p!=null&&s(e,["parameters","includeSafetyAttributes"],p);const m=o(n,["includeRaiReason"]);e!==void 0&&m!=null&&s(e,["parameters","includeRaiReason"],m);const g=o(n,["language"]);e!==void 0&&g!=null&&s(e,["parameters","language"],g);const h=o(n,["outputMimeType"]);e!==void 0&&h!=null&&s(e,["parameters","outputOptions","mimeType"],h);const T=o(n,["outputCompressionQuality"]);e!==void 0&&T!=null&&s(e,["parameters","outputOptions","compressionQuality"],T);const y=o(n,["addWatermark"]);e!==void 0&&y!=null&&s(e,["parameters","addWatermark"],y);const S=o(n,["imageSize"]);e!==void 0&&S!=null&&s(e,["parameters","sampleImageSize"],S);const v=o(n,["enhancePrompt"]);return e!==void 0&&v!=null&&s(e,["parameters","enhancePrompt"],v),t}function Ta(n,e){const t={},i=o(e,["model"]);i!=null&&s(t,["_url","model"],x(n,i));const r=o(e,["prompt"]);r!=null&&s(t,["instances[0]","prompt"],r);const l=o(e,["config"]);return l!=null&&s(t,["config"],ha(l,t)),t}function ae(n){const e={},t=o(n,["gcsUri"]);t!=null&&s(e,["gcsUri"],t);const i=o(n,["imageBytes"]);i!=null&&s(e,["bytesBase64Encoded"],B(i));const r=o(n,["mimeType"]);return r!=null&&s(e,["mimeType"],r),e}function ya(n){const e={},t=o(n,["maskMode"]);t!=null&&s(e,["maskMode"],t);const i=o(n,["segmentationClasses"]);i!=null&&s(e,["maskClasses"],i);const r=o(n,["maskDilation"]);return r!=null&&s(e,["dilation"],r),e}function Ca(n){const e={},t=o(n,["controlType"]);t!=null&&s(e,["controlType"],t);const i=o(n,["enableControlImageComputation"]);return i!=null&&s(e,["computeControl"],i),e}function va(n){const e={},t=o(n,["styleDescription"]);return t!=null&&s(e,["styleDescription"],t),e}function Ea(n){const e={},t=o(n,["subjectType"]);t!=null&&s(e,["subjectType"],t);const i=o(n,["subjectDescription"]);return i!=null&&s(e,["subjectDescription"],i),e}function Sa(n){const e={},t=o(n,["referenceImage"]);t!=null&&s(e,["referenceImage"],ae(t));const i=o(n,["referenceId"]);i!=null&&s(e,["referenceId"],i);const r=o(n,["referenceType"]);r!=null&&s(e,["referenceType"],r);const l=o(n,["maskImageConfig"]);l!=null&&s(e,["maskImageConfig"],ya(l));const a=o(n,["controlImageConfig"]);a!=null&&s(e,["controlImageConfig"],Ca(a));const f=o(n,["styleImageConfig"]);f!=null&&s(e,["styleImageConfig"],va(f));const c=o(n,["subjectImageConfig"]);return c!=null&&s(e,["subjectImageConfig"],Ea(c)),e}function _a(n,e){const t={},i=o(n,["outputGcsUri"]);e!==void 0&&i!=null&&s(e,["parameters","storageUri"],i);const r=o(n,["negativePrompt"]);e!==void 0&&r!=null&&s(e,["parameters","negativePrompt"],r);const l=o(n,["numberOfImages"]);e!==void 0&&l!=null&&s(e,["parameters","sampleCount"],l);const a=o(n,["aspectRatio"]);e!==void 0&&a!=null&&s(e,["parameters","aspectRatio"],a);const f=o(n,["guidanceScale"]);e!==void 0&&f!=null&&s(e,["parameters","guidanceScale"],f);const c=o(n,["seed"]);e!==void 0&&c!=null&&s(e,["parameters","seed"],c);const u=o(n,["safetyFilterLevel"]);e!==void 0&&u!=null&&s(e,["parameters","safetySetting"],u);const d=o(n,["personGeneration"]);e!==void 0&&d!=null&&s(e,["parameters","personGeneration"],d);const p=o(n,["includeSafetyAttributes"]);e!==void 0&&p!=null&&s(e,["parameters","includeSafetyAttributes"],p);const m=o(n,["includeRaiReason"]);e!==void 0&&m!=null&&s(e,["parameters","includeRaiReason"],m);const g=o(n,["language"]);e!==void 0&&g!=null&&s(e,["parameters","language"],g);const h=o(n,["outputMimeType"]);e!==void 0&&h!=null&&s(e,["parameters","outputOptions","mimeType"],h);const T=o(n,["outputCompressionQuality"]);e!==void 0&&T!=null&&s(e,["parameters","outputOptions","compressionQuality"],T);const y=o(n,["addWatermark"]);e!==void 0&&y!=null&&s(e,["parameters","addWatermark"],y);const S=o(n,["editMode"]);e!==void 0&&S!=null&&s(e,["parameters","editMode"],S);const v=o(n,["baseSteps"]);return e!==void 0&&v!=null&&s(e,["parameters","editConfig","baseSteps"],v),t}function Aa(n,e){const t={},i=o(e,["model"]);i!=null&&s(t,["_url","model"],x(n,i));const r=o(e,["prompt"]);r!=null&&s(t,["instances[0]","prompt"],r);const l=o(e,["referenceImages"]);if(l!=null){let f=l;Array.isArray(f)&&(f=f.map(c=>Sa(c))),s(t,["instances[0]","referenceImages"],f)}const a=o(e,["config"]);return a!=null&&s(t,["config"],_a(a,t)),t}function Ma(n,e){const t={},i=o(n,["includeRaiReason"]);e!==void 0&&i!=null&&s(e,["parameters","includeRaiReason"],i);const r=o(n,["outputMimeType"]);e!==void 0&&r!=null&&s(e,["parameters","outputOptions","mimeType"],r);const l=o(n,["outputCompressionQuality"]);e!==void 0&&l!=null&&s(e,["parameters","outputOptions","compressionQuality"],l);const a=o(n,["enhanceInputImage"]);e!==void 0&&a!=null&&s(e,["parameters","upscaleConfig","enhanceInputImage"],a);const f=o(n,["imagePreservationFactor"]);e!==void 0&&f!=null&&s(e,["parameters","upscaleConfig","imagePreservationFactor"],f);const c=o(n,["numberOfImages"]);e!==void 0&&c!=null&&s(e,["parameters","sampleCount"],c);const u=o(n,["mode"]);return e!==void 0&&u!=null&&s(e,["parameters","mode"],u),t}function Ia(n,e){const t={},i=o(e,["model"]);i!=null&&s(t,["_url","model"],x(n,i));const r=o(e,["image"]);r!=null&&s(t,["instances[0]","image"],ae(r));const l=o(e,["upscaleFactor"]);l!=null&&s(t,["parameters","upscaleConfig","upscaleFactor"],l);const a=o(e,["config"]);return a!=null&&s(t,["config"],Ma(a,t)),t}function Ra(n,e){const t={},i=o(e,["model"]);i!=null&&s(t,["_url","name"],x(n,i));const r=o(e,["config"]);return r!=null&&s(t,["config"],r),t}function Pa(n,e,t){const i={},r=o(e,["pageSize"]);t!==void 0&&r!=null&&s(t,["_query","pageSize"],r);const l=o(e,["pageToken"]);t!==void 0&&l!=null&&s(t,["_query","pageToken"],l);const a=o(e,["filter"]);t!==void 0&&a!=null&&s(t,["_query","filter"],a);const f=o(e,["queryBase"]);return t!==void 0&&f!=null&&s(t,["_url","models_url"],nt(n,f)),i}function xa(n,e){const t={},i=o(e,["config"]);return i!=null&&s(t,["config"],Pa(n,i,t)),t}function Da(n,e){const t={},i=o(n,["displayName"]);e!==void 0&&i!=null&&s(e,["displayName"],i);const r=o(n,["description"]);e!==void 0&&r!=null&&s(e,["description"],r);const l=o(n,["defaultCheckpointId"]);return e!==void 0&&l!=null&&s(e,["defaultCheckpointId"],l),t}function Na(n,e){const t={},i=o(e,["model"]);i!=null&&s(t,["_url","model"],x(n,i));const r=o(e,["config"]);return r!=null&&s(t,["config"],Da(r,t)),t}function wa(n,e){const t={},i=o(e,["model"]);i!=null&&s(t,["_url","name"],x(n,i));const r=o(e,["config"]);return r!=null&&s(t,["config"],r),t}function Ua(n,e){const t={},i=o(n,["systemInstruction"]);e!==void 0&&i!=null&&s(e,["systemInstruction"],Q(U(i)));const r=o(n,["tools"]);if(e!==void 0&&r!=null){let a=r;Array.isArray(a)&&(a=a.map(f=>ht(f))),s(e,["tools"],a)}const l=o(n,["generationConfig"]);return e!==void 0&&l!=null&&s(e,["generationConfig"],l),t}function ka(n,e){const t={},i=o(e,["model"]);i!=null&&s(t,["_url","model"],x(n,i));const r=o(e,["contents"]);if(r!=null){let a=k(r);Array.isArray(a)&&(a=a.map(f=>Q(f))),s(t,["contents"],a)}const l=o(e,["config"]);return l!=null&&s(t,["config"],Ua(l,t)),t}function Fa(n,e){const t={},i=o(e,["model"]);i!=null&&s(t,["_url","model"],x(n,i));const r=o(e,["contents"]);if(r!=null){let a=k(r);Array.isArray(a)&&(a=a.map(f=>Q(f))),s(t,["contents"],a)}const l=o(e,["config"]);return l!=null&&s(t,["config"],l),t}function La(n){const e={},t=o(n,["uri"]);t!=null&&s(e,["gcsUri"],t);const i=o(n,["videoBytes"]);i!=null&&s(e,["bytesBase64Encoded"],B(i));const r=o(n,["mimeType"]);return r!=null&&s(e,["mimeType"],r),e}function Va(n,e){const t={},i=o(n,["numberOfVideos"]);e!==void 0&&i!=null&&s(e,["parameters","sampleCount"],i);const r=o(n,["outputGcsUri"]);e!==void 0&&r!=null&&s(e,["parameters","storageUri"],r);const l=o(n,["fps"]);e!==void 0&&l!=null&&s(e,["parameters","fps"],l);const a=o(n,["durationSeconds"]);e!==void 0&&a!=null&&s(e,["parameters","durationSeconds"],a);const f=o(n,["seed"]);e!==void 0&&f!=null&&s(e,["parameters","seed"],f);const c=o(n,["aspectRatio"]);e!==void 0&&c!=null&&s(e,["parameters","aspectRatio"],c);const u=o(n,["resolution"]);e!==void 0&&u!=null&&s(e,["parameters","resolution"],u);const d=o(n,["personGeneration"]);e!==void 0&&d!=null&&s(e,["parameters","personGeneration"],d);const p=o(n,["pubsubTopic"]);e!==void 0&&p!=null&&s(e,["parameters","pubsubTopic"],p);const m=o(n,["negativePrompt"]);e!==void 0&&m!=null&&s(e,["parameters","negativePrompt"],m);const g=o(n,["enhancePrompt"]);e!==void 0&&g!=null&&s(e,["parameters","enhancePrompt"],g);const h=o(n,["generateAudio"]);e!==void 0&&h!=null&&s(e,["parameters","generateAudio"],h);const T=o(n,["lastFrame"]);e!==void 0&&T!=null&&s(e,["instances[0]","lastFrame"],ae(T));const y=o(n,["compressionQuality"]);return e!==void 0&&y!=null&&s(e,["parameters","compressionQuality"],y),t}function Ga(n,e){const t={},i=o(e,["model"]);i!=null&&s(t,["_url","model"],x(n,i));const r=o(e,["prompt"]);r!=null&&s(t,["instances[0]","prompt"],r);const l=o(e,["image"]);l!=null&&s(t,["instances[0]","image"],ae(l));const a=o(e,["video"]);a!=null&&s(t,["instances[0]","video"],La(a));const f=o(e,["config"]);return f!=null&&s(t,["config"],Va(f,t)),t}function qa(n){const e={},t=o(n,["fps"]);t!=null&&s(e,["fps"],t);const i=o(n,["endOffset"]);i!=null&&s(e,["endOffset"],i);const r=o(n,["startOffset"]);return r!=null&&s(e,["startOffset"],r),e}function Ha(n){const e={},t=o(n,["data"]);t!=null&&s(e,["data"],t);const i=o(n,["mimeType"]);return i!=null&&s(e,["mimeType"],i),e}function Ba(n){const e={},t=o(n,["fileUri"]);t!=null&&s(e,["fileUri"],t);const i=o(n,["mimeType"]);return i!=null&&s(e,["mimeType"],i),e}function Ja(n){const e={},t=o(n,["videoMetadata"]);t!=null&&s(e,["videoMetadata"],qa(t));const i=o(n,["thought"]);i!=null&&s(e,["thought"],i);const r=o(n,["inlineData"]);r!=null&&s(e,["inlineData"],Ha(r));const l=o(n,["fileData"]);l!=null&&s(e,["fileData"],Ba(l));const a=o(n,["thoughtSignature"]);a!=null&&s(e,["thoughtSignature"],a);const f=o(n,["codeExecutionResult"]);f!=null&&s(e,["codeExecutionResult"],f);const c=o(n,["executableCode"]);c!=null&&s(e,["executableCode"],c);const u=o(n,["functionCall"]);u!=null&&s(e,["functionCall"],u);const d=o(n,["functionResponse"]);d!=null&&s(e,["functionResponse"],d);const p=o(n,["text"]);return p!=null&&s(e,["text"],p),e}function $a(n){const e={},t=o(n,["parts"]);if(t!=null){let r=t;Array.isArray(r)&&(r=r.map(l=>Ja(l))),s(e,["parts"],r)}const i=o(n,["role"]);return i!=null&&s(e,["role"],i),e}function Wa(n){const e={},t=o(n,["citationSources"]);return t!=null&&s(e,["citations"],t),e}function Ya(n){const e={},t=o(n,["retrievedUrl"]);t!=null&&s(e,["retrievedUrl"],t);const i=o(n,["urlRetrievalStatus"]);return i!=null&&s(e,["urlRetrievalStatus"],i),e}function Ka(n){const e={},t=o(n,["urlMetadata"]);if(t!=null){let i=t;Array.isArray(i)&&(i=i.map(r=>Ya(r))),s(e,["urlMetadata"],i)}return e}function za(n){const e={},t=o(n,["content"]);t!=null&&s(e,["content"],$a(t));const i=o(n,["citationMetadata"]);i!=null&&s(e,["citationMetadata"],Wa(i));const r=o(n,["tokenCount"]);r!=null&&s(e,["tokenCount"],r);const l=o(n,["finishReason"]);l!=null&&s(e,["finishReason"],l);const a=o(n,["urlContextMetadata"]);a!=null&&s(e,["urlContextMetadata"],Ka(a));const f=o(n,["avgLogprobs"]);f!=null&&s(e,["avgLogprobs"],f);const c=o(n,["groundingMetadata"]);c!=null&&s(e,["groundingMetadata"],c);const u=o(n,["index"]);u!=null&&s(e,["index"],u);const d=o(n,["logprobsResult"]);d!=null&&s(e,["logprobsResult"],d);const p=o(n,["safetyRatings"]);return p!=null&&s(e,["safetyRatings"],p),e}function Gn(n){const e={},t=o(n,["sdkHttpResponse"]);t!=null&&s(e,["sdkHttpResponse"],t);const i=o(n,["candidates"]);if(i!=null){let f=i;Array.isArray(f)&&(f=f.map(c=>za(c))),s(e,["candidates"],f)}const r=o(n,["modelVersion"]);r!=null&&s(e,["modelVersion"],r);const l=o(n,["promptFeedback"]);l!=null&&s(e,["promptFeedback"],l);const a=o(n,["usageMetadata"]);return a!=null&&s(e,["usageMetadata"],a),e}function Xa(n){const e={},t=o(n,["values"]);return t!=null&&s(e,["values"],t),e}function Qa(){return{}}function Za(n){const e={},t=o(n,["sdkHttpResponse"]);t!=null&&s(e,["sdkHttpResponse"],t);const i=o(n,["embeddings"]);if(i!=null){let l=i;Array.isArray(l)&&(l=l.map(a=>Xa(a))),s(e,["embeddings"],l)}return o(n,["metadata"])!=null&&s(e,["metadata"],Qa()),e}function ba(n){const e={},t=o(n,["bytesBase64Encoded"]);t!=null&&s(e,["imageBytes"],B(t));const i=o(n,["mimeType"]);return i!=null&&s(e,["mimeType"],i),e}function Tt(n){const e={},t=o(n,["safetyAttributes","categories"]);t!=null&&s(e,["categories"],t);const i=o(n,["safetyAttributes","scores"]);i!=null&&s(e,["scores"],i);const r=o(n,["contentType"]);return r!=null&&s(e,["contentType"],r),e}function Oa(n){const e={},t=o(n,["_self"]);t!=null&&s(e,["image"],ba(t));const i=o(n,["raiFilteredReason"]);i!=null&&s(e,["raiFilteredReason"],i);const r=o(n,["_self"]);return r!=null&&s(e,["safetyAttributes"],Tt(r)),e}function ja(n){const e={},t=o(n,["sdkHttpResponse"]);t!=null&&s(e,["sdkHttpResponse"],t);const i=o(n,["predictions"]);if(i!=null){let l=i;Array.isArray(l)&&(l=l.map(a=>Oa(a))),s(e,["generatedImages"],l)}const r=o(n,["positivePromptSafetyAttributes"]);return r!=null&&s(e,["positivePromptSafetyAttributes"],Tt(r)),e}function eu(n){const e={},t=o(n,["baseModel"]);t!=null&&s(e,["baseModel"],t);const i=o(n,["createTime"]);i!=null&&s(e,["createTime"],i);const r=o(n,["updateTime"]);return r!=null&&s(e,["updateTime"],r),e}function Ce(n){const e={},t=o(n,["name"]);t!=null&&s(e,["name"],t);const i=o(n,["displayName"]);i!=null&&s(e,["displayName"],i);const r=o(n,["description"]);r!=null&&s(e,["description"],r);const l=o(n,["version"]);l!=null&&s(e,["version"],l);const a=o(n,["_self"]);a!=null&&s(e,["tunedModelInfo"],eu(a));const f=o(n,["inputTokenLimit"]);f!=null&&s(e,["inputTokenLimit"],f);const c=o(n,["outputTokenLimit"]);c!=null&&s(e,["outputTokenLimit"],c);const u=o(n,["supportedGenerationMethods"]);return u!=null&&s(e,["supportedActions"],u),e}function nu(n){const e={},t=o(n,["sdkHttpResponse"]);t!=null&&s(e,["sdkHttpResponse"],t);const i=o(n,["nextPageToken"]);i!=null&&s(e,["nextPageToken"],i);const r=o(n,["_self"]);if(r!=null){let l=tt(r);Array.isArray(l)&&(l=l.map(a=>Ce(a))),s(e,["models"],l)}return e}function tu(){return{}}function ou(n){const e={},t=o(n,["sdkHttpResponse"]);t!=null&&s(e,["sdkHttpResponse"],t);const i=o(n,["totalTokens"]);i!=null&&s(e,["totalTokens"],i);const r=o(n,["cachedContentTokenCount"]);return r!=null&&s(e,["cachedContentTokenCount"],r),e}function iu(n){const e={},t=o(n,["video","uri"]);t!=null&&s(e,["uri"],t);const i=o(n,["video","encodedVideo"]);i!=null&&s(e,["videoBytes"],B(i));const r=o(n,["encoding"]);return r!=null&&s(e,["mimeType"],r),e}function su(n){const e={},t=o(n,["_self"]);return t!=null&&s(e,["video"],iu(t)),e}function ru(n){const e={},t=o(n,["generatedSamples"]);if(t!=null){let l=t;Array.isArray(l)&&(l=l.map(a=>su(a))),s(e,["generatedVideos"],l)}const i=o(n,["raiMediaFilteredCount"]);i!=null&&s(e,["raiMediaFilteredCount"],i);const r=o(n,["raiMediaFilteredReasons"]);return r!=null&&s(e,["raiMediaFilteredReasons"],r),e}function lu(n){const e={},t=o(n,["name"]);t!=null&&s(e,["name"],t);const i=o(n,["metadata"]);i!=null&&s(e,["metadata"],i);const r=o(n,["done"]);r!=null&&s(e,["done"],r);const l=o(n,["error"]);l!=null&&s(e,["error"],l);const a=o(n,["response","generateVideoResponse"]);return a!=null&&s(e,["response"],ru(a)),e}function au(n){const e={},t=o(n,["fps"]);t!=null&&s(e,["fps"],t);const i=o(n,["endOffset"]);i!=null&&s(e,["endOffset"],i);const r=o(n,["startOffset"]);return r!=null&&s(e,["startOffset"],r),e}function uu(n){const e={},t=o(n,["displayName"]);t!=null&&s(e,["displayName"],t);const i=o(n,["data"]);i!=null&&s(e,["data"],i);const r=o(n,["mimeType"]);return r!=null&&s(e,["mimeType"],r),e}function fu(n){const e={},t=o(n,["displayName"]);t!=null&&s(e,["displayName"],t);const i=o(n,["fileUri"]);i!=null&&s(e,["fileUri"],i);const r=o(n,["mimeType"]);return r!=null&&s(e,["mimeType"],r),e}function cu(n){const e={},t=o(n,["videoMetadata"]);t!=null&&s(e,["videoMetadata"],au(t));const i=o(n,["thought"]);i!=null&&s(e,["thought"],i);const r=o(n,["inlineData"]);r!=null&&s(e,["inlineData"],uu(r));const l=o(n,["fileData"]);l!=null&&s(e,["fileData"],fu(l));const a=o(n,["thoughtSignature"]);a!=null&&s(e,["thoughtSignature"],a);const f=o(n,["codeExecutionResult"]);f!=null&&s(e,["codeExecutionResult"],f);const c=o(n,["executableCode"]);c!=null&&s(e,["executableCode"],c);const u=o(n,["functionCall"]);u!=null&&s(e,["functionCall"],u);const d=o(n,["functionResponse"]);d!=null&&s(e,["functionResponse"],d);const p=o(n,["text"]);return p!=null&&s(e,["text"],p),e}function du(n){const e={},t=o(n,["parts"]);if(t!=null){let r=t;Array.isArray(r)&&(r=r.map(l=>cu(l))),s(e,["parts"],r)}const i=o(n,["role"]);return i!=null&&s(e,["role"],i),e}function pu(n){const e={},t=o(n,["citations"]);return t!=null&&s(e,["citations"],t),e}function mu(n){const e={},t=o(n,["retrievedUrl"]);t!=null&&s(e,["retrievedUrl"],t);const i=o(n,["urlRetrievalStatus"]);return i!=null&&s(e,["urlRetrievalStatus"],i),e}function gu(n){const e={},t=o(n,["urlMetadata"]);if(t!=null){let i=t;Array.isArray(i)&&(i=i.map(r=>mu(r))),s(e,["urlMetadata"],i)}return e}function hu(n){const e={},t=o(n,["content"]);t!=null&&s(e,["content"],du(t));const i=o(n,["citationMetadata"]);i!=null&&s(e,["citationMetadata"],pu(i));const r=o(n,["finishMessage"]);r!=null&&s(e,["finishMessage"],r);const l=o(n,["finishReason"]);l!=null&&s(e,["finishReason"],l);const a=o(n,["urlContextMetadata"]);a!=null&&s(e,["urlContextMetadata"],gu(a));const f=o(n,["avgLogprobs"]);f!=null&&s(e,["avgLogprobs"],f);const c=o(n,["groundingMetadata"]);c!=null&&s(e,["groundingMetadata"],c);const u=o(n,["index"]);u!=null&&s(e,["index"],u);const d=o(n,["logprobsResult"]);d!=null&&s(e,["logprobsResult"],d);const p=o(n,["safetyRatings"]);return p!=null&&s(e,["safetyRatings"],p),e}function qn(n){const e={},t=o(n,["sdkHttpResponse"]);t!=null&&s(e,["sdkHttpResponse"],t);const i=o(n,["candidates"]);if(i!=null){let u=i;Array.isArray(u)&&(u=u.map(d=>hu(d))),s(e,["candidates"],u)}const r=o(n,["createTime"]);r!=null&&s(e,["createTime"],r);const l=o(n,["responseId"]);l!=null&&s(e,["responseId"],l);const a=o(n,["modelVersion"]);a!=null&&s(e,["modelVersion"],a);const f=o(n,["promptFeedback"]);f!=null&&s(e,["promptFeedback"],f);const c=o(n,["usageMetadata"]);return c!=null&&s(e,["usageMetadata"],c),e}function Tu(n){const e={},t=o(n,["truncated"]);t!=null&&s(e,["truncated"],t);const i=o(n,["token_count"]);return i!=null&&s(e,["tokenCount"],i),e}function yu(n){const e={},t=o(n,["values"]);t!=null&&s(e,["values"],t);const i=o(n,["statistics"]);return i!=null&&s(e,["statistics"],Tu(i)),e}function Cu(n){const e={},t=o(n,["billableCharacterCount"]);return t!=null&&s(e,["billableCharacterCount"],t),e}function vu(n){const e={},t=o(n,["sdkHttpResponse"]);t!=null&&s(e,["sdkHttpResponse"],t);const i=o(n,["predictions[]","embeddings"]);if(i!=null){let l=i;Array.isArray(l)&&(l=l.map(a=>yu(a))),s(e,["embeddings"],l)}const r=o(n,["metadata"]);return r!=null&&s(e,["metadata"],Cu(r)),e}function Eu(n){const e={},t=o(n,["gcsUri"]);t!=null&&s(e,["gcsUri"],t);const i=o(n,["bytesBase64Encoded"]);i!=null&&s(e,["imageBytes"],B(i));const r=o(n,["mimeType"]);return r!=null&&s(e,["mimeType"],r),e}function yt(n){const e={},t=o(n,["safetyAttributes","categories"]);t!=null&&s(e,["categories"],t);const i=o(n,["safetyAttributes","scores"]);i!=null&&s(e,["scores"],i);const r=o(n,["contentType"]);return r!=null&&s(e,["contentType"],r),e}function Ie(n){const e={},t=o(n,["_self"]);t!=null&&s(e,["image"],Eu(t));const i=o(n,["raiFilteredReason"]);i!=null&&s(e,["raiFilteredReason"],i);const r=o(n,["_self"]);r!=null&&s(e,["safetyAttributes"],yt(r));const l=o(n,["prompt"]);return l!=null&&s(e,["enhancedPrompt"],l),e}function Su(n){const e={},t=o(n,["sdkHttpResponse"]);t!=null&&s(e,["sdkHttpResponse"],t);const i=o(n,["predictions"]);if(i!=null){let l=i;Array.isArray(l)&&(l=l.map(a=>Ie(a))),s(e,["generatedImages"],l)}const r=o(n,["positivePromptSafetyAttributes"]);return r!=null&&s(e,["positivePromptSafetyAttributes"],yt(r)),e}function _u(n){const e={},t=o(n,["sdkHttpResponse"]);t!=null&&s(e,["sdkHttpResponse"],t);const i=o(n,["predictions"]);if(i!=null){let r=i;Array.isArray(r)&&(r=r.map(l=>Ie(l))),s(e,["generatedImages"],r)}return e}function Au(n){const e={},t=o(n,["sdkHttpResponse"]);t!=null&&s(e,["sdkHttpResponse"],t);const i=o(n,["predictions"]);if(i!=null){let r=i;Array.isArray(r)&&(r=r.map(l=>Ie(l))),s(e,["generatedImages"],r)}return e}function Mu(n){const e={},t=o(n,["endpoint"]);t!=null&&s(e,["name"],t);const i=o(n,["deployedModelId"]);return i!=null&&s(e,["deployedModelId"],i),e}function Iu(n){const e={},t=o(n,["labels","google-vertex-llm-tuning-base-model-id"]);t!=null&&s(e,["baseModel"],t);const i=o(n,["createTime"]);i!=null&&s(e,["createTime"],i);const r=o(n,["updateTime"]);return r!=null&&s(e,["updateTime"],r),e}function Ru(n){const e={},t=o(n,["checkpointId"]);t!=null&&s(e,["checkpointId"],t);const i=o(n,["epoch"]);i!=null&&s(e,["epoch"],i);const r=o(n,["step"]);return r!=null&&s(e,["step"],r),e}function ve(n){const e={},t=o(n,["name"]);t!=null&&s(e,["name"],t);const i=o(n,["displayName"]);i!=null&&s(e,["displayName"],i);const r=o(n,["description"]);r!=null&&s(e,["description"],r);const l=o(n,["versionId"]);l!=null&&s(e,["version"],l);const a=o(n,["deployedModels"]);if(a!=null){let p=a;Array.isArray(p)&&(p=p.map(m=>Mu(m))),s(e,["endpoints"],p)}const f=o(n,["labels"]);f!=null&&s(e,["labels"],f);const c=o(n,["_self"]);c!=null&&s(e,["tunedModelInfo"],Iu(c));const u=o(n,["defaultCheckpointId"]);u!=null&&s(e,["defaultCheckpointId"],u);const d=o(n,["checkpoints"]);if(d!=null){let p=d;Array.isArray(p)&&(p=p.map(m=>Ru(m))),s(e,["checkpoints"],p)}return e}function Pu(n){const e={},t=o(n,["sdkHttpResponse"]);t!=null&&s(e,["sdkHttpResponse"],t);const i=o(n,["nextPageToken"]);i!=null&&s(e,["nextPageToken"],i);const r=o(n,["_self"]);if(r!=null){let l=tt(r);Array.isArray(l)&&(l=l.map(a=>ve(a))),s(e,["models"],l)}return e}function xu(){return{}}function Du(n){const e={},t=o(n,["sdkHttpResponse"]);t!=null&&s(e,["sdkHttpResponse"],t);const i=o(n,["totalTokens"]);return i!=null&&s(e,["totalTokens"],i),e}function Nu(n){const e={},t=o(n,["sdkHttpResponse"]);t!=null&&s(e,["sdkHttpResponse"],t);const i=o(n,["tokensInfo"]);return i!=null&&s(e,["tokensInfo"],i),e}function wu(n){const e={},t=o(n,["gcsUri"]);t!=null&&s(e,["uri"],t);const i=o(n,["bytesBase64Encoded"]);i!=null&&s(e,["videoBytes"],B(i));const r=o(n,["mimeType"]);return r!=null&&s(e,["mimeType"],r),e}function Uu(n){const e={},t=o(n,["_self"]);return t!=null&&s(e,["video"],wu(t)),e}function ku(n){const e={},t=o(n,["videos"]);if(t!=null){let l=t;Array.isArray(l)&&(l=l.map(a=>Uu(a))),s(e,["generatedVideos"],l)}const i=o(n,["raiMediaFilteredCount"]);i!=null&&s(e,["raiMediaFilteredCount"],i);const r=o(n,["raiMediaFilteredReasons"]);return r!=null&&s(e,["raiMediaFilteredReasons"],r),e}function Fu(n){const e={},t=o(n,["name"]);t!=null&&s(e,["name"],t);const i=o(n,["metadata"]);i!=null&&s(e,["metadata"],i);const r=o(n,["done"]);r!=null&&s(e,["done"],r);const l=o(n,["error"]);l!=null&&s(e,["error"],l);const a=o(n,["response"]);return a!=null&&s(e,["response"],ku(a)),e}/**
* @license
* Copyright 2025 Google LLC
* SPDX-License-Identifier: Apache-2.0
*/const Lu="Content-Type",Vu="X-Server-Timeout",Gu="User-Agent",Ee="x-goog-api-client",qu="1.12.0",Hu=`google-genai-sdk/${qu}`,Bu="v1beta1",Ju="v1beta",Hn=/^data: (.*)(?:\n\n|\r\r|\r\n\r\n)/;class $u{constructor(e){var t,i;this.clientOptions=Object.assign(Object.assign({},e),{project:e.project,location:e.location,apiKey:e.apiKey,vertexai:e.vertexai});const r={};this.clientOptions.vertexai?(r.apiVersion=(t=this.clientOptions.apiVersion)!==null&&t!==void 0?t:Bu,r.baseUrl=this.baseUrlFromProjectLocation(),this.normalizeAuthParameters()):(r.apiVersion=(i=this.clientOptions.apiVersion)!==null&&i!==void 0?i:Ju,r.baseUrl="https://generativelanguage.googleapis.com/"),r.headers=this.getDefaultHeaders(),this.clientOptions.httpOptions=r,e.httpOptions&&(this.clientOptions.httpOptions=this.patchHttpOptions(r,e.httpOptions))}baseUrlFromProjectLocation(){return this.clientOptions.project&&this.clientOptions.location&&this.clientOptions.location!=="global"?`https://${this.clientOptions.location}-aiplatform.googleapis.com/`:"https://aiplatform.googleapis.com/"}normalizeAuthParameters(){if(this.clientOptions.project&&this.clientOptions.location){this.clientOptions.apiKey=void 0;return}this.clientOptions.project=void 0,this.clientOptions.location=void 0}isVertexAI(){var e;return(e=this.clientOptions.vertexai)!==null&&e!==void 0?e:!1}getProject(){return this.clientOptions.project}getLocation(){return this.clientOptions.location}getApiVersion(){if(this.clientOptions.httpOptions&&this.clientOptions.httpOptions.apiVersion!==void 0)return this.clientOptions.httpOptions.apiVersion;throw new Error("API version is not set.")}getBaseUrl(){if(this.clientOptions.httpOptions&&this.clientOptions.httpOptions.baseUrl!==void 0)return this.clientOptions.httpOptions.baseUrl;throw new Error("Base URL is not set.")}getRequestUrl(){return this.getRequestUrlInternal(this.clientOptions.httpOptions)}getHeaders(){if(this.clientOptions.httpOptions&&this.clientOptions.httpOptions.headers!==void 0)return this.clientOptions.httpOptions.headers;throw new Error("Headers are not set.")}getRequestUrlInternal(e){if(!e||e.baseUrl===void 0||e.apiVersion===void 0)throw new Error("HTTP options are not correctly set.");const i=[e.baseUrl.endsWith("/")?e.baseUrl.slice(0,-1):e.baseUrl];return e.apiVersion&&e.apiVersion!==""&&i.push(e.apiVersion),i.join("/")}getBaseResourcePath(){return`projects/${this.clientOptions.project}/locations/${this.clientOptions.location}`}getApiKey(){return this.clientOptions.apiKey}getWebsocketBaseUrl(){const e=this.getBaseUrl(),t=new URL(e);return t.protocol=t.protocol=="http:"?"ws":"wss",t.toString()}setBaseUrl(e){if(this.clientOptions.httpOptions)this.clientOptions.httpOptions.baseUrl=e;else throw new Error("HTTP options are not correctly set.")}constructUrl(e,t,i){const r=[this.getRequestUrlInternal(t)];return i&&r.push(this.getBaseResourcePath()),e!==""&&r.push(e),new URL(`${r.join("/")}`)}shouldPrependVertexProjectPath(e){return!(this.clientOptions.apiKey||!this.clientOptions.vertexai||e.path.startsWith("projects/")||e.httpMethod==="GET"&&e.path.startsWith("publishers/google/models"))}async request(e){let t=this.clientOptions.httpOptions;e.httpOptions&&(t=this.patchHttpOptions(this.clientOptions.httpOptions,e.httpOptions));const i=this.shouldPrependVertexProjectPath(e),r=this.constructUrl(e.path,t,i);if(e.queryParams)for(const[a,f]of Object.entries(e.queryParams))r.searchParams.append(a,String(f));let l={};if(e.httpMethod==="GET"){if(e.body&&e.body!=="{}")throw new Error("Request body should be empty for GET request, but got non empty request body")}else l.body=e.body;return l=await this.includeExtraHttpOptionsToRequestInit(l,t,e.abortSignal),this.unaryApiCall(r,l,e.httpMethod)}patchHttpOptions(e,t){const i=JSON.parse(JSON.stringify(e));for(const[r,l]of Object.entries(t))typeof l=="object"?i[r]=Object.assign(Object.assign({},i[r]),l):l!==void 0&&(i[r]=l);return i}async requestStream(e){let t=this.clientOptions.httpOptions;e.httpOptions&&(t=this.patchHttpOptions(this.clientOptions.httpOptions,e.httpOptions));const i=this.shouldPrependVertexProjectPath(e),r=this.constructUrl(e.path,t,i);(!r.searchParams.has("alt")||r.searchParams.get("alt")!=="sse")&&r.searchParams.set("alt","sse");let l={};return l.body=e.body,l=await this.includeExtraHttpOptionsToRequestInit(l,t,e.abortSignal),this.streamApiCall(r,l,e.httpMethod)}async includeExtraHttpOptionsToRequestInit(e,t,i){if(t&&t.timeout||i){const r=new AbortController,l=r.signal;if(t.timeout&&(t==null?void 0:t.timeout)>0){const a=setTimeout(()=>r.abort(),t.timeout);a&&typeof a.unref=="function"&&a.unref()}i&&i.addEventListener("abort",()=>{r.abort()}),e.signal=l}return t&&t.extraBody!==null&&Wu(e,t.extraBody),e.headers=await this.getHeadersInternal(t),e}async unaryApiCall(e,t,i){return this.apiCall(e.toString(),Object.assign(Object.assign({},t),{method:i})).then(async r=>(await Bn(r),new pe(r))).catch(r=>{throw r instanceof Error?r:new Error(JSON.stringify(r))})}async streamApiCall(e,t,i){return this.apiCall(e.toString(),Object.assign(Object.assign({},t),{method:i})).then(async r=>(await Bn(r),this.processStreamResponse(r))).catch(r=>{throw r instanceof Error?r:new Error(JSON.stringify(r))})}processStreamResponse(e){var t;return W(this,arguments,function*(){const r=(t=e==null?void 0:e.body)===null||t===void 0?void 0:t.getReader(),l=new TextDecoder("utf-8");if(!r)throw new Error("Response body is empty");try{let a="";for(;;){const{done:f,value:c}=yield N(r.read());if(f){if(a.trim().length>0)throw new Error("Incomplete JSON segment at the end");break}const u=l.decode(c,{stream:!0});try{const p=JSON.parse(u);if("error"in p){const m=JSON.parse(JSON.stringify(p.error)),g=m.status,h=m.code,T=`got status: ${g}. ${JSON.stringify(p)}`;if(h>=400&&h<600)throw new re({message:T,status:h})}}catch(p){if(p.name==="ApiError")throw p}a+=u;let d=a.match(Hn);for(;d;){const p=d[1];try{const m=new Response(p,{headers:e==null?void 0:e.headers,status:e==null?void 0:e.status,statusText:e==null?void 0:e.statusText});yield yield N(new pe(m)),a=a.slice(d[0].length),d=a.match(Hn)}catch(m){throw new Error(`exception parsing stream chunk ${p}. ${m}`)}}}}finally{r.releaseLock()}})}async apiCall(e,t){return fetch(e,t).catch(i=>{throw new Error(`exception ${i} sending request`)})}getDefaultHeaders(){const e={},t=Hu+" "+this.clientOptions.userAgentExtra;return e[Gu]=t,e[Ee]=t,e[Lu]="application/json",e}async getHeadersInternal(e){const t=new Headers;if(e&&e.headers){for(const[i,r]of Object.entries(e.headers))t.append(i,r);e.timeout&&e.timeout>0&&t.append(Vu,String(Math.ceil(e.timeout/1e3)))}return await this.clientOptions.auth.addAuthHeaders(t),t}async uploadFile(e,t){var i;const r={};t!=null&&(r.mimeType=t.mimeType,r.name=t.name,r.displayName=t.displayName),r.name&&!r.name.startsWith("files/")&&(r.name=`files/${r.name}`);const l=this.clientOptions.uploader,a=await l.stat(e);r.sizeBytes=String(a.size);const f=(i=t==null?void 0:t.mimeType)!==null&&i!==void 0?i:a.type;if(f===void 0||f==="")throw new Error("Can not determine mimeType. Please provide mimeType in the config.");r.mimeType=f;const c=await this.fetchUploadUrl(r,t);return l.upload(e,c,this)}async downloadFile(e){await this.clientOptions.downloader.download(e,this)}async fetchUploadUrl(e,t){var i;let r={};t!=null&&t.httpOptions?r=t.httpOptions:r={apiVersion:"",headers:{"Content-Type":"application/json","X-Goog-Upload-Protocol":"resumable","X-Goog-Upload-Command":"start","X-Goog-Upload-Header-Content-Length":`${e.sizeBytes}`,"X-Goog-Upload-Header-Content-Type":`${e.mimeType}`}};const l={file:e},a=await this.request({path:C("upload/v1beta/files",l._url),body:JSON.stringify(l),httpMethod:"POST",httpOptions:r});if(!a||!(a!=null&&a.headers))throw new Error("Server did not return an HttpResponse or the returned HttpResponse did not have headers.");const f=(i=a==null?void 0:a.headers)===null||i===void 0?void 0:i["x-goog-upload-url"];if(f===void 0)throw new Error("Failed to get upload url. Server did not return the x-google-upload-url in the headers");return f}}async function Bn(n){var e;if(n===void 0)throw new Error("response is undefined");if(!n.ok){const t=n.status;let i;!((e=n.headers.get("content-type"))===null||e===void 0)&&e.includes("application/json")?i=await n.json():i={error:{message:await n.text(),code:n.status,status:n.statusText}};const r=JSON.stringify(i);throw t>=400&&t<600?new re({message:r,status:t}):new Error(r)}}function Wu(n,e){if(!e||Object.keys(e).length===0)return;if(n.body instanceof Blob){console.warn("includeExtraBodyToRequestInit: extraBody provided but current request body is a Blob. extraBody will be ignored as merging is not supported for Blob bodies.");return}let t={};if(typeof n.body=="string"&&n.body.length>0)try{const l=JSON.parse(n.body);if(typeof l=="object"&&l!==null&&!Array.isArray(l))t=l;else{console.warn("includeExtraBodyToRequestInit: Original request body is valid JSON but not a non-array object. Skip applying extraBody to the request body.");return}}catch{console.warn("includeExtraBodyToRequestInit: Original request body is not valid JSON. Skip applying extraBody to the request body.");return}function i(l,a){const f=Object.assign({},l);for(const c in a)if(Object.prototype.hasOwnProperty.call(a,c)){const u=a[c],d=f[c];u&&typeof u=="object"&&!Array.isArray(u)&&d&&typeof d=="object"&&!Array.isArray(d)?f[c]=i(d,u):(d&&u&&typeof d!=typeof u&&console.warn(`includeExtraBodyToRequestInit:deepMerge: Type mismatch for key "${c}". Original type: ${typeof d}, New type: ${typeof u}. Overwriting.`),f[c]=u)}return f}const r=i(t,e);n.body=JSON.stringify(r)}/**
* @license
* Copyright 2025 Google LLC
* SPDX-License-Identifier: Apache-2.0
*/const Yu="mcp_used/unknown";let Ku=!1;function Ct(n){for(const e of n)if(zu(e)||typeof e=="object"&&"inputSchema"in e)return!0;return Ku}function vt(n){var e;const t=(e=n[Ee])!==null&&e!==void 0?e:"";n[Ee]=(t+` ${Yu}`).trimStart()}function zu(n){return n!==null&&typeof n=="object"&&n instanceof Re}function Xu(n,e=100){return W(this,arguments,function*(){let i,r=0;for(;r<e;){const l=yield N(n.listTools({cursor:i}));for(const a of l.tools)yield yield N(a),r++;if(!l.nextCursor)break;i=l.nextCursor}})}class Re{constructor(e=[],t){this.mcpTools=[],this.functionNameToMcpClient={},this.mcpClients=e,this.config=t}static create(e,t){return new Re(e,t)}async initialize(){var e,t,i,r;if(this.mcpTools.length>0)return;const l={},a=[];for(const d of this.mcpClients)try{for(var f=!0,c=(t=void 0,b(Xu(d))),u;u=await c.next(),e=u.done,!e;f=!0){r=u.value,f=!1;const p=r;a.push(p);const m=p.name;if(l[m])throw new Error(`Duplicate function name ${m} found in MCP tools. Please ensure function names are unique.`);l[m]=d}}catch(p){t={error:p}}finally{try{!f&&!e&&(i=c.return)&&await i.call(c)}finally{if(t)throw t.error}}this.mcpTools=a,this.functionNameToMcpClient=l}async tool(){return await this.initialize(),Jt(this.mcpTools,this.config)}async callTool(e){await this.initialize();const t=[];for(const i of e)if(i.name in this.functionNameToMcpClient){const r=this.functionNameToMcpClient[i.name];let l;this.config.timeout&&(l={timeout:this.config.timeout});const a=await r.callTool({name:i.name,arguments:i.args},void 0,l);t.push({functionResponse:{name:i.name,response:a.isError?{error:a}:a}})}return t}}/**
* @license
* Copyright 2025 Google LLC
* SPDX-License-Identifier: Apache-2.0
*/async function Qu(n,e,t){const i=new kt;let r;t.data instanceof Blob?r=JSON.parse(await t.data.text()):r=JSON.parse(t.data);const l=$r(r);Object.assign(i,l),e(i)}class Zu{constructor(e,t,i){this.apiClient=e,this.auth=t,this.webSocketFactory=i}async connect(e){var t,i;if(this.apiClient.isVertexAI())throw new Error("Live music is not supported for Vertex AI.");console.warn("Live music generation is experimental and may change in future versions.");const r=this.apiClient.getWebsocketBaseUrl(),l=this.apiClient.getApiVersion(),a=ju(this.apiClient.getDefaultHeaders()),f=this.apiClient.getApiKey(),c=`${r}/ws/google.ai.generativelanguage.${l}.GenerativeService.BidiGenerateMusic?key=${f}`;let u=()=>{};const d=new Promise(E=>{u=E}),p=e.callbacks,m=function(){u({})},g=this.apiClient,h={onopen:m,onmessage:E=>{Qu(g,p.onmessage,E)},onerror:(t=p==null?void 0:p.onerror)!==null&&t!==void 0?t:function(E){},onclose:(i=p==null?void 0:p.onclose)!==null&&i!==void 0?i:function(E){}},T=this.webSocketFactory.create(c,Ou(a),h);T.connect(),await d;const y=x(this.apiClient,e.model),S=pt({model:y}),v=ye({setup:S});return T.send(JSON.stringify(v)),new bu(T,this.apiClient)}}class bu{constructor(e,t){this.conn=e,this.apiClient=t}async setWeightedPrompts(e){if(!e.weightedPrompts||Object.keys(e.weightedPrompts).length===0)throw new Error("Weighted prompts must be set and contain at least one entry.");const t=Bs(e),i=mt(t);this.conn.send(JSON.stringify({clientContent:i}))}async setMusicGenerationConfig(e){e.musicGenerationConfig||(e.musicGenerationConfig={});const t=Js(e),i=ye(t);this.conn.send(JSON.stringify(i))}sendPlaybackControl(e){const t=ye({playbackControl:e});this.conn.send(JSON.stringify(t))}play(){this.sendPlaybackControl(J.PLAY)}pause(){this.sendPlaybackControl(J.PAUSE)}stop(){this.sendPlaybackControl(J.STOP)}resetContext(){this.sendPlaybackControl(J.RESET_CONTEXT)}close(){this.conn.close()}}function Ou(n){const e={};return n.forEach((t,i)=>{e[i]=t}),e}function ju(n){const e=new Headers;for(const[t,i]of Object.entries(n))e.append(t,i);return e}/**
* @license
* Copyright 2025 Google LLC
* SPDX-License-Identifier: Apache-2.0
*/const ef="FunctionResponse request must have an `id` field from the response of a ToolCall.FunctionalCalls in Google AI.";async function nf(n,e,t){const i=new Ut;let r;t.data instanceof Blob?r=await t.data.text():t.data instanceof ArrayBuffer?r=new TextDecoder().decode(t.data):r=t.data;const l=JSON.parse(r);if(n.isVertexAI()){const a=ol(l);Object.assign(i,a)}else{const a=kr(l);Object.assign(i,a)}e(i)}class tf{constructor(e,t,i){this.apiClient=e,this.auth=t,this.webSocketFactory=i,this.music=new Zu(this.apiClient,this.auth,this.webSocketFactory)}async connect(e){var t,i,r,l,a,f;if(e.config&&e.config.httpOptions)throw new Error("The Live module does not support httpOptions at request-level in LiveConnectConfig yet. Please use the client-level httpOptions configuration instead.");const c=this.apiClient.getWebsocketBaseUrl(),u=this.apiClient.getApiVersion();let d;const p=this.apiClient.getHeaders();e.config&&e.config.tools&&Ct(e.config.tools)&&vt(p);const m=lf(p);if(this.apiClient.isVertexAI())d=`${c}/ws/google.cloud.aiplatform.${u}.LlmBidiService/BidiGenerateContent`,await this.auth.addAuthHeaders(m);else{const M=this.apiClient.getApiKey();let D="BidiGenerateContent",P="key";M!=null&&M.startsWith("auth_tokens/")&&(console.warn("Warning: Ephemeral token support is experimental and may change in future versions."),u!=="v1alpha"&&console.warn("Warning: The SDK's ephemeral token support is in v1alpha only. Please use const ai = new GoogleGenAI({apiKey: token.name, httpOptions: { apiVersion: 'v1alpha' }}); before session connection."),D="BidiGenerateContentConstrained",P="access_token"),d=`${c}/ws/google.ai.generativelanguage.${u}.GenerativeService.${D}?${P}=${M}`}let g=()=>{};const h=new Promise(M=>{g=M}),T=e.callbacks,y=function(){var M;(M=T==null?void 0:T.onopen)===null||M===void 0||M.call(T),g({})},S=this.apiClient,v={onopen:y,onmessage:M=>{nf(S,T.onmessage,M)},onerror:(t=T==null?void 0:T.onerror)!==null&&t!==void 0?t:function(M){},onclose:(i=T==null?void 0:T.onclose)!==null&&i!==void 0?i:function(M){}},E=this.webSocketFactory.create(d,rf(m),v);E.connect(),await h;let A=x(this.apiClient,e.model);if(this.apiClient.isVertexAI()&&A.startsWith("publishers/")){const M=this.apiClient.getProject(),D=this.apiClient.getLocation();A=`projects/${M}/locations/${D}/`+A}let _={};this.apiClient.isVertexAI()&&((r=e.config)===null||r===void 0?void 0:r.responseModalities)===void 0&&(e.config===void 0?e.config={responseModalities:[oe.AUDIO]}:e.config.responseModalities=[oe.AUDIO]),!((l=e.config)===null||l===void 0)&&l.generationConfig&&console.warn("Setting `LiveConnectConfig.generation_config` is deprecated, please set the fields on `LiveConnectConfig` directly. This will become an error in a future version (not before Q3 2025).");const I=(f=(a=e.config)===null||a===void 0?void 0:a.tools)!==null&&f!==void 0?f:[],R=[];for(const M of I)if(this.isCallableTool(M)){const D=M;R.push(await D.tool())}else R.push(M);R.length>0&&(e.config.tools=R);const w={model:A,config:e.config,callbacks:e.callbacks};return this.apiClient.isVertexAI()?_=gr(this.apiClient,w):_=Vs(this.apiClient,w),delete _.config,E.send(JSON.stringify(_)),new sf(E,this.apiClient)}isCallableTool(e){return"callTool"in e&&typeof e.callTool=="function"}}const of={turnComplete:!0};class sf{constructor(e,t){this.conn=e,this.apiClient=t}tLiveClientContent(e,t){if(t.turns!==null&&t.turns!==void 0){let i=[];try{i=k(t.turns),e.isVertexAI()?i=i.map(r=>Q(r)):i=i.map(r=>le(r))}catch{throw new Error(`Failed to parse client content "turns", type: '${typeof t.turns}'`)}return{clientContent:{turns:i,turnComplete:t.turnComplete}}}return{clientContent:{turnComplete:t.turnComplete}}}tLiveClienttToolResponse(e,t){let i=[];if(t.functionResponses==null)throw new Error("functionResponses is required.");if(Array.isArray(t.functionResponses)?i=t.functionResponses:i=[t.functionResponses],i.length===0)throw new Error("functionResponses is required.");for(const l of i){if(typeof l!="object"||l===null||!("name"in l)||!("response"in l))throw new Error(`Could not parse function response, type '${typeof l}'.`);if(!e.isVertexAI()&&!("id"in l))throw new Error(ef)}return{toolResponse:{functionResponses:i}}}sendClientContent(e){e=Object.assign(Object.assign({},of),e);const t=this.tLiveClientContent(this.apiClient,e);this.conn.send(JSON.stringify(t))}sendRealtimeInput(e){let t={};this.apiClient.isVertexAI()?t={realtimeInput:yr(e)}:t={realtimeInput:Hs(e)},this.conn.send(JSON.stringify(t))}sendToolResponse(e){if(e.functionResponses==null)throw new Error("Tool response parameters are required.");const t=this.tLiveClienttToolResponse(this.apiClient,e);this.conn.send(JSON.stringify(t))}close(){this.conn.close()}}function rf(n){const e={};return n.forEach((t,i)=>{e[i]=t}),e}function lf(n){const e=new Headers;for(const[t,i]of Object.entries(n))e.append(t,i);return e}/**
* @license
* Copyright 2025 Google LLC
* SPDX-License-Identifier: Apache-2.0
*/const Jn=10;function $n(n){var e,t,i;if(!((e=n==null?void 0:n.automaticFunctionCalling)===null||e===void 0)&&e.disable)return!0;let r=!1;for(const a of(t=n==null?void 0:n.tools)!==null&&t!==void 0?t:[])if(Y(a)){r=!0;break}if(!r)return!0;const l=(i=n==null?void 0:n.automaticFunctionCalling)===null||i===void 0?void 0:i.maximumRemoteCalls;return l&&(l<0||!Number.isInteger(l))||l==0?(console.warn("Invalid maximumRemoteCalls value provided for automatic function calling. Disabled automatic function calling. Please provide a valid integer value greater than 0. maximumRemoteCalls provided:",l),!0):!1}function Y(n){return"callTool"in n&&typeof n.callTool=="function"}function af(n){var e,t,i;return(i=(t=(e=n.config)===null||e===void 0?void 0:e.tools)===null||t===void 0?void 0:t.some(r=>Y(r)))!==null&&i!==void 0?i:!1}function uf(n){var e,t,i;return(i=(t=(e=n.config)===null||e===void 0?void 0:e.tools)===null||t===void 0?void 0:t.some(r=>!Y(r)))!==null&&i!==void 0?i:!1}function Wn(n){var e;return!(!((e=n==null?void 0:n.automaticFunctionCalling)===null||e===void 0)&&e.ignoreCallHistory)}/**
* @license
* Copyright 2025 Google LLC
* SPDX-License-Identifier: Apache-2.0
*/class ff extends H{constructor(e){super(),this.apiClient=e,this.generateContent=async t=>{var i,r,l,a,f;const c=await this.processParamsMaybeAddMcpUsage(t);if(this.maybeMoveToResponseJsonSchem(t),!af(t)||$n(t.config))return await this.generateContentInternal(c);if(uf(t))throw new Error("Automatic function calling with CallableTools and Tools is not yet supported.");let u,d;const p=k(c.contents),m=(l=(r=(i=c.config)===null||i===void 0?void 0:i.automaticFunctionCalling)===null||r===void 0?void 0:r.maximumRemoteCalls)!==null&&l!==void 0?l:Jn;let g=0;for(;g<m&&(u=await this.generateContentInternal(c),!(!u.functionCalls||u.functionCalls.length===0));){const h=u.candidates[0].content,T=[];for(const y of(f=(a=t.config)===null||a===void 0?void 0:a.tools)!==null&&f!==void 0?f:[])if(Y(y)){const v=await y.callTool(u.functionCalls);T.push(...v)}g++,d={role:"user",parts:T},c.contents=k(c.contents),c.contents.push(h),c.contents.push(d),Wn(c.config)&&(p.push(h),p.push(d))}return Wn(c.config)&&(u.automaticFunctionCallingHistory=p),u},this.generateContentStream=async t=>{if(this.maybeMoveToResponseJsonSchem(t),$n(t.config)){const i=await this.processParamsMaybeAddMcpUsage(t);return await this.generateContentStreamInternal(i)}else return await this.processAfcStream(t)},this.generateImages=async t=>await this.generateImagesInternal(t).then(i=>{var r;let l;const a=[];if(i!=null&&i.generatedImages)for(const c of i.generatedImages)c&&(c!=null&&c.safetyAttributes)&&((r=c==null?void 0:c.safetyAttributes)===null||r===void 0?void 0:r.contentType)==="Positive Prompt"?l=c==null?void 0:c.safetyAttributes:a.push(c);let f;return l?f={generatedImages:a,positivePromptSafetyAttributes:l,sdkHttpResponse:i.sdkHttpResponse}:f={generatedImages:a,sdkHttpResponse:i.sdkHttpResponse},f}),this.list=async t=>{var i;const a={config:Object.assign(Object.assign({},{queryBase:!0}),t==null?void 0:t.config)};if(this.apiClient.isVertexAI()&&!a.config.queryBase){if(!((i=a.config)===null||i===void 0)&&i.filter)throw new Error("Filtering tuned models list for Vertex AI is not currently supported");a.config.filter="labels.tune-type:*"}return new O(q.PAGED_ITEM_MODELS,f=>this.listInternal(f),await this.listInternal(a),a)},this.editImage=async t=>{const i={model:t.model,prompt:t.prompt,referenceImages:[],config:t.config};return t.referenceImages&&t.referenceImages&&(i.referenceImages=t.referenceImages.map(r=>r.toReferenceImageAPI())),await this.editImageInternal(i)},this.upscaleImage=async t=>{let i={numberOfImages:1,mode:"upscale"};t.config&&(i=Object.assign(Object.assign({},i),t.config));const r={model:t.model,image:t.image,upscaleFactor:t.upscaleFactor,config:i};return await this.upscaleImageInternal(r)},this.generateVideos=async t=>await this.generateVideosInternal(t)}maybeMoveToResponseJsonSchem(e){e.config&&e.config.responseSchema&&(e.config.responseJsonSchema||Object.keys(e.config.responseSchema).includes("$schema")&&(e.config.responseJsonSchema=e.config.responseSchema,delete e.config.responseSchema))}async processParamsMaybeAddMcpUsage(e){var t,i,r;const l=(t=e.config)===null||t===void 0?void 0:t.tools;if(!l)return e;const a=await Promise.all(l.map(async c=>Y(c)?await c.tool():c)),f={model:e.model,contents:e.contents,config:Object.assign(Object.assign({},e.config),{tools:a})};if(f.config.tools=a,e.config&&e.config.tools&&Ct(e.config.tools)){const c=(r=(i=e.config.httpOptions)===null||i===void 0?void 0:i.headers)!==null&&r!==void 0?r:{};let u=Object.assign({},c);Object.keys(u).length===0&&(u=this.apiClient.getDefaultHeaders()),vt(u),f.config.httpOptions=Object.assign(Object.assign({},e.config.httpOptions),{headers:u})}return f}async initAfcToolsMap(e){var t,i,r;const l=new Map;for(const a of(i=(t=e.config)===null||t===void 0?void 0:t.tools)!==null&&i!==void 0?i:[])if(Y(a)){const f=a,c=await f.tool();for(const u of(r=c.functionDeclarations)!==null&&r!==void 0?r:[]){if(!u.name)throw new Error("Function declaration name is required.");if(l.has(u.name))throw new Error(`Duplicate tool declaration name: ${u.name}`);l.set(u.name,f)}}return l}async processAfcStream(e){var t,i,r;const l=(r=(i=(t=e.config)===null||t===void 0?void 0:t.automaticFunctionCalling)===null||i===void 0?void 0:i.maximumRemoteCalls)!==null&&r!==void 0?r:Jn;let a=!1,f=0;const c=await this.initAfcToolsMap(e);return function(u,d,p){var m,g;return W(this,arguments,function*(){for(var h,T,y,S;f<l;){a&&(f++,a=!1);const _=yield N(u.processParamsMaybeAddMcpUsage(p)),I=yield N(u.generateContentStreamInternal(_)),R=[],w=[];try{for(var v=!0,E=(T=void 0,b(I)),A;A=yield N(E.next()),h=A.done,!h;v=!0){S=A.value,v=!1;const M=S;if(yield yield N(M),M.candidates&&(!((m=M.candidates[0])===null||m===void 0)&&m.content)){w.push(M.candidates[0].content);for(const D of(g=M.candidates[0].content.parts)!==null&&g!==void 0?g:[])if(f<l&&D.functionCall){if(!D.functionCall.name)throw new Error("Function call name was not returned by the model.");if(d.has(D.functionCall.name)){const P=yield N(d.get(D.functionCall.name).callTool([D.functionCall]));R.push(...P)}else throw new Error(`Automatic function calling was requested, but not all the tools the model used implement the CallableTool interface. Available tools: ${d.keys()}, mising tool: ${D.functionCall.name}`)}}}}catch(M){T={error:M}}finally{try{!v&&!h&&(y=E.return)&&(yield N(y.call(E)))}finally{if(T)throw T.error}}if(R.length>0){a=!0;const M=new Z;M.candidates=[{content:{role:"user",parts:R}}],yield yield N(M);const D=[];D.push(...w),D.push({role:"user",parts:R});const P=k(p.contents).concat(D);p.contents=P}else break}})}(this,c,e)}async generateContentInternal(e){var t,i,r,l;let a,f="",c={};if(this.apiClient.isVertexAI()){const u=Vn(this.apiClient,e);return f=C("{model}:generateContent",u._url),c=u._query,delete u.config,delete u._url,delete u._query,a=this.apiClient.request({path:f,queryParams:c,body:JSON.stringify(u),httpMethod:"POST",httpOptions:(t=e.config)===null||t===void 0?void 0:t.httpOptions,abortSignal:(i=e.config)===null||i===void 0?void 0:i.abortSignal}).then(d=>d.json().then(p=>{const m=p;return m.sdkHttpResponse={headers:d.headers},m})),a.then(d=>{const p=qn(d),m=new Z;return Object.assign(m,p),m})}else{const u=Ln(this.apiClient,e);return f=C("{model}:generateContent",u._url),c=u._query,delete u.config,delete u._url,delete u._query,a=this.apiClient.request({path:f,queryParams:c,body:JSON.stringify(u),httpMethod:"POST",httpOptions:(r=e.config)===null||r===void 0?void 0:r.httpOptions,abortSignal:(l=e.config)===null||l===void 0?void 0:l.abortSignal}).then(d=>d.json().then(p=>{const m=p;return m.sdkHttpResponse={headers:d.headers},m})),a.then(d=>{const p=Gn(d),m=new Z;return Object.assign(m,p),m})}}async generateContentStreamInternal(e){var t,i,r,l;let a,f="",c={};if(this.apiClient.isVertexAI()){const u=Vn(this.apiClient,e);return f=C("{model}:streamGenerateContent?alt=sse",u._url),c=u._query,delete u.config,delete u._url,delete u._query,a=this.apiClient.requestStream({path:f,queryParams:c,body:JSON.stringify(u),httpMethod:"POST",httpOptions:(t=e.config)===null||t===void 0?void 0:t.httpOptions,abortSignal:(i=e.config)===null||i===void 0?void 0:i.abortSignal}),a.then(function(p){return W(this,arguments,function*(){var m,g,h,T;try{for(var y=!0,S=b(p),v;v=yield N(S.next()),m=v.done,!m;y=!0){T=v.value,y=!1;const E=T,A=qn(yield N(E.json()));A.sdkHttpResponse={headers:E.headers};const _=new Z;Object.assign(_,A),yield yield N(_)}}catch(E){g={error:E}}finally{try{!y&&!m&&(h=S.return)&&(yield N(h.call(S)))}finally{if(g)throw g.error}}})})}else{const u=Ln(this.apiClient,e);return f=C("{model}:streamGenerateContent?alt=sse",u._url),c=u._query,delete u.config,delete u._url,delete u._query,a=this.apiClient.requestStream({path:f,queryParams:c,body:JSON.stringify(u),httpMethod:"POST",httpOptions:(r=e.config)===null||r===void 0?void 0:r.httpOptions,abortSignal:(l=e.config)===null||l===void 0?void 0:l.abortSignal}),a.then(function(p){return W(this,arguments,function*(){var m,g,h,T;try{for(var y=!0,S=b(p),v;v=yield N(S.next()),m=v.done,!m;y=!0){T=v.value,y=!1;const E=T,A=Gn(yield N(E.json()));A.sdkHttpResponse={headers:E.headers};const _=new Z;Object.assign(_,A),yield yield N(_)}}catch(E){g={error:E}}finally{try{!y&&!m&&(h=S.return)&&(yield N(h.call(S)))}finally{if(g)throw g.error}}})})}}async embedContent(e){var t,i,r,l;let a,f="",c={};if(this.apiClient.isVertexAI()){const u=ga(this.apiClient,e);return f=C("{model}:predict",u._url),c=u._query,delete u.config,delete u._url,delete u._query,a=this.apiClient.request({path:f,queryParams:c,body:JSON.stringify(u),httpMethod:"POST",httpOptions:(t=e.config)===null||t===void 0?void 0:t.httpOptions,abortSignal:(i=e.config)===null||i===void 0?void 0:i.abortSignal}).then(d=>d.json().then(p=>{const m=p;return m.sdkHttpResponse={headers:d.headers},m})),a.then(d=>{const p=vu(d),m=new gn;return Object.assign(m,p),m})}else{const u=Pl(this.apiClient,e);return f=C("{model}:batchEmbedContents",u._url),c=u._query,delete u.config,delete u._url,delete u._query,a=this.apiClient.request({path:f,queryParams:c,body:JSON.stringify(u),httpMethod:"POST",httpOptions:(r=e.config)===null||r===void 0?void 0:r.httpOptions,abortSignal:(l=e.config)===null||l===void 0?void 0:l.abortSignal}).then(d=>d.json().then(p=>{const m=p;return m.sdkHttpResponse={headers:d.headers},m})),a.then(d=>{const p=Za(d),m=new gn;return Object.assign(m,p),m})}}async generateImagesInternal(e){var t,i,r,l;let a,f="",c={};if(this.apiClient.isVertexAI()){const u=Ta(this.apiClient,e);return f=C("{model}:predict",u._url),c=u._query,delete u.config,delete u._url,delete u._query,a=this.apiClient.request({path:f,queryParams:c,body:JSON.stringify(u),httpMethod:"POST",httpOptions:(t=e.config)===null||t===void 0?void 0:t.httpOptions,abortSignal:(i=e.config)===null||i===void 0?void 0:i.abortSignal}).then(d=>d.json().then(p=>{const m=p;return m.sdkHttpResponse={headers:d.headers},m})),a.then(d=>{const p=Su(d),m=new hn;return Object.assign(m,p),m})}else{const u=Dl(this.apiClient,e);return f=C("{model}:predict",u._url),c=u._query,delete u.config,delete u._url,delete u._query,a=this.apiClient.request({path:f,queryParams:c,body:JSON.stringify(u),httpMethod:"POST",httpOptions:(r=e.config)===null||r===void 0?void 0:r.httpOptions,abortSignal:(l=e.config)===null||l===void 0?void 0:l.abortSignal}).then(d=>d.json().then(p=>{const m=p;return m.sdkHttpResponse={headers:d.headers},m})),a.then(d=>{const p=ja(d),m=new hn;return Object.assign(m,p),m})}}async editImageInternal(e){var t,i;let r,l="",a={};if(this.apiClient.isVertexAI()){const f=Aa(this.apiClient,e);return l=C("{model}:predict",f._url),a=f._query,delete f.config,delete f._url,delete f._query,r=this.apiClient.request({path:l,queryParams:a,body:JSON.stringify(f),httpMethod:"POST",httpOptions:(t=e.config)===null||t===void 0?void 0:t.httpOptions,abortSignal:(i=e.config)===null||i===void 0?void 0:i.abortSignal}).then(c=>c.json().then(u=>{const d=u;return d.sdkHttpResponse={headers:c.headers},d})),r.then(c=>{const u=_u(c),d=new Rt;return Object.assign(d,u),d})}else throw new Error("This method is only supported by the Vertex AI.")}async upscaleImageInternal(e){var t,i;let r,l="",a={};if(this.apiClient.isVertexAI()){const f=Ia(this.apiClient,e);return l=C("{model}:predict",f._url),a=f._query,delete f.config,delete f._url,delete f._query,r=this.apiClient.request({path:l,queryParams:a,body:JSON.stringify(f),httpMethod:"POST",httpOptions:(t=e.config)===null||t===void 0?void 0:t.httpOptions,abortSignal:(i=e.config)===null||i===void 0?void 0:i.abortSignal}).then(c=>c.json().then(u=>{const d=u;return d.sdkHttpResponse={headers:c.headers},d})),r.then(c=>{const u=Au(c),d=new Pt;return Object.assign(d,u),d})}else throw new Error("This method is only supported by the Vertex AI.")}async get(e){var t,i,r,l;let a,f="",c={};if(this.apiClient.isVertexAI()){const u=Ra(this.apiClient,e);return f=C("{name}",u._url),c=u._query,delete u.config,delete u._url,delete u._query,a=this.apiClient.request({path:f,queryParams:c,body:JSON.stringify(u),httpMethod:"GET",httpOptions:(t=e.config)===null||t===void 0?void 0:t.httpOptions,abortSignal:(i=e.config)===null||i===void 0?void 0:i.abortSignal}).then(d=>d.json()),a.then(d=>ve(d))}else{const u=Nl(this.apiClient,e);return f=C("{name}",u._url),c=u._query,delete u.config,delete u._url,delete u._query,a=this.apiClient.request({path:f,queryParams:c,body:JSON.stringify(u),httpMethod:"GET",httpOptions:(r=e.config)===null||r===void 0?void 0:r.httpOptions,abortSignal:(l=e.config)===null||l===void 0?void 0:l.abortSignal}).then(d=>d.json()),a.then(d=>Ce(d))}}async listInternal(e){var t,i,r,l;let a,f="",c={};if(this.apiClient.isVertexAI()){const u=xa(this.apiClient,e);return f=C("{models_url}",u._url),c=u._query,delete u.config,delete u._url,delete u._query,a=this.apiClient.request({path:f,queryParams:c,body:JSON.stringify(u),httpMethod:"GET",httpOptions:(t=e.config)===null||t===void 0?void 0:t.httpOptions,abortSignal:(i=e.config)===null||i===void 0?void 0:i.abortSignal}).then(d=>d.json().then(p=>{const m=p;return m.sdkHttpResponse={headers:d.headers},m})),a.then(d=>{const p=Pu(d),m=new Tn;return Object.assign(m,p),m})}else{const u=Ul(this.apiClient,e);return f=C("{models_url}",u._url),c=u._query,delete u.config,delete u._url,delete u._query,a=this.apiClient.request({path:f,queryParams:c,body:JSON.stringify(u),httpMethod:"GET",httpOptions:(r=e.config)===null||r===void 0?void 0:r.httpOptions,abortSignal:(l=e.config)===null||l===void 0?void 0:l.abortSignal}).then(d=>d.json().then(p=>{const m=p;return m.sdkHttpResponse={headers:d.headers},m})),a.then(d=>{const p=nu(d),m=new Tn;return Object.assign(m,p),m})}}async update(e){var t,i,r,l;let a,f="",c={};if(this.apiClient.isVertexAI()){const u=Na(this.apiClient,e);return f=C("{model}",u._url),c=u._query,delete u.config,delete u._url,delete u._query,a=this.apiClient.request({path:f,queryParams:c,body:JSON.stringify(u),httpMethod:"PATCH",httpOptions:(t=e.config)===null||t===void 0?void 0:t.httpOptions,abortSignal:(i=e.config)===null||i===void 0?void 0:i.abortSignal}).then(d=>d.json()),a.then(d=>ve(d))}else{const u=Fl(this.apiClient,e);return f=C("{name}",u._url),c=u._query,delete u.config,delete u._url,delete u._query,a=this.apiClient.request({path:f,queryParams:c,body:JSON.stringify(u),httpMethod:"PATCH",httpOptions:(r=e.config)===null||r===void 0?void 0:r.httpOptions,abortSignal:(l=e.config)===null||l===void 0?void 0:l.abortSignal}).then(d=>d.json()),a.then(d=>Ce(d))}}async delete(e){var t,i,r,l;let a,f="",c={};if(this.apiClient.isVertexAI()){const u=wa(this.apiClient,e);return f=C("{name}",u._url),c=u._query,delete u.config,delete u._url,delete u._query,a=this.apiClient.request({path:f,queryParams:c,body:JSON.stringify(u),httpMethod:"DELETE",httpOptions:(t=e.config)===null||t===void 0?void 0:t.httpOptions,abortSignal:(i=e.config)===null||i===void 0?void 0:i.abortSignal}).then(d=>d.json()),a.then(()=>{const d=xu(),p=new yn;return Object.assign(p,d),p})}else{const u=Ll(this.apiClient,e);return f=C("{name}",u._url),c=u._query,delete u.config,delete u._url,delete u._query,a=this.apiClient.request({path:f,queryParams:c,body:JSON.stringify(u),httpMethod:"DELETE",httpOptions:(r=e.config)===null||r===void 0?void 0:r.httpOptions,abortSignal:(l=e.config)===null||l===void 0?void 0:l.abortSignal}).then(d=>d.json()),a.then(()=>{const d=tu(),p=new yn;return Object.assign(p,d),p})}}async countTokens(e){var t,i,r,l;let a,f="",c={};if(this.apiClient.isVertexAI()){const u=ka(this.apiClient,e);return f=C("{model}:countTokens",u._url),c=u._query,delete u.config,delete u._url,delete u._query,a=this.apiClient.request({path:f,queryParams:c,body:JSON.stringify(u),httpMethod:"POST",httpOptions:(t=e.config)===null||t===void 0?void 0:t.httpOptions,abortSignal:(i=e.config)===null||i===void 0?void 0:i.abortSignal}).then(d=>d.json().then(p=>{const m=p;return m.sdkHttpResponse={headers:d.headers},m})),a.then(d=>{const p=Du(d),m=new Cn;return Object.assign(m,p),m})}else{const u=Gl(this.apiClient,e);return f=C("{model}:countTokens",u._url),c=u._query,delete u.config,delete u._url,delete u._query,a=this.apiClient.request({path:f,queryParams:c,body:JSON.stringify(u),httpMethod:"POST",httpOptions:(r=e.config)===null||r===void 0?void 0:r.httpOptions,abortSignal:(l=e.config)===null||l===void 0?void 0:l.abortSignal}).then(d=>d.json().then(p=>{const m=p;return m.sdkHttpResponse={headers:d.headers},m})),a.then(d=>{const p=ou(d),m=new Cn;return Object.assign(m,p),m})}}async computeTokens(e){var t,i;let r,l="",a={};if(this.apiClient.isVertexAI()){const f=Fa(this.apiClient,e);return l=C("{model}:computeTokens",f._url),a=f._query,delete f.config,delete f._url,delete f._query,r=this.apiClient.request({path:l,queryParams:a,body:JSON.stringify(f),httpMethod:"POST",httpOptions:(t=e.config)===null||t===void 0?void 0:t.httpOptions,abortSignal:(i=e.config)===null||i===void 0?void 0:i.abortSignal}).then(c=>c.json().then(u=>{const d=u;return d.sdkHttpResponse={headers:c.headers},d})),r.then(c=>{const u=Nu(c),d=new xt;return Object.assign(d,u),d})}else throw new Error("This method is only supported by the Vertex AI.")}async generateVideosInternal(e){var t,i,r,l;let a,f="",c={};if(this.apiClient.isVertexAI()){const u=Ga(this.apiClient,e);return f=C("{model}:predictLongRunning",u._url),c=u._query,delete u.config,delete u._url,delete u._query,a=this.apiClient.request({path:f,queryParams:c,body:JSON.stringify(u),httpMethod:"POST",httpOptions:(t=e.config)===null||t===void 0?void 0:t.httpOptions,abortSignal:(i=e.config)===null||i===void 0?void 0:i.abortSignal}).then(d=>d.json()),a.then(d=>{const p=Fu(d),m=new ie;return Object.assign(m,p),m})}else{const u=Bl(this.apiClient,e);return f=C("{model}:predictLongRunning",u._url),c=u._query,delete u.config,delete u._url,delete u._query,a=this.apiClient.request({path:f,queryParams:c,body:JSON.stringify(u),httpMethod:"POST",httpOptions:(r=e.config)===null||r===void 0?void 0:r.httpOptions,abortSignal:(l=e.config)===null||l===void 0?void 0:l.abortSignal}).then(d=>d.json()),a.then(d=>{const p=lu(d),m=new ie;return Object.assign(m,p),m})}}}/**
* @license
* Copyright 2025 Google LLC
* SPDX-License-Identifier: Apache-2.0
*/function cf(n){const e={},t=o(n,["operationName"]);t!=null&&s(e,["_url","operationName"],t);const i=o(n,["config"]);return i!=null&&s(e,["config"],i),e}function df(n){const e={},t=o(n,["operationName"]);t!=null&&s(e,["_url","operationName"],t);const i=o(n,["config"]);return i!=null&&s(e,["config"],i),e}function pf(n){const e={},t=o(n,["operationName"]);t!=null&&s(e,["operationName"],t);const i=o(n,["resourceName"]);i!=null&&s(e,["_url","resourceName"],i);const r=o(n,["config"]);return r!=null&&s(e,["config"],r),e}/**
* @license
* Copyright 2025 Google LLC
* SPDX-License-Identifier: Apache-2.0
*/class mf extends H{constructor(e){super(),this.apiClient=e}async getVideosOperation(e){const t=e.operation,i=e.config;if(t.name===void 0||t.name==="")throw new Error("Operation name is required.");if(this.apiClient.isVertexAI()){const r=t.name.split("/operations/")[0];let l;i&&"httpOptions"in i&&(l=i.httpOptions);const a=await this.fetchPredictVideosOperationInternal({operationName:t.name,resourceName:r,config:{httpOptions:l}});return t._fromAPIResponse({apiResponse:a,isVertexAI:!0})}else{const r=await this.getVideosOperationInternal({operationName:t.name,config:i});return t._fromAPIResponse({apiResponse:r,isVertexAI:!1})}}async get(e){const t=e.operation,i=e.config;if(t.name===void 0||t.name==="")throw new Error("Operation name is required.");if(this.apiClient.isVertexAI()){const r=t.name.split("/operations/")[0];let l;i&&"httpOptions"in i&&(l=i.httpOptions);const a=await this.fetchPredictVideosOperationInternal({operationName:t.name,resourceName:r,config:{httpOptions:l}});return t._fromAPIResponse({apiResponse:a,isVertexAI:!0})}else{const r=await this.getVideosOperationInternal({operationName:t.name,config:i});return t._fromAPIResponse({apiResponse:r,isVertexAI:!1})}}async getVideosOperationInternal(e){var t,i,r,l;let a,f="",c={};if(this.apiClient.isVertexAI()){const u=df(e);return f=C("{operationName}",u._url),c=u._query,delete u.config,delete u._url,delete u._query,a=this.apiClient.request({path:f,queryParams:c,body:JSON.stringify(u),httpMethod:"GET",httpOptions:(t=e.config)===null||t===void 0?void 0:t.httpOptions,abortSignal:(i=e.config)===null||i===void 0?void 0:i.abortSignal}).then(d=>d.json()),a}else{const u=cf(e);return f=C("{operationName}",u._url),c=u._query,delete u.config,delete u._url,delete u._query,a=this.apiClient.request({path:f,queryParams:c,body:JSON.stringify(u),httpMethod:"GET",httpOptions:(r=e.config)===null||r===void 0?void 0:r.httpOptions,abortSignal:(l=e.config)===null||l===void 0?void 0:l.abortSignal}).then(d=>d.json()),a}}async fetchPredictVideosOperationInternal(e){var t,i;let r,l="",a={};if(this.apiClient.isVertexAI()){const f=pf(e);return l=C("{resourceName}:fetchPredictOperation",f._url),a=f._query,delete f.config,delete f._url,delete f._query,r=this.apiClient.request({path:l,queryParams:a,body:JSON.stringify(f),httpMethod:"POST",httpOptions:(t=e.config)===null||t===void 0?void 0:t.httpOptions,abortSignal:(i=e.config)===null||i===void 0?void 0:i.abortSignal}).then(c=>c.json()),r}else throw new Error("This method is only supported by the Vertex AI.")}}/**
* @license
* Copyright 2025 Google LLC
* SPDX-License-Identifier: Apache-2.0
*/function gf(n){const e={},t=o(n,["voiceName"]);return t!=null&&s(e,["voiceName"],t),e}function Et(n){const e={},t=o(n,["prebuiltVoiceConfig"]);return t!=null&&s(e,["prebuiltVoiceConfig"],gf(t)),e}function hf(n){const e={},t=o(n,["speaker"]);t!=null&&s(e,["speaker"],t);const i=o(n,["voiceConfig"]);return i!=null&&s(e,["voiceConfig"],Et(i)),e}function Tf(n){const e={},t=o(n,["speakerVoiceConfigs"]);if(t!=null){let i=t;Array.isArray(i)&&(i=i.map(r=>hf(r))),s(e,["speakerVoiceConfigs"],i)}return e}function yf(n){const e={},t=o(n,["voiceConfig"]);t!=null&&s(e,["voiceConfig"],Et(t));const i=o(n,["multiSpeakerVoiceConfig"]);i!=null&&s(e,["multiSpeakerVoiceConfig"],Tf(i));const r=o(n,["languageCode"]);return r!=null&&s(e,["languageCode"],r),e}function Cf(n){const e={},t=o(n,["fps"]);t!=null&&s(e,["fps"],t);const i=o(n,["endOffset"]);i!=null&&s(e,["endOffset"],i);const r=o(n,["startOffset"]);return r!=null&&s(e,["startOffset"],r),e}function vf(n){const e={};if(o(n,["displayName"])!==void 0)throw new Error("displayName parameter is not supported in Gemini API.");const t=o(n,["data"]);t!=null&&s(e,["data"],t);const i=o(n,["mimeType"]);return i!=null&&s(e,["mimeType"],i),e}function Ef(n){const e={};if(o(n,["displayName"])!==void 0)throw new Error("displayName parameter is not supported in Gemini API.");const t=o(n,["fileUri"]);t!=null&&s(e,["fileUri"],t);const i=o(n,["mimeType"]);return i!=null&&s(e,["mimeType"],i),e}function Sf(n){const e={},t=o(n,["videoMetadata"]);t!=null&&s(e,["videoMetadata"],Cf(t));const i=o(n,["thought"]);i!=null&&s(e,["thought"],i);const r=o(n,["inlineData"]);r!=null&&s(e,["inlineData"],vf(r));const l=o(n,["fileData"]);l!=null&&s(e,["fileData"],Ef(l));const a=o(n,["thoughtSignature"]);a!=null&&s(e,["thoughtSignature"],a);const f=o(n,["codeExecutionResult"]);f!=null&&s(e,["codeExecutionResult"],f);const c=o(n,["executableCode"]);c!=null&&s(e,["executableCode"],c);const u=o(n,["functionCall"]);u!=null&&s(e,["functionCall"],u);const d=o(n,["functionResponse"]);d!=null&&s(e,["functionResponse"],d);const p=o(n,["text"]);return p!=null&&s(e,["text"],p),e}function _f(n){const e={},t=o(n,["parts"]);if(t!=null){let r=t;Array.isArray(r)&&(r=r.map(l=>Sf(l))),s(e,["parts"],r)}const i=o(n,["role"]);return i!=null&&s(e,["role"],i),e}function Af(n){const e={},t=o(n,["behavior"]);t!=null&&s(e,["behavior"],t);const i=o(n,["description"]);i!=null&&s(e,["description"],i);const r=o(n,["name"]);r!=null&&s(e,["name"],r);const l=o(n,["parameters"]);l!=null&&s(e,["parameters"],l);const a=o(n,["parametersJsonSchema"]);a!=null&&s(e,["parametersJsonSchema"],a);const f=o(n,["response"]);f!=null&&s(e,["response"],f);const c=o(n,["responseJsonSchema"]);return c!=null&&s(e,["responseJsonSchema"],c),e}function Mf(n){const e={},t=o(n,["startTime"]);t!=null&&s(e,["startTime"],t);const i=o(n,["endTime"]);return i!=null&&s(e,["endTime"],i),e}function If(n){const e={},t=o(n,["timeRangeFilter"]);return t!=null&&s(e,["timeRangeFilter"],Mf(t)),e}function Rf(n){const e={},t=o(n,["mode"]);t!=null&&s(e,["mode"],t);const i=o(n,["dynamicThreshold"]);return i!=null&&s(e,["dynamicThreshold"],i),e}function Pf(n){const e={},t=o(n,["dynamicRetrievalConfig"]);return t!=null&&s(e,["dynamicRetrievalConfig"],Rf(t)),e}function xf(){return{}}function Df(n){const e={},t=o(n,["functionDeclarations"]);if(t!=null){let c=t;Array.isArray(c)&&(c=c.map(u=>Af(u))),s(e,["functionDeclarations"],c)}if(o(n,["retrieval"])!==void 0)throw new Error("retrieval parameter is not supported in Gemini API.");const i=o(n,["googleSearch"]);i!=null&&s(e,["googleSearch"],If(i));const r=o(n,["googleSearchRetrieval"]);if(r!=null&&s(e,["googleSearchRetrieval"],Pf(r)),o(n,["enterpriseWebSearch"])!==void 0)throw new Error("enterpriseWebSearch parameter is not supported in Gemini API.");if(o(n,["googleMaps"])!==void 0)throw new Error("googleMaps parameter is not supported in Gemini API.");o(n,["urlContext"])!=null&&s(e,["urlContext"],xf());const a=o(n,["codeExecution"]);a!=null&&s(e,["codeExecution"],a);const f=o(n,["computerUse"]);return f!=null&&s(e,["computerUse"],f),e}function Nf(n){const e={},t=o(n,["handle"]);if(t!=null&&s(e,["handle"],t),o(n,["transparent"])!==void 0)throw new Error("transparent parameter is not supported in Gemini API.");return e}function Yn(){return{}}function wf(n){const e={},t=o(n,["disabled"]);t!=null&&s(e,["disabled"],t);const i=o(n,["startOfSpeechSensitivity"]);i!=null&&s(e,["startOfSpeechSensitivity"],i);const r=o(n,["endOfSpeechSensitivity"]);r!=null&&s(e,["endOfSpeechSensitivity"],r);const l=o(n,["prefixPaddingMs"]);l!=null&&s(e,["prefixPaddingMs"],l);const a=o(n,["silenceDurationMs"]);return a!=null&&s(e,["silenceDurationMs"],a),e}function Uf(n){const e={},t=o(n,["automaticActivityDetection"]);t!=null&&s(e,["automaticActivityDetection"],wf(t));const i=o(n,["activityHandling"]);i!=null&&s(e,["activityHandling"],i);const r=o(n,["turnCoverage"]);return r!=null&&s(e,["turnCoverage"],r),e}function kf(n){const e={},t=o(n,["targetTokens"]);return t!=null&&s(e,["targetTokens"],t),e}function Ff(n){const e={},t=o(n,["triggerTokens"]);t!=null&&s(e,["triggerTokens"],t);const i=o(n,["slidingWindow"]);return i!=null&&s(e,["slidingWindow"],kf(i)),e}function Lf(n){const e={},t=o(n,["proactiveAudio"]);return t!=null&&s(e,["proactiveAudio"],t),e}function Vf(n,e){const t={},i=o(n,["generationConfig"]);e!==void 0&&i!=null&&s(e,["setup","generationConfig"],i);const r=o(n,["responseModalities"]);e!==void 0&&r!=null&&s(e,["setup","generationConfig","responseModalities"],r);const l=o(n,["temperature"]);e!==void 0&&l!=null&&s(e,["setup","generationConfig","temperature"],l);const a=o(n,["topP"]);e!==void 0&&a!=null&&s(e,["setup","generationConfig","topP"],a);const f=o(n,["topK"]);e!==void 0&&f!=null&&s(e,["setup","generationConfig","topK"],f);const c=o(n,["maxOutputTokens"]);e!==void 0&&c!=null&&s(e,["setup","generationConfig","maxOutputTokens"],c);const u=o(n,["mediaResolution"]);e!==void 0&&u!=null&&s(e,["setup","generationConfig","mediaResolution"],u);const d=o(n,["seed"]);e!==void 0&&d!=null&&s(e,["setup","generationConfig","seed"],d);const p=o(n,["speechConfig"]);e!==void 0&&p!=null&&s(e,["setup","generationConfig","speechConfig"],yf(Me(p)));const m=o(n,["enableAffectiveDialog"]);e!==void 0&&m!=null&&s(e,["setup","generationConfig","enableAffectiveDialog"],m);const g=o(n,["systemInstruction"]);e!==void 0&&g!=null&&s(e,["setup","systemInstruction"],_f(U(g)));const h=o(n,["tools"]);if(e!==void 0&&h!=null){let _=z(h);Array.isArray(_)&&(_=_.map(I=>Df(K(I)))),s(e,["setup","tools"],_)}const T=o(n,["sessionResumption"]);e!==void 0&&T!=null&&s(e,["setup","sessionResumption"],Nf(T));const y=o(n,["inputAudioTranscription"]);e!==void 0&&y!=null&&s(e,["setup","inputAudioTranscription"],Yn());const S=o(n,["outputAudioTranscription"]);e!==void 0&&S!=null&&s(e,["setup","outputAudioTranscription"],Yn());const v=o(n,["realtimeInputConfig"]);e!==void 0&&v!=null&&s(e,["setup","realtimeInputConfig"],Uf(v));const E=o(n,["contextWindowCompression"]);e!==void 0&&E!=null&&s(e,["setup","contextWindowCompression"],Ff(E));const A=o(n,["proactivity"]);return e!==void 0&&A!=null&&s(e,["setup","proactivity"],Lf(A)),t}function Gf(n,e){const t={},i=o(e,["model"]);i!=null&&s(t,["setup","model"],x(n,i));const r=o(e,["config"]);return r!=null&&s(t,["config"],Vf(r,t)),t}function qf(n,e,t){const i={},r=o(e,["expireTime"]);t!==void 0&&r!=null&&s(t,["expireTime"],r);const l=o(e,["newSessionExpireTime"]);t!==void 0&&l!=null&&s(t,["newSessionExpireTime"],l);const a=o(e,["uses"]);t!==void 0&&a!=null&&s(t,["uses"],a);const f=o(e,["liveConnectConstraints"]);t!==void 0&&f!=null&&s(t,["bidiGenerateContentSetup"],Gf(n,f));const c=o(e,["lockAdditionalFields"]);return t!==void 0&&c!=null&&s(t,["fieldMask"],c),i}function Hf(n,e){const t={},i=o(e,["config"]);return i!=null&&s(t,["config"],qf(n,i,t)),t}function Bf(n){const e={},t=o(n,["name"]);return t!=null&&s(e,["name"],t),e}/**
* @license
* Copyright 2025 Google LLC
* SPDX-License-Identifier: Apache-2.0
*/function Jf(n){const e=[];for(const t in n)if(Object.prototype.hasOwnProperty.call(n,t)){const i=n[t];if(typeof i=="object"&&i!=null&&Object.keys(i).length>0){const r=Object.keys(i).map(l=>`${t}.${l}`);e.push(...r)}else e.push(t)}return e.join(",")}function $f(n,e){let t=null;const i=n.bidiGenerateContentSetup;if(typeof i=="object"&&i!==null&&"setup"in i){const l=i.setup;typeof l=="object"&&l!==null?(n.bidiGenerateContentSetup=l,t=l):delete n.bidiGenerateContentSetup}else i!==void 0&&delete n.bidiGenerateContentSetup;const r=n.fieldMask;if(t){const l=Jf(t);if(Array.isArray(e==null?void 0:e.lockAdditionalFields)&&(e==null?void 0:e.lockAdditionalFields.length)===0)l?n.fieldMask=l:delete n.fieldMask;else if(e!=null&&e.lockAdditionalFields&&e.lockAdditionalFields.length>0&&r!==null&&Array.isArray(r)&&r.length>0){const a=["temperature","topK","topP","maxOutputTokens","responseModalities","seed","speechConfig"];let f=[];r.length>0&&(f=r.map(u=>a.includes(u)?`generationConfig.${u}`:u));const c=[];l&&c.push(l),f.length>0&&c.push(...f),c.length>0?n.fieldMask=c.join(","):delete n.fieldMask}else delete n.fieldMask}else r!==null&&Array.isArray(r)&&r.length>0?n.fieldMask=r.join(","):delete n.fieldMask;return n}class Wf extends H{constructor(e){super(),this.apiClient=e}async create(e){var t,i;let r,l="",a={};if(this.apiClient.isVertexAI())throw new Error("The client.tokens.create method is only supported by the Gemini Developer API.");{const f=Hf(this.apiClient,e);l=C("auth_tokens",f._url),a=f._query,delete f.config,delete f._url,delete f._query;const c=$f(f,e.config);return r=this.apiClient.request({path:l,queryParams:a,body:JSON.stringify(c),httpMethod:"POST",httpOptions:(t=e.config)===null||t===void 0?void 0:t.httpOptions,abortSignal:(i=e.config)===null||i===void 0?void 0:i.abortSignal}).then(u=>u.json()),r.then(u=>Bf(u))}}}/**
* @license
* Copyright 2025 Google LLC
* SPDX-License-Identifier: Apache-2.0
*/function Yf(n){const e={},t=o(n,["name"]);t!=null&&s(e,["_url","name"],t);const i=o(n,["config"]);return i!=null&&s(e,["config"],i),e}function Kf(n,e){const t={},i=o(n,["pageSize"]);e!==void 0&&i!=null&&s(e,["_query","pageSize"],i);const r=o(n,["pageToken"]);e!==void 0&&r!=null&&s(e,["_query","pageToken"],r);const l=o(n,["filter"]);return e!==void 0&&l!=null&&s(e,["_query","filter"],l),t}function zf(n){const e={},t=o(n,["config"]);return t!=null&&s(e,["config"],Kf(t,e)),e}function Xf(n){const e={},t=o(n,["textInput"]);t!=null&&s(e,["textInput"],t);const i=o(n,["output"]);return i!=null&&s(e,["output"],i),e}function Qf(n){const e={};if(o(n,["gcsUri"])!==void 0)throw new Error("gcsUri parameter is not supported in Gemini API.");if(o(n,["vertexDatasetResource"])!==void 0)throw new Error("vertexDatasetResource parameter is not supported in Gemini API.");const t=o(n,["examples"]);if(t!=null){let i=t;Array.isArray(i)&&(i=i.map(r=>Xf(r))),s(e,["examples","examples"],i)}return e}function Zf(n,e){const t={};if(o(n,["validationDataset"])!==void 0)throw new Error("validationDataset parameter is not supported in Gemini API.");const i=o(n,["tunedModelDisplayName"]);if(e!==void 0&&i!=null&&s(e,["displayName"],i),o(n,["description"])!==void 0)throw new Error("description parameter is not supported in Gemini API.");const r=o(n,["epochCount"]);e!==void 0&&r!=null&&s(e,["tuningTask","hyperparameters","epochCount"],r);const l=o(n,["learningRateMultiplier"]);if(l!=null&&s(t,["tuningTask","hyperparameters","learningRateMultiplier"],l),o(n,["exportLastCheckpointOnly"])!==void 0)throw new Error("exportLastCheckpointOnly parameter is not supported in Gemini API.");if(o(n,["adapterSize"])!==void 0)throw new Error("adapterSize parameter is not supported in Gemini API.");const a=o(n,["batchSize"]);e!==void 0&&a!=null&&s(e,["tuningTask","hyperparameters","batchSize"],a);const f=o(n,["learningRate"]);return e!==void 0&&f!=null&&s(e,["tuningTask","hyperparameters","learningRate"],f),t}function bf(n){const e={},t=o(n,["baseModel"]);t!=null&&s(e,["baseModel"],t);const i=o(n,["trainingDataset"]);i!=null&&s(e,["tuningTask","trainingData"],Qf(i));const r=o(n,["config"]);return r!=null&&s(e,["config"],Zf(r,e)),e}function Of(n){const e={},t=o(n,["name"]);t!=null&&s(e,["_url","name"],t);const i=o(n,["config"]);return i!=null&&s(e,["config"],i),e}function jf(n,e){const t={},i=o(n,["pageSize"]);e!==void 0&&i!=null&&s(e,["_query","pageSize"],i);const r=o(n,["pageToken"]);e!==void 0&&r!=null&&s(e,["_query","pageToken"],r);const l=o(n,["filter"]);return e!==void 0&&l!=null&&s(e,["_query","filter"],l),t}function ec(n){const e={},t=o(n,["config"]);return t!=null&&s(e,["config"],jf(t,e)),e}function nc(n,e){const t={},i=o(n,["gcsUri"]);e!==void 0&&i!=null&&s(e,["supervisedTuningSpec","trainingDatasetUri"],i);const r=o(n,["vertexDatasetResource"]);if(e!==void 0&&r!=null&&s(e,["supervisedTuningSpec","trainingDatasetUri"],r),o(n,["examples"])!==void 0)throw new Error("examples parameter is not supported in Vertex AI.");return t}function tc(n,e){const t={},i=o(n,["gcsUri"]);i!=null&&s(t,["validationDatasetUri"],i);const r=o(n,["vertexDatasetResource"]);return e!==void 0&&r!=null&&s(e,["supervisedTuningSpec","trainingDatasetUri"],r),t}function oc(n,e){const t={},i=o(n,["validationDataset"]);e!==void 0&&i!=null&&s(e,["supervisedTuningSpec"],tc(i,t));const r=o(n,["tunedModelDisplayName"]);e!==void 0&&r!=null&&s(e,["tunedModelDisplayName"],r);const l=o(n,["description"]);e!==void 0&&l!=null&&s(e,["description"],l);const a=o(n,["epochCount"]);e!==void 0&&a!=null&&s(e,["supervisedTuningSpec","hyperParameters","epochCount"],a);const f=o(n,["learningRateMultiplier"]);e!==void 0&&f!=null&&s(e,["supervisedTuningSpec","hyperParameters","learningRateMultiplier"],f);const c=o(n,["exportLastCheckpointOnly"]);e!==void 0&&c!=null&&s(e,["supervisedTuningSpec","exportLastCheckpointOnly"],c);const u=o(n,["adapterSize"]);if(e!==void 0&&u!=null&&s(e,["supervisedTuningSpec","hyperParameters","adapterSize"],u),o(n,["batchSize"])!==void 0)throw new Error("batchSize parameter is not supported in Vertex AI.");if(o(n,["learningRate"])!==void 0)throw new Error("learningRate parameter is not supported in Vertex AI.");return t}function ic(n){const e={},t=o(n,["baseModel"]);t!=null&&s(e,["baseModel"],t);const i=o(n,["trainingDataset"]);i!=null&&s(e,["supervisedTuningSpec","trainingDatasetUri"],nc(i,e));const r=o(n,["config"]);return r!=null&&s(e,["config"],oc(r,e)),e}function sc(n){const e={},t=o(n,["name"]);t!=null&&s(e,["model"],t);const i=o(n,["name"]);return i!=null&&s(e,["endpoint"],i),e}function St(n){const e={},t=o(n,["sdkHttpResponse"]);t!=null&&s(e,["sdkHttpResponse"],t);const i=o(n,["name"]);i!=null&&s(e,["name"],i);const r=o(n,["state"]);r!=null&&s(e,["state"],jn(r));const l=o(n,["createTime"]);l!=null&&s(e,["createTime"],l);const a=o(n,["tuningTask","startTime"]);a!=null&&s(e,["startTime"],a);const f=o(n,["tuningTask","completeTime"]);f!=null&&s(e,["endTime"],f);const c=o(n,["updateTime"]);c!=null&&s(e,["updateTime"],c);const u=o(n,["description"]);u!=null&&s(e,["description"],u);const d=o(n,["baseModel"]);d!=null&&s(e,["baseModel"],d);const p=o(n,["_self"]);p!=null&&s(e,["tunedModel"],sc(p));const m=o(n,["distillationSpec"]);m!=null&&s(e,["distillationSpec"],m);const g=o(n,["experiment"]);g!=null&&s(e,["experiment"],g);const h=o(n,["labels"]);h!=null&&s(e,["labels"],h);const T=o(n,["pipelineJob"]);T!=null&&s(e,["pipelineJob"],T);const y=o(n,["satisfiesPzi"]);y!=null&&s(e,["satisfiesPzi"],y);const S=o(n,["satisfiesPzs"]);S!=null&&s(e,["satisfiesPzs"],S);const v=o(n,["serviceAccount"]);v!=null&&s(e,["serviceAccount"],v);const E=o(n,["tunedModelDisplayName"]);return E!=null&&s(e,["tunedModelDisplayName"],E),e}function rc(n){const e={},t=o(n,["sdkHttpResponse"]);t!=null&&s(e,["sdkHttpResponse"],t);const i=o(n,["nextPageToken"]);i!=null&&s(e,["nextPageToken"],i);const r=o(n,["tunedModels"]);if(r!=null){let l=r;Array.isArray(l)&&(l=l.map(a=>St(a))),s(e,["tuningJobs"],l)}return e}function lc(n){const e={},t=o(n,["sdkHttpResponse"]);t!=null&&s(e,["sdkHttpResponse"],t);const i=o(n,["name"]);i!=null&&s(e,["name"],i);const r=o(n,["metadata"]);r!=null&&s(e,["metadata"],r);const l=o(n,["done"]);l!=null&&s(e,["done"],l);const a=o(n,["error"]);return a!=null&&s(e,["error"],a),e}function ac(n){const e={},t=o(n,["checkpointId"]);t!=null&&s(e,["checkpointId"],t);const i=o(n,["epoch"]);i!=null&&s(e,["epoch"],i);const r=o(n,["step"]);r!=null&&s(e,["step"],r);const l=o(n,["endpoint"]);return l!=null&&s(e,["endpoint"],l),e}function uc(n){const e={},t=o(n,["model"]);t!=null&&s(e,["model"],t);const i=o(n,["endpoint"]);i!=null&&s(e,["endpoint"],i);const r=o(n,["checkpoints"]);if(r!=null){let l=r;Array.isArray(l)&&(l=l.map(a=>ac(a))),s(e,["checkpoints"],l)}return e}function Se(n){const e={},t=o(n,["sdkHttpResponse"]);t!=null&&s(e,["sdkHttpResponse"],t);const i=o(n,["name"]);i!=null&&s(e,["name"],i);const r=o(n,["state"]);r!=null&&s(e,["state"],jn(r));const l=o(n,["createTime"]);l!=null&&s(e,["createTime"],l);const a=o(n,["startTime"]);a!=null&&s(e,["startTime"],a);const f=o(n,["endTime"]);f!=null&&s(e,["endTime"],f);const c=o(n,["updateTime"]);c!=null&&s(e,["updateTime"],c);const u=o(n,["error"]);u!=null&&s(e,["error"],u);const d=o(n,["description"]);d!=null&&s(e,["description"],d);const p=o(n,["baseModel"]);p!=null&&s(e,["baseModel"],p);const m=o(n,["tunedModel"]);m!=null&&s(e,["tunedModel"],uc(m));const g=o(n,["supervisedTuningSpec"]);g!=null&&s(e,["supervisedTuningSpec"],g);const h=o(n,["tuningDataStats"]);h!=null&&s(e,["tuningDataStats"],h);const T=o(n,["encryptionSpec"]);T!=null&&s(e,["encryptionSpec"],T);const y=o(n,["partnerModelTuningSpec"]);y!=null&&s(e,["partnerModelTuningSpec"],y);const S=o(n,["distillationSpec"]);S!=null&&s(e,["distillationSpec"],S);const v=o(n,["experiment"]);v!=null&&s(e,["experiment"],v);const E=o(n,["labels"]);E!=null&&s(e,["labels"],E);const A=o(n,["pipelineJob"]);A!=null&&s(e,["pipelineJob"],A);const _=o(n,["satisfiesPzi"]);_!=null&&s(e,["satisfiesPzi"],_);const I=o(n,["satisfiesPzs"]);I!=null&&s(e,["satisfiesPzs"],I);const R=o(n,["serviceAccount"]);R!=null&&s(e,["serviceAccount"],R);const w=o(n,["tunedModelDisplayName"]);return w!=null&&s(e,["tunedModelDisplayName"],w),e}function fc(n){const e={},t=o(n,["sdkHttpResponse"]);t!=null&&s(e,["sdkHttpResponse"],t);const i=o(n,["nextPageToken"]);i!=null&&s(e,["nextPageToken"],i);const r=o(n,["tuningJobs"]);if(r!=null){let l=r;Array.isArray(l)&&(l=l.map(a=>Se(a))),s(e,["tuningJobs"],l)}return e}/**
* @license
* Copyright 2025 Google LLC
* SPDX-License-Identifier: Apache-2.0
*/class cc extends H{constructor(e){super(),this.apiClient=e,this.get=async t=>await this.getInternal(t),this.list=async(t={})=>new O(q.PAGED_ITEM_TUNING_JOBS,i=>this.listInternal(i),await this.listInternal(t),t),this.tune=async t=>{if(this.apiClient.isVertexAI())return await this.tuneInternal(t);{const i=await this.tuneMldevInternal(t);let r="";return i.metadata!==void 0&&i.metadata.tunedModel!==void 0?r=i.metadata.tunedModel:i.name!==void 0&&i.name.includes("/operations/")&&(r=i.name.split("/operations/")[0]),{name:r,state:de.JOB_STATE_QUEUED}}}}async getInternal(e){var t,i,r,l;let a,f="",c={};if(this.apiClient.isVertexAI()){const u=Of(e);return f=C("{name}",u._url),c=u._query,delete u.config,delete u._url,delete u._query,a=this.apiClient.request({path:f,queryParams:c,body:JSON.stringify(u),httpMethod:"GET",httpOptions:(t=e.config)===null||t===void 0?void 0:t.httpOptions,abortSignal:(i=e.config)===null||i===void 0?void 0:i.abortSignal}).then(d=>d.json().then(p=>{const m=p;return m.sdkHttpResponse={headers:d.headers},m})),a.then(d=>Se(d))}else{const u=Yf(e);return f=C("{name}",u._url),c=u._query,delete u.config,delete u._url,delete u._query,a=this.apiClient.request({path:f,queryParams:c,body:JSON.stringify(u),httpMethod:"GET",httpOptions:(r=e.config)===null||r===void 0?void 0:r.httpOptions,abortSignal:(l=e.config)===null||l===void 0?void 0:l.abortSignal}).then(d=>d.json().then(p=>{const m=p;return m.sdkHttpResponse={headers:d.headers},m})),a.then(d=>St(d))}}async listInternal(e){var t,i,r,l;let a,f="",c={};if(this.apiClient.isVertexAI()){const u=ec(e);return f=C("tuningJobs",u._url),c=u._query,delete u.config,delete u._url,delete u._query,a=this.apiClient.request({path:f,queryParams:c,body:JSON.stringify(u),httpMethod:"GET",httpOptions:(t=e.config)===null||t===void 0?void 0:t.httpOptions,abortSignal:(i=e.config)===null||i===void 0?void 0:i.abortSignal}).then(d=>d.json().then(p=>{const m=p;return m.sdkHttpResponse={headers:d.headers},m})),a.then(d=>{const p=fc(d),m=new En;return Object.assign(m,p),m})}else{const u=zf(e);return f=C("tunedModels",u._url),c=u._query,delete u.config,delete u._url,delete u._query,a=this.apiClient.request({path:f,queryParams:c,body:JSON.stringify(u),httpMethod:"GET",httpOptions:(r=e.config)===null||r===void 0?void 0:r.httpOptions,abortSignal:(l=e.config)===null||l===void 0?void 0:l.abortSignal}).then(d=>d.json().then(p=>{const m=p;return m.sdkHttpResponse={headers:d.headers},m})),a.then(d=>{const p=rc(d),m=new En;return Object.assign(m,p),m})}}async tuneInternal(e){var t,i;let r,l="",a={};if(this.apiClient.isVertexAI()){const f=ic(e);return l=C("tuningJobs",f._url),a=f._query,delete f.config,delete f._url,delete f._query,r=this.apiClient.request({path:l,queryParams:a,body:JSON.stringify(f),httpMethod:"POST",httpOptions:(t=e.config)===null||t===void 0?void 0:t.httpOptions,abortSignal:(i=e.config)===null||i===void 0?void 0:i.abortSignal}).then(c=>c.json().then(u=>{const d=u;return d.sdkHttpResponse={headers:c.headers},d})),r.then(c=>Se(c))}else throw new Error("This method is only supported by the Vertex AI.")}async tuneMldevInternal(e){var t,i;let r,l="",a={};if(this.apiClient.isVertexAI())throw new Error("This method is only supported by the Gemini Developer API.");{const f=bf(e);return l=C("tunedModels",f._url),a=f._query,delete f.config,delete f._url,delete f._query,r=this.apiClient.request({path:l,queryParams:a,body:JSON.stringify(f),httpMethod:"POST",httpOptions:(t=e.config)===null||t===void 0?void 0:t.httpOptions,abortSignal:(i=e.config)===null||i===void 0?void 0:i.abortSignal}).then(c=>c.json().then(u=>{const d=u;return d.sdkHttpResponse={headers:c.headers},d})),r.then(c=>lc(c))}}}/**
* @license
* Copyright 2025 Google LLC
* SPDX-License-Identifier: Apache-2.0
*/class dc{async download(e,t){throw new Error("Download to file is not supported in the browser, please use a browser compliant download like an <a> tag.")}}const pc=1024*1024*8,mc=3,gc=1e3,hc=2,fe="x-goog-upload-status";async function Tc(n,e,t){var i,r,l;let a=0,f=0,c=new pe(new Response),u="upload";for(a=n.size;f<a;){const p=Math.min(pc,a-f),m=n.slice(f,f+p);f+p>=a&&(u+=", finalize");let g=0,h=gc;for(;g<mc&&(c=await t.request({path:"",body:m,httpMethod:"POST",httpOptions:{apiVersion:"",baseUrl:e,headers:{"X-Goog-Upload-Command":u,"X-Goog-Upload-Offset":String(f),"Content-Length":String(p)}}}),!(!((i=c==null?void 0:c.headers)===null||i===void 0)&&i[fe]));)g++,await Cc(h),h=h*hc;if(f+=p,((r=c==null?void 0:c.headers)===null||r===void 0?void 0:r[fe])!=="active")break;if(a<=f)throw new Error("All content has been uploaded, but the upload status is not finalized.")}const d=await(c==null?void 0:c.json());if(((l=c==null?void 0:c.headers)===null||l===void 0?void 0:l[fe])!=="final")throw new Error("Failed to upload file: Upload status is not finalized.");return d.file}async function yc(n){return{size:n.size,type:n.type}}function Cc(n){return new Promise(e=>setTimeout(e,n))}class vc{async upload(e,t,i){if(typeof e=="string")throw new Error("File path is not supported in browser uploader.");return await Tc(e,t,i)}async stat(e){if(typeof e=="string")throw new Error("File path is not supported in browser uploader.");return await yc(e)}}/**
* @license
* Copyright 2025 Google LLC
* SPDX-License-Identifier: Apache-2.0
*/class Ec{create(e,t,i){return new Sc(e,t,i)}}class Sc{constructor(e,t,i){this.url=e,this.headers=t,this.callbacks=i}connect(){this.ws=new WebSocket(this.url),this.ws.onopen=this.callbacks.onopen,this.ws.onerror=this.callbacks.onerror,this.ws.onclose=this.callbacks.onclose,this.ws.onmessage=this.callbacks.onmessage}send(e){if(this.ws===void 0)throw new Error("WebSocket is not connected");this.ws.send(e)}close(){if(this.ws===void 0)throw new Error("WebSocket is not connected");this.ws.close()}}/**
* @license
* Copyright 2025 Google LLC
* SPDX-License-Identifier: Apache-2.0
*/const Kn="x-goog-api-key";class _c{constructor(e){this.apiKey=e}async addAuthHeaders(e){if(e.get(Kn)===null){if(this.apiKey.startsWith("auth_tokens/"))throw new Error("Ephemeral tokens are only supported by the live API.");if(!this.apiKey)throw new Error("API key is missing. Please provide a valid API key.");e.append(Kn,this.apiKey)}}}/**
* @license
* Copyright 2025 Google LLC
* SPDX-License-Identifier: Apache-2.0
*/const Ac="gl-node/";class Mc{constructor(e){var t;if(e.apiKey==null)throw new Error("An API Key must be set when running in a browser");if(e.project||e.location)throw new Error("Vertex AI project based authentication is not supported on browser runtimes. Please do not provide a project or location.");this.vertexai=(t=e.vertexai)!==null&&t!==void 0?t:!1,this.apiKey=e.apiKey;const i=It(e.httpOptions,e.vertexai,void 0,void 0);i&&(e.httpOptions?e.httpOptions.baseUrl=i:e.httpOptions={baseUrl:i}),this.apiVersion=e.apiVersion;const r=new _c(this.apiKey);this.apiClient=new $u({auth:r,apiVersion:this.apiVersion,apiKey:this.apiKey,vertexai:this.vertexai,httpOptions:e.httpOptions,userAgentExtra:Ac+"web",uploader:new vc,downloader:new dc}),this.models=new ff(this.apiClient),this.live=new tf(this.apiClient,r,new Ec),this.batches=new Zo(this.apiClient),this.chats=new es(this.models,this.apiClient),this.caches=new bi(this.apiClient),this.files=new ps(this.apiClient),this.operations=new mf(this.apiClient),this.authTokens=new Wf(this.apiClient),this.tunings=new cc(this.apiClient)}}export{Mc as G,G as T};
//# sourceMappingURL=@google-4tyssLU_.js.map