Spaces:
Running
Running
File size: 225,740 Bytes
777dff7 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 |
/**
* @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
|