Spaces:
Running
Running
| /** | |
| * @license | |
| * Copyright 2025 Google LLC | |
| * SPDX-License-Identifier: Apache-2.0 | |
| */let yt,Tt;function Ct(){return{geminiUrl:yt,vertexUrl:Tt}}function _t(n,e,t,o){var r,l;if(!(n!=null&&n.baseUrl)){const a=Ct();return e?(r=a.vertexUrl)!==null&&r!==void 0?r:t:(l=a.geminiUrl)!==null&&l!==void 0?l:o}return n.baseUrl}/** | |
| * @license | |
| * Copyright 2025 Google LLC | |
| * SPDX-License-Identifier: Apache-2.0 | |
| */class Y{}function T(n,e){const t=/\{([^}]+)\}/g;return n.replace(t,(o,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 u=a.slice(0,-2);if(!(u in n))if(Array.isArray(t))n[u]=Array.from({length:t.length},()=>({}));else throw new Error(`Value must be a list given an array path ${a}`);if(Array.isArray(n[u])){const f=n[u];if(Array.isArray(t))for(let d=0;d<f.length;d++){const c=f[d];s(c,e.slice(l+1),t[d])}else for(const d of f)s(d,e.slice(l+1),t)}return}else if(a.endsWith("[0]")){const u=a.slice(0,-3);u in n||(n[u]=[{}]);const f=n[u];s(f[0],e.slice(l+1),t);return}(!n[a]||typeof n[a]!="object")&&(n[a]={}),n=n[a]}const o=e[e.length-1],r=n[o];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: ${o}`)}else o==="_self"&&typeof t=="object"&&t!==null&&!Array.isArray(t)?Object.assign(n,t):n[o]=t}function i(n,e,t=void 0){try{if(e.length===1&&e[0]==="_self")return n;for(let o=0;o<e.length;o++){if(typeof n!="object"||n===null)return t;const r=e[o];if(r.endsWith("[]")){const l=r.slice(0,-2);if(l in n){const a=n[l];return Array.isArray(a)?a.map(u=>i(u,e.slice(o+1),t)):t}else return t}else n=n[r]}return n}catch(o){if(o instanceof TypeError)return t;throw o}}/** | |
| * @license | |
| * Copyright 2025 Google LLC | |
| * SPDX-License-Identifier: Apache-2.0 | |
| */function _e(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 | |
| */function Et(n){const e={},t=i(n,["operationName"]);t!=null&&s(e,["operationName"],t);const o=i(n,["resourceName"]);return o!=null&&s(e,["_url","resourceName"],o),e}function It(n){const e={},t=i(n,["name"]);t!=null&&s(e,["name"],t);const o=i(n,["metadata"]);o!=null&&s(e,["metadata"],o);const r=i(n,["done"]);r!=null&&s(e,["done"],r);const l=i(n,["error"]);l!=null&&s(e,["error"],l);const a=i(n,["response","generateVideoResponse"]);return a!=null&&s(e,["response"],At(a)),e}function St(n){const e={},t=i(n,["name"]);t!=null&&s(e,["name"],t);const o=i(n,["metadata"]);o!=null&&s(e,["metadata"],o);const r=i(n,["done"]);r!=null&&s(e,["done"],r);const l=i(n,["error"]);l!=null&&s(e,["error"],l);const a=i(n,["response"]);return a!=null&&s(e,["response"],vt(a)),e}function At(n){const e={},t=i(n,["generatedSamples"]);if(t!=null){let l=t;Array.isArray(l)&&(l=l.map(a=>Rt(a))),s(e,["generatedVideos"],l)}const o=i(n,["raiMediaFilteredCount"]);o!=null&&s(e,["raiMediaFilteredCount"],o);const r=i(n,["raiMediaFilteredReasons"]);return r!=null&&s(e,["raiMediaFilteredReasons"],r),e}function vt(n){const e={},t=i(n,["videos"]);if(t!=null){let l=t;Array.isArray(l)&&(l=l.map(a=>Pt(a))),s(e,["generatedVideos"],l)}const o=i(n,["raiMediaFilteredCount"]);o!=null&&s(e,["raiMediaFilteredCount"],o);const r=i(n,["raiMediaFilteredReasons"]);return r!=null&&s(e,["raiMediaFilteredReasons"],r),e}function Rt(n){const e={},t=i(n,["_self"]);return t!=null&&s(e,["video"],wt(t)),e}function Pt(n){const e={},t=i(n,["_self"]);return t!=null&&s(e,["video"],Dt(t)),e}function Mt(n){const e={},t=i(n,["operationName"]);return t!=null&&s(e,["_url","operationName"],t),e}function Nt(n){const e={},t=i(n,["operationName"]);return t!=null&&s(e,["_url","operationName"],t),e}function wt(n){const e={},t=i(n,["video","uri"]);t!=null&&s(e,["uri"],t);const o=i(n,["video","encodedVideo"]);o!=null&&s(e,["videoBytes"],_e(o));const r=i(n,["encoding"]);return r!=null&&s(e,["mimeType"],r),e}function Dt(n){const e={},t=i(n,["gcsUri"]);t!=null&&s(e,["uri"],t);const o=i(n,["bytesBase64Encoded"]);o!=null&&s(e,["videoBytes"],_e(o));const r=i(n,["mimeType"]);return r!=null&&s(e,["mimeType"],r),e}/** | |
| * @license | |
| * Copyright 2025 Google LLC | |
| * SPDX-License-Identifier: Apache-2.0 | |
| */var Me;(function(n){n.OUTCOME_UNSPECIFIED="OUTCOME_UNSPECIFIED",n.OUTCOME_OK="OUTCOME_OK",n.OUTCOME_FAILED="OUTCOME_FAILED",n.OUTCOME_DEADLINE_EXCEEDED="OUTCOME_DEADLINE_EXCEEDED"})(Me||(Me={}));var Ne;(function(n){n.LANGUAGE_UNSPECIFIED="LANGUAGE_UNSPECIFIED",n.PYTHON="PYTHON"})(Ne||(Ne={}));var H;(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"})(H||(H={}));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 De;(function(n){n.HARM_BLOCK_METHOD_UNSPECIFIED="HARM_BLOCK_METHOD_UNSPECIFIED",n.SEVERITY="SEVERITY",n.PROBABILITY="PROBABILITY"})(De||(De={}));var xe;(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"})(xe||(xe={}));var Ue;(function(n){n.MODE_UNSPECIFIED="MODE_UNSPECIFIED",n.MODE_DYNAMIC="MODE_DYNAMIC"})(Ue||(Ue={}));var ke;(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"})(ke||(ke={}));var Le;(function(n){n.API_SPEC_UNSPECIFIED="API_SPEC_UNSPECIFIED",n.SIMPLE_SEARCH="SIMPLE_SEARCH",n.ELASTIC_SEARCH="ELASTIC_SEARCH"})(Le||(Le={}));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",n.URL_RETRIEVAL_STATUS_PAYWALL="URL_RETRIEVAL_STATUS_PAYWALL",n.URL_RETRIEVAL_STATUS_UNSAFE="URL_RETRIEVAL_STATUS_UNSAFE"})(qe||(qe={}));var Ve;(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",n.IMAGE_PROHIBITED_CONTENT="IMAGE_PROHIBITED_CONTENT",n.NO_IMAGE="NO_IMAGE"})(Ve||(Ve={}));var Fe;(function(n){n.HARM_PROBABILITY_UNSPECIFIED="HARM_PROBABILITY_UNSPECIFIED",n.NEGLIGIBLE="NEGLIGIBLE",n.LOW="LOW",n.MEDIUM="MEDIUM",n.HIGH="HIGH"})(Fe||(Fe={}));var Ge;(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"})(Ge||(Ge={}));var He;(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"})(He||(He={}));var Be;(function(n){n.TRAFFIC_TYPE_UNSPECIFIED="TRAFFIC_TYPE_UNSPECIFIED",n.ON_DEMAND="ON_DEMAND",n.PROVISIONED_THROUGHPUT="PROVISIONED_THROUGHPUT"})(Be||(Be={}));var te;(function(n){n.MODALITY_UNSPECIFIED="MODALITY_UNSPECIFIED",n.TEXT="TEXT",n.IMAGE="IMAGE",n.AUDIO="AUDIO"})(te||(te={}));var Je;(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"})(Je||(Je={}));var ce;(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"})(ce||(ce={}));var Ye;(function(n){n.TUNING_MODE_UNSPECIFIED="TUNING_MODE_UNSPECIFIED",n.TUNING_MODE_FULL="TUNING_MODE_FULL",n.TUNING_MODE_PEFT_ADAPTER="TUNING_MODE_PEFT_ADAPTER"})(Ye||(Ye={}));var $e;(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"})($e||($e={}));var We;(function(n){n.TUNING_TASK_UNSPECIFIED="TUNING_TASK_UNSPECIFIED",n.TUNING_TASK_I2V="TUNING_TASK_I2V",n.TUNING_TASK_T2V="TUNING_TASK_T2V"})(We||(We={}));var Ke;(function(n){n.FEATURE_SELECTION_PREFERENCE_UNSPECIFIED="FEATURE_SELECTION_PREFERENCE_UNSPECIFIED",n.PRIORITIZE_QUALITY="PRIORITIZE_QUALITY",n.BALANCED="BALANCED",n.PRIORITIZE_COST="PRIORITIZE_COST"})(Ke||(Ke={}));var ze;(function(n){n.UNSPECIFIED="UNSPECIFIED",n.BLOCKING="BLOCKING",n.NON_BLOCKING="NON_BLOCKING"})(ze||(ze={}));var Xe;(function(n){n.MODE_UNSPECIFIED="MODE_UNSPECIFIED",n.MODE_DYNAMIC="MODE_DYNAMIC"})(Xe||(Xe={}));var Qe;(function(n){n.ENVIRONMENT_UNSPECIFIED="ENVIRONMENT_UNSPECIFIED",n.ENVIRONMENT_BROWSER="ENVIRONMENT_BROWSER"})(Qe||(Qe={}));var Ze;(function(n){n.MODE_UNSPECIFIED="MODE_UNSPECIFIED",n.AUTO="AUTO",n.ANY="ANY",n.NONE="NONE",n.VALIDATED="VALIDATED"})(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.FOREGROUND="FOREGROUND",n.BACKGROUND="BACKGROUND",n.PROMPT="PROMPT",n.SEMANTIC="SEMANTIC",n.INTERACTIVE="INTERACTIVE"})(sn||(sn={}));var rn;(function(n){n.ASSET="ASSET",n.STYLE="STYLE"})(rn||(rn={}));var ln;(function(n){n.INSERT="INSERT",n.REMOVE="REMOVE",n.REMOVE_STATIC="REMOVE_STATIC",n.OUTPAINT="OUTPAINT"})(ln||(ln={}));var an;(function(n){n.OPTIMIZED="OPTIMIZED",n.LOSSLESS="LOSSLESS"})(an||(an={}));var un;(function(n){n.STATE_UNSPECIFIED="STATE_UNSPECIFIED",n.PROCESSING="PROCESSING",n.ACTIVE="ACTIVE",n.FAILED="FAILED"})(un||(un={}));var dn;(function(n){n.SOURCE_UNSPECIFIED="SOURCE_UNSPECIFIED",n.UPLOADED="UPLOADED",n.GENERATED="GENERATED"})(dn||(dn={}));var fn;(function(n){n.TURN_COMPLETE_REASON_UNSPECIFIED="TURN_COMPLETE_REASON_UNSPECIFIED",n.MALFORMED_FUNCTION_CALL="MALFORMED_FUNCTION_CALL",n.RESPONSE_REJECTED="RESPONSE_REJECTED",n.NEED_MORE_INPUT="NEED_MORE_INPUT"})(fn||(fn={}));var cn;(function(n){n.MODALITY_UNSPECIFIED="MODALITY_UNSPECIFIED",n.TEXT="TEXT",n.IMAGE="IMAGE",n.VIDEO="VIDEO",n.AUDIO="AUDIO",n.DOCUMENT="DOCUMENT"})(cn||(cn={}));var pn;(function(n){n.START_SENSITIVITY_UNSPECIFIED="START_SENSITIVITY_UNSPECIFIED",n.START_SENSITIVITY_HIGH="START_SENSITIVITY_HIGH",n.START_SENSITIVITY_LOW="START_SENSITIVITY_LOW"})(pn||(pn={}));var mn;(function(n){n.END_SENSITIVITY_UNSPECIFIED="END_SENSITIVITY_UNSPECIFIED",n.END_SENSITIVITY_HIGH="END_SENSITIVITY_HIGH",n.END_SENSITIVITY_LOW="END_SENSITIVITY_LOW"})(mn||(mn={}));var hn;(function(n){n.ACTIVITY_HANDLING_UNSPECIFIED="ACTIVITY_HANDLING_UNSPECIFIED",n.START_OF_ACTIVITY_INTERRUPTS="START_OF_ACTIVITY_INTERRUPTS",n.NO_INTERRUPTION="NO_INTERRUPTION"})(hn||(hn={}));var gn;(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"})(gn||(gn={}));var yn;(function(n){n.SCHEDULING_UNSPECIFIED="SCHEDULING_UNSPECIFIED",n.SILENT="SILENT",n.WHEN_IDLE="WHEN_IDLE",n.INTERRUPT="INTERRUPT"})(yn||(yn={}));var Tn;(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"})(Tn||(Tn={}));var Cn;(function(n){n.MUSIC_GENERATION_MODE_UNSPECIFIED="MUSIC_GENERATION_MODE_UNSPECIFIED",n.QUALITY="QUALITY",n.DIVERSITY="DIVERSITY",n.VOCALIZATION="VOCALIZATION"})(Cn||(Cn={}));var $;(function(n){n.PLAYBACK_CONTROL_UNSPECIFIED="PLAYBACK_CONTROL_UNSPECIFIED",n.PLAY="PLAY",n.PAUSE="PAUSE",n.STOP="STOP",n.RESET_CONTEXT="RESET_CONTEXT"})($||($={}));class pe{constructor(e){const t={};for(const o of e.headers.entries())t[o[0]]=o[1];this.headers=t,this.responseInternal=e}json(){return this.responseInternal.json()}}class b{get text(){var e,t,o,r,l,a,u,f;if(((r=(o=(t=(e=this.candidates)===null||e===void 0?void 0:e[0])===null||t===void 0?void 0:t.content)===null||o===void 0?void 0:o.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 d="",c=!1;const p=[];for(const m of(f=(u=(a=(l=this.candidates)===null||l===void 0?void 0:l[0])===null||a===void 0?void 0:a.content)===null||u===void 0?void 0:u.parts)!==null&&f!==void 0?f:[]){for(const[h,g]of Object.entries(m))h!=="text"&&h!=="thought"&&(g!==null||g!==void 0)&&p.push(h);if(typeof m.text=="string"){if(typeof m.thought=="boolean"&&m.thought)continue;c=!0,d+=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.`),c?d:void 0}get data(){var e,t,o,r,l,a,u,f;if(((r=(o=(t=(e=this.candidates)===null||e===void 0?void 0:e[0])===null||t===void 0?void 0:t.content)===null||o===void 0?void 0:o.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 d="";const c=[];for(const p of(f=(u=(a=(l=this.candidates)===null||l===void 0?void 0:l[0])===null||a===void 0?void 0:a.content)===null||u===void 0?void 0:u.parts)!==null&&f!==void 0?f:[]){for(const[m,h]of Object.entries(p))m!=="inlineData"&&(h!==null||h!==void 0)&&c.push(m);p.inlineData&&typeof p.inlineData.data=="string"&&(d+=atob(p.inlineData.data))}return c.length>0&&console.warn(`there are non-data parts ${c} in the response, returning concatenation of all data parts. Please refer to the non data parts for a full response from model.`),d.length>0?btoa(d):void 0}get functionCalls(){var e,t,o,r,l,a,u,f;if(((r=(o=(t=(e=this.candidates)===null||e===void 0?void 0:e[0])===null||t===void 0?void 0:t.content)===null||o===void 0?void 0:o.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 d=(f=(u=(a=(l=this.candidates)===null||l===void 0?void 0:l[0])===null||a===void 0?void 0:a.content)===null||u===void 0?void 0:u.parts)===null||f===void 0?void 0:f.filter(c=>c.functionCall).map(c=>c.functionCall).filter(c=>c!==void 0);if((d==null?void 0:d.length)!==0)return d}get executableCode(){var e,t,o,r,l,a,u,f,d;if(((r=(o=(t=(e=this.candidates)===null||e===void 0?void 0:e[0])===null||t===void 0?void 0:t.content)===null||o===void 0?void 0:o.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 c=(f=(u=(a=(l=this.candidates)===null||l===void 0?void 0:l[0])===null||a===void 0?void 0:a.content)===null||u===void 0?void 0:u.parts)===null||f===void 0?void 0:f.filter(p=>p.executableCode).map(p=>p.executableCode).filter(p=>p!==void 0);if((c==null?void 0:c.length)!==0)return(d=c==null?void 0:c[0])===null||d===void 0?void 0:d.code}get codeExecutionResult(){var e,t,o,r,l,a,u,f,d;if(((r=(o=(t=(e=this.candidates)===null||e===void 0?void 0:e[0])===null||t===void 0?void 0:t.content)===null||o===void 0?void 0:o.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 c=(f=(u=(a=(l=this.candidates)===null||l===void 0?void 0:l[0])===null||a===void 0?void 0:a.content)===null||u===void 0?void 0:u.parts)===null||f===void 0?void 0:f.filter(p=>p.codeExecutionResult).map(p=>p.codeExecutionResult).filter(p=>p!==void 0);if((c==null?void 0:c.length)!==0)return(d=c==null?void 0:c[0])===null||d===void 0?void 0:d.output}}class _n{}class En{}class xt{}class Ut{}class kt{}class Lt{}class In{}class Sn{}class An{}class qt{}class oe{_fromAPIResponse({apiResponse:e,isVertexAI:t}){const o=new oe;let r;const l=e;return t?r=St(l):r=It(l),Object.assign(o,r),o}}class vn{}class Rn{}class Pn{}class Vt{}class Ft{}class Gt{}class Mn{}class Ht{get text(){var e,t,o;let r="",l=!1;const a=[];for(const u of(o=(t=(e=this.serverContent)===null||e===void 0?void 0:e.modelTurn)===null||t===void 0?void 0:t.parts)!==null&&o!==void 0?o:[]){for(const[f,d]of Object.entries(u))f!=="text"&&f!=="thought"&&d!==null&&a.push(f);if(typeof u.text=="string"){if(typeof u.thought=="boolean"&&u.thought)continue;l=!0,r+=u.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,o;let r="";const l=[];for(const a of(o=(t=(e=this.serverContent)===null||e===void 0?void 0:e.modelTurn)===null||t===void 0?void 0:t.parts)!==null&&o!==void 0?o:[]){for(const[u,f]of Object.entries(a))u!=="inlineData"&&f!==null&&l.push(u);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 Bt{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 M(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 Kn(n,e){const t=M(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 zn(n){return Array.isArray(n)?n.map(e=>ie(e)):[ie(n)]}function ie(n){if(typeof n=="object"&&n!==null)return n;throw new Error(`Could not parse input as Blob. Unsupported blob type: ${typeof n}`)}function Xn(n){const e=ie(n);if(e.mimeType&&e.mimeType.startsWith("image/"))return e;throw new Error(`Unsupported mime type: ${e.mimeType}`)}function Qn(n){const e=ie(n);if(e.mimeType&&e.mimeType.startsWith("audio/"))return e;throw new Error(`Unsupported mime type: ${e.mimeType}`)}function Nn(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 Zn(n){if(n==null||Array.isArray(n)&&n.length===0)throw new Error("PartListUnion is required");return Array.isArray(n)?n.map(e=>Nn(e)):[Nn(n)]}function me(n){return n!=null&&typeof n=="object"&&"parts"in n&&Array.isArray(n.parts)}function wn(n){return n!=null&&typeof n=="object"&&"functionCall"in n}function Dn(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:Zn(n)}}function Ee(n,e){if(!e)return[];if(n.isVertexAI()&&Array.isArray(e))return e.flatMap(t=>{const o=U(t);return o.parts&&o.parts.length>0&&o.parts[0].text!==void 0?[o.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 L(n){if(n==null||Array.isArray(n)&&n.length===0)throw new Error("contents are required");if(!Array.isArray(n)){if(wn(n)||Dn(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=[],o=me(n[0]);for(const r of n){const l=me(r);if(l!=o)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(wn(r)||Dn(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 o||e.push({role:"user",parts:Zn(t)}),e}function Jt(n,e){n.includes("null")&&(e.nullable=!0);const t=n.filter(o=>o!=="null");if(t.length===1)e.type=Object.values(H).includes(t[0].toUpperCase())?t[0].toUpperCase():H.TYPE_UNSPECIFIED;else{e.anyOf=[];for(const o of t)e.anyOf.push({type:Object.values(H).includes(o.toUpperCase())?o.toUpperCase():H.TYPE_UNSPECIFIED})}}function W(n){const e={},t=["items"],o=["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&&Jt(n.type,e);for(const[a,u]of Object.entries(n))if(u!=null)if(a=="type"){if(u==="null")throw new Error("type: null can not be the only possible type for the field.");if(u instanceof Array)continue;e.type=Object.values(H).includes(u.toUpperCase())?u.toUpperCase():H.TYPE_UNSPECIFIED}else if(t.includes(a))e[a]=W(u);else if(o.includes(a)){const f=[];for(const d of u){if(d.type=="null"){e.nullable=!0;continue}f.push(W(d))}e[a]=f}else if(r.includes(a)){const f={};for(const[d,c]of Object.entries(u))f[d]=W(c);e[a]=f}else{if(a==="additionalProperties")continue;e[a]=u}return e}function Ie(n){return W(n)}function Se(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 Ae(n){if("multiSpeakerVoiceConfig"in n)throw new Error("multiSpeakerVoiceConfig is not supported in the live API.");return n}function X(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=W(e.parameters)),e.response&&(Object.keys(e.response).includes("$schema")?e.responseJsonSchema||(e.responseJsonSchema=e.response,delete e.response):e.response=W(e.response));return n}function Q(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 Yt(n,e,t,o=1){const r=!e.startsWith(`${t}/`)&&e.split("/").length===o;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 G(n,e){if(typeof e!="string")throw new Error("name must be a string");return Yt(n,e,"cachedContents")}function bn(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 _e(n)}function $t(n){return n!=null&&typeof n=="object"&&"name"in n}function Wt(n){return n!=null&&typeof n=="object"&&"video"in n}function Kt(n){return n!=null&&typeof n=="object"&&"uri"in n}function On(n){var e;let t;if($t(n)&&(t=n.name),!(Kt(n)&&(t=n.uri,t===void 0))&&!(Wt(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 jn(n,e){let t;return n.isVertexAI()?t=e?"publishers/google/models":"models":t=e?"models":"tunedModels",t}function et(n){for(const e of["models","tunedModels","publisherModels"])if(zt(n,e))return n[e];return[]}function zt(n,e){return n!==null&&typeof n=="object"&&e in n}function Xt(n,e={}){const t=n,o={name:t.name,description:t.description,parametersJsonSchema:t.inputSchema};return t.outputSchema&&(o.responseJsonSchema=t.outputSchema),e.behavior&&(o.behavior=e.behavior),{functionDeclarations:[o]}}function Qt(n,e={}){const t=[],o=new Set;for(const r of n){const l=r.name;if(o.has(l))throw new Error(`Duplicate function name ${l} found in MCP tools. Please ensure function names are unique.`);o.add(l);const a=Xt(r,e);a.functionDeclarations&&t.push(...a.functionDeclarations)}return{functionDeclarations:t}}function nt(n,e){let t;if(typeof e=="string")if(n.isVertexAI())if(e.startsWith("gs://"))t={format:"jsonl",gcsUri:[e]};else if(e.startsWith("bq://"))t={format:"bigquery",bigqueryUri:e};else throw new Error(`Unsupported string source for Vertex AI: ${e}`);else if(e.startsWith("files/"))t={fileName:e};else throw new Error(`Unsupported string source for Gemini API: ${e}`);else if(Array.isArray(e)){if(n.isVertexAI())throw new Error("InlinedRequest[] is not supported in Vertex AI.");t={inlinedRequests:e}}else t=e;const o=[t.gcsUri,t.bigqueryUri].filter(Boolean).length,r=[t.inlinedRequests,t.fileName].filter(Boolean).length;if(n.isVertexAI()){if(r>0||o!==1)throw new Error("Exactly one of `gcsUri` or `bigqueryUri` must be set for Vertex AI.")}else if(o>0||r!==1)throw new Error("Exactly one of `inlinedRequests`, `fileName`, must be set for Gemini API.");return t}function Zt(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 tt(n){if(typeof n!="object"||n===null)return{};const e=n,t=e.inlinedResponses;if(typeof t!="object"||t===null)return n;const r=t.inlinedResponses;if(!Array.isArray(r)||r.length===0)return n;let l=!1;for(const a of r){if(typeof a!="object"||a===null)continue;const f=a.response;if(typeof f!="object"||f===null)continue;if(f.embedding!==void 0){l=!0;break}}return l&&(e.inlinedEmbedContentResponses=e.inlinedResponses,delete e.inlinedResponses),n}function Z(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 ot(n){const e=n;return e==="BATCH_STATE_UNSPECIFIED"?"JOB_STATE_UNSPECIFIED":e==="BATCH_STATE_PENDING"?"JOB_STATE_PENDING":e==="BATCH_STATE_RUNNING"?"JOB_STATE_RUNNING":e==="BATCH_STATE_SUCCEEDED"?"JOB_STATE_SUCCEEDED":e==="BATCH_STATE_FAILED"?"JOB_STATE_FAILED":e==="BATCH_STATE_CANCELLED"?"JOB_STATE_CANCELLED":e==="BATCH_STATE_EXPIRED"?"JOB_STATE_EXPIRED":e}/** | |
| * @license | |
| * Copyright 2025 Google LLC | |
| * SPDX-License-Identifier: Apache-2.0 | |
| */function bt(n){const e={},t=i(n,["responsesFile"]);t!=null&&s(e,["fileName"],t);const o=i(n,["inlinedResponses","inlinedResponses"]);if(o!=null){let l=o;Array.isArray(l)&&(l=l.map(a=>Po(a))),s(e,["inlinedResponses"],l)}const r=i(n,["inlinedEmbedContentResponses","inlinedResponses"]);if(r!=null){let l=r;Array.isArray(l)&&(l=l.map(a=>a)),s(e,["inlinedEmbedContentResponses"],l)}return e}function Ot(n){const e={},t=i(n,["predictionsFormat"]);t!=null&&s(e,["format"],t);const o=i(n,["gcsDestination","outputUriPrefix"]);o!=null&&s(e,["gcsUri"],o);const r=i(n,["bigqueryDestination","outputUri"]);return r!=null&&s(e,["bigqueryUri"],r),e}function jt(n){const e={},t=i(n,["format"]);t!=null&&s(e,["predictionsFormat"],t);const o=i(n,["gcsUri"]);o!=null&&s(e,["gcsDestination","outputUriPrefix"],o);const r=i(n,["bigqueryUri"]);if(r!=null&&s(e,["bigqueryDestination","outputUri"],r),i(n,["fileName"])!==void 0)throw new Error("fileName parameter is not supported in Vertex AI.");if(i(n,["inlinedResponses"])!==void 0)throw new Error("inlinedResponses parameter is not supported in Vertex AI.");if(i(n,["inlinedEmbedContentResponses"])!==void 0)throw new Error("inlinedEmbedContentResponses parameter is not supported in Vertex AI.");return e}function O(n){const e={},t=i(n,["name"]);t!=null&&s(e,["name"],t);const o=i(n,["metadata","displayName"]);o!=null&&s(e,["displayName"],o);const r=i(n,["metadata","state"]);r!=null&&s(e,["state"],ot(r));const l=i(n,["metadata","createTime"]);l!=null&&s(e,["createTime"],l);const a=i(n,["metadata","endTime"]);a!=null&&s(e,["endTime"],a);const u=i(n,["metadata","updateTime"]);u!=null&&s(e,["updateTime"],u);const f=i(n,["metadata","model"]);f!=null&&s(e,["model"],f);const d=i(n,["metadata","output"]);return d!=null&&s(e,["dest"],bt(tt(d))),e}function he(n){const e={},t=i(n,["name"]);t!=null&&s(e,["name"],t);const o=i(n,["displayName"]);o!=null&&s(e,["displayName"],o);const r=i(n,["state"]);r!=null&&s(e,["state"],ot(r));const l=i(n,["error"]);l!=null&&s(e,["error"],l);const a=i(n,["createTime"]);a!=null&&s(e,["createTime"],a);const u=i(n,["startTime"]);u!=null&&s(e,["startTime"],u);const f=i(n,["endTime"]);f!=null&&s(e,["endTime"],f);const d=i(n,["updateTime"]);d!=null&&s(e,["updateTime"],d);const c=i(n,["model"]);c!=null&&s(e,["model"],c);const p=i(n,["inputConfig"]);p!=null&&s(e,["src"],eo(p));const m=i(n,["outputConfig"]);return m!=null&&s(e,["dest"],Ot(tt(m))),e}function eo(n){const e={},t=i(n,["instancesFormat"]);t!=null&&s(e,["format"],t);const o=i(n,["gcsSource","uris"]);o!=null&&s(e,["gcsUri"],o);const r=i(n,["bigquerySource","inputUri"]);return r!=null&&s(e,["bigqueryUri"],r),e}function no(n,e){const t={};if(i(e,["format"])!==void 0)throw new Error("format parameter is not supported in Gemini API.");if(i(e,["gcsUri"])!==void 0)throw new Error("gcsUri parameter is not supported in Gemini API.");if(i(e,["bigqueryUri"])!==void 0)throw new Error("bigqueryUri parameter is not supported in Gemini API.");const o=i(e,["fileName"]);o!=null&&s(t,["fileName"],o);const r=i(e,["inlinedRequests"]);if(r!=null){let l=r;Array.isArray(l)&&(l=l.map(a=>Ro(n,a))),s(t,["requests","requests"],l)}return t}function to(n){const e={},t=i(n,["format"]);t!=null&&s(e,["instancesFormat"],t);const o=i(n,["gcsUri"]);o!=null&&s(e,["gcsSource","uris"],o);const r=i(n,["bigqueryUri"]);if(r!=null&&s(e,["bigquerySource","inputUri"],r),i(n,["fileName"])!==void 0)throw new Error("fileName parameter is not supported in Vertex AI.");if(i(n,["inlinedRequests"])!==void 0)throw new Error("inlinedRequests parameter is not supported in Vertex AI.");return e}function oo(n){const e={};if(i(n,["displayName"])!==void 0)throw new Error("displayName parameter is not supported in Gemini API.");const t=i(n,["data"]);t!=null&&s(e,["data"],t);const o=i(n,["mimeType"]);return o!=null&&s(e,["mimeType"],o),e}function io(n,e){const t={},o=i(e,["name"]);return o!=null&&s(t,["_url","name"],Z(n,o)),t}function so(n,e){const t={},o=i(e,["name"]);return o!=null&&s(t,["_url","name"],Z(n,o)),t}function ro(n){const e={},t=i(n,["content"]);t!=null&&s(e,["content"],t);const o=i(n,["citationMetadata"]);o!=null&&s(e,["citationMetadata"],lo(o));const r=i(n,["tokenCount"]);r!=null&&s(e,["tokenCount"],r);const l=i(n,["finishReason"]);l!=null&&s(e,["finishReason"],l);const a=i(n,["urlContextMetadata"]);a!=null&&s(e,["urlContextMetadata"],a);const u=i(n,["avgLogprobs"]);u!=null&&s(e,["avgLogprobs"],u);const f=i(n,["groundingMetadata"]);f!=null&&s(e,["groundingMetadata"],f);const d=i(n,["index"]);d!=null&&s(e,["index"],d);const c=i(n,["logprobsResult"]);c!=null&&s(e,["logprobsResult"],c);const p=i(n,["safetyRatings"]);if(p!=null){let m=p;Array.isArray(m)&&(m=m.map(h=>h)),s(e,["safetyRatings"],m)}return e}function lo(n){const e={},t=i(n,["citationSources"]);if(t!=null){let o=t;Array.isArray(o)&&(o=o.map(r=>r)),s(e,["citations"],o)}return e}function it(n){const e={},t=i(n,["parts"]);if(t!=null){let r=t;Array.isArray(r)&&(r=r.map(l=>ko(l))),s(e,["parts"],r)}const o=i(n,["role"]);return o!=null&&s(e,["role"],o),e}function ao(n,e){const t={},o=i(n,["displayName"]);if(e!==void 0&&o!=null&&s(e,["batch","displayName"],o),i(n,["dest"])!==void 0)throw new Error("dest parameter is not supported in Gemini API.");return t}function uo(n,e){const t={},o=i(n,["displayName"]);e!==void 0&&o!=null&&s(e,["displayName"],o);const r=i(n,["dest"]);return e!==void 0&&r!=null&&s(e,["outputConfig"],jt(Zt(r))),t}function xn(n,e){const t={},o=i(e,["model"]);o!=null&&s(t,["_url","model"],M(n,o));const r=i(e,["src"]);r!=null&&s(t,["batch","inputConfig"],no(n,nt(n,r)));const l=i(e,["config"]);return l!=null&&ao(l,t),t}function fo(n,e){const t={},o=i(e,["model"]);o!=null&&s(t,["model"],M(n,o));const r=i(e,["src"]);r!=null&&s(t,["inputConfig"],to(nt(n,r)));const l=i(e,["config"]);return l!=null&&uo(l,t),t}function co(n,e){const t={},o=i(n,["displayName"]);return e!==void 0&&o!=null&&s(e,["batch","displayName"],o),t}function de(n,e){const t={},o=i(e,["model"]);o!=null&&s(t,["_url","model"],M(n,o));const r=i(e,["src"]);r!=null&&s(t,["batch","inputConfig"],Co(n,r));const l=i(e,["config"]);return l!=null&&co(l,t),t}function po(n,e){const t={},o=i(e,["name"]);return o!=null&&s(t,["_url","name"],Z(n,o)),t}function mo(n,e){const t={},o=i(e,["name"]);return o!=null&&s(t,["_url","name"],Z(n,o)),t}function ho(n){const e={},t=i(n,["sdkHttpResponse"]);t!=null&&s(e,["sdkHttpResponse"],t);const o=i(n,["name"]);o!=null&&s(e,["name"],o);const r=i(n,["done"]);r!=null&&s(e,["done"],r);const l=i(n,["error"]);return l!=null&&s(e,["error"],l),e}function go(n){const e={},t=i(n,["sdkHttpResponse"]);t!=null&&s(e,["sdkHttpResponse"],t);const o=i(n,["name"]);o!=null&&s(e,["name"],o);const r=i(n,["done"]);r!=null&&s(e,["done"],r);const l=i(n,["error"]);return l!=null&&s(e,["error"],l),e}function yo(n,e){const t={},o=i(e,["contents"]);if(o!=null){let l=Ee(n,o);Array.isArray(l)&&(l=l.map(a=>a)),s(t,["requests[]","request","content"],l)}const r=i(e,["config"]);return r!=null&&s(t,["_self"],To(r,t)),t}function To(n,e){const t={},o=i(n,["taskType"]);e!==void 0&&o!=null&&s(e,["requests[]","taskType"],o);const r=i(n,["title"]);e!==void 0&&r!=null&&s(e,["requests[]","title"],r);const l=i(n,["outputDimensionality"]);if(e!==void 0&&l!=null&&s(e,["requests[]","outputDimensionality"],l),i(n,["mimeType"])!==void 0)throw new Error("mimeType parameter is not supported in Gemini API.");if(i(n,["autoTruncate"])!==void 0)throw new Error("autoTruncate parameter is not supported in Gemini API.");return t}function Co(n,e){const t={},o=i(e,["fileName"]);o!=null&&s(t,["file_name"],o);const r=i(e,["inlinedRequests"]);return r!=null&&s(t,["requests"],yo(n,r)),t}function _o(n){const e={};if(i(n,["displayName"])!==void 0)throw new Error("displayName parameter is not supported in Gemini API.");const t=i(n,["fileUri"]);t!=null&&s(e,["fileUri"],t);const o=i(n,["mimeType"]);return o!=null&&s(e,["mimeType"],o),e}function Eo(n,e,t){const o={},r=i(e,["systemInstruction"]);t!==void 0&&r!=null&&s(t,["systemInstruction"],it(U(r)));const l=i(e,["temperature"]);l!=null&&s(o,["temperature"],l);const a=i(e,["topP"]);a!=null&&s(o,["topP"],a);const u=i(e,["topK"]);u!=null&&s(o,["topK"],u);const f=i(e,["candidateCount"]);f!=null&&s(o,["candidateCount"],f);const d=i(e,["maxOutputTokens"]);d!=null&&s(o,["maxOutputTokens"],d);const c=i(e,["stopSequences"]);c!=null&&s(o,["stopSequences"],c);const p=i(e,["responseLogprobs"]);p!=null&&s(o,["responseLogprobs"],p);const m=i(e,["logprobs"]);m!=null&&s(o,["logprobs"],m);const h=i(e,["presencePenalty"]);h!=null&&s(o,["presencePenalty"],h);const g=i(e,["frequencyPenalty"]);g!=null&&s(o,["frequencyPenalty"],g);const y=i(e,["seed"]);y!=null&&s(o,["seed"],y);const _=i(e,["responseMimeType"]);_!=null&&s(o,["responseMimeType"],_);const I=i(e,["responseSchema"]);I!=null&&s(o,["responseSchema"],Ie(I));const E=i(e,["responseJsonSchema"]);if(E!=null&&s(o,["responseJsonSchema"],E),i(e,["routingConfig"])!==void 0)throw new Error("routingConfig parameter is not supported in Gemini API.");if(i(e,["modelSelectionConfig"])!==void 0)throw new Error("modelSelectionConfig parameter is not supported in Gemini API.");const C=i(e,["safetySettings"]);if(t!==void 0&&C!=null){let D=C;Array.isArray(D)&&(D=D.map(V=>Lo(V))),s(t,["safetySettings"],D)}const S=i(e,["tools"]);if(t!==void 0&&S!=null){let D=Q(S);Array.isArray(D)&&(D=D.map(V=>qo(X(V)))),s(t,["tools"],D)}const v=i(e,["toolConfig"]);if(t!==void 0&&v!=null&&s(t,["toolConfig"],v),i(e,["labels"])!==void 0)throw new Error("labels parameter is not supported in Gemini API.");const R=i(e,["cachedContent"]);t!==void 0&&R!=null&&s(t,["cachedContent"],G(n,R));const P=i(e,["responseModalities"]);P!=null&&s(o,["responseModalities"],P);const x=i(e,["mediaResolution"]);x!=null&&s(o,["mediaResolution"],x);const A=i(e,["speechConfig"]);if(A!=null&&s(o,["speechConfig"],Se(A)),i(e,["audioTimestamp"])!==void 0)throw new Error("audioTimestamp parameter is not supported in Gemini API.");const N=i(e,["thinkingConfig"]);N!=null&&s(o,["thinkingConfig"],N);const k=i(e,["imageConfig"]);return k!=null&&s(o,["imageConfig"],k),o}function Io(n){const e={},t=i(n,["sdkHttpResponse"]);t!=null&&s(e,["sdkHttpResponse"],t);const o=i(n,["candidates"]);if(o!=null){let f=o;Array.isArray(f)&&(f=f.map(d=>ro(d))),s(e,["candidates"],f)}const r=i(n,["modelVersion"]);r!=null&&s(e,["modelVersion"],r);const l=i(n,["promptFeedback"]);l!=null&&s(e,["promptFeedback"],l);const a=i(n,["responseId"]);a!=null&&s(e,["responseId"],a);const u=i(n,["usageMetadata"]);return u!=null&&s(e,["usageMetadata"],u),e}function So(n,e){const t={},o=i(e,["name"]);return o!=null&&s(t,["_url","name"],Z(n,o)),t}function Ao(n,e){const t={},o=i(e,["name"]);return o!=null&&s(t,["_url","name"],Z(n,o)),t}function vo(n){const e={},t=i(n,["timeRangeFilter"]);if(t!=null&&s(e,["timeRangeFilter"],t),i(n,["excludeDomains"])!==void 0)throw new Error("excludeDomains parameter is not supported in Gemini API.");return e}function Ro(n,e){const t={},o=i(e,["model"]);o!=null&&s(t,["request","model"],M(n,o));const r=i(e,["contents"]);if(r!=null){let a=L(r);Array.isArray(a)&&(a=a.map(u=>it(u))),s(t,["request","contents"],a)}const l=i(e,["config"]);return l!=null&&s(t,["request","generationConfig"],Eo(n,l,i(t,["request"],{}))),t}function Po(n){const e={},t=i(n,["response"]);t!=null&&s(e,["response"],Io(t));const o=i(n,["error"]);return o!=null&&s(e,["error"],o),e}function Mo(n,e){const t={},o=i(n,["pageSize"]);e!==void 0&&o!=null&&s(e,["_query","pageSize"],o);const r=i(n,["pageToken"]);if(e!==void 0&&r!=null&&s(e,["_query","pageToken"],r),i(n,["filter"])!==void 0)throw new Error("filter parameter is not supported in Gemini API.");return t}function No(n,e){const t={},o=i(n,["pageSize"]);e!==void 0&&o!=null&&s(e,["_query","pageSize"],o);const r=i(n,["pageToken"]);e!==void 0&&r!=null&&s(e,["_query","pageToken"],r);const l=i(n,["filter"]);return e!==void 0&&l!=null&&s(e,["_query","filter"],l),t}function wo(n){const e={},t=i(n,["config"]);return t!=null&&Mo(t,e),e}function Do(n){const e={},t=i(n,["config"]);return t!=null&&No(t,e),e}function xo(n){const e={},t=i(n,["sdkHttpResponse"]);t!=null&&s(e,["sdkHttpResponse"],t);const o=i(n,["nextPageToken"]);o!=null&&s(e,["nextPageToken"],o);const r=i(n,["operations"]);if(r!=null){let l=r;Array.isArray(l)&&(l=l.map(a=>O(a))),s(e,["batchJobs"],l)}return e}function Uo(n){const e={},t=i(n,["sdkHttpResponse"]);t!=null&&s(e,["sdkHttpResponse"],t);const o=i(n,["nextPageToken"]);o!=null&&s(e,["nextPageToken"],o);const r=i(n,["batchPredictionJobs"]);if(r!=null){let l=r;Array.isArray(l)&&(l=l.map(a=>he(a))),s(e,["batchJobs"],l)}return e}function ko(n){const e={},t=i(n,["videoMetadata"]);t!=null&&s(e,["videoMetadata"],t);const o=i(n,["thought"]);o!=null&&s(e,["thought"],o);const r=i(n,["inlineData"]);r!=null&&s(e,["inlineData"],oo(r));const l=i(n,["fileData"]);l!=null&&s(e,["fileData"],_o(l));const a=i(n,["thoughtSignature"]);a!=null&&s(e,["thoughtSignature"],a);const u=i(n,["functionCall"]);u!=null&&s(e,["functionCall"],u);const f=i(n,["codeExecutionResult"]);f!=null&&s(e,["codeExecutionResult"],f);const d=i(n,["executableCode"]);d!=null&&s(e,["executableCode"],d);const c=i(n,["functionResponse"]);c!=null&&s(e,["functionResponse"],c);const p=i(n,["text"]);return p!=null&&s(e,["text"],p),e}function Lo(n){const e={};if(i(n,["method"])!==void 0)throw new Error("method parameter is not supported in Gemini API.");const t=i(n,["category"]);t!=null&&s(e,["category"],t);const o=i(n,["threshold"]);return o!=null&&s(e,["threshold"],o),e}function qo(n){const e={},t=i(n,["functionDeclarations"]);if(t!=null){let f=t;Array.isArray(f)&&(f=f.map(d=>d)),s(e,["functionDeclarations"],f)}if(i(n,["retrieval"])!==void 0)throw new Error("retrieval parameter is not supported in Gemini API.");const o=i(n,["googleSearch"]);o!=null&&s(e,["googleSearch"],vo(o));const r=i(n,["googleSearchRetrieval"]);if(r!=null&&s(e,["googleSearchRetrieval"],r),i(n,["enterpriseWebSearch"])!==void 0)throw new Error("enterpriseWebSearch parameter is not supported in Gemini API.");if(i(n,["googleMaps"])!==void 0)throw new Error("googleMaps parameter is not supported in Gemini API.");const l=i(n,["urlContext"]);l!=null&&s(e,["urlContext"],l);const a=i(n,["computerUse"]);a!=null&&s(e,["computerUse"],a);const u=i(n,["codeExecution"]);return u!=null&&s(e,["codeExecution"],u),e}/** | |
| * @license | |
| * Copyright 2025 Google LLC | |
| * SPDX-License-Identifier: Apache-2.0 | |
| */var J;(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"})(J||(J={}));class ee{constructor(e,t,o,r){this.pageInternal=[],this.paramsInternal={},this.requestInternal=t,this.init(e,o,r)}init(e,t,o){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:{}};!o||Object.keys(o).length===0?a={config:{}}:typeof o=="object"?a=Object.assign({},o):a=o,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 Vo extends Y{constructor(e){super(),this.apiClient=e,this.create=async t=>(this.apiClient.isVertexAI()&&(t.config=this.formatDestination(t.src,t.config)),this.createInternal(t)),this.createEmbeddings=async t=>{var o,r;if(console.warn("batches.createEmbeddings() is experimental and may change without notice."),this.apiClient.isVertexAI())throw new Error("Vertex AI does not support batches.createEmbeddings.");if(!(t.src.inlinedRequests!==void 0))return this.createEmbeddingsInternal(t);const u=this.createInlinedEmbedContentRequest(t),f=u.path,d=u.body,c=de(this.apiClient,t)._query||{};return this.apiClient.request({path:f,queryParams:c,body:JSON.stringify(d),httpMethod:"POST",httpOptions:(o=t.config)===null||o===void 0?void 0:o.httpOptions,abortSignal:(r=t.config)===null||r===void 0?void 0:r.abortSignal}).then(m=>m.json()).then(m=>O(m))},this.list=async(t={})=>new ee(J.PAGED_ITEM_BATCH_JOBS,o=>this.listInternal(o),await this.listInternal(t),t)}createInlinedGenerateContentRequest(e){const t=xn(this.apiClient,e),o=t._url,r=T("{model}:batchGenerateContent",o),u=t.batch.inputConfig.requests,f=u.requests,d=[];for(const c of f){const p=Object.assign({},c);if(p.systemInstruction){const m=p.systemInstruction;delete p.systemInstruction;const h=p.request;h.systemInstruction=m,p.request=h}d.push(p)}return u.requests=d,delete t.config,delete t._url,delete t._query,{path:r,body:t}}createInlinedEmbedContentRequest(e){const t=de(this.apiClient,e),o=t._url,r=T("{model}:asyncBatchEmbedContent",o),u=t.batch.inputConfig.requests,f=u.requests,d=[];delete u.config;for(const c of f){const p=Object.assign({},c),m=p.request;for(const h in p)h!=="request"&&(m[h]=p[h],delete p[h]);d.push(p)}return u.requests=d,delete t.config,delete t._url,delete t._query,{path:r,body:t}}getGcsUri(e){if(typeof e=="string")return e.startsWith("gs://")?e:void 0;if(!Array.isArray(e)&&e.gcsUri&&e.gcsUri.length>0)return e.gcsUri[0]}getBigqueryUri(e){if(typeof e=="string")return e.startsWith("bq://")?e:void 0;if(!Array.isArray(e))return e.bigqueryUri}formatDestination(e,t){const o=t?Object.assign({},t):{},r=Date.now().toString();if(o.displayName||(o.displayName=`genaiBatchJob_${r}`),o.dest===void 0){const l=this.getGcsUri(e),a=this.getBigqueryUri(e);if(l)l.endsWith(".jsonl")?o.dest=`${l.slice(0,-6)}/dest`:o.dest=`${l}_dest_${r}`;else if(a)o.dest=`${a}_dest_${r}`;else throw new Error("Unsupported source for Vertex AI: No GCS or BigQuery URI found.")}return o}async createInternal(e){var t,o,r,l;let a,u="",f={};if(this.apiClient.isVertexAI()){const d=fo(this.apiClient,e);return u=T("batchPredictionJobs",d._url),f=d._query,delete d._url,delete d._query,a=this.apiClient.request({path:u,queryParams:f,body:JSON.stringify(d),httpMethod:"POST",httpOptions:(t=e.config)===null||t===void 0?void 0:t.httpOptions,abortSignal:(o=e.config)===null||o===void 0?void 0:o.abortSignal}).then(c=>c.json()),a.then(c=>he(c))}else{const d=xn(this.apiClient,e);return u=T("{model}:batchGenerateContent",d._url),f=d._query,delete d._url,delete d._query,a=this.apiClient.request({path:u,queryParams:f,body:JSON.stringify(d),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(c=>c.json()),a.then(c=>O(c))}}async createEmbeddingsInternal(e){var t,o;let r,l="",a={};if(this.apiClient.isVertexAI())throw new Error("This method is only supported by the Gemini Developer API.");{const u=de(this.apiClient,e);return l=T("{model}:asyncBatchEmbedContent",u._url),a=u._query,delete u._url,delete u._query,r=this.apiClient.request({path:l,queryParams:a,body:JSON.stringify(u),httpMethod:"POST",httpOptions:(t=e.config)===null||t===void 0?void 0:t.httpOptions,abortSignal:(o=e.config)===null||o===void 0?void 0:o.abortSignal}).then(f=>f.json()),r.then(f=>O(f))}}async get(e){var t,o,r,l;let a,u="",f={};if(this.apiClient.isVertexAI()){const d=Ao(this.apiClient,e);return u=T("batchPredictionJobs/{name}",d._url),f=d._query,delete d._url,delete d._query,a=this.apiClient.request({path:u,queryParams:f,body:JSON.stringify(d),httpMethod:"GET",httpOptions:(t=e.config)===null||t===void 0?void 0:t.httpOptions,abortSignal:(o=e.config)===null||o===void 0?void 0:o.abortSignal}).then(c=>c.json()),a.then(c=>he(c))}else{const d=So(this.apiClient,e);return u=T("batches/{name}",d._url),f=d._query,delete d._url,delete d._query,a=this.apiClient.request({path:u,queryParams:f,body:JSON.stringify(d),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(c=>c.json()),a.then(c=>O(c))}}async cancel(e){var t,o,r,l;let a="",u={};if(this.apiClient.isVertexAI()){const f=so(this.apiClient,e);a=T("batchPredictionJobs/{name}:cancel",f._url),u=f._query,delete f._url,delete f._query,await this.apiClient.request({path:a,queryParams:u,body:JSON.stringify(f),httpMethod:"POST",httpOptions:(t=e.config)===null||t===void 0?void 0:t.httpOptions,abortSignal:(o=e.config)===null||o===void 0?void 0:o.abortSignal})}else{const f=io(this.apiClient,e);a=T("batches/{name}:cancel",f._url),u=f._query,delete f._url,delete f._query,await this.apiClient.request({path:a,queryParams:u,body:JSON.stringify(f),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,o,r,l;let a,u="",f={};if(this.apiClient.isVertexAI()){const d=Do(e);return u=T("batchPredictionJobs",d._url),f=d._query,delete d._url,delete d._query,a=this.apiClient.request({path:u,queryParams:f,body:JSON.stringify(d),httpMethod:"GET",httpOptions:(t=e.config)===null||t===void 0?void 0:t.httpOptions,abortSignal:(o=e.config)===null||o===void 0?void 0:o.abortSignal}).then(c=>c.json().then(p=>{const m=p;return m.sdkHttpResponse={headers:c.headers},m})),a.then(c=>{const p=Uo(c),m=new Mn;return Object.assign(m,p),m})}else{const d=wo(e);return u=T("batches",d._url),f=d._query,delete d._url,delete d._query,a=this.apiClient.request({path:u,queryParams:f,body:JSON.stringify(d),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(c=>c.json().then(p=>{const m=p;return m.sdkHttpResponse={headers:c.headers},m})),a.then(c=>{const p=xo(c),m=new Mn;return Object.assign(m,p),m})}}async delete(e){var t,o,r,l;let a,u="",f={};if(this.apiClient.isVertexAI()){const d=mo(this.apiClient,e);return u=T("batchPredictionJobs/{name}",d._url),f=d._query,delete d._url,delete d._query,a=this.apiClient.request({path:u,queryParams:f,body:JSON.stringify(d),httpMethod:"DELETE",httpOptions:(t=e.config)===null||t===void 0?void 0:t.httpOptions,abortSignal:(o=e.config)===null||o===void 0?void 0:o.abortSignal}).then(c=>c.json().then(p=>{const m=p;return m.sdkHttpResponse={headers:c.headers},m})),a.then(c=>go(c))}else{const d=po(this.apiClient,e);return u=T("batches/{name}",d._url),f=d._query,delete d._url,delete d._query,a=this.apiClient.request({path:u,queryParams:f,body:JSON.stringify(d),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(c=>c.json().then(p=>{const m=p;return m.sdkHttpResponse={headers:c.headers},m})),a.then(c=>ho(c))}}}/** | |
| * @license | |
| * Copyright 2025 Google LLC | |
| * SPDX-License-Identifier: Apache-2.0 | |
| */function Fo(n){const e={};if(i(n,["displayName"])!==void 0)throw new Error("displayName parameter is not supported in Gemini API.");const t=i(n,["data"]);t!=null&&s(e,["data"],t);const o=i(n,["mimeType"]);return o!=null&&s(e,["mimeType"],o),e}function Un(n){const e={},t=i(n,["parts"]);if(t!=null){let r=t;Array.isArray(r)&&(r=r.map(l=>ii(l))),s(e,["parts"],r)}const o=i(n,["role"]);return o!=null&&s(e,["role"],o),e}function Go(n,e){const t={},o=i(n,["ttl"]);e!==void 0&&o!=null&&s(e,["ttl"],o);const r=i(n,["expireTime"]);e!==void 0&&r!=null&&s(e,["expireTime"],r);const l=i(n,["displayName"]);e!==void 0&&l!=null&&s(e,["displayName"],l);const a=i(n,["contents"]);if(e!==void 0&&a!=null){let c=L(a);Array.isArray(c)&&(c=c.map(p=>Un(p))),s(e,["contents"],c)}const u=i(n,["systemInstruction"]);e!==void 0&&u!=null&&s(e,["systemInstruction"],Un(U(u)));const f=i(n,["tools"]);if(e!==void 0&&f!=null){let c=f;Array.isArray(c)&&(c=c.map(p=>si(p))),s(e,["tools"],c)}const d=i(n,["toolConfig"]);if(e!==void 0&&d!=null&&s(e,["toolConfig"],d),i(n,["kmsKeyName"])!==void 0)throw new Error("kmsKeyName parameter is not supported in Gemini API.");return t}function Ho(n,e){const t={},o=i(n,["ttl"]);e!==void 0&&o!=null&&s(e,["ttl"],o);const r=i(n,["expireTime"]);e!==void 0&&r!=null&&s(e,["expireTime"],r);const l=i(n,["displayName"]);e!==void 0&&l!=null&&s(e,["displayName"],l);const a=i(n,["contents"]);if(e!==void 0&&a!=null){let p=L(a);Array.isArray(p)&&(p=p.map(m=>m)),s(e,["contents"],p)}const u=i(n,["systemInstruction"]);e!==void 0&&u!=null&&s(e,["systemInstruction"],U(u));const f=i(n,["tools"]);if(e!==void 0&&f!=null){let p=f;Array.isArray(p)&&(p=p.map(m=>ri(m))),s(e,["tools"],p)}const d=i(n,["toolConfig"]);e!==void 0&&d!=null&&s(e,["toolConfig"],d);const c=i(n,["kmsKeyName"]);return e!==void 0&&c!=null&&s(e,["encryption_spec","kmsKeyName"],c),t}function Bo(n,e){const t={},o=i(e,["model"]);o!=null&&s(t,["model"],Kn(n,o));const r=i(e,["config"]);return r!=null&&Go(r,t),t}function Jo(n,e){const t={},o=i(e,["model"]);o!=null&&s(t,["model"],Kn(n,o));const r=i(e,["config"]);return r!=null&&Ho(r,t),t}function Yo(n,e){const t={},o=i(e,["name"]);return o!=null&&s(t,["_url","name"],G(n,o)),t}function $o(n,e){const t={},o=i(e,["name"]);return o!=null&&s(t,["_url","name"],G(n,o)),t}function Wo(n){const e={},t=i(n,["sdkHttpResponse"]);return t!=null&&s(e,["sdkHttpResponse"],t),e}function Ko(n){const e={},t=i(n,["sdkHttpResponse"]);return t!=null&&s(e,["sdkHttpResponse"],t),e}function zo(n){const e={};if(i(n,["displayName"])!==void 0)throw new Error("displayName parameter is not supported in Gemini API.");const t=i(n,["fileUri"]);t!=null&&s(e,["fileUri"],t);const o=i(n,["mimeType"]);return o!=null&&s(e,["mimeType"],o),e}function Xo(n){const e={};if(i(n,["behavior"])!==void 0)throw new Error("behavior parameter is not supported in Vertex AI.");const t=i(n,["description"]);t!=null&&s(e,["description"],t);const o=i(n,["name"]);o!=null&&s(e,["name"],o);const r=i(n,["parameters"]);r!=null&&s(e,["parameters"],r);const l=i(n,["parametersJsonSchema"]);l!=null&&s(e,["parametersJsonSchema"],l);const a=i(n,["response"]);a!=null&&s(e,["response"],a);const u=i(n,["responseJsonSchema"]);return u!=null&&s(e,["responseJsonSchema"],u),e}function Qo(n,e){const t={},o=i(e,["name"]);return o!=null&&s(t,["_url","name"],G(n,o)),t}function Zo(n,e){const t={},o=i(e,["name"]);return o!=null&&s(t,["_url","name"],G(n,o)),t}function bo(n){const e={},t=i(n,["timeRangeFilter"]);if(t!=null&&s(e,["timeRangeFilter"],t),i(n,["excludeDomains"])!==void 0)throw new Error("excludeDomains parameter is not supported in Gemini API.");return e}function Oo(n,e){const t={},o=i(n,["pageSize"]);e!==void 0&&o!=null&&s(e,["_query","pageSize"],o);const r=i(n,["pageToken"]);return e!==void 0&&r!=null&&s(e,["_query","pageToken"],r),t}function jo(n,e){const t={},o=i(n,["pageSize"]);e!==void 0&&o!=null&&s(e,["_query","pageSize"],o);const r=i(n,["pageToken"]);return e!==void 0&&r!=null&&s(e,["_query","pageToken"],r),t}function ei(n){const e={},t=i(n,["config"]);return t!=null&&Oo(t,e),e}function ni(n){const e={},t=i(n,["config"]);return t!=null&&jo(t,e),e}function ti(n){const e={},t=i(n,["sdkHttpResponse"]);t!=null&&s(e,["sdkHttpResponse"],t);const o=i(n,["nextPageToken"]);o!=null&&s(e,["nextPageToken"],o);const r=i(n,["cachedContents"]);if(r!=null){let l=r;Array.isArray(l)&&(l=l.map(a=>a)),s(e,["cachedContents"],l)}return e}function oi(n){const e={},t=i(n,["sdkHttpResponse"]);t!=null&&s(e,["sdkHttpResponse"],t);const o=i(n,["nextPageToken"]);o!=null&&s(e,["nextPageToken"],o);const r=i(n,["cachedContents"]);if(r!=null){let l=r;Array.isArray(l)&&(l=l.map(a=>a)),s(e,["cachedContents"],l)}return e}function ii(n){const e={},t=i(n,["videoMetadata"]);t!=null&&s(e,["videoMetadata"],t);const o=i(n,["thought"]);o!=null&&s(e,["thought"],o);const r=i(n,["inlineData"]);r!=null&&s(e,["inlineData"],Fo(r));const l=i(n,["fileData"]);l!=null&&s(e,["fileData"],zo(l));const a=i(n,["thoughtSignature"]);a!=null&&s(e,["thoughtSignature"],a);const u=i(n,["functionCall"]);u!=null&&s(e,["functionCall"],u);const f=i(n,["codeExecutionResult"]);f!=null&&s(e,["codeExecutionResult"],f);const d=i(n,["executableCode"]);d!=null&&s(e,["executableCode"],d);const c=i(n,["functionResponse"]);c!=null&&s(e,["functionResponse"],c);const p=i(n,["text"]);return p!=null&&s(e,["text"],p),e}function si(n){const e={},t=i(n,["functionDeclarations"]);if(t!=null){let f=t;Array.isArray(f)&&(f=f.map(d=>d)),s(e,["functionDeclarations"],f)}if(i(n,["retrieval"])!==void 0)throw new Error("retrieval parameter is not supported in Gemini API.");const o=i(n,["googleSearch"]);o!=null&&s(e,["googleSearch"],bo(o));const r=i(n,["googleSearchRetrieval"]);if(r!=null&&s(e,["googleSearchRetrieval"],r),i(n,["enterpriseWebSearch"])!==void 0)throw new Error("enterpriseWebSearch parameter is not supported in Gemini API.");if(i(n,["googleMaps"])!==void 0)throw new Error("googleMaps parameter is not supported in Gemini API.");const l=i(n,["urlContext"]);l!=null&&s(e,["urlContext"],l);const a=i(n,["computerUse"]);a!=null&&s(e,["computerUse"],a);const u=i(n,["codeExecution"]);return u!=null&&s(e,["codeExecution"],u),e}function ri(n){const e={},t=i(n,["functionDeclarations"]);if(t!=null){let p=t;Array.isArray(p)&&(p=p.map(m=>Xo(m))),s(e,["functionDeclarations"],p)}const o=i(n,["retrieval"]);o!=null&&s(e,["retrieval"],o);const r=i(n,["googleSearch"]);r!=null&&s(e,["googleSearch"],r);const l=i(n,["googleSearchRetrieval"]);l!=null&&s(e,["googleSearchRetrieval"],l);const a=i(n,["enterpriseWebSearch"]);a!=null&&s(e,["enterpriseWebSearch"],a);const u=i(n,["googleMaps"]);u!=null&&s(e,["googleMaps"],u);const f=i(n,["urlContext"]);f!=null&&s(e,["urlContext"],f);const d=i(n,["computerUse"]);d!=null&&s(e,["computerUse"],d);const c=i(n,["codeExecution"]);return c!=null&&s(e,["codeExecution"],c),e}function li(n,e){const t={},o=i(n,["ttl"]);e!==void 0&&o!=null&&s(e,["ttl"],o);const r=i(n,["expireTime"]);return e!==void 0&&r!=null&&s(e,["expireTime"],r),t}function ai(n,e){const t={},o=i(n,["ttl"]);e!==void 0&&o!=null&&s(e,["ttl"],o);const r=i(n,["expireTime"]);return e!==void 0&&r!=null&&s(e,["expireTime"],r),t}function ui(n,e){const t={},o=i(e,["name"]);o!=null&&s(t,["_url","name"],G(n,o));const r=i(e,["config"]);return r!=null&&li(r,t),t}function di(n,e){const t={},o=i(e,["name"]);o!=null&&s(t,["_url","name"],G(n,o));const r=i(e,["config"]);return r!=null&&ai(r,t),t}/** | |
| * @license | |
| * Copyright 2025 Google LLC | |
| * SPDX-License-Identifier: Apache-2.0 | |
| */class fi extends Y{constructor(e){super(),this.apiClient=e,this.list=async(t={})=>new ee(J.PAGED_ITEM_CACHED_CONTENTS,o=>this.listInternal(o),await this.listInternal(t),t)}async create(e){var t,o,r,l;let a,u="",f={};if(this.apiClient.isVertexAI()){const d=Jo(this.apiClient,e);return u=T("cachedContents",d._url),f=d._query,delete d._url,delete d._query,a=this.apiClient.request({path:u,queryParams:f,body:JSON.stringify(d),httpMethod:"POST",httpOptions:(t=e.config)===null||t===void 0?void 0:t.httpOptions,abortSignal:(o=e.config)===null||o===void 0?void 0:o.abortSignal}).then(c=>c.json()),a.then(c=>c)}else{const d=Bo(this.apiClient,e);return u=T("cachedContents",d._url),f=d._query,delete d._url,delete d._query,a=this.apiClient.request({path:u,queryParams:f,body:JSON.stringify(d),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(c=>c.json()),a.then(c=>c)}}async get(e){var t,o,r,l;let a,u="",f={};if(this.apiClient.isVertexAI()){const d=Zo(this.apiClient,e);return u=T("{name}",d._url),f=d._query,delete d._url,delete d._query,a=this.apiClient.request({path:u,queryParams:f,body:JSON.stringify(d),httpMethod:"GET",httpOptions:(t=e.config)===null||t===void 0?void 0:t.httpOptions,abortSignal:(o=e.config)===null||o===void 0?void 0:o.abortSignal}).then(c=>c.json()),a.then(c=>c)}else{const d=Qo(this.apiClient,e);return u=T("{name}",d._url),f=d._query,delete d._url,delete d._query,a=this.apiClient.request({path:u,queryParams:f,body:JSON.stringify(d),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(c=>c.json()),a.then(c=>c)}}async delete(e){var t,o,r,l;let a,u="",f={};if(this.apiClient.isVertexAI()){const d=$o(this.apiClient,e);return u=T("{name}",d._url),f=d._query,delete d._url,delete d._query,a=this.apiClient.request({path:u,queryParams:f,body:JSON.stringify(d),httpMethod:"DELETE",httpOptions:(t=e.config)===null||t===void 0?void 0:t.httpOptions,abortSignal:(o=e.config)===null||o===void 0?void 0:o.abortSignal}).then(c=>c.json().then(p=>{const m=p;return m.sdkHttpResponse={headers:c.headers},m})),a.then(c=>{const p=Ko(c),m=new Rn;return Object.assign(m,p),m})}else{const d=Yo(this.apiClient,e);return u=T("{name}",d._url),f=d._query,delete d._url,delete d._query,a=this.apiClient.request({path:u,queryParams:f,body:JSON.stringify(d),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(c=>c.json().then(p=>{const m=p;return m.sdkHttpResponse={headers:c.headers},m})),a.then(c=>{const p=Wo(c),m=new Rn;return Object.assign(m,p),m})}}async update(e){var t,o,r,l;let a,u="",f={};if(this.apiClient.isVertexAI()){const d=di(this.apiClient,e);return u=T("{name}",d._url),f=d._query,delete d._url,delete d._query,a=this.apiClient.request({path:u,queryParams:f,body:JSON.stringify(d),httpMethod:"PATCH",httpOptions:(t=e.config)===null||t===void 0?void 0:t.httpOptions,abortSignal:(o=e.config)===null||o===void 0?void 0:o.abortSignal}).then(c=>c.json()),a.then(c=>c)}else{const d=ui(this.apiClient,e);return u=T("{name}",d._url),f=d._query,delete d._url,delete d._query,a=this.apiClient.request({path:u,queryParams:f,body:JSON.stringify(d),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(c=>c.json()),a.then(c=>c)}}async listInternal(e){var t,o,r,l;let a,u="",f={};if(this.apiClient.isVertexAI()){const d=ni(e);return u=T("cachedContents",d._url),f=d._query,delete d._url,delete d._query,a=this.apiClient.request({path:u,queryParams:f,body:JSON.stringify(d),httpMethod:"GET",httpOptions:(t=e.config)===null||t===void 0?void 0:t.httpOptions,abortSignal:(o=e.config)===null||o===void 0?void 0:o.abortSignal}).then(c=>c.json().then(p=>{const m=p;return m.sdkHttpResponse={headers:c.headers},m})),a.then(c=>{const p=oi(c),m=new Pn;return Object.assign(m,p),m})}else{const d=ei(e);return u=T("cachedContents",d._url),f=d._query,delete d._url,delete d._query,a=this.apiClient.request({path:u,queryParams:f,body:JSON.stringify(d),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(c=>c.json().then(p=>{const m=p;return m.sdkHttpResponse={headers:c.headers},m})),a.then(c=>{const p=ti(c),m=new Pn;return Object.assign(m,p),m})}}}function kn(n){var e=typeof Symbol=="function"&&Symbol.iterator,t=e&&n[e],o=0;if(t)return t.call(n);if(n&&typeof n.length=="number")return{next:function(){return n&&o>=n.length&&(n=void 0),{value:n&&n[o++],done:!n}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")}function w(n){return this instanceof w?(this.v=n,this):new w(n)}function K(n,e,t){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var o=t.apply(n,e||[]),r,l=[];return r=Object.create((typeof AsyncIterator=="function"?AsyncIterator:Object).prototype),u("next"),u("throw"),u("return",a),r[Symbol.asyncIterator]=function(){return this},r;function a(h){return function(g){return Promise.resolve(g).then(h,p)}}function u(h,g){o[h]&&(r[h]=function(y){return new Promise(function(_,I){l.push([h,y,_,I])>1||f(h,y)})},g&&(r[h]=g(r[h])))}function f(h,g){try{d(o[h](g))}catch(y){m(l[0][3],y)}}function d(h){h.value instanceof w?Promise.resolve(h.value.v).then(c,p):m(l[0][2],h)}function c(h){f("next",h)}function p(h){f("throw",h)}function m(h,g){h(g),l.shift(),l.length&&f(l[0][0],l[0][1])}}function j(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 kn=="function"?kn(n):n[Symbol.iterator](),t={},o("next"),o("throw"),o("return"),t[Symbol.asyncIterator]=function(){return this},t);function o(l){t[l]=n[l]&&function(a){return new Promise(function(u,f){a=n[l](a),r(u,f,a.done,a.value)})}}function r(l,a,u,f){Promise.resolve(f).then(function(d){l({value:d,done:u})},a)}}/** | |
| * @license | |
| * Copyright 2025 Google LLC | |
| * SPDX-License-Identifier: Apache-2.0 | |
| */function ci(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:st(t)}function st(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)return!1;return!0}function pi(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 Ln(n){if(n===void 0||n.length===0)return[];const e=[],t=n.length;let o=0;for(;o<t;)if(n[o].role==="user")e.push(n[o]),o++;else{const r=[];let l=!0;for(;o<t&&n[o].role==="model";)r.push(n[o]),l&&!st(n[o])&&(l=!1),o++;l?e.push(...r):e.pop()}return e}class mi{constructor(e,t){this.modelsModule=e,this.apiClient=t}create(e){return new hi(this.apiClient,this.modelsModule,e.model,e.config,structuredClone(e.history))}}class hi{constructor(e,t,o,r={},l=[]){this.apiClient=e,this.modelsModule=t,this.model=o,this.config=r,this.history=l,this.sendPromise=Promise.resolve(),pi(l)}async sendMessage(e){var t;await this.sendPromise;const o=U(e.message),r=this.modelsModule.generateContent({model:this.model,contents:this.getHistory(!0).concat(o),config:(t=e.config)!==null&&t!==void 0?t:this.config});return this.sendPromise=(async()=>{var l,a,u;const f=await r,d=(a=(l=f.candidates)===null||l===void 0?void 0:l[0])===null||a===void 0?void 0:a.content,c=f.automaticFunctionCallingHistory,p=this.getHistory(!0).length;let m=[];c!=null&&(m=(u=c.slice(p))!==null&&u!==void 0?u:[]);const h=d?[d]:[];this.recordHistory(o,h,m)})(),await this.sendPromise.catch(()=>{this.sendPromise=Promise.resolve()}),r}async sendMessageStream(e){var t;await this.sendPromise;const o=U(e.message),r=this.modelsModule.generateContentStream({model:this.model,contents:this.getHistory(!0).concat(o),config:(t=e.config)!==null&&t!==void 0?t:this.config});this.sendPromise=r.then(()=>{}).catch(()=>{});const l=await r;return this.processStreamResponse(l,o)}getHistory(e=!1){const t=e?Ln(this.history):this.history;return structuredClone(t)}processStreamResponse(e,t){var o,r;return K(this,arguments,function*(){var a,u,f,d;const c=[];try{for(var p=!0,m=j(e),h;h=yield w(m.next()),a=h.done,!a;p=!0){d=h.value,p=!1;const g=d;if(ci(g)){const y=(r=(o=g.candidates)===null||o===void 0?void 0:o[0])===null||r===void 0?void 0:r.content;y!==void 0&&c.push(y)}yield yield w(g)}}catch(g){u={error:g}}finally{try{!p&&!a&&(f=m.return)&&(yield w(f.call(m)))}finally{if(u)throw u.error}}this.recordHistory(t,c)})}recordHistory(e,t,o){let r=[];t.length>0&&t.every(l=>l.role!==void 0)?r=t:r.push({role:"model",parts:[]}),o&&o.length>0?this.history.push(...Ln(o)):this.history.push(e),this.history.push(...r)}}/** | |
| * @license | |
| * Copyright 2025 Google LLC | |
| * SPDX-License-Identifier: Apache-2.0 | |
| */class se extends Error{constructor(e){super(e.message),this.name="ApiError",this.status=e.status,Object.setPrototypeOf(this,se.prototype)}}/** | |
| * @license | |
| * Copyright 2025 Google LLC | |
| * SPDX-License-Identifier: Apache-2.0 | |
| */function gi(n){const e={},t=i(n,["file"]);return t!=null&&s(e,["file"],t),e}function yi(n){const e={},t=i(n,["sdkHttpResponse"]);return t!=null&&s(e,["sdkHttpResponse"],t),e}function Ti(n){const e={},t=i(n,["name"]);return t!=null&&s(e,["_url","file"],On(t)),e}function Ci(n){const e={},t=i(n,["sdkHttpResponse"]);return t!=null&&s(e,["sdkHttpResponse"],t),e}function _i(n){const e={},t=i(n,["name"]);return t!=null&&s(e,["_url","file"],On(t)),e}function Ei(n,e){const t={},o=i(n,["pageSize"]);e!==void 0&&o!=null&&s(e,["_query","pageSize"],o);const r=i(n,["pageToken"]);return e!==void 0&&r!=null&&s(e,["_query","pageToken"],r),t}function Ii(n){const e={},t=i(n,["config"]);return t!=null&&Ei(t,e),e}function Si(n){const e={},t=i(n,["sdkHttpResponse"]);t!=null&&s(e,["sdkHttpResponse"],t);const o=i(n,["nextPageToken"]);o!=null&&s(e,["nextPageToken"],o);const r=i(n,["files"]);if(r!=null){let l=r;Array.isArray(l)&&(l=l.map(a=>a)),s(e,["files"],l)}return e}/** | |
| * @license | |
| * Copyright 2025 Google LLC | |
| * SPDX-License-Identifier: Apache-2.0 | |
| */class Ai extends Y{constructor(e){super(),this.apiClient=e,this.list=async(t={})=>new ee(J.PAGED_ITEM_FILES,o=>this.listInternal(o),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=>t)}async download(e){await this.apiClient.downloadFile(e)}async listInternal(e){var t,o;let r,l="",a={};if(this.apiClient.isVertexAI())throw new Error("This method is only supported by the Gemini Developer API.");{const u=Ii(e);return l=T("files",u._url),a=u._query,delete u._url,delete u._query,r=this.apiClient.request({path:l,queryParams:a,body:JSON.stringify(u),httpMethod:"GET",httpOptions:(t=e.config)===null||t===void 0?void 0:t.httpOptions,abortSignal:(o=e.config)===null||o===void 0?void 0:o.abortSignal}).then(f=>f.json().then(d=>{const c=d;return c.sdkHttpResponse={headers:f.headers},c})),r.then(f=>{const d=Si(f),c=new Vt;return Object.assign(c,d),c})}}async createInternal(e){var t,o;let r,l="",a={};if(this.apiClient.isVertexAI())throw new Error("This method is only supported by the Gemini Developer API.");{const u=gi(e);return l=T("upload/v1beta/files",u._url),a=u._query,delete u._url,delete u._query,r=this.apiClient.request({path:l,queryParams:a,body:JSON.stringify(u),httpMethod:"POST",httpOptions:(t=e.config)===null||t===void 0?void 0:t.httpOptions,abortSignal:(o=e.config)===null||o===void 0?void 0:o.abortSignal}).then(f=>f.json()),r.then(f=>{const d=yi(f),c=new Ft;return Object.assign(c,d),c})}}async get(e){var t,o;let r,l="",a={};if(this.apiClient.isVertexAI())throw new Error("This method is only supported by the Gemini Developer API.");{const u=_i(e);return l=T("files/{file}",u._url),a=u._query,delete u._url,delete u._query,r=this.apiClient.request({path:l,queryParams:a,body:JSON.stringify(u),httpMethod:"GET",httpOptions:(t=e.config)===null||t===void 0?void 0:t.httpOptions,abortSignal:(o=e.config)===null||o===void 0?void 0:o.abortSignal}).then(f=>f.json()),r.then(f=>f)}}async delete(e){var t,o;let r,l="",a={};if(this.apiClient.isVertexAI())throw new Error("This method is only supported by the Gemini Developer API.");{const u=Ti(e);return l=T("files/{file}",u._url),a=u._query,delete u._url,delete u._query,r=this.apiClient.request({path:l,queryParams:a,body:JSON.stringify(u),httpMethod:"DELETE",httpOptions:(t=e.config)===null||t===void 0?void 0:t.httpOptions,abortSignal:(o=e.config)===null||o===void 0?void 0:o.abortSignal}).then(f=>f.json().then(d=>{const c=d;return c.sdkHttpResponse={headers:f.headers},c})),r.then(f=>{const d=Ci(f),c=new Gt;return Object.assign(c,d),c})}}}/** | |
| * @license | |
| * Copyright 2025 Google LLC | |
| * SPDX-License-Identifier: Apache-2.0 | |
| */function ne(n){const e={};if(i(n,["displayName"])!==void 0)throw new Error("displayName parameter is not supported in Gemini API.");const t=i(n,["data"]);t!=null&&s(e,["data"],t);const o=i(n,["mimeType"]);return o!=null&&s(e,["mimeType"],o),e}function vi(n){const e={},t=i(n,["parts"]);if(t!=null){let r=t;Array.isArray(r)&&(r=r.map(l=>Gi(l))),s(e,["parts"],r)}const o=i(n,["role"]);return o!=null&&s(e,["role"],o),e}function Ri(n){const e={};if(i(n,["displayName"])!==void 0)throw new Error("displayName parameter is not supported in Gemini API.");const t=i(n,["fileUri"]);t!=null&&s(e,["fileUri"],t);const o=i(n,["mimeType"]);return o!=null&&s(e,["mimeType"],o),e}function Pi(n){const e={};if(i(n,["behavior"])!==void 0)throw new Error("behavior parameter is not supported in Vertex AI.");const t=i(n,["description"]);t!=null&&s(e,["description"],t);const o=i(n,["name"]);o!=null&&s(e,["name"],o);const r=i(n,["parameters"]);r!=null&&s(e,["parameters"],r);const l=i(n,["parametersJsonSchema"]);l!=null&&s(e,["parametersJsonSchema"],l);const a=i(n,["response"]);a!=null&&s(e,["response"],a);const u=i(n,["responseJsonSchema"]);return u!=null&&s(e,["responseJsonSchema"],u),e}function Mi(n){const e={},t=i(n,["modelSelectionConfig"]);t!=null&&s(e,["modelConfig"],t);const o=i(n,["audioTimestamp"]);o!=null&&s(e,["audioTimestamp"],o);const r=i(n,["candidateCount"]);r!=null&&s(e,["candidateCount"],r);const l=i(n,["enableAffectiveDialog"]);l!=null&&s(e,["enableAffectiveDialog"],l);const a=i(n,["frequencyPenalty"]);a!=null&&s(e,["frequencyPenalty"],a);const u=i(n,["logprobs"]);u!=null&&s(e,["logprobs"],u);const f=i(n,["maxOutputTokens"]);f!=null&&s(e,["maxOutputTokens"],f);const d=i(n,["mediaResolution"]);d!=null&&s(e,["mediaResolution"],d);const c=i(n,["presencePenalty"]);c!=null&&s(e,["presencePenalty"],c);const p=i(n,["responseJsonSchema"]);p!=null&&s(e,["responseJsonSchema"],p);const m=i(n,["responseLogprobs"]);m!=null&&s(e,["responseLogprobs"],m);const h=i(n,["responseMimeType"]);h!=null&&s(e,["responseMimeType"],h);const g=i(n,["responseModalities"]);g!=null&&s(e,["responseModalities"],g);const y=i(n,["responseSchema"]);y!=null&&s(e,["responseSchema"],y);const _=i(n,["routingConfig"]);_!=null&&s(e,["routingConfig"],_);const I=i(n,["seed"]);I!=null&&s(e,["seed"],I);const E=i(n,["speechConfig"]);E!=null&&s(e,["speechConfig"],rt(E));const C=i(n,["stopSequences"]);C!=null&&s(e,["stopSequences"],C);const S=i(n,["temperature"]);S!=null&&s(e,["temperature"],S);const v=i(n,["thinkingConfig"]);v!=null&&s(e,["thinkingConfig"],v);const R=i(n,["topK"]);R!=null&&s(e,["topK"],R);const P=i(n,["topP"]);return P!=null&&s(e,["topP"],P),e}function Ni(n){const e={},t=i(n,["timeRangeFilter"]);if(t!=null&&s(e,["timeRangeFilter"],t),i(n,["excludeDomains"])!==void 0)throw new Error("excludeDomains parameter is not supported in Gemini API.");return e}function wi(n,e){const t={},o=i(n,["generationConfig"]);e!==void 0&&o!=null&&s(e,["setup","generationConfig"],o);const r=i(n,["responseModalities"]);e!==void 0&&r!=null&&s(e,["setup","generationConfig","responseModalities"],r);const l=i(n,["temperature"]);e!==void 0&&l!=null&&s(e,["setup","generationConfig","temperature"],l);const a=i(n,["topP"]);e!==void 0&&a!=null&&s(e,["setup","generationConfig","topP"],a);const u=i(n,["topK"]);e!==void 0&&u!=null&&s(e,["setup","generationConfig","topK"],u);const f=i(n,["maxOutputTokens"]);e!==void 0&&f!=null&&s(e,["setup","generationConfig","maxOutputTokens"],f);const d=i(n,["mediaResolution"]);e!==void 0&&d!=null&&s(e,["setup","generationConfig","mediaResolution"],d);const c=i(n,["seed"]);e!==void 0&&c!=null&&s(e,["setup","generationConfig","seed"],c);const p=i(n,["speechConfig"]);e!==void 0&&p!=null&&s(e,["setup","generationConfig","speechConfig"],Ae(p));const m=i(n,["thinkingConfig"]);e!==void 0&&m!=null&&s(e,["setup","generationConfig","thinkingConfig"],m);const h=i(n,["enableAffectiveDialog"]);e!==void 0&&h!=null&&s(e,["setup","generationConfig","enableAffectiveDialog"],h);const g=i(n,["systemInstruction"]);e!==void 0&&g!=null&&s(e,["setup","systemInstruction"],vi(U(g)));const y=i(n,["tools"]);if(e!==void 0&&y!=null){let R=Q(y);Array.isArray(R)&&(R=R.map(P=>Bi(X(P)))),s(e,["setup","tools"],R)}const _=i(n,["sessionResumption"]);e!==void 0&&_!=null&&s(e,["setup","sessionResumption"],Hi(_));const I=i(n,["inputAudioTranscription"]);e!==void 0&&I!=null&&s(e,["setup","inputAudioTranscription"],I);const E=i(n,["outputAudioTranscription"]);e!==void 0&&E!=null&&s(e,["setup","outputAudioTranscription"],E);const C=i(n,["realtimeInputConfig"]);e!==void 0&&C!=null&&s(e,["setup","realtimeInputConfig"],C);const S=i(n,["contextWindowCompression"]);e!==void 0&&S!=null&&s(e,["setup","contextWindowCompression"],S);const v=i(n,["proactivity"]);return e!==void 0&&v!=null&&s(e,["setup","proactivity"],v),t}function Di(n,e){const t={},o=i(n,["generationConfig"]);e!==void 0&&o!=null&&s(e,["setup","generationConfig"],Mi(o));const r=i(n,["responseModalities"]);e!==void 0&&r!=null&&s(e,["setup","generationConfig","responseModalities"],r);const l=i(n,["temperature"]);e!==void 0&&l!=null&&s(e,["setup","generationConfig","temperature"],l);const a=i(n,["topP"]);e!==void 0&&a!=null&&s(e,["setup","generationConfig","topP"],a);const u=i(n,["topK"]);e!==void 0&&u!=null&&s(e,["setup","generationConfig","topK"],u);const f=i(n,["maxOutputTokens"]);e!==void 0&&f!=null&&s(e,["setup","generationConfig","maxOutputTokens"],f);const d=i(n,["mediaResolution"]);e!==void 0&&d!=null&&s(e,["setup","generationConfig","mediaResolution"],d);const c=i(n,["seed"]);e!==void 0&&c!=null&&s(e,["setup","generationConfig","seed"],c);const p=i(n,["speechConfig"]);e!==void 0&&p!=null&&s(e,["setup","generationConfig","speechConfig"],rt(Ae(p)));const m=i(n,["thinkingConfig"]);e!==void 0&&m!=null&&s(e,["setup","generationConfig","thinkingConfig"],m);const h=i(n,["enableAffectiveDialog"]);e!==void 0&&h!=null&&s(e,["setup","generationConfig","enableAffectiveDialog"],h);const g=i(n,["systemInstruction"]);e!==void 0&&g!=null&&s(e,["setup","systemInstruction"],U(g));const y=i(n,["tools"]);if(e!==void 0&&y!=null){let R=Q(y);Array.isArray(R)&&(R=R.map(P=>Ji(X(P)))),s(e,["setup","tools"],R)}const _=i(n,["sessionResumption"]);e!==void 0&&_!=null&&s(e,["setup","sessionResumption"],_);const I=i(n,["inputAudioTranscription"]);e!==void 0&&I!=null&&s(e,["setup","inputAudioTranscription"],I);const E=i(n,["outputAudioTranscription"]);e!==void 0&&E!=null&&s(e,["setup","outputAudioTranscription"],E);const C=i(n,["realtimeInputConfig"]);e!==void 0&&C!=null&&s(e,["setup","realtimeInputConfig"],C);const S=i(n,["contextWindowCompression"]);e!==void 0&&S!=null&&s(e,["setup","contextWindowCompression"],S);const v=i(n,["proactivity"]);return e!==void 0&&v!=null&&s(e,["setup","proactivity"],v),t}function xi(n,e){const t={},o=i(e,["model"]);o!=null&&s(t,["setup","model"],M(n,o));const r=i(e,["config"]);return r!=null&&s(t,["config"],wi(r,t)),t}function Ui(n,e){const t={},o=i(e,["model"]);o!=null&&s(t,["setup","model"],M(n,o));const r=i(e,["config"]);return r!=null&&s(t,["config"],Di(r,t)),t}function ki(n){const e={},t=i(n,["musicGenerationConfig"]);return t!=null&&s(e,["musicGenerationConfig"],t),e}function Li(n){const e={},t=i(n,["weightedPrompts"]);if(t!=null){let o=t;Array.isArray(o)&&(o=o.map(r=>r)),s(e,["weightedPrompts"],o)}return e}function qi(n){const e={},t=i(n,["media"]);if(t!=null){let d=zn(t);Array.isArray(d)&&(d=d.map(c=>ne(c))),s(e,["mediaChunks"],d)}const o=i(n,["audio"]);o!=null&&s(e,["audio"],ne(Qn(o)));const r=i(n,["audioStreamEnd"]);r!=null&&s(e,["audioStreamEnd"],r);const l=i(n,["video"]);l!=null&&s(e,["video"],ne(Xn(l)));const a=i(n,["text"]);a!=null&&s(e,["text"],a);const u=i(n,["activityStart"]);u!=null&&s(e,["activityStart"],u);const f=i(n,["activityEnd"]);return f!=null&&s(e,["activityEnd"],f),e}function Vi(n){const e={},t=i(n,["media"]);if(t!=null){let d=zn(t);Array.isArray(d)&&(d=d.map(c=>c)),s(e,["mediaChunks"],d)}const o=i(n,["audio"]);o!=null&&s(e,["audio"],Qn(o));const r=i(n,["audioStreamEnd"]);r!=null&&s(e,["audioStreamEnd"],r);const l=i(n,["video"]);l!=null&&s(e,["video"],Xn(l));const a=i(n,["text"]);a!=null&&s(e,["text"],a);const u=i(n,["activityStart"]);u!=null&&s(e,["activityStart"],u);const f=i(n,["activityEnd"]);return f!=null&&s(e,["activityEnd"],f),e}function Fi(n){const e={},t=i(n,["setupComplete"]);t!=null&&s(e,["setupComplete"],t);const o=i(n,["serverContent"]);o!=null&&s(e,["serverContent"],o);const r=i(n,["toolCall"]);r!=null&&s(e,["toolCall"],r);const l=i(n,["toolCallCancellation"]);l!=null&&s(e,["toolCallCancellation"],l);const a=i(n,["usageMetadata"]);a!=null&&s(e,["usageMetadata"],Yi(a));const u=i(n,["goAway"]);u!=null&&s(e,["goAway"],u);const f=i(n,["sessionResumptionUpdate"]);return f!=null&&s(e,["sessionResumptionUpdate"],f),e}function Gi(n){const e={},t=i(n,["videoMetadata"]);t!=null&&s(e,["videoMetadata"],t);const o=i(n,["thought"]);o!=null&&s(e,["thought"],o);const r=i(n,["inlineData"]);r!=null&&s(e,["inlineData"],ne(r));const l=i(n,["fileData"]);l!=null&&s(e,["fileData"],Ri(l));const a=i(n,["thoughtSignature"]);a!=null&&s(e,["thoughtSignature"],a);const u=i(n,["functionCall"]);u!=null&&s(e,["functionCall"],u);const f=i(n,["codeExecutionResult"]);f!=null&&s(e,["codeExecutionResult"],f);const d=i(n,["executableCode"]);d!=null&&s(e,["executableCode"],d);const c=i(n,["functionResponse"]);c!=null&&s(e,["functionResponse"],c);const p=i(n,["text"]);return p!=null&&s(e,["text"],p),e}function Hi(n){const e={},t=i(n,["handle"]);if(t!=null&&s(e,["handle"],t),i(n,["transparent"])!==void 0)throw new Error("transparent parameter is not supported in Gemini API.");return e}function rt(n){const e={},t=i(n,["voiceConfig"]);if(t!=null&&s(e,["voiceConfig"],t),i(n,["multiSpeakerVoiceConfig"])!==void 0)throw new Error("multiSpeakerVoiceConfig parameter is not supported in Vertex AI.");const o=i(n,["languageCode"]);return o!=null&&s(e,["languageCode"],o),e}function Bi(n){const e={},t=i(n,["functionDeclarations"]);if(t!=null){let f=t;Array.isArray(f)&&(f=f.map(d=>d)),s(e,["functionDeclarations"],f)}if(i(n,["retrieval"])!==void 0)throw new Error("retrieval parameter is not supported in Gemini API.");const o=i(n,["googleSearch"]);o!=null&&s(e,["googleSearch"],Ni(o));const r=i(n,["googleSearchRetrieval"]);if(r!=null&&s(e,["googleSearchRetrieval"],r),i(n,["enterpriseWebSearch"])!==void 0)throw new Error("enterpriseWebSearch parameter is not supported in Gemini API.");if(i(n,["googleMaps"])!==void 0)throw new Error("googleMaps parameter is not supported in Gemini API.");const l=i(n,["urlContext"]);l!=null&&s(e,["urlContext"],l);const a=i(n,["computerUse"]);a!=null&&s(e,["computerUse"],a);const u=i(n,["codeExecution"]);return u!=null&&s(e,["codeExecution"],u),e}function Ji(n){const e={},t=i(n,["functionDeclarations"]);if(t!=null){let p=t;Array.isArray(p)&&(p=p.map(m=>Pi(m))),s(e,["functionDeclarations"],p)}const o=i(n,["retrieval"]);o!=null&&s(e,["retrieval"],o);const r=i(n,["googleSearch"]);r!=null&&s(e,["googleSearch"],r);const l=i(n,["googleSearchRetrieval"]);l!=null&&s(e,["googleSearchRetrieval"],l);const a=i(n,["enterpriseWebSearch"]);a!=null&&s(e,["enterpriseWebSearch"],a);const u=i(n,["googleMaps"]);u!=null&&s(e,["googleMaps"],u);const f=i(n,["urlContext"]);f!=null&&s(e,["urlContext"],f);const d=i(n,["computerUse"]);d!=null&&s(e,["computerUse"],d);const c=i(n,["codeExecution"]);return c!=null&&s(e,["codeExecution"],c),e}function Yi(n){const e={},t=i(n,["promptTokenCount"]);t!=null&&s(e,["promptTokenCount"],t);const o=i(n,["cachedContentTokenCount"]);o!=null&&s(e,["cachedContentTokenCount"],o);const r=i(n,["candidatesTokenCount"]);r!=null&&s(e,["responseTokenCount"],r);const l=i(n,["toolUsePromptTokenCount"]);l!=null&&s(e,["toolUsePromptTokenCount"],l);const a=i(n,["thoughtsTokenCount"]);a!=null&&s(e,["thoughtsTokenCount"],a);const u=i(n,["totalTokenCount"]);u!=null&&s(e,["totalTokenCount"],u);const f=i(n,["promptTokensDetails"]);if(f!=null){let h=f;Array.isArray(h)&&(h=h.map(g=>g)),s(e,["promptTokensDetails"],h)}const d=i(n,["cacheTokensDetails"]);if(d!=null){let h=d;Array.isArray(h)&&(h=h.map(g=>g)),s(e,["cacheTokensDetails"],h)}const c=i(n,["candidatesTokensDetails"]);if(c!=null){let h=c;Array.isArray(h)&&(h=h.map(g=>g)),s(e,["responseTokensDetails"],h)}const p=i(n,["toolUsePromptTokensDetails"]);if(p!=null){let h=p;Array.isArray(h)&&(h=h.map(g=>g)),s(e,["toolUsePromptTokensDetails"],h)}const m=i(n,["trafficType"]);return m!=null&&s(e,["trafficType"],m),e}/** | |
| * @license | |
| * Copyright 2025 Google LLC | |
| * SPDX-License-Identifier: Apache-2.0 | |
| */function $i(n){const e={};if(i(n,["displayName"])!==void 0)throw new Error("displayName parameter is not supported in Gemini API.");const t=i(n,["data"]);t!=null&&s(e,["data"],t);const o=i(n,["mimeType"]);return o!=null&&s(e,["mimeType"],o),e}function Wi(n){const e={},t=i(n,["content"]);t!=null&&s(e,["content"],t);const o=i(n,["citationMetadata"]);o!=null&&s(e,["citationMetadata"],Ki(o));const r=i(n,["tokenCount"]);r!=null&&s(e,["tokenCount"],r);const l=i(n,["finishReason"]);l!=null&&s(e,["finishReason"],l);const a=i(n,["urlContextMetadata"]);a!=null&&s(e,["urlContextMetadata"],a);const u=i(n,["avgLogprobs"]);u!=null&&s(e,["avgLogprobs"],u);const f=i(n,["groundingMetadata"]);f!=null&&s(e,["groundingMetadata"],f);const d=i(n,["index"]);d!=null&&s(e,["index"],d);const c=i(n,["logprobsResult"]);c!=null&&s(e,["logprobsResult"],c);const p=i(n,["safetyRatings"]);if(p!=null){let m=p;Array.isArray(m)&&(m=m.map(h=>h)),s(e,["safetyRatings"],m)}return e}function Ki(n){const e={},t=i(n,["citationSources"]);if(t!=null){let o=t;Array.isArray(o)&&(o=o.map(r=>r)),s(e,["citations"],o)}return e}function zi(n,e){const t={},o=i(e,["model"]);o!=null&&s(t,["_url","model"],M(n,o));const r=i(e,["contents"]);if(r!=null){let l=L(r);Array.isArray(l)&&(l=l.map(a=>a)),s(t,["contents"],l)}return t}function Xi(n){const e={},t=i(n,["sdkHttpResponse"]);t!=null&&s(e,["sdkHttpResponse"],t);const o=i(n,["tokensInfo"]);if(o!=null){let r=o;Array.isArray(r)&&(r=r.map(l=>l)),s(e,["tokensInfo"],r)}return e}function Qi(n){const e={},t=i(n,["values"]);t!=null&&s(e,["values"],t);const o=i(n,["statistics"]);return o!=null&&s(e,["statistics"],Zi(o)),e}function Zi(n){const e={},t=i(n,["truncated"]);t!=null&&s(e,["truncated"],t);const o=i(n,["token_count"]);return o!=null&&s(e,["tokenCount"],o),e}function re(n){const e={},t=i(n,["parts"]);if(t!=null){let r=t;Array.isArray(r)&&(r=r.map(l=>er(l))),s(e,["parts"],r)}const o=i(n,["role"]);return o!=null&&s(e,["role"],o),e}function bi(n){const e={},t=i(n,["controlType"]);t!=null&&s(e,["controlType"],t);const o=i(n,["enableControlImageComputation"]);return o!=null&&s(e,["computeControl"],o),e}function Oi(n){const e={};if(i(n,["systemInstruction"])!==void 0)throw new Error("systemInstruction parameter is not supported in Gemini API.");if(i(n,["tools"])!==void 0)throw new Error("tools parameter is not supported in Gemini API.");if(i(n,["generationConfig"])!==void 0)throw new Error("generationConfig parameter is not supported in Gemini API.");return e}function ji(n,e){const t={},o=i(n,["systemInstruction"]);e!==void 0&&o!=null&&s(e,["systemInstruction"],U(o));const r=i(n,["tools"]);if(e!==void 0&&r!=null){let a=r;Array.isArray(a)&&(a=a.map(u=>ft(u))),s(e,["tools"],a)}const l=i(n,["generationConfig"]);return e!==void 0&&l!=null&&s(e,["generationConfig"],Js(l)),t}function es(n,e){const t={},o=i(e,["model"]);o!=null&&s(t,["_url","model"],M(n,o));const r=i(e,["contents"]);if(r!=null){let a=L(r);Array.isArray(a)&&(a=a.map(u=>re(u))),s(t,["contents"],a)}const l=i(e,["config"]);return l!=null&&Oi(l),t}function ns(n,e){const t={},o=i(e,["model"]);o!=null&&s(t,["_url","model"],M(n,o));const r=i(e,["contents"]);if(r!=null){let a=L(r);Array.isArray(a)&&(a=a.map(u=>u)),s(t,["contents"],a)}const l=i(e,["config"]);return l!=null&&ji(l,t),t}function ts(n){const e={},t=i(n,["sdkHttpResponse"]);t!=null&&s(e,["sdkHttpResponse"],t);const o=i(n,["totalTokens"]);o!=null&&s(e,["totalTokens"],o);const r=i(n,["cachedContentTokenCount"]);return r!=null&&s(e,["cachedContentTokenCount"],r),e}function os(n){const e={},t=i(n,["sdkHttpResponse"]);t!=null&&s(e,["sdkHttpResponse"],t);const o=i(n,["totalTokens"]);return o!=null&&s(e,["totalTokens"],o),e}function is(n,e){const t={},o=i(e,["model"]);return o!=null&&s(t,["_url","name"],M(n,o)),t}function ss(n,e){const t={},o=i(e,["model"]);return o!=null&&s(t,["_url","name"],M(n,o)),t}function rs(n){const e={},t=i(n,["sdkHttpResponse"]);return t!=null&&s(e,["sdkHttpResponse"],t),e}function ls(n){const e={},t=i(n,["sdkHttpResponse"]);return t!=null&&s(e,["sdkHttpResponse"],t),e}function as(n,e){const t={},o=i(n,["outputGcsUri"]);e!==void 0&&o!=null&&s(e,["parameters","storageUri"],o);const r=i(n,["negativePrompt"]);e!==void 0&&r!=null&&s(e,["parameters","negativePrompt"],r);const l=i(n,["numberOfImages"]);e!==void 0&&l!=null&&s(e,["parameters","sampleCount"],l);const a=i(n,["aspectRatio"]);e!==void 0&&a!=null&&s(e,["parameters","aspectRatio"],a);const u=i(n,["guidanceScale"]);e!==void 0&&u!=null&&s(e,["parameters","guidanceScale"],u);const f=i(n,["seed"]);e!==void 0&&f!=null&&s(e,["parameters","seed"],f);const d=i(n,["safetyFilterLevel"]);e!==void 0&&d!=null&&s(e,["parameters","safetySetting"],d);const c=i(n,["personGeneration"]);e!==void 0&&c!=null&&s(e,["parameters","personGeneration"],c);const p=i(n,["includeSafetyAttributes"]);e!==void 0&&p!=null&&s(e,["parameters","includeSafetyAttributes"],p);const m=i(n,["includeRaiReason"]);e!==void 0&&m!=null&&s(e,["parameters","includeRaiReason"],m);const h=i(n,["language"]);e!==void 0&&h!=null&&s(e,["parameters","language"],h);const g=i(n,["outputMimeType"]);e!==void 0&&g!=null&&s(e,["parameters","outputOptions","mimeType"],g);const y=i(n,["outputCompressionQuality"]);e!==void 0&&y!=null&&s(e,["parameters","outputOptions","compressionQuality"],y);const _=i(n,["addWatermark"]);e!==void 0&&_!=null&&s(e,["parameters","addWatermark"],_);const I=i(n,["labels"]);e!==void 0&&I!=null&&s(e,["labels"],I);const E=i(n,["editMode"]);e!==void 0&&E!=null&&s(e,["parameters","editMode"],E);const C=i(n,["baseSteps"]);return e!==void 0&&C!=null&&s(e,["parameters","editConfig","baseSteps"],C),t}function us(n,e){const t={},o=i(e,["model"]);o!=null&&s(t,["_url","model"],M(n,o));const r=i(e,["prompt"]);r!=null&&s(t,["instances[0]","prompt"],r);const l=i(e,["referenceImages"]);if(l!=null){let u=l;Array.isArray(u)&&(u=u.map(f=>rr(f))),s(t,["instances[0]","referenceImages"],u)}const a=i(e,["config"]);return a!=null&&as(a,t),t}function ds(n){const e={},t=i(n,["sdkHttpResponse"]);t!=null&&s(e,["sdkHttpResponse"],t);const o=i(n,["predictions"]);if(o!=null){let r=o;Array.isArray(r)&&(r=r.map(l=>le(l))),s(e,["generatedImages"],r)}return e}function fs(n,e){const t={},o=i(n,["taskType"]);e!==void 0&&o!=null&&s(e,["requests[]","taskType"],o);const r=i(n,["title"]);e!==void 0&&r!=null&&s(e,["requests[]","title"],r);const l=i(n,["outputDimensionality"]);if(e!==void 0&&l!=null&&s(e,["requests[]","outputDimensionality"],l),i(n,["mimeType"])!==void 0)throw new Error("mimeType parameter is not supported in Gemini API.");if(i(n,["autoTruncate"])!==void 0)throw new Error("autoTruncate parameter is not supported in Gemini API.");return t}function cs(n,e){const t={},o=i(n,["taskType"]);e!==void 0&&o!=null&&s(e,["instances[]","task_type"],o);const r=i(n,["title"]);e!==void 0&&r!=null&&s(e,["instances[]","title"],r);const l=i(n,["outputDimensionality"]);e!==void 0&&l!=null&&s(e,["parameters","outputDimensionality"],l);const a=i(n,["mimeType"]);e!==void 0&&a!=null&&s(e,["instances[]","mimeType"],a);const u=i(n,["autoTruncate"]);return e!==void 0&&u!=null&&s(e,["parameters","autoTruncate"],u),t}function ps(n,e){const t={},o=i(e,["model"]);o!=null&&s(t,["_url","model"],M(n,o));const r=i(e,["contents"]);if(r!=null){let u=Ee(n,r);Array.isArray(u)&&(u=u.map(f=>f)),s(t,["requests[]","content"],u)}const l=i(e,["config"]);l!=null&&fs(l,t);const a=i(e,["model"]);return a!==void 0&&s(t,["requests[]","model"],M(n,a)),t}function ms(n,e){const t={},o=i(e,["model"]);o!=null&&s(t,["_url","model"],M(n,o));const r=i(e,["contents"]);if(r!=null){let a=Ee(n,r);Array.isArray(a)&&(a=a.map(u=>u)),s(t,["instances[]","content"],a)}const l=i(e,["config"]);return l!=null&&cs(l,t),t}function hs(n){const e={},t=i(n,["sdkHttpResponse"]);t!=null&&s(e,["sdkHttpResponse"],t);const o=i(n,["embeddings"]);if(o!=null){let l=o;Array.isArray(l)&&(l=l.map(a=>a)),s(e,["embeddings"],l)}const r=i(n,["metadata"]);return r!=null&&s(e,["metadata"],r),e}function gs(n){const e={},t=i(n,["sdkHttpResponse"]);t!=null&&s(e,["sdkHttpResponse"],t);const o=i(n,["predictions[]","embeddings"]);if(o!=null){let l=o;Array.isArray(l)&&(l=l.map(a=>Qi(a))),s(e,["embeddings"],l)}const r=i(n,["metadata"]);return r!=null&&s(e,["metadata"],r),e}function ys(n){const e={},t=i(n,["endpoint"]);t!=null&&s(e,["name"],t);const o=i(n,["deployedModelId"]);return o!=null&&s(e,["deployedModelId"],o),e}function Ts(n){const e={};if(i(n,["displayName"])!==void 0)throw new Error("displayName parameter is not supported in Gemini API.");const t=i(n,["fileUri"]);t!=null&&s(e,["fileUri"],t);const o=i(n,["mimeType"]);return o!=null&&s(e,["mimeType"],o),e}function Cs(n){const e={};if(i(n,["behavior"])!==void 0)throw new Error("behavior parameter is not supported in Vertex AI.");const t=i(n,["description"]);t!=null&&s(e,["description"],t);const o=i(n,["name"]);o!=null&&s(e,["name"],o);const r=i(n,["parameters"]);r!=null&&s(e,["parameters"],r);const l=i(n,["parametersJsonSchema"]);l!=null&&s(e,["parametersJsonSchema"],l);const a=i(n,["response"]);a!=null&&s(e,["response"],a);const u=i(n,["responseJsonSchema"]);return u!=null&&s(e,["responseJsonSchema"],u),e}function _s(n,e,t){const o={},r=i(e,["systemInstruction"]);t!==void 0&&r!=null&&s(t,["systemInstruction"],re(U(r)));const l=i(e,["temperature"]);l!=null&&s(o,["temperature"],l);const a=i(e,["topP"]);a!=null&&s(o,["topP"],a);const u=i(e,["topK"]);u!=null&&s(o,["topK"],u);const f=i(e,["candidateCount"]);f!=null&&s(o,["candidateCount"],f);const d=i(e,["maxOutputTokens"]);d!=null&&s(o,["maxOutputTokens"],d);const c=i(e,["stopSequences"]);c!=null&&s(o,["stopSequences"],c);const p=i(e,["responseLogprobs"]);p!=null&&s(o,["responseLogprobs"],p);const m=i(e,["logprobs"]);m!=null&&s(o,["logprobs"],m);const h=i(e,["presencePenalty"]);h!=null&&s(o,["presencePenalty"],h);const g=i(e,["frequencyPenalty"]);g!=null&&s(o,["frequencyPenalty"],g);const y=i(e,["seed"]);y!=null&&s(o,["seed"],y);const _=i(e,["responseMimeType"]);_!=null&&s(o,["responseMimeType"],_);const I=i(e,["responseSchema"]);I!=null&&s(o,["responseSchema"],Ie(I));const E=i(e,["responseJsonSchema"]);if(E!=null&&s(o,["responseJsonSchema"],E),i(e,["routingConfig"])!==void 0)throw new Error("routingConfig parameter is not supported in Gemini API.");if(i(e,["modelSelectionConfig"])!==void 0)throw new Error("modelSelectionConfig parameter is not supported in Gemini API.");const C=i(e,["safetySettings"]);if(t!==void 0&&C!=null){let D=C;Array.isArray(D)&&(D=D.map(V=>lr(V))),s(t,["safetySettings"],D)}const S=i(e,["tools"]);if(t!==void 0&&S!=null){let D=Q(S);Array.isArray(D)&&(D=D.map(V=>pr(X(V)))),s(t,["tools"],D)}const v=i(e,["toolConfig"]);if(t!==void 0&&v!=null&&s(t,["toolConfig"],v),i(e,["labels"])!==void 0)throw new Error("labels parameter is not supported in Gemini API.");const R=i(e,["cachedContent"]);t!==void 0&&R!=null&&s(t,["cachedContent"],G(n,R));const P=i(e,["responseModalities"]);P!=null&&s(o,["responseModalities"],P);const x=i(e,["mediaResolution"]);x!=null&&s(o,["mediaResolution"],x);const A=i(e,["speechConfig"]);if(A!=null&&s(o,["speechConfig"],Se(A)),i(e,["audioTimestamp"])!==void 0)throw new Error("audioTimestamp parameter is not supported in Gemini API.");const N=i(e,["thinkingConfig"]);N!=null&&s(o,["thinkingConfig"],N);const k=i(e,["imageConfig"]);return k!=null&&s(o,["imageConfig"],k),o}function Es(n,e,t){const o={},r=i(e,["systemInstruction"]);t!==void 0&&r!=null&&s(t,["systemInstruction"],U(r));const l=i(e,["temperature"]);l!=null&&s(o,["temperature"],l);const a=i(e,["topP"]);a!=null&&s(o,["topP"],a);const u=i(e,["topK"]);u!=null&&s(o,["topK"],u);const f=i(e,["candidateCount"]);f!=null&&s(o,["candidateCount"],f);const d=i(e,["maxOutputTokens"]);d!=null&&s(o,["maxOutputTokens"],d);const c=i(e,["stopSequences"]);c!=null&&s(o,["stopSequences"],c);const p=i(e,["responseLogprobs"]);p!=null&&s(o,["responseLogprobs"],p);const m=i(e,["logprobs"]);m!=null&&s(o,["logprobs"],m);const h=i(e,["presencePenalty"]);h!=null&&s(o,["presencePenalty"],h);const g=i(e,["frequencyPenalty"]);g!=null&&s(o,["frequencyPenalty"],g);const y=i(e,["seed"]);y!=null&&s(o,["seed"],y);const _=i(e,["responseMimeType"]);_!=null&&s(o,["responseMimeType"],_);const I=i(e,["responseSchema"]);I!=null&&s(o,["responseSchema"],Ie(I));const E=i(e,["responseJsonSchema"]);E!=null&&s(o,["responseJsonSchema"],E);const C=i(e,["routingConfig"]);C!=null&&s(o,["routingConfig"],C);const S=i(e,["modelSelectionConfig"]);S!=null&&s(o,["modelConfig"],S);const v=i(e,["safetySettings"]);if(t!==void 0&&v!=null){let F=v;Array.isArray(F)&&(F=F.map(ue=>ue)),s(t,["safetySettings"],F)}const R=i(e,["tools"]);if(t!==void 0&&R!=null){let F=Q(R);Array.isArray(F)&&(F=F.map(ue=>ft(X(ue)))),s(t,["tools"],F)}const P=i(e,["toolConfig"]);t!==void 0&&P!=null&&s(t,["toolConfig"],P);const x=i(e,["labels"]);t!==void 0&&x!=null&&s(t,["labels"],x);const A=i(e,["cachedContent"]);t!==void 0&&A!=null&&s(t,["cachedContent"],G(n,A));const N=i(e,["responseModalities"]);N!=null&&s(o,["responseModalities"],N);const k=i(e,["mediaResolution"]);k!=null&&s(o,["mediaResolution"],k);const D=i(e,["speechConfig"]);D!=null&&s(o,["speechConfig"],dt(Se(D)));const V=i(e,["audioTimestamp"]);V!=null&&s(o,["audioTimestamp"],V);const Re=i(e,["thinkingConfig"]);Re!=null&&s(o,["thinkingConfig"],Re);const Pe=i(e,["imageConfig"]);return Pe!=null&&s(o,["imageConfig"],Pe),o}function qn(n,e){const t={},o=i(e,["model"]);o!=null&&s(t,["_url","model"],M(n,o));const r=i(e,["contents"]);if(r!=null){let a=L(r);Array.isArray(a)&&(a=a.map(u=>re(u))),s(t,["contents"],a)}const l=i(e,["config"]);return l!=null&&s(t,["generationConfig"],_s(n,l,t)),t}function Vn(n,e){const t={},o=i(e,["model"]);o!=null&&s(t,["_url","model"],M(n,o));const r=i(e,["contents"]);if(r!=null){let a=L(r);Array.isArray(a)&&(a=a.map(u=>u)),s(t,["contents"],a)}const l=i(e,["config"]);return l!=null&&s(t,["generationConfig"],Es(n,l,t)),t}function Fn(n){const e={},t=i(n,["sdkHttpResponse"]);t!=null&&s(e,["sdkHttpResponse"],t);const o=i(n,["candidates"]);if(o!=null){let f=o;Array.isArray(f)&&(f=f.map(d=>Wi(d))),s(e,["candidates"],f)}const r=i(n,["modelVersion"]);r!=null&&s(e,["modelVersion"],r);const l=i(n,["promptFeedback"]);l!=null&&s(e,["promptFeedback"],l);const a=i(n,["responseId"]);a!=null&&s(e,["responseId"],a);const u=i(n,["usageMetadata"]);return u!=null&&s(e,["usageMetadata"],u),e}function Gn(n){const e={},t=i(n,["sdkHttpResponse"]);t!=null&&s(e,["sdkHttpResponse"],t);const o=i(n,["candidates"]);if(o!=null){let d=o;Array.isArray(d)&&(d=d.map(c=>c)),s(e,["candidates"],d)}const r=i(n,["createTime"]);r!=null&&s(e,["createTime"],r);const l=i(n,["modelVersion"]);l!=null&&s(e,["modelVersion"],l);const a=i(n,["promptFeedback"]);a!=null&&s(e,["promptFeedback"],a);const u=i(n,["responseId"]);u!=null&&s(e,["responseId"],u);const f=i(n,["usageMetadata"]);return f!=null&&s(e,["usageMetadata"],f),e}function Is(n,e){const t={};if(i(n,["outputGcsUri"])!==void 0)throw new Error("outputGcsUri parameter is not supported in Gemini API.");if(i(n,["negativePrompt"])!==void 0)throw new Error("negativePrompt parameter is not supported in Gemini API.");const o=i(n,["numberOfImages"]);e!==void 0&&o!=null&&s(e,["parameters","sampleCount"],o);const r=i(n,["aspectRatio"]);e!==void 0&&r!=null&&s(e,["parameters","aspectRatio"],r);const l=i(n,["guidanceScale"]);if(e!==void 0&&l!=null&&s(e,["parameters","guidanceScale"],l),i(n,["seed"])!==void 0)throw new Error("seed parameter is not supported in Gemini API.");const a=i(n,["safetyFilterLevel"]);e!==void 0&&a!=null&&s(e,["parameters","safetySetting"],a);const u=i(n,["personGeneration"]);e!==void 0&&u!=null&&s(e,["parameters","personGeneration"],u);const f=i(n,["includeSafetyAttributes"]);e!==void 0&&f!=null&&s(e,["parameters","includeSafetyAttributes"],f);const d=i(n,["includeRaiReason"]);e!==void 0&&d!=null&&s(e,["parameters","includeRaiReason"],d);const c=i(n,["language"]);e!==void 0&&c!=null&&s(e,["parameters","language"],c);const p=i(n,["outputMimeType"]);e!==void 0&&p!=null&&s(e,["parameters","outputOptions","mimeType"],p);const m=i(n,["outputCompressionQuality"]);if(e!==void 0&&m!=null&&s(e,["parameters","outputOptions","compressionQuality"],m),i(n,["addWatermark"])!==void 0)throw new Error("addWatermark parameter is not supported in Gemini API.");if(i(n,["labels"])!==void 0)throw new Error("labels parameter is not supported in Gemini API.");const h=i(n,["imageSize"]);if(e!==void 0&&h!=null&&s(e,["parameters","sampleImageSize"],h),i(n,["enhancePrompt"])!==void 0)throw new Error("enhancePrompt parameter is not supported in Gemini API.");return t}function Ss(n,e){const t={},o=i(n,["outputGcsUri"]);e!==void 0&&o!=null&&s(e,["parameters","storageUri"],o);const r=i(n,["negativePrompt"]);e!==void 0&&r!=null&&s(e,["parameters","negativePrompt"],r);const l=i(n,["numberOfImages"]);e!==void 0&&l!=null&&s(e,["parameters","sampleCount"],l);const a=i(n,["aspectRatio"]);e!==void 0&&a!=null&&s(e,["parameters","aspectRatio"],a);const u=i(n,["guidanceScale"]);e!==void 0&&u!=null&&s(e,["parameters","guidanceScale"],u);const f=i(n,["seed"]);e!==void 0&&f!=null&&s(e,["parameters","seed"],f);const d=i(n,["safetyFilterLevel"]);e!==void 0&&d!=null&&s(e,["parameters","safetySetting"],d);const c=i(n,["personGeneration"]);e!==void 0&&c!=null&&s(e,["parameters","personGeneration"],c);const p=i(n,["includeSafetyAttributes"]);e!==void 0&&p!=null&&s(e,["parameters","includeSafetyAttributes"],p);const m=i(n,["includeRaiReason"]);e!==void 0&&m!=null&&s(e,["parameters","includeRaiReason"],m);const h=i(n,["language"]);e!==void 0&&h!=null&&s(e,["parameters","language"],h);const g=i(n,["outputMimeType"]);e!==void 0&&g!=null&&s(e,["parameters","outputOptions","mimeType"],g);const y=i(n,["outputCompressionQuality"]);e!==void 0&&y!=null&&s(e,["parameters","outputOptions","compressionQuality"],y);const _=i(n,["addWatermark"]);e!==void 0&&_!=null&&s(e,["parameters","addWatermark"],_);const I=i(n,["labels"]);e!==void 0&&I!=null&&s(e,["labels"],I);const E=i(n,["imageSize"]);e!==void 0&&E!=null&&s(e,["parameters","sampleImageSize"],E);const C=i(n,["enhancePrompt"]);return e!==void 0&&C!=null&&s(e,["parameters","enhancePrompt"],C),t}function As(n,e){const t={},o=i(e,["model"]);o!=null&&s(t,["_url","model"],M(n,o));const r=i(e,["prompt"]);r!=null&&s(t,["instances[0]","prompt"],r);const l=i(e,["config"]);return l!=null&&Is(l,t),t}function vs(n,e){const t={},o=i(e,["model"]);o!=null&&s(t,["_url","model"],M(n,o));const r=i(e,["prompt"]);r!=null&&s(t,["instances[0]","prompt"],r);const l=i(e,["config"]);return l!=null&&Ss(l,t),t}function Rs(n){const e={},t=i(n,["sdkHttpResponse"]);t!=null&&s(e,["sdkHttpResponse"],t);const o=i(n,["predictions"]);if(o!=null){let l=o;Array.isArray(l)&&(l=l.map(a=>Fs(a))),s(e,["generatedImages"],l)}const r=i(n,["positivePromptSafetyAttributes"]);return r!=null&&s(e,["positivePromptSafetyAttributes"],at(r)),e}function Ps(n){const e={},t=i(n,["sdkHttpResponse"]);t!=null&&s(e,["sdkHttpResponse"],t);const o=i(n,["predictions"]);if(o!=null){let l=o;Array.isArray(l)&&(l=l.map(a=>le(a))),s(e,["generatedImages"],l)}const r=i(n,["positivePromptSafetyAttributes"]);return r!=null&&s(e,["positivePromptSafetyAttributes"],ut(r)),e}function Ms(n,e){const t={},o=i(n,["numberOfVideos"]);if(e!==void 0&&o!=null&&s(e,["parameters","sampleCount"],o),i(n,["outputGcsUri"])!==void 0)throw new Error("outputGcsUri parameter is not supported in Gemini API.");if(i(n,["fps"])!==void 0)throw new Error("fps parameter is not supported in Gemini API.");const r=i(n,["durationSeconds"]);if(e!==void 0&&r!=null&&s(e,["parameters","durationSeconds"],r),i(n,["seed"])!==void 0)throw new Error("seed parameter is not supported in Gemini API.");const l=i(n,["aspectRatio"]);e!==void 0&&l!=null&&s(e,["parameters","aspectRatio"],l);const a=i(n,["resolution"]);e!==void 0&&a!=null&&s(e,["parameters","resolution"],a);const u=i(n,["personGeneration"]);if(e!==void 0&&u!=null&&s(e,["parameters","personGeneration"],u),i(n,["pubsubTopic"])!==void 0)throw new Error("pubsubTopic parameter is not supported in Gemini API.");const f=i(n,["negativePrompt"]);e!==void 0&&f!=null&&s(e,["parameters","negativePrompt"],f);const d=i(n,["enhancePrompt"]);if(e!==void 0&&d!=null&&s(e,["parameters","enhancePrompt"],d),i(n,["generateAudio"])!==void 0)throw new Error("generateAudio parameter is not supported in Gemini API.");const c=i(n,["lastFrame"]);e!==void 0&&c!=null&&s(e,["instances[0]","lastFrame"],ae(c));const p=i(n,["referenceImages"]);if(e!==void 0&&p!=null){let m=p;Array.isArray(m)&&(m=m.map(h=>Rr(h))),s(e,["instances[0]","referenceImages"],m)}if(i(n,["mask"])!==void 0)throw new Error("mask parameter is not supported in Gemini API.");if(i(n,["compressionQuality"])!==void 0)throw new Error("compressionQuality parameter is not supported in Gemini API.");return t}function Ns(n,e){const t={},o=i(n,["numberOfVideos"]);e!==void 0&&o!=null&&s(e,["parameters","sampleCount"],o);const r=i(n,["outputGcsUri"]);e!==void 0&&r!=null&&s(e,["parameters","storageUri"],r);const l=i(n,["fps"]);e!==void 0&&l!=null&&s(e,["parameters","fps"],l);const a=i(n,["durationSeconds"]);e!==void 0&&a!=null&&s(e,["parameters","durationSeconds"],a);const u=i(n,["seed"]);e!==void 0&&u!=null&&s(e,["parameters","seed"],u);const f=i(n,["aspectRatio"]);e!==void 0&&f!=null&&s(e,["parameters","aspectRatio"],f);const d=i(n,["resolution"]);e!==void 0&&d!=null&&s(e,["parameters","resolution"],d);const c=i(n,["personGeneration"]);e!==void 0&&c!=null&&s(e,["parameters","personGeneration"],c);const p=i(n,["pubsubTopic"]);e!==void 0&&p!=null&&s(e,["parameters","pubsubTopic"],p);const m=i(n,["negativePrompt"]);e!==void 0&&m!=null&&s(e,["parameters","negativePrompt"],m);const h=i(n,["enhancePrompt"]);e!==void 0&&h!=null&&s(e,["parameters","enhancePrompt"],h);const g=i(n,["generateAudio"]);e!==void 0&&g!=null&&s(e,["parameters","generateAudio"],g);const y=i(n,["lastFrame"]);e!==void 0&&y!=null&&s(e,["instances[0]","lastFrame"],q(y));const _=i(n,["referenceImages"]);if(e!==void 0&&_!=null){let C=_;Array.isArray(C)&&(C=C.map(S=>Pr(S))),s(e,["instances[0]","referenceImages"],C)}const I=i(n,["mask"]);e!==void 0&&I!=null&&s(e,["instances[0]","mask"],vr(I));const E=i(n,["compressionQuality"]);return e!==void 0&&E!=null&&s(e,["parameters","compressionQuality"],E),t}function ws(n){const e={},t=i(n,["name"]);t!=null&&s(e,["name"],t);const o=i(n,["metadata"]);o!=null&&s(e,["metadata"],o);const r=i(n,["done"]);r!=null&&s(e,["done"],r);const l=i(n,["error"]);l!=null&&s(e,["error"],l);const a=i(n,["response","generateVideoResponse"]);return a!=null&&s(e,["response"],ks(a)),e}function Ds(n){const e={},t=i(n,["name"]);t!=null&&s(e,["name"],t);const o=i(n,["metadata"]);o!=null&&s(e,["metadata"],o);const r=i(n,["done"]);r!=null&&s(e,["done"],r);const l=i(n,["error"]);l!=null&&s(e,["error"],l);const a=i(n,["response"]);return a!=null&&s(e,["response"],Ls(a)),e}function xs(n,e){const t={},o=i(e,["model"]);o!=null&&s(t,["_url","model"],M(n,o));const r=i(e,["prompt"]);r!=null&&s(t,["instances[0]","prompt"],r);const l=i(e,["image"]);l!=null&&s(t,["instances[0]","image"],ae(l));const a=i(e,["video"]);a!=null&&s(t,["instances[0]","video"],ct(a));const u=i(e,["source"]);u!=null&&qs(u,t);const f=i(e,["config"]);return f!=null&&Ms(f,t),t}function Us(n,e){const t={},o=i(e,["model"]);o!=null&&s(t,["_url","model"],M(n,o));const r=i(e,["prompt"]);r!=null&&s(t,["instances[0]","prompt"],r);const l=i(e,["image"]);l!=null&&s(t,["instances[0]","image"],q(l));const a=i(e,["video"]);a!=null&&s(t,["instances[0]","video"],pt(a));const u=i(e,["source"]);u!=null&&Vs(u,t);const f=i(e,["config"]);return f!=null&&Ns(f,t),t}function ks(n){const e={},t=i(n,["generatedSamples"]);if(t!=null){let l=t;Array.isArray(l)&&(l=l.map(a=>Hs(a))),s(e,["generatedVideos"],l)}const o=i(n,["raiMediaFilteredCount"]);o!=null&&s(e,["raiMediaFilteredCount"],o);const r=i(n,["raiMediaFilteredReasons"]);return r!=null&&s(e,["raiMediaFilteredReasons"],r),e}function Ls(n){const e={},t=i(n,["videos"]);if(t!=null){let l=t;Array.isArray(l)&&(l=l.map(a=>Bs(a))),s(e,["generatedVideos"],l)}const o=i(n,["raiMediaFilteredCount"]);o!=null&&s(e,["raiMediaFilteredCount"],o);const r=i(n,["raiMediaFilteredReasons"]);return r!=null&&s(e,["raiMediaFilteredReasons"],r),e}function qs(n,e){const t={},o=i(n,["prompt"]);e!==void 0&&o!=null&&s(e,["instances[0]","prompt"],o);const r=i(n,["image"]);e!==void 0&&r!=null&&s(e,["instances[0]","image"],ae(r));const l=i(n,["video"]);return e!==void 0&&l!=null&&s(e,["instances[0]","video"],ct(l)),t}function Vs(n,e){const t={},o=i(n,["prompt"]);e!==void 0&&o!=null&&s(e,["instances[0]","prompt"],o);const r=i(n,["image"]);e!==void 0&&r!=null&&s(e,["instances[0]","image"],q(r));const l=i(n,["video"]);return e!==void 0&&l!=null&&s(e,["instances[0]","video"],pt(l)),t}function Fs(n){const e={},t=i(n,["_self"]);t!=null&&s(e,["image"],Ks(t));const o=i(n,["raiFilteredReason"]);o!=null&&s(e,["raiFilteredReason"],o);const r=i(n,["_self"]);return r!=null&&s(e,["safetyAttributes"],at(r)),e}function le(n){const e={},t=i(n,["_self"]);t!=null&&s(e,["image"],lt(t));const o=i(n,["raiFilteredReason"]);o!=null&&s(e,["raiFilteredReason"],o);const r=i(n,["_self"]);r!=null&&s(e,["safetyAttributes"],ut(r));const l=i(n,["prompt"]);return l!=null&&s(e,["enhancedPrompt"],l),e}function Gs(n){const e={},t=i(n,["_self"]);t!=null&&s(e,["mask"],lt(t));const o=i(n,["labels"]);if(o!=null){let r=o;Array.isArray(r)&&(r=r.map(l=>l)),s(e,["labels"],r)}return e}function Hs(n){const e={},t=i(n,["_self"]);return t!=null&&s(e,["video"],Sr(t)),e}function Bs(n){const e={},t=i(n,["_self"]);return t!=null&&s(e,["video"],Ar(t)),e}function Js(n){const e={},t=i(n,["modelSelectionConfig"]);t!=null&&s(e,["modelConfig"],t);const o=i(n,["audioTimestamp"]);o!=null&&s(e,["audioTimestamp"],o);const r=i(n,["candidateCount"]);r!=null&&s(e,["candidateCount"],r);const l=i(n,["enableAffectiveDialog"]);l!=null&&s(e,["enableAffectiveDialog"],l);const a=i(n,["frequencyPenalty"]);a!=null&&s(e,["frequencyPenalty"],a);const u=i(n,["logprobs"]);u!=null&&s(e,["logprobs"],u);const f=i(n,["maxOutputTokens"]);f!=null&&s(e,["maxOutputTokens"],f);const d=i(n,["mediaResolution"]);d!=null&&s(e,["mediaResolution"],d);const c=i(n,["presencePenalty"]);c!=null&&s(e,["presencePenalty"],c);const p=i(n,["responseJsonSchema"]);p!=null&&s(e,["responseJsonSchema"],p);const m=i(n,["responseLogprobs"]);m!=null&&s(e,["responseLogprobs"],m);const h=i(n,["responseMimeType"]);h!=null&&s(e,["responseMimeType"],h);const g=i(n,["responseModalities"]);g!=null&&s(e,["responseModalities"],g);const y=i(n,["responseSchema"]);y!=null&&s(e,["responseSchema"],y);const _=i(n,["routingConfig"]);_!=null&&s(e,["routingConfig"],_);const I=i(n,["seed"]);I!=null&&s(e,["seed"],I);const E=i(n,["speechConfig"]);E!=null&&s(e,["speechConfig"],dt(E));const C=i(n,["stopSequences"]);C!=null&&s(e,["stopSequences"],C);const S=i(n,["temperature"]);S!=null&&s(e,["temperature"],S);const v=i(n,["thinkingConfig"]);v!=null&&s(e,["thinkingConfig"],v);const R=i(n,["topK"]);R!=null&&s(e,["topK"],R);const P=i(n,["topP"]);return P!=null&&s(e,["topP"],P),e}function Ys(n,e){const t={},o=i(e,["model"]);return o!=null&&s(t,["_url","name"],M(n,o)),t}function $s(n,e){const t={},o=i(e,["model"]);return o!=null&&s(t,["_url","name"],M(n,o)),t}function Ws(n){const e={},t=i(n,["timeRangeFilter"]);if(t!=null&&s(e,["timeRangeFilter"],t),i(n,["excludeDomains"])!==void 0)throw new Error("excludeDomains parameter is not supported in Gemini API.");return e}function Ks(n){const e={},t=i(n,["bytesBase64Encoded"]);t!=null&&s(e,["imageBytes"],B(t));const o=i(n,["mimeType"]);return o!=null&&s(e,["mimeType"],o),e}function lt(n){const e={},t=i(n,["gcsUri"]);t!=null&&s(e,["gcsUri"],t);const o=i(n,["bytesBase64Encoded"]);o!=null&&s(e,["imageBytes"],B(o));const r=i(n,["mimeType"]);return r!=null&&s(e,["mimeType"],r),e}function ae(n){const e={};if(i(n,["gcsUri"])!==void 0)throw new Error("gcsUri parameter is not supported in Gemini API.");const t=i(n,["imageBytes"]);t!=null&&s(e,["bytesBase64Encoded"],B(t));const o=i(n,["mimeType"]);return o!=null&&s(e,["mimeType"],o),e}function q(n){const e={},t=i(n,["gcsUri"]);t!=null&&s(e,["gcsUri"],t);const o=i(n,["imageBytes"]);o!=null&&s(e,["bytesBase64Encoded"],B(o));const r=i(n,["mimeType"]);return r!=null&&s(e,["mimeType"],r),e}function zs(n,e,t){const o={},r=i(e,["pageSize"]);t!==void 0&&r!=null&&s(t,["_query","pageSize"],r);const l=i(e,["pageToken"]);t!==void 0&&l!=null&&s(t,["_query","pageToken"],l);const a=i(e,["filter"]);t!==void 0&&a!=null&&s(t,["_query","filter"],a);const u=i(e,["queryBase"]);return t!==void 0&&u!=null&&s(t,["_url","models_url"],jn(n,u)),o}function Xs(n,e,t){const o={},r=i(e,["pageSize"]);t!==void 0&&r!=null&&s(t,["_query","pageSize"],r);const l=i(e,["pageToken"]);t!==void 0&&l!=null&&s(t,["_query","pageToken"],l);const a=i(e,["filter"]);t!==void 0&&a!=null&&s(t,["_query","filter"],a);const u=i(e,["queryBase"]);return t!==void 0&&u!=null&&s(t,["_url","models_url"],jn(n,u)),o}function Qs(n,e){const t={},o=i(e,["config"]);return o!=null&&zs(n,o,t),t}function Zs(n,e){const t={},o=i(e,["config"]);return o!=null&&Xs(n,o,t),t}function bs(n){const e={},t=i(n,["sdkHttpResponse"]);t!=null&&s(e,["sdkHttpResponse"],t);const o=i(n,["nextPageToken"]);o!=null&&s(e,["nextPageToken"],o);const r=i(n,["_self"]);if(r!=null){let l=et(r);Array.isArray(l)&&(l=l.map(a=>ge(a))),s(e,["models"],l)}return e}function Os(n){const e={},t=i(n,["sdkHttpResponse"]);t!=null&&s(e,["sdkHttpResponse"],t);const o=i(n,["nextPageToken"]);o!=null&&s(e,["nextPageToken"],o);const r=i(n,["_self"]);if(r!=null){let l=et(r);Array.isArray(l)&&(l=l.map(a=>ye(a))),s(e,["models"],l)}return e}function js(n){const e={},t=i(n,["maskMode"]);t!=null&&s(e,["maskMode"],t);const o=i(n,["segmentationClasses"]);o!=null&&s(e,["maskClasses"],o);const r=i(n,["maskDilation"]);return r!=null&&s(e,["dilation"],r),e}function ge(n){const e={},t=i(n,["name"]);t!=null&&s(e,["name"],t);const o=i(n,["displayName"]);o!=null&&s(e,["displayName"],o);const r=i(n,["description"]);r!=null&&s(e,["description"],r);const l=i(n,["version"]);l!=null&&s(e,["version"],l);const a=i(n,["_self"]);a!=null&&s(e,["tunedModelInfo"],mr(a));const u=i(n,["inputTokenLimit"]);u!=null&&s(e,["inputTokenLimit"],u);const f=i(n,["outputTokenLimit"]);f!=null&&s(e,["outputTokenLimit"],f);const d=i(n,["supportedGenerationMethods"]);return d!=null&&s(e,["supportedActions"],d),e}function ye(n){const e={},t=i(n,["name"]);t!=null&&s(e,["name"],t);const o=i(n,["displayName"]);o!=null&&s(e,["displayName"],o);const r=i(n,["description"]);r!=null&&s(e,["description"],r);const l=i(n,["versionId"]);l!=null&&s(e,["version"],l);const a=i(n,["deployedModels"]);if(a!=null){let p=a;Array.isArray(p)&&(p=p.map(m=>ys(m))),s(e,["endpoints"],p)}const u=i(n,["labels"]);u!=null&&s(e,["labels"],u);const f=i(n,["_self"]);f!=null&&s(e,["tunedModelInfo"],hr(f));const d=i(n,["defaultCheckpointId"]);d!=null&&s(e,["defaultCheckpointId"],d);const c=i(n,["checkpoints"]);if(c!=null){let p=c;Array.isArray(p)&&(p=p.map(m=>m)),s(e,["checkpoints"],p)}return e}function er(n){const e={},t=i(n,["videoMetadata"]);t!=null&&s(e,["videoMetadata"],t);const o=i(n,["thought"]);o!=null&&s(e,["thought"],o);const r=i(n,["inlineData"]);r!=null&&s(e,["inlineData"],$i(r));const l=i(n,["fileData"]);l!=null&&s(e,["fileData"],Ts(l));const a=i(n,["thoughtSignature"]);a!=null&&s(e,["thoughtSignature"],a);const u=i(n,["functionCall"]);u!=null&&s(e,["functionCall"],u);const f=i(n,["codeExecutionResult"]);f!=null&&s(e,["codeExecutionResult"],f);const d=i(n,["executableCode"]);d!=null&&s(e,["executableCode"],d);const c=i(n,["functionResponse"]);c!=null&&s(e,["functionResponse"],c);const p=i(n,["text"]);return p!=null&&s(e,["text"],p),e}function nr(n){const e={},t=i(n,["productImage"]);return t!=null&&s(e,["image"],q(t)),e}function tr(n,e){const t={},o=i(n,["numberOfImages"]);e!==void 0&&o!=null&&s(e,["parameters","sampleCount"],o);const r=i(n,["baseSteps"]);e!==void 0&&r!=null&&s(e,["parameters","editConfig","baseSteps"],r);const l=i(n,["outputGcsUri"]);e!==void 0&&l!=null&&s(e,["parameters","storageUri"],l);const a=i(n,["seed"]);e!==void 0&&a!=null&&s(e,["parameters","seed"],a);const u=i(n,["safetyFilterLevel"]);e!==void 0&&u!=null&&s(e,["parameters","safetySetting"],u);const f=i(n,["personGeneration"]);e!==void 0&&f!=null&&s(e,["parameters","personGeneration"],f);const d=i(n,["addWatermark"]);e!==void 0&&d!=null&&s(e,["parameters","addWatermark"],d);const c=i(n,["outputMimeType"]);e!==void 0&&c!=null&&s(e,["parameters","outputOptions","mimeType"],c);const p=i(n,["outputCompressionQuality"]);e!==void 0&&p!=null&&s(e,["parameters","outputOptions","compressionQuality"],p);const m=i(n,["enhancePrompt"]);e!==void 0&&m!=null&&s(e,["parameters","enhancePrompt"],m);const h=i(n,["labels"]);return e!==void 0&&h!=null&&s(e,["labels"],h),t}function or(n,e){const t={},o=i(e,["model"]);o!=null&&s(t,["_url","model"],M(n,o));const r=i(e,["source"]);r!=null&&sr(r,t);const l=i(e,["config"]);return l!=null&&tr(l,t),t}function ir(n){const e={},t=i(n,["predictions"]);if(t!=null){let o=t;Array.isArray(o)&&(o=o.map(r=>le(r))),s(e,["generatedImages"],o)}return e}function sr(n,e){const t={},o=i(n,["prompt"]);e!==void 0&&o!=null&&s(e,["instances[0]","prompt"],o);const r=i(n,["personImage"]);e!==void 0&&r!=null&&s(e,["instances[0]","personImage","image"],q(r));const l=i(n,["productImages"]);if(e!==void 0&&l!=null){let a=l;Array.isArray(a)&&(a=a.map(u=>nr(u))),s(e,["instances[0]","productImages"],a)}return t}function rr(n){const e={},t=i(n,["referenceImage"]);t!=null&&s(e,["referenceImage"],q(t));const o=i(n,["referenceId"]);o!=null&&s(e,["referenceId"],o);const r=i(n,["referenceType"]);r!=null&&s(e,["referenceType"],r);const l=i(n,["maskImageConfig"]);l!=null&&s(e,["maskImageConfig"],js(l));const a=i(n,["controlImageConfig"]);a!=null&&s(e,["controlImageConfig"],bi(a));const u=i(n,["styleImageConfig"]);u!=null&&s(e,["styleImageConfig"],u);const f=i(n,["subjectImageConfig"]);return f!=null&&s(e,["subjectImageConfig"],f),e}function at(n){const e={},t=i(n,["safetyAttributes","categories"]);t!=null&&s(e,["categories"],t);const o=i(n,["safetyAttributes","scores"]);o!=null&&s(e,["scores"],o);const r=i(n,["contentType"]);return r!=null&&s(e,["contentType"],r),e}function ut(n){const e={},t=i(n,["safetyAttributes","categories"]);t!=null&&s(e,["categories"],t);const o=i(n,["safetyAttributes","scores"]);o!=null&&s(e,["scores"],o);const r=i(n,["contentType"]);return r!=null&&s(e,["contentType"],r),e}function lr(n){const e={};if(i(n,["method"])!==void 0)throw new Error("method parameter is not supported in Gemini API.");const t=i(n,["category"]);t!=null&&s(e,["category"],t);const o=i(n,["threshold"]);return o!=null&&s(e,["threshold"],o),e}function ar(n){const e={},t=i(n,["image"]);return t!=null&&s(e,["image"],q(t)),e}function ur(n,e){const t={},o=i(n,["mode"]);e!==void 0&&o!=null&&s(e,["parameters","mode"],o);const r=i(n,["maxPredictions"]);e!==void 0&&r!=null&&s(e,["parameters","maxPredictions"],r);const l=i(n,["confidenceThreshold"]);e!==void 0&&l!=null&&s(e,["parameters","confidenceThreshold"],l);const a=i(n,["maskDilation"]);e!==void 0&&a!=null&&s(e,["parameters","maskDilation"],a);const u=i(n,["binaryColorThreshold"]);e!==void 0&&u!=null&&s(e,["parameters","binaryColorThreshold"],u);const f=i(n,["labels"]);return e!==void 0&&f!=null&&s(e,["labels"],f),t}function dr(n,e){const t={},o=i(e,["model"]);o!=null&&s(t,["_url","model"],M(n,o));const r=i(e,["source"]);r!=null&&cr(r,t);const l=i(e,["config"]);return l!=null&&ur(l,t),t}function fr(n){const e={},t=i(n,["predictions"]);if(t!=null){let o=t;Array.isArray(o)&&(o=o.map(r=>Gs(r))),s(e,["generatedMasks"],o)}return e}function cr(n,e){const t={},o=i(n,["prompt"]);e!==void 0&&o!=null&&s(e,["instances[0]","prompt"],o);const r=i(n,["image"]);e!==void 0&&r!=null&&s(e,["instances[0]","image"],q(r));const l=i(n,["scribbleImage"]);return e!==void 0&&l!=null&&s(e,["instances[0]","scribble"],ar(l)),t}function dt(n){const e={},t=i(n,["voiceConfig"]);if(t!=null&&s(e,["voiceConfig"],t),i(n,["multiSpeakerVoiceConfig"])!==void 0)throw new Error("multiSpeakerVoiceConfig parameter is not supported in Vertex AI.");const o=i(n,["languageCode"]);return o!=null&&s(e,["languageCode"],o),e}function pr(n){const e={},t=i(n,["functionDeclarations"]);if(t!=null){let f=t;Array.isArray(f)&&(f=f.map(d=>d)),s(e,["functionDeclarations"],f)}if(i(n,["retrieval"])!==void 0)throw new Error("retrieval parameter is not supported in Gemini API.");const o=i(n,["googleSearch"]);o!=null&&s(e,["googleSearch"],Ws(o));const r=i(n,["googleSearchRetrieval"]);if(r!=null&&s(e,["googleSearchRetrieval"],r),i(n,["enterpriseWebSearch"])!==void 0)throw new Error("enterpriseWebSearch parameter is not supported in Gemini API.");if(i(n,["googleMaps"])!==void 0)throw new Error("googleMaps parameter is not supported in Gemini API.");const l=i(n,["urlContext"]);l!=null&&s(e,["urlContext"],l);const a=i(n,["computerUse"]);a!=null&&s(e,["computerUse"],a);const u=i(n,["codeExecution"]);return u!=null&&s(e,["codeExecution"],u),e}function ft(n){const e={},t=i(n,["functionDeclarations"]);if(t!=null){let p=t;Array.isArray(p)&&(p=p.map(m=>Cs(m))),s(e,["functionDeclarations"],p)}const o=i(n,["retrieval"]);o!=null&&s(e,["retrieval"],o);const r=i(n,["googleSearch"]);r!=null&&s(e,["googleSearch"],r);const l=i(n,["googleSearchRetrieval"]);l!=null&&s(e,["googleSearchRetrieval"],l);const a=i(n,["enterpriseWebSearch"]);a!=null&&s(e,["enterpriseWebSearch"],a);const u=i(n,["googleMaps"]);u!=null&&s(e,["googleMaps"],u);const f=i(n,["urlContext"]);f!=null&&s(e,["urlContext"],f);const d=i(n,["computerUse"]);d!=null&&s(e,["computerUse"],d);const c=i(n,["codeExecution"]);return c!=null&&s(e,["codeExecution"],c),e}function mr(n){const e={},t=i(n,["baseModel"]);t!=null&&s(e,["baseModel"],t);const o=i(n,["createTime"]);o!=null&&s(e,["createTime"],o);const r=i(n,["updateTime"]);return r!=null&&s(e,["updateTime"],r),e}function hr(n){const e={},t=i(n,["labels","google-vertex-llm-tuning-base-model-id"]);t!=null&&s(e,["baseModel"],t);const o=i(n,["createTime"]);o!=null&&s(e,["createTime"],o);const r=i(n,["updateTime"]);return r!=null&&s(e,["updateTime"],r),e}function gr(n,e){const t={},o=i(n,["displayName"]);e!==void 0&&o!=null&&s(e,["displayName"],o);const r=i(n,["description"]);e!==void 0&&r!=null&&s(e,["description"],r);const l=i(n,["defaultCheckpointId"]);return e!==void 0&&l!=null&&s(e,["defaultCheckpointId"],l),t}function yr(n,e){const t={},o=i(n,["displayName"]);e!==void 0&&o!=null&&s(e,["displayName"],o);const r=i(n,["description"]);e!==void 0&&r!=null&&s(e,["description"],r);const l=i(n,["defaultCheckpointId"]);return e!==void 0&&l!=null&&s(e,["defaultCheckpointId"],l),t}function Tr(n,e){const t={},o=i(e,["model"]);o!=null&&s(t,["_url","name"],M(n,o));const r=i(e,["config"]);return r!=null&&gr(r,t),t}function Cr(n,e){const t={},o=i(e,["model"]);o!=null&&s(t,["_url","model"],M(n,o));const r=i(e,["config"]);return r!=null&&yr(r,t),t}function _r(n,e){const t={},o=i(n,["outputGcsUri"]);e!==void 0&&o!=null&&s(e,["parameters","storageUri"],o);const r=i(n,["includeRaiReason"]);e!==void 0&&r!=null&&s(e,["parameters","includeRaiReason"],r);const l=i(n,["outputMimeType"]);e!==void 0&&l!=null&&s(e,["parameters","outputOptions","mimeType"],l);const a=i(n,["outputCompressionQuality"]);e!==void 0&&a!=null&&s(e,["parameters","outputOptions","compressionQuality"],a);const u=i(n,["enhanceInputImage"]);e!==void 0&&u!=null&&s(e,["parameters","upscaleConfig","enhanceInputImage"],u);const f=i(n,["imagePreservationFactor"]);e!==void 0&&f!=null&&s(e,["parameters","upscaleConfig","imagePreservationFactor"],f);const d=i(n,["labels"]);e!==void 0&&d!=null&&s(e,["labels"],d);const c=i(n,["numberOfImages"]);e!==void 0&&c!=null&&s(e,["parameters","sampleCount"],c);const p=i(n,["mode"]);return e!==void 0&&p!=null&&s(e,["parameters","mode"],p),t}function Er(n,e){const t={},o=i(e,["model"]);o!=null&&s(t,["_url","model"],M(n,o));const r=i(e,["image"]);r!=null&&s(t,["instances[0]","image"],q(r));const l=i(e,["upscaleFactor"]);l!=null&&s(t,["parameters","upscaleConfig","upscaleFactor"],l);const a=i(e,["config"]);return a!=null&&_r(a,t),t}function Ir(n){const e={},t=i(n,["sdkHttpResponse"]);t!=null&&s(e,["sdkHttpResponse"],t);const o=i(n,["predictions"]);if(o!=null){let r=o;Array.isArray(r)&&(r=r.map(l=>le(l))),s(e,["generatedImages"],r)}return e}function Sr(n){const e={},t=i(n,["video","uri"]);t!=null&&s(e,["uri"],t);const o=i(n,["video","encodedVideo"]);o!=null&&s(e,["videoBytes"],B(o));const r=i(n,["encoding"]);return r!=null&&s(e,["mimeType"],r),e}function Ar(n){const e={},t=i(n,["gcsUri"]);t!=null&&s(e,["uri"],t);const o=i(n,["bytesBase64Encoded"]);o!=null&&s(e,["videoBytes"],B(o));const r=i(n,["mimeType"]);return r!=null&&s(e,["mimeType"],r),e}function vr(n){const e={},t=i(n,["image"]);t!=null&&s(e,["_self"],q(t));const o=i(n,["maskMode"]);return o!=null&&s(e,["maskMode"],o),e}function Rr(n){const e={},t=i(n,["image"]);t!=null&&s(e,["image"],ae(t));const o=i(n,["referenceType"]);return o!=null&&s(e,["referenceType"],o),e}function Pr(n){const e={},t=i(n,["image"]);t!=null&&s(e,["image"],q(t));const o=i(n,["referenceType"]);return o!=null&&s(e,["referenceType"],o),e}function ct(n){const e={},t=i(n,["uri"]);t!=null&&s(e,["video","uri"],t);const o=i(n,["videoBytes"]);o!=null&&s(e,["video","encodedVideo"],B(o));const r=i(n,["mimeType"]);return r!=null&&s(e,["encoding"],r),e}function pt(n){const e={},t=i(n,["uri"]);t!=null&&s(e,["gcsUri"],t);const o=i(n,["videoBytes"]);o!=null&&s(e,["bytesBase64Encoded"],B(o));const r=i(n,["mimeType"]);return r!=null&&s(e,["mimeType"],r),e}/** | |
| * @license | |
| * Copyright 2025 Google LLC | |
| * SPDX-License-Identifier: Apache-2.0 | |
| */const Mr="Content-Type",Nr="X-Server-Timeout",wr="User-Agent",Te="x-goog-api-client",Dr="1.23.0",xr=`google-genai-sdk/${Dr}`,Ur="v1beta1",kr="v1beta",Hn=/^\s*data: (.*)(?:\n\n|\r\r|\r\n\r\n)/;class Lr{constructor(e){var t,o;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:Ur,r.baseUrl=this.baseUrlFromProjectLocation(),this.normalizeAuthParameters()):(r.apiVersion=(o=this.clientOptions.apiVersion)!==null&&o!==void 0?o:kr,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 o=[e.baseUrl.endsWith("/")?e.baseUrl.slice(0,-1):e.baseUrl];return e.apiVersion&&e.apiVersion!==""&&o.push(e.apiVersion),o.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,o){const r=[this.getRequestUrlInternal(t)];return o&&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 o=this.shouldPrependVertexProjectPath(e),r=this.constructUrl(e.path,t,o);if(e.queryParams)for(const[a,u]of Object.entries(e.queryParams))r.searchParams.append(a,String(u));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 o=JSON.parse(JSON.stringify(e));for(const[r,l]of Object.entries(t))typeof l=="object"?o[r]=Object.assign(Object.assign({},o[r]),l):l!==void 0&&(o[r]=l);return o}async requestStream(e){let t=this.clientOptions.httpOptions;e.httpOptions&&(t=this.patchHttpOptions(this.clientOptions.httpOptions,e.httpOptions));const o=this.shouldPrependVertexProjectPath(e),r=this.constructUrl(e.path,t,o);(!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,o){if(t&&t.timeout||o){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()}o&&o.addEventListener("abort",()=>{r.abort()}),e.signal=l}return t&&t.extraBody!==null&&qr(e,t.extraBody),e.headers=await this.getHeadersInternal(t),e}async unaryApiCall(e,t,o){return this.apiCall(e.toString(),Object.assign(Object.assign({},t),{method:o})).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,o){return this.apiCall(e.toString(),Object.assign(Object.assign({},t),{method:o})).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 K(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:u,value:f}=yield w(r.read());if(u){if(a.trim().length>0)throw new Error("Incomplete JSON segment at the end");break}const d=l.decode(f,{stream:!0});try{const p=JSON.parse(d);if("error"in p){const m=JSON.parse(JSON.stringify(p.error)),h=m.status,g=m.code,y=`got status: ${h}. ${JSON.stringify(p)}`;if(g>=400&&g<600)throw new se({message:y,status:g})}}catch(p){if(p.name==="ApiError")throw p}a+=d;let c=a.match(Hn);for(;c;){const p=c[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 w(new pe(m)),a=a.slice(c[0].length),c=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(o=>{throw new Error(`exception ${o} sending request`)})}getDefaultHeaders(){const e={},t=xr+" "+this.clientOptions.userAgentExtra;return e[wr]=t,e[Te]=t,e[Mr]="application/json",e}async getHeadersInternal(e){const t=new Headers;if(e&&e.headers){for(const[o,r]of Object.entries(e.headers))t.append(o,r);e.timeout&&e.timeout>0&&t.append(Nr,String(Math.ceil(e.timeout/1e3)))}return await this.clientOptions.auth.addAuthHeaders(t),t}async uploadFile(e,t){var o;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 u=(o=t==null?void 0:t.mimeType)!==null&&o!==void 0?o:a.type;if(u===void 0||u==="")throw new Error("Can not determine mimeType. Please provide mimeType in the config.");r.mimeType=u;const f=await this.fetchUploadUrl(r,t);return l.upload(e,f,this)}async downloadFile(e){await this.clientOptions.downloader.download(e,this)}async fetchUploadUrl(e,t){var o;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:T("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 u=(o=a==null?void 0:a.headers)===null||o===void 0?void 0:o["x-goog-upload-url"];if(u===void 0)throw new Error("Failed to get upload url. Server did not return the x-google-upload-url in the headers");return u}}async function Bn(n){var e;if(n===void 0)throw new Error("response is undefined");if(!n.ok){const t=n.status;let o;!((e=n.headers.get("content-type"))===null||e===void 0)&&e.includes("application/json")?o=await n.json():o={error:{message:await n.text(),code:n.status,status:n.statusText}};const r=JSON.stringify(o);throw t>=400&&t<600?new se({message:r,status:t}):new Error(r)}}function qr(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 o(l,a){const u=Object.assign({},l);for(const f in a)if(Object.prototype.hasOwnProperty.call(a,f)){const d=a[f],c=u[f];d&&typeof d=="object"&&!Array.isArray(d)&&c&&typeof c=="object"&&!Array.isArray(c)?u[f]=o(c,d):(c&&d&&typeof c!=typeof d&&console.warn(`includeExtraBodyToRequestInit:deepMerge: Type mismatch for key "${f}". Original type: ${typeof c}, New type: ${typeof d}. Overwriting.`),u[f]=d)}return u}const r=o(t,e);n.body=JSON.stringify(r)}/** | |
| * @license | |
| * Copyright 2025 Google LLC | |
| * SPDX-License-Identifier: Apache-2.0 | |
| */const Vr="mcp_used/unknown";let Fr=!1;function mt(n){for(const e of n)if(Gr(e)||typeof e=="object"&&"inputSchema"in e)return!0;return Fr}function ht(n){var e;const t=(e=n[Te])!==null&&e!==void 0?e:"";n[Te]=(t+` ${Vr}`).trimStart()}function Gr(n){return n!==null&&typeof n=="object"&&n instanceof ve}function Hr(n,e=100){return K(this,arguments,function*(){let o,r=0;for(;r<e;){const l=yield w(n.listTools({cursor:o}));for(const a of l.tools)yield yield w(a),r++;if(!l.nextCursor)break;o=l.nextCursor}})}class ve{constructor(e=[],t){this.mcpTools=[],this.functionNameToMcpClient={},this.mcpClients=e,this.config=t}static create(e,t){return new ve(e,t)}async initialize(){var e,t,o,r;if(this.mcpTools.length>0)return;const l={},a=[];for(const c of this.mcpClients)try{for(var u=!0,f=(t=void 0,j(Hr(c))),d;d=await f.next(),e=d.done,!e;u=!0){r=d.value,u=!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]=c}}catch(p){t={error:p}}finally{try{!u&&!e&&(o=f.return)&&await o.call(f)}finally{if(t)throw t.error}}this.mcpTools=a,this.functionNameToMcpClient=l}async tool(){return await this.initialize(),Qt(this.mcpTools,this.config)}async callTool(e){await this.initialize();const t=[];for(const o of e)if(o.name in this.functionNameToMcpClient){const r=this.functionNameToMcpClient[o.name];let l;this.config.timeout&&(l={timeout:this.config.timeout});const a=await r.callTool({name:o.name,arguments:o.args},void 0,l);t.push({functionResponse:{name:o.name,response:a.isError?{error:a}:a}})}return t}}/** | |
| * @license | |
| * Copyright 2025 Google LLC | |
| * SPDX-License-Identifier: Apache-2.0 | |
| */async function Br(n,e,t){const o=new Bt;let r;t.data instanceof Blob?r=JSON.parse(await t.data.text()):r=JSON.parse(t.data),Object.assign(o,r),e(o)}class Jr{constructor(e,t,o){this.apiClient=e,this.auth=t,this.webSocketFactory=o}async connect(e){var t,o;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=Wr(this.apiClient.getDefaultHeaders()),u=this.apiClient.getApiKey(),f=`${r}/ws/google.ai.generativelanguage.${l}.GenerativeService.BidiGenerateMusic?key=${u}`;let d=()=>{};const c=new Promise(C=>{d=C}),p=e.callbacks,m=function(){d({})},h=this.apiClient,g={onopen:m,onmessage:C=>{Br(h,p.onmessage,C)},onerror:(t=p==null?void 0:p.onerror)!==null&&t!==void 0?t:function(C){},onclose:(o=p==null?void 0:p.onclose)!==null&&o!==void 0?o:function(C){}},y=this.webSocketFactory.create(f,$r(a),g);y.connect(),await c;const E={setup:{model:M(this.apiClient,e.model)}};return y.send(JSON.stringify(E)),new Yr(y,this.apiClient)}}class Yr{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=Li(e);this.conn.send(JSON.stringify({clientContent:t}))}async setMusicGenerationConfig(e){e.musicGenerationConfig||(e.musicGenerationConfig={});const t=ki(e);this.conn.send(JSON.stringify(t))}sendPlaybackControl(e){const t={playbackControl:e};this.conn.send(JSON.stringify(t))}play(){this.sendPlaybackControl($.PLAY)}pause(){this.sendPlaybackControl($.PAUSE)}stop(){this.sendPlaybackControl($.STOP)}resetContext(){this.sendPlaybackControl($.RESET_CONTEXT)}close(){this.conn.close()}}function $r(n){const e={};return n.forEach((t,o)=>{e[o]=t}),e}function Wr(n){const e=new Headers;for(const[t,o]of Object.entries(n))e.append(t,o);return e}/** | |
| * @license | |
| * Copyright 2025 Google LLC | |
| * SPDX-License-Identifier: Apache-2.0 | |
| */const Kr="FunctionResponse request must have an `id` field from the response of a ToolCall.FunctionalCalls in Google AI.";async function zr(n,e,t){const o=new Ht;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=Fi(l);Object.assign(o,a)}else Object.assign(o,l);e(o)}class Xr{constructor(e,t,o){this.apiClient=e,this.auth=t,this.webSocketFactory=o,this.music=new Jr(this.apiClient,this.auth,this.webSocketFactory)}async connect(e){var t,o,r,l,a,u;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 f=this.apiClient.getWebsocketBaseUrl(),d=this.apiClient.getApiVersion();let c;const p=this.apiClient.getHeaders();e.config&&e.config.tools&&mt(e.config.tools)&&ht(p);const m=Or(p);if(this.apiClient.isVertexAI())c=`${f}/ws/google.cloud.aiplatform.${d}.LlmBidiService/BidiGenerateContent`,await this.auth.addAuthHeaders(m);else{const A=this.apiClient.getApiKey();let N="BidiGenerateContent",k="key";A!=null&&A.startsWith("auth_tokens/")&&(console.warn("Warning: Ephemeral token support is experimental and may change in future versions."),d!=="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."),N="BidiGenerateContentConstrained",k="access_token"),c=`${f}/ws/google.ai.generativelanguage.${d}.GenerativeService.${N}?${k}=${A}`}let h=()=>{};const g=new Promise(A=>{h=A}),y=e.callbacks,_=function(){var A;(A=y==null?void 0:y.onopen)===null||A===void 0||A.call(y),h({})},I=this.apiClient,E={onopen:_,onmessage:A=>{zr(I,y.onmessage,A)},onerror:(t=y==null?void 0:y.onerror)!==null&&t!==void 0?t:function(A){},onclose:(o=y==null?void 0:y.onclose)!==null&&o!==void 0?o:function(A){}},C=this.webSocketFactory.create(c,br(m),E);C.connect(),await g;let S=M(this.apiClient,e.model);if(this.apiClient.isVertexAI()&&S.startsWith("publishers/")){const A=this.apiClient.getProject(),N=this.apiClient.getLocation();S=`projects/${A}/locations/${N}/`+S}let v={};this.apiClient.isVertexAI()&&((r=e.config)===null||r===void 0?void 0:r.responseModalities)===void 0&&(e.config===void 0?e.config={responseModalities:[te.AUDIO]}:e.config.responseModalities=[te.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 R=(u=(a=e.config)===null||a===void 0?void 0:a.tools)!==null&&u!==void 0?u:[],P=[];for(const A of R)if(this.isCallableTool(A)){const N=A;P.push(await N.tool())}else P.push(A);P.length>0&&(e.config.tools=P);const x={model:S,config:e.config,callbacks:e.callbacks};return this.apiClient.isVertexAI()?v=Ui(this.apiClient,x):v=xi(this.apiClient,x),delete v.config,C.send(JSON.stringify(v)),new Zr(C,this.apiClient)}isCallableTool(e){return"callTool"in e&&typeof e.callTool=="function"}}const Qr={turnComplete:!0};class Zr{constructor(e,t){this.conn=e,this.apiClient=t}tLiveClientContent(e,t){if(t.turns!==null&&t.turns!==void 0){let o=[];try{o=L(t.turns),e.isVertexAI()||(o=o.map(r=>re(r)))}catch{throw new Error(`Failed to parse client content "turns", type: '${typeof t.turns}'`)}return{clientContent:{turns:o,turnComplete:t.turnComplete}}}return{clientContent:{turnComplete:t.turnComplete}}}tLiveClienttToolResponse(e,t){let o=[];if(t.functionResponses==null)throw new Error("functionResponses is required.");if(Array.isArray(t.functionResponses)?o=t.functionResponses:o=[t.functionResponses],o.length===0)throw new Error("functionResponses is required.");for(const l of o){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(Kr)}return{toolResponse:{functionResponses:o}}}sendClientContent(e){e=Object.assign(Object.assign({},Qr),e);const t=this.tLiveClientContent(this.apiClient,e);this.conn.send(JSON.stringify(t))}sendRealtimeInput(e){let t={};this.apiClient.isVertexAI()?t={realtimeInput:Vi(e)}:t={realtimeInput:qi(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 br(n){const e={};return n.forEach((t,o)=>{e[o]=t}),e}function Or(n){const e=new Headers;for(const[t,o]of Object.entries(n))e.append(t,o);return e}/** | |
| * @license | |
| * Copyright 2025 Google LLC | |
| * SPDX-License-Identifier: Apache-2.0 | |
| */const Jn=10;function Yn(n){var e,t,o;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(z(a)){r=!0;break}if(!r)return!0;const l=(o=n==null?void 0:n.automaticFunctionCalling)===null||o===void 0?void 0:o.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 z(n){return"callTool"in n&&typeof n.callTool=="function"}function jr(n){var e,t,o;return(o=(t=(e=n.config)===null||e===void 0?void 0:e.tools)===null||t===void 0?void 0:t.some(r=>z(r)))!==null&&o!==void 0?o:!1}function el(n){var e,t,o;return(o=(t=(e=n.config)===null||e===void 0?void 0:e.tools)===null||t===void 0?void 0:t.some(r=>!z(r)))!==null&&o!==void 0?o:!1}function $n(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 nl extends Y{constructor(e){super(),this.apiClient=e,this.generateContent=async t=>{var o,r,l,a,u;const f=await this.processParamsMaybeAddMcpUsage(t);if(this.maybeMoveToResponseJsonSchem(t),!jr(t)||Yn(t.config))return await this.generateContentInternal(f);if(el(t))throw new Error("Automatic function calling with CallableTools and Tools is not yet supported.");let d,c;const p=L(f.contents),m=(l=(r=(o=f.config)===null||o===void 0?void 0:o.automaticFunctionCalling)===null||r===void 0?void 0:r.maximumRemoteCalls)!==null&&l!==void 0?l:Jn;let h=0;for(;h<m&&(d=await this.generateContentInternal(f),!(!d.functionCalls||d.functionCalls.length===0));){const g=d.candidates[0].content,y=[];for(const _ of(u=(a=t.config)===null||a===void 0?void 0:a.tools)!==null&&u!==void 0?u:[])if(z(_)){const E=await _.callTool(d.functionCalls);y.push(...E)}h++,c={role:"user",parts:y},f.contents=L(f.contents),f.contents.push(g),f.contents.push(c),$n(f.config)&&(p.push(g),p.push(c))}return $n(f.config)&&(d.automaticFunctionCallingHistory=p),d},this.generateContentStream=async t=>{if(this.maybeMoveToResponseJsonSchem(t),Yn(t.config)){const o=await this.processParamsMaybeAddMcpUsage(t);return await this.generateContentStreamInternal(o)}else return await this.processAfcStream(t)},this.generateImages=async t=>await this.generateImagesInternal(t).then(o=>{var r;let l;const a=[];if(o!=null&&o.generatedImages)for(const f of o.generatedImages)f&&(f!=null&&f.safetyAttributes)&&((r=f==null?void 0:f.safetyAttributes)===null||r===void 0?void 0:r.contentType)==="Positive Prompt"?l=f==null?void 0:f.safetyAttributes:a.push(f);let u;return l?u={generatedImages:a,positivePromptSafetyAttributes:l,sdkHttpResponse:o.sdkHttpResponse}:u={generatedImages:a,sdkHttpResponse:o.sdkHttpResponse},u}),this.list=async t=>{var o;const a={config:Object.assign(Object.assign({},{queryBase:!0}),t==null?void 0:t.config)};if(this.apiClient.isVertexAI()&&!a.config.queryBase){if(!((o=a.config)===null||o===void 0)&&o.filter)throw new Error("Filtering tuned models list for Vertex AI is not currently supported");a.config.filter="labels.tune-type:*"}return new ee(J.PAGED_ITEM_MODELS,u=>this.listInternal(u),await this.listInternal(a),a)},this.editImage=async t=>{const o={model:t.model,prompt:t.prompt,referenceImages:[],config:t.config};return t.referenceImages&&t.referenceImages&&(o.referenceImages=t.referenceImages.map(r=>r.toReferenceImageAPI())),await this.editImageInternal(o)},this.upscaleImage=async t=>{let o={numberOfImages:1,mode:"upscale"};t.config&&(o=Object.assign(Object.assign({},o),t.config));const r={model:t.model,image:t.image,upscaleFactor:t.upscaleFactor,config:o};return await this.upscaleImageInternal(r)},this.generateVideos=async t=>{if((t.prompt||t.image||t.video)&&t.source)throw new Error("Source and prompt/image/video are mutually exclusive. Please only use source.");return 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,o,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 f=>z(f)?await f.tool():f)),u={model:e.model,contents:e.contents,config:Object.assign(Object.assign({},e.config),{tools:a})};if(u.config.tools=a,e.config&&e.config.tools&&mt(e.config.tools)){const f=(r=(o=e.config.httpOptions)===null||o===void 0?void 0:o.headers)!==null&&r!==void 0?r:{};let d=Object.assign({},f);Object.keys(d).length===0&&(d=this.apiClient.getDefaultHeaders()),ht(d),u.config.httpOptions=Object.assign(Object.assign({},e.config.httpOptions),{headers:d})}return u}async initAfcToolsMap(e){var t,o,r;const l=new Map;for(const a of(o=(t=e.config)===null||t===void 0?void 0:t.tools)!==null&&o!==void 0?o:[])if(z(a)){const u=a,f=await u.tool();for(const d of(r=f.functionDeclarations)!==null&&r!==void 0?r:[]){if(!d.name)throw new Error("Function declaration name is required.");if(l.has(d.name))throw new Error(`Duplicate tool declaration name: ${d.name}`);l.set(d.name,u)}}return l}async processAfcStream(e){var t,o,r;const l=(r=(o=(t=e.config)===null||t===void 0?void 0:t.automaticFunctionCalling)===null||o===void 0?void 0:o.maximumRemoteCalls)!==null&&r!==void 0?r:Jn;let a=!1,u=0;const f=await this.initAfcToolsMap(e);return function(d,c,p){var m,h;return K(this,arguments,function*(){for(var g,y,_,I;u<l;){a&&(u++,a=!1);const v=yield w(d.processParamsMaybeAddMcpUsage(p)),R=yield w(d.generateContentStreamInternal(v)),P=[],x=[];try{for(var E=!0,C=(y=void 0,j(R)),S;S=yield w(C.next()),g=S.done,!g;E=!0){I=S.value,E=!1;const A=I;if(yield yield w(A),A.candidates&&(!((m=A.candidates[0])===null||m===void 0)&&m.content)){x.push(A.candidates[0].content);for(const N of(h=A.candidates[0].content.parts)!==null&&h!==void 0?h:[])if(u<l&&N.functionCall){if(!N.functionCall.name)throw new Error("Function call name was not returned by the model.");if(c.has(N.functionCall.name)){const k=yield w(c.get(N.functionCall.name).callTool([N.functionCall]));P.push(...k)}else throw new Error(`Automatic function calling was requested, but not all the tools the model used implement the CallableTool interface. Available tools: ${c.keys()}, mising tool: ${N.functionCall.name}`)}}}}catch(A){y={error:A}}finally{try{!E&&!g&&(_=C.return)&&(yield w(_.call(C)))}finally{if(y)throw y.error}}if(P.length>0){a=!0;const A=new b;A.candidates=[{content:{role:"user",parts:P}}],yield yield w(A);const N=[];N.push(...x),N.push({role:"user",parts:P});const k=L(p.contents).concat(N);p.contents=k}else break}})}(this,f,e)}async generateContentInternal(e){var t,o,r,l;let a,u="",f={};if(this.apiClient.isVertexAI()){const d=Vn(this.apiClient,e);return u=T("{model}:generateContent",d._url),f=d._query,delete d._url,delete d._query,a=this.apiClient.request({path:u,queryParams:f,body:JSON.stringify(d),httpMethod:"POST",httpOptions:(t=e.config)===null||t===void 0?void 0:t.httpOptions,abortSignal:(o=e.config)===null||o===void 0?void 0:o.abortSignal}).then(c=>c.json().then(p=>{const m=p;return m.sdkHttpResponse={headers:c.headers},m})),a.then(c=>{const p=Gn(c),m=new b;return Object.assign(m,p),m})}else{const d=qn(this.apiClient,e);return u=T("{model}:generateContent",d._url),f=d._query,delete d._url,delete d._query,a=this.apiClient.request({path:u,queryParams:f,body:JSON.stringify(d),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(c=>c.json().then(p=>{const m=p;return m.sdkHttpResponse={headers:c.headers},m})),a.then(c=>{const p=Fn(c),m=new b;return Object.assign(m,p),m})}}async generateContentStreamInternal(e){var t,o,r,l;let a,u="",f={};if(this.apiClient.isVertexAI()){const d=Vn(this.apiClient,e);return u=T("{model}:streamGenerateContent?alt=sse",d._url),f=d._query,delete d._url,delete d._query,a=this.apiClient.requestStream({path:u,queryParams:f,body:JSON.stringify(d),httpMethod:"POST",httpOptions:(t=e.config)===null||t===void 0?void 0:t.httpOptions,abortSignal:(o=e.config)===null||o===void 0?void 0:o.abortSignal}),a.then(function(p){return K(this,arguments,function*(){var m,h,g,y;try{for(var _=!0,I=j(p),E;E=yield w(I.next()),m=E.done,!m;_=!0){y=E.value,_=!1;const C=y,S=Gn(yield w(C.json()));S.sdkHttpResponse={headers:C.headers};const v=new b;Object.assign(v,S),yield yield w(v)}}catch(C){h={error:C}}finally{try{!_&&!m&&(g=I.return)&&(yield w(g.call(I)))}finally{if(h)throw h.error}}})})}else{const d=qn(this.apiClient,e);return u=T("{model}:streamGenerateContent?alt=sse",d._url),f=d._query,delete d._url,delete d._query,a=this.apiClient.requestStream({path:u,queryParams:f,body:JSON.stringify(d),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 K(this,arguments,function*(){var m,h,g,y;try{for(var _=!0,I=j(p),E;E=yield w(I.next()),m=E.done,!m;_=!0){y=E.value,_=!1;const C=y,S=Fn(yield w(C.json()));S.sdkHttpResponse={headers:C.headers};const v=new b;Object.assign(v,S),yield yield w(v)}}catch(C){h={error:C}}finally{try{!_&&!m&&(g=I.return)&&(yield w(g.call(I)))}finally{if(h)throw h.error}}})})}}async embedContent(e){var t,o,r,l;let a,u="",f={};if(this.apiClient.isVertexAI()){const d=ms(this.apiClient,e);return u=T("{model}:predict",d._url),f=d._query,delete d._url,delete d._query,a=this.apiClient.request({path:u,queryParams:f,body:JSON.stringify(d),httpMethod:"POST",httpOptions:(t=e.config)===null||t===void 0?void 0:t.httpOptions,abortSignal:(o=e.config)===null||o===void 0?void 0:o.abortSignal}).then(c=>c.json().then(p=>{const m=p;return m.sdkHttpResponse={headers:c.headers},m})),a.then(c=>{const p=gs(c),m=new _n;return Object.assign(m,p),m})}else{const d=ps(this.apiClient,e);return u=T("{model}:batchEmbedContents",d._url),f=d._query,delete d._url,delete d._query,a=this.apiClient.request({path:u,queryParams:f,body:JSON.stringify(d),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(c=>c.json().then(p=>{const m=p;return m.sdkHttpResponse={headers:c.headers},m})),a.then(c=>{const p=hs(c),m=new _n;return Object.assign(m,p),m})}}async generateImagesInternal(e){var t,o,r,l;let a,u="",f={};if(this.apiClient.isVertexAI()){const d=vs(this.apiClient,e);return u=T("{model}:predict",d._url),f=d._query,delete d._url,delete d._query,a=this.apiClient.request({path:u,queryParams:f,body:JSON.stringify(d),httpMethod:"POST",httpOptions:(t=e.config)===null||t===void 0?void 0:t.httpOptions,abortSignal:(o=e.config)===null||o===void 0?void 0:o.abortSignal}).then(c=>c.json().then(p=>{const m=p;return m.sdkHttpResponse={headers:c.headers},m})),a.then(c=>{const p=Ps(c),m=new En;return Object.assign(m,p),m})}else{const d=As(this.apiClient,e);return u=T("{model}:predict",d._url),f=d._query,delete d._url,delete d._query,a=this.apiClient.request({path:u,queryParams:f,body:JSON.stringify(d),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(c=>c.json().then(p=>{const m=p;return m.sdkHttpResponse={headers:c.headers},m})),a.then(c=>{const p=Rs(c),m=new En;return Object.assign(m,p),m})}}async editImageInternal(e){var t,o;let r,l="",a={};if(this.apiClient.isVertexAI()){const u=us(this.apiClient,e);return l=T("{model}:predict",u._url),a=u._query,delete u._url,delete u._query,r=this.apiClient.request({path:l,queryParams:a,body:JSON.stringify(u),httpMethod:"POST",httpOptions:(t=e.config)===null||t===void 0?void 0:t.httpOptions,abortSignal:(o=e.config)===null||o===void 0?void 0:o.abortSignal}).then(f=>f.json().then(d=>{const c=d;return c.sdkHttpResponse={headers:f.headers},c})),r.then(f=>{const d=ds(f),c=new xt;return Object.assign(c,d),c})}else throw new Error("This method is only supported by the Vertex AI.")}async upscaleImageInternal(e){var t,o;let r,l="",a={};if(this.apiClient.isVertexAI()){const u=Er(this.apiClient,e);return l=T("{model}:predict",u._url),a=u._query,delete u._url,delete u._query,r=this.apiClient.request({path:l,queryParams:a,body:JSON.stringify(u),httpMethod:"POST",httpOptions:(t=e.config)===null||t===void 0?void 0:t.httpOptions,abortSignal:(o=e.config)===null||o===void 0?void 0:o.abortSignal}).then(f=>f.json().then(d=>{const c=d;return c.sdkHttpResponse={headers:f.headers},c})),r.then(f=>{const d=Ir(f),c=new Ut;return Object.assign(c,d),c})}else throw new Error("This method is only supported by the Vertex AI.")}async recontextImage(e){var t,o;let r,l="",a={};if(this.apiClient.isVertexAI()){const u=or(this.apiClient,e);return l=T("{model}:predict",u._url),a=u._query,delete u._url,delete u._query,r=this.apiClient.request({path:l,queryParams:a,body:JSON.stringify(u),httpMethod:"POST",httpOptions:(t=e.config)===null||t===void 0?void 0:t.httpOptions,abortSignal:(o=e.config)===null||o===void 0?void 0:o.abortSignal}).then(f=>f.json()),r.then(f=>{const d=ir(f),c=new kt;return Object.assign(c,d),c})}else throw new Error("This method is only supported by the Vertex AI.")}async segmentImage(e){var t,o;let r,l="",a={};if(this.apiClient.isVertexAI()){const u=dr(this.apiClient,e);return l=T("{model}:predict",u._url),a=u._query,delete u._url,delete u._query,r=this.apiClient.request({path:l,queryParams:a,body:JSON.stringify(u),httpMethod:"POST",httpOptions:(t=e.config)===null||t===void 0?void 0:t.httpOptions,abortSignal:(o=e.config)===null||o===void 0?void 0:o.abortSignal}).then(f=>f.json()),r.then(f=>{const d=fr(f),c=new Lt;return Object.assign(c,d),c})}else throw new Error("This method is only supported by the Vertex AI.")}async get(e){var t,o,r,l;let a,u="",f={};if(this.apiClient.isVertexAI()){const d=$s(this.apiClient,e);return u=T("{name}",d._url),f=d._query,delete d._url,delete d._query,a=this.apiClient.request({path:u,queryParams:f,body:JSON.stringify(d),httpMethod:"GET",httpOptions:(t=e.config)===null||t===void 0?void 0:t.httpOptions,abortSignal:(o=e.config)===null||o===void 0?void 0:o.abortSignal}).then(c=>c.json()),a.then(c=>ye(c))}else{const d=Ys(this.apiClient,e);return u=T("{name}",d._url),f=d._query,delete d._url,delete d._query,a=this.apiClient.request({path:u,queryParams:f,body:JSON.stringify(d),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(c=>c.json()),a.then(c=>ge(c))}}async listInternal(e){var t,o,r,l;let a,u="",f={};if(this.apiClient.isVertexAI()){const d=Zs(this.apiClient,e);return u=T("{models_url}",d._url),f=d._query,delete d._url,delete d._query,a=this.apiClient.request({path:u,queryParams:f,body:JSON.stringify(d),httpMethod:"GET",httpOptions:(t=e.config)===null||t===void 0?void 0:t.httpOptions,abortSignal:(o=e.config)===null||o===void 0?void 0:o.abortSignal}).then(c=>c.json().then(p=>{const m=p;return m.sdkHttpResponse={headers:c.headers},m})),a.then(c=>{const p=Os(c),m=new In;return Object.assign(m,p),m})}else{const d=Qs(this.apiClient,e);return u=T("{models_url}",d._url),f=d._query,delete d._url,delete d._query,a=this.apiClient.request({path:u,queryParams:f,body:JSON.stringify(d),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(c=>c.json().then(p=>{const m=p;return m.sdkHttpResponse={headers:c.headers},m})),a.then(c=>{const p=bs(c),m=new In;return Object.assign(m,p),m})}}async update(e){var t,o,r,l;let a,u="",f={};if(this.apiClient.isVertexAI()){const d=Cr(this.apiClient,e);return u=T("{model}",d._url),f=d._query,delete d._url,delete d._query,a=this.apiClient.request({path:u,queryParams:f,body:JSON.stringify(d),httpMethod:"PATCH",httpOptions:(t=e.config)===null||t===void 0?void 0:t.httpOptions,abortSignal:(o=e.config)===null||o===void 0?void 0:o.abortSignal}).then(c=>c.json()),a.then(c=>ye(c))}else{const d=Tr(this.apiClient,e);return u=T("{name}",d._url),f=d._query,delete d._url,delete d._query,a=this.apiClient.request({path:u,queryParams:f,body:JSON.stringify(d),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(c=>c.json()),a.then(c=>ge(c))}}async delete(e){var t,o,r,l;let a,u="",f={};if(this.apiClient.isVertexAI()){const d=ss(this.apiClient,e);return u=T("{name}",d._url),f=d._query,delete d._url,delete d._query,a=this.apiClient.request({path:u,queryParams:f,body:JSON.stringify(d),httpMethod:"DELETE",httpOptions:(t=e.config)===null||t===void 0?void 0:t.httpOptions,abortSignal:(o=e.config)===null||o===void 0?void 0:o.abortSignal}).then(c=>c.json().then(p=>{const m=p;return m.sdkHttpResponse={headers:c.headers},m})),a.then(c=>{const p=ls(c),m=new Sn;return Object.assign(m,p),m})}else{const d=is(this.apiClient,e);return u=T("{name}",d._url),f=d._query,delete d._url,delete d._query,a=this.apiClient.request({path:u,queryParams:f,body:JSON.stringify(d),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(c=>c.json().then(p=>{const m=p;return m.sdkHttpResponse={headers:c.headers},m})),a.then(c=>{const p=rs(c),m=new Sn;return Object.assign(m,p),m})}}async countTokens(e){var t,o,r,l;let a,u="",f={};if(this.apiClient.isVertexAI()){const d=ns(this.apiClient,e);return u=T("{model}:countTokens",d._url),f=d._query,delete d._url,delete d._query,a=this.apiClient.request({path:u,queryParams:f,body:JSON.stringify(d),httpMethod:"POST",httpOptions:(t=e.config)===null||t===void 0?void 0:t.httpOptions,abortSignal:(o=e.config)===null||o===void 0?void 0:o.abortSignal}).then(c=>c.json().then(p=>{const m=p;return m.sdkHttpResponse={headers:c.headers},m})),a.then(c=>{const p=os(c),m=new An;return Object.assign(m,p),m})}else{const d=es(this.apiClient,e);return u=T("{model}:countTokens",d._url),f=d._query,delete d._url,delete d._query,a=this.apiClient.request({path:u,queryParams:f,body:JSON.stringify(d),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(c=>c.json().then(p=>{const m=p;return m.sdkHttpResponse={headers:c.headers},m})),a.then(c=>{const p=ts(c),m=new An;return Object.assign(m,p),m})}}async computeTokens(e){var t,o;let r,l="",a={};if(this.apiClient.isVertexAI()){const u=zi(this.apiClient,e);return l=T("{model}:computeTokens",u._url),a=u._query,delete u._url,delete u._query,r=this.apiClient.request({path:l,queryParams:a,body:JSON.stringify(u),httpMethod:"POST",httpOptions:(t=e.config)===null||t===void 0?void 0:t.httpOptions,abortSignal:(o=e.config)===null||o===void 0?void 0:o.abortSignal}).then(f=>f.json().then(d=>{const c=d;return c.sdkHttpResponse={headers:f.headers},c})),r.then(f=>{const d=Xi(f),c=new qt;return Object.assign(c,d),c})}else throw new Error("This method is only supported by the Vertex AI.")}async generateVideosInternal(e){var t,o,r,l;let a,u="",f={};if(this.apiClient.isVertexAI()){const d=Us(this.apiClient,e);return u=T("{model}:predictLongRunning",d._url),f=d._query,delete d._url,delete d._query,a=this.apiClient.request({path:u,queryParams:f,body:JSON.stringify(d),httpMethod:"POST",httpOptions:(t=e.config)===null||t===void 0?void 0:t.httpOptions,abortSignal:(o=e.config)===null||o===void 0?void 0:o.abortSignal}).then(c=>c.json()),a.then(c=>{const p=Ds(c),m=new oe;return Object.assign(m,p),m})}else{const d=xs(this.apiClient,e);return u=T("{model}:predictLongRunning",d._url),f=d._query,delete d._url,delete d._query,a=this.apiClient.request({path:u,queryParams:f,body:JSON.stringify(d),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(c=>c.json()),a.then(c=>{const p=ws(c),m=new oe;return Object.assign(m,p),m})}}}/** | |
| * @license | |
| * Copyright 2025 Google LLC | |
| * SPDX-License-Identifier: Apache-2.0 | |
| */class tl extends Y{constructor(e){super(),this.apiClient=e}async getVideosOperation(e){const t=e.operation,o=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;o&&"httpOptions"in o&&(l=o.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:o});return t._fromAPIResponse({apiResponse:r,isVertexAI:!1})}}async get(e){const t=e.operation,o=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;o&&"httpOptions"in o&&(l=o.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:o});return t._fromAPIResponse({apiResponse:r,isVertexAI:!1})}}async getVideosOperationInternal(e){var t,o,r,l;let a,u="",f={};if(this.apiClient.isVertexAI()){const d=Nt(e);return u=T("{operationName}",d._url),f=d._query,delete d._url,delete d._query,a=this.apiClient.request({path:u,queryParams:f,body:JSON.stringify(d),httpMethod:"GET",httpOptions:(t=e.config)===null||t===void 0?void 0:t.httpOptions,abortSignal:(o=e.config)===null||o===void 0?void 0:o.abortSignal}).then(c=>c.json()),a}else{const d=Mt(e);return u=T("{operationName}",d._url),f=d._query,delete d._url,delete d._query,a=this.apiClient.request({path:u,queryParams:f,body:JSON.stringify(d),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(c=>c.json()),a}}async fetchPredictVideosOperationInternal(e){var t,o;let r,l="",a={};if(this.apiClient.isVertexAI()){const u=Et(e);return l=T("{resourceName}:fetchPredictOperation",u._url),a=u._query,delete u._url,delete u._query,r=this.apiClient.request({path:l,queryParams:a,body:JSON.stringify(u),httpMethod:"POST",httpOptions:(t=e.config)===null||t===void 0?void 0:t.httpOptions,abortSignal:(o=e.config)===null||o===void 0?void 0:o.abortSignal}).then(f=>f.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 ol(n){const e={};if(i(n,["displayName"])!==void 0)throw new Error("displayName parameter is not supported in Gemini API.");const t=i(n,["data"]);t!=null&&s(e,["data"],t);const o=i(n,["mimeType"]);return o!=null&&s(e,["mimeType"],o),e}function il(n){const e={},t=i(n,["parts"]);if(t!=null){let r=t;Array.isArray(r)&&(r=r.map(l=>fl(l))),s(e,["parts"],r)}const o=i(n,["role"]);return o!=null&&s(e,["role"],o),e}function sl(n,e,t){const o={},r=i(e,["expireTime"]);t!==void 0&&r!=null&&s(t,["expireTime"],r);const l=i(e,["newSessionExpireTime"]);t!==void 0&&l!=null&&s(t,["newSessionExpireTime"],l);const a=i(e,["uses"]);t!==void 0&&a!=null&&s(t,["uses"],a);const u=i(e,["liveConnectConstraints"]);t!==void 0&&u!=null&&s(t,["bidiGenerateContentSetup"],dl(n,u));const f=i(e,["lockAdditionalFields"]);return t!==void 0&&f!=null&&s(t,["fieldMask"],f),o}function rl(n,e){const t={},o=i(e,["config"]);return o!=null&&s(t,["config"],sl(n,o,t)),t}function ll(n){const e={};if(i(n,["displayName"])!==void 0)throw new Error("displayName parameter is not supported in Gemini API.");const t=i(n,["fileUri"]);t!=null&&s(e,["fileUri"],t);const o=i(n,["mimeType"]);return o!=null&&s(e,["mimeType"],o),e}function al(n){const e={},t=i(n,["timeRangeFilter"]);if(t!=null&&s(e,["timeRangeFilter"],t),i(n,["excludeDomains"])!==void 0)throw new Error("excludeDomains parameter is not supported in Gemini API.");return e}function ul(n,e){const t={},o=i(n,["generationConfig"]);e!==void 0&&o!=null&&s(e,["setup","generationConfig"],o);const r=i(n,["responseModalities"]);e!==void 0&&r!=null&&s(e,["setup","generationConfig","responseModalities"],r);const l=i(n,["temperature"]);e!==void 0&&l!=null&&s(e,["setup","generationConfig","temperature"],l);const a=i(n,["topP"]);e!==void 0&&a!=null&&s(e,["setup","generationConfig","topP"],a);const u=i(n,["topK"]);e!==void 0&&u!=null&&s(e,["setup","generationConfig","topK"],u);const f=i(n,["maxOutputTokens"]);e!==void 0&&f!=null&&s(e,["setup","generationConfig","maxOutputTokens"],f);const d=i(n,["mediaResolution"]);e!==void 0&&d!=null&&s(e,["setup","generationConfig","mediaResolution"],d);const c=i(n,["seed"]);e!==void 0&&c!=null&&s(e,["setup","generationConfig","seed"],c);const p=i(n,["speechConfig"]);e!==void 0&&p!=null&&s(e,["setup","generationConfig","speechConfig"],Ae(p));const m=i(n,["thinkingConfig"]);e!==void 0&&m!=null&&s(e,["setup","generationConfig","thinkingConfig"],m);const h=i(n,["enableAffectiveDialog"]);e!==void 0&&h!=null&&s(e,["setup","generationConfig","enableAffectiveDialog"],h);const g=i(n,["systemInstruction"]);e!==void 0&&g!=null&&s(e,["setup","systemInstruction"],il(U(g)));const y=i(n,["tools"]);if(e!==void 0&&y!=null){let R=Q(y);Array.isArray(R)&&(R=R.map(P=>pl(X(P)))),s(e,["setup","tools"],R)}const _=i(n,["sessionResumption"]);e!==void 0&&_!=null&&s(e,["setup","sessionResumption"],cl(_));const I=i(n,["inputAudioTranscription"]);e!==void 0&&I!=null&&s(e,["setup","inputAudioTranscription"],I);const E=i(n,["outputAudioTranscription"]);e!==void 0&&E!=null&&s(e,["setup","outputAudioTranscription"],E);const C=i(n,["realtimeInputConfig"]);e!==void 0&&C!=null&&s(e,["setup","realtimeInputConfig"],C);const S=i(n,["contextWindowCompression"]);e!==void 0&&S!=null&&s(e,["setup","contextWindowCompression"],S);const v=i(n,["proactivity"]);return e!==void 0&&v!=null&&s(e,["setup","proactivity"],v),t}function dl(n,e){const t={},o=i(e,["model"]);o!=null&&s(t,["setup","model"],M(n,o));const r=i(e,["config"]);return r!=null&&s(t,["config"],ul(r,t)),t}function fl(n){const e={},t=i(n,["videoMetadata"]);t!=null&&s(e,["videoMetadata"],t);const o=i(n,["thought"]);o!=null&&s(e,["thought"],o);const r=i(n,["inlineData"]);r!=null&&s(e,["inlineData"],ol(r));const l=i(n,["fileData"]);l!=null&&s(e,["fileData"],ll(l));const a=i(n,["thoughtSignature"]);a!=null&&s(e,["thoughtSignature"],a);const u=i(n,["functionCall"]);u!=null&&s(e,["functionCall"],u);const f=i(n,["codeExecutionResult"]);f!=null&&s(e,["codeExecutionResult"],f);const d=i(n,["executableCode"]);d!=null&&s(e,["executableCode"],d);const c=i(n,["functionResponse"]);c!=null&&s(e,["functionResponse"],c);const p=i(n,["text"]);return p!=null&&s(e,["text"],p),e}function cl(n){const e={},t=i(n,["handle"]);if(t!=null&&s(e,["handle"],t),i(n,["transparent"])!==void 0)throw new Error("transparent parameter is not supported in Gemini API.");return e}function pl(n){const e={},t=i(n,["functionDeclarations"]);if(t!=null){let f=t;Array.isArray(f)&&(f=f.map(d=>d)),s(e,["functionDeclarations"],f)}if(i(n,["retrieval"])!==void 0)throw new Error("retrieval parameter is not supported in Gemini API.");const o=i(n,["googleSearch"]);o!=null&&s(e,["googleSearch"],al(o));const r=i(n,["googleSearchRetrieval"]);if(r!=null&&s(e,["googleSearchRetrieval"],r),i(n,["enterpriseWebSearch"])!==void 0)throw new Error("enterpriseWebSearch parameter is not supported in Gemini API.");if(i(n,["googleMaps"])!==void 0)throw new Error("googleMaps parameter is not supported in Gemini API.");const l=i(n,["urlContext"]);l!=null&&s(e,["urlContext"],l);const a=i(n,["computerUse"]);a!=null&&s(e,["computerUse"],a);const u=i(n,["codeExecution"]);return u!=null&&s(e,["codeExecution"],u),e}/** | |
| * @license | |
| * Copyright 2025 Google LLC | |
| * SPDX-License-Identifier: Apache-2.0 | |
| */function ml(n){const e=[];for(const t in n)if(Object.prototype.hasOwnProperty.call(n,t)){const o=n[t];if(typeof o=="object"&&o!=null&&Object.keys(o).length>0){const r=Object.keys(o).map(l=>`${t}.${l}`);e.push(...r)}else e.push(t)}return e.join(",")}function hl(n,e){let t=null;const o=n.bidiGenerateContentSetup;if(typeof o=="object"&&o!==null&&"setup"in o){const l=o.setup;typeof l=="object"&&l!==null?(n.bidiGenerateContentSetup=l,t=l):delete n.bidiGenerateContentSetup}else o!==void 0&&delete n.bidiGenerateContentSetup;const r=n.fieldMask;if(t){const l=ml(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 u=[];r.length>0&&(u=r.map(d=>a.includes(d)?`generationConfig.${d}`:d));const f=[];l&&f.push(l),u.length>0&&f.push(...u),f.length>0?n.fieldMask=f.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 gl extends Y{constructor(e){super(),this.apiClient=e}async create(e){var t,o;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 u=rl(this.apiClient,e);l=T("auth_tokens",u._url),a=u._query,delete u.config,delete u._url,delete u._query;const f=hl(u,e.config);return 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:(o=e.config)===null||o===void 0?void 0:o.abortSignal}).then(d=>d.json()),r.then(d=>d)}}}/** | |
| * @license | |
| * Copyright 2025 Google LLC | |
| * SPDX-License-Identifier: Apache-2.0 | |
| */function yl(n){const e={},t=i(n,["name"]);return t!=null&&s(e,["_url","name"],t),e}function Tl(n){const e={},t=i(n,["name"]);return t!=null&&s(e,["_url","name"],t),e}function Cl(n,e){const t={};if(i(n,["validationDataset"])!==void 0)throw new Error("validationDataset parameter is not supported in Gemini API.");const o=i(n,["tunedModelDisplayName"]);if(e!==void 0&&o!=null&&s(e,["displayName"],o),i(n,["description"])!==void 0)throw new Error("description parameter is not supported in Gemini API.");const r=i(n,["epochCount"]);e!==void 0&&r!=null&&s(e,["tuningTask","hyperparameters","epochCount"],r);const l=i(n,["learningRateMultiplier"]);if(l!=null&&s(t,["tuningTask","hyperparameters","learningRateMultiplier"],l),i(n,["exportLastCheckpointOnly"])!==void 0)throw new Error("exportLastCheckpointOnly parameter is not supported in Gemini API.");if(i(n,["preTunedModelCheckpointId"])!==void 0)throw new Error("preTunedModelCheckpointId parameter is not supported in Gemini API.");if(i(n,["adapterSize"])!==void 0)throw new Error("adapterSize parameter is not supported in Gemini API.");const a=i(n,["batchSize"]);e!==void 0&&a!=null&&s(e,["tuningTask","hyperparameters","batchSize"],a);const u=i(n,["learningRate"]);if(e!==void 0&&u!=null&&s(e,["tuningTask","hyperparameters","learningRate"],u),i(n,["labels"])!==void 0)throw new Error("labels parameter is not supported in Gemini API.");return t}function _l(n,e){const t={},o=i(n,["validationDataset"]);e!==void 0&&o!=null&&s(e,["supervisedTuningSpec"],Ll(o,t));const r=i(n,["tunedModelDisplayName"]);e!==void 0&&r!=null&&s(e,["tunedModelDisplayName"],r);const l=i(n,["description"]);e!==void 0&&l!=null&&s(e,["description"],l);const a=i(n,["epochCount"]);e!==void 0&&a!=null&&s(e,["supervisedTuningSpec","hyperParameters","epochCount"],a);const u=i(n,["learningRateMultiplier"]);e!==void 0&&u!=null&&s(e,["supervisedTuningSpec","hyperParameters","learningRateMultiplier"],u);const f=i(n,["exportLastCheckpointOnly"]);e!==void 0&&f!=null&&s(e,["supervisedTuningSpec","exportLastCheckpointOnly"],f);const d=i(n,["adapterSize"]);if(e!==void 0&&d!=null&&s(e,["supervisedTuningSpec","hyperParameters","adapterSize"],d),i(n,["batchSize"])!==void 0)throw new Error("batchSize parameter is not supported in Vertex AI.");if(i(n,["learningRate"])!==void 0)throw new Error("learningRate parameter is not supported in Vertex AI.");const c=i(n,["labels"]);return e!==void 0&&c!=null&&s(e,["labels"],c),t}function El(n){const e={},t=i(n,["baseModel"]);t!=null&&s(e,["baseModel"],t);const o=i(n,["preTunedModel"]);o!=null&&s(e,["preTunedModel"],o);const r=i(n,["trainingDataset"]);r!=null&&s(e,["tuningTask","trainingData"],xl(r));const l=i(n,["config"]);return l!=null&&Cl(l,e),e}function Il(n){const e={},t=i(n,["baseModel"]);t!=null&&s(e,["baseModel"],t);const o=i(n,["preTunedModel"]);o!=null&&s(e,["preTunedModel"],o);const r=i(n,["trainingDataset"]);r!=null&&s(e,["supervisedTuningSpec","trainingDatasetUri"],Ul(r,e));const l=i(n,["config"]);return l!=null&&_l(l,e),e}function Sl(n){const e={},t=i(n,["name"]);return t!=null&&s(e,["_url","name"],t),e}function Al(n){const e={},t=i(n,["name"]);return t!=null&&s(e,["_url","name"],t),e}function vl(n,e){const t={},o=i(n,["pageSize"]);e!==void 0&&o!=null&&s(e,["_query","pageSize"],o);const r=i(n,["pageToken"]);e!==void 0&&r!=null&&s(e,["_query","pageToken"],r);const l=i(n,["filter"]);return e!==void 0&&l!=null&&s(e,["_query","filter"],l),t}function Rl(n,e){const t={},o=i(n,["pageSize"]);e!==void 0&&o!=null&&s(e,["_query","pageSize"],o);const r=i(n,["pageToken"]);e!==void 0&&r!=null&&s(e,["_query","pageToken"],r);const l=i(n,["filter"]);return e!==void 0&&l!=null&&s(e,["_query","filter"],l),t}function Pl(n){const e={},t=i(n,["config"]);return t!=null&&vl(t,e),e}function Ml(n){const e={},t=i(n,["config"]);return t!=null&&Rl(t,e),e}function Nl(n){const e={},t=i(n,["sdkHttpResponse"]);t!=null&&s(e,["sdkHttpResponse"],t);const o=i(n,["nextPageToken"]);o!=null&&s(e,["nextPageToken"],o);const r=i(n,["tunedModels"]);if(r!=null){let l=r;Array.isArray(l)&&(l=l.map(a=>gt(a))),s(e,["tuningJobs"],l)}return e}function wl(n){const e={},t=i(n,["sdkHttpResponse"]);t!=null&&s(e,["sdkHttpResponse"],t);const o=i(n,["nextPageToken"]);o!=null&&s(e,["nextPageToken"],o);const r=i(n,["tuningJobs"]);if(r!=null){let l=r;Array.isArray(l)&&(l=l.map(a=>Ce(a))),s(e,["tuningJobs"],l)}return e}function Dl(n){const e={},t=i(n,["name"]);t!=null&&s(e,["model"],t);const o=i(n,["name"]);return o!=null&&s(e,["endpoint"],o),e}function xl(n){const e={};if(i(n,["gcsUri"])!==void 0)throw new Error("gcsUri parameter is not supported in Gemini API.");if(i(n,["vertexDatasetResource"])!==void 0)throw new Error("vertexDatasetResource parameter is not supported in Gemini API.");const t=i(n,["examples"]);if(t!=null){let o=t;Array.isArray(o)&&(o=o.map(r=>r)),s(e,["examples","examples"],o)}return e}function Ul(n,e){const t={},o=i(n,["gcsUri"]);e!==void 0&&o!=null&&s(e,["supervisedTuningSpec","trainingDatasetUri"],o);const r=i(n,["vertexDatasetResource"]);if(e!==void 0&&r!=null&&s(e,["supervisedTuningSpec","trainingDatasetUri"],r),i(n,["examples"])!==void 0)throw new Error("examples parameter is not supported in Vertex AI.");return t}function gt(n){const e={},t=i(n,["sdkHttpResponse"]);t!=null&&s(e,["sdkHttpResponse"],t);const o=i(n,["name"]);o!=null&&s(e,["name"],o);const r=i(n,["state"]);r!=null&&s(e,["state"],bn(r));const l=i(n,["createTime"]);l!=null&&s(e,["createTime"],l);const a=i(n,["tuningTask","startTime"]);a!=null&&s(e,["startTime"],a);const u=i(n,["tuningTask","completeTime"]);u!=null&&s(e,["endTime"],u);const f=i(n,["updateTime"]);f!=null&&s(e,["updateTime"],f);const d=i(n,["description"]);d!=null&&s(e,["description"],d);const c=i(n,["baseModel"]);c!=null&&s(e,["baseModel"],c);const p=i(n,["_self"]);p!=null&&s(e,["tunedModel"],Dl(p));const m=i(n,["customBaseModel"]);m!=null&&s(e,["customBaseModel"],m);const h=i(n,["experiment"]);h!=null&&s(e,["experiment"],h);const g=i(n,["labels"]);g!=null&&s(e,["labels"],g);const y=i(n,["outputUri"]);y!=null&&s(e,["outputUri"],y);const _=i(n,["pipelineJob"]);_!=null&&s(e,["pipelineJob"],_);const I=i(n,["serviceAccount"]);I!=null&&s(e,["serviceAccount"],I);const E=i(n,["tunedModelDisplayName"]);E!=null&&s(e,["tunedModelDisplayName"],E);const C=i(n,["veoTuningSpec"]);return C!=null&&s(e,["veoTuningSpec"],C),e}function Ce(n){const e={},t=i(n,["sdkHttpResponse"]);t!=null&&s(e,["sdkHttpResponse"],t);const o=i(n,["name"]);o!=null&&s(e,["name"],o);const r=i(n,["state"]);r!=null&&s(e,["state"],bn(r));const l=i(n,["createTime"]);l!=null&&s(e,["createTime"],l);const a=i(n,["startTime"]);a!=null&&s(e,["startTime"],a);const u=i(n,["endTime"]);u!=null&&s(e,["endTime"],u);const f=i(n,["updateTime"]);f!=null&&s(e,["updateTime"],f);const d=i(n,["error"]);d!=null&&s(e,["error"],d);const c=i(n,["description"]);c!=null&&s(e,["description"],c);const p=i(n,["baseModel"]);p!=null&&s(e,["baseModel"],p);const m=i(n,["tunedModel"]);m!=null&&s(e,["tunedModel"],m);const h=i(n,["preTunedModel"]);h!=null&&s(e,["preTunedModel"],h);const g=i(n,["supervisedTuningSpec"]);g!=null&&s(e,["supervisedTuningSpec"],g);const y=i(n,["tuningDataStats"]);y!=null&&s(e,["tuningDataStats"],y);const _=i(n,["encryptionSpec"]);_!=null&&s(e,["encryptionSpec"],_);const I=i(n,["partnerModelTuningSpec"]);I!=null&&s(e,["partnerModelTuningSpec"],I);const E=i(n,["customBaseModel"]);E!=null&&s(e,["customBaseModel"],E);const C=i(n,["experiment"]);C!=null&&s(e,["experiment"],C);const S=i(n,["labels"]);S!=null&&s(e,["labels"],S);const v=i(n,["outputUri"]);v!=null&&s(e,["outputUri"],v);const R=i(n,["pipelineJob"]);R!=null&&s(e,["pipelineJob"],R);const P=i(n,["serviceAccount"]);P!=null&&s(e,["serviceAccount"],P);const x=i(n,["tunedModelDisplayName"]);x!=null&&s(e,["tunedModelDisplayName"],x);const A=i(n,["veoTuningSpec"]);return A!=null&&s(e,["veoTuningSpec"],A),e}function kl(n){const e={},t=i(n,["sdkHttpResponse"]);t!=null&&s(e,["sdkHttpResponse"],t);const o=i(n,["name"]);o!=null&&s(e,["name"],o);const r=i(n,["metadata"]);r!=null&&s(e,["metadata"],r);const l=i(n,["done"]);l!=null&&s(e,["done"],l);const a=i(n,["error"]);return a!=null&&s(e,["error"],a),e}function Ll(n,e){const t={},o=i(n,["gcsUri"]);o!=null&&s(t,["validationDatasetUri"],o);const r=i(n,["vertexDatasetResource"]);return e!==void 0&&r!=null&&s(e,["supervisedTuningSpec","trainingDatasetUri"],r),t}/** | |
| * @license | |
| * Copyright 2025 Google LLC | |
| * SPDX-License-Identifier: Apache-2.0 | |
| */class ql extends Y{constructor(e){super(),this.apiClient=e,this.get=async t=>await this.getInternal(t),this.list=async(t={})=>new ee(J.PAGED_ITEM_TUNING_JOBS,o=>this.listInternal(o),await this.listInternal(t),t),this.tune=async t=>{var o;if(this.apiClient.isVertexAI())if(t.baseModel.startsWith("projects/")){const r={tunedModelName:t.baseModel};!((o=t.config)===null||o===void 0)&&o.preTunedModelCheckpointId&&(r.checkpointId=t.config.preTunedModelCheckpointId);const l=Object.assign(Object.assign({},t),{preTunedModel:r});return l.baseModel=void 0,await this.tuneInternal(l)}else{const r=Object.assign({},t);return await this.tuneInternal(r)}else{const r=Object.assign({},t),l=await this.tuneMldevInternal(r);let a="";return l.metadata!==void 0&&l.metadata.tunedModel!==void 0?a=l.metadata.tunedModel:l.name!==void 0&&l.name.includes("/operations/")&&(a=l.name.split("/operations/")[0]),{name:a,state:ce.JOB_STATE_QUEUED}}}}async getInternal(e){var t,o,r,l;let a,u="",f={};if(this.apiClient.isVertexAI()){const d=Al(e);return u=T("{name}",d._url),f=d._query,delete d._url,delete d._query,a=this.apiClient.request({path:u,queryParams:f,body:JSON.stringify(d),httpMethod:"GET",httpOptions:(t=e.config)===null||t===void 0?void 0:t.httpOptions,abortSignal:(o=e.config)===null||o===void 0?void 0:o.abortSignal}).then(c=>c.json().then(p=>{const m=p;return m.sdkHttpResponse={headers:c.headers},m})),a.then(c=>Ce(c))}else{const d=Sl(e);return u=T("{name}",d._url),f=d._query,delete d._url,delete d._query,a=this.apiClient.request({path:u,queryParams:f,body:JSON.stringify(d),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(c=>c.json().then(p=>{const m=p;return m.sdkHttpResponse={headers:c.headers},m})),a.then(c=>gt(c))}}async listInternal(e){var t,o,r,l;let a,u="",f={};if(this.apiClient.isVertexAI()){const d=Ml(e);return u=T("tuningJobs",d._url),f=d._query,delete d._url,delete d._query,a=this.apiClient.request({path:u,queryParams:f,body:JSON.stringify(d),httpMethod:"GET",httpOptions:(t=e.config)===null||t===void 0?void 0:t.httpOptions,abortSignal:(o=e.config)===null||o===void 0?void 0:o.abortSignal}).then(c=>c.json().then(p=>{const m=p;return m.sdkHttpResponse={headers:c.headers},m})),a.then(c=>{const p=wl(c),m=new vn;return Object.assign(m,p),m})}else{const d=Pl(e);return u=T("tunedModels",d._url),f=d._query,delete d._url,delete d._query,a=this.apiClient.request({path:u,queryParams:f,body:JSON.stringify(d),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(c=>c.json().then(p=>{const m=p;return m.sdkHttpResponse={headers:c.headers},m})),a.then(c=>{const p=Nl(c),m=new vn;return Object.assign(m,p),m})}}async cancel(e){var t,o,r,l;let a="",u={};if(this.apiClient.isVertexAI()){const f=Tl(e);a=T("{name}:cancel",f._url),u=f._query,delete f._url,delete f._query,await this.apiClient.request({path:a,queryParams:u,body:JSON.stringify(f),httpMethod:"POST",httpOptions:(t=e.config)===null||t===void 0?void 0:t.httpOptions,abortSignal:(o=e.config)===null||o===void 0?void 0:o.abortSignal})}else{const f=yl(e);a=T("{name}:cancel",f._url),u=f._query,delete f._url,delete f._query,await this.apiClient.request({path:a,queryParams:u,body:JSON.stringify(f),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 tuneInternal(e){var t,o;let r,l="",a={};if(this.apiClient.isVertexAI()){const u=Il(e);return l=T("tuningJobs",u._url),a=u._query,delete u._url,delete u._query,r=this.apiClient.request({path:l,queryParams:a,body:JSON.stringify(u),httpMethod:"POST",httpOptions:(t=e.config)===null||t===void 0?void 0:t.httpOptions,abortSignal:(o=e.config)===null||o===void 0?void 0:o.abortSignal}).then(f=>f.json().then(d=>{const c=d;return c.sdkHttpResponse={headers:f.headers},c})),r.then(f=>Ce(f))}else throw new Error("This method is only supported by the Vertex AI.")}async tuneMldevInternal(e){var t,o;let r,l="",a={};if(this.apiClient.isVertexAI())throw new Error("This method is only supported by the Gemini Developer API.");{const u=El(e);return l=T("tunedModels",u._url),a=u._query,delete u._url,delete u._query,r=this.apiClient.request({path:l,queryParams:a,body:JSON.stringify(u),httpMethod:"POST",httpOptions:(t=e.config)===null||t===void 0?void 0:t.httpOptions,abortSignal:(o=e.config)===null||o===void 0?void 0:o.abortSignal}).then(f=>f.json().then(d=>{const c=d;return c.sdkHttpResponse={headers:f.headers},c})),r.then(f=>kl(f))}}}/** | |
| * @license | |
| * Copyright 2025 Google LLC | |
| * SPDX-License-Identifier: Apache-2.0 | |
| */class Vl{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 Fl=1024*1024*8,Gl=3,Hl=1e3,Bl=2,fe="x-goog-upload-status";async function Jl(n,e,t){var o,r,l;let a=0,u=0,f=new pe(new Response),d="upload";for(a=n.size;u<a;){const p=Math.min(Fl,a-u),m=n.slice(u,u+p);u+p>=a&&(d+=", finalize");let h=0,g=Hl;for(;h<Gl&&(f=await t.request({path:"",body:m,httpMethod:"POST",httpOptions:{apiVersion:"",baseUrl:e,headers:{"X-Goog-Upload-Command":d,"X-Goog-Upload-Offset":String(u),"Content-Length":String(p)}}}),!(!((o=f==null?void 0:f.headers)===null||o===void 0)&&o[fe]));)h++,await $l(g),g=g*Bl;if(u+=p,((r=f==null?void 0:f.headers)===null||r===void 0?void 0:r[fe])!=="active")break;if(a<=u)throw new Error("All content has been uploaded, but the upload status is not finalized.")}const c=await(f==null?void 0:f.json());if(((l=f==null?void 0:f.headers)===null||l===void 0?void 0:l[fe])!=="final")throw new Error("Failed to upload file: Upload status is not finalized.");return c.file}async function Yl(n){return{size:n.size,type:n.type}}function $l(n){return new Promise(e=>setTimeout(e,n))}class Wl{async upload(e,t,o){if(typeof e=="string")throw new Error("File path is not supported in browser uploader.");return await Jl(e,t,o)}async stat(e){if(typeof e=="string")throw new Error("File path is not supported in browser uploader.");return await Yl(e)}}/** | |
| * @license | |
| * Copyright 2025 Google LLC | |
| * SPDX-License-Identifier: Apache-2.0 | |
| */class Kl{create(e,t,o){return new zl(e,t,o)}}class zl{constructor(e,t,o){this.url=e,this.headers=t,this.callbacks=o}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 Wn="x-goog-api-key";class Xl{constructor(e){this.apiKey=e}async addAuthHeaders(e){if(e.get(Wn)===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(Wn,this.apiKey)}}}/** | |
| * @license | |
| * Copyright 2025 Google LLC | |
| * SPDX-License-Identifier: Apache-2.0 | |
| */const Ql="gl-node/";class Zl{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 o=_t(e.httpOptions,e.vertexai,void 0,void 0);o&&(e.httpOptions?e.httpOptions.baseUrl=o:e.httpOptions={baseUrl:o}),this.apiVersion=e.apiVersion;const r=new Xl(this.apiKey);this.apiClient=new Lr({auth:r,apiVersion:this.apiVersion,apiKey:this.apiKey,vertexai:this.vertexai,httpOptions:e.httpOptions,userAgentExtra:Ql+"web",uploader:new Wl,downloader:new Vl}),this.models=new nl(this.apiClient),this.live=new Xr(this.apiClient,r,new Kl),this.batches=new Vo(this.apiClient),this.chats=new mi(this.models,this.apiClient),this.caches=new fi(this.apiClient),this.files=new Ai(this.apiClient),this.operations=new tl(this.apiClient),this.authTokens=new gl(this.apiClient),this.tunings=new ql(this.apiClient)}}export{Zl as G,H as T}; | |
| //# sourceMappingURL=@google-D80DdW2m.js.map | |